aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/bcm53xx/base-files/etc/board.d/02_network2
-rw-r--r--target/linux/bcm53xx/base-files/lib/upgrade/platform.sh12
-rw-r--r--target/linux/bcm53xx/patches-5.15/035-v6.2-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch2
-rw-r--r--target/linux/bcm53xx/patches-5.15/035-v6.2-0002-ARM-dts-bcm47094-Add-devicetree-for-D-Link-DIR-890L.patch (renamed from target/linux/bcm53xx/patches-5.15/035-v6.2-0001-ARM-dts-bcm47094-Add-devicetree-for-D-Link-DIR-890L.patch)0
-rw-r--r--target/linux/bcm53xx/patches-5.15/035-v6.2-0003-ARM-dts-BCM5301X-Correct-description-of-TP-Link-part.patch (renamed from target/linux/bcm53xx/patches-5.15/035-v6.2-0001-ARM-dts-BCM5301X-Correct-description-of-TP-Link-part.patch)0
-rw-r--r--target/linux/bcm53xx/patches-5.15/035-v6.2-0004-ARM-dts-broadcom-align-LED-node-names-with-dtschema.patch1700
-rw-r--r--target/linux/bcm53xx/patches-5.15/036-v6.5-0001-ARM-dts-BCM5301X-Relicense-Rafa-s-code-to-the-GPL-2..patch487
-rw-r--r--target/linux/bcm53xx/patches-5.15/036-v6.5-0002-ARM-dts-BCM5301X-Relicense-Florian-s-code-to-the-GPL.patch136
-rw-r--r--target/linux/bcm53xx/patches-5.15/036-v6.5-0003-ARM-dts-BCM5301X-Drop-clock-names-from-the-SPI-node.patch32
-rw-r--r--target/linux/bcm53xx/patches-5.15/036-v6.5-0004-ARM-dts-BCM5301X-Relicense-Hauke-s-code-to-the-GPL-2.patch249
-rw-r--r--target/linux/bcm53xx/patches-5.15/036-v6.5-0005-ARM-dts-BCM5301X-Relicense-AXI-interrupts-code-to-th.patch203
-rw-r--r--target/linux/bcm53xx/patches-5.15/036-v6.5-0006-ARM-dts-BCM5301X-Specify-MAC-addresses-on-Luxul-devi.patch336
-rw-r--r--target/linux/bcm53xx/patches-5.15/036-v6.5-0007-ARM-dts-BCM5301X-Use-updated-device-compatible-strin.patch90
-rw-r--r--target/linux/bcm53xx/patches-5.15/036-v6.5-0008-ARM-dts-BCM5301X-Use-updated-spi-gpio-binding-proper.patch82
-rw-r--r--target/linux/bcm53xx/patches-5.15/036-v6.5-0009-ARM-dts-BCM5301X-Drop-invalid-usb-cells.patch54
-rw-r--r--target/linux/bcm53xx/patches-5.15/036-v6.5-0010-ARM-dts-BCM5301X-Drop-invalid-properties-from-Meraki.patch31
-rw-r--r--target/linux/bcm53xx/patches-5.15/036-v6.5-0011-ARM-dts-BCM5301X-Relicense-Christian-s-code-to-the-G.patch106
-rw-r--r--target/linux/bcm53xx/patches-5.15/036-v6.5-0012-ARM-dts-BCM5301X-Describe-switch-ports-in-the-main-D.patch838
-rw-r--r--target/linux/bcm53xx/patches-5.15/036-v6.5-0013-ARM-dts-BCM5301X-MR26-MR32-remove-bogus-nand-ecc-alg.patch63
-rw-r--r--target/linux/bcm53xx/patches-5.15/036-v6.5-0014-ARM-dts-BCM5301X-MR32-remove-partition-index-numbers.patch54
-rw-r--r--target/linux/bcm53xx/patches-5.15/036-v6.5-0015-ARM-dts-BCM5301X-fix-duplex-full-full-duplex.patch44
-rw-r--r--target/linux/bcm53xx/patches-5.15/036-v6.5-0016-ARM-dts-BCM5301X-Add-Netgear-R8000-WiFi-regulator-ma.patch61
-rw-r--r--target/linux/bcm53xx/patches-5.15/036-v6.5-0017-ARM-dts-BCM5301X-Add-cells-sizes-to-PCIe-nodes.patch59
-rw-r--r--target/linux/bcm53xx/patches-5.15/080-v6.2-bcma-support-SPROM-rev-11.patch (renamed from target/linux/bcm53xx/patches-5.15/036-v6.2-bcma-support-SPROM-rev-11.patch)0
-rw-r--r--target/linux/bcm53xx/patches-5.15/304-ARM-dts-BCM5301X-Specify-switch-ports-for-remaining-.patch2
25 files changed, 4634 insertions, 9 deletions
diff --git a/target/linux/bcm53xx/base-files/etc/board.d/02_network b/target/linux/bcm53xx/base-files/etc/board.d/02_network
index 6bec600540..13e7311e79 100644
--- a/target/linux/bcm53xx/base-files/etc/board.d/02_network
+++ b/target/linux/bcm53xx/base-files/etc/board.d/02_network
@@ -57,7 +57,7 @@ bcm53xx_setup_macs()
etXmacaddr=$(nvram get et2macaddr)
offset=1
;;
- luxul,xwr-3100v1 | \
+ luxul,xwr-3100-v1 | \
luxul,xwr-3150-v1)
etXmacaddr=$(nvram get et0macaddr)
offset=5
diff --git a/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh b/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh
index 3ebde77d3f..d9dc497cda 100644
--- a/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh
@@ -39,18 +39,18 @@ platform_expected_image() {
"dlink,dir-885l") echo "seamaseal wrgac42_dlink.2015_dir885l"; return;;
"luxul,abr-4500-v1") echo "lxl ABR-4500"; return;;
"luxul,xap-810-v1") echo "lxl XAP-810"; return;;
- "luxul,xap-1410v1") echo "lxl XAP-1410"; return;;
+ "luxul,xap-1410-v1") echo "lxl XAP-1410"; return;;
"luxul,xap-1440-v1") echo "lxl XAP-1440"; return;;
- "luxul,xap-1510v1") echo "lxl XAP-1510"; return;;
+ "luxul,xap-1510-v1") echo "lxl XAP-1510"; return;;
"luxul,xap-1610-v1") echo "lxl XAP-1610"; return;;
"luxul,xbr-4500-v1") echo "lxl XBR-4500"; return;;
"luxul,xwc-1000") echo "lxl XWC-1000"; return;;
"luxul,xwc-2000-v1") echo "lxl XWC-2000"; return;;
- "luxul,xwr-1200v1") echo "lxl XWR-1200"; return;;
- "luxul,xwr-3100v1") echo "lxl XWR-3100"; return;;
+ "luxul,xwr-1200-v1") echo "lxl XWR-1200"; return;;
+ "luxul,xwr-3100-v1") echo "lxl XWR-3100"; return;;
"luxul,xwr-3150-v1") echo "lxl XWR-3150"; return;;
- "netgear,r6250v1") echo "chk U12H245T00_NETGEAR"; return;;
- "netgear,r6300v2") echo "chk U12H240T00_NETGEAR"; return;;
+ "netgear,r6250-v1") echo "chk U12H245T00_NETGEAR"; return;;
+ "netgear,r6300-v2") echo "chk U12H240T00_NETGEAR"; return;;
"netgear,r7000") echo "chk U12H270T00_NETGEAR"; return;;
"netgear,r7900") echo "chk U12H315T30_NETGEAR"; return;;
"netgear,r8000") echo "chk U12H315T00_NETGEAR"; return;;
diff --git a/target/linux/bcm53xx/patches-5.15/035-v6.2-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch b/target/linux/bcm53xx/patches-5.15/035-v6.2-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch
index b7528e9f71..206726f5f6 100644
--- a/target/linux/bcm53xx/patches-5.15/035-v6.2-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch
+++ b/target/linux/bcm53xx/patches-5.15/035-v6.2-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch
@@ -21,7 +21,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -132,6 +132,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
+@@ -131,6 +131,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
bcm47094-netgear-r8500.dtb \
bcm47094-phicomm-k3.dtb \
bcm53015-meraki-mr26.dtb \
diff --git a/target/linux/bcm53xx/patches-5.15/035-v6.2-0001-ARM-dts-bcm47094-Add-devicetree-for-D-Link-DIR-890L.patch b/target/linux/bcm53xx/patches-5.15/035-v6.2-0002-ARM-dts-bcm47094-Add-devicetree-for-D-Link-DIR-890L.patch
index 4842e16649..4842e16649 100644
--- a/target/linux/bcm53xx/patches-5.15/035-v6.2-0001-ARM-dts-bcm47094-Add-devicetree-for-D-Link-DIR-890L.patch
+++ b/target/linux/bcm53xx/patches-5.15/035-v6.2-0002-ARM-dts-bcm47094-Add-devicetree-for-D-Link-DIR-890L.patch
diff --git a/target/linux/bcm53xx/patches-5.15/035-v6.2-0001-ARM-dts-BCM5301X-Correct-description-of-TP-Link-part.patch b/target/linux/bcm53xx/patches-5.15/035-v6.2-0003-ARM-dts-BCM5301X-Correct-description-of-TP-Link-part.patch
index 4c4ed036b9..4c4ed036b9 100644
--- a/target/linux/bcm53xx/patches-5.15/035-v6.2-0001-ARM-dts-BCM5301X-Correct-description-of-TP-Link-part.patch
+++ b/target/linux/bcm53xx/patches-5.15/035-v6.2-0003-ARM-dts-BCM5301X-Correct-description-of-TP-Link-part.patch
diff --git a/target/linux/bcm53xx/patches-5.15/035-v6.2-0004-ARM-dts-broadcom-align-LED-node-names-with-dtschema.patch b/target/linux/bcm53xx/patches-5.15/035-v6.2-0004-ARM-dts-broadcom-align-LED-node-names-with-dtschema.patch
new file mode 100644
index 0000000000..d6bf49d0cd
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.15/035-v6.2-0004-ARM-dts-broadcom-align-LED-node-names-with-dtschema.patch
@@ -0,0 +1,1700 @@
+From af84101e3f2258a303fa2461ebec0878ce23ea10 Mon Sep 17 00:00:00 2001
+From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
+Date: Fri, 25 Nov 2022 15:41:27 +0100
+Subject: [PATCH] ARM: dts: broadcom: align LED node names with dtschema
+
+The node names should be generic and DT schema expects certain pattern:
+
+ bcm4708-asus-rt-ac68u.dtb: leds: 'logo', 'power', 'usb2', 'usb3' do not match any of the regexes: '(^led-[0-9a-f]$|led)', 'pinctrl-[0-9]+'
+
+Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
+Link: https://lore.kernel.org/r/20221125144128.477059-1-krzysztof.kozlowski@linaro.org
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts | 15 +++++-----
+ arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts | 8 +++---
+ .../bcm4708-buffalo-wzr-1166dhp-common.dtsi | 16 +++++------
+ .../boot/dts/bcm4708-buffalo-wzr-1750dhp.dts | 16 +++++------
+ arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts | 6 ++--
+ arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts | 2 +-
+ arch/arm/boot/dts/bcm4708-netgear-r6250.dts | 10 +++----
+ .../arm/boot/dts/bcm4708-netgear-r6300-v2.dts | 10 +++----
+ arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts | 22 +++++++--------
+ arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts | 10 +++----
+ .../boot/dts/bcm47081-buffalo-wzr-600dhp2.dts | 14 +++++-----
+ .../boot/dts/bcm47081-buffalo-wzr-900dhp.dts | 16 +++++------
+ arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts | 6 ++--
+ arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts | 20 ++++++-------
+ .../boot/dts/bcm47081-tplink-archer-c5-v2.dts | 18 ++++++------
+ arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts | 6 ++--
+ .../boot/dts/bcm4709-buffalo-wxr-1900dhp.dts | 18 ++++++------
+ arch/arm/boot/dts/bcm4709-netgear-r7000.dts | 16 +++++------
+ arch/arm/boot/dts/bcm4709-netgear-r8000.dts | 22 +++++++--------
+ .../boot/dts/bcm4709-tplink-archer-c9-v1.dts | 18 ++++++------
+ arch/arm/boot/dts/bcm47094-asus-rt-ac88u.dts | 12 ++++----
+ arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts | 14 +++++-----
+ arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts | 16 +++++------
+ .../boot/dts/bcm47094-linksys-panamera.dts | 28 +++++++++----------
+ arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts | 4 +--
+ arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts | 6 ++--
+ arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts | 4 +--
+ arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts | 2 +-
+ arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts | 20 ++++++-------
+ .../boot/dts/bcm47094-luxul-xwr-3150-v1.dts | 10 +++----
+ arch/arm/boot/dts/bcm47094-netgear-r8500.dts | 14 +++++-----
+ arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts | 4 +--
+ arch/arm/boot/dts/bcm47189-luxul-xap-810.dts | 10 +++----
+ arch/arm/boot/dts/bcm47189-tenda-ac9.dts | 14 +++++-----
+ .../boot/dts/bcm53016-dlink-dwl-8610ap.dts | 8 +++---
+ arch/arm/boot/dts/bcm53016-meraki-mr32.dts | 6 ++--
+ arch/arm/boot/dts/bcm947189acdbmr.dts | 6 ++--
+ 37 files changed, 223 insertions(+), 224 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
++++ b/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
+@@ -28,40 +28,39 @@
+ leds {
+ compatible = "gpio-leds";
+
+- usb3 {
++ led-usb3 {
+ label = "bcm53xx:blue:usb3";
+ gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+ };
+
+- wan {
++ led-wan {
+ label = "bcm53xx:blue:wan";
+ gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
+ };
+
+- lan {
++ led-lan {
+ label = "bcm53xx:blue:lan";
+ gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+ };
+
+- power {
++ led-power {
+ label = "bcm53xx:blue:power";
+ gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+- all {
++ led-all {
+ label = "bcm53xx:blue:all";
+ gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+- 2ghz {
++ led-2ghz {
+ label = "bcm53xx:blue:2ghz";
+ gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>;
+ };
+
+-
+- usb2 {
++ led-usb2 {
+ label = "bcm53xx:blue:usb2";
+ gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+ };
+--- a/arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts
++++ b/arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts
+@@ -28,24 +28,24 @@
+ leds {
+ compatible = "gpio-leds";
+
+- usb2 {
++ led-usb2 {
+ label = "bcm53xx:blue:usb2";
+ gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+ };
+
+- power {
++ led-power {
+ label = "bcm53xx:blue:power";
+ gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+- logo {
++ led-logo {
+ label = "bcm53xx:white:logo";
+ gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+- usb3 {
++ led-usb3 {
+ label = "bcm53xx:blue:usb3";
+ gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+ };
+--- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1166dhp-common.dtsi
++++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1166dhp-common.dtsi
+@@ -37,7 +37,7 @@
+ leds {
+ compatible = "gpio-leds";
+
+- usb {
++ led-usb {
+ /* label = "bcm53xx:blue:usb"; */
+ function = LED_FUNCTION_USB;
+ color = <LED_COLOR_ID_BLUE>;
+@@ -48,14 +48,14 @@
+ linux,default-trigger = "usbport";
+ };
+
+- power0 {
++ led-power0 {
+ /* label = "bcm53xx:red:power"; */
+ function = LED_FUNCTION_FAULT;
+ color = <LED_COLOR_ID_RED>;
+ gpios = <&hc595 1 GPIO_ACTIVE_HIGH>;
+ };
+
+- power1 {
++ led-power1 {
+ /* label = "bcm53xx:white:power"; */
+ function = LED_FUNCTION_POWER;
+ color = <LED_COLOR_ID_WHITE>;
+@@ -63,7 +63,7 @@
+ linux,default-trigger = "default-on";
+ };
+
+- router0 {
++ led-router0 {
+ /* label = "bcm53xx:blue:router"; */
+ function = LED_FUNCTION_STATUS;
+ color = <LED_COLOR_ID_BLUE>;
+@@ -71,14 +71,14 @@
+ linux,default-trigger = "default-on";
+ };
+
+- router1 {
++ led-router1 {
+ /* label = "bcm53xx:amber:router"; */
+ function = LED_FUNCTION_STATUS;
+ color = <LED_COLOR_ID_AMBER>;
+ gpios = <&hc595 4 GPIO_ACTIVE_HIGH>;
+ };
+
+- wan {
++ led-wan {
+ /* label = "bcm53xx:blue:wan"; */
+ function = LED_FUNCTION_WAN;
+ color = <LED_COLOR_ID_BLUE>;
+@@ -86,14 +86,14 @@
+ linux,default-trigger = "default-on";
+ };
+
+- wireless0 {
++ led-wireless0 {
+ /* label = "bcm53xx:blue:wireless"; */
+ function = LED_FUNCTION_WLAN;
+ color = <LED_COLOR_ID_BLUE>;
+ gpios = <&hc595 6 GPIO_ACTIVE_HIGH>;
+ };
+
+- wireless1 {
++ led-wireless1 {
+ /* label = "bcm53xx:amber:wireless"; */
+ function = LED_FUNCTION_WLAN;
+ color = <LED_COLOR_ID_AMBER>;
+--- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
++++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
+@@ -49,7 +49,7 @@
+ leds {
+ compatible = "gpio-leds";
+
+- usb {
++ led-usb {
+ label = "bcm53xx:blue:usb";
+ gpios = <&hc595 0 GPIO_ACTIVE_HIGH>;
+ trigger-sources = <&ohci_port1>, <&ehci_port1>,
+@@ -58,40 +58,40 @@
+ linux,default-trigger = "usbport";
+ };
+
+- power0 {
++ led-power0 {
+ label = "bcm53xx:red:power";
+ gpios = <&hc595 1 GPIO_ACTIVE_HIGH>;
+ };
+
+- power1 {
++ led-power1 {
+ label = "bcm53xx:white:power";
+ gpios = <&hc595 2 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "default-on";
+ };
+
+- router0 {
++ led-router0 {
+ label = "bcm53xx:blue:router";
+ gpios = <&hc595 3 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "default-on";
+ };
+
+- router1 {
++ led-router1 {
+ label = "bcm53xx:amber:router";
+ gpios = <&hc595 4 GPIO_ACTIVE_HIGH>;
+ };
+
+- wan {
++ led-wan {
+ label = "bcm53xx:blue:wan";
+ gpios = <&hc595 5 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "default-on";
+ };
+
+- wireless0 {
++ led-wireless0 {
+ label = "bcm53xx:blue:wireless";
+ gpios = <&hc595 6 GPIO_ACTIVE_HIGH>;
+ };
+
+- wireless1 {
++ led-wireless1 {
+ label = "bcm53xx:amber:wireless";
+ gpios = <&hc595 7 GPIO_ACTIVE_HIGH>;
+ };
+--- a/arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts
++++ b/arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts
+@@ -23,19 +23,19 @@
+ leds {
+ compatible = "gpio-leds";
+
+- 5ghz {
++ led-5ghz {
+ label = "bcm53xx:blue:5ghz";
+ gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "none";
+ };
+
+- 2ghz {
++ led-2ghz {
+ label = "bcm53xx:blue:2ghz";
+ gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "none";
+ };
+
+- status {
++ led-status {
+ label = "bcm53xx:green:status";
+ gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "timer";
+--- a/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts
++++ b/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts
+@@ -42,7 +42,7 @@
+ leds {
+ compatible = "gpio-leds";
+
+- status {
++ led-status {
+ label = "bcm53xx:green:status";
+ gpios = <&chipcommon 0 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "timer";
+--- a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
++++ b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
+@@ -29,24 +29,24 @@
+ leds {
+ compatible = "gpio-leds";
+
+- logo {
++ led-logo {
+ label = "bcm53xx:white:logo";
+ gpios = <&chipcommon 1 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "default-on";
+ };
+
+- power0 {
++ led-power0 {
+ label = "bcm53xx:green:power";
+ gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+- power1 {
++ led-power1 {
+ label = "bcm53xx:amber:power";
+ gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+ };
+
+- usb {
++ led-usb {
+ label = "bcm53xx:blue:usb";
+ gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
+ trigger-sources = <&ohci_port1>, <&ehci_port1>,
+@@ -54,7 +54,7 @@
+ linux,default-trigger = "usbport";
+ };
+
+- wireless {
++ led-wireless {
+ label = "bcm53xx:blue:wireless";
+ gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
+ };
+--- a/arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts
++++ b/arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts
+@@ -28,29 +28,29 @@
+ leds {
+ compatible = "gpio-leds";
+
+- logo {
++ led-logo {
+ label = "bcm53xx:white:logo";
+ gpios = <&chipcommon 1 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "default-on";
+ };
+
+- power0 {
++ led-power0 {
+ label = "bcm53xx:green:power";
+ gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+ };
+
+- power1 {
++ led-power1 {
+ label = "bcm53xx:amber:power";
+ gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+- usb {
++ led-usb {
+ label = "bcm53xx:blue:usb";
+ gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
+ };
+
+- wireless {
++ led-wireless {
+ label = "bcm53xx:blue:wireless";
+ gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
+ };
+--- a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
++++ b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
+@@ -28,64 +28,64 @@
+ leds {
+ compatible = "gpio-leds";
+
+- power-white {
++ led-power-white {
+ label = "bcm53xx:white:power";
+ gpios = <&chipcommon 1 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "default-on";
+ };
+
+- power-amber {
++ led-power-amber {
+ label = "bcm53xx:amber:power";
+ gpios = <&chipcommon 2 GPIO_ACTIVE_HIGH>;
+ };
+
+- usb2 {
++ led-usb2 {
+ label = "bcm53xx:white:usb2";
+ gpios = <&chipcommon 3 GPIO_ACTIVE_HIGH>;
+ trigger-sources = <&ohci_port2>, <&ehci_port2>;
+ linux,default-trigger = "usbport";
+ };
+
+- usb3-white {
++ led-usb3-white {
+ label = "bcm53xx:white:usb3";
+ gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
+ trigger-sources = <&xhci_port1>;
+ linux,default-trigger = "usbport";
+ };
+
+- usb3-green {
++ led-usb3-green {
+ label = "bcm53xx:green:usb3";
+ gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
+ trigger-sources = <&ohci_port1>, <&ehci_port1>;
+ linux,default-trigger = "usbport";
+ };
+
+- wps {
++ led-wps {
+ label = "bcm53xx:white:wps";
+ gpios = <&chipcommon 6 GPIO_ACTIVE_HIGH>;
+ };
+
+- status-red {
++ led-status-red {
+ label = "bcm53xx:red:status";
+ gpios = <&chipcommon 8 GPIO_ACTIVE_HIGH>;
+ };
+
+- status-green {
++ led-status-green {
+ label = "bcm53xx:green:status";
+ gpios = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
+ };
+
+- status-blue {
++ led-status-blue {
+ label = "bcm53xx:blue:status";
+ gpios = <&chipcommon 10 GPIO_ACTIVE_HIGH>;
+ };
+
+- wan-white {
++ led-wan-white {
+ label = "bcm53xx:white:wan";
+ gpios = <&chipcommon 12 GPIO_ACTIVE_HIGH>;
+ };
+
+- wan-red {
++ led-wan-red {
+ label = "bcm53xx:red:wan";
+ gpios = <&chipcommon 13 GPIO_ACTIVE_HIGH>;
+ };
+--- a/arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts
++++ b/arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts
+@@ -28,30 +28,30 @@
+ leds {
+ compatible = "gpio-leds";
+
+- power {
++ led-power {
+ label = "bcm53xx:blue:power";
+ gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+- usb2 {
++ led-usb2 {
+ label = "bcm53xx:blue:usb2";
+ gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+ };
+
+- wan {
++ led-wan {
+ label = "bcm53xx:blue:wan";
+ gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+- lan {
++ led-lan {
+ label = "bcm53xx:blue:lan";
+ gpios = <&chipcommon 9 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+- usb3 {
++ led-usb3 {
+ label = "bcm53xx:blue:usb3";
+ gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+ };
+--- a/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts
++++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts
+@@ -49,40 +49,40 @@
+ leds {
+ compatible = "gpio-leds";
+
+- power0 {
++ led-power0 {
+ label = "bcm53xx:green:power";
+ gpios = <&hc595 1 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "default-on";
+ };
+
+- power1 {
++ led-power1 {
+ label = "bcm53xx:red:power";
+ gpios = <&hc595 2 GPIO_ACTIVE_HIGH>;
+ };
+
+- router0 {
++ led-router0 {
+ label = "bcm53xx:green:router";
+ gpios = <&hc595 3 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "default-on";
+ };
+
+- router1 {
++ led-router1 {
+ label = "bcm53xx:amber:router";
+ gpios = <&hc595 4 GPIO_ACTIVE_HIGH>;
+ };
+
+- wan {
++ led-wan {
+ label = "bcm53xx:green:wan";
+ gpios = <&hc595 5 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "default-on";
+ };
+
+- wireless0 {
++ led-wireless0 {
+ label = "bcm53xx:green:wireless";
+ gpios = <&hc595 6 GPIO_ACTIVE_HIGH>;
+ };
+
+- wireless1 {
++ led-wireless1 {
+ label = "bcm53xx:amber:wireless";
+ gpios = <&hc595 7 GPIO_ACTIVE_HIGH>;
+ };
+--- a/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts
++++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts
+@@ -49,45 +49,45 @@
+ leds {
+ compatible = "gpio-leds";
+
+- usb {
++ led-usb {
+ label = "bcm53xx:green:usb";
+ gpios = <&hc595 0 GPIO_ACTIVE_HIGH>;
+ };
+
+- power0 {
++ led-power0 {
+ label = "bcm53xx:green:power";
+ gpios = <&hc595 1 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "default-on";
+ };
+
+- power1 {
++ led-power1 {
+ label = "bcm53xx:red:power";
+ gpios = <&hc595 2 GPIO_ACTIVE_HIGH>;
+ };
+
+- router0 {
++ led-router0 {
+ label = "bcm53xx:green:router";
+ gpios = <&hc595 3 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "default-on";
+ };
+
+- router1 {
++ led-router1 {
+ label = "bcm53xx:amber:router";
+ gpios = <&hc595 4 GPIO_ACTIVE_HIGH>;
+ };
+
+- wan {
++ led-wan {
+ label = "bcm53xx:green:wan";
+ gpios = <&hc595 5 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "default-on";
+ };
+
+- wireless0 {
++ led-wireless0 {
+ label = "bcm53xx:green:wireless";
+ gpios = <&hc595 6 GPIO_ACTIVE_HIGH>;
+ };
+
+- wireless1 {
++ led-wireless1 {
+ label = "bcm53xx:amber:wireless";
+ gpios = <&hc595 7 GPIO_ACTIVE_HIGH>;
+ };
+--- a/arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts
++++ b/arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts
+@@ -23,19 +23,19 @@
+ leds {
+ compatible = "gpio-leds";
+
+- 5ghz {
++ led-5ghz {
+ label = "bcm53xx:blue:5ghz";
+ gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "none";
+ };
+
+- 2ghz {
++ led-2ghz {
+ label = "bcm53xx:blue:2ghz";
+ gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "none";
+ };
+
+- status {
++ led-status {
+ label = "bcm53xx:green:status";
+ gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "timer";
+--- a/arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
++++ b/arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
+@@ -29,62 +29,62 @@
+ leds {
+ compatible = "gpio-leds";
+
+- power {
++ led-power {
+ label = "bcm53xx:green:power";
+ gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+- lan3 {
++ led-lan3 {
+ label = "bcm53xx:green:lan3";
+ gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "none";
+ };
+
+- lan4 {
++ led-lan4 {
+ label = "bcm53xx:green:lan4";
+ gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "none";
+ };
+
+- wan {
++ led-wan {
+ label = "bcm53xx:green:wan";
+ gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "none";
+ };
+
+- lan2 {
++ led-lan2 {
+ label = "bcm53xx:green:lan2";
+ gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "none";
+ };
+
+- usb {
++ led-usb {
+ label = "bcm53xx:green:usb";
+ gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
+ trigger-sources = <&ohci_port2>, <&ehci_port2>;
+ linux,default-trigger = "usbport";
+ };
+
+- status {
++ led-status {
+ label = "bcm53xx:green:status";
+ gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "timer";
+ };
+
+- 2ghz {
++ led-2ghz {
+ label = "bcm53xx:green:2ghz";
+ gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "none";
+ };
+
+- 5ghz {
++ led-5ghz {
+ label = "bcm53xx:green:5ghz";
+ gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "none";
+ };
+
+- lan1 {
++ led-lan1 {
+ label = "bcm53xx:green:lan1";
+ gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "none";
+--- a/arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts
++++ b/arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts
+@@ -23,50 +23,50 @@
+ leds {
+ compatible = "gpio-leds";
+
+- 2ghz {
++ led-2ghz {
+ label = "bcm53xx:green:2ghz";
+ gpios = <&chipcommon 0 GPIO_ACTIVE_HIGH>;
+ };
+
+- lan {
++ led-lan {
+ label = "bcm53xx:green:lan";
+ gpios = <&chipcommon 1 GPIO_ACTIVE_HIGH>;
+ };
+
+- usb2-port1 {
++ led-usb2-port1 {
+ label = "bcm53xx:green:usb2-port1";
+ gpios = <&chipcommon 2 GPIO_ACTIVE_HIGH>;
+ trigger-sources = <&ohci_port1>, <&ehci_port1>;
+ linux,default-trigger = "usbport";
+ };
+
+- power {
++ led-power {
+ label = "bcm53xx:green:power";
+ gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "default-on";
+ };
+
+- wan-green {
++ led-wan-green {
+ label = "bcm53xx:green:wan";
+ gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
+ };
+
+- wps {
++ led-wps {
+ label = "bcm53xx:green:wps";
+ gpios = <&chipcommon 6 GPIO_ACTIVE_HIGH>;
+ };
+
+- wan-amber {
++ led-wan-amber {
+ label = "bcm53xx:amber:wan";
+ gpios = <&chipcommon 8 GPIO_ACTIVE_HIGH>;
+ };
+
+- 5ghz {
++ led-5ghz {
+ label = "bcm53xx:green:5ghz";
+ gpios = <&chipcommon 12 GPIO_ACTIVE_HIGH>;
+ };
+
+- usb2-port2 {
++ led-usb2-port2 {
+ label = "bcm53xx:green:usb2-port2";
+ gpios = <&chipcommon 13 GPIO_ACTIVE_HIGH>;
+ trigger-sources = <&ohci_port2>, <&ehci_port2>;
+--- a/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
++++ b/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
+@@ -28,18 +28,18 @@
+ leds {
+ compatible = "gpio-leds";
+
+- wps {
++ led-wps {
+ label = "bcm53xx:blue:wps";
+ gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
+ };
+
+- power {
++ led-power {
+ label = "bcm53xx:blue:power";
+ gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+- wan {
++ led-wan {
+ label = "bcm53xx:red:wan";
+ gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>;
+ };
+--- a/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
++++ b/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
+@@ -28,48 +28,48 @@
+ leds {
+ compatible = "gpio-leds";
+
+- usb {
++ led-usb {
+ label = "bcm53xx:green:usb";
+ gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
+ };
+
+- power-amber {
++ led-power-amber {
+ label = "bcm53xx:amber:power";
+ gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
+ };
+
+- power-white {
++ led-power-white {
+ label = "bcm53xx:white:power";
+ gpios = <&chipcommon 6 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "default-on";
+ };
+
+- router-amber {
++ led-router-amber {
+ label = "bcm53xx:amber:router";
+ gpios = <&chipcommon 7 GPIO_ACTIVE_HIGH>;
+ };
+
+- router-white {
++ led-router-white {
+ label = "bcm53xx:white:router";
+ gpios = <&chipcommon 8 GPIO_ACTIVE_HIGH>;
+ };
+
+- wan-amber {
++ led-wan-amber {
+ label = "bcm53xx:amber:wan";
+ gpios = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
+ };
+
+- wan-white {
++ led-wan-white {
+ label = "bcm53xx:white:wan";
+ gpios = <&chipcommon 10 GPIO_ACTIVE_HIGH>;
+ };
+
+- wireless-amber {
++ led-wireless-amber {
+ label = "bcm53xx:amber:wireless";
+ gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
+ };
+
+- wireless-white {
++ led-wireless-white {
+ label = "bcm53xx:white:wireless";
+ gpios = <&chipcommon 12 GPIO_ACTIVE_HIGH>;
+ };
+--- a/arch/arm/boot/dts/bcm4709-netgear-r7000.dts
++++ b/arch/arm/boot/dts/bcm4709-netgear-r7000.dts
+@@ -28,43 +28,43 @@
+ leds {
+ compatible = "gpio-leds";
+
+- power-white {
++ led-power-white {
+ label = "bcm53xx:white:power";
+ gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+- power-amber {
++ led-power-amber {
+ label = "bcm53xx:amber:power";
+ gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+ };
+
+- 5ghz {
++ led-5ghz {
+ label = "bcm53xx:white:5ghz";
+ gpios = <&chipcommon 12 GPIO_ACTIVE_LOW>;
+ };
+
+- 2ghz {
++ led-2ghz {
+ label = "bcm53xx:white:2ghz";
+ gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+ };
+
+- wps {
++ led-wps {
+ label = "bcm53xx:white:wps";
+ gpios = <&chipcommon 14 GPIO_ACTIVE_HIGH>;
+ };
+
+- wireless {
++ led-wireless {
+ label = "bcm53xx:white:wireless";
+ gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>;
+ };
+
+- usb3 {
++ led-usb3 {
+ label = "bcm53xx:white:usb3";
+ gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
+ };
+
+- usb2 {
++ led-usb2 {
+ label = "bcm53xx:white:usb2";
+ gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
+ };
+--- a/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
++++ b/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
+@@ -39,59 +39,59 @@
+ leds {
+ compatible = "gpio-leds";
+
+- power-white {
++ led-power-white {
+ label = "bcm53xx:white:power";
+ gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+- power-amber {
++ led-power-amber {
+ label = "bcm53xx:amber:power";
+ gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+ };
+
+- wan-white {
++ led-wan-white {
+ label = "bcm53xx:white:wan";
+ gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+- wan-amber {
++ led-wan-amber {
+ label = "bcm53xx:amber:wan";
+ gpios = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
+ };
+
+- 5ghz-1 {
++ led-5ghz-1 {
+ label = "bcm53xx:white:5ghz-1";
+ gpios = <&chipcommon 12 GPIO_ACTIVE_LOW>;
+ };
+
+- 2ghz {
++ led-2ghz {
+ label = "bcm53xx:white:2ghz";
+ gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+ };
+
+- wireless {
++ led-wireless {
+ label = "bcm53xx:white:wireless";
+ gpios = <&chipcommon 14 GPIO_ACTIVE_HIGH>;
+ };
+
+- wps {
++ led-wps {
+ label = "bcm53xx:white:wps";
+ gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>;
+ };
+
+- 5ghz-2 {
++ led-5ghz-2 {
+ label = "bcm53xx:white:5ghz-2";
+ gpios = <&chipcommon 16 GPIO_ACTIVE_LOW>;
+ };
+
+- usb3 {
++ led-usb3 {
+ label = "bcm53xx:white:usb3";
+ gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
+ };
+
+- usb2 {
++ led-usb2 {
+ label = "bcm53xx:white:usb2";
+ gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
+ };
+--- a/arch/arm/boot/dts/bcm4709-tplink-archer-c9-v1.dts
++++ b/arch/arm/boot/dts/bcm4709-tplink-archer-c9-v1.dts
+@@ -23,27 +23,27 @@
+ leds {
+ compatible = "gpio-leds";
+
+- lan {
++ led-lan {
+ label = "bcm53xx:blue:lan";
+ gpios = <&chipcommon 1 GPIO_ACTIVE_HIGH>;
+ };
+
+- wps {
++ led-wps {
+ label = "bcm53xx:blue:wps";
+ gpios = <&chipcommon 2 GPIO_ACTIVE_HIGH>;
+ };
+
+- 2ghz {
++ led-2ghz {
+ label = "bcm53xx:blue:2ghz";
+ gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
+ };
+
+- 5ghz {
++ led-5ghz {
+ label = "bcm53xx:blue:5ghz";
+ gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
+ };
+
+- usb3 {
++ led-usb3 {
+ label = "bcm53xx:blue:usb3";
+ gpios = <&chipcommon 6 GPIO_ACTIVE_HIGH>;
+ trigger-sources = <&ohci_port1>, <&ehci_port1>,
+@@ -51,24 +51,24 @@
+ linux,default-trigger = "usbport";
+ };
+
+- usb2 {
++ led-usb2 {
+ label = "bcm53xx:blue:usb2";
+ gpios = <&chipcommon 7 GPIO_ACTIVE_HIGH>;
+ trigger-sources = <&ohci_port2>, <&ehci_port2>;
+ linux,default-trigger = "usbport";
+ };
+
+- wan-blue {
++ led-wan-blue {
+ label = "bcm53xx:blue:wan";
+ gpios = <&chipcommon 14 GPIO_ACTIVE_HIGH>;
+ };
+
+- wan-amber {
++ led-wan-amber {
+ label = "bcm53xx:amber:wan";
+ gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>;
+ };
+
+- power {
++ led-power {
+ label = "bcm53xx:blue:power";
+ gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+--- a/arch/arm/boot/dts/bcm47094-asus-rt-ac88u.dts
++++ b/arch/arm/boot/dts/bcm47094-asus-rt-ac88u.dts
+@@ -33,37 +33,37 @@
+ leds {
+ compatible = "gpio-leds";
+
+- power {
++ led-power {
+ label = "white:power";
+ gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+- wan-red {
++ led-wan-red {
+ label = "red:wan";
+ gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
+ };
+
+- lan {
++ led-lan {
+ label = "white:lan";
+ gpios = <&chipcommon 21 GPIO_ACTIVE_LOW>;
+ };
+
+- usb2 {
++ led-usb2 {
+ label = "white:usb2";
+ gpios = <&chipcommon 16 GPIO_ACTIVE_LOW>;
+ trigger-sources = <&ehci_port2>;
+ linux,default-trigger = "usbport";
+ };
+
+- usb3 {
++ led-usb3 {
+ label = "white:usb3";
+ gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
+ trigger-sources = <&ehci_port1>, <&xhci_port1>;
+ linux,default-trigger = "usbport";
+ };
+
+- wps {
++ led-wps {
+ label = "white:wps";
+ gpios = <&chipcommon 19 GPIO_ACTIVE_LOW>;
+ };
+--- a/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts
++++ b/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts
+@@ -43,28 +43,28 @@
+ leds {
+ compatible = "gpio-leds";
+
+- power-white {
++ led-power-white {
+ label = "bcm53xx:white:power";
+ gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+- wan-white {
++ led-wan-white {
+ label = "bcm53xx:white:wan";
+ gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
+ };
+
+- power-amber {
++ led-power-amber {
+ label = "bcm53xx:amber:power";
+ gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+ };
+
+- wan-amber {
++ led-wan-amber {
+ label = "bcm53xx:amber:wan";
+ gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+ };
+
+- usb3-white {
++ led-usb3-white {
+ label = "bcm53xx:white:usb3";
+ gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
+ trigger-sources = <&ohci_port1>, <&ehci_port1>,
+@@ -72,12 +72,12 @@
+ linux,default-trigger = "usbport";
+ };
+
+- 2ghz {
++ led-2ghz {
+ label = "bcm53xx:white:2ghz";
+ gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+ };
+
+- 5ghz {
++ led-5ghz {
+ label = "bcm53xx:white:5ghz";
+ gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+ };
+--- a/arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts
++++ b/arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts
+@@ -41,47 +41,47 @@
+ */
+ compatible = "gpio-leds";
+
+- power-white {
++ led-power-white {
+ label = "bcm53xx:white:power";
+ gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+- wan-white {
++ led-wan-white {
+ label = "bcm53xx:white:wan";
+ gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
+ };
+
+- power-amber {
++ led-power-amber {
+ label = "bcm53xx:amber:power";
+ gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+ };
+
+- wan-amber {
++ led-wan-amber {
+ label = "bcm53xx:amber:wan";
+ gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+ };
+
+- usb3-white {
++ led-usb3-white {
+ label = "bcm53xx:white:usb3";
+ gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
+ trigger-sources = <&xhci_port1>;
+ linux,default-trigger = "usbport";
+ };
+
+- usb2-white {
++ led-usb2-white {
+ label = "bcm53xx:white:usb2";
+ gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>;
+ trigger-sources = <&ohci_port1>, <&ehci_port1>;
+ linux,default-trigger = "usbport";
+ };
+
+- 2ghz {
++ led-2ghz {
+ label = "bcm53xx:white:2ghz";
+ gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+ };
+
+- 5ghz {
++ led-5ghz {
+ label = "bcm53xx:white:5ghz";
+ gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+ };
+--- a/arch/arm/boot/dts/bcm47094-linksys-panamera.dts
++++ b/arch/arm/boot/dts/bcm47094-linksys-panamera.dts
+@@ -52,19 +52,19 @@
+ leds {
+ compatible = "gpio-leds";
+
+- wps {
++ led-wps {
+ label = "bcm53xx:white:wps";
+ gpios = <&chipcommon 22 GPIO_ACTIVE_LOW>;
+ };
+
+- usb2 {
++ led-usb2 {
+ label = "bcm53xx:green:usb2";
+ gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
+ trigger-sources = <&ohci_port2>, <&ehci_port2>;
+ linux,default-trigger = "usbport";
+ };
+
+- usb3 {
++ led-usb3 {
+ label = "bcm53xx:green:usb3";
+ gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+ trigger-sources = <&ohci_port1>, <&ehci_port1>,
+@@ -72,58 +72,58 @@
+ linux,default-trigger = "usbport";
+ };
+
+- power {
++ led-power {
+ label = "bcm53xx:white:power";
+ gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "default-on";
+ };
+
+- wifi-disabled {
++ led-wifi-disabled {
+ label = "bcm53xx:amber:wifi-disabled";
+ gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+ };
+
+- wifi-enabled {
++ led-wifi-enabled {
+ label = "bcm53xx:white:wifi-enabled";
+ gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
+ };
+
+- bluebar1 {
++ led-bluebar1 {
+ label = "bcm53xx:white:bluebar1";
+ gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
+ };
+
+- bluebar2 {
++ led-bluebar2 {
+ label = "bcm53xx:white:bluebar2";
+ gpios = <&chipcommon 12 GPIO_ACTIVE_HIGH>;
+ };
+
+- bluebar3 {
++ led-bluebar3 {
+ label = "bcm53xx:white:bluebar3";
+ gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>;
+ };
+
+- bluebar4 {
++ led-bluebar4 {
+ label = "bcm53xx:white:bluebar4";
+ gpios = <&chipcommon 18 GPIO_ACTIVE_HIGH>;
+ };
+
+- bluebar5 {
++ led-bluebar5 {
+ label = "bcm53xx:white:bluebar5";
+ gpios = <&chipcommon 19 GPIO_ACTIVE_HIGH>;
+ };
+
+- bluebar6 {
++ led-bluebar6 {
+ label = "bcm53xx:white:bluebar6";
+ gpios = <&chipcommon 20 GPIO_ACTIVE_HIGH>;
+ };
+
+- bluebar7 {
++ led-bluebar7 {
+ label = "bcm53xx:white:bluebar7";
+ gpios = <&chipcommon 21 GPIO_ACTIVE_HIGH>;
+ };
+
+- bluebar8 {
++ led-bluebar8 {
+ label = "bcm53xx:white:bluebar8";
+ gpios = <&chipcommon 8 GPIO_ACTIVE_HIGH>;
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
+@@ -30,13 +30,13 @@
+ leds {
+ compatible = "gpio-leds";
+
+- status {
++ led-status {
+ label = "bcm53xx:green:status";
+ gpios = <&chipcommon 20 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "timer";
+ };
+
+- usb3 {
++ led-usb3 {
+ label = "bcm53xx:green:usb3";
+ gpios = <&chipcommon 19 GPIO_ACTIVE_LOW>;
+ trigger-sources = <&ohci_port1>, <&ehci_port1>,
+--- a/arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts
+@@ -23,18 +23,18 @@
+ leds {
+ compatible = "gpio-leds";
+
+- status {
++ led-status {
+ label = "bcm53xx:green:status";
+ gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "timer";
+ };
+
+- 2ghz {
++ led-2ghz {
+ label = "bcm53xx:blue:2ghz";
+ gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+ };
+
+- 5ghz {
++ led-5ghz {
+ label = "bcm53xx:blue:5ghz";
+ gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
+@@ -30,13 +30,13 @@
+ leds {
+ compatible = "gpio-leds";
+
+- status {
++ led-status {
+ label = "bcm53xx:green:status";
+ gpios = <&chipcommon 20 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "timer";
+ };
+
+- usb3 {
++ led-usb3 {
+ label = "bcm53xx:green:usb3";
+ gpios = <&chipcommon 19 GPIO_ACTIVE_HIGH>;
+ trigger-sources = <&ohci_port1>, <&ehci_port1>,
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts
+@@ -25,7 +25,7 @@
+ leds {
+ compatible = "gpio-leds";
+
+- status {
++ led-status {
+ label = "bcm53xx:green:status";
+ gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "timer";
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts
+@@ -30,38 +30,38 @@
+ leds {
+ compatible = "gpio-leds";
+
+- power {
++ led-power {
+ label = "bcm53xx:green:power";
+ gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+- lan3 {
++ led-lan3 {
+ label = "bcm53xx:green:lan3";
+ gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
+ };
+
+- lan4 {
++ led-lan4 {
+ label = "bcm53xx:green:lan4";
+ gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+ };
+
+- wan {
++ led-wan {
+ label = "bcm53xx:green:wan";
+ gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+ };
+
+- lan1 {
++ led-lan1 {
+ label = "bcm53xx:green:lan1";
+ gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
+ };
+
+- lan2 {
++ led-lan2 {
+ label = "bcm53xx:green:lan2";
+ gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>;
+ };
+
+- usb3 {
++ led-usb3 {
+ label = "bcm53xx:green:usb3";
+ gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
+ trigger-sources = <&ohci_port1>, <&ehci_port1>,
+@@ -69,18 +69,18 @@
+ linux,default-trigger = "usbport";
+ };
+
+- status {
++ led-status {
+ label = "bcm53xx:green:status";
+ gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "timer";
+ };
+
+- 2ghz {
++ led-2ghz {
+ label = "bcm53xx:green:2ghz";
+ gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+ };
+
+- 5ghz {
++ led-5ghz {
+ label = "bcm53xx:green:5ghz";
+ gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts
+@@ -33,13 +33,13 @@
+ leds {
+ compatible = "gpio-leds";
+
+- power {
++ led-power {
+ label = "bcm53xx:green:power";
+ gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+- usb3 {
++ led-usb3 {
+ label = "bcm53xx:green:usb3";
+ gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
+ trigger-sources = <&ohci_port1>, <&ehci_port1>,
+@@ -47,18 +47,18 @@
+ linux,default-trigger = "usbport";
+ };
+
+- status {
++ led-status {
+ label = "bcm53xx:green:status";
+ gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "timer";
+ };
+
+- 2ghz {
++ led-2ghz {
+ label = "bcm53xx:green:2ghz";
+ gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+ };
+
+- 5ghz {
++ led-5ghz {
+ label = "bcm53xx:green:5ghz";
+ gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+ };
+--- a/arch/arm/boot/dts/bcm47094-netgear-r8500.dts
++++ b/arch/arm/boot/dts/bcm47094-netgear-r8500.dts
+@@ -25,38 +25,38 @@
+ leds {
+ compatible = "gpio-leds";
+
+- power0 {
++ led-power0 {
+ label = "bcm53xx:white:power";
+ gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+- power1 {
++ led-power1 {
+ label = "bcm53xx:amber:power";
+ gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+ };
+
+- 5ghz-1 {
++ led-5ghz-1 {
+ label = "bcm53xx:white:5ghz-1";
+ gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
+ };
+
+- 5ghz-2 {
++ led-5ghz-2 {
+ label = "bcm53xx:white:5ghz-2";
+ gpios = <&chipcommon 12 GPIO_ACTIVE_LOW>;
+ };
+
+- 2ghz {
++ led-2ghz {
+ label = "bcm53xx:white:2ghz";
+ gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+ };
+
+- usb2 {
++ led-usb2 {
+ label = "bcm53xx:white:usb2";
+ gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
+ };
+
+- usb3 {
++ led-usb3 {
+ label = "bcm53xx:white:usb3";
+ gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
+ };
+--- a/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
++++ b/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
+@@ -23,13 +23,13 @@
+ leds {
+ compatible = "gpio-leds";
+
+- wlan {
++ led-wlan {
+ label = "bcm53xx:blue:wlan";
+ gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-off";
+ };
+
+- system {
++ led-system {
+ label = "bcm53xx:green:system";
+ gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "timer";
+--- a/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
++++ b/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
+@@ -20,26 +20,26 @@
+ reg = <0x00000000 0x08000000>;
+ };
+
+- leds {
++ leds-0 {
+ compatible = "gpio-leds";
+
+- 5ghz {
++ led-5ghz {
+ label = "bcm53xx:blue:5ghz";
+ gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "default-off";
+ };
+
+- system {
++ led-system {
+ label = "bcm53xx:green:system";
+ gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "timer";
+ };
+ };
+
+- pcie0_leds {
++ leds-1 {
+ compatible = "gpio-leds";
+
+- 2ghz {
++ led-2ghz {
+ label = "bcm53xx:blue:2ghz";
+ gpios = <&pcie0_chipcommon 3 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "default-off";
+--- a/arch/arm/boot/dts/bcm47189-tenda-ac9.dts
++++ b/arch/arm/boot/dts/bcm47189-tenda-ac9.dts
+@@ -20,37 +20,37 @@
+ reg = <0x00000000 0x08000000>;
+ };
+
+- leds {
++ leds-0 {
+ compatible = "gpio-leds";
+
+- usb {
++ led-usb {
+ label = "bcm53xx:blue:usb";
+ gpios = <&chipcommon 1 GPIO_ACTIVE_HIGH>;
+ trigger-sources = <&ohci_port1>, <&ehci_port1>;
+ linux,default-trigger = "usbport";
+ };
+
+- wps {
++ led-wps {
+ label = "bcm53xx:blue:wps";
+ gpios = <&chipcommon 10 GPIO_ACTIVE_HIGH>;
+ };
+
+- 5ghz {
++ led-5ghz {
+ label = "bcm53xx:blue:5ghz";
+ gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
+ };
+
+- system {
++ led-system {
+ label = "bcm53xx:blue:system";
+ gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "timer";
+ };
+ };
+
+- pcie0_leds {
++ leds-1 {
+ compatible = "gpio-leds";
+
+- 2ghz {
++ led-2ghz {
+ label = "bcm53xx:blue:2ghz";
+ gpios = <&pcie0_chipcommon 3 GPIO_ACTIVE_HIGH>;
+ };
+--- a/arch/arm/boot/dts/bcm53016-dlink-dwl-8610ap.dts
++++ b/arch/arm/boot/dts/bcm53016-dlink-dwl-8610ap.dts
+@@ -20,14 +20,14 @@
+ leds {
+ compatible = "gpio-leds";
+
+- power {
++ led-power {
+ function = LED_FUNCTION_POWER;
+ color = <LED_COLOR_ID_GREEN>;
+ gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+
+- diag {
++ led-diag {
+ /* Actually "diag" unclear what this means */
+ function = LED_FUNCTION_INDICATOR;
+ color = <LED_COLOR_ID_RED>;
+@@ -36,13 +36,13 @@
+ linux,default-trigger = "heartbeat";
+ };
+
+- wlan-2g {
++ led-wlan-2g {
+ function = LED_FUNCTION_WLAN;
+ color = <LED_COLOR_ID_GREEN>;
+ gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>;
+ };
+
+- wlan-5g {
++ led-wlan-5g {
+ function = LED_FUNCTION_WLAN;
+ color = <LED_COLOR_ID_GREEN>;
+ gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
+--- a/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
++++ b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
+@@ -58,7 +58,7 @@
+ pwm-leds {
+ compatible = "pwm-leds";
+
+- red {
++ led-0 {
+ /* SYS-LED 1 - Tricolor */
+ function = LED_FUNCTION_INDICATOR;
+ color = <LED_COLOR_ID_RED>;
+@@ -66,7 +66,7 @@
+ max-brightness = <255>;
+ };
+
+- green {
++ led-1 {
+ /* SYS-LED 1 - Tricolor */
+ function = LED_FUNCTION_POWER;
+ color = <LED_COLOR_ID_GREEN>;
+@@ -74,7 +74,7 @@
+ max-brightness = <255>;
+ };
+
+- blue {
++ led-2 {
+ /* SYS-LED 1 - Tricolor */
+ function = LED_FUNCTION_INDICATOR;
+ color = <LED_COLOR_ID_BLUE>;
+--- a/arch/arm/boot/dts/bcm947189acdbmr.dts
++++ b/arch/arm/boot/dts/bcm947189acdbmr.dts
+@@ -25,17 +25,17 @@
+ leds {
+ compatible = "gpio-leds";
+
+- wps {
++ led-wps {
+ label = "bcm53xx:blue:wps";
+ gpios = <&chipcommon 10 GPIO_ACTIVE_HIGH>;
+ };
+
+- 5ghz {
++ led-5ghz {
+ label = "bcm53xx:blue:5ghz";
+ gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
+ };
+
+- 2ghz {
++ led-2ghz {
+ label = "bcm53xx:blue:2ghz";
+ gpios = <&chipcommon 12 GPIO_ACTIVE_HIGH>;
+ };
diff --git a/target/linux/bcm53xx/patches-5.15/036-v6.5-0001-ARM-dts-BCM5301X-Relicense-Rafa-s-code-to-the-GPL-2..patch b/target/linux/bcm53xx/patches-5.15/036-v6.5-0001-ARM-dts-BCM5301X-Relicense-Rafa-s-code-to-the-GPL-2..patch
new file mode 100644
index 0000000000..9c6f0b8e53
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.15/036-v6.5-0001-ARM-dts-BCM5301X-Relicense-Rafa-s-code-to-the-GPL-2..patch
@@ -0,0 +1,487 @@
+From 915fac07f053418d0ab9075af64da2872ca8a7f8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Wed, 3 May 2023 14:16:10 +0200
+Subject: [PATCH] =?UTF-8?q?ARM:=20dts:=20BCM5301X:=20Relicense=20Rafa?=
+ =?UTF-8?q?=C5=82's=20code=20to=20the=20GPL=202.0+=20/=20MIT?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+All BCM5301X device DTS files use dual licensing. Try the same for SoC.
+Introduce a new .dtsi file with a proper SPDX tag.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20230503121611.1629-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ MAINTAINERS | 1 +
+ arch/arm/boot/dts/bcm-ns.dtsi | 202 ++++++++++++++++++++++++++++++++
+ arch/arm/boot/dts/bcm5301x.dtsi | 192 +-----------------------------
+ 3 files changed, 205 insertions(+), 190 deletions(-)
+ create mode 100644 arch/arm/boot/dts/bcm-ns.dtsi
+
+--- a/MAINTAINERS
++++ b/MAINTAINERS
+@@ -3579,6 +3579,7 @@ M: Rafał Miłecki <zajec5@gmail.com>
+ M: bcm-kernel-feedback-list@broadcom.com
+ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+ S: Maintained
++F: arch/arm/boot/dts/bcm-ns.dtsi
+ F: arch/arm/boot/dts/bcm470*
+ F: arch/arm/boot/dts/bcm5301*
+ F: arch/arm/boot/dts/bcm953012*
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm-ns.dtsi
+@@ -0,0 +1,202 @@
++// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
++
++#include <dt-bindings/clock/bcm-nsp.h>
++#include <dt-bindings/gpio/gpio.h>
++#include <dt-bindings/input/input.h>
++#include <dt-bindings/interrupt-controller/irq.h>
++#include <dt-bindings/interrupt-controller/arm-gic.h>
++
++/ {
++ axi@18000000 {
++ compatible = "brcm,bus-axi";
++ reg = <0x18000000 0x1000>;
++ ranges = <0x00000000 0x18000000 0x00100000>;
++ #address-cells = <1>;
++ #size-cells = <1>;
++
++ chipcommon: chipcommon@0 {
++ reg = <0x00000000 0x1000>;
++
++ gpio-controller;
++ #gpio-cells = <2>;
++ };
++
++ pcie0: pcie@12000 {
++ reg = <0x00012000 0x1000>;
++ };
++
++ pcie1: pcie@13000 {
++ reg = <0x00013000 0x1000>;
++ };
++
++ usb2: usb2@21000 {
++ reg = <0x00021000 0x1000>;
++
++ #address-cells = <1>;
++ #size-cells = <1>;
++ ranges;
++
++ interrupt-parent = <&gic>;
++
++ ehci: usb@21000 {
++ #usb-cells = <0>;
++
++ compatible = "generic-ehci";
++ reg = <0x00021000 0x1000>;
++ interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
++ phys = <&usb2_phy>;
++
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ ehci_port1: port@1 {
++ reg = <1>;
++ #trigger-source-cells = <0>;
++ };
++
++ ehci_port2: port@2 {
++ reg = <2>;
++ #trigger-source-cells = <0>;
++ };
++ };
++
++ ohci: usb@22000 {
++ #usb-cells = <0>;
++
++ compatible = "generic-ohci";
++ reg = <0x00022000 0x1000>;
++ interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
++
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ ohci_port1: port@1 {
++ reg = <1>;
++ #trigger-source-cells = <0>;
++ };
++
++ ohci_port2: port@2 {
++ reg = <2>;
++ #trigger-source-cells = <0>;
++ };
++ };
++ };
++
++ usb3: usb3@23000 {
++ reg = <0x00023000 0x1000>;
++
++ #address-cells = <1>;
++ #size-cells = <1>;
++ ranges;
++
++ interrupt-parent = <&gic>;
++
++ xhci: usb@23000 {
++ #usb-cells = <0>;
++
++ compatible = "generic-xhci";
++ reg = <0x00023000 0x1000>;
++ interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
++ phys = <&usb3_phy>;
++ phy-names = "usb";
++
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ xhci_port1: port@1 {
++ reg = <1>;
++ #trigger-source-cells = <0>;
++ };
++ };
++ };
++ };
++
++ mdio: mdio@18003000 {
++ compatible = "brcm,iproc-mdio";
++ reg = <0x18003000 0x8>;
++ #size-cells = <0>;
++ #address-cells = <1>;
++ };
++
++ dmu-bus@1800c000 {
++ compatible = "simple-bus";
++ ranges = <0 0x1800c000 0x1000>;
++ #address-cells = <1>;
++ #size-cells = <1>;
++
++ cru-bus@100 {
++ compatible = "brcm,ns-cru", "simple-mfd";
++ reg = <0x100 0x1a4>;
++ ranges;
++ #address-cells = <1>;
++ #size-cells = <1>;
++
++ usb2_phy: phy@164 {
++ compatible = "brcm,ns-usb2-phy";
++ reg = <0x164 0x4>;
++ brcm,syscon-clkset = <&cru_clkset>;
++ clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>;
++ clock-names = "phy-ref-clk";
++ #phy-cells = <0>;
++ };
++
++ cru_clkset: syscon@180 {
++ compatible = "brcm,cru-clkset", "syscon";
++ reg = <0x180 0x4>;
++ };
++
++ pinctrl: pinctrl@1c0 {
++ compatible = "brcm,bcm4708-pinmux";
++ reg = <0x1c0 0x24>;
++ reg-names = "cru_gpio_control";
++
++ spi-pins {
++ groups = "spi_grp";
++ function = "spi";
++ };
++
++ pinmux_i2c: i2c-pins {
++ groups = "i2c_grp";
++ function = "i2c";
++ };
++
++ pinmux_pwm: pwm-pins {
++ groups = "pwm0_grp", "pwm1_grp",
++ "pwm2_grp", "pwm3_grp";
++ function = "pwm";
++ };
++
++ pinmux_uart1: uart1-pins {
++ groups = "uart1_grp";
++ function = "uart1";
++ };
++ };
++
++ thermal: thermal@2c0 {
++ compatible = "brcm,ns-thermal";
++ reg = <0x2c0 0x10>;
++ #thermal-sensor-cells = <0>;
++ };
++ };
++ };
++
++ thermal-zones {
++ cpu_thermal: cpu-thermal {
++ polling-delay-passive = <0>;
++ polling-delay = <1000>;
++ coefficients = <(-556) 418000>;
++ thermal-sensors = <&thermal>;
++
++ trips {
++ cpu-crit {
++ temperature = <125000>;
++ hysteresis = <0>;
++ type = "critical";
++ };
++ };
++
++ cooling-maps {
++ };
++ };
++ };
++};
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -8,11 +8,7 @@
+ * Licensed under the GNU/GPL. See COPYING for details.
+ */
+
+-#include <dt-bindings/clock/bcm-nsp.h>
+-#include <dt-bindings/gpio/gpio.h>
+-#include <dt-bindings/input/input.h>
+-#include <dt-bindings/interrupt-controller/irq.h>
+-#include <dt-bindings/interrupt-controller/arm-gic.h>
++#include "bcm-ns.dtsi"
+
+ / {
+ #address-cells = <1>;
+@@ -149,12 +145,6 @@
+ };
+
+ axi@18000000 {
+- compatible = "brcm,bus-axi";
+- reg = <0x18000000 0x1000>;
+- ranges = <0x00000000 0x18000000 0x00100000>;
+- #address-cells = <1>;
+- #size-cells = <1>;
+-
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0x000fffff 0xffff>;
+ interrupt-map =
+@@ -228,108 +218,15 @@
+ <0x00028000 6 &gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
+ <0x00028000 7 &gic GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
+
+- chipcommon: chipcommon@0 {
+- reg = <0x00000000 0x1000>;
+-
+- gpio-controller;
+- #gpio-cells = <2>;
++ chipcommon@0 {
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+- pcie0: pcie@12000 {
+- reg = <0x00012000 0x1000>;
+- };
+-
+- pcie1: pcie@13000 {
+- reg = <0x00013000 0x1000>;
+- };
+-
+ pcie2: pcie@14000 {
+ reg = <0x00014000 0x1000>;
+ };
+
+- usb2: usb2@21000 {
+- reg = <0x00021000 0x1000>;
+-
+- #address-cells = <1>;
+- #size-cells = <1>;
+- ranges;
+-
+- interrupt-parent = <&gic>;
+-
+- ehci: usb@21000 {
+- #usb-cells = <0>;
+-
+- compatible = "generic-ehci";
+- reg = <0x00021000 0x1000>;
+- interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
+- phys = <&usb2_phy>;
+-
+- #address-cells = <1>;
+- #size-cells = <0>;
+-
+- ehci_port1: port@1 {
+- reg = <1>;
+- #trigger-source-cells = <0>;
+- };
+-
+- ehci_port2: port@2 {
+- reg = <2>;
+- #trigger-source-cells = <0>;
+- };
+- };
+-
+- ohci: usb@22000 {
+- #usb-cells = <0>;
+-
+- compatible = "generic-ohci";
+- reg = <0x00022000 0x1000>;
+- interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
+-
+- #address-cells = <1>;
+- #size-cells = <0>;
+-
+- ohci_port1: port@1 {
+- reg = <1>;
+- #trigger-source-cells = <0>;
+- };
+-
+- ohci_port2: port@2 {
+- reg = <2>;
+- #trigger-source-cells = <0>;
+- };
+- };
+- };
+-
+- usb3: usb3@23000 {
+- reg = <0x00023000 0x1000>;
+-
+- #address-cells = <1>;
+- #size-cells = <1>;
+- ranges;
+-
+- interrupt-parent = <&gic>;
+-
+- xhci: usb@23000 {
+- #usb-cells = <0>;
+-
+- compatible = "generic-xhci";
+- reg = <0x00023000 0x1000>;
+- interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
+- phys = <&usb3_phy>;
+- phy-names = "usb";
+-
+- #address-cells = <1>;
+- #size-cells = <0>;
+-
+- xhci_port1: port@1 {
+- reg = <1>;
+- #trigger-source-cells = <0>;
+- };
+- };
+- };
+-
+ gmac0: ethernet@24000 {
+ reg = <0x24000 0x800>;
+ };
+@@ -355,13 +252,6 @@
+ status = "disabled";
+ };
+
+- mdio: mdio@18003000 {
+- compatible = "brcm,iproc-mdio";
+- reg = <0x18003000 0x8>;
+- #size-cells = <0>;
+- #address-cells = <1>;
+- };
+-
+ mdio-mux@18003000 {
+ compatible = "mdio-mux-mmioreg", "mdio-mux";
+ mdio-parent-bus = <&mdio>;
+@@ -409,18 +299,7 @@
+ };
+
+ dmu-bus@1800c000 {
+- compatible = "simple-bus";
+- ranges = <0 0x1800c000 0x1000>;
+- #address-cells = <1>;
+- #size-cells = <1>;
+-
+ cru-bus@100 {
+- compatible = "brcm,ns-cru", "simple-mfd";
+- reg = <0x100 0x1a4>;
+- ranges;
+- #address-cells = <1>;
+- #size-cells = <1>;
+-
+ lcpll0: clock-controller@100 {
+ #clock-cells = <1>;
+ compatible = "brcm,nsp-lcpll0";
+@@ -440,53 +319,6 @@
+ "usbclk", "iprocfast",
+ "sata1", "sata2";
+ };
+-
+- usb2_phy: phy@164 {
+- compatible = "brcm,ns-usb2-phy";
+- reg = <0x164 0x4>;
+- brcm,syscon-clkset = <&cru_clkset>;
+- clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>;
+- clock-names = "phy-ref-clk";
+- #phy-cells = <0>;
+- };
+-
+- cru_clkset: syscon@180 {
+- compatible = "brcm,cru-clkset", "syscon";
+- reg = <0x180 0x4>;
+- };
+-
+- pinctrl: pinctrl@1c0 {
+- compatible = "brcm,bcm4708-pinmux";
+- reg = <0x1c0 0x24>;
+- reg-names = "cru_gpio_control";
+-
+- spi-pins {
+- groups = "spi_grp";
+- function = "spi";
+- };
+-
+- pinmux_i2c: i2c-pins {
+- groups = "i2c_grp";
+- function = "i2c";
+- };
+-
+- pinmux_pwm: pwm-pins {
+- groups = "pwm0_grp", "pwm1_grp",
+- "pwm2_grp", "pwm3_grp";
+- function = "pwm";
+- };
+-
+- pinmux_uart1: uart1-pins {
+- groups = "uart1_grp";
+- function = "uart1";
+- };
+- };
+-
+- thermal: thermal@2c0 {
+- compatible = "brcm,ns-thermal";
+- reg = <0x2c0 0x10>;
+- #thermal-sensor-cells = <0>;
+- };
+ };
+ };
+
+@@ -558,24 +390,4 @@
+ };
+ };
+ };
+-
+- thermal-zones {
+- cpu_thermal: cpu-thermal {
+- polling-delay-passive = <0>;
+- polling-delay = <1000>;
+- coefficients = <(-556) 418000>;
+- thermal-sensors = <&thermal>;
+-
+- trips {
+- cpu-crit {
+- temperature = <125000>;
+- hysteresis = <0>;
+- type = "critical";
+- };
+- };
+-
+- cooling-maps {
+- };
+- };
+- };
+ };
diff --git a/target/linux/bcm53xx/patches-5.15/036-v6.5-0002-ARM-dts-BCM5301X-Relicense-Florian-s-code-to-the-GPL.patch b/target/linux/bcm53xx/patches-5.15/036-v6.5-0002-ARM-dts-BCM5301X-Relicense-Florian-s-code-to-the-GPL.patch
new file mode 100644
index 0000000000..b98f2daa67
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.15/036-v6.5-0002-ARM-dts-BCM5301X-Relicense-Florian-s-code-to-the-GPL.patch
@@ -0,0 +1,136 @@
+From 916553449561c4f0b61c71b751b7bb583f5dddd4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Wed, 3 May 2023 14:16:11 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Relicense Florian's code to the GPL 2.0+
+ / MIT
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+All BCM5301X device DTS files use dual licensing. Try the same for SoC.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20230503121611.1629-2-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ arch/arm/boot/dts/bcm-ns.dtsi | 36 ++++++++++++++++++++++++++++++
+ arch/arm/boot/dts/bcm5301x.dtsi | 39 ---------------------------------
+ 2 files changed, 36 insertions(+), 39 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm-ns.dtsi
++++ b/arch/arm/boot/dts/bcm-ns.dtsi
+@@ -19,6 +19,8 @@
+
+ gpio-controller;
+ #gpio-cells = <2>;
++ interrupt-controller;
++ #interrupt-cells = <2>;
+ };
+
+ pcie0: pcie@12000 {
+@@ -109,6 +111,22 @@
+ };
+ };
+ };
++
++ gmac0: ethernet@24000 {
++ reg = <0x24000 0x800>;
++ };
++
++ gmac1: ethernet@25000 {
++ reg = <0x25000 0x800>;
++ };
++
++ gmac2: ethernet@26000 {
++ reg = <0x26000 0x800>;
++ };
++
++ gmac3: ethernet@27000 {
++ reg = <0x27000 0x800>;
++ };
+ };
+
+ mdio: mdio@18003000 {
+@@ -118,6 +136,24 @@
+ #address-cells = <1>;
+ };
+
++ rng: rng@18004000 {
++ compatible = "brcm,bcm5301x-rng";
++ reg = <0x18004000 0x14>;
++ };
++
++ srab: ethernet-switch@18007000 {
++ compatible = "brcm,bcm53011-srab", "brcm,bcm5301x-srab";
++ reg = <0x18007000 0x1000>;
++
++ status = "disabled";
++
++ /* ports are defined in board DTS */
++ ports {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ };
++ };
++
+ dmu-bus@1800c000 {
+ compatible = "simple-bus";
+ ranges = <0 0x1800c000 0x1000>;
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -218,30 +218,9 @@
+ <0x00028000 6 &gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
+ <0x00028000 7 &gic GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
+
+- chipcommon@0 {
+- interrupt-controller;
+- #interrupt-cells = <2>;
+- };
+-
+ pcie2: pcie@14000 {
+ reg = <0x00014000 0x1000>;
+ };
+-
+- gmac0: ethernet@24000 {
+- reg = <0x24000 0x800>;
+- };
+-
+- gmac1: ethernet@25000 {
+- reg = <0x25000 0x800>;
+- };
+-
+- gmac2: ethernet@26000 {
+- reg = <0x26000 0x800>;
+- };
+-
+- gmac3: ethernet@27000 {
+- reg = <0x27000 0x800>;
+- };
+ };
+
+ pwm: pwm@18002000 {
+@@ -322,24 +301,6 @@
+ };
+ };
+
+- srab: ethernet-switch@18007000 {
+- compatible = "brcm,bcm53011-srab", "brcm,bcm5301x-srab";
+- reg = <0x18007000 0x1000>;
+-
+- status = "disabled";
+-
+- /* ports are defined in board DTS */
+- ports {
+- #address-cells = <1>;
+- #size-cells = <0>;
+- };
+- };
+-
+- rng: rng@18004000 {
+- compatible = "brcm,bcm5301x-rng";
+- reg = <0x18004000 0x14>;
+- };
+-
+ nand_controller: nand-controller@18028000 {
+ compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1", "brcm,brcmnand";
+ reg = <0x18028000 0x600>, <0x1811a408 0x600>, <0x18028f00 0x20>;
diff --git a/target/linux/bcm53xx/patches-5.15/036-v6.5-0003-ARM-dts-BCM5301X-Drop-clock-names-from-the-SPI-node.patch b/target/linux/bcm53xx/patches-5.15/036-v6.5-0003-ARM-dts-BCM5301X-Drop-clock-names-from-the-SPI-node.patch
new file mode 100644
index 0000000000..4065db8366
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.15/036-v6.5-0003-ARM-dts-BCM5301X-Drop-clock-names-from-the-SPI-node.patch
@@ -0,0 +1,32 @@
+From d3c8e2c5757153bbfad70019ec1decbca86f3def Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Wed, 3 May 2023 14:28:30 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Drop "clock-names" from the SPI node
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+There is no such property in the SPI controller binding documentation.
+Also Linux driver doesn't look for it.
+
+This fixes:
+arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: spi@18029200: Unevaluated properties are not allowed ('clock-names' was unexpected)
+ From schema: Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20230503122830.3200-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ arch/arm/boot/dts/bcm5301x.dtsi | 1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -335,7 +335,6 @@
+ "spi_lr_session_done",
+ "spi_lr_overread";
+ clocks = <&iprocmed>;
+- clock-names = "iprocmed";
+ num-cs = <2>;
+ #address-cells = <1>;
+ #size-cells = <0>;
diff --git a/target/linux/bcm53xx/patches-5.15/036-v6.5-0004-ARM-dts-BCM5301X-Relicense-Hauke-s-code-to-the-GPL-2.patch b/target/linux/bcm53xx/patches-5.15/036-v6.5-0004-ARM-dts-BCM5301X-Relicense-Hauke-s-code-to-the-GPL-2.patch
new file mode 100644
index 0000000000..328748c8e0
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.15/036-v6.5-0004-ARM-dts-BCM5301X-Relicense-Hauke-s-code-to-the-GPL-2.patch
@@ -0,0 +1,249 @@
+From b3b3cd885ed39cb4b38319a1c4fa4e41db6fee72 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Mon, 15 May 2023 17:19:20 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Relicense Hauke'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 Hauke to the bcm-ns.dtsi which uses dual licensing.
+That syncs more Northstar code to be based on the same licensing schema.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Cc: Hauke Mehrtens <hauke@hauke-m.de>
+Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
+Link: https://lore.kernel.org/r/20230515151921.25021-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm-ns.dtsi | 90 +++++++++++++++++++++++++++++++++
+ arch/arm/boot/dts/bcm5301x.dtsi | 85 -------------------------------
+ 2 files changed, 90 insertions(+), 85 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm-ns.dtsi
++++ b/arch/arm/boot/dts/bcm-ns.dtsi
+@@ -1,4 +1,7 @@
+ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
++/*
++ * Copyright 2013-2014 Hauke Mehrtens <hauke@hauke-m.de>
++ */
+
+ #include <dt-bindings/clock/bcm-nsp.h>
+ #include <dt-bindings/gpio/gpio.h>
+@@ -7,6 +10,81 @@
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+ / {
++ interrupt-parent = <&gic>;
++ #address-cells = <1>;
++ #size-cells = <1>;
++
++ chipcommon-a-bus@18000000 {
++ compatible = "simple-bus";
++ ranges = <0x00000000 0x18000000 0x00001000>;
++ #address-cells = <1>;
++ #size-cells = <1>;
++
++ uart0: serial@300 {
++ compatible = "ns16550";
++ reg = <0x0300 0x100>;
++ interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
++ clocks = <&iprocslow>;
++ status = "disabled";
++ };
++
++ uart1: serial@400 {
++ compatible = "ns16550";
++ reg = <0x0400 0x100>;
++ interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
++ clocks = <&iprocslow>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pinmux_uart1>;
++ status = "disabled";
++ };
++ };
++
++ mpcore-bus@19000000 {
++ compatible = "simple-bus";
++ ranges = <0x00000000 0x19000000 0x00023000>;
++ #address-cells = <1>;
++ #size-cells = <1>;
++
++ scu@20000 {
++ compatible = "arm,cortex-a9-scu";
++ reg = <0x20000 0x100>;
++ };
++
++ timer@20200 {
++ compatible = "arm,cortex-a9-global-timer";
++ reg = <0x20200 0x100>;
++ interrupts = <GIC_PPI 11 IRQ_TYPE_EDGE_RISING>;
++ clocks = <&periph_clk>;
++ };
++
++ timer@20600 {
++ compatible = "arm,cortex-a9-twd-timer";
++ reg = <0x20600 0x20>;
++ interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) |
++ IRQ_TYPE_EDGE_RISING)>;
++ clocks = <&periph_clk>;
++ };
++
++ gic: interrupt-controller@21000 {
++ compatible = "arm,cortex-a9-gic";
++ #interrupt-cells = <3>;
++ #address-cells = <0>;
++ interrupt-controller;
++ reg = <0x21000 0x1000>,
++ <0x20100 0x100>;
++ };
++
++ L2: cache-controller@22000 {
++ compatible = "arm,pl310-cache";
++ reg = <0x22000 0x1000>;
++ cache-unified;
++ arm,shared-override;
++ prefetch-data = <1>;
++ prefetch-instr = <1>;
++ cache-level = <2>;
++ };
++ };
++
+ axi@18000000 {
+ compatible = "brcm,bus-axi";
+ reg = <0x18000000 0x1000>;
+@@ -216,6 +294,18 @@
+ };
+ };
+
++ nand_controller: nand-controller@18028000 {
++ compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1", "brcm,brcmnand";
++ reg = <0x18028000 0x600>, <0x1811a408 0x600>, <0x18028f00 0x20>;
++ reg-names = "nand", "iproc-idm", "iproc-ext";
++ interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
++
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ brcm,nand-has-wp;
++ };
++
+ thermal-zones {
+ cpu_thermal: cpu-thermal {
+ polling-delay-passive = <0>;
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -11,41 +11,7 @@
+ #include "bcm-ns.dtsi"
+
+ / {
+- #address-cells = <1>;
+- #size-cells = <1>;
+- interrupt-parent = <&gic>;
+-
+- chipcommon-a-bus@18000000 {
+- compatible = "simple-bus";
+- ranges = <0x00000000 0x18000000 0x00001000>;
+- #address-cells = <1>;
+- #size-cells = <1>;
+-
+- uart0: serial@300 {
+- compatible = "ns16550";
+- reg = <0x0300 0x100>;
+- interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&iprocslow>;
+- status = "disabled";
+- };
+-
+- uart1: serial@400 {
+- compatible = "ns16550";
+- reg = <0x0400 0x100>;
+- interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
+- clocks = <&iprocslow>;
+- pinctrl-names = "default";
+- pinctrl-0 = <&pinmux_uart1>;
+- status = "disabled";
+- };
+- };
+-
+ mpcore-bus@19000000 {
+- compatible = "simple-bus";
+- ranges = <0x00000000 0x19000000 0x00023000>;
+- #address-cells = <1>;
+- #size-cells = <1>;
+-
+ a9pll: arm_clk@0 {
+ #clock-cells = <0>;
+ compatible = "brcm,nsp-armpll";
+@@ -53,26 +19,6 @@
+ reg = <0x00000 0x1000>;
+ };
+
+- scu@20000 {
+- compatible = "arm,cortex-a9-scu";
+- reg = <0x20000 0x100>;
+- };
+-
+- timer@20200 {
+- compatible = "arm,cortex-a9-global-timer";
+- reg = <0x20200 0x100>;
+- interrupts = <GIC_PPI 11 IRQ_TYPE_EDGE_RISING>;
+- clocks = <&periph_clk>;
+- };
+-
+- timer@20600 {
+- compatible = "arm,cortex-a9-twd-timer";
+- reg = <0x20600 0x20>;
+- interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) |
+- IRQ_TYPE_EDGE_RISING)>;
+- clocks = <&periph_clk>;
+- };
+-
+ watchdog@20620 {
+ compatible = "arm,cortex-a9-twd-wdt";
+ reg = <0x20620 0x20>;
+@@ -80,25 +26,6 @@
+ IRQ_TYPE_EDGE_RISING)>;
+ clocks = <&periph_clk>;
+ };
+-
+- gic: interrupt-controller@21000 {
+- compatible = "arm,cortex-a9-gic";
+- #interrupt-cells = <3>;
+- #address-cells = <0>;
+- interrupt-controller;
+- reg = <0x21000 0x1000>,
+- <0x20100 0x100>;
+- };
+-
+- L2: cache-controller@22000 {
+- compatible = "arm,pl310-cache";
+- reg = <0x22000 0x1000>;
+- cache-unified;
+- arm,shared-override;
+- prefetch-data = <1>;
+- prefetch-instr = <1>;
+- cache-level = <2>;
+- };
+ };
+
+ pmu {
+@@ -301,18 +228,6 @@
+ };
+ };
+
+- nand_controller: nand-controller@18028000 {
+- compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1", "brcm,brcmnand";
+- reg = <0x18028000 0x600>, <0x1811a408 0x600>, <0x18028f00 0x20>;
+- reg-names = "nand", "iproc-idm", "iproc-ext";
+- interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
+-
+- #address-cells = <1>;
+- #size-cells = <0>;
+-
+- brcm,nand-has-wp;
+- };
+-
+ spi@18029200 {
+ compatible = "brcm,spi-nsp-qspi", "brcm,spi-bcm-qspi";
+ reg = <0x18029200 0x184>,
diff --git a/target/linux/bcm53xx/patches-5.15/036-v6.5-0005-ARM-dts-BCM5301X-Relicense-AXI-interrupts-code-to-th.patch b/target/linux/bcm53xx/patches-5.15/036-v6.5-0005-ARM-dts-BCM5301X-Relicense-AXI-interrupts-code-to-th.patch
new file mode 100644
index 0000000000..ef29266d0b
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.15/036-v6.5-0005-ARM-dts-BCM5301X-Relicense-AXI-interrupts-code-to-th.patch
@@ -0,0 +1,203 @@
+From 3b3e35b279bee5e51580c648399e20323467f58c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Mon, 15 May 2023 17:19:21 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Relicense AXI interrupts code to the GPL
+ 2.0+ / MIT
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Those entries were added by:
+1. Hauke in commits dec378827c4a ("ARM: BCM5301X: Add IRQs to Broadcom's
+ bus-axi in DTS file") and 1f80de6863ca ("ARM: BCM5301X: add IRQ
+ numbers for PCIe controller")
+2. Florian in the commit 2cd0c0202f13 ("ARM: dts: BCM5301X: Add SRAB
+ interrupts")
+
+Move them to the bcm-ns.dtsi which uses dual licensing. That syncs more
+Northstar code to be based on the same licensing schema.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Cc: Hauke Mehrtens <hauke@hauke-m.de>
+Cc: Florian Fainelli <f.fainelli@gmail.com>
+Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
+Link: https://lore.kernel.org/r/20230515151921.25021-2-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm-ns.dtsi | 73 ++++++++++++++++++++++++++++++++
+ arch/arm/boot/dts/bcm5301x.dtsi | 75 ---------------------------------
+ 2 files changed, 73 insertions(+), 75 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm-ns.dtsi
++++ b/arch/arm/boot/dts/bcm-ns.dtsi
+@@ -92,6 +92,79 @@
+ #address-cells = <1>;
+ #size-cells = <1>;
+
++ #interrupt-cells = <1>;
++ interrupt-map-mask = <0x000fffff 0xffff>;
++ interrupt-map =
++ /* ChipCommon */
++ <0x00000000 0 &gic GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
++
++ /* Switch Register Access Block */
++ <0x00007000 0 &gic GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 1 &gic GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 2 &gic GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 3 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 4 &gic GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 5 &gic GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 6 &gic GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 7 &gic GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 8 &gic GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 9 &gic GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 10 &gic GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 11 &gic GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00007000 12 &gic GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
++
++ /* PCIe Controller 0 */
++ <0x00012000 0 &gic GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00012000 1 &gic GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00012000 2 &gic GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00012000 3 &gic GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00012000 4 &gic GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00012000 5 &gic GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
++
++ /* PCIe Controller 1 */
++ <0x00013000 0 &gic GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00013000 1 &gic GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00013000 2 &gic GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00013000 3 &gic GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00013000 4 &gic GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00013000 5 &gic GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
++
++ /* PCIe Controller 2 */
++ <0x00014000 0 &gic GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00014000 1 &gic GIC_SPI 138 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>,
++ <0x00014000 5 &gic GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
++
++ /* USB 2.0 Controller */
++ <0x00021000 0 &gic GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
++
++ /* USB 3.0 Controller */
++ <0x00023000 0 &gic GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
++
++ /* Ethernet Controller 0 */
++ <0x00024000 0 &gic GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
++
++ /* Ethernet Controller 1 */
++ <0x00025000 0 &gic GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
++
++ /* Ethernet Controller 2 */
++ <0x00026000 0 &gic GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
++
++ /* Ethernet Controller 3 */
++ <0x00027000 0 &gic GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
++
++ /* NAND Controller */
++ <0x00028000 0 &gic GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00028000 1 &gic GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00028000 2 &gic GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00028000 3 &gic GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00028000 4 &gic GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00028000 5 &gic GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00028000 6 &gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
++ <0x00028000 7 &gic GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
++
+ chipcommon: chipcommon@0 {
+ reg = <0x00000000 0x1000>;
+
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -3,8 +3,6 @@
+ * Generic DTS part for all BCM53010, BCM53011, BCM53012, BCM53014, BCM53015,
+ * BCM53016, BCM53017, BCM53018, BCM4707, BCM4708 and BCM4709 SoCs
+ *
+- * Copyright 2013-2014 Hauke Mehrtens <hauke@hauke-m.de>
+- *
+ * Licensed under the GNU/GPL. See COPYING for details.
+ */
+
+@@ -72,79 +70,6 @@
+ };
+
+ axi@18000000 {
+- #interrupt-cells = <1>;
+- interrupt-map-mask = <0x000fffff 0xffff>;
+- interrupt-map =
+- /* ChipCommon */
+- <0x00000000 0 &gic GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
+-
+- /* Switch Register Access Block */
+- <0x00007000 0 &gic GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00007000 1 &gic GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00007000 2 &gic GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00007000 3 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00007000 4 &gic GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00007000 5 &gic GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00007000 6 &gic GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00007000 7 &gic GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00007000 8 &gic GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00007000 9 &gic GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00007000 10 &gic GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00007000 11 &gic GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00007000 12 &gic GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
+-
+- /* PCIe Controller 0 */
+- <0x00012000 0 &gic GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00012000 1 &gic GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00012000 2 &gic GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00012000 3 &gic GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00012000 4 &gic GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00012000 5 &gic GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
+-
+- /* PCIe Controller 1 */
+- <0x00013000 0 &gic GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00013000 1 &gic GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00013000 2 &gic GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00013000 3 &gic GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00013000 4 &gic GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00013000 5 &gic GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
+-
+- /* PCIe Controller 2 */
+- <0x00014000 0 &gic GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00014000 1 &gic GIC_SPI 138 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>,
+- <0x00014000 5 &gic GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
+-
+- /* USB 2.0 Controller */
+- <0x00021000 0 &gic GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
+-
+- /* USB 3.0 Controller */
+- <0x00023000 0 &gic GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
+-
+- /* Ethernet Controller 0 */
+- <0x00024000 0 &gic GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
+-
+- /* Ethernet Controller 1 */
+- <0x00025000 0 &gic GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
+-
+- /* Ethernet Controller 2 */
+- <0x00026000 0 &gic GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
+-
+- /* Ethernet Controller 3 */
+- <0x00027000 0 &gic GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
+-
+- /* NAND Controller */
+- <0x00028000 0 &gic GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00028000 1 &gic GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00028000 2 &gic GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00028000 3 &gic GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00028000 4 &gic GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00028000 5 &gic GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00028000 6 &gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
+- <0x00028000 7 &gic GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
+-
+ pcie2: pcie@14000 {
+ reg = <0x00014000 0x1000>;
+ };
diff --git a/target/linux/bcm53xx/patches-5.15/036-v6.5-0006-ARM-dts-BCM5301X-Specify-MAC-addresses-on-Luxul-devi.patch b/target/linux/bcm53xx/patches-5.15/036-v6.5-0006-ARM-dts-BCM5301X-Specify-MAC-addresses-on-Luxul-devi.patch
new file mode 100644
index 0000000000..7d9b297191
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.15/036-v6.5-0006-ARM-dts-BCM5301X-Specify-MAC-addresses-on-Luxul-devi.patch
@@ -0,0 +1,336 @@
+From dfa6570eb5ce2f24059caadbe2ed70034b5337bc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Mon, 15 May 2023 10:33:08 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Specify MAC addresses on Luxul devices
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Use NRAM (NVMEM device) and its "et0macaddr" variable (NVMEM cell) to
+point Ethernet devices to their MAC addresses.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20230515083308.7612-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts | 13 +++++++++++++
+ arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts | 13 +++++++++++++
+ arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts | 13 +++++++++++++
+ arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts | 11 +++++++++++
+ arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts | 11 +++++++++++
+ arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts | 13 +++++++++++++
+ arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts | 11 +++++++++++
+ arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts | 13 +++++++++++++
+ arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts | 11 +++++++++++
+ arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts | 5 ++++-
+ 10 files changed, 113 insertions(+), 1 deletion(-)
+
+--- a/arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts
++++ b/arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts
+@@ -20,6 +20,14 @@
+ reg = <0x00000000 0x08000000>;
+ };
+
++ nvram@1eff0000 {
++ compatible = "brcm,nvram";
++ reg = <0x1eff0000 0x10000>;
++
++ et0macaddr: et0macaddr {
++ };
++ };
++
+ leds {
+ compatible = "gpio-leds";
+
+@@ -53,6 +61,11 @@
+ };
+ };
+
++&gmac0 {
++ nvmem-cells = <&et0macaddr>;
++ nvmem-cell-names = "mac-address";
++};
++
+ &spi_nor {
+ status = "okay";
+ };
+--- a/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts
++++ b/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts
+@@ -24,6 +24,14 @@
+ reg = <0x00000000 0x08000000>;
+ };
+
++ nvram@1eff0000 {
++ compatible = "brcm,nvram";
++ reg = <0x1eff0000 0x10000>;
++
++ et0macaddr: et0macaddr {
++ };
++ };
++
+ nand_controller: nand-controller@18028000 {
+ nand@0 {
+ partitions {
+@@ -60,6 +68,11 @@
+ };
+ };
+
++&gmac0 {
++ nvmem-cells = <&et0macaddr>;
++ nvmem-cell-names = "mac-address";
++};
++
+ &spi_nor {
+ status = "okay";
+ };
+--- a/arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts
++++ b/arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts
+@@ -20,6 +20,14 @@
+ reg = <0x00000000 0x08000000>;
+ };
+
++ nvram@1eff0000 {
++ compatible = "brcm,nvram";
++ reg = <0x1eff0000 0x10000>;
++
++ et0macaddr: et0macaddr {
++ };
++ };
++
+ leds {
+ compatible = "gpio-leds";
+
+@@ -53,6 +61,11 @@
+ };
+ };
+
++&gmac0 {
++ nvmem-cells = <&et0macaddr>;
++ nvmem-cell-names = "mac-address";
++};
++
+ &spi_nor {
+ status = "okay";
+ };
+--- a/arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
++++ b/arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
+@@ -24,6 +24,10 @@
+ nvram@1eff0000 {
+ compatible = "brcm,nvram";
+ reg = <0x1eff0000 0x10000>;
++
++ et0macaddr: et0macaddr {
++ #nvmem-cell-cells = <1>;
++ };
+ };
+
+ leds {
+@@ -106,6 +110,11 @@
+ vcc-gpio = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
+ };
+
++&gmac0 {
++ nvmem-cells = <&et0macaddr 0>;
++ nvmem-cell-names = "mac-address";
++};
++
+ &spi_nor {
+ status = "okay";
+ };
+@@ -137,6 +146,8 @@
+ port@4 {
+ reg = <4>;
+ label = "wan";
++ nvmem-cells = <&et0macaddr 5>;
++ nvmem-cell-names = "mac-address";
+ };
+
+ port@5 {
+--- a/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
+@@ -25,6 +25,10 @@
+ nvram@1eff0000 {
+ compatible = "brcm,nvram";
+ reg = <0x1eff0000 0x10000>;
++
++ et0macaddr: et0macaddr {
++ #nvmem-cell-cells = <1>;
++ };
+ };
+
+ leds {
+@@ -61,6 +65,11 @@
+ vcc-gpio = <&chipcommon 18 GPIO_ACTIVE_HIGH>;
+ };
+
++&gmac0 {
++ nvmem-cells = <&et0macaddr 0>;
++ nvmem-cell-names = "mac-address";
++};
++
+ &spi_nor {
+ status = "okay";
+ };
+@@ -76,6 +85,8 @@
+ port@0 {
+ reg = <0>;
+ label = "wan";
++ nvmem-cells = <&et0macaddr 1>;
++ nvmem-cell-names = "mac-address";
+ };
+
+ port@1 {
+--- a/arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts
+@@ -20,6 +20,14 @@
+ reg = <0x00000000 0x08000000>;
+ };
+
++ nvram@1eff0000 {
++ compatible = "brcm,nvram";
++ reg = <0x1eff0000 0x10000>;
++
++ et0macaddr: et0macaddr {
++ };
++ };
++
+ leds {
+ compatible = "gpio-leds";
+
+@@ -51,6 +59,11 @@
+ };
+ };
+
++&gmac0 {
++ nvmem-cells = <&et0macaddr>;
++ nvmem-cell-names = "mac-address";
++};
++
+ &spi_nor {
+ status = "okay";
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
+@@ -25,6 +25,10 @@
+ nvram@1eff0000 {
+ compatible = "brcm,nvram";
+ reg = <0x1eff0000 0x10000>;
++
++ et0macaddr: et0macaddr {
++ #nvmem-cell-cells = <1>;
++ };
+ };
+
+ leds {
+@@ -61,6 +65,11 @@
+ vcc-gpio = <&chipcommon 18 GPIO_ACTIVE_HIGH>;
+ };
+
++&gmac0 {
++ nvmem-cells = <&et0macaddr 0>;
++ nvmem-cell-names = "mac-address";
++};
++
+ &spi_nor {
+ status = "okay";
+ };
+@@ -76,6 +85,8 @@
+ port@0 {
+ reg = <0>;
+ label = "wan";
++ nvmem-cells = <&et0macaddr 1>;
++ nvmem-cell-names = "mac-address";
+ };
+
+ port@1 {
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts
+@@ -22,6 +22,14 @@
+ <0x88000000 0x18000000>;
+ };
+
++ nvram@1eff0000 {
++ compatible = "brcm,nvram";
++ reg = <0x1eff0000 0x10000>;
++
++ et0macaddr: et0macaddr {
++ };
++ };
++
+ leds {
+ compatible = "gpio-leds";
+
+@@ -47,6 +55,11 @@
+ status = "okay";
+ };
+
++&gmac0 {
++ nvmem-cells = <&et0macaddr>;
++ nvmem-cell-names = "mac-address";
++};
++
+ &spi_nor {
+ status = "okay";
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts
+@@ -25,6 +25,10 @@
+ nvram@1eff0000 {
+ compatible = "brcm,nvram";
+ reg = <0x1eff0000 0x10000>;
++
++ et0macaddr: et0macaddr {
++ #nvmem-cell-cells = <1>;
++ };
+ };
+
+ leds {
+@@ -101,6 +105,11 @@
+ vcc-gpio = <&chipcommon 18 GPIO_ACTIVE_HIGH>;
+ };
+
++&gmac0 {
++ nvmem-cells = <&et0macaddr 0>;
++ nvmem-cell-names = "mac-address";
++};
++
+ &spi_nor {
+ status = "okay";
+ };
+@@ -136,6 +145,8 @@
+ port@4 {
+ reg = <4>;
+ label = "wan";
++ nvmem-cells = <&et0macaddr 5>;
++ nvmem-cell-names = "mac-address";
+ };
+
+ port@5 {
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts
+@@ -27,6 +27,7 @@
+ reg = <0x1eff0000 0x10000>;
+
+ et0macaddr: et0macaddr {
++ #nvmem-cell-cells = <1>;
+ };
+ };
+
+@@ -76,7 +77,7 @@
+ };
+
+ &gmac0 {
+- nvmem-cells = <&et0macaddr>;
++ nvmem-cells = <&et0macaddr 0>;
+ nvmem-cell-names = "mac-address";
+ };
+
+@@ -119,6 +120,8 @@
+ port@4 {
+ reg = <4>;
+ label = "wan";
++ nvmem-cells = <&et0macaddr 5>;
++ nvmem-cell-names = "mac-address";
+ };
+
+ port@5 {
diff --git a/target/linux/bcm53xx/patches-5.15/036-v6.5-0007-ARM-dts-BCM5301X-Use-updated-device-compatible-strin.patch b/target/linux/bcm53xx/patches-5.15/036-v6.5-0007-ARM-dts-BCM5301X-Use-updated-device-compatible-strin.patch
new file mode 100644
index 0000000000..5f5890e291
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.15/036-v6.5-0007-ARM-dts-BCM5301X-Use-updated-device-compatible-strin.patch
@@ -0,0 +1,90 @@
+From 9d7121f1d2faa0b50bf5b462adcd2dd91970c45e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Sat, 20 May 2023 13:26:01 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Use updated device "compatible" strings
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Northstar binding was updated to use minus/hyphen char between model and
+version for all devices.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
+Link: https://lore.kernel.org/r/20230520112601.11821-2-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts | 2 +-
+ arch/arm/boot/dts/bcm4708-netgear-r6250.dts | 2 +-
+ arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts | 2 +-
+ arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts | 2 +-
+ arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts | 2 +-
+ arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts | 2 +-
+ 6 files changed, 6 insertions(+), 6 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts
++++ b/arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts
+@@ -8,7 +8,7 @@
+ #include "bcm4708.dtsi"
+
+ / {
+- compatible = "luxul,xap-1510v1", "brcm,bcm4708";
++ compatible = "luxul,xap-1510-v1", "brcm,bcm4708";
+ model = "Luxul XAP-1510 V1";
+
+ chosen {
+--- a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
++++ b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
+@@ -13,7 +13,7 @@
+ #include "bcm5301x-nand-cs0-bch8.dtsi"
+
+ / {
+- compatible = "netgear,r6250v1", "brcm,bcm4708";
++ compatible = "netgear,r6250-v1", "brcm,bcm4708";
+ model = "Netgear R6250 V1 (BCM4708)";
+
+ chosen {
+--- a/arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts
++++ b/arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts
+@@ -12,7 +12,7 @@
+ #include "bcm5301x-nand-cs0-bch8.dtsi"
+
+ / {
+- compatible = "netgear,r6300v2", "brcm,bcm4708";
++ compatible = "netgear,r6300-v2", "brcm,bcm4708";
+ model = "Netgear R6300 V2 (BCM4708)";
+
+ chosen {
+--- a/arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts
++++ b/arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts
+@@ -8,7 +8,7 @@
+ #include "bcm47081.dtsi"
+
+ / {
+- compatible = "luxul,xap-1410v1", "brcm,bcm47081", "brcm,bcm4708";
++ compatible = "luxul,xap-1410-v1", "brcm,bcm47081", "brcm,bcm4708";
+ model = "Luxul XAP-1410 V1";
+
+ chosen {
+--- a/arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
++++ b/arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
+@@ -9,7 +9,7 @@
+ #include "bcm5301x-nand-cs0-bch4.dtsi"
+
+ / {
+- compatible = "luxul,xwr-1200v1", "brcm,bcm47081", "brcm,bcm4708";
++ compatible = "luxul,xwr-1200-v1", "brcm,bcm47081", "brcm,bcm4708";
+ model = "Luxul XWR-1200 V1";
+
+ chosen {
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts
+@@ -9,7 +9,7 @@
+ #include "bcm5301x-nand-cs0-bch4.dtsi"
+
+ / {
+- compatible = "luxul,xwr-3100v1", "brcm,bcm47094", "brcm,bcm4708";
++ compatible = "luxul,xwr-3100-v1", "brcm,bcm47094", "brcm,bcm4708";
+ model = "Luxul XWR-3100 V1";
+
+ chosen {
diff --git a/target/linux/bcm53xx/patches-5.15/036-v6.5-0008-ARM-dts-BCM5301X-Use-updated-spi-gpio-binding-proper.patch b/target/linux/bcm53xx/patches-5.15/036-v6.5-0008-ARM-dts-BCM5301X-Use-updated-spi-gpio-binding-proper.patch
new file mode 100644
index 0000000000..c16587f684
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.15/036-v6.5-0008-ARM-dts-BCM5301X-Use-updated-spi-gpio-binding-proper.patch
@@ -0,0 +1,82 @@
+From 04afb51c1dce90051487d3c7b70a1b1b246ce29a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Fri, 2 Jun 2023 17:10:23 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Use updated "spi-gpio" binding properties
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Switch away from deprecated properties.
+
+This fixes:
+arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dtb: spi: gpio-sck: False schema does not allow [[6, 7, 0]]
+ From schema: Documentation/devicetree/bindings/spi/spi-gpio.yaml
+arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dtb: spi: gpio-mosi: False schema does not allow [[6, 4, 0]]
+ From schema: Documentation/devicetree/bindings/spi/spi-gpio.yaml
+arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dtb: spi: 'sck-gpios' is a required property
+ From schema: Documentation/devicetree/bindings/spi/spi-gpio.yaml
+arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dtb: spi: Unevaluated properties are not allowed ('gpio-mosi', 'gpio-sck' were unexpected)
+ From schema: Documentation/devicetree/bindings/spi/spi-gpio.yaml
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20230602151023.8607-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm4708-buffalo-wzr-1166dhp-common.dtsi | 4 ++--
+ arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts | 4 ++--
+ arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts | 4 ++--
+ arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts | 4 ++--
+ 4 files changed, 8 insertions(+), 8 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1166dhp-common.dtsi
++++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1166dhp-common.dtsi
+@@ -16,8 +16,8 @@
+ spi {
+ compatible = "spi-gpio";
+ num-chipselects = <1>;
+- gpio-sck = <&chipcommon 7 0>;
+- gpio-mosi = <&chipcommon 4 0>;
++ sck-gpios = <&chipcommon 7 0>;
++ mosi-gpios = <&chipcommon 4 0>;
+ cs-gpios = <&chipcommon 6 0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+--- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
++++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
+@@ -28,8 +28,8 @@
+ spi {
+ compatible = "spi-gpio";
+ num-chipselects = <1>;
+- gpio-sck = <&chipcommon 7 0>;
+- gpio-mosi = <&chipcommon 4 0>;
++ sck-gpios = <&chipcommon 7 0>;
++ mosi-gpios = <&chipcommon 4 0>;
+ cs-gpios = <&chipcommon 6 0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+--- a/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts
++++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts
+@@ -28,8 +28,8 @@
+ spi {
+ compatible = "spi-gpio";
+ num-chipselects = <1>;
+- gpio-sck = <&chipcommon 7 0>;
+- gpio-mosi = <&chipcommon 4 0>;
++ sck-gpios = <&chipcommon 7 0>;
++ mosi-gpios = <&chipcommon 4 0>;
+ cs-gpios = <&chipcommon 6 0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+--- a/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts
++++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts
+@@ -28,8 +28,8 @@
+ spi {
+ compatible = "spi-gpio";
+ num-chipselects = <1>;
+- gpio-sck = <&chipcommon 7 0>;
+- gpio-mosi = <&chipcommon 4 0>;
++ sck-gpios = <&chipcommon 7 0>;
++ mosi-gpios = <&chipcommon 4 0>;
+ cs-gpios = <&chipcommon 6 0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
diff --git a/target/linux/bcm53xx/patches-5.15/036-v6.5-0009-ARM-dts-BCM5301X-Drop-invalid-usb-cells.patch b/target/linux/bcm53xx/patches-5.15/036-v6.5-0009-ARM-dts-BCM5301X-Drop-invalid-usb-cells.patch
new file mode 100644
index 0000000000..59fa457aee
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.15/036-v6.5-0009-ARM-dts-BCM5301X-Drop-invalid-usb-cells.patch
@@ -0,0 +1,54 @@
+From c3acdd4901192bc69dc577012663d5abae21661e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Fri, 2 Jun 2023 15:34:54 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Drop invalid #usb-cells
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Such property simply doesn't exist (is not documented or used anywhere).
+
+This fixes:
+arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: usb@21000: Unevaluated properties are not allowed ('#usb-cells' was unexpected)
+ From schema: Documentation/devicetree/bindings/usb/generic-ehci.yaml
+arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: usb@22000: Unevaluated properties are not allowed ('#usb-cells' was unexpected)
+ From schema: Documentation/devicetree/bindings/usb/generic-ohci.yaml
+arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: usb@23000: Unevaluated properties are not allowed ('#usb-cells' was unexpected)
+ From schema: Documentation/devicetree/bindings/usb/generic-xhci.yaml
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20230602133455.7441-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm-ns.dtsi | 6 ------
+ 1 file changed, 6 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm-ns.dtsi
++++ b/arch/arm/boot/dts/bcm-ns.dtsi
+@@ -192,8 +192,6 @@
+ interrupt-parent = <&gic>;
+
+ ehci: usb@21000 {
+- #usb-cells = <0>;
+-
+ compatible = "generic-ehci";
+ reg = <0x00021000 0x1000>;
+ interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
+@@ -214,8 +212,6 @@
+ };
+
+ ohci: usb@22000 {
+- #usb-cells = <0>;
+-
+ compatible = "generic-ohci";
+ reg = <0x00022000 0x1000>;
+ interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
+@@ -245,8 +241,6 @@
+ interrupt-parent = <&gic>;
+
+ xhci: usb@23000 {
+- #usb-cells = <0>;
+-
+ compatible = "generic-xhci";
+ reg = <0x00023000 0x1000>;
+ interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/target/linux/bcm53xx/patches-5.15/036-v6.5-0010-ARM-dts-BCM5301X-Drop-invalid-properties-from-Meraki.patch b/target/linux/bcm53xx/patches-5.15/036-v6.5-0010-ARM-dts-BCM5301X-Drop-invalid-properties-from-Meraki.patch
new file mode 100644
index 0000000000..b8411fc719
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.15/036-v6.5-0010-ARM-dts-BCM5301X-Drop-invalid-properties-from-Meraki.patch
@@ -0,0 +1,31 @@
+From 676bf7d062c14191c3fc12f1e36e1f3809041483 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Fri, 2 Jun 2023 15:34:55 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Drop invalid properties from Meraki MR32
+ keys
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This fixes:
+arch/arm/boot/dts/bcm53015-meraki-mr26.dtb: keys: '#address-cells', '#size-cells' do not match any of the regexes: '^(button|event|key|switch|(button|event|key|switch)-[a-z0-9-]+|[a-z0-9-]+-(button|event|key|switch))$', 'pinctrl-[0-9]+'
+ From schema: Documentation/devicetree/bindings/input/gpio-keys.yaml
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20230602133455.7441-2-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm53015-meraki-mr26.dts | 2 --
+ 1 file changed, 2 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
++++ b/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
+@@ -39,8 +39,6 @@
+
+ keys {
+ compatible = "gpio-keys";
+- #address-cells = <1>;
+- #size-cells = <0>;
+
+ key-restart {
+ label = "Reset";
diff --git a/target/linux/bcm53xx/patches-5.15/036-v6.5-0011-ARM-dts-BCM5301X-Relicense-Christian-s-code-to-the-G.patch b/target/linux/bcm53xx/patches-5.15/036-v6.5-0011-ARM-dts-BCM5301X-Relicense-Christian-s-code-to-the-G.patch
new file mode 100644
index 0000000000..7496321269
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.15/036-v6.5-0011-ARM-dts-BCM5301X-Relicense-Christian-s-code-to-the-G.patch
@@ -0,0 +1,106 @@
+From 1d5682ccc7d6088179b6cfd50a3e3bb6d2b0527e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Mon, 5 Jun 2023 08:10:49 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Relicense Christian'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 Christian to the bcm-ns.dtsi which uses dual
+licensing. That syncs more Northstar code to be based on the same
+licensing schema.
+
+Cc: Christian Lamparter <chunkeey@gmail.com>
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Acked-by: Christian Lamparter <chunkeey@gmail.com>
+Link: https://lore.kernel.org/r/20230605061049.16136-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm-ns.dtsi | 21 +++++++++++++++++++++
+ arch/arm/boot/dts/bcm5301x.dtsi | 23 -----------------------
+ 2 files changed, 21 insertions(+), 23 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm-ns.dtsi
++++ b/arch/arm/boot/dts/bcm-ns.dtsi
+@@ -182,6 +182,10 @@
+ reg = <0x00013000 0x1000>;
+ };
+
++ pcie2: pcie@14000 {
++ reg = <0x00014000 0x1000>;
++ };
++
+ usb2: usb2@21000 {
+ reg = <0x00021000 0x1000>;
+
+@@ -274,6 +278,14 @@
+ };
+ };
+
++ pwm: pwm@18002000 {
++ compatible = "brcm,iproc-pwm";
++ reg = <0x18002000 0x28>;
++ clocks = <&osc>;
++ #pwm-cells = <3>;
++ status = "disabled";
++ };
++
+ mdio: mdio@18003000 {
+ compatible = "brcm,iproc-mdio";
+ reg = <0x18003000 0x8>;
+@@ -299,6 +311,15 @@
+ };
+ };
+
++ uart2: serial@18008000 {
++ compatible = "ns16550a";
++ reg = <0x18008000 0x20>;
++ clocks = <&iprocslow>;
++ interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
++ reg-shift = <2>;
++ status = "disabled";
++ };
++
+ dmu-bus@1800c000 {
+ compatible = "simple-bus";
+ ranges = <0 0x1800c000 0x1000>;
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -69,20 +69,6 @@
+ };
+ };
+
+- axi@18000000 {
+- pcie2: pcie@14000 {
+- reg = <0x00014000 0x1000>;
+- };
+- };
+-
+- pwm: pwm@18002000 {
+- compatible = "brcm,iproc-pwm";
+- reg = <0x18002000 0x28>;
+- clocks = <&osc>;
+- #pwm-cells = <3>;
+- status = "disabled";
+- };
+-
+ mdio-mux@18003000 {
+ compatible = "mdio-mux-mmioreg", "mdio-mux";
+ mdio-parent-bus = <&mdio>;
+@@ -110,15 +96,6 @@
+ reg = <0x18105000 0x1000>;
+ };
+
+- uart2: serial@18008000 {
+- compatible = "ns16550a";
+- reg = <0x18008000 0x20>;
+- clocks = <&iprocslow>;
+- interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
+- reg-shift = <2>;
+- status = "disabled";
+- };
+-
+ i2c0: i2c@18009000 {
+ compatible = "brcm,iproc-i2c";
+ reg = <0x18009000 0x50>;
diff --git a/target/linux/bcm53xx/patches-5.15/036-v6.5-0012-ARM-dts-BCM5301X-Describe-switch-ports-in-the-main-D.patch b/target/linux/bcm53xx/patches-5.15/036-v6.5-0012-ARM-dts-BCM5301X-Describe-switch-ports-in-the-main-D.patch
new file mode 100644
index 0000000000..fa2f21af53
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.15/036-v6.5-0012-ARM-dts-BCM5301X-Describe-switch-ports-in-the-main-D.patch
@@ -0,0 +1,838 @@
+From ba4aebce23b2affb810b8a60eae853674d2cded2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Mon, 5 Jun 2023 15:21:09 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Describe switch ports in the main DTS
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+All Northstar SoCs have BCM5301x switches (BCM53011, BCM53012) with 8
+ports (0-8 without 6). By design 3 switch ports (5, 7 and 8) are
+hardwired to 3 on-SoC Ethernet interfaces. Switch port 8 requires
+forcing link state.
+
+It seems that global Northstar .dtsi file is the best place to describe
+those hw details. Only device specific bits (like labels) should go to
+device .dts files.
+
+This seems to fit well with a tiny exception of Asus RT-AC88U which
+somehow was designed to have switch 5 connected to an extra switch. This
+case was simply handled with a /delete-property/.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Reviewed-by: Christian Lamparter <chunkeey@gmail.com> (MR32+MR26)
+Link: https://lore.kernel.org/r/20230605132109.7933-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm-ns.dtsi | 41 ++++++++++++++++++-
+ .../bcm4708-buffalo-wzr-1166dhp-common.dtsi | 7 ----
+ arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts | 4 --
+ arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts | 3 --
+ arch/arm/boot/dts/bcm4708-netgear-r6250.dts | 7 ----
+ arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts | 7 ----
+ .../boot/dts/bcm47081-buffalo-wzr-600dhp2.dts | 7 ----
+ arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts | 3 --
+ arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts | 7 ----
+ arch/arm/boot/dts/bcm4709-netgear-r8000.dts | 12 ------
+ arch/arm/boot/dts/bcm47094-asus-rt-ac88u.dts | 17 +-------
+ arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts | 12 ------
+ arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts | 12 ------
+ .../boot/dts/bcm47094-linksys-panamera.dts | 34 ++++-----------
+ arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts | 7 ----
+ arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts | 4 --
+ arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts | 7 ----
+ arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts | 3 --
+ arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts | 7 ----
+ .../boot/dts/bcm47094-luxul-xwr-3150-v1.dts | 7 ----
+ arch/arm/boot/dts/bcm53015-meraki-mr26.dts | 3 --
+ arch/arm/boot/dts/bcm53016-meraki-mr32.dts | 3 --
+ 22 files changed, 51 insertions(+), 163 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm-ns.dtsi
++++ b/arch/arm/boot/dts/bcm-ns.dtsi
+@@ -304,10 +304,49 @@
+
+ status = "disabled";
+
+- /* ports are defined in board DTS */
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
++
++ port@0 {
++ reg = <0>;
++ };
++
++ port@1 {
++ reg = <1>;
++ };
++
++ port@2 {
++ reg = <2>;
++ };
++
++ port@3 {
++ reg = <3>;
++ };
++
++ port@4 {
++ reg = <4>;
++ };
++
++ port@5 {
++ reg = <5>;
++ ethernet = <&gmac0>;
++ };
++
++ port@7 {
++ reg = <7>;
++ ethernet = <&gmac1>;
++ };
++
++ port@8 {
++ reg = <8>;
++ ethernet = <&gmac2>;
++
++ fixed-link {
++ speed = <1000>;
++ full-duplex;
++ };
++ };
+ };
+ };
+
+--- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1166dhp-common.dtsi
++++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1166dhp-common.dtsi
+@@ -159,34 +159,27 @@
+
+ ports {
+ port@0 {
+- reg = <0>;
+ label = "lan1";
+ };
+
+ port@1 {
+- reg = <1>;
+ label = "lan2";
+ };
+
+ port@2 {
+- reg = <2>;
+ label = "lan3";
+ };
+
+ port@3 {
+- reg = <3>;
+ label = "lan4";
+ };
+
+ port@4 {
+- reg = <4>;
+ label = "wan";
+ };
+
+ port@5 {
+- reg = <5>;
+ label = "cpu";
+- ethernet = <&gmac0>;
+ };
+ };
+ };
+--- a/arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts
++++ b/arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts
+@@ -75,19 +75,15 @@
+
+ ports {
+ port@0 {
+- reg = <0>;
+ label = "poe";
+ };
+
+ port@4 {
+- reg = <4>;
+ label = "lan";
+ };
+
+ port@5 {
+- reg = <5>;
+ label = "cpu";
+- ethernet = <&gmac0>;
+ };
+ };
+ };
+--- a/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts
++++ b/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts
+@@ -82,14 +82,11 @@
+
+ ports {
+ port@4 {
+- reg = <4>;
+ label = "lan";
+ };
+
+ port@5 {
+- reg = <5>;
+ label = "cpu";
+- ethernet = <&gmac0>;
+ };
+ };
+ };
+--- a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
++++ b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
+@@ -100,34 +100,27 @@
+
+ ports {
+ port@0 {
+- reg = <0>;
+ label = "lan4";
+ };
+
+ port@1 {
+- reg = <1>;
+ label = "lan3";
+ };
+
+ port@2 {
+- reg = <2>;
+ label = "lan2";
+ };
+
+ port@3 {
+- reg = <3>;
+ label = "lan1";
+ };
+
+ port@4 {
+- reg = <4>;
+ label = "wan";
+ };
+
+ port@5 {
+- reg = <5>;
+ label = "cpu";
+- ethernet = <&gmac0>;
+ };
+ };
+ };
+--- a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
++++ b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
+@@ -123,34 +123,27 @@
+
+ ports {
+ port@0 {
+- reg = <0>;
+ label = "lan4";
+ };
+
+ port@1 {
+- reg = <1>;
+ label = "lan3";
+ };
+
+ port@2 {
+- reg = <2>;
+ label = "lan2";
+ };
+
+ port@3 {
+- reg = <3>;
+ label = "lan1";
+ };
+
+ port@4 {
+- reg = <4>;
+ label = "wan";
+ };
+
+ port@5 {
+- reg = <5>;
+ label = "cpu";
+- ethernet = <&gmac0>;
+ };
+ };
+ };
+--- a/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts
++++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts
+@@ -123,34 +123,27 @@
+
+ ports {
+ port@0 {
+- reg = <0>;
+ label = "lan1";
+ };
+
+ port@1 {
+- reg = <1>;
+ label = "lan2";
+ };
+
+ port@2 {
+- reg = <2>;
+ label = "lan3";
+ };
+
+ port@3 {
+- reg = <3>;
+ label = "lan4";
+ };
+
+ port@4 {
+- reg = <4>;
+ label = "wan";
+ };
+
+ port@5 {
+- reg = <5>;
+ label = "cpu";
+- ethernet = <&gmac0>;
+ };
+ };
+ };
+--- a/arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts
++++ b/arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts
+@@ -75,14 +75,11 @@
+
+ ports {
+ port@4 {
+- reg = <4>;
+ label = "poe";
+ };
+
+ port@5 {
+- reg = <5>;
+ label = "cpu";
+- ethernet = <&gmac0>;
+ };
+ };
+ };
+--- a/arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
++++ b/arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
+@@ -124,36 +124,29 @@
+
+ ports {
+ port@0 {
+- reg = <0>;
+ label = "lan4";
+ };
+
+ port@1 {
+- reg = <1>;
+ label = "lan3";
+ };
+
+ port@2 {
+- reg = <2>;
+ label = "lan2";
+ };
+
+ port@3 {
+- reg = <3>;
+ label = "lan1";
+ };
+
+ port@4 {
+- reg = <4>;
+ label = "wan";
+ nvmem-cells = <&et0macaddr 5>;
+ nvmem-cell-names = "mac-address";
+ };
+
+ port@5 {
+- reg = <5>;
+ label = "cpu";
+- ethernet = <&gmac0>;
+ };
+ };
+ };
+--- a/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
++++ b/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
+@@ -191,39 +191,27 @@
+
+ ports {
+ port@0 {
+- reg = <0>;
+ label = "lan1";
+ };
+
+ port@1 {
+- reg = <1>;
+ label = "lan2";
+ };
+
+ port@2 {
+- reg = <2>;
+ label = "lan3";
+ };
+
+ port@3 {
+- reg = <3>;
+ label = "lan4";
+ };
+
+ port@4 {
+- reg = <4>;
+ label = "wan";
+ };
+
+ port@8 {
+- reg = <8>;
+ label = "cpu";
+- ethernet = <&gmac2>;
+-
+- fixed-link {
+- speed = <1000>;
+- full-duplex;
+- };
+ };
+ };
+ };
+--- a/arch/arm/boot/dts/bcm47094-asus-rt-ac88u.dts
++++ b/arch/arm/boot/dts/bcm47094-asus-rt-ac88u.dts
+@@ -181,32 +181,28 @@
+
+ ports {
+ port@0 {
+- reg = <0>;
+ label = "lan4";
+ };
+
+ port@1 {
+- reg = <1>;
+ label = "lan3";
+ };
+
+ port@2 {
+- reg = <2>;
+ label = "lan2";
+ };
+
+ port@3 {
+- reg = <3>;
+ label = "lan1";
+ };
+
+ port@4 {
+- reg = <4>;
+ label = "wan";
+ };
+
+ sw0_p5: port@5 {
+- reg = <5>;
++ /delete-property/ethernet;
++
+ label = "extsw";
+ phy-mode = "rgmii";
+
+@@ -218,8 +214,6 @@
+ };
+
+ port@7 {
+- reg = <7>;
+- ethernet = <&gmac1>;
+ label = "cpu";
+
+ fixed-link {
+@@ -229,14 +223,7 @@
+ };
+
+ port@8 {
+- reg = <8>;
+- ethernet = <&gmac2>;
+ label = "cpu";
+-
+- fixed-link {
+- speed = <1000>;
+- full-duplex;
+- };
+ };
+ };
+ };
+--- a/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts
++++ b/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts
+@@ -124,39 +124,27 @@
+
+ ports {
+ port@0 {
+- reg = <0>;
+ label = "lan4";
+ };
+
+ port@1 {
+- reg = <1>;
+ label = "lan3";
+ };
+
+ port@2 {
+- reg = <2>;
+ label = "lan2";
+ };
+
+ port@3 {
+- reg = <3>;
+ label = "lan1";
+ };
+
+ port@4 {
+- reg = <4>;
+ label = "wan";
+ };
+
+ port@8 {
+- reg = <8>;
+ label = "cpu";
+- ethernet = <&gmac2>;
+-
+- fixed-link {
+- speed = <1000>;
+- full-duplex;
+- };
+ };
+ };
+ };
+--- a/arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts
++++ b/arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts
+@@ -172,40 +172,28 @@
+
+ ports {
+ port@0 {
+- reg = <0>;
+ label = "lan1";
+ };
+
+ port@1 {
+- reg = <1>;
+ label = "lan2";
+ };
+
+ port@2 {
+- reg = <2>;
+ label = "lan3";
+ };
+
+ port@3 {
+- reg = <3>;
+ label = "lan4";
+ };
+
+ port@4 {
+- reg = <4>;
+ label = "wan";
+ };
+
+ port@8 {
+- reg = <8>;
+ label = "cpu";
+- ethernet = <&gmac2>;
+ phy-mode = "rgmii";
+-
+- fixed-link {
+- speed = <1000>;
+- full-duplex;
+- };
+ };
+ };
+ };
+--- a/arch/arm/boot/dts/bcm47094-linksys-panamera.dts
++++ b/arch/arm/boot/dts/bcm47094-linksys-panamera.dts
+@@ -207,29 +207,32 @@
+ dsa,member = <0 0>;
+
+ ports {
++ sw0_p0: port@0 {
++ label = "extsw";
++
++ fixed-link {
++ speed = <1000>;
++ full-duplex;
++ };
++ };
++
+ port@1 {
+- reg = <1>;
+ label = "lan7";
+ };
+
+ port@2 {
+- reg = <2>;
+ label = "lan4";
+ };
+
+ port@3 {
+- reg = <3>;
+ label = "lan8";
+ };
+
+ port@4 {
+- reg = <4>;
+ label = "wan";
+ };
+
+ port@5 {
+- reg = <5>;
+- ethernet = <&gmac0>;
+ label = "cpu";
+ status = "disabled";
+
+@@ -240,8 +243,6 @@
+ };
+
+ port@7 {
+- reg = <7>;
+- ethernet = <&gmac1>;
+ label = "cpu";
+ status = "disabled";
+
+@@ -252,24 +253,7 @@
+ };
+
+ port@8 {
+- reg = <8>;
+- ethernet = <&gmac2>;
+ label = "cpu";
+-
+- fixed-link {
+- speed = <1000>;
+- full-duplex;
+- };
+- };
+-
+- sw0_p0: port@0 {
+- reg = <0>;
+- label = "extsw";
+-
+- fixed-link {
+- speed = <1000>;
+- full-duplex;
+- };
+ };
+ };
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
+@@ -83,36 +83,29 @@
+
+ ports {
+ port@0 {
+- reg = <0>;
+ label = "wan";
+ nvmem-cells = <&et0macaddr 1>;
+ nvmem-cell-names = "mac-address";
+ };
+
+ port@1 {
+- reg = <1>;
+ label = "lan4";
+ };
+
+ port@2 {
+- reg = <2>;
+ label = "lan3";
+ };
+
+ port@3 {
+- reg = <3>;
+ label = "lan2";
+ };
+
+ port@4 {
+- reg = <4>;
+ label = "lan1";
+ };
+
+ port@5 {
+- reg = <5>;
+ label = "cpu";
+- ethernet = <&gmac0>;
+ };
+ };
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts
+@@ -73,19 +73,15 @@
+
+ ports {
+ port@0 {
+- reg = <0>;
+ label = "poe";
+ };
+
+ port@1 {
+- reg = <1>;
+ label = "lan";
+ };
+
+ port@5 {
+- reg = <5>;
+ label = "cpu";
+- ethernet = <&gmac0>;
+ };
+ };
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
+@@ -83,36 +83,29 @@
+
+ ports {
+ port@0 {
+- reg = <0>;
+ label = "wan";
+ nvmem-cells = <&et0macaddr 1>;
+ nvmem-cell-names = "mac-address";
+ };
+
+ port@1 {
+- reg = <1>;
+ label = "lan4";
+ };
+
+ port@2 {
+- reg = <2>;
+ label = "lan3";
+ };
+
+ port@3 {
+- reg = <3>;
+ label = "lan2";
+ };
+
+ port@4 {
+- reg = <4>;
+ label = "lan1";
+ };
+
+ port@5 {
+- reg = <5>;
+ label = "cpu";
+- ethernet = <&gmac0>;
+ };
+ };
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts
+@@ -69,14 +69,11 @@
+
+ ports {
+ port@0 {
+- reg = <0>;
+ label = "lan";
+ };
+
+ port@5 {
+- reg = <5>;
+ label = "cpu";
+- ethernet = <&gmac0>;
+ };
+ };
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts
+@@ -123,36 +123,29 @@
+
+ ports {
+ port@0 {
+- reg = <0>;
+ label = "lan4";
+ };
+
+ port@1 {
+- reg = <1>;
+ label = "lan3";
+ };
+
+ port@2 {
+- reg = <2>;
+ label = "lan2";
+ };
+
+ port@3 {
+- reg = <3>;
+ label = "lan1";
+ };
+
+ port@4 {
+- reg = <4>;
+ label = "wan";
+ nvmem-cells = <&et0macaddr 5>;
+ nvmem-cell-names = "mac-address";
+ };
+
+ port@5 {
+- reg = <5>;
+ label = "cpu";
+- ethernet = <&gmac0>;
+ };
+ };
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts
+@@ -98,36 +98,29 @@
+
+ ports {
+ port@0 {
+- reg = <0>;
+ label = "lan4";
+ };
+
+ port@1 {
+- reg = <1>;
+ label = "lan3";
+ };
+
+ port@2 {
+- reg = <2>;
+ label = "lan2";
+ };
+
+ port@3 {
+- reg = <3>;
+ label = "lan1";
+ };
+
+ port@4 {
+- reg = <4>;
+ label = "wan";
+ nvmem-cells = <&et0macaddr 5>;
+ nvmem-cell-names = "mac-address";
+ };
+
+ port@5 {
+- reg = <5>;
+ label = "cpu";
+- ethernet = <&gmac0>;
+ };
+ };
+ };
+--- a/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
++++ b/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
+@@ -115,14 +115,11 @@
+
+ ports {
+ port@0 {
+- reg = <0>;
+ label = "poe";
+ };
+
+ port@5 {
+- reg = <5>;
+ label = "cpu";
+- ethernet = <&gmac0>;
+
+ fixed-link {
+ speed = <1000>;
+--- a/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
++++ b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
+@@ -176,14 +176,11 @@
+
+ ports {
+ port@0 {
+- reg = <0>;
+ label = "poe";
+ };
+
+ port@5 {
+- reg = <5>;
+ label = "cpu";
+- ethernet = <&gmac0>;
+
+ fixed-link {
+ speed = <1000>;
diff --git a/target/linux/bcm53xx/patches-5.15/036-v6.5-0013-ARM-dts-BCM5301X-MR26-MR32-remove-bogus-nand-ecc-alg.patch b/target/linux/bcm53xx/patches-5.15/036-v6.5-0013-ARM-dts-BCM5301X-MR26-MR32-remove-bogus-nand-ecc-alg.patch
new file mode 100644
index 0000000000..ea571f459a
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.15/036-v6.5-0013-ARM-dts-BCM5301X-MR26-MR32-remove-bogus-nand-ecc-alg.patch
@@ -0,0 +1,63 @@
+From a6a1a156f5debaebf9f61850d111b966e9be9ee9 Mon Sep 17 00:00:00 2001
+From: Christian Lamparter <chunkeey@gmail.com>
+Date: Thu, 8 Jun 2023 17:36:27 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: MR26: MR32: remove bogus nand-ecc-algo
+ property
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+| bcm53015-meraki-mr26.dtb: nand-controller@18028000:
+| nand@0:nand-ecc-algo:0: 'hw' is not one of ['hamming', 'bch', 'rs']
+| From schema: Documentation/[...]/nand-controller.yaml
+| bcm53016-meraki-mr32.dtb: nand-controller@18028000:
+| nand@0:nand-ecc-algo:0: 'hw' is not one of ['hamming', 'bch', 'rs']
+| From schema: Documentation/[...]/nand-controller.yaml
+
+original ECC values for these old Merakis are sadly not
+provided by the vendor. It looks like Meraki just stuck
+with what Broadcom's SDK was doing... which left this
+up to the proprietary nand driver.
+
+Note: The invalid setting was and is handled by brcmnand. It
+falls back to "bch" in brcmnand_setup_dev() when ecc.algo is
+set to NAND_ECC_ALGO_UNKNOWN (since "hw" is not in the list
+above).
+
+A correct nand-ecc-algo = "bch"; is already specified in the
+included "bcm5301x-nand-cs0-bch8.dtsi". So this line can be
+dropped.
+
+Reported-by: Rafał Miłecki <zajec5@gmail.com> (per Mail)
+Fixes: 935327a73553 ("ARM: dts: BCM5301X: Add DT for Meraki MR26")
+Fixes: ec88a9c344d9 ("ARM: BCM5301X: Add DT for Meraki MR32")
+Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
+Link: https://lore.kernel.org/r/2c4d00dd40124c2ddc0b139cbce7531b108f9052.1686238550.git.chunkeey@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm53015-meraki-mr26.dts | 2 --
+ arch/arm/boot/dts/bcm53016-meraki-mr32.dts | 2 --
+ 2 files changed, 4 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
++++ b/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
+@@ -72,8 +72,6 @@
+ };
+
+ &nandcs {
+- nand-ecc-algo = "hw";
+-
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <0x1>;
+--- a/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
++++ b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
+@@ -125,8 +125,6 @@
+ };
+
+ &nandcs {
+- nand-ecc-algo = "hw";
+-
+ partitions {
+ /*
+ * The partition autodetection does not work for this device.
diff --git a/target/linux/bcm53xx/patches-5.15/036-v6.5-0014-ARM-dts-BCM5301X-MR32-remove-partition-index-numbers.patch b/target/linux/bcm53xx/patches-5.15/036-v6.5-0014-ARM-dts-BCM5301X-MR32-remove-partition-index-numbers.patch
new file mode 100644
index 0000000000..8eb5442d17
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.15/036-v6.5-0014-ARM-dts-BCM5301X-MR32-remove-partition-index-numbers.patch
@@ -0,0 +1,54 @@
+From d68b2f7d7d06872450d4f39d84d5926d7e7ae88c Mon Sep 17 00:00:00 2001
+From: Christian Lamparter <chunkeey@gmail.com>
+Date: Thu, 8 Jun 2023 17:36:28 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: MR32: remove partition index numbers
+
+removes the partition indexes in the node names under.
+This brings the device tree source in line with others.
+
+Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
+Link: https://lore.kernel.org/r/627f57d568030a56499361790524b4d4f3381619.1686238550.git.chunkeey@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm53016-meraki-mr32.dts | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
++++ b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
+@@ -138,31 +138,31 @@
+ #address-cells = <0x1>;
+ #size-cells = <0x1>;
+
+- partition0@0 {
++ partition@0 {
+ label = "u-boot";
+ reg = <0x0 0x100000>;
+ read-only;
+ };
+
+- partition1@100000 {
++ partition@100000 {
+ label = "bootkernel1";
+ reg = <0x100000 0x300000>;
+ read-only;
+ };
+
+- partition2@400000 {
++ partition@400000 {
+ label = "nvram";
+ reg = <0x400000 0x100000>;
+ read-only;
+ };
+
+- partition3@500000 {
++ partition@500000 {
+ label = "bootkernel2";
+ reg = <0x500000 0x300000>;
+ read-only;
+ };
+
+- partition4@800000 {
++ partition@800000 {
+ label = "ubi";
+ reg = <0x800000 0x7780000>;
+ };
diff --git a/target/linux/bcm53xx/patches-5.15/036-v6.5-0015-ARM-dts-BCM5301X-fix-duplex-full-full-duplex.patch b/target/linux/bcm53xx/patches-5.15/036-v6.5-0015-ARM-dts-BCM5301X-fix-duplex-full-full-duplex.patch
new file mode 100644
index 0000000000..805dcf54eb
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.15/036-v6.5-0015-ARM-dts-BCM5301X-fix-duplex-full-full-duplex.patch
@@ -0,0 +1,44 @@
+From fd274b733bfdde3ca72f0fa2a37f032f3a8c402c Mon Sep 17 00:00:00 2001
+From: Christian Lamparter <chunkeey@gmail.com>
+Date: Thu, 8 Jun 2023 17:36:29 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: fix duplex-full => full-duplex
+
+this typo was found by the dtbs_check
+| ports:port@5:fixed-link: 'oneOf' conditional failed,
+| {'speed': [[1000]], 'duplex-full': True} is not of type 'array'
+| 'duplex-full' does not match any of the regexes: 'pinctrl-[0-]..."
+
+this should have been full-duplex;
+
+Fixes: 935327a73553 ("ARM: dts: BCM5301X: Add DT for Meraki MR26")
+Fixes: ec88a9c344d9 ("ARM: BCM5301X: Add DT for Meraki MR32")
+Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
+Link: https://lore.kernel.org/r/50522f45566951a9eabd22820647924cc6b4a264.1686238550.git.chunkeey@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm53015-meraki-mr26.dts | 2 +-
+ arch/arm/boot/dts/bcm53016-meraki-mr32.dts | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
++++ b/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
+@@ -121,7 +121,7 @@
+
+ fixed-link {
+ speed = <1000>;
+- duplex-full;
++ full-duplex;
+ };
+ };
+ };
+--- a/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
++++ b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
+@@ -182,7 +182,7 @@
+
+ fixed-link {
+ speed = <1000>;
+- duplex-full;
++ full-duplex;
+ };
+ };
+ };
diff --git a/target/linux/bcm53xx/patches-5.15/036-v6.5-0016-ARM-dts-BCM5301X-Add-Netgear-R8000-WiFi-regulator-ma.patch b/target/linux/bcm53xx/patches-5.15/036-v6.5-0016-ARM-dts-BCM5301X-Add-Netgear-R8000-WiFi-regulator-ma.patch
new file mode 100644
index 0000000000..3ffe0b2f17
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.15/036-v6.5-0016-ARM-dts-BCM5301X-Add-Netgear-R8000-WiFi-regulator-ma.patch
@@ -0,0 +1,61 @@
+From 752a63b8dbe6cc6900efd1035bea427a778a4b55 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Fri, 2 Jun 2023 15:59:25 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Add Netgear R8000 WiFi regulator mappings
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This allows setting FullMAC firmware regulatory domain.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20230602135925.14143-3-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm4709-netgear-r8000.dts | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+--- a/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
++++ b/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
+@@ -137,8 +137,10 @@
+ #size-cells = <2>;
+
+ wifi@0,1,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";
+ };
+ };
+ };
+@@ -159,6 +161,19 @@
+ #address-cells = <3>;
+ #size-cells = <2>;
+
++ bridge@1,0 {
++ reg = <0x800 0 0 0 0>;
++
++ #address-cells = <3>;
++ #size-cells = <2>;
++
++ 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";
++ };
++ };
++
+ bridge@1,2,2 {
+ reg = <0x1000 0 0 0 0>;
+
+@@ -166,8 +181,10 @@
+ #size-cells = <2>;
+
+ wifi@1,4,0 {
++ compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
+ reg = <0x0000 0 0 0 0>;
+ ieee80211-freq-limit = <5170000 5730000>;
++ brcm,ccode-map = "JP-JP-78", "US-Q2-86";
+ };
+ };
+ };
diff --git a/target/linux/bcm53xx/patches-5.15/036-v6.5-0017-ARM-dts-BCM5301X-Add-cells-sizes-to-PCIe-nodes.patch b/target/linux/bcm53xx/patches-5.15/036-v6.5-0017-ARM-dts-BCM5301X-Add-cells-sizes-to-PCIe-nodes.patch
new file mode 100644
index 0000000000..454ce4c278
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.15/036-v6.5-0017-ARM-dts-BCM5301X-Add-cells-sizes-to-PCIe-nodes.patch
@@ -0,0 +1,59 @@
+From b67cad33176e472df6d16a24ee7624299bdcd5d5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Fri, 16 Jun 2023 12:58:27 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Add cells sizes to PCIe nodes
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This fixes:
+arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: pcie@12000: '#address-cells' is a required property
+ From schema: /lib/python3.10/site-packages/dtschema/schemas/pci/pci-bus.yaml
+arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: pcie@12000: '#size-cells' is a required property
+ From schema: /lib/python3.10/site-packages/dtschema/schemas/pci/pci-bus.yaml
+arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: pcie@13000: '#address-cells' is a required property
+ From schema: /lib/python3.10/site-packages/dtschema/schemas/pci/pci-bus.yaml
+arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: pcie@13000: '#size-cells' is a required property
+ From schema: /lib/python3.10/site-packages/dtschema/schemas/pci/pci-bus.yaml
+arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: pcie@14000: '#address-cells' is a required property
+ From schema: /lib/python3.10/site-packages/dtschema/schemas/pci/pci-bus.yaml
+arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: pcie@14000: '#size-cells' is a required property
+ From schema: /lib/python3.10/site-packages/dtschema/schemas/pci/pci-bus.yaml
+
+Two properties that need to be added later are "device_type" and
+"ranges". Adding "device_type" on its own causes a new warning and the
+value of "ranges" needs to be determined yet.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20230616105827.21656-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm-ns.dtsi | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+--- a/arch/arm/boot/dts/bcm-ns.dtsi
++++ b/arch/arm/boot/dts/bcm-ns.dtsi
+@@ -176,14 +176,23 @@
+
+ pcie0: pcie@12000 {
+ reg = <0x00012000 0x1000>;
++
++ #address-cells = <3>;
++ #size-cells = <2>;
+ };
+
+ pcie1: pcie@13000 {
+ reg = <0x00013000 0x1000>;
++
++ #address-cells = <3>;
++ #size-cells = <2>;
+ };
+
+ pcie2: pcie@14000 {
+ reg = <0x00014000 0x1000>;
++
++ #address-cells = <3>;
++ #size-cells = <2>;
+ };
+
+ usb2: usb2@21000 {
diff --git a/target/linux/bcm53xx/patches-5.15/036-v6.2-bcma-support-SPROM-rev-11.patch b/target/linux/bcm53xx/patches-5.15/080-v6.2-bcma-support-SPROM-rev-11.patch
index 5ebc78ca20..5ebc78ca20 100644
--- a/target/linux/bcm53xx/patches-5.15/036-v6.2-bcma-support-SPROM-rev-11.patch
+++ b/target/linux/bcm53xx/patches-5.15/080-v6.2-bcma-support-SPROM-rev-11.patch
diff --git a/target/linux/bcm53xx/patches-5.15/304-ARM-dts-BCM5301X-Specify-switch-ports-for-remaining-.patch b/target/linux/bcm53xx/patches-5.15/304-ARM-dts-BCM5301X-Specify-switch-ports-for-remaining-.patch
index 0fb29e99d3..d15506f6d7 100644
--- a/target/linux/bcm53xx/patches-5.15/304-ARM-dts-BCM5301X-Specify-switch-ports-for-remaining-.patch
+++ b/target/linux/bcm53xx/patches-5.15/304-ARM-dts-BCM5301X-Specify-switch-ports-for-remaining-.patch
@@ -10,7 +10,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
--- a/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
+++ b/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
-@@ -93,3 +93,40 @@
+@@ -92,3 +92,40 @@
&usb3_phy {
status = "okay";
};