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.

PROCESSOR-SDK-J721E: J721EXSKG01EVM

Part Number: PROCESSOR-SDK-J721E

Hi, when I debug the cpsw9 port function on the starter kit for edge AI vision systems development board. After the board is powered on, the kernel does not automatically load / lib/firmware/ethfw/ APP_ remoteswitchcfg_ server_ Strip.xer5f file,so eth1 not exist in system.After troubleshooting, it was found that main_ r5fss0_ Core0 in the k3-j721e-sk.dts  is forced to load PDK IPC/IPC_ echo_ test_ mcu2_ 0_ release_ Strip.xer5f file, so I changed to load ethfw / APP_ remoteswitchcfg_ server_ Strip.xer5f file, but it causes oops in the system and eth1 cannot be generatedmac_to_mac_memory_crash.txt

  • [ 7.174893] CAN device driver interface
    [ 7.329538] img_enc 4200000.video-encoder: vxe_enc_probe: using heap 1 for internal alloc
    [ 7.372662] img_dec 4300000.video-decoder: decoder registered as /dev/video0
    [ 7.395491] img_enc 4200000.video-encoder: encoder registered as /dev/video1
    [ 7.430093] k3-dsp-rproc 4d80800000.dsp: assigned reserved memory node vision-apps-c66-dma-memory@a9000000
    [ 7.516807] k3-dsp-rproc 4d80800000.dsp: configured DSP for IPC-only mode
    [ 7.525540] [drm] Initialized tidss 1.0.0 20180215 for 4a00000.dss on minor 0
    [ 7.535673] tidss 4a00000.dss: [drm] Cannot find any crtc or sizes
    [ 7.542168] PVR_K: 184: Read BVNC 22.104.208.318 from HW device registers
    [ 7.556660] PVR_K: 184: RGX Device registered with BVNC 22.104.208.318
    [ 7.563445] remoteproc remoteproc0: 4d80800000.dsp is available
    [ 7.576653] remoteproc remoteproc0: attaching to 4d80800000.dsp
    [ 7.582995] [drm] Initialized pvr 1.13.5776728 20170530 for 4e20000000.gpu on minor 1
    [ 7.644719] remoteproc remoteproc0: unsupported resource 65538
    [ 7.714155] k3-dsp-rproc 4d80800000.dsp: DSP initialized in IPC-only mode
    [ 7.762563] platform 41000000.r5f: R5F core may have been powered on by a different host, programmed state (0) != actual state (1)
    [ 7.816675] remoteproc0#vdev0buffer: assigned reserved memory node vision-apps-c66-dma-memory@a9000000
    [ 7.831316] platform 41000000.r5f: configured R5F for IPC-only mode
    [ 7.838413] virtio_rpmsg_bus virtio0: rpmsg host is online
    [ 7.849604] remoteproc0#vdev0buffer: registered virtio0 (type 7)
    [ 7.856731] platform 41000000.r5f: assigned reserved memory node vision-apps-r5f-dma-memory@a0000000
    [ 7.918738] remoteproc remoteproc1: 41000000.r5f is available
    [ 7.939606] remoteproc remoteproc1: attaching to 41000000.r5f
    [ 7.945994] platform 41000000.r5f: R5F core initialized in IPC-only mode
    [ 7.965221] remoteproc remoteproc0: remote processor 4d80800000.dsp is now attached
    [ 7.980758] remoteproc1#vdev0buffer: assigned reserved memory node vision-apps-r5f-dma-memory@a0000000
    [ 8.000858] k3-dsp-rproc 4d81800000.dsp: assigned reserved memory node vision-apps-c66-dma-memory@a8000000
    [ 8.061488] virtio_rpmsg_bus virtio1: rpmsg host is online
    [ 8.071159] virtio_rpmsg_bus virtio1: creating channel ti.ipc4.ping-pong addr 0xd
    [ 8.080832] virtio_rpmsg_bus virtio1: creating channel rpmsg_chrdev addr 0xe
    [ 8.098334] k3-dsp-rproc 4d81800000.dsp: configured DSP for IPC-only mode
    [ 8.125851] remoteproc1#vdev0buffer: registered virtio1 (type 7)
    [ 8.141503] remoteproc remoteproc2: 4d81800000.dsp is available
    [ 8.164491] remoteproc remoteproc1: remote processor 41000000.r5f is now attached
    [ 8.192950] remoteproc remoteproc2: attaching to 4d81800000.dsp
    [ 8.255363] platform 5c00000.r5f: configured R5F for IPC-only mode
    [ 8.267054] Unable to handle kernel paging request at virtual address ffff80000b1ea56c
    [ 8.335829] platform 5c00000.r5f: assigned reserved memory node vision-apps-r5f-dma-memory@a2000000
    [ 8.364626] Mem abort info:
    [ 8.367412] ESR = 0x96000007
    [ 8.398347] EC = 0x25: DABT (current EL), IL = 32 bits
    [ 8.423492] remoteproc remoteproc3: 5c00000.r5f is available
    [ 8.454436] SET = 0, FnV = 0
    [ 8.470299] remoteproc remoteproc3: attaching to 5c00000.r5f
    [ 8.489212] EA = 0, S1PTW = 0
    [ 8.492345] Data abort info:
    [ 8.494926] platform 5c00000.r5f: R5F core initialized in IPC-only mode
    [ 8.524892] remoteproc3#vdev0buffer: assigned reserved memory node vision-apps-r5f-dma-memory@a2000000
    [ 8.529604] ISV = 0, ISS = 0x00000007
    [ 8.559664] CM = 0, WnR = 0
    [ 8.572627] swapper pgtable: 64k pages, 48-bit VAs, pgdp=0000000082f40000
    [ 8.578062] virtio_rpmsg_bus virtio2: rpmsg host is online
    [ 8.596570] [ffff80000b1ea56c] pgd=00000008ffff0003, p4d=00000008ffff0003, pud=00000008ffff0003, pmd=00000008fffe0003, pte=0000000000000000
    [ 8.629232] remoteproc3#vdev0buffer: registered virtio2 (type 7)
    [ 8.633776] Internal error: Oops: 96000007 [#1] PREEMPT SMP
    [ 8.640870] Modules linked in: ti_k3_r5_remoteproc(+) sa2ul pvrsrvkm(O) cdns_mhdp8546 pruss sha512_generic authenc ti_k3_dsp_remoteproc(+) virtio_rpmsg_bus cdns_dphy vxd_dec vxe_enc j721e_csi2rx videobuf2_dma_sg v4l2_mem2mem videobuf2_dma_contig videobuf2_memops pci_endpoint_test videobuf2_v4l2 videobuf2_common m_can_platform m_can can_dev cdns3_ti rti_wdt sch_fq_codel rpmsg_kdrv_switch cryptodev(O) ipv6
    [ 8.653380] remoteproc remoteproc3: remote processor 5c00000.r5f is now attached
    [ 8.676640] CPU: 0 PID: 182 Comm: systemd-udevd Tainted: G O 5.10.100-g7a7a3af903 #6
    [ 8.676643] Hardware name: Texas Instruments J721E SK (DT)
    [ 8.676646] pstate: 00000005 (nzcv daif -PAN -UAO -TCO BTYPE=--)
    [ 8.676656] pc : rproc_handle_resources.constprop.0+0x94/0x168
    [ 8.676665] lr : rproc_boot+0x334/0x670
    [ 8.714133] sp : ffff80001378f7d0
    [ 8.717434] x29: ffff80001378f7d0 x28: ffff8000113067f8
    [ 8.722730] x27: ffff00087ff2a260 x26: ffffffffed1ea56c
    [ 8.728027] x25: ffff80001e000000 x24: ffff800010e25cb8
    [ 8.733323] x23: ffff000826927838 x22: 0000000000000000
    [ 8.738618] x21: ffff80001123e210 x20: ffff000826927800
    [ 8.743914] x19: 0000000000000000 x18: 0000000000000000
    [ 8.749210] x17: 0000000000000000 x16: 0000000000000000
    [ 8.754506] x15: 00002e37ffffd1c8 x14: fcf8b758876ab7f0
    [ 8.759803] x13: cffc5effa91cdb6f x12: dcfbdffcff00fc98
    [ 8.765101] x11: a7ee88f4e34aba8e x10: ac7593b52cffc857
    [ 8.770397] x9 : 9ff7f04d95e9eea9 x8 : b9b96c5cabbeecaa
    [ 8.775693] x7 : 8e646ef9967f7cbf x6 : ffff000825d14c00
    [ 8.780990] x5 : 0000000000000000 x4 : 0000000000000000
    [ 8.786288] x3 : 0000000012e15b90 x2 : 00000000ed1ea56c
    [ 8.791585] x1 : ffff80000b1ea570 x0 : ffff80001e000000
    [ 8.796883] Call trace:
    [ 8.799325] rproc_handle_resources.constprop.0+0x94/0x168
    [ 8.804800] rproc_boot+0x334/0x670
    [ 8.808275] rproc_add+0x88/0x158
    [ 8.811585] k3_dsp_rproc_probe+0x710/0x850 [ti_k3_dsp_remoteproc]
    [ 8.817750] platform_drv_probe+0x54/0xa8
    [ 8.821745] really_probe+0xec/0x3e0
    [ 8.825308] driver_probe_device+0x58/0xb8
    [ 8.829389] device_driver_attach+0x74/0x80
    [ 8.833556] __driver_attach+0x58/0xe0
    [ 8.837291] bus_for_each_dev+0x70/0xc0
    [ 8.841112] driver_attach+0x24/0x30
    [ 8.844672] bus_add_driver+0x14c/0x1f0
    [ 8.848493] driver_register+0x64/0x120
    [ 8.852315] __platform_driver_register+0x48/0x58
    [ 8.857004] k3_dsp_rproc_driver_init+0x20/0x10000 [ti_k3_dsp_remoteproc]
    [ 8.863775] do_one_initcall+0x54/0x1b8
    [ 8.867599] do_init_module+0x54/0x208
    [ 8.871335] load_module+0x1f28/0x24c8
    [ 8.875070] __do_sys_finit_module+0xb8/0xf8
    [ 8.879326] __arm64_sys_finit_module+0x20/0x30
    [ 8.883843] el0_svc_common.constprop.0+0x78/0x1c8
    [ 8.888619] do_el0_svc+0x24/0x90
    [ 8.891922] el0_svc+0x14/0x20
    [ 8.894964] el0_sync_handler+0xb0/0xb8
    [ 8.898786] el0_sync+0x180/0x1c0
    [ 8.902092] Code: 128002b3 91320021 97ffeb27 1400002e (b87a6b20)
    [ 8.908168] ---[ end trace c4757c509c0ce94d ]---
    [ 8.913096] platform 5d00000.r5f: configured R5F for IPC-only mode
    [ 8.944731] platform 5d00000.r5f: assigned reserved memory node vision-apps-r5f-dma-memory@a4000000
    [ 8.978595] remoteproc remoteproc4: 5d00000.r5f is available
    [ 9.001122] remoteproc remoteproc4: attaching to 5d00000.r5f
    [ 9.027275] platform 5d00000.r5f: R5F core initialized in IPC-only mode
    [ 9.061957] m_can_platform 40528000.can: m_can device registered (irq=20, version=32)
    [ 9.076984] m_can_platform 2701000.can: m_can device registered (irq=42, version=32)
    [ 9.089501] m_can_platform 2751000.can: m_can device registered (irq=44, version=32)
    [ 9.103221] m_can_platform 2791000.can: m_can device registered (irq=46, version=32)
    [ 9.141853] remoteproc4#vdev0buffer: assigned reserved memory node vision-apps-r5f-dma-memory@a4000000
    [ 9.151801] virtio_rpmsg_bus virtio3: rpmsg host is online
    [ 9.157954] remoteproc4#vdev0buffer: registered virtio3 (type 7)
    [ 9.164321] remoteproc remoteproc4: remote processor 5d00000.r5f is now attached
    [ 9.173947] platform 5e00000.r5f: configured R5F for IPC-only mode
    [ 9.181709] platform 5e00000.r5f: assigned reserved memory node vision-apps-r5f-dma-memory@a6000000
    [ 9.245249] remoteproc remoteproc5: 5e00000.r5f is available
    [ 9.300027] remoteproc remoteproc5: attaching to 5e00000.r5f
    [ 9.404748] platform 5e00000.r5f: R5F core initialized in IPC-only mode
    [ OK ] Created slice system-systemd\x2dfsck.slice.
    [ 9.445309] remoteproc5#vdev0buffer: assigned reserved memory node vision-apps-r5f-dma-memory@a6000000
    [ 9.569009] virtio_rpmsg_bus virtio4: rpmsg host is online
    [ 9.577542] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
    [ 9.586936] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
    [ 9.632360] remoteproc5#vdev0buffer: registered virtio4 (type 7)
    [ 9.708632] remoteproc remoteproc5: remote processor 5e00000.r5f is now attached
    [ 9.804052] random: crng init done
    [ 9.807458] random: 7 urandom warning(s) missed due to ratelimiting
    [ 9.814343] platform 5f00000.r5f: configured R5F for IPC-only mode
    [ 9.822243] platform 5f00000.r5f: assigned reserved memory node vision-apps-r5f-dma-memory@a7000000

  • Hi,

    Which SDK version you are using?

    This could be happening because some resources required for ethfw are not declared in the device-tree files. You should match all the memory regions used for "main_r5fss0_core0", I found changes in "main_r5fss0_core0_shared_memory_queue_region" and "main_r5fss0_core0_shared_memory_bufpool_region".

    You will also require the "cpsw9g_virt_mac" and "cpsw9g_virt_maconly" used in k3-j721e-common-proc-board.dts for making the remote client for ethfw.

    You should be able to load the firmware by doing these changes.

    Regards,
    Tanmay

  • I use 08_02_00 version,but the board is TDA4 SK

  • Hi Mingwang,

    Can you try out the changes I suggested and let me know the results.

    Regards,
    Tanmay

  • Then I add "cpsw9g_virt_mac" and "cpsw9g_virt_maconly in k3-j721e-sk.dts file,and  delete the below info,then crash not happen,but cpsw9 function is still unavailable.I manually load j7-main-r5f0 in the uboot stage_ 0-fw file,but a71 not probe cpsw9 

    [ 7.390016] img_enc 4200000.video-encoder: vxe_enc_probe: using heap 1 for internal alloc
    [ 7.411328] img_dec 4300000.video-decoder: decoder registered as /dev/video0
    [ 7.476157] k3-dsp-rproc 4d80800000.dsp: assigned reserved memory node c66-dma-memory@a7000000
    [ 7.486612] img_enc 4200000.video-encoder: encoder registered as /dev/video1
    [ 7.515113] k3-dsp-rproc 4d80800000.dsp: configured DSP for remoteproc mode
    [ 7.529234] [drm] Initialized tidss 1.0.0 20180215 for 4a00000.dss on minor 0
    [ 7.536456] tidss 4a00000.dss: [drm] Cannot find any crtc or sizes
    [ 7.543945] k3-dsp-rproc 4d80800000.dsp: local reset is deasserted for device
    [ 7.554484] remoteproc remoteproc0: 4d80800000.dsp is available
    [ 7.567556] PVR_K: 176: Read BVNC 22.104.208.318 from HW device registers
    [ 7.587747] PVR_K: 176: RGX Device registered with BVNC 22.104.208.318
    [ 7.600826] k3-dsp-rproc 4d81800000.dsp: assigned reserved memory node c66-dma-memory@a6000000
    [ 7.610163] remoteproc remoteproc0: powering up 4d80800000.dsp
    [ 7.616001] remoteproc remoteproc0: Booting fw image j7-c66_0-fw, size 144692
    [ 7.636765] k3-dsp-rproc 4d81800000.dsp: configured DSP for remoteproc mode
    [ 7.637881] k3-dsp-rproc 4d80800000.dsp: booting DSP core using boot addr = 0xa6200400
    [ 7.654285] remoteproc0#vdev0buffer: assigned reserved memory node c66-dma-memory@a7000000
    [ 7.656278] [drm] Initialized pvr 1.13.5776728 20170530 for 4e20000000.gpu on minor 1
    [ 7.662967] virtio_rpmsg_bus virtio0: rpmsg host is online
    [ 7.677613] remoteproc0#vdev0buffer: registered virtio0 (type 7)
    [ 7.683726] remoteproc remoteproc0: remote processor 4d80800000.dsp is now up
    [ 7.690906] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
    [ 7.698523] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
    [ 7.756207] k3-dsp-rproc 4d81800000.dsp: local reset is deasserted for device
    [ 7.776075] remoteproc remoteproc1: 4d81800000.dsp is available
    [ 7.790148] platform 41000000.r5f: R5F core may have been powered on by a different host, programmed state (0) != actual state (1)
    [ 7.803503] k3-dsp-rproc 64800000.dsp: assigned reserved memory node c71-dma-memory@a8000000
    [ 7.817818] remoteproc remoteproc1: powering up 4d81800000.dsp
    [ 7.823659] remoteproc remoteproc1: Booting fw image j7-c66_1-fw, size 144692
    [ 7.836520] k3-dsp-rproc 4d81800000.dsp: booting DSP core using boot addr = 0xa7200400
    [ 7.846766] remoteproc1#vdev0buffer: assigned reserved memory node c66-dma-memory@a6000000
    [ 7.856199] virtio_rpmsg_bus virtio1: rpmsg host is online
    [ 7.861732] remoteproc1#vdev0buffer: registered virtio1 (type 7)
    [ 7.871869] remoteproc remoteproc1: remote processor 4d81800000.dsp is now up
    [ 7.879345] virtio_rpmsg_bus virtio1: creating channel ti.ipc4.ping-pong addr 0xd
    [ 7.887464] virtio_rpmsg_bus virtio1: creating channel rpmsg_chrdev addr 0xe
    [ 7.913681] k3-dsp-rproc 64800000.dsp: configured DSP for remoteproc mode
    [ 7.921200] platform 41000000.r5f: configured R5F for IPC-only mode
    [ 7.927823] remoteproc remoteproc3: 64800000.dsp is available
    [ 7.934591] platform 41000000.r5f: assigned reserved memory node r5f-dma-memory@a0000000
    [ 7.946180] remoteproc remoteproc2: 41000000.r5f is available
    [ 7.957580] remoteproc remoteproc2: attaching to 41000000.r5f
    [ 7.963563] platform 41000000.r5f: R5F core initialized in IPC-only mode
    [ 7.977638] remoteproc2#vdev0buffer: assigned reserved memory node r5f-dma-memory@a0000000
    [ 8.001324] virtio_rpmsg_bus virtio2: rpmsg host is online
    [ 8.007531] remoteproc2#vdev0buffer: registered virtio2 (type 7)
    [ 8.017975] virtio_rpmsg_bus virtio2: creating channel ti.ipc4.ping-pong addr 0xd
    [ 8.090799] remoteproc remoteproc2: remote processor 41000000.r5f is now attached
    [ 8.205244] remoteproc remoteproc3: powering up 64800000.dsp
    [ 8.210931] remoteproc remoteproc3: Booting fw image j7-c71_0-fw, size 10489000
    [ 8.222486] remoteproc remoteproc3: unsupported resource 65538
    [ 8.230414] k3-dsp-rproc 64800000.dsp: booting DSP core using boot addr = 0xa8e00000
    [ 8.242549] remoteproc3#vdev0buffer: assigned reserved memory node c71-dma-memory@a8000000
    [ 8.253440] virtio_rpmsg_bus virtio3: rpmsg host is online
    [ 8.260302] remoteproc3#vdev0buffer: registered virtio3 (type 7)
    [ 8.269172] remoteproc remoteproc3: remote processor 64800000.dsp is now up
    [ 8.276297] virtio_rpmsg_bus virtio3: creating channel ti.ipc4.ping-pong addr 0xd
    [ 8.287898] virtio_rpmsg_bus virtio3: creating channel rpmsg_chrdev addr 0xe
    [ 8.295066] virtio_rpmsg_bus virtio2: creating channel rpmsg_chrdev addr 0xe
    [ 8.312211] platform 5c00000.r5f: configured R5F for IPC-only mode
    [ 8.362548] platform 5c00000.r5f: assigned reserved memory node r5f-dma-memory@a2000000
    [ 8.454456] remoteproc remoteproc4: 5c00000.r5f is available
    [ 8.513938] m_can_platform 40528000.can: m_can device registered (irq=20, version=32)
    [ 8.526728] m_can_platform 2701000.can: m_can device registered (irq=42, version=32)
    [ 8.539940] remoteproc remoteproc4: attaching to 5c00000.r5f
    [ 8.548405] m_can_platform 2751000.can: m_can device registered (irq=44, version=32)
    [ 8.561916] m_can_platform 2791000.can: m_can device registered (irq=46, version=32)
    [ 8.689294] platform 5c00000.r5f: R5F core initialized in IPC-only mode
    [ 8.835890] remoteproc4#vdev0buffer: assigned reserved memory node r5f-dma-memory@a2000000
    [ 8.995000] virtio_rpmsg_bus virtio4: rpmsg host is online
    [ 9.086052] remoteproc4#vdev0buffer: registered virtio4 (type 7)
    [ 9.182733] remoteproc remoteproc4: remote processor 5c00000.r5f is now attached
    [ 9.292557] platform 5d00000.r5f: configured R5F for remoteproc mode
    [ 9.307893] random: crng init done
    [ 9.311290] random: 7 urandom warning(s) missed due to ratelimiting
    [ OK ] Started Load/Save Random Seed.
    [ 9.409083] platform 5d00000.r5f: assigned reserved memory node r5f-dma-memory@a3000000
    [ 9.494005] remoteproc remoteproc5: 5d00000.r5f is available
    [ 9.524632] remoteproc remoteproc5: powering up 5d00000.r5f
    [ 9.530295] remoteproc remoteproc5: Booting fw image j7-main-r5f0_1-fw, size 98444
    [ 9.539425] platform 5e00000.r5f: configured R5F for remoteproc mode
    [ 9.548756] remoteproc5#vdev0buffer: assigned reserved memory node r5f-dma-memory@a3000000
    [ 9.558501] virtio_rpmsg_bus virtio5: rpmsg host is online
    [ 9.566343] remoteproc5#vdev0buffer: registered virtio5 (type 7)
    [ 9.572484] remoteproc remoteproc5: remote processor 5d00000.r5f is now up
    [ 9.573969] platform 5e00000.r5f: assigned reserved memory node r5f-dma-memory@a4000000
    [ 9.584301] virtio_rpmsg_bus virtio5: creating channel ti.ipc4.ping-pong addr 0xd
    [ 9.597812] remoteproc remoteproc6: 5e00000.r5f is available
    [ 9.607171] remoteproc remoteproc6: powering up 5e00000.r5f
    [ 9.612810] remoteproc remoteproc6: Booting fw image j7-main-r5f1_0-fw, size 98444
    [ 9.622313] platform 5f00000.r5f: configured R5F for remoteproc mode
    [ 9.623585] remoteproc6#vdev0buffer: assigned reserved memory node r5f-dma-memory@a4000000
    [ 9.638344] virtio_rpmsg_bus virtio6: rpmsg host is online
    [ 9.645679] remoteproc6#vdev0buffer: registered virtio6 (type 7)
    [ 9.652733] platform 5f00000.r5f: assigned reserved memory node r5f-dma-memory@a5000000
    [ 9.653397] remoteproc remoteproc6: remote processor 5e00000.r5f is now up
    [ 9.668514] virtio_rpmsg_bus virtio6: creating channel ti.ipc4.ping-pong addr 0xd
    [ 9.676450] remoteproc remoteproc7: 5f00000.r5f is available
    [ 9.689320] remoteproc remoteproc7: powering up 5f00000.r5f
    [ 9.695010] remoteproc remoteproc7: Booting fw image j7-main-r5f1_1-fw, size 98444
    [ 9.708455] remoteproc7#vdev0buffer: assigned reserved memory node r5f-dma-memory@a5000000
    [ 9.719771] virtio_rpmsg_bus virtio7: rpmsg host is online
    [ 9.725328] remoteproc7#vdev0buffer: registered virtio7 (type 7)
    [ 9.733805] remoteproc remoteproc7: remote processor 5f00000.r5f is now up
    [ 9.741195] virtio_rpmsg_bus virtio7: creating channel ti.ipc4.ping-pong addr 0xd
    [ 9.797848] usbcore: registered new interface driver usbfs
    [ 9.811395] cdns-csi2rx: probe of 4504000.csi-bridge failed with error -22
    [ 9.818420] usbcore: registered new interface driver hub
    [ 9.830617] remoteproc remoteproc8: b034000.pru is available
    [ 9.836544] cdns-csi2rx: probe of 4514000.csi-bridge failed with error -22
    [ 9.859955] usbcore: registered new device driver usb
    [ 9.925975] remoteproc remoteproc9: b004000.rtu is available
    [ 9.943638] omap_rng 4e10000.rng: Random Number Generator ver. 241b34c
    [ 9.948582] remoteproc remoteproc10: b00a000.txpru is available
    [ 9.963064] remoteproc remoteproc11: b038000.pru is available
    [ 9.969643] remoteproc remoteproc12: b006000.rtu is available
    [ 9.978181] remoteproc remoteproc13: b00c000.txpru is available
    [ 9.984951] remoteproc remoteproc14: b134000.pru is available
    [ 9.991945] remoteproc remoteproc15: b104000.rtu is available
    [ 9.999820] remoteproc remoteproc16: b10a000.txpru is available
    [ 10.007208] remoteproc remoteproc17: b138000.pru is available
    [ 10.013936] remoteproc remoteproc18: b106000.rtu is available
    [ 10.021074] remoteproc remoteproc19: b10c000.txpru is available

  • Hi Mingwang,

    Do you see any logs on the Ethfw UART output? On the default EVM, this is instance 2 (0 indexed) of the main UART.

    You can also see this logs by running "cat /sys/kernel/debug/remoteproc/remoteproc*/trace0" from linux command prompt.

    Please share these logs with me.

    Regards,
    Tanmay

  • Hi,Tanmay

        I can see log in this uart, And I think that ethfw firwmare may not run correctly

    IPC_echo_test (core : C66X_1) .....
    IPC Driver Revision: 01.00.00.01
    C66X_1 <--> C66X_2, Ping- 10000, pong - 10000 completed
    C66X_1 <--> mcu1_0, Ping- 10000, pong - 10000 completed
    C66X_1 <--> mcu2_0, Ping- 10000, pong - 10000 completed
    C66X_1 <--> C7X_1, Ping- 10000, pong - 10000 completed
    C66X_1 <--> mcu2_1, Ping- 10000, pong - 10000 completed
    C66X_1 <--> mcu3_0, Ping- 10000, pIPC_echo_test (core : C66X_2) .....
    IPC Driver Revision: 01.00.00.01
    C66X_2 <--> C66X_1, Ping- 10000, pong - 10000 completed
    C66X_2 <--> mcu1_0, Ping- 10000, pong - 10000 completed
    C66X_2 <--> mcu2_0, Ping- 10000, pong - 10000 completed
    C66X_2 <--> C7X_1, Ping- 10000, pong - 10000 completed
    C66X_2 <--> mcu2_1, Ping- 10000, pong - 10000 completed
    C66X_2 <--> mcu3_0, Ping- 10000, pDM Built On: Sep  2 2022 01:41:33
    Sciserver Version: v2022.01.1.0
    RM_PM_HAL Version: 
    Starting Sciserver..... PASSED
    IPC_echo_test (core : mcu1_0) .....
    IPC Driver Revision: 01.00.00.01
    mcu1_0 <--> C66X_1, Ping- 10000, pong - 10000 completed
    mcu1_0 <--> mcu2_0, Ping- 10000, pong - 10000 completed
    mcu1_0 <--> mcu3_1, Ping- 10000, pong - 10000 completed
    mcu1_0 <--> mcu2_1, Ping- 10000, pong - 10000 completed
    mcu1_0 <--> mcu3_0, Ping- 10000, pong - 10000 completed
    mcu1_0 <--> C66X_2, Ping- 10000, pong - 10000 completed
    mcu1_0 <--> C7X_1, Ping- 10000, pong - 10000 completed
    IPC_echo_test (core : mcu2_0) .....
    IPC Driver Revision: 01.00.00.01
    mcu2_0 <--> C66X_1, Ping- 10000, pong - 10000 completed
    mcu2_0 <--> C66X_2, Ping- 10000, pong - 10000 completed
    mcu2_0 <--> mcu1_0, Ping- 10000, pong - 10000 completed
    mcu2_0 <--> mcu3_1, Ping- 10000, pong - 10000 completed
    mcu2_0 <--> mcu2_1, Ping- 10000, pong - 10000 completed
    mcu2_0 <--> mcu3_0, Ping- 10000, pong - 10000 completed
    mcu2_0 <--> C7X_1, Ping- 10000, pong - 10000 completed
    IPC_echo_test (core : mcu2_1) .....
    IPC Driver Revision: 01.00.00.01
    mcu2_1 <--> C66X_1, Ping- 10000, pong - 10000 completed
    mcu2_1 <--> C66X_2, Ping- 10000, pong - 10000 completed
    mcu2_1 <--> mcu1_0, Ping- 10000, pong - 10000 completed
    mcu2_1 <--> mcu2_0, Ping- 10000, pong - 10000 completed
    mcu2_1 <--> mcu3_1, Ping- 10000, pong - 10000 completed
    mcu2_1 <--> mcu3_0, Ping- 10000, pong - 10000 completed
    mcu2_1 <--> C7X_1, Ping- 10000, pong - 10000 completed
    IPC_echo_test (core : mcu3_0) .....
    IPC Driver Revision: 01.00.00.01
    mcu3_0 <--> C66X_1, Ping- 10000, pong - 10000 completed
    mcu3_0 <--> C66X_2, Ping- 10000, pong - 10000 completed
    mcu3_0 <--> mcu1_0, Ping- 10000, pong - 10000 completed
    mcu3_0 <--> mcu2_0, Ping- 10000, pong - 10000 completed
    mcu3_0 <--> mcu2_1, Ping- 10000, pong - 10000 completed
    mcu3_0 <--> mcu3_1, Ping- 10000, pong - 10000 completed
    mcu3_0 <--> C7X_1, Ping- 10000, pong - 10000 completed
    IPC_echo_test (core : mcu3_1) .....
    IPC Driver Revision: 01.00.00.01
    mcu3_1 <--> C66X_1, Ping- 10000, pong - 10000 completed
    mcu3_1 <--> C66X_2, Ping- 10000, pong - 10000 completed
    mcu3_1 <--> mcu1_0, Ping- 10000, pong - 10000 completed
    mcu3_1 <--> mcu2_0, Ping- 10000, pong - 10000 completed
    mcu3_1 <--> mcu2_1, Ping- 10000, pong - 10000 completed
    mcu3_1 <--> mcu3_0, Ping- 10000, pong - 10000 completed
    mcu3_1 <--> C7X_1, Ping- 10000, pong - 10000 completed
    

  • uart log.txt

    I forec load ethfw firmware to main r5 core in uboot 

  • My current board is TDA4 SK, not EVM

  • Hi Mingwang,

    Can you share your device-tree files here.

    Regards,
    Tanmay

  • ok

    // SPDX-License-Identifier: GPL-2.0
    /*
     * Copyright (C) 2021 Texas Instruments Incorporated - https://www.ti.com/
     */
    
    /dts-v1/;
    
    #include "k3-j721e.dtsi"
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/input/input.h>
    #include <dt-bindings/net/ti-dp83867.h>
    
    / {
    	compatible = "ti,j721e-sk", "ti,j721e";
    	model = "Texas Instruments J721E SK";
    
    	chosen {
    		stdout-path = "serial2:115200n8";
    		bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000";
    	};
    
    	memory@80000000 {
    		device_type = "memory";
    		/* 4G RAM */
    		reg = <0x00000000 0x80000000 0x00000000 0x80000000>,
    		      <0x00000008 0x80000000 0x00000000 0x80000000>;
    	};
    
    	reserved_memory: reserved-memory {
    		#address-cells = <2>;
    		#size-cells = <2>;
    		ranges;
    
    		secure_ddr: optee@9e800000 {
    			reg = <0x00 0x9e800000 0x00 0x01800000>;
    			alignment = <0x1000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa0000000 0x00 0x100000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core0_memory_region: r5f-memory@a0100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa0100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa1000000 0x00 0x100000>;
    			no-map;
    		};
    
    		mcu_r5fss0_core1_memory_region: r5f-memory@a1100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa1100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss0_core0_dma_memory_region: r5f-dma-memory@a2000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa2000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss0_core0_memory_region: r5f-memory@a2100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa2100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss0_core1_dma_memory_region: r5f-dma-memory@a3000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa3000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss0_core1_memory_region: r5f-memory@a3100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa3100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss1_core0_dma_memory_region: r5f-dma-memory@a4000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa4000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss1_core0_memory_region: r5f-memory@a4100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa4100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss1_core1_dma_memory_region: r5f-dma-memory@a5000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa5000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss1_core1_memory_region: r5f-memory@a5100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa5100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		c66_1_dma_memory_region: c66-dma-memory@a6000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa6000000 0x00 0x100000>;
    			no-map;
    		};
    
    		c66_0_memory_region: c66-memory@a6100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa6100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		c66_0_dma_memory_region: c66-dma-memory@a7000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa7000000 0x00 0x100000>;
    			no-map;
    		};
    
    		c66_1_memory_region: c66-memory@a7100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa7100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		c71_0_dma_memory_region: c71-dma-memory@a8000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa8000000 0x00 0x100000>;
    			no-map;
    		};
    
    		c71_0_memory_region: c71-memory@a8100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa8100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		rtos_ipc_memory_region: ipc-memories@aa000000 {
    			reg = <0x00 0xaa000000 0x00 0x01c00000>;
    			alignment = <0x1000>;
    			no-map;
    		};
    
    		main_r5fss0_core0_shared_memory_queue_region:r5f-virtual-eth-queues@ac000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xac000000 0x00 0x200000>;
    			no-map;
    		};
    
    		main_r5fss0_core0_shared_memory_bufpool_region:r5f-virtual-eth-buffers@ac200000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xac200000 0x00 0x1e00000>;
    			no-map;
    		};
    	};
    
    	vusb_main: fixedregulator-vusb-main5v0 {
    		/* USB MAIN INPUT 5V DC */
    		compatible = "regulator-fixed";
    		regulator-name = "vusb-main5v0";
    		regulator-min-microvolt = <5000000>;
    		regulator-max-microvolt = <5000000>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	vsys_3v3: fixedregulator-vsys3v3 {
    		/* Output of LM5141 */
    		compatible = "regulator-fixed";
    		regulator-name = "vsys_3v3";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		vin-supply = <&vusb_main>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	vdd_mmc1: fixedregulator-sd {
    		compatible = "regulator-fixed";
    		pinctrl-names = "default";
    		pinctrl-0 = <&vdd_mmc1_en_pins_default>;
    		regulator-name = "vdd_mmc1";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		regulator-boot-on;
    		enable-active-high;
    		vin-supply = <&vsys_3v3>;
    		gpio = <&wkup_gpio0 8 GPIO_ACTIVE_HIGH>;
    	};
    
    	vdd_sd_dv_alt: gpio-regulator-tps659411 {
    		compatible = "regulator-gpio";
    		pinctrl-names = "default";
    		pinctrl-0 = <&vdd_sd_dv_alt_pins_default>;
    		regulator-name = "tps659411";
    		regulator-min-microvolt = <1800000>;
    		regulator-max-microvolt = <3300000>;
    		regulator-boot-on;
    		vin-supply = <&vsys_3v3>;
    		gpios = <&wkup_gpio0 9 GPIO_ACTIVE_HIGH>;
    		states = <1800000 0x0>,
    			 <3300000 0x1>;
    	};
    
    	cpsw9g_virt_mac: main_r5fss_cpsw9g_virt_mac0 {
                    compatible = "ti,j721e-cpsw-virt-mac";
                    dma-coherent;
                    ti,psil-base = <0x4a00>;
                    ti,remote-name = "mpu_1_0_ethswitch-device-0";
    
                    dmas = <&main_udmap 0xca00>,
                           <&main_udmap 0xca01>,
                           <&main_udmap 0xca02>,
                           <&main_udmap 0xca03>,
                           <&main_udmap 0xca04>,
                           <&main_udmap 0xca05>,
                           <&main_udmap 0xca06>,
                           <&main_udmap 0xca07>,
                           <&main_udmap 0x4a00>;
                    dma-names = "tx0", "tx1", "tx2", "tx3",
                                "tx4", "tx5", "tx6", "tx7",
                                "rx";
    
                    virt_emac_port {
                            ti,label = "virt-port";
                            /* local-mac-address = [0 0 0 0 0 0]; */
                    };
            };
    
            cpsw9g_virt_maconly: main-r5fss-cpsw9g-virt-mac1 {
                    compatible = "ti,j721e-cpsw-virt-mac";
                    dma-coherent;
                    ti,psil-base = <0x4a00>;
                    ti,remote-name = "mpu_1_0_ethmac-device-1";
    
                    dmas = <&main_udmap 0xca00>,
                           <&main_udmap 0xca01>,
                           <&main_udmap 0xca02>,
                           <&main_udmap 0xca03>,
                           <&main_udmap 0xca04>,
                           <&main_udmap 0xca05>,
                           <&main_udmap 0xca06>,
    		       <&main_udmap 0xca07>,
                           <&main_udmap 0x4a00>;
                    dma-names = "tx0", "tx1", "tx2", "tx3",
                                "tx4", "tx5", "tx6", "tx7",
                                "rx";
    
                    virt_emac_port {
                            ti,label = "virt-port";
                            /* local-mac-address = [0 0 0 0 0 0]; */
                    };
            };
    
    	transceiver1: can-phy0 {
    		compatible = "ti,tcan1042";
    		#phy-cells = <0>;
    		max-bitrate = <5000000>;
    		pinctrl-names = "default";
    		pinctrl-0 = <&mcu_mcan0_gpio_pins_default>;
    		standby-gpios = <&wkup_gpio0 3 GPIO_ACTIVE_HIGH>;
    	};
    
    	transceiver2: can-phy1 {
    		compatible = "ti,tcan1042";
    		#phy-cells = <0>;
    		max-bitrate = <5000000>;
    		pinctrl-names = "default";
    		pinctrl-0 = <&main_mcan0_gpio_pins_default>;
    		standby-gpios = <&main_gpio0 65 GPIO_ACTIVE_HIGH>;
    	};
    
    	transceiver3: can-phy2 {
    		compatible = "ti,tcan1042";
    		#phy-cells = <0>;
    		max-bitrate = <5000000>;
    		pinctrl-names = "default";
    		pinctrl-0 = <&main_mcan5_gpio_pins_default>;
    		standby-gpios = <&main_gpio0 66 GPIO_ACTIVE_HIGH>;
    	};
    
    	transceiver4: can-phy3 {
    		compatible = "ti,tcan1042";
    		#phy-cells = <0>;
    		max-bitrate = <5000000>;
    		pinctrl-names = "default";
    		pinctrl-0 = <&main_mcan9_gpio_pins_default>;
    		standby-gpios = <&main_gpio0 67 GPIO_ACTIVE_HIGH>;
    	};
    
    	dp_pwr_3v3: fixedregulator-dp-prw {
    		compatible = "regulator-fixed";
    		regulator-name = "dp-pwr";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		pinctrl-names = "default";
    		pinctrl-0 = <&dp_pwr_en_pins_default>;
    		gpio = <&main_gpio0 111 0>;	/* DP0_3V3 _EN */
    		enable-active-high;
    	};
    
    	dp0: connector {
    		compatible = "dp-connector";
    		label = "DP0";
    		type = "full-size";
    		dp-pwr-supply = <&dp_pwr_3v3>;
    
    		port {
    			dp_connector_in: endpoint {
    				remote-endpoint = <&dp0_out>;
    			};
    		};
    	};
    
    	hdmi-connector {
    		compatible = "hdmi-connector";
    		label = "hdmi";
    		type = "a";
    
    		pinctrl-names = "default";
    		pinctrl-0 = <&hdmi_hpd_pins_default>;
    
    		ddc-i2c-bus = <&main_i2c1>;
    		digital;
    
    		/* HDMI_HPD */
    		hpd-gpios = <&main_gpio1 0 GPIO_ACTIVE_HIGH>;
    
    		port {
    			hdmi_connector_in: endpoint {
    				remote-endpoint = <&tfp410_out>;
    			};
    		};
    	};
    
    	dvi-bridge {
    		#address-cells = <1>;
    		#size-cells = <0>;
    		compatible = "ti,tfp410";
    
    		pinctrl-names = "default";
    		pinctrl-0 = <&hdmi_pdn_pins_default>;
    
    		/* HDMI_PDn */
    		powerdown-gpios = <&main_gpio0 127 GPIO_ACTIVE_LOW>;
    
    		port@0 {
    			reg = <0>;
    
    			tfp410_in: endpoint {
    				remote-endpoint = <&dpi_out0>;
    				pclk-sample = <1>;
    			};
    		};
    
    		port@1 {
    			reg = <1>;
    
    			tfp410_out: endpoint {
    				remote-endpoint =
    					<&hdmi_connector_in>;
    			};
    		};
    	};
    };
    
    &main_pmx0 {
    	main_mmc1_pins_default: main-mmc1-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x254, PIN_INPUT, 0) /* (R29) MMC1_CMD */
    			J721E_IOPAD(0x250, PIN_INPUT, 0) /* (P25) MMC1_CLK */
    			J721E_IOPAD(0x2ac, PIN_INPUT, 0) /* (P25) MMC1_CLKLB */
    			J721E_IOPAD(0x24c, PIN_INPUT, 0) /* (R24) MMC1_DAT0 */
    			J721E_IOPAD(0x248, PIN_INPUT, 0) /* (P24) MMC1_DAT1 */
    			J721E_IOPAD(0x244, PIN_INPUT, 0) /* (R25) MMC1_DAT2 */
    			J721E_IOPAD(0x240, PIN_INPUT, 0) /* (R26) MMC1_DAT3 */
    			J721E_IOPAD(0x258, PIN_INPUT, 0) /* (P23) MMC1_SDCD */
    		>;
    	};
    
    	main_uart0_pins_default: main-uart0-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x1f0, PIN_INPUT, 0) /* (AC2) UART0_CTSn */
    			J721E_IOPAD(0x1f4, PIN_OUTPUT, 0) /* (AB1) UART0_RTSn */
    			J721E_IOPAD(0x1e8, PIN_INPUT, 0) /* (AB2) UART0_RXD */
    			J721E_IOPAD(0x1ec, PIN_OUTPUT, 0) /* (AB3) UART0_TXD */
    		>;
    	};
    
    	main_i2c0_pins_default: main-i2c0-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x220, PIN_INPUT_PULLUP, 0) /* (AC5) I2C0_SCL */
    			J721E_IOPAD(0x224, PIN_INPUT_PULLUP, 0) /* (AA5) I2C0_SDA */
    		>;
    	};
    
    	main_i2c1_pins_default: main-i2c1-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x228, PIN_INPUT_PULLUP, 0) /* (Y6) I2C1_SCL */
    			J721E_IOPAD(0x22c, PIN_INPUT_PULLUP, 0) /* (AA6) I2C1_SDA */
    		>;
    	};
    
    	main_i2c3_pins_default: main-i2c3-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x270, PIN_INPUT_PULLUP, 4) /* (T26) MMC2_CLK.I2C3_SCL */
    			J721E_IOPAD(0x274, PIN_INPUT_PULLUP, 4) /* (T25) MMC2_CMD.I2C3_SDA */
    		>;
    	};
    
    	main_usbss0_pins_default: main-usbss0-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x290, PIN_OUTPUT, 0) /* (U6) USB0_DRVVBUS */
    			J721E_IOPAD(0x210, PIN_INPUT, 7) /* (W3) MCAN1_RX.GPIO1_3 */
    		>;
    	};
    
    	main_usbss1_pins_default: main-usbss1-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x214, PIN_OUTPUT, 4) /* (V4) MCAN1_TX.USB1_DRVVBUS */
    		>;
    	};
    
    	main_mcan0_pins_default: main-mcan0-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x208, PIN_INPUT, 0) /* (W5) MCAN0_RX */
    			J721E_IOPAD(0x20c, PIN_OUTPUT, 0) /* (W6) MCAN0_TX */
    		>;
    	};
    
    	main_mcan0_gpio_pins_default: main-mcan0-gpio-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x108, PIN_INPUT, 7) /* (AD27) PRG0_PRU1_GPO2.GPIO0_65 */
    		>;
    	};
    
    	main_mcan5_pins_default: main-mcan5-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x50, PIN_INPUT, 6) /* (AE21) PRG1_PRU0_GPO18.MCAN5_RX */
    			J721E_IOPAD(0x4c, PIN_OUTPUT, 6) /* (AJ21) PRG1_PRU0_GPO17.MCAN5_TX */
    		>;
    	};
    
    	main_mcan5_gpio_pins_default: main-mcan5-gpio-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x10c, PIN_INPUT, 7) /* (AC25) PRG0_PRU1_GPO3.GPIO0_66 */
    		>;
    	};
    
    	main_mcan9_pins_default: main-mcan9-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0xd0, PIN_INPUT, 6) /* (AC27) PRG0_PRU0_GPO8.MCAN9_RX */
    			J721E_IOPAD(0xcc, PIN_OUTPUT, 6) /* (AC28) PRG0_PRU0_GPO7.MCAN9_TX */
    		>;
    	};
    
    	main_mcan9_gpio_pins_default: main-mcan9-gpio-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x110, PIN_INPUT, 7) /* (AD29) PRG0_PRU1_GPO4.GPIO0_67 */
    		>;
    	};
    
    	dp0_pins_default: dp0-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x1c4, PIN_INPUT, 5) /* SPI0_CS1.DP0_HPD */
    		>;
    	};
    
    	dp_pwr_en_pins_default: dp-pwr-en-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x1c0, PIN_INPUT, 7) /* (AA2) SPI0_CS0.GPIO0_111 */
    		>;
    	};
    
    	dss_vout0_pins_default: dss-vout0-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x58, PIN_OUTPUT, 10) /* (AE22) PRG1_PRU1_GPO0.VOUT0_DATA0 */
    			J721E_IOPAD(0x5c, PIN_OUTPUT, 10) /* (AG23) PRG1_PRU1_GPO1.VOUT0_DATA1 */
    			J721E_IOPAD(0x60, PIN_OUTPUT, 10) /* (AF23) PRG1_PRU1_GPO2.VOUT0_DATA2 */
    			J721E_IOPAD(0x64, PIN_OUTPUT, 10) /* (AD23) PRG1_PRU1_GPO3.VOUT0_DATA3 */
    			J721E_IOPAD(0x68, PIN_OUTPUT, 10) /* (AH24) PRG1_PRU1_GPO4.VOUT0_DATA4 */
    			J721E_IOPAD(0x6c, PIN_OUTPUT, 10) /* (AG21) PRG1_PRU1_GPO5.VOUT0_DATA5 */
    			J721E_IOPAD(0x70, PIN_OUTPUT, 10) /* (AE23) PRG1_PRU1_GPO6.VOUT0_DATA6 */
    			J721E_IOPAD(0x74, PIN_OUTPUT, 10) /* (AC21) PRG1_PRU1_GPO7.VOUT0_DATA7 */
    			J721E_IOPAD(0x78, PIN_OUTPUT, 10) /* (Y23) PRG1_PRU1_GPO8.VOUT0_DATA8 */
    			J721E_IOPAD(0x7c, PIN_OUTPUT, 10) /* (AF21) PRG1_PRU1_GPO9.VOUT0_DATA9 */
    			J721E_IOPAD(0x80, PIN_OUTPUT, 10) /* (AB23) PRG1_PRU1_GPO10.VOUT0_DATA10 */
    			J721E_IOPAD(0x84, PIN_OUTPUT, 10) /* (AJ25) PRG1_PRU1_GPO11.VOUT0_DATA11 */
    			J721E_IOPAD(0x88, PIN_OUTPUT, 10) /* (AH25) PRG1_PRU1_GPO12.VOUT0_DATA12 */
    			J721E_IOPAD(0x8c, PIN_OUTPUT, 10) /* (AG25) PRG1_PRU1_GPO13.VOUT0_DATA13 */
    			J721E_IOPAD(0x90, PIN_OUTPUT, 10) /* (AH26) PRG1_PRU1_GPO14.VOUT0_DATA14 */
    			J721E_IOPAD(0x94, PIN_OUTPUT, 10) /* (AJ27) PRG1_PRU1_GPO15.VOUT0_DATA15 */
    			J721E_IOPAD(0x30, PIN_OUTPUT, 10) /* (AF24) PRG1_PRU0_GPO11.VOUT0_DATA16 */
    			J721E_IOPAD(0x34, PIN_OUTPUT, 10) /* (AJ24) PRG1_PRU0_GPO12.VOUT0_DATA17 */
    			J721E_IOPAD(0x38, PIN_OUTPUT, 10) /* (AG24) PRG1_PRU0_GPO13.VOUT0_DATA18 */
    			J721E_IOPAD(0x3c, PIN_OUTPUT, 10) /* (AD24) PRG1_PRU0_GPO14.VOUT0_DATA19 */
    			J721E_IOPAD(0x40, PIN_OUTPUT, 10) /* (AC24) PRG1_PRU0_GPO15.VOUT0_DATA20 */
    			J721E_IOPAD(0x44, PIN_OUTPUT, 10) /* (AE24) PRG1_PRU0_GPO16.VOUT0_DATA21 */
    			J721E_IOPAD(0x24, PIN_OUTPUT, 10) /* (AJ20) PRG1_PRU0_GPO8.VOUT0_DATA22 */
    			J721E_IOPAD(0x28, PIN_OUTPUT, 10) /* (AG20) PRG1_PRU0_GPO9.VOUT0_DATA23 */
    			J721E_IOPAD(0x9c, PIN_OUTPUT, 10) /* (AC22) PRG1_PRU1_GPO17.VOUT0_DE */
    			J721E_IOPAD(0x98, PIN_OUTPUT, 10) /* (AJ26) PRG1_PRU1_GPO16.VOUT0_HSYNC */
    			J721E_IOPAD(0xa4, PIN_OUTPUT, 10) /* (AH22) PRG1_PRU1_GPO19.VOUT0_PCLK */
    			J721E_IOPAD(0xa0, PIN_OUTPUT, 10) /* (AJ22) PRG1_PRU1_GPO18.VOUT0_VSYNC */
    		>;
    	};
    
    	hdmi_hpd_pins_default: hdmi-hpd-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x204, PIN_INPUT, 7) /* (AD5) UART1_RTSn.GPIO1_0 */
    		>;
    	};
    
    	hdmi_pdn_pins_default: hdmi-pdn-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x200, PIN_INPUT, 7) /* (AC4) UART1_CTSn.GPIO0_127 */
    		>;
    	};
    
    	/* Reset for M.2 E Key slot on PCIe0  */
    	ekey_reset_pins_default: ekey-reset-pns-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x124, PIN_INPUT, 7) /* (Y24) PRG0_PRU1_GPO9.GPIO0_72 */
    		>;
    	};
    };
    
    &wkup_pmx0 {
    	mcu_cpsw_pins_default: mcu-cpsw-pins-default {
    		pinctrl-single,pins = <
    			J721E_WKUP_IOPAD(0x84, PIN_INPUT, 0) /* (B24) MCU_RGMII1_RD0 */
    			J721E_WKUP_IOPAD(0x80, PIN_INPUT, 0) /* (A24) MCU_RGMII1_RD1 */
    			J721E_WKUP_IOPAD(0x7c, PIN_INPUT, 0) /* (D24) MCU_RGMII1_RD2 */
    			J721E_WKUP_IOPAD(0x78, PIN_INPUT, 0) /* (A25) MCU_RGMII1_RD3 */
    			J721E_WKUP_IOPAD(0x74, PIN_INPUT, 0) /* (C24) MCU_RGMII1_RXC */
    			J721E_WKUP_IOPAD(0x5c, PIN_INPUT, 0) /* (C25) MCU_RGMII1_RX_CTL */
    			J721E_WKUP_IOPAD(0x6c, PIN_OUTPUT, 0) /* (B25) MCU_RGMII1_TD0 */
    			J721E_WKUP_IOPAD(0x68, PIN_OUTPUT, 0) /* (A26) MCU_RGMII1_TD1 */
    			J721E_WKUP_IOPAD(0x64, PIN_OUTPUT, 0) /* (A27) MCU_RGMII1_TD2 */
    			J721E_WKUP_IOPAD(0x60, PIN_OUTPUT, 0) /* (A28) MCU_RGMII1_TD3 */
    			J721E_WKUP_IOPAD(0x70, PIN_OUTPUT, 0) /* (B26) MCU_RGMII1_TXC */
    			J721E_WKUP_IOPAD(0x58, PIN_OUTPUT, 0) /* (B27) MCU_RGMII1_TX_CTL */
    		>;
    	};
    
    	mcu_mdio_pins_default: mcu-mdio1-pins-default {
    		pinctrl-single,pins = <
    			J721E_WKUP_IOPAD(0x8c, PIN_OUTPUT, 0) /* (F23) MCU_MDIO0_MDC */
    			J721E_WKUP_IOPAD(0x88, PIN_INPUT, 0) /* (E23) MCU_MDIO0_MDIO */
    		>;
    	};
    
    	mcu_fss0_ospi0_pins_default: mcu-fss0-ospi0-pins-default {
    		pinctrl-single,pins = <
    			J721E_WKUP_IOPAD(0x0, PIN_OUTPUT, 0) /* (E20) MCU_OSPI0_CLK */
    			J721E_WKUP_IOPAD(0x2c, PIN_OUTPUT, 0) /* (F19) MCU_OSPI0_CSn0 */
    			J721E_WKUP_IOPAD(0xc, PIN_INPUT, 0) /* (D20) MCU_OSPI0_D0 */
    			J721E_WKUP_IOPAD(0x10, PIN_INPUT, 0) /* (G19) MCU_OSPI0_D1 */
    			J721E_WKUP_IOPAD(0x14, PIN_INPUT, 0) /* (G20) MCU_OSPI0_D2 */
    			J721E_WKUP_IOPAD(0x18, PIN_INPUT, 0) /* (F20) MCU_OSPI0_D3 */
    			J721E_WKUP_IOPAD(0x1c, PIN_INPUT, 0) /* (F21) MCU_OSPI0_D4 */
    			J721E_WKUP_IOPAD(0x20, PIN_INPUT, 0) /* (E21) MCU_OSPI0_D5 */
    			J721E_WKUP_IOPAD(0x24, PIN_INPUT, 0) /* (B22) MCU_OSPI0_D6 */
    			J721E_WKUP_IOPAD(0x28, PIN_INPUT, 0) /* (G21) MCU_OSPI0_D7 */
    			J721E_WKUP_IOPAD(0x8, PIN_INPUT, 0) /* (D21) MCU_OSPI0_DQS */
    		>;
    	};
    
    	vdd_mmc1_en_pins_default: vdd-mmc1-en-pins-default {
    		pinctrl-single,pins = <
    			J721E_WKUP_IOPAD(0xd0, PIN_OUTPUT, 7) /* (G27) WKUP_GPIO0_8 */
    		>;
    	};
    
    	vdd_sd_dv_alt_pins_default: vdd-sd-dv-alt-pins-default {
    		pinctrl-single,pins = <
    			J721E_WKUP_IOPAD(0xd4, PIN_OUTPUT, 7) /* (G26) WKUP_GPIO0_9 */
    		>;
    	};
    
    	wkup_i2c0_pins_default: wkup-i2c0-pins-default {
    		pinctrl-single,pins = <
    			J721E_WKUP_IOPAD(0xf8, PIN_INPUT_PULLUP, 0) /* (J25) WKUP_I2C0_SCL */
    			J721E_WKUP_IOPAD(0xfc, PIN_INPUT_PULLUP, 0) /* (H24) WKUP_I2C0_SDA */
    		>;
    	};
    
    	mcu_mcan0_pins_default: mcu-mcan0-pins-default {
    		pinctrl-single,pins = <
    			J721E_WKUP_IOPAD(0xac, PIN_INPUT, 0) /* (C29) MCU_MCAN0_RX */
    			J721E_WKUP_IOPAD(0xa8, PIN_OUTPUT, 0) /* (D29) MCU_MCAN0_TX */
    		>;
    	};
    
    	mcu_mcan0_gpio_pins_default: mcu-mcan0-gpio-pins-default {
    		pinctrl-single,pins = <
    			J721E_WKUP_IOPAD(0xbc, PIN_INPUT, 7) /* (F27) WKUP_GPIO0_3 */
    		>;
    	};
    
    	/* Reset for M.2 M Key slot on PCIe1  */
    	mkey_reset_pins_default: mkey-reset-pns-pins-default {
    		pinctrl-single,pins = <
    			J721E_WKUP_IOPAD(0xdc, PIN_INPUT, 7) /* (H27) WKUP_GPIO0_11 */
    		>;
    	};
    };
    
    &wkup_uart0 {
    	/* Wakeup UART is used by System firmware */
    	status = "reserved";
    };
    
    &main_uart0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_uart0_pins_default>;
    	/* Shared with ATF on this platform */
    	power-domains = <&k3_pds 146 TI_SCI_PD_SHARED>;
    };
    
    &main_uart2 {
    	/* Brought out on RPi header */
    	status = "disabled";
    };
    
    &main_uart3 {
    	/* UART not brought out */
    	status = "disabled";
    };
    
    &main_uart5 {
    	/* UART not brought out */
    	status = "disabled";
    };
    
    &main_uart6 {
    	/* UART not brought out */
    	status = "disabled";
    };
    
    &main_uart7 {
    	/* UART not brought out */
    	status = "disabled";
    };
    
    &main_uart8 {
    	/* UART not brought out */
    	status = "disabled";
    };
    
    &main_uart9 {
    	/* Brought out on M.2 E Key */
    	status = "disabled";
    };
    
    &main_sdhci0 {
    	/* Unused */
    	status = "disabled";
    };
    
    &main_sdhci1 {
    	/* SD Card */
    	vmmc-supply = <&vdd_mmc1>;
    	vqmmc-supply = <&vdd_sd_dv_alt>;
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mmc1_pins_default>;
    	ti,driver-strength-ohm = <50>;
    	disable-wp;
    };
    
    &main_sdhci2 {
    	/* Unused */
    	status = "disabled";
    };
    
    &ospi0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&mcu_fss0_ospi0_pins_default>;
    
    	flash@0 {
    		compatible = "jedec,spi-nor";
    		reg = <0x0>;
    		spi-tx-bus-width = <8>;
    		spi-rx-bus-width = <8>;
    		spi-max-frequency = <25000000>;
    		cdns,tshsl-ns = <60>;
    		cdns,tsd2d-ns = <60>;
    		cdns,tchsh-ns = <60>;
    		cdns,tslch-ns = <60>;
    		cdns,read-delay = <4>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    	};
    };
    
    &ospi1 {
    	/* Unused */
    	status = "disabled";
    };
    
    &main_i2c0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c0_pins_default>;
    	clock-frequency = <400000>;
    
    	i2c-switch@71 {
    		compatible = "nxp,pca9543";
    		#address-cells = <1>;
    		#size-cells = <0>;
    		reg = <0x71>;
    
    		/* PCIe1 M.2 M Key I2C */
    		pcie1_m2_i2c: i2c@0 {
    			#address-cells = <1>;
    			#size-cells = <0>;
    			reg = <0>;
    		};
    
    		/* PCIe0 M.2 E Key I2C */
    		pcie0_m2_i2c: i2c@1 {
    			#address-cells = <1>;
    			#size-cells = <0>;
    			reg = <1>;
    		};
    	};
    };
    
    &main_i2c1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c1_pins_default>;
    	/* i2c1 is used for DVI DDC, so we need to use 100kHz */
    	clock-frequency = <100000>;
    };
    
    &main_i2c2 {
    	/* Unused */
    	status = "disabled";
    };
    
    &main_i2c3 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c3_pins_default>;
    	clock-frequency = <400000>;
    
    	i2c-switch@70 {
    		compatible = "nxp,pca9543";
    		#address-cells = <1>;
    		#size-cells = <0>;
    		reg = <0x70>;
    
    		/* CAM0 I2C */
    		ti_cam0_i2c: i2c@0 {
    			#address-cells = <1>;
    			#size-cells = <0>;
    			reg = <0>;
    		};
    
    		/* CAM1 I2C */
    		rpi_cam0_i2c: i2c@1 {
    			#address-cells = <1>;
    			#size-cells = <0>;
    			reg = <1>;
    		};
    	};
    };
    
    &main_i2c4 {
    	/* Unused */
    	status = "disabled";
    };
    
    &main_i2c5 {
    	/* Brought out on RPi Header */
    	status = "disabled";
    };
    
    &main_i2c6 {
    	/* Unused */
    	status = "disabled";
    };
    
    &main_gpio2 {
    	status = "disabled";
    };
    
    &main_gpio3 {
    	status = "disabled";
    };
    
    &main_gpio4 {
    	status = "disabled";
    };
    
    &main_gpio5 {
    	status = "disabled";
    };
    
    &main_gpio6 {
    	status = "disabled";
    };
    
    &main_gpio7 {
    	status = "disabled";
    };
    
    &wkup_gpio1 {
    	status = "disabled";
    };
    
    &usb_serdes_mux {
    	idle-states = <1>, <1>; /* USB0 to SERDES3, USB1 to SERDES2 */
    };
    
    &serdes_ln_ctrl {
    	idle-states = <J721E_SERDES0_LANE0_PCIE0_LANE0>, <J721E_SERDES0_LANE1_IP4_UNUSED>,
    		      <J721E_SERDES1_LANE0_PCIE1_LANE0>, <J721E_SERDES1_LANE1_PCIE1_LANE1>,
    		      <J721E_SERDES2_LANE0_IP1_UNUSED>, <J721E_SERDES2_LANE1_USB3_1>,
    		      <J721E_SERDES3_LANE0_USB3_0_SWAP>, <J721E_SERDES3_LANE1_USB3_0>,
    		      <J721E_SERDES4_LANE0_EDP_LANE0>, <J721E_SERDES4_LANE1_EDP_LANE1>,
    		      <J721E_SERDES4_LANE2_EDP_LANE2>, <J721E_SERDES4_LANE3_EDP_LANE3>;
    };
    
    &serdes_wiz3 {
    	typec-dir-gpios = <&main_gpio1 3 GPIO_ACTIVE_HIGH>;
    	typec-dir-debounce-ms = <700>;	/* TUSB321, tCCB_DEFAULT 133 ms */
    };
    
    &serdes3 {
    	serdes3_usb_link: phy@0 {
    		reg = <0>;
    		cdns,num-lanes = <2>;
    		#phy-cells = <0>;
    		cdns,phy-type = <PHY_TYPE_USB3>;
    		resets = <&serdes_wiz3 1>, <&serdes_wiz3 2>;
    	};
    };
    
    &usbss0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_usbss0_pins_default>;
    	ti,vbus-divider;
    };
    
    &usb0 {
    	dr_mode = "otg";
    	maximum-speed = "super-speed";
    	phys = <&serdes3_usb_link>;
    	phy-names = "cdns3,usb3-phy";
    };
    
    &serdes2 {
    	serdes2_usb_link: phy@1 {
    		reg = <1>;
    		cdns,num-lanes = <1>;
    		#phy-cells = <0>;
    		cdns,phy-type = <PHY_TYPE_USB3>;
    		resets = <&serdes_wiz2 2>;
    	};
    };
    
    &usbss1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_usbss1_pins_default>;
    	ti,vbus-divider;
    };
    
    &usb1 {
    	dr_mode = "host";
    	maximum-speed = "super-speed";
    	phys = <&serdes2_usb_link>;
    	phy-names = "cdns3,usb3-phy";
    };
    
    &tscadc0 {
    	/* Unused */
    	status = "disabled";
    };
    
    &tscadc1 {
    	/* Unused */
    	status = "disabled";
    };
    
    &mcu_cpsw {
    	pinctrl-names = "default";
    	pinctrl-0 = <&mcu_cpsw_pins_default &mcu_mdio_pins_default>;
    };
    
    &davinci_mdio {
    	phy0: ethernet-phy@0 {
    		reg = <0>;
    		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    	};
    };
    
    &cpsw_port1 {
    	phy-mode = "rgmii-rxid";
    	phy-handle = <&phy0>;
    };
    
    &dss {
    	pinctrl-names = "default";
    	pinctrl-0 = <&dss_vout0_pins_default>;
    
    	assigned-clocks = <&k3_clks 152 1>,	/* VP 1 pixel clock */
    			  <&k3_clks 152 4>,	/* VP 2 pixel clock */
    			  <&k3_clks 152 9>,	/* VP 3 pixel clock */
    			  <&k3_clks 152 13>;	/* VP 4 pixel clock */
    	assigned-clock-parents = <&k3_clks 152 2>,	/* PLL16_HSDIV0 */
    				 <&k3_clks 152 6>,	/* DPI0_EXT_CLKSEL_OUT0 */
    				 <&k3_clks 152 11>,	/* PLL18_HSDIV0 */
    				 <&k3_clks 152 18>;	/* DPI1_EXT_CLKSEL_OUT0 */
    };
    
    &dss_ports {
    	#address-cells = <1>;
    	#size-cells = <0>;
    
    	/* DP */
    	port@0 {
    		reg = <0>;
    
    		dpi0_out: endpoint {
    			remote-endpoint = <&dp0_in>;
    		};
    	};
    
    	/* HDMI */
    	port@1 {
    		reg = <1>;
    
    		dpi_out0: endpoint {
    			remote-endpoint = <&tfp410_in>;
    		};
    	};
    };
    
    &mhdp {
    	pinctrl-names = "default";
    	pinctrl-0 = <&dp0_pins_default>;
    };
    
    &dp0_ports {
    	#address-cells = <1>;
    	#size-cells = <0>;
    
    	port@0 {
    		reg = <0>;
    		dp0_in: endpoint {
    			remote-endpoint = <&dpi0_out>;
    		};
    	};
    
    	port@4 {
    		reg = <4>;
    		dp0_out: endpoint {
    			remote-endpoint = <&dp_connector_in>;
    		};
    	};
    };
    
    &mcasp0 {
    	/* Unused */
    	status = "disabled";
    };
    
    &mcasp1 {
    	/* Unused */
    	status = "disabled";
    };
    
    &mcasp2 {
    	/* Unused */
    	status = "disabled";
    };
    
    &mcasp3 {
    	/* Unused */
    	status = "disabled";
    };
    
    &mcasp4 {
    	/* Unused */
    	status = "disabled";
    };
    
    &mcasp5 {
    	/* Unused */
    	status = "disabled";
    };
    
    &mcasp6 {
    	/* Brought out on RPi header */
    	status = "disabled";
    };
    
    &mcasp7 {
    	/* Unused */
    	status = "disabled";
    };
    
    &mcasp8 {
    	/* Unused */
    	status = "disabled";
    };
    
    &mcasp9 {
    	/* Unused */
    	status = "disabled";
    };
    
    &mcasp10 {
    	/* Unused */
    	status = "disabled";
    };
    
    &mcasp11 {
    	/* Brought out on M.2 E Key */
    	status = "disabled";
    };
    
    &serdes0 {
    	serdes0_pcie_link: phy@0 {
    		reg = <0>;
    		cdns,num-lanes = <1>;
    		#phy-cells = <0>;
    		cdns,phy-type = <PHY_TYPE_PCIE>;
    		resets = <&serdes_wiz0 1>;
    	};
    };
    
    &serdes1 {
    	serdes1_pcie_link: phy@0 {
    		reg = <0>;
    		cdns,num-lanes = <2>;
    		#phy-cells = <0>;
    		cdns,phy-type = <PHY_TYPE_PCIE>;
    		resets = <&serdes_wiz1 1>, <&serdes_wiz1 2>;
    	};
    };
    
    &pcie0_rc {
    	pinctrl-names = "default";
    	pinctrl-0 = <&ekey_reset_pins_default>;
    	reset-gpios = <&main_gpio0 72 GPIO_ACTIVE_HIGH>;
    
    	phys = <&serdes0_pcie_link>;
    	phy-names = "pcie-phy";
    	num-lanes = <1>;
    };
    
    &pcie1_rc {
    	pinctrl-names = "default";
    	pinctrl-0 = <&mkey_reset_pins_default>;
    	reset-gpios = <&wkup_gpio0 11 GPIO_ACTIVE_HIGH>;
    
    	phys = <&serdes1_pcie_link>;
    	phy-names = "pcie-phy";
    	num-lanes = <2>;
    };
    
    &pcie2_rc {
    	/* Unused */
    	status = "disabled";
    };
    
    &pcie0_ep {
    	status = "disabled";
    	phys = <&serdes0_pcie_link>;
    	phy-names = "pcie-phy";
    	num-lanes = <1>;
    };
    
    &pcie1_ep {
    	status = "disabled";
    	phys = <&serdes1_pcie_link>;
    	phy-names = "pcie-phy";
    	num-lanes = <2>;
    };
    
    &pcie2_ep {
    	/* Unused */
    	status = "disabled";
    };
    
    &pcie3_rc {
    	/* Unused */
    	status = "disabled";
    };
    
    &pcie3_ep {
    	/* Unused */
    	status = "disabled";
    };
    
    &mcu_mcan0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&mcu_mcan0_pins_default>;
    	phys = <&transceiver1>;
    };
    
    &mcu_mcan1 {
    	status = "disabled";
    };
    
    &main_mcan0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mcan0_pins_default>;
    	phys = <&transceiver2>;
    };
    
    &main_mcan1 {
    	status = "disabled";
    };
    
    &main_mcan2 {
    	status = "disabled";
    };
    
    &main_mcan3 {
    	status = "disabled";
    };
    
    &main_mcan4 {
    	status = "disabled";
    };
    
    &main_mcan5 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mcan5_pins_default>;
    	phys = <&transceiver3>;
    };
    
    &main_mcan6 {
    	status = "disabled";
    };
    
    &main_mcan7 {
    	status = "disabled";
    };
    
    &main_mcan8 {
    	status = "disabled";
    };
    
    &main_mcan9 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mcan9_pins_default>;
    	phys = <&transceiver4>;
    };
    
    &main_mcan10 {
    	status = "disabled";
    };
    
    &main_mcan11 {
    	status = "disabled";
    };
    
    &main_mcan12 {
    	status = "disabled";
    };
    
    &main_mcan13 {
    	status = "disabled";
    };
    
    &ufs_wrapper {
    	status = "disabled";
    };
    
    /*&main_r5fss0_core0{
    	firmware-name = "ethfw/app_remoteswitchcfg_server_strip.xer5f";
    	//firmware-name = "pdk-ipc/ipc_echo_test_mcu2_0_release_strip.xer5f";
    };*/
    
    &mailbox0_cluster0 {
    	interrupts = <436>;
    
    	mbox_mcu_r5fss0_core0: mbox-mcu-r5fss0-core0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_mcu_r5fss0_core1: mbox-mcu-r5fss0-core1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster1 {
    	interrupts = <432>;
    
    	mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster2 {
    	interrupts = <428>;
    
    	mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster3 {
    	interrupts = <424>;
    
    	mbox_c66_0: mbox-c66-0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_c66_1: mbox-c66-1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster4 {
    	interrupts = <420>;
    
    	mbox_c71_0: mbox-c71-0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    };
    
    &mailbox0_cluster5 {
    	status = "disabled";
    };
    
    &mailbox0_cluster6 {
    	status = "disabled";
    };
    
    &mailbox0_cluster7 {
    	status = "disabled";
    };
    
    &mailbox0_cluster8 {
    	status = "disabled";
    };
    
    &mailbox0_cluster9 {
    	status = "disabled";
    };
    
    &mailbox0_cluster10 {
    	status = "disabled";
    };
    
    &mailbox0_cluster11 {
    	status = "disabled";
    };
    
    &mcu_r5fss0_core0 {
    	mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core0>;
    	memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
    			<&mcu_r5fss0_core0_memory_region>;
    };
    
    &mcu_r5fss0_core1 {
    	mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core1>;
    	memory-region = <&mcu_r5fss0_core1_dma_memory_region>,
    			<&mcu_r5fss0_core1_memory_region>;
    };
    
    &main_r5fss0_core0 {
    	mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core0>;
    	memory-region = <&main_r5fss0_core0_dma_memory_region>,
    			<&main_r5fss0_core0_memory_region>,
    			<&main_r5fss0_core0_shared_memory_queue_region>,
    			<&main_r5fss0_core0_shared_memory_bufpool_region>;
    };
    
    &main_r5fss0_core1 {
    	mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core1>;
    	memory-region = <&main_r5fss0_core1_dma_memory_region>,
    			<&main_r5fss0_core1_memory_region>;
    };
    
    &main_r5fss1_core0 {
    	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core0>;
    	memory-region = <&main_r5fss1_core0_dma_memory_region>,
    			<&main_r5fss1_core0_memory_region>;
    };
    
    &main_r5fss1_core1 {
    	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core1>;
    	memory-region = <&main_r5fss1_core1_dma_memory_region>,
    			<&main_r5fss1_core1_memory_region>;
    };
    
    &c66_0 {
    	mboxes = <&mailbox0_cluster3 &mbox_c66_0>;
    	memory-region = <&c66_0_dma_memory_region>,
    			<&c66_0_memory_region>;
    };
    
    &c66_1 {
    	mboxes = <&mailbox0_cluster3 &mbox_c66_1>;
    	memory-region = <&c66_1_dma_memory_region>,
    			<&c66_1_memory_region>;
    };
    
    &c71_0 {
    	mboxes = <&mailbox0_cluster4 &mbox_c71_0>;
    	memory-region = <&c71_0_dma_memory_region>,
    			<&c71_0_memory_region>;
    };
    
    &main_ehrpwm0 {
    	status = "disabled";
    };
    
    &main_ehrpwm1 {
    	status = "disabled";
    };
    
    &main_ehrpwm2 {
    	status = "disabled";
    };
    
    &main_ehrpwm3 {
    	status = "disabled";
    };
    
    &main_ehrpwm4 {
    	status = "disabled";
    };
    
    &main_ehrpwm5 {
    	status = "disabled";
    };
    

  • Hi Mingwang,

    Can you manually link the ethfw to the firmware in the filesystem you are using. If you are using SD card, you can run the following commands after inserting the SD card in linux machine.

    1. sudo rm /media/$USER/rootfs/lib/firmware/j7200-main-r5f0_0-fw

    2. sudo ln -s /lib/firmware/ethfw/app_remoteswitchcfg_server_strip.xer5f /media/tanmay/rootfs/lib/firmware/j7200-main-r5f0_0-fw

    So currently, the ethfw binary is not loaded in the main R5. So we will link the ethfw binary to the firmware being loaded. This should resolve the issue. Try this out and let me know the status.

    Regards,
    Tanmay