RPMSG baud rate

Hi,
what does the RPMSG baud rate match?
Thank you in advance.

Hi @marouen,

If I understand correctly, you wanna know the speed of the RPMsg, am I correct?

RPMsg uses shared memory to communicate between the two cores, one buffer for RX and another one for TX. Therefore, the speeds of this communication are limited to write/read operations of this memory, there is no baud rate involved (as we have on UART, for example).

Here are some comments from the Kernels documentation:

...
Every rpmsg device is a communication channel with a remote processor (thus
rpmsg devices are called channels). Channels are identified by a textual name
and have a local ("source") rpmsg address, and remote ("destination") rpmsg
address.

When a driver starts listening on a channel, its rx callback is bound with
a unique rpmsg local address (a 32-bit integer). This way when inbound messages
arrive, the rpmsg core dispatches them to the appropriate driver according
to their destination address (this is done by invoking the driver's rx handler
with the payload of the inbound message).
...
In case there are no TX buffers available, the function will block until
one becomes available (i.e. until the remote processor consumes
a tx buffer and puts it back on virtio's used descriptor ring),
or a timeout of 15 seconds elapses. When the latter happens,
-ERESTARTSYS is returned.

The function can only be called from a process context (for now).
Returns 0 on success and an appropriate error value on failure.

Let me know if you need anything else!

Kind regards,
Hiago.

1 Like

Thank you @hfranco.tx

1 Like