[openwrt/openwrt] kernel: bump 5.15 to 5.15.111

LEDE Commits lede-commits at lists.infradead.org
Sat May 13 13:45:09 PDT 2023


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/228e0e10398ba2b82e8ac07df3369dbfa15d1517

commit 228e0e10398ba2b82e8ac07df3369dbfa15d1517
Author: John Audia <therealgraysky at proton.me>
AuthorDate: Fri May 12 12:33:18 2023 -0400

    kernel: bump 5.15 to 5.15.111
    
    Removed upstreamed:
            01. backport-5.15/424-v6.4-0001-mtd-core-provide-unique-name-for-nvmem-device-take-t.patch
            02. backport-5.15/424-v6.4-0002-mtd-core-fix-nvmem-error-reporting.patch
            03. generic-backport/424-v6.4-0003-mtd-core-fix-error-path-for-nvmem-provider.patch
            04. generic-backport/828-v6.4-0001-of-Fix-modalias-string-generation.patch
            05. bcm4908/patches-5.15/031-v5.17-0002-arm64-dts-broadcom-bcm4908-add-DT-for-Netgear-RAXE50.patch
            06. bcm4908/patches-5.15/033-v6.0-0001-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM63158.patchgit
            07. bcm4908/patches-5.15/033-v6.0-0002-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM4912.patchgita
            08. bcm4908/patches-5.15/033-v6.0-0010-arm64-dts-Add-base-DTS-file-for-bcmbca-device-Asus-G.patchgit
            09. bcm4908/patches-5.15/034-v6.1-0005-arm64-dts-Move-BCM4908-dts-to-bcmbca-folder.patch
            10. bcm4908/patches-5.15/036-v6.4-0002-arm64-dts-broadcom-bcmbca-bcm4908-fix-NAND-interrupt.patch
            11. bcm4908/patches-5.15/036-v6.4-0004-arm64-dts-broadcom-bcmbca-bcm4908-fix-procmon-nodena.patch
            12. ipq806x/patches-5.15/104-v6.0-06-ARM-dts-qcom-ipq8064-reduce-pci-IO-size-to-64K.patch
    
    Manually rebased:
            bcm27xx/patches-5.15/950-0078-BCM2708-Add-core-Device-Tree-support.patch
            bcm27xx/patches-5.15/950-0547-ARM-dts-Add-Pi-Zero-2-support.patch
            bcm4908/patches-5.15/033-v6.0-0001-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM63158.patchgit
            bcm4908/patches-5.15/033-v6.0-0002-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM4912.patchgit
            bcm4908/patches-5.15/030-v5.16-0001-arm64-dts-broadcom-bcm4908-Fix-NAND-node-name.patch
            bcm4908/patches-5.15/032-v5.18-0002-arm64-dts-broadcom-bcm4908-add-pinctrl-binding.patch
            bcm4908/patches-5.15/032-v5.18-0003-arm64-dts-broadcom-bcm4908-add-watchdog-block.patch
            bcm4908/patches-5.15/032-v5.18-0004-arm64-dts-broadcom-bcm4908-add-I2C-block.patch
            bcm4908/patches-5.15/033-v6.0-0003-ARM64-dts-Add-DTS-files-for-bcmbca-SoC-BCM6858.patchgit
            bcm4908/patches-5.15/033-v6.0-0008-arm64-dts-broadcom-bcm4908-Fix-timer-node-for-BCM490.patchgit
            bcm4908/patches-5.15/034-v6.1-0001-arm64-dts-broadcom-bcm4908-add-remaining-LED-pins.patch
            bcm4908/patches-5.15/034-v6.1-0002-arm64-dts-broadcom-bcm4908-add-LEDs-controller-block.patch
            bcm4908/patches-5.15/034-v6.1-0003-arm64-dts-broadcom-bcm4908-add-Asus-GT-AC5300-LEDs.patch
            bcm4908/patches-5.15/034-v6.1-0004-arm64-dts-bcmbca-update-BCM4908-board-dts-files.patch
    
    All other patches automatically rebased.
    
    Build system: x86_64
    Build-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod
    Run-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod
    
    01. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=77112d23a671697f0f70695ab901f807e15d2093
    02. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=fe07b3b5af01f42b291f5da0da09d047f50b33a6
    03. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=273be36e420924237f6c9d43cdad96718c13dd52
    04. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=fe8ab85ed4958e58e991bba0aa0a655b552b0273
    05. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=6ae67829fa5e9e71f458f69db42f0e216225616a
    06. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=1994284cb9226b65ca3a6744ce3320218b584f26
    07. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=a46878476c5549a4fde15a31922ce80a50b23492
    08. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=112ff0f2530549d50510f116474924f9c4fad590
    09. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=7c253e98685e6d884d12e2618ef4d2ad90b4fbd7
    10. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=8444b46e163aa9559a0af0381a1d230ec4146eb2
    11. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=6d1af517817a760d7af3dee0fc4603645485495c
    12. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=cc4f0e168a5630ad0491ac5328f1a89f3cf3d04e
    
    Signed-off-by: John Audia <therealgraysky at proton.me>
---
 include/kernel-5.15                                |    4 +-
 ...elper-Create-a-HPD-IRQ-event-helper-for-a.patch |    8 +-
 ...0078-BCM2708-Add-core-Device-Tree-support.patch |    2 +-
 ...4-dts-broadcom-bcm4908-Fix-NAND-node-name.patch |    6 +-
 ...roadcom-bcm4908-add-DT-for-Netgear-RAXE50.patch |   81 -
 ...-dts-broadcom-bcm4908-add-pinctrl-binding.patch |    6 +-
 ...4-dts-broadcom-bcm4908-add-watchdog-block.patch |    6 +-
 ...-arm64-dts-broadcom-bcm4908-add-I2C-block.patch |    6 +-
 ...-Add-DTS-files-for-bcmbca-SoC-BCM63158.patchgit |  199 --
 ...s-Add-DTS-files-for-bcmbca-SoC-BCM4912.patchgit |  191 --
 ...s-Add-DTS-files-for-bcmbca-SoC-BCM6858.patchgit |  184 --
 ...-Add-DTS-files-for-bcmbca-SoC-BCM63146.patchgit |    6 +-
 ...s-Add-DTS-files-for-bcmbca-SoC-BCM6856.patchgit |    4 +-
 ...s-Add-DTS-files-for-bcmbca-SoC-BCM6813.patchgit |    2 +-
 ...dcom-align-gpio-key-node-names-with-dt.patchgit |   12 +-
 ...dcom-bcm4908-Fix-timer-node-for-BCM490.patchgit |    6 +-
 ...base-DTS-file-for-bcmbca-device-Asus-G.patchgit |   54 -
 ...s-broadcom-bcm4908-add-remaining-LED-pins.patch |    6 +-
 ...roadcom-bcm4908-add-LEDs-controller-block.patch |    6 +-
 ...-broadcom-bcm4908-add-Asus-GT-AC5300-LEDs.patch |    6 +-
 ...dts-bcmbca-update-BCM4908-board-dts-files.patch |   24 +-
 ...m64-dts-Move-BCM4908-dts-to-bcmbca-folder.patch | 2507 --------------------
 ...roadcom-bcmbca-bcm4908-fix-NAND-interrupt.patch |   33 -
 ...roadcom-bcmbca-bcm4908-fix-procmon-nodena.patch |   30 -
 ...etting-MTD-device-associated-with-a-speci.patch |    2 +-
 ...aximum-number-of-bitflips-for-each-read-r.patch |    4 +-
 ...ovide-unique-name-for-nvmem-device-take-t.patch |   43 -
 ...4-0002-mtd-core-fix-nvmem-error-reporting.patch |   47 -
 ...td-core-fix-error-path-for-nvmem-provider.patch |   55 -
 ...nvert-users-of-bitmap_foo-to-linkmode_foo.patch |    2 +-
 ...t-stmicro-stmmac-move-queue-reset-to-dedi.patch |    8 +-
 ...t-stmicro-stmmac-move-dma-conf-to-dedicat.patch |   26 +-
 ...t-stmicro-stmmac-generate-stmmac-dma-conf.patch |   16 +-
 ...of-device-Ignore-modalias-of-reused-nodes.patch |    2 +-
 ...o-not-ignore-error-code-in-of_device_ueve.patch |    2 +-
 ....4-0001-of-Fix-modalias-string-generation.patch |   70 -
 .../pending-5.15/630-packet_socket_type.patch      |   16 +-
 ...ts-qcom-ipq8064-reduce-pci-IO-size-to-64K.patch |   51 -
 ...com-ipq8074-move-ARMv8-timer-out-of-SoC-n.patch |    2 +-
 ...-arm64-dts-qcom-ipq8074-add-thermal-nodes.patch |    2 +-
 ...helper-to-look-up-an-SPMI-device-from-a-d.patch |    2 +-
 ...place-ops-with-struct-pcie_cfg-in-pcie-ma.patch |    8 +-
 .../0077-v6.0-PCI-qcom-Add-IPQ60xx-support.patch   |    8 +-
 ...CI-qcom-Add-support-for-IPQ8074-Gen3-port.patch |    2 +-
 ...-dts-qcom-ipq8074-use-msi-parent-for-PCIe.patch |   12 +-
 ...dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch |    2 +-
 .../0121-arm64-dts-ipq8074-Add-WLAN-node.patch     |    2 +-
 .../patches-5.15/410-bt-mtk-serial-fix.patch       |    4 +-
 ...vers-mtk-use-function-pointer-for-raw_to_.patch |    2 +-
 ...ediatek-add-support-for-MT7986-and-MT7981.patch |    2 +-
 50 files changed, 118 insertions(+), 3663 deletions(-)

diff --git a/include/kernel-5.15 b/include/kernel-5.15
index 78aeee04fa..f1b1323e0e 100644
--- a/include/kernel-5.15
+++ b/include/kernel-5.15
@@ -1,2 +1,2 @@
-LINUX_VERSION-5.15 = .110
-LINUX_KERNEL_HASH-5.15.110 = 9829fcc77b9978dce97a26980dec445caf2410024696625dbb2314ead4830b5b
+LINUX_VERSION-5.15 = .111
+LINUX_KERNEL_HASH-5.15.111 = 77ceea259c0158dd624304871170d09b2e59ed612f3a4d436fe0f07362dcaec2
diff --git a/target/linux/bcm27xx/patches-5.15/950-0020-drm-probe-helper-Create-a-HPD-IRQ-event-helper-for-a.patch b/target/linux/bcm27xx/patches-5.15/950-0020-drm-probe-helper-Create-a-HPD-IRQ-event-helper-for-a.patch
index 4e62405b5e..82086a13fe 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0020-drm-probe-helper-Create-a-HPD-IRQ-event-helper-for-a.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0020-drm-probe-helper-Create-a-HPD-IRQ-event-helper-for-a.patch
@@ -39,7 +39,7 @@ Changes from v1:
 
 --- a/drivers/gpu/drm/drm_probe_helper.c
 +++ b/drivers/gpu/drm/drm_probe_helper.c
-@@ -795,6 +795,86 @@ void drm_kms_helper_poll_fini(struct drm
+@@ -796,6 +796,86 @@ void drm_kms_helper_poll_fini(struct drm
  }
  EXPORT_SYMBOL(drm_kms_helper_poll_fini);
  
@@ -126,7 +126,7 @@ Changes from v1:
  /**
   * drm_helper_hpd_irq_event - hotplug processing
   * @dev: drm_device
-@@ -808,9 +888,10 @@ EXPORT_SYMBOL(drm_kms_helper_poll_fini);
+@@ -809,9 +889,10 @@ EXPORT_SYMBOL(drm_kms_helper_poll_fini);
   * interrupts for each connector.
   *
   * Drivers which support hotplug interrupts for each connector individually and
@@ -140,7 +140,7 @@ Changes from v1:
   *
   * This function must be called from process context with no mode
   * setting locks held.
-@@ -822,9 +903,7 @@ bool drm_helper_hpd_irq_event(struct drm
+@@ -823,9 +904,7 @@ bool drm_helper_hpd_irq_event(struct drm
  {
  	struct drm_connector *connector;
  	struct drm_connector_list_iter conn_iter;
@@ -150,7 +150,7 @@ Changes from v1:
  
  	if (!dev->mode_config.poll_enabled)
  		return false;
-@@ -832,37 +911,8 @@ bool drm_helper_hpd_irq_event(struct drm
+@@ -833,37 +912,8 @@ bool drm_helper_hpd_irq_event(struct drm
  	mutex_lock(&dev->mode_config.mutex);
  	drm_connector_list_iter_begin(dev, &conn_iter);
  	drm_for_each_connector_iter(connector, &conn_iter) {
diff --git a/target/linux/bcm27xx/patches-5.15/950-0078-BCM2708-Add-core-Device-Tree-support.patch b/target/linux/bcm27xx/patches-5.15/950-0078-BCM2708-Add-core-Device-Tree-support.patch
index 424252db05..ce7c250143 100644
--- a/target/linux/bcm27xx/patches-5.15/950-0078-BCM2708-Add-core-Device-Tree-support.patch
+++ b/target/linux/bcm27xx/patches-5.15/950-0078-BCM2708-Add-core-Device-Tree-support.patch
@@ -30043,7 +30043,7 @@ index 11eae3e3a944..5a90727064ee 100644
 +dtb-$(CONFIG_ARCH_BCM2835) += bcm2710-rpi-cm3.dtb
 +dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-cm4.dtb
  
- subdir-y	+= bcm4908
+ subdir-y	+= bcmbca
  subdir-y	+= northstar2
  subdir-y	+= stingray
 +
diff --git a/target/linux/bcm4908/patches-5.15/030-v5.16-0001-arm64-dts-broadcom-bcm4908-Fix-NAND-node-name.patch b/target/linux/bcm4908/patches-5.15/030-v5.16-0001-arm64-dts-broadcom-bcm4908-Fix-NAND-node-name.patch
index 07a0c5f8d0..aaa5241c44 100644
--- a/target/linux/bcm4908/patches-5.15/030-v5.16-0001-arm64-dts-broadcom-bcm4908-Fix-NAND-node-name.patch
+++ b/target/linux/bcm4908/patches-5.15/030-v5.16-0001-arm64-dts-broadcom-bcm4908-Fix-NAND-node-name.patch
@@ -11,11 +11,11 @@ This matches nand-controller.yaml requirements.
 Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
 Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
 ---
- arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | 2 +-
+ arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
---- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
-+++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
+--- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi
++++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi
 @@ -298,7 +298,7 @@
  			status = "okay";
  		};
diff --git a/target/linux/bcm4908/patches-5.15/031-v5.17-0002-arm64-dts-broadcom-bcm4908-add-DT-for-Netgear-RAXE50.patch b/target/linux/bcm4908/patches-5.15/031-v5.17-0002-arm64-dts-broadcom-bcm4908-add-DT-for-Netgear-RAXE50.patch
deleted file mode 100644
index 9e0236ad0f..0000000000
--- a/target/linux/bcm4908/patches-5.15/031-v5.17-0002-arm64-dts-broadcom-bcm4908-add-DT-for-Netgear-RAXE50.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From d0e68d354f345873e15876a7b35be1baaf5e3ec9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal at milecki.pl>
-Date: Fri, 5 Nov 2021 11:14:13 +0100
-Subject: [PATCH] arm64: dts: broadcom: bcm4908: add DT for Netgear RAXE500
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-It's a home router based on BCM4908 SoC. It has: 1 GiB of RAM, 512 MiB
-NAND flash, 6 Ethernet ports and 3 x BCM43684 (WiFi). One of Ethernet
-ports is "2.5 G Multi-Gig port" that isn't described yet (it isn't known
-how it's wired up).
-
-Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
-Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
----
- arch/arm64/boot/dts/broadcom/bcm4908/Makefile |  1 +
- .../bcm4908/bcm4908-netgear-raxe500.dts       | 50 +++++++++++++++++++
- 2 files changed, 51 insertions(+)
- create mode 100644 arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-netgear-raxe500.dts
-
---- a/arch/arm64/boot/dts/broadcom/bcm4908/Makefile
-+++ b/arch/arm64/boot/dts/broadcom/bcm4908/Makefile
-@@ -2,3 +2,4 @@
- dtb-$(CONFIG_ARCH_BCM4908) += bcm4906-netgear-r8000p.dtb
- dtb-$(CONFIG_ARCH_BCM4908) += bcm4906-tplink-archer-c2300-v1.dtb
- dtb-$(CONFIG_ARCH_BCM4908) += bcm4908-asus-gt-ac5300.dtb
-+dtb-$(CONFIG_ARCH_BCM4908) += bcm4908-netgear-raxe500.dtb
---- /dev/null
-+++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-netgear-raxe500.dts
-@@ -0,0 +1,50 @@
-+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-+
-+#include "bcm4908.dtsi"
-+
-+/ {
-+	compatible = "netgear,raxe500", "brcm,bcm4908";
-+	model = "Netgear RAXE500";
-+
-+	memory at 0 {
-+		device_type = "memory";
-+		reg = <0x00 0x00 0x00 0x40000000>;
-+	};
-+};
-+
-+&ehci {
-+	status = "okay";
-+};
-+
-+&ohci {
-+	status = "okay";
-+};
-+
-+&xhci {
-+	status = "okay";
-+};
-+
-+&ports {
-+	port at 0 {
-+		label = "lan4";
-+	};
-+
-+	port at 1 {
-+		label = "lan3";
-+	};
-+
-+	port at 2 {
-+		label = "lan2";
-+	};
-+
-+	port at 3 {
-+		label = "lan1";
-+	};
-+
-+	port at 7 {
-+		reg = <7>;
-+		phy-mode = "internal";
-+		phy-handle = <&phy12>;
-+		label = "wan";
-+	};
-+};
diff --git a/target/linux/bcm4908/patches-5.15/032-v5.18-0002-arm64-dts-broadcom-bcm4908-add-pinctrl-binding.patch b/target/linux/bcm4908/patches-5.15/032-v5.18-0002-arm64-dts-broadcom-bcm4908-add-pinctrl-binding.patch
index 8560b8ee88..70b4dc216d 100644
--- a/target/linux/bcm4908/patches-5.15/032-v5.18-0002-arm64-dts-broadcom-bcm4908-add-pinctrl-binding.patch
+++ b/target/linux/bcm4908/patches-5.15/032-v5.18-0002-arm64-dts-broadcom-bcm4908-add-pinctrl-binding.patch
@@ -11,11 +11,11 @@ Describe pinmux block with its maps.
 Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
 Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
 ---
- .../boot/dts/broadcom/bcm4908/bcm4908.dtsi    | 135 ++++++++++++++++++
+ .../boot/dts/broadcom/bcmbca/bcm4908.dtsi    | 135 ++++++++++++++++++
  1 file changed, 135 insertions(+)
 
---- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
-+++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
+--- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi
++++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi
 @@ -289,6 +289,141 @@
  			gpio-controller;
  		};
diff --git a/target/linux/bcm4908/patches-5.15/032-v5.18-0003-arm64-dts-broadcom-bcm4908-add-watchdog-block.patch b/target/linux/bcm4908/patches-5.15/032-v5.18-0003-arm64-dts-broadcom-bcm4908-add-watchdog-block.patch
index a0329d3276..47d680d759 100644
--- a/target/linux/bcm4908/patches-5.15/032-v5.18-0003-arm64-dts-broadcom-bcm4908-add-watchdog-block.patch
+++ b/target/linux/bcm4908/patches-5.15/032-v5.18-0003-arm64-dts-broadcom-bcm4908-add-watchdog-block.patch
@@ -12,11 +12,11 @@ binding which matches the first SoC with that block.
 Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
 Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
 ---
- arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | 9 +++++++++
+ arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | 9 +++++++++
  1 file changed, 9 insertions(+)
 
---- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
-+++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
+--- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi
++++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi
 @@ -278,6 +278,15 @@
  		twd: timer-mfd at 400 {
  			compatible = "brcm,bcm4908-twd", "simple-mfd", "syscon";
diff --git a/target/linux/bcm4908/patches-5.15/032-v5.18-0004-arm64-dts-broadcom-bcm4908-add-I2C-block.patch b/target/linux/bcm4908/patches-5.15/032-v5.18-0004-arm64-dts-broadcom-bcm4908-add-I2C-block.patch
index d86da69893..a92ee6e3e7 100644
--- a/target/linux/bcm4908/patches-5.15/032-v5.18-0004-arm64-dts-broadcom-bcm4908-add-I2C-block.patch
+++ b/target/linux/bcm4908/patches-5.15/032-v5.18-0004-arm64-dts-broadcom-bcm4908-add-I2C-block.patch
@@ -11,11 +11,11 @@ BCM4908 uses the same I2C hw as BCM63xx / BCM67xx / BCM68xx SoCs.
 Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
 Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
 ---
- arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | 9 +++++++++
+ arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | 9 +++++++++
  1 file changed, 9 insertions(+)
 
---- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
-+++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
+--- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi
++++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi
 @@ -458,6 +458,15 @@
  			};
  		};
diff --git a/target/linux/bcm4908/patches-5.15/033-v6.0-0001-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM63158.patchgit b/target/linux/bcm4908/patches-5.15/033-v6.0-0001-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM63158.patchgit
deleted file mode 100644
index 908b8c12dc..0000000000
--- a/target/linux/bcm4908/patches-5.15/033-v6.0-0001-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM63158.patchgit
+++ /dev/null
@@ -1,199 +0,0 @@
-From 076dcedc6628c6bf92bd17bfcf8fb7b1af62bfb6 Mon Sep 17 00:00:00 2001
-From: William Zhang <william.zhang at broadcom.com>
-Date: Wed, 1 Jun 2022 15:56:51 -0700
-Subject: [PATCH] arm64: dts: Add DTS files for bcmbca SoC BCM63158
-
-Add DTS for ARMv8 based broadband SoC BCM63158. bcm63158.dtsi is the
-SoC description DTS header and bcm963158.dts is a simple DTS file for
-Broadcom BCM963158 Reference board that only enable the UART port.
-
-Signed-off-by: William Zhang <william.zhang at broadcom.com>
-Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
----
- arch/arm64/boot/dts/broadcom/Makefile         |   1 +
- arch/arm64/boot/dts/broadcom/bcmbca/Makefile  |   2 +
- .../boot/dts/broadcom/bcmbca/bcm63158.dtsi    | 128 ++++++++++++++++++
- .../boot/dts/broadcom/bcmbca/bcm963158.dts    |  30 ++++
- 4 files changed, 161 insertions(+)
- create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/Makefile
- create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm63158.dtsi
- create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm963158.dts
-
---- a/arch/arm64/boot/dts/broadcom/Makefile
-+++ b/arch/arm64/boot/dts/broadcom/Makefile
-@@ -7,5 +7,6 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rp
- 			      bcm2837-rpi-cm3-io3.dtb
- 
- subdir-y	+= bcm4908
-+subdir-y	+= bcmbca
- subdir-y	+= northstar2
- subdir-y	+= stingray
---- /dev/null
-+++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile
-@@ -0,0 +1,2 @@
-+# SPDX-License-Identifier: GPL-2.0
-+dtb-$(CONFIG_ARCH_BCMBCA) += bcm963158.dtb
---- /dev/null
-+++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm63158.dtsi
-@@ -0,0 +1,128 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+/*
-+ * Copyright 2022 Broadcom Ltd.
-+ */
-+
-+#include <dt-bindings/interrupt-controller/irq.h>
-+#include <dt-bindings/interrupt-controller/arm-gic.h>
-+
-+/ {
-+	compatible = "brcm,bcm63158", "brcm,bcmbca";
-+	#address-cells = <2>;
-+	#size-cells = <2>;
-+
-+	interrupt-parent = <&gic>;
-+
-+	cpus {
-+		#address-cells = <2>;
-+		#size-cells = <0>;
-+
-+		B53_0: cpu at 0 {
-+			compatible = "brcm,brahma-b53";
-+			device_type = "cpu";
-+			reg = <0x0 0x0>;
-+			next-level-cache = <&L2_0>;
-+			enable-method = "psci";
-+		};
-+
-+		B53_1: cpu at 1 {
-+			compatible = "brcm,brahma-b53";
-+			device_type = "cpu";
-+			reg = <0x0 0x1>;
-+			next-level-cache = <&L2_0>;
-+			enable-method = "psci";
-+		};
-+
-+		B53_2: cpu at 2 {
-+			compatible = "brcm,brahma-b53";
-+			device_type = "cpu";
-+			reg = <0x0 0x2>;
-+			next-level-cache = <&L2_0>;
-+			enable-method = "psci";
-+		};
-+
-+		B53_3: cpu at 3 {
-+			compatible = "brcm,brahma-b53";
-+			device_type = "cpu";
-+			reg = <0x0 0x3>;
-+			next-level-cache = <&L2_0>;
-+			enable-method = "psci";
-+		};
-+
-+		L2_0: l2-cache0 {
-+			compatible = "cache";
-+		};
-+	};
-+
-+	timer {
-+		compatible = "arm,armv8-timer";
-+		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
-+			<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
-+			<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
-+			<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
-+	};
-+
-+	pmu: pmu {
-+		compatible = "arm,cortex-a53-pmu";
-+		interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
-+			<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
-+			<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
-+			<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
-+		interrupt-affinity = <&B53_0>, <&B53_1>,
-+			<&B53_2>, <&B53_3>;
-+	};
-+
-+	clocks: clocks {
-+		periph_clk: periph-clk {
-+			compatible = "fixed-clock";
-+			#clock-cells = <0>;
-+			clock-frequency = <200000000>;
-+		};
-+		uart_clk: uart-clk {
-+			compatible = "fixed-factor-clock";
-+			#clock-cells = <0>;
-+			clocks = <&periph_clk>;
-+			clock-div = <4>;
-+			clock-mult = <1>;
-+		};
-+	};
-+
-+	psci {
-+		compatible = "arm,psci-0.2";
-+		method = "smc";
-+	};
-+
-+	axi at 81000000 {
-+		compatible = "simple-bus";
-+		#address-cells = <1>;
-+		#size-cells = <1>;
-+		ranges = <0x0 0x0 0x81000000 0x8000>;
-+
-+		gic: interrupt-controller at 1000 {
-+			compatible = "arm,gic-400";
-+			#interrupt-cells = <3>;
-+			interrupt-controller;
-+			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
-+			reg = <0x1000 0x1000>,
-+				<0x2000 0x2000>,
-+				<0x4000 0x2000>,
-+				<0x6000 0x2000>;
-+		};
-+	};
-+
-+	bus at ff800000 {
-+		compatible = "simple-bus";
-+		#address-cells = <1>;
-+		#size-cells = <1>;
-+		ranges = <0x0 0x0 0xff800000 0x800000>;
-+
-+		uart0: serial at 12000 {
-+			compatible = "arm,pl011", "arm,primecell";
-+			reg = <0x12000 0x1000>;
-+			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
-+			clocks = <&uart_clk>, <&uart_clk>;
-+			clock-names = "uartclk", "apb_pclk";
-+			status = "disabled";
-+		};
-+	};
-+};
---- /dev/null
-+++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm963158.dts
-@@ -0,0 +1,30 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+/*
-+ * Copyright 2022 Broadcom Ltd.
-+ */
-+
-+/dts-v1/;
-+
-+#include "bcm63158.dtsi"
-+
-+/ {
-+	model = "Broadcom BCM963158 Reference Board";
-+	compatible = "brcm,bcm963158", "brcm,bcm63158", "brcm,bcmbca";
-+
-+	aliases {
-+		serial0 = &uart0;
-+	};
-+
-+	chosen {
-+		stdout-path = "serial0:115200n8";
-+	};
-+
-+	memory at 0 {
-+		device_type = "memory";
-+		reg = <0x0 0x0 0x0 0x08000000>;
-+	};
-+};
-+
-+&uart0 {
-+	status = "okay";
-+};
diff --git a/target/linux/bcm4908/patches-5.15/033-v6.0-0002-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM4912.patchgit b/target/linux/bcm4908/patches-5.15/033-v6.0-0002-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM4912.patchgit
deleted file mode 100644
index 5cdb9d1df1..0000000000
--- a/target/linux/bcm4908/patches-5.15/033-v6.0-0002-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM4912.patchgit
+++ /dev/null
@@ -1,191 +0,0 @@
-From 1ba56aeb391401c4cb2126c39f90b3cdbfabdb3f Mon Sep 17 00:00:00 2001
-From: William Zhang <william.zhang at broadcom.com>
-Date: Wed, 1 Jun 2022 13:17:34 -0700
-Subject: [PATCH] arm64: dts: Add DTS files for bcmbca SoC BCM4912
-
-Add DTS for ARMv8 based broadband SoC BCM4912. bcm4912.dtsi is the
-SoC description DTS header and bcm94912.dts is a simple DTS file for
-Broadcom BCM94912 Reference board that only enable the UART port.
-
-Signed-off-by: William Zhang <william.zhang at broadcom.com>
-Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>
-Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
----
- arch/arm64/boot/dts/broadcom/bcmbca/Makefile  |   3 +-
- .../boot/dts/broadcom/bcmbca/bcm4912.dtsi     | 128 ++++++++++++++++++
- .../boot/dts/broadcom/bcmbca/bcm94912.dts     |  30 ++++
- 3 files changed, 160 insertions(+), 1 deletion(-)
- create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm4912.dtsi
- create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm94912.dts
-
---- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile
-+++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile
-@@ -1,2 +1,3 @@
- # SPDX-License-Identifier: GPL-2.0
--dtb-$(CONFIG_ARCH_BCMBCA) += bcm963158.dtb
-+dtb-$(CONFIG_ARCH_BCMBCA) += bcm94912.dtb \
-+				bcm963158.dtb
---- /dev/null
-+++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4912.dtsi
-@@ -0,0 +1,128 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+/*
-+ * Copyright 2022 Broadcom Ltd.
-+ */
-+
-+#include <dt-bindings/interrupt-controller/irq.h>
-+#include <dt-bindings/interrupt-controller/arm-gic.h>
-+
-+/ {
-+	compatible = "brcm,bcm4912", "brcm,bcmbca";
-+	#address-cells = <2>;
-+	#size-cells = <2>;
-+
-+	interrupt-parent = <&gic>;
-+
-+	cpus {
-+		#address-cells = <2>;
-+		#size-cells = <0>;
-+
-+		B53_0: cpu at 0 {
-+			compatible = "brcm,brahma-b53";
-+			device_type = "cpu";
-+			reg = <0x0 0x0>;
-+			next-level-cache = <&L2_0>;
-+			enable-method = "psci";
-+		};
-+
-+		B53_1: cpu at 1 {
-+			compatible = "brcm,brahma-b53";
-+			device_type = "cpu";
-+			reg = <0x0 0x1>;
-+			next-level-cache = <&L2_0>;
-+			enable-method = "psci";
-+		};
-+
-+		B53_2: cpu at 2 {
-+			compatible = "brcm,brahma-b53";
-+			device_type = "cpu";
-+			reg = <0x0 0x2>;
-+			next-level-cache = <&L2_0>;
-+			enable-method = "psci";
-+		};
-+
-+		B53_3: cpu at 3 {
-+			compatible = "brcm,brahma-b53";
-+			device_type = "cpu";
-+			reg = <0x0 0x3>;
-+			next-level-cache = <&L2_0>;
-+			enable-method = "psci";
-+		};
-+
-+		L2_0: l2-cache0 {
-+			compatible = "cache";
-+		};
-+	};
-+
-+	timer {
-+		compatible = "arm,armv8-timer";
-+		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
-+			<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
-+			<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
-+			<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
-+	};
-+
-+	pmu: pmu {
-+		compatible = "arm,cortex-a53-pmu";
-+		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
-+			<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
-+			<GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
-+			<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
-+		interrupt-affinity = <&B53_0>, <&B53_1>,
-+			<&B53_2>, <&B53_3>;
-+	};
-+
-+	clocks: clocks {
-+		periph_clk: periph-clk {
-+			compatible = "fixed-clock";
-+			#clock-cells = <0>;
-+			clock-frequency = <200000000>;
-+		};
-+		uart_clk: uart-clk {
-+			compatible = "fixed-factor-clock";
-+			#clock-cells = <0>;
-+			clocks = <&periph_clk>;
-+			clock-div = <4>;
-+			clock-mult = <1>;
-+		};
-+	};
-+
-+	psci {
-+		compatible = "arm,psci-0.2";
-+		method = "smc";
-+	};
-+
-+	axi at 81000000 {
-+		compatible = "simple-bus";
-+		#address-cells = <1>;
-+		#size-cells = <1>;
-+		ranges = <0x0 0x0 0x81000000 0x8000>;
-+
-+		gic: interrupt-controller at 1000 {
-+			compatible = "arm,gic-400";
-+			#interrupt-cells = <3>;
-+			interrupt-controller;
-+			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
-+			reg = <0x1000 0x1000>,
-+				<0x2000 0x2000>,
-+				<0x4000 0x2000>,
-+				<0x6000 0x2000>;
-+		};
-+	};
-+
-+	bus at ff800000 {
-+		compatible = "simple-bus";
-+		#address-cells = <1>;
-+		#size-cells = <1>;
-+		ranges = <0x0 0x0 0xff800000 0x800000>;
-+
-+		uart0: serial at 12000 {
-+			compatible = "arm,pl011", "arm,primecell";
-+			reg = <0x12000 0x1000>;
-+			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
-+			clocks = <&uart_clk>, <&uart_clk>;
-+			clock-names = "uartclk", "apb_pclk";
-+			status = "disabled";
-+		};
-+	};
-+};
---- /dev/null
-+++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm94912.dts
-@@ -0,0 +1,30 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+/*
-+ * Copyright 2022 Broadcom Ltd.
-+ */
-+
-+/dts-v1/;
-+
-+#include "bcm4912.dtsi"
-+
-+/ {
-+	model = "Broadcom BCM94912 Reference Board";
-+	compatible = "brcm,bcm94912", "brcm,bcm4912", "brcm,bcmbca";
-+
-+	aliases {
-+		serial0 = &uart0;
-+	};
-+
-+	chosen {
-+		stdout-path = "serial0:115200n8";
-+	};
-+
-+	memory at 0 {
-+		device_type = "memory";
-+		reg = <0x0 0x0 0x0 0x08000000>;
-+	};
-+};
-+
-+&uart0 {
-+	status = "okay";
-+};
diff --git a/target/linux/bcm4908/patches-5.15/033-v6.0-0003-ARM64-dts-Add-DTS-files-for-bcmbca-SoC-BCM6858.patchgit b/target/linux/bcm4908/patches-5.15/033-v6.0-0003-ARM64-dts-Add-DTS-files-for-bcmbca-SoC-BCM6858.patchgit
deleted file mode 100644
index f10a44f890..0000000000
--- a/target/linux/bcm4908/patches-5.15/033-v6.0-0003-ARM64-dts-Add-DTS-files-for-bcmbca-SoC-BCM6858.patchgit
+++ /dev/null
@@ -1,184 +0,0 @@
-From e663e06bd3f21e64bc2163910f626af68add6308 Mon Sep 17 00:00:00 2001
-From: Anand Gore <anand.gore at broadcom.com>
-Date: Wed, 1 Jun 2022 13:19:56 -0700
-Subject: [PATCH] ARM64: dts: Add DTS files for bcmbca SoC BCM6858
-
-Add DTS for ARMv8 based broadband SoC BCM6858. bcm6858.dtsi is the SoC
-description DTS header and bcm96858.dts is a simple DTS file for
-Broadcom BCM96858 Reference board that only enables the UART port.
-
-Signed-off-by: Anand Gore <anand.gore at broadcom.com>
-Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
----
- arch/arm64/boot/dts/broadcom/bcmbca/Makefile  |   3 +-
- .../boot/dts/broadcom/bcmbca/bcm6858.dtsi     | 121 ++++++++++++++++++
- .../boot/dts/broadcom/bcmbca/bcm96858.dts     |  30 +++++
- 3 files changed, 153 insertions(+), 1 deletion(-)
- create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm6858.dtsi
- create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm96858.dts
-
---- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile
-+++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile
-@@ -1,3 +1,4 @@
- # SPDX-License-Identifier: GPL-2.0
- dtb-$(CONFIG_ARCH_BCMBCA) += bcm94912.dtb \
--				bcm963158.dtb
-+				bcm963158.dtb \
-+				bcm96858.dtb
---- /dev/null
-+++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm6858.dtsi
-@@ -0,0 +1,121 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+/*
-+ * Copyright 2022 Broadcom Ltd.
-+ */
-+
-+#include <dt-bindings/interrupt-controller/irq.h>
-+#include <dt-bindings/interrupt-controller/arm-gic.h>
-+
-+/ {
-+	compatible = "brcm,bcm6858", "brcm,bcmbca";
-+	#address-cells = <2>;
-+	#size-cells = <2>;
-+
-+	interrupt-parent = <&gic>;
-+
-+	cpus {
-+		#address-cells = <2>;
-+		#size-cells = <0>;
-+
-+		B53_0: cpu at 0 {
-+			compatible = "brcm,brahma-b53";
-+			device_type = "cpu";
-+			reg = <0x0 0x0>;
-+			next-level-cache = <&L2_0>;
-+			enable-method = "psci";
-+		};
-+
-+		B53_1: cpu at 1 {
-+			compatible = "brcm,brahma-b53";
-+			device_type = "cpu";
-+			reg = <0x0 0x1>;
-+			next-level-cache = <&L2_0>;
-+			enable-method = "psci";
-+		};
-+
-+		B53_2: cpu at 2 {
-+			compatible = "brcm,brahma-b53";
-+			device_type = "cpu";
-+			reg = <0x0 0x2>;
-+			next-level-cache = <&L2_0>;
-+			enable-method = "psci";
-+		};
-+
-+		B53_3: cpu at 3 {
-+			compatible = "brcm,brahma-b53";
-+			device_type = "cpu";
-+			reg = <0x0 0x3>;
-+			next-level-cache = <&L2_0>;
-+			enable-method = "psci";
-+		};
-+		L2_0: l2-cache0 {
-+			compatible = "cache";
-+		};
-+	};
-+
-+	timer {
-+		compatible = "arm,armv8-timer";
-+		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
-+			<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
-+			<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
-+			<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
-+	};
-+
-+	pmu: pmu {
-+		compatible = "arm,armv8-pmuv3";
-+		interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
-+			<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
-+			<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
-+			<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
-+		interrupt-affinity = <&B53_0>, <&B53_1>,
-+			<&B53_2>, <&B53_3>;
-+	};
-+
-+	clocks: clocks {
-+		periph_clk:periph-clk {
-+			compatible = "fixed-clock";
-+			#clock-cells = <0>;
-+			clock-frequency = <200000000>;
-+		};
-+	};
-+
-+	psci {
-+		compatible = "arm,psci-0.2";
-+		method = "smc";
-+	};
-+
-+	axi at 81000000 {
-+		compatible = "simple-bus";
-+		#address-cells = <1>;
-+		#size-cells = <1>;
-+		ranges = <0x0 0x0 0x81000000 0x8000>;
-+
-+		gic: interrupt-controller at 1000 {
-+			compatible = "arm,gic-400";
-+			#interrupt-cells = <3>;
-+			interrupt-controller;
-+			reg = <0x1000 0x1000>, /* GICD */
-+				<0x2000 0x2000>, /* GICC */
-+				<0x4000 0x2000>, /* GICH */
-+				<0x6000 0x2000>; /* GICV */
-+			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) |
-+					IRQ_TYPE_LEVEL_HIGH)>;
-+		};
-+	};
-+
-+	bus at ff800000 {
-+		compatible = "simple-bus";
-+		#address-cells = <1>;
-+		#size-cells = <1>;
-+		ranges = <0x0 0x0 0xff800000 0x62000>;
-+
-+		uart0: serial at 640 {
-+			compatible = "brcm,bcm6345-uart";
-+			reg = <0x640 0x18>;
-+			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
-+			clocks = <&periph_clk>;
-+			clock-names = "refclk";
-+			status = "disabled";
-+		};
-+	};
-+};
---- /dev/null
-+++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm96858.dts
-@@ -0,0 +1,30 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+/*
-+ * Copyright 2022 Broadcom Ltd.
-+ */
-+
-+/dts-v1/;
-+
-+#include "bcm6858.dtsi"
-+
-+/ {
-+	model = "Broadcom BCM96858 Reference Board";
-+	compatible = "brcm,bcm96858", "brcm,bcm6858", "brcm,bcmbca";
-+
-+	aliases {
-+		serial0 = &uart0;
-+	};
-+
-+	chosen {
-+		stdout-path = "serial0:115200n8";
-+	};
-+
-+	memory at 0 {
-+		device_type = "memory";
-+		reg = <0x0 0x0 0x0 0x08000000>;
-+	};
-+};
-+
-+&uart0 {
-+	status = "okay";
-+};
diff --git a/target/linux/bcm4908/patches-5.15/033-v6.0-0004-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM63146.patchgit b/target/linux/bcm4908/patches-5.15/033-v6.0-0004-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM63146.patchgit
index 793c5af738..7cd13e5c22 100644
--- a/target/linux/bcm4908/patches-5.15/033-v6.0-0004-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM63146.patchgit
+++ b/target/linux/bcm4908/patches-5.15/033-v6.0-0004-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM63146.patchgit
@@ -19,9 +19,9 @@ Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
 
 --- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile
 +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile
-@@ -1,4 +1,5 @@
- # SPDX-License-Identifier: GPL-2.0
- dtb-$(CONFIG_ARCH_BCMBCA) += bcm94912.dtb \
+@@ -7,4 +7,5 @@ dtb-$(CONFIG_ARCH_BCMBCA) += \
+ 				bcm4912-asus-gt-ax6000.dtb \
+ 				bcm94912.dtb \
  				bcm963158.dtb \
 -				bcm96858.dtb
 +				bcm96858.dtb \
diff --git a/target/linux/bcm4908/patches-5.15/033-v6.0-0005-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM6856.patchgit b/target/linux/bcm4908/patches-5.15/033-v6.0-0005-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM6856.patchgit
index 0fdafb7f17..2e0da2e54a 100644
--- a/target/linux/bcm4908/patches-5.15/033-v6.0-0005-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM6856.patchgit
+++ b/target/linux/bcm4908/patches-5.15/033-v6.0-0005-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM6856.patchgit
@@ -19,8 +19,8 @@ Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
 
 --- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile
 +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile
-@@ -2,4 +2,5 @@
- dtb-$(CONFIG_ARCH_BCMBCA) += bcm94912.dtb \
+@@ -8,4 +8,5 @@ dtb-$(CONFIG_ARCH_BCMBCA) += \
+ 				bcm94912.dtb \
  				bcm963158.dtb \
  				bcm96858.dtb \
 -				bcm963146.dtb
diff --git a/target/linux/bcm4908/patches-5.15/033-v6.0-0006-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM6813.patchgit b/target/linux/bcm4908/patches-5.15/033-v6.0-0006-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM6813.patchgit
index 58af85a68c..6be8ab8ee4 100644
--- a/target/linux/bcm4908/patches-5.15/033-v6.0-0006-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM6813.patchgit
+++ b/target/linux/bcm4908/patches-5.15/033-v6.0-0006-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM6813.patchgit
@@ -19,7 +19,7 @@ Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
 
 --- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile
 +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile
-@@ -3,4 +3,5 @@ dtb-$(CONFIG_ARCH_BCMBCA) += bcm94912.dt
+@@ -9,4 +9,5 @@ dtb-$(CONFIG_ARCH_BCMBCA) += \
  				bcm963158.dtb \
  				bcm96858.dtb \
  				bcm963146.dtb \
diff --git a/target/linux/bcm4908/patches-5.15/033-v6.0-0007-arm64-dts-broadcom-align-gpio-key-node-names-with-dt.patchgit b/target/linux/bcm4908/patches-5.15/033-v6.0-0007-arm64-dts-broadcom-align-gpio-key-node-names-with-dt.patchgit
index d0d6151957..987da135d7 100644
--- a/target/linux/bcm4908/patches-5.15/033-v6.0-0007-arm64-dts-broadcom-align-gpio-key-node-names-with-dt.patchgit
+++ b/target/linux/bcm4908/patches-5.15/033-v6.0-0007-arm64-dts-broadcom-align-gpio-key-node-names-with-dt.patchgit
@@ -9,12 +9,12 @@ The node names should be generic and DT schema expects certain pattern
 Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>
 Link: https://lore.kernel.org/r/20220616005333.18491-6-krzysztof.kozlowski@linaro.org
 ---
- .../broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts   | 8 ++++----
- .../boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts  | 8 ++++----
+ .../broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts   | 8 ++++----
+ .../boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts  | 8 ++++----
  2 files changed, 8 insertions(+), 8 deletions(-)
 
---- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts
-+++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts
+--- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts
++++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts
 @@ -83,25 +83,25 @@
  		compatible = "gpio-keys-polled";
  		poll-interval = <100>;
@@ -45,8 +45,8 @@ Link: https://lore.kernel.org/r/20220616005333.18491-6-krzysztof.kozlowski@linar
  			label = "Reset";
  			linux,code = <KEY_RESTART>;
  			gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
---- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts
-+++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts
+--- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts
++++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts
 @@ -18,25 +18,25 @@
  		compatible = "gpio-keys-polled";
  		poll-interval = <100>;
diff --git a/target/linux/bcm4908/patches-5.15/033-v6.0-0008-arm64-dts-broadcom-bcm4908-Fix-timer-node-for-BCM490.patchgit b/target/linux/bcm4908/patches-5.15/033-v6.0-0008-arm64-dts-broadcom-bcm4908-Fix-timer-node-for-BCM490.patchgit
index 59fbeea385..95540d3aab 100644
--- a/target/linux/bcm4908/patches-5.15/033-v6.0-0008-arm64-dts-broadcom-bcm4908-Fix-timer-node-for-BCM490.patchgit
+++ b/target/linux/bcm4908/patches-5.15/033-v6.0-0008-arm64-dts-broadcom-bcm4908-Fix-timer-node-for-BCM490.patchgit
@@ -11,11 +11,11 @@ Fixes: c8b404fb05dc ("arm64: dts: broadcom: bcm4908: add BCM4906 Netgear R8000P
 Signed-off-by: William Zhang <william.zhang at broadcom.com>
 Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
 ---
- arch/arm64/boot/dts/broadcom/bcm4908/bcm4906.dtsi | 8 ++++++++
+ arch/arm64/boot/dts/broadcom/bcmbca/bcm4906.dtsi | 8 ++++++++
  1 file changed, 8 insertions(+)
 
---- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906.dtsi
-+++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906.dtsi
+--- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906.dtsi
++++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906.dtsi
 @@ -17,6 +17,14 @@
  			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
  	};
diff --git a/target/linux/bcm4908/patches-5.15/033-v6.0-0010-arm64-dts-Add-base-DTS-file-for-bcmbca-device-Asus-G.patchgit b/target/linux/bcm4908/patches-5.15/033-v6.0-0010-arm64-dts-Add-base-DTS-file-for-bcmbca-device-Asus-G.patchgit
deleted file mode 100644
index 6f71c8b5fb..0000000000
--- a/target/linux/bcm4908/patches-5.15/033-v6.0-0010-arm64-dts-Add-base-DTS-file-for-bcmbca-device-Asus-G.patchgit
+++ /dev/null
@@ -1,54 +0,0 @@
-From f3f575c4bef95384e68de552c7b29938fd0d9201 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal at milecki.pl>
-Date: Wed, 13 Jul 2022 22:03:51 +0200
-Subject: [PATCH] arm64: dts: Add base DTS file for bcmbca device Asus
- GT-AX6000
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-It's a home router with 1 GiB of RAM, 6 Ethernet ports, 2 USB ports.
-
-Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
-Acked-by: William Zhang <william.zhang at broadcom.com>
-Link: https://lore.kernel.org/r/20220713200351.28526-2-zajec5@gmail.com
-Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
----
- arch/arm64/boot/dts/broadcom/bcmbca/Makefile  |  4 +++-
- .../bcmbca/bcm4912-asus-gt-ax6000.dts         | 19 +++++++++++++++++++
- 2 files changed, 22 insertions(+), 1 deletion(-)
- create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm4912-asus-gt-ax6000.dts
-
---- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile
-+++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile
-@@ -1,5 +1,7 @@
- # SPDX-License-Identifier: GPL-2.0
--dtb-$(CONFIG_ARCH_BCMBCA) += bcm94912.dtb \
-+dtb-$(CONFIG_ARCH_BCMBCA) += \
-+				bcm4912-asus-gt-ax6000.dtb \
-+				bcm94912.dtb \
- 				bcm963158.dtb \
- 				bcm96858.dtb \
- 				bcm963146.dtb \
---- /dev/null
-+++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4912-asus-gt-ax6000.dts
-@@ -0,0 +1,19 @@
-+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-+
-+/dts-v1/;
-+
-+#include "bcm4912.dtsi"
-+
-+/ {
-+	compatible = "asus,gt-ax6000", "brcm,bcm4912", "brcm,bcmbca";
-+	model = "Asus GT-AX6000";
-+
-+	memory at 0 {
-+		device_type = "memory";
-+		reg = <0x00 0x00 0x00 0x40000000>;
-+	};
-+};
-+
-+&uart0 {
-+	status = "okay";
-+};
diff --git a/target/linux/bcm4908/patches-5.15/034-v6.1-0001-arm64-dts-broadcom-bcm4908-add-remaining-LED-pins.patch b/target/linux/bcm4908/patches-5.15/034-v6.1-0001-arm64-dts-broadcom-bcm4908-add-remaining-LED-pins.patch
index 437249f2cb..69b1522268 100644
--- a/target/linux/bcm4908/patches-5.15/034-v6.1-0001-arm64-dts-broadcom-bcm4908-add-remaining-LED-pins.patch
+++ b/target/linux/bcm4908/patches-5.15/034-v6.1-0001-arm64-dts-broadcom-bcm4908-add-remaining-LED-pins.patch
@@ -12,11 +12,11 @@ Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
 Link: https://lore.kernel.org/r/20220718132100.13277-1-zajec5@gmail.com
 Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
 ---
- .../boot/dts/broadcom/bcm4908/bcm4908.dtsi    | 75 +++++++++++++++++++
+ .../boot/dts/broadcom/bcmbca/bcm4908.dtsi    | 75 +++++++++++++++++++
  1 file changed, 75 insertions(+)
 
---- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
-+++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
+--- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi
++++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi
 @@ -352,6 +352,61 @@
  				groups = "led_9_grp_a";
  			};
diff --git a/target/linux/bcm4908/patches-5.15/034-v6.1-0002-arm64-dts-broadcom-bcm4908-add-LEDs-controller-block.patch b/target/linux/bcm4908/patches-5.15/034-v6.1-0002-arm64-dts-broadcom-bcm4908-add-LEDs-controller-block.patch
index c890340893..28641ab788 100644
--- a/target/linux/bcm4908/patches-5.15/034-v6.1-0002-arm64-dts-broadcom-bcm4908-add-LEDs-controller-block.patch
+++ b/target/linux/bcm4908/patches-5.15/034-v6.1-0002-arm64-dts-broadcom-bcm4908-add-LEDs-controller-block.patch
@@ -13,11 +13,11 @@ Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
 Link: https://lore.kernel.org/r/20220718132100.13277-2-zajec5@gmail.com
 Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
 ---
- arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | 8 ++++++++
+ arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | 8 ++++++++
  1 file changed, 8 insertions(+)
 
---- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
-+++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
+--- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi
++++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi
 @@ -517,6 +517,14 @@
  			status = "okay";
  		};
diff --git a/target/linux/bcm4908/patches-5.15/034-v6.1-0003-arm64-dts-broadcom-bcm4908-add-Asus-GT-AC5300-LEDs.patch b/target/linux/bcm4908/patches-5.15/034-v6.1-0003-arm64-dts-broadcom-bcm4908-add-Asus-GT-AC5300-LEDs.patch
index 3888efb66b..f4c7d8c489 100644
--- a/target/linux/bcm4908/patches-5.15/034-v6.1-0003-arm64-dts-broadcom-bcm4908-add-Asus-GT-AC5300-LEDs.patch
+++ b/target/linux/bcm4908/patches-5.15/034-v6.1-0003-arm64-dts-broadcom-bcm4908-add-Asus-GT-AC5300-LEDs.patch
@@ -12,11 +12,11 @@ Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
 Link: https://lore.kernel.org/r/20220718132100.13277-3-zajec5@gmail.com
 Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
 ---
- .../bcm4908/bcm4908-asus-gt-ac5300.dts        | 48 +++++++++++++++++++
+ .../bcmbca/bcm4908-asus-gt-ac5300.dts        | 48 +++++++++++++++++++
  1 file changed, 48 insertions(+)
 
---- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts
-+++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts
+--- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts
++++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts
 @@ -2,6 +2,7 @@
  
  #include <dt-bindings/gpio/gpio.h>
diff --git a/target/linux/bcm4908/patches-5.15/034-v6.1-0004-arm64-dts-bcmbca-update-BCM4908-board-dts-files.patch b/target/linux/bcm4908/patches-5.15/034-v6.1-0004-arm64-dts-bcmbca-update-BCM4908-board-dts-files.patch
index d4b7a983de..8f9d3604cb 100644
--- a/target/linux/bcm4908/patches-5.15/034-v6.1-0004-arm64-dts-bcmbca-update-BCM4908-board-dts-files.patch
+++ b/target/linux/bcm4908/patches-5.15/034-v6.1-0004-arm64-dts-bcmbca-update-BCM4908-board-dts-files.patch
@@ -14,14 +14,14 @@ Acked-by: Rafał Miłecki <rafal at milecki.pl>
 Link: https://lore.kernel.org/r/20220803175455.47638-4-william.zhang@broadcom.com
 Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
 ---
- arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-netgear-r8000p.dts | 2 +-
- .../dts/broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts     | 2 +-
- arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts | 2 +-
- .../arm64/boot/dts/broadcom/bcm4908/bcm4908-netgear-raxe500.dts | 2 +-
+ arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-netgear-r8000p.dts | 2 +-
+ .../dts/broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts     | 2 +-
+ arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts | 2 +-
+ .../arm64/boot/dts/broadcom/bcmbca/bcm4908-netgear-raxe500.dts | 2 +-
  4 files changed, 4 insertions(+), 4 deletions(-)
 
---- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-netgear-r8000p.dts
-+++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-netgear-r8000p.dts
+--- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-netgear-r8000p.dts
++++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-netgear-r8000p.dts
 @@ -7,7 +7,7 @@
  #include "bcm4906.dtsi"
  
@@ -31,8 +31,8 @@ Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
  	model = "Netgear R8000P";
  
  	memory at 0 {
---- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts
-+++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts
+--- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts
++++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts
 @@ -7,7 +7,7 @@
  #include "bcm4906.dtsi"
  
@@ -42,8 +42,8 @@ Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
  	model = "TP-Link Archer C2300 V1";
  
  	memory at 0 {
---- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts
-+++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts
+--- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts
++++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts
 @@ -7,7 +7,7 @@
  #include "bcm4908.dtsi"
  
@@ -53,8 +53,8 @@ Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
  	model = "Asus GT-AC5300";
  
  	memory at 0 {
---- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-netgear-raxe500.dts
-+++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-netgear-raxe500.dts
+--- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-netgear-raxe500.dts
++++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-netgear-raxe500.dts
 @@ -3,7 +3,7 @@
  #include "bcm4908.dtsi"
  
diff --git a/target/linux/bcm4908/patches-5.15/034-v6.1-0005-arm64-dts-Move-BCM4908-dts-to-bcmbca-folder.patch b/target/linux/bcm4908/patches-5.15/034-v6.1-0005-arm64-dts-Move-BCM4908-dts-to-bcmbca-folder.patch
deleted file mode 100644
index 4a8279a82e..0000000000
--- a/target/linux/bcm4908/patches-5.15/034-v6.1-0005-arm64-dts-Move-BCM4908-dts-to-bcmbca-folder.patch
+++ /dev/null
@@ -1,2507 +0,0 @@
-From ded8f22945899f4e87dd6d952bbc4abce6e64b7e Mon Sep 17 00:00:00 2001
-From: William Zhang <william.zhang at broadcom.com>
-Date: Wed, 3 Aug 2022 10:54:50 -0700
-Subject: [PATCH] arm64: dts: Move BCM4908 dts to bcmbca folder
-
-As part of ARCH_BCM4908 to ARCH_BCMBCA migration, move the BCM4908 dts
-files to bcmbca folder and use CONFIG_ARCH_BCMBCA to build all the
-BCM4908 board dts. Delete bcm4908 folder and its makefile as well.
-
-Signed-off-by: William Zhang <william.zhang at broadcom.com>
-Link: https://lore.kernel.org/r/20220803175455.47638-5-william.zhang@broadcom.com
-Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
----
- arch/arm64/boot/dts/broadcom/Makefile                        | 1 -
- arch/arm64/boot/dts/broadcom/bcm4908/Makefile                | 5 -----
- arch/arm64/boot/dts/broadcom/bcmbca/Makefile                 | 4 ++++
- .../broadcom/{bcm4908 => bcmbca}/bcm4906-netgear-r8000p.dts  | 0
- .../{bcm4908 => bcmbca}/bcm4906-tplink-archer-c2300-v1.dts   | 0
- .../arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4906.dtsi | 0
- .../broadcom/{bcm4908 => bcmbca}/bcm4908-asus-gt-ac5300.dts  | 0
- .../broadcom/{bcm4908 => bcmbca}/bcm4908-netgear-raxe500.dts | 0
- .../arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4908.dtsi | 0
- 9 files changed, 4 insertions(+), 6 deletions(-)
- delete mode 100644 arch/arm64/boot/dts/broadcom/bcm4908/Makefile
- rename arch/arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4906-netgear-r8000p.dts (100%)
- rename arch/arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4906-tplink-archer-c2300-v1.dts (100%)
- rename arch/arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4906.dtsi (100%)
- rename arch/arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4908-asus-gt-ac5300.dts (100%)
- rename arch/arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4908-netgear-raxe500.dts (100%)
- rename arch/arm64/boot/dts/broadcom/{bcm4908 => bcmbca}/bcm4908.dtsi (100%)
-
---- a/arch/arm64/boot/dts/broadcom/Makefile
-+++ b/arch/arm64/boot/dts/broadcom/Makefile
-@@ -6,7 +6,6 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rp
- 			      bcm2837-rpi-3-b-plus.dtb \
- 			      bcm2837-rpi-cm3-io3.dtb
- 
--subdir-y	+= bcm4908
- subdir-y	+= bcmbca
- subdir-y	+= northstar2
- subdir-y	+= stingray
---- a/arch/arm64/boot/dts/broadcom/bcm4908/Makefile
-+++ /dev/null
-@@ -1,5 +0,0 @@
--# SPDX-License-Identifier: GPL-2.0
--dtb-$(CONFIG_ARCH_BCM4908) += bcm4906-netgear-r8000p.dtb
--dtb-$(CONFIG_ARCH_BCM4908) += bcm4906-tplink-archer-c2300-v1.dtb
--dtb-$(CONFIG_ARCH_BCM4908) += bcm4908-asus-gt-ac5300.dtb
--dtb-$(CONFIG_ARCH_BCM4908) += bcm4908-netgear-raxe500.dtb
---- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile
-+++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile
-@@ -1,5 +1,9 @@
- # SPDX-License-Identifier: GPL-2.0
- dtb-$(CONFIG_ARCH_BCMBCA) += \
-+				bcm4906-netgear-r8000p.dtb \
-+				bcm4906-tplink-archer-c2300-v1.dtb \
-+				bcm4908-asus-gt-ac5300.dtb \
-+				bcm4908-netgear-raxe500.dtb \
- 				bcm4912-asus-gt-ax6000.dtb \
- 				bcm94912.dtb \
- 				bcm963158.dtb \
---- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-netgear-r8000p.dts
-+++ /dev/null
-@@ -1,157 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
--
--#include <dt-bindings/gpio/gpio.h>
--#include <dt-bindings/input/input.h>
--#include <dt-bindings/leds/common.h>
--
--#include "bcm4906.dtsi"
--
--/ {
--	compatible = "netgear,r8000p", "brcm,bcm4906", "brcm,bcm4908", "brcm,bcmbca";
--	model = "Netgear R8000P";
--
--	memory at 0 {
--		device_type = "memory";
--		reg = <0x00 0x00 0x00 0x20000000>;
--	};
--
--	leds {
--		compatible = "gpio-leds";
--
--		led-power-white {
--			function = LED_FUNCTION_POWER;
--			color = <LED_COLOR_ID_WHITE>;
--			gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
--		};
--
--		led-power-amber {
--			function = LED_FUNCTION_POWER;
--			color = <LED_COLOR_ID_AMBER>;
--			gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
--		};
--
--		led-wps {
--			function = LED_FUNCTION_WPS;
--			color = <LED_COLOR_ID_WHITE>;
--			gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
--		};
--
--		led-2ghz {
--			function = "2ghz";
--			color = <LED_COLOR_ID_WHITE>;
--			gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
--		};
--
--		led-5ghz-1 {
--			function = "5ghz-1";
--			color = <LED_COLOR_ID_WHITE>;
--			gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
--		};
--
--		led-5ghz-2 {
--			function = "5ghz-2";
--			color = <LED_COLOR_ID_WHITE>;
--			gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
--		};
--
--		led-usb2 {
--			function = "usb2";
--			color = <LED_COLOR_ID_WHITE>;
--			gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
--		};
--
--		led-usb3 {
--			function = "usb3";
--			color = <LED_COLOR_ID_WHITE>;
--			gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
--		};
--
--		led-wifi {
--			function = "wifi";
--			color = <LED_COLOR_ID_WHITE>;
--			gpios = <&gpio0 56 GPIO_ACTIVE_LOW>;
--		};
--	};
--};
--
--&enet {
--	nvmem-cells = <&base_mac_addr>;
--	nvmem-cell-names = "mac-address";
--};
--
--&usb_phy {
--	brcm,ioc = <1>;
--	status = "okay";
--};
--
--&ehci {
--	status = "okay";
--};
--
--&ohci {
--	status = "okay";
--};
--
--&xhci {
--	status = "okay";
--};
--
--&ports {
--	port at 0 {
--		label = "lan4";
--	};
--
--	port at 1 {
--		label = "lan3";
--	};
--
--	port at 2 {
--		label = "lan2";
--	};
--
--	port at 3 {
--		label = "lan1";
--	};
--
--	port at 7 {
--		reg = <7>;
--		phy-mode = "internal";
--		phy-handle = <&phy12>;
--		label = "wan";
--	};
--};
--
--&nandcs {
--	nand-ecc-strength = <4>;
--	nand-ecc-step-size = <512>;
--	nand-on-flash-bbt;
--
--	#address-cells = <1>;
--	#size-cells = <0>;
--
--	partitions {
--		compatible = "fixed-partitions";
--		#address-cells = <1>;
--		#size-cells = <1>;
--
--		partition at 0 {
--			compatible = "nvmem-cells";
--			label = "cferom";
--			reg = <0x0 0x100000>;
--
--			#address-cells = <1>;
--			#size-cells = <1>;
--			ranges = <0 0x0 0x100000>;
--
--			base_mac_addr: mac at 106a0 {
--				reg = <0x106a0 0x6>;
--			};
--		};
--
--		partition at 100000 {
--			compatible = "brcm,bcm4908-firmware";
--			label = "firmware";
--			reg = <0x100000 0x4400000>;
--		};
--	};
--};
---- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts
-+++ /dev/null
-@@ -1,182 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
--
--#include <dt-bindings/gpio/gpio.h>
--#include <dt-bindings/input/input.h>
--#include <dt-bindings/leds/common.h>
--
--#include "bcm4906.dtsi"
--
--/ {
--	compatible = "tplink,archer-c2300-v1", "brcm,bcm4906", "brcm,bcm4908", "brcm,bcmbca";
--	model = "TP-Link Archer C2300 V1";
--
--	memory at 0 {
--		device_type = "memory";
--		reg = <0x00 0x00 0x00 0x20000000>;
--	};
--
--	leds {
--		compatible = "gpio-leds";
--
--		led-power {
--			function = LED_FUNCTION_POWER;
--			color = <LED_COLOR_ID_BLUE>;
--			gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
--		};
--
--		led-2ghz {
--			function = "2ghz";
--			color = <LED_COLOR_ID_BLUE>;
--			gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
--		};
--
--		led-5ghz {
--			function = "5ghz";
--			color = <LED_COLOR_ID_BLUE>;
--			gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
--		};
--
--		led-wan-amber {
--			function = LED_FUNCTION_WAN;
--			color = <LED_COLOR_ID_AMBER>;
--			gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
--		};
--
--		led-wan-blue {
--			function = LED_FUNCTION_WAN;
--			color = <LED_COLOR_ID_BLUE>;
--			gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
--		};
--
--		led-lan {
--			function = LED_FUNCTION_LAN;
--			color = <LED_COLOR_ID_BLUE>;
--			gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
--		};
--
--		led-wps {
--			function = LED_FUNCTION_WPS;
--			color = <LED_COLOR_ID_BLUE>;
--			gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
--		};
--
--		led-usb2 {
--			function = "usb2";
--			color = <LED_COLOR_ID_BLUE>;
--			gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
--		};
--
--		led-usb3 {
--			function = "usbd3";
--			color = <LED_COLOR_ID_BLUE>;
--			gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
--		};
--
--		led-brightness {
--			function = LED_FUNCTION_BACKLIGHT;
--			color = <LED_COLOR_ID_WHITE>;
--			gpios = <&gpio0 19 GPIO_ACTIVE_LOW>;
--		};
--	};
--
--	gpio-keys-polled {
--		compatible = "gpio-keys-polled";
--		poll-interval = <100>;
--
--		key-brightness {
--			label = "LEDs";
--			linux,code = <KEY_BRIGHTNESS_ZERO>;
--			gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
--		};
--
--		key-wps {
--			label = "WPS";
--			linux,code = <KEY_WPS_BUTTON>;
--			gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
--		};
--
--		key-wifi {
--			label = "WiFi";
--			linux,code = <KEY_RFKILL>;
--			gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
--		};
--
--		key-restart {
--			label = "Reset";
--			linux,code = <KEY_RESTART>;
--			gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
--		};
--	};
--};
--
--&usb_phy {
--	brcm,ioc = <1>;
--	status = "okay";
--};
--
--&ehci {
--	status = "okay";
--};
--
--&ohci {
--	status = "okay";
--};
--
--&xhci {
--	status = "okay";
--};
--
--&ports {
--	port at 0 {
--		label = "lan4";
--	};
--
--	port at 1 {
--		label = "lan3";
--	};
--
--	port at 2 {
--		label = "lan2";
--	};
--
--	port at 3 {
--		label = "lan1";
--	};
--
--	port at 7 {
--		reg = <7>;
--		phy-mode = "internal";
--		phy-handle = <&phy12>;
--		label = "wan";
--	};
--};
--
--&nandcs {
--	nand-ecc-strength = <4>;
--	nand-ecc-step-size = <512>;
--	nand-on-flash-bbt;
--
--	#address-cells = <1>;
--	#size-cells = <0>;
--
--	partitions {
--		compatible = "brcm,bcm4908-partitions";
--		#address-cells = <1>;
--		#size-cells = <1>;
--
--		partition at 0 {
--			label = "cferom";
--			reg = <0x0 0x100000>;
--		};
--
--		partition at 100000 {
--			compatible = "brcm,bcm4908-firmware";
--			reg = <0x100000 0x3900000>;
--		};
--
--		partition at 5800000 {
--			compatible = "brcm,bcm4908-firmware";
--			reg = <0x3a00000 0x3900000>;
--		};
--	};
--};
---- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906.dtsi
-+++ /dev/null
-@@ -1,34 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
--
--#include "bcm4908.dtsi"
--
--/ {
--	cpus {
--		/delete-node/ cpu at 2;
--
--		/delete-node/ cpu at 3;
--	};
--
--	timer {
--		compatible = "arm,armv8-timer";
--		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
--			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
--			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
--			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
--	};
--
--	timer {
--		compatible = "arm,armv8-timer";
--		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
--			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
--			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
--			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
--	};
--
--	pmu {
--		compatible = "arm,cortex-a53-pmu";
--		interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
--			     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
--		interrupt-affinity = <&cpu0>, <&cpu1>;
--	};
--};
---- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts
-+++ /dev/null
-@@ -1,207 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
--
--#include <dt-bindings/gpio/gpio.h>
--#include <dt-bindings/input/input.h>
--#include <dt-bindings/leds/common.h>
--
--#include "bcm4908.dtsi"
--
--/ {
--	compatible = "asus,gt-ac5300", "brcm,bcm4908", "brcm,bcmbca";
--	model = "Asus GT-AC5300";
--
--	memory at 0 {
--		device_type = "memory";
--		reg = <0x00 0x00 0x00 0x40000000>;
--	};
--
--	gpio-keys-polled {
--		compatible = "gpio-keys-polled";
--		poll-interval = <100>;
--
--		key-wifi {
--			label = "WiFi";
--			linux,code = <KEY_RFKILL>;
--			gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
--		};
--
--		key-wps {
--			label = "WPS";
--			linux,code = <KEY_WPS_BUTTON>;
--			gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
--		};
--
--		key-restart {
--			label = "Reset";
--			linux,code = <KEY_RESTART>;
--			gpios = <&gpio0 30 GPIO_ACTIVE_LOW>;
--		};
--
--		key-brightness {
--			label = "LEDs";
--			linux,code = <KEY_BRIGHTNESS_ZERO>;
--			gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
--		};
--	};
--};
--
--&enet {
--	nvmem-cells = <&base_mac_addr>;
--	nvmem-cell-names = "mac-address";
--};
--
--&usb_phy {
--	brcm,ioc = <1>;
--	status = "okay";
--};
--
--&ehci {
--	status = "okay";
--};
--
--&ohci {
--	status = "okay";
--};
--
--&xhci {
--	status = "okay";
--};
--
--&ports {
--	port at 0 {
--		label = "lan2";
--	};
--
--	port at 1 {
--		label = "lan1";
--	};
--
--	port at 2 {
--		label = "lan6";
--	};
--
--	port at 3 {
--		label = "lan5";
--	};
--
--	/* External BCM53134S switch */
--	port at 7 {
--		label = "sw";
--		reg = <7>;
--		phy-mode = "rgmii";
--
--		fixed-link {
--			speed = <1000>;
--			full-duplex;
--		};
--	};
--};
--
--&mdio {
--	/* lan8 */
--	ethernet-phy at 0 {
--		reg = <0>;
--	};
--
--	/* lan7 */
--	ethernet-phy at 1 {
--		reg = <1>;
--	};
--
--	/* lan4 */
--	ethernet-phy at 2 {
--		reg = <2>;
--	};
--
--	/* lan3 */
--	ethernet-phy at 3 {
--		reg = <3>;
--	};
--};
--
--&leds {
--	led-power at 11 {
--		reg = <0x11>;
--		function = LED_FUNCTION_POWER;
--		color = <LED_COLOR_ID_WHITE>;
--		default-state = "on";
--		active-low;
--		pinctrl-names = "default";
--		pinctrl-0 = <&pins_led_17_a>;
--	};
--
--	led-wan-red at 12 {
--		reg = <0x12>;
--		function = LED_FUNCTION_WAN;
--		color = <LED_COLOR_ID_RED>;
--		active-low;
--		pinctrl-names = "default";
--		pinctrl-0 = <&pins_led_18_a>;
--	};
--
--	led-wps at 14 {
--		reg = <0x14>;
--		function = LED_FUNCTION_WPS;
--		color = <LED_COLOR_ID_WHITE>;
--		active-low;
--		pinctrl-names = "default";
--		pinctrl-0 = <&pins_led_20_a>;
--	};
--
--	led-wan-white at 15 {
--		reg = <0x15>;
--		function = LED_FUNCTION_WAN;
--		color = <LED_COLOR_ID_WHITE>;
--		active-low;
--		pinctrl-names = "default";
--		pinctrl-0 = <&pins_led_21_a>;
--	};
--
--	led-lan at 19 {
--		reg = <0x19>;
--		function = LED_FUNCTION_LAN;
--		color = <LED_COLOR_ID_WHITE>;
--		pinctrl-names = "default";
--		pinctrl-0 = <&pins_led_25_a>;
--	};
--};
--
--&nandcs {
--	nand-ecc-strength = <4>;
--	nand-ecc-step-size = <512>;
--	nand-on-flash-bbt;
--	brcm,nand-has-wp;
--
--	#address-cells = <1>;
--	#size-cells = <0>;
--
--	partitions {
--		compatible = "brcm,bcm4908-partitions";
--		#address-cells = <1>;
--		#size-cells = <1>;
--
--		partition at 0 {
--			compatible = "nvmem-cells";
--			label = "cferom";
--			reg = <0x0 0x100000>;
--
--			#address-cells = <1>;
--			#size-cells = <1>;
--			ranges = <0 0x0 0x100000>;
--
--			base_mac_addr: mac at 106a0 {
--				reg = <0x106a0 0x6>;
--			};
--		};
--
--		partition at 100000 {
--			compatible = "brcm,bcm4908-firmware";
--			reg = <0x100000 0x5700000>;
--		};
--
--		partition at 5800000 {
--			compatible = "brcm,bcm4908-firmware";
--			reg = <0x5800000 0x5700000>;
--		};
--	};
--};
---- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-netgear-raxe500.dts
-+++ /dev/null
-@@ -1,50 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
--
--#include "bcm4908.dtsi"
--
--/ {
--	compatible = "netgear,raxe500", "brcm,bcm4908", "brcm,bcmbca";
--	model = "Netgear RAXE500";
--
--	memory at 0 {
--		device_type = "memory";
--		reg = <0x00 0x00 0x00 0x40000000>;
--	};
--};
--
--&ehci {
--	status = "okay";
--};
--
--&ohci {
--	status = "okay";
--};
--
--&xhci {
--	status = "okay";
--};
--
--&ports {
--	port at 0 {
--		label = "lan4";
--	};
--
--	port at 1 {
--		label = "lan3";
--	};
--
--	port at 2 {
--		label = "lan2";
--	};
--
--	port at 3 {
--		label = "lan1";
--	};
--
--	port at 7 {
--		reg = <7>;
--		phy-mode = "internal";
--		phy-handle = <&phy12>;
--		label = "wan";
--	};
--};
---- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi
-+++ /dev/null
-@@ -1,575 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
--
--#include <dt-bindings/interrupt-controller/irq.h>
--#include <dt-bindings/interrupt-controller/arm-gic.h>
--#include <dt-bindings/phy/phy.h>
--#include <dt-bindings/soc/bcm-pmb.h>
--
--/dts-v1/;
--
--/ {
--	interrupt-parent = <&gic>;
--
--	#address-cells = <2>;
--	#size-cells = <2>;
--
--	aliases {
--		serial0 = &uart0;
--	};
--
--	chosen {
--		stdout-path = "serial0:115200n8";
--	};
--
--	cpus {
--		#address-cells = <1>;
--		#size-cells = <0>;
--
--		cpu0: cpu at 0 {
--			device_type = "cpu";
--			compatible = "brcm,brahma-b53";
--			reg = <0x0>;
--			enable-method = "spin-table";
--			cpu-release-addr = <0x0 0xfff8>;
--			next-level-cache = <&l2>;
--		};
--
--		cpu1: cpu at 1 {
--			device_type = "cpu";
--			compatible = "brcm,brahma-b53";
--			reg = <0x1>;
--			enable-method = "spin-table";
--			cpu-release-addr = <0x0 0xfff8>;
--			next-level-cache = <&l2>;
--		};
--
--		cpu2: cpu at 2 {
--			device_type = "cpu";
--			compatible = "brcm,brahma-b53";
--			reg = <0x2>;
--			enable-method = "spin-table";
--			cpu-release-addr = <0x0 0xfff8>;
--			next-level-cache = <&l2>;
--		};
--
--		cpu3: cpu at 3 {
--			device_type = "cpu";
--			compatible = "brcm,brahma-b53";
--			reg = <0x3>;
--			enable-method = "spin-table";
--			cpu-release-addr = <0x0 0xfff8>;
--			next-level-cache = <&l2>;
--		};
--
--		l2: l2-cache0 {
--			compatible = "cache";
--		};
--	};
--
--	axi at 81000000 {
--		compatible = "simple-bus";
--		#address-cells = <1>;
--		#size-cells = <1>;
--		ranges = <0x00 0x00 0x81000000 0x4000>;
--
--		gic: interrupt-controller at 1000 {
--			compatible = "arm,gic-400";
--			#interrupt-cells = <3>;
--			#address-cells = <0>;
--			interrupt-controller;
--			reg = <0x1000 0x1000>,
--			      <0x2000 0x2000>;
--		};
--	};
--
--	timer {
--		compatible = "arm,armv8-timer";
--		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
--			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
--			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
--			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
--	};
--
--	pmu {
--		compatible = "arm,cortex-a53-pmu";
--		interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
--			     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
--			     <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
--			     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
--		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
--	};
--
--	clocks {
--		periph_clk: periph_clk {
--			compatible = "fixed-clock";
--			#clock-cells = <0>;
--			clock-frequency = <50000000>;
--			clock-output-names = "periph";
--		};
--	};
--
--	soc {
--		compatible = "simple-bus";
--		#address-cells = <1>;
--		#size-cells = <1>;
--		ranges = <0x00 0x00 0x80000000 0x281000>;
--
--		enet: ethernet at 2000 {
--			compatible = "brcm,bcm4908-enet";
--			reg = <0x2000 0x1000>;
--
--			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
--				     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
--			interrupt-names = "rx", "tx";
--		};
--
--		usb_phy: usb-phy at c200 {
--			compatible = "brcm,bcm4908-usb-phy";
--			reg = <0xc200 0x100>;
--			reg-names = "ctrl";
--			power-domains = <&pmb BCM_PMB_HOST_USB>;
--			dr_mode = "host";
--			brcm,has-xhci;
--			brcm,has-eohci;
--			#phy-cells = <1>;
--			status = "disabled";
--		};
--
--		ehci: usb at c300 {
--			compatible = "generic-ehci";
--			reg = <0xc300 0x100>;
--			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
--			phys = <&usb_phy PHY_TYPE_USB2>;
--			status = "disabled";
--		};
--
--		ohci: usb at c400 {
--			compatible = "generic-ohci";
--			reg = <0xc400 0x100>;
--			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
--			phys = <&usb_phy PHY_TYPE_USB2>;
--			status = "disabled";
--		};
--
--		xhci: usb at d000 {
--			compatible = "generic-xhci";
--			reg = <0xd000 0x8c8>;
--			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
--			phys = <&usb_phy PHY_TYPE_USB3>;
--			status = "disabled";
--		};
--
--		bus at 80000 {
--			compatible = "simple-bus";
--			#size-cells = <1>;
--			#address-cells = <1>;
--			ranges = <0 0x80000 0x50000>;
--
--			ethernet-switch at 0 {
--				compatible = "brcm,bcm4908-switch";
--				reg = <0x0 0x40000>,
--				      <0x40000 0x110>,
--				      <0x40340 0x30>,
--				      <0x40380 0x30>,
--				      <0x40600 0x34>,
--				      <0x40800 0x208>;
--				reg-names = "core", "reg", "intrl2_0",
--					    "intrl2_1", "fcb", "acb";
--				interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
--					     <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
--				brcm,num-gphy = <5>;
--				brcm,num-rgmii-ports = <2>;
--
--				#address-cells = <1>;
--				#size-cells = <0>;
--
--				ports: ports {
--					#address-cells = <1>;
--					#size-cells = <0>;
--
--					port at 0 {
--						reg = <0>;
--						phy-mode = "internal";
--						phy-handle = <&phy8>;
--					};
--
--					port at 1 {
--						reg = <1>;
--						phy-mode = "internal";
--						phy-handle = <&phy9>;
--					};
--
--					port at 2 {
--						reg = <2>;
--						phy-mode = "internal";
--						phy-handle = <&phy10>;
--					};
--
--					port at 3 {
--						reg = <3>;
--						phy-mode = "internal";
--						phy-handle = <&phy11>;
--					};
--
--					port at 8 {
--						reg = <8>;
--						phy-mode = "internal";
--						ethernet = <&enet>;
--
--						fixed-link {
--							speed = <1000>;
--							full-duplex;
--						};
--					};
--				};
--			};
--
--			mdio: mdio at 405c0 {
--				compatible = "brcm,unimac-mdio";
--				reg = <0x405c0 0x8>;
--				reg-names = "mdio";
--				#size-cells = <0>;
--				#address-cells = <1>;
--
--				phy8: ethernet-phy at 8 {
--					reg = <8>;
--				};
--
--				phy9: ethernet-phy at 9 {
--					reg = <9>;
--				};
--
--				phy10: ethernet-phy at a {
--					reg = <10>;
--				};
--
--				phy11: ethernet-phy at b {
--					reg = <11>;
--				};
--
--				phy12: ethernet-phy at c {
--					reg = <12>;
--				};
--			};
--		};
--
--		procmon: syscon at 280000 {
--			compatible = "simple-bus";
--			reg = <0x280000 0x1000>;
--			ranges;
--
--			#address-cells = <1>;
--			#size-cells = <1>;
--
--			pmb: power-controller at 2800c0 {
--				compatible = "brcm,bcm4908-pmb";
--				reg = <0x2800c0 0x40>;
--				#power-domain-cells = <1>;
--			};
--		};
--	};
--
--	bus at ff800000 {
--		compatible = "simple-bus";
--		#address-cells = <1>;
--		#size-cells = <1>;
--		ranges = <0x00 0x00 0xff800000 0x3000>;
--
--		twd: timer-mfd at 400 {
--			compatible = "brcm,bcm4908-twd", "simple-mfd", "syscon";
--			reg = <0x400 0x4c>;
--			ranges = <0x0 0x400 0x4c>;
--
--			#address-cells = <1>;
--			#size-cells = <1>;
--
--			watchdog at 28 {
--				compatible = "brcm,bcm6345-wdt";
--				reg = <0x28 0x8>;
--			};
--		};
--
--		gpio0: gpio-controller at 500 {
--			compatible = "brcm,bcm6345-gpio";
--			reg-names = "dirout", "dat";
--			reg = <0x500 0x28>, <0x528 0x28>;
--
--			#gpio-cells = <2>;
--			gpio-controller;
--		};
--
--		pinctrl at 560 {
--			compatible = "brcm,bcm4908-pinctrl";
--			reg = <0x560 0x10>;
--
--			pins_led_0_a: led_0-a-pins {
--				function = "led_0";
--				groups = "led_0_grp_a";
--			};
--
--			pins_led_1_a: led_1-a-pins {
--				function = "led_1";
--				groups = "led_1_grp_a";
--			};
--
--			pins_led_2_a: led_2-a-pins {
--				function = "led_2";
--				groups = "led_2_grp_a";
--			};
--
--			pins_led_3_a: led_3-a-pins {
--				function = "led_3";
--				groups = "led_3_grp_a";
--			};
--
--			pins_led_4_a: led_4-a-pins {
--				function = "led_4";
--				groups = "led_4_grp_a";
--			};
--
--			pins_led_5_a: led_5-a-pins {
--				function = "led_5";
--				groups = "led_5_grp_a";
--			};
--
--			pins_led_6_a: led_6-a-pins {
--				function = "led_6";
--				groups = "led_6_grp_a";
--			};
--
--			pins_led_7_a: led_7-a-pins {
--				function = "led_7";
--				groups = "led_7_grp_a";
--			};
--
--			pins_led_8_a: led_8-a-pins {
--				function = "led_8";
--				groups = "led_8_grp_a";
--			};
--
--			pins_led_9_a: led_9-a-pins {
--				function = "led_9";
--				groups = "led_9_grp_a";
--			};
--
--			pins_led_10_a: led_10-a-pins {
--				function = "led_10";
--				groups = "led_10_grp_a";
--			};
--
--			pins_led_11_a: led_11-a-pins {
--				function = "led_11";
--				groups = "led_11_grp_a";
--			};
--
--			pins_led_12_a: led_12-a-pins {
--				function = "led_12";
--				groups = "led_12_grp_a";
--			};
--
--			pins_led_13_a: led_13-a-pins {
--				function = "led_13";
--				groups = "led_13_grp_a";
--			};
--
--			pins_led_14_a: led_14-a-pins {
--				function = "led_14";
--				groups = "led_14_grp_a";
--			};
--
--			pins_led_15_a: led_15-a-pins {
--				function = "led_15";
--				groups = "led_15_grp_a";
--			};
--
--			pins_led_16_a: led_16-a-pins {
--				function = "led_16";
--				groups = "led_16_grp_a";
--			};
--
--			pins_led_17_a: led_17-a-pins {
--				function = "led_17";
--				groups = "led_17_grp_a";
--			};
--
--			pins_led_18_a: led_18-a-pins {
--				function = "led_18";
--				groups = "led_18_grp_a";
--			};
--
--			pins_led_19_a: led_19-a-pins {
--				function = "led_19";
--				groups = "led_19_grp_a";
--			};
--
--			pins_led_20_a: led_20-a-pins {
--				function = "led_20";
--				groups = "led_20_grp_a";
--			};
--
--			pins_led_21_a: led_21-a-pins {
--				function = "led_21";
--				groups = "led_21_grp_a";
--			};
--
--			pins_led_22_a: led_22-a-pins {
--				function = "led_22";
--				groups = "led_22_grp_a";
--			};
--
--			pins_led_23_a: led_23-a-pins {
--				function = "led_23";
--				groups = "led_23_grp_a";
--			};
--
--			pins_led_24_a: led_24-a-pins {
--				function = "led_24";
--				groups = "led_24_grp_a";
--			};
--
--			pins_led_25_a: led_25-a-pins {
--				function = "led_25";
--				groups = "led_25_grp_a";
--			};
--
--			pins_led_26_a: led_26-a-pins {
--				function = "led_26";
--				groups = "led_26_grp_a";
--			};
--
--			pins_led_27_a: led_27-a-pins {
--				function = "led_27";
--				groups = "led_27_grp_a";
--			};
--
--			pins_led_28_a: led_28-a-pins {
--				function = "led_28";
--				groups = "led_28_grp_a";
--			};
--
--			pins_led_29_a: led_29-a-pins {
--				function = "led_29";
--				groups = "led_29_grp_a";
--			};
--
--			pins_led_30_a: led_30-a-pins {
--				function = "led_30";
--				groups = "led_30_grp_a";
--			};
--
--			pins_led_31_a: led_31-a-pins {
--				function = "led_31";
--				groups = "led_31_grp_a";
--			};
--
--			pins_hs_uart: hs_uart-pins {
--				function = "hs_uart";
--				groups = "hs_uart_grp";
--			};
--
--			pins_i2c_a: i2c-a-pins {
--				function = "i2c";
--				groups = "i2c_grp_a";
--			};
--
--			pins_i2c_b: i2c-b-pins {
--				function = "i2c";
--				groups = "i2c_grp_b";
--			};
--
--			pins_i2s: i2s-pins {
--				function = "i2s";
--				groups = "i2s_grp";
--			};
--
--			pins_nand_ctrl: nand_ctrl-pins {
--				function = "nand_ctrl";
--				groups = "nand_ctrl_grp";
--			};
--
--			pins_nand_data: nand_data-pins {
--				function = "nand_data";
--				groups = "nand_data_grp";
--			};
--
--			pins_emmc_ctrl: emmc_ctrl-pins {
--				function = "emmc_ctrl";
--				groups = "emmc_ctrl_grp";
--			};
--
--			pins_usb0_pwr: usb0_pwr-pins {
--				function = "usb0_pwr";
--				groups = "usb0_pwr_grp";
--			};
--
--			pins_usb1_pwr: usb1_pwr-pins {
--				function = "usb1_pwr";
--				groups = "usb1_pwr_grp";
--			};
--		};
--
--		uart0: serial at 640 {
--			compatible = "brcm,bcm6345-uart";
--			reg = <0x640 0x18>;
--			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
--			clocks = <&periph_clk>;
--			clock-names = "refclk";
--			status = "okay";
--		};
--
--		leds: leds at 800 {
--			compatible = "brcm,bcm4908-leds", "brcm,bcm63138-leds";
--			reg = <0x800 0xdc>;
--
--			#address-cells = <1>;
--			#size-cells = <0>;
--		};
--
--		nand-controller at 1800 {
--			#address-cells = <1>;
--			#size-cells = <0>;
--			compatible = "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmnand";
--			reg = <0x1800 0x600>, <0x2000 0x10>;
--			reg-names = "nand", "nand-int-base";
--			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
--			interrupt-names = "nand";
--			status = "okay";
--
--			nandcs: nand at 0 {
--				compatible = "brcm,nandcs";
--				reg = <0>;
--			};
--		};
--
--		i2c at 2100 {
--			compatible = "brcm,brcmper-i2c";
--			reg = <0x2100 0x58>;
--			clock-frequency = <97500>;
--			pinctrl-names = "default";
--			pinctrl-0 = <&pins_i2c_a>;
--			status = "disabled";
--		};
--
--		misc at 2600 {
--			compatible = "brcm,misc", "simple-mfd";
--			reg = <0x2600 0xe4>;
--
--			#address-cells = <1>;
--			#size-cells = <1>;
--			ranges = <0x00 0x2600 0xe4>;
--
--			reset-controller at 2644 {
--				compatible = "brcm,bcm4908-misc-pcie-reset";
--				reg = <0x44 0x04>;
--				#reset-cells = <1>;
--			};
--		};
--	};
--
--	reboot {
--		compatible = "syscon-reboot";
--		regmap = <&twd>;
--		offset = <0x34>;
--		mask = <1>;
--	};
--};
---- /dev/null
-+++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-netgear-r8000p.dts
-@@ -0,0 +1,157 @@
-+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-+
-+#include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/input/input.h>
-+#include <dt-bindings/leds/common.h>
-+
-+#include "bcm4906.dtsi"
-+
-+/ {
-+	compatible = "netgear,r8000p", "brcm,bcm4906", "brcm,bcm4908", "brcm,bcmbca";
-+	model = "Netgear R8000P";
-+
-+	memory at 0 {
-+		device_type = "memory";
-+		reg = <0x00 0x00 0x00 0x20000000>;
-+	};
-+
-+	leds {
-+		compatible = "gpio-leds";
-+
-+		led-power-white {
-+			function = LED_FUNCTION_POWER;
-+			color = <LED_COLOR_ID_WHITE>;
-+			gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		led-power-amber {
-+			function = LED_FUNCTION_POWER;
-+			color = <LED_COLOR_ID_AMBER>;
-+			gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		led-wps {
-+			function = LED_FUNCTION_WPS;
-+			color = <LED_COLOR_ID_WHITE>;
-+			gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		led-2ghz {
-+			function = "2ghz";
-+			color = <LED_COLOR_ID_WHITE>;
-+			gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		led-5ghz-1 {
-+			function = "5ghz-1";
-+			color = <LED_COLOR_ID_WHITE>;
-+			gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		led-5ghz-2 {
-+			function = "5ghz-2";
-+			color = <LED_COLOR_ID_WHITE>;
-+			gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		led-usb2 {
-+			function = "usb2";
-+			color = <LED_COLOR_ID_WHITE>;
-+			gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		led-usb3 {
-+			function = "usb3";
-+			color = <LED_COLOR_ID_WHITE>;
-+			gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		led-wifi {
-+			function = "wifi";
-+			color = <LED_COLOR_ID_WHITE>;
-+			gpios = <&gpio0 56 GPIO_ACTIVE_LOW>;
-+		};
-+	};
-+};
-+
-+&enet {
-+	nvmem-cells = <&base_mac_addr>;
-+	nvmem-cell-names = "mac-address";
-+};
-+
-+&usb_phy {
-+	brcm,ioc = <1>;
-+	status = "okay";
-+};
-+
-+&ehci {
-+	status = "okay";
-+};
-+
-+&ohci {
-+	status = "okay";
-+};
-+
-+&xhci {
-+	status = "okay";
-+};
-+
-+&ports {
-+	port at 0 {
-+		label = "lan4";
-+	};
-+
-+	port at 1 {
-+		label = "lan3";
-+	};
-+
-+	port at 2 {
-+		label = "lan2";
-+	};
-+
-+	port at 3 {
-+		label = "lan1";
-+	};
-+
-+	port at 7 {
-+		reg = <7>;
-+		phy-mode = "internal";
-+		phy-handle = <&phy12>;
-+		label = "wan";
-+	};
-+};
-+
-+&nandcs {
-+	nand-ecc-strength = <4>;
-+	nand-ecc-step-size = <512>;
-+	nand-on-flash-bbt;
-+
-+	#address-cells = <1>;
-+	#size-cells = <0>;
-+
-+	partitions {
-+		compatible = "fixed-partitions";
-+		#address-cells = <1>;
-+		#size-cells = <1>;
-+
-+		partition at 0 {
-+			compatible = "nvmem-cells";
-+			label = "cferom";
-+			reg = <0x0 0x100000>;
-+
-+			#address-cells = <1>;
-+			#size-cells = <1>;
-+			ranges = <0 0x0 0x100000>;
-+
-+			base_mac_addr: mac at 106a0 {
-+				reg = <0x106a0 0x6>;
-+			};
-+		};
-+
-+		partition at 100000 {
-+			compatible = "brcm,bcm4908-firmware";
-+			label = "firmware";
-+			reg = <0x100000 0x4400000>;
-+		};
-+	};
-+};
---- /dev/null
-+++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts
-@@ -0,0 +1,182 @@
-+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-+
-+#include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/input/input.h>
-+#include <dt-bindings/leds/common.h>
-+
-+#include "bcm4906.dtsi"
-+
-+/ {
-+	compatible = "tplink,archer-c2300-v1", "brcm,bcm4906", "brcm,bcm4908", "brcm,bcmbca";
-+	model = "TP-Link Archer C2300 V1";
-+
-+	memory at 0 {
-+		device_type = "memory";
-+		reg = <0x00 0x00 0x00 0x20000000>;
-+	};
-+
-+	leds {
-+		compatible = "gpio-leds";
-+
-+		led-power {
-+			function = LED_FUNCTION_POWER;
-+			color = <LED_COLOR_ID_BLUE>;
-+			gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		led-2ghz {
-+			function = "2ghz";
-+			color = <LED_COLOR_ID_BLUE>;
-+			gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		led-5ghz {
-+			function = "5ghz";
-+			color = <LED_COLOR_ID_BLUE>;
-+			gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		led-wan-amber {
-+			function = LED_FUNCTION_WAN;
-+			color = <LED_COLOR_ID_AMBER>;
-+			gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
-+		};
-+
-+		led-wan-blue {
-+			function = LED_FUNCTION_WAN;
-+			color = <LED_COLOR_ID_BLUE>;
-+			gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		led-lan {
-+			function = LED_FUNCTION_LAN;
-+			color = <LED_COLOR_ID_BLUE>;
-+			gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		led-wps {
-+			function = LED_FUNCTION_WPS;
-+			color = <LED_COLOR_ID_BLUE>;
-+			gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		led-usb2 {
-+			function = "usb2";
-+			color = <LED_COLOR_ID_BLUE>;
-+			gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		led-usb3 {
-+			function = "usbd3";
-+			color = <LED_COLOR_ID_BLUE>;
-+			gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		led-brightness {
-+			function = LED_FUNCTION_BACKLIGHT;
-+			color = <LED_COLOR_ID_WHITE>;
-+			gpios = <&gpio0 19 GPIO_ACTIVE_LOW>;
-+		};
-+	};
-+
-+	gpio-keys-polled {
-+		compatible = "gpio-keys-polled";
-+		poll-interval = <100>;
-+
-+		key-brightness {
-+			label = "LEDs";
-+			linux,code = <KEY_BRIGHTNESS_ZERO>;
-+			gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		key-wps {
-+			label = "WPS";
-+			linux,code = <KEY_WPS_BUTTON>;
-+			gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		key-wifi {
-+			label = "WiFi";
-+			linux,code = <KEY_RFKILL>;
-+			gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		key-restart {
-+			label = "Reset";
-+			linux,code = <KEY_RESTART>;
-+			gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
-+		};
-+	};
-+};
-+
-+&usb_phy {
-+	brcm,ioc = <1>;
-+	status = "okay";
-+};
-+
-+&ehci {
-+	status = "okay";
-+};
-+
-+&ohci {
-+	status = "okay";
-+};
-+
-+&xhci {
-+	status = "okay";
-+};
-+
-+&ports {
-+	port at 0 {
-+		label = "lan4";
-+	};
-+
-+	port at 1 {
-+		label = "lan3";
-+	};
-+
-+	port at 2 {
-+		label = "lan2";
-+	};
-+
-+	port at 3 {
-+		label = "lan1";
-+	};
-+
-+	port at 7 {
-+		reg = <7>;
-+		phy-mode = "internal";
-+		phy-handle = <&phy12>;
-+		label = "wan";
-+	};
-+};
-+
-+&nandcs {
-+	nand-ecc-strength = <4>;
-+	nand-ecc-step-size = <512>;
-+	nand-on-flash-bbt;
-+
-+	#address-cells = <1>;
-+	#size-cells = <0>;
-+
-+	partitions {
-+		compatible = "brcm,bcm4908-partitions";
-+		#address-cells = <1>;
-+		#size-cells = <1>;
-+
-+		partition at 0 {
-+			label = "cferom";
-+			reg = <0x0 0x100000>;
-+		};
-+
-+		partition at 100000 {
-+			compatible = "brcm,bcm4908-firmware";
-+			reg = <0x100000 0x3900000>;
-+		};
-+
-+		partition at 5800000 {
-+			compatible = "brcm,bcm4908-firmware";
-+			reg = <0x3a00000 0x3900000>;
-+		};
-+	};
-+};
---- /dev/null
-+++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906.dtsi
-@@ -0,0 +1,34 @@
-+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-+
-+#include "bcm4908.dtsi"
-+
-+/ {
-+	cpus {
-+		/delete-node/ cpu at 2;
-+
-+		/delete-node/ cpu at 3;
-+	};
-+
-+	timer {
-+		compatible = "arm,armv8-timer";
-+		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
-+			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
-+			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
-+			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
-+	};
-+
-+	timer {
-+		compatible = "arm,armv8-timer";
-+		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
-+			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
-+			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
-+			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
-+	};
-+
-+	pmu {
-+		compatible = "arm,cortex-a53-pmu";
-+		interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
-+			     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
-+		interrupt-affinity = <&cpu0>, <&cpu1>;
-+	};
-+};
---- /dev/null
-+++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts
-@@ -0,0 +1,207 @@
-+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-+
-+#include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/input/input.h>
-+#include <dt-bindings/leds/common.h>
-+
-+#include "bcm4908.dtsi"
-+
-+/ {
-+	compatible = "asus,gt-ac5300", "brcm,bcm4908", "brcm,bcmbca";
-+	model = "Asus GT-AC5300";
-+
-+	memory at 0 {
-+		device_type = "memory";
-+		reg = <0x00 0x00 0x00 0x40000000>;
-+	};
-+
-+	gpio-keys-polled {
-+		compatible = "gpio-keys-polled";
-+		poll-interval = <100>;
-+
-+		key-wifi {
-+			label = "WiFi";
-+			linux,code = <KEY_RFKILL>;
-+			gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		key-wps {
-+			label = "WPS";
-+			linux,code = <KEY_WPS_BUTTON>;
-+			gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		key-restart {
-+			label = "Reset";
-+			linux,code = <KEY_RESTART>;
-+			gpios = <&gpio0 30 GPIO_ACTIVE_LOW>;
-+		};
-+
-+		key-brightness {
-+			label = "LEDs";
-+			linux,code = <KEY_BRIGHTNESS_ZERO>;
-+			gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
-+		};
-+	};
-+};
-+
-+&enet {
-+	nvmem-cells = <&base_mac_addr>;
-+	nvmem-cell-names = "mac-address";
-+};
-+
-+&usb_phy {
-+	brcm,ioc = <1>;
-+	status = "okay";
-+};
-+
-+&ehci {
-+	status = "okay";
-+};
-+
-+&ohci {
-+	status = "okay";
-+};
-+
-+&xhci {
-+	status = "okay";
-+};
-+
-+&ports {
-+	port at 0 {
-+		label = "lan2";
-+	};
-+
-+	port at 1 {
-+		label = "lan1";
-+	};
-+
-+	port at 2 {
-+		label = "lan6";
-+	};
-+
-+	port at 3 {
-+		label = "lan5";
-+	};
-+
-+	/* External BCM53134S switch */
-+	port at 7 {
-+		label = "sw";
-+		reg = <7>;
-+		phy-mode = "rgmii";
-+
-+		fixed-link {
-+			speed = <1000>;
-+			full-duplex;
-+		};
-+	};
-+};
-+
-+&mdio {
-+	/* lan8 */
-+	ethernet-phy at 0 {
-+		reg = <0>;
-+	};
-+
-+	/* lan7 */
-+	ethernet-phy at 1 {
-+		reg = <1>;
-+	};
-+
-+	/* lan4 */
-+	ethernet-phy at 2 {
-+		reg = <2>;
-+	};
-+
-+	/* lan3 */
-+	ethernet-phy at 3 {
-+		reg = <3>;
-+	};
-+};
-+
-+&leds {
-+	led-power at 11 {
-+		reg = <0x11>;
-+		function = LED_FUNCTION_POWER;
-+		color = <LED_COLOR_ID_WHITE>;
-+		default-state = "on";
-+		active-low;
-+		pinctrl-names = "default";
-+		pinctrl-0 = <&pins_led_17_a>;
-+	};
-+
-+	led-wan-red at 12 {
-+		reg = <0x12>;
-+		function = LED_FUNCTION_WAN;
-+		color = <LED_COLOR_ID_RED>;
-+		active-low;
-+		pinctrl-names = "default";
-+		pinctrl-0 = <&pins_led_18_a>;
-+	};
-+
-+	led-wps at 14 {
-+		reg = <0x14>;
-+		function = LED_FUNCTION_WPS;
-+		color = <LED_COLOR_ID_WHITE>;
-+		active-low;
-+		pinctrl-names = "default";
-+		pinctrl-0 = <&pins_led_20_a>;
-+	};
-+
-+	led-wan-white at 15 {
-+		reg = <0x15>;
-+		function = LED_FUNCTION_WAN;
-+		color = <LED_COLOR_ID_WHITE>;
-+		active-low;
-+		pinctrl-names = "default";
-+		pinctrl-0 = <&pins_led_21_a>;
-+	};
-+
-+	led-lan at 19 {
-+		reg = <0x19>;
-+		function = LED_FUNCTION_LAN;
-+		color = <LED_COLOR_ID_WHITE>;
-+		pinctrl-names = "default";
-+		pinctrl-0 = <&pins_led_25_a>;
-+	};
-+};
-+
-+&nandcs {
-+	nand-ecc-strength = <4>;
-+	nand-ecc-step-size = <512>;
-+	nand-on-flash-bbt;
-+	brcm,nand-has-wp;
-+
-+	#address-cells = <1>;
-+	#size-cells = <0>;
-+
-+	partitions {
-+		compatible = "brcm,bcm4908-partitions";
-+		#address-cells = <1>;
-+		#size-cells = <1>;
-+
-+		partition at 0 {
-+			compatible = "nvmem-cells";
-+			label = "cferom";
-+			reg = <0x0 0x100000>;
-+
-+			#address-cells = <1>;
-+			#size-cells = <1>;
-+			ranges = <0 0x0 0x100000>;
-+
-+			base_mac_addr: mac at 106a0 {
-+				reg = <0x106a0 0x6>;
-+			};
-+		};
-+
-+		partition at 100000 {
-+			compatible = "brcm,bcm4908-firmware";
-+			reg = <0x100000 0x5700000>;
-+		};
-+
-+		partition at 5800000 {
-+			compatible = "brcm,bcm4908-firmware";
-+			reg = <0x5800000 0x5700000>;
-+		};
-+	};
-+};
---- /dev/null
-+++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-netgear-raxe500.dts
-@@ -0,0 +1,50 @@
-+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-+
-+#include "bcm4908.dtsi"
-+
-+/ {
-+	compatible = "netgear,raxe500", "brcm,bcm4908", "brcm,bcmbca";
-+	model = "Netgear RAXE500";
-+
-+	memory at 0 {
-+		device_type = "memory";
-+		reg = <0x00 0x00 0x00 0x40000000>;
-+	};
-+};
-+
-+&ehci {
-+	status = "okay";
-+};
-+
-+&ohci {
-+	status = "okay";
-+};
-+
-+&xhci {
-+	status = "okay";
-+};
-+
-+&ports {
-+	port at 0 {
-+		label = "lan4";
-+	};
-+
-+	port at 1 {
-+		label = "lan3";
-+	};
-+
-+	port at 2 {
-+		label = "lan2";
-+	};
-+
-+	port at 3 {
-+		label = "lan1";
-+	};
-+
-+	port at 7 {
-+		reg = <7>;
-+		phy-mode = "internal";
-+		phy-handle = <&phy12>;
-+		label = "wan";
-+	};
-+};
---- /dev/null
-+++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi
-@@ -0,0 +1,575 @@
-+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-+
-+#include <dt-bindings/interrupt-controller/irq.h>
-+#include <dt-bindings/interrupt-controller/arm-gic.h>
-+#include <dt-bindings/phy/phy.h>
-+#include <dt-bindings/soc/bcm-pmb.h>
-+
-+/dts-v1/;
-+
-+/ {
-+	interrupt-parent = <&gic>;
-+
-+	#address-cells = <2>;
-+	#size-cells = <2>;
-+
-+	aliases {
-+		serial0 = &uart0;
-+	};
-+
-+	chosen {
-+		stdout-path = "serial0:115200n8";
-+	};
-+
-+	cpus {
-+		#address-cells = <1>;
-+		#size-cells = <0>;
-+
-+		cpu0: cpu at 0 {
-+			device_type = "cpu";
-+			compatible = "brcm,brahma-b53";
-+			reg = <0x0>;
-+			enable-method = "spin-table";
-+			cpu-release-addr = <0x0 0xfff8>;
-+			next-level-cache = <&l2>;
-+		};
-+
-+		cpu1: cpu at 1 {
-+			device_type = "cpu";
-+			compatible = "brcm,brahma-b53";
-+			reg = <0x1>;
-+			enable-method = "spin-table";
-+			cpu-release-addr = <0x0 0xfff8>;
-+			next-level-cache = <&l2>;
-+		};
-+
-+		cpu2: cpu at 2 {
-+			device_type = "cpu";
-+			compatible = "brcm,brahma-b53";
-+			reg = <0x2>;
-+			enable-method = "spin-table";
-+			cpu-release-addr = <0x0 0xfff8>;
-+			next-level-cache = <&l2>;
-+		};
-+
-+		cpu3: cpu at 3 {
-+			device_type = "cpu";
-+			compatible = "brcm,brahma-b53";
-+			reg = <0x3>;
-+			enable-method = "spin-table";
-+			cpu-release-addr = <0x0 0xfff8>;
-+			next-level-cache = <&l2>;
-+		};
-+
-+		l2: l2-cache0 {
-+			compatible = "cache";
-+		};
-+	};
-+
-+	axi at 81000000 {
-+		compatible = "simple-bus";
-+		#address-cells = <1>;
-+		#size-cells = <1>;
-+		ranges = <0x00 0x00 0x81000000 0x4000>;
-+
-+		gic: interrupt-controller at 1000 {
-+			compatible = "arm,gic-400";
-+			#interrupt-cells = <3>;
-+			#address-cells = <0>;
-+			interrupt-controller;
-+			reg = <0x1000 0x1000>,
-+			      <0x2000 0x2000>;
-+		};
-+	};
-+
-+	timer {
-+		compatible = "arm,armv8-timer";
-+		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
-+			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
-+			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
-+			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
-+	};
-+
-+	pmu {
-+		compatible = "arm,cortex-a53-pmu";
-+		interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
-+			     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
-+			     <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
-+			     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
-+		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
-+	};
-+
-+	clocks {
-+		periph_clk: periph_clk {
-+			compatible = "fixed-clock";
-+			#clock-cells = <0>;
-+			clock-frequency = <50000000>;
-+			clock-output-names = "periph";
-+		};
-+	};
-+
-+	soc {
-+		compatible = "simple-bus";
-+		#address-cells = <1>;
-+		#size-cells = <1>;
-+		ranges = <0x00 0x00 0x80000000 0x281000>;
-+
-+		enet: ethernet at 2000 {
-+			compatible = "brcm,bcm4908-enet";
-+			reg = <0x2000 0x1000>;
-+
-+			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
-+				     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
-+			interrupt-names = "rx", "tx";
-+		};
-+
-+		usb_phy: usb-phy at c200 {
-+			compatible = "brcm,bcm4908-usb-phy";
-+			reg = <0xc200 0x100>;
-+			reg-names = "ctrl";
-+			power-domains = <&pmb BCM_PMB_HOST_USB>;
-+			dr_mode = "host";
-+			brcm,has-xhci;
-+			brcm,has-eohci;
-+			#phy-cells = <1>;
-+			status = "disabled";
-+		};
-+
-+		ehci: usb at c300 {
-+			compatible = "generic-ehci";
-+			reg = <0xc300 0x100>;
-+			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
-+			phys = <&usb_phy PHY_TYPE_USB2>;
-+			status = "disabled";
-+		};
-+
-+		ohci: usb at c400 {
-+			compatible = "generic-ohci";
-+			reg = <0xc400 0x100>;
-+			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
-+			phys = <&usb_phy PHY_TYPE_USB2>;
-+			status = "disabled";
-+		};
-+
-+		xhci: usb at d000 {
-+			compatible = "generic-xhci";
-+			reg = <0xd000 0x8c8>;
-+			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
-+			phys = <&usb_phy PHY_TYPE_USB3>;
-+			status = "disabled";
-+		};
-+
-+		bus at 80000 {
-+			compatible = "simple-bus";
-+			#size-cells = <1>;
-+			#address-cells = <1>;
-+			ranges = <0 0x80000 0x50000>;
-+
-+			ethernet-switch at 0 {
-+				compatible = "brcm,bcm4908-switch";
-+				reg = <0x0 0x40000>,
-+				      <0x40000 0x110>,
-+				      <0x40340 0x30>,
-+				      <0x40380 0x30>,
-+				      <0x40600 0x34>,
-+				      <0x40800 0x208>;
-+				reg-names = "core", "reg", "intrl2_0",
-+					    "intrl2_1", "fcb", "acb";
-+				interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
-+					     <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
-+				brcm,num-gphy = <5>;
-+				brcm,num-rgmii-ports = <2>;
-+
-+				#address-cells = <1>;
-+				#size-cells = <0>;
-+
-+				ports: ports {
-+					#address-cells = <1>;
-+					#size-cells = <0>;
-+
-+					port at 0 {
-+						reg = <0>;
-+						phy-mode = "internal";
-+						phy-handle = <&phy8>;
-+					};
-+
-+					port at 1 {
-+						reg = <1>;
-+						phy-mode = "internal";
-+						phy-handle = <&phy9>;
-+					};
-+
-+					port at 2 {
-+						reg = <2>;
-+						phy-mode = "internal";
-+						phy-handle = <&phy10>;
-+					};
-+
-+					port at 3 {
-+						reg = <3>;
-+						phy-mode = "internal";
-+						phy-handle = <&phy11>;
-+					};
-+
-+					port at 8 {
-+						reg = <8>;
-+						phy-mode = "internal";
-+						ethernet = <&enet>;
-+
-+						fixed-link {
-+							speed = <1000>;
-+							full-duplex;
-+						};
-+					};
-+				};
-+			};
-+
-+			mdio: mdio at 405c0 {
-+				compatible = "brcm,unimac-mdio";
-+				reg = <0x405c0 0x8>;
-+				reg-names = "mdio";
-+				#size-cells = <0>;
-+				#address-cells = <1>;
-+
-+				phy8: ethernet-phy at 8 {
-+					reg = <8>;
-+				};
-+
-+				phy9: ethernet-phy at 9 {
-+					reg = <9>;
-+				};
-+
-+				phy10: ethernet-phy at a {
-+					reg = <10>;
-+				};
-+
-+				phy11: ethernet-phy at b {
-+					reg = <11>;
-+				};
-+
-+				phy12: ethernet-phy at c {
-+					reg = <12>;
-+				};
-+			};
-+		};
-+
-+		procmon: syscon at 280000 {
-+			compatible = "simple-bus";
-+			reg = <0x280000 0x1000>;
-+			ranges;
-+
-+			#address-cells = <1>;
-+			#size-cells = <1>;
-+
-+			pmb: power-controller at 2800c0 {
-+				compatible = "brcm,bcm4908-pmb";
-+				reg = <0x2800c0 0x40>;
-+				#power-domain-cells = <1>;
-+			};
-+		};
-+	};
-+
-+	bus at ff800000 {
-+		compatible = "simple-bus";
-+		#address-cells = <1>;
-+		#size-cells = <1>;
-+		ranges = <0x00 0x00 0xff800000 0x3000>;
-+
-+		twd: timer-mfd at 400 {
-+			compatible = "brcm,bcm4908-twd", "simple-mfd", "syscon";
-+			reg = <0x400 0x4c>;
-+			ranges = <0x0 0x400 0x4c>;
-+
-+			#address-cells = <1>;
-+			#size-cells = <1>;
-+
-+			watchdog at 28 {
-+				compatible = "brcm,bcm6345-wdt";
-+				reg = <0x28 0x8>;
-+			};
-+		};
-+
-+		gpio0: gpio-controller at 500 {
-+			compatible = "brcm,bcm6345-gpio";
-+			reg-names = "dirout", "dat";
-+			reg = <0x500 0x28>, <0x528 0x28>;
-+
-+			#gpio-cells = <2>;
-+			gpio-controller;
-+		};
-+
-+		pinctrl at 560 {
-+			compatible = "brcm,bcm4908-pinctrl";
-+			reg = <0x560 0x10>;
-+
-+			pins_led_0_a: led_0-a-pins {
-+				function = "led_0";
-+				groups = "led_0_grp_a";
-+			};
-+
-+			pins_led_1_a: led_1-a-pins {
-+				function = "led_1";
-+				groups = "led_1_grp_a";
-+			};
-+
-+			pins_led_2_a: led_2-a-pins {
-+				function = "led_2";
-+				groups = "led_2_grp_a";
-+			};
-+
-+			pins_led_3_a: led_3-a-pins {
-+				function = "led_3";
-+				groups = "led_3_grp_a";
-+			};
-+
-+			pins_led_4_a: led_4-a-pins {
-+				function = "led_4";
-+				groups = "led_4_grp_a";
-+			};
-+
-+			pins_led_5_a: led_5-a-pins {
-+				function = "led_5";
-+				groups = "led_5_grp_a";
-+			};
-+
-+			pins_led_6_a: led_6-a-pins {
-+				function = "led_6";
-+				groups = "led_6_grp_a";
-+			};
-+
-+			pins_led_7_a: led_7-a-pins {
-+				function = "led_7";
-+				groups = "led_7_grp_a";
-+			};
-+
-+			pins_led_8_a: led_8-a-pins {
-+				function = "led_8";
-+				groups = "led_8_grp_a";
-+			};
-+
-+			pins_led_9_a: led_9-a-pins {
-+				function = "led_9";
-+				groups = "led_9_grp_a";
-+			};
-+
-+			pins_led_10_a: led_10-a-pins {
-+				function = "led_10";
-+				groups = "led_10_grp_a";
-+			};
-+
-+			pins_led_11_a: led_11-a-pins {
-+				function = "led_11";
-+				groups = "led_11_grp_a";
-+			};
-+
-+			pins_led_12_a: led_12-a-pins {
-+				function = "led_12";
-+				groups = "led_12_grp_a";
-+			};
-+
-+			pins_led_13_a: led_13-a-pins {
-+				function = "led_13";
-+				groups = "led_13_grp_a";
-+			};
-+
-+			pins_led_14_a: led_14-a-pins {
-+				function = "led_14";
-+				groups = "led_14_grp_a";
-+			};
-+
-+			pins_led_15_a: led_15-a-pins {
-+				function = "led_15";
-+				groups = "led_15_grp_a";
-+			};
-+
-+			pins_led_16_a: led_16-a-pins {
-+				function = "led_16";
-+				groups = "led_16_grp_a";
-+			};
-+
-+			pins_led_17_a: led_17-a-pins {
-+				function = "led_17";
-+				groups = "led_17_grp_a";
-+			};
-+
-+			pins_led_18_a: led_18-a-pins {
-+				function = "led_18";
-+				groups = "led_18_grp_a";
-+			};
-+
-+			pins_led_19_a: led_19-a-pins {
-+				function = "led_19";
-+				groups = "led_19_grp_a";
-+			};
-+
-+			pins_led_20_a: led_20-a-pins {
-+				function = "led_20";
-+				groups = "led_20_grp_a";
-+			};
-+
-+			pins_led_21_a: led_21-a-pins {
-+				function = "led_21";
-+				groups = "led_21_grp_a";
-+			};
-+
-+			pins_led_22_a: led_22-a-pins {
-+				function = "led_22";
-+				groups = "led_22_grp_a";
-+			};
-+
-+			pins_led_23_a: led_23-a-pins {
-+				function = "led_23";
-+				groups = "led_23_grp_a";
-+			};
-+
-+			pins_led_24_a: led_24-a-pins {
-+				function = "led_24";
-+				groups = "led_24_grp_a";
-+			};
-+
-+			pins_led_25_a: led_25-a-pins {
-+				function = "led_25";
-+				groups = "led_25_grp_a";
-+			};
-+
-+			pins_led_26_a: led_26-a-pins {
-+				function = "led_26";
-+				groups = "led_26_grp_a";
-+			};
-+
-+			pins_led_27_a: led_27-a-pins {
-+				function = "led_27";
-+				groups = "led_27_grp_a";
-+			};
-+
-+			pins_led_28_a: led_28-a-pins {
-+				function = "led_28";
-+				groups = "led_28_grp_a";
-+			};
-+
-+			pins_led_29_a: led_29-a-pins {
-+				function = "led_29";
-+				groups = "led_29_grp_a";
-+			};
-+
-+			pins_led_30_a: led_30-a-pins {
-+				function = "led_30";
-+				groups = "led_30_grp_a";
-+			};
-+
-+			pins_led_31_a: led_31-a-pins {
-+				function = "led_31";
-+				groups = "led_31_grp_a";
-+			};
-+
-+			pins_hs_uart: hs_uart-pins {
-+				function = "hs_uart";
-+				groups = "hs_uart_grp";
-+			};
-+
-+			pins_i2c_a: i2c-a-pins {
-+				function = "i2c";
-+				groups = "i2c_grp_a";
-+			};
-+
-+			pins_i2c_b: i2c-b-pins {
-+				function = "i2c";
-+				groups = "i2c_grp_b";
-+			};
-+
-+			pins_i2s: i2s-pins {
-+				function = "i2s";
-+				groups = "i2s_grp";
-+			};
-+
-+			pins_nand_ctrl: nand_ctrl-pins {
-+				function = "nand_ctrl";
-+				groups = "nand_ctrl_grp";
-+			};
-+
-+			pins_nand_data: nand_data-pins {
-+				function = "nand_data";
-+				groups = "nand_data_grp";
-+			};
-+
-+			pins_emmc_ctrl: emmc_ctrl-pins {
-+				function = "emmc_ctrl";
-+				groups = "emmc_ctrl_grp";
-+			};
-+
-+			pins_usb0_pwr: usb0_pwr-pins {
-+				function = "usb0_pwr";
-+				groups = "usb0_pwr_grp";
-+			};
-+
-+			pins_usb1_pwr: usb1_pwr-pins {
-+				function = "usb1_pwr";
-+				groups = "usb1_pwr_grp";
-+			};
-+		};
-+
-+		uart0: serial at 640 {
-+			compatible = "brcm,bcm6345-uart";
-+			reg = <0x640 0x18>;
-+			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
-+			clocks = <&periph_clk>;
-+			clock-names = "refclk";
-+			status = "okay";
-+		};
-+
-+		leds: leds at 800 {
-+			compatible = "brcm,bcm4908-leds", "brcm,bcm63138-leds";
-+			reg = <0x800 0xdc>;
-+
-+			#address-cells = <1>;
-+			#size-cells = <0>;
-+		};
-+
-+		nand-controller at 1800 {
-+			#address-cells = <1>;
-+			#size-cells = <0>;
-+			compatible = "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmnand";
-+			reg = <0x1800 0x600>, <0x2000 0x10>;
-+			reg-names = "nand", "nand-int-base";
-+			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
-+			interrupt-names = "nand";
-+			status = "okay";
-+
-+			nandcs: nand at 0 {
-+				compatible = "brcm,nandcs";
-+				reg = <0>;
-+			};
-+		};
-+
-+		i2c at 2100 {
-+			compatible = "brcm,brcmper-i2c";
-+			reg = <0x2100 0x58>;
-+			clock-frequency = <97500>;
-+			pinctrl-names = "default";
-+			pinctrl-0 = <&pins_i2c_a>;
-+			status = "disabled";
-+		};
-+
-+		misc at 2600 {
-+			compatible = "brcm,misc", "simple-mfd";
-+			reg = <0x2600 0xe4>;
-+
-+			#address-cells = <1>;
-+			#size-cells = <1>;
-+			ranges = <0x00 0x2600 0xe4>;
-+
-+			reset-controller at 2644 {
-+				compatible = "brcm,bcm4908-misc-pcie-reset";
-+				reg = <0x44 0x04>;
-+				#reset-cells = <1>;
-+			};
-+		};
-+	};
-+
-+	reboot {
-+		compatible = "syscon-reboot";
-+		regmap = <&twd>;
-+		offset = <0x34>;
-+		mask = <1>;
-+	};
-+};
diff --git a/target/linux/bcm4908/patches-5.15/036-v6.4-0002-arm64-dts-broadcom-bcmbca-bcm4908-fix-NAND-interrupt.patch b/target/linux/bcm4908/patches-5.15/036-v6.4-0002-arm64-dts-broadcom-bcmbca-bcm4908-fix-NAND-interrupt.patch
deleted file mode 100644
index b121200a25..0000000000
--- a/target/linux/bcm4908/patches-5.15/036-v6.4-0002-arm64-dts-broadcom-bcmbca-bcm4908-fix-NAND-interrupt.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 5cca02449490e767289bda38db1577e2c375c084 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal at milecki.pl>
-Date: Tue, 28 Feb 2023 15:43:58 +0100
-Subject: [PATCH] arm64: dts: broadcom: bcmbca: bcm4908: fix NAND interrupt
- name
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This fixes:
-arch/arm64/boot/dts/broadcom/bcmbca/bcm94908.dtb: nand-controller at 1800: interrupt-names:0: 'nand_ctlrdy' was expected
-        From schema: Documentation/devicetree/bindings/mtd/brcm,brcmnand.yaml
-arch/arm64/boot/dts/broadcom/bcmbca/bcm94908.dtb: nand-controller at 1800: Unevaluated properties are not allowed ('interrupt-names' was unexpected)
-        From schema: Documentation/devicetree/bindings/mtd/brcm,brcmnand.yaml
-
-Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
-Link: https://lore.kernel.org/all/20230228144400.21689-1-zajec5@gmail.com/
-Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
----
- arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi
-+++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi
-@@ -556,7 +556,7 @@
- 			reg = <0x1800 0x600>, <0x2000 0x10>;
- 			reg-names = "nand", "nand-int-base";
- 			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
--			interrupt-names = "nand";
-+			interrupt-names = "nand_ctlrdy";
- 			status = "okay";
- 
- 			nandcs: nand at 0 {
diff --git a/target/linux/bcm4908/patches-5.15/036-v6.4-0004-arm64-dts-broadcom-bcmbca-bcm4908-fix-procmon-nodena.patch b/target/linux/bcm4908/patches-5.15/036-v6.4-0004-arm64-dts-broadcom-bcmbca-bcm4908-fix-procmon-nodena.patch
deleted file mode 100644
index a469a32a2c..0000000000
--- a/target/linux/bcm4908/patches-5.15/036-v6.4-0004-arm64-dts-broadcom-bcmbca-bcm4908-fix-procmon-nodena.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From f16a8294dd7a02c7ad042cd2e3acc5ea06698dc1 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal at milecki.pl>
-Date: Tue, 28 Feb 2023 15:44:00 +0100
-Subject: [PATCH] arm64: dts: broadcom: bcmbca: bcm4908: fix procmon nodename
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This fixes:
-arch/arm64/boot/dts/broadcom/bcmbca/bcm94908.dtb: syscon at 280000: $nodename:0: 'syscon at 280000' does not match '^([a-z][a-z0-9\\-]+-bus|bus|localbus|soc|axi|ahb|apb)(@.+)?$'
-        From schema: schemas/simple-bus.yaml
-
-Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
-Link: https://lore.kernel.org/all/20230228144400.21689-3-zajec5@gmail.com/
-Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
----
- arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi
-+++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi
-@@ -260,7 +260,7 @@
- 			};
- 		};
- 
--		procmon: syscon at 280000 {
-+		procmon: bus at 280000 {
- 			compatible = "simple-bus";
- 			reg = <0x280000 0x1000>;
- 			ranges;
diff --git a/target/linux/generic/backport-5.15/403-v6.1-mtd-allow-getting-MTD-device-associated-with-a-speci.patch b/target/linux/generic/backport-5.15/403-v6.1-mtd-allow-getting-MTD-device-associated-with-a-speci.patch
index acef46f2b9..3039eabea5 100644
--- a/target/linux/generic/backport-5.15/403-v6.1-mtd-allow-getting-MTD-device-associated-with-a-speci.patch
+++ b/target/linux/generic/backport-5.15/403-v6.1-mtd-allow-getting-MTD-device-associated-with-a-speci.patch
@@ -25,7 +25,7 @@ Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
 
 --- a/drivers/mtd/mtdcore.c
 +++ b/drivers/mtd/mtdcore.c
-@@ -1229,6 +1229,34 @@ int __get_mtd_device(struct mtd_info *mt
+@@ -1236,6 +1236,34 @@ int __get_mtd_device(struct mtd_info *mt
  EXPORT_SYMBOL_GPL(__get_mtd_device);
  
  /**
diff --git a/target/linux/generic/backport-5.15/423-v6.1-0001-mtd-track-maximum-number-of-bitflips-for-each-read-r.patch b/target/linux/generic/backport-5.15/423-v6.1-0001-mtd-track-maximum-number-of-bitflips-for-each-read-r.patch
index 10e61602c8..9f1757caa7 100644
--- a/target/linux/generic/backport-5.15/423-v6.1-0001-mtd-track-maximum-number-of-bitflips-for-each-read-r.patch
+++ b/target/linux/generic/backport-5.15/423-v6.1-0001-mtd-track-maximum-number-of-bitflips-for-each-read-r.patch
@@ -31,7 +31,7 @@ Link: https://lore.kernel.org/linux-mtd/20220629125737.14418-2-kernel@kempniu.pl
 
 --- a/drivers/mtd/mtdcore.c
 +++ b/drivers/mtd/mtdcore.c
-@@ -1669,6 +1669,9 @@ int mtd_read_oob(struct mtd_info *mtd, l
+@@ -1676,6 +1676,9 @@ int mtd_read_oob(struct mtd_info *mtd, l
  	if (!master->_read_oob && (!master->_read || ops->oobbuf))
  		return -EOPNOTSUPP;
  
@@ -41,7 +41,7 @@ Link: https://lore.kernel.org/linux-mtd/20220629125737.14418-2-kernel@kempniu.pl
  	if (mtd->flags & MTD_SLC_ON_MLC_EMULATION)
  		ret_code = mtd_io_emulated_slc(mtd, from, true, ops);
  	else
-@@ -1686,6 +1689,8 @@ int mtd_read_oob(struct mtd_info *mtd, l
+@@ -1693,6 +1696,8 @@ int mtd_read_oob(struct mtd_info *mtd, l
  		return ret_code;
  	if (mtd->ecc_strength == 0)
  		return 0;	/* device lacks ecc */
diff --git a/target/linux/generic/backport-5.15/424-v6.4-0001-mtd-core-provide-unique-name-for-nvmem-device-take-t.patch b/target/linux/generic/backport-5.15/424-v6.4-0001-mtd-core-provide-unique-name-for-nvmem-device-take-t.patch
deleted file mode 100644
index a453f241e0..0000000000
--- a/target/linux/generic/backport-5.15/424-v6.4-0001-mtd-core-provide-unique-name-for-nvmem-device-take-t.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 1cd9ceaa5282ff10ea20a7fbadde5a476a1cc99e Mon Sep 17 00:00:00 2001
-From: Michael Walle <michael at walle.cc>
-Date: Wed, 8 Mar 2023 09:20:18 +0100
-Subject: [PATCH] mtd: core: provide unique name for nvmem device, take two
-
-Commit c048b60d39e1 ("mtd: core: provide unique name for nvmem device")
-tries to give the nvmem device a unique name, but fails badly if the mtd
-device doesn't have a "struct device" associated with it, i.e. if
-CONFIG_MTD_PARTITIONED_MASTER is not set. This will result in the name
-"(null)-user-otp", which is not unique. It seems the best we can do is
-to use the compatible name together with a unique identifier added by
-the nvmem subsystem by using NVMEM_DEVID_AUTO.
-
-Fixes: c048b60d39e1 ("mtd: core: provide unique name for nvmem device")
-Cc: stable at vger.kernel.org
-Signed-off-by: Michael Walle <michael at walle.cc>
-Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
-Link: https://lore.kernel.org/linux-mtd/20230308082021.870459-1-michael@walle.cc
----
- drivers/mtd/mtdcore.c | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
---- a/drivers/mtd/mtdcore.c
-+++ b/drivers/mtd/mtdcore.c
-@@ -895,8 +895,8 @@ static struct nvmem_device *mtd_otp_nvme
- 
- 	/* OTP nvmem will be registered on the physical device */
- 	config.dev = mtd->dev.parent;
--	config.name = kasprintf(GFP_KERNEL, "%s-%s", dev_name(&mtd->dev), compatible);
--	config.id = NVMEM_DEVID_NONE;
-+	config.name = compatible;
-+	config.id = NVMEM_DEVID_AUTO;
- 	config.owner = THIS_MODULE;
- 	config.type = NVMEM_TYPE_OTP;
- 	config.root_only = true;
-@@ -912,7 +912,6 @@ static struct nvmem_device *mtd_otp_nvme
- 		nvmem = NULL;
- 
- 	of_node_put(np);
--	kfree(config.name);
- 
- 	return nvmem;
- }
diff --git a/target/linux/generic/backport-5.15/424-v6.4-0002-mtd-core-fix-nvmem-error-reporting.patch b/target/linux/generic/backport-5.15/424-v6.4-0002-mtd-core-fix-nvmem-error-reporting.patch
deleted file mode 100644
index 501e9409e2..0000000000
--- a/target/linux/generic/backport-5.15/424-v6.4-0002-mtd-core-fix-nvmem-error-reporting.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 8bd1d24e6ca3c599dd455b0e1b22f77bab8290eb Mon Sep 17 00:00:00 2001
-From: Michael Walle <michael at walle.cc>
-Date: Wed, 8 Mar 2023 09:20:19 +0100
-Subject: [PATCH] mtd: core: fix nvmem error reporting
-
-The master MTD will only have an associated device if
-CONFIG_MTD_PARTITIONED_MASTER is set, thus we cannot use dev_err() on
-mtd->dev. Instead use the parent device which is the physical flash
-memory.
-
-Fixes: 4b361cfa8624 ("mtd: core: add OTP nvmem provider support")
-Cc: stable at vger.kernel.org
-Signed-off-by: Michael Walle <michael at walle.cc>
-Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
-Link: https://lore.kernel.org/linux-mtd/20230308082021.870459-2-michael@walle.cc
----
- drivers/mtd/mtdcore.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
---- a/drivers/mtd/mtdcore.c
-+++ b/drivers/mtd/mtdcore.c
-@@ -946,6 +946,7 @@ static int mtd_nvmem_fact_otp_reg_read(v
- 
- static int mtd_otp_nvmem_add(struct mtd_info *mtd)
- {
-+	struct device *dev = mtd->dev.parent;
- 	struct nvmem_device *nvmem;
- 	ssize_t size;
- 	int err;
-@@ -959,7 +960,7 @@ static int mtd_otp_nvmem_add(struct mtd_
- 			nvmem = mtd_otp_nvmem_register(mtd, "user-otp", size,
- 						       mtd_nvmem_user_otp_reg_read);
- 			if (IS_ERR(nvmem)) {
--				dev_err(&mtd->dev, "Failed to register OTP NVMEM device\n");
-+				dev_err(dev, "Failed to register OTP NVMEM device\n");
- 				return PTR_ERR(nvmem);
- 			}
- 			mtd->otp_user_nvmem = nvmem;
-@@ -977,7 +978,7 @@ static int mtd_otp_nvmem_add(struct mtd_
- 			nvmem = mtd_otp_nvmem_register(mtd, "factory-otp", size,
- 						       mtd_nvmem_fact_otp_reg_read);
- 			if (IS_ERR(nvmem)) {
--				dev_err(&mtd->dev, "Failed to register OTP NVMEM device\n");
-+				dev_err(dev, "Failed to register OTP NVMEM device\n");
- 				err = PTR_ERR(nvmem);
- 				goto err;
- 			}
diff --git a/target/linux/generic/backport-5.15/424-v6.4-0003-mtd-core-fix-error-path-for-nvmem-provider.patch b/target/linux/generic/backport-5.15/424-v6.4-0003-mtd-core-fix-error-path-for-nvmem-provider.patch
deleted file mode 100644
index 099f0d2879..0000000000
--- a/target/linux/generic/backport-5.15/424-v6.4-0003-mtd-core-fix-error-path-for-nvmem-provider.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From e0489f6e221f5ddee6cb3bd51b992b790c5fa4b9 Mon Sep 17 00:00:00 2001
-From: Michael Walle <michael at walle.cc>
-Date: Wed, 8 Mar 2023 09:20:20 +0100
-Subject: [PATCH] mtd: core: fix error path for nvmem provider
-
-If mtd_otp_nvmem_add() fails, the partitions won't be removed
-because there is simply no call to del_mtd_partitions().
-Unfortunately, add_mtd_partitions() will print all partitions to
-the kernel console. If mtd_otp_nvmem_add() returns -EPROBE_DEFER
-this would print the partitions multiple times to the kernel
-console. Instead move mtd_otp_nvmem_add() to the beginning of the
-function.
-
-Fixes: 4b361cfa8624 ("mtd: core: add OTP nvmem provider support")
-Cc: stable at vger.kernel.org
-Signed-off-by: Michael Walle <michael at walle.cc>
-Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
-Link: https://lore.kernel.org/linux-mtd/20230308082021.870459-3-michael@walle.cc
----
- drivers/mtd/mtdcore.c | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
---- a/drivers/mtd/mtdcore.c
-+++ b/drivers/mtd/mtdcore.c
-@@ -1031,10 +1031,14 @@ int mtd_device_parse_register(struct mtd
- 
- 	mtd_set_dev_defaults(mtd);
- 
-+	ret = mtd_otp_nvmem_add(mtd);
-+	if (ret)
-+		goto out;
-+
- 	if (IS_ENABLED(CONFIG_MTD_PARTITIONED_MASTER)) {
- 		ret = add_mtd_device(mtd);
- 		if (ret)
--			return ret;
-+			goto out;
- 	}
- 
- 	/* Prefer parsed partitions over driver-provided fallback */
-@@ -1069,9 +1073,12 @@ int mtd_device_parse_register(struct mtd
- 		register_reboot_notifier(&mtd->reboot_notifier);
- 	}
- 
--	ret = mtd_otp_nvmem_add(mtd);
--
- out:
-+	if (ret) {
-+		nvmem_unregister(mtd->otp_user_nvmem);
-+		nvmem_unregister(mtd->otp_factory_nvmem);
-+	}
-+
- 	if (ret && device_is_registered(&mtd->dev))
- 		del_mtd_device(mtd);
- 
diff --git a/target/linux/generic/backport-5.15/703-00-v5.16-net-convert-users-of-bitmap_foo-to-linkmode_foo.patch b/target/linux/generic/backport-5.15/703-00-v5.16-net-convert-users-of-bitmap_foo-to-linkmode_foo.patch
index ede1cc3a8d..919da4d1ef 100644
--- a/target/linux/generic/backport-5.15/703-00-v5.16-net-convert-users-of-bitmap_foo-to-linkmode_foo.patch
+++ b/target/linux/generic/backport-5.15/703-00-v5.16-net-convert-users-of-bitmap_foo-to-linkmode_foo.patch
@@ -901,7 +901,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static void axienet_mac_pcs_get_state(struct phylink_config *config,
 --- a/drivers/net/pcs/pcs-xpcs.c
 +++ b/drivers/net/pcs/pcs-xpcs.c
-@@ -646,7 +646,7 @@ void xpcs_validate(struct dw_xpcs *xpcs,
+@@ -637,7 +637,7 @@ void xpcs_validate(struct dw_xpcs *xpcs,
  	if (state->interface == PHY_INTERFACE_MODE_NA)
  		return;
  
diff --git a/target/linux/generic/backport-5.15/775-v6.0-01-net-ethernet-stmicro-stmmac-move-queue-reset-to-dedi.patch b/target/linux/generic/backport-5.15/775-v6.0-01-net-ethernet-stmicro-stmmac-move-queue-reset-to-dedi.patch
index 7155109cd9..9b9ab04af6 100644
--- a/target/linux/generic/backport-5.15/775-v6.0-01-net-ethernet-stmicro-stmmac-move-queue-reset-to-dedi.patch
+++ b/target/linux/generic/backport-5.15/775-v6.0-01-net-ethernet-stmicro-stmmac-move-queue-reset-to-dedi.patch
@@ -71,7 +71,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  	ret = stmmac_hw_setup(dev, true);
  	if (ret < 0) {
  		netdev_err(priv->dev, "%s: Hw setup failed\n", __func__);
-@@ -6424,6 +6417,7 @@ void stmmac_enable_rx_queue(struct stmma
+@@ -6430,6 +6423,7 @@ void stmmac_enable_rx_queue(struct stmma
  		return;
  	}
  
@@ -79,7 +79,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  	stmmac_clear_rx_descriptors(priv, queue);
  
  	stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
-@@ -6485,6 +6479,7 @@ void stmmac_enable_tx_queue(struct stmma
+@@ -6491,6 +6485,7 @@ void stmmac_enable_tx_queue(struct stmma
  		return;
  	}
  
@@ -87,7 +87,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  	stmmac_clear_tx_descriptors(priv, queue);
  
  	stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
-@@ -7411,6 +7406,25 @@ int stmmac_suspend(struct device *dev)
+@@ -7417,6 +7412,25 @@ int stmmac_suspend(struct device *dev)
  }
  EXPORT_SYMBOL_GPL(stmmac_suspend);
  
@@ -113,7 +113,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  /**
   * stmmac_reset_queues_param - reset queue parameters
   * @priv: device pointer
-@@ -7421,22 +7435,11 @@ static void stmmac_reset_queues_param(st
+@@ -7427,22 +7441,11 @@ static void stmmac_reset_queues_param(st
  	u32 tx_cnt = priv->plat->tx_queues_to_use;
  	u32 queue;
  
diff --git a/target/linux/generic/backport-5.15/775-v6.0-03-net-ethernet-stmicro-stmmac-move-dma-conf-to-dedicat.patch b/target/linux/generic/backport-5.15/775-v6.0-03-net-ethernet-stmicro-stmmac-move-dma-conf-to-dedicat.patch
index dd8316c985..d4c2567a1f 100644
--- a/target/linux/generic/backport-5.15/775-v6.0-03-net-ethernet-stmicro-stmmac-move-dma-conf-to-dedicat.patch
+++ b/target/linux/generic/backport-5.15/775-v6.0-03-net-ethernet-stmicro-stmmac-move-dma-conf-to-dedicat.patch
@@ -1116,7 +1116,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  		}
  	}
  
-@@ -6398,7 +6402,7 @@ void stmmac_disable_rx_queue(struct stmm
+@@ -6404,7 +6408,7 @@ void stmmac_disable_rx_queue(struct stmm
  
  void stmmac_enable_rx_queue(struct stmmac_priv *priv, u32 queue)
  {
@@ -1125,7 +1125,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  	struct stmmac_channel *ch = &priv->channel[queue];
  	unsigned long flags;
  	u32 buf_size;
-@@ -6435,7 +6439,7 @@ void stmmac_enable_rx_queue(struct stmma
+@@ -6441,7 +6445,7 @@ void stmmac_enable_rx_queue(struct stmma
  				      rx_q->queue_index);
  	} else {
  		stmmac_set_dma_bfsize(priv, priv->ioaddr,
@@ -1134,7 +1134,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  				      rx_q->queue_index);
  	}
  
-@@ -6461,7 +6465,7 @@ void stmmac_disable_tx_queue(struct stmm
+@@ -6467,7 +6471,7 @@ void stmmac_disable_tx_queue(struct stmm
  
  void stmmac_enable_tx_queue(struct stmmac_priv *priv, u32 queue)
  {
@@ -1143,7 +1143,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  	struct stmmac_channel *ch = &priv->channel[queue];
  	unsigned long flags;
  	int ret;
-@@ -6511,7 +6515,7 @@ void stmmac_xdp_release(struct net_devic
+@@ -6517,7 +6521,7 @@ void stmmac_xdp_release(struct net_devic
  	stmmac_disable_all_queues(priv);
  
  	for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@@ -1152,7 +1152,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  
  	/* Free the IRQ lines */
  	stmmac_free_irq(dev, REQ_IRQ_ERR_ALL, 0);
-@@ -6570,7 +6574,7 @@ int stmmac_xdp_open(struct net_device *d
+@@ -6576,7 +6580,7 @@ int stmmac_xdp_open(struct net_device *d
  
  	/* DMA RX Channel Configuration */
  	for (chan = 0; chan < rx_cnt; chan++) {
@@ -1161,7 +1161,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  
  		stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
  				    rx_q->dma_rx_phy, chan);
-@@ -6588,7 +6592,7 @@ int stmmac_xdp_open(struct net_device *d
+@@ -6594,7 +6598,7 @@ int stmmac_xdp_open(struct net_device *d
  					      rx_q->queue_index);
  		} else {
  			stmmac_set_dma_bfsize(priv, priv->ioaddr,
@@ -1170,7 +1170,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  					      rx_q->queue_index);
  		}
  
-@@ -6597,7 +6601,7 @@ int stmmac_xdp_open(struct net_device *d
+@@ -6603,7 +6607,7 @@ int stmmac_xdp_open(struct net_device *d
  
  	/* DMA TX Channel Configuration */
  	for (chan = 0; chan < tx_cnt; chan++) {
@@ -1179,7 +1179,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  
  		stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
  				    tx_q->dma_tx_phy, chan);
-@@ -6630,7 +6634,7 @@ int stmmac_xdp_open(struct net_device *d
+@@ -6636,7 +6640,7 @@ int stmmac_xdp_open(struct net_device *d
  
  irq_error:
  	for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@@ -1188,7 +1188,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  
  	stmmac_hw_teardown(dev);
  init_error:
-@@ -6657,8 +6661,8 @@ int stmmac_xsk_wakeup(struct net_device
+@@ -6663,8 +6667,8 @@ int stmmac_xsk_wakeup(struct net_device
  	    queue >= priv->plat->tx_queues_to_use)
  		return -EINVAL;
  
@@ -1199,7 +1199,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  	ch = &priv->channel[queue];
  
  	if (!rx_q->xsk_pool && !tx_q->xsk_pool)
-@@ -6918,8 +6922,8 @@ int stmmac_reinit_ringparam(struct net_d
+@@ -6924,8 +6928,8 @@ int stmmac_reinit_ringparam(struct net_d
  	if (netif_running(dev))
  		stmmac_release(dev);
  
@@ -1210,7 +1210,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  
  	if (netif_running(dev))
  		ret = stmmac_open(dev);
-@@ -7357,7 +7361,7 @@ int stmmac_suspend(struct device *dev)
+@@ -7363,7 +7367,7 @@ int stmmac_suspend(struct device *dev)
  	stmmac_disable_all_queues(priv);
  
  	for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
@@ -1219,7 +1219,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  
  	if (priv->eee_enabled) {
  		priv->tx_path_in_lpi_mode = false;
-@@ -7408,7 +7412,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend);
+@@ -7414,7 +7418,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend);
  
  static void stmmac_reset_rx_queue(struct stmmac_priv *priv, u32 queue)
  {
@@ -1228,7 +1228,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  
  	rx_q->cur_rx = 0;
  	rx_q->dirty_rx = 0;
-@@ -7416,7 +7420,7 @@ static void stmmac_reset_rx_queue(struct
+@@ -7422,7 +7426,7 @@ static void stmmac_reset_rx_queue(struct
  
  static void stmmac_reset_tx_queue(struct stmmac_priv *priv, u32 queue)
  {
diff --git a/target/linux/generic/backport-5.15/775-v6.0-04-net-ethernet-stmicro-stmmac-generate-stmmac-dma-conf.patch b/target/linux/generic/backport-5.15/775-v6.0-04-net-ethernet-stmicro-stmmac-generate-stmmac-dma-conf.patch
index e50a1f4f07..e84373b471 100644
--- a/target/linux/generic/backport-5.15/775-v6.0-04-net-ethernet-stmicro-stmmac-generate-stmmac-dma-conf.patch
+++ b/target/linux/generic/backport-5.15/775-v6.0-04-net-ethernet-stmicro-stmmac-generate-stmmac-dma-conf.patch
@@ -1045,7 +1045,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  
  	/* Disable the MAC Rx/Tx */
  	stmmac_mac_set(priv, priv->ioaddr, false);
-@@ -6397,7 +6513,7 @@ void stmmac_disable_rx_queue(struct stmm
+@@ -6403,7 +6519,7 @@ void stmmac_disable_rx_queue(struct stmm
  	spin_unlock_irqrestore(&ch->lock, flags);
  
  	stmmac_stop_rx_dma(priv, queue);
@@ -1054,7 +1054,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  }
  
  void stmmac_enable_rx_queue(struct stmmac_priv *priv, u32 queue)
-@@ -6408,21 +6524,21 @@ void stmmac_enable_rx_queue(struct stmma
+@@ -6414,21 +6530,21 @@ void stmmac_enable_rx_queue(struct stmma
  	u32 buf_size;
  	int ret;
  
@@ -1080,7 +1080,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  
  	stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
  			    rx_q->dma_rx_phy, rx_q->queue_index);
-@@ -6460,7 +6576,7 @@ void stmmac_disable_tx_queue(struct stmm
+@@ -6466,7 +6582,7 @@ void stmmac_disable_tx_queue(struct stmm
  	spin_unlock_irqrestore(&ch->lock, flags);
  
  	stmmac_stop_tx_dma(priv, queue);
@@ -1089,7 +1089,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  }
  
  void stmmac_enable_tx_queue(struct stmmac_priv *priv, u32 queue)
-@@ -6470,21 +6586,21 @@ void stmmac_enable_tx_queue(struct stmma
+@@ -6476,21 +6592,21 @@ void stmmac_enable_tx_queue(struct stmma
  	unsigned long flags;
  	int ret;
  
@@ -1115,7 +1115,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  
  	stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
  			    tx_q->dma_tx_phy, tx_q->queue_index);
-@@ -6524,7 +6640,7 @@ void stmmac_xdp_release(struct net_devic
+@@ -6530,7 +6646,7 @@ void stmmac_xdp_release(struct net_devic
  	stmmac_stop_all_dma(priv);
  
  	/* Release and free the Rx/Tx resources */
@@ -1124,7 +1124,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  
  	/* Disable the MAC Rx/Tx */
  	stmmac_mac_set(priv, priv->ioaddr, false);
-@@ -6549,14 +6665,14 @@ int stmmac_xdp_open(struct net_device *d
+@@ -6555,14 +6671,14 @@ int stmmac_xdp_open(struct net_device *d
  	u32 chan;
  	int ret;
  
@@ -1141,7 +1141,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  	if (ret < 0) {
  		netdev_err(dev, "%s: DMA descriptors initialization failed\n",
  			   __func__);
-@@ -6638,7 +6754,7 @@ irq_error:
+@@ -6644,7 +6760,7 @@ irq_error:
  
  	stmmac_hw_teardown(dev);
  init_error:
@@ -1150,7 +1150,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  dma_desc_error:
  	return ret;
  }
-@@ -7503,7 +7619,7 @@ int stmmac_resume(struct device *dev)
+@@ -7509,7 +7625,7 @@ int stmmac_resume(struct device *dev)
  	stmmac_reset_queues_param(priv);
  
  	stmmac_free_tx_skbufs(priv);
diff --git a/target/linux/generic/backport-5.15/827-v6.3-0004-of-device-Ignore-modalias-of-reused-nodes.patch b/target/linux/generic/backport-5.15/827-v6.3-0004-of-device-Ignore-modalias-of-reused-nodes.patch
index 39e4df09a2..37eefc4570 100644
--- a/target/linux/generic/backport-5.15/827-v6.3-0004-of-device-Ignore-modalias-of-reused-nodes.patch
+++ b/target/linux/generic/backport-5.15/827-v6.3-0004-of-device-Ignore-modalias-of-reused-nodes.patch
@@ -26,7 +26,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
  		return -ENODEV;
  
  	/* Name & Type */
-@@ -369,7 +369,7 @@ int of_device_uevent_modalias(struct dev
+@@ -372,7 +372,7 @@ int of_device_uevent_modalias(struct dev
  {
  	int sl;
  
diff --git a/target/linux/generic/backport-5.15/827-v6.3-0005-of-device-Do-not-ignore-error-code-in-of_device_ueve.patch b/target/linux/generic/backport-5.15/827-v6.3-0005-of-device-Do-not-ignore-error-code-in-of_device_ueve.patch
index b06e0f5c11..dd5820e94a 100644
--- a/target/linux/generic/backport-5.15/827-v6.3-0005-of-device-Do-not-ignore-error-code-in-of_device_ueve.patch
+++ b/target/linux/generic/backport-5.15/827-v6.3-0005-of-device-Do-not-ignore-error-code-in-of_device_ueve.patch
@@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
 
 --- a/drivers/of/device.c
 +++ b/drivers/of/device.c
-@@ -378,6 +378,8 @@ int of_device_uevent_modalias(struct dev
+@@ -381,6 +381,8 @@ int of_device_uevent_modalias(struct dev
  
  	sl = of_device_get_modalias(dev, &env->buf[env->buflen-1],
  				    sizeof(env->buf) - env->buflen);
diff --git a/target/linux/generic/backport-5.15/828-v6.4-0001-of-Fix-modalias-string-generation.patch b/target/linux/generic/backport-5.15/828-v6.4-0001-of-Fix-modalias-string-generation.patch
deleted file mode 100644
index b5f89289fa..0000000000
--- a/target/linux/generic/backport-5.15/828-v6.4-0001-of-Fix-modalias-string-generation.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From b19a4266c52de78496fe40f0b37580a3b762e67d Mon Sep 17 00:00:00 2001
-From: Miquel Raynal <miquel.raynal at bootlin.com>
-Date: Tue, 4 Apr 2023 18:21:09 +0100
-Subject: [PATCH] of: Fix modalias string generation
-
-The helper generating an OF based modalias (of_device_get_modalias())
-works fine, but due to the use of snprintf() internally it needs a
-buffer one byte longer than what should be needed just for the entire
-string (excluding the '\0'). Most users of this helper are sysfs hooks
-providing the modalias string to users. They all provide a PAGE_SIZE
-buffer which is way above the number of bytes required to fit the
-modalias string and hence do not suffer from this issue.
-
-There is another user though, of_device_request_module(), which is only
-called by drivers/usb/common/ulpi.c. This request module function is
-faulty, but maybe because in most cases there is an alternative, ULPI
-driver users have not noticed it.
-
-In this function, of_device_get_modalias() is called twice. The first
-time without buffer just to get the number of bytes required by the
-modalias string (excluding the null byte), and a second time, after
-buffer allocation, to fill the buffer. The allocation asks for an
-additional byte, in order to store the trailing '\0'. However, the
-buffer *length* provided to of_device_get_modalias() excludes this extra
-byte. The internal use of snprintf() with a length that is exactly the
-number of bytes to be written has the effect of using the last available
-byte to store a '\0', which then smashes the last character of the
-modalias string.
-
-Provide the actual size of the buffer to of_device_get_modalias() to fix
-this issue.
-
-Note: the "str[size - 1] = '\0';" line is not really needed as snprintf
-will anyway end the string with a null byte, but there is a possibility
-that this function might be called on a struct device_node without
-compatible, in this case snprintf() would not be executed. So we keep it
-just to avoid possible unbounded strings.
-
-Cc: Stephen Boyd <sboyd at kernel.org>
-Cc: Peter Chen <peter.chen at kernel.org>
-Fixes: 9c829c097f2f ("of: device: Support loading a module with OF based modalias")
-Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
-Reviewed-by: Rob Herring <robh at kernel.org>
-Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
-Link: https://lore.kernel.org/r/20230404172148.82422-2-srinivas.kandagatla@linaro.org
-Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
----
- drivers/of/device.c | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
---- a/drivers/of/device.c
-+++ b/drivers/of/device.c
-@@ -290,12 +290,15 @@ int of_device_request_module(struct devi
- 	if (size < 0)
- 		return size;
- 
--	str = kmalloc(size + 1, GFP_KERNEL);
-+	/* Reserve an additional byte for the trailing '\0' */
-+	size++;
-+
-+	str = kmalloc(size, GFP_KERNEL);
- 	if (!str)
- 		return -ENOMEM;
- 
- 	of_device_get_modalias(dev, str, size);
--	str[size] = '\0';
-+	str[size - 1] = '\0';
- 	ret = request_module(str);
- 	kfree(str);
- 
diff --git a/target/linux/generic/pending-5.15/630-packet_socket_type.patch b/target/linux/generic/pending-5.15/630-packet_socket_type.patch
index d418ea8a7d..2d2c7b6cc5 100644
--- a/target/linux/generic/pending-5.15/630-packet_socket_type.patch
+++ b/target/linux/generic/pending-5.15/630-packet_socket_type.patch
@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  #define PACKET_FANOUT_LB		1
 --- a/net/packet/af_packet.c
 +++ b/net/packet/af_packet.c
-@@ -1825,6 +1825,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1826,6 +1826,7 @@ static int packet_rcv_spkt(struct sk_buf
  {
  	struct sock *sk;
  	struct sockaddr_pkt *spkt;
@@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  
  	/*
  	 *	When we registered the protocol we saved the socket in the data
-@@ -1832,6 +1833,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1833,6 +1834,7 @@ static int packet_rcv_spkt(struct sk_buf
  	 */
  
  	sk = pt->af_packet_priv;
@@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  
  	/*
  	 *	Yank back the headers [hope the device set this
-@@ -1844,7 +1846,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1845,7 +1847,7 @@ static int packet_rcv_spkt(struct sk_buf
  	 *	so that this procedure is noop.
  	 */
  
@@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  		goto out;
  
  	if (!net_eq(dev_net(dev), sock_net(sk)))
-@@ -2092,12 +2094,12 @@ static int packet_rcv(struct sk_buff *sk
+@@ -2093,12 +2095,12 @@ static int packet_rcv(struct sk_buff *sk
  	unsigned int snaplen, res;
  	bool is_drop_n_account = false;
  
@@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	if (!net_eq(dev_net(dev), sock_net(sk)))
  		goto drop;
  
-@@ -2223,12 +2225,12 @@ static int tpacket_rcv(struct sk_buff *s
+@@ -2224,12 +2226,12 @@ static int tpacket_rcv(struct sk_buff *s
  	BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
  	BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
  
@@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	if (!net_eq(dev_net(dev), sock_net(sk)))
  		goto drop;
  
-@@ -3339,6 +3341,7 @@ static int packet_create(struct net *net
+@@ -3342,6 +3344,7 @@ static int packet_create(struct net *net
  	mutex_init(&po->pg_vec_lock);
  	po->rollover = NULL;
  	po->prot_hook.func = packet_rcv;
@@ -96,7 +96,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	if (sock->type == SOCK_PACKET)
  		po->prot_hook.func = packet_rcv_spkt;
 @@ -3979,6 +3982,16 @@ packet_setsockopt(struct socket *sock, i
- 		po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
+ 		WRITE_ONCE(po->xmit, val ? packet_direct_xmit : dev_queue_xmit);
  		return 0;
  	}
 +	case PACKET_RECV_TYPE:
@@ -128,7 +128,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  		break;
 --- a/net/packet/internal.h
 +++ b/net/packet/internal.h
-@@ -137,6 +137,7 @@ struct packet_sock {
+@@ -136,6 +136,7 @@ struct packet_sock {
  	int			(*xmit)(struct sk_buff *skb);
  	struct packet_type	prot_hook ____cacheline_aligned_in_smp;
  	atomic_t		tp_drops ____cacheline_aligned_in_smp;
diff --git a/target/linux/ipq806x/patches-5.15/104-v6.0-06-ARM-dts-qcom-ipq8064-reduce-pci-IO-size-to-64K.patch b/target/linux/ipq806x/patches-5.15/104-v6.0-06-ARM-dts-qcom-ipq8064-reduce-pci-IO-size-to-64K.patch
deleted file mode 100644
index b1fca01c5e..0000000000
--- a/target/linux/ipq806x/patches-5.15/104-v6.0-06-ARM-dts-qcom-ipq8064-reduce-pci-IO-size-to-64K.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 8fafb7e5c041814876266259e5e439f93571dcef Mon Sep 17 00:00:00 2001
-From: Christian Marangi <ansuelsmth at gmail.com>
-Date: Thu, 7 Jul 2022 03:09:40 +0200
-Subject: [PATCH 6/8] ARM: dts: qcom: ipq8064: reduce pci IO size to 64K
-
-The current value for pci IO is problematic for ath10k wifi card
-commonly connected to ipq8064 SoC.
-The current value is probably a typo and is actually uncommon to find
-1MB IO space even on a x86 arch. Also with recent changes to the pci
-driver, pci1 and pci2 now fails to function as any connected device
-fails any reg read/write. Reduce this to 64K as it should be more than
-enough and 3 * 64K of total IO space doesn't exceed the IO_SPACE_LIMIT
-hardcoded for the ARM arch.
-
-Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
-Tested-by: Jonathan McDowell <noodles at earth.li>
-Signed-off-by: Bjorn Andersson <bjorn.andersson at linaro.org>
-Link: https://lore.kernel.org/r/20220707010943.20857-7-ansuelsmth@gmail.com
----
- arch/arm/boot/dts/qcom-ipq8064.dtsi | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
---- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
-+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
-@@ -885,7 +885,7 @@
- 			#address-cells = <3>;
- 			#size-cells = <2>;
- 
--			ranges = <0x81000000 0 0x0fe00000 0x0fe00000 0 0x00100000   /* downstream I/O */
-+			ranges = <0x81000000 0 0x0fe00000 0x0fe00000 0 0x00010000   /* downstream I/O */
- 				  0x82000000 0 0x08000000 0x08000000 0 0x07e00000>; /* non-prefetchable memory */
- 
- 			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
-@@ -936,7 +936,7 @@
- 			#address-cells = <3>;
- 			#size-cells = <2>;
- 
--			ranges = <0x81000000 0 0x31e00000 0x31e00000 0 0x00100000   /* downstream I/O */
-+			ranges = <0x81000000 0 0x31e00000 0x31e00000 0 0x00010000   /* downstream I/O */
- 				  0x82000000 0 0x2e000000 0x2e000000 0 0x03e00000>; /* non-prefetchable memory */
- 
- 			interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
-@@ -987,7 +987,7 @@
- 			#address-cells = <3>;
- 			#size-cells = <2>;
- 
--			ranges = <0x81000000 0 0x35e00000 0x35e00000 0 0x00100000   /* downstream I/O */
-+			ranges = <0x81000000 0 0x35e00000 0x35e00000 0 0x00010000   /* downstream I/O */
- 				  0x82000000 0 0x32000000 0x32000000 0 0x03e00000>; /* non-prefetchable memory */
- 
- 			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/target/linux/ipq807x/patches-5.15/0025-v6.0-arm64-dts-qcom-ipq8074-move-ARMv8-timer-out-of-SoC-n.patch b/target/linux/ipq807x/patches-5.15/0025-v6.0-arm64-dts-qcom-ipq8074-move-ARMv8-timer-out-of-SoC-n.patch
index 6d86122bd0..57fe73ae92 100644
--- a/target/linux/ipq807x/patches-5.15/0025-v6.0-arm64-dts-qcom-ipq8074-move-ARMv8-timer-out-of-SoC-n.patch
+++ b/target/linux/ipq807x/patches-5.15/0025-v6.0-arm64-dts-qcom-ipq8074-move-ARMv8-timer-out-of-SoC-n.patch
@@ -35,7 +35,7 @@ Link: https://lore.kernel.org/r/20220704113318.623102-1-robimarko@gmail.com
  		watchdog: watchdog at b017000 {
  			compatible = "qcom,kpss-wdt";
  			reg = <0xb017000 0x1000>;
-@@ -857,4 +849,12 @@
+@@ -853,4 +845,12 @@
  			status = "disabled";
  		};
  	};
diff --git a/target/linux/ipq807x/patches-5.15/0045-v6.2-arm64-dts-qcom-ipq8074-add-thermal-nodes.patch b/target/linux/ipq807x/patches-5.15/0045-v6.2-arm64-dts-qcom-ipq8074-add-thermal-nodes.patch
index b320c08032..bad75e4597 100644
--- a/target/linux/ipq807x/patches-5.15/0045-v6.2-arm64-dts-qcom-ipq8074-add-thermal-nodes.patch
+++ b/target/linux/ipq807x/patches-5.15/0045-v6.2-arm64-dts-qcom-ipq8074-add-thermal-nodes.patch
@@ -37,7 +37,7 @@ Link: https://lore.kernel.org/r/20220818220245.338396-5-robimarko@gmail.com
  		cryptobam: dma-controller at 704000 {
  			compatible = "qcom,bam-v1.7.0";
  			reg = <0x00704000 0x20000>;
-@@ -878,4 +888,90 @@
+@@ -874,4 +884,90 @@
  			     <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  			     <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
  	};
diff --git a/target/linux/ipq807x/patches-5.15/0055-v6.0-spmi-add-a-helper-to-look-up-an-SPMI-device-from-a-d.patch b/target/linux/ipq807x/patches-5.15/0055-v6.0-spmi-add-a-helper-to-look-up-an-SPMI-device-from-a-d.patch
index fd1de69663..61aeb0b029 100644
--- a/target/linux/ipq807x/patches-5.15/0055-v6.0-spmi-add-a-helper-to-look-up-an-SPMI-device-from-a-d.patch
+++ b/target/linux/ipq807x/patches-5.15/0055-v6.0-spmi-add-a-helper-to-look-up-an-SPMI-device-from-a-d.patch
@@ -19,7 +19,7 @@ Signed-off-by: Jonathan Cameron <Jonathan.Cameron at huawei.com>
 
 --- a/drivers/spmi/spmi.c
 +++ b/drivers/spmi/spmi.c
-@@ -387,6 +387,23 @@ static struct bus_type spmi_bus_type = {
+@@ -388,6 +388,23 @@ static struct bus_type spmi_bus_type = {
  };
  
  /**
diff --git a/target/linux/ipq807x/patches-5.15/0076-v5.16-PCI-qcom-Replace-ops-with-struct-pcie_cfg-in-pcie-ma.patch b/target/linux/ipq807x/patches-5.15/0076-v5.16-PCI-qcom-Replace-ops-with-struct-pcie_cfg-in-pcie-ma.patch
index 817a3c64c9..b29512fb76 100644
--- a/target/linux/ipq807x/patches-5.15/0076-v5.16-PCI-qcom-Replace-ops-with-struct-pcie_cfg-in-pcie-ma.patch
+++ b/target/linux/ipq807x/patches-5.15/0076-v5.16-PCI-qcom-Replace-ops-with-struct-pcie_cfg-in-pcie-ma.patch
@@ -30,7 +30,7 @@ Reviewed-by: Stephen Boyd <swboyd at chromium.org>
  struct qcom_pcie {
  	struct dw_pcie *pci;
  	void __iomem *parf;			/* DT parf */
-@@ -1469,6 +1473,38 @@ static const struct qcom_pcie_ops ops_1_
+@@ -1467,6 +1471,38 @@ static const struct qcom_pcie_ops ops_1_
  	.config_sid = qcom_pcie_config_sid_sm8250,
  };
  
@@ -69,7 +69,7 @@ Reviewed-by: Stephen Boyd <swboyd at chromium.org>
  static const struct dw_pcie_ops dw_pcie_ops = {
  	.link_up = qcom_pcie_link_up,
  	.start_link = qcom_pcie_start_link,
-@@ -1480,6 +1516,7 @@ static int qcom_pcie_probe(struct platfo
+@@ -1478,6 +1514,7 @@ static int qcom_pcie_probe(struct platfo
  	struct pcie_port *pp;
  	struct dw_pcie *pci;
  	struct qcom_pcie *pcie;
@@ -77,7 +77,7 @@ Reviewed-by: Stephen Boyd <swboyd at chromium.org>
  	int ret;
  
  	pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL);
-@@ -1501,7 +1538,13 @@ static int qcom_pcie_probe(struct platfo
+@@ -1499,7 +1536,13 @@ static int qcom_pcie_probe(struct platfo
  
  	pcie->pci = pci;
  
@@ -92,7 +92,7 @@ Reviewed-by: Stephen Boyd <swboyd at chromium.org>
  
  	pcie->reset = devm_gpiod_get_optional(dev, "perst", GPIOD_OUT_HIGH);
  	if (IS_ERR(pcie->reset)) {
-@@ -1557,16 +1600,17 @@ err_pm_runtime_put:
+@@ -1555,16 +1598,17 @@ err_pm_runtime_put:
  }
  
  static const struct of_device_id qcom_pcie_match[] = {
diff --git a/target/linux/ipq807x/patches-5.15/0077-v6.0-PCI-qcom-Add-IPQ60xx-support.patch b/target/linux/ipq807x/patches-5.15/0077-v6.0-PCI-qcom-Add-IPQ60xx-support.patch
index 6881ed6d25..af8ba2a4e1 100644
--- a/target/linux/ipq807x/patches-5.15/0077-v6.0-PCI-qcom-Add-IPQ60xx-support.patch
+++ b/target/linux/ipq807x/patches-5.15/0077-v6.0-PCI-qcom-Add-IPQ60xx-support.patch
@@ -70,7 +70,7 @@ Acked-by: Stanimir Varbanov <svarbanov at mm-sol.com>
  };
  
  struct qcom_pcie;
-@@ -1282,6 +1292,112 @@ static void qcom_pcie_post_deinit_2_7_0(
+@@ -1280,6 +1290,112 @@ static void qcom_pcie_post_deinit_2_7_0(
  	clk_disable_unprepare(res->pipe_clk);
  }
  
@@ -183,7 +183,7 @@ Acked-by: Stanimir Varbanov <svarbanov at mm-sol.com>
  static int qcom_pcie_link_up(struct dw_pcie *pci)
  {
  	u16 offset = dw_pcie_find_capability(pci, PCI_CAP_ID_EXP);
-@@ -1473,6 +1589,15 @@ static const struct qcom_pcie_ops ops_1_
+@@ -1471,6 +1587,15 @@ static const struct qcom_pcie_ops ops_1_
  	.config_sid = qcom_pcie_config_sid_sm8250,
  };
  
@@ -199,7 +199,7 @@ Acked-by: Stanimir Varbanov <svarbanov at mm-sol.com>
  static const struct qcom_pcie_cfg apq8084_cfg = {
  	.ops = &ops_1_0_0,
  };
-@@ -1505,6 +1630,10 @@ static const struct qcom_pcie_cfg sc7280
+@@ -1503,6 +1628,10 @@ static const struct qcom_pcie_cfg sc7280
  	.ops = &ops_1_9_0,
  };
  
@@ -210,7 +210,7 @@ Acked-by: Stanimir Varbanov <svarbanov at mm-sol.com>
  static const struct dw_pcie_ops dw_pcie_ops = {
  	.link_up = qcom_pcie_link_up,
  	.start_link = qcom_pcie_start_link,
-@@ -1611,6 +1740,7 @@ static const struct of_device_id qcom_pc
+@@ -1609,6 +1738,7 @@ static const struct of_device_id qcom_pc
  	{ .compatible = "qcom,pcie-sdm845", .data = &sdm845_cfg },
  	{ .compatible = "qcom,pcie-sm8250", .data = &sm8250_cfg },
  	{ .compatible = "qcom,pcie-sc7280", .data = &sc7280_cfg },
diff --git a/target/linux/ipq807x/patches-5.15/0107-PCI-qcom-Add-support-for-IPQ8074-Gen3-port.patch b/target/linux/ipq807x/patches-5.15/0107-PCI-qcom-Add-support-for-IPQ8074-Gen3-port.patch
index ae6b148210..c7a7e7ab49 100644
--- a/target/linux/ipq807x/patches-5.15/0107-PCI-qcom-Add-support-for-IPQ8074-Gen3-port.patch
+++ b/target/linux/ipq807x/patches-5.15/0107-PCI-qcom-Add-support-for-IPQ8074-Gen3-port.patch
@@ -13,7 +13,7 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
 
 --- a/drivers/pci/controller/dwc/pcie-qcom.c
 +++ b/drivers/pci/controller/dwc/pcie-qcom.c
-@@ -1735,6 +1735,7 @@ static const struct of_device_id qcom_pc
+@@ -1733,6 +1733,7 @@ static const struct of_device_id qcom_pc
  	{ .compatible = "qcom,pcie-apq8064", .data = &ipq8064_cfg },
  	{ .compatible = "qcom,pcie-msm8996", .data = &msm8996_cfg },
  	{ .compatible = "qcom,pcie-ipq8074", .data = &ipq8074_cfg },
diff --git a/target/linux/ipq807x/patches-5.15/0111-arm64-dts-qcom-ipq8074-use-msi-parent-for-PCIe.patch b/target/linux/ipq807x/patches-5.15/0111-arm64-dts-qcom-ipq8074-use-msi-parent-for-PCIe.patch
index d38e9dab31..9fefd8852a 100644
--- a/target/linux/ipq807x/patches-5.15/0111-arm64-dts-qcom-ipq8074-use-msi-parent-for-PCIe.patch
+++ b/target/linux/ipq807x/patches-5.15/0111-arm64-dts-qcom-ipq8074-use-msi-parent-for-PCIe.patch
@@ -21,9 +21,9 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
  				compatible = "arm,gic-v2m-frame";
  				msi-controller;
  				reg = <0x0 0xffd>;
-@@ -813,8 +813,7 @@
- 				 <0x82000000 0 0x10220000 0x10220000
- 				  0 0xfde0000>; /* non-prefetchable memory */
+@@ -811,8 +811,7 @@
+ 			ranges = <0x81000000 0x0 0x00000000 0x10200000 0x0 0x10000>,   /* I/O */
+ 				 <0x82000000 0x0 0x10220000 0x10220000 0x0 0xfde0000>; /* MEM */
  
 -			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
 -			interrupt-names = "msi";
@@ -31,9 +31,9 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
  			#interrupt-cells = <1>;
  			interrupt-map-mask = <0 0 0 0x7>;
  			interrupt-map = <0 0 0 1 &intc 0 142
-@@ -877,8 +876,7 @@
- 				 <0x82000000 0 0x20220000 0x20220000
- 				  0 0xfde0000>; /* non-prefetchable memory */
+@@ -873,8 +872,7 @@
+ 			ranges = <0x81000000 0x0 0x00000000 0x20200000 0x0 0x10000>,   /* I/O */
+ 				 <0x82000000 0x0 0x20220000 0x20220000 0x0 0xfde0000>; /* MEM */
  
 -			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
 -			interrupt-names = "msi";
diff --git a/target/linux/ipq807x/patches-5.15/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch b/target/linux/ipq807x/patches-5.15/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch
index 52d9efc5bf..e37ba37e96 100644
--- a/target/linux/ipq807x/patches-5.15/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch
+++ b/target/linux/ipq807x/patches-5.15/0120-arm64-dts-qcom-Enable-Q6v5-WCSS-for-ipq8074-SoC.patch
@@ -61,7 +61,7 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
  		spmi_bus: spmi at 200f000 {
  			compatible = "qcom,spmi-pmic-arb";
  			reg = <0x0200f000 0x001000>,
-@@ -917,6 +948,56 @@
+@@ -913,6 +944,56 @@
  				      "axi_s_sticky";
  			status = "disabled";
  		};
diff --git a/target/linux/ipq807x/patches-5.15/0121-arm64-dts-ipq8074-Add-WLAN-node.patch b/target/linux/ipq807x/patches-5.15/0121-arm64-dts-ipq8074-Add-WLAN-node.patch
index da64111890..bd5410c934 100644
--- a/target/linux/ipq807x/patches-5.15/0121-arm64-dts-ipq8074-Add-WLAN-node.patch
+++ b/target/linux/ipq807x/patches-5.15/0121-arm64-dts-ipq8074-Add-WLAN-node.patch
@@ -15,7 +15,7 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
 
 --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
 +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
-@@ -998,6 +998,117 @@
+@@ -994,6 +994,117 @@
  				};
  			};
  		};
diff --git a/target/linux/mediatek/patches-5.15/410-bt-mtk-serial-fix.patch b/target/linux/mediatek/patches-5.15/410-bt-mtk-serial-fix.patch
index 11922fe740..a11549ba47 100644
--- a/target/linux/mediatek/patches-5.15/410-bt-mtk-serial-fix.patch
+++ b/target/linux/mediatek/patches-5.15/410-bt-mtk-serial-fix.patch
@@ -10,7 +10,7 @@
  #define UART_BUG_TXEN	BIT(1)	/* UART has buggy TX IIR status */
 --- a/drivers/tty/serial/8250/8250_port.c
 +++ b/drivers/tty/serial/8250/8250_port.c
-@@ -288,7 +288,7 @@ static const struct serial8250_config ua
+@@ -289,7 +289,7 @@ static const struct serial8250_config ua
  		.tx_loadsz	= 16,
  		.fcr		= UART_FCR_ENABLE_FIFO |
  				  UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT,
@@ -19,7 +19,7 @@
  	},
  	[PORT_NPCM] = {
  		.name		= "Nuvoton 16550",
-@@ -2756,6 +2756,11 @@ serial8250_do_set_termios(struct uart_po
+@@ -2760,6 +2760,11 @@ serial8250_do_set_termios(struct uart_po
  	unsigned long flags;
  	unsigned int baud, quot, frac = 0;
  
diff --git a/target/linux/mediatek/patches-5.15/805-v6.2-thermal-drivers-mtk-use-function-pointer-for-raw_to_.patch b/target/linux/mediatek/patches-5.15/805-v6.2-thermal-drivers-mtk-use-function-pointer-for-raw_to_.patch
index c58ae96403..b142b22eb8 100644
--- a/target/linux/mediatek/patches-5.15/805-v6.2-thermal-drivers-mtk-use-function-pointer-for-raw_to_.patch
+++ b/target/linux/mediatek/patches-5.15/805-v6.2-thermal-drivers-mtk-use-function-pointer-for-raw_to_.patch
@@ -42,7 +42,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
  
  		/*
  		 * The first read of a sensor often contains very high bogus
-@@ -1075,6 +1073,11 @@ static int mtk_thermal_probe(struct plat
+@@ -1085,6 +1083,11 @@ static int mtk_thermal_probe(struct plat
  		mtk_thermal_release_periodic_ts(mt, auxadc_base);
  	}
  
diff --git a/target/linux/mediatek/patches-5.15/806-v6.2-thermal-mediatek-add-support-for-MT7986-and-MT7981.patch b/target/linux/mediatek/patches-5.15/806-v6.2-thermal-mediatek-add-support-for-MT7986-and-MT7981.patch
index 65311d5718..3ac2e7fc28 100644
--- a/target/linux/mediatek/patches-5.15/806-v6.2-thermal-mediatek-add-support-for-MT7986-and-MT7981.patch
+++ b/target/linux/mediatek/patches-5.15/806-v6.2-thermal-mediatek-add-support-for-MT7986-and-MT7981.patch
@@ -210,7 +210,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
  		.compatible = "mediatek,mt8183-thermal",
  		.data = (void *)&mt8183_thermal_data,
  	}, {
-@@ -1068,15 +1186,24 @@ static int mtk_thermal_probe(struct plat
+@@ -1078,15 +1196,24 @@ static int mtk_thermal_probe(struct plat
  		goto err_disable_clk_auxadc;
  	}
  




More information about the lede-commits mailing list