* Tx-delay: The vendor kernel ships with a Tx delay of 2.16ns. It may seem
to work at first but breaks under heavy load. The vendor kernel is
configured for an external RGMII clock, which cannot work on the A7A:
the 125MHz input and 25MHz reference output are not wired to the PHY.
It was most likely not tested on this board. A 1.62ns Tx delay works
well.
DT example is available here (gated on CCU and pinctrl mainline support
currently):
https://github.com/jbrun3t/linux/commit/aa6f3a5ce4cd6e09ff9be1828915bfe8e87c57df
&gmac0 {
phy-mode = "rgmii-id";
phy-handle = <&ext_rgmii0_phy>;
phy-supply = <®_swout1>;
pinctrl-names = "default";
pinctrl-0 = <&gmac0_pins>;
tx-internal-delay-ps = <1620>;
rx-internal-delay-ps = <1800>;
Something does not seem correct here. rgmii-id means the PHY is adding
2ns of delay. The MAC is adding an additional 1.6 to 1.8 ns. The total
is way too big when the standard says 2ns.
Is the PHY adding 2ns?
Andrew