UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Contributor
Contributor
845 Views
Registered: ‎12-12-2017

virtio1 channel doesn't create for Cortex R5_1

Jump to solution

Hi

 

I test echo test with openamp between petalinux and Cortex-R processor.

 

When I tested cortex-R0,  virtio channel is created on time. but  virtio channel for cortex-R1 in not created.

 

This in log file about  loading Cortex-Rs openAMP firmware.

 

for Cortex-R0

---------------------------------

[ 26.617687] remoteproc remoteproc0: powering up ff9a0100.zynqmp_r5_rproc
[ 26.625356] remoteproc remoteproc0: Booting fw image firmware-r0.elf, size 788120
[ 26.634659] zynqmp_r5_remoteproc ff9a0100.zynqmp_r5_rproc: RPU boot from TCM.
[ 26.642384] remoteproc remoteproc0: registered virtio0 (type 7)
[ 26.648233] remoteproc remoteproc0: remote processor ff9a0100.zynqmp_r5_rproc is now up
[ 26.650073] virtio_rpmsg_bus virtio0: rpmsg host is online
[ 26.661696] virtio_rpmsg_bus virtio0: creating channel rpmsg-openamp-demo-channel addr 0x1

 

 

for Cortex-R1

---------------------------------

root@xilinx-zcu104-2018_2:~# echo start > /sys/class/remoteproc/remoteproc1/state
[ 26.679655] remoteproc remoteproc1: powering up ff9a0200.zynqmp_r5_rproc
[ 26.687281] remoteproc remoteproc1: Booting fw image firmware-r1.elf, size 788008
[ 26.696579] zynqmp_r5_remoteproc ff9a0200.zynqmp_r5_rproc: RPU boot from TCM.
[ 26.704550] virtio_rpmsg_bus virtio1: rpmsg host is online
[ 26.709991] remoteproc remoteproc1: registered virtio1 (type 7)
[ 26.715864] remoteproc remoteproc1: remote processor ff9a0200.zynqmp_r5_rproc is now up

 

loot at the log file. there are not same, for Cortex-R1 have no "virtio_rpmsg_bus virtio0: creating channel rpmsg-openamp-demo-channel addr 0x1" message.

 

and in peta linux, "/dev/rpmsg0" is existed but "/dev/rpmsg1" is note existed,  "/sys/class/rpmsg_user_dev_driver/rpmsg1" in not existed too.

 

Plz let me know how to create rpmsg channel for Cortes-R1.

 

Thanks

 

Regars.

 

Shin.

0 Kudos
1 Solution

Accepted Solutions
Moderator
Moderator
778 Views
Registered: ‎05-10-2017

Re: virtio1 channel doesn't create for Cortex R5_1

Jump to solution

 

		test_r51: zynqmp_r5_rproc@1 {
		  	compatible = "xlnx,zynqmp-r5-remoteproc-1.0";
//			reg = <0x0 0xff9a0200 0x0 0x100>, <0x0 0xff340000 0x0 0x100>, <0x0 0xff9a0000 0x0 0x100>;
		  	reg = <0x0 0xff9a0200 0x0 0x100>, <0x0 0xff350000 0x0 0x100>, <0x0 0xff9a0000 0x0 0x100>;
		  	reg-names = "rpu_base", "ipi", "rpu_glbl_base";
		  	dma-ranges;
		  	core_conf = "split0";
//			srams = <&r5_1_tcm_a &r5_1_tcm_b &elf_ddr_1 &shared_ddr_1 &shared_ocm_ch2 &shared_ocm_ch3>;
//		  	srams = <&r5_1_tcm_a &r5_1_tcm_b &elf_ddr_1 &shared_ocm_ch2 &shared_ocm_ch3>;
		  	srams = <&r5_1_tcm_a &r5_1_tcm_b &elf_ddr_1>;
		  	pd-handle = <&pd_r5_1>;
		  	interrupt-parent = <&gic>;
		  	interrupts = <0 29 4>;
	  	} ;

Please see highlighted - Why is ipi at 0xff350000? Do you plan to use a different IPI for APU. APU uses PL0 IPI. This needs to be 0xff340000 . If you have 2 remoteproc nodes, the core-conf for the 2nd remoteproc node should be split1.

 

Please see the example openamp dtsi here 

https://github.com/Xilinx/meta-openamp/blob/rel-v2018.2/recipes-bsp/device-tree/files/zynqmp/openamp-overlay-split.dtsi

 

 

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
3 Replies
Moderator
Moderator
824 Views
Registered: ‎05-10-2017

Re: virtio1 channel doesn't create for Cortex R5_1

Jump to solution

Which version of the tools are you using? Could you please post your device-tree?

 

 

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Contributor
Contributor
787 Views
Registered: ‎12-12-2017

Re: virtio1 channel doesn't create for Cortex R5_1

Jump to solution

Hi~

 

I use a petalinux 2018.2.2, linux kernel version is 4.14 

I attached dtsi file.

 

Thanks

 

Regards.

 

Shin.

 

0 Kudos
Moderator
Moderator
779 Views
Registered: ‎05-10-2017

Re: virtio1 channel doesn't create for Cortex R5_1

Jump to solution

 

		test_r51: zynqmp_r5_rproc@1 {
		  	compatible = "xlnx,zynqmp-r5-remoteproc-1.0";
//			reg = <0x0 0xff9a0200 0x0 0x100>, <0x0 0xff340000 0x0 0x100>, <0x0 0xff9a0000 0x0 0x100>;
		  	reg = <0x0 0xff9a0200 0x0 0x100>, <0x0 0xff350000 0x0 0x100>, <0x0 0xff9a0000 0x0 0x100>;
		  	reg-names = "rpu_base", "ipi", "rpu_glbl_base";
		  	dma-ranges;
		  	core_conf = "split0";
//			srams = <&r5_1_tcm_a &r5_1_tcm_b &elf_ddr_1 &shared_ddr_1 &shared_ocm_ch2 &shared_ocm_ch3>;
//		  	srams = <&r5_1_tcm_a &r5_1_tcm_b &elf_ddr_1 &shared_ocm_ch2 &shared_ocm_ch3>;
		  	srams = <&r5_1_tcm_a &r5_1_tcm_b &elf_ddr_1>;
		  	pd-handle = <&pd_r5_1>;
		  	interrupt-parent = <&gic>;
		  	interrupts = <0 29 4>;
	  	} ;

Please see highlighted - Why is ipi at 0xff350000? Do you plan to use a different IPI for APU. APU uses PL0 IPI. This needs to be 0xff340000 . If you have 2 remoteproc nodes, the core-conf for the 2nd remoteproc node should be split1.

 

Please see the example openamp dtsi here 

https://github.com/Xilinx/meta-openamp/blob/rel-v2018.2/recipes-bsp/device-tree/files/zynqmp/openamp-overlay-split.dtsi

 

 

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos