Tool/software: Linux
I have a new board design using a Xilinx Zynq 7020 microprocessor running PetaLinux closely based on this design: http://zedboard.org/product/microzed, and cannot get Ethernet working with this PHY. It auto-negotiates reliably to 100Base-T when I connect it to a laptop, but when I try to ping the board from the laptop, pings rarely go through. Some days, I get about 30% of the pings back; other days I try all day and get nothing back. The same SD card works on the MicroZed board, so I don't think it's an OS issue. The Ethernet waveform looks normal on an o-scope, but I do not have a network analyzer so I can't be sure.
I do have the capability to read and set registers on this PHY via U-Boot. I've seen multiple forums on here suggest tweaking "clock and data skew" on the PHY, but I cannot find in the data sheet how this can be done. The only thing I see is RGMII Control Register at address 0x0032 and RGMII Delay Control Register at address 0x0086. Tweaking these don't seem to have any effect. Are there settings I can tweak that can help be narrow down the issue?
Is there anything else I should be doing to help narrow this issue down? I have extensive hardware resources, but I am not an Ethernet expert.
Thanks!