aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorMatthijs Kooijman <matthijs@stdin.nl>2023-08-31 21:10:23 +0200
committerChristian Marangi <ansuelsmth@gmail.com>2023-09-17 16:39:47 +0200
commitc3be8324273dbd3f034fb3fe5b9d5ad7081b2d1f (patch)
tree8a6e83a78679ba7ac1cc992b0b1333704fb80cfd /target
parentd536f398eb2c1409005bbfa6a74d92ca145eb0b3 (diff)
downloadupstream-c3be8324273dbd3f034fb3fe5b9d5ad7081b2d1f.tar.gz
upstream-c3be8324273dbd3f034fb3fe5b9d5ad7081b2d1f.tar.bz2
upstream-c3be8324273dbd3f034fb3fe5b9d5ad7081b2d1f.zip
ath79: fix packetloss on some WLR-7100
On some WLR-7100 routers, significant packet loss was observed. This is fixed by configuring a delay on the GMAC0 RXD and RXDV lines. The values used in this commit are copied from the values used by the stock firmare (based on register dumping). Out of four test routers, the problem was consistently observed on two. It is unclear what the relevant difference is exactly (the two working routers were v1 001 with AR1022 and v1 002 with AR9342, the two broken routers were both v1 002 with AR1022). All PCB routing also seems identical, so maybe there is some stray capacitance on some of these that adds just enough delay or so... With this change, the packet loss disappears on the broken routers, without introducing new packet loss on the previously working routers. Note that the PHY *also* has delays enabled (through `qca,ar8327-initvals`) on both RX and TX lines, but apparently that is not enough, or it is not effective (registers have been verified to be written). For detailed discussion of this issue and debug history, see https://forum.openwrt.org/t/sitecom-wlr-7100-development-progress/79641 Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl> (cherry picked from commit d2ce3a61aa1cbc53988eb640cbab48e20fbfb1aa)
Diffstat (limited to 'target')
-rw-r--r--target/linux/ath79/dts/ar1022_sitecom_wlr-7100.dts2
1 files changed, 2 insertions, 0 deletions
diff --git a/target/linux/ath79/dts/ar1022_sitecom_wlr-7100.dts b/target/linux/ath79/dts/ar1022_sitecom_wlr-7100.dts
index d008dd5ec8..e2ccef105d 100644
--- a/target/linux/ath79/dts/ar1022_sitecom_wlr-7100.dts
+++ b/target/linux/ath79/dts/ar1022_sitecom_wlr-7100.dts
@@ -65,6 +65,8 @@
gmac-config {
device = <&gmac>;
rgmii-gmac0 = <1>;
+ rxdv-delay = <3>;
+ rxd-delay = <3>;
};
};