cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
matt_buonadonna
Visitor
Visitor
632 Views
Registered: ‎07-29-2019

Multi-channel rpmsg support over OpenAMP.

I am trying to implement multiple rpmsg channel support on the Arm R5 via OpenAMP to the A53. The work is being done on a custom board using the UltraScale+ xczu3cg.

Currently we have only one channel open between the R5 & A53 and the implementation is based on the OpenAMP latency test example. 

Are there any resources or examples that I can reference in order to implement our multi channel requirement?

Thanks in advance.

 

Matt

0 Kudos
Reply
1 Reply
jovitac
Moderator
Moderator
533 Views
Registered: ‎05-10-2017

I’m assuming you mean 2 channels, one for R5-0 and the other for R5-1.

If you are using different IPI channels, there will be a separate base address for each channel that you use.

Please refer to Chapter 13 (Interrupts in UG1085).

ipi.png

If you see the table each IPI channel has a different base address. For instance, default echo_test application in SDK is written for R5-0 and if you check the base address it is

#define  XPAR_PSU_IPI_1_S_AXI_BASEADDR  0xFF310000U

So if if you want tio use Channel 2 for instance, it will be 0xFF320000U

The openamp wiki has examples for OpenAMP with RPMsg in kernelspace with 2 rpu slaves where a channel is generated for each slave

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/118358017/OpenAMP+2019.1#OpenAMP2019.1-ZynqMPLinuxMasterrunningonAPUwithRPMsginkernelspaceand2RPUslaves.

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