Hello Andrew, Am Mittwoch, den 11.01.2017, 16:14 +0100 schrieb Andrew Lunn: > > > > So I wonder what is correct now? As for me the patch makes RGMII > > unusable. > > Has anyone an explanation? > Hi Teresa > > In your device tree, what phy-mode do you have? > > And does your hardware require an RGMII delay in order that it works?
my device tree node for the RGMII looks like this: &cpsw_emac1 { phy-handle = <&phy1>; phy-mode = "rgmii"; dual_emac_res_vlan = <2>; status = "okay"; }; &davinci_mdio { phy1: ethernet-phy@1 { reg = <2>; /* Register 260 (104h) – RGMII Clock and Control Pad Skew */ rxc-skew-ps = <1400>; rxdv-skew-ps = <0>; txc-skew-ps = <1400>; txen-skew-ps = <0>; /* Register 261 (105h) – RGMII RX Data Pad Skew */ rxd3-skew-ps = <0>; rxd2-skew-ps = <0>; rxd1-skew-ps = <0>; rxd0-skew-ps = <0>; /* Register 262 (106h) – RGMII TX Data Pad Skew */ txd3-skew-ps = <0>; txd2-skew-ps = <0>; txd1-skew-ps = <0>; txd0-skew-ps = <0>; }; }; The phy we use is a KSZ9021. And yes we add delays to the phy, as you can see. When looking to the dts documentation I probably need to set the phy-mode to "rgmii-id" instead, as the phy is providing the delays. I make a quick test with that change and it is working. So this seems to solve my problem. Thank you for the hint. Regards, Teresa > > Andrew