bcm53xx: backport DT changes queued for v6.7
[openwrt/staging/wigyori.git] / target / linux / bcm53xx / patches-6.1 / 033-v6.7-0005-ARM-dts-BCM5301X-Explicitly-disable-unused-switch-CP.patch
diff --git a/target/linux/bcm53xx/patches-6.1/033-v6.7-0005-ARM-dts-BCM5301X-Explicitly-disable-unused-switch-CP.patch b/target/linux/bcm53xx/patches-6.1/033-v6.7-0005-ARM-dts-BCM5301X-Explicitly-disable-unused-switch-CP.patch
new file mode 100644 (file)
index 0000000..72e5c6b
--- /dev/null
@@ -0,0 +1,377 @@
+From 473baeab929444295b0530f8766e4becb6a08973 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Fri, 13 Oct 2023 12:33:13 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Explicitly disable unused switch CPU
+ ports
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+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>
+---
+ .../dts/broadcom/bcm4708-buffalo-wzr-1166dhp-common.dtsi  | 8 ++++++++
+ arch/arm/boot/dts/broadcom/bcm4708-luxul-xap-1510.dts     | 8 ++++++++
+ arch/arm/boot/dts/broadcom/bcm4708-luxul-xwc-1000.dts     | 8 ++++++++
+ arch/arm/boot/dts/broadcom/bcm4708-netgear-r6250.dts      | 8 ++++++++
+ arch/arm/boot/dts/broadcom/bcm4708-smartrg-sr400ac.dts    | 8 ++++++++
+ .../boot/dts/broadcom/bcm47081-buffalo-wzr-600dhp2.dts    | 8 ++++++++
+ arch/arm/boot/dts/broadcom/bcm47081-luxul-xap-1410.dts    | 8 ++++++++
+ arch/arm/boot/dts/broadcom/bcm47081-luxul-xwr-1200.dts    | 8 ++++++++
+ arch/arm/boot/dts/broadcom/bcm4709-netgear-r8000.dts      | 8 ++++++++
+ arch/arm/boot/dts/broadcom/bcm47094-dlink-dir-885l.dts    | 8 ++++++++
+ arch/arm/boot/dts/broadcom/bcm47094-dlink-dir-890l.dts    | 8 ++++++++
+ arch/arm/boot/dts/broadcom/bcm47094-luxul-abr-4500.dts    | 8 ++++++++
+ arch/arm/boot/dts/broadcom/bcm47094-luxul-xap-1610.dts    | 8 ++++++++
+ arch/arm/boot/dts/broadcom/bcm47094-luxul-xbr-4500.dts    | 8 ++++++++
+ arch/arm/boot/dts/broadcom/bcm47094-luxul-xwc-2000.dts    | 8 ++++++++
+ arch/arm/boot/dts/broadcom/bcm47094-luxul-xwr-3100.dts    | 8 ++++++++
+ arch/arm/boot/dts/broadcom/bcm47094-luxul-xwr-3150-v1.dts | 8 ++++++++
+ arch/arm/boot/dts/broadcom/bcm53015-meraki-mr26.dts       | 8 ++++++++
+ arch/arm/boot/dts/broadcom/bcm53016-meraki-mr32.dts       | 8 ++++++++
+ arch/arm/boot/dts/broadcom/bcm953012er.dts                | 8 ++++++++
+ 20 files changed, 160 insertions(+)
+
+--- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1166dhp-common.dtsi
++++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1166dhp-common.dtsi
+@@ -181,5 +181,13 @@
+               port@5 {
+                       label = "cpu";
+               };
++
++              port@7 {
++                      status = "disabled";
++              };
++
++              port@8 {
++                      status = "disabled";
++              };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts
++++ b/arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts
+@@ -85,5 +85,13 @@
+               port@5 {
+                       label = "cpu";
+               };
++
++              port@7 {
++                      status = "disabled";
++              };
++
++              port@8 {
++                      status = "disabled";
++              };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts
++++ b/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts
+@@ -88,5 +88,13 @@
+               port@5 {
+                       label = "cpu";
+               };
++
++              port@7 {
++                      status = "disabled";
++              };
++
++              port@8 {
++                      status = "disabled";
++              };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
++++ b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
+@@ -122,5 +122,13 @@
+               port@5 {
+                       label = "cpu";
+               };
++
++              port@7 {
++                      status = "disabled";
++              };
++
++              port@8 {
++                      status = "disabled";
++              };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
++++ b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
+@@ -145,6 +145,14 @@
+               port@5 {
+                       label = "cpu";
+               };
++
++              port@7 {
++                      status = "disabled";
++              };
++
++              port@8 {
++                      status = "disabled";
++              };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts
++++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts
+@@ -145,5 +145,13 @@
+               port@5 {
+                       label = "cpu";
+               };
++
++              port@7 {
++                      status = "disabled";
++              };
++
++              port@8 {
++                      status = "disabled";
++              };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts
++++ b/arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts
+@@ -81,5 +81,13 @@
+               port@5 {
+                       label = "cpu";
+               };
++
++              port@7 {
++                      status = "disabled";
++              };
++
++              port@8 {
++                      status = "disabled";
++              };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
++++ b/arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
+@@ -148,5 +148,13 @@
+               port@5 {
+                       label = "cpu";
+               };
++
++              port@7 {
++                      status = "disabled";
++              };
++
++              port@8 {
++                      status = "disabled";
++              };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
++++ b/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
+@@ -227,6 +227,14 @@
+                       label = "wan";
+               };
++              port@5 {
++                      status = "disabled";
++              };
++
++              port@7 {
++                      status = "disabled";
++              };
++
+               port@8 {
+                       label = "cpu";
+               };
+--- a/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts
++++ b/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts
+@@ -160,6 +160,14 @@
+                       nvmem-cell-names = "mac-address";
+               };
++              port@5 {
++                      status = "disabled";
++              };
++
++              port@7 {
++                      status = "disabled";
++              };
++
+               port@8 {
+                       label = "cpu";
+               };
+--- a/arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts
++++ b/arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts
+@@ -192,6 +192,14 @@
+                       label = "wan";
+               };
++              port@5 {
++                      status = "disabled";
++              };
++
++              port@7 {
++                      status = "disabled";
++              };
++
+               port@8 {
+                       label = "cpu";
+                       phy-mode = "rgmii";
+--- a/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
+@@ -107,5 +107,13 @@
+               port@5 {
+                       label = "cpu";
+               };
++
++              port@7 {
++                      status = "disabled";
++              };
++
++              port@8 {
++                      status = "disabled";
++              };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts
+@@ -120,5 +120,13 @@
+               port@5 {
+                       label = "cpu";
+               };
++
++              port@7 {
++                      status = "disabled";
++              };
++
++              port@8 {
++                      status = "disabled";
++              };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
+@@ -107,5 +107,13 @@
+               port@5 {
+                       label = "cpu";
+               };
++
++              port@7 {
++                      status = "disabled";
++              };
++
++              port@8 {
++                      status = "disabled";
++              };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts
+@@ -75,5 +75,13 @@
+               port@5 {
+                       label = "cpu";
+               };
++
++              port@7 {
++                      status = "disabled";
++              };
++
++              port@8 {
++                      status = "disabled";
++              };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts
+@@ -147,5 +147,13 @@
+               port@5 {
+                       label = "cpu";
+               };
++
++              port@7 {
++                      status = "disabled";
++              };
++
++              port@8 {
++                      status = "disabled";
++              };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts
+@@ -158,5 +158,13 @@
+               port@5 {
+                       label = "cpu";
+               };
++
++              port@7 {
++                      status = "disabled";
++              };
++
++              port@8 {
++                      status = "disabled";
++              };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
++++ b/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
+@@ -124,6 +124,14 @@
+                               full-duplex;
+                       };
+               };
++
++              port@7 {
++                      status = "disabled";
++              };
++
++              port@8 {
++                      status = "disabled";
++              };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
++++ b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
+@@ -185,6 +185,14 @@
+                               full-duplex;
+                       };
+               };
++
++              port@7 {
++                      status = "disabled";
++              };
++
++              port@8 {
++                      status = "disabled";
++              };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm953012er.dts
++++ b/arch/arm/boot/dts/bcm953012er.dts
+@@ -84,6 +84,14 @@
+                       label = "cpu";
+                       ethernet = <&gmac0>;
+               };
++
++              port@7 {
++                      status = "disabled";
++              };
++
++              port@8 {
++                      status = "disabled";
++              };
+       };
+ };