We are working with the http://www2.keil.com/mdk5/ds-mdk/imx6sxsabrereference
We are looking at using the rpmsg system to transfer data between the m4 processor and the application processor. I set up a basic benchmark using the rpmsg_tty example and have found the performance to be lower than expected from a memory-mapped sharing system, ~400KB/s.
I thought it might have to do with the buffer size between the processors and had some success changing them. I would like to continue down this path but I am unsure of where the values for the VRING bases were derived and how I can safely change them.
In arch/arm/mach-imx/imx_rpmsg.c line 292 there is a hard coded set of address:
/* hardcodes here now. */
rpdev->vring = 0xBFFF0000;
rpdev->vring = 0xBFFF8000;
How might I change these such that I can increase the total size of the vrings safely?
I have been looking a the i.MX 6SoloX Applications Processor Reference Manual and the memory range seems to fall outside the memory map, unless I am reading it wrong:
SSI2 - 0xB000 - 4KB
SSI3 - 0xC000 - 4KB
What am I missing?