[PATCH 0/5] firmware: scmi/imx: Add i.MX95 LMM/CPU Protocol

Peng Fan (OSS)
2025-01-21T15:08:58Z

i.MX95 System Manager(SM) implements Logical Machine Management(LMM) and
CPU protocol to manage Logical Machine(LM) and CPUs(eg, M7).

To manage M7 in a separate LM or in same LM as Linux itself. LMM APIs
and CPU APIs are needed.

When M7 is in LM 'lm-m7', and this LM is managable by 'linux-lm',
linux could use LMM_BOOT, LMM_SHUTDOWN and etc to manage 'lm-m7'.

If in same LM, use CPU_START, CPU_STOP, CPU_RESET_VECTOR_SET and etc to
manage M7.

Both LMM/CPU APIs will be used by remoteproc driver. The remoteproc
patchset will be posted out after this patchset gets reviewed or in
good shape per Maitainer's view.

Build pass with COMPILE_TEST
Tested with remoteproc on i.MX95

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
Peng Fan (5):
firmware: arm_scmi: imx: Add i.MX95 LMM protocol
firmware: arm_scmi: imx: Add i.MX95 CPU Protocol
firmware: arm_scmi: imx: Add LMM and CPU documentation
firmware: imx: Add i.MX95 SCMI LMM driver
firmware: imx: Add i.MX95 SCMI CPU driver

drivers/firmware/arm_scmi/vendors/imx/Kconfig | 22 +
drivers/firmware/arm_scmi/vendors/imx/Makefile | 2 +
drivers/firmware/arm_scmi/vendors/imx/imx-sm-cpu.c | 283 +++++++++
drivers/firmware/arm_scmi/vendors/imx/imx-sm-lmm.c | 235 +++++++
drivers/firmware/arm_scmi/vendors/imx/imx95.rst | 692 +++++++++++++++++++++
drivers/firmware/imx/Kconfig | 22 +
drivers/firmware/imx/Makefile | 2 +
drivers/firmware/imx/sm-cpu.c | 91 +++
drivers/firmware/imx/sm-lmm.c | 89 +++
include/linux/firmware/imx/sm.h | 56 ++
include/linux/scmi_imx_protocol.h | 39 ++
11 files changed, 1533 insertions(+)
---
base-commit: 0907e7fb35756464aa34c35d6abb02998418164b
change-id: 20250120-imx-lmm-cpu-418daaa257e2

Best regards,
--
Peng Fan <peng.fan@nxp.com>