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.

AM6442: PRG1 (ICSSG) eth is not stable

Part Number: AM6442

Tool/software:

Hello engineer!

    We follow the PROC101 to design ower board. But we fount the eth from PRG1 have some problem. As described in the attached log.

root@AM64x-Tronlong:~# ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500  metric 1
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:70:76:7e:19  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500  metric 1
        inet6 fe80::2ab5:e8ff:fee3:80f4  prefixlen 64  scopeid 0x20<link>
        ether 28:b5:e8:e3:80:f4  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 41  bytes 7410 (7.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500  metric 1
        inet 192.168.1.123  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::b04a:22ff:fede:d0eb  prefixlen 64  scopeid 0x20<link>
        ether b2:4a:22:de:d0:eb  txqueuelen 1000  (Ethernet)
        RX packets 26  bytes 1560 (1.5 KiB)
        RX errors 0  dropped 25  overruns 0  frame 0
        TX packets 24  bytes 4436 (4.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth2: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500  metric 1
        inet6 fe80::8864:f2ff:fed6:c173  prefixlen 64  scopeid 0x20<link>
        ether 8a:64:f2:d6:c1:73  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 42  bytes 6318 (6.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536  metric 1
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 82  bytes 6220 (6.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 82  bytes 6220 (6.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

root@AM64x-Tronlong:~# 
root@AM64x-Tronlong:~# 
root@AM64x-Tronlong:~# 
root@AM64x-Tronlong:~# [  307.270120] icssg-prueth icssg1-eth eth1: Link is Down
[  310.214461] icssg-prueth icssg1-eth eth2: Link is Up - 1Gbps/Full - flow control off

root@AM64x-Tronlong:~# 
root@AM64x-Tronlong:~# 
root@AM64x-Tronlong:~# 
root@AM64x-Tronlong:~# 
root@AM64x-Tronlong:~# 
root@AM64x-Tronlong:~# [  315.973623] ------------[ cut here ]------------
[  315.973713] NETDEV WATCHDOG: eth2 (icssg-prueth): transmit queue 0 timed out
[  315.973793] WARNING: CPU: 1 PID: 0 at net/sched/sch_generic.c:467 dev_watchdog+0x350/0x358
[  315.973821] Modules linked in: xt_conntrack xt_MASQUERADE xt_addrtype iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c ip_tables x_tables br_netfilter bridge stp llc overlay xfrm_user xfrm_algo xhci_plat_hcd xhci_hcd cdns3 udc_core roles usbcore usb_common rpmsg_char irq_pruss_intc ti_am335x_adc kfifo_buf crct10dif_ce icssg_prueth pru_rproc icss_iep ti_k3_r5_remoteproc pci_endpoint_test cdns3_ti virtio_rpmsg_bus rti_wdt ti_k3_m4_remoteproc sa2ul pruss sha512_generic authenc ti_am335x_tscadc at24 rtc_ds1307 m_can_platform m_can can_dev optee_rng rng_core sch_fq_codel ipv6
[  315.973982] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.10.168-rt83-g2cc603147413 #1
[  315.973991] Hardware name: TL64x-EVM (DT)
[  315.973995] pstate: 20000005 (nzCv daif -PAN -UAO -TCO BTYPE=--)
[  315.974004] pc : dev_watchdog+0x350/0x358
[  315.974012] lr : dev_watchdog+0x350/0x358
[  315.974020] sp : ffff800011263db0
[  315.974023] x29: ffff800011263db0 x28: ffff000003c61440 
[  315.974032] x27: 0000000000000004 x26: 0000000000000140 
[  315.974040] x25: 00000000ffffffff x24: 0000000000000001 
[  315.974048] x23: ffff000004eec3dc x22: ffff000004eec000 
[  315.974056] x21: ffff000004eec480 x20: ffff8000110b6000 
[  315.974064] x19: 0000000000000000 x18: 0000000000000000 
[  315.974071] x17: 0000000000000000 x16: 0000000000000000 
[  315.974078] x15: ffff0000000dcde0 x14: ffffffffffffffff 
[  315.974086] x13: ffff8000111e7fbc x12: ffff8000111e7faf 
[  315.974095] x11: 0000000000000040 x10: ffff8000110d9168 
[  315.974102] x9 : 00000000fffffffe x8 : 3020657565757120 
[  315.974110] x7 : 74696d736e617274 x6 : 0000000000000003 
[  315.974117] x5 : 0000000000000000 x4 : 0000000000000000 
[  315.974124] x3 : 0000000000000100 x2 : 0000000000000100 
[  315.974131] x1 : b330a4409a208600 x0 : 0000000000000000 
[  315.974139] Call trace:
[  315.974144]  dev_watchdog+0x350/0x358
[  315.974153]  call_timer_fn.isra.0+0x24/0x80
[  315.974168]  run_timer_softirq+0x400/0x438
[  315.974177]  efi_header_end+0x120/0x284
[  315.974186]  irq_exit+0xd8/0xf8
[  315.974194]  __handle_domain_irq+0x68/0xc0
[  315.974203]  gic_handle_irq+0x58/0x128
[  315.974216]  el1_irq+0xcc/0x180
[  315.974222]  arch_cpu_idle+0x18/0x28
[  315.974231]  default_idle_call+0x20/0x68
[  315.974240]  do_idle+0xc0/0x128
[  315.974248]  cpu_startup_entry+0x24/0x48
[  315.974254]  secondary_start_kernel+0x15c/0x188
[  315.974267] ---[ end trace 4b3cbb528e413431 ]---
[  316.374631] icssg-prueth icssg1-eth eth2: xmit timeout

root@AM64x-Tronlong:~# [  322.117638] icssg-prueth icssg1-eth eth2: xmit timeout
[  326.981618] icssg-prueth icssg1-eth eth2: xmit timeout
[  332.101625] icssg-prueth icssg1-eth eth2: xmit timeout

root@AM64x-Tronlong:~# 
root@AM64x-Tronlong:~# 
root@AM64x-Tronlong:~# [  336.965619] icssg-prueth icssg1-eth eth2: xmit timeout
[  342.085644] icssg-prueth icssg1-eth eth2: xmit timeout

root@AM64x-Tronlong:~# 
root@AM64x-Tronlong:~# 
root@AM64x-Tronlong:~# [  346.949634] icssg-prueth icssg1-eth eth2: xmit timeout

root@AM64x-Tronlong:~# 
root@AM64x-Tronlong:~# [  352.069635] icssg-prueth icssg1-eth eth2: xmit timeout
[  356.933617] icssg-prueth icssg1-eth eth2: xmit timeout
^C
root@AM64x-Tronlong:~# [  362.053618] icssg-prueth icssg1-eth eth2: xmit timeout

And sometimes they keep up and down.

Below is our sch.

SOM_AM6442 phy.pdf

Please help analyze it, thank you!