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....@gmail.com>
Signed-off-by: Vladimir Oltean <vladimir.olt...@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.j...@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";
 };
-- 
2.25.1

Reply via email to