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] 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]>

