Skip to content

The phy chip DP83TG720S cannot be driven on the zynqmp utralScale+ board #6

Description

@Dereck-327

When I use DP83TG720S on petalinux, the driver can be loaded normally, and the phy can be loaded normally, but data packets cannot be sent or received. Here is the problem situation:

  dmesg | grep mac
  [    4.726983] macb ff0b0000.ethernet: Not enabling partial store and forward
  [    4.949728] macb ff0b0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0b0000 irq 38 (26:e0:0e:17:75:38)
  [    5.169861] systemd[1]: Initializing machine ID from random generator.
  [    8.315867] macb ff0b0000.ethernet eth0: PHY [ff0b0000.ethernet-ffffffff:00] driver [TI DP83TG720CS1.1] (irq=POLL)
  [    8.326244] macb ff0b0000.ethernet eth0: configuring for phy/rgmii-id link mode
  [    8.352156] macb ff0b0000.ethernet: gem-ptp-timer ptp clock registered.
  [    9.372016] macb ff0b0000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
  ifconfig eth0
  eth0 Link encap:Ethernet HWaddr 26:E0:0E:17:75:38 
  inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0 
  inet6 addr: fe80::24e0:eff:fe17:7538/64 Scope:Link 
  UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
  RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
  TX packets:20 errors:0 dropped:0 overruns:0 carrier:0 
  collisions:0 txqueuelen:1000 
  RX bytes:0 (0.0 B) TX bytes:1801 (1.7 KiB) 
  Interrupt:38

And I can't ping my PC.

  ping 192.168.1.111
  PING 192.168.1.111 (192.168.1.111): 56 data bytes
  ^C
  --- 192.168.1.111 ping statistics ---
  633 packets transmitted, 0 packets received, 100% packet loss

This is my device tree description:

  &gem0 {
      status = "okay";
      phy-mode = "rgmii-id";
      phy-handle = <&phy0>;
      
      mdio {
          #address-cells = <1>;
          #size-cells = <0>;
          
          phy0: ethernet-phy@0 {
              reg = <0>;
              compatible = "ethernet-phy-id2000.a284", "ethernet-phy-ieee802.3-c22"; 
              ti,rx-internal-delay-ps = <2000>;
              ti,tx-internal-delay-ps = <2000>; 
              ti,fifo-depth = <1>; 
          };
      };
  };

However, the device tree is described using fixed-link, and it works fine.

  &gem0 {
  	status = "okay";
  	compatible = "cdns,zynq-gem", "cdns,gem";
  	phy-mode = "rgmii-id";
  	
  	fixed-link {
  		speed = <1000>;
  		full-duplex;
  		pause;
  		asym-pause;
  	};
  };

The linux version I use is 5.15.36-xilinx-v2022.2

:~# uname -r
5.15.36-xilinx-v2022.2

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions