arm: dts: ls1028a-qds: declare in-band autoneg for Ethernet ports
authorVladimir Oltean <vladimir.oltean@nxp.com>
Mon, 3 Jan 2022 12:47:37 +0000 (14:47 +0200)
committerPriyanka Jain <priyanka.jain@nxp.com>
Tue, 1 Feb 2022 09:38:07 +0000 (15:08 +0530)
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@gmail.com>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
arch/arm/dts/fsl-ls1028a-qds-1xxx-sch-30842.dtsi
arch/arm/dts/fsl-ls1028a-qds-8xxx-sch-24801.dtsi
arch/arm/dts/fsl-ls1028a-qds-9999-sch-24801-LBRW.dtsi
arch/arm/dts/fsl-ls1028a-qds-9999-sch-24801.dtsi
arch/arm/dts/fsl-ls1028a-qds-x3xx-sch-30841-LBRW.dtsi
arch/arm/dts/fsl-ls1028a-qds-x5xx-sch-28021-LBRW.dtsi

index f4c557e..f208a02 100644 (file)
@@ -15,6 +15,7 @@
 
 &enetc_port0 {
        status = "okay";
+       managed = "in-band-status";
        phy-mode = "usxgmii";
        phy-handle = <&{/soc/i2c@2000000/fpga@66/mux-mdio@54/mdio@40/phy@02}>;
 };
index 7d197c3..0a09264 100644 (file)
@@ -14,6 +14,7 @@
 
 &enetc_port0 {
        status = "okay";
+       managed = "in-band-status";
        phy-mode = "sgmii";
        phy-handle = <&{/soc/i2c@2000000/fpga@66/mux-mdio@54/mdio@40/phy@1c}>;
 };
index 992092e..94b5e76 100644 (file)
 
 &mscc_felix_port0 {
        status = "okay";
+       managed = "in-band-status";
        phy-mode = "sgmii";
        phy-handle = <&{/soc/i2c@2000000/fpga@66/mux-mdio@54/mdio@40/phy@1c}>;
 };
 
 &mscc_felix_port1 {
        status = "okay";
+       managed = "in-band-status";
        phy-mode = "sgmii";
        phy-handle = <&{/soc/i2c@2000000/fpga@66/mux-mdio@54/mdio@50/phy@1c}>;
 };
 
 &mscc_felix_port2 {
        status = "okay";
+       managed = "in-band-status";
        phy-mode = "sgmii";
        phy-handle = <&{/soc/i2c@2000000/fpga@66/mux-mdio@54/mdio@40/phy@1e}>;
 };
 
 &mscc_felix_port3 {
        status = "okay";
+       managed = "in-band-status";
        phy-mode = "sgmii";
        phy-handle = <&{/soc/i2c@2000000/fpga@66/mux-mdio@54/mdio@40/phy@1f}>;
 };
index a905d77..bd46adf 100644 (file)
 
 &mscc_felix_port0 {
        status = "okay";
+       managed = "in-band-status";
        phy-mode = "sgmii";
        phy-handle = <&{/soc/i2c@2000000/fpga@66/mux-mdio@54/mdio@40/phy@1c}>;
 };
 
 &mscc_felix_port1 {
        status = "okay";
+       managed = "in-band-status";
        phy-mode = "sgmii";
        phy-handle = <&{/soc/i2c@2000000/fpga@66/mux-mdio@54/mdio@40/phy@1d}>;
 };
 
 &mscc_felix_port2 {
        status = "okay";
+       managed = "in-band-status";
        phy-mode = "sgmii";
        phy-handle = <&{/soc/i2c@2000000/fpga@66/mux-mdio@54/mdio@40/phy@1e}>;
 };
 
 &mscc_felix_port3 {
        status = "okay";
+       managed = "in-band-status";
        phy-mode = "sgmii";
        phy-handle = <&{/soc/i2c@2000000/fpga@66/mux-mdio@54/mdio@40/phy@1f}>;
 };
index 62e818f..5909e76 100644 (file)
 
 &mscc_felix_port0 {
        status = "okay";
+       managed = "in-band-status";
        phy-mode = "usxgmii";
        phy-handle = <&{/soc/i2c@2000000/fpga@66/mux-mdio@54/mdio@50/phy@00}>;
 };
 
 &mscc_felix_port1 {
        status = "okay";
+       managed = "in-band-status";
        phy-mode = "usxgmii";
        phy-handle = <&{/soc/i2c@2000000/fpga@66/mux-mdio@54/mdio@50/phy@01}>;
 };
 
 &mscc_felix_port2 {
        status = "okay";
+       managed = "in-band-status";
        phy-mode = "usxgmii";
        phy-handle = <&{/soc/i2c@2000000/fpga@66/mux-mdio@54/mdio@50/phy@02}>;
 };
 
 &mscc_felix_port3 {
        status = "okay";
+       managed = "in-band-status";
        phy-mode = "usxgmii";
        phy-handle = <&{/soc/i2c@2000000/fpga@66/mux-mdio@54/mdio@50/phy@03}>;
 };
index 6f1f6cb..b652206 100644 (file)
 
 &mscc_felix_port0 {
        status = "okay";
+       managed = "in-band-status";
        phy-mode = "qsgmii";
        phy-handle = <&{/soc/i2c@2000000/fpga@66/mux-mdio@54/mdio@50/phy@08}>;
 };
 
 &mscc_felix_port1 {
        status = "okay";
+       managed = "in-band-status";
        phy-mode = "qsgmii";
        phy-handle = <&{/soc/i2c@2000000/fpga@66/mux-mdio@54/mdio@50/phy@09}>;
 };
 
 &mscc_felix_port2 {
        status = "okay";
+       managed = "in-band-status";
        phy-mode = "qsgmii";
        phy-handle = <&{/soc/i2c@2000000/fpga@66/mux-mdio@54/mdio@50/phy@0a}>;
 };
 
 &mscc_felix_port3 {
        status = "okay";
+       managed = "in-band-status";
        phy-mode = "qsgmii";
        phy-handle = <&{/soc/i2c@2000000/fpga@66/mux-mdio@54/mdio@50/phy@0b}>;
 };