Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

remoteproc: imx_rproc: Add support for i.MX95

Add imx_rproc_cfg_imx95_m7 and address(TCM and DDR) mapping.
Add i.MX95 of_device_id entry.

Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Link: https://lore.kernel.org/r/20260109-imx95-rproc-2026-1-8-v6-6-d2fefb36263d@nxp.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

authored by

Peng Fan and committed by
Mathieu Poirier
a3bf6ee1 1ae680bb

+22
+22
drivers/remoteproc/imx_rproc.c
··· 133 133 u32 flags; 134 134 }; 135 135 136 + static const struct imx_rproc_att imx_rproc_att_imx95_m7[] = { 137 + /* dev addr , sys addr , size , flags */ 138 + /* TCM CODE NON-SECURE */ 139 + { 0x00000000, 0x203C0000, 0x00040000, ATT_OWN | ATT_IOMEM }, 140 + 141 + /* TCM SYS NON-SECURE*/ 142 + { 0x20000000, 0x20400000, 0x00040000, ATT_OWN | ATT_IOMEM }, 143 + 144 + /* DDR */ 145 + { 0x80000000, 0x80000000, 0x50000000, 0 }, 146 + }; 147 + 136 148 static const struct imx_rproc_att imx_rproc_att_imx93[] = { 137 149 /* dev addr , sys addr , size , flags */ 138 150 /* TCM CODE NON-SECURE */ ··· 1447 1435 .flags = IMX_RPROC_NEED_CLKS, 1448 1436 }; 1449 1437 1438 + static const struct imx_rproc_dcfg imx_rproc_cfg_imx95_m7 = { 1439 + .att = imx_rproc_att_imx95_m7, 1440 + .att_size = ARRAY_SIZE(imx_rproc_att_imx95_m7), 1441 + .ops = &imx_rproc_ops_sm_lmm, 1442 + /* Must align with System Manager Firmware */ 1443 + .cpuid = 1, /* Use 1 as cpu id for M7 core */ 1444 + .lmid = 1, /* Use 1 as Logical Machine ID where M7 resides */ 1445 + }; 1446 + 1450 1447 static const struct of_device_id imx_rproc_of_match[] = { 1451 1448 { .compatible = "fsl,imx7ulp-cm4", .data = &imx_rproc_cfg_imx7ulp }, 1452 1449 { .compatible = "fsl,imx7d-cm4", .data = &imx_rproc_cfg_imx7d }, ··· 1470 1449 { .compatible = "fsl,imx8qm-cm4", .data = &imx_rproc_cfg_imx8qm }, 1471 1450 { .compatible = "fsl,imx8ulp-cm33", .data = &imx_rproc_cfg_imx8ulp }, 1472 1451 { .compatible = "fsl,imx93-cm33", .data = &imx_rproc_cfg_imx93 }, 1452 + { .compatible = "fsl,imx95-cm7", .data = &imx_rproc_cfg_imx95_m7 }, 1473 1453 {}, 1474 1454 }; 1475 1455 MODULE_DEVICE_TABLE(of, imx_rproc_of_match);