/dev/ttyRPMSG30 not created in Torizon OS 7 on Verdin iMX8M-Plus

I have an application running a custom build of Torizon OS 6 that includes the overlay
device-trees/overlays/verdin-imx8mp_hmp_overlay.dts
to enable rpmsg communciation between Torizon OS and M7 core (FreeRTOS).
The firmware for M7 core is loaded by u-boot.

I’ve just started my test with the new Torizon OS 7.

  1. I’m able to build a custom Torizon OS 7 (based on 7.1.0-devel-202412+build.4) where I use the same device-trees/overlays/verdin-imx8mp_hmp_overlay.dts to enable rpmsg communication
  2. u-boot is able to load and start the firmware on M7. I can see it because my firmware blinks a LED on the carrier board, and cat /sys/class/remoteproc/remoteproc0/state returns attached
  3. imx_rpmsg_tty seems loaded because I see it running lsmod

But the device /dev/ttyRPMSG30 doesn’t exist and so rpmsg cannot be used.
Is this expected to be working with Torizon OS 7?

Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hello!

It seems you’ve taken the right steps to enable RPMsg communication on Torizon OS 7, similar to your setup on Torizon OS 6. However, the absence of /dev/ttyRPMSG30 indicates there might be a configuration or compatibility issue with the device tree overlay.

Here are some steps you can take to troubleshoot and resolve this issue:

  1. Device Tree Overlay Compatibility: Ensure that the verdin-imx8mp_hmp_overlay.dts is compatible with Torizon OS 7. While overlays from Torizon OS 6 are generally compatible, there might be changes in Torizon OS 7 that require adjustments.

  2. Check System Logs: After booting, check the dmesg logs for any messages related to RPMsg or the imx_rpmsg_tty module. Look for errors or warnings that might indicate why the device node isn’t being created.

  3. RAM Buffer Allocation: Verify that the RAM buffers are correctly allocated in the device tree. Incorrect memory allocation can prevent the RPMsg driver from functioning properly.

  4. Kernel Module Initialization: Confirm that the imx_rpmsg_tty module is not only loaded but also properly initialized. You can do this by checking the output of lsmod and dmesg.

  5. Firmware Compatibility: Ensure that the firmware for the M7 core is compatible with the changes in Torizon OS 7. Sometimes, updates in the OS might require corresponding updates in the firmware.

  6. Rebuild and Test: If you make changes to the device tree or firmware, rebuild the custom Torizon OS image and test again.

By following these steps, you should be able to identify and resolve the issue preventing the creation of /dev/ttyRPMSG30.

Best regards,
Toradex AI Assistant

Please, also check if these links can help you solve your problem:

Support of rpmsg in TorizonCore on Verdin iMX8MP.

Greetings @vix,

I was able to reproduce the same findings as you on our BSP 7.X as well. I wouldn’t be surprised if there was a regression with this rpmsg stuff in 7.X. I can’t say for sure though since it’s not something we explicitly test often.

I’ll report this to our team.

Best Regards,
Jeremias

I wait for the answer from the team.

For the future, it would be really valuable if Toradex can setup some automated rpmsg test (to avoid regressions).
Thanks

Hi @vix,

Just to inform you, this should now be resolved by our team. There was a small error on the device tree overlay due to a change in the driver in the new kernel version. The overlay has been adjusted as seen here: device-tree-overlays.git - Sources for Device Tree Overlays

Best Regards,
Jeremias