Re: [PATCH v4 0/5] remoteproc: imx_rproc: Support i.MX95

Rob Herring (Arm)
2025-07-11T14:35:25Z

On Thu, 10 Jul 2025 20:08:00 +0800, Peng Fan wrote:
> 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 was tested again with rebase on next-20250710
>
> 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@nxp.com>
> ---
> Changes in v4:
> - Move the lmm permission check code to a separate
> function(imx_rproc_sm_lmm_prepare) in patch 3.
> - Check return value of scmi_imx_cpu_started in patch 3
> - Rebased to next-20250710 and tested on i.MX95-19x19-EVK
> - Add R-b from Frank for patch 1-4 and A-b from Krzysztof for patch 1
> - Drop mu7 from patch 5, because mu7 status was already okay.
> - Link to v3: https://lore.kernel.org/r/20250625-imx95-rproc-1-v3-0-699031f5926d@nxp.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 | 41 ++++++
> arch/arm64/boot/dts/freescale/imx95.dtsi | 8 ++
> drivers/remoteproc/imx_rproc.c | 147 ++++++++++++++++++++-
> drivers/remoteproc/imx_rproc.h | 5 +
> 5 files changed, 199 insertions(+), 3 deletions(-)
> ---
> base-commit: 78863a3617803fcc11f7f7432efc9f74d4ca3105
> change-id: 20250525-imx95-rproc-1-20bb74ddc8af
>
> Best regards,
> --
> Peng Fan <peng.fan@nxp.com>
>
>
>

My bot found new DTB warnings on the .dts files added or changed in this
series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:

pip3 install dtschema --upgrade

This patch series was applied (using b4) to base:
Base: base-commit 78863a3617803fcc11f7f7432efc9f74d4ca3105 not known, ignoring
Base: attempting to guess base-commit...
Base: tags/next-20250710 (exact match)

If this is not the correct base, please add 'base-commit' tag
(or use b4 which does this automatically)

New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/freescale/' for 20250710-imx95-rproc-1-v4-0-a7123e857dfb@nxp.com:

arch/arm64/boot/dts/freescale/imx95-tqma9596sa-mb-smarc-2.dtb: scmi (arm,scmi): Unevaluated properties are not allowed ('protocol@80', 'protocol@81', 'protocol@82', 'protocol@84' were unexpected)
from schema $id: http://devicetree.org/schemas/firmware/arm,scmi.yaml#