Part Number: J784S4XEVM
Hi,
I am currently testing in bootApp mode, and the boot flow is as follows:
- app (MCU1_0)
- lateapp1 (MCU2_0, MCU2_1)
- lateapp2 (MCU3_0, MCU3_1, MCU4_0, MCU4_1)
- Linux Image Boot (atf_optee.appimage, tikernel.appimage, tidtb_linux.appimage)
When using the pre-built Linux image, everything works correctly.
- remoteproc devices are created properly
- IPC communication between all cores is working as expected
However, after creating a custom Linux image (for boot time optimization), the following issue occurs:
[ 2.149686] k3_r5_rproc bus@100000:bus@28380000:r5fss@41000000: k3_r5_cluster_rproc_init failed, ret = -517
[ 2.152070] k3_r5_rproc bus@100000:r5fss@5c00000: k3_r5_cluster_rproc_init failed, ret = -517
[ 2.156656] k3_r5_rproc bus@100000:r5fss@5e00000: k3_r5_cluster_rproc_init failed, ret = -517
[ 2.158667] k3_r5_rproc bus@100000:r5fss@5900000: k3_r5_cluster_rproc_init failed, ret = -517
[ 2.174359] k3_r5_rproc bus@100000:bus@28380000:r5fss@41000000: k3_r5_cluster_rproc_init failed, ret = -517
[ 2.187866] k3_r5_rproc bus@100000:r5fss@5c00000: k3_r5_cluster_rproc_init failed, ret = -517
[ 2.262081] remoteproc remoteproc4: request_firmware failed: -22
[ 2.266186] remoteproc remoteproc5: request_firmware failed: -22
[ 2.269199] remoteproc remoteproc6: request_firmware failed: -22
[ 2.271412] remoteproc remoteproc7: request_firmware failed: -22
[ 2.279550] platform 41400000.r5f: mismatched mode: local_reset = asserted, module_reset = deasserted, core_state = unhalted
[ 2.280581] k3_r5_rproc bus@100000:bus@28380000:r5fss@41000000: k3_r5_cluster_rproc_init failed, ret = -22
[ 2.280608] k3_r5_rproc bus@100000:bus@28380000:r5fss@41000000: probe with driver k3_r5_rproc failed with error -22
- Other cores (MCU2_0 ~ MCU4_1) are created successfully and IPC works normally
- Only MCU1 shows an issue
-
The log shows:
platform 41400000.r5f: mismatched mode - After this, a reset seems to occur, leading to a detach
I suspect that the detach is caused by this mismatched mode and subsequent reset condition, and I am currently debugging this.
Any insights or guidance would be greatly appreciated.
thank you.
other dmesg below,
root@j784s4-evm:~# dmesg | grep remoteproc
[ 2.150317] remoteproc remoteproc0: releasing 41000000.r5f
[ 2.155242] remoteproc remoteproc0: releasing 5c00000.r5f
[ 2.157197] remoteproc remoteproc0: releasing 5e00000.r5f
[ 2.159283] remoteproc remoteproc0: releasing 5900000.r5f
[ 2.174839] remoteproc remoteproc0: releasing 41000000.r5f
[ 2.191439] remoteproc remoteproc0: releasing 5c00000.r5f
[ 2.210123] remoteproc remoteproc0: 5e00000.r5f is available
[ 2.210572] remoteproc remoteproc0: attaching to 5e00000.r5f
[ 2.218917] remoteproc remoteproc0: remote processor 5e00000.r5f is now attached
[ 2.227033] remoteproc remoteproc1: 5f00000.r5f is available
[ 2.227090] remoteproc remoteproc1: attaching to 5f00000.r5f
[ 2.229816] remoteproc remoteproc1: remote processor 5f00000.r5f is now attached
[ 2.237577] remoteproc remoteproc2: 5900000.r5f is available
[ 2.237654] remoteproc remoteproc2: attaching to 5900000.r5f
[ 2.240840] remoteproc remoteproc2: remote processor 5900000.r5f is now attached
[ 2.248228] remoteproc remoteproc3: 5a00000.r5f is available
[ 2.248356] remoteproc remoteproc3: attaching to 5a00000.r5f
[ 2.257349] remoteproc remoteproc3: remote processor 5a00000.r5f is now attached
[ 2.261506] k3-dsp-rproc 64800000.dsp: configured DSP for remoteproc mode
[ 2.261996] remoteproc remoteproc4: 64800000.dsp is available
[ 2.262075] remoteproc remoteproc4: powering up 64800000.dsp
[ 2.262081] remoteproc remoteproc4: request_firmware failed: -22
[ 2.265813] k3-dsp-rproc 65800000.dsp: configured DSP for remoteproc mode
[ 2.266092] remoteproc remoteproc5: 65800000.dsp is available
[ 2.266178] remoteproc remoteproc5: powering up 65800000.dsp
[ 2.266186] remoteproc remoteproc5: request_firmware failed: -22
[ 2.268889] k3-dsp-rproc 66800000.dsp: configured DSP for remoteproc mode
[ 2.269136] remoteproc remoteproc6: 66800000.dsp is available
[ 2.269193] remoteproc remoteproc6: powering up 66800000.dsp
[ 2.269199] remoteproc remoteproc6: request_firmware failed: -22
[ 2.270794] k3-dsp-rproc 67800000.dsp: configured DSP for remoteproc mode
[ 2.270988] remoteproc remoteproc7: 67800000.dsp is available
[ 2.271403] remoteproc remoteproc7: powering up 67800000.dsp
[ 2.271412] remoteproc remoteproc7: request_firmware failed: -22
[ 2.277719] remoteproc remoteproc8: 41000000.r5f is available
[ 2.277771] remoteproc remoteproc8: attaching to 41000000.r5f
[ 2.278979] remoteproc remoteproc8: remote processor 41000000.r5f is now attached
[ 2.279894] remoteproc remoteproc8: detached remote processor 41000000.r5f
[ 2.310369] remoteproc remoteproc9: releasing 41400000.r5f
[ 2.310602] remoteproc remoteproc8: releasing 41000000.r5f
[ 2.315171] remoteproc remoteproc8: 5c00000.r5f is available
[ 2.315219] remoteproc remoteproc8: attaching to 5c00000.r5f
[ 2.318308] remoteproc remoteproc8: remote processor 5c00000.r5f is now attached
[ 2.322714] remoteproc remoteproc9: 5d00000.r5f is available
[ 2.322780] remoteproc remoteproc9: attaching to 5d00000.r5f
[ 2.323654] remoteproc remoteproc9: remote processor 5d00000.r5f is now attached
root@j784s4-evm:~# dmesg | grep virtio
[ 2.216443] rproc-virtio rproc-virtio.8.auto: assigned reserved memory node r5f-dma-memory@a4000000
[ 2.218867] virtio_rpmsg_bus virtio0: rpmsg host is online
[ 2.218908] rproc-virtio rproc-virtio.8.auto: registered virtio0 (type 7)
[ 2.227659] rproc-virtio rproc-virtio.9.auto: assigned reserved memory node r5f-dma-memory@a5000000
[ 2.229760] virtio_rpmsg_bus virtio1: rpmsg host is online
[ 2.229808] rproc-virtio rproc-virtio.9.auto: registered virtio1 (type 7)
[ 2.239221] rproc-virtio rproc-virtio.10.auto: assigned reserved memory node r5f-dma-memory@a6000000
[ 2.240800] virtio_rpmsg_bus virtio2: rpmsg host is online
[ 2.240833] rproc-virtio rproc-virtio.10.auto: registered virtio2 (type 7)
[ 2.251944] rproc-virtio rproc-virtio.11.auto: assigned reserved memory node r5f-dma-memory@a7000000
[ 2.257311] virtio_rpmsg_bus virtio3: rpmsg host is online
[ 2.257344] rproc-virtio rproc-virtio.11.auto: registered virtio3 (type 7)
[ 2.278208] rproc-virtio rproc-virtio.12.auto: assigned reserved memory node r5f-dma-memory@a0000000
[ 2.278893] virtio_rpmsg_bus virtio4: rpmsg host is online
[ 2.278971] rproc-virtio rproc-virtio.12.auto: registered virtio4 (type 7)
[ 2.317628] rproc-virtio rproc-virtio.12.auto: assigned reserved memory node r5f-dma-memory@a2000000
[ 2.318278] virtio_rpmsg_bus virtio4: rpmsg host is online
[ 2.318303] rproc-virtio rproc-virtio.12.auto: registered virtio4 (type 7)
[ 2.323192] rproc-virtio rproc-virtio.13.auto: assigned reserved memory node r5f-dma-memory@a3000000
[ 2.323629] virtio_rpmsg_bus virtio5: rpmsg host is online
[ 2.323649] rproc-virtio rproc-virtio.13.auto: registered virtio5 (type 7)
[ 2.426326] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
[ 2.426785] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
[ 2.430268] virtio_rpmsg_bus virtio1: creating channel ti.ipc4.ping-pong addr 0xd
[ 2.430457] virtio_rpmsg_bus virtio1: creating channel rpmsg_chrdev addr 0xe
[ 2.450299] virtio_rpmsg_bus virtio2: creating channel ti.ipc4.ping-pong addr 0xd
[ 2.450530] virtio_rpmsg_bus virtio2: creating channel rpmsg_chrdev addr 0xe
[ 2.460329] virtio_rpmsg_bus virtio3: creating channel ti.ipc4.ping-pong addr 0xd
[ 2.460775] virtio_rpmsg_bus virtio3: creating channel rpmsg_chrdev addr 0xe
[ 2.524648] virtio_rpmsg_bus virtio4: creating channel ti.ipc4.ping-pong addr 0xd
[ 2.524828] virtio_rpmsg_bus virtio4: creating channel rpmsg_chrdev addr 0xe
[ 2.524970] virtio_rpmsg_bus virtio5: creating channel ti.ipc4.ping-pong addr 0xd
[ 2.525077] virtio_rpmsg_bus virtio5: creating channel rpmsg_chrdev addr 0xe
root@j784s4-evm:~# dmesg | grep 41000000
[ 2.149686] k3_r5_rproc bus@100000:bus@28380000:r5fss@41000000: k3_r5_cluster_rproc_init failed, ret = -517
[ 2.150317] remoteproc remoteproc0: releasing 41000000.r5f
[ 2.174359] k3_r5_rproc bus@100000:bus@28380000:r5fss@41000000: k3_r5_cluster_rproc_init failed, ret = -517
[ 2.174839] remoteproc remoteproc0: releasing 41000000.r5f
[ 2.272852] platform 41000000.r5f: R5F core may have been powered on by a different host, programmed state (0) != actual state (1)
[ 2.273175] platform 41000000.r5f: configured R5F for IPC-only mode
[ 2.273451] platform 41000000.r5f: assigned reserved memory node r5f-dma-memory@a0000000
[ 2.277719] remoteproc remoteproc8: 41000000.r5f is available
[ 2.277771] remoteproc remoteproc8: attaching to 41000000.r5f
[ 2.278979] remoteproc remoteproc8: remote processor 41000000.r5f is now attached
[ 2.279894] remoteproc remoteproc8: detached remote processor 41000000.r5f
[ 2.280581] k3_r5_rproc bus@100000:bus@28380000:r5fss@41000000: k3_r5_cluster_rproc_init failed, ret = -22
[ 2.280608] k3_r5_rproc bus@100000:bus@28380000:r5fss@41000000: probe with driver k3_r5_rproc failed with error -22
[ 2.310602] remoteproc remoteproc8: releasing 41000000.r5f
root@j784s4-evm:~#