Hello Experts,
I am trying to learn more about the rpmsg system of the imx8qm, and my starting point is the linux docu:
https://www.kernel.org/doc/Documentation/rpmsg.txt
togheter with the device tree for .rpmsg
memory-region = <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>,
<&vdev1vring0>, <&vdev1vring1>, <&rsc_table0>;
fsl,resource-id = <IMX_SC_R_M4_0_PID0>;
fsl,entry-address = <0x34fe0000>;
status = "okay";
power-domains = <&pd IMX_SC_R_M4_0_PID0>,
<&pd IMX_SC_R_M4_0_MU_1A>;
};
imx8qm_cm41: imx8x_cm4@1 {
compatible = "fsl,imx8qm-cm4";
rsc-da = <0x90100000>;
mbox-names = "tx", "rx", "rxdb";
mboxes = <&lsio_mu6 0 1
&lsio_mu6 1 1
&lsio_mu6 3 1>;
memory-region = <&vdevbuffer>, <&vdev2vring0>, <&vdev2vring1>,
<&vdev3vring0>, <&vdev3vring1>, <&rsc_table1>;
My question is what exactly are the "vdevbuffer" and "vdevXvringY" things?
Is there a document explaining it better? I need to know what are the limitations, for example: what are the speeds I can use to send data over IPC? 10ms 1second? is it correlated to buffer size? is 128 faster than 512 bytes? how can I configured channels? have on linux side in /dev more rpmsg things for other applications to communicate with my m4 application?