diff mbox series

[4/4] arm64: dts: imx93: enable CM33 for 11x11 EVK

Message ID 20230625105528.4057850-5-peng.fan@oss.nxp.com
State New
Headers show
Series arm64: dts: imx93: add thermal/cma/cm33 node | expand

Commit Message

Peng Fan (OSS) June 25, 2023, 10:55 a.m. UTC
From: Peng Fan <peng.fan@nxp.com>

Add reserved memory node for rpmsg
Enable CM33 node with mailbox property included for doorbell.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 .../boot/dts/freescale/imx93-11x11-evk.dts    | 42 +++++++++++++++++++
 1 file changed, 42 insertions(+)

Comments

Krzysztof Kozlowski June 25, 2023, 11:20 a.m. UTC | #1
On 25/06/2023 12:55, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> Add reserved memory node for rpmsg
> Enable CM33 node with mailbox property included for doorbell.
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>

...

>  	};
>  
>  	reg_vref_1v8: regulator-adc-vref {
> @@ -107,6 +139,16 @@ &lpuart1 { /* console */
>  	status = "okay";
>  };
>  
> +&{/remoteproc-cm33} {

That's not proper reference by label.

> +	mbox-names = "tx", "rx", "rxdb";
> +	mboxes = <&mu1 0 1
> +		  &mu1 1 1
> +		  &mu1 3 1>;

Three entries, not one. Anyway, why mboxes depend on the board? This is
quite surprising.

Best regards,
Krzysztof
Krzysztof Kozlowski June 25, 2023, 11:25 a.m. UTC | #2
On 25/06/2023 13:23, Peng Fan wrote:
>>
>> Three entries, not one. Anyway, why mboxes depend on the board? This is
>> quite surprising.
> 
> The m33 firmware delivered by NXP use MU1 for doorbell, but others may
> use other MUs, or even not use MUs. So I put it in board dts just for
> NXP boards.

OK

Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
index 359ae86f4e7e..5050848a8837 100644
--- a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
@@ -27,6 +27,38 @@  linux,cma {
 			size = <0 0x10000000>;
 			linux,cma-default;
 		};
+
+		vdev0vring0: vdev0vring0@a4000000 {
+			reg = <0 0xa4000000 0 0x8000>;
+			no-map;
+		};
+
+		vdev0vring1: vdev0vring1@a4008000 {
+			reg = <0 0xa4008000 0 0x8000>;
+			no-map;
+		};
+
+		vdev1vring0: vdev1vring0@a4000000 {
+			reg = <0 0xa4010000 0 0x8000>;
+			no-map;
+		};
+
+		vdev1vring1: vdev1vring1@a4018000 {
+			reg = <0 0xa4018000 0 0x8000>;
+			no-map;
+		};
+
+		rsc_table: rsc-table@2021f000 {
+			reg = <0 0x2021f000 0 0x1000>;
+			no-map;
+		};
+
+		vdevbuffer: vdevbuffer@a4020000 {
+			compatible = "shared-dma-pool";
+			reg = <0 0xa4020000 0 0x100000>;
+			no-map;
+		};
+
 	};
 
 	reg_vref_1v8: regulator-adc-vref {
@@ -107,6 +139,16 @@  &lpuart1 { /* console */
 	status = "okay";
 };
 
+&{/remoteproc-cm33} {
+	mbox-names = "tx", "rx", "rxdb";
+	mboxes = <&mu1 0 1
+		  &mu1 1 1
+		  &mu1 3 1>;
+	memory-region = <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>,
+			<&vdev1vring0>, <&vdev1vring1>, <&rsc_table>;
+	status = "okay";
+};
+
 &usdhc1 {
 	pinctrl-names = "default", "state_100mhz", "state_200mhz";
 	pinctrl-0 = <&pinctrl_usdhc1>;