Good morning, Please note that due to other patchsets that need to be reviewed, Linux Plumbers and the upcoming 2-week December holidays in the western hemisphere, I do not foresee being able to look at this patchset before January.
Thanks, Mathieu On Fri, 21 Nov 2025 at 17:58, Peng Fan (OSS) <[email protected]> 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 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 (5): > 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 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 | 245 > +++++++++++++++++++-- > drivers/remoteproc/imx_rproc.h | 4 + > 4 files changed, 238 insertions(+), 14 deletions(-) > --- > base-commit: 88cbd8ac379cf5ce68b7efcfd4d1484a6871ee0b > change-id: 20251120-imx95-rproc-2025-11-20-3b9369670d6a > > Best regards, > -- > Peng Fan <[email protected]> >

