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

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

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
  
Peng Fan June 25, 2023, 11:23 a.m. UTC | #2
> Subject: Re: [PATCH 4/4] arm64: dts: imx93: enable CM33 for 11x11 EVK
> 
> 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.

Ok, will give it a true lable, such as "cm33"
> 
> > +	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.

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.

Thanks,
Peng.

> 
> Best regards,
> Krzysztof
  
Krzysztof Kozlowski June 25, 2023, 11:25 a.m. UTC | #3
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
  

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>;