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

Hardware info:
* Processor: Broadcom BCM4709A0 dual-core @ 1.0 GHz
* Switch: BCM53012 in BCM4709A0
* DDR3 RAM: 256 MB
* Flash: 128 MB
* 2.4GHz: BCM43602 3x3 single chip 802.11b/g/n SoC
* 5GHz: BCM43602 3x3 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-3-23d33cfafe7a@arinc9.com
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
arch/arm/boot/dts/broadcom/Makefile
arch/arm/boot/dts/broadcom/bcm4709-asus-rt-ac3200.dts [new file with mode: 0644]

index 7099d9560033093ff7130b008b2f9e22a80f19e4..c61fca5147751576a5cbc7cc145bb67110221506 100644 (file)
@@ -64,6 +64,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
        bcm47081-luxul-xap-1410.dtb \
        bcm47081-luxul-xwr-1200.dtb \
        bcm47081-tplink-archer-c5-v2.dtb \
+       bcm4709-asus-rt-ac3200.dtb \
        bcm4709-asus-rt-ac87u.dtb \
        bcm4709-buffalo-wxr-1900dhp.dtb \
        bcm4709-linksys-ea9200.dtb \
diff --git a/arch/arm/boot/dts/broadcom/bcm4709-asus-rt-ac3200.dts b/arch/arm/boot/dts/broadcom/bcm4709-asus-rt-ac3200.dts
new file mode 100644 (file)
index 0000000..53cb0c5
--- /dev/null
@@ -0,0 +1,150 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Author: Tom Brautaset <tbrautaset@gmail.com>
+ */
+
+/dts-v1/;
+
+#include "bcm4709.dtsi"
+#include "bcm5301x-nand-cs0-bch8.dtsi"
+
+#include <dt-bindings/leds/common.h>
+
+/ {
+       compatible = "asus,rt-ac3200", "brcm,bcm4709", "brcm,bcm4708";
+       model = "ASUS RT-AC3200";
+
+       memory@0 {
+               reg = <0x00000000 0x08000000>,
+                     <0x88000000 0x08000000>;
+               device_type = "memory";
+       };
+
+       nvram@1c080000 {
+               compatible = "brcm,nvram";
+               reg = <0x1c080000 0x00180000>;
+
+               et0macaddr: et0macaddr {
+                       #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 4 GPIO_ACTIVE_LOW>;
+               };
+
+               button-wps {
+                       label = "WPS";
+                       linux,code = <KEY_WPS_BUTTON>;
+                       gpios = <&chipcommon 7 GPIO_ACTIVE_LOW>;
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               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 14 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
+
+&gmac0 {
+       nvmem-cells = <&et0macaddr 0>;
+       nvmem-cell-names = "mac-address";
+};
+
+&gmac1 {
+       nvmem-cells = <&et0macaddr 1>;
+       nvmem-cell-names = "mac-address";
+};
+
+&gmac2 {
+       nvmem-cells = <&et0macaddr 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 = "wan";
+               };
+
+               port@1 {
+                       label = "lan1";
+               };
+
+               port@2 {
+                       label = "lan2";
+               };
+
+               port@3 {
+                       label = "lan3";
+               };
+
+               port@4 {
+                       label = "lan4";
+               };
+       };
+};
+
+&usb2 {
+       vcc-gpio = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
+};
+
+&usb3_phy {
+       status = "okay";
+};