Commit a3bf6ee1 authored by Peng Fan's avatar Peng Fan Committed by Mathieu Poirier
Browse files

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: default avatarDaniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: default avatarFrank Li <Frank.Li@nxp.com>
Signed-off-by: default avatarPeng 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: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
parent 1ae680bb
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -133,6 +133,18 @@ struct imx_rproc {
	u32				flags;
};

static const struct imx_rproc_att imx_rproc_att_imx95_m7[] = {
	/* dev addr , sys addr  , size	    , flags */
	/* TCM CODE NON-SECURE */
	{ 0x00000000, 0x203C0000, 0x00040000, ATT_OWN | ATT_IOMEM },

	/* TCM SYS NON-SECURE*/
	{ 0x20000000, 0x20400000, 0x00040000, ATT_OWN | ATT_IOMEM },

	/* DDR */
	{ 0x80000000, 0x80000000, 0x50000000, 0 },
};

static const struct imx_rproc_att imx_rproc_att_imx93[] = {
	/* dev addr , sys addr  , size	    , flags */
	/* TCM CODE NON-SECURE */
@@ -1435,6 +1447,15 @@ static const struct imx_rproc_dcfg imx_rproc_cfg_imx93 = {
	.flags		= IMX_RPROC_NEED_CLKS,
};

static const struct imx_rproc_dcfg imx_rproc_cfg_imx95_m7 = {
	.att		= imx_rproc_att_imx95_m7,
	.att_size	= ARRAY_SIZE(imx_rproc_att_imx95_m7),
	.ops		= &imx_rproc_ops_sm_lmm,
	/* Must align with System Manager Firmware */
	.cpuid		= 1, /* Use 1 as cpu id for M7 core */
	.lmid		= 1, /* Use 1 as Logical Machine ID where M7 resides */
};

static const struct of_device_id imx_rproc_of_match[] = {
	{ .compatible = "fsl,imx7ulp-cm4", .data = &imx_rproc_cfg_imx7ulp },
	{ .compatible = "fsl,imx7d-cm4", .data = &imx_rproc_cfg_imx7d },
@@ -1449,6 +1470,7 @@ static const struct of_device_id imx_rproc_of_match[] = {
	{ .compatible = "fsl,imx8qm-cm4", .data = &imx_rproc_cfg_imx8qm },
	{ .compatible = "fsl,imx8ulp-cm33", .data = &imx_rproc_cfg_imx8ulp },
	{ .compatible = "fsl,imx93-cm33", .data = &imx_rproc_cfg_imx93 },
	{ .compatible = "fsl,imx95-cm7", .data = &imx_rproc_cfg_imx95_m7 },
	{},
};
MODULE_DEVICE_TABLE(of, imx_rproc_of_match);