On Mon, Apr 27, 2026 at 10:41:23AM +0800, Peng Fan (OSS) wrote: > This series adds remoteproc support for the i.MX94 family, including the > CM70, CM71, and CM33S cores, and derive the hardware reset vector for > Cortex‑M processors whose ELF entry point does not directly correspond to > the actual reset address. > > Background: > Cortex‑M processors fetch their initial SP and PC from a fixed reset vector > table. While ELF images embed the entry point (e_entry), this value is > not always aligned to the hardware reset address. On platforms such as > i.MX94 CM33S, masking is required to compute the correct reset vector > address before programming the SoC reset registers. > > Similarly, on i.MX95, the existing implementation always programs a reset > vector of 0x0, which only works when executing entirely from TCM. When > firmware is loaded into DDR, the driver must pass the correct reset vector > to the SM CPU/LMM interfaces. > > Summary of patches: > [1]dt-bindings: remoteproc: imx-rproc: Introduce fsl,reset-vector-mask > Adds a new DT property allowing SoCs to specify a mask for deriving the > hardware reset vector from the ELF entry point. > > [2]remoteproc: imx_rproc: Program non-zero SM CPU/LMM reset vector > Ensures the correct reset vector is passed to SM APIs by introducing a > helper (imx_rproc_sm_get_reset_vector()) that applies the reset‑vector > mask. > > [3]remoteproc: imx_rproc: Add support for i.MX94 remoteproc > Adds address translation tables and configuration data for CM70, CM71, > and CM33S, enabling full remoteproc operation on i.MX94. > > Signed-off-by: Peng Fan <[email protected]> > --- > Changes in v4: > - Daniel raised the M33S secure region was not included, but since I not > have image to test secure region, so drop the Secure alias region for > all. Updated DDR region. R-b kept since this is a minor change. > - Add R-b for patch 2 > - Link to v3: > https://lore.kernel.org/r/[email protected] >
I have applied this set. > Changes in v3: > - Patch 2: > Drop R-b because of changes in V3 > > Following suggestion from Mathieu that apply reset vector in > scmi_imx_[cpu,lmm]_reset_vector_set(), not change the meaning of > rproc->bootaddr, add helper imx_rproc_sm_get_reset_vector() to get reset > vector and use the hlper in scmi_imx_[cpu,lmm]_reset_vector_set(). > > Add reset-vector-mask for i.MX95 CM7 to avoid breaking i.MX95 CM7 > boot. > > - Link to v2: > https://lore.kernel.org/r/[email protected] > > Changes in v2: > - Drop fsl,reset-vector-mask by using fixed value in driver for per device > - Add R-b for i.MX94 dt-binding > - Update commit log to include dev addr and sys addr > - Link to v1: > https://lore.kernel.org/r/[email protected] > > --- > Peng Fan (3): > dt-bindings: remoteproc: imx-rproc: Support i.MX94 > remoteproc: imx_rproc: Program non-zero SM CPU/LMM reset vector > remoteproc: imx_rproc: Add support for i.MX94 > > .../bindings/remoteproc/fsl,imx-rproc.yaml | 3 + > drivers/remoteproc/imx_rproc.c | 92 > +++++++++++++++++++++- > drivers/remoteproc/imx_rproc.h | 2 + > 3 files changed, 95 insertions(+), 2 deletions(-) > --- > base-commit: 724699d8d0523909da51fda8d1e10c1ff867b280 > change-id: 20260311-imx943-rproc-2050e00b65f7 > > Best regards, > -- > Peng Fan <[email protected]> >

