ARM: BCM5301X: Add DT for TP-LINK Archer C9 V1
authorRafał Miłecki <rafal@milecki.pl>
Sun, 13 Nov 2016 10:12:09 +0000 (11:12 +0100)
committerFlorian Fainelli <f.fainelli@gmail.com>
Wed, 16 Nov 2016 20:39:23 +0000 (12:39 -0800)
It's BCM4709A0 based device with 16 MiB flash, 128 MiB of RAM and two
PCIe based on-PCB BCM4360 chipsets.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/bcm4709-tplink-archer-c9-v1.dts [new file with mode: 0644]

index 837703ac79e80435c34ab02d7f7b051b19e46847..7a52a9f8d5a72a7841ad0f69bdb4163215363f91 100644 (file)
@@ -87,6 +87,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
        bcm4709-buffalo-wxr-1900dhp.dtb \
        bcm4709-netgear-r7000.dtb \
        bcm4709-netgear-r8000.dtb \
+       bcm4709-tplink-archer-c9-v1.dtb \
        bcm47094-dlink-dir-885l.dtb \
        bcm47094-luxul-xwr-3100.dtb \
        bcm47094-netgear-r8500.dtb \
diff --git a/arch/arm/boot/dts/bcm4709-tplink-archer-c9-v1.dts b/arch/arm/boot/dts/bcm4709-tplink-archer-c9-v1.dts
new file mode 100644 (file)
index 0000000..9a92c24
--- /dev/null
@@ -0,0 +1,114 @@
+/*
+ * Copyright (C) 2016 Rafał Miłecki <rafal@milecki.pl>
+ *
+ * Licensed under the ISC license.
+ */
+
+/dts-v1/;
+
+#include "bcm4709.dtsi"
+
+/ {
+       compatible = "tplink,archer-c9-v1", "brcm,bcm4709", "brcm,bcm4708";
+       model = "TP-LINK Archer C9 V1";
+
+       chosen {
+               bootargs = "console=ttyS0,115200 earlycon";
+       };
+
+       memory {
+               reg = <0x00000000 0x08000000>;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               lan {
+                       label = "bcm53xx:blue:lan";
+                       gpios = <&chipcommon 1 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-off";
+               };
+
+               wps {
+                       label = "bcm53xx:blue:wps";
+                       gpios = <&chipcommon 2 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-off";
+               };
+
+               2ghz {
+                       label = "bcm53xx:blue:2ghz";
+                       gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-off";
+               };
+
+               5ghz {
+                       label = "bcm53xx:blue:5ghz";
+                       gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-off";
+               };
+
+               usb3 {
+                       label = "bcm53xx:blue:usb3";
+                       gpios = <&chipcommon 6 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-off";
+               };
+
+               usb2 {
+                       label = "bcm53xx:blue:usb2";
+                       gpios = <&chipcommon 7 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-off";
+               };
+
+               wan-blue {
+                       label = "bcm53xx:blue:wan";
+                       gpios = <&chipcommon 14 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-off";
+               };
+
+               wan-amber {
+                       label = "bcm53xx:amber:wan";
+                       gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "default-off";
+               };
+
+               power {
+                       label = "bcm53xx:blue:power";
+                       gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "default-on";
+               };
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               wps {
+                       label = "WPS";
+                       linux,code = <KEY_WPS_BUTTON>;
+                       gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
+               };
+
+               restart {
+                       label = "Reset";
+                       linux,code = <KEY_RESTART>;
+                       gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
+
+&uart0 {
+       status = "okay";
+};
+
+&usb2 {
+       vcc-gpio = <&chipcommon 13 GPIO_ACTIVE_HIGH>;
+};
+
+&usb3 {
+       vcc-gpio = <&chipcommon 12 GPIO_ACTIVE_HIGH>;
+};
+
+&spi_nor {
+       status = "okay";
+};