Tool/software:
Hi:
I used the TDA4AL chipset for my project. Use the SDK 10.00.00.08. As I know, the TDA4AL have multiple core inside.
In Main domain:
2 DSP C71
1 R5FSS (2 core)
MCU domain:
1 R5FSS (2 core)
I have setup the lib/firmware/ firmware file to link /lib/firmware/ti-ipc/j721s2/ test firmware. After reboot device, I only find the remoteproc create Main domain core. But can't see MCU domain core processor information.
In the below shown the remoteproc1 and remoteproc3 is for the Main domain R5FSS. The remoteproc0 and remoteproc2 were for the 2 DSP C71. Where is the MCU domain?
I have use the rpmsg_char_simple to test the IPC communicate with remote processor. But I can't IPC to MCU domain R5F.
rpmsg_char_simple -r8 -n5: OK for DSP_C71_0
rpmsg_char_simple -r10 -n5: OK for DSP_C71_1
rpmsg_char_simple -r2 -n5: OK for R5F_MAIN0_0
rpmsg_char_simple -r3 -n5: OK for R5F_MAIN0_1
Below show rpmsg_char_simple test IPC to MCU domain R5F core0 and core1 fail. How can I doing IPC from linux to MCU domain R5F subsystem?
root@j721s2-evm:/sys/class/remoteproc# rpmsg_char_simple -r0 -n5
file_deref_link: readlink failed for /sys/bus/platform/devices/41000000.r5f
_rpmsg_char_find_rproc: 41000000.r5f device is mostly yet to be created!
Can't create an endpoint device: Bad address
TEST STATUS: FAILED
root@j721s2-evm:/sys/class/remoteproc# rpmsg_char_simple -r1 -n5
file_deref_link: readlink failed for /sys/bus/platform/devices/41400000.r5f
_rpmsg_char_find_rproc: 41400000.r5f device is mostly yet to be created!
Can't create an endpoint device: Bad address
TEST STATUS: FAILED
enum rproc_id {
R5F_MCU0_0 = 0,
R5F_MCU0_1 = 1,
R5F_MAIN0_0 = 2,
R5F_MAIN0_1 = 3,
R5F_MAIN1_0 = 4,
R5F_MAIN1_1 = 5,
DSP_C66_0 = 6,
DSP_C66_1 = 7,
DSP_C71_0 = 8,
M4F_MCU0_0 = 9,
DSP_C71_1 = 10,
R5F_MAIN2_0 = 11,
R5F_MAIN2_1 = 12,
DSP_C71_2 = 13,
DSP_C71_3 = 14,
R5F_WKUP0_0 = 15,
RPROC_ID_MAX,
};
root@j721s2-evm:/sys/class/remoteproc# ls -al
drwxr-xr-x 2 root root 0 Feb 27 17:26 .
drwxr-xr-x 71 root root 0 Feb 27 17:26 ..
lrwxrwxrwx 1 root root 0 Feb 27 19:57 remoteproc0 -> ../../devices/platform/bus@100000/64800000.dsp/remoteproc/remoteproc0
lrwxrwxrwx 1 root root 0 Feb 27 19:57 remoteproc1 -> ../../devices/platform/bus@100000/bus@100000:r5fss@5c00000/5c00000.r5f/remoteproc/remoteproc1
lrwxrwxrwx 1 root root 0 Feb 27 19:57 remoteproc2 -> ../../devices/platform/bus@100000/65800000.dsp/remoteproc/remoteproc2
lrwxrwxrwx 1 root root 0 Feb 27 19:57 remoteproc3 -> ../../devices/platform/bus@100000/bus@100000:r5fss@5c00000/5d00000.r5f/remoteproc/remoteproc3
root@j721s2-evm:/lib/firmware# ls -al
drwxr-xr-x 8 root root 4096 Feb 27 19:35 .
drwxr-xr-x 68 root root 57344 Mar 9 2018 ..
-rw-r--r-- 1 root root 2040 Mar 9 2018 LICENCE.ibt_firmware
-rw-r--r-- 1 root root 2046 Mar 9 2018 LICENCE.iwlwifi_firmware
-rw-r--r-- 1 root root 482664 Mar 9 2018 bl32.bin
-rw-r--r-- 1 root root 4433152 Mar 9 2018 bl32.elf
drwxr-xr-x 2 root root 4096 Mar 9 2018 cadence
drwxr-xr-x 2 root root 4096 Mar 9 2018 cnm
drwxr-xr-x 2 root root 4096 Mar 9 2018 intel
-rw-r--r-- 1 root root 918268 Mar 9 2018 iwlwifi-3160-17.ucode
-rw-r--r-- 1 root root 2448976 Mar 9 2018 iwlwifi-8000C-34.ucode
-rw-r--r-- 1 root root 2428004 Mar 9 2018 iwlwifi-8000C-36.ucode
-rw-r--r-- 1 root root 2440780 Mar 9 2018 iwlwifi-8265-34.ucode
-rw-r--r-- 1 root root 2436632 Mar 9 2018 iwlwifi-8265-36.ucode
-rw-r--r-- 1 root root 2678092 Mar 9 2018 iwlwifi-9260-th-b0-jf-b0-34.ucode
-rw-r--r-- 1 root root 2521412 Mar 9 2018 iwlwifi-9260-th-b0-jf-b0-38.ucode
-rw-r--r-- 1 root root 1490508 Mar 9 2018 iwlwifi-9260-th-b0-jf-b0-46.ucode
lrwxrwxrwx 1 root root 66 Feb 27 17:46 j721s2-c71_0-fw -> /lib/firmware/ti-ipc/j721s2/ipc_echo_test_c7x_1_release_strip.xe71
lrwxrwxrwx 1 root root 73 Feb 27 17:46 j721s2-c71_0-fw-sec -> /lib/firmware/ti-ipc/j721s2/ipc_echo_test_c7x_1_release_strip.xe71.signed
lrwxrwxrwx 1 root root 66 Feb 27 17:48 j721s2-c71_1-fw -> /lib/firmware/ti-ipc/j721s2/ipc_echo_test_c7x_2_release_strip.xe71
lrwxrwxrwx 1 root root 73 Feb 27 17:48 j721s2-c71_1-fw-sec -> /lib/firmware/ti-ipc/j721s2/ipc_echo_test_c7x_2_release_strip.xe71.signed
lrwxrwxrwx 1 root root 68 Feb 27 17:49 j721s2-main-r5f0_0-fw -> /lib/firmware/ti-ipc/j721s2/ipc_echo_test_mcu2_0_release_strip.xer5f
lrwxrwxrwx 1 root root 75 Feb 27 17:49 j721s2-main-r5f0_0-fw-sec -> /lib/firmware/ti-ipc/j721s2/ipc_echo_test_mcu2_0_release_strip.xer5f.signed
lrwxrwxrwx 1 root root 68 Feb 27 19:35 j721s2-main-r5f0_1-fw -> /lib/firmware/ti-ipc/j721s2/ipc_echo_test_mcu2_1_release_strip.xer5f
lrwxrwxrwx 1 root root 75 Feb 27 19:35 j721s2-main-r5f0_1-fw-sec -> /lib/firmware/ti-ipc/j721s2/ipc_echo_test_mcu2_1_release_strip.xer5f.signed
lrwxrwxrwx 1 root root 68 Feb 27 19:35 j721s2-main-r5f1_0-fw -> /lib/firmware/ti-ipc/j721s2/ipc_echo_test_mcu3_0_release_strip.xer5f
lrwxrwxrwx 1 root root 75 Feb 27 19:35 j721s2-main-r5f1_0-fw-sec -> /lib/firmware/ti-ipc/j721s2/ipc_echo_test_mcu3_0_release_strip.xer5f.signed
lrwxrwxrwx 1 root root 68 Feb 27 19:35 j721s2-main-r5f1_1-fw -> /lib/firmware/ti-ipc/j721s2/ipc_echo_test_mcu3_1_release_strip.xer5f
lrwxrwxrwx 1 root root 75 Feb 27 19:35 j721s2-main-r5f1_1-fw-sec -> /lib/firmware/ti-ipc/j721s2/ipc_echo_test_mcu3_1_release_strip.xer5f.signed
lrwxrwxrwx 1 root root 68 Feb 27 19:35 j721s2-mcu-r5f0_1-fw -> /lib/firmware/ti-ipc/j721s2/ipc_echo_test_mcu1_1_release_strip.xer5f
lrwxrwxrwx 1 root root 79 Mar 9 2018 j721s2-mcu-r5f0_1-fw-sec -> /usr/lib/firmware/ti-ipc/j721s2/ipc_echo_test_mcu1_1_release_strip.xer5f.signed
enum rproc_id {
R5F_MCU0_0 = 0,
R5F_MCU0_1 = 1,
R5F_MAIN0_0 = 2,
R5F_MAIN0_1 = 3,
R5F_MAIN1_0 = 4,
R5F_MAIN1_1 = 5,
DSP_C66_0 = 6,
DSP_C66_1 = 7,
DSP_C71_0 = 8,
M4F_MCU0_0 = 9,
DSP_C71_1 = 10,
R5F_MAIN2_0 = 11,
R5F_MAIN2_1 = 12,
DSP_C71_2 = 13,
DSP_C71_3 = 14,
R5F_WKUP0_0 = 15,
RPROC_ID_MAX,
};