arm64: dts: imx8ulp-evk: enable CM33 node
authorPeng Fan <peng.fan@nxp.com>
Mon, 24 Jul 2023 07:58:30 +0000 (15:58 +0800)
committerShawn Guo <shawnguo@kernel.org>
Sun, 30 Jul 2023 13:19:09 +0000 (21:19 +0800)
Enable CM33 node to support rpmsg feature. To use rpmsg, also need
to enable mu node for mailbox doorbell and reserved memory node
for vring, and data buffer. And reserved a piece DRAM memory for case
that m33 images loaded in DRAM.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/imx8ulp-evk.dts

index e171390a1888238bf7e8c080523a3613bb637988..d66e31cf83fe63baaf168a9a37a47bf550c938da 100644 (file)
                        size = <0 0x28000000>;
                        linux,cma-default;
                };
+
+               m33_reserved: noncacheable-section@a8600000 {
+                       reg = <0 0xa8600000 0 0x1000000>;
+                       no-map;
+               };
+
+               rsc_table: rsc-table@1fff8000{
+                       reg = <0 0x1fff8000 0 0x1000>;
+                       no-map;
+               };
+
+               vdev0vring0: vdev0vring0@aff00000 {
+                       reg = <0 0xaff00000 0 0x8000>;
+                       no-map;
+               };
+
+               vdev0vring1: vdev0vring1@aff08000 {
+                       reg = <0 0xaff08000 0 0x8000>;
+                       no-map;
+               };
+
+               vdev1vring0: vdev1vring0@aff10000 {
+                       reg = <0 0xaff10000 0 0x8000>;
+                       no-map;
+               };
+
+               vdev1vring1: vdev1vring1@aff18000 {
+                       reg = <0 0xaff18000 0 0x8000>;
+                       no-map;
+               };
+
+               vdevbuffer: vdevbuffer@a8400000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0 0xa8400000 0 0x100000>;
+                       no-map;
+               };
        };
 
        clock_ext_rmii: clock-ext-rmii {
        };
 };
 
+&cm33 {
+       mbox-names = "tx", "rx", "rxdb";
+       mboxes = <&mu 0 1>,
+                <&mu 1 1>,
+                <&mu 3 1>;
+       memory-region = <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>,
+                       <&vdev1vring0>, <&vdev1vring1>, <&rsc_table>;
+       status = "okay";
+};
+
 &lpuart5 {
        /* console */
        pinctrl-names = "default", "sleep";
        };
 };
 
+&mu {
+       status = "okay";
+};
+
 &iomuxc1 {
        pinctrl_enet: enetgrp {
                fsl,pins = <