From ebb6f9287e33c3760b076efa6dcc1cce90e1a109 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Wed, 17 Nov 2021 16:17:07 +0100 Subject: [PATCH] sunxi: 5.10: Orange Pi Zero Plus: Fix networking Orange Pi Zero Plus uses a Realtek RTL8211E RGMII Gigabit PHY, but its currently set to plain RGMII mode meaning that it doesn't introduce delays. With this setup, TX packets are completely lost and changing the mode to RGMII-ID so the PHY will add delays internally fixes the issue. It looks like this got broken in 5.10 as the PHY RGMII config got fixed due to datasheet being available and a lot of boards got broken by that. This has already been sent upstream and received multiple reviews. Signed-off-by: Robert Marko --- ...winner-orangepi-zero-plus-fix-PHY-mo.patch | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 target/linux/sunxi/patches-5.10/103-arm64-dts-allwinner-orangepi-zero-plus-fix-PHY-mo.patch diff --git a/target/linux/sunxi/patches-5.10/103-arm64-dts-allwinner-orangepi-zero-plus-fix-PHY-mo.patch b/target/linux/sunxi/patches-5.10/103-arm64-dts-allwinner-orangepi-zero-plus-fix-PHY-mo.patch new file mode 100644 index 000000000000..e3a00348b009 --- /dev/null +++ b/target/linux/sunxi/patches-5.10/103-arm64-dts-allwinner-orangepi-zero-plus-fix-PHY-mo.patch @@ -0,0 +1,32 @@ +From 4f45f9f370a5bc6a43a7a166f10b3a30ca21353c Mon Sep 17 00:00:00 2001 +From: Robert Marko +Date: Wed, 17 Nov 2021 10:36:31 +0100 +Subject: [PATCH v2] arm64: dts: allwinner: orangepi-zero-plus: fix PHY mode + +Orange Pi Zero Plus uses a Realtek RTL8211E RGMII Gigabit PHY, but its +currently set to plain RGMII mode meaning that it doesn't introduce +delays. + +With this setup, TX packets are completely lost and changing the mode to +RGMII-ID so the PHY will add delays internally fixes the issue. + +Fixes: a7affb13b271 ("arm64: allwinner: H5: Add Xunlong Orange Pi Zero Plus") + +Tested-by: Ron Goossens +Signed-off-by: Robert Marko +Tested-by: Samuel Holland +--- + arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts +@@ -69,7 +69,7 @@ + pinctrl-0 = <&emac_rgmii_pins>; + phy-supply = <®_gmac_3v3>; + phy-handle = <&ext_rgmii_phy>; +- phy-mode = "rgmii"; ++ phy-mode = "rgmii-id"; + status = "okay"; + }; + -- 2.30.2