summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeng Fan <peng.fan@nxp.com>2020-03-25 21:24:51 +0800
committerPeng Fan <peng.fan@nxp.com>2020-04-09 10:35:42 +0800
commit8bd8bf4ea99cb2201e4cac078b44f67e052ee59a (patch)
treebe9ec4748389fcb4827eee187fc153ac83b4a528
parent00f33502b6a4902f80eb3af465dcea7d8667b507 (diff)
MLK-23754-26 arm64: dts: imx8x-mek: add cm4 node
Add cm4 node for remoteproc usage. Currently added ipc-only for partitioned M4 usage, late this property will be dropped and check partitioned M4 in driver. Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
-rw-r--r--arch/arm64/boot/dts/freescale/imx8x-mek-rpmsg.dtsi5
-rw-r--r--arch/arm64/boot/dts/freescale/imx8x-mek.dtsi66
2 files changed, 62 insertions, 9 deletions
diff --git a/arch/arm64/boot/dts/freescale/imx8x-mek-rpmsg.dtsi b/arch/arm64/boot/dts/freescale/imx8x-mek-rpmsg.dtsi
index bbb1d3814b05..47243b55d06b 100644
--- a/arch/arm64/boot/dts/freescale/imx8x-mek-rpmsg.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8x-mek-rpmsg.dtsi
@@ -223,3 +223,8 @@
&uart3_lpcg {
status = "disabled";
};
+
+&imx8x_cm4 {
+ /* Assume you have partitioned M4, so M4 is ont controled by Linux */
+ /delete-property/ power-domains;
+};
diff --git a/arch/arm64/boot/dts/freescale/imx8x-mek.dtsi b/arch/arm64/boot/dts/freescale/imx8x-mek.dtsi
index 23819a0a1f4d..9b2ed9e87e07 100644
--- a/arch/arm64/boot/dts/freescale/imx8x-mek.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8x-mek.dtsi
@@ -98,13 +98,7 @@
rpmsg_reserved: rpmsg@0x90000000 {
no-map;
- reg = <0 0x90000000 0 0x400000>;
- };
-
- rpmsg_dma_reserved:rpmsg_dma@0x90400000 {
- compatible = "shared-dma-pool";
- no-map;
- reg = <0 0x90400000 0 0x100000>;
+ reg = <0 0x90200000 0 0x200000>;
};
decoder_boot: decoder-boot@84000000 {
@@ -237,6 +231,60 @@
"Playback", "CPU-Playback",
"CPU-Capture", "Capture";
};
+
+ imx8x_cm4: imx8x_cm4@0 {
+ compatible = "fsl,imx8qxp-cm4";
+ rsc-da = <0x90000000>;
+ mbox-names = "tx", "rx", "rxdb";
+ mboxes = <&lsio_mu5 0 1
+ &lsio_mu5 1 1
+ &lsio_mu5 3 1>;
+ mub-partition = <3>;
+ memory-region = <&vdev0vring0>, <&vdev0vring1>, <&vdevbuffer>,
+ <&vdev1vring0>, <&vdev1vring1>;
+ core-index = <0>;
+ core-id = <IMX_SC_R_M4_0_PID0>;
+ status = "okay";
+ power-domains = <&pd IMX_SC_R_M4_0_PID0>,
+ <&pd IMX_SC_R_M4_0_MU_1A>;
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ vdev0vring0: vdev0vring0@90000000 {
+ compatible = "shared-dma-pool";
+ reg = <0 0x90000000 0 0x8000>;
+ no-map;
+ };
+
+ vdev0vring1: vdev0vring1@90008000 {
+ compatible = "shared-dma-pool";
+ reg = <0 0x90008000 0 0x8000>;
+ no-map;
+ };
+
+ vdev1vring0: vdev1vring0@90010000 {
+ compatible = "shared-dma-pool";
+ reg = <0 0x90010000 0 0x8000>;
+ no-map;
+ };
+
+ vdev1vring1: vdev1vring1@90018000 {
+ compatible = "shared-dma-pool";
+ reg = <0 0x90018000 0 0x8000>;
+ no-map;
+ };
+
+ vdevbuffer: vdevbuffer {
+ compatible = "shared-dma-pool";
+ reg = <0 0x90400000 0 0x100000>;
+ no-map;
+ };
+ };
+
};
&cm40_i2c {
@@ -865,8 +913,8 @@
*/
vdev-nums = <2>;
reg = <0x0 0x90000000 0x0 0x20000>;
- memory-region = <&rpmsg_dma_reserved>;
- status = "okay";
+ memory-region = <&vdevbuffer>;
+ status = "disabled";
};
&usbphy1 {