i.MX8MM - BSP 5.15.52 linux-imx build fails due to removal of rpmsg stanza from imx8mm.dtsi ?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX8MM - BSP 5.15.52 linux-imx build fails due to removal of rpmsg stanza from imx8mm.dtsi ?

Jump to solution
919 Views
paulw2
Contributor II

Hi,

We're successfully using RPMSG for communication between M4 and A53 cores as well as M4 waking A53 from suspend on i.MX8mm with BSP 5.10.35_2.0.0

While updating to imx-yocto-bsp-5.15.52-2.1.0, the linux-imx build fails. The error relates to parsing our DTS file which contains RPMSG stanza's and includes imx8mm.dtsi for the following :-

 

+       rpmsg: rpmsg{
+               compatible = "fsl,imx8mq-rpmsg";
+               /* up to now, the following channels are used in imx rpmsg
+                * - tx1/rx1: messages channel.
+                * - general interrupt1: remote proc finish re-init rpmsg stack
+                *   when A core is partition reset.
+                */
+               mbox-names = "tx", "rx", "rxdb";
+               mboxes = <&mu 0 1
+                         &mu 1 1
+                         &mu 3 1>;
+               status = "disabled";
+       };

 

The linux-imx git history shows that the rpmsg stanza was removed from imx8mm.dtsi (and others) in BSP 5.15 :-

 

commit 9bfd8f73de67f2bd36026a093d24d3dcbb2b6c6b
Author: Richard Zhu <hongxing.zhu@nxp.com>
Date: Mon Jul 12 16:49:42 2021 +0800

LF-4134-2 arm64: dts: imx8m: remove the local rpmsg support

Since the i.MX8 RPMSG support had been switched to remote proc.
To clean up the codes, remove the local i.MX RPMSG supports.

 

 

 What is meant by the commit comment, "i.MX8 RPMSG support had been switched to remote proc" ?

Has something changed in the RPMSG implementation and configuration in BSP 5.15, if so, how do we perform the configuration we previously did in the DTS file ?

If not, can  we simply add the missing rpmsg stanza to our platform DTS file ??

Thanks in advance.

Labels (1)
0 Kudos
Reply
1 Solution
897 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Please refer arch/arm64/boot/dts/freescale/imx8mm-evk-rpmsg.dts:

imx8mm-cm4 {
		compatible = "fsl,imx8mm-cm4";
		rsc-da = <0xb8000000>;
		clocks = <&clk IMX8MM_CLK_M4_DIV>;
		mbox-names = "tx", "rx", "rxdb";
		mboxes = <&mu 0 1
			  &mu 1 1
			  &mu 3 1>;
		memory-region = <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>;
		syscon = <&src>;
		fsl,startup-delay-ms = <500>;
	};

The driver is located in  /drivers/remoteproc/imx_rproc.c

 

 

View solution in original post

2 Replies
898 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Please refer arch/arm64/boot/dts/freescale/imx8mm-evk-rpmsg.dts:

imx8mm-cm4 {
		compatible = "fsl,imx8mm-cm4";
		rsc-da = <0xb8000000>;
		clocks = <&clk IMX8MM_CLK_M4_DIV>;
		mbox-names = "tx", "rx", "rxdb";
		mboxes = <&mu 0 1
			  &mu 1 1
			  &mu 3 1>;
		memory-region = <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>;
		syscon = <&src>;
		fsl,startup-delay-ms = <500>;
	};

The driver is located in  /drivers/remoteproc/imx_rproc.c

 

 

882 Views
paulw2
Contributor II

Hi Qmiller,

Thanks very much for your reply to my question and for providing the DTS and driver references.

Best regards,

Paul. 

0 Kudos
Reply