bcm53xx: backport DT changes from v6.5
authorRafał Miłecki <rafal@milecki.pl>
Tue, 11 Jul 2023 08:30:08 +0000 (10:30 +0200)
committerRafał Miłecki <rafal@milecki.pl>
Tue, 11 Jul 2023 10:03:46 +0000 (12:03 +0200)
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 8674b41c0d84f09e14bf8ebe08e1d6dc6ac5fa64)

28 files changed:
target/linux/bcm53xx/base-files/etc/board.d/02_network
target/linux/bcm53xx/base-files/lib/upgrade/platform.sh
target/linux/bcm53xx/patches-5.10/038-v6.1-0001-ARM-dts-BCM5301X-Correct-description-of-TP-Link-part.patch [deleted file]
target/linux/bcm53xx/patches-5.10/038-v6.1-0001-ARM-dts-bcm47094-Add-devicetree-for-D-Link-DIR-890L.patch [deleted file]
target/linux/bcm53xx/patches-5.10/038-v6.1-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch [deleted file]
target/linux/bcm53xx/patches-5.10/038-v6.2-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/038-v6.2-0002-ARM-dts-bcm47094-Add-devicetree-for-D-Link-DIR-890L.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/038-v6.2-0003-ARM-dts-BCM5301X-Correct-description-of-TP-Link-part.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/038-v6.2-0004-ARM-dts-broadcom-align-LED-node-names-with-dtschema.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/039-v6.5-0001-ARM-dts-BCM5301X-Relicense-Rafa-s-code-to-the-GPL-2..patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/039-v6.5-0002-ARM-dts-BCM5301X-Relicense-Florian-s-code-to-the-GPL.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/039-v6.5-0003-ARM-dts-BCM5301X-Drop-clock-names-from-the-SPI-node.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/039-v6.5-0004-ARM-dts-BCM5301X-Relicense-Hauke-s-code-to-the-GPL-2.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/039-v6.5-0005-ARM-dts-BCM5301X-Relicense-AXI-interrupts-code-to-th.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/039-v6.5-0006-ARM-dts-BCM5301X-Specify-MAC-addresses-on-Luxul-devi.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/039-v6.5-0007-ARM-dts-BCM5301X-Use-updated-device-compatible-strin.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/039-v6.5-0008-ARM-dts-BCM5301X-Use-updated-spi-gpio-binding-proper.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/039-v6.5-0009-ARM-dts-BCM5301X-Drop-invalid-usb-cells.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/039-v6.5-0010-ARM-dts-BCM5301X-Drop-invalid-properties-from-Meraki.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/039-v6.5-0011-ARM-dts-BCM5301X-Relicense-Christian-s-code-to-the-G.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/039-v6.5-0012-ARM-dts-BCM5301X-Describe-switch-ports-in-the-main-D.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/039-v6.5-0013-ARM-dts-BCM5301X-MR26-MR32-remove-bogus-nand-ecc-alg.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/039-v6.5-0014-ARM-dts-BCM5301X-MR32-remove-partition-index-numbers.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/039-v6.5-0015-ARM-dts-BCM5301X-fix-duplex-full-full-duplex.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/039-v6.5-0016-ARM-dts-BCM5301X-Add-Netgear-R8000-WiFi-regulator-ma.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/039-v6.5-0017-ARM-dts-BCM5301X-Add-cells-sizes-to-PCIe-nodes.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.10/304-ARM-dts-BCM5301X-Specify-switch-ports-for-remaining-.patch
target/linux/bcm53xx/patches-5.10/331-Meraki-MR32-Status-LEDs.patch

index 822320c0a6a7f510b57bfd4ee9043d1c1335e933..39425c767a747d717b4eecd813c16831089c071c 100644 (file)
@@ -53,7 +53,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
index 62a36dac49d23a9cd0dad56f16c89e69a08f6755..ac64612aac769057d35d5acaee40205af292b7ee 100644 (file)
@@ -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.10/038-v6.1-0001-ARM-dts-BCM5301X-Correct-description-of-TP-Link-part.patch b/target/linux/bcm53xx/patches-5.10/038-v6.1-0001-ARM-dts-BCM5301X-Correct-description-of-TP-Link-part.patch
deleted file mode 100644 (file)
index 4c4ed03..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-From c8ee9f119bfb4244f76c9971c341ec06b49332cd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
-Date: Tue, 8 Nov 2022 12:07:08 +0100
-Subject: [PATCH] ARM: dts: BCM5301X: Correct description of TP-Link partitions
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-TP-Link routers have flash space partitioned according to the partitions
-table. It may look like fixed partitioning but those partitions can be
-actually reorganized. New can be added (or some removed), offsets and
-sizes may change.
-
-Fix DT to use binding for the TP-Link SafeLoader partitioning method.
-
-Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
-Link: https://lore.kernel.org/r/20221108110708.13693-1-zajec5@gmail.com
-Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
----
- .../boot/dts/bcm47081-tplink-archer-c5-v2.dts | 25 ++++---------------
- .../boot/dts/bcm4709-tplink-archer-c9-v1.dts  | 25 ++++---------------
- 2 files changed, 10 insertions(+), 40 deletions(-)
-
---- a/arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts
-+++ b/arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts
-@@ -95,30 +95,15 @@
-       status = "okay";
-       partitions {
--              compatible = "fixed-partitions";
--              #address-cells = <1>;
--              #size-cells = <1>;
-+              compatible = "tplink,safeloader-partitions";
-+              partitions-table-offset = <0xe50000>;
--              boot@0 {
--                      label = "boot";
--                      reg = <0x000000 0x040000>;
--                      read-only;
--              };
--
--              os-image@100000 {
--                      label = "os-image";
--                      reg = <0x040000 0x200000>;
-+              partition-os-image {
-                       compatible = "brcm,trx";
-               };
--              rootfs@240000 {
--                      label = "rootfs";
--                      reg = <0x240000 0xc00000>;
--              };
--
--              nvram@ff0000 {
--                      label = "nvram";
--                      reg = <0xff0000 0x010000>;
-+              partition-file-system {
-+                      linux,rootfs;
-               };
-       };
- };
---- a/arch/arm/boot/dts/bcm4709-tplink-archer-c9-v1.dts
-+++ b/arch/arm/boot/dts/bcm4709-tplink-archer-c9-v1.dts
-@@ -104,30 +104,15 @@
-       status = "okay";
-       partitions {
--              compatible = "fixed-partitions";
--              #address-cells = <1>;
--              #size-cells = <1>;
-+              compatible = "tplink,safeloader-partitions";
-+              partitions-table-offset = <0xe50000>;
--              boot@0 {
--                      label = "boot";
--                      reg = <0x000000 0x040000>;
--                      read-only;
--              };
--
--              os-image@100000 {
--                      label = "os-image";
--                      reg = <0x040000 0x200000>;
-+              partition-os-image {
-                       compatible = "brcm,trx";
-               };
--              rootfs@240000 {
--                      label = "rootfs";
--                      reg = <0x240000 0xc00000>;
--              };
--
--              nvram@ff0000 {
--                      label = "nvram";
--                      reg = <0xff0000 0x010000>;
-+              partition-file-system {
-+                      linux,rootfs;
-               };
-       };
- };
diff --git a/target/linux/bcm53xx/patches-5.10/038-v6.1-0001-ARM-dts-bcm47094-Add-devicetree-for-D-Link-DIR-890L.patch b/target/linux/bcm53xx/patches-5.10/038-v6.1-0001-ARM-dts-bcm47094-Add-devicetree-for-D-Link-DIR-890L.patch
deleted file mode 100644 (file)
index e921e55..0000000
+++ /dev/null
@@ -1,242 +0,0 @@
-From b1ba87897ceda8e49a47aa92832dd7bff8583e21 Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Mon, 7 Nov 2022 14:41:04 +0100
-Subject: [PATCH] ARM: dts: bcm47094: Add devicetree for D-Link DIR-890L
-
-This adds a device tree for the D-Link DIR-890L. This device
-is very similar to D-Link DIR-885L, the differences are detailed
-as a comment in the DTS file.
-
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-Link: https://lore.kernel.org/r/20221107134104.1422169-2-linus.walleij@linaro.org
-Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
----
- arch/arm/boot/dts/Makefile                    |   1 +
- arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts | 211 ++++++++++++++++++
- 2 files changed, 212 insertions(+)
- create mode 100644 arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts
-
---- a/arch/arm/boot/dts/Makefile
-+++ b/arch/arm/boot/dts/Makefile
-@@ -122,6 +122,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
-       bcm4709-tplink-archer-c9-v1.dtb \
-       bcm47094-asus-rt-ac88u.dtb \
-       bcm47094-dlink-dir-885l.dtb \
-+      bcm47094-dlink-dir-890l.dtb \
-       bcm47094-linksys-panamera.dtb \
-       bcm47094-luxul-abr-4500.dtb \
-       bcm47094-luxul-xap-1610.dtb \
---- /dev/null
-+++ b/arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts
-@@ -0,0 +1,211 @@
-+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-+/*
-+ * Device tree for D-Link DIR-890L
-+ * D-Link calls this board "WRGAC36"
-+ * this router has the same looks and form factor as D-Link DIR-885L.
-+ *
-+ * Some differences from DIR-885L include a separate USB2 port, separate LEDs
-+ * for USB2 and USB3, a separate VCC supply for the USB2 slot and no
-+ * router/extender switch is mounted (there is an empty mount point on the
-+ * PCB) so this device is a pure router. Also the LAN ports are in the right
-+ * order.
-+ *
-+ * Based on the device tree for DIR-885L
-+ * Copyright (C) 2016 Rafał Miłecki <zajec5@gmail.com>
-+ * Copyright (C) 2022 Linus Walleij
-+ */
-+
-+/dts-v1/;
-+
-+#include "bcm47094.dtsi"
-+#include "bcm5301x-nand-cs0-bch1.dtsi"
-+
-+/ {
-+      compatible = "dlink,dir-890l", "brcm,bcm47094", "brcm,bcm4708";
-+      model = "D-Link DIR-890L";
-+
-+      chosen {
-+              bootargs = "console=ttyS0,115200 earlycon";
-+      };
-+
-+      memory@0 {
-+              device_type = "memory";
-+              reg = <0x00000000 0x08000000>,
-+                    <0x88000000 0x08000000>;
-+      };
-+
-+      leds {
-+              /*
-+               * LED information is derived from the boot log which
-+               * conveniently lists all the LEDs.
-+               */
-+              compatible = "gpio-leds";
-+
-+              power-white {
-+                      label = "bcm53xx:white:power";
-+                      gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
-+                      linux,default-trigger = "default-on";
-+              };
-+
-+              wan-white {
-+                      label = "bcm53xx:white:wan";
-+                      gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
-+              };
-+
-+              power-amber {
-+                      label = "bcm53xx:amber:power";
-+                      gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
-+              };
-+
-+              wan-amber {
-+                      label = "bcm53xx:amber:wan";
-+                      gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
-+              };
-+
-+              usb3-white {
-+                      label = "bcm53xx:white:usb3";
-+                      gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
-+                      trigger-sources = <&xhci_port1>;
-+                      linux,default-trigger = "usbport";
-+              };
-+
-+              usb2-white {
-+                      label = "bcm53xx:white:usb2";
-+                      gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>;
-+                      trigger-sources = <&ohci_port1>, <&ehci_port1>;
-+                      linux,default-trigger = "usbport";
-+              };
-+
-+              2ghz {
-+                      label = "bcm53xx:white:2ghz";
-+                      gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
-+              };
-+
-+              5ghz {
-+                      label = "bcm53xx:white:5ghz";
-+                      gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
-+              };
-+      };
-+
-+      gpio-keys {
-+              compatible = "gpio-keys";
-+
-+              button-wps {
-+                      label = "WPS";
-+                      linux,code = <KEY_WPS_BUTTON>;
-+                      gpios = <&chipcommon 7 GPIO_ACTIVE_LOW>;
-+              };
-+
-+              /* Called "factory reset" in the vendor dmesg */
-+              button-restart {
-+                      label = "Reset";
-+                      linux,code = <KEY_RESTART>;
-+                      gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
-+              };
-+      };
-+
-+      /*
-+       * The flash memory is memory mapped at 0x1e000000-0x1fffffff
-+       * 64KB blocks; total size 2MB, same that can be
-+       * found attached to the spi_nor SPI controller.
-+       */
-+      nvram@1e1f0000 {
-+              compatible = "brcm,nvram";
-+              reg = <0x1e1f0000 0x00010000>;
-+
-+              et0macaddr: et0macaddr {
-+              };
-+      };
-+};
-+
-+&gmac2 {
-+      /*
-+       * The NVRAM curiously does not contain a MAC address
-+       * for et2 so since that is the only ethernet interface
-+       * actually in use on the platform, we use this et0 MAC
-+       * address for et2.
-+       */
-+      nvmem-cells = <&et0macaddr>;
-+      nvmem-cell-names = "mac-address";
-+};
-+
-+&spi_nor {
-+      status = "okay";
-+};
-+
-+&nandcs {
-+      /* Spansion S34ML01G2, 128MB with 128KB erase blocks */
-+      partitions {
-+              compatible = "fixed-partitions";
-+              #address-cells = <1>;
-+              #size-cells = <1>;
-+
-+              /*
-+               * This is called "nflash" in the vendor kernel with
-+               * "upgrade" and "rootfs" (probably using OpenWrt
-+               * splitpart). We call it "firmware" like standard tools
-+               * assume. The CFE loader contains incorrect information
-+               * about TRX partitions, ignore this, there are no TRX
-+               * partitions: this device uses SEAMA.
-+               */
-+              firmware@0 {
-+                      label = "firmware";
-+                      reg = <0x00000000 0x08000000>;
-+              };
-+      };
-+};
-+
-+&usb2 {
-+      vcc-gpios = <&chipcommon 21 GPIO_ACTIVE_HIGH>;
-+};
-+
-+&usb3 {
-+      vcc-gpios = <&chipcommon 18 GPIO_ACTIVE_HIGH>;
-+};
-+
-+&usb3_phy {
-+      status = "okay";
-+};
-+
-+&srab {
-+      status = "okay";
-+
-+      ports {
-+              port@0 {
-+                      reg = <0>;
-+                      label = "lan1";
-+              };
-+
-+              port@1 {
-+                      reg = <1>;
-+                      label = "lan2";
-+              };
-+
-+              port@2 {
-+                      reg = <2>;
-+                      label = "lan3";
-+              };
-+
-+              port@3 {
-+                      reg = <3>;
-+                      label = "lan4";
-+              };
-+
-+              port@4 {
-+                      reg = <4>;
-+                      label = "wan";
-+              };
-+
-+              port@8 {
-+                      reg = <8>;
-+                      label = "cpu";
-+                      ethernet = <&gmac2>;
-+                      phy-mode = "rgmii";
-+
-+                      fixed-link {
-+                              speed = <1000>;
-+                              full-duplex;
-+                      };
-+              };
-+      };
-+};
diff --git a/target/linux/bcm53xx/patches-5.10/038-v6.1-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch b/target/linux/bcm53xx/patches-5.10/038-v6.1-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch
deleted file mode 100644 (file)
index c02c800..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-From 9f66e1dd82e3186aee95282657512ca2aef1afe0 Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Wed, 19 Oct 2022 21:34:49 +0200
-Subject: [PATCH] ARM: dts: bcm53016: Add devicetree for D-Link DWL-8610AP
-
-This adds a device tree for the BCM53016-based D-Link DWL-8610AP
-access point wireless router.
-
-The TRX-format partitions had to be named "firmware" due to
-an OpenWrt patch that only accepts parting such nodes if they
-are named "firmware".
-
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-Link: https://lore.kernel.org/r/20221019193449.3036010-2-linus.walleij@linaro.org
-Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
----
- arch/arm/boot/dts/Makefile                    |   1 +
- .../boot/dts/bcm53016-dlink-dwl-8610ap.dts    | 131 ++++++++++++++++++
- 2 files changed, 132 insertions(+)
- create mode 100644 arch/arm/boot/dts/bcm53016-dlink-dwl-8610ap.dts
-
---- a/arch/arm/boot/dts/Makefile
-+++ b/arch/arm/boot/dts/Makefile
-@@ -133,6 +133,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
-       bcm47094-netgear-r8500.dtb \
-       bcm47094-phicomm-k3.dtb \
-       bcm53015-meraki-mr26.dtb \
-+      bcm53016-dlink-dwl-8610ap.dtb \
-       bcm53016-meraki-mr32.dtb \
-       bcm94708.dtb \
-       bcm94709.dtb \
---- /dev/null
-+++ b/arch/arm/boot/dts/bcm53016-dlink-dwl-8610ap.dts
-@@ -0,0 +1,131 @@
-+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-+/dts-v1/;
-+
-+#include "bcm4709.dtsi"
-+#include "bcm5301x-nand-cs0-bch8.dtsi"
-+#include <dt-bindings/leds/common.h>
-+#include <dt-bindings/input/input.h>
-+
-+/ {
-+      model = "D-Link DWL-8610AP";
-+      compatible = "dlink,dwl-8610ap", "brcm,bcm53016", "brcm,bcm4708";
-+
-+      memory@0 {
-+              device_type = "memory";
-+              /* 512 MB RAM in 2 x Macronix D9PSH chips */
-+              reg = <0x00000000 0x08000000>,
-+                    <0x88000000 0x08000000>;
-+      };
-+
-+      leds {
-+              compatible = "gpio-leds";
-+
-+              power {
-+                      function = LED_FUNCTION_POWER;
-+                      color = <LED_COLOR_ID_GREEN>;
-+                      gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
-+                      default-state = "on";
-+              };
-+
-+              diag {
-+                      /* Actually "diag" unclear what this means */
-+                      function = LED_FUNCTION_INDICATOR;
-+                      color = <LED_COLOR_ID_RED>;
-+                      gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
-+                      default-state = "on";
-+                      linux,default-trigger = "heartbeat";
-+              };
-+
-+              wlan-2g {
-+                      function = LED_FUNCTION_WLAN;
-+                      color = <LED_COLOR_ID_GREEN>;
-+                      gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>;
-+              };
-+
-+              wlan-5g {
-+                      function = LED_FUNCTION_WLAN;
-+                      color = <LED_COLOR_ID_GREEN>;
-+                      gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
-+              };
-+      };
-+
-+      gpio_keys {
-+              compatible = "gpio-keys";
-+
-+              button-reset {
-+                      debounce-interval = <100>;
-+                      wakeup-source;
-+                      linux,code = <KEY_RESTART>;
-+                      label = "reset";
-+                      /* This GPIO is actually stored in NVRAM, but it's not gonna change */
-+                      gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
-+              };
-+      };
-+
-+      /*
-+       * Flash memory at 0x1e000000-0x1fffffff
-+       * Macronix 32 64KB blocks; total size 2MB, same that can be
-+       * found attached to the spi_nor SPI controller.
-+       */
-+      nvram@1e080000 {
-+              compatible = "brcm,nvram";
-+              reg = <0x1e080000 0x00020000>;
-+
-+              et0macaddr: et0macaddr {
-+              };
-+
-+              et1macaddr: et1macaddr {
-+              };
-+      };
-+};
-+
-+&gmac0 {
-+      nvmem-cells = <&et0macaddr>;
-+      nvmem-cell-names = "mac-address";
-+};
-+
-+&gmac1 {
-+      nvmem-cells = <&et1macaddr>;
-+      nvmem-cell-names = "mac-address";
-+};
-+
-+&spi_nor {
-+      /* Serial SPI NOR Flash MX 25L1606E */
-+      status = "okay";
-+};
-+
-+&nandcs {
-+      /*
-+       * Spansion S34ML01G100TFI00 128 MB NAND Flash memory
-+       *
-+       * This ECC is a bit unorthodox but it is what the stock firmware
-+       * is using, so to be able to mount the original partitions
-+       * this is necessary.
-+       */
-+      nand-ecc-strength = <5>;
-+      partitions {
-+              compatible = "fixed-partitions";
-+              #address-cells = <1>;
-+              #size-cells = <1>;
-+
-+              /* This is named nflash1.trx in CFE */
-+              trx@0 {
-+                      label = "firmware";
-+                      reg = <0x00000000 0x02800000>;
-+                      compatible = "brcm,trx";
-+              };
-+
-+              /* This is named nflash1.trx2 in CFE */
-+              trx2@2800000 {
-+                      label = "firmware2";
-+                      reg = <0x02800000 0x02800000>;
-+                      compatible = "brcm,trx";
-+              };
-+
-+              /* This is named nflash1.rwfs in CFE */
-+              free@5000000 {
-+                      label = "free";
-+                      reg = <0x05000000 0x03000000>;
-+              };
-+      };
-+};
diff --git a/target/linux/bcm53xx/patches-5.10/038-v6.2-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch b/target/linux/bcm53xx/patches-5.10/038-v6.2-0001-ARM-dts-bcm53016-Add-devicetree-for-D-Link-DWL-8610A.patch
new file mode 100644 (file)
index 0000000..b7528e9
--- /dev/null
@@ -0,0 +1,165 @@
+From 9f66e1dd82e3186aee95282657512ca2aef1afe0 Mon Sep 17 00:00:00 2001
+From: Linus Walleij <linus.walleij@linaro.org>
+Date: Wed, 19 Oct 2022 21:34:49 +0200
+Subject: [PATCH] ARM: dts: bcm53016: Add devicetree for D-Link DWL-8610AP
+
+This adds a device tree for the BCM53016-based D-Link DWL-8610AP
+access point wireless router.
+
+The TRX-format partitions had to be named "firmware" due to
+an OpenWrt patch that only accepts parting such nodes if they
+are named "firmware".
+
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Link: https://lore.kernel.org/r/20221019193449.3036010-2-linus.walleij@linaro.org
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ arch/arm/boot/dts/Makefile                    |   1 +
+ .../boot/dts/bcm53016-dlink-dwl-8610ap.dts    | 131 ++++++++++++++++++
+ 2 files changed, 132 insertions(+)
+ create mode 100644 arch/arm/boot/dts/bcm53016-dlink-dwl-8610ap.dts
+
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -132,6 +132,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
+       bcm47094-netgear-r8500.dtb \
+       bcm47094-phicomm-k3.dtb \
+       bcm53015-meraki-mr26.dtb \
++      bcm53016-dlink-dwl-8610ap.dtb \
+       bcm53016-meraki-mr32.dtb \
+       bcm94708.dtb \
+       bcm94709.dtb \
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm53016-dlink-dwl-8610ap.dts
+@@ -0,0 +1,131 @@
++// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
++/dts-v1/;
++
++#include "bcm4709.dtsi"
++#include "bcm5301x-nand-cs0-bch8.dtsi"
++#include <dt-bindings/leds/common.h>
++#include <dt-bindings/input/input.h>
++
++/ {
++      model = "D-Link DWL-8610AP";
++      compatible = "dlink,dwl-8610ap", "brcm,bcm53016", "brcm,bcm4708";
++
++      memory@0 {
++              device_type = "memory";
++              /* 512 MB RAM in 2 x Macronix D9PSH chips */
++              reg = <0x00000000 0x08000000>,
++                    <0x88000000 0x08000000>;
++      };
++
++      leds {
++              compatible = "gpio-leds";
++
++              power {
++                      function = LED_FUNCTION_POWER;
++                      color = <LED_COLOR_ID_GREEN>;
++                      gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
++                      default-state = "on";
++              };
++
++              diag {
++                      /* Actually "diag" unclear what this means */
++                      function = LED_FUNCTION_INDICATOR;
++                      color = <LED_COLOR_ID_RED>;
++                      gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
++                      default-state = "on";
++                      linux,default-trigger = "heartbeat";
++              };
++
++              wlan-2g {
++                      function = LED_FUNCTION_WLAN;
++                      color = <LED_COLOR_ID_GREEN>;
++                      gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>;
++              };
++
++              wlan-5g {
++                      function = LED_FUNCTION_WLAN;
++                      color = <LED_COLOR_ID_GREEN>;
++                      gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
++              };
++      };
++
++      gpio_keys {
++              compatible = "gpio-keys";
++
++              button-reset {
++                      debounce-interval = <100>;
++                      wakeup-source;
++                      linux,code = <KEY_RESTART>;
++                      label = "reset";
++                      /* This GPIO is actually stored in NVRAM, but it's not gonna change */
++                      gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
++              };
++      };
++
++      /*
++       * Flash memory at 0x1e000000-0x1fffffff
++       * Macronix 32 64KB blocks; total size 2MB, same that can be
++       * found attached to the spi_nor SPI controller.
++       */
++      nvram@1e080000 {
++              compatible = "brcm,nvram";
++              reg = <0x1e080000 0x00020000>;
++
++              et0macaddr: et0macaddr {
++              };
++
++              et1macaddr: et1macaddr {
++              };
++      };
++};
++
++&gmac0 {
++      nvmem-cells = <&et0macaddr>;
++      nvmem-cell-names = "mac-address";
++};
++
++&gmac1 {
++      nvmem-cells = <&et1macaddr>;
++      nvmem-cell-names = "mac-address";
++};
++
++&spi_nor {
++      /* Serial SPI NOR Flash MX 25L1606E */
++      status = "okay";
++};
++
++&nandcs {
++      /*
++       * Spansion S34ML01G100TFI00 128 MB NAND Flash memory
++       *
++       * This ECC is a bit unorthodox but it is what the stock firmware
++       * is using, so to be able to mount the original partitions
++       * this is necessary.
++       */
++      nand-ecc-strength = <5>;
++      partitions {
++              compatible = "fixed-partitions";
++              #address-cells = <1>;
++              #size-cells = <1>;
++
++              /* This is named nflash1.trx in CFE */
++              trx@0 {
++                      label = "firmware";
++                      reg = <0x00000000 0x02800000>;
++                      compatible = "brcm,trx";
++              };
++
++              /* This is named nflash1.trx2 in CFE */
++              trx2@2800000 {
++                      label = "firmware2";
++                      reg = <0x02800000 0x02800000>;
++                      compatible = "brcm,trx";
++              };
++
++              /* This is named nflash1.rwfs in CFE */
++              free@5000000 {
++                      label = "free";
++                      reg = <0x05000000 0x03000000>;
++              };
++      };
++};
diff --git a/target/linux/bcm53xx/patches-5.10/038-v6.2-0002-ARM-dts-bcm47094-Add-devicetree-for-D-Link-DIR-890L.patch b/target/linux/bcm53xx/patches-5.10/038-v6.2-0002-ARM-dts-bcm47094-Add-devicetree-for-D-Link-DIR-890L.patch
new file mode 100644 (file)
index 0000000..e921e55
--- /dev/null
@@ -0,0 +1,242 @@
+From b1ba87897ceda8e49a47aa92832dd7bff8583e21 Mon Sep 17 00:00:00 2001
+From: Linus Walleij <linus.walleij@linaro.org>
+Date: Mon, 7 Nov 2022 14:41:04 +0100
+Subject: [PATCH] ARM: dts: bcm47094: Add devicetree for D-Link DIR-890L
+
+This adds a device tree for the D-Link DIR-890L. This device
+is very similar to D-Link DIR-885L, the differences are detailed
+as a comment in the DTS file.
+
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Link: https://lore.kernel.org/r/20221107134104.1422169-2-linus.walleij@linaro.org
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ arch/arm/boot/dts/Makefile                    |   1 +
+ arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts | 211 ++++++++++++++++++
+ 2 files changed, 212 insertions(+)
+ create mode 100644 arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts
+
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -122,6 +122,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
+       bcm4709-tplink-archer-c9-v1.dtb \
+       bcm47094-asus-rt-ac88u.dtb \
+       bcm47094-dlink-dir-885l.dtb \
++      bcm47094-dlink-dir-890l.dtb \
+       bcm47094-linksys-panamera.dtb \
+       bcm47094-luxul-abr-4500.dtb \
+       bcm47094-luxul-xap-1610.dtb \
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts
+@@ -0,0 +1,211 @@
++// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
++/*
++ * Device tree for D-Link DIR-890L
++ * D-Link calls this board "WRGAC36"
++ * this router has the same looks and form factor as D-Link DIR-885L.
++ *
++ * Some differences from DIR-885L include a separate USB2 port, separate LEDs
++ * for USB2 and USB3, a separate VCC supply for the USB2 slot and no
++ * router/extender switch is mounted (there is an empty mount point on the
++ * PCB) so this device is a pure router. Also the LAN ports are in the right
++ * order.
++ *
++ * Based on the device tree for DIR-885L
++ * Copyright (C) 2016 Rafał Miłecki <zajec5@gmail.com>
++ * Copyright (C) 2022 Linus Walleij
++ */
++
++/dts-v1/;
++
++#include "bcm47094.dtsi"
++#include "bcm5301x-nand-cs0-bch1.dtsi"
++
++/ {
++      compatible = "dlink,dir-890l", "brcm,bcm47094", "brcm,bcm4708";
++      model = "D-Link DIR-890L";
++
++      chosen {
++              bootargs = "console=ttyS0,115200 earlycon";
++      };
++
++      memory@0 {
++              device_type = "memory";
++              reg = <0x00000000 0x08000000>,
++                    <0x88000000 0x08000000>;
++      };
++
++      leds {
++              /*
++               * LED information is derived from the boot log which
++               * conveniently lists all the LEDs.
++               */
++              compatible = "gpio-leds";
++
++              power-white {
++                      label = "bcm53xx:white:power";
++                      gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
++                      linux,default-trigger = "default-on";
++              };
++
++              wan-white {
++                      label = "bcm53xx:white:wan";
++                      gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
++              };
++
++              power-amber {
++                      label = "bcm53xx:amber:power";
++                      gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
++              };
++
++              wan-amber {
++                      label = "bcm53xx:amber:wan";
++                      gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
++              };
++
++              usb3-white {
++                      label = "bcm53xx:white:usb3";
++                      gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
++                      trigger-sources = <&xhci_port1>;
++                      linux,default-trigger = "usbport";
++              };
++
++              usb2-white {
++                      label = "bcm53xx:white:usb2";
++                      gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>;
++                      trigger-sources = <&ohci_port1>, <&ehci_port1>;
++                      linux,default-trigger = "usbport";
++              };
++
++              2ghz {
++                      label = "bcm53xx:white:2ghz";
++                      gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
++              };
++
++              5ghz {
++                      label = "bcm53xx:white:5ghz";
++                      gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
++              };
++      };
++
++      gpio-keys {
++              compatible = "gpio-keys";
++
++              button-wps {
++                      label = "WPS";
++                      linux,code = <KEY_WPS_BUTTON>;
++                      gpios = <&chipcommon 7 GPIO_ACTIVE_LOW>;
++              };
++
++              /* Called "factory reset" in the vendor dmesg */
++              button-restart {
++                      label = "Reset";
++                      linux,code = <KEY_RESTART>;
++                      gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
++              };
++      };
++
++      /*
++       * The flash memory is memory mapped at 0x1e000000-0x1fffffff
++       * 64KB blocks; total size 2MB, same that can be
++       * found attached to the spi_nor SPI controller.
++       */
++      nvram@1e1f0000 {
++              compatible = "brcm,nvram";
++              reg = <0x1e1f0000 0x00010000>;
++
++              et0macaddr: et0macaddr {
++              };
++      };
++};
++
++&gmac2 {
++      /*
++       * The NVRAM curiously does not contain a MAC address
++       * for et2 so since that is the only ethernet interface
++       * actually in use on the platform, we use this et0 MAC
++       * address for et2.
++       */
++      nvmem-cells = <&et0macaddr>;
++      nvmem-cell-names = "mac-address";
++};
++
++&spi_nor {
++      status = "okay";
++};
++
++&nandcs {
++      /* Spansion S34ML01G2, 128MB with 128KB erase blocks */
++      partitions {
++              compatible = "fixed-partitions";
++              #address-cells = <1>;
++              #size-cells = <1>;
++
++              /*
++               * This is called "nflash" in the vendor kernel with
++               * "upgrade" and "rootfs" (probably using OpenWrt
++               * splitpart). We call it "firmware" like standard tools
++               * assume. The CFE loader contains incorrect information
++               * about TRX partitions, ignore this, there are no TRX
++               * partitions: this device uses SEAMA.
++               */
++              firmware@0 {
++                      label = "firmware";
++                      reg = <0x00000000 0x08000000>;
++              };
++      };
++};
++
++&usb2 {
++      vcc-gpios = <&chipcommon 21 GPIO_ACTIVE_HIGH>;
++};
++
++&usb3 {
++      vcc-gpios = <&chipcommon 18 GPIO_ACTIVE_HIGH>;
++};
++
++&usb3_phy {
++      status = "okay";
++};
++
++&srab {
++      status = "okay";
++
++      ports {
++              port@0 {
++                      reg = <0>;
++                      label = "lan1";
++              };
++
++              port@1 {
++                      reg = <1>;
++                      label = "lan2";
++              };
++
++              port@2 {
++                      reg = <2>;
++                      label = "lan3";
++              };
++
++              port@3 {
++                      reg = <3>;
++                      label = "lan4";
++              };
++
++              port@4 {
++                      reg = <4>;
++                      label = "wan";
++              };
++
++              port@8 {
++                      reg = <8>;
++                      label = "cpu";
++                      ethernet = <&gmac2>;
++                      phy-mode = "rgmii";
++
++                      fixed-link {
++                              speed = <1000>;
++                              full-duplex;
++                      };
++              };
++      };
++};
diff --git a/target/linux/bcm53xx/patches-5.10/038-v6.2-0003-ARM-dts-BCM5301X-Correct-description-of-TP-Link-part.patch b/target/linux/bcm53xx/patches-5.10/038-v6.2-0003-ARM-dts-BCM5301X-Correct-description-of-TP-Link-part.patch
new file mode 100644 (file)
index 0000000..4c4ed03
--- /dev/null
@@ -0,0 +1,99 @@
+From c8ee9f119bfb4244f76c9971c341ec06b49332cd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Tue, 8 Nov 2022 12:07:08 +0100
+Subject: [PATCH] ARM: dts: BCM5301X: Correct description of TP-Link partitions
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+TP-Link routers have flash space partitioned according to the partitions
+table. It may look like fixed partitioning but those partitions can be
+actually reorganized. New can be added (or some removed), offsets and
+sizes may change.
+
+Fix DT to use binding for the TP-Link SafeLoader partitioning method.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20221108110708.13693-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ .../boot/dts/bcm47081-tplink-archer-c5-v2.dts | 25 ++++---------------
+ .../boot/dts/bcm4709-tplink-archer-c9-v1.dts  | 25 ++++---------------
+ 2 files changed, 10 insertions(+), 40 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts
++++ b/arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts
+@@ -95,30 +95,15 @@
+       status = "okay";
+       partitions {
+-              compatible = "fixed-partitions";
+-              #address-cells = <1>;
+-              #size-cells = <1>;
++              compatible = "tplink,safeloader-partitions";
++              partitions-table-offset = <0xe50000>;
+-              boot@0 {
+-                      label = "boot";
+-                      reg = <0x000000 0x040000>;
+-                      read-only;
+-              };
+-
+-              os-image@100000 {
+-                      label = "os-image";
+-                      reg = <0x040000 0x200000>;
++              partition-os-image {
+                       compatible = "brcm,trx";
+               };
+-              rootfs@240000 {
+-                      label = "rootfs";
+-                      reg = <0x240000 0xc00000>;
+-              };
+-
+-              nvram@ff0000 {
+-                      label = "nvram";
+-                      reg = <0xff0000 0x010000>;
++              partition-file-system {
++                      linux,rootfs;
+               };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm4709-tplink-archer-c9-v1.dts
++++ b/arch/arm/boot/dts/bcm4709-tplink-archer-c9-v1.dts
+@@ -104,30 +104,15 @@
+       status = "okay";
+       partitions {
+-              compatible = "fixed-partitions";
+-              #address-cells = <1>;
+-              #size-cells = <1>;
++              compatible = "tplink,safeloader-partitions";
++              partitions-table-offset = <0xe50000>;
+-              boot@0 {
+-                      label = "boot";
+-                      reg = <0x000000 0x040000>;
+-                      read-only;
+-              };
+-
+-              os-image@100000 {
+-                      label = "os-image";
+-                      reg = <0x040000 0x200000>;
++              partition-os-image {
+                       compatible = "brcm,trx";
+               };
+-              rootfs@240000 {
+-                      label = "rootfs";
+-                      reg = <0x240000 0xc00000>;
+-              };
+-
+-              nvram@ff0000 {
+-                      label = "nvram";
+-                      reg = <0xff0000 0x010000>;
++              partition-file-system {
++                      linux,rootfs;
+               };
+       };
+ };
diff --git a/target/linux/bcm53xx/patches-5.10/038-v6.2-0004-ARM-dts-broadcom-align-LED-node-names-with-dtschema.patch b/target/linux/bcm53xx/patches-5.10/038-v6.2-0004-ARM-dts-broadcom-align-LED-node-names-with-dtschema.patch
new file mode 100644 (file)
index 0000000..d6bf49d
--- /dev/null
@@ -0,0 +1,1700 @@
+From af84101e3f2258a303fa2461ebec0878ce23ea10 Mon Sep 17 00:00:00 2001
+From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
+Date: Fri, 25 Nov 2022 15:41:27 +0100
+Subject: [PATCH] ARM: dts: broadcom: align LED node names with dtschema
+
+The node names should be generic and DT schema expects certain pattern:
+
+  bcm4708-asus-rt-ac68u.dtb: leds: 'logo', 'power', 'usb2', 'usb3' do not match any of the regexes: '(^led-[0-9a-f]$|led)', 'pinctrl-[0-9]+'
+
+Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
+Link: https://lore.kernel.org/r/20221125144128.477059-1-krzysztof.kozlowski@linaro.org
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts   | 15 +++++-----
+ arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts   |  8 +++---
+ .../bcm4708-buffalo-wzr-1166dhp-common.dtsi   | 16 +++++------
+ .../boot/dts/bcm4708-buffalo-wzr-1750dhp.dts  | 16 +++++------
+ arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts  |  6 ++--
+ arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts  |  2 +-
+ arch/arm/boot/dts/bcm4708-netgear-r6250.dts   | 10 +++----
+ .../arm/boot/dts/bcm4708-netgear-r6300-v2.dts | 10 +++----
+ arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts | 22 +++++++--------
+ arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts   | 10 +++----
+ .../boot/dts/bcm47081-buffalo-wzr-600dhp2.dts | 14 +++++-----
+ .../boot/dts/bcm47081-buffalo-wzr-900dhp.dts  | 16 +++++------
+ arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts |  6 ++--
+ arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts | 20 ++++++-------
+ .../boot/dts/bcm47081-tplink-archer-c5-v2.dts | 18 ++++++------
+ arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts   |  6 ++--
+ .../boot/dts/bcm4709-buffalo-wxr-1900dhp.dts  | 18 ++++++------
+ arch/arm/boot/dts/bcm4709-netgear-r7000.dts   | 16 +++++------
+ arch/arm/boot/dts/bcm4709-netgear-r8000.dts   | 22 +++++++--------
+ .../boot/dts/bcm4709-tplink-archer-c9-v1.dts  | 18 ++++++------
+ arch/arm/boot/dts/bcm47094-asus-rt-ac88u.dts  | 12 ++++----
+ arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts | 14 +++++-----
+ arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts | 16 +++++------
+ .../boot/dts/bcm47094-linksys-panamera.dts    | 28 +++++++++----------
+ arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts |  4 +--
+ arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts |  6 ++--
+ arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts |  4 +--
+ arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts |  2 +-
+ arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts | 20 ++++++-------
+ .../boot/dts/bcm47094-luxul-xwr-3150-v1.dts   | 10 +++----
+ arch/arm/boot/dts/bcm47094-netgear-r8500.dts  | 14 +++++-----
+ arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts |  4 +--
+ arch/arm/boot/dts/bcm47189-luxul-xap-810.dts  | 10 +++----
+ arch/arm/boot/dts/bcm47189-tenda-ac9.dts      | 14 +++++-----
+ .../boot/dts/bcm53016-dlink-dwl-8610ap.dts    |  8 +++---
+ arch/arm/boot/dts/bcm53016-meraki-mr32.dts    |  6 ++--
+ arch/arm/boot/dts/bcm947189acdbmr.dts         |  6 ++--
+ 37 files changed, 223 insertions(+), 224 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
++++ b/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
+@@ -28,40 +28,39 @@
+       leds {
+               compatible = "gpio-leds";
+-              usb3 {
++              led-usb3 {
+                       label = "bcm53xx:blue:usb3";
+                       gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+               };
+-              wan {
++              led-wan {
+                       label = "bcm53xx:blue:wan";
+                       gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
+               };
+-              lan {
++              led-lan {
+                       label = "bcm53xx:blue:lan";
+                       gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+               };
+-              power {
++              led-power {
+                       label = "bcm53xx:blue:power";
+                       gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+-              all {
++              led-all {
+                       label = "bcm53xx:blue:all";
+                       gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+-              2ghz {
++              led-2ghz {
+                       label = "bcm53xx:blue:2ghz";
+                       gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>;
+               };
+-
+-              usb2 {
++              led-usb2 {
+                       label = "bcm53xx:blue:usb2";
+                       gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+               };
+--- a/arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts
++++ b/arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts
+@@ -28,24 +28,24 @@
+       leds {
+               compatible = "gpio-leds";
+-              usb2 {
++              led-usb2 {
+                       label = "bcm53xx:blue:usb2";
+                       gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+               };
+-              power {
++              led-power {
+                       label = "bcm53xx:blue:power";
+                       gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+-              logo {
++              led-logo {
+                       label = "bcm53xx:white:logo";
+                       gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+-              usb3 {
++              led-usb3 {
+                       label = "bcm53xx:blue:usb3";
+                       gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+               };
+--- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1166dhp-common.dtsi
++++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1166dhp-common.dtsi
+@@ -37,7 +37,7 @@
+       leds {
+               compatible = "gpio-leds";
+-              usb {
++              led-usb {
+                       /* label = "bcm53xx:blue:usb"; */
+                       function = LED_FUNCTION_USB;
+                       color = <LED_COLOR_ID_BLUE>;
+@@ -48,14 +48,14 @@
+                       linux,default-trigger = "usbport";
+               };
+-              power0 {
++              led-power0 {
+                       /* label = "bcm53xx:red:power"; */
+                       function = LED_FUNCTION_FAULT;
+                       color = <LED_COLOR_ID_RED>;
+                       gpios = <&hc595 1 GPIO_ACTIVE_HIGH>;
+               };
+-              power1 {
++              led-power1 {
+                       /* label = "bcm53xx:white:power"; */
+                       function = LED_FUNCTION_POWER;
+                       color = <LED_COLOR_ID_WHITE>;
+@@ -63,7 +63,7 @@
+                       linux,default-trigger = "default-on";
+               };
+-              router0 {
++              led-router0 {
+                       /*  label = "bcm53xx:blue:router"; */
+                       function = LED_FUNCTION_STATUS;
+                       color = <LED_COLOR_ID_BLUE>;
+@@ -71,14 +71,14 @@
+                       linux,default-trigger = "default-on";
+               };
+-              router1 {
++              led-router1 {
+                       /* label = "bcm53xx:amber:router"; */
+                       function = LED_FUNCTION_STATUS;
+                       color = <LED_COLOR_ID_AMBER>;
+                       gpios = <&hc595 4 GPIO_ACTIVE_HIGH>;
+               };
+-              wan {
++              led-wan {
+                       /* label = "bcm53xx:blue:wan"; */
+                       function = LED_FUNCTION_WAN;
+                       color = <LED_COLOR_ID_BLUE>;
+@@ -86,14 +86,14 @@
+                       linux,default-trigger = "default-on";
+               };
+-              wireless0 {
++              led-wireless0 {
+                       /* label = "bcm53xx:blue:wireless"; */
+                       function = LED_FUNCTION_WLAN;
+                       color = <LED_COLOR_ID_BLUE>;
+                       gpios = <&hc595 6 GPIO_ACTIVE_HIGH>;
+               };
+-              wireless1 {
++              led-wireless1 {
+                       /* label = "bcm53xx:amber:wireless"; */
+                       function = LED_FUNCTION_WLAN;
+                       color = <LED_COLOR_ID_AMBER>;
+--- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
++++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
+@@ -49,7 +49,7 @@
+       leds {
+               compatible = "gpio-leds";
+-              usb {
++              led-usb {
+                       label = "bcm53xx:blue:usb";
+                       gpios = <&hc595 0 GPIO_ACTIVE_HIGH>;
+                       trigger-sources = <&ohci_port1>, <&ehci_port1>,
+@@ -58,40 +58,40 @@
+                       linux,default-trigger = "usbport";
+               };
+-              power0 {
++              led-power0 {
+                       label = "bcm53xx:red:power";
+                       gpios = <&hc595 1 GPIO_ACTIVE_HIGH>;
+               };
+-              power1 {
++              led-power1 {
+                       label = "bcm53xx:white:power";
+                       gpios = <&hc595 2 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-on";
+               };
+-              router0 {
++              led-router0 {
+                       label = "bcm53xx:blue:router";
+                       gpios = <&hc595 3 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-on";
+               };
+-              router1 {
++              led-router1 {
+                       label = "bcm53xx:amber:router";
+                       gpios = <&hc595 4 GPIO_ACTIVE_HIGH>;
+               };
+-              wan {
++              led-wan {
+                       label = "bcm53xx:blue:wan";
+                       gpios = <&hc595 5 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-on";
+               };
+-              wireless0 {
++              led-wireless0 {
+                       label = "bcm53xx:blue:wireless";
+                       gpios = <&hc595 6 GPIO_ACTIVE_HIGH>;
+               };
+-              wireless1 {
++              led-wireless1 {
+                       label = "bcm53xx:amber:wireless";
+                       gpios = <&hc595 7 GPIO_ACTIVE_HIGH>;
+               };
+--- a/arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts
++++ b/arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts
+@@ -23,19 +23,19 @@
+       leds {
+               compatible = "gpio-leds";
+-              5ghz {
++              led-5ghz {
+                       label = "bcm53xx:blue:5ghz";
+                       gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "none";
+               };
+-              2ghz {
++              led-2ghz {
+                       label = "bcm53xx:blue:2ghz";
+                       gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "none";
+               };
+-              status {
++              led-status {
+                       label = "bcm53xx:green:status";
+                       gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "timer";
+--- a/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts
++++ b/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts
+@@ -42,7 +42,7 @@
+       leds {
+               compatible = "gpio-leds";
+-              status {
++              led-status {
+                       label = "bcm53xx:green:status";
+                       gpios = <&chipcommon 0 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "timer";
+--- a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
++++ b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
+@@ -29,24 +29,24 @@
+       leds {
+               compatible = "gpio-leds";
+-              logo {
++              led-logo {
+                       label = "bcm53xx:white:logo";
+                       gpios = <&chipcommon 1 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-on";
+               };
+-              power0 {
++              led-power0 {
+                       label = "bcm53xx:green:power";
+                       gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+-              power1 {
++              led-power1 {
+                       label = "bcm53xx:amber:power";
+                       gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+               };
+-              usb {
++              led-usb {
+                       label = "bcm53xx:blue:usb";
+                       gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
+                       trigger-sources = <&ohci_port1>, <&ehci_port1>,
+@@ -54,7 +54,7 @@
+                       linux,default-trigger = "usbport";
+               };
+-              wireless {
++              led-wireless {
+                       label = "bcm53xx:blue:wireless";
+                       gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
+               };
+--- a/arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts
++++ b/arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts
+@@ -28,29 +28,29 @@
+       leds {
+               compatible = "gpio-leds";
+-              logo {
++              led-logo {
+                       label = "bcm53xx:white:logo";
+                       gpios = <&chipcommon 1 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-on";
+               };
+-              power0 {
++              led-power0 {
+                       label = "bcm53xx:green:power";
+                       gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+               };
+-              power1 {
++              led-power1 {
+                       label = "bcm53xx:amber:power";
+                       gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+-              usb {
++              led-usb {
+                       label = "bcm53xx:blue:usb";
+                       gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
+               };
+-              wireless {
++              led-wireless {
+                       label = "bcm53xx:blue:wireless";
+                       gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
+               };
+--- a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
++++ b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
+@@ -28,64 +28,64 @@
+       leds {
+               compatible = "gpio-leds";
+-              power-white {
++              led-power-white {
+                       label = "bcm53xx:white:power";
+                       gpios = <&chipcommon 1 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-on";
+               };
+-              power-amber {
++              led-power-amber {
+                       label = "bcm53xx:amber:power";
+                       gpios = <&chipcommon 2 GPIO_ACTIVE_HIGH>;
+               };
+-              usb2 {
++              led-usb2 {
+                       label = "bcm53xx:white:usb2";
+                       gpios = <&chipcommon 3 GPIO_ACTIVE_HIGH>;
+                       trigger-sources = <&ohci_port2>, <&ehci_port2>;
+                       linux,default-trigger = "usbport";
+               };
+-              usb3-white {
++              led-usb3-white {
+                       label = "bcm53xx:white:usb3";
+                       gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
+                       trigger-sources = <&xhci_port1>;
+                       linux,default-trigger = "usbport";
+               };
+-              usb3-green {
++              led-usb3-green {
+                       label = "bcm53xx:green:usb3";
+                       gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
+                       trigger-sources = <&ohci_port1>, <&ehci_port1>;
+                       linux,default-trigger = "usbport";
+               };
+-              wps {
++              led-wps {
+                       label = "bcm53xx:white:wps";
+                       gpios = <&chipcommon 6 GPIO_ACTIVE_HIGH>;
+               };
+-              status-red {
++              led-status-red {
+                       label = "bcm53xx:red:status";
+                       gpios = <&chipcommon 8 GPIO_ACTIVE_HIGH>;
+               };
+-              status-green {
++              led-status-green {
+                       label = "bcm53xx:green:status";
+                       gpios = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
+               };
+-              status-blue {
++              led-status-blue {
+                       label = "bcm53xx:blue:status";
+                       gpios = <&chipcommon 10 GPIO_ACTIVE_HIGH>;
+               };
+-              wan-white {
++              led-wan-white {
+                       label = "bcm53xx:white:wan";
+                       gpios = <&chipcommon 12 GPIO_ACTIVE_HIGH>;
+               };
+-              wan-red {
++              led-wan-red {
+                       label = "bcm53xx:red:wan";
+                       gpios = <&chipcommon 13 GPIO_ACTIVE_HIGH>;
+               };
+--- a/arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts
++++ b/arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts
+@@ -28,30 +28,30 @@
+       leds {
+               compatible = "gpio-leds";
+-              power {
++              led-power {
+                       label = "bcm53xx:blue:power";
+                       gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+-              usb2 {
++              led-usb2 {
+                       label = "bcm53xx:blue:usb2";
+                       gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+               };
+-              wan {
++              led-wan {
+                       label = "bcm53xx:blue:wan";
+                       gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+-              lan {
++              led-lan {
+                       label = "bcm53xx:blue:lan";
+                       gpios = <&chipcommon 9 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+-              usb3 {
++              led-usb3 {
+                       label = "bcm53xx:blue:usb3";
+                       gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+               };
+--- a/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts
++++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts
+@@ -49,40 +49,40 @@
+       leds {
+               compatible = "gpio-leds";
+-              power0 {
++              led-power0 {
+                       label = "bcm53xx:green:power";
+                       gpios = <&hc595 1 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-on";
+               };
+-              power1 {
++              led-power1 {
+                       label = "bcm53xx:red:power";
+                       gpios = <&hc595 2 GPIO_ACTIVE_HIGH>;
+               };
+-              router0 {
++              led-router0 {
+                       label = "bcm53xx:green:router";
+                       gpios = <&hc595 3 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-on";
+               };
+-              router1 {
++              led-router1 {
+                       label = "bcm53xx:amber:router";
+                       gpios = <&hc595 4 GPIO_ACTIVE_HIGH>;
+               };
+-              wan {
++              led-wan {
+                       label = "bcm53xx:green:wan";
+                       gpios = <&hc595 5 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-on";
+               };
+-              wireless0 {
++              led-wireless0 {
+                       label = "bcm53xx:green:wireless";
+                       gpios = <&hc595 6 GPIO_ACTIVE_HIGH>;
+               };
+-              wireless1 {
++              led-wireless1 {
+                       label = "bcm53xx:amber:wireless";
+                       gpios = <&hc595 7 GPIO_ACTIVE_HIGH>;
+               };
+--- a/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts
++++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts
+@@ -49,45 +49,45 @@
+       leds {
+               compatible = "gpio-leds";
+-              usb {
++              led-usb {
+                       label = "bcm53xx:green:usb";
+                       gpios = <&hc595 0 GPIO_ACTIVE_HIGH>;
+               };
+-              power0 {
++              led-power0 {
+                       label = "bcm53xx:green:power";
+                       gpios = <&hc595 1 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-on";
+               };
+-              power1 {
++              led-power1 {
+                       label = "bcm53xx:red:power";
+                       gpios = <&hc595 2 GPIO_ACTIVE_HIGH>;
+               };
+-              router0 {
++              led-router0 {
+                       label = "bcm53xx:green:router";
+                       gpios = <&hc595 3 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-on";
+               };
+-              router1 {
++              led-router1 {
+                       label = "bcm53xx:amber:router";
+                       gpios = <&hc595 4 GPIO_ACTIVE_HIGH>;
+               };
+-              wan {
++              led-wan {
+                       label = "bcm53xx:green:wan";
+                       gpios = <&hc595 5 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-on";
+               };
+-              wireless0 {
++              led-wireless0 {
+                       label = "bcm53xx:green:wireless";
+                       gpios = <&hc595 6 GPIO_ACTIVE_HIGH>;
+               };
+-              wireless1 {
++              led-wireless1 {
+                       label = "bcm53xx:amber:wireless";
+                       gpios = <&hc595 7 GPIO_ACTIVE_HIGH>;
+               };
+--- a/arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts
++++ b/arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts
+@@ -23,19 +23,19 @@
+       leds {
+               compatible = "gpio-leds";
+-              5ghz {
++              led-5ghz {
+                       label = "bcm53xx:blue:5ghz";
+                       gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "none";
+               };
+-              2ghz {
++              led-2ghz {
+                       label = "bcm53xx:blue:2ghz";
+                       gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "none";
+               };
+-              status {
++              led-status {
+                       label = "bcm53xx:green:status";
+                       gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "timer";
+--- a/arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
++++ b/arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
+@@ -29,62 +29,62 @@
+       leds {
+               compatible = "gpio-leds";
+-              power {
++              led-power {
+                       label = "bcm53xx:green:power";
+                       gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+-              lan3 {
++              led-lan3 {
+                       label = "bcm53xx:green:lan3";
+                       gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "none";
+               };
+-              lan4 {
++              led-lan4 {
+                       label = "bcm53xx:green:lan4";
+                       gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "none";
+               };
+-              wan {
++              led-wan {
+                       label = "bcm53xx:green:wan";
+                       gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "none";
+               };
+-              lan2 {
++              led-lan2 {
+                       label = "bcm53xx:green:lan2";
+                       gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "none";
+               };
+-              usb {
++              led-usb {
+                       label = "bcm53xx:green:usb";
+                       gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
+                       trigger-sources = <&ohci_port2>, <&ehci_port2>;
+                       linux,default-trigger = "usbport";
+               };
+-              status {
++              led-status {
+                       label = "bcm53xx:green:status";
+                       gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "timer";
+               };
+-              2ghz {
++              led-2ghz {
+                       label = "bcm53xx:green:2ghz";
+                       gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "none";
+               };
+-              5ghz {
++              led-5ghz {
+                       label = "bcm53xx:green:5ghz";
+                       gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "none";
+               };
+-              lan1 {
++              led-lan1 {
+                       label = "bcm53xx:green:lan1";
+                       gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "none";
+--- a/arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts
++++ b/arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts
+@@ -23,50 +23,50 @@
+       leds {
+               compatible = "gpio-leds";
+-              2ghz {
++              led-2ghz {
+                       label = "bcm53xx:green:2ghz";
+                       gpios = <&chipcommon 0 GPIO_ACTIVE_HIGH>;
+               };
+-              lan {
++              led-lan {
+                       label = "bcm53xx:green:lan";
+                       gpios = <&chipcommon 1 GPIO_ACTIVE_HIGH>;
+               };
+-              usb2-port1 {
++              led-usb2-port1 {
+                       label = "bcm53xx:green:usb2-port1";
+                       gpios = <&chipcommon 2 GPIO_ACTIVE_HIGH>;
+                       trigger-sources = <&ohci_port1>, <&ehci_port1>;
+                       linux,default-trigger = "usbport";
+               };
+-              power {
++              led-power {
+                       label = "bcm53xx:green:power";
+                       gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-on";
+               };
+-              wan-green {
++              led-wan-green {
+                       label = "bcm53xx:green:wan";
+                       gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
+               };
+-              wps {
++              led-wps {
+                       label = "bcm53xx:green:wps";
+                       gpios = <&chipcommon 6 GPIO_ACTIVE_HIGH>;
+               };
+-              wan-amber {
++              led-wan-amber {
+                       label = "bcm53xx:amber:wan";
+                       gpios = <&chipcommon 8 GPIO_ACTIVE_HIGH>;
+               };
+-              5ghz {
++              led-5ghz {
+                       label = "bcm53xx:green:5ghz";
+                       gpios = <&chipcommon 12 GPIO_ACTIVE_HIGH>;
+               };
+-              usb2-port2 {
++              led-usb2-port2 {
+                       label = "bcm53xx:green:usb2-port2";
+                       gpios = <&chipcommon 13 GPIO_ACTIVE_HIGH>;
+                       trigger-sources = <&ohci_port2>, <&ehci_port2>;
+--- a/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
++++ b/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
+@@ -28,18 +28,18 @@
+       leds {
+               compatible = "gpio-leds";
+-              wps {
++              led-wps {
+                       label = "bcm53xx:blue:wps";
+                       gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
+               };
+-              power {
++              led-power {
+                       label = "bcm53xx:blue:power";
+                       gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+-              wan {
++              led-wan {
+                       label = "bcm53xx:red:wan";
+                       gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>;
+               };
+--- a/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
++++ b/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
+@@ -28,48 +28,48 @@
+       leds {
+               compatible = "gpio-leds";
+-              usb {
++              led-usb {
+                       label = "bcm53xx:green:usb";
+                       gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
+               };
+-              power-amber {
++              led-power-amber {
+                       label = "bcm53xx:amber:power";
+                       gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
+               };
+-              power-white {
++              led-power-white {
+                       label = "bcm53xx:white:power";
+                       gpios = <&chipcommon 6 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-on";
+               };
+-              router-amber {
++              led-router-amber {
+                       label = "bcm53xx:amber:router";
+                       gpios = <&chipcommon 7 GPIO_ACTIVE_HIGH>;
+               };
+-              router-white {
++              led-router-white {
+                       label = "bcm53xx:white:router";
+                       gpios = <&chipcommon 8 GPIO_ACTIVE_HIGH>;
+               };
+-              wan-amber {
++              led-wan-amber {
+                       label = "bcm53xx:amber:wan";
+                       gpios = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
+               };
+-              wan-white {
++              led-wan-white {
+                       label = "bcm53xx:white:wan";
+                       gpios = <&chipcommon 10 GPIO_ACTIVE_HIGH>;
+               };
+-              wireless-amber {
++              led-wireless-amber {
+                       label = "bcm53xx:amber:wireless";
+                       gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
+               };
+-              wireless-white {
++              led-wireless-white {
+                       label = "bcm53xx:white:wireless";
+                       gpios = <&chipcommon 12 GPIO_ACTIVE_HIGH>;
+               };
+--- a/arch/arm/boot/dts/bcm4709-netgear-r7000.dts
++++ b/arch/arm/boot/dts/bcm4709-netgear-r7000.dts
+@@ -28,43 +28,43 @@
+       leds {
+               compatible = "gpio-leds";
+-              power-white {
++              led-power-white {
+                       label = "bcm53xx:white:power";
+                       gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+-              power-amber {
++              led-power-amber {
+                       label = "bcm53xx:amber:power";
+                       gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+               };
+-              5ghz {
++              led-5ghz {
+                       label = "bcm53xx:white:5ghz";
+                       gpios = <&chipcommon 12 GPIO_ACTIVE_LOW>;
+               };
+-              2ghz {
++              led-2ghz {
+                       label = "bcm53xx:white:2ghz";
+                       gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+               };
+-              wps {
++              led-wps {
+                       label = "bcm53xx:white:wps";
+                       gpios = <&chipcommon 14 GPIO_ACTIVE_HIGH>;
+               };
+-              wireless {
++              led-wireless {
+                       label = "bcm53xx:white:wireless";
+                       gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>;
+               };
+-              usb3 {
++              led-usb3 {
+                       label = "bcm53xx:white:usb3";
+                       gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
+               };
+-              usb2 {
++              led-usb2 {
+                       label = "bcm53xx:white:usb2";
+                       gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
+               };
+--- a/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
++++ b/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
+@@ -39,59 +39,59 @@
+       leds {
+               compatible = "gpio-leds";
+-              power-white {
++              led-power-white {
+                       label = "bcm53xx:white:power";
+                       gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+-              power-amber {
++              led-power-amber {
+                       label = "bcm53xx:amber:power";
+                       gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+               };
+-              wan-white {
++              led-wan-white {
+                       label = "bcm53xx:white:wan";
+                       gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+-              wan-amber {
++              led-wan-amber {
+                       label = "bcm53xx:amber:wan";
+                       gpios = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
+               };
+-              5ghz-1 {
++              led-5ghz-1 {
+                       label = "bcm53xx:white:5ghz-1";
+                       gpios = <&chipcommon 12 GPIO_ACTIVE_LOW>;
+               };
+-              2ghz {
++              led-2ghz {
+                       label = "bcm53xx:white:2ghz";
+                       gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+               };
+-              wireless {
++              led-wireless {
+                       label = "bcm53xx:white:wireless";
+                       gpios = <&chipcommon 14 GPIO_ACTIVE_HIGH>;
+               };
+-              wps {
++              led-wps {
+                       label = "bcm53xx:white:wps";
+                       gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>;
+               };
+-              5ghz-2 {
++              led-5ghz-2 {
+                       label = "bcm53xx:white:5ghz-2";
+                       gpios = <&chipcommon 16 GPIO_ACTIVE_LOW>;
+               };
+-              usb3 {
++              led-usb3 {
+                       label = "bcm53xx:white:usb3";
+                       gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
+               };
+-              usb2 {
++              led-usb2 {
+                       label = "bcm53xx:white:usb2";
+                       gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
+               };
+--- a/arch/arm/boot/dts/bcm4709-tplink-archer-c9-v1.dts
++++ b/arch/arm/boot/dts/bcm4709-tplink-archer-c9-v1.dts
+@@ -23,27 +23,27 @@
+       leds {
+               compatible = "gpio-leds";
+-              lan {
++              led-lan {
+                       label = "bcm53xx:blue:lan";
+                       gpios = <&chipcommon 1 GPIO_ACTIVE_HIGH>;
+               };
+-              wps {
++              led-wps {
+                       label = "bcm53xx:blue:wps";
+                       gpios = <&chipcommon 2 GPIO_ACTIVE_HIGH>;
+               };
+-              2ghz {
++              led-2ghz {
+                       label = "bcm53xx:blue:2ghz";
+                       gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
+               };
+-              5ghz {
++              led-5ghz {
+                       label = "bcm53xx:blue:5ghz";
+                       gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
+               };
+-              usb3 {
++              led-usb3 {
+                       label = "bcm53xx:blue:usb3";
+                       gpios = <&chipcommon 6 GPIO_ACTIVE_HIGH>;
+                       trigger-sources = <&ohci_port1>, <&ehci_port1>,
+@@ -51,24 +51,24 @@
+                       linux,default-trigger = "usbport";
+               };
+-              usb2 {
++              led-usb2 {
+                       label = "bcm53xx:blue:usb2";
+                       gpios = <&chipcommon 7 GPIO_ACTIVE_HIGH>;
+                       trigger-sources = <&ohci_port2>, <&ehci_port2>;
+                       linux,default-trigger = "usbport";
+               };
+-              wan-blue {
++              led-wan-blue {
+                       label = "bcm53xx:blue:wan";
+                       gpios = <&chipcommon 14 GPIO_ACTIVE_HIGH>;
+               };
+-              wan-amber {
++              led-wan-amber {
+                       label = "bcm53xx:amber:wan";
+                       gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>;
+               };
+-              power {
++              led-power {
+                       label = "bcm53xx:blue:power";
+                       gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+--- a/arch/arm/boot/dts/bcm47094-asus-rt-ac88u.dts
++++ b/arch/arm/boot/dts/bcm47094-asus-rt-ac88u.dts
+@@ -33,37 +33,37 @@
+       leds {
+               compatible = "gpio-leds";
+-              power {
++              led-power {
+                       label = "white:power";
+                       gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+-              wan-red {
++              led-wan-red {
+                       label = "red:wan";
+                       gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
+               };
+-              lan {
++              led-lan {
+                       label = "white:lan";
+                       gpios = <&chipcommon 21 GPIO_ACTIVE_LOW>;
+               };
+-              usb2 {
++              led-usb2 {
+                       label = "white:usb2";
+                       gpios = <&chipcommon 16 GPIO_ACTIVE_LOW>;
+                       trigger-sources = <&ehci_port2>;
+                       linux,default-trigger = "usbport";
+               };
+-              usb3 {
++              led-usb3 {
+                       label = "white:usb3";
+                       gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
+                       trigger-sources = <&ehci_port1>, <&xhci_port1>;
+                       linux,default-trigger = "usbport";
+               };
+-              wps {
++              led-wps {
+                       label = "white:wps";
+                       gpios = <&chipcommon 19 GPIO_ACTIVE_LOW>;
+               };
+--- a/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts
++++ b/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts
+@@ -43,28 +43,28 @@
+       leds {
+               compatible = "gpio-leds";
+-              power-white {
++              led-power-white {
+                       label = "bcm53xx:white:power";
+                       gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+-              wan-white {
++              led-wan-white {
+                       label = "bcm53xx:white:wan";
+                       gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
+               };
+-              power-amber {
++              led-power-amber {
+                       label = "bcm53xx:amber:power";
+                       gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+               };
+-              wan-amber {
++              led-wan-amber {
+                       label = "bcm53xx:amber:wan";
+                       gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+               };
+-              usb3-white {
++              led-usb3-white {
+                       label = "bcm53xx:white:usb3";
+                       gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
+                       trigger-sources = <&ohci_port1>, <&ehci_port1>,
+@@ -72,12 +72,12 @@
+                       linux,default-trigger = "usbport";
+               };
+-              2ghz {
++              led-2ghz {
+                       label = "bcm53xx:white:2ghz";
+                       gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+               };
+-              5ghz {
++              led-5ghz {
+                       label = "bcm53xx:white:5ghz";
+                       gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+               };
+--- a/arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts
++++ b/arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts
+@@ -41,47 +41,47 @@
+                */
+               compatible = "gpio-leds";
+-              power-white {
++              led-power-white {
+                       label = "bcm53xx:white:power";
+                       gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+-              wan-white {
++              led-wan-white {
+                       label = "bcm53xx:white:wan";
+                       gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
+               };
+-              power-amber {
++              led-power-amber {
+                       label = "bcm53xx:amber:power";
+                       gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+               };
+-              wan-amber {
++              led-wan-amber {
+                       label = "bcm53xx:amber:wan";
+                       gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+               };
+-              usb3-white {
++              led-usb3-white {
+                       label = "bcm53xx:white:usb3";
+                       gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
+                       trigger-sources = <&xhci_port1>;
+                       linux,default-trigger = "usbport";
+               };
+-              usb2-white {
++              led-usb2-white {
+                       label = "bcm53xx:white:usb2";
+                       gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>;
+                       trigger-sources = <&ohci_port1>, <&ehci_port1>;
+                       linux,default-trigger = "usbport";
+               };
+-              2ghz {
++              led-2ghz {
+                       label = "bcm53xx:white:2ghz";
+                       gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+               };
+-              5ghz {
++              led-5ghz {
+                       label = "bcm53xx:white:5ghz";
+                       gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+               };
+--- a/arch/arm/boot/dts/bcm47094-linksys-panamera.dts
++++ b/arch/arm/boot/dts/bcm47094-linksys-panamera.dts
+@@ -52,19 +52,19 @@
+       leds {
+               compatible = "gpio-leds";
+-              wps {
++              led-wps {
+                       label = "bcm53xx:white:wps";
+                       gpios = <&chipcommon 22 GPIO_ACTIVE_LOW>;
+               };
+-              usb2 {
++              led-usb2 {
+                       label = "bcm53xx:green:usb2";
+                       gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
+                       trigger-sources = <&ohci_port2>, <&ehci_port2>;
+                       linux,default-trigger = "usbport";
+               };
+-              usb3 {
++              led-usb3 {
+                       label = "bcm53xx:green:usb3";
+                       gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+                       trigger-sources = <&ohci_port1>, <&ehci_port1>,
+@@ -72,58 +72,58 @@
+                       linux,default-trigger = "usbport";
+               };
+-              power {
++              led-power {
+                       label = "bcm53xx:white:power";
+                       gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-on";
+               };
+-              wifi-disabled {
++              led-wifi-disabled {
+                       label = "bcm53xx:amber:wifi-disabled";
+                       gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+               };
+-              wifi-enabled {
++              led-wifi-enabled {
+                       label = "bcm53xx:white:wifi-enabled";
+                       gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
+               };
+-              bluebar1 {
++              led-bluebar1 {
+                       label = "bcm53xx:white:bluebar1";
+                       gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
+               };
+-              bluebar2 {
++              led-bluebar2 {
+                       label = "bcm53xx:white:bluebar2";
+                       gpios = <&chipcommon 12 GPIO_ACTIVE_HIGH>;
+               };
+-              bluebar3 {
++              led-bluebar3 {
+                       label = "bcm53xx:white:bluebar3";
+                       gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>;
+               };
+-              bluebar4 {
++              led-bluebar4 {
+                       label = "bcm53xx:white:bluebar4";
+                       gpios = <&chipcommon 18 GPIO_ACTIVE_HIGH>;
+               };
+-              bluebar5 {
++              led-bluebar5 {
+                       label = "bcm53xx:white:bluebar5";
+                       gpios = <&chipcommon 19 GPIO_ACTIVE_HIGH>;
+               };
+-              bluebar6 {
++              led-bluebar6 {
+                       label = "bcm53xx:white:bluebar6";
+                       gpios = <&chipcommon 20 GPIO_ACTIVE_HIGH>;
+               };
+-              bluebar7 {
++              led-bluebar7 {
+                       label = "bcm53xx:white:bluebar7";
+                       gpios = <&chipcommon 21 GPIO_ACTIVE_HIGH>;
+               };
+-              bluebar8 {
++              led-bluebar8 {
+                       label = "bcm53xx:white:bluebar8";
+                       gpios = <&chipcommon 8 GPIO_ACTIVE_HIGH>;
+               };
+--- a/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
+@@ -30,13 +30,13 @@
+       leds {
+               compatible = "gpio-leds";
+-              status {
++              led-status {
+                       label = "bcm53xx:green:status";
+                       gpios = <&chipcommon 20 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "timer";
+               };
+-              usb3 {
++              led-usb3 {
+                       label = "bcm53xx:green:usb3";
+                       gpios = <&chipcommon 19 GPIO_ACTIVE_LOW>;
+                       trigger-sources = <&ohci_port1>, <&ehci_port1>,
+--- a/arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts
+@@ -23,18 +23,18 @@
+       leds {
+               compatible = "gpio-leds";
+-              status  {
++              led-status {
+                       label = "bcm53xx:green:status";
+                       gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "timer";
+               };
+-              2ghz {
++              led-2ghz {
+                       label = "bcm53xx:blue:2ghz";
+                       gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+               };
+-              5ghz {
++              led-5ghz {
+                       label = "bcm53xx:blue:5ghz";
+                       gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+               };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
+@@ -30,13 +30,13 @@
+       leds {
+               compatible = "gpio-leds";
+-              status {
++              led-status {
+                       label = "bcm53xx:green:status";
+                       gpios = <&chipcommon 20 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "timer";
+               };
+-              usb3 {
++              led-usb3 {
+                       label = "bcm53xx:green:usb3";
+                       gpios = <&chipcommon 19 GPIO_ACTIVE_HIGH>;
+                       trigger-sources = <&ohci_port1>, <&ehci_port1>,
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts
+@@ -25,7 +25,7 @@
+       leds {
+               compatible = "gpio-leds";
+-              status  {
++              led-status {
+                       label = "bcm53xx:green:status";
+                       gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "timer";
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts
+@@ -30,38 +30,38 @@
+       leds {
+               compatible = "gpio-leds";
+-              power   {
++              led-power {
+                       label = "bcm53xx:green:power";
+                       gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+-              lan3    {
++              led-lan3 {
+                       label = "bcm53xx:green:lan3";
+                       gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
+               };
+-              lan4    {
++              led-lan4 {
+                       label = "bcm53xx:green:lan4";
+                       gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+               };
+-              wan     {
++              led-wan {
+                       label = "bcm53xx:green:wan";
+                       gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+               };
+-              lan1    {
++              led-lan1 {
+                       label = "bcm53xx:green:lan1";
+                       gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
+               };
+-              lan2    {
++              led-lan2 {
+                       label = "bcm53xx:green:lan2";
+                       gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>;
+               };
+-              usb3    {
++              led-usb3 {
+                       label = "bcm53xx:green:usb3";
+                       gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
+                       trigger-sources = <&ohci_port1>, <&ehci_port1>,
+@@ -69,18 +69,18 @@
+                       linux,default-trigger = "usbport";
+               };
+-              status  {
++              led-status {
+                       label = "bcm53xx:green:status";
+                       gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "timer";
+               };
+-              2ghz {
++              led-2ghz {
+                       label = "bcm53xx:green:2ghz";
+                       gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+               };
+-              5ghz {
++              led-5ghz {
+                       label = "bcm53xx:green:5ghz";
+                       gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+               };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts
+@@ -33,13 +33,13 @@
+       leds {
+               compatible = "gpio-leds";
+-              power   {
++              led-power {
+                       label = "bcm53xx:green:power";
+                       gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+-              usb3    {
++              led-usb3 {
+                       label = "bcm53xx:green:usb3";
+                       gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
+                       trigger-sources = <&ohci_port1>, <&ehci_port1>,
+@@ -47,18 +47,18 @@
+                       linux,default-trigger = "usbport";
+               };
+-              status  {
++              led-status {
+                       label = "bcm53xx:green:status";
+                       gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "timer";
+               };
+-              2ghz {
++              led-2ghz {
+                       label = "bcm53xx:green:2ghz";
+                       gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+               };
+-              5ghz {
++              led-5ghz {
+                       label = "bcm53xx:green:5ghz";
+                       gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
+               };
+--- a/arch/arm/boot/dts/bcm47094-netgear-r8500.dts
++++ b/arch/arm/boot/dts/bcm47094-netgear-r8500.dts
+@@ -25,38 +25,38 @@
+       leds {
+               compatible = "gpio-leds";
+-              power0 {
++              led-power0 {
+                       label = "bcm53xx:white:power";
+                       gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+-              power1 {
++              led-power1 {
+                       label = "bcm53xx:amber:power";
+                       gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+               };
+-              5ghz-1 {
++              led-5ghz-1 {
+                       label = "bcm53xx:white:5ghz-1";
+                       gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
+               };
+-              5ghz-2 {
++              led-5ghz-2 {
+                       label = "bcm53xx:white:5ghz-2";
+                       gpios = <&chipcommon 12 GPIO_ACTIVE_LOW>;
+               };
+-              2ghz {
++              led-2ghz {
+                       label = "bcm53xx:white:2ghz";
+                       gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
+               };
+-              usb2 {
++              led-usb2 {
+                       label = "bcm53xx:white:usb2";
+                       gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
+               };
+-              usb3 {
++              led-usb3 {
+                       label = "bcm53xx:white:usb3";
+                       gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
+               };
+--- a/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
++++ b/arch/arm/boot/dts/bcm47189-luxul-xap-1440.dts
+@@ -23,13 +23,13 @@
+       leds {
+               compatible = "gpio-leds";
+-              wlan {
++              led-wlan {
+                       label = "bcm53xx:blue:wlan";
+                       gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-off";
+               };
+-              system {
++              led-system {
+                       label = "bcm53xx:green:system";
+                       gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "timer";
+--- a/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
++++ b/arch/arm/boot/dts/bcm47189-luxul-xap-810.dts
+@@ -20,26 +20,26 @@
+               reg = <0x00000000 0x08000000>;
+       };
+-      leds {
++      leds-0 {
+               compatible = "gpio-leds";
+-              5ghz {
++              led-5ghz {
+                       label = "bcm53xx:blue:5ghz";
+                       gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-off";
+               };
+-              system {
++              led-system {
+                       label = "bcm53xx:green:system";
+                       gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "timer";
+               };
+       };
+-      pcie0_leds {
++      leds-1 {
+               compatible = "gpio-leds";
+-              2ghz {
++              led-2ghz {
+                       label = "bcm53xx:blue:2ghz";
+                       gpios = <&pcie0_chipcommon 3 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-off";
+--- a/arch/arm/boot/dts/bcm47189-tenda-ac9.dts
++++ b/arch/arm/boot/dts/bcm47189-tenda-ac9.dts
+@@ -20,37 +20,37 @@
+               reg = <0x00000000 0x08000000>;
+       };
+-      leds {
++      leds-0 {
+               compatible = "gpio-leds";
+-              usb {
++              led-usb {
+                       label = "bcm53xx:blue:usb";
+                       gpios = <&chipcommon 1 GPIO_ACTIVE_HIGH>;
+                       trigger-sources = <&ohci_port1>, <&ehci_port1>;
+                       linux,default-trigger = "usbport";
+               };
+-              wps {
++              led-wps {
+                       label = "bcm53xx:blue:wps";
+                       gpios = <&chipcommon 10 GPIO_ACTIVE_HIGH>;
+               };
+-              5ghz {
++              led-5ghz {
+                       label = "bcm53xx:blue:5ghz";
+                       gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
+               };
+-              system {
++              led-system {
+                       label = "bcm53xx:blue:system";
+                       gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "timer";
+               };
+       };
+-      pcie0_leds {
++      leds-1 {
+               compatible = "gpio-leds";
+-              2ghz {
++              led-2ghz {
+                       label = "bcm53xx:blue:2ghz";
+                       gpios = <&pcie0_chipcommon 3 GPIO_ACTIVE_HIGH>;
+               };
+--- a/arch/arm/boot/dts/bcm53016-dlink-dwl-8610ap.dts
++++ b/arch/arm/boot/dts/bcm53016-dlink-dwl-8610ap.dts
+@@ -20,14 +20,14 @@
+       leds {
+               compatible = "gpio-leds";
+-              power {
++              led-power {
+                       function = LED_FUNCTION_POWER;
+                       color = <LED_COLOR_ID_GREEN>;
+                       gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+                       default-state = "on";
+               };
+-              diag {
++              led-diag {
+                       /* Actually "diag" unclear what this means */
+                       function = LED_FUNCTION_INDICATOR;
+                       color = <LED_COLOR_ID_RED>;
+@@ -36,13 +36,13 @@
+                       linux,default-trigger = "heartbeat";
+               };
+-              wlan-2g {
++              led-wlan-2g {
+                       function = LED_FUNCTION_WLAN;
+                       color = <LED_COLOR_ID_GREEN>;
+                       gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>;
+               };
+-              wlan-5g {
++              led-wlan-5g {
+                       function = LED_FUNCTION_WLAN;
+                       color = <LED_COLOR_ID_GREEN>;
+                       gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>;
+--- a/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
++++ b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
+@@ -58,7 +58,7 @@
+       pwm-leds {
+               compatible = "pwm-leds";
+-              red {
++              led-0 {
+                       /* SYS-LED 1 - Tricolor */
+                       function = LED_FUNCTION_INDICATOR;
+                       color = <LED_COLOR_ID_RED>;
+@@ -66,7 +66,7 @@
+                       max-brightness = <255>;
+               };
+-              green {
++              led-1 {
+                       /* SYS-LED 1 - Tricolor */
+                       function = LED_FUNCTION_POWER;
+                       color = <LED_COLOR_ID_GREEN>;
+@@ -74,7 +74,7 @@
+                       max-brightness = <255>;
+               };
+-              blue {
++              led-2 {
+                       /* SYS-LED 1 - Tricolor */
+                       function = LED_FUNCTION_INDICATOR;
+                       color = <LED_COLOR_ID_BLUE>;
+--- a/arch/arm/boot/dts/bcm947189acdbmr.dts
++++ b/arch/arm/boot/dts/bcm947189acdbmr.dts
+@@ -25,17 +25,17 @@
+       leds {
+               compatible = "gpio-leds";
+-              wps {
++              led-wps {
+                       label = "bcm53xx:blue:wps";
+                       gpios = <&chipcommon 10 GPIO_ACTIVE_HIGH>;
+               };
+-              5ghz {
++              led-5ghz {
+                       label = "bcm53xx:blue:5ghz";
+                       gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
+               };
+-              2ghz {
++              led-2ghz {
+                       label = "bcm53xx:blue:2ghz";
+                       gpios = <&chipcommon 12 GPIO_ACTIVE_HIGH>;
+               };
diff --git a/target/linux/bcm53xx/patches-5.10/039-v6.5-0001-ARM-dts-BCM5301X-Relicense-Rafa-s-code-to-the-GPL-2..patch b/target/linux/bcm53xx/patches-5.10/039-v6.5-0001-ARM-dts-BCM5301X-Relicense-Rafa-s-code-to-the-GPL-2..patch
new file mode 100644 (file)
index 0000000..be3f89e
--- /dev/null
@@ -0,0 +1,487 @@
+From 915fac07f053418d0ab9075af64da2872ca8a7f8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Wed, 3 May 2023 14:16:10 +0200
+Subject: [PATCH] =?UTF-8?q?ARM:=20dts:=20BCM5301X:=20Relicense=20Rafa?=
+ =?UTF-8?q?=C5=82's=20code=20to=20the=20GPL=202.0+=20/=20MIT?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+All BCM5301X device DTS files use dual licensing. Try the same for SoC.
+Introduce a new .dtsi file with a proper SPDX tag.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20230503121611.1629-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ MAINTAINERS                     |   1 +
+ arch/arm/boot/dts/bcm-ns.dtsi   | 202 ++++++++++++++++++++++++++++++++
+ arch/arm/boot/dts/bcm5301x.dtsi | 192 +-----------------------------
+ 3 files changed, 205 insertions(+), 190 deletions(-)
+ create mode 100644 arch/arm/boot/dts/bcm-ns.dtsi
+
+--- a/MAINTAINERS
++++ b/MAINTAINERS
+@@ -3433,6 +3433,7 @@ M:       Rafał Miłecki <zajec5@gmail.com>
+ M:    bcm-kernel-feedback-list@broadcom.com
+ L:    linux-arm-kernel@lists.infradead.org
+ S:    Maintained
++F:    arch/arm/boot/dts/bcm-ns.dtsi
+ F:    arch/arm/boot/dts/bcm470*
+ F:    arch/arm/boot/dts/bcm5301*
+ F:    arch/arm/boot/dts/bcm953012*
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm-ns.dtsi
+@@ -0,0 +1,202 @@
++// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
++
++#include <dt-bindings/clock/bcm-nsp.h>
++#include <dt-bindings/gpio/gpio.h>
++#include <dt-bindings/input/input.h>
++#include <dt-bindings/interrupt-controller/irq.h>
++#include <dt-bindings/interrupt-controller/arm-gic.h>
++
++/ {
++      axi@18000000 {
++              compatible = "brcm,bus-axi";
++              reg = <0x18000000 0x1000>;
++              ranges = <0x00000000 0x18000000 0x00100000>;
++              #address-cells = <1>;
++              #size-cells = <1>;
++
++              chipcommon: chipcommon@0 {
++                      reg = <0x00000000 0x1000>;
++
++                      gpio-controller;
++                      #gpio-cells = <2>;
++              };
++
++              pcie0: pcie@12000 {
++                      reg = <0x00012000 0x1000>;
++              };
++
++              pcie1: pcie@13000 {
++                      reg = <0x00013000 0x1000>;
++              };
++
++              usb2: usb2@21000 {
++                      reg = <0x00021000 0x1000>;
++
++                      #address-cells = <1>;
++                      #size-cells = <1>;
++                      ranges;
++
++                      interrupt-parent = <&gic>;
++
++                      ehci: usb@21000 {
++                              #usb-cells = <0>;
++
++                              compatible = "generic-ehci";
++                              reg = <0x00021000 0x1000>;
++                              interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
++                              phys = <&usb2_phy>;
++
++                              #address-cells = <1>;
++                              #size-cells = <0>;
++
++                              ehci_port1: port@1 {
++                                      reg = <1>;
++                                      #trigger-source-cells = <0>;
++                              };
++
++                              ehci_port2: port@2 {
++                                      reg = <2>;
++                                      #trigger-source-cells = <0>;
++                              };
++                      };
++
++                      ohci: usb@22000 {
++                              #usb-cells = <0>;
++
++                              compatible = "generic-ohci";
++                              reg = <0x00022000 0x1000>;
++                              interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
++
++                              #address-cells = <1>;
++                              #size-cells = <0>;
++
++                              ohci_port1: port@1 {
++                                      reg = <1>;
++                                      #trigger-source-cells = <0>;
++                              };
++
++                              ohci_port2: port@2 {
++                                      reg = <2>;
++                                      #trigger-source-cells = <0>;
++                              };
++                      };
++              };
++
++              usb3: usb3@23000 {
++                      reg = <0x00023000 0x1000>;
++
++                      #address-cells = <1>;
++                      #size-cells = <1>;
++                      ranges;
++
++                      interrupt-parent = <&gic>;
++
++                      xhci: usb@23000 {
++                              #usb-cells = <0>;
++
++                              compatible = "generic-xhci";
++                              reg = <0x00023000 0x1000>;
++                              interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
++                              phys = <&usb3_phy>;
++                              phy-names = "usb";
++
++                              #address-cells = <1>;
++                              #size-cells = <0>;
++
++                              xhci_port1: port@1 {
++                                      reg = <1>;
++                                      #trigger-source-cells = <0>;
++                              };
++                      };
++              };
++      };
++
++      mdio: mdio@18003000 {
++              compatible = "brcm,iproc-mdio";
++              reg = <0x18003000 0x8>;
++              #size-cells = <0>;
++              #address-cells = <1>;
++      };
++
++      dmu-bus@1800c000 {
++              compatible = "simple-bus";
++              ranges = <0 0x1800c000 0x1000>;
++              #address-cells = <1>;
++              #size-cells = <1>;
++
++              cru-bus@100 {
++                      compatible = "brcm,ns-cru", "simple-mfd";
++                      reg = <0x100 0x1a4>;
++                      ranges;
++                      #address-cells = <1>;
++                      #size-cells = <1>;
++
++                      usb2_phy: phy@164 {
++                              compatible = "brcm,ns-usb2-phy";
++                              reg = <0x164 0x4>;
++                              brcm,syscon-clkset = <&cru_clkset>;
++                              clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>;
++                              clock-names = "phy-ref-clk";
++                              #phy-cells = <0>;
++                      };
++
++                      cru_clkset: syscon@180 {
++                              compatible = "brcm,cru-clkset", "syscon";
++                              reg = <0x180 0x4>;
++                      };
++
++                      pinctrl: pinctrl@1c0 {
++                              compatible = "brcm,bcm4708-pinmux";
++                              reg = <0x1c0 0x24>;
++                              reg-names = "cru_gpio_control";
++
++                              spi-pins {
++                                      groups = "spi_grp";
++                                      function = "spi";
++                              };
++
++                              pinmux_i2c: i2c-pins {
++                                      groups = "i2c_grp";
++                                      function = "i2c";
++                              };
++
++                              pinmux_pwm: pwm-pins {
++                                      groups = "pwm0_grp", "pwm1_grp",
++                                               "pwm2_grp", "pwm3_grp";
++                                      function = "pwm";
++                              };
++
++                              pinmux_uart1: uart1-pins {
++                                      groups = "uart1_grp";
++                                      function = "uart1";
++                              };
++                      };
++
++                      thermal: thermal@2c0 {
++                              compatible = "brcm,ns-thermal";
++                              reg = <0x2c0 0x10>;
++                              #thermal-sensor-cells = <0>;
++                      };
++              };
++      };
++
++      thermal-zones {
++              cpu_thermal: cpu-thermal {
++                      polling-delay-passive = <0>;
++                      polling-delay = <1000>;
++                      coefficients = <(-556) 418000>;
++                      thermal-sensors = <&thermal>;
++
++                      trips {
++                              cpu-crit {
++                                      temperature = <125000>;
++                                      hysteresis = <0>;
++                                      type = "critical";
++                              };
++                      };
++
++                      cooling-maps {
++                      };
++              };
++      };
++};
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -8,11 +8,7 @@
+  * Licensed under the GNU/GPL. See COPYING for details.
+  */
+-#include <dt-bindings/clock/bcm-nsp.h>
+-#include <dt-bindings/gpio/gpio.h>
+-#include <dt-bindings/input/input.h>
+-#include <dt-bindings/interrupt-controller/irq.h>
+-#include <dt-bindings/interrupt-controller/arm-gic.h>
++#include "bcm-ns.dtsi"
+ / {
+       #address-cells = <1>;
+@@ -149,12 +145,6 @@
+       };
+       axi@18000000 {
+-              compatible = "brcm,bus-axi";
+-              reg = <0x18000000 0x1000>;
+-              ranges = <0x00000000 0x18000000 0x00100000>;
+-              #address-cells = <1>;
+-              #size-cells = <1>;
+-
+               #interrupt-cells = <1>;
+               interrupt-map-mask = <0x000fffff 0xffff>;
+               interrupt-map = 
+@@ -228,108 +218,15 @@
+                       <0x00028000 6 &gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
+                       <0x00028000 7 &gic GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
+-              chipcommon: chipcommon@0 {
+-                      reg = <0x00000000 0x1000>;
+-
+-                      gpio-controller;
+-                      #gpio-cells = <2>;
++              chipcommon@0 {
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
+-              pcie0: pcie@12000 {
+-                      reg = <0x00012000 0x1000>;
+-              };
+-
+-              pcie1: pcie@13000 {
+-                      reg = <0x00013000 0x1000>;
+-              };
+-
+               pcie2: pcie@14000 {
+                       reg = <0x00014000 0x1000>;
+               };
+-              usb2: usb2@21000 {
+-                      reg = <0x00021000 0x1000>;
+-
+-                      #address-cells = <1>;
+-                      #size-cells = <1>;
+-                      ranges;
+-
+-                      interrupt-parent = <&gic>;
+-
+-                      ehci: usb@21000 {
+-                              #usb-cells = <0>;
+-
+-                              compatible = "generic-ehci";
+-                              reg = <0x00021000 0x1000>;
+-                              interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
+-                              phys = <&usb2_phy>;
+-
+-                              #address-cells = <1>;
+-                              #size-cells = <0>;
+-
+-                              ehci_port1: port@1 {
+-                                      reg = <1>;
+-                                      #trigger-source-cells = <0>;
+-                              };
+-
+-                              ehci_port2: port@2 {
+-                                      reg = <2>;
+-                                      #trigger-source-cells = <0>;
+-                              };
+-                      };
+-
+-                      ohci: usb@22000 {
+-                              #usb-cells = <0>;
+-
+-                              compatible = "generic-ohci";
+-                              reg = <0x00022000 0x1000>;
+-                              interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
+-
+-                              #address-cells = <1>;
+-                              #size-cells = <0>;
+-
+-                              ohci_port1: port@1 {
+-                                      reg = <1>;
+-                                      #trigger-source-cells = <0>;
+-                              };
+-
+-                              ohci_port2: port@2 {
+-                                      reg = <2>;
+-                                      #trigger-source-cells = <0>;
+-                              };
+-                      };
+-              };
+-
+-              usb3: usb3@23000 {
+-                      reg = <0x00023000 0x1000>;
+-
+-                      #address-cells = <1>;
+-                      #size-cells = <1>;
+-                      ranges;
+-
+-                      interrupt-parent = <&gic>;
+-
+-                      xhci: usb@23000 {
+-                              #usb-cells = <0>;
+-
+-                              compatible = "generic-xhci";
+-                              reg = <0x00023000 0x1000>;
+-                              interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
+-                              phys = <&usb3_phy>;
+-                              phy-names = "usb";
+-
+-                              #address-cells = <1>;
+-                              #size-cells = <0>;
+-
+-                              xhci_port1: port@1 {
+-                                      reg = <1>;
+-                                      #trigger-source-cells = <0>;
+-                              };
+-                      };
+-              };
+-
+               gmac0: ethernet@24000 {
+                       reg = <0x24000 0x800>;
+               };
+@@ -355,13 +252,6 @@
+               status = "disabled";
+       };
+-      mdio: mdio@18003000 {
+-              compatible = "brcm,iproc-mdio";
+-              reg = <0x18003000 0x8>;
+-              #size-cells = <0>;
+-              #address-cells = <1>;
+-      };
+-
+       mdio-mux@18003000 {
+               compatible = "mdio-mux-mmioreg", "mdio-mux";
+               mdio-parent-bus = <&mdio>;
+@@ -409,18 +299,7 @@
+       };
+       dmu-bus@1800c000 {
+-              compatible = "simple-bus";
+-              ranges = <0 0x1800c000 0x1000>;
+-              #address-cells = <1>;
+-              #size-cells = <1>;
+-
+               cru-bus@100 {
+-                      compatible = "brcm,ns-cru", "simple-mfd";
+-                      reg = <0x100 0x1a4>;
+-                      ranges;
+-                      #address-cells = <1>;
+-                      #size-cells = <1>;
+-
+                       lcpll0: clock-controller@100 {
+                               #clock-cells = <1>;
+                               compatible = "brcm,nsp-lcpll0";
+@@ -440,53 +319,6 @@
+                                                    "usbclk", "iprocfast",
+                                                    "sata1", "sata2";
+                       };
+-
+-                      usb2_phy: phy@164 {
+-                              compatible = "brcm,ns-usb2-phy";
+-                              reg = <0x164 0x4>;
+-                              brcm,syscon-clkset = <&cru_clkset>;
+-                              clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>;
+-                              clock-names = "phy-ref-clk";
+-                              #phy-cells = <0>;
+-                      };
+-
+-                      cru_clkset: syscon@180 {
+-                              compatible = "brcm,cru-clkset", "syscon";
+-                              reg = <0x180 0x4>;
+-                      };
+-
+-                      pinctrl: pinctrl@1c0 {
+-                              compatible = "brcm,bcm4708-pinmux";
+-                              reg = <0x1c0 0x24>;
+-                              reg-names = "cru_gpio_control";
+-
+-                              spi-pins {
+-                                      groups = "spi_grp";
+-                                      function = "spi";
+-                              };
+-
+-                              pinmux_i2c: i2c-pins {
+-                                      groups = "i2c_grp";
+-                                      function = "i2c";
+-                              };
+-
+-                              pinmux_pwm: pwm-pins {
+-                                      groups = "pwm0_grp", "pwm1_grp",
+-                                               "pwm2_grp", "pwm3_grp";
+-                                      function = "pwm";
+-                              };
+-
+-                              pinmux_uart1: uart1-pins {
+-                                      groups = "uart1_grp";
+-                                      function = "uart1";
+-                              };
+-                      };
+-
+-                      thermal: thermal@2c0 {
+-                              compatible = "brcm,ns-thermal";
+-                              reg = <0x2c0 0x10>;
+-                              #thermal-sensor-cells = <0>;
+-                      };
+               };
+       };
+@@ -558,24 +390,4 @@
+                       };
+               };
+       };
+-
+-      thermal-zones {
+-              cpu_thermal: cpu-thermal {
+-                      polling-delay-passive = <0>;
+-                      polling-delay = <1000>;
+-                      coefficients = <(-556) 418000>;
+-                      thermal-sensors = <&thermal>;
+-
+-                      trips {
+-                              cpu-crit {
+-                                      temperature     = <125000>;
+-                                      hysteresis      = <0>;
+-                                      type            = "critical";
+-                              };
+-                      };
+-
+-                      cooling-maps {
+-                      };
+-              };
+-      };
+ };
diff --git a/target/linux/bcm53xx/patches-5.10/039-v6.5-0002-ARM-dts-BCM5301X-Relicense-Florian-s-code-to-the-GPL.patch b/target/linux/bcm53xx/patches-5.10/039-v6.5-0002-ARM-dts-BCM5301X-Relicense-Florian-s-code-to-the-GPL.patch
new file mode 100644 (file)
index 0000000..b98f2da
--- /dev/null
@@ -0,0 +1,136 @@
+From 916553449561c4f0b61c71b751b7bb583f5dddd4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Wed, 3 May 2023 14:16:11 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Relicense Florian's code to the GPL 2.0+
+ / MIT
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+All BCM5301X device DTS files use dual licensing. Try the same for SoC.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20230503121611.1629-2-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ arch/arm/boot/dts/bcm-ns.dtsi   | 36 ++++++++++++++++++++++++++++++
+ arch/arm/boot/dts/bcm5301x.dtsi | 39 ---------------------------------
+ 2 files changed, 36 insertions(+), 39 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm-ns.dtsi
++++ b/arch/arm/boot/dts/bcm-ns.dtsi
+@@ -19,6 +19,8 @@
+                       gpio-controller;
+                       #gpio-cells = <2>;
++                      interrupt-controller;
++                      #interrupt-cells = <2>;
+               };
+               pcie0: pcie@12000 {
+@@ -109,6 +111,22 @@
+                               };
+                       };
+               };
++
++              gmac0: ethernet@24000 {
++                      reg = <0x24000 0x800>;
++              };
++
++              gmac1: ethernet@25000 {
++                      reg = <0x25000 0x800>;
++              };
++
++              gmac2: ethernet@26000 {
++                      reg = <0x26000 0x800>;
++              };
++
++              gmac3: ethernet@27000 {
++                      reg = <0x27000 0x800>;
++              };
+       };
+       mdio: mdio@18003000 {
+@@ -118,6 +136,24 @@
+               #address-cells = <1>;
+       };
++      rng: rng@18004000 {
++              compatible = "brcm,bcm5301x-rng";
++              reg = <0x18004000 0x14>;
++      };
++
++      srab: ethernet-switch@18007000 {
++              compatible = "brcm,bcm53011-srab", "brcm,bcm5301x-srab";
++              reg = <0x18007000 0x1000>;
++
++              status = "disabled";
++
++              /* ports are defined in board DTS */
++              ports {
++                      #address-cells = <1>;
++                      #size-cells = <0>;
++              };
++      };
++
+       dmu-bus@1800c000 {
+               compatible = "simple-bus";
+               ranges = <0 0x1800c000 0x1000>;
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -218,30 +218,9 @@
+                       <0x00028000 6 &gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
+                       <0x00028000 7 &gic GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
+-              chipcommon@0 {
+-                      interrupt-controller;
+-                      #interrupt-cells = <2>;
+-              };
+-
+               pcie2: pcie@14000 {
+                       reg = <0x00014000 0x1000>;
+               };
+-
+-              gmac0: ethernet@24000 {
+-                      reg = <0x24000 0x800>;
+-              };
+-
+-              gmac1: ethernet@25000 {
+-                      reg = <0x25000 0x800>;
+-              };
+-
+-              gmac2: ethernet@26000 {
+-                      reg = <0x26000 0x800>;
+-              };
+-
+-              gmac3: ethernet@27000 {
+-                      reg = <0x27000 0x800>;
+-              };
+       };
+       pwm: pwm@18002000 {
+@@ -322,24 +301,6 @@
+               };
+       };
+-      srab: ethernet-switch@18007000 {
+-              compatible = "brcm,bcm53011-srab", "brcm,bcm5301x-srab";
+-              reg = <0x18007000 0x1000>;
+-
+-              status = "disabled";
+-
+-              /* ports are defined in board DTS */
+-              ports {
+-                      #address-cells = <1>;
+-                      #size-cells = <0>;
+-              };
+-      };
+-
+-      rng: rng@18004000 {
+-              compatible = "brcm,bcm5301x-rng";
+-              reg = <0x18004000 0x14>;
+-      };
+-
+       nand_controller: nand-controller@18028000 {
+               compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1", "brcm,brcmnand";
+               reg = <0x18028000 0x600>, <0x1811a408 0x600>, <0x18028f00 0x20>;
diff --git a/target/linux/bcm53xx/patches-5.10/039-v6.5-0003-ARM-dts-BCM5301X-Drop-clock-names-from-the-SPI-node.patch b/target/linux/bcm53xx/patches-5.10/039-v6.5-0003-ARM-dts-BCM5301X-Drop-clock-names-from-the-SPI-node.patch
new file mode 100644 (file)
index 0000000..4065db8
--- /dev/null
@@ -0,0 +1,32 @@
+From d3c8e2c5757153bbfad70019ec1decbca86f3def Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Wed, 3 May 2023 14:28:30 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Drop "clock-names" from the SPI node
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+There is no such property in the SPI controller binding documentation.
+Also Linux driver doesn't look for it.
+
+This fixes:
+arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: spi@18029200: Unevaluated properties are not allowed ('clock-names' was unexpected)
+        From schema: Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20230503122830.3200-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ arch/arm/boot/dts/bcm5301x.dtsi | 1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -335,7 +335,6 @@
+                                 "spi_lr_session_done",
+                                 "spi_lr_overread";
+               clocks = <&iprocmed>;
+-              clock-names = "iprocmed";
+               num-cs = <2>;
+               #address-cells = <1>;
+               #size-cells = <0>;
diff --git a/target/linux/bcm53xx/patches-5.10/039-v6.5-0004-ARM-dts-BCM5301X-Relicense-Hauke-s-code-to-the-GPL-2.patch b/target/linux/bcm53xx/patches-5.10/039-v6.5-0004-ARM-dts-BCM5301X-Relicense-Hauke-s-code-to-the-GPL-2.patch
new file mode 100644 (file)
index 0000000..328748c
--- /dev/null
@@ -0,0 +1,249 @@
+From b3b3cd885ed39cb4b38319a1c4fa4e41db6fee72 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Mon, 15 May 2023 17:19:20 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Relicense Hauke's code to the GPL 2.0+ /
+ MIT
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Move code added by Hauke to the bcm-ns.dtsi which uses dual licensing.
+That syncs more Northstar code to be based on the same licensing schema.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Cc: Hauke Mehrtens <hauke@hauke-m.de>
+Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
+Link: https://lore.kernel.org/r/20230515151921.25021-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm-ns.dtsi   | 90 +++++++++++++++++++++++++++++++++
+ arch/arm/boot/dts/bcm5301x.dtsi | 85 -------------------------------
+ 2 files changed, 90 insertions(+), 85 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm-ns.dtsi
++++ b/arch/arm/boot/dts/bcm-ns.dtsi
+@@ -1,4 +1,7 @@
+ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
++/*
++ * Copyright 2013-2014 Hauke Mehrtens <hauke@hauke-m.de>
++ */
+ #include <dt-bindings/clock/bcm-nsp.h>
+ #include <dt-bindings/gpio/gpio.h>
+@@ -7,6 +10,81 @@
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ / {
++      interrupt-parent = <&gic>;
++      #address-cells = <1>;
++      #size-cells = <1>;
++
++      chipcommon-a-bus@18000000 {
++              compatible = "simple-bus";
++              ranges = <0x00000000 0x18000000 0x00001000>;
++              #address-cells = <1>;
++              #size-cells = <1>;
++
++              uart0: serial@300 {
++                      compatible = "ns16550";
++                      reg = <0x0300 0x100>;
++                      interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
++                      clocks = <&iprocslow>;
++                      status = "disabled";
++              };
++
++              uart1: serial@400 {
++                      compatible = "ns16550";
++                      reg = <0x0400 0x100>;
++                      interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
++                      clocks = <&iprocslow>;
++                      pinctrl-names = "default";
++                      pinctrl-0 = <&pinmux_uart1>;
++                      status = "disabled";
++              };
++      };
++
++      mpcore-bus@19000000 {
++              compatible = "simple-bus";
++              ranges = <0x00000000 0x19000000 0x00023000>;
++              #address-cells = <1>;
++              #size-cells = <1>;
++
++              scu@20000 {
++                      compatible = "arm,cortex-a9-scu";
++                      reg = <0x20000 0x100>;
++              };
++
++              timer@20200 {
++                      compatible = "arm,cortex-a9-global-timer";
++                      reg = <0x20200 0x100>;
++                      interrupts = <GIC_PPI 11 IRQ_TYPE_EDGE_RISING>;
++                      clocks = <&periph_clk>;
++              };
++
++              timer@20600 {
++                      compatible = "arm,cortex-a9-twd-timer";
++                      reg = <0x20600 0x20>;
++                      interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) |
++                                                IRQ_TYPE_EDGE_RISING)>;
++                      clocks = <&periph_clk>;
++              };
++
++              gic: interrupt-controller@21000 {
++                      compatible = "arm,cortex-a9-gic";
++                      #interrupt-cells = <3>;
++                      #address-cells = <0>;
++                      interrupt-controller;
++                      reg = <0x21000 0x1000>,
++                            <0x20100 0x100>;
++              };
++
++              L2: cache-controller@22000 {
++                      compatible = "arm,pl310-cache";
++                      reg = <0x22000 0x1000>;
++                      cache-unified;
++                      arm,shared-override;
++                      prefetch-data = <1>;
++                      prefetch-instr = <1>;
++                      cache-level = <2>;
++              };
++      };
++
+       axi@18000000 {
+               compatible = "brcm,bus-axi";
+               reg = <0x18000000 0x1000>;
+@@ -216,6 +294,18 @@
+               };
+       };
++      nand_controller: nand-controller@18028000 {
++              compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1", "brcm,brcmnand";
++              reg = <0x18028000 0x600>, <0x1811a408 0x600>, <0x18028f00 0x20>;
++              reg-names = "nand", "iproc-idm", "iproc-ext";
++              interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
++
++              #address-cells = <1>;
++              #size-cells = <0>;
++
++              brcm,nand-has-wp;
++      };
++
+       thermal-zones {
+               cpu_thermal: cpu-thermal {
+                       polling-delay-passive = <0>;
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -11,41 +11,7 @@
+ #include "bcm-ns.dtsi"
+ / {
+-      #address-cells = <1>;
+-      #size-cells = <1>;
+-      interrupt-parent = <&gic>;
+-
+-      chipcommon-a-bus@18000000 {
+-              compatible = "simple-bus";
+-              ranges = <0x00000000 0x18000000 0x00001000>;
+-              #address-cells = <1>;
+-              #size-cells = <1>;
+-
+-              uart0: serial@300 {
+-                      compatible = "ns16550";
+-                      reg = <0x0300 0x100>;
+-                      interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
+-                      clocks = <&iprocslow>;
+-                      status = "disabled";
+-              };
+-
+-              uart1: serial@400 {
+-                      compatible = "ns16550";
+-                      reg = <0x0400 0x100>;
+-                      interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
+-                      clocks = <&iprocslow>;
+-                      pinctrl-names = "default";
+-                      pinctrl-0 = <&pinmux_uart1>;
+-                      status = "disabled";
+-              };
+-      };
+-
+       mpcore-bus@19000000 {
+-              compatible = "simple-bus";
+-              ranges = <0x00000000 0x19000000 0x00023000>;
+-              #address-cells = <1>;
+-              #size-cells = <1>;
+-
+               a9pll: arm_clk@0 {
+                       #clock-cells = <0>;
+                       compatible = "brcm,nsp-armpll";
+@@ -53,26 +19,6 @@
+                       reg = <0x00000 0x1000>;
+               };
+-              scu@20000 {
+-                      compatible = "arm,cortex-a9-scu";
+-                      reg = <0x20000 0x100>;
+-              };
+-
+-              timer@20200 {
+-                      compatible = "arm,cortex-a9-global-timer";
+-                      reg = <0x20200 0x100>;
+-                      interrupts = <GIC_PPI 11 IRQ_TYPE_EDGE_RISING>;
+-                      clocks = <&periph_clk>;
+-              };
+-
+-              timer@20600 {
+-                      compatible = "arm,cortex-a9-twd-timer";
+-                      reg = <0x20600 0x20>;
+-                      interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) |
+-                                                IRQ_TYPE_EDGE_RISING)>;
+-                      clocks = <&periph_clk>;
+-              };
+-
+               watchdog@20620 {
+                       compatible = "arm,cortex-a9-twd-wdt";
+                       reg = <0x20620 0x20>;
+@@ -80,25 +26,6 @@
+                                                 IRQ_TYPE_EDGE_RISING)>;
+                       clocks = <&periph_clk>;
+               };
+-
+-              gic: interrupt-controller@21000 {
+-                      compatible = "arm,cortex-a9-gic";
+-                      #interrupt-cells = <3>;
+-                      #address-cells = <0>;
+-                      interrupt-controller;
+-                      reg = <0x21000 0x1000>,
+-                            <0x20100 0x100>;
+-              };
+-
+-              L2: cache-controller@22000 {
+-                      compatible = "arm,pl310-cache";
+-                      reg = <0x22000 0x1000>;
+-                      cache-unified;
+-                      arm,shared-override;
+-                      prefetch-data = <1>;
+-                      prefetch-instr = <1>;
+-                      cache-level = <2>;
+-              };
+       };
+       pmu {
+@@ -301,18 +228,6 @@
+               };
+       };
+-      nand_controller: nand-controller@18028000 {
+-              compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1", "brcm,brcmnand";
+-              reg = <0x18028000 0x600>, <0x1811a408 0x600>, <0x18028f00 0x20>;
+-              reg-names = "nand", "iproc-idm", "iproc-ext";
+-              interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
+-
+-              #address-cells = <1>;
+-              #size-cells = <0>;
+-
+-              brcm,nand-has-wp;
+-      };
+-
+       spi@18029200 {
+               compatible = "brcm,spi-nsp-qspi", "brcm,spi-bcm-qspi";
+               reg = <0x18029200 0x184>,
diff --git a/target/linux/bcm53xx/patches-5.10/039-v6.5-0005-ARM-dts-BCM5301X-Relicense-AXI-interrupts-code-to-th.patch b/target/linux/bcm53xx/patches-5.10/039-v6.5-0005-ARM-dts-BCM5301X-Relicense-AXI-interrupts-code-to-th.patch
new file mode 100644 (file)
index 0000000..ef29266
--- /dev/null
@@ -0,0 +1,203 @@
+From 3b3e35b279bee5e51580c648399e20323467f58c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Mon, 15 May 2023 17:19:21 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Relicense AXI interrupts code to the GPL
+ 2.0+ / MIT
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Those entries were added by:
+1. Hauke in commits dec378827c4a ("ARM: BCM5301X: Add IRQs to Broadcom's
+   bus-axi in DTS file") and 1f80de6863ca ("ARM: BCM5301X: add IRQ
+   numbers for PCIe controller")
+2. Florian in the commit 2cd0c0202f13 ("ARM: dts: BCM5301X: Add SRAB
+   interrupts")
+
+Move them to the bcm-ns.dtsi which uses dual licensing. That syncs more
+Northstar code to be based on the same licensing schema.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Cc: Hauke Mehrtens <hauke@hauke-m.de>
+Cc: Florian Fainelli <f.fainelli@gmail.com>
+Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
+Link: https://lore.kernel.org/r/20230515151921.25021-2-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm-ns.dtsi   | 73 ++++++++++++++++++++++++++++++++
+ arch/arm/boot/dts/bcm5301x.dtsi | 75 ---------------------------------
+ 2 files changed, 73 insertions(+), 75 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm-ns.dtsi
++++ b/arch/arm/boot/dts/bcm-ns.dtsi
+@@ -92,6 +92,79 @@
+               #address-cells = <1>;
+               #size-cells = <1>;
++              #interrupt-cells = <1>;
++              interrupt-map-mask = <0x000fffff 0xffff>;
++              interrupt-map =
++                      /* ChipCommon */
++                      <0x00000000 0 &gic GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
++
++                      /* Switch Register Access Block */
++                      <0x00007000 0 &gic GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00007000 1 &gic GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00007000 2 &gic GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00007000 3 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00007000 4 &gic GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00007000 5 &gic GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00007000 6 &gic GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00007000 7 &gic GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00007000 8 &gic GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00007000 9 &gic GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00007000 10 &gic GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00007000 11 &gic GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00007000 12 &gic GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
++
++                      /* PCIe Controller 0 */
++                      <0x00012000 0 &gic GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00012000 1 &gic GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00012000 2 &gic GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00012000 3 &gic GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00012000 4 &gic GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00012000 5 &gic GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
++
++                      /* PCIe Controller 1 */
++                      <0x00013000 0 &gic GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00013000 1 &gic GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00013000 2 &gic GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00013000 3 &gic GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00013000 4 &gic GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00013000 5 &gic GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
++
++                      /* PCIe Controller 2 */
++                      <0x00014000 0 &gic GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00014000 1 &gic GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00014000 2 &gic GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00014000 3 &gic GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00014000 4 &gic GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00014000 5 &gic GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
++
++                      /* USB 2.0 Controller */
++                      <0x00021000 0 &gic GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
++
++                      /* USB 3.0 Controller */
++                      <0x00023000 0 &gic GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
++
++                      /* Ethernet Controller 0 */
++                      <0x00024000 0 &gic GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
++
++                      /* Ethernet Controller 1 */
++                      <0x00025000 0 &gic GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
++
++                      /* Ethernet Controller 2 */
++                      <0x00026000 0 &gic GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
++
++                      /* Ethernet Controller 3 */
++                      <0x00027000 0 &gic GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
++
++                      /* NAND Controller */
++                      <0x00028000 0 &gic GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00028000 1 &gic GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00028000 2 &gic GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00028000 3 &gic GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00028000 4 &gic GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00028000 5 &gic GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00028000 6 &gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
++                      <0x00028000 7 &gic GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
++
+               chipcommon: chipcommon@0 {
+                       reg = <0x00000000 0x1000>;
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -3,8 +3,6 @@
+  * Generic DTS part for all BCM53010, BCM53011, BCM53012, BCM53014, BCM53015,
+  * BCM53016, BCM53017, BCM53018, BCM4707, BCM4708 and BCM4709 SoCs
+  *
+- * Copyright 2013-2014 Hauke Mehrtens <hauke@hauke-m.de>
+- *
+  * Licensed under the GNU/GPL. See COPYING for details.
+  */
+@@ -72,79 +70,6 @@
+       };
+       axi@18000000 {
+-              #interrupt-cells = <1>;
+-              interrupt-map-mask = <0x000fffff 0xffff>;
+-              interrupt-map = 
+-                      /* ChipCommon */
+-                      <0x00000000 0 &gic GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
+-
+-                      /* Switch Register Access Block */
+-                      <0x00007000 0 &gic GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00007000 1 &gic GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00007000 2 &gic GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00007000 3 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00007000 4 &gic GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00007000 5 &gic GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00007000 6 &gic GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00007000 7 &gic GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00007000 8 &gic GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00007000 9 &gic GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00007000 10 &gic GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00007000 11 &gic GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00007000 12 &gic GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
+-
+-                      /* PCIe Controller 0 */
+-                      <0x00012000 0 &gic GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00012000 1 &gic GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00012000 2 &gic GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00012000 3 &gic GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00012000 4 &gic GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00012000 5 &gic GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
+-
+-                      /* PCIe Controller 1 */
+-                      <0x00013000 0 &gic GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00013000 1 &gic GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00013000 2 &gic GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00013000 3 &gic GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00013000 4 &gic GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00013000 5 &gic GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
+-
+-                      /* PCIe Controller 2 */
+-                      <0x00014000 0 &gic GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00014000 1 &gic GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00014000 2 &gic GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00014000 3 &gic GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00014000 4 &gic GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00014000 5 &gic GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
+-
+-                      /* USB 2.0 Controller */
+-                      <0x00021000 0 &gic GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
+-
+-                      /* USB 3.0 Controller */
+-                      <0x00023000 0 &gic GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
+-
+-                      /* Ethernet Controller 0 */
+-                      <0x00024000 0 &gic GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
+-
+-                      /* Ethernet Controller 1 */
+-                      <0x00025000 0 &gic GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
+-
+-                      /* Ethernet Controller 2 */
+-                      <0x00026000 0 &gic GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
+-
+-                      /* Ethernet Controller 3 */
+-                      <0x00027000 0 &gic GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
+-
+-                      /* NAND Controller */
+-                      <0x00028000 0 &gic GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00028000 1 &gic GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00028000 2 &gic GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00028000 3 &gic GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00028000 4 &gic GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00028000 5 &gic GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00028000 6 &gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
+-                      <0x00028000 7 &gic GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
+-
+               pcie2: pcie@14000 {
+                       reg = <0x00014000 0x1000>;
+               };
diff --git a/target/linux/bcm53xx/patches-5.10/039-v6.5-0006-ARM-dts-BCM5301X-Specify-MAC-addresses-on-Luxul-devi.patch b/target/linux/bcm53xx/patches-5.10/039-v6.5-0006-ARM-dts-BCM5301X-Specify-MAC-addresses-on-Luxul-devi.patch
new file mode 100644 (file)
index 0000000..7d9b297
--- /dev/null
@@ -0,0 +1,336 @@
+From dfa6570eb5ce2f24059caadbe2ed70034b5337bc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Mon, 15 May 2023 10:33:08 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Specify MAC addresses on Luxul devices
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Use NRAM (NVMEM device) and its "et0macaddr" variable (NVMEM cell) to
+point Ethernet devices to their MAC addresses.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20230515083308.7612-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts     | 13 +++++++++++++
+ arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts     | 13 +++++++++++++
+ arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts    | 13 +++++++++++++
+ arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts    | 11 +++++++++++
+ arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts    | 11 +++++++++++
+ arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts    | 13 +++++++++++++
+ arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts    | 11 +++++++++++
+ arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts    | 13 +++++++++++++
+ arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts    | 11 +++++++++++
+ arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts |  5 ++++-
+ 10 files changed, 113 insertions(+), 1 deletion(-)
+
+--- a/arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts
++++ b/arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts
+@@ -20,6 +20,14 @@
+               reg = <0x00000000 0x08000000>;
+       };
++      nvram@1eff0000 {
++              compatible = "brcm,nvram";
++              reg = <0x1eff0000 0x10000>;
++
++              et0macaddr: et0macaddr {
++              };
++      };
++
+       leds {
+               compatible = "gpio-leds";
+@@ -53,6 +61,11 @@
+       };
+ };
++&gmac0 {
++      nvmem-cells = <&et0macaddr>;
++      nvmem-cell-names = "mac-address";
++};
++
+ &spi_nor {
+       status = "okay";
+ };
+--- a/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts
++++ b/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts
+@@ -24,6 +24,14 @@
+               reg = <0x00000000 0x08000000>;
+       };
++      nvram@1eff0000 {
++              compatible = "brcm,nvram";
++              reg = <0x1eff0000 0x10000>;
++
++              et0macaddr: et0macaddr {
++              };
++      };
++
+       nand_controller: nand-controller@18028000 {
+               nand@0 {
+                       partitions {
+@@ -60,6 +68,11 @@
+       };
+ };
++&gmac0 {
++      nvmem-cells = <&et0macaddr>;
++      nvmem-cell-names = "mac-address";
++};
++
+ &spi_nor {
+       status = "okay";
+ };
+--- a/arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts
++++ b/arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts
+@@ -20,6 +20,14 @@
+               reg = <0x00000000 0x08000000>;
+       };
++      nvram@1eff0000 {
++              compatible = "brcm,nvram";
++              reg = <0x1eff0000 0x10000>;
++
++              et0macaddr: et0macaddr {
++              };
++      };
++
+       leds {
+               compatible = "gpio-leds";
+@@ -53,6 +61,11 @@
+       };
+ };
++&gmac0 {
++      nvmem-cells = <&et0macaddr>;
++      nvmem-cell-names = "mac-address";
++};
++
+ &spi_nor {
+       status = "okay";
+ };
+--- a/arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
++++ b/arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
+@@ -24,6 +24,10 @@
+       nvram@1eff0000 {
+               compatible = "brcm,nvram";
+               reg = <0x1eff0000 0x10000>;
++
++              et0macaddr: et0macaddr {
++                      #nvmem-cell-cells = <1>;
++              };
+       };
+       leds {
+@@ -106,6 +110,11 @@
+       vcc-gpio = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
+ };
++&gmac0 {
++      nvmem-cells = <&et0macaddr 0>;
++      nvmem-cell-names = "mac-address";
++};
++
+ &spi_nor {
+       status = "okay";
+ };
+@@ -137,6 +146,8 @@
+               port@4 {
+                       reg = <4>;
+                       label = "wan";
++                      nvmem-cells = <&et0macaddr 5>;
++                      nvmem-cell-names = "mac-address";
+               };
+               port@5 {
+--- a/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
+@@ -25,6 +25,10 @@
+       nvram@1eff0000 {
+               compatible = "brcm,nvram";
+               reg = <0x1eff0000 0x10000>;
++
++              et0macaddr: et0macaddr {
++                      #nvmem-cell-cells = <1>;
++              };
+       };
+       leds {
+@@ -61,6 +65,11 @@
+       vcc-gpio = <&chipcommon 18 GPIO_ACTIVE_HIGH>;
+ };
++&gmac0 {
++      nvmem-cells = <&et0macaddr 0>;
++      nvmem-cell-names = "mac-address";
++};
++
+ &spi_nor {
+       status = "okay";
+ };
+@@ -76,6 +85,8 @@
+               port@0 {
+                       reg = <0>;
+                       label = "wan";
++                      nvmem-cells = <&et0macaddr 1>;
++                      nvmem-cell-names = "mac-address";
+               };
+               port@1 {
+--- a/arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts
+@@ -20,6 +20,14 @@
+               reg = <0x00000000 0x08000000>;
+       };
++      nvram@1eff0000 {
++              compatible = "brcm,nvram";
++              reg = <0x1eff0000 0x10000>;
++
++              et0macaddr: et0macaddr {
++              };
++      };
++
+       leds {
+               compatible = "gpio-leds";
+@@ -51,6 +59,11 @@
+       };
+ };
++&gmac0 {
++      nvmem-cells = <&et0macaddr>;
++      nvmem-cell-names = "mac-address";
++};
++
+ &spi_nor {
+       status = "okay";
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
+@@ -25,6 +25,10 @@
+       nvram@1eff0000 {
+               compatible = "brcm,nvram";
+               reg = <0x1eff0000 0x10000>;
++
++              et0macaddr: et0macaddr {
++                      #nvmem-cell-cells = <1>;
++              };
+       };
+       leds {
+@@ -61,6 +65,11 @@
+       vcc-gpio = <&chipcommon 18 GPIO_ACTIVE_HIGH>;
+ };
++&gmac0 {
++      nvmem-cells = <&et0macaddr 0>;
++      nvmem-cell-names = "mac-address";
++};
++
+ &spi_nor {
+       status = "okay";
+ };
+@@ -76,6 +85,8 @@
+               port@0 {
+                       reg = <0>;
+                       label = "wan";
++                      nvmem-cells = <&et0macaddr 1>;
++                      nvmem-cell-names = "mac-address";
+               };
+               port@1 {
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts
+@@ -22,6 +22,14 @@
+                     <0x88000000 0x18000000>;
+       };
++      nvram@1eff0000 {
++              compatible = "brcm,nvram";
++              reg = <0x1eff0000 0x10000>;
++
++              et0macaddr: et0macaddr {
++              };
++      };
++
+       leds {
+               compatible = "gpio-leds";
+@@ -47,6 +55,11 @@
+       status = "okay";
+ };
++&gmac0 {
++      nvmem-cells = <&et0macaddr>;
++      nvmem-cell-names = "mac-address";
++};
++
+ &spi_nor {
+       status = "okay";
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts
+@@ -25,6 +25,10 @@
+       nvram@1eff0000 {
+               compatible = "brcm,nvram";
+               reg = <0x1eff0000 0x10000>;
++
++              et0macaddr: et0macaddr {
++                      #nvmem-cell-cells = <1>;
++              };
+       };
+       leds {
+@@ -101,6 +105,11 @@
+       vcc-gpio = <&chipcommon 18 GPIO_ACTIVE_HIGH>;
+ };
++&gmac0 {
++      nvmem-cells = <&et0macaddr 0>;
++      nvmem-cell-names = "mac-address";
++};
++
+ &spi_nor {
+       status = "okay";
+ };
+@@ -136,6 +145,8 @@
+               port@4 {
+                       reg = <4>;
+                       label = "wan";
++                      nvmem-cells = <&et0macaddr 5>;
++                      nvmem-cell-names = "mac-address";
+               };
+               port@5 {
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts
+@@ -27,6 +27,7 @@
+               reg = <0x1eff0000 0x10000>;
+               et0macaddr: et0macaddr {
++                      #nvmem-cell-cells = <1>;
+               };
+       };
+@@ -76,7 +77,7 @@
+ };
+ &gmac0 {
+-      nvmem-cells = <&et0macaddr>;
++      nvmem-cells = <&et0macaddr 0>;
+       nvmem-cell-names = "mac-address";
+ };
+@@ -119,6 +120,8 @@
+               port@4 {
+                       reg = <4>;
+                       label = "wan";
++                      nvmem-cells = <&et0macaddr 5>;
++                      nvmem-cell-names = "mac-address";
+               };
+               port@5 {
diff --git a/target/linux/bcm53xx/patches-5.10/039-v6.5-0007-ARM-dts-BCM5301X-Use-updated-device-compatible-strin.patch b/target/linux/bcm53xx/patches-5.10/039-v6.5-0007-ARM-dts-BCM5301X-Use-updated-device-compatible-strin.patch
new file mode 100644 (file)
index 0000000..5f5890e
--- /dev/null
@@ -0,0 +1,90 @@
+From 9d7121f1d2faa0b50bf5b462adcd2dd91970c45e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Sat, 20 May 2023 13:26:01 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Use updated device "compatible" strings
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Northstar binding was updated to use minus/hyphen char between model and
+version for all devices.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
+Link: https://lore.kernel.org/r/20230520112601.11821-2-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts   | 2 +-
+ arch/arm/boot/dts/bcm4708-netgear-r6250.dts    | 2 +-
+ arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts | 2 +-
+ arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts  | 2 +-
+ arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts  | 2 +-
+ arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts  | 2 +-
+ 6 files changed, 6 insertions(+), 6 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts
++++ b/arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts
+@@ -8,7 +8,7 @@
+ #include "bcm4708.dtsi"
+ / {
+-      compatible = "luxul,xap-1510v1", "brcm,bcm4708";
++      compatible = "luxul,xap-1510-v1", "brcm,bcm4708";
+       model = "Luxul XAP-1510 V1";
+       chosen {
+--- a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
++++ b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
+@@ -13,7 +13,7 @@
+ #include "bcm5301x-nand-cs0-bch8.dtsi"
+ / {
+-      compatible = "netgear,r6250v1", "brcm,bcm4708";
++      compatible = "netgear,r6250-v1", "brcm,bcm4708";
+       model = "Netgear R6250 V1 (BCM4708)";
+       chosen {
+--- a/arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts
++++ b/arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts
+@@ -12,7 +12,7 @@
+ #include "bcm5301x-nand-cs0-bch8.dtsi"
+ / {
+-      compatible = "netgear,r6300v2", "brcm,bcm4708";
++      compatible = "netgear,r6300-v2", "brcm,bcm4708";
+       model = "Netgear R6300 V2 (BCM4708)";
+       chosen {
+--- a/arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts
++++ b/arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts
+@@ -8,7 +8,7 @@
+ #include "bcm47081.dtsi"
+ / {
+-      compatible = "luxul,xap-1410v1", "brcm,bcm47081", "brcm,bcm4708";
++      compatible = "luxul,xap-1410-v1", "brcm,bcm47081", "brcm,bcm4708";
+       model = "Luxul XAP-1410 V1";
+       chosen {
+--- a/arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
++++ b/arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
+@@ -9,7 +9,7 @@
+ #include "bcm5301x-nand-cs0-bch4.dtsi"
+ / {
+-      compatible = "luxul,xwr-1200v1", "brcm,bcm47081", "brcm,bcm4708";
++      compatible = "luxul,xwr-1200-v1", "brcm,bcm47081", "brcm,bcm4708";
+       model = "Luxul XWR-1200 V1";
+       chosen {
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts
+@@ -9,7 +9,7 @@
+ #include "bcm5301x-nand-cs0-bch4.dtsi"
+ / {
+-      compatible = "luxul,xwr-3100v1", "brcm,bcm47094", "brcm,bcm4708";
++      compatible = "luxul,xwr-3100-v1", "brcm,bcm47094", "brcm,bcm4708";
+       model = "Luxul XWR-3100 V1";
+       chosen {
diff --git a/target/linux/bcm53xx/patches-5.10/039-v6.5-0008-ARM-dts-BCM5301X-Use-updated-spi-gpio-binding-proper.patch b/target/linux/bcm53xx/patches-5.10/039-v6.5-0008-ARM-dts-BCM5301X-Use-updated-spi-gpio-binding-proper.patch
new file mode 100644 (file)
index 0000000..c16587f
--- /dev/null
@@ -0,0 +1,82 @@
+From 04afb51c1dce90051487d3c7b70a1b1b246ce29a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Fri, 2 Jun 2023 17:10:23 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Use updated "spi-gpio" binding properties
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Switch away from deprecated properties.
+
+This fixes:
+arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dtb: spi: gpio-sck: False schema does not allow [[6, 7, 0]]
+        From schema: Documentation/devicetree/bindings/spi/spi-gpio.yaml
+arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dtb: spi: gpio-mosi: False schema does not allow [[6, 4, 0]]
+        From schema: Documentation/devicetree/bindings/spi/spi-gpio.yaml
+arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dtb: spi: 'sck-gpios' is a required property
+        From schema: Documentation/devicetree/bindings/spi/spi-gpio.yaml
+arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dtb: spi: Unevaluated properties are not allowed ('gpio-mosi', 'gpio-sck' were unexpected)
+        From schema: Documentation/devicetree/bindings/spi/spi-gpio.yaml
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20230602151023.8607-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm4708-buffalo-wzr-1166dhp-common.dtsi | 4 ++--
+ arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts         | 4 ++--
+ arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts        | 4 ++--
+ arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts         | 4 ++--
+ 4 files changed, 8 insertions(+), 8 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1166dhp-common.dtsi
++++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1166dhp-common.dtsi
+@@ -16,8 +16,8 @@
+       spi {
+               compatible = "spi-gpio";
+               num-chipselects = <1>;
+-              gpio-sck = <&chipcommon 7 0>;
+-              gpio-mosi = <&chipcommon 4 0>;
++              sck-gpios = <&chipcommon 7 0>;
++              mosi-gpios = <&chipcommon 4 0>;
+               cs-gpios = <&chipcommon 6 0>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+--- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
++++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
+@@ -28,8 +28,8 @@
+       spi {
+               compatible = "spi-gpio";
+               num-chipselects = <1>;
+-              gpio-sck = <&chipcommon 7 0>;
+-              gpio-mosi = <&chipcommon 4 0>;
++              sck-gpios = <&chipcommon 7 0>;
++              mosi-gpios = <&chipcommon 4 0>;
+               cs-gpios = <&chipcommon 6 0>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+--- a/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts
++++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts
+@@ -28,8 +28,8 @@
+       spi {
+               compatible = "spi-gpio";
+               num-chipselects = <1>;
+-              gpio-sck = <&chipcommon 7 0>;
+-              gpio-mosi = <&chipcommon 4 0>;
++              sck-gpios = <&chipcommon 7 0>;
++              mosi-gpios = <&chipcommon 4 0>;
+               cs-gpios = <&chipcommon 6 0>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+--- a/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts
++++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts
+@@ -28,8 +28,8 @@
+       spi {
+               compatible = "spi-gpio";
+               num-chipselects = <1>;
+-              gpio-sck = <&chipcommon 7 0>;
+-              gpio-mosi = <&chipcommon 4 0>;
++              sck-gpios = <&chipcommon 7 0>;
++              mosi-gpios = <&chipcommon 4 0>;
+               cs-gpios = <&chipcommon 6 0>;
+               #address-cells = <1>;
+               #size-cells = <0>;
diff --git a/target/linux/bcm53xx/patches-5.10/039-v6.5-0009-ARM-dts-BCM5301X-Drop-invalid-usb-cells.patch b/target/linux/bcm53xx/patches-5.10/039-v6.5-0009-ARM-dts-BCM5301X-Drop-invalid-usb-cells.patch
new file mode 100644 (file)
index 0000000..59fa457
--- /dev/null
@@ -0,0 +1,54 @@
+From c3acdd4901192bc69dc577012663d5abae21661e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Fri, 2 Jun 2023 15:34:54 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Drop invalid #usb-cells
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Such property simply doesn't exist (is not documented or used anywhere).
+
+This fixes:
+arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: usb@21000: Unevaluated properties are not allowed ('#usb-cells' was unexpected)
+        From schema: Documentation/devicetree/bindings/usb/generic-ehci.yaml
+arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: usb@22000: Unevaluated properties are not allowed ('#usb-cells' was unexpected)
+        From schema: Documentation/devicetree/bindings/usb/generic-ohci.yaml
+arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: usb@23000: Unevaluated properties are not allowed ('#usb-cells' was unexpected)
+        From schema: Documentation/devicetree/bindings/usb/generic-xhci.yaml
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20230602133455.7441-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm-ns.dtsi | 6 ------
+ 1 file changed, 6 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm-ns.dtsi
++++ b/arch/arm/boot/dts/bcm-ns.dtsi
+@@ -192,8 +192,6 @@
+                       interrupt-parent = <&gic>;
+                       ehci: usb@21000 {
+-                              #usb-cells = <0>;
+-
+                               compatible = "generic-ehci";
+                               reg = <0x00021000 0x1000>;
+                               interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
+@@ -214,8 +212,6 @@
+                       };
+                       ohci: usb@22000 {
+-                              #usb-cells = <0>;
+-
+                               compatible = "generic-ohci";
+                               reg = <0x00022000 0x1000>;
+                               interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
+@@ -245,8 +241,6 @@
+                       interrupt-parent = <&gic>;
+                       xhci: usb@23000 {
+-                              #usb-cells = <0>;
+-
+                               compatible = "generic-xhci";
+                               reg = <0x00023000 0x1000>;
+                               interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/target/linux/bcm53xx/patches-5.10/039-v6.5-0010-ARM-dts-BCM5301X-Drop-invalid-properties-from-Meraki.patch b/target/linux/bcm53xx/patches-5.10/039-v6.5-0010-ARM-dts-BCM5301X-Drop-invalid-properties-from-Meraki.patch
new file mode 100644 (file)
index 0000000..b8411fc
--- /dev/null
@@ -0,0 +1,31 @@
+From 676bf7d062c14191c3fc12f1e36e1f3809041483 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Fri, 2 Jun 2023 15:34:55 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Drop invalid properties from Meraki MR32
+ keys
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This fixes:
+arch/arm/boot/dts/bcm53015-meraki-mr26.dtb: keys: '#address-cells', '#size-cells' do not match any of the regexes: '^(button|event|key|switch|(button|event|key|switch)-[a-z0-9-]+|[a-z0-9-]+-(button|event|key|switch))$', 'pinctrl-[0-9]+'
+        From schema: Documentation/devicetree/bindings/input/gpio-keys.yaml
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20230602133455.7441-2-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm53015-meraki-mr26.dts | 2 --
+ 1 file changed, 2 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
++++ b/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
+@@ -39,8 +39,6 @@
+       keys {
+               compatible = "gpio-keys";
+-              #address-cells = <1>;
+-              #size-cells = <0>;
+               key-restart {
+                       label = "Reset";
diff --git a/target/linux/bcm53xx/patches-5.10/039-v6.5-0011-ARM-dts-BCM5301X-Relicense-Christian-s-code-to-the-G.patch b/target/linux/bcm53xx/patches-5.10/039-v6.5-0011-ARM-dts-BCM5301X-Relicense-Christian-s-code-to-the-G.patch
new file mode 100644 (file)
index 0000000..7496321
--- /dev/null
@@ -0,0 +1,106 @@
+From 1d5682ccc7d6088179b6cfd50a3e3bb6d2b0527e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Mon, 5 Jun 2023 08:10:49 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Relicense Christian's code to the GPL
+ 2.0+ / MIT
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Move code added by Christian to the bcm-ns.dtsi which uses dual
+licensing. That syncs more Northstar code to be based on the same
+licensing schema.
+
+Cc: Christian Lamparter <chunkeey@gmail.com>
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Acked-by: Christian Lamparter <chunkeey@gmail.com>
+Link: https://lore.kernel.org/r/20230605061049.16136-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm-ns.dtsi   | 21 +++++++++++++++++++++
+ arch/arm/boot/dts/bcm5301x.dtsi | 23 -----------------------
+ 2 files changed, 21 insertions(+), 23 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm-ns.dtsi
++++ b/arch/arm/boot/dts/bcm-ns.dtsi
+@@ -182,6 +182,10 @@
+                       reg = <0x00013000 0x1000>;
+               };
++              pcie2: pcie@14000 {
++                      reg = <0x00014000 0x1000>;
++              };
++
+               usb2: usb2@21000 {
+                       reg = <0x00021000 0x1000>;
+@@ -274,6 +278,14 @@
+               };
+       };
++      pwm: pwm@18002000 {
++              compatible = "brcm,iproc-pwm";
++              reg = <0x18002000 0x28>;
++              clocks = <&osc>;
++              #pwm-cells = <3>;
++              status = "disabled";
++      };
++
+       mdio: mdio@18003000 {
+               compatible = "brcm,iproc-mdio";
+               reg = <0x18003000 0x8>;
+@@ -299,6 +311,15 @@
+               };
+       };
++      uart2: serial@18008000 {
++              compatible = "ns16550a";
++              reg = <0x18008000 0x20>;
++              clocks = <&iprocslow>;
++              interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
++              reg-shift = <2>;
++              status = "disabled";
++      };
++
+       dmu-bus@1800c000 {
+               compatible = "simple-bus";
+               ranges = <0 0x1800c000 0x1000>;
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -69,20 +69,6 @@
+               };
+       };
+-      axi@18000000 {
+-              pcie2: pcie@14000 {
+-                      reg = <0x00014000 0x1000>;
+-              };
+-      };
+-
+-      pwm: pwm@18002000 {
+-              compatible = "brcm,iproc-pwm";
+-              reg = <0x18002000 0x28>;
+-              clocks = <&osc>;
+-              #pwm-cells = <3>;
+-              status = "disabled";
+-      };
+-
+       mdio-mux@18003000 {
+               compatible = "mdio-mux-mmioreg", "mdio-mux";
+               mdio-parent-bus = <&mdio>;
+@@ -110,15 +96,6 @@
+               reg = <0x18105000 0x1000>;
+       };
+-      uart2: serial@18008000 {
+-              compatible = "ns16550a";
+-              reg = <0x18008000 0x20>;
+-              clocks = <&iprocslow>;
+-              interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
+-              reg-shift = <2>;
+-              status = "disabled";
+-      };
+-
+       i2c0: i2c@18009000 {
+               compatible = "brcm,iproc-i2c";
+               reg = <0x18009000 0x50>;
diff --git a/target/linux/bcm53xx/patches-5.10/039-v6.5-0012-ARM-dts-BCM5301X-Describe-switch-ports-in-the-main-D.patch b/target/linux/bcm53xx/patches-5.10/039-v6.5-0012-ARM-dts-BCM5301X-Describe-switch-ports-in-the-main-D.patch
new file mode 100644 (file)
index 0000000..fa2f21a
--- /dev/null
@@ -0,0 +1,838 @@
+From ba4aebce23b2affb810b8a60eae853674d2cded2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Mon, 5 Jun 2023 15:21:09 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Describe switch ports in the main DTS
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+All Northstar SoCs have BCM5301x switches (BCM53011, BCM53012) with 8
+ports (0-8 without 6). By design 3 switch ports (5, 7 and 8) are
+hardwired to 3 on-SoC Ethernet interfaces. Switch port 8 requires
+forcing link state.
+
+It seems that global Northstar .dtsi file is the best place to describe
+those hw details. Only device specific bits (like labels) should go to
+device .dts files.
+
+This seems to fit well with a tiny exception of Asus RT-AC88U which
+somehow was designed to have switch 5 connected to an extra switch. This
+case was simply handled with a /delete-property/.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Reviewed-by: Christian Lamparter <chunkeey@gmail.com> (MR32+MR26)
+Link: https://lore.kernel.org/r/20230605132109.7933-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm-ns.dtsi                 | 41 ++++++++++++++++++-
+ .../bcm4708-buffalo-wzr-1166dhp-common.dtsi   |  7 ----
+ arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts  |  4 --
+ arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts  |  3 --
+ arch/arm/boot/dts/bcm4708-netgear-r6250.dts   |  7 ----
+ arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts |  7 ----
+ .../boot/dts/bcm47081-buffalo-wzr-600dhp2.dts |  7 ----
+ arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts |  3 --
+ arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts |  7 ----
+ arch/arm/boot/dts/bcm4709-netgear-r8000.dts   | 12 ------
+ arch/arm/boot/dts/bcm47094-asus-rt-ac88u.dts  | 17 +-------
+ arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts | 12 ------
+ arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts | 12 ------
+ .../boot/dts/bcm47094-linksys-panamera.dts    | 34 ++++-----------
+ arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts |  7 ----
+ arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts |  4 --
+ arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts |  7 ----
+ arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts |  3 --
+ arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts |  7 ----
+ .../boot/dts/bcm47094-luxul-xwr-3150-v1.dts   |  7 ----
+ arch/arm/boot/dts/bcm53015-meraki-mr26.dts    |  3 --
+ arch/arm/boot/dts/bcm53016-meraki-mr32.dts    |  3 --
+ 22 files changed, 51 insertions(+), 163 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm-ns.dtsi
++++ b/arch/arm/boot/dts/bcm-ns.dtsi
+@@ -304,10 +304,49 @@
+               status = "disabled";
+-              /* ports are defined in board DTS */
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
++
++                      port@0 {
++                              reg = <0>;
++                      };
++
++                      port@1 {
++                              reg = <1>;
++                      };
++
++                      port@2 {
++                              reg = <2>;
++                      };
++
++                      port@3 {
++                              reg = <3>;
++                      };
++
++                      port@4 {
++                              reg = <4>;
++                      };
++
++                      port@5 {
++                              reg = <5>;
++                              ethernet = <&gmac0>;
++                      };
++
++                      port@7 {
++                              reg = <7>;
++                              ethernet = <&gmac1>;
++                      };
++
++                      port@8 {
++                              reg = <8>;
++                              ethernet = <&gmac2>;
++
++                              fixed-link {
++                                      speed = <1000>;
++                                      full-duplex;
++                              };
++                      };
+               };
+       };
+--- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1166dhp-common.dtsi
++++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1166dhp-common.dtsi
+@@ -159,34 +159,27 @@
+       ports {
+               port@0 {
+-                      reg = <0>;
+                       label = "lan1";
+               };
+               port@1 {
+-                      reg = <1>;
+                       label = "lan2";
+               };
+               port@2 {
+-                      reg = <2>;
+                       label = "lan3";
+               };
+               port@3 {
+-                      reg = <3>;
+                       label = "lan4";
+               };
+               port@4 {
+-                      reg = <4>;
+                       label = "wan";
+               };
+               port@5 {
+-                      reg = <5>;
+                       label = "cpu";
+-                      ethernet = <&gmac0>;
+               };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts
++++ b/arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts
+@@ -75,19 +75,15 @@
+       ports {
+               port@0 {
+-                      reg = <0>;
+                       label = "poe";
+               };
+               port@4 {
+-                      reg = <4>;
+                       label = "lan";
+               };
+               port@5 {
+-                      reg = <5>;
+                       label = "cpu";
+-                      ethernet = <&gmac0>;
+               };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts
++++ b/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts
+@@ -82,14 +82,11 @@
+       ports {
+               port@4 {
+-                      reg = <4>;
+                       label = "lan";
+               };
+               port@5 {
+-                      reg = <5>;
+                       label = "cpu";
+-                      ethernet = <&gmac0>;
+               };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
++++ b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
+@@ -100,34 +100,27 @@
+       ports {
+               port@0 {
+-                      reg = <0>;
+                       label = "lan4";
+               };
+               port@1 {
+-                      reg = <1>;
+                       label = "lan3";
+               };
+               port@2 {
+-                      reg = <2>;
+                       label = "lan2";
+               };
+               port@3 {
+-                      reg = <3>;
+                       label = "lan1";
+               };
+               port@4 {
+-                      reg = <4>;
+                       label = "wan";
+               };
+               port@5 {
+-                      reg = <5>;
+                       label = "cpu";
+-                      ethernet = <&gmac0>;
+               };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
++++ b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
+@@ -123,34 +123,27 @@
+       ports {
+               port@0 {
+-                      reg = <0>;
+                       label = "lan4";
+               };
+               port@1 {
+-                      reg = <1>;
+                       label = "lan3";
+               };
+               port@2 {
+-                      reg = <2>;
+                       label = "lan2";
+               };
+               port@3 {
+-                      reg = <3>;
+                       label = "lan1";
+               };
+               port@4 {
+-                      reg = <4>;
+                       label = "wan";
+               };
+               port@5 {
+-                      reg = <5>;
+                       label = "cpu";
+-                      ethernet = <&gmac0>;
+               };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts
++++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts
+@@ -123,34 +123,27 @@
+       ports {
+               port@0 {
+-                      reg = <0>;
+                       label = "lan1";
+               };
+               port@1 {
+-                      reg = <1>;
+                       label = "lan2";
+               };
+               port@2 {
+-                      reg = <2>;
+                       label = "lan3";
+               };
+               port@3 {
+-                      reg = <3>;
+                       label = "lan4";
+               };
+               port@4 {
+-                      reg = <4>;
+                       label = "wan";
+               };
+               port@5 {
+-                      reg = <5>;
+                       label = "cpu";
+-                      ethernet = <&gmac0>;
+               };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts
++++ b/arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts
+@@ -75,14 +75,11 @@
+       ports {
+               port@4 {
+-                      reg = <4>;
+                       label = "poe";
+               };
+               port@5 {
+-                      reg = <5>;
+                       label = "cpu";
+-                      ethernet = <&gmac0>;
+               };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
++++ b/arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
+@@ -124,36 +124,29 @@
+       ports {
+               port@0 {
+-                      reg = <0>;
+                       label = "lan4";
+               };
+               port@1 {
+-                      reg = <1>;
+                       label = "lan3";
+               };
+               port@2 {
+-                      reg = <2>;
+                       label = "lan2";
+               };
+               port@3 {
+-                      reg = <3>;
+                       label = "lan1";
+               };
+               port@4 {
+-                      reg = <4>;
+                       label = "wan";
+                       nvmem-cells = <&et0macaddr 5>;
+                       nvmem-cell-names = "mac-address";
+               };
+               port@5 {
+-                      reg = <5>;
+                       label = "cpu";
+-                      ethernet = <&gmac0>;
+               };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
++++ b/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
+@@ -191,39 +191,27 @@
+       ports {
+               port@0 {
+-                      reg = <0>;
+                       label = "lan1";
+               };
+               port@1 {
+-                      reg = <1>;
+                       label = "lan2";
+               };
+               port@2 {
+-                      reg = <2>;
+                       label = "lan3";
+               };
+               port@3 {
+-                      reg = <3>;
+                       label = "lan4";
+               };
+               port@4 {
+-                      reg = <4>;
+                       label = "wan";
+               };
+               port@8 {
+-                      reg = <8>;
+                       label = "cpu";
+-                      ethernet = <&gmac2>;
+-
+-                      fixed-link {
+-                              speed = <1000>;
+-                              full-duplex;
+-                      };
+               };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47094-asus-rt-ac88u.dts
++++ b/arch/arm/boot/dts/bcm47094-asus-rt-ac88u.dts
+@@ -181,32 +181,28 @@
+       ports {
+               port@0 {
+-                      reg = <0>;
+                       label = "lan4";
+               };
+               port@1 {
+-                      reg = <1>;
+                       label = "lan3";
+               };
+               port@2 {
+-                      reg = <2>;
+                       label = "lan2";
+               };
+               port@3 {
+-                      reg = <3>;
+                       label = "lan1";
+               };
+               port@4 {
+-                      reg = <4>;
+                       label = "wan";
+               };
+               sw0_p5: port@5 {
+-                      reg = <5>;
++                      /delete-property/ethernet;
++
+                       label = "extsw";
+                       phy-mode = "rgmii";
+@@ -218,8 +214,6 @@
+               };
+               port@7 {
+-                      reg = <7>;
+-                      ethernet = <&gmac1>;
+                       label = "cpu";
+                       fixed-link {
+@@ -229,14 +223,7 @@
+               };
+               port@8 {
+-                      reg = <8>;
+-                      ethernet = <&gmac2>;
+                       label = "cpu";
+-
+-                      fixed-link {
+-                              speed = <1000>;
+-                              full-duplex;
+-                      };
+               };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts
++++ b/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts
+@@ -124,39 +124,27 @@
+       ports {
+               port@0 {
+-                      reg = <0>;
+                       label = "lan4";
+               };
+               port@1 {
+-                      reg = <1>;
+                       label = "lan3";
+               };
+               port@2 {
+-                      reg = <2>;
+                       label = "lan2";
+               };
+               port@3 {
+-                      reg = <3>;
+                       label = "lan1";
+               };
+               port@4 {
+-                      reg = <4>;
+                       label = "wan";
+               };
+               port@8 {
+-                      reg = <8>;
+                       label = "cpu";
+-                      ethernet = <&gmac2>;
+-
+-                      fixed-link {
+-                              speed = <1000>;
+-                              full-duplex;
+-                      };
+               };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts
++++ b/arch/arm/boot/dts/bcm47094-dlink-dir-890l.dts
+@@ -172,40 +172,28 @@
+       ports {
+               port@0 {
+-                      reg = <0>;
+                       label = "lan1";
+               };
+               port@1 {
+-                      reg = <1>;
+                       label = "lan2";
+               };
+               port@2 {
+-                      reg = <2>;
+                       label = "lan3";
+               };
+               port@3 {
+-                      reg = <3>;
+                       label = "lan4";
+               };
+               port@4 {
+-                      reg = <4>;
+                       label = "wan";
+               };
+               port@8 {
+-                      reg = <8>;
+                       label = "cpu";
+-                      ethernet = <&gmac2>;
+                       phy-mode = "rgmii";
+-
+-                      fixed-link {
+-                              speed = <1000>;
+-                              full-duplex;
+-                      };
+               };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47094-linksys-panamera.dts
++++ b/arch/arm/boot/dts/bcm47094-linksys-panamera.dts
+@@ -207,29 +207,32 @@
+       dsa,member = <0 0>;
+       ports {
++              sw0_p0: port@0 {
++                      label = "extsw";
++
++                      fixed-link {
++                              speed = <1000>;
++                              full-duplex;
++                      };
++              };
++
+               port@1 {
+-                      reg = <1>;
+                       label = "lan7";
+               };
+               port@2 {
+-                      reg = <2>;
+                       label = "lan4";
+               };
+               port@3 {
+-                      reg = <3>;
+                       label = "lan8";
+               };
+               port@4 {
+-                      reg = <4>;
+                       label = "wan";
+               };
+               port@5 {
+-                      reg = <5>;
+-                      ethernet = <&gmac0>;
+                       label = "cpu";
+                       status = "disabled";
+@@ -240,8 +243,6 @@
+               };
+               port@7 {
+-                      reg = <7>;
+-                      ethernet = <&gmac1>;
+                       label = "cpu";
+                       status = "disabled";
+@@ -252,24 +253,7 @@
+               };
+               port@8 {
+-                      reg = <8>;
+-                      ethernet = <&gmac2>;
+                       label = "cpu";
+-
+-                      fixed-link {
+-                              speed = <1000>;
+-                              full-duplex;
+-                      };
+-              };
+-
+-              sw0_p0: port@0 {
+-                      reg = <0>;
+-                      label = "extsw";
+-
+-                      fixed-link {
+-                              speed = <1000>;
+-                              full-duplex;
+-                      };
+               };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
+@@ -83,36 +83,29 @@
+       ports {
+               port@0 {
+-                      reg = <0>;
+                       label = "wan";
+                       nvmem-cells = <&et0macaddr 1>;
+                       nvmem-cell-names = "mac-address";
+               };
+               port@1 {
+-                      reg = <1>;
+                       label = "lan4";
+               };
+               port@2 {
+-                      reg = <2>;
+                       label = "lan3";
+               };
+               port@3 {
+-                      reg = <3>;
+                       label = "lan2";
+               };
+               port@4 {
+-                      reg = <4>;
+                       label = "lan1";
+               };
+               port@5 {
+-                      reg = <5>;
+                       label = "cpu";
+-                      ethernet = <&gmac0>;
+               };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xap-1610.dts
+@@ -73,19 +73,15 @@
+       ports {
+               port@0 {
+-                      reg = <0>;
+                       label = "poe";
+               };
+               port@1 {
+-                      reg = <1>;
+                       label = "lan";
+               };
+               port@5 {
+-                      reg = <5>;
+                       label = "cpu";
+-                      ethernet = <&gmac0>;
+               };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
+@@ -83,36 +83,29 @@
+       ports {
+               port@0 {
+-                      reg = <0>;
+                       label = "wan";
+                       nvmem-cells = <&et0macaddr 1>;
+                       nvmem-cell-names = "mac-address";
+               };
+               port@1 {
+-                      reg = <1>;
+                       label = "lan4";
+               };
+               port@2 {
+-                      reg = <2>;
+                       label = "lan3";
+               };
+               port@3 {
+-                      reg = <3>;
+                       label = "lan2";
+               };
+               port@4 {
+-                      reg = <4>;
+                       label = "lan1";
+               };
+               port@5 {
+-                      reg = <5>;
+                       label = "cpu";
+-                      ethernet = <&gmac0>;
+               };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwc-2000.dts
+@@ -69,14 +69,11 @@
+       ports {
+               port@0 {
+-                      reg = <0>;
+                       label = "lan";
+               };
+               port@5 {
+-                      reg = <5>;
+                       label = "cpu";
+-                      ethernet = <&gmac0>;
+               };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts
+@@ -123,36 +123,29 @@
+       ports {
+               port@0 {
+-                      reg = <0>;
+                       label = "lan4";
+               };
+               port@1 {
+-                      reg = <1>;
+                       label = "lan3";
+               };
+               port@2 {
+-                      reg = <2>;
+                       label = "lan2";
+               };
+               port@3 {
+-                      reg = <3>;
+                       label = "lan1";
+               };
+               port@4 {
+-                      reg = <4>;
+                       label = "wan";
+                       nvmem-cells = <&et0macaddr 5>;
+                       nvmem-cell-names = "mac-address";
+               };
+               port@5 {
+-                      reg = <5>;
+                       label = "cpu";
+-                      ethernet = <&gmac0>;
+               };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts
++++ b/arch/arm/boot/dts/bcm47094-luxul-xwr-3150-v1.dts
+@@ -98,36 +98,29 @@
+       ports {
+               port@0 {
+-                      reg = <0>;
+                       label = "lan4";
+               };
+               port@1 {
+-                      reg = <1>;
+                       label = "lan3";
+               };
+               port@2 {
+-                      reg = <2>;
+                       label = "lan2";
+               };
+               port@3 {
+-                      reg = <3>;
+                       label = "lan1";
+               };
+               port@4 {
+-                      reg = <4>;
+                       label = "wan";
+                       nvmem-cells = <&et0macaddr 5>;
+                       nvmem-cell-names = "mac-address";
+               };
+               port@5 {
+-                      reg = <5>;
+                       label = "cpu";
+-                      ethernet = <&gmac0>;
+               };
+       };
+ };
+--- a/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
++++ b/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
+@@ -115,14 +115,11 @@
+       ports {
+               port@0 {
+-                      reg = <0>;
+                       label = "poe";
+               };
+               port@5 {
+-                      reg = <5>;
+                       label = "cpu";
+-                      ethernet = <&gmac0>;
+                       fixed-link {
+                               speed = <1000>;
+--- a/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
++++ b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
+@@ -176,14 +176,11 @@
+       ports {
+               port@0 {
+-                      reg = <0>;
+                       label = "poe";
+               };
+               port@5 {
+-                      reg = <5>;
+                       label = "cpu";
+-                      ethernet = <&gmac0>;
+                       fixed-link {
+                               speed = <1000>;
diff --git a/target/linux/bcm53xx/patches-5.10/039-v6.5-0013-ARM-dts-BCM5301X-MR26-MR32-remove-bogus-nand-ecc-alg.patch b/target/linux/bcm53xx/patches-5.10/039-v6.5-0013-ARM-dts-BCM5301X-MR26-MR32-remove-bogus-nand-ecc-alg.patch
new file mode 100644 (file)
index 0000000..ea571f4
--- /dev/null
@@ -0,0 +1,63 @@
+From a6a1a156f5debaebf9f61850d111b966e9be9ee9 Mon Sep 17 00:00:00 2001
+From: Christian Lamparter <chunkeey@gmail.com>
+Date: Thu, 8 Jun 2023 17:36:27 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: MR26: MR32: remove bogus nand-ecc-algo
+ property
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+| bcm53015-meraki-mr26.dtb: nand-controller@18028000:
+|   nand@0:nand-ecc-algo:0: 'hw' is not one of ['hamming', 'bch', 'rs']
+| From schema: Documentation/[...]/nand-controller.yaml
+| bcm53016-meraki-mr32.dtb: nand-controller@18028000:
+|   nand@0:nand-ecc-algo:0: 'hw' is not one of ['hamming', 'bch', 'rs']
+| From schema: Documentation/[...]/nand-controller.yaml
+
+original ECC values for these old Merakis are sadly not
+provided by the vendor. It looks like Meraki just stuck
+with what Broadcom's SDK was doing... which left this
+up to the proprietary nand driver.
+
+Note: The invalid setting was and is handled by brcmnand. It
+falls back to "bch" in brcmnand_setup_dev() when ecc.algo is
+set to NAND_ECC_ALGO_UNKNOWN (since "hw" is not in the list
+above).
+
+A correct nand-ecc-algo = "bch"; is already specified in the
+included  "bcm5301x-nand-cs0-bch8.dtsi". So this line can be
+dropped.
+
+Reported-by: Rafał Miłecki <zajec5@gmail.com> (per Mail)
+Fixes: 935327a73553 ("ARM: dts: BCM5301X: Add DT for Meraki MR26")
+Fixes: ec88a9c344d9 ("ARM: BCM5301X: Add DT for Meraki MR32")
+Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
+Link: https://lore.kernel.org/r/2c4d00dd40124c2ddc0b139cbce7531b108f9052.1686238550.git.chunkeey@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm53015-meraki-mr26.dts | 2 --
+ arch/arm/boot/dts/bcm53016-meraki-mr32.dts | 2 --
+ 2 files changed, 4 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
++++ b/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
+@@ -72,8 +72,6 @@
+ };
+ &nandcs {
+-      nand-ecc-algo = "hw";
+-
+       partitions {
+               compatible = "fixed-partitions";
+               #address-cells = <0x1>;
+--- a/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
++++ b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
+@@ -125,8 +125,6 @@
+ };
+ &nandcs {
+-      nand-ecc-algo = "hw";
+-
+       partitions {
+               /*
+                * The partition autodetection does not work for this device.
diff --git a/target/linux/bcm53xx/patches-5.10/039-v6.5-0014-ARM-dts-BCM5301X-MR32-remove-partition-index-numbers.patch b/target/linux/bcm53xx/patches-5.10/039-v6.5-0014-ARM-dts-BCM5301X-MR32-remove-partition-index-numbers.patch
new file mode 100644 (file)
index 0000000..8eb5442
--- /dev/null
@@ -0,0 +1,54 @@
+From d68b2f7d7d06872450d4f39d84d5926d7e7ae88c Mon Sep 17 00:00:00 2001
+From: Christian Lamparter <chunkeey@gmail.com>
+Date: Thu, 8 Jun 2023 17:36:28 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: MR32: remove partition index numbers
+
+removes the partition indexes in the node names under.
+This brings the device tree source in line with others.
+
+Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
+Link: https://lore.kernel.org/r/627f57d568030a56499361790524b4d4f3381619.1686238550.git.chunkeey@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm53016-meraki-mr32.dts | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
++++ b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
+@@ -138,31 +138,31 @@
+               #address-cells = <0x1>;
+               #size-cells = <0x1>;
+-              partition0@0 {
++              partition@0 {
+                       label = "u-boot";
+                       reg = <0x0 0x100000>;
+                       read-only;
+               };
+-              partition1@100000 {
++              partition@100000 {
+                       label = "bootkernel1";
+                       reg = <0x100000 0x300000>;
+                       read-only;
+               };
+-              partition2@400000 {
++              partition@400000 {
+                       label = "nvram";
+                       reg = <0x400000 0x100000>;
+                       read-only;
+               };
+-              partition3@500000 {
++              partition@500000 {
+                       label = "bootkernel2";
+                       reg = <0x500000 0x300000>;
+                       read-only;
+               };
+-              partition4@800000 {
++              partition@800000 {
+                       label = "ubi";
+                       reg = <0x800000 0x7780000>;
+               };
diff --git a/target/linux/bcm53xx/patches-5.10/039-v6.5-0015-ARM-dts-BCM5301X-fix-duplex-full-full-duplex.patch b/target/linux/bcm53xx/patches-5.10/039-v6.5-0015-ARM-dts-BCM5301X-fix-duplex-full-full-duplex.patch
new file mode 100644 (file)
index 0000000..805dcf5
--- /dev/null
@@ -0,0 +1,44 @@
+From fd274b733bfdde3ca72f0fa2a37f032f3a8c402c Mon Sep 17 00:00:00 2001
+From: Christian Lamparter <chunkeey@gmail.com>
+Date: Thu, 8 Jun 2023 17:36:29 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: fix duplex-full => full-duplex
+
+this typo was found by the dtbs_check
+| ports:port@5:fixed-link: 'oneOf' conditional failed,
+|  {'speed': [[1000]], 'duplex-full': True} is not of type 'array'
+| 'duplex-full' does not match any of the regexes: 'pinctrl-[0-]..."
+
+this should have been full-duplex;
+
+Fixes: 935327a73553 ("ARM: dts: BCM5301X: Add DT for Meraki MR26")
+Fixes: ec88a9c344d9 ("ARM: BCM5301X: Add DT for Meraki MR32")
+Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
+Link: https://lore.kernel.org/r/50522f45566951a9eabd22820647924cc6b4a264.1686238550.git.chunkeey@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm53015-meraki-mr26.dts | 2 +-
+ arch/arm/boot/dts/bcm53016-meraki-mr32.dts | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
++++ b/arch/arm/boot/dts/bcm53015-meraki-mr26.dts
+@@ -121,7 +121,7 @@
+                       fixed-link {
+                               speed = <1000>;
+-                              duplex-full;
++                              full-duplex;
+                       };
+               };
+       };
+--- a/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
++++ b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
+@@ -182,7 +182,7 @@
+                       fixed-link {
+                               speed = <1000>;
+-                              duplex-full;
++                              full-duplex;
+                       };
+               };
+       };
diff --git a/target/linux/bcm53xx/patches-5.10/039-v6.5-0016-ARM-dts-BCM5301X-Add-Netgear-R8000-WiFi-regulator-ma.patch b/target/linux/bcm53xx/patches-5.10/039-v6.5-0016-ARM-dts-BCM5301X-Add-Netgear-R8000-WiFi-regulator-ma.patch
new file mode 100644 (file)
index 0000000..3ffe0b2
--- /dev/null
@@ -0,0 +1,61 @@
+From 752a63b8dbe6cc6900efd1035bea427a778a4b55 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Fri, 2 Jun 2023 15:59:25 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Add Netgear R8000 WiFi regulator mappings
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This allows setting FullMAC firmware regulatory domain.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20230602135925.14143-3-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm4709-netgear-r8000.dts | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+--- a/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
++++ b/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
+@@ -137,8 +137,10 @@
+               #size-cells = <2>;
+               wifi@0,1,0 {
++                      compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
+                       reg = <0x0000 0 0 0 0>;
+                       ieee80211-freq-limit = <5735000 5835000>;
++                      brcm,ccode-map = "JP-JP-78", "US-Q2-86";
+               };
+       };
+ };
+@@ -159,6 +161,19 @@
+                       #address-cells = <3>;
+                       #size-cells = <2>;
++                      bridge@1,0 {
++                              reg = <0x800 0 0 0 0>;
++
++                              #address-cells = <3>;
++                              #size-cells = <2>;
++
++                              wifi@0,0 {
++                                      compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
++                                      reg = <0x0000 0 0 0 0>;
++                                      brcm,ccode-map = "JP-JP-78", "US-Q2-86";
++                              };
++                      };
++
+                       bridge@1,2,2 {
+                               reg = <0x1000 0 0 0 0>;
+@@ -166,8 +181,10 @@
+                               #size-cells = <2>;
+                               wifi@1,4,0 {
++                                      compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
+                                       reg = <0x0000 0 0 0 0>;
+                                       ieee80211-freq-limit = <5170000 5730000>;
++                                      brcm,ccode-map = "JP-JP-78", "US-Q2-86";
+                               };
+                       };
+               };
diff --git a/target/linux/bcm53xx/patches-5.10/039-v6.5-0017-ARM-dts-BCM5301X-Add-cells-sizes-to-PCIe-nodes.patch b/target/linux/bcm53xx/patches-5.10/039-v6.5-0017-ARM-dts-BCM5301X-Add-cells-sizes-to-PCIe-nodes.patch
new file mode 100644 (file)
index 0000000..454ce4c
--- /dev/null
@@ -0,0 +1,59 @@
+From b67cad33176e472df6d16a24ee7624299bdcd5d5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Fri, 16 Jun 2023 12:58:27 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Add cells sizes to PCIe nodes
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This fixes:
+arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: pcie@12000: '#address-cells' is a required property
+        From schema: /lib/python3.10/site-packages/dtschema/schemas/pci/pci-bus.yaml
+arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: pcie@12000: '#size-cells' is a required property
+        From schema: /lib/python3.10/site-packages/dtschema/schemas/pci/pci-bus.yaml
+arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: pcie@13000: '#address-cells' is a required property
+        From schema: /lib/python3.10/site-packages/dtschema/schemas/pci/pci-bus.yaml
+arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: pcie@13000: '#size-cells' is a required property
+        From schema: /lib/python3.10/site-packages/dtschema/schemas/pci/pci-bus.yaml
+arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: pcie@14000: '#address-cells' is a required property
+        From schema: /lib/python3.10/site-packages/dtschema/schemas/pci/pci-bus.yaml
+arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dtb: pcie@14000: '#size-cells' is a required property
+        From schema: /lib/python3.10/site-packages/dtschema/schemas/pci/pci-bus.yaml
+
+Two properties that need to be added later are "device_type" and
+"ranges". Adding "device_type" on its own causes a new warning and the
+value of "ranges" needs to be determined yet.
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Link: https://lore.kernel.org/r/20230616105827.21656-1-zajec5@gmail.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/bcm-ns.dtsi | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+--- a/arch/arm/boot/dts/bcm-ns.dtsi
++++ b/arch/arm/boot/dts/bcm-ns.dtsi
+@@ -176,14 +176,23 @@
+               pcie0: pcie@12000 {
+                       reg = <0x00012000 0x1000>;
++
++                      #address-cells = <3>;
++                      #size-cells = <2>;
+               };
+               pcie1: pcie@13000 {
+                       reg = <0x00013000 0x1000>;
++
++                      #address-cells = <3>;
++                      #size-cells = <2>;
+               };
+               pcie2: pcie@14000 {
+                       reg = <0x00014000 0x1000>;
++
++                      #address-cells = <3>;
++                      #size-cells = <2>;
+               };
+               usb2: usb2@21000 {
index ffea250ccb943abcb3967111826040700ab57eac..6368c2a536ce468b802dd51be684a6b7dfaa4aee 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
 
 --- a/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
 +++ b/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
-@@ -93,3 +93,40 @@
+@@ -92,3 +92,40 @@
  &usb3_phy {
        status = "okay";
  };
index 92a71e58fe843b8398da2f38b831b69c204b66f5..2bc1033ee41a50e557001585803e083a869d94c4 100644 (file)
@@ -21,8 +21,8 @@ Signed-off-by: Christian Lamparter <chunkeey@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>;