summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafał Miłecki <rafal@milecki.pl>2023-10-24 07:40:37 +0200
committerRafał Miłecki <rafal@milecki.pl>2023-10-26 13:43:33 +0200
commit74212e7be3adfb427ae66679623f12ef5ae56693 (patch)
tree11cf303003bbe159c53c4f680aa08796967fbd63
parentded99ab483821be4518df0237cf1f091f0abd8e8 (diff)
downloadopenwrt-74212e7be3adfb427ae66679623f12ef5ae56693.tar.gz
openwrt-74212e7be3adfb427ae66679623f12ef5ae56693.tar.bz2
openwrt-74212e7be3adfb427ae66679623f12ef5ae56693.zip
bcm53xx: backport DT changes queued for v6.7
Among other changes this commit makes Linux use correct switch ports again. Fixes: fff279f4a712 ("bcm53xx: backport DT changes from v6.5") Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit a67af19bc84e98588c307af9b08686bde9dd38d5)
-rw-r--r--target/linux/bcm53xx/patches-5.4/045-v6.7-0001-ARM-dts-BCM5301X-Set-MACs-for-D-Link-DIR-885L.patch56
-rw-r--r--target/linux/bcm53xx/patches-5.4/045-v6.7-0002-ARM-dts-BCM5301X-Set-MAC-address-for-Asus-RT-AC87U.patch44
-rw-r--r--target/linux/bcm53xx/patches-5.4/045-v6.7-0003-ARM-dts-BCM5301X-Relicense-Felix-s-code-to-the-GPL-2.patch57
-rw-r--r--target/linux/bcm53xx/patches-5.4/045-v6.7-0004-ARM-dts-BCM5301X-Relicense-Vivek-s-code-to-the-GPL-2.patch104
-rw-r--r--target/linux/bcm53xx/patches-5.4/045-v6.7-0005-ARM-dts-BCM5301X-Explicitly-disable-unused-switch-CP.patch377
-rw-r--r--target/linux/bcm53xx/patches-5.4/045-v6.7-0006-ARM-dts-BCM5301X-Set-fixed-link-for-extra-Netgear-R8.patch47
-rw-r--r--target/linux/bcm53xx/patches-5.4/304-ARM-dts-BCM5301X-Specify-switch-ports-for-remaining-.patch2
7 files changed, 686 insertions, 1 deletions
diff --git a/target/linux/bcm53xx/patches-5.4/045-v6.7-0001-ARM-dts-BCM5301X-Set-MACs-for-D-Link-DIR-885L.patch b/target/linux/bcm53xx/patches-5.4/045-v6.7-0001-ARM-dts-BCM5301X-Set-MACs-for-D-Link-DIR-885L.patch
new file mode 100644
index 0000000000..78b8975f1f
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.4/045-v6.7-0001-ARM-dts-BCM5301X-Set-MACs-for-D-Link-DIR-885L.patch
@@ -0,0 +1,56 @@
+From 5cbee5828219c4f7b33e96b5d8ce5e467b2857c8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Fri, 1 Sep 2023 12:55:49 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Set MACs for D-Link DIR-885L
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Specify NVRAM access and use its "et2macaddr" NVMEM cell.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20230901105549.7076-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ .../dts/broadcom/bcm47094-dlink-dir-885l.dts | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+--- a/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts
++++ b/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts
+@@ -25,6 +25,15 @@
+ <0x88000000 0x08000000>;
+ };
+
++ nvram@1e3f0000 {
++ compatible = "brcm,nvram";
++ reg = <0x1e3f0000 0x10000>;
++
++ et2macaddr: et2macaddr {
++ #nvmem-cell-cells = <1>;
++ };
++ };
++
+ nand_controller: nand-controller@18028000 {
+ nand@0 {
+ partitions {
+@@ -112,6 +121,11 @@
+ vcc-gpio = <&chipcommon 18 GPIO_ACTIVE_HIGH>;
+ };
+
++&gmac0 {
++ nvmem-cells = <&et2macaddr 0>;
++ nvmem-cell-names = "mac-address";
++};
++
+ &spi_nor {
+ status = "okay";
+ };
+@@ -142,6 +156,8 @@
+
+ port@4 {
+ label = "wan";
++ nvmem-cells = <&et2macaddr 3>;
++ nvmem-cell-names = "mac-address";
+ };
+
+ port@8 {
diff --git a/target/linux/bcm53xx/patches-5.4/045-v6.7-0002-ARM-dts-BCM5301X-Set-MAC-address-for-Asus-RT-AC87U.patch b/target/linux/bcm53xx/patches-5.4/045-v6.7-0002-ARM-dts-BCM5301X-Set-MAC-address-for-Asus-RT-AC87U.patch
new file mode 100644
index 0000000000..11ce7acb53
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.4/045-v6.7-0002-ARM-dts-BCM5301X-Set-MAC-address-for-Asus-RT-AC87U.patch
@@ -0,0 +1,44 @@
+From a9e79863b62aaaefcdf469fc331bf482ae00db0d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Fri, 1 Sep 2023 14:43:11 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Set MAC address for Asus RT-AC87U
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Specify NVRAM access and use its "et1macaddr" NVMEM cell.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20230901124311.31156-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/broadcom/bcm4709-asus-rt-ac87u.dts | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+--- a/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
++++ b/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
+@@ -25,6 +25,12 @@
+ <0x88000000 0x08000000>;
+ };
+
++ nvram@1c080000 {
++ et1macaddr: et1macaddr {
++ #nvmem-cell-cells = <1>;
++ };
++ };
++
+ leds {
+ compatible = "gpio-leds";
+
+@@ -62,6 +68,11 @@
+ };
+ };
+
++&gmac0 {
++ nvmem-cells = <&et1macaddr 0>;
++ nvmem-cell-names = "mac-address";
++};
++
+ &usb3_phy {
+ status = "okay";
+ };
diff --git a/target/linux/bcm53xx/patches-5.4/045-v6.7-0003-ARM-dts-BCM5301X-Relicense-Felix-s-code-to-the-GPL-2.patch b/target/linux/bcm53xx/patches-5.4/045-v6.7-0003-ARM-dts-BCM5301X-Relicense-Felix-s-code-to-the-GPL-2.patch
new file mode 100644
index 0000000000..6df1e555e9
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.4/045-v6.7-0003-ARM-dts-BCM5301X-Relicense-Felix-s-code-to-the-GPL-2.patch
@@ -0,0 +1,57 @@
+From 81ea360a16978a4df61df9db56b171909bd659c0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Sat, 16 Sep 2023 10:30:57 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Relicense Felix's code to the GPL 2.0+ /
+ MIT
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Move code added by Felix to the bcm-ns.dtsi which uses dual licensing.
+That syncs more Northstar code to be based on the same licensing schema.
+
+This code was added in the commit 1ff80363524c ("ARM: BCM5301X: Add
+profiling support").
+
+Cc: Felix Fietkau <nbd@nbd.name>
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Acked-by: Felix Fietkau <nbd@nbd.name>
+Link: https://lore.kernel.org/r/20230916083057.10458-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/broadcom/bcm-ns.dtsi | 7 +++++++
+ arch/arm/boot/dts/broadcom/bcm5301x.dtsi | 7 -------
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm-ns.dtsi
++++ b/arch/arm/boot/dts/bcm-ns.dtsi
+@@ -14,6 +14,13 @@
+ #address-cells = <1>;
+ #size-cells = <1>;
+
++ pmu {
++ compatible = "arm,cortex-a9-pmu";
++ interrupts =
++ <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
++ <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
++ };
++
+ chipcommon-a-bus@18000000 {
+ compatible = "simple-bus";
+ ranges = <0x00000000 0x18000000 0x00001000>;
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -26,13 +26,6 @@
+ };
+ };
+
+- pmu {
+- compatible = "arm,cortex-a9-pmu";
+- interrupts =
+- <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
+- <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
+- };
+-
+ clocks {
+ #address-cells = <1>;
+ #size-cells = <1>;
diff --git a/target/linux/bcm53xx/patches-5.4/045-v6.7-0004-ARM-dts-BCM5301X-Relicense-Vivek-s-code-to-the-GPL-2.patch b/target/linux/bcm53xx/patches-5.4/045-v6.7-0004-ARM-dts-BCM5301X-Relicense-Vivek-s-code-to-the-GPL-2.patch
new file mode 100644
index 0000000000..66db4a291f
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.4/045-v6.7-0004-ARM-dts-BCM5301X-Relicense-Vivek-s-code-to-the-GPL-2.patch
@@ -0,0 +1,104 @@
+From b8d4f7c1be04d66c37c119c501c87bccc4197694 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Sat, 16 Sep 2023 10:58:55 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Relicense Vivek's code to the GPL 2.0+ /
+ MIT
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Move code added by Vivek to the bcm-ns.dtsi which uses dual licensing.
+That syncs more Northstar code to be based on the same licensing schema.
+
+This code was added in the commit 37f6130ec39f ("ARM: dts: BCM5301X:
+Make USB 3.0 PHY use MDIO PHY driver").
+
+Cc: Vivek Unune <npcomplete13@gmail.com>
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Acked-by: Vivek Unune <npcomplete13@gmail.com>
+Link: https://lore.kernel.org/r/20230916085855.28375-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/broadcom/bcm-ns.dtsi | 27 ++++++++++++++++++++++++
+ arch/arm/boot/dts/broadcom/bcm5301x.dtsi | 27 ------------------------
+ 2 files changed, 27 insertions(+), 27 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm-ns.dtsi
++++ b/arch/arm/boot/dts/bcm-ns.dtsi
+@@ -327,6 +327,29 @@
+ #address-cells = <1>;
+ };
+
++ mdio-mux@18003000 {
++ compatible = "mdio-mux-mmioreg", "mdio-mux";
++ mdio-parent-bus = <&mdio>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ reg = <0x18003000 0x4>;
++ mux-mask = <0x200>;
++
++ mdio@0 {
++ reg = <0x0>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ usb3_phy: usb3-phy@10 {
++ compatible = "brcm,ns-ax-usb3-phy";
++ reg = <0x10>;
++ usb3-dmp-syscon = <&usb3_dmp>;
++ #phy-cells = <0>;
++ status = "disabled";
++ };
++ };
++ };
++
+ rng: rng@18004000 {
+ compatible = "brcm,bcm5301x-rng";
+ reg = <0x18004000 0x14>;
+@@ -467,6 +490,10 @@
+ brcm,nand-has-wp;
+ };
+
++ usb3_dmp: syscon@18105000 {
++ reg = <0x18105000 0x1000>;
++ };
++
+ thermal-zones {
+ cpu_thermal: cpu-thermal {
+ polling-delay-passive = <0>;
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -62,33 +62,6 @@
+ };
+ };
+
+- mdio-mux@18003000 {
+- compatible = "mdio-mux-mmioreg", "mdio-mux";
+- mdio-parent-bus = <&mdio>;
+- #address-cells = <1>;
+- #size-cells = <0>;
+- reg = <0x18003000 0x4>;
+- mux-mask = <0x200>;
+-
+- mdio@0 {
+- reg = <0x0>;
+- #address-cells = <1>;
+- #size-cells = <0>;
+-
+- usb3_phy: usb3-phy@10 {
+- compatible = "brcm,ns-ax-usb3-phy";
+- reg = <0x10>;
+- usb3-dmp-syscon = <&usb3_dmp>;
+- #phy-cells = <0>;
+- status = "disabled";
+- };
+- };
+- };
+-
+- usb3_dmp: syscon@18105000 {
+- reg = <0x18105000 0x1000>;
+- };
+-
+ i2c0: i2c@18009000 {
+ compatible = "brcm,iproc-i2c";
+ reg = <0x18009000 0x50>;
diff --git a/target/linux/bcm53xx/patches-5.4/045-v6.7-0005-ARM-dts-BCM5301X-Explicitly-disable-unused-switch-CP.patch b/target/linux/bcm53xx/patches-5.4/045-v6.7-0005-ARM-dts-BCM5301X-Explicitly-disable-unused-switch-CP.patch
new file mode 100644
index 0000000000..72e5c6b061
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.4/045-v6.7-0005-ARM-dts-BCM5301X-Explicitly-disable-unused-switch-CP.patch
@@ -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";
++ };
+ };
+ };
+
diff --git a/target/linux/bcm53xx/patches-5.4/045-v6.7-0006-ARM-dts-BCM5301X-Set-fixed-link-for-extra-Netgear-R8.patch b/target/linux/bcm53xx/patches-5.4/045-v6.7-0006-ARM-dts-BCM5301X-Set-fixed-link-for-extra-Netgear-R8.patch
new file mode 100644
index 0000000000..0b2b7b36a3
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.4/045-v6.7-0006-ARM-dts-BCM5301X-Set-fixed-link-for-extra-Netgear-R8.patch
@@ -0,0 +1,47 @@
+From d313b0e9070a7100ca55e64fe3b081d176d8806d 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:14 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Set fixed-link for extra Netgear R8000
+ CPU ports
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Ports 5 and 7 are disabled by default because the standard use case is
+for port 8 to manage all CPU directed traffic. For experimentation
+purposes however it is desirable to provide adequate properties such
+that people can experiment with using different ports without having to
+figure out their configuration. Some of the use cases include but are
+not limited to doubling or tripling the bandwidth by leveraging the
+additional ports/Ethernet MAC combinations.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20231013103314.10306-2-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/broadcom/bcm4709-netgear-r8000.dts | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+--- a/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
++++ b/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
+@@ -229,10 +229,20 @@
+
+ port@5 {
+ status = "disabled";
++
++ fixed-link {
++ speed = <1000>;
++ full-duplex;
++ };
+ };
+
+ port@7 {
+ status = "disabled";
++
++ fixed-link {
++ speed = <1000>;
++ full-duplex;
++ };
+ };
+
+ port@8 {
diff --git a/target/linux/bcm53xx/patches-5.4/304-ARM-dts-BCM5301X-Specify-switch-ports-for-remaining-.patch b/target/linux/bcm53xx/patches-5.4/304-ARM-dts-BCM5301X-Specify-switch-ports-for-remaining-.patch
index 6779dfb8fe..0efb284039 100644
--- a/target/linux/bcm53xx/patches-5.4/304-ARM-dts-BCM5301X-Specify-switch-ports-for-remaining-.patch
+++ b/target/linux/bcm53xx/patches-5.4/304-ARM-dts-BCM5301X-Specify-switch-ports-for-remaining-.patch
@@ -262,7 +262,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+};
--- a/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
+++ b/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
-@@ -66,6 +66,32 @@
+@@ -77,6 +77,32 @@
status = "okay";
};