[PATCH 3/4] arm64: dts: imx943-evk: Add CM7 and CM33S nodes

From: Peng Fan (OSS)

Date: Wed Jul 15 2026 - 03:10:22 EST


From: Peng Fan <peng.fan@xxxxxxx>

Add remoteproc nodes for the two Cortex-M7 cores (CM7-0, CM7-1) and
the Cortex-M33S core, along with their respective reserved memory
regions for firmware, virtio device vrings, resource tables and
shared DMA pools. Enable the MU11, MU13 and MU15 mailbox units used
for inter-processor communication with each remote processor.

Signed-off-by: Peng Fan <peng.fan@xxxxxxx>
---
arch/arm64/boot/dts/freescale/imx943-evk.dts | 135 +++++++++++++++++++++++++++
1 file changed, 135 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx943-evk.dts b/arch/arm64/boot/dts/freescale/imx943-evk.dts
index 674410e541cba..da7bfbd52e312 100644
--- a/arch/arm64/boot/dts/freescale/imx943-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx943-evk.dts
@@ -133,6 +133,36 @@ reg_audio_pwr: regulator-wm8962-pwr {
enable-active-high;
};

+ remoteproc-cm70 {
+ compatible = "fsl,imx94-cm70";
+ mbox-names = "tx", "rx", "rxdb";
+ mboxes = <&mu11 0 1
+ &mu11 1 1
+ &mu11 3 1>;
+ memory-region = <&cm70_vdevbuffer>, <&cm70_vdev0vring0>, <&cm70_vdev0vring1>,
+ <&cm70_vdev1vring0>, <&cm70_vdev1vring1>, <&cm70_rsc_table>;
+ };
+
+ remoteproc-cm71 {
+ compatible = "fsl,imx94-cm71";
+ mbox-names = "tx", "rx", "rxdb";
+ mboxes = <&mu13 0 1
+ &mu13 1 1
+ &mu13 3 1>;
+ memory-region = <&cm71_vdevbuffer>, <&cm71_vdev0vring0>, <&cm71_vdev0vring1>,
+ <&cm71_vdev1vring0>, <&cm71_vdev1vring1>, <&cm71_rsc_table>;
+ };
+
+ remoteproc-cm33s {
+ compatible = "fsl,imx94-cm33s";
+ mbox-names = "tx", "rx", "rxdb";
+ mboxes = <&mu15 0 1
+ &mu15 1 1
+ &mu15 3 1>;
+ memory-region = <&cm33s_vdevbuffer>, <&cm33s_vdev0vring0>, <&cm33s_vdev0vring1>,
+ <&cm33s_vdev1vring0>, <&cm33s_vdev1vring1>, <&cm33s_rsc_table>;
+ };
+
reserved-memory {
ranges;
#address-cells = <2>;
@@ -145,6 +175,99 @@ linux,cma {
size = <0 0x10000000>;
linux,cma-default;
};
+
+ cm33s_vdev0vring0: vdev0vring0@20800000 {
+ reg = <0 0x20800000 0 0x8000>;
+ no-map;
+ };
+
+ cm33s_vdev0vring1: vdev0vring1@20808000 {
+ reg = <0 0x20808000 0 0x8000>;
+ no-map;
+ };
+
+ cm33s_vdev1vring0: vdev1vring0@20810000 {
+ reg = <0 0x20810000 0 0x8000>;
+ no-map;
+ };
+
+ cm33s_vdev1vring1: vdev1vring1@20818000 {
+ reg = <0 0x20818000 0 0x8000>;
+ no-map;
+ };
+
+ cm33s_rsc_table: rsc-table@208a0000 {
+ reg = <0 0x208a0000 0 0x1000>;
+ no-map;
+ };
+
+ cm33s_vdevbuffer: vdevbuffer@20820000 {
+ compatible = "shared-dma-pool";
+ reg = <0 0x20820000 0 0x80000>;
+ no-map;
+ };
+
+ cm70_vdev0vring0: vdev0vring0@82000000 {
+ reg = <0 0x82000000 0 0x8000>;
+ no-map;
+ };
+
+ cm70_vdev0vring1: vdev0vring1@82008000 {
+ reg = <0 0x82008000 0 0x8000>;
+ no-map;
+ };
+
+ cm70_vdev1vring0: vdev1vring0@82010000 {
+ reg = <0 0x82010000 0 0x8000>;
+ no-map;
+ };
+
+ cm70_vdev1vring1: vdev1vring1@82018000 {
+ reg = <0 0x82018000 0 0x8000>;
+ no-map;
+ };
+
+ cm70_rsc_table: rsc-table@82220000 {
+ reg = <0 0x82220000 0 0x1000>;
+ no-map;
+ };
+
+ cm70_vdevbuffer: vdevbuffer@82020000 {
+ compatible = "shared-dma-pool";
+ reg = <0 0x82020000 0 0x100000>;
+ no-map;
+ };
+
+ cm71_vdev0vring0: vdev0vring0@84000000 {
+ reg = <0 0x84000000 0 0x8000>;
+ no-map;
+ };
+
+ cm71_vdev0vring1: vdev0vring1@84008000 {
+ reg = <0 0x84008000 0 0x8000>;
+ no-map;
+ };
+
+ cm71_vdev1vring0: vdev1vring0@84010000 {
+ reg = <0 0x84010000 0 0x8000>;
+ no-map;
+ };
+
+ cm71_vdev1vring1: vdev1vring1@84018000 {
+ reg = <0 0x84018000 0 0x8000>;
+ no-map;
+ };
+
+ cm71_rsc_table: rsc-table@84220000 {
+ reg = <0 0x84220000 0 0x1000>;
+ no-map;
+ };
+
+ cm71_vdevbuffer: vdevbuffer@84020000 {
+ compatible = "shared-dma-pool";
+ reg = <0 0x84020000 0 0x100000>;
+ no-map;
+ };
};

sound-bt-sco {
@@ -592,6 +715,18 @@ &micfil {
status = "okay";
};

+&mu11 {
+ status = "okay";
+};
+
+&mu13 {
+ status = "okay";
+};
+
+&mu15 {
+ status = "okay";
+};
+
&netc_blk_ctrl {
assigned-clocks = <&scmi_clk IMX94_CLK_MAC4>,
<&scmi_clk IMX94_CLK_MAC5>;

--
2.34.1