This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

J784S4XEVM: bootApp Mode remoteproc attach fail

Part Number: J784S4XEVM

Hi, 

I am currently testing in bootApp mode, and the boot flow is as follows:

  1. app (MCU1_0)
  2. lateapp1 (MCU2_0, MCU2_1)
  3. lateapp2 (MCU3_0, MCU3_1, MCU4_0, MCU4_1)
  4. 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:~#
  • Hello ,

    Are you worried about 41400000.r5f ? I believe this is MCU1_1 core. If you run MCU1_0 in lock step mode then there is no MCU1_1 core.

    41000000.r5f is MCU1_0 core.

    Regards

    Tarun Mukesh

  • Thank you for your response.

    I understand that 41400000.r5f corresponds to MCU1_1. However, I am using FreeRTOS, and there is no MCU1_1 core in my setup. The cores currently in use are MCU1_0, MCU2_0, MCU2_1, MCU3_0, MCU3_1, MCU4_0, and MCU4_1.

    I have been developing with MCU1_1 continuously disabled, so I’m not sure what is causing this issue.

    I suspect that the reason MCU1_0 is getting detached might be related to the following message:

     "platform 41400000.r5f: mismatched mode: local_reset = asserted, module_reset = deasserted, core_state = unhalted"
    Should I disable the MCU1_1 node in the device tree?

    Do you have any references or insights that could help with this?

  • Hi Hojung,

    Go to this file,

    <PSDK_LINUX>/board-support/ti-linux-kernel-6.12.17+git-ti/drivers/remoteproc/ti_k3_r5_remoteproc.c

    Comment out the below code in the file, then generate the files and flash them again.

    /* undo core0 upon any failures on core1 in split-mode */
    	 if (cluster->mode == CLUSTER_MODE_SPLIT && core == core1) {
    	 	core = list_prev_entry(core, elem);
    	 	rproc = core->rproc;
    	 	kproc = rproc->priv;
    	 	goto err_split;
    	 }

    This should resolve your issue.

    Let us know if you face any issue.

    Regards,

    Vinit

  • Dear Vinit,

    Thank you for the quick response.

    After applying the suggested changes and re-testing, I encountered the following error, and the remoteproc instance for MCU1_0 is not being created at all.

    [ 1.257985] sysctl table check failed: ioctl/(null) procname is null
    [ 1.257996] sysctl table check failed: ioctl/(null) No proc_handler
    [DEPEND] Dependency failed for Start psplas…temd progress communication helper.
    [ 2.230206] k3_r5_rproc bus@100000:bus@28380000:r5fss@41000000: k3_r5_cluster_rproc_init failed, ret = -517
    [ 2.256833] k3_r5_rproc bus@100000:r5fss@5c00000: k3_r5_cluster_rproc_init failed, ret = -517
    [ 2.300355] k3_r5_rproc bus@100000:bus@28380000:r5fss@41000000: k3_r5_cluster_rproc_init failed, ret = -517
    [ 2.494937] platform 41400000.r5f: mismatched mode: local_reset = asserted, module_reset = deasserted, core_state = unhalted
    [ 2.494945] k3_r5_rproc bus@100000:bus@28380000:r5fss@41000000: k3_r5_cluster_rproc_init failed, ret = -22
    [ 2.494963] k3_r5_rproc bus@100000:bus@28380000:r5fss@41000000: probe with driver k3_r5_rproc failed with error -22
    [ 2.508661] [drm:0xffff8000792e30f4] *ERROR* remote dsi host node not found
    [ 2.774872] rpmsg_ctrl virtio5.rpmsg_ctrl.0.0: really_probe: driver_sysfs_add failed
    [ 4.061566] kobject: kobject_add_internal failed for virtio5.ti.ipc4.ping-pong.-1.13 (error: -2 parent: virtio5)
    [ 4.061572] rpmsg virtio5.ti.ipc4.ping-pong.-1.13: device_add failed: -2
    [ 4.061576] virtio_rpmsg_bus virtio5: rpmsg_create_channel failed
    [ 4.061852] kobject: kobject_add_internal failed for virtio5.rpmsg_chrdev.-1.14 (error: -2 parent: virtio5)
    [ 4.061857] rpmsg virtio5.rpmsg_chrdev.-1.14: device_add failed: -2
    [ 4.061860] virtio_rpmsg_bus virtio5: rpmsg_create_channel failed

  • Hi,

    While testing the related issue, the following behavior was observed.

    RTOS/Linux SDK 11.0

    MCU1_0 remoteproc Success

    • Using pre-built image

      Rootfs system kernel version:
      6.6.44-rt39-ti-rt-01740-g8e9437778527-dirty

    MCU1_0 remoteproc Fail

    • Rebuilt Image and modules, but no changes were made

      Rootfs system kernel version:
      6.12.35-gce4785d01a0b-dirty

    Even after rolling back all kernel and device tree changes and rebuilding only the Image and modules, the same failure still occurs.

    Any assistance would be appreciated.

    thank you

  • Hello,

    which SDK version are you using ?

    While testing the related issue, the following behavior was observed.

    RTOS/Linux SDK 11.0

    MCU1_0 remoteproc Success

    • Using pre-built image

      Rootfs system kernel version:
      6.6.44-rt39-ti-rt-01740-g8e9437778527-dirty

    If 11.0 , do it this way only.

    <PSDK_LINUX>/board-support/ti-linux-kernel-6.12.17+git-ti/drivers/remoteproc/ti_k3_r5_remoteproc.c

    vinit idea is to suggest change in ti_k3_r5_remoteproc.c but not change kernel version.

    Regards

    Tarun Mukesh

  • We started development using RTOS SDK v11.01.

    For the root filesystem, we initially used the default image preloaded on the J784S4 EVM board at the time of purchase (v6.6).

    Later, to modify the kernel image and device tree, we worked with Linux SDK v11.01 and v11.02, which resulted in updating the root filesystem to v6.12.

    All tests related to the vinit idea were conducted based on the v6.12 environment.

    We are planning to downgrade to Linux SDK 10.x, which supports v6.6, and run our tests. Would there be any issues with this approach?

  • Hello,

    MCU1_0 image is tied up with tispl.bin , so moving root file system but not tispl.bin will result in many error. Please maintain boot and root file system of same SDK to avoid conflicts.

    The issue of MCU1_1 is resolved here but the mismatch in DM image is causing the issue.

    Regards

    Tarun Mukesh 

  • Hello,

    Here is a summary of the current situation:

    I also tested with Linux SDK v10.01 today.

    Boot Mode

    • bootApp (only using atf_optee, tidtb, tikernel – NOT using U-Boot)
    app (MCU1_0)
    lateapp1 (MCU2_0, MCU2_1)
    lateapp2 (MCU3_0 ~ MCU4_1)
    atf_optee.appimage
    tidtb_linux.appimage
    tikernelimage_linux.appimage

    Test Versions

    RTOS

    • RTOS SDK v11.01, v11.02

    Linux

    • Linux SDK v11.01, v11.02, v10.01

    Rootfs

    • Linux SDK v11.01, v11.02 → Kernel 6.12
    • Linux SDK v10.01 → Kernel 6.6

    MCU1_0 Remoteproc detach & initialization failure cases

    (rootfs is always matched to the Linux SDK version)

    • RTOS (v11.01) + Linux v11.01 + rootfs v6.12 → FAIL
    • RTOS (v11.01) + Linux v11.02 + rootfs v6.12 → FAIL
    • RTOS (v11.02) + Linux v11.02 + rootfs v6.12 → FAIL
    • RTOS (v11.01) + Linux v10.01 + rootfs v6.6 → SUCCESS

    I would prefer to use matching SDK versions, so I would like to resolve this issue.

    With the method suggested by Vinit, it looks like the error message itself is resolved,
    but in reality MCU1_0 is not operating properly.

    Are there any additional things I should check?


    Additionally, since I am using FreeRTOS, I am currently not using MCU1_1.
    Is my understanding correct?

    If I create and boot an MCU1_1 core image together,
    could that potentially resolve this issue?

  • Hello,

    • RTOS (v11.02) + Linux v11.02 + rootfs v6.12 → FAIL

    we have tested this with RTOS 11.02 + Linux SDK 11.02 combination and default image this will be successful.

    SDK 10.x uses Linux Kernel V 6.6

    SDK 11.x uses Linux Kernel V 6.12

    RTOS/Linux SDK 11.0

    MCU1_0 remoteproc Success

    • Using pre-built image

      Rootfs system kernel version:
      6.6.44-rt39-ti-rt-01740-g8e9437778527-dirty

    SDK 11.x will use prebuilt V6.12 

    Regards

    Tarun Mukesh

  • Sorry for the delayed response.

    I performed the test using SDK 11.02.
    The files used were based on those provided in the PDK Guide.

    Booting Linux via MMCSD

    1. Generate lateapps by using the following commands

      • goto <PDK>/packages/ti/boot/sbl/example/boot_app/scripts

      • Run ./generate_lateapps.sh <board_name>

      • Multicore images(lateapps) will be generated in <PDK>/packages/ti/boot/sbl/example/boot_app/multicore_images/$BOARD/.

      • Stage1 image corresponds to lateapp1, stage2 image corresponds to lateapp2 and stage3 image corresponds to lateapp3.

    2. Copy sbl_mmcsd_img_mcu1_0_release.tiimage as tiboot3.bin to the boot partition of SD card

    3. Copy tifs.bin to the boot partition of SD card

    4. Build boot_app_mmcsd_linux by using the following command

      • make BOARD=<board_name> CORE=mcu1_0 boot_app_mmcsd_linux -sj

    5. Copy sbl_boot_app_mmcsd_linux_<board_name>_mcu1_0_freertos_TestApp_release.appimage image as app to the boot partition of SD card

    6. Copy stage1 image as lateapp1, stage2 image as lateapp2 to the boot partition of SD card

    7. Copy atf_optee.appimage, tidtb_linux.appimage, tikernelimage_linux.appimage to the boot partition of SD card.

    However, when booting with those files, the system attempts to mount the root filesystem from /dev/root, which causes the boot to fail.
    Therefore, I made the following two modifications in the Linux SDK and then installed the Image and modules.

    1. bootargs line add
    chosen {
    stdout-path = "serial2:115200n8";
    bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02880000 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait";
    };
    2. ti_k3_r5_remoteproc.c fix

    /*
    if (cluster->mode == CLUSTER_MODE_SPLIT && core == core1) {
    core = list_prev_entry(core, elem);
    rproc = core->rproc;
    kproc = rproc->priv;
    goto err_split;
    }
    */

    When booting with this image, the detach message no longer appears, but the following message is printed.

    root@j784s4-evm:~# dmesg | grep remoteproc
    [ 8.733579] remoteproc remoteproc0: 41000000.r5f is available
    [ 8.759959] remoteproc remoteproc0: attaching to 41000000.r5f
    [ 8.787124] remoteproc remoteproc0: rsc table is truncated
    [ 8.792850] remoteproc remoteproc0: Failed to process resources: -22
    [ 8.838805] remoteproc remoteproc1: 64800000.dsp is available
    [ 8.838856] remoteproc remoteproc1: attaching to 64800000.dsp
    [ 8.838869] remoteproc remoteproc1: remote processor 64800000.dsp is now attached
    [ 8.844790] remoteproc remoteproc2: 65800000.dsp is available
    [ 8.844875] remoteproc remoteproc2: attaching to 65800000.dsp
    [ 8.844887] remoteproc remoteproc2: remote processor 65800000.dsp is now attached
    [ 8.964081] remoteproc remoteproc0: releasing 41000000.r5f
    [ 9.002497] remoteproc remoteproc3: 66800000.dsp is available
    [ 9.008352] remoteproc remoteproc3: attaching to 66800000.dsp
    [ 9.014644] remoteproc remoteproc3: remote processor 66800000.dsp is now attached
    [ 9.057725] remoteproc remoteproc0: 67800000.dsp is available
    [ 9.080553] remoteproc remoteproc4: 5c00000.r5f is available
    [ 9.081125] remoteproc remoteproc0: attaching to 67800000.dsp
    [ 9.087551] remoteproc remoteproc4: attaching to 5c00000.r5f
    [ 9.095189] remoteproc remoteproc0: rsc table is truncated
    [ 9.100882] remoteproc remoteproc4: rsc table is truncated
    [ 9.106632] remoteproc remoteproc0: Failed to process resources: -22
    [ 9.112329] remoteproc remoteproc4: Failed to process resources: -22
    [ 9.123392] k3-dsp-rproc 67800000.dsp: error -EINVAL: failed to add register device with remoteproc core
    [ 9.143813] remoteproc remoteproc4: releasing 5c00000.r5f
    [ 9.148028] remoteproc remoteproc0: releasing 67800000.dsp
    [ 9.211243] remoteproc remoteproc4: 5e00000.r5f is available
    [ 9.226490] remoteproc remoteproc4: attaching to 5e00000.r5f
    [ 9.291137] remoteproc remoteproc4: rsc table is truncated
    [ 9.296646] remoteproc remoteproc4: Failed to process resources: -22
    [ 9.329569] remoteproc remoteproc4: releasing 5e00000.r5f
    [ 9.370805] remoteproc remoteproc0: 5900000.r5f is available
    [ 9.381528] remoteproc remoteproc0: attaching to 5900000.r5f
    [ 9.387451] remoteproc remoteproc0: remote processor 5900000.r5f is now attached
    [ 9.439828] remoteproc remoteproc4: 5a00000.r5f is available
    [ 9.449766] remoteproc remoteproc4: attaching to 5a00000.r5f
    [ 9.455484] remoteproc remoteproc4: remote processor 5a00000.r5f is now attached
    root@j784s4-evm:~# dmesg | grep virtio
    root@j784s4-evm:~# dmesg | grep 41000000
    [ 8.719958] platform 41000000.r5f: R5F core may have been powered on by a different host, programmed state (0) != actual state (1)
    [ 8.720084] platform 41000000.r5f: configured R5F for IPC-only mode
    [ 8.720385] platform 41000000.r5f: assigned reserved memory node r5f-dma-memory@a0000000
    [ 8.733579] remoteproc remoteproc0: 41000000.r5f is available
    [ 8.759959] remoteproc remoteproc0: attaching to 41000000.r5f
    [ 8.829893] k3_r5_rproc bus@100000:bus@28380000:r5fss@41000000: error -EINVAL: rproc_add failed
    [ 8.838747] k3_r5_rproc bus@100000:bus@28380000:r5fss@41000000: k3_r5_cluster_rproc_init failed, ret = -22
    [ 8.851891] k3_r5_rproc bus@100000:bus@28380000:r5fss@41000000: probe with driver k3_r5_rproc failed with error -22
    [ 8.964081] remoteproc remoteproc0: releasing 41000000.r5f
    root@j784s4-evm:~#

    In addition, it does not seem like MCU1_0 is actually running.
    Could you please share how you performed your testing?

    Also, in this state, is communication with MCU1_0 (e.g., via IPC) actually working?

  • Hello,
    Thank you for your inquiry. **Tarun Mukesh Puvvada** is currently on leave till **2026-04-29**.
    Your query will be addressed upon their return. We appreciate your patience and understanding.
    Best regards,
    TI E2E Support Team
    ---
    *This is an automated notification.*

  • Hi,

    Can you please confirm whether any memory-mapping changes were made on your side, either in the R5F firmware or Linux device trees?

    [ 9.095189] remoteproc remoteproc0: rsc table is truncated
    [ 9.100882] remoteproc remoteproc4: rsc table is truncated

    It could be due to a resource table size issue or a memory carveout issue.

    Best Regards,
    Sudheer

  • Hi Sudheer,

    For testing, I installed RTOS / Linux SDK 11.02 from scratch and used only the example code as mentioned earlier. However, when booting in boot_app mode, the system could not find the rootfs. So I added one line to the bootargs in the Linux SDK and commented out part of the ti_k3_r5_remoteproc.c file.

    Please refer to the details below.

    Booting Linux via MMCSD (Use This Files)

    1. Generate lateapps by using the following commands

      • goto <PDK>/packages/ti/boot/sbl/example/boot_app/scripts

      • Run ./generate_lateapps.sh <board_name>

      • Multicore images(lateapps) will be generated in <PDK>/packages/ti/boot/sbl/example/boot_app/multicore_images/$BOARD/.

      • Stage1 image corresponds to lateapp1, stage2 image corresponds to lateapp2 and stage3 image corresponds to lateapp3.

    2. Copy sbl_mmcsd_img_mcu1_0_release.tiimage as tiboot3.bin to the boot partition of SD card

    3. Copy tifs.bin to the boot partition of SD card

    4. Build boot_app_mmcsd_linux by using the following command

      • make BOARD=<board_name> CORE=mcu1_0 boot_app_mmcsd_linux -sj

    5. Copy sbl_boot_app_mmcsd_linux_<board_name>_mcu1_0_freertos_TestApp_release.appimage image as app to the boot partition of SD card

    6. Copy stage1 image as lateapp1, stage2 image as lateapp2 to the boot partition of SD card

    7. Copy atf_optee.appimage, tidtb_linux.appimage, tikernelimage_linux.appimage to the boot partition of SD card.

      (### Instead of this file, I used the tikernelimage_linux.appimage and tidtb_linux.appimage files built from the sources below. ###)

    1. bootargs line add
    chosen {
    stdout-path = "serial2:115200n8";
    bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02880000 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait";
    };
    2. ti_k3_r5_remoteproc.c fix

    /*
    if (cluster->mode == CLUSTER_MODE_SPLIT && core == core1) {
    core = list_prev_entry(core, elem);
    rproc = core->rproc;
    kproc = rproc->priv;
    goto err_split;
    }
    */

    re-build & make tikernelimage_linux.appimage, tidtb_linux.appimage

  • Hi,

    For testing, I installed RTOS / Linux SDK 11.02 from scratch and used only the example code as mentioned earlier. However, when booting in boot_app mode, the system could not find the rootfs. So I added one line to the bootargs in the Linux SDK and commented out part of the ti_k3_r5_remoteproc.c file.

    Let us confirm the same on our side and update you soon.

    Best Regards,
    Sudheer

  • Hi Hojung Bae,

    We tried reproducing the issue on our end with the same steps and images you said.

    below are the logs we got on our side.

    root@j784s4-evm:~# dmesg | grep remoteproc
    [    6.829983] remoteproc remoteproc0: releasing 41000000.r5f
    [    6.901821] remoteproc remoteproc0: 5c00000.r5f is available
    [    6.901935] remoteproc remoteproc0: attaching to 5c00000.r5f
    [    6.901949] remoteproc remoteproc0: remote processor 5c00000.r5f is now attached
    [    6.905098] remoteproc remoteproc1: 5d00000.r5f is available
    [    6.905168] remoteproc remoteproc1: attaching to 5d00000.r5f
    [    6.905186] remoteproc remoteproc1: Carveout already associated to resource table
    [    6.905190] remoteproc remoteproc1: Failed to process resources: -12
    [    6.981786] remoteproc remoteproc3: 64800000.dsp is available
    [    7.013217] remoteproc remoteproc3: attaching to 64800000.dsp
    [    7.027763] remoteproc remoteproc3: carveout rsc has non zero reserved bytes
    [    7.027772] remoteproc remoteproc3: Failed to process resources: -22
    [    7.040412] remoteproc remoteproc2: 5e00000.r5f is available
    [    7.047236] k3-dsp-rproc 64800000.dsp: error -EINVAL: failed to add register device with remoteproc core
    [    7.057043] remoteproc remoteproc2: attaching to 5e00000.r5f
    [    7.062383] remoteproc remoteproc3: releasing 64800000.dsp
    [    7.070554] remoteproc remoteproc2: remote processor 5e00000.r5f is now attached
    [    7.103650] remoteproc remoteproc3: 65800000.dsp is available
    [    7.116781] remoteproc remoteproc3: attaching to 65800000.dsp
    [    7.116805] remoteproc remoteproc3: remote processor 65800000.dsp is now attached
    [    7.141971] remoteproc remoteproc4: 5f00000.r5f is available
    [    7.157249] remoteproc remoteproc4: attaching to 5f00000.r5f
    [    7.165961] remoteproc remoteproc5: 66800000.dsp is available
    [    7.171011] remoteproc remoteproc4: remote processor 5f00000.r5f is now attached
    [    7.178429] remoteproc remoteproc5: attaching to 66800000.dsp
    [    7.205197] remoteproc remoteproc5: carveout rsc has non zero reserved bytes
    [    7.217172] remoteproc remoteproc5: Failed to process resources: -22
    [    7.225457] remoteproc remoteproc6: 5900000.r5f is available
    [    7.232538] k3-dsp-rproc 66800000.dsp: error -EINVAL: failed to add register device with remoteproc core
    [    7.238776] remoteproc remoteproc6: attaching to 5900000.r5f
    [    7.253120] remoteproc remoteproc6: remote processor 5900000.r5f is now attached
    [    7.261765] remoteproc remoteproc5: releasing 66800000.dsp
    [    7.304175] remoteproc remoteproc7: 5a00000.r5f is available
    [    7.319045] remoteproc remoteproc7: attaching to 5a00000.r5f
    [    7.331206] remoteproc remoteproc5: 67800000.dsp is available
    [    7.336813] remoteproc remoteproc7: Carveout already associated to resource table
    [    7.344900] remoteproc remoteproc5: attaching to 67800000.dsp
    [    7.351176] remoteproc remoteproc7: Failed to process resources: -12
    [    7.372016] remoteproc remoteproc5: rsc table is truncated
    [    7.386994] remoteproc remoteproc5: Failed to process resources: -22
    [    7.387254] k3-dsp-rproc 67800000.dsp: error -EINVAL: failed to add register device with remoteproc core
    [    7.568376] remoteproc remoteproc5: releasing 67800000.dsp
    [    7.621674] remoteproc remoteproc5: 41000000.r5f is available
    [    7.631885] remoteproc remoteproc5: attaching to 41000000.r5f
    [    7.637694] remoteproc remoteproc5: remote processor 41000000.r5f is now attached
    

    We didn't get any resource table truncated error on our side.

    Also, We recommend you to go with different lateapps instead of just default sdk lateapps.

    You can have a lateapp for IPC example as well. just create ipc exmaples using "ipc_echo_test_freertos" as target for different cores and then follow this guide to make lateapps.

    You would require core ids at some step while following the guide, those you can find in the file <PSDKR_path>/pdk_j784s4_11_00_00_21/packages/ti/boot/sbl/tools/scripts/K3ImageGen.sh

    Let us know if you face any issue.

    Regards,

    Vinit

  • Hi Vinit,

    Thank you for your response. We will proceed again in the same manner.

  • Hi,

    Thank you for your response. We will proceed again in the same manner.

    Please let us know if you are facing any issues with the procedure.

    Best Regards,
    Sudheer