I have seen another posts but my case is different.
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
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
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
RPMSG String Echo FreeRTOS RTOS API Demo..
Module Size Used by
imx_rpmsg_tty 16384 0
rpmsg_ctrl 16384 0
rpmsg_char 16384 1 rpmsg_ctrl
[ 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
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
The M4 is stuck in:
rpmsg_lite_wait_for_link_up(my_rpmsg, RL_BLOCK);
Any ideas ?