ath79: fix nanobeam ac ethernet interface
authorNick Hainke <vincent@systemli.org>
Sun, 25 Oct 2020 14:25:01 +0000 (15:25 +0100)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Tue, 3 Nov 2020 17:34:04 +0000 (18:34 +0100)
In 4.14 the delays were not cleared, so setting "rgmii" as phy-mode
did not affect delays set by the bootloader. With 5.4 kernel the
situation changed and the ethernet interface stopped working.

"rgmii" requires rx and tx delays depending on the hardware circuit
and wiring. The mac or the phy can add these delays.
- "rgmii":  delays are controlled by the mac
- "rgmii-id": delays are controlled by the phy
More Information in Linux Kernel Tree:
Documentation/devicetree/bindings/net/ethernet-controller.yaml

"rgmii" should be the preferred mode, which allows the mac layer to
turn off the dealys completely if they are not needed. However, the
delays are not set correctly, which causes the ethernet interface
to be broken. Just taking the ethernetpart from the litebeam ac gen2
will fix the issue.

Explained-by: David Bauer <mail@david-bauer.net>
Signed-off-by: Nick Hainke <vincent@systemli.org>
target/linux/ath79/dts/ar9342_ubnt_nanobeam-ac.dts

index 6f6e4c6bb64992c39836f1540e5a33de6932a121..3dd1ba4532f83156d9395a727884071c4588fa07 100644 (file)
@@ -42,7 +42,6 @@
 
        phy-mask = <4>;
        phy4: ethernet-phy@4 {
-               phy-mode = "rgmii";
                reg = <4>;
        };
 };
        status = "okay";
 
        /* default for ar934x, except for 1000M and 10M */
-       pll-data = <0x06000000 0x00000101 0x00001313>;
+       pll-data = <0x02000000 0x00000101 0x00001313>;
 
        mtd-mac-address = <&art 0x0>;
 
-       phy-mode = "rgmii";
+       phy-mode = "rgmii-id";
        phy-handle = <&phy4>;
 
        gmac-config {