* [PATCH v4 1/4] dt-bindings: remoteproc: imx_rproc: document memory-region-names to avoid hidden ABI
2026-09-17 18:19 [PATCH v4 0/4] remoteproc: imx_rpoc: use memory-region-names to avoid hidden ABI Frank.Li
@ 2026-09-17 18:19 ` Frank.Li
2026-10-09 3:16 ` Peng Fan
2026-09-17 18:19 ` [PATCH v4 2/4] remoteproc: imx_rpoc: use " Frank.Li
` (2 subsequent siblings)
3 siblings, 1 reply; 9+ messages in thread
From: Frank.Li @ 2026-09-17 18:19 UTC (permalink / raw)
To: Bjorn Andersson, Mathieu Poirier, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Peng Fan
Cc: linux-remoteproc, devicetree, imx, linux-arm-kernel, linux-kernel,
Laurentiu Mihalcea, Frank Li
From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Document the optional memory-region-names property.
The driver currently derives the memory region type from the referenced
memory node name, creating a hidden DT ABI. Since memory node names are
not constrained by the binding, incorrect names can silently pass DT
validation, as seen in examples using "vdevbuffer" instead of
"vdev0buffer" ([1] and [2]).
Add memory-region-names to explicitly identify the expected memory regions
and avoid relying on memory node names as ABI.
Link: https://lore.kernel.org/imx/a3602ef8-2b77-4cc3-adef-2c4cba08a5d9@nabladev.com/ [1]
Link: https://lore.kernel.org/imx/alexXTYQHUs76J7v@SMW015318/T/#mb9dc709ff3adc24d9db6d30c973f37b580f6f1f9 [2]
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
Use optional property to keep back compatible with old platform.
New platform should use memory-region-names.
---
.../devicetree/bindings/remoteproc/fsl,imx-rproc.yaml | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml
index c18f71b648890..5d98d21035f8c 100644
--- a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml
@@ -62,6 +62,15 @@ properties:
minItems: 1
maxItems: 32
+ memory-region-names:
+ minItems: 1
+ maxItems: 32
+ items:
+ anyOf:
+ - const: rsc-table
+ - pattern: "^vdev[0-9]+(buffer|vring[0-9])+$"
+ - pattern: "^m(4|7|33)-reserved(-[a-z0-9-]+)+$"
+
power-domains:
minItems: 2
maxItems: 8
@@ -134,6 +143,7 @@ examples:
imx7d-cm4 {
compatible = "fsl,imx7d-cm4";
memory-region = <&m4_reserved_sysmem1>, <&m4_reserved_sysmem2>;
+ memory-region-names = "m4-reserved-sysmem1", "m4-reserved-sysmem2";
syscon = <&src>;
clocks = <&clks IMX7D_ARM_M4_ROOT_CLK>;
};
@@ -149,6 +159,7 @@ examples:
&mu 1 1
&mu 3 1>;
memory-region = <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>;
+ memory-region-names = "vdev0buffer", "vdev0vring0", "vdev0vring1", "rsc-table";
syscon = <&src>;
};
...
--
2.43.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCH v4 1/4] dt-bindings: remoteproc: imx_rproc: document memory-region-names to avoid hidden ABI
2026-09-17 18:19 ` [PATCH v4 1/4] dt-bindings: remoteproc: imx_rproc: document " Frank.Li
@ 2026-10-09 3:16 ` Peng Fan
0 siblings, 0 replies; 9+ messages in thread
From: Peng Fan @ 2026-10-09 3:16 UTC (permalink / raw)
To: Frank.Li
Cc: Bjorn Andersson, Mathieu Poirier, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Peng Fan,
linux-remoteproc, devicetree, imx, linux-arm-kernel, linux-kernel,
Laurentiu Mihalcea, Frank Li
On Thu, Sep 17, 2026 at 02:19:42PM -0400, Frank.Li@oss.nxp.com wrote:
>From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
>
>Document the optional memory-region-names property.
>
>The driver currently derives the memory region type from the referenced
>memory node name, creating a hidden DT ABI. Since memory node names are
>not constrained by the binding, incorrect names can silently pass DT
>validation, as seen in examples using "vdevbuffer" instead of
>"vdev0buffer" ([1] and [2]).
>
>Add memory-region-names to explicitly identify the expected memory regions
>and avoid relying on memory node names as ABI.
>
>Link: https://lore.kernel.org/imx/a3602ef8-2b77-4cc3-adef-2c4cba08a5d9@nabladev.com/ [1]
>Link: https://lore.kernel.org/imx/alexXTYQHUs76J7v@SMW015318/T/#mb9dc709ff3adc24d9db6d30c973f37b580f6f1f9 [2]
>Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
>Signed-off-by: Frank Li <Frank.Li@nxp.com>
>---
>Use optional property to keep back compatible with old platform.
>New platform should use memory-region-names.
>---
> .../devicetree/bindings/remoteproc/fsl,imx-rproc.yaml | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
>diff --git a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml
>index c18f71b648890..5d98d21035f8c 100644
>--- a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml
>+++ b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml
>@@ -62,6 +62,15 @@ properties:
> minItems: 1
> maxItems: 32
>
>+ memory-region-names:
>+ minItems: 1
>+ maxItems: 32
>+ items:
>+ anyOf:
>+ - const: rsc-table
>+ - pattern: "^vdev[0-9]+(buffer|vring[0-9])+$"
Should be "^vdev[0-9]+(buffer|vring[0-9]+)$"?
Regards
Peng
>+ - pattern: "^m(4|7|33)-reserved(-[a-z0-9-]+)+$"
>+
> power-domains:
> minItems: 2
> maxItems: 8
>@@ -134,6 +143,7 @@ examples:
> imx7d-cm4 {
> compatible = "fsl,imx7d-cm4";
> memory-region = <&m4_reserved_sysmem1>, <&m4_reserved_sysmem2>;
>+ memory-region-names = "m4-reserved-sysmem1", "m4-reserved-sysmem2";
> syscon = <&src>;
> clocks = <&clks IMX7D_ARM_M4_ROOT_CLK>;
> };
>@@ -149,6 +159,7 @@ examples:
> &mu 1 1
> &mu 3 1>;
> memory-region = <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>;
>+ memory-region-names = "vdev0buffer", "vdev0vring0", "vdev0vring1", "rsc-table";
> syscon = <&src>;
> };
> ...
>
>--
>2.43.0
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v4 2/4] remoteproc: imx_rpoc: use memory-region-names to avoid hidden ABI
2026-09-17 18:19 [PATCH v4 0/4] remoteproc: imx_rpoc: use memory-region-names to avoid hidden ABI Frank.Li
2026-09-17 18:19 ` [PATCH v4 1/4] dt-bindings: remoteproc: imx_rproc: document " Frank.Li
@ 2026-09-17 18:19 ` Frank.Li
2026-10-09 3:17 ` Peng Fan
2026-09-17 18:19 ` [PATCH v4 3/4] arm64: dts: freescale: imx95-15x15-frdm: remove some rmem regions Frank.Li
2026-09-17 18:19 ` [PATCH v4 4/4] arm64: dts: freescale: add DT overlay for MX95-15x15-FRDM RPMSG usage Frank.Li
3 siblings, 1 reply; 9+ messages in thread
From: Frank.Li @ 2026-09-17 18:19 UTC (permalink / raw)
To: Bjorn Andersson, Mathieu Poirier, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Peng Fan
Cc: linux-remoteproc, devicetree, imx, linux-arm-kernel, linux-kernel,
Laurentiu Mihalcea, Frank Li
From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
The driver currently derives the memory region type from the referenced
memory node name, creating a hidden DT ABI. Since memory node names are
not constrained by the binding, incorrect names can silently pass DT
validation, as seen in examples using "vdevbuffer" instead of
"vdev0buffer" ([1] and [2]).
Parse memory-region-names to identify the expected memory regions and avoid
relying on memory node names as ABI.
Link: https://lore.kernel.org/imx/a3602ef8-2b77-4cc3-adef-2c4cba08a5d9@nabladev.com/ [1]
Link: https://lore.kernel.org/imx/alexXTYQHUs76J7v@SMW015318/T/#mb9dc709ff3adc24d9db6d30c973f37b580f6f1f9 [2]
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
drivers/remoteproc/imx_rproc.c | 13 +++++++++++--
drivers/remoteproc/imx_rproc.h | 21 +++++++++++++++++++++
2 files changed, 32 insertions(+), 2 deletions(-)
diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c
index 745ce52cd8226..ce9bdfc1fa985 100644
--- a/drivers/remoteproc/imx_rproc.c
+++ b/drivers/remoteproc/imx_rproc.c
@@ -643,7 +643,7 @@ static int imx_rproc_prepare(struct rproc *rproc)
int err;
struct resource res;
- err = of_reserved_mem_region_to_resource(np, i++, &res);
+ err = imx_rproc_rmem_to_resource(np, i++, &res);
if (err)
break;
@@ -818,11 +818,20 @@ static int imx_rproc_addr_init(struct imx_rproc *priv,
if (nph <= 0)
return 0;
+ if (!of_property_present(np, "memory-region-names")) {
+ dev_warn(dev, "using node names for carveouts should be avoided\n");
+ } else {
+ if (nph != of_property_count_strings(np, "memory-region-names")) {
+ dev_err(dev, "invalid reserved memory name count\n");
+ return -EINVAL;
+ }
+ }
+
/* remap optional addresses */
for (a = 0; a < nph; a++) {
struct resource res;
- err = of_reserved_mem_region_to_resource(np, a, &res);
+ err = imx_rproc_rmem_to_resource(np, a, &res);
if (err) {
dev_err(dev, "unable to resolve memory region\n");
return err;
diff --git a/drivers/remoteproc/imx_rproc.h b/drivers/remoteproc/imx_rproc.h
index 0d7d48352a109..3632bc375c711 100644
--- a/drivers/remoteproc/imx_rproc.h
+++ b/drivers/remoteproc/imx_rproc.h
@@ -7,6 +7,8 @@
#ifndef _IMX_RPROC_H
#define _IMX_RPROC_H
+#include <linux/of_reserved_mem.h>
+
/* address translation table */
struct imx_rproc_att {
u32 da; /* device address (From Cortex M4 view)*/
@@ -45,4 +47,23 @@ struct imx_rproc_dcfg {
u32 reset_vector_mask;
};
+static inline int imx_rproc_rmem_to_resource(struct device_node *np,
+ int index,
+ struct resource *res)
+{
+ int ret;
+
+ ret = of_reserved_mem_region_to_resource(np, index, res);
+ if (ret)
+ return ret;
+
+ /* "memory-region-names" is optional */
+ ret = of_property_read_string_index(np, "memory-region-names",
+ index, &res->name);
+ if (ret == -EINVAL)
+ return 0;
+
+ return ret;
+}
+
#endif /* _IMX_RPROC_H */
--
2.43.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCH v4 2/4] remoteproc: imx_rpoc: use memory-region-names to avoid hidden ABI
2026-09-17 18:19 ` [PATCH v4 2/4] remoteproc: imx_rpoc: use " Frank.Li
@ 2026-10-09 3:17 ` Peng Fan
0 siblings, 0 replies; 9+ messages in thread
From: Peng Fan @ 2026-10-09 3:17 UTC (permalink / raw)
To: Frank.Li
Cc: Bjorn Andersson, Mathieu Poirier, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Peng Fan,
linux-remoteproc, devicetree, imx, linux-arm-kernel, linux-kernel,
Laurentiu Mihalcea, Frank Li
On Thu, Sep 17, 2026 at 02:19:43PM -0400, Frank.Li@oss.nxp.com wrote:
>From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
>
>The driver currently derives the memory region type from the referenced
>memory node name, creating a hidden DT ABI. Since memory node names are
>not constrained by the binding, incorrect names can silently pass DT
>validation, as seen in examples using "vdevbuffer" instead of
>"vdev0buffer" ([1] and [2]).
>
>Parse memory-region-names to identify the expected memory regions and avoid
>relying on memory node names as ABI.
>
>Link: https://lore.kernel.org/imx/a3602ef8-2b77-4cc3-adef-2c4cba08a5d9@nabladev.com/ [1]
>Link: https://lore.kernel.org/imx/alexXTYQHUs76J7v@SMW015318/T/#mb9dc709ff3adc24d9db6d30c973f37b580f6f1f9 [2]
>
>Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
>Signed-off-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v4 3/4] arm64: dts: freescale: imx95-15x15-frdm: remove some rmem regions
2026-09-17 18:19 [PATCH v4 0/4] remoteproc: imx_rpoc: use memory-region-names to avoid hidden ABI Frank.Li
2026-09-17 18:19 ` [PATCH v4 1/4] dt-bindings: remoteproc: imx_rproc: document " Frank.Li
2026-09-17 18:19 ` [PATCH v4 2/4] remoteproc: imx_rpoc: use " Frank.Li
@ 2026-09-17 18:19 ` Frank.Li
2026-10-09 3:19 ` Peng Fan
2026-09-17 18:19 ` [PATCH v4 4/4] arm64: dts: freescale: add DT overlay for MX95-15x15-FRDM RPMSG usage Frank.Li
3 siblings, 1 reply; 9+ messages in thread
From: Frank.Li @ 2026-09-17 18:19 UTC (permalink / raw)
To: Bjorn Andersson, Mathieu Poirier, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Peng Fan
Cc: linux-remoteproc, devicetree, imx, linux-arm-kernel, linux-kernel,
Laurentiu Mihalcea, Frank Li
From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Remove some of the remoteproc reserved memory regions, which are currently
not being used for anything. These will be added in the DT overlay
enabling remoteproc support for this board.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
arch/arm64/boot/dts/freescale/imx95-15x15-frdm.dts | 21 ---------------------
1 file changed, 21 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx95-15x15-frdm.dts b/arch/arm64/boot/dts/freescale/imx95-15x15-frdm.dts
index 0f43e3be70589..f9b0e266754d6 100644
--- a/arch/arm64/boot/dts/freescale/imx95-15x15-frdm.dts
+++ b/arch/arm64/boot/dts/freescale/imx95-15x15-frdm.dts
@@ -188,16 +188,6 @@ linux_cma: linux,cma {
linux,cma-default;
};
- vdev0vring0: memory@88000000 {
- reg = <0 0x88000000 0 0x8000>;
- no-map;
- };
-
- vdev0vring1: memory@88008000 {
- reg = <0 0x88008000 0 0x8000>;
- no-map;
- };
-
vdev1vring0: memory@88010000 {
reg = <0 0x88010000 0 0x8000>;
no-map;
@@ -208,17 +198,6 @@ vdev1vring1: memory@88018000 {
no-map;
};
- vdevbuffer: memory@88020000 {
- compatible = "shared-dma-pool";
- reg = <0 0x88020000 0 0x100000>;
- no-map;
- };
-
- rsc_table: memory@88220000 {
- reg = <0 0x88220000 0 0x1000>;
- no-map;
- };
-
vpu_boot: memory@a0000000 {
reg = <0 0xa0000000 0 0x100000>;
no-map;
--
2.43.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCH v4 3/4] arm64: dts: freescale: imx95-15x15-frdm: remove some rmem regions
2026-09-17 18:19 ` [PATCH v4 3/4] arm64: dts: freescale: imx95-15x15-frdm: remove some rmem regions Frank.Li
@ 2026-10-09 3:19 ` Peng Fan
0 siblings, 0 replies; 9+ messages in thread
From: Peng Fan @ 2026-10-09 3:19 UTC (permalink / raw)
To: Frank.Li
Cc: Bjorn Andersson, Mathieu Poirier, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Peng Fan,
linux-remoteproc, devicetree, imx, linux-arm-kernel, linux-kernel,
Laurentiu Mihalcea, Frank Li
On Thu, Sep 17, 2026 at 02:19:44PM -0400, Frank.Li@oss.nxp.com wrote:
>From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
>
>Remove some of the remoteproc reserved memory regions, which are currently
>not being used for anything. These will be added in the DT overlay
>enabling remoteproc support for this board.
>
>Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
>Signed-off-by: Frank Li <Frank.Li@nxp.com>
>---
> arch/arm64/boot/dts/freescale/imx95-15x15-frdm.dts | 21 ---------------------
> 1 file changed, 21 deletions(-)
>
>diff --git a/arch/arm64/boot/dts/freescale/imx95-15x15-frdm.dts b/arch/arm64/boot/dts/freescale/imx95-15x15-frdm.dts
>index 0f43e3be70589..f9b0e266754d6 100644
>--- a/arch/arm64/boot/dts/freescale/imx95-15x15-frdm.dts
>+++ b/arch/arm64/boot/dts/freescale/imx95-15x15-frdm.dts
>@@ -188,16 +188,6 @@ linux_cma: linux,cma {
> linux,cma-default;
> };
>
>- vdev0vring0: memory@88000000 {
>- reg = <0 0x88000000 0 0x8000>;
>- no-map;
>- };
>-
>- vdev0vring1: memory@88008000 {
>- reg = <0 0x88008000 0 0x8000>;
>- no-map;
>- };
>-
> vdev1vring0: memory@88010000 {
> reg = <0 0x88010000 0 0x8000>;
vdev1 seems to be missed?
Regards
Peng
> no-map;
>@@ -208,17 +198,6 @@ vdev1vring1: memory@88018000 {
> no-map;
> };
>
>- vdevbuffer: memory@88020000 {
>- compatible = "shared-dma-pool";
>- reg = <0 0x88020000 0 0x100000>;
>- no-map;
>- };
>-
>- rsc_table: memory@88220000 {
>- reg = <0 0x88220000 0 0x1000>;
>- no-map;
>- };
>-
> vpu_boot: memory@a0000000 {
> reg = <0 0xa0000000 0 0x100000>;
> no-map;
>
>--
>2.43.0
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v4 4/4] arm64: dts: freescale: add DT overlay for MX95-15x15-FRDM RPMSG usage
2026-09-17 18:19 [PATCH v4 0/4] remoteproc: imx_rpoc: use memory-region-names to avoid hidden ABI Frank.Li
` (2 preceding siblings ...)
2026-09-17 18:19 ` [PATCH v4 3/4] arm64: dts: freescale: imx95-15x15-frdm: remove some rmem regions Frank.Li
@ 2026-09-17 18:19 ` Frank.Li
2026-10-09 3:21 ` Peng Fan
3 siblings, 1 reply; 9+ messages in thread
From: Frank.Li @ 2026-09-17 18:19 UTC (permalink / raw)
To: Bjorn Andersson, Mathieu Poirier, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Peng Fan
Cc: linux-remoteproc, devicetree, imx, linux-arm-kernel, linux-kernel,
Laurentiu Mihalcea, Frank Li, Daniel Baluta
From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Add RPMSG DT overlay for the MX95-15x15-FRDM board. This overlay is meant
to be used with the mx95evkrpmsg system manager configuration for
remoteproc and audio over rpmsg-usecases.
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
arch/arm64/boot/dts/freescale/Makefile | 3 +
.../boot/dts/freescale/imx95-15x15-frdm-rpmsg.dtso | 67 ++++++++++++++++++++++
2 files changed, 70 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 95ae85ab4adf5..3f98132f5a32f 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -707,6 +707,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx943-evk-sdwifi.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-ab2.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-evk.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-frdm.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-frdm-rpmsg.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk-sof.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-frdm-pro.dtb
@@ -729,6 +730,8 @@ dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-mallow.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-yavia.dtb
dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-zinnia.dtb
+imx95-15x15-frdm-rpmsg-dtbs = imx95-15x15-frdm.dtb imx95-15x15-frdm-rpmsg.dtbo
+
imx95-15x15-evk-pcie-dtbs += imx95-15x15-evk.dtb imx-m2-pcie.dtbo
dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-evk-pcie.dtb
diff --git a/arch/arm64/boot/dts/freescale/imx95-15x15-frdm-rpmsg.dtso b/arch/arm64/boot/dts/freescale/imx95-15x15-frdm-rpmsg.dtso
new file mode 100644
index 0000000000000..bc02864c6f88e
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/imx95-15x15-frdm-rpmsg.dtso
@@ -0,0 +1,67 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright 2026 NXP
+ *
+ * This DT overlay is meant to be used alongside the mx95evkrpmsg SM
+ * configuration for remoteproc and audio over rpmsg.
+ */
+
+/dts-v1/;
+/plugin/;
+
+&{/} {
+ remoteproc-cm7 {
+ compatible = "fsl,imx95-cm7";
+ mboxes = <&mu7 0 1>, <&mu7 1 1>, <&mu7 3 1>;
+ mbox-names = "tx", "rx", "rxdb";
+ memory-region = <&vdev0buffer>, <&vdev0vring0>,
+ <&vdev0vring1>, <&rsc_table>;
+ memory-region-names = "vdev0buffer", "vdev0vring0",
+ "vdev0vring1", "rsc-table";
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ vdev0vring0: memory@88000000 {
+ reg = <0 0x88000000 0 0x8000>;
+ no-map;
+ };
+
+ vdev0vring1: memory@88008000 {
+ reg = <0 0x88008000 0 0x8000>;
+ no-map;
+ };
+
+ vdev0buffer: memory@88020000 {
+ compatible = "shared-dma-pool";
+ reg = <0 0x88020000 0 0x100000>;
+ no-map;
+ };
+
+ rsc_table: memory@88220000 {
+ reg = <0 0x88220000 0 0x1000>;
+ no-map;
+ };
+ };
+
+ sound-micfil {
+ status = "disabled";
+ };
+};
+
+&edma1 {
+ /* reserved for M7 */
+ dma-channel-mask = <0x40>;
+};
+
+&edma2 {
+ /* reserved for M7 and V2X */
+ dma-channel-mask = <0xf>;
+};
+
+&micfil {
+ /* reserved for M7 */
+ status = "reserved";
+};
--
2.43.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCH v4 4/4] arm64: dts: freescale: add DT overlay for MX95-15x15-FRDM RPMSG usage
2026-09-17 18:19 ` [PATCH v4 4/4] arm64: dts: freescale: add DT overlay for MX95-15x15-FRDM RPMSG usage Frank.Li
@ 2026-10-09 3:21 ` Peng Fan
0 siblings, 0 replies; 9+ messages in thread
From: Peng Fan @ 2026-10-09 3:21 UTC (permalink / raw)
To: Frank.Li
Cc: Bjorn Andersson, Mathieu Poirier, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Peng Fan,
linux-remoteproc, devicetree, imx, linux-arm-kernel, linux-kernel,
Laurentiu Mihalcea, Frank Li, Daniel Baluta
On Thu, Sep 17, 2026 at 02:19:45PM -0400, Frank.Li@oss.nxp.com wrote:
>From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
>
>Add RPMSG DT overlay for the MX95-15x15-FRDM board. This overlay is meant
>to be used with the mx95evkrpmsg system manager configuration for
>remoteproc and audio over rpmsg-usecases.
>
>Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
>Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
>Signed-off-by: Frank Li <Frank.Li@nxp.com>
>---
> arch/arm64/boot/dts/freescale/Makefile | 3 +
> .../boot/dts/freescale/imx95-15x15-frdm-rpmsg.dtso | 67 ++++++++++++++++++++++
> 2 files changed, 70 insertions(+)
>
>diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
>index 95ae85ab4adf5..3f98132f5a32f 100644
>--- a/arch/arm64/boot/dts/freescale/Makefile
>+++ b/arch/arm64/boot/dts/freescale/Makefile
>@@ -707,6 +707,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx943-evk-sdwifi.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-ab2.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-evk.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-frdm.dtb
>+dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-frdm-rpmsg.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-evk-sof.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx95-19x19-frdm-pro.dtb
>@@ -729,6 +730,8 @@ dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-mallow.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-yavia.dtb
> dtb-$(CONFIG_ARCH_MXC) += imx95-verdin-wifi-zinnia.dtb
>
>+imx95-15x15-frdm-rpmsg-dtbs = imx95-15x15-frdm.dtb imx95-15x15-frdm-rpmsg.dtbo
>+
> imx95-15x15-evk-pcie-dtbs += imx95-15x15-evk.dtb imx-m2-pcie.dtbo
> dtb-$(CONFIG_ARCH_MXC) += imx95-15x15-evk-pcie.dtb
>
>diff --git a/arch/arm64/boot/dts/freescale/imx95-15x15-frdm-rpmsg.dtso b/arch/arm64/boot/dts/freescale/imx95-15x15-frdm-rpmsg.dtso
>new file mode 100644
>index 0000000000000..bc02864c6f88e
>--- /dev/null
>+++ b/arch/arm64/boot/dts/freescale/imx95-15x15-frdm-rpmsg.dtso
>@@ -0,0 +1,67 @@
>+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
>+/*
>+ * Copyright 2026 NXP
>+ *
>+ * This DT overlay is meant to be used alongside the mx95evkrpmsg SM
>+ * configuration for remoteproc and audio over rpmsg.
>+ */
>+
>+/dts-v1/;
>+/plugin/;
>+
>+&{/} {
>+ remoteproc-cm7 {
>+ compatible = "fsl,imx95-cm7";
>+ mboxes = <&mu7 0 1>, <&mu7 1 1>, <&mu7 3 1>;
>+ mbox-names = "tx", "rx", "rxdb";
>+ memory-region = <&vdev0buffer>, <&vdev0vring0>,
>+ <&vdev0vring1>, <&rsc_table>;
>+ memory-region-names = "vdev0buffer", "vdev0vring0",
>+ "vdev0vring1", "rsc-table";
>+ };
>+
>+ reserved-memory {
>+ #address-cells = <2>;
>+ #size-cells = <2>;
>+
>+ vdev0vring0: memory@88000000 {
>+ reg = <0 0x88000000 0 0x8000>;
>+ no-map;
>+ };
>+
>+ vdev0vring1: memory@88008000 {
>+ reg = <0 0x88008000 0 0x8000>;
>+ no-map;
>+ };
vdev1 should be put here, I think.
Regards
Peng
>+
>+ vdev0buffer: memory@88020000 {
>+ compatible = "shared-dma-pool";
>+ reg = <0 0x88020000 0 0x100000>;
>+ no-map;
>+ };
>+
>+ rsc_table: memory@88220000 {
>+ reg = <0 0x88220000 0 0x1000>;
>+ no-map;
>+ };
>+ };
>+
>+ sound-micfil {
>+ status = "disabled";
>+ };
>+};
>+
>+&edma1 {
>+ /* reserved for M7 */
>+ dma-channel-mask = <0x40>;
>+};
>+
>+&edma2 {
>+ /* reserved for M7 and V2X */
>+ dma-channel-mask = <0xf>;
>+};
>+
>+&micfil {
>+ /* reserved for M7 */
>+ status = "reserved";
>+};
>
>--
>2.43.0
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread