
In a bit of a blunder, the blamed commit in the Fixes: tag below made the mscc_felix switch driver look at the 'managed = "in-band-status"' device tree property, forgetting that the U-Boot device tree had not been updated to include that property, whereas the Linux one does.
The switch is therefore described in the device tree as not requiring in-band autoneg, but the PHY driver for VSC8514 (drivers/net/phy/mscc.c) still enables that feature. This results in a mismatch => no traffic.
This patch is a copy-paste of the Ethernet device tree nodes from Linux, which resolves that issue. The device tree update also renames the Ethernet PHY labels.
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-rdb.dts | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-)
diff --git a/arch/arm/dts/fsl-ls1028a-rdb.dts b/arch/arm/dts/fsl-ls1028a-rdb.dts index 11bf7e5f627d..b5e56b1c1f15 100644 --- a/arch/arm/dts/fsl-ls1028a-rdb.dts +++ b/arch/arm/dts/fsl-ls1028a-rdb.dts @@ -45,33 +45,33 @@ };
&enetc_mdio_pf3 { - status = "okay"; - rdb_phy0: phy@2 { - reg = <2>; + sgmii_phy0: ethernet-phy@2 { + reg = <0x2>; };
- /* VSC8514 QSGMII PHY */ - sw_phy0: phy@10 { + /* VSC8514 QSGMII quad PHY */ + qsgmii_phy0: ethernet-phy@10 { reg = <0x10>; };
- sw_phy1: phy@11 { + qsgmii_phy1: ethernet-phy@11 { reg = <0x11>; };
- sw_phy2: phy@12 { + qsgmii_phy2: ethernet-phy@12 { reg = <0x12>; };
- sw_phy3: phy@13 { + qsgmii_phy3: ethernet-phy@13 { reg = <0x13>; }; };
&enetc_port0 { - status = "okay"; + phy-handle = <&sgmii_phy0>; phy-mode = "sgmii"; - phy-handle = <&rdb_phy0>; + managed = "in-band-status"; + status = "okay"; };
&enetc_port2 { @@ -158,28 +158,32 @@
&mscc_felix_port0 { label = "swp0"; - phy-handle = <&sw_phy0>; + managed = "in-band-status"; + phy-handle = <&qsgmii_phy0>; phy-mode = "qsgmii"; status = "okay"; };
&mscc_felix_port1 { label = "swp1"; - phy-handle = <&sw_phy1>; + managed = "in-band-status"; + phy-handle = <&qsgmii_phy1>; phy-mode = "qsgmii"; status = "okay"; };
&mscc_felix_port2 { label = "swp2"; - phy-handle = <&sw_phy2>; + managed = "in-band-status"; + phy-handle = <&qsgmii_phy2>; phy-mode = "qsgmii"; status = "okay"; };
&mscc_felix_port3 { label = "swp3"; - phy-handle = <&sw_phy3>; + managed = "in-band-status"; + phy-handle = <&qsgmii_phy3>; phy-mode = "qsgmii"; status = "okay"; };