bcm53xx: add kernel support for TP-LINK Archer C9 V1
[openwrt/staging/yousong.git] / target / linux / bcm53xx / patches-4.4 / 044-0008-ARM-BCM5301X-Add-DT-for-TP-LINK-Archer-C9-V1.patch
diff --git a/target/linux/bcm53xx/patches-4.4/044-0008-ARM-BCM5301X-Add-DT-for-TP-LINK-Archer-C9-V1.patch b/target/linux/bcm53xx/patches-4.4/044-0008-ARM-BCM5301X-Add-DT-for-TP-LINK-Archer-C9-V1.patch
new file mode 100644 (file)
index 0000000..5b2aa26
--- /dev/null
@@ -0,0 +1,146 @@
+From 41182beb217c47cfbaaf26a60f22a8b3943faa61 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Sun, 13 Nov 2016 11:12:09 +0100
+Subject: [PATCH] ARM: BCM5301X: Add DT for TP-LINK Archer C9 V1
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+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                        |   1 +
+ arch/arm/boot/dts/bcm4709-tplink-archer-c9-v1.dts | 114 ++++++++++++++++++++++
+ 2 files changed, 115 insertions(+)
+ create mode 100644 arch/arm/boot/dts/bcm4709-tplink-archer-c9-v1.dts
+
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -77,6 +77,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 \
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm4709-tplink-archer-c9-v1.dts
+@@ -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";
++};