IMX8MM Dart, M4 Core /dev/ttyRPMSG missing

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX8MM Dart, M4 Core /dev/ttyRPMSG missing

1,016 Views
mariusoctavian
Contributor IV

I have seen another posts but my case is different.

  • I compiled the SDK_2_16_000_EVK-MIMX8MM/boards/evkmimx8mm/multicore_examples/rpmsg_lite_str_echo_rtos
Memory region         Used Size  Region Size  %age Used
    m_interrupts:         576 B        576 B    100.00%
          m_text:       15372 B     130496 B     11.78%
          m_data:       44112 B       128 KB     33.65%
         m_data2:          0 GB        16 MB      0.00%
[100%] Built target rpmsg_lite_str_echo_rtos_imxcm4.elf

 

  • I am running linux Yocto kirkstone and the drivers are not loaded a boot and they are:
root@imx8mm:/lib/modules/5.15.60-imx8mm/kernel/drivers/rpmsg# ll
total 56
drwxr-xr-x  2 root root  1024 Mar  9  2018 .
drwxr-xr-x 11 root root  1024 Mar  9  2018 ..
-rwxr-xr-x  1 root root  7240 Mar  9  2018 imx_rpmsg_pingpong.ko
-rwxr-xr-x  1 root root 12064 Mar  9  2018 imx_rpmsg_tty.ko
-rwxr-xr-x  1 root root 21208 Mar  9  2018 rpmsg_char.ko
-rwxr-xr-x  1 root root 12352 Mar  9  2018 rpmsg_ctrl.ko
  • I boot linux and copy the elf as:
cp rpmsg_lite_str_echo_rtos_imxcm4.elf /lib/firmware
echo stop > /sys/class/remoteproc/remoteproc0/state
cat /sys/class/remoteproc/remoteproc0/state   # stopped
echo -n rpmsg_lite_str_echo_rtos_imxcm4.elf > /sys/class/remoteproc/remoteproc0/firmware
cat /sys/class/remoteproc/remoteproc0/state   # stopped
echo start > /sys/class/remoteproc/remoteproc0/state
cat /sys/class/remoteproc/remoteproc0/state  # running
modprobe imx_rpmsg_tty
cat /sys/class/remoteproc/remoteproc0/state  # running
  • UART 4 prints
 RPMSG String Echo FreeRTOS RTOS API Demo..
  • lsmod shows
Module                  Size  Used by
imx_rpmsg_tty          16384  0
rpmsg_ctrl             16384  0
rpmsg_char             16384  1 rpmsg_ctrl
  • dmesg shows
[  148.592651] virtio_rpmsg_bus virtio0: rpmsg host is online
[  148.592748]  remoteproc0#vdev0buffer: registered virtio0 (type 7)
[  148.592759] remoteproc remoteproc0: remote processor imx-rproc is now up
  • dev folder has no /ttyR* device

mariusoctavian_0-1736898113452.png

  • Though the sys/class/remoteproc/remoteproc0 has quite few files
root@imx8mm-spectra:/sys/class/remoteproc/remoteproc0# tree
.
|-- coredump
|-- device -> ../../../imx8mm-cm4
|-- firmware
|-- name
|-- power
|   |-- autosuspend_delay_ms
|   |-- control
|   |-- runtime_active_time
|   |-- runtime_status
|   `-- runtime_suspended_time
|-- recovery
|-- remoteproc0#vdev0buffer
|   |-- power
|   |   |-- autosuspend_delay_ms
|   |   |-- control
|   |   |-- runtime_active_time
|   |   |-- runtime_status
|   |   `-- runtime_suspended_time
|   |-- uevent
|   `-- virtio0
|       |-- device
|       |-- driver -> ../../../../../../../bus/virtio/drivers/virtio_rpmsg_bus
|       |-- features
|       |-- modalias
|       |-- power
|       |   |-- autosuspend_delay_ms
|       |   |-- control
|       |   |-- runtime_active_time
|       |   |-- runtime_status
|       |   `-- runtime_suspended_time
|       |-- status
|       |-- subsystem -> ../../../../../../../bus/virtio
|       |-- uevent
|       |-- vendor
|       |-- virtio0.rpmsg_ctrl.0.0
|       |   |-- announce
|       |   |-- driver -> ../../../../../../../../bus/rpmsg/drivers/rpmsg_ctrl
|       |   |-- driver_override
|       |   |-- dst
|       |   |-- modalias
|       |   |-- name
|       |   |-- power
|       |   |   |-- autosuspend_delay_ms
|       |   |   |-- control
|       |   |   |-- runtime_active_time
|       |   |   |-- runtime_status
|       |   |   `-- runtime_suspended_time
|       |   |-- rpmsg_ctrl0
|       |   |   |-- dev
|       |   |   |-- power
|       |   |   |   |-- autosuspend_delay_ms
|       |   |   |   |-- control
|       |   |   |   |-- runtime_active_time
|       |   |   |   |-- runtime_status
|       |   |   |   `-- runtime_suspended_time
|       |   |   `-- uevent
|       |   |-- src
|       |   |-- subsystem -> ../../../../../../../../bus/rpmsg
|       |   `-- uevent
|       `-- virtio0.rpmsg_ns.53.53
|           |-- announce
|           |-- driver -> ../../../../../../../../bus/rpmsg/drivers/rpmsg_ns
|           |-- driver_override
|           |-- dst
|           |-- modalias
|           |-- name
|           |-- power
|           |   |-- autosuspend_delay_ms
|           |   |-- control
|           |   |-- runtime_active_time
|           |   |-- runtime_status
|           |   `-- runtime_suspended_time
|           |-- src
|           |-- subsystem -> ../../../../../../../../bus/rpmsg
|           `-- uevent
|-- state
|-- subsystem -> ../../../../../class/remoteproc
`-- uevent
  • From the point LINUX->M4 everything looks okay in the sys but there is no /dev/ driver.

    Any ideas what is wrong.
    Thank you

 

 

 

 

0 Kudos
Reply
1 Reply

1,000 Views
mariusoctavian
Contributor IV

The M4 is stuck in:

rpmsg_lite_wait_for_link_up(my_rpmsg, RL_BLOCK);

Any ideas ?

 

0 Kudos
Reply