From: Rosen Penev Date: Sat, 28 Feb 2026 23:43:13 +0000 (-0800) Subject: bcm53xx: backport various fixes X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f46fa08dfb9d4612b41cd05a5e8ddf7e3fc255d3;p=thirdparty%2Fopenwrt.git bcm53xx: backport various fixes Several fixes made it upstream. Backport them. Also add some local fixes. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/22223 Signed-off-by: Jonas Jelonek --- diff --git a/target/linux/bcm53xx/patches-6.12/311-ARM-dts-BCM5301X-EA9200-set-WAN-MAC-from-nvram.patch b/target/linux/bcm53xx/patches-6.12/311-v7.1-ARM-dts-BCM5301X-EA9200-set-WAN-MAC-from-nvram.patch similarity index 71% rename from target/linux/bcm53xx/patches-6.12/311-ARM-dts-BCM5301X-EA9200-set-WAN-MAC-from-nvram.patch rename to target/linux/bcm53xx/patches-6.12/311-v7.1-ARM-dts-BCM5301X-EA9200-set-WAN-MAC-from-nvram.patch index 3abec78a612..f31b7154020 100644 --- a/target/linux/bcm53xx/patches-6.12/311-ARM-dts-BCM5301X-EA9200-set-WAN-MAC-from-nvram.patch +++ b/target/linux/bcm53xx/patches-6.12/311-v7.1-ARM-dts-BCM5301X-EA9200-set-WAN-MAC-from-nvram.patch @@ -1,12 +1,14 @@ -From 3482a3f37240826c825d05fceebbfe5877f587d4 Mon Sep 17 00:00:00 2001 +From 93214f2574126ee55494b4390ced5cd3f0e42aa9 Mon Sep 17 00:00:00 2001 From: Rosen Penev -Date: Tue, 17 Feb 2026 20:20:16 -0800 +Date: Wed, 25 Feb 2026 15:08:24 -0800 Subject: [PATCH] ARM: dts: BCM5301X: EA9200: set WAN MAC from nvram -The MAC address from the stock firmare is offset by 1. Define it +The MAC address from the stock firmware is offset by 1. Define it properly to avoid having to override it in userspace. Signed-off-by: Rosen Penev +Link: https://lore.kernel.org/r/20260225230827.21715-2-rosenp@gmail.com +Signed-off-by: Florian Fainelli --- arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/target/linux/bcm53xx/patches-6.12/312-ARM-dts-BCM5301X-panamera-set-WAN-MAC-from-nvram.patch b/target/linux/bcm53xx/patches-6.12/312-v7.1-ARM-dts-BCM5301X-panamera-set-WAN-MAC-from-nvram.patch similarity index 72% rename from target/linux/bcm53xx/patches-6.12/312-ARM-dts-BCM5301X-panamera-set-WAN-MAC-from-nvram.patch rename to target/linux/bcm53xx/patches-6.12/312-v7.1-ARM-dts-BCM5301X-panamera-set-WAN-MAC-from-nvram.patch index a775f7e1f02..ae8277ee053 100644 --- a/target/linux/bcm53xx/patches-6.12/312-ARM-dts-BCM5301X-panamera-set-WAN-MAC-from-nvram.patch +++ b/target/linux/bcm53xx/patches-6.12/312-v7.1-ARM-dts-BCM5301X-panamera-set-WAN-MAC-from-nvram.patch @@ -1,12 +1,14 @@ -From cbbaa1f69301755409bc3ddbf2401c8b87a73658 Mon Sep 17 00:00:00 2001 +From 649a62e1855b25c482670304ac473ed34b3621b4 Mon Sep 17 00:00:00 2001 From: Rosen Penev -Date: Tue, 17 Feb 2026 20:30:02 -0800 +Date: Wed, 25 Feb 2026 15:08:25 -0800 Subject: [PATCH] ARM: dts: BCM5301X: panamera: set WAN MAC from nvram -The MAC address from the stock firmare is offset by 1. Define it +The MAC address from the stock firmware is offset by 1. Define it properly to avoid having to override it in userspace. Signed-off-by: Rosen Penev +Link: https://lore.kernel.org/r/20260225230827.21715-3-rosenp@gmail.com +Signed-off-by: Florian Fainelli --- arch/arm/boot/dts/broadcom/bcm47094-linksys-panamera.dts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/target/linux/bcm53xx/patches-6.12/320-v7.1-ARM-dts-BCM5301X-EA9200-add-WiFi-button.patch b/target/linux/bcm53xx/patches-6.12/320-v7.1-ARM-dts-BCM5301X-EA9200-add-WiFi-button.patch new file mode 100644 index 00000000000..a12337dca20 --- /dev/null +++ b/target/linux/bcm53xx/patches-6.12/320-v7.1-ARM-dts-BCM5301X-EA9200-add-WiFi-button.patch @@ -0,0 +1,29 @@ +From 977707168d5444947f4f0ff21dffa5645a6d80bd Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Wed, 18 Mar 2026 20:53:19 -0700 +Subject: [PATCH] ARM: dts: BCM5301X: EA9200: add WiFi button + +Adds ability to configure the WiFi button. + +Signed-off-by: Rosen Penev +Link: https://lore.kernel.org/r/20260319035324.269905-2-rosenp@gmail.com +Signed-off-by: Florian Fainelli +--- + arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts ++++ b/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts +@@ -40,6 +40,12 @@ + gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>; + }; + ++ button-rfkill { ++ label = "WiFi"; ++ linux,code = ; ++ gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>; ++ }; ++ + button-restart { + label = "Reset"; + linux,code = ; diff --git a/target/linux/bcm53xx/patches-6.12/321-v7.1-ARM-dts-BCM5301X-EA9200-add-USB-GPIOs.patch b/target/linux/bcm53xx/patches-6.12/321-v7.1-ARM-dts-BCM5301X-EA9200-add-USB-GPIOs.patch new file mode 100644 index 00000000000..d26421d2916 --- /dev/null +++ b/target/linux/bcm53xx/patches-6.12/321-v7.1-ARM-dts-BCM5301X-EA9200-add-USB-GPIOs.patch @@ -0,0 +1,31 @@ +From a4311aede88e8f1a5d606ce239aea9314813786f Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Wed, 18 Mar 2026 20:53:20 -0700 +Subject: [PATCH] ARM: dts: BCM5301X: EA9200: add USB GPIOs + +Allows at least halt to turn the USB ports off. + +Signed-off-by: Rosen Penev +Link: https://lore.kernel.org/r/20260319035324.269905-3-rosenp@gmail.com +Signed-off-by: Florian Fainelli +--- + arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts | 8 ++++++++ + 1 file changed, 8 insertions(+) + +--- a/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts ++++ b/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts +@@ -58,6 +58,14 @@ + status = "okay"; + }; + ++&usb2 { ++ vcc-gpios = <&chipcommon 13 GPIO_ACTIVE_HIGH>; ++}; ++ ++&usb3 { ++ vcc-gpios = <&chipcommon 14 GPIO_ACTIVE_HIGH>; ++}; ++ + &srab { + status = "okay"; + diff --git a/target/linux/bcm53xx/patches-6.12/322-v7.1-ARM-dts-BCM5301X-EA9200-add-LEDs.patch b/target/linux/bcm53xx/patches-6.12/322-v7.1-ARM-dts-BCM5301X-EA9200-add-LEDs.patch new file mode 100644 index 00000000000..56905e5d8ca --- /dev/null +++ b/target/linux/bcm53xx/patches-6.12/322-v7.1-ARM-dts-BCM5301X-EA9200-add-LEDs.patch @@ -0,0 +1,69 @@ +From 6b0cb7b34ba68425abb6b3174cca4a7ee031da6d Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Wed, 18 Mar 2026 20:53:21 -0700 +Subject: [PATCH] ARM: dts: BCM5301X: EA9200: add LEDs + +Allows control and configuration of device LEDs. + +Signed-off-by: Rosen Penev +Link: https://lore.kernel.org/r/20260319035324.269905-4-rosenp@gmail.com +Signed-off-by: Florian Fainelli +--- + .../dts/broadcom/bcm4709-linksys-ea9200.dts | 39 +++++++++++++++++++ + 1 file changed, 39 insertions(+) + +--- a/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts ++++ b/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts +@@ -5,6 +5,8 @@ + + /dts-v1/; + ++#include ++ + #include "bcm4709.dtsi" + #include "bcm5301x-nand-cs0-bch8.dtsi" + +@@ -52,6 +54,43 @@ + gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>; + }; + }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ ++ led-0 { ++ color = ; ++ function = LED_FUNCTION_WLAN; ++ gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>; ++ linux,default-trigger = "rfkill-none"; ++ }; ++ ++ led-1 { ++ color = ; ++ function = LED_FUNCTION_USB; ++ function-enumerator = <2>; ++ gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>; ++ linux,default-trigger = "usbport"; ++ trigger-sources = <&ohci_port2>, <&ehci_port2>; ++ }; ++ ++ led-2 { ++ color = ; ++ function = LED_FUNCTION_USB; ++ function-enumerator = <3>; ++ gpios = <&chipcommon 7 GPIO_ACTIVE_LOW>; ++ linux,default-trigger = "usbport"; ++ trigger-sources = <&ohci_port1>, <&ehci_port1>, ++ <&xhci_port1>; ++ }; ++ ++ led-3 { ++ color = ; ++ function = LED_FUNCTION_POWER; ++ gpios = <&chipcommon 8 GPIO_ACTIVE_HIGH>; ++ linux,default-trigger = "default-on"; ++ }; ++ }; + }; + + &usb3_phy { diff --git a/target/linux/bcm53xx/patches-6.12/323-v7.1-ARM-dts-BCM5301X-EA9200-specify-partitions.patch b/target/linux/bcm53xx/patches-6.12/323-v7.1-ARM-dts-BCM5301X-EA9200-specify-partitions.patch new file mode 100644 index 00000000000..bf452d5bc68 --- /dev/null +++ b/target/linux/bcm53xx/patches-6.12/323-v7.1-ARM-dts-BCM5301X-EA9200-specify-partitions.patch @@ -0,0 +1,61 @@ +From 220bdfcb4b4788f57faa2c28454d8b2dd3bcab6c Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Wed, 18 Mar 2026 20:53:23 -0700 +Subject: [PATCH] ARM: dts: BCM5301X: EA9200: specify partitions + +Some are needed to be specified so that linksys,ns-firmware works +properly. + +Signed-off-by: Rosen Penev +Link: https://lore.kernel.org/r/20260319035324.269905-6-rosenp@gmail.com +Signed-off-by: Florian Fainelli +--- + .../dts/broadcom/bcm4709-linksys-ea9200.dts | 40 +++++++++++++++++++ + 1 file changed, 40 insertions(+) + +--- a/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts ++++ b/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts +@@ -145,3 +145,43 @@ + }; + }; + }; ++ ++&nandcs { ++ partitions { ++ compatible = "linksys,ns-partitions"; ++ #address-cells = <1>; ++ #size-cells = <1>; ++ ++ partition@0 { ++ label = "boot"; ++ reg = <0x0000000 0x0080000>; ++ read-only; ++ }; ++ ++ partition@80000 { ++ label = "nvram"; ++ reg = <0x080000 0x0100000>; ++ }; ++ ++ partition@180000 { ++ label = "devinfo"; ++ reg = <0x0180000 0x080000>; ++ read-only; ++ }; ++ ++ partition@200000 { ++ reg = <0x0200000 0x02800000>; ++ compatible = "linksys,ns-firmware", "brcm,trx"; ++ }; ++ ++ partition@2a00000 { ++ reg = <0x02a00000 0x02800000>; ++ compatible = "linksys,ns-firmware", "brcm,trx"; ++ }; ++ ++ partition@5200000 { ++ label = "system"; ++ reg = <0x05200000 0x02e00000>; ++ }; ++ }; ++}; diff --git a/target/linux/bcm53xx/patches-6.12/324-ARM-dts-BCM5301X-EA9200-add-wifi-definitions.patch b/target/linux/bcm53xx/patches-6.12/324-ARM-dts-BCM5301X-EA9200-add-wifi-definitions.patch new file mode 100644 index 00000000000..c8b9f7b3152 --- /dev/null +++ b/target/linux/bcm53xx/patches-6.12/324-ARM-dts-BCM5301X-EA9200-add-wifi-definitions.patch @@ -0,0 +1,73 @@ +From e66c19e892bedccfb460137f709b00227a94a62d Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Sun, 1 Mar 2026 21:51:23 -0800 +Subject: [PATCH] ARM: dts: BCM5301X: EA9200: add wifi definitions + +brcm,ccode-map and ieee80211-freq-limit are needed to be specified on +some of them for proper operation. + +Signed-off-by: Rosen Penev +--- + .../dts/broadcom/bcm4709-linksys-ea9200.dts | 57 +++++++++++++++++++ + 1 file changed, 57 insertions(+) + +--- a/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts ++++ b/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts +@@ -93,6 +93,57 @@ + }; + }; + ++&pcie_bridge0 { ++ pcie@0,0 { ++ device_type = "pci"; ++ reg = <0x0000 0 0 0 0>; ++ ++ #address-cells = <3>; ++ #size-cells = <2>; ++ ranges; ++ ++ pcie@1,0 { ++ device_type = "pci"; ++ reg = <0x800 0 0 0 0>; ++ ++ #address-cells = <3>; ++ #size-cells = <2>; ++ ranges; ++ ++ wifi@0,0 { ++ compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac"; ++ reg = <0x0000 0 0 0 0>; ++ ieee80211-freq-limit = <5170000 5250000>; ++ brcm,ccode-map = "JP-JP-78", "US-Q2-86"; ++ }; ++ }; ++ ++ pcie@2,0 { ++ device_type = "pci"; ++ reg = <0x1000 0 0 0 0>; ++ ++ #address-cells = <3>; ++ #size-cells = <2>; ++ ranges; ++ ++ wifi@0,0 { ++ compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac"; ++ reg = <0x0000 0 0 0 0>; ++ brcm,ccode-map = "JP-JP-78", "US-Q2-86"; ++ }; ++ }; ++ }; ++}; ++ ++&pcie_bridge1 { ++ wifi@0,0 { ++ compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac"; ++ reg = <0x0000 0 0 0 0>; ++ ieee80211-freq-limit = <5735000 5835000>; ++ brcm,ccode-map = "JP-JP-78", "US-Q2-86"; ++ }; ++}; ++ + &usb3_phy { + status = "okay"; + }; diff --git a/target/linux/bcm53xx/patches-6.12/325-ARM-dts-BCM5301X-EA9200-set-MAC-from-nvram.patch b/target/linux/bcm53xx/patches-6.12/325-ARM-dts-BCM5301X-EA9200-set-MAC-from-nvram.patch new file mode 100644 index 00000000000..44337cc3047 --- /dev/null +++ b/target/linux/bcm53xx/patches-6.12/325-ARM-dts-BCM5301X-EA9200-set-MAC-from-nvram.patch @@ -0,0 +1,55 @@ +From 956b0015a778d0b425f760335a744fc48022ccc5 Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Tue, 17 Feb 2026 20:20:16 -0800 +Subject: [PATCH] ARM: dts: BCM5301X: EA9200: set MAC from nvram + +Especially needed for the WAN port, which is part of the switch and +inherits the MAC from GMAC2. Added extra definitions for the wifi +interfaces to make everything clear. + +Signed-off-by: Rosen Penev +--- + arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +--- a/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts ++++ b/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts +@@ -115,6 +115,8 @@ + reg = <0x0000 0 0 0 0>; + ieee80211-freq-limit = <5170000 5250000>; + brcm,ccode-map = "JP-JP-78", "US-Q2-86"; ++ nvmem-cells = <&et2macaddr 2>; ++ nvmem-cell-names = "mac-address"; + }; + }; + +@@ -130,6 +132,8 @@ + compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac"; + reg = <0x0000 0 0 0 0>; + brcm,ccode-map = "JP-JP-78", "US-Q2-86"; ++ nvmem-cells = <&et2macaddr 3>; ++ nvmem-cell-names = "mac-address"; + }; + }; + }; +@@ -141,6 +145,8 @@ + reg = <0x0000 0 0 0 0>; + ieee80211-freq-limit = <5735000 5835000>; + brcm,ccode-map = "JP-JP-78", "US-Q2-86"; ++ nvmem-cells = <&et2macaddr 4>; ++ nvmem-cell-names = "mac-address"; + }; + }; + +@@ -156,6 +162,11 @@ + vcc-gpios = <&chipcommon 14 GPIO_ACTIVE_HIGH>; + }; + ++&gmac2 { ++ nvmem-cells = <&et2macaddr 0>; ++ nvmem-cell-names = "mac-address"; ++}; ++ + &srab { + status = "okay"; + diff --git a/target/linux/bcm53xx/patches-6.18/349-ARM-dts-BCM5301X-Describe-PCIe-controllers-fully.patch b/target/linux/bcm53xx/patches-6.12/349-v7.1-ARM-dts-BCM5301X-Describe-PCIe-controllers-fully.patch similarity index 98% rename from target/linux/bcm53xx/patches-6.18/349-ARM-dts-BCM5301X-Describe-PCIe-controllers-fully.patch rename to target/linux/bcm53xx/patches-6.12/349-v7.1-ARM-dts-BCM5301X-Describe-PCIe-controllers-fully.patch index bf2c38b4edf..78e0b45cb04 100644 --- a/target/linux/bcm53xx/patches-6.18/349-ARM-dts-BCM5301X-Describe-PCIe-controllers-fully.patch +++ b/target/linux/bcm53xx/patches-6.12/349-v7.1-ARM-dts-BCM5301X-Describe-PCIe-controllers-fully.patch @@ -1,4 +1,4 @@ -From 9f60f2d9e1920245acbb9b0493d0c073905c3976 Mon Sep 17 00:00:00 2001 +From 76701239797698b620f2b7ec713fe08ef50ee664 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Thu, 8 Jan 2026 23:40:26 +0100 Subject: [PATCH] ARM: dts: BCM5301X: Describe PCIe controllers fully diff --git a/target/linux/bcm53xx/patches-6.18/350-ARM-dts-BCM5301X-add-root-pcie-bridges.patch b/target/linux/bcm53xx/patches-6.12/350-v7.1-ARM-dts-BCM5301X-add-root-pcie-bridges.patch similarity index 96% rename from target/linux/bcm53xx/patches-6.18/350-ARM-dts-BCM5301X-add-root-pcie-bridges.patch rename to target/linux/bcm53xx/patches-6.12/350-v7.1-ARM-dts-BCM5301X-add-root-pcie-bridges.patch index 75b3457de90..65bbfd07c7f 100644 --- a/target/linux/bcm53xx/patches-6.18/350-ARM-dts-BCM5301X-add-root-pcie-bridges.patch +++ b/target/linux/bcm53xx/patches-6.12/350-v7.1-ARM-dts-BCM5301X-add-root-pcie-bridges.patch @@ -1,6 +1,6 @@ -From 14022b103616ec01417e6c707095d57d61162450 Mon Sep 17 00:00:00 2001 +From 893faf67438cb7642d8c2da7650a436716155416 Mon Sep 17 00:00:00 2001 From: Rosen Penev -Date: Sun, 1 Mar 2026 16:01:04 -0800 +Date: Sun, 1 Mar 2026 16:07:36 -0800 Subject: [PATCH] ARM: dts: BCM5301X: add root pcie bridges They are always required and instead of duplicating a definition in each @@ -11,6 +11,8 @@ Also changed each bridge@ to pcie@ to get extra dtc static analysis. Fixed bridge numbers as a result. Signed-off-by: Rosen Penev +Link: https://lore.kernel.org/r/20260302000736.592422-1-rosenp@gmail.com +Signed-off-by: Florian Fainelli --- arch/arm/boot/dts/broadcom/bcm-ns.dtsi | 30 ++++++++ .../dts/broadcom/bcm4709-netgear-r8000.dts | 73 ++++++++----------- diff --git a/target/linux/bcm53xx/patches-6.12/352-ARM-dts-BCM5301X-EA9200-fix-nvram-size.patch b/target/linux/bcm53xx/patches-6.12/352-ARM-dts-BCM5301X-EA9200-fix-nvram-size.patch new file mode 100644 index 00000000000..139ddbbc2f6 --- /dev/null +++ b/target/linux/bcm53xx/patches-6.12/352-ARM-dts-BCM5301X-EA9200-fix-nvram-size.patch @@ -0,0 +1,26 @@ +From 10610c5605390fddafca424618679e6007bbae8f Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Thu, 18 Jun 2026 16:30:00 -0700 +Subject: [PATCH] ARM: dts: BCM5301X: EA9200: fix nvram size + +Fixes: + +[ 0.182121] WARNING: CPU: 0 PID: 1 at drivers/nvmem/brcm_nvram.c:85 brcm_nvram_probe+0x400/0x480 +[ 0.182159] Unexpected (big) NVRAM size: 1056112 B + +Signed-off-by: Rosen Penev +--- + arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts ++++ b/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts +@@ -26,7 +26,7 @@ + + nvram@1c080000 { + compatible = "brcm,nvram"; +- reg = <0x1c080000 0x180000>; ++ reg = <0x1c080000 0x100000>; + + et2macaddr: et2macaddr { + #nvmem-cell-cells = <1>; diff --git a/target/linux/bcm53xx/patches-6.12/353-ARM-dts-bcm-ns-fix-PCIe-controller-2-second-interrup.patch b/target/linux/bcm53xx/patches-6.12/353-ARM-dts-bcm-ns-fix-PCIe-controller-2-second-interrup.patch new file mode 100644 index 00000000000..094c9eb9d32 --- /dev/null +++ b/target/linux/bcm53xx/patches-6.12/353-ARM-dts-bcm-ns-fix-PCIe-controller-2-second-interrup.patch @@ -0,0 +1,26 @@ +From 66cb59e3669be17d8b7db37d022600332b66a3f2 Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Thu, 18 Jun 2026 17:04:30 -0700 +Subject: [PATCH] ARM: dts: bcm-ns: fix PCIe controller 2 second interrupt + +PCIe controller 2 has interrupts 0-4 mapping to GIC SPI 138-142. The +mapping for interrupt 1 was incorrectly set to 138 due to a copy-paste +error. Fix it to 139. + +Assisted-by: opencode:big-pickle +Signed-off-by: Rosen Penev +--- + arch/arm/boot/dts/broadcom/bcm-ns.dtsi | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/arm/boot/dts/broadcom/bcm-ns.dtsi ++++ b/arch/arm/boot/dts/broadcom/bcm-ns.dtsi +@@ -141,7 +141,7 @@ + + /* PCIe Controller 2 */ + <0x00014000 0 &gic GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>, +- <0x00014000 1 &gic GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>, ++ <0x00014000 1 &gic GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>, + <0x00014000 2 &gic GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>, + <0x00014000 3 &gic GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>, + <0x00014000 4 &gic GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, diff --git a/target/linux/bcm53xx/patches-6.12/360-v7.2-ARM-dts-BCM5301X-R6300v2-fix-USB3.patch b/target/linux/bcm53xx/patches-6.12/360-v7.2-ARM-dts-BCM5301X-R6300v2-fix-USB3.patch new file mode 100644 index 00000000000..1453bf1267a --- /dev/null +++ b/target/linux/bcm53xx/patches-6.12/360-v7.2-ARM-dts-BCM5301X-R6300v2-fix-USB3.patch @@ -0,0 +1,25 @@ +From 1dd3a357b8c1b51b26422b742223f10db648118b Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Mon, 6 Apr 2026 15:04:53 -0700 +Subject: [PATCH] ARM: dts: BCM5301X: R6300v2: fix USB3 + +USB3 needs GPIO to be pulled HIGH in order to function. Add vcc-gpio to +do so. + +Signed-off-by: Rosen Penev +Link: https://lore.kernel.org/r/20260406220453.101185-1-rosenp@gmail.com +Signed-off-by: Florian Fainelli +--- + arch/arm/boot/dts/broadcom/bcm4708-netgear-r6300-v2.dts | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/arch/arm/boot/dts/broadcom/bcm4708-netgear-r6300-v2.dts ++++ b/arch/arm/boot/dts/broadcom/bcm4708-netgear-r6300-v2.dts +@@ -124,3 +124,7 @@ + }; + }; + }; ++ ++&usb3 { ++ vcc-gpio = <&chipcommon 0 GPIO_ACTIVE_HIGH>; ++}; diff --git a/target/linux/bcm53xx/patches-6.12/361-v7.2-ARM-dts-BCM5301X-EA6500v2-fix-USB3.patch b/target/linux/bcm53xx/patches-6.12/361-v7.2-ARM-dts-BCM5301X-EA6500v2-fix-USB3.patch new file mode 100644 index 00000000000..6235ecb8e64 --- /dev/null +++ b/target/linux/bcm53xx/patches-6.12/361-v7.2-ARM-dts-BCM5301X-EA6500v2-fix-USB3.patch @@ -0,0 +1,25 @@ +From f6c6b4d1c833bf18a8ba929576736f7dbd34a8a1 Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Mon, 6 Apr 2026 15:05:28 -0700 +Subject: [PATCH] ARM: dts: BCM5301X: EA6500v2: fix USB3 + +USB3 needs to have a GPIO pulled HIGH in order to function. Add vcc-gpio +to do so. + +Signed-off-by: Rosen Penev +Link: https://lore.kernel.org/r/20260406220528.101340-1-rosenp@gmail.com +Signed-off-by: Florian Fainelli +--- + arch/arm/boot/dts/broadcom/bcm4708-linksys-ea6500-v2.dts | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/arch/arm/boot/dts/broadcom/bcm4708-linksys-ea6500-v2.dts ++++ b/arch/arm/boot/dts/broadcom/bcm4708-linksys-ea6500-v2.dts +@@ -81,3 +81,7 @@ + }; + }; + }; ++ ++&usb3 { ++ vcc-gpio = <&chipcommon 10 GPIO_ACTIVE_HIGH>; ++}; diff --git a/target/linux/bcm53xx/patches-6.18/311-ARM-dts-BCM5301X-EA9200-set-WAN-MAC-from-nvram.patch b/target/linux/bcm53xx/patches-6.18/311-v7.1-ARM-dts-BCM5301X-EA9200-set-WAN-MAC-from-nvram.patch similarity index 71% rename from target/linux/bcm53xx/patches-6.18/311-ARM-dts-BCM5301X-EA9200-set-WAN-MAC-from-nvram.patch rename to target/linux/bcm53xx/patches-6.18/311-v7.1-ARM-dts-BCM5301X-EA9200-set-WAN-MAC-from-nvram.patch index 3abec78a612..f31b7154020 100644 --- a/target/linux/bcm53xx/patches-6.18/311-ARM-dts-BCM5301X-EA9200-set-WAN-MAC-from-nvram.patch +++ b/target/linux/bcm53xx/patches-6.18/311-v7.1-ARM-dts-BCM5301X-EA9200-set-WAN-MAC-from-nvram.patch @@ -1,12 +1,14 @@ -From 3482a3f37240826c825d05fceebbfe5877f587d4 Mon Sep 17 00:00:00 2001 +From 93214f2574126ee55494b4390ced5cd3f0e42aa9 Mon Sep 17 00:00:00 2001 From: Rosen Penev -Date: Tue, 17 Feb 2026 20:20:16 -0800 +Date: Wed, 25 Feb 2026 15:08:24 -0800 Subject: [PATCH] ARM: dts: BCM5301X: EA9200: set WAN MAC from nvram -The MAC address from the stock firmare is offset by 1. Define it +The MAC address from the stock firmware is offset by 1. Define it properly to avoid having to override it in userspace. Signed-off-by: Rosen Penev +Link: https://lore.kernel.org/r/20260225230827.21715-2-rosenp@gmail.com +Signed-off-by: Florian Fainelli --- arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/target/linux/bcm53xx/patches-6.18/312-ARM-dts-BCM5301X-panamera-set-WAN-MAC-from-nvram.patch b/target/linux/bcm53xx/patches-6.18/312-v7.1-ARM-dts-BCM5301X-panamera-set-WAN-MAC-from-nvram.patch similarity index 72% rename from target/linux/bcm53xx/patches-6.18/312-ARM-dts-BCM5301X-panamera-set-WAN-MAC-from-nvram.patch rename to target/linux/bcm53xx/patches-6.18/312-v7.1-ARM-dts-BCM5301X-panamera-set-WAN-MAC-from-nvram.patch index a775f7e1f02..ae8277ee053 100644 --- a/target/linux/bcm53xx/patches-6.18/312-ARM-dts-BCM5301X-panamera-set-WAN-MAC-from-nvram.patch +++ b/target/linux/bcm53xx/patches-6.18/312-v7.1-ARM-dts-BCM5301X-panamera-set-WAN-MAC-from-nvram.patch @@ -1,12 +1,14 @@ -From cbbaa1f69301755409bc3ddbf2401c8b87a73658 Mon Sep 17 00:00:00 2001 +From 649a62e1855b25c482670304ac473ed34b3621b4 Mon Sep 17 00:00:00 2001 From: Rosen Penev -Date: Tue, 17 Feb 2026 20:30:02 -0800 +Date: Wed, 25 Feb 2026 15:08:25 -0800 Subject: [PATCH] ARM: dts: BCM5301X: panamera: set WAN MAC from nvram -The MAC address from the stock firmare is offset by 1. Define it +The MAC address from the stock firmware is offset by 1. Define it properly to avoid having to override it in userspace. Signed-off-by: Rosen Penev +Link: https://lore.kernel.org/r/20260225230827.21715-3-rosenp@gmail.com +Signed-off-by: Florian Fainelli --- arch/arm/boot/dts/broadcom/bcm47094-linksys-panamera.dts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/target/linux/bcm53xx/patches-6.18/320-v7.1-ARM-dts-BCM5301X-EA9200-add-WiFi-button.patch b/target/linux/bcm53xx/patches-6.18/320-v7.1-ARM-dts-BCM5301X-EA9200-add-WiFi-button.patch new file mode 100644 index 00000000000..a12337dca20 --- /dev/null +++ b/target/linux/bcm53xx/patches-6.18/320-v7.1-ARM-dts-BCM5301X-EA9200-add-WiFi-button.patch @@ -0,0 +1,29 @@ +From 977707168d5444947f4f0ff21dffa5645a6d80bd Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Wed, 18 Mar 2026 20:53:19 -0700 +Subject: [PATCH] ARM: dts: BCM5301X: EA9200: add WiFi button + +Adds ability to configure the WiFi button. + +Signed-off-by: Rosen Penev +Link: https://lore.kernel.org/r/20260319035324.269905-2-rosenp@gmail.com +Signed-off-by: Florian Fainelli +--- + arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts ++++ b/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts +@@ -40,6 +40,12 @@ + gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>; + }; + ++ button-rfkill { ++ label = "WiFi"; ++ linux,code = ; ++ gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>; ++ }; ++ + button-restart { + label = "Reset"; + linux,code = ; diff --git a/target/linux/bcm53xx/patches-6.18/321-v7.1-ARM-dts-BCM5301X-EA9200-add-USB-GPIOs.patch b/target/linux/bcm53xx/patches-6.18/321-v7.1-ARM-dts-BCM5301X-EA9200-add-USB-GPIOs.patch new file mode 100644 index 00000000000..d26421d2916 --- /dev/null +++ b/target/linux/bcm53xx/patches-6.18/321-v7.1-ARM-dts-BCM5301X-EA9200-add-USB-GPIOs.patch @@ -0,0 +1,31 @@ +From a4311aede88e8f1a5d606ce239aea9314813786f Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Wed, 18 Mar 2026 20:53:20 -0700 +Subject: [PATCH] ARM: dts: BCM5301X: EA9200: add USB GPIOs + +Allows at least halt to turn the USB ports off. + +Signed-off-by: Rosen Penev +Link: https://lore.kernel.org/r/20260319035324.269905-3-rosenp@gmail.com +Signed-off-by: Florian Fainelli +--- + arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts | 8 ++++++++ + 1 file changed, 8 insertions(+) + +--- a/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts ++++ b/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts +@@ -58,6 +58,14 @@ + status = "okay"; + }; + ++&usb2 { ++ vcc-gpios = <&chipcommon 13 GPIO_ACTIVE_HIGH>; ++}; ++ ++&usb3 { ++ vcc-gpios = <&chipcommon 14 GPIO_ACTIVE_HIGH>; ++}; ++ + &srab { + status = "okay"; + diff --git a/target/linux/bcm53xx/patches-6.18/322-v7.1-ARM-dts-BCM5301X-EA9200-add-LEDs.patch b/target/linux/bcm53xx/patches-6.18/322-v7.1-ARM-dts-BCM5301X-EA9200-add-LEDs.patch new file mode 100644 index 00000000000..56905e5d8ca --- /dev/null +++ b/target/linux/bcm53xx/patches-6.18/322-v7.1-ARM-dts-BCM5301X-EA9200-add-LEDs.patch @@ -0,0 +1,69 @@ +From 6b0cb7b34ba68425abb6b3174cca4a7ee031da6d Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Wed, 18 Mar 2026 20:53:21 -0700 +Subject: [PATCH] ARM: dts: BCM5301X: EA9200: add LEDs + +Allows control and configuration of device LEDs. + +Signed-off-by: Rosen Penev +Link: https://lore.kernel.org/r/20260319035324.269905-4-rosenp@gmail.com +Signed-off-by: Florian Fainelli +--- + .../dts/broadcom/bcm4709-linksys-ea9200.dts | 39 +++++++++++++++++++ + 1 file changed, 39 insertions(+) + +--- a/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts ++++ b/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts +@@ -5,6 +5,8 @@ + + /dts-v1/; + ++#include ++ + #include "bcm4709.dtsi" + #include "bcm5301x-nand-cs0-bch8.dtsi" + +@@ -52,6 +54,43 @@ + gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>; + }; + }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ ++ led-0 { ++ color = ; ++ function = LED_FUNCTION_WLAN; ++ gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>; ++ linux,default-trigger = "rfkill-none"; ++ }; ++ ++ led-1 { ++ color = ; ++ function = LED_FUNCTION_USB; ++ function-enumerator = <2>; ++ gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>; ++ linux,default-trigger = "usbport"; ++ trigger-sources = <&ohci_port2>, <&ehci_port2>; ++ }; ++ ++ led-2 { ++ color = ; ++ function = LED_FUNCTION_USB; ++ function-enumerator = <3>; ++ gpios = <&chipcommon 7 GPIO_ACTIVE_LOW>; ++ linux,default-trigger = "usbport"; ++ trigger-sources = <&ohci_port1>, <&ehci_port1>, ++ <&xhci_port1>; ++ }; ++ ++ led-3 { ++ color = ; ++ function = LED_FUNCTION_POWER; ++ gpios = <&chipcommon 8 GPIO_ACTIVE_HIGH>; ++ linux,default-trigger = "default-on"; ++ }; ++ }; + }; + + &usb3_phy { diff --git a/target/linux/bcm53xx/patches-6.18/323-v7.1-ARM-dts-BCM5301X-EA9200-specify-partitions.patch b/target/linux/bcm53xx/patches-6.18/323-v7.1-ARM-dts-BCM5301X-EA9200-specify-partitions.patch new file mode 100644 index 00000000000..bf452d5bc68 --- /dev/null +++ b/target/linux/bcm53xx/patches-6.18/323-v7.1-ARM-dts-BCM5301X-EA9200-specify-partitions.patch @@ -0,0 +1,61 @@ +From 220bdfcb4b4788f57faa2c28454d8b2dd3bcab6c Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Wed, 18 Mar 2026 20:53:23 -0700 +Subject: [PATCH] ARM: dts: BCM5301X: EA9200: specify partitions + +Some are needed to be specified so that linksys,ns-firmware works +properly. + +Signed-off-by: Rosen Penev +Link: https://lore.kernel.org/r/20260319035324.269905-6-rosenp@gmail.com +Signed-off-by: Florian Fainelli +--- + .../dts/broadcom/bcm4709-linksys-ea9200.dts | 40 +++++++++++++++++++ + 1 file changed, 40 insertions(+) + +--- a/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts ++++ b/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts +@@ -145,3 +145,43 @@ + }; + }; + }; ++ ++&nandcs { ++ partitions { ++ compatible = "linksys,ns-partitions"; ++ #address-cells = <1>; ++ #size-cells = <1>; ++ ++ partition@0 { ++ label = "boot"; ++ reg = <0x0000000 0x0080000>; ++ read-only; ++ }; ++ ++ partition@80000 { ++ label = "nvram"; ++ reg = <0x080000 0x0100000>; ++ }; ++ ++ partition@180000 { ++ label = "devinfo"; ++ reg = <0x0180000 0x080000>; ++ read-only; ++ }; ++ ++ partition@200000 { ++ reg = <0x0200000 0x02800000>; ++ compatible = "linksys,ns-firmware", "brcm,trx"; ++ }; ++ ++ partition@2a00000 { ++ reg = <0x02a00000 0x02800000>; ++ compatible = "linksys,ns-firmware", "brcm,trx"; ++ }; ++ ++ partition@5200000 { ++ label = "system"; ++ reg = <0x05200000 0x02e00000>; ++ }; ++ }; ++}; diff --git a/target/linux/bcm53xx/patches-6.18/324-ARM-dts-BCM5301X-EA9200-add-wifi-definitions.patch b/target/linux/bcm53xx/patches-6.18/324-ARM-dts-BCM5301X-EA9200-add-wifi-definitions.patch new file mode 100644 index 00000000000..c8b9f7b3152 --- /dev/null +++ b/target/linux/bcm53xx/patches-6.18/324-ARM-dts-BCM5301X-EA9200-add-wifi-definitions.patch @@ -0,0 +1,73 @@ +From e66c19e892bedccfb460137f709b00227a94a62d Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Sun, 1 Mar 2026 21:51:23 -0800 +Subject: [PATCH] ARM: dts: BCM5301X: EA9200: add wifi definitions + +brcm,ccode-map and ieee80211-freq-limit are needed to be specified on +some of them for proper operation. + +Signed-off-by: Rosen Penev +--- + .../dts/broadcom/bcm4709-linksys-ea9200.dts | 57 +++++++++++++++++++ + 1 file changed, 57 insertions(+) + +--- a/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts ++++ b/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts +@@ -93,6 +93,57 @@ + }; + }; + ++&pcie_bridge0 { ++ pcie@0,0 { ++ device_type = "pci"; ++ reg = <0x0000 0 0 0 0>; ++ ++ #address-cells = <3>; ++ #size-cells = <2>; ++ ranges; ++ ++ pcie@1,0 { ++ device_type = "pci"; ++ reg = <0x800 0 0 0 0>; ++ ++ #address-cells = <3>; ++ #size-cells = <2>; ++ ranges; ++ ++ wifi@0,0 { ++ compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac"; ++ reg = <0x0000 0 0 0 0>; ++ ieee80211-freq-limit = <5170000 5250000>; ++ brcm,ccode-map = "JP-JP-78", "US-Q2-86"; ++ }; ++ }; ++ ++ pcie@2,0 { ++ device_type = "pci"; ++ reg = <0x1000 0 0 0 0>; ++ ++ #address-cells = <3>; ++ #size-cells = <2>; ++ ranges; ++ ++ wifi@0,0 { ++ compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac"; ++ reg = <0x0000 0 0 0 0>; ++ brcm,ccode-map = "JP-JP-78", "US-Q2-86"; ++ }; ++ }; ++ }; ++}; ++ ++&pcie_bridge1 { ++ wifi@0,0 { ++ compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac"; ++ reg = <0x0000 0 0 0 0>; ++ ieee80211-freq-limit = <5735000 5835000>; ++ brcm,ccode-map = "JP-JP-78", "US-Q2-86"; ++ }; ++}; ++ + &usb3_phy { + status = "okay"; + }; diff --git a/target/linux/bcm53xx/patches-6.18/325-ARM-dts-BCM5301X-EA9200-set-MAC-from-nvram.patch b/target/linux/bcm53xx/patches-6.18/325-ARM-dts-BCM5301X-EA9200-set-MAC-from-nvram.patch new file mode 100644 index 00000000000..44337cc3047 --- /dev/null +++ b/target/linux/bcm53xx/patches-6.18/325-ARM-dts-BCM5301X-EA9200-set-MAC-from-nvram.patch @@ -0,0 +1,55 @@ +From 956b0015a778d0b425f760335a744fc48022ccc5 Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Tue, 17 Feb 2026 20:20:16 -0800 +Subject: [PATCH] ARM: dts: BCM5301X: EA9200: set MAC from nvram + +Especially needed for the WAN port, which is part of the switch and +inherits the MAC from GMAC2. Added extra definitions for the wifi +interfaces to make everything clear. + +Signed-off-by: Rosen Penev +--- + arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +--- a/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts ++++ b/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts +@@ -115,6 +115,8 @@ + reg = <0x0000 0 0 0 0>; + ieee80211-freq-limit = <5170000 5250000>; + brcm,ccode-map = "JP-JP-78", "US-Q2-86"; ++ nvmem-cells = <&et2macaddr 2>; ++ nvmem-cell-names = "mac-address"; + }; + }; + +@@ -130,6 +132,8 @@ + compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac"; + reg = <0x0000 0 0 0 0>; + brcm,ccode-map = "JP-JP-78", "US-Q2-86"; ++ nvmem-cells = <&et2macaddr 3>; ++ nvmem-cell-names = "mac-address"; + }; + }; + }; +@@ -141,6 +145,8 @@ + reg = <0x0000 0 0 0 0>; + ieee80211-freq-limit = <5735000 5835000>; + brcm,ccode-map = "JP-JP-78", "US-Q2-86"; ++ nvmem-cells = <&et2macaddr 4>; ++ nvmem-cell-names = "mac-address"; + }; + }; + +@@ -156,6 +162,11 @@ + vcc-gpios = <&chipcommon 14 GPIO_ACTIVE_HIGH>; + }; + ++&gmac2 { ++ nvmem-cells = <&et2macaddr 0>; ++ nvmem-cell-names = "mac-address"; ++}; ++ + &srab { + status = "okay"; + diff --git a/target/linux/bcm53xx/patches-6.12/349-ARM-dts-BCM5301X-Describe-PCIe-controllers-fully.patch b/target/linux/bcm53xx/patches-6.18/349-v7.1-ARM-dts-BCM5301X-Describe-PCIe-controllers-fully.patch similarity index 98% rename from target/linux/bcm53xx/patches-6.12/349-ARM-dts-BCM5301X-Describe-PCIe-controllers-fully.patch rename to target/linux/bcm53xx/patches-6.18/349-v7.1-ARM-dts-BCM5301X-Describe-PCIe-controllers-fully.patch index bf2c38b4edf..78e0b45cb04 100644 --- a/target/linux/bcm53xx/patches-6.12/349-ARM-dts-BCM5301X-Describe-PCIe-controllers-fully.patch +++ b/target/linux/bcm53xx/patches-6.18/349-v7.1-ARM-dts-BCM5301X-Describe-PCIe-controllers-fully.patch @@ -1,4 +1,4 @@ -From 9f60f2d9e1920245acbb9b0493d0c073905c3976 Mon Sep 17 00:00:00 2001 +From 76701239797698b620f2b7ec713fe08ef50ee664 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Thu, 8 Jan 2026 23:40:26 +0100 Subject: [PATCH] ARM: dts: BCM5301X: Describe PCIe controllers fully diff --git a/target/linux/bcm53xx/patches-6.12/350-ARM-dts-BCM5301X-add-root-pcie-bridges.patch b/target/linux/bcm53xx/patches-6.18/350-v7.1-ARM-dts-BCM5301X-add-root-pcie-bridges.patch similarity index 96% rename from target/linux/bcm53xx/patches-6.12/350-ARM-dts-BCM5301X-add-root-pcie-bridges.patch rename to target/linux/bcm53xx/patches-6.18/350-v7.1-ARM-dts-BCM5301X-add-root-pcie-bridges.patch index 75b3457de90..65bbfd07c7f 100644 --- a/target/linux/bcm53xx/patches-6.12/350-ARM-dts-BCM5301X-add-root-pcie-bridges.patch +++ b/target/linux/bcm53xx/patches-6.18/350-v7.1-ARM-dts-BCM5301X-add-root-pcie-bridges.patch @@ -1,6 +1,6 @@ -From 14022b103616ec01417e6c707095d57d61162450 Mon Sep 17 00:00:00 2001 +From 893faf67438cb7642d8c2da7650a436716155416 Mon Sep 17 00:00:00 2001 From: Rosen Penev -Date: Sun, 1 Mar 2026 16:01:04 -0800 +Date: Sun, 1 Mar 2026 16:07:36 -0800 Subject: [PATCH] ARM: dts: BCM5301X: add root pcie bridges They are always required and instead of duplicating a definition in each @@ -11,6 +11,8 @@ Also changed each bridge@ to pcie@ to get extra dtc static analysis. Fixed bridge numbers as a result. Signed-off-by: Rosen Penev +Link: https://lore.kernel.org/r/20260302000736.592422-1-rosenp@gmail.com +Signed-off-by: Florian Fainelli --- arch/arm/boot/dts/broadcom/bcm-ns.dtsi | 30 ++++++++ .../dts/broadcom/bcm4709-netgear-r8000.dts | 73 ++++++++----------- diff --git a/target/linux/bcm53xx/patches-6.18/352-ARM-dts-BCM5301X-EA9200-fix-nvram-size.patch b/target/linux/bcm53xx/patches-6.18/352-ARM-dts-BCM5301X-EA9200-fix-nvram-size.patch new file mode 100644 index 00000000000..139ddbbc2f6 --- /dev/null +++ b/target/linux/bcm53xx/patches-6.18/352-ARM-dts-BCM5301X-EA9200-fix-nvram-size.patch @@ -0,0 +1,26 @@ +From 10610c5605390fddafca424618679e6007bbae8f Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Thu, 18 Jun 2026 16:30:00 -0700 +Subject: [PATCH] ARM: dts: BCM5301X: EA9200: fix nvram size + +Fixes: + +[ 0.182121] WARNING: CPU: 0 PID: 1 at drivers/nvmem/brcm_nvram.c:85 brcm_nvram_probe+0x400/0x480 +[ 0.182159] Unexpected (big) NVRAM size: 1056112 B + +Signed-off-by: Rosen Penev +--- + arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts ++++ b/arch/arm/boot/dts/broadcom/bcm4709-linksys-ea9200.dts +@@ -26,7 +26,7 @@ + + nvram@1c080000 { + compatible = "brcm,nvram"; +- reg = <0x1c080000 0x180000>; ++ reg = <0x1c080000 0x100000>; + + et2macaddr: et2macaddr { + #nvmem-cell-cells = <1>; diff --git a/target/linux/bcm53xx/patches-6.18/353-ARM-dts-bcm-ns-fix-PCIe-controller-2-second-interrup.patch b/target/linux/bcm53xx/patches-6.18/353-ARM-dts-bcm-ns-fix-PCIe-controller-2-second-interrup.patch new file mode 100644 index 00000000000..094c9eb9d32 --- /dev/null +++ b/target/linux/bcm53xx/patches-6.18/353-ARM-dts-bcm-ns-fix-PCIe-controller-2-second-interrup.patch @@ -0,0 +1,26 @@ +From 66cb59e3669be17d8b7db37d022600332b66a3f2 Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Thu, 18 Jun 2026 17:04:30 -0700 +Subject: [PATCH] ARM: dts: bcm-ns: fix PCIe controller 2 second interrupt + +PCIe controller 2 has interrupts 0-4 mapping to GIC SPI 138-142. The +mapping for interrupt 1 was incorrectly set to 138 due to a copy-paste +error. Fix it to 139. + +Assisted-by: opencode:big-pickle +Signed-off-by: Rosen Penev +--- + arch/arm/boot/dts/broadcom/bcm-ns.dtsi | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/arm/boot/dts/broadcom/bcm-ns.dtsi ++++ b/arch/arm/boot/dts/broadcom/bcm-ns.dtsi +@@ -141,7 +141,7 @@ + + /* PCIe Controller 2 */ + <0x00014000 0 &gic GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>, +- <0x00014000 1 &gic GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>, ++ <0x00014000 1 &gic GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>, + <0x00014000 2 &gic GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>, + <0x00014000 3 &gic GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>, + <0x00014000 4 &gic GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, diff --git a/target/linux/bcm53xx/patches-6.18/360-v7.2-ARM-dts-BCM5301X-R6300v2-fix-USB3.patch b/target/linux/bcm53xx/patches-6.18/360-v7.2-ARM-dts-BCM5301X-R6300v2-fix-USB3.patch new file mode 100644 index 00000000000..1453bf1267a --- /dev/null +++ b/target/linux/bcm53xx/patches-6.18/360-v7.2-ARM-dts-BCM5301X-R6300v2-fix-USB3.patch @@ -0,0 +1,25 @@ +From 1dd3a357b8c1b51b26422b742223f10db648118b Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Mon, 6 Apr 2026 15:04:53 -0700 +Subject: [PATCH] ARM: dts: BCM5301X: R6300v2: fix USB3 + +USB3 needs GPIO to be pulled HIGH in order to function. Add vcc-gpio to +do so. + +Signed-off-by: Rosen Penev +Link: https://lore.kernel.org/r/20260406220453.101185-1-rosenp@gmail.com +Signed-off-by: Florian Fainelli +--- + arch/arm/boot/dts/broadcom/bcm4708-netgear-r6300-v2.dts | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/arch/arm/boot/dts/broadcom/bcm4708-netgear-r6300-v2.dts ++++ b/arch/arm/boot/dts/broadcom/bcm4708-netgear-r6300-v2.dts +@@ -124,3 +124,7 @@ + }; + }; + }; ++ ++&usb3 { ++ vcc-gpio = <&chipcommon 0 GPIO_ACTIVE_HIGH>; ++}; diff --git a/target/linux/bcm53xx/patches-6.18/361-v7.2-ARM-dts-BCM5301X-EA6500v2-fix-USB3.patch b/target/linux/bcm53xx/patches-6.18/361-v7.2-ARM-dts-BCM5301X-EA6500v2-fix-USB3.patch new file mode 100644 index 00000000000..6235ecb8e64 --- /dev/null +++ b/target/linux/bcm53xx/patches-6.18/361-v7.2-ARM-dts-BCM5301X-EA6500v2-fix-USB3.patch @@ -0,0 +1,25 @@ +From f6c6b4d1c833bf18a8ba929576736f7dbd34a8a1 Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Mon, 6 Apr 2026 15:05:28 -0700 +Subject: [PATCH] ARM: dts: BCM5301X: EA6500v2: fix USB3 + +USB3 needs to have a GPIO pulled HIGH in order to function. Add vcc-gpio +to do so. + +Signed-off-by: Rosen Penev +Link: https://lore.kernel.org/r/20260406220528.101340-1-rosenp@gmail.com +Signed-off-by: Florian Fainelli +--- + arch/arm/boot/dts/broadcom/bcm4708-linksys-ea6500-v2.dts | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/arch/arm/boot/dts/broadcom/bcm4708-linksys-ea6500-v2.dts ++++ b/arch/arm/boot/dts/broadcom/bcm4708-linksys-ea6500-v2.dts +@@ -81,3 +81,7 @@ + }; + }; + }; ++ ++&usb3 { ++ vcc-gpio = <&chipcommon 10 GPIO_ACTIVE_HIGH>; ++};