]> git.ipfire.org Git - thirdparty/u-boot.git/commit
remoteproc: imx: Add i.MX95 support
authorPeng Fan <peng.fan@nxp.com>
Mon, 2 Feb 2026 02:57:45 +0000 (10:57 +0800)
committerFabio Estevam <festevam@gmail.com>
Fri, 6 Feb 2026 23:31:32 +0000 (20:31 -0300)
commit3fa7b1055b891e4f98b7e36c8efa6ed928447bfe
tree635d27d4f56d56ee10a60e0d24f87fd9ae70348b
parent15cb4033c93727b5dbe437860086ced7cdb9c873
remoteproc: imx: Add i.MX95 support

i.MX95 uses System Manager(sm) API to start/stop logical machine or cpu.
There are two modes:
 M7 in a dedicated logical machine, use LMM API
 M7 and A55 in same logical machine, use CPU API

Extend the driver to using LMM and CPU protocol to manage the M7 core:
 - Detect using LMM or CPU API in probe using API scmi_imx_lmm_info().
 - Compare linux LM ID(got using scmi_imx_lmm_info) and M7 LM ID(the ID
   is fixed as 1 in SM firmware if M7 is in a separate LM),
   if Linux LM ID is not same as M7 LM ID(linux and M7 in same LM), use
   LMM protocol to start/stop. Whether using CPU or LMM protocol to
   start/stop, the M7 status detection could use CPU protocol to detect
   started or not. So in imx_rproc_is_running, use scmi_imx_cpu_started to
   check the status of M7.
 - For above case (2), Use scmi_imx_lmm_power_boot to detect whether
   the M7 LM is under control of A55 LM.
 - For above case , after using SCMI_IMX_LMM_POWER_ON to check
   permission, scmi_imx_lmm_shutdown API should be called to shutdown
   the M7 LM.
 - Add a new ops imx_rproc_ops_sm.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
drivers/remoteproc/imx_rproc.c
drivers/remoteproc/imx_rproc.h