From 1f1c1174f476e258e2affd6276e01e3d32876344 Mon Sep 17 00:00:00 2001
From: Camelia Groza <camelia.groza@nxp.com>
Date: Mon, 5 Jul 2021 15:20:58 +0300
Subject: [PATCH] arm64: dts: ls104x: disable ALDPS for the RTL8211F PHYs

ALDPS is enabled by default for the RTL8211F RGMII PHYs starting with
commit 66e22932eb79 ("net: phy: realtek: enable ALDPS to save power for
RTL8211F"). This enablement causes auto negotiation issues when
disconnecting and reconnecting the PHY successively.

According to the PHY data sheet, this feature is disabled by default. Add
the "rtl821x,aldps-disable" device tree property to mark this under the
affected nodes.

Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
---
 arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts | 2 ++
 arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts | 2 ++
 arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts | 2 ++
 arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts | 2 ++
 4 files changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
index fe4c4e1facd787..9269ec5bb9470d 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
@@ -227,6 +227,7 @@
 
 			rgmii_phy1: ethernet-phy@1 { /* MAC3 */
 				reg = <0x1>;
+				rtl821x,aldps-disable;
 			};
 		};
 
@@ -238,6 +239,7 @@
 
 			rgmii_phy2: ethernet-phy@2 { /* MAC4 */
 				reg = <0x2>;
+				rtl821x,aldps-disable;
 			};
 		};
 
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
index fff3082eef6b0e..3a669238a0b899 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
@@ -166,10 +166,12 @@
 	mdio@fc000 {
 		rgmii_phy1: ethernet-phy@1 {
 			reg = <0x1>;
+			rtl821x,aldps-disable;
 		};
 
 		rgmii_phy2: ethernet-phy@2 {
 			reg = <0x2>;
+			rtl821x,aldps-disable;
 		};
 
 		qsgmii_phy1: ethernet-phy@4 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
index 35fa10a5d594e0..860ae33ed52349 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts
@@ -254,6 +254,7 @@
 
 			rgmii_phy1: ethernet-phy@1 { /* MAC3 */
 				reg = <0x1>;
+				rtl821x,aldps-disable;
 			};
 		};
 
@@ -265,6 +266,7 @@
 
 			rgmii_phy2: ethernet-phy@2 { /* MAC4 */
 				reg = <0x2>;
+				rtl821x,aldps-disable;
 			};
 		};
 
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
index a45ecfdd9a9b33..1397f076b86b3e 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
@@ -165,10 +165,12 @@
 	mdio@fc000 {
 		rgmii_phy1: ethernet-phy@1 {
 			reg = <0x1>;
+			rtl821x,aldps-disable;
 		};
 
 		rgmii_phy2: ethernet-phy@2 {
 			reg = <0x2>;
+			rtl821x,aldps-disable;
 		};
 
 		sgmii_phy1: ethernet-phy@3 {
-- 
GitLab