bcm53xx: backport DT changes for ASUS RT-AC3100 queued for v6.6
authorArınç ÜNAL <arinc.unal@arinc9.com>
Thu, 10 Aug 2023 12:23:08 +0000 (15:23 +0300)
committerRafał Miłecki <rafal@milecki.pl>
Thu, 26 Oct 2023 11:07:30 +0000 (13:07 +0200)
Backport the patch that adds the DT for ASUS RT-AC3100.

Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
(cherry picked from commit b7ee8c9f83ea0e3b861e6b71b08ed7a62066d149)

target/linux/bcm53xx/patches-5.4/044-v6.6-0016-ARM-dts-BCM5301X-Add-DT-for-Asus-RT-AC3100.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.4/310-ARM-BCM5301X-Add-DT-for-Netgear-R7900.patch

diff --git a/target/linux/bcm53xx/patches-5.4/044-v6.6-0016-ARM-dts-BCM5301X-Add-DT-for-Asus-RT-AC3100.patch b/target/linux/bcm53xx/patches-5.4/044-v6.6-0016-ARM-dts-BCM5301X-Add-DT-for-Asus-RT-AC3100.patch
new file mode 100644 (file)
index 0000000..7dbd53f
--- /dev/null
@@ -0,0 +1,431 @@
+From 2900083269f7c0f0ff430bffc6ced2038aed9b6b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ar=C4=B1n=C3=A7=20=C3=9CNAL?= <arinc.unal@arinc9.com>
+Date: Thu, 3 Aug 2023 10:14:54 +0300
+Subject: [PATCH] ARM: dts: BCM5301X: Add DT for ASUS RT-AC3100
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+ASUS RT-AC3100 is ASUS RT-AC88U without the external switch. Move the
+shared bindings to bcm47094-asus-rt-ac3100.dtsi.
+
+Remove the fixed-link node on port@7 as commit ba4aebce23b2 ("ARM: dts:
+BCM5301X: Describe switch ports in the main DTS") states it's not
+necessary.
+
+Replace the copyright notice with an author notice.
+
+Rename the model name from Asus to ASUS on bcm47094-asus-rt-ac88u.dts.
+
+Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
+Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
+Link: https://lore.kernel.org/r/20230803071454.5902-2-arinc.unal@arinc9.com
+Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
+---
+ arch/arm/boot/dts/Makefile           |   1 +
+ .../dts/bcm47094-asus-rt-ac3100.dts  |  23 +++
+ .../dts/bcm47094-asus-rt-ac3100.dtsi | 163 ++++++++++++++++++
+ .../dts/bcm47094-asus-rt-ac88u.dts   | 155 +----------------
+ 4 files changed, 190 insertions(+), 152 deletions(-)
+ create mode 100644 arch/arm/boot/dts/bcm47094-asus-rt-ac3100.dts
+ create mode 100644 arch/arm/boot/dts/bcm47094-asus-rt-ac3100.dtsi
+
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -110,6 +110,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
+       bcm4709-netgear-r7000.dtb \
+       bcm4709-netgear-r8000.dtb \
+       bcm4709-tplink-archer-c9-v1.dtb \
++      bcm47094-asus-rt-ac3100.dtb \
+       bcm47094-asus-rt-ac88u.dtb \
+       bcm47094-dlink-dir-885l.dtb \
+       bcm47094-dlink-dir-890l.dtb \
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm47094-asus-rt-ac3100.dts
+@@ -0,0 +1,23 @@
++// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
++/*
++ * Author: Arınç ÜNAL <arinc.unal@arinc9.com>
++ */
++
++/dts-v1/;
++
++#include "bcm47094-asus-rt-ac3100.dtsi"
++
++/ {
++      compatible = "asus,rt-ac3100", "brcm,bcm47094", "brcm,bcm4708";
++      model = "ASUS RT-AC3100";
++
++      nvram@1c080000 {
++              et0macaddr: et0macaddr {
++              };
++      };
++};
++
++&gmac0 {
++      nvmem-cells = <&et0macaddr>;
++      nvmem-cell-names = "mac-address";
++};
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm47094-asus-rt-ac3100.dtsi
+@@ -0,0 +1,163 @@
++// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
++/*
++ * Author: Arınç ÜNAL <arinc.unal@arinc9.com>
++ */
++
++#include "bcm47094.dtsi"
++#include "bcm5301x-nand-cs0-bch8.dtsi"
++
++/ {
++      chosen {
++              bootargs = "earlycon";
++      };
++
++      memory@0 {
++              device_type = "memory";
++              reg = <0x00000000 0x08000000>,
++                    <0x88000000 0x18000000>;
++      };
++
++      nvram@1c080000 {
++              compatible = "brcm,nvram";
++              reg = <0x1c080000 0x00180000>;
++      };
++
++      leds {
++              compatible = "gpio-leds";
++
++              led-power {
++                      label = "white:power";
++                      gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
++                      linux,default-trigger = "default-on";
++              };
++
++              led-wan-red {
++                      label = "red:wan";
++                      gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
++              };
++
++              led-lan {
++                      label = "white:lan";
++                      gpios = <&chipcommon 21 GPIO_ACTIVE_LOW>;
++              };
++
++              led-usb2 {
++                      label = "white:usb2";
++                      gpios = <&chipcommon 16 GPIO_ACTIVE_LOW>;
++                      trigger-sources = <&ehci_port2>;
++                      linux,default-trigger = "usbport";
++              };
++
++              led-usb3 {
++                      label = "white:usb3";
++                      gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
++                      trigger-sources = <&ehci_port1>, <&xhci_port1>;
++                      linux,default-trigger = "usbport";
++              };
++
++              led-wps {
++                      label = "white:wps";
++                      gpios = <&chipcommon 19 GPIO_ACTIVE_LOW>;
++              };
++      };
++
++      gpio-keys {
++              compatible = "gpio-keys";
++
++              button-wps {
++                      label = "WPS";
++                      linux,code = <KEY_WPS_BUTTON>;
++                      gpios = <&chipcommon 20 GPIO_ACTIVE_LOW>;
++              };
++
++              button-reset {
++                      label = "Reset";
++                      linux,code = <KEY_RESTART>;
++                      gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
++              };
++
++              button-wifi {
++                      label = "Wi-Fi";
++                      linux,code = <KEY_RFKILL>;
++                      gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
++              };
++
++              button-led {
++                      label = "Backlight";
++                      linux,code = <KEY_BRIGHTNESS_ZERO>;
++                      gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
++              };
++      };
++};
++
++&srab {
++      compatible = "brcm,bcm53012-srab", "brcm,bcm5301x-srab";
++      status = "okay";
++
++      ports {
++              port@0 {
++                      label = "lan4";
++              };
++
++              port@1 {
++                      label = "lan3";
++              };
++
++              port@2 {
++                      label = "lan2";
++              };
++
++              port@3 {
++                      label = "lan1";
++              };
++
++              port@4 {
++                      label = "wan";
++              };
++
++              port@5 {
++                      label = "cpu";
++              };
++
++              port@7 {
++                      label = "cpu";
++              };
++
++              port@8 {
++                      label = "cpu";
++              };
++      };
++};
++
++&usb2 {
++      vcc-gpio = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
++};
++
++&usb3_phy {
++      status = "okay";
++};
++
++&nandcs {
++      partitions {
++              compatible = "fixed-partitions";
++              #address-cells = <1>;
++              #size-cells = <1>;
++
++              partition@0 {
++                      label = "boot";
++                      reg = <0x00000000 0x00080000>;
++                      read-only;
++              };
++
++              partition@80000 {
++                      label = "nvram";
++                      reg = <0x00080000 0x00180000>;
++              };
++
++              partition@200000 {
++                      label = "firmware";
++                      reg = <0x00200000 0x07e00000>;
++                      compatible = "brcm,trx";
++              };
++      };
++};
+--- a/arch/arm/boot/dts/bcm47094-asus-rt-ac88u.dts
++++ b/arch/arm/boot/dts/bcm47094-asus-rt-ac88u.dts
+@@ -1,102 +1,21 @@
+ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+ /*
+- * Copyright (C) 2021-2022 Arınç ÜNAL <arinc.unal@arinc9.com>
++ * Author: Arınç ÜNAL <arinc.unal@arinc9.com>
+  */
+ /dts-v1/;
+-#include "bcm47094.dtsi"
+-#include "bcm5301x-nand-cs0-bch8.dtsi"
++#include "bcm47094-asus-rt-ac3100.dtsi"
+ / {
+       compatible = "asus,rt-ac88u", "brcm,bcm47094", "brcm,bcm4708";
+-      model = "Asus RT-AC88U";
+-
+-      chosen {
+-              bootargs = "earlycon";
+-      };
+-
+-      memory@0 {
+-              device_type = "memory";
+-              reg = <0x00000000 0x08000000>,
+-                    <0x88000000 0x18000000>;
+-      };
++      model = "ASUS RT-AC88U";
+       nvram@1c080000 {
+-              compatible = "brcm,nvram";
+-              reg = <0x1c080000 0x00180000>;
+-
+               et1macaddr: et1macaddr {
+               };
+       };
+-      leds {
+-              compatible = "gpio-leds";
+-
+-              led-power {
+-                      label = "white:power";
+-                      gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+-                      linux,default-trigger = "default-on";
+-              };
+-
+-              led-wan-red {
+-                      label = "red:wan";
+-                      gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
+-              };
+-
+-              led-lan {
+-                      label = "white:lan";
+-                      gpios = <&chipcommon 21 GPIO_ACTIVE_LOW>;
+-              };
+-
+-              led-usb2 {
+-                      label = "white:usb2";
+-                      gpios = <&chipcommon 16 GPIO_ACTIVE_LOW>;
+-                      trigger-sources = <&ehci_port2>;
+-                      linux,default-trigger = "usbport";
+-              };
+-
+-              led-usb3 {
+-                      label = "white:usb3";
+-                      gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
+-                      trigger-sources = <&ehci_port1>, <&xhci_port1>;
+-                      linux,default-trigger = "usbport";
+-              };
+-
+-              led-wps {
+-                      label = "white:wps";
+-                      gpios = <&chipcommon 19 GPIO_ACTIVE_LOW>;
+-              };
+-      };
+-
+-      gpio-keys {
+-              compatible = "gpio-keys";
+-
+-              button-wps {
+-                      label = "WPS";
+-                      linux,code = <KEY_WPS_BUTTON>;
+-                      gpios = <&chipcommon 20 GPIO_ACTIVE_LOW>;
+-              };
+-
+-              button-reset {
+-                      label = "Reset";
+-                      linux,code = <KEY_RESTART>;
+-                      gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
+-              };
+-
+-              button-wifi {
+-                      label = "Wi-Fi";
+-                      linux,code = <KEY_RFKILL>;
+-                      gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
+-              };
+-
+-              button-led {
+-                      label = "Backlight";
+-                      linux,code = <KEY_BRIGHTNESS_ZERO>;
+-                      gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>;
+-              };
+-      };
+-
+       switch {
+               compatible = "realtek,rtl8365mb";
+               /* 7 = MDIO (has input reads), 6 = MDC (clock, output only) */
+@@ -175,31 +94,9 @@
+ };
+ &srab {
+-      compatible = "brcm,bcm53012-srab", "brcm,bcm5301x-srab";
+-      status = "okay";
+       dsa,member = <0 0>;
+       ports {
+-              port@0 {
+-                      label = "lan4";
+-              };
+-
+-              port@1 {
+-                      label = "lan3";
+-              };
+-
+-              port@2 {
+-                      label = "lan2";
+-              };
+-
+-              port@3 {
+-                      label = "lan1";
+-              };
+-
+-              port@4 {
+-                      label = "wan";
+-              };
+-
+               sw0_p5: port@5 {
+                       /delete-property/ethernet;
+@@ -212,19 +109,6 @@
+                               pause;
+                       };
+               };
+-
+-              port@7 {
+-                      label = "cpu";
+-
+-                      fixed-link {
+-                              speed = <1000>;
+-                              full-duplex;
+-                      };
+-              };
+-
+-              port@8 {
+-                      label = "cpu";
+-              };
+       };
+ };
+@@ -236,36 +120,3 @@
+       nvmem-cells = <&et1macaddr>;
+       nvmem-cell-names = "mac-address";
+ };
+-
+-&usb2 {
+-      vcc-gpio = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
+-};
+-
+-&usb3_phy {
+-      status = "okay";
+-};
+-
+-&nandcs {
+-      partitions {
+-              compatible = "fixed-partitions";
+-              #address-cells = <1>;
+-              #size-cells = <1>;
+-
+-              partition@0 {
+-                      label = "boot";
+-                      reg = <0x00000000 0x00080000>;
+-                      read-only;
+-              };
+-
+-              partition@80000 {
+-                      label = "nvram";
+-                      reg = <0x00080000 0x00180000>;
+-              };
+-
+-              partition@200000 {
+-                      label = "firmware";
+-                      reg = <0x00200000 0x07e00000>;
+-                      compatible = "brcm,trx";
+-              };
+-      };
+-};
index 60fc630a495150de449f82afbffc4803b238db3f..fe1beb176f0fcbb49e658f3d84c6a9c9fb1dd979 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
 +      bcm4709-netgear-r7900.dtb \
        bcm4709-netgear-r8000.dtb \
        bcm4709-tplink-archer-c9-v1.dtb \
-       bcm47094-asus-rt-ac88u.dtb \
+       bcm47094-asus-rt-ac3100.dtb \
 --- /dev/null
 +++ b/arch/arm/boot/dts/bcm4709-netgear-r7900.dts
 @@ -0,0 +1,42 @@