On Fri, Jan 09, 2026 at 08:08:00PM +0800, Peng Fan (OSS) wrote: > This patchset is pick up a previous patchset [1] with rebased on > next-20251030, and some changes applied. > - Add runtime ops to separate cpu ops and lmm ops > - added more comments > - moved some check imx_sm_rproc_detect_mode() from imx_rproc_sm_prepare(). > > No changes to the dt-binding patch, so R-b/A-b are kept. > More info could be found in commit message of each patch and below. > > [1]https://lore.kernel.org/linux-remoteproc/[email protected]/ > > 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 3, 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 > > Patchset was tested with below boot images when the patchset based on > next-20251030: > 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_all (M7 not under A55 control) > > Also tested i.MX8MP/8ULP-EVK. > > Signed-off-by: Peng Fan <[email protected]> > --- > Changes in v6: > Added R-b from Frank for patch 4 > Following Mathieu's suggestions for patch 4 > - Renamed IMX_RPROC_FLAGS_SM_LMM_AVAIL to IMX_RPROC_FLAGS_SM_LMM_CTRL > - Added comment in imx_rproc_sm_lmm_start and add comment for > imx_rproc_sm_lmm_check, and update comment to use "M7" > - Following the suggested code snippets, update imx_rproc_sm_lmm_prepare > and imx_rproc_sm_lmm_check > - With above done, separate the CPU API support into a separate patch, > no other changes. > > Changes in v5: > - Add R-b from Daniel for patch 4 > - Patch 4, per Mathieu's comments: > Move imx_rproc_ops_sm_lmm and imx_rproc_ops_sm_cpu to bottom of the file. > Set IMX_RPROC_FLAGS_SM_LMM_AVAIL when scmi_imx_lmm_operation(shutdown) > pass or m7 is started before Linux. > - Link to v4: > https://lore.kernel.org/r/[email protected] > > Changes in V4: > - Rebased to 6.19-rc1 to resolve conflicts. > - Address Frank's comment patch 4 regarding "if (ret != 0)" -> "if (ret)" > - Link to v3: > https://lore.kernel.org/linux-remoteproc/[email protected]/#t > > Changes in v3: > - Add R-b for patch 2,3,5 > - Patch 4: > Rename imx_rproc_ops_sm to imx_rproc_ops_sm_lmm. > Add more comments in code > Simplify if check in imx_rproc_sm_lmm_prepare() > Update commit log > Use dev_err for failure path > - Link to v2: > https://lore.kernel.org/linux-remoteproc/[email protected]/T/#t > > Changes in v2: > - Patch 2: Change to const pointer for ops, update commit log and add R-b > from Frank > - Patch 3: New patch, introduce prepare ops > - Patch 4: Rename imx_rproc_sm_prepare to imx_rproc_sm_lmm_prepare > drop IMX_RPROC_FLAGS_SM_CPU_OP and IMX_RPROC_FLAGS_SM_LMM_OP > Add a bool for dcfg->lmid and info->lmid check. > Provide separate plat ops for lmm and cpu setup. > Move LM permission check to a separate function. > - Patch 5: Drop macro IMX95_M7_CPUID and IMX95_M7_LMID > - Link to v1: > https://lore.kernel.org/r/[email protected] > > --- > Peng Fan (6): > dt-bindings: remoteproc: fsl,imx-rproc: Add support for i.MX95 > remoteproc: imx_rproc: Add runtime ops copy to support dynamic behavior > remoteproc: imx_rproc: Introduce prepare ops for imx_rproc_dcfg > remoteproc: imx_rproc: Add support for System Manager LMM API > remoteproc: imx_rproc: Add support for System Manager CPU API > remoteproc: imx_rproc: Add support for i.MX95 > > .../bindings/remoteproc/fsl,imx-rproc.yaml | 1 + > drivers/remoteproc/Kconfig | 2 + > drivers/remoteproc/imx_rproc.c | 249 > +++++++++++++++++++-- > drivers/remoteproc/imx_rproc.h | 4 + > 4 files changed, 243 insertions(+), 13 deletions(-)
I have applied this set. Thanks, Mathieu > --- > base-commit: fc4e91c639c0af93d63c3d5bc0ee45515dd7504a > change-id: 20260108-imx95-rproc-2026-1-8-04f759890742 > > Best regards, > -- > Peng Fan <[email protected]> >

