ARM: dts: BCM5301X: Add DT for ASUS RT-AC5300
authorArınç ÜNAL <arinc.unal@arinc9.com>
Tue, 23 Apr 2024 09:50:48 +0000 (12:50 +0300)
committerFlorian Fainelli <florian.fainelli@broadcom.com>
Wed, 24 Apr 2024 17:59:33 +0000 (10:59 -0700)
Add the device tree for ASUS RT-AC5300 which is an AC5300 router featuring
5 Ethernet ports over the integrated Broadcom switch.

Hardware info:
* Processor: Broadcom BCM4709C0 dual-core @ 1.4 GHz
* Switch: BCM53012 in BCM4709C0
* DDR3 RAM: 512 MB
* Flash: 128 MB
* 2.4GHz: BCM4366 4x4 single chip 802.11b/g/n SoC
* 5GHz: BCM4366 4x4 two chips 802.11a/n/ac SoC
* Ports: 4 LAN Ports, 1 WAN Port

Co-developed-by: Tom Brautaset <tbrautaset@gmail.com>
Signed-off-by: Tom Brautaset <tbrautaset@gmail.com>
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20240423-for-soc-asus-rt-ac3200-ac5300-v3-4-23d33cfafe7a@arinc9.com
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
arch/arm/boot/dts/broadcom/Makefile
arch/arm/boot/dts/broadcom/bcm47094-asus-rt-ac5300.dts [new file with mode: 0644]

index c61fca5147751576a5cbc7cc145bb67110221506..5881bcc95eba6bbd4f4dfd6e0d00365db25f7094 100644 (file)
@@ -72,6 +72,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
        bcm4709-netgear-r8000.dtb \
        bcm4709-tplink-archer-c9-v1.dtb \
        bcm47094-asus-rt-ac3100.dtb \
+       bcm47094-asus-rt-ac5300.dtb \
        bcm47094-asus-rt-ac88u.dtb \
        bcm47094-dlink-dir-885l.dtb \
        bcm47094-dlink-dir-890l.dtb \
diff --git a/arch/arm/boot/dts/broadcom/bcm47094-asus-rt-ac5300.dts b/arch/arm/boot/dts/broadcom/bcm47094-asus-rt-ac5300.dts
new file mode 100644 (file)
index 0000000..6c666dc
--- /dev/null
@@ -0,0 +1,156 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Author: Tom Brautaset <tbrautaset@gmail.com>
+ */
+
+/dts-v1/;
+
+#include "bcm47094.dtsi"
+#include "bcm5301x-nand-cs0-bch8.dtsi"
+
+#include <dt-bindings/leds/common.h>
+
+/ {
+       compatible = "asus,rt-ac5300", "brcm,bcm47094", "brcm,bcm4708";
+       model = "ASUS RT-AC5300";
+
+       memory@0 {
+               reg = <0x00000000 0x08000000>,
+                     <0x88000000 0x18000000>;
+               device_type = "memory";
+       };
+
+       nvram@1c080000 {
+               compatible = "brcm,nvram";
+               reg = <0x1c080000 0x00180000>;
+
+               et1macaddr: et1macaddr {
+                       #nvmem-cell-cells = <1>;
+               };
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+
+               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 20 GPIO_ACTIVE_LOW>;
+               };
+
+               button-wps {
+                       label = "WPS";
+                       linux,code = <KEY_WPS_BUTTON>;
+                       gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               led-lan {
+                       color = <LED_COLOR_ID_WHITE>;
+                       function = LED_FUNCTION_LAN;
+                       gpios = <&chipcommon 21 GPIO_ACTIVE_LOW>;
+               };
+
+               led-power {
+                       color = <LED_COLOR_ID_WHITE>;
+                       function = LED_FUNCTION_POWER;
+                       gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+
+               led-wan-red {
+                       color = <LED_COLOR_ID_RED>;
+                       function = LED_FUNCTION_WAN;
+                       gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
+               };
+
+               led-wps {
+                       color = <LED_COLOR_ID_WHITE>;
+                       function = LED_FUNCTION_WPS;
+                       gpios = <&chipcommon 19 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
+
+&gmac0 {
+       nvmem-cells = <&et1macaddr 0>;
+       nvmem-cell-names = "mac-address";
+};
+
+&gmac1 {
+       nvmem-cells = <&et1macaddr 1>;
+       nvmem-cell-names = "mac-address";
+};
+
+&gmac2 {
+       nvmem-cells = <&et1macaddr 2>;
+       nvmem-cell-names = "mac-address";
+};
+
+&nandcs {
+       partitions {
+               compatible = "fixed-partitions";
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               partition@0 {
+                       reg = <0x00000000 0x00080000>;
+                       label = "boot";
+                       read-only;
+               };
+
+               partition@80000 {
+                       reg = <0x00080000 0x00180000>;
+                       label = "nvram";
+               };
+
+               partition@200000 {
+                       compatible = "brcm,trx";
+                       reg = <0x00200000 0x07e00000>;
+                       label = "firmware";
+               };
+       };
+};
+
+&srab {
+       status = "okay";
+
+       ports {
+               port@0 {
+                       label = "lan4";
+               };
+
+               port@1 {
+                       label = "lan3";
+               };
+
+               port@2 {
+                       label = "lan2";
+               };
+
+               port@3 {
+                       label = "lan1";
+               };
+
+               port@4 {
+                       label = "wan";
+               };
+       };
+};
+
+&usb2 {
+       vcc-gpio = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
+};
+
+&usb3_phy {
+       status = "okay";
+};