[PATCH v3 16/16] arm: dts: ls1028a-qds: declare in-band autoneg for Ethernet ports

Vladimir Oltean vladimir.oltean at nxp.com
Mon Jan 3 13:47:37 CET 2022


The commit in the Fixes: tag below broke traffic through switch ports
where the SERDES protocol requires in-band autoneg and this requirement
isn't described in the device tree: SGMII, QSGMII, USXGMII (with
2500Base-X, in-band autoneg isn't supported).

The LS1028A-QDS boards are not yet ready for syncing their device trees
with Linux, since Ethernet is missing there (but has been submitted):
https://lore.kernel.org/lkml/20211112223457.10599-11-leoyang.li@nxp.com/

When agreement is reached for the Ethernet support in Linux, there will
be a sync for these boards as well. For now, just enable in-band autoneg
to fix the breakage.

Fixes: e3789a726269 ("net: dsa: felix: configure the in-band autoneg property based on OF node info")
Cc: Ramon Fried <rfried.dev at gmail.com>
Signed-off-by: Vladimir Oltean <vladimir.oltean at nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain at nxp.com>
---
v1->v3: none

 arch/arm/dts/fsl-ls1028a-qds-1xxx-sch-30842.dtsi      | 1 +
 arch/arm/dts/fsl-ls1028a-qds-8xxx-sch-24801.dtsi      | 1 +
 arch/arm/dts/fsl-ls1028a-qds-9999-sch-24801-LBRW.dtsi | 4 ++++
 arch/arm/dts/fsl-ls1028a-qds-9999-sch-24801.dtsi      | 4 ++++
 arch/arm/dts/fsl-ls1028a-qds-x3xx-sch-30841-LBRW.dtsi | 4 ++++
 arch/arm/dts/fsl-ls1028a-qds-x5xx-sch-28021-LBRW.dtsi | 4 ++++
 6 files changed, 18 insertions(+)

diff --git a/arch/arm/dts/fsl-ls1028a-qds-1xxx-sch-30842.dtsi b/arch/arm/dts/fsl-ls1028a-qds-1xxx-sch-30842.dtsi
index f4c557e69e6e..f208a02721e3 100644
--- a/arch/arm/dts/fsl-ls1028a-qds-1xxx-sch-30842.dtsi
+++ b/arch/arm/dts/fsl-ls1028a-qds-1xxx-sch-30842.dtsi
@@ -15,6 +15,7 @@
 
 &enetc_port0 {
 	status = "okay";
+	managed = "in-band-status";
 	phy-mode = "usxgmii";
 	phy-handle = <&{/soc/i2c at 2000000/fpga at 66/mux-mdio at 54/mdio at 40/phy at 02}>;
 };
diff --git a/arch/arm/dts/fsl-ls1028a-qds-8xxx-sch-24801.dtsi b/arch/arm/dts/fsl-ls1028a-qds-8xxx-sch-24801.dtsi
index 7d197c31814a..0a0926473541 100644
--- a/arch/arm/dts/fsl-ls1028a-qds-8xxx-sch-24801.dtsi
+++ b/arch/arm/dts/fsl-ls1028a-qds-8xxx-sch-24801.dtsi
@@ -14,6 +14,7 @@
 
 &enetc_port0 {
 	status = "okay";
+	managed = "in-band-status";
 	phy-mode = "sgmii";
 	phy-handle = <&{/soc/i2c at 2000000/fpga at 66/mux-mdio at 54/mdio at 40/phy at 1c}>;
 };
diff --git a/arch/arm/dts/fsl-ls1028a-qds-9999-sch-24801-LBRW.dtsi b/arch/arm/dts/fsl-ls1028a-qds-9999-sch-24801-LBRW.dtsi
index 992092ec7838..94b5e765aedb 100644
--- a/arch/arm/dts/fsl-ls1028a-qds-9999-sch-24801-LBRW.dtsi
+++ b/arch/arm/dts/fsl-ls1028a-qds-9999-sch-24801-LBRW.dtsi
@@ -44,24 +44,28 @@
 
 &mscc_felix_port0 {
 	status = "okay";
+	managed = "in-band-status";
 	phy-mode = "sgmii";
 	phy-handle = <&{/soc/i2c at 2000000/fpga at 66/mux-mdio at 54/mdio at 40/phy at 1c}>;
 };
 
 &mscc_felix_port1 {
 	status = "okay";
+	managed = "in-band-status";
 	phy-mode = "sgmii";
 	phy-handle = <&{/soc/i2c at 2000000/fpga at 66/mux-mdio at 54/mdio at 50/phy at 1c}>;
 };
 
 &mscc_felix_port2 {
 	status = "okay";
+	managed = "in-band-status";
 	phy-mode = "sgmii";
 	phy-handle = <&{/soc/i2c at 2000000/fpga at 66/mux-mdio at 54/mdio at 40/phy at 1e}>;
 };
 
 &mscc_felix_port3 {
 	status = "okay";
+	managed = "in-band-status";
 	phy-mode = "sgmii";
 	phy-handle = <&{/soc/i2c at 2000000/fpga at 66/mux-mdio at 54/mdio at 40/phy at 1f}>;
 };
diff --git a/arch/arm/dts/fsl-ls1028a-qds-9999-sch-24801.dtsi b/arch/arm/dts/fsl-ls1028a-qds-9999-sch-24801.dtsi
index a905d77a9a71..bd46adfd2928 100644
--- a/arch/arm/dts/fsl-ls1028a-qds-9999-sch-24801.dtsi
+++ b/arch/arm/dts/fsl-ls1028a-qds-9999-sch-24801.dtsi
@@ -29,24 +29,28 @@
 
 &mscc_felix_port0 {
 	status = "okay";
+	managed = "in-band-status";
 	phy-mode = "sgmii";
 	phy-handle = <&{/soc/i2c at 2000000/fpga at 66/mux-mdio at 54/mdio at 40/phy at 1c}>;
 };
 
 &mscc_felix_port1 {
 	status = "okay";
+	managed = "in-band-status";
 	phy-mode = "sgmii";
 	phy-handle = <&{/soc/i2c at 2000000/fpga at 66/mux-mdio at 54/mdio at 40/phy at 1d}>;
 };
 
 &mscc_felix_port2 {
 	status = "okay";
+	managed = "in-band-status";
 	phy-mode = "sgmii";
 	phy-handle = <&{/soc/i2c at 2000000/fpga at 66/mux-mdio at 54/mdio at 40/phy at 1e}>;
 };
 
 &mscc_felix_port3 {
 	status = "okay";
+	managed = "in-band-status";
 	phy-mode = "sgmii";
 	phy-handle = <&{/soc/i2c at 2000000/fpga at 66/mux-mdio at 54/mdio at 40/phy at 1f}>;
 };
diff --git a/arch/arm/dts/fsl-ls1028a-qds-x3xx-sch-30841-LBRW.dtsi b/arch/arm/dts/fsl-ls1028a-qds-x3xx-sch-30841-LBRW.dtsi
index 62e818f099ca..5909e7635a1a 100644
--- a/arch/arm/dts/fsl-ls1028a-qds-x3xx-sch-30841-LBRW.dtsi
+++ b/arch/arm/dts/fsl-ls1028a-qds-x3xx-sch-30841-LBRW.dtsi
@@ -29,24 +29,28 @@
 
 &mscc_felix_port0 {
 	status = "okay";
+	managed = "in-band-status";
 	phy-mode = "usxgmii";
 	phy-handle = <&{/soc/i2c at 2000000/fpga at 66/mux-mdio at 54/mdio at 50/phy at 00}>;
 };
 
 &mscc_felix_port1 {
 	status = "okay";
+	managed = "in-band-status";
 	phy-mode = "usxgmii";
 	phy-handle = <&{/soc/i2c at 2000000/fpga at 66/mux-mdio at 54/mdio at 50/phy at 01}>;
 };
 
 &mscc_felix_port2 {
 	status = "okay";
+	managed = "in-band-status";
 	phy-mode = "usxgmii";
 	phy-handle = <&{/soc/i2c at 2000000/fpga at 66/mux-mdio at 54/mdio at 50/phy at 02}>;
 };
 
 &mscc_felix_port3 {
 	status = "okay";
+	managed = "in-band-status";
 	phy-mode = "usxgmii";
 	phy-handle = <&{/soc/i2c at 2000000/fpga at 66/mux-mdio at 54/mdio at 50/phy at 03}>;
 };
diff --git a/arch/arm/dts/fsl-ls1028a-qds-x5xx-sch-28021-LBRW.dtsi b/arch/arm/dts/fsl-ls1028a-qds-x5xx-sch-28021-LBRW.dtsi
index 6f1f6cb32af7..b65220692079 100644
--- a/arch/arm/dts/fsl-ls1028a-qds-x5xx-sch-28021-LBRW.dtsi
+++ b/arch/arm/dts/fsl-ls1028a-qds-x5xx-sch-28021-LBRW.dtsi
@@ -23,24 +23,28 @@
 
 &mscc_felix_port0 {
 	status = "okay";
+	managed = "in-band-status";
 	phy-mode = "qsgmii";
 	phy-handle = <&{/soc/i2c at 2000000/fpga at 66/mux-mdio at 54/mdio at 50/phy at 08}>;
 };
 
 &mscc_felix_port1 {
 	status = "okay";
+	managed = "in-band-status";
 	phy-mode = "qsgmii";
 	phy-handle = <&{/soc/i2c at 2000000/fpga at 66/mux-mdio at 54/mdio at 50/phy at 09}>;
 };
 
 &mscc_felix_port2 {
 	status = "okay";
+	managed = "in-band-status";
 	phy-mode = "qsgmii";
 	phy-handle = <&{/soc/i2c at 2000000/fpga at 66/mux-mdio at 54/mdio at 50/phy at 0a}>;
 };
 
 &mscc_felix_port3 {
 	status = "okay";
+	managed = "in-band-status";
 	phy-mode = "qsgmii";
 	phy-handle = <&{/soc/i2c at 2000000/fpga at 66/mux-mdio at 54/mdio at 50/phy at 0b}>;
 };
-- 
2.25.1



More information about the U-Boot mailing list