ARM: dts: BCM5301X: Explicitly disable unused switch CPU ports
authorRafał Miłecki <rafal@milecki.pl>
Fri, 13 Oct 2023 10:33:13 +0000 (12:33 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Nov 2023 10:59:17 +0000 (11:59 +0100)
[ Upstream commit 473baeab929444295b0530f8766e4becb6a08973 ]

When redescribing ports I assumed that missing "label" (like "cpu")
means switch port isn't used. That was incorrect and I realized my
change made Linux always use the first (5) CPU port (there are 3 of
them).

While above should technically be possible it often isn't correct:
1. Non-default switch ports are often connected to Ethernet interfaces
   not fully covered by vendor setup (they may miss MACs)
2. On some devices non-default ports require specifying fixed link

This fixes network connectivity for some devices. It was reported &
tested for Netgear R8000. It also affects Linksys EA9200 with its
downstream DTS.

Fixes: ba4aebce23b2 ("ARM: dts: BCM5301X: Describe switch ports in the main DTS")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Link: https://lore.kernel.org/r/20231013103314.10306-1-zajec5@gmail.com
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
20 files changed:
arch/arm/boot/dts/broadcom/bcm4708-buffalo-wzr-1166dhp-common.dtsi
arch/arm/boot/dts/broadcom/bcm4708-luxul-xap-1510.dts
arch/arm/boot/dts/broadcom/bcm4708-luxul-xwc-1000.dts
arch/arm/boot/dts/broadcom/bcm4708-netgear-r6250.dts
arch/arm/boot/dts/broadcom/bcm4708-smartrg-sr400ac.dts
arch/arm/boot/dts/broadcom/bcm47081-buffalo-wzr-600dhp2.dts
arch/arm/boot/dts/broadcom/bcm47081-luxul-xap-1410.dts
arch/arm/boot/dts/broadcom/bcm47081-luxul-xwr-1200.dts
arch/arm/boot/dts/broadcom/bcm4709-netgear-r8000.dts
arch/arm/boot/dts/broadcom/bcm47094-dlink-dir-885l.dts
arch/arm/boot/dts/broadcom/bcm47094-dlink-dir-890l.dts
arch/arm/boot/dts/broadcom/bcm47094-luxul-abr-4500.dts
arch/arm/boot/dts/broadcom/bcm47094-luxul-xap-1610.dts
arch/arm/boot/dts/broadcom/bcm47094-luxul-xbr-4500.dts
arch/arm/boot/dts/broadcom/bcm47094-luxul-xwc-2000.dts
arch/arm/boot/dts/broadcom/bcm47094-luxul-xwr-3100.dts
arch/arm/boot/dts/broadcom/bcm47094-luxul-xwr-3150-v1.dts
arch/arm/boot/dts/broadcom/bcm53015-meraki-mr26.dts
arch/arm/boot/dts/broadcom/bcm53016-meraki-mr32.dts
arch/arm/boot/dts/broadcom/bcm953012er.dts

index 42bcbf1..9f90842 100644 (file)
                port@5 {
                        label = "cpu";
                };
+
+               port@7 {
+                       status = "disabled";
+               };
+
+               port@8 {
+                       status = "disabled";
+               };
        };
 };
index e04d2e5..72e960c 100644 (file)
                port@5 {
                        label = "cpu";
                };
+
+               port@7 {
+                       status = "disabled";
+               };
+
+               port@8 {
+                       status = "disabled";
+               };
        };
 };
index a399800..750e174 100644 (file)
                port@5 {
                        label = "cpu";
                };
+
+               port@7 {
+                       status = "disabled";
+               };
+
+               port@8 {
+                       status = "disabled";
+               };
        };
 };
index fad3473..2bdbc7d 100644 (file)
                port@5 {
                        label = "cpu";
                };
+
+               port@7 {
+                       status = "disabled";
+               };
+
+               port@8 {
+                       status = "disabled";
+               };
        };
 };
index 5b2b7b8..b226bef 100644 (file)
                port@5 {
                        label = "cpu";
                };
+
+               port@7 {
+                       status = "disabled";
+               };
+
+               port@8 {
+                       status = "disabled";
+               };
        };
 };
 
index d0a26b6..192b8db 100644 (file)
                port@5 {
                        label = "cpu";
                };
+
+               port@7 {
+                       status = "disabled";
+               };
+
+               port@8 {
+                       status = "disabled";
+               };
        };
 };
index 9f21d6d..0198b5f 100644 (file)
                port@5 {
                        label = "cpu";
                };
+
+               port@7 {
+                       status = "disabled";
+               };
+
+               port@8 {
+                       status = "disabled";
+               };
        };
 };
index 2561072..73ff169 100644 (file)
                port@5 {
                        label = "cpu";
                };
+
+               port@7 {
+                       status = "disabled";
+               };
+
+               port@8 {
+                       status = "disabled";
+               };
        };
 };
index 707c561..55fc9f4 100644 (file)
                        label = "wan";
                };
 
+               port@5 {
+                       status = "disabled";
+               };
+
+               port@7 {
+                       status = "disabled";
+               };
+
                port@8 {
                        label = "cpu";
                };
index c914569..e6d2698 100644 (file)
                        label = "wan";
                };
 
+               port@5 {
+                       status = "disabled";
+               };
+
+               port@7 {
+                       status = "disabled";
+               };
+
                port@8 {
                        label = "cpu";
                };
index f050acb..3124dfd 100644 (file)
                        label = "wan";
                };
 
+               port@5 {
+                       status = "disabled";
+               };
+
+               port@7 {
+                       status = "disabled";
+               };
+
                port@8 {
                        label = "cpu";
                        phy-mode = "rgmii";
index e8991d4..e374062 100644 (file)
                port@5 {
                        label = "cpu";
                };
+
+               port@7 {
+                       status = "disabled";
+               };
+
+               port@8 {
+                       status = "disabled";
+               };
        };
 };
index afc635c..badafa0 100644 (file)
                port@5 {
                        label = "cpu";
                };
+
+               port@7 {
+                       status = "disabled";
+               };
+
+               port@8 {
+                       status = "disabled";
+               };
        };
 };
index 7cfa460..cf95af9 100644 (file)
                port@5 {
                        label = "cpu";
                };
+
+               port@7 {
+                       status = "disabled";
+               };
+
+               port@8 {
+                       status = "disabled";
+               };
        };
 };
index d55e100..992c19e 100644 (file)
                port@5 {
                        label = "cpu";
                };
+
+               port@7 {
+                       status = "disabled";
+               };
+
+               port@8 {
+                       status = "disabled";
+               };
        };
 };
index ccf031c..4d0ba31 100644 (file)
                port@5 {
                        label = "cpu";
                };
+
+               port@7 {
+                       status = "disabled";
+               };
+
+               port@8 {
+                       status = "disabled";
+               };
        };
 };
index e28f7a3..83c429a 100644 (file)
                port@5 {
                        label = "cpu";
                };
+
+               port@7 {
+                       status = "disabled";
+               };
+
+               port@8 {
+                       status = "disabled";
+               };
        };
 };
index 03ad614..0bf5106 100644 (file)
                                full-duplex;
                        };
                };
+
+               port@7 {
+                       status = "disabled";
+               };
+
+               port@8 {
+                       status = "disabled";
+               };
        };
 };
 
index 26c12bf..25eeacf 100644 (file)
                                full-duplex;
                        };
                };
+
+               port@7 {
+                       status = "disabled";
+               };
+
+               port@8 {
+                       status = "disabled";
+               };
        };
 };
 
index 4fe3b36..d939ec9 100644 (file)
                        label = "cpu";
                        ethernet = <&gmac0>;
                };
+
+               port@7 {
+                       status = "disabled";
+               };
+
+               port@8 {
+                       status = "disabled";
+               };
        };
 };