Other Parts Discussed in Thread: MIO,
Hello TI Support,
I'm having issues with the Ethernet on a custom board with a ZynqMP and the Ti83867 PHY running in SGMII mode.
We have a custom board designed with Xilinx Zynq Ultrascale+ FPGA. We connect to port 0 as GEMO(EMIO) <-->SGMII over LVDS <---> External PHY use TI DP83867.
When boot up Linux, I cannot dhcp, and I cannot get any activity on wireshark.
I can set IP address and ping itself, but cannot ping outside.
My Linux log:
root@petalinux-lincs:~# ifconfig eth0 191.168.1.20 netmask 255.255.255.0
root@petalinux-lincs:~# ip link set dev eth0 down
[ 295.127823] macb ff0b0000.ethernet: gem-ptp-timer ptp clock unregistered.
root@petalinux-lincs:~# ip link set dev eth0 up
[ 298.568252] pps pps0: new PPS source ptp0
[ 298.572282] macb ff0b0000.ethernet: gem-ptp-timer ptp clock registered.
[ 298.579042] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
root@petalinux-lincs:~# dmesg | grep PHY
[ 4.543691] Xilinx PCS/PMA PHY ff0b0000.ethernet-ffffffff:09: attached PHY driver [Xilinx PCS/PMA PHY] (mii_bus:phy_addr=ff0b0000.ethernet-ffffffff:09, irq=POLL)
root@petalinux-lincs:~# dmesg | grep mio
[ 4.594535] cdns-i2c ff020000.i2c: 400 kHz mmio ff020000 irq 32
[ 4.604977] cdns-i2c ff030000.i2c: 400 kHz mmio ff030000 irq 33
root@petalinux-lincs:~# dmesg | grep emio
root@petalinux-lincs:~# dmesg | grep mii_probe
root@petalinux-lincs:~# dmesg | grep PHY
[ 4.543691] Xilinx PCS/PMA PHY ff0b0000.ethernet-ffffffff:09: attached PHY driver [Xilinx PCS/PMA PHY] (mii_bus:phy_addr=ff0b0000.ethernet-ffffffff:09, irq=POLL)
root@petalinux-lincs:~#
root@petalinux-lincs:~# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: No
Advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 9
Transceiver: internal
Auto-negotiation: off
Link detected: no
root@petalinux-lincs:~# ping 192.168.1.20
PING 192.168.1.20 (192.168.1.20): 56 data bytes
ping: sendto: Network is unreachable
root@petalinux-lincs:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0A:35:00:22:01
inet addr:191.168.1.20 Bcast:191.168.1.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:30
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:14 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1188 (1.1 KiB) TX bytes:1188 (1.1 KiB)
Here is my device tree
/include/ "system-conf.dtsi"
/ {
};
&gem0 {
status = "okay";
phy-handle = <&phy0>;
is-internal-pcspma;
phy0: phy@9 {
reg = <0x9>;
ti,rx-internal-delay = <0x8>;
ti,tx-internal-delay = <0xa>;
ti,fifo-depth = <0x3>;
enet-phy-lane-no-swap;
ti,dp83867-rxctrl-strap-quirk;
};
};
Thanks for your help!