[openwrt/openwrt] bcm53xx: backport DT changes from v6.5

LEDE Commits lede-commits at lists.infradead.org
Tue Jul 11 04:38:53 PDT 2023


rmilecki pushed a commit to openwrt/openwrt.git, branch openwrt-21.02:
https://git.openwrt.org/fff279f4a712044c754ed40673696d917cc3533f

commit fff279f4a712044c754ed40673696d917cc3533f
Author: Rafał Miłecki <rafal at milecki.pl>
AuthorDate: Tue Jul 11 10:30:08 2023 +0200

    bcm53xx: backport DT changes from v6.5
    
    Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
    (cherry picked from commit 8674b41c0d84f09e14bf8ebe08e1d6dc6ac5fa64)
---
 .../bcm53xx/base-files/etc/board.d/02_network      |    2 +-
 .../bcm53xx/base-files/lib/upgrade/platform.sh     |   12 +-
 ...1-ARM-dts-BCM5301X-Add-DT-for-Meraki-MR26.patch |  247 +++
 ...dcom-align-gpio-key-node-names-with-dtsc.patch} |    0
 ...ts-broadcom-correct-gpio-keys-properties.patch} |    0
 ...3016-Add-devicetree-for-D-Link-DWL-8610A.patch} |    2 +-
 ...47094-Add-devicetree-for-D-Link-DIR-890L.patch} |    0
 ...301X-Correct-description-of-TP-Link-part.patch} |    0
 ...oadcom-align-LED-node-names-with-dtschema.patch | 1700 ++++++++++++++++++++
 ...5301X-Relicense-Rafa-s-code-to-the-GPL-2..patch |  487 ++++++
 ...5301X-Relicense-Florian-s-code-to-the-GPL.patch |  136 ++
 ...M5301X-Drop-clock-names-from-the-SPI-node.patch |   32 +
 ...5301X-Relicense-Hauke-s-code-to-the-GPL-2.patch |  249 +++
 ...5301X-Relicense-AXI-interrupts-code-to-th.patch |  203 +++
 ...5301X-Specify-MAC-addresses-on-Luxul-devi.patch |  336 ++++
 ...5301X-Use-updated-device-compatible-strin.patch |   90 ++
 ...5301X-Use-updated-spi-gpio-binding-proper.patch |   82 +
 ...9-ARM-dts-BCM5301X-Drop-invalid-usb-cells.patch |   54 +
 ...5301X-Drop-invalid-properties-from-Meraki.patch |   31 +
 ...5301X-Relicense-Christian-s-code-to-the-G.patch |  106 ++
 ...5301X-Describe-switch-ports-in-the-main-D.patch |  838 ++++++++++
 ...5301X-MR26-MR32-remove-bogus-nand-ecc-alg.patch |   63 +
 ...5301X-MR32-remove-partition-index-numbers.patch |   54 +
 ...-dts-BCM5301X-fix-duplex-full-full-duplex.patch |   44 +
 ...5301X-Add-Netgear-R8000-WiFi-regulator-ma.patch |   61 +
 ...ts-BCM5301X-Add-cells-sizes-to-PCIe-nodes.patch |   59 +
 ...5301X-Specify-switch-ports-for-remaining-.patch |    2 +-
 .../patches-5.4/331-Meraki-MR32-Status-LEDs.patch  |    4 +-
 28 files changed, 4883 insertions(+), 11 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 317e8a5b7c..8b787d64f1 100755
--- a/target/linux/bcm53xx/base-files/etc/board.d/02_network
+++ b/target/linux/bcm53xx/base-files/etc/board.d/02_network
@@ -117,7 +117,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 c92dcd1e4e..d39e03e9f4 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.4/041-v6.0-0001-ARM-dts-BCM5301X-Add-DT-for-Meraki-MR26.patch b/target/linux/bcm53xx/patches-5.4/041-v6.0-0001-ARM-dts-BCM5301X-Add-DT-for-Meraki-MR26.patch
new file mode 100644
index 0000000000..c8656a38bb
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.4/041-v6.0-0001-ARM-dts-BCM5301X-Add-DT-for-Meraki-MR26.patch
@@ -0,0 +1,247 @@
+From 935327a73553001f8d81375c76985d05f604507f Mon Sep 17 00:00:00 2001
+From: Christian Lamparter <chunkeey at gmail.com>
+Date: Sat, 18 Jun 2022 00:00:29 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Add DT for Meraki MR26
+
+Meraki MR26 is an EOL wireless access point featuring a
+PoE ethernet port and two dual-band 3x3 MIMO 802.11n
+radios and 1x1 dual-band WIFI dedicated to scanning.
+
+Thank you Amir for the unit and PSU.
+
+Hardware info:
+SOC   : Broadcom BCM53015A1KFEBG (dual-core Cortex-A9 CPU at 800 MHz)
+RAM   : SK Hynix Inc. H5TQ1G63EFR, 1 GBit DDR3 SDRAM = 128 MiB
+NAND  : Spansion S34ML01G100TF100, 1 GBit SLC NAND Flash = 128 MiB
+ETH   : 1 GBit Ethernet Port - PoE (TPS23754 PoE Interface)
+WIFI0 : Broadcom BCM43431KMLG, BCM43431 802.11 abgn (3x3:3)
+WIFI1 : Broadcom BCM43431KMLG, BCM43431 802.11 abgn (3x3:3)
+WIFI2 : Broadcom BCM43428 "Air Marshal" 802.11 abgn (1x1:1)
+BUTTON: One reset key behind a small hole next to the Ethernet Port
+LEDS  : One amber (fault), one white (indicator) LED, separate RGB-LED
+MISC  : Atmel AT24C64 8KiB EEPROM i2c
+      : Ti INA219 26V, 12-bit, i2c output current/voltage/power monitor
+
+SERIAL:
+      WARNING: The serial port needs a TTL/RS-232 3V3 level converter!
+      The Serial setting is 115200-8-N-1. The board has a populated
+      right angle 1x4 0.1" pinheader.
+      The pinout is: VCC (next to J3, has the pin 1 indicator), RX, TX, GND.
+
+Odd stuff:
+
+- uboot does not support lzma compression, but gzip'd uImage/DTB work.
+- uboot claims to support FIT, but fails to pass the DTB to the kernel.
+  Appending the dtb after the kernel image works.
+- RGB-controller is supported through an external userspace program.
+- The ubi partition contains a "board-config" volume. It stores the
+  MAC Address (0x66 in binary) and Serial No. (0x7c alpha-numerical).
+- SoC's temperature sensor always reports that it is on fire.
+  This causes the system to immediately shutdown! Looking at reported
+  "418 degree Celsius" suggests that this sensor is not working.
+
+WIFI:
+b43 is able to initialize all three WIFIs @ 802.11bg.
+| b43-phy0: Broadcom 43431 WLAN found (core revision 29)
+| bcma-pci-bridge 0000:01:00.0: bus1: Switched to core: 0x812
+| b43-phy0: Found PHY: Analog 9, Type 7 (HT), Revision 1
+| b43-phy0: Found Radio: Manuf 0x17F, ID 0x2059, Revision 0, Version 1
+| b43-phy0 warning: 5 GHz band is unsupported on this PHY
+| b43-phy1: Broadcom 43431 WLAN found (core revision 29)
+| bcma-pci-bridge 0001:01:00.0: bus2: Switched to core: 0x812
+| b43-phy1: Found PHY: Analog 9, Type 7 (HT), Revision 1
+| b43-phy1: Found Radio: Manuf 0x17F, ID 0x2059, Revision 0, Version 1
+| b43-phy1 warning: 5 GHz band is unsupported on this PHY
+| b43-phy2: Broadcom 43228 WLAN found (core revision 30)
+| bcma-pci-bridge 0002:01:00.0: bus3: Switched to core: 0x812
+| b43-phy2: Found PHY: Analog 9, Type 4 (N), Revision 16
+| b43-phy2: Found Radio: Manuf 0x17F, ID 0x2057, Revision 9, Version 1
+| Broadcom 43xx driver loaded [ Features: NL ]
+
+Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
+Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
+---
+ arch/arm/boot/dts/Makefile                 |   1 +
+ arch/arm/boot/dts/bcm53015-meraki-mr26.dts | 166 +++++++++++++++++++++
+ 2 files changed, 167 insertions(+)
+ create mode 100644 arch/arm/boot/dts/bcm53015-meraki-mr26.dts
+
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -121,6 +121,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
+ 	bcm47094-luxul-xwr-3150-v1.dtb \
+ 	bcm47094-netgear-r8500.dtb \
+ 	bcm47094-phicomm-k3.dtb \
++	bcm53015-meraki-mr26.dtb \
+ 	bcm53016-meraki-mr32.dtb \
+ 	bcm94708.dtb \
+ 	bcm94709.dtb \
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
+@@ -0,0 +1,166 @@
++// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
++/*
++ * Broadcom BCM470X / BCM5301X ARM platform code.
++ * DTS for Meraki MR26 / Codename: Venom
++ *
++ * Copyright (C) 2022 Christian Lamparter <chunkeey at gmail.com>
++ */
++
++/dts-v1/;
++
++#include "bcm4708.dtsi"
++#include "bcm5301x-nand-cs0-bch8.dtsi"
++#include <dt-bindings/leds/common.h>
++
++/ {
++	compatible = "meraki,mr26", "brcm,bcm53015", "brcm,bcm4708";
++	model = "Meraki MR26";
++
++	memory at 0 {
++		reg = <0x00000000 0x08000000>;
++		device_type = "memory";
++	};
++
++	leds {
++		compatible = "gpio-leds";
++
++		led-0 {
++			function = LED_FUNCTION_FAULT;
++			color = <LED_COLOR_ID_AMBER>;
++			gpios = <&chipcommon 13 GPIO_ACTIVE_HIGH>;
++			panic-indicator;
++		};
++		led-1 {
++			function = LED_FUNCTION_INDICATOR;
++			color = <LED_COLOR_ID_WHITE>;
++			gpios = <&chipcommon 12 GPIO_ACTIVE_HIGH>;
++		};
++	};
++
++	keys {
++		compatible = "gpio-keys";
++		#address-cells = <1>;
++		#size-cells = <0>;
++
++		key-restart {
++			label = "Reset";
++			linux,code = <KEY_RESTART>;
++			gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
++		};
++	};
++};
++
++&uart0 {
++	clock-frequency = <50000000>;
++	/delete-property/ clocks;
++};
++
++&uart1 {
++	status = "disabled";
++};
++
++&gmac0 {
++	status = "okay";
++};
++
++&gmac1 {
++	status = "disabled";
++};
++&gmac2 {
++	status = "disabled";
++};
++&gmac3 {
++	status = "disabled";
++};
++
++&nandcs {
++	nand-ecc-algo = "hw";
++
++	partitions {
++		compatible = "fixed-partitions";
++		#address-cells = <0x1>;
++		#size-cells = <0x1>;
++
++		partition at 0 {
++			label = "u-boot";
++			reg = <0x0 0x200000>;
++			read-only;
++		};
++
++		partition at 200000 {
++			label = "u-boot-env";
++			reg = <0x200000 0x200000>;
++			/* empty */
++		};
++
++		partition at 400000 {
++			label = "u-boot-backup";
++			reg = <0x400000 0x200000>;
++			/* empty */
++		};
++
++		partition at 600000 {
++			label = "u-boot-env-backup";
++			reg = <0x600000 0x200000>;
++			/* empty */
++		};
++
++		partition at 800000 {
++			label = "ubi";
++			reg = <0x800000 0x7780000>;
++		};
++	};
++};
++
++&srab {
++	status = "okay";
++
++	ports {
++		port at 0 {
++			reg = <0>;
++			label = "poe";
++		};
++
++		port at 5 {
++			reg = <5>;
++			label = "cpu";
++			ethernet = <&gmac0>;
++
++			fixed-link {
++				speed = <1000>;
++				duplex-full;
++			};
++		};
++	};
++};
++
++&i2c0 {
++	status = "okay";
++
++	pinctrl-names = "default";
++	pinctrl-0 = <&pinmux_i2c>;
++
++	clock-frequency = <100000>;
++
++	ina219 at 40 {
++		compatible = "ti,ina219"; /* PoE power */
++		reg = <0x40>;
++		shunt-resistor = <60000>; /* = 60 mOhms */
++	};
++
++	eeprom at 56 {
++		compatible = "atmel,24c64";
++		reg = <0x56>;
++		pagesize = <32>;
++		read-only;
++		#address-cells = <1>;
++		#size-cells = <1>;
++
++		/* it's empty */
++	};
++};
++
++&thermal {
++	status = "disabled";
++	/* does not work, reads 418 degree Celsius */
++};
diff --git a/target/linux/bcm53xx/patches-5.4/041-v6.0-0001-ARM-dts-broadcom-align-gpio-key-node-names-with-dtsc.patch b/target/linux/bcm53xx/patches-5.4/041-v6.0-0002-ARM-dts-broadcom-align-gpio-key-node-names-with-dtsc.patch
similarity index 100%
rename from target/linux/bcm53xx/patches-5.4/041-v6.0-0001-ARM-dts-broadcom-align-gpio-key-node-names-with-dtsc.patch
rename to target/linux/bcm53xx/patches-5.4/041-v6.0-0002-ARM-dts-broadcom-align-gpio-key-node-names-with-dtsc.patch
diff --git a/target/linux/bcm53xx/patches-5.4/041-v6.0-0002-ARM-dts-broadcom-correct-gpio-keys-properties.patch b/target/linux/bcm53xx/patches-5.4/041-v6.0-0003-ARM-dts-broadcom-correct-gpio-keys-properties.patch
similarity index 100%
rename from target/linux/bcm53xx/patches-5.4/041-v6.0-0002-ARM-dts-broadcom-correct-gpio-keys-properties.patch
rename to target/linux/bcm53xx/patches-5.4/041-v6.0-0003-ARM-dts-broadcom-correct-gpio-keys-properties.patch
diff --git a/target/linux/bcm53xx/patches-5.4/042-v6.1-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch b/target/linux/bcm53xx/patches-5.4/042-v6.2-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch
similarity index 99%
rename from target/linux/bcm53xx/patches-5.4/042-v6.1-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch
rename to target/linux/bcm53xx/patches-5.4/042-v6.2-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch
index 6102963f82..f7de3f13f2 100644
--- a/target/linux/bcm53xx/patches-5.4/042-v6.1-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch
+++ b/target/linux/bcm53xx/patches-5.4/042-v6.2-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch
@@ -22,9 +22,9 @@ Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
 --- a/arch/arm/boot/dts/Makefile
 +++ b/arch/arm/boot/dts/Makefile
 @@ -122,6 +122,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
- 	bcm47094-luxul-xwr-3150-v1.dtb \
  	bcm47094-netgear-r8500.dtb \
  	bcm47094-phicomm-k3.dtb \
+ 	bcm53015-meraki-mr26.dtb \
 +	bcm53016-dlink-dwl-8610ap.dtb \
  	bcm53016-meraki-mr32.dtb \
  	bcm94708.dtb \
diff --git a/target/linux/bcm53xx/patches-5.4/042-v6.1-0001-ARM-dts-bcm47094-Add-devicetree-for-D-Link-DIR-890L.patch b/target/linux/bcm53xx/patches-5.4/042-v6.2-0002-ARM-dts-bcm47094-Add-devicetree-for-D-Link-DIR-890L.patch
similarity index 100%
rename from target/linux/bcm53xx/patches-5.4/042-v6.1-0001-ARM-dts-bcm47094-Add-devicetree-for-D-Link-DIR-890L.patch
rename to target/linux/bcm53xx/patches-5.4/042-v6.2-0002-ARM-dts-bcm47094-Add-devicetree-for-D-Link-DIR-890L.patch
diff --git a/target/linux/bcm53xx/patches-5.4/042-v6.1-0001-ARM-dts-BCM5301X-Correct-description-of-TP-Link-part.patch b/target/linux/bcm53xx/patches-5.4/042-v6.2-0003-ARM-dts-BCM5301X-Correct-description-of-TP-Link-part.patch
similarity index 100%
rename from target/linux/bcm53xx/patches-5.4/042-v6.1-0001-ARM-dts-BCM5301X-Correct-description-of-TP-Link-part.patch
rename to target/linux/bcm53xx/patches-5.4/042-v6.2-0003-ARM-dts-BCM5301X-Correct-description-of-TP-Link-part.patch
diff --git a/target/linux/bcm53xx/patches-5.4/042-v6.2-0004-ARM-dts-broadcom-align-LED-node-names-with-dtschema.patch b/target/linux/bcm53xx/patches-5.4/042-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.4/042-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 at 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 at linaro.org>
+Link: https://lore.kernel.org/r/20221125144128.477059-1-krzysztof.kozlowski@linaro.org
+Signed-off-by: Florian Fainelli <f.fainelli at 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.4/043-v6.5-0001-ARM-dts-BCM5301X-Relicense-Rafa-s-code-to-the-GPL-2..patch b/target/linux/bcm53xx/patches-5.4/043-v6.5-0001-ARM-dts-BCM5301X-Relicense-Rafa-s-code-to-the-GPL-2..patch
new file mode 100644
index 0000000000..39f0c392c5
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.4/043-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 at 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 at milecki.pl>
+Link: https://lore.kernel.org/r/20230503121611.1629-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <f.fainelli at 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
+@@ -3213,6 +3213,7 @@ M:	Rafał Miłecki <zajec5 at gmail.com>
+ M:	bcm-kernel-feedback-list at broadcom.com
+ L:	linux-arm-kernel at lists.infradead.org
+ S:	Maintained
++F:	arch/arm/boot/dts/bcm-ns.dtsi
+ F:	arch/arm/mach-bcm/bcm_5301x.c
+ F:	arch/arm/boot/dts/bcm5301x*.dtsi
+ F:	arch/arm/boot/dts/bcm470*
+--- /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 at 18000000 {
++		compatible = "brcm,bus-axi";
++		reg = <0x18000000 0x1000>;
++		ranges = <0x00000000 0x18000000 0x00100000>;
++		#address-cells = <1>;
++		#size-cells = <1>;
++
++		chipcommon: chipcommon at 0 {
++			reg = <0x00000000 0x1000>;
++
++			gpio-controller;
++			#gpio-cells = <2>;
++		};
++
++		pcie0: pcie at 12000 {
++			reg = <0x00012000 0x1000>;
++		};
++
++		pcie1: pcie at 13000 {
++			reg = <0x00013000 0x1000>;
++		};
++
++		usb2: usb2 at 21000 {
++			reg = <0x00021000 0x1000>;
++
++			#address-cells = <1>;
++			#size-cells = <1>;
++			ranges;
++
++			interrupt-parent = <&gic>;
++
++			ehci: usb at 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 at 1 {
++					reg = <1>;
++					#trigger-source-cells = <0>;
++				};
++
++				ehci_port2: port at 2 {
++					reg = <2>;
++					#trigger-source-cells = <0>;
++				};
++			};
++
++			ohci: usb at 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 at 1 {
++					reg = <1>;
++					#trigger-source-cells = <0>;
++				};
++
++				ohci_port2: port at 2 {
++					reg = <2>;
++					#trigger-source-cells = <0>;
++				};
++			};
++		};
++
++		usb3: usb3 at 23000 {
++			reg = <0x00023000 0x1000>;
++
++			#address-cells = <1>;
++			#size-cells = <1>;
++			ranges;
++
++			interrupt-parent = <&gic>;
++
++			xhci: usb at 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 at 1 {
++					reg = <1>;
++					#trigger-source-cells = <0>;
++				};
++			};
++		};
++	};
++
++	mdio: mdio at 18003000 {
++		compatible = "brcm,iproc-mdio";
++		reg = <0x18003000 0x8>;
++		#size-cells = <0>;
++		#address-cells = <1>;
++	};
++
++	dmu-bus at 1800c000 {
++		compatible = "simple-bus";
++		ranges = <0 0x1800c000 0x1000>;
++		#address-cells = <1>;
++		#size-cells = <1>;
++
++		cru-bus at 100 {
++			compatible = "brcm,ns-cru", "simple-mfd";
++			reg = <0x100 0x1a4>;
++			ranges;
++			#address-cells = <1>;
++			#size-cells = <1>;
++
++			usb2_phy: phy at 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 at 180 {
++				compatible = "brcm,cru-clkset", "syscon";
++				reg = <0x180 0x4>;
++			};
++
++			pinctrl: pinctrl at 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 at 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 at 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 at 0 {
+-			reg = <0x00000000 0x1000>;
+-
+-			gpio-controller;
+-			#gpio-cells = <2>;
++		chipcommon at 0 {
+ 			interrupt-controller;
+ 			#interrupt-cells = <2>;
+ 		};
+ 
+-		pcie0: pcie at 12000 {
+-			reg = <0x00012000 0x1000>;
+-		};
+-
+-		pcie1: pcie at 13000 {
+-			reg = <0x00013000 0x1000>;
+-		};
+-
+ 		pcie2: pcie at 14000 {
+ 			reg = <0x00014000 0x1000>;
+ 		};
+ 
+-		usb2: usb2 at 21000 {
+-			reg = <0x00021000 0x1000>;
+-
+-			#address-cells = <1>;
+-			#size-cells = <1>;
+-			ranges;
+-
+-			interrupt-parent = <&gic>;
+-
+-			ehci: usb at 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 at 1 {
+-					reg = <1>;
+-					#trigger-source-cells = <0>;
+-				};
+-
+-				ehci_port2: port at 2 {
+-					reg = <2>;
+-					#trigger-source-cells = <0>;
+-				};
+-			};
+-
+-			ohci: usb at 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 at 1 {
+-					reg = <1>;
+-					#trigger-source-cells = <0>;
+-				};
+-
+-				ohci_port2: port at 2 {
+-					reg = <2>;
+-					#trigger-source-cells = <0>;
+-				};
+-			};
+-		};
+-
+-		usb3: usb3 at 23000 {
+-			reg = <0x00023000 0x1000>;
+-
+-			#address-cells = <1>;
+-			#size-cells = <1>;
+-			ranges;
+-
+-			interrupt-parent = <&gic>;
+-
+-			xhci: usb at 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 at 1 {
+-					reg = <1>;
+-					#trigger-source-cells = <0>;
+-				};
+-			};
+-		};
+-
+ 		gmac0: ethernet at 24000 {
+ 			reg = <0x24000 0x800>;
+ 		};
+@@ -355,13 +252,6 @@
+ 		status = "disabled";
+ 	};
+ 
+-	mdio: mdio at 18003000 {
+-		compatible = "brcm,iproc-mdio";
+-		reg = <0x18003000 0x8>;
+-		#size-cells = <0>;
+-		#address-cells = <1>;
+-	};
+-
+ 	mdio-mux at 18003000 {
+ 		compatible = "mdio-mux-mmioreg", "mdio-mux";
+ 		mdio-parent-bus = <&mdio>;
+@@ -409,18 +299,7 @@
+ 	};
+ 
+ 	dmu-bus at 1800c000 {
+-		compatible = "simple-bus";
+-		ranges = <0 0x1800c000 0x1000>;
+-		#address-cells = <1>;
+-		#size-cells = <1>;
+-
+ 		cru-bus at 100 {
+-			compatible = "brcm,ns-cru", "simple-mfd";
+-			reg = <0x100 0x1a4>;
+-			ranges;
+-			#address-cells = <1>;
+-			#size-cells = <1>;
+-
+ 			lcpll0: clock-controller at 100 {
+ 				#clock-cells = <1>;
+ 				compatible = "brcm,nsp-lcpll0";
+@@ -440,53 +319,6 @@
+ 						     "usbclk", "iprocfast",
+ 						     "sata1", "sata2";
+ 			};
+-
+-			usb2_phy: phy at 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 at 180 {
+-				compatible = "brcm,cru-clkset", "syscon";
+-				reg = <0x180 0x4>;
+-			};
+-
+-			pinctrl: pinctrl at 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 at 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.4/043-v6.5-0002-ARM-dts-BCM5301X-Relicense-Florian-s-code-to-the-GPL.patch b/target/linux/bcm53xx/patches-5.4/043-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.4/043-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 at 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 at milecki.pl>
+Link: https://lore.kernel.org/r/20230503121611.1629-2-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <f.fainelli at 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 at 12000 {
+@@ -109,6 +111,22 @@
+ 				};
+ 			};
+ 		};
++
++		gmac0: ethernet at 24000 {
++			reg = <0x24000 0x800>;
++		};
++
++		gmac1: ethernet at 25000 {
++			reg = <0x25000 0x800>;
++		};
++
++		gmac2: ethernet at 26000 {
++			reg = <0x26000 0x800>;
++		};
++
++		gmac3: ethernet at 27000 {
++			reg = <0x27000 0x800>;
++		};
+ 	};
+ 
+ 	mdio: mdio at 18003000 {
+@@ -118,6 +136,24 @@
+ 		#address-cells = <1>;
+ 	};
+ 
++	rng: rng at 18004000 {
++		compatible = "brcm,bcm5301x-rng";
++		reg = <0x18004000 0x14>;
++	};
++
++	srab: ethernet-switch at 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 at 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 at 0 {
+-			interrupt-controller;
+-			#interrupt-cells = <2>;
+-		};
+-
+ 		pcie2: pcie at 14000 {
+ 			reg = <0x00014000 0x1000>;
+ 		};
+-
+-		gmac0: ethernet at 24000 {
+-			reg = <0x24000 0x800>;
+-		};
+-
+-		gmac1: ethernet at 25000 {
+-			reg = <0x25000 0x800>;
+-		};
+-
+-		gmac2: ethernet at 26000 {
+-			reg = <0x26000 0x800>;
+-		};
+-
+-		gmac3: ethernet at 27000 {
+-			reg = <0x27000 0x800>;
+-		};
+ 	};
+ 
+ 	pwm: pwm at 18002000 {
+@@ -322,24 +301,6 @@
+ 		};
+ 	};
+ 
+-	srab: ethernet-switch at 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 at 18004000 {
+-		compatible = "brcm,bcm5301x-rng";
+-		reg = <0x18004000 0x14>;
+-	};
+-
+ 	nand_controller: nand-controller at 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.4/043-v6.5-0003-ARM-dts-BCM5301X-Drop-clock-names-from-the-SPI-node.patch b/target/linux/bcm53xx/patches-5.4/043-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.4/043-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 at 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 at 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 at milecki.pl>
+Link: https://lore.kernel.org/r/20230503122830.3200-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <f.fainelli at 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.4/043-v6.5-0004-ARM-dts-BCM5301X-Relicense-Hauke-s-code-to-the-GPL-2.patch b/target/linux/bcm53xx/patches-5.4/043-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.4/043-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 at 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 at milecki.pl>
+Cc: Hauke Mehrtens <hauke at hauke-m.de>
+Acked-by: Hauke Mehrtens <hauke at hauke-m.de>
+Link: https://lore.kernel.org/r/20230515151921.25021-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli at 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 at 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 at 18000000 {
++		compatible = "simple-bus";
++		ranges = <0x00000000 0x18000000 0x00001000>;
++		#address-cells = <1>;
++		#size-cells = <1>;
++
++		uart0: serial at 300 {
++			compatible = "ns16550";
++			reg = <0x0300 0x100>;
++			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
++			clocks = <&iprocslow>;
++			status = "disabled";
++		};
++
++		uart1: serial at 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 at 19000000 {
++		compatible = "simple-bus";
++		ranges = <0x00000000 0x19000000 0x00023000>;
++		#address-cells = <1>;
++		#size-cells = <1>;
++
++		scu at 20000 {
++			compatible = "arm,cortex-a9-scu";
++			reg = <0x20000 0x100>;
++		};
++
++		timer at 20200 {
++			compatible = "arm,cortex-a9-global-timer";
++			reg = <0x20200 0x100>;
++			interrupts = <GIC_PPI 11 IRQ_TYPE_EDGE_RISING>;
++			clocks = <&periph_clk>;
++		};
++
++		timer at 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 at 21000 {
++			compatible = "arm,cortex-a9-gic";
++			#interrupt-cells = <3>;
++			#address-cells = <0>;
++			interrupt-controller;
++			reg = <0x21000 0x1000>,
++			      <0x20100 0x100>;
++		};
++
++		L2: cache-controller at 22000 {
++			compatible = "arm,pl310-cache";
++			reg = <0x22000 0x1000>;
++			cache-unified;
++			arm,shared-override;
++			prefetch-data = <1>;
++			prefetch-instr = <1>;
++			cache-level = <2>;
++		};
++	};
++
+ 	axi at 18000000 {
+ 		compatible = "brcm,bus-axi";
+ 		reg = <0x18000000 0x1000>;
+@@ -216,6 +294,18 @@
+ 		};
+ 	};
+ 
++	nand_controller: nand-controller at 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 at 18000000 {
+-		compatible = "simple-bus";
+-		ranges = <0x00000000 0x18000000 0x00001000>;
+-		#address-cells = <1>;
+-		#size-cells = <1>;
+-
+-		uart0: serial at 300 {
+-			compatible = "ns16550";
+-			reg = <0x0300 0x100>;
+-			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
+-			clocks = <&iprocslow>;
+-			status = "disabled";
+-		};
+-
+-		uart1: serial at 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 at 19000000 {
+-		compatible = "simple-bus";
+-		ranges = <0x00000000 0x19000000 0x00023000>;
+-		#address-cells = <1>;
+-		#size-cells = <1>;
+-
+ 		a9pll: arm_clk at 0 {
+ 			#clock-cells = <0>;
+ 			compatible = "brcm,nsp-armpll";
+@@ -53,26 +19,6 @@
+ 			reg = <0x00000 0x1000>;
+ 		};
+ 
+-		scu at 20000 {
+-			compatible = "arm,cortex-a9-scu";
+-			reg = <0x20000 0x100>;
+-		};
+-
+-		timer at 20200 {
+-			compatible = "arm,cortex-a9-global-timer";
+-			reg = <0x20200 0x100>;
+-			interrupts = <GIC_PPI 11 IRQ_TYPE_EDGE_RISING>;
+-			clocks = <&periph_clk>;
+-		};
+-
+-		timer at 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 at 20620 {
+ 			compatible = "arm,cortex-a9-twd-wdt";
+ 			reg = <0x20620 0x20>;
+@@ -80,25 +26,6 @@
+ 						  IRQ_TYPE_EDGE_RISING)>;
+ 			clocks = <&periph_clk>;
+ 		};
+-
+-		gic: interrupt-controller at 21000 {
+-			compatible = "arm,cortex-a9-gic";
+-			#interrupt-cells = <3>;
+-			#address-cells = <0>;
+-			interrupt-controller;
+-			reg = <0x21000 0x1000>,
+-			      <0x20100 0x100>;
+-		};
+-
+-		L2: cache-controller at 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 at 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 at 18029200 {
+ 		compatible = "brcm,spi-nsp-qspi", "brcm,spi-bcm-qspi";
+ 		reg = <0x18029200 0x184>,
diff --git a/target/linux/bcm53xx/patches-5.4/043-v6.5-0005-ARM-dts-BCM5301X-Relicense-AXI-interrupts-code-to-th.patch b/target/linux/bcm53xx/patches-5.4/043-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.4/043-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 at 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 at milecki.pl>
+Cc: Hauke Mehrtens <hauke at hauke-m.de>
+Cc: Florian Fainelli <f.fainelli at gmail.com>
+Acked-by: Hauke Mehrtens <hauke at hauke-m.de>
+Link: https://lore.kernel.org/r/20230515151921.25021-2-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli at 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 at 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 at hauke-m.de>
+- *
+  * Licensed under the GNU/GPL. See COPYING for details.
+  */
+ 
+@@ -72,79 +70,6 @@
+ 	};
+ 
+ 	axi at 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 at 14000 {
+ 			reg = <0x00014000 0x1000>;
+ 		};
diff --git a/target/linux/bcm53xx/patches-5.4/043-v6.5-0006-ARM-dts-BCM5301X-Specify-MAC-addresses-on-Luxul-devi.patch b/target/linux/bcm53xx/patches-5.4/043-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.4/043-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 at 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 at milecki.pl>
+Link: https://lore.kernel.org/r/20230515083308.7612-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli at 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 at 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 at 1eff0000 {
++		compatible = "brcm,nvram";
++		reg = <0x1eff0000 0x10000>;
++
++		et0macaddr: et0macaddr {
++		};
++	};
++
+ 	nand_controller: nand-controller at 18028000 {
+ 		nand at 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 at 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 at 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 at 4 {
+ 			reg = <4>;
+ 			label = "wan";
++			nvmem-cells = <&et0macaddr 5>;
++			nvmem-cell-names = "mac-address";
+ 		};
+ 
+ 		port at 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 at 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 at 0 {
+ 			reg = <0>;
+ 			label = "wan";
++			nvmem-cells = <&et0macaddr 1>;
++			nvmem-cell-names = "mac-address";
+ 		};
+ 
+ 		port at 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 at 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 at 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 at 0 {
+ 			reg = <0>;
+ 			label = "wan";
++			nvmem-cells = <&et0macaddr 1>;
++			nvmem-cell-names = "mac-address";
+ 		};
+ 
+ 		port at 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 at 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 at 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 at 4 {
+ 			reg = <4>;
+ 			label = "wan";
++			nvmem-cells = <&et0macaddr 5>;
++			nvmem-cell-names = "mac-address";
+ 		};
+ 
+ 		port at 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 at 4 {
+ 			reg = <4>;
+ 			label = "wan";
++			nvmem-cells = <&et0macaddr 5>;
++			nvmem-cell-names = "mac-address";
+ 		};
+ 
+ 		port at 5 {
diff --git a/target/linux/bcm53xx/patches-5.4/043-v6.5-0007-ARM-dts-BCM5301X-Use-updated-device-compatible-strin.patch b/target/linux/bcm53xx/patches-5.4/043-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.4/043-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 at 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 at milecki.pl>
+Reviewed-by: Linus Walleij <linus.walleij at linaro.org>
+Link: https://lore.kernel.org/r/20230520112601.11821-2-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli at 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.4/043-v6.5-0008-ARM-dts-BCM5301X-Use-updated-spi-gpio-binding-proper.patch b/target/linux/bcm53xx/patches-5.4/043-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.4/043-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 at 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 at milecki.pl>
+Link: https://lore.kernel.org/r/20230602151023.8607-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli at 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.4/043-v6.5-0009-ARM-dts-BCM5301X-Drop-invalid-usb-cells.patch b/target/linux/bcm53xx/patches-5.4/043-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.4/043-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 at 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 at 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 at 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 at 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 at milecki.pl>
+Link: https://lore.kernel.org/r/20230602133455.7441-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli at 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 at 21000 {
+-				#usb-cells = <0>;
+-
+ 				compatible = "generic-ehci";
+ 				reg = <0x00021000 0x1000>;
+ 				interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
+@@ -214,8 +212,6 @@
+ 			};
+ 
+ 			ohci: usb at 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 at 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.4/043-v6.5-0010-ARM-dts-BCM5301X-Drop-invalid-properties-from-Meraki.patch b/target/linux/bcm53xx/patches-5.4/043-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.4/043-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 at 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 at milecki.pl>
+Link: https://lore.kernel.org/r/20230602133455.7441-2-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli at 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.4/043-v6.5-0011-ARM-dts-BCM5301X-Relicense-Christian-s-code-to-the-G.patch b/target/linux/bcm53xx/patches-5.4/043-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.4/043-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 at 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 at gmail.com>
+Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
+Acked-by: Christian Lamparter <chunkeey at gmail.com>
+Link: https://lore.kernel.org/r/20230605061049.16136-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli at 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 at 14000 {
++			reg = <0x00014000 0x1000>;
++		};
++
+ 		usb2: usb2 at 21000 {
+ 			reg = <0x00021000 0x1000>;
+ 
+@@ -274,6 +278,14 @@
+ 		};
+ 	};
+ 
++	pwm: pwm at 18002000 {
++		compatible = "brcm,iproc-pwm";
++		reg = <0x18002000 0x28>;
++		clocks = <&osc>;
++		#pwm-cells = <3>;
++		status = "disabled";
++	};
++
+ 	mdio: mdio at 18003000 {
+ 		compatible = "brcm,iproc-mdio";
+ 		reg = <0x18003000 0x8>;
+@@ -299,6 +311,15 @@
+ 		};
+ 	};
+ 
++	uart2: serial at 18008000 {
++		compatible = "ns16550a";
++		reg = <0x18008000 0x20>;
++		clocks = <&iprocslow>;
++		interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
++		reg-shift = <2>;
++		status = "disabled";
++	};
++
+ 	dmu-bus at 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 at 18000000 {
+-		pcie2: pcie at 14000 {
+-			reg = <0x00014000 0x1000>;
+-		};
+-	};
+-
+-	pwm: pwm at 18002000 {
+-		compatible = "brcm,iproc-pwm";
+-		reg = <0x18002000 0x28>;
+-		clocks = <&osc>;
+-		#pwm-cells = <3>;
+-		status = "disabled";
+-	};
+-
+ 	mdio-mux at 18003000 {
+ 		compatible = "mdio-mux-mmioreg", "mdio-mux";
+ 		mdio-parent-bus = <&mdio>;
+@@ -110,15 +96,6 @@
+ 		reg = <0x18105000 0x1000>;
+ 	};
+ 
+-	uart2: serial at 18008000 {
+-		compatible = "ns16550a";
+-		reg = <0x18008000 0x20>;
+-		clocks = <&iprocslow>;
+-		interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
+-		reg-shift = <2>;
+-		status = "disabled";
+-	};
+-
+ 	i2c0: i2c at 18009000 {
+ 		compatible = "brcm,iproc-i2c";
+ 		reg = <0x18009000 0x50>;
diff --git a/target/linux/bcm53xx/patches-5.4/043-v6.5-0012-ARM-dts-BCM5301X-Describe-switch-ports-in-the-main-D.patch b/target/linux/bcm53xx/patches-5.4/043-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.4/043-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 at 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 at milecki.pl>
+Reviewed-by: Christian Lamparter <chunkeey at gmail.com> (MR32+MR26)
+Link: https://lore.kernel.org/r/20230605132109.7933-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli at 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 at 0 {
++				reg = <0>;
++			};
++
++			port at 1 {
++				reg = <1>;
++			};
++
++			port at 2 {
++				reg = <2>;
++			};
++
++			port at 3 {
++				reg = <3>;
++			};
++
++			port at 4 {
++				reg = <4>;
++			};
++
++			port at 5 {
++				reg = <5>;
++				ethernet = <&gmac0>;
++			};
++
++			port at 7 {
++				reg = <7>;
++				ethernet = <&gmac1>;
++			};
++
++			port at 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 at 0 {
+-			reg = <0>;
+ 			label = "lan1";
+ 		};
+ 
+ 		port at 1 {
+-			reg = <1>;
+ 			label = "lan2";
+ 		};
+ 
+ 		port at 2 {
+-			reg = <2>;
+ 			label = "lan3";
+ 		};
+ 
+ 		port at 3 {
+-			reg = <3>;
+ 			label = "lan4";
+ 		};
+ 
+ 		port at 4 {
+-			reg = <4>;
+ 			label = "wan";
+ 		};
+ 
+ 		port at 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 at 0 {
+-			reg = <0>;
+ 			label = "poe";
+ 		};
+ 
+ 		port at 4 {
+-			reg = <4>;
+ 			label = "lan";
+ 		};
+ 
+ 		port at 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 at 4 {
+-			reg = <4>;
+ 			label = "lan";
+ 		};
+ 
+ 		port at 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 at 0 {
+-			reg = <0>;
+ 			label = "lan4";
+ 		};
+ 
+ 		port at 1 {
+-			reg = <1>;
+ 			label = "lan3";
+ 		};
+ 
+ 		port at 2 {
+-			reg = <2>;
+ 			label = "lan2";
+ 		};
+ 
+ 		port at 3 {
+-			reg = <3>;
+ 			label = "lan1";
+ 		};
+ 
+ 		port at 4 {
+-			reg = <4>;
+ 			label = "wan";
+ 		};
+ 
+ 		port at 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 at 0 {
+-			reg = <0>;
+ 			label = "lan4";
+ 		};
+ 
+ 		port at 1 {
+-			reg = <1>;
+ 			label = "lan3";
+ 		};
+ 
+ 		port at 2 {
+-			reg = <2>;
+ 			label = "lan2";
+ 		};
+ 
+ 		port at 3 {
+-			reg = <3>;
+ 			label = "lan1";
+ 		};
+ 
+ 		port at 4 {
+-			reg = <4>;
+ 			label = "wan";
+ 		};
+ 
+ 		port at 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 at 0 {
+-			reg = <0>;
+ 			label = "lan1";
+ 		};
+ 
+ 		port at 1 {
+-			reg = <1>;
+ 			label = "lan2";
+ 		};
+ 
+ 		port at 2 {
+-			reg = <2>;
+ 			label = "lan3";
+ 		};
+ 
+ 		port at 3 {
+-			reg = <3>;
+ 			label = "lan4";
+ 		};
+ 
+ 		port at 4 {
+-			reg = <4>;
+ 			label = "wan";
+ 		};
+ 
+ 		port at 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 at 4 {
+-			reg = <4>;
+ 			label = "poe";
+ 		};
+ 
+ 		port at 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 at 0 {
+-			reg = <0>;
+ 			label = "lan4";
+ 		};
+ 
+ 		port at 1 {
+-			reg = <1>;
+ 			label = "lan3";
+ 		};
+ 
+ 		port at 2 {
+-			reg = <2>;
+ 			label = "lan2";
+ 		};
+ 
+ 		port at 3 {
+-			reg = <3>;
+ 			label = "lan1";
+ 		};
+ 
+ 		port at 4 {
+-			reg = <4>;
+ 			label = "wan";
+ 			nvmem-cells = <&et0macaddr 5>;
+ 			nvmem-cell-names = "mac-address";
+ 		};
+ 
+ 		port at 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 at 0 {
+-			reg = <0>;
+ 			label = "lan1";
+ 		};
+ 
+ 		port at 1 {
+-			reg = <1>;
+ 			label = "lan2";
+ 		};
+ 
+ 		port at 2 {
+-			reg = <2>;
+ 			label = "lan3";
+ 		};
+ 
+ 		port at 3 {
+-			reg = <3>;
+ 			label = "lan4";
+ 		};
+ 
+ 		port at 4 {
+-			reg = <4>;
+ 			label = "wan";
+ 		};
+ 
+ 		port at 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 at 0 {
+-			reg = <0>;
+ 			label = "lan4";
+ 		};
+ 
+ 		port at 1 {
+-			reg = <1>;
+ 			label = "lan3";
+ 		};
+ 
+ 		port at 2 {
+-			reg = <2>;
+ 			label = "lan2";
+ 		};
+ 
+ 		port at 3 {
+-			reg = <3>;
+ 			label = "lan1";
+ 		};
+ 
+ 		port at 4 {
+-			reg = <4>;
+ 			label = "wan";
+ 		};
+ 
+ 		sw0_p5: port at 5 {
+-			reg = <5>;
++			/delete-property/ethernet;
++
+ 			label = "extsw";
+ 			phy-mode = "rgmii";
+ 
+@@ -218,8 +214,6 @@
+ 		};
+ 
+ 		port at 7 {
+-			reg = <7>;
+-			ethernet = <&gmac1>;
+ 			label = "cpu";
+ 
+ 			fixed-link {
+@@ -229,14 +223,7 @@
+ 		};
+ 
+ 		port at 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 at 0 {
+-			reg = <0>;
+ 			label = "lan4";
+ 		};
+ 
+ 		port at 1 {
+-			reg = <1>;
+ 			label = "lan3";
+ 		};
+ 
+ 		port at 2 {
+-			reg = <2>;
+ 			label = "lan2";
+ 		};
+ 
+ 		port at 3 {
+-			reg = <3>;
+ 			label = "lan1";
+ 		};
+ 
+ 		port at 4 {
+-			reg = <4>;
+ 			label = "wan";
+ 		};
+ 
+ 		port at 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 at 0 {
+-			reg = <0>;
+ 			label = "lan1";
+ 		};
+ 
+ 		port at 1 {
+-			reg = <1>;
+ 			label = "lan2";
+ 		};
+ 
+ 		port at 2 {
+-			reg = <2>;
+ 			label = "lan3";
+ 		};
+ 
+ 		port at 3 {
+-			reg = <3>;
+ 			label = "lan4";
+ 		};
+ 
+ 		port at 4 {
+-			reg = <4>;
+ 			label = "wan";
+ 		};
+ 
+ 		port at 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 at 0 {
++			label = "extsw";
++
++			fixed-link {
++				speed = <1000>;
++				full-duplex;
++			};
++		};
++
+ 		port at 1 {
+-			reg = <1>;
+ 			label = "lan7";
+ 		};
+ 
+ 		port at 2 {
+-			reg = <2>;
+ 			label = "lan4";
+ 		};
+ 
+ 		port at 3 {
+-			reg = <3>;
+ 			label = "lan8";
+ 		};
+ 
+ 		port at 4 {
+-			reg = <4>;
+ 			label = "wan";
+ 		};
+ 
+ 		port at 5 {
+-			reg = <5>;
+-			ethernet = <&gmac0>;
+ 			label = "cpu";
+ 			status = "disabled";
+ 
+@@ -240,8 +243,6 @@
+ 		};
+ 
+ 		port at 7 {
+-			reg = <7>;
+-			ethernet = <&gmac1>;
+ 			label = "cpu";
+ 			status = "disabled";
+ 
+@@ -252,24 +253,7 @@
+ 		};
+ 
+ 		port at 8 {
+-			reg = <8>;
+-			ethernet = <&gmac2>;
+ 			label = "cpu";
+-
+-			fixed-link {
+-				speed = <1000>;
+-				full-duplex;
+-			};
+-		};
+-
+-		sw0_p0: port at 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 at 0 {
+-			reg = <0>;
+ 			label = "wan";
+ 			nvmem-cells = <&et0macaddr 1>;
+ 			nvmem-cell-names = "mac-address";
+ 		};
+ 
+ 		port at 1 {
+-			reg = <1>;
+ 			label = "lan4";
+ 		};
+ 
+ 		port at 2 {
+-			reg = <2>;
+ 			label = "lan3";
+ 		};
+ 
+ 		port at 3 {
+-			reg = <3>;
+ 			label = "lan2";
+ 		};
+ 
+ 		port at 4 {
+-			reg = <4>;
+ 			label = "lan1";
+ 		};
+ 
+ 		port at 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 at 0 {
+-			reg = <0>;
+ 			label = "poe";
+ 		};
+ 
+ 		port at 1 {
+-			reg = <1>;
+ 			label = "lan";
+ 		};
+ 
+ 		port at 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 at 0 {
+-			reg = <0>;
+ 			label = "wan";
+ 			nvmem-cells = <&et0macaddr 1>;
+ 			nvmem-cell-names = "mac-address";
+ 		};
+ 
+ 		port at 1 {
+-			reg = <1>;
+ 			label = "lan4";
+ 		};
+ 
+ 		port at 2 {
+-			reg = <2>;
+ 			label = "lan3";
+ 		};
+ 
+ 		port at 3 {
+-			reg = <3>;
+ 			label = "lan2";
+ 		};
+ 
+ 		port at 4 {
+-			reg = <4>;
+ 			label = "lan1";
+ 		};
+ 
+ 		port at 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 at 0 {
+-			reg = <0>;
+ 			label = "lan";
+ 		};
+ 
+ 		port at 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 at 0 {
+-			reg = <0>;
+ 			label = "lan4";
+ 		};
+ 
+ 		port at 1 {
+-			reg = <1>;
+ 			label = "lan3";
+ 		};
+ 
+ 		port at 2 {
+-			reg = <2>;
+ 			label = "lan2";
+ 		};
+ 
+ 		port at 3 {
+-			reg = <3>;
+ 			label = "lan1";
+ 		};
+ 
+ 		port at 4 {
+-			reg = <4>;
+ 			label = "wan";
+ 			nvmem-cells = <&et0macaddr 5>;
+ 			nvmem-cell-names = "mac-address";
+ 		};
+ 
+ 		port at 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 at 0 {
+-			reg = <0>;
+ 			label = "lan4";
+ 		};
+ 
+ 		port at 1 {
+-			reg = <1>;
+ 			label = "lan3";
+ 		};
+ 
+ 		port at 2 {
+-			reg = <2>;
+ 			label = "lan2";
+ 		};
+ 
+ 		port at 3 {
+-			reg = <3>;
+ 			label = "lan1";
+ 		};
+ 
+ 		port at 4 {
+-			reg = <4>;
+ 			label = "wan";
+ 			nvmem-cells = <&et0macaddr 5>;
+ 			nvmem-cell-names = "mac-address";
+ 		};
+ 
+ 		port at 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 at 0 {
+-			reg = <0>;
+ 			label = "poe";
+ 		};
+ 
+ 		port at 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 at 0 {
+-			reg = <0>;
+ 			label = "poe";
+ 		};
+ 
+ 		port at 5 {
+-			reg = <5>;
+ 			label = "cpu";
+-			ethernet = <&gmac0>;
+ 
+ 			fixed-link {
+ 				speed = <1000>;
diff --git a/target/linux/bcm53xx/patches-5.4/043-v6.5-0013-ARM-dts-BCM5301X-MR26-MR32-remove-bogus-nand-ecc-alg.patch b/target/linux/bcm53xx/patches-5.4/043-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.4/043-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 at 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 at 18028000:
+|   nand at 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 at 18028000:
+|   nand at 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 at 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 at gmail.com>
+Link: https://lore.kernel.org/r/2c4d00dd40124c2ddc0b139cbce7531b108f9052.1686238550.git.chunkeey@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli at 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.4/043-v6.5-0014-ARM-dts-BCM5301X-MR32-remove-partition-index-numbers.patch b/target/linux/bcm53xx/patches-5.4/043-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.4/043-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 at 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 at gmail.com>
+Link: https://lore.kernel.org/r/627f57d568030a56499361790524b4d4f3381619.1686238550.git.chunkeey@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli at 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 at 0 {
++		partition at 0 {
+ 			label = "u-boot";
+ 			reg = <0x0 0x100000>;
+ 			read-only;
+ 		};
+ 
+-		partition1 at 100000 {
++		partition at 100000 {
+ 			label = "bootkernel1";
+ 			reg = <0x100000 0x300000>;
+ 			read-only;
+ 		};
+ 
+-		partition2 at 400000 {
++		partition at 400000 {
+ 			label = "nvram";
+ 			reg = <0x400000 0x100000>;
+ 			read-only;
+ 		};
+ 
+-		partition3 at 500000 {
++		partition at 500000 {
+ 			label = "bootkernel2";
+ 			reg = <0x500000 0x300000>;
+ 			read-only;
+ 		};
+ 
+-		partition4 at 800000 {
++		partition at 800000 {
+ 			label = "ubi";
+ 			reg = <0x800000 0x7780000>;
+ 		};
diff --git a/target/linux/bcm53xx/patches-5.4/043-v6.5-0015-ARM-dts-BCM5301X-fix-duplex-full-full-duplex.patch b/target/linux/bcm53xx/patches-5.4/043-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.4/043-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 at 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 at 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 at gmail.com>
+Link: https://lore.kernel.org/r/50522f45566951a9eabd22820647924cc6b4a264.1686238550.git.chunkeey@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli at 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.4/043-v6.5-0016-ARM-dts-BCM5301X-Add-Netgear-R8000-WiFi-regulator-ma.patch b/target/linux/bcm53xx/patches-5.4/043-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.4/043-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 at 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 at milecki.pl>
+Link: https://lore.kernel.org/r/20230602135925.14143-3-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli at 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 at 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 at 1,0 {
++				reg = <0x800 0 0 0 0>;
++
++				#address-cells = <3>;
++				#size-cells = <2>;
++
++				wifi at 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 at 1,2,2 {
+ 				reg = <0x1000 0 0 0 0>;
+ 
+@@ -166,8 +181,10 @@
+ 				#size-cells = <2>;
+ 
+ 				wifi at 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.4/043-v6.5-0017-ARM-dts-BCM5301X-Add-cells-sizes-to-PCIe-nodes.patch b/target/linux/bcm53xx/patches-5.4/043-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.4/043-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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at milecki.pl>
+Link: https://lore.kernel.org/r/20230616105827.21656-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli at 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 at 12000 {
+ 			reg = <0x00012000 0x1000>;
++
++			#address-cells = <3>;
++			#size-cells = <2>;
+ 		};
+ 
+ 		pcie1: pcie at 13000 {
+ 			reg = <0x00013000 0x1000>;
++
++			#address-cells = <3>;
++			#size-cells = <2>;
+ 		};
+ 
+ 		pcie2: pcie at 14000 {
+ 			reg = <0x00014000 0x1000>;
++
++			#address-cells = <3>;
++			#size-cells = <2>;
+ 		};
+ 
+ 		usb2: usb2 at 21000 {
diff --git a/target/linux/bcm53xx/patches-5.4/304-ARM-dts-BCM5301X-Specify-switch-ports-for-remaining-.patch b/target/linux/bcm53xx/patches-5.4/304-ARM-dts-BCM5301X-Specify-switch-ports-for-remaining-.patch
index 0fb29e99d3..d15506f6d7 100644
--- a/target/linux/bcm53xx/patches-5.4/304-ARM-dts-BCM5301X-Specify-switch-ports-for-remaining-.patch
+++ b/target/linux/bcm53xx/patches-5.4/304-ARM-dts-BCM5301X-Specify-switch-ports-for-remaining-.patch
@@ -10,7 +10,7 @@ Signed-off-by: Rafał Miłecki <rafal at 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";
  };
diff --git a/target/linux/bcm53xx/patches-5.4/331-Meraki-MR32-Status-LEDs.patch b/target/linux/bcm53xx/patches-5.4/331-Meraki-MR32-Status-LEDs.patch
index 92a71e58fe..2bc1033ee4 100644
--- a/target/linux/bcm53xx/patches-5.4/331-Meraki-MR32-Status-LEDs.patch
+++ b/target/linux/bcm53xx/patches-5.4/331-Meraki-MR32-Status-LEDs.patch
@@ -21,8 +21,8 @@ Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
  			max-brightness = <255>;
  		};
  
--		green {
-+		led_status: green {
+-		led-1 {
++		led_status: led-1 {
  			/* SYS-LED 1 - Tricolor */
  			function = LED_FUNCTION_POWER;
  			color = <LED_COLOR_ID_GREEN>;




More information about the lede-commits mailing list