Hello,
As I was looking into another issue reported on E2E about remote IPC firmware not working as expected, I came to realize that main-r5f0_0 remoteproc loads /lib/firmware/app_remoteswitchcfg_server_pdk_mem_map_strip.xer5f provided by cpsw9g-eth-fw recipe. This is the Ethernet switch firmware provided by PSDKLA Release 06.02.00.
One would expect that the corresponding Ethernet interfaces would be available under Linux, but I see that no phys have been defined for main_r5fss_cpsw9g_virt_mac0 node in k3-j721e-common-proc-board.dts. Serial output of this firmware shows the following error:
Enabling clocks for CPSW_9G! ======================================================= CPSW Ethernet Firmware Demo ======================================================= ETHFW Version: 0. 1. 1 ETHFW Build Date (YYYY/MMM/DD):2020/Feb/10 ETHFW Commit SHA:ETHFW PermissionFlag:0x1ffffff, UART Connected:true,UART Id:2CpswAppBoardUtils_getMacAddrList Failed - GESI/ENET board not present IPC_echo_test (core : mcu2_0) ..... Assertion @ Line: 691 in V1/cpsw_appboardutils_j721e_evm.c: false : failed !!!
Here's the log from Linux:
root@j7-evm:~# lsmod | grep j721e j721e_cpsw_virt_mac 262144 0 snd_soc_j721e_evm 262144 0 root@j7-evm:~# root@j7-evm:~# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether 78:db:2f:df:b2:b1 brd ff:ff:ff:ff:ff:ff root@j7-evm:~# root@j7-evm:~# ls -l /lib/firmware/j7-* lrwxrwxrwx 1 root root 64 Feb 17 2020 /lib/firmware/j7-c66_0-fw -> /lib/firmware/pdk-ipc/ipc_echo_test_c66xdsp_1_release.strip.xe66 lrwxrwxrwx 1 root root 64 Feb 17 2020 /lib/firmware/j7-c66_1-fw -> /lib/firmware/pdk-ipc/ipc_echo_test_c66xdsp_2_release.strip.xe66 lrwxrwxrwx 1 root root 60 Feb 17 2020 /lib/firmware/j7-c71_0-fw -> /lib/firmware/pdk-ipc/ipc_echo_test_c7x_1_release.strip.xe71 lrwxrwxrwx 1 root root 64 Feb 17 2020 /lib/firmware/j7-main-r5f0_0-fw -> /lib/firmware/app_remoteswitchcfg_server_pdk_mem_map_strip.xer5f lrwxrwxrwx 1 root root 62 Feb 17 2020 /lib/firmware/j7-main-r5f0_1-fw -> /lib/firmware/pdk-ipc/ipc_echo_test_mcu2_1_release.strip.xer5f lrwxrwxrwx 1 root root 62 Feb 17 2020 /lib/firmware/j7-main-r5f1_0-fw -> /lib/firmware/pdk-ipc/ipc_echo_test_mcu3_0_release.strip.xer5f lrwxrwxrwx 1 root root 62 Feb 17 2020 /lib/firmware/j7-main-r5f1_1-fw -> /lib/firmware/pdk-ipc/ipc_echo_test_mcu3_1_release.strip.xer5f lrwxrwxrwx 1 root root 63 Feb 17 2020 /lib/firmware/j7-mcu-r5f0_0-fw -> /lib/firmware/pdk-ipc/ipc_echo_testb_mcu1_0_release.strip.xer5f lrwxrwxrwx 1 root root 62 Feb 17 2020 /lib/firmware/j7-mcu-r5f0_1-fw -> /lib/firmware/pdk-ipc/ipc_echo_test_mcu1_1_release.strip.xer5f lrwxrwxrwx 1 root root 49 Feb 17 2020 /lib/firmware/j7-pru0_0-fw -> /lib/firmware/pru/PRU_RPMsg_Echo_Interrupt0_0.out lrwxrwxrwx 1 root root 49 Feb 17 2020 /lib/firmware/j7-pru0_1-fw -> /lib/firmware/pru/PRU_RPMsg_Echo_Interrupt0_1.out lrwxrwxrwx 1 root root 49 Feb 17 2020 /lib/firmware/j7-pru1_0-fw -> /lib/firmware/pru/PRU_RPMsg_Echo_Interrupt1_0.out lrwxrwxrwx 1 root root 49 Feb 17 2020 /lib/firmware/j7-pru1_1-fw -> /lib/firmware/pru/PRU_RPMsg_Echo_Interrupt1_1.out lrwxrwxrwx 1 root root 49 Feb 17 2020 /lib/firmware/j7-rtu0_0-fw -> /lib/firmware/pru/RTU_RPMsg_Echo_Interrupt0_0.out lrwxrwxrwx 1 root root 49 Feb 17 2020 /lib/firmware/j7-rtu0_1-fw -> /lib/firmware/pru/RTU_RPMsg_Echo_Interrupt0_1.out lrwxrwxrwx 1 root root 49 Feb 17 2020 /lib/firmware/j7-rtu1_0-fw -> /lib/firmware/pru/RTU_RPMsg_Echo_Interrupt1_0.out lrwxrwxrwx 1 root root 49 Feb 17 2020 /lib/firmware/j7-rtu1_1-fw -> /lib/firmware/pru/RTU_RPMsg_Echo_Interrupt1_1.out lrwxrwxrwx 1 root root 35 Feb 17 2020 /lib/firmware/j7-txpru0_0-fw -> /lib/firmware/pru/TX_PRU_Halt_0.out lrwxrwxrwx 1 root root 35 Feb 17 2020 /lib/firmware/j7-txpru0_1-fw -> /lib/firmware/pru/TX_PRU_Halt_1.out lrwxrwxrwx 1 root root 35 Feb 17 2020 /lib/firmware/j7-txpru1_0-fw -> /lib/firmware/pru/TX_PRU_Halt_0.out lrwxrwxrwx 1 root root 35 Feb 17 2020 /lib/firmware/j7-txpru1_1-fw -> /lib/firmware/pru/TX_PRU_Halt_1.out
Is this solution a work in progress, or am I at error in expecting the interfaces to be available under Linux?