cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor
Visitor
391 Views
Registered: ‎08-07-2019

Can't not generate /dev/rpmsg0 in openAMP 2019.1

Jump to solution

Hello.

 

I'm trying to enable openAMP using kernel space in petalinux 2019.1.

I followed sequence of enabling openAMP in UG1186 and xilinx wiki.

I can do openAMP echo test using user space such as 'ZynqMP Linux Master running on APU with RPMsg in userspace and 2 RPU slaves.'

But I can't test openAMP in kernel space. (ZynqMP Linux Master running on APU with RPMsg in kernel space and 2 RPU slaves.)

(I wanna compare performance between user space and kernel space.)

 

The problem is there are no /dev/rpmsg0 in my filesystem.

So I check device-tree file, but it seems OK. (My system-user.dtsi is as bellow.)

So I try to enable kernel config such as Device Drivers --> Rpmsg drivers -->

But /dev/rpmsg0 is not generated.

 

Could you give me advice to solve this problem?

Thanks.

 

 

------------ system-user.dtsi ---------------

 /include/ "system-conf.dtsi"
 / {
 reserved-memory {
 #address-cells = <2>;
 #size-cells = <2>;
 ranges;

 rproc_0_dma: rproc@3ed400000 {
 no-map;
 compatible = "shared-dma-pool";
 reg = <0x0 0x3ed40000 0x0 0x100000>;
};

rproc_0_reserved: rproc@3ed000000 {
no-map;
reg = <0x0 0x3ed00000 0x0 0x1000000>;
};
reserved: buffer@70000000 {
compatible = "shared-dma-pool";
no-map;
reg = <0x0 0x70000000 0x0 0x10000000>;
};
};

zynqmp-rpu {

compatible = "xlnx,zynqmp-r5-remoteproc-1.0";
#address-cells = <2>;
#size-cells = <2>;
ranges;
core_conf = "split";

r5_0: r5@0 {
#address-cells = <2>;
#size-cells = <2>;
ranges;
memory-region = <&rproc_0_reserved>, <&rproc_0_dma>;
pnode-id = <0x7>;
mboxes = <&ipi_mailbox_rpu0 0>, <&ipi_mailbox_rpu0 1>;
mbox-names = "tx", "rx";

tcm_0_a: tcm_0@0 {

reg = <0x0 0xFFE00000 0x0 0x10000>;
pnode-id = <0xf>;
};

tcm_0_b: tcm_0@1 {
reg = <0x0 0xFFE20000 0x0 0x10000>;
pnode-id = <0x10>;
};
};
};

zynqmp_ipi1 {
compatible = "xlnx,zynqmp-ipi-mailbox";
interrupt-parent = <&gic>;
interrupts = <0 29 4>;
xlnx,ipi-id = <7>;
#address-cells = <1>;
#size-cells = <1>;
ranges;
/* APU<->RPU0 IPI mailbox controller */

ipi_mailbox_rpu0: mailbox@ff90000 {
reg = <0xff990600 0x20>,
<0xff990620 0x20>,
<0xff9900c0 0x20>,
<0xff9900e0 0x20>;
reg-names = "local_request_region",
"local_response_region",
"remote_request_region",
"remote_response_region";
#mbox-cells = <1>;
xlnx,ipi-id = <1>;
};
};

 

 

 

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Visitor
Visitor
357 Views
Registered: ‎08-07-2019

Re: Can't not generate /dev/rpmsg0 in openAMP 2019.1

Jump to solution

I solved this issue.

Solution is very simple.

When load firmware using remoteproc0, I should set filename without full path.

 

For example,

$) echo /lib/firmware/image_echo_test > /sys/class/remoteproc/remoteproc0/firwmare

$) echo start > //sys/class/remoteproc/remoteproc0/state

-> fail with error -2.

 

$) cd /lib/firmware

/lib/firmware $) echo image_echo_test > /sys/class/remoteproc/remoteproc0/firwmare

$) echo start > //sys/class/remoteproc/remoteproc0/state

-> Successfully run.

 

 

View solution in original post

0 Kudos
1 Reply
Highlighted
Visitor
Visitor
358 Views
Registered: ‎08-07-2019

Re: Can't not generate /dev/rpmsg0 in openAMP 2019.1

Jump to solution

I solved this issue.

Solution is very simple.

When load firmware using remoteproc0, I should set filename without full path.

 

For example,

$) echo /lib/firmware/image_echo_test > /sys/class/remoteproc/remoteproc0/firwmare

$) echo start > //sys/class/remoteproc/remoteproc0/state

-> fail with error -2.

 

$) cd /lib/firmware

/lib/firmware $) echo image_echo_test > /sys/class/remoteproc/remoteproc0/firwmare

$) echo start > //sys/class/remoteproc/remoteproc0/state

-> Successfully run.

 

 

View solution in original post

0 Kudos