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.

DP83822IF: In rgmii-txid mode, RX is operational but TX is not operational on AM625 Custom Board

Part Number: DP83822IF


Tool/software:

* Kernel Information

root@am62xx-evm:~# uname -a                                                                                                      
Linux am62xx-evm 6.1.33+ #1 SMP PREEMPT Fri Jul 19 08:53:10 KST 2024 aarch64 aarch64 aarch64 GNU/Linux

* Device Tree

...
  main_rgmii2_pins_default: main-rgmii2-pins-default {
    pinctrl-single,pins = <
      AM62X_IOPAD(0x184, PIN_INPUT, 0) /* (AE23) RGMII2_RD0 */
      AM62X_IOPAD(0x188, PIN_INPUT, 0) /* (AB20) RGMII2_RD1 */
      AM62X_IOPAD(0x18c, PIN_INPUT, 0) /* (AC21) RGMII2_RD2 */
      AM62X_IOPAD(0x190, PIN_INPUT, 0) /* (AE22) RGMII2_RD3 */
      AM62X_IOPAD(0x180, PIN_INPUT, 0) /* (AD23) RGMII2_RXC */
      AM62X_IOPAD(0x17c, PIN_INPUT, 0) /* (AD22) RGMII2_RX_CTL */
      AM62X_IOPAD(0x16c, PIN_OUTPUT, 0) /* (Y18) RGMII2_TD0 */
      AM62X_IOPAD(0x170, PIN_OUTPUT, 0) /* (AA18) RGMII2_TD1 */
      AM62X_IOPAD(0x174, PIN_OUTPUT, 0) /* (AD21) RGMII2_TD2 */
      AM62X_IOPAD(0x178, PIN_OUTPUT, 0) /* (AC20) RGMII2_TD3 */
      AM62X_IOPAD(0x168, PIN_OUTPUT, 0) /* (AE21) RGMII2_TXC */
      AM62X_IOPAD(0x164, PIN_OUTPUT, 0) /* (AA19) RGMII2_TX_CTL */
    >;
  };




&cpsw3g {
  pinctrl-names = "default";
  pinctrl-0 = <&main_rgmii1_pins_default
         &main_rgmii2_pins_default>;                                                                                                                                                                                                                                                      

  cpts@3d000 {
    /* MAP HW3_TS_PUSH to GENF1 */
    ti,pps = <2 1>;
  };
};

&cpsw_port2 {
  phy-mode = "rgmii-rxid";
  phy-handle = <&cpsw3g_phy1>;
};

&cpsw3g_mdio {
  cpsw3g_phy1: ethernet-phy@1 {
    reg = <1>;
    ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    ti,min-output-impedance;
  };
};
....

Hi, Ti

I'm testing the ethernet test using the dp83822 rgmii-txid mode.

RX Packet is received on board.

However, TX Packet is not sent.

Could you please help us in resolving the issue.

Below are the kernel log, device tree, and test results.

* Kernel Booting Log

[   16.360480] random: crng init done
[   16.786776] audit: type=1334 audit(1651167749.752:4): prog-id=7 op=LOAD
[   16.793466] audit: type=1334 audit(1651167749.760:5): prog-id=8 op=LOAD
[   17.000985] FAT-fs (mmcblk1p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[   17.192220] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[   17.246003] CAN device driver interface
[   17.258149] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[   17.603773] mc: Linux media interface: v0.10
[   17.835218] videodev: Linux video capture interface: v2.00
[   18.453990] [drm] Initialized tidss 1.0.0 20180215 for 30200000.dss on minor 0
[   18.462869] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POLL)
[   18.506718] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
[   19.205418] rtc-ti-k3 2b1f0000.rtc: registered as rtc0
[   19.279613] rtc-ti-k3 2b1f0000.rtc: setting system clock to 1970-01-01T00:00:27 UTC (27)
[   19.288947] systemd-journald[161]: Time jumped backwards, rotating.
[   19.355731] am65-cpsw-nuss 8000000.ethernet eth1: PHY [8000f00.mdio:01] driver [TI DP83822] (irq=POLL)
[   19.365194] am65-cpsw-nuss 8000000.ethernet eth1: configuring for phy/rgmii-rxid link mode
[   19.389174] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@9cb00000
[   19.445685] k3-m4-rproc 5000000.m4fss: configured M4 for remoteproc mode
[   19.492453] k3-m4-rproc 5000000.m4fss: local reset is deasserted for device
[   19.547567] remoteproc remoteproc0: 5000000.m4fss is available
[   19.560833] remoteproc remoteproc0: powering up 5000000.m4fss
[   19.566721] remoteproc remoteproc0: Booting fw image am62-mcu-m4f0_0-fw, size 54860
[   19.583531] rproc-virtio rproc-virtio.1.auto: assigned reserved memory node m4f-dma-memory@9cb00000
[   19.600668] virtio_rpmsg_bus virtio0: rpmsg host is online
[   19.608738] rproc-virtio rproc-virtio.1.auto: registered virtio0 (type 7)
[   19.620013] remoteproc remoteproc0: remote processor 5000000.m4fss is now up
[   19.630637] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
[   19.639709] platform 78000000.r5f: R5F core may have been powered on by a different host, programmed state (0) != actual state (1)
[   19.644816] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
[   19.776687] platform 78000000.r5f: configured R5F for IPC-only mode
[   19.835354] platform 78000000.r5f: assigned reserved memory node r5f-dma-memory@9da00000
[   19.899025] m_can_platform 20701000.can: m_can device registered (irq=453, version=32)
[   20.128963] remoteproc remoteproc1: 78000000.r5f is available
[   20.409868] remoteproc remoteproc1: attaching to 78000000.r5f
[   20.423907] platform 78000000.r5f: R5F core initialized in IPC-only mode
[   20.442902] rproc-virtio rproc-virtio.2.auto: assigned reserved memory node r5f-dma-memory@9da00000
[   20.554319] virtio_rpmsg_bus virtio1: rpmsg host is online
[   20.560038] virtio_rpmsg_bus virtio1: creating channel ti.ipc4.ping-pong addr 0xd
[   20.569266] virtio_rpmsg_bus virtio1: creating channel rpmsg_chrdev addr 0xe
[   20.630636] rproc-virtio rproc-virtio.2.auto: registered virtio1 (type 7)
[   20.667890] audit: type=1325 audit(28.860:6): table=nat family=2 entries=0 op=xt_register pid=400 comm="iptables"
[   20.681624] audit: type=1300 audit(28.860:6): arch=c00000b7 syscall=209 success=yes exit=0 a0=4 a1=0 a2=40 a3=ffffe5cd77c8 items=0 ppid=360 pid=400 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="iptables" exe="/usr/sbin/x)
[   20.722220] audit: type=1327 audit(28.860:6): proctitle=69707461626C6573002D74006E6174002D4100504F5354524F5554494E47002D6F0065746830002D6A004D415351554552414445
[   20.744207] remoteproc remoteproc1: remote processor 78000000.r5f is now attached
[   20.751851] audit: type=1325 audit(28.884:7): table=nat family=2 entries=5 op=xt_replace pid=400 comm="iptables"
[   20.768539] audit: type=1300 audit(28.884:7): arch=c00000b7 syscall=208 success=yes exit=0 a0=4 a1=0 a2=40 a3=44d0210 items=0 ppid=360 pid=400 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="iptables" exe="/usr/sbin/xtable)
[   20.830046] audit: type=1327 audit(28.884:7): proctitle=69707461626C6573002D74006E6174002D4100504F5354524F5554494E47002D6F0065746830002D6A004D415351554552414445
[   20.855538] audit: type=1334 audit(29.040:8): prog-id=9 op=LOAD
[   20.869240] audit: type=1334 audit(29.040:9): prog-id=10 op=LOAD
[   21.408935] am65-cpsw-nuss 8000000.ethernet eth1: Link is Up - 100Mbps/Full - flow control rx/tx
[   21.417939] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[   22.191686] kauditd_printk_skb: 3 callbacks suppressed
[   22.191706] audit: type=1006 audit(30.408:13): pid=488 uid=0 old-auid=4294967295 auid=1000 tty=(none) old-ses=4294967295 ses=1 res=1
[   22.214833] audit: type=1300 audit(30.408:13): arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=ffffc48590f8 a2=4 a3=ffff86d99020 items=0 ppid=1 pid=488 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=1 comm="(systemd)" exe="/lib/systemd/syst)
[   22.244832] audit: type=1327 audit(30.408:13): proctitle="(systemd)"
[   22.745655] audit: type=1006 audit(30.964:14): pid=407 uid=0 old-auid=4294967295 auid=1000 tty=tty7 old-ses=4294967295 ses=2 res=1
[   22.767958] audit: type=1300 audit(30.964:14): arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=ffffc48590f8 a2=4 a3=ffff86d99020 items=0 ppid=1 pid=407 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=tty7 ses=2 comm="(weston)" exe="/lib/systemd/systemd)
[   22.828507] audit: type=1327 audit(30.964:14): proctitle="(weston)"
[   23.236885] audit: type=1334 audit(31.456:15): prog-id=12 op=UNLOAD
[   23.245859] audit: type=1334 audit(31.456:16): prog-id=11 op=UNLOAD
[   23.686824] audit: type=1006 audit(31.904:17): pid=542 uid=0 old-auid=4294967295 auid=1000 tty=tty7 old-ses=4294967295 ses=3 res=1
[   23.720708] audit: type=1300 audit(31.904:17): arch=c00000b7 syscall=64 success=yes exit=4 a0=8 a1=ffffc48590f8 a2=4 a3=0 items=0 ppid=1 pid=542 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=tty7 ses=3 comm="(weston)" exe="/lib/systemd/systemd" key=(null)
[   23.995033] remoteproc remoteproc2: 30074000.pru is available
[   24.092252] remoteproc remoteproc3: 30078000.pru is available
[   24.304600] cdns-csi2rx: probe of 30101000.csi-bridge failed with error -22
[   24.619647] xhci-hcd xhci-hcd.3.auto: xHCI Host Controller
[   24.646754] xhci-hcd xhci-hcd.3.auto: new USB bus registered, assigned bus number 1
[   24.694726] xhci-hcd xhci-hcd.3.auto: USB3 root hub has no ports
[   24.716532] xhci-hcd xhci-hcd.3.auto: hcc params 0x0258fe6d hci version 0x110 quirks 0x0000000000010010
[   24.730619] xhci-hcd xhci-hcd.3.auto: irq 462, io mem 0x31000000
[   24.777358] hub 1-0:1.0: USB hub found
[   24.804605] hub 1-0:1.0: 1 port detected
[   24.821224] xhci-hcd xhci-hcd.4.auto: xHCI Host Controller
[   24.827471] xhci-hcd xhci-hcd.4.auto: new USB bus registered, assigned bus number 2
[   24.838812] xhci-hcd xhci-hcd.4.auto: USB3 root hub has no ports
[   24.847242] xhci-hcd xhci-hcd.4.auto: hcc params 0x0258fe6d hci version 0x110 quirks 0x0000000000010010
[   24.860974] xhci-hcd xhci-hcd.4.auto: irq 463, io mem 0x31100000
[   24.884780] hub 2-0:1.0: USB hub found
[   24.892149] hub 2-0:1.0: 1 port detected

* Ping Test

root@am62xx-evm:~# tcpdump -i eth1                                                                                               
[ 1193.578797] device eth1 entered promiscuous mode                                                                              
[ 1193.583700] audit: type=1700 audit(1201.796:78): dev=eth1 prom=256 old_prom=0 auid=4294967295 uid=0 gid=0 ses=4294967295      
[ 1193.594676] audit: type=1300 audit(1201.796:78): arch=c00000b7 syscall=208 success=yes exit=0 a0=4 a1=107 a2=1 a3=ffffdc4066e)
[ 1193.620980] audit: type=1327 audit(1201.796:78): proctitle=74637064756D70002D690065746831                                     
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode                                                        
listening on eth1, link-type EN10MB (Ethernet), snapshot length 262144 bytes                                                     
00:20:02.086873 IP 192.168.0.1.1024 > 239.255.255.250.1900: UDP, length 265                                                      
00:20:02.087227 IP 192.168.0.1.1024 > 239.255.255.250.1900: UDP, length 337                                                      
00:20:02.087649 IP 192.168.0.1.1024 > 239.255.255.250.1900: UDP, length 333                                                      
00:20:02.088074 IP 192.168.0.1.1024 > 239.255.255.250.1900: UDP, length 313                                                      
00:20:02.088511 IP 192.168.0.1.1024 > 239.255.255.250.1900: UDP, length 345                                                      
00:20:02.088948 IP 192.168.0.1.1024 > 239.255.255.250.1900: UDP, length 327                                                      
00:20:02.089368 IP 192.168.0.1.1024 > 239.255.255.250.1900: UDP, length 329                                                      
00:20:02.089808 IP 192.168.0.1.1024 > 239.255.255.250.1900: UDP, length 329                                                      
00:20:02.584334 ARP, Request who-has am62xx-evm tell 192.168.0.2, length 46                                                      
00:20:02.584489 ARP, Reply am62xx-evm is-at ba:d2:31:f3:15:d0 (oui Unknown), length 28                                           
00:20:02.768113 IP 192.168.0.200.57118 > 239.255.255.250.1900: UDP, length 174