openwrt/target/linux/ath79/dts/ar9342_ubnt_nanobeam-ac.dts
Nick Hainke 50a76208bc ath79: fix nanobeam ac ethernet interface
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>
2020-11-03 18:34:04 +01:00

66 lines
1.0 KiB
Plaintext

// SPDX-License-Identifier: GPL-2.0-only
#include "ar9342_ubnt_wa.dtsi"
/ {
compatible = "ubnt,nanobeam-ac", "ubnt,wa", "qca,ar9342";
model = "Ubiquiti NanoBeam AC (WA)";
aliases {
led-boot = &led_rssi3;
led-failsafe = &led_rssi3;
led-upgrade = &led_rssi3;
};
leds {
compatible = "gpio-leds";
rssi0 {
label = "blue:rssi0";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
};
rssi1 {
label = "blue:rssi1";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
rssi2 {
label = "blue:rssi2";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
led_rssi3: rssi3 {
label = "blue:rssi3";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
};
};
&mdio0 {
status = "okay";
phy-mask = <4>;
phy4: ethernet-phy@4 {
reg = <4>;
};
};
&eth0 {
status = "okay";
/* default for ar934x, except for 1000M and 10M */
pll-data = <0x02000000 0x00000101 0x00001313>;
mtd-mac-address = <&art 0x0>;
phy-mode = "rgmii-id";
phy-handle = <&phy4>;
gmac-config {
device = <&gmac>;
rxd-delay = <3>;
rxdv-delay = <3>;
};
};