[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250625-imx95-rproc-1-v3-0-699031f5926d@nxp.com>
Date: Wed, 25 Jun 2025 10:23:26 +0800
From: "Peng Fan (OSS)" <peng.fan@....nxp.com>
To: Bjorn Andersson <andersson@...nel.org>,
Mathieu Poirier <mathieu.poirier@...aro.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>, Frank Li <frank.li@....com>,
Daniel Baluta <daniel.baluta@....com>,
Iuliana Prodan <iuliana.prodan@....com>
Cc: linux-remoteproc@...r.kernel.org, devicetree@...r.kernel.org,
imx@...ts.linux.dev, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, Peng Fan <peng.fan@....com>
Subject: [PATCH v3 0/5] remoteproc: imx_rproc: Support i.MX95
i.MX95 features a Cortex-M33 core, six Cortex-A55 cores, and
one Cortex-M7 core. The System Control Management Interface(SCMI)
firmware runs on the M33 core. The i.MX95 SCMI firmware named System
Manager(SM) includes vendor extension protocols, Logical Machine
Management(LMM) protocol and CPU protocol and etc.
There are three cases for M7:
(1) M7 in a separate Logical Machine(LM) that Linux couldn't control it.
(2) M7 in a separate Logical Machine that Linux could control it using
LMM protocol
(3) M7 runs in same Logical Machine as A55, so Linux could control it
using CPU protocol
In patch 2, Use LMM and CPU protocol to manage M7. More info could be
found in the patch commit log
Current setup relies on pre-Linux software(U-Boot) to do
M7 TCM ECC initialization. In future, we could add the support in Linux
to decouple U-Boot and Linux.
Patchset was tested with below boot images when the patchset based on next-20250526:
imx-boot-variant-rpmsg-imx95-19x19-lpddr5-evk-sd.bin-flash_lpboot_sm_a55 (Use LMM protocol)
imx-boot-variant-alt-imx95-19x19-lpddr5-evk-sd.bin-flash_alt (Use CPU protocol)
imx-boot-imx95-19x19-lpddr5-evk-sd.bin-flash_a55 (M7 not under A55 control)
imx-boot-imx95-19x19-lpddr5-evk-sd.bin-flash_all (M7 not under A55 control)
Patchset was tested again with rebase on next-20250623
Patchset is re-based on next-20250603.
Thanks for Daniel/Frank helping review the patchset before posting out to list.
Signed-off-by: Peng Fan <peng.fan@....com>
---
Changes in v3:
- Drop fsl,lmm-id and fsl,cpu-id for binding in patch 1
- Add lmid and cpuid in driver patch 2.
- Add i.MX95 lmid and cpuid in patch 3
- Rebased to linux-next-6-23 and tested with this new rebased version
- Add dtsi/dts patch 4,5 to give people a view on how it is used per Krzysztof
- Daniel's R-b are still kept after talk with Daniel
- Link to v2: https://lore.kernel.org/r/20250606-imx95-rproc-1-v2-0-a2bd64438be9@nxp.com
Changes in v2:
- Typo fix in patch 2 commit message
- Move the m7 address mapping array from patch 2 to patch 3
- Add R-b from Daniel to patch 3
- Link to v1: https://lore.kernel.org/r/20250604-imx95-rproc-1-v1-0-a6e5f512731c@nxp.com
---
Peng Fan (5):
dt-bindings: remoteproc: fsl,imx-rproc: Add support for i.MX95
remoteproc: imx_rproc: Add support for System Manager API
remoteproc: imx_rproc: Add support for i.MX95
arm64: dts: imx95: Add SCMI LMM/CPU nodes
arm64: dts: imx95-19x19-evk: Add CM7 nodes and vdev related memory regions
.../bindings/remoteproc/fsl,imx-rproc.yaml | 1 +
arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts | 45 +++++++
arch/arm64/boot/dts/freescale/imx95.dtsi | 8 ++
drivers/remoteproc/imx_rproc.c | 138 ++++++++++++++++++++-
drivers/remoteproc/imx_rproc.h | 5 +
5 files changed, 195 insertions(+), 2 deletions(-)
---
base-commit: fda740558acb4303fcf377e5cf9139f795b1d85b
change-id: 20250525-imx95-rproc-1-20bb74ddc8af
Best regards,
--
Peng Fan <peng.fan@....com>
Powered by blists - more mailing lists