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

2021-12-06 Thread Priyanka Jain



>-Original Message-
>From: Vladimir Oltean 
>Sent: Thursday, December 2, 2021 8:24 PM
>To: u-boot@lists.denx.de
>Cc: Michael Walle ; Tom Rini ;
>Priyanka Jain ; Leo Li ; Ramon
>Fried 
>Subject: [PATCH 15/15] arm: dts: ls1028a-qds: declare in-band autoneg for
>Ethernet ports
>
>As explained in the previous patch "arm: dts: ls1028a-rdb: sync Ethernet
>device tree nodes with Linux", the commit below broke traffic through switch
>ports where the SERDES protocol requires in-band autoneg: SGMII, QSGMII,
>USXGMII (with 2500Base-X, in-band autoneg isn't supported).
>
Please write description independent of other patch or mention commit details
for better readability at later point.

>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/2022223457.10599-11-leoyang...@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 
>Signed-off-by: Vladimir Oltean 
>---

Some minor comments on description, rest looks fine

Reviewed-by: Priyanka Jain 


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

2021-12-02 Thread Vladimir Oltean
As explained in the previous patch "arm: dts: ls1028a-rdb: sync Ethernet
device tree nodes with Linux", the commit below broke traffic through
switch ports where the SERDES protocol requires in-band autoneg: 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/2022223457.10599-11-leoyang...@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 
Signed-off-by: Vladimir Oltean 
---
 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--sch-24801-LBRW.dtsi | 4 
 arch/arm/dts/fsl-ls1028a-qds--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 @@
 
 _port0 {
status = "okay";
+   managed = "in-band-status";
phy-mode = "usxgmii";
phy-handle = <&{/soc/i2c@200/fpga@66/mux-mdio@54/mdio@40/phy@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 @@
 
 _port0 {
status = "okay";
+   managed = "in-band-status";
phy-mode = "sgmii";
phy-handle = <&{/soc/i2c@200/fpga@66/mux-mdio@54/mdio@40/phy@1c}>;
 };
diff --git a/arch/arm/dts/fsl-ls1028a-qds--sch-24801-LBRW.dtsi 
b/arch/arm/dts/fsl-ls1028a-qds--sch-24801-LBRW.dtsi
index 992092ec7838..94b5e765aedb 100644
--- a/arch/arm/dts/fsl-ls1028a-qds--sch-24801-LBRW.dtsi
+++ b/arch/arm/dts/fsl-ls1028a-qds--sch-24801-LBRW.dtsi
@@ -44,24 +44,28 @@
 
 _felix_port0 {
status = "okay";
+   managed = "in-band-status";
phy-mode = "sgmii";
phy-handle = <&{/soc/i2c@200/fpga@66/mux-mdio@54/mdio@40/phy@1c}>;
 };
 
 _felix_port1 {
status = "okay";
+   managed = "in-band-status";
phy-mode = "sgmii";
phy-handle = <&{/soc/i2c@200/fpga@66/mux-mdio@54/mdio@50/phy@1c}>;
 };
 
 _felix_port2 {
status = "okay";
+   managed = "in-band-status";
phy-mode = "sgmii";
phy-handle = <&{/soc/i2c@200/fpga@66/mux-mdio@54/mdio@40/phy@1e}>;
 };
 
 _felix_port3 {
status = "okay";
+   managed = "in-band-status";
phy-mode = "sgmii";
phy-handle = <&{/soc/i2c@200/fpga@66/mux-mdio@54/mdio@40/phy@1f}>;
 };
diff --git a/arch/arm/dts/fsl-ls1028a-qds--sch-24801.dtsi 
b/arch/arm/dts/fsl-ls1028a-qds--sch-24801.dtsi
index a905d77a9a71..bd46adfd2928 100644
--- a/arch/arm/dts/fsl-ls1028a-qds--sch-24801.dtsi
+++ b/arch/arm/dts/fsl-ls1028a-qds--sch-24801.dtsi
@@ -29,24 +29,28 @@
 
 _felix_port0 {
status = "okay";
+   managed = "in-band-status";
phy-mode = "sgmii";
phy-handle = <&{/soc/i2c@200/fpga@66/mux-mdio@54/mdio@40/phy@1c}>;
 };
 
 _felix_port1 {
status = "okay";
+   managed = "in-band-status";
phy-mode = "sgmii";
phy-handle = <&{/soc/i2c@200/fpga@66/mux-mdio@54/mdio@40/phy@1d}>;
 };
 
 _felix_port2 {
status = "okay";
+   managed = "in-band-status";
phy-mode = "sgmii";
phy-handle = <&{/soc/i2c@200/fpga@66/mux-mdio@54/mdio@40/phy@1e}>;
 };
 
 _felix_port3 {
status = "okay";
+   managed = "in-band-status";
phy-mode = "sgmii";
phy-handle = <&{/soc/i2c@200/fpga@66/mux-mdio@54/mdio@40/phy@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 @@
 
 _felix_port0 {
status = "okay";
+   managed = "in-band-status";
phy-mode = "usxgmii";
phy-handle = <&{/soc/i2c@200/fpga@66/mux-mdio@54/mdio@50/phy@00}>;
 };
 
 _felix_port1 {
status = "okay";
+   managed = "in-band-status";
phy-mode = "usxgmii";
phy-handle = <&{/soc/i2c@200/fpga@66/mux-mdio@54/mdio@50/phy@01}>;
 };
 
 _felix_port2 {