Showing results for 
Search instead for 
Did you mean: 

[stm32mp1] Multiple ttyRPMSG




I have a STM32MP157F-DK2 with a firmware running with remoteproc and using remoteproc and rpmsg drivers to communicate with userspace through ttyRPMSG0, created at firmware init with libmetal and openAMP libraries.


After multiple days of research, I couldn't find any way to implement another ttyRPMSG in order to have, for example, ttyRPMSG0 handling data_0 and ttyRPMSG1 handling data_1.


- I tried to create a second endpoint to the existing channels : 2 ttyRPMSG are created but managing ring buffers is a pain as there are only 2 and it seems like they share their mailbox (That's like i have 2 RPMSG but are in fact one). Moreover, the dest_addr of the second endpoint seems to not be set (the first endpoint dest addr value is set to a specific value by the driver, but the second one stays at 0xffffffff : default value).

- I tried to add a device managing its own channel and so that he can create endpoints as it wants, but my device tree seems to not handle very well multiple devices (remoteproc driver in kernel says that is does not support multiple device ; am I doing something bad?)

- I tried to implement another memory shared section created by libmetal. However, delimiting precisely memory sections is really hard, and it is like I am doing so many low-level things another time, for a what could be a little thing to implement.


Have any of you got some advices or encountered the same situation?


Associate III

You can share the code of this project, I can give you comments about your code