cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Contributor
Contributor
1,690 Views
Registered: ‎03-13-2017

Vring address

Jump to solution

Hello! I've been looking into OpenAMP (UG1186) and the thing that I failed to understand is where from do we get VRING addresses?
The ones that are in zynq example for remote cpu:
1.png

Comment to fw_rsc_vdev_vring struct:

 * Note that @da should either contain the device address where
 * the remote remote_proc is expecting the vring, or indicate that
 * dynamically allocation of the vring's device address is supported.

which still doesn't clear it for me.  And i couldn't find any information on this elsewhere.

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Scholar
Scholar
2,233 Views
Registered: ‎03-22-2016

@thngttr Just a location in memory agreed to hold the vring buffers. As stated in page 15, 

 

If you specify it in the resource table, it must be inside the range defined by the DTS reserved-memory section for rproc. It should not overlap its address with the memory nodes in the device tree which are used to load the firmware.

vitorian.com --- We do this for fun. Always give kudos. Accept as solution if your question was answered.
I will not answer to personal messages - use the forums instead.

View solution in original post

vring_address_openamp.png
0 Kudos
3 Replies
Highlighted
Scholar
Scholar
2,234 Views
Registered: ‎03-22-2016

@thngttr Just a location in memory agreed to hold the vring buffers. As stated in page 15, 

 

If you specify it in the resource table, it must be inside the range defined by the DTS reserved-memory section for rproc. It should not overlap its address with the memory nodes in the device tree which are used to load the firmware.

vitorian.com --- We do this for fun. Always give kudos. Accept as solution if your question was answered.
I will not answer to personal messages - use the forums instead.

View solution in original post

vring_address_openamp.png
0 Kudos
Highlighted
Contributor
Contributor
1,653 Views
Registered: ‎03-13-2017

@hbucher, OK, but this

2.png

what was given as an example for dts (page 20).  elf_ddr_0, it seems, is defined for remote firmware, not for remoteproc resources, since it doesn't include Vring addresses.
So, am i supposed to expand elf_ddr_0? Or does linux accept any value for vring addresses given it doesn't overlap with memory nodes in dts?

0 Kudos
Contributor
Contributor
1,424 Views
Registered: ‎03-13-2017

Moved from 2017.1 to 2017.4, compared docs for openamp, and new example device tree for zynq did contain reserved memory definition, which separates remote app memory and rsc_table space from linux ram. Now this makes sense.