From 480bf28273926d7b30be21b7605dd4fefd07fc3a Mon Sep 17 00:00:00 2001 From: Bernhard Frauendienst Date: Sat, 18 Aug 2018 18:28:02 +0200 Subject: ath79: add support for Buffalo WZR-HP-AG300H MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Buffalo WZR-HP-AG300H is a dual band router based on Qualcom Atheros AR7161 rev 2 Specification: - 680 MHz CPU (Qualcomm Atheros AR7161) - 128 MiB RAM (2x Samsung K4H511638G-LCCC) - 32 MiB Flash (2x Winbond 25Q128BVFG) - WiFi 5 GHz a/n (Atheros AR9220) - WiFi 2.4 GHz b/g/n (Atheros AR9223) - 1000Base-T WAN (Atheros AR7161) - 4x 1000Base-T Switch (Atheros AR8316) - 1x USB 2.0 - 3 Buttons (AOSS/WPS, Reset, USB Eject) - 2 Slide switches (Router (on/off/auto), Movie Engine (on/off)) - 9 LEDs (Power green, WLAN 2GHz green, WLAN 2GHz amber, WLAN 5GHz green, WLAN 5GHz LED amber, Router green, Diag red, Movie Engine blue, USB green) It is already supported by the ar71xx target. For more information on the device visit the wiki: Serial console: - The UART Header is next to Movie Engine Switch. - Pinout is RX - TX - GND - 3.3V (Square Pad is 3.3V) - The Serial setting is 115200-8-N-1. Installation of OpenWRT from vendor firmware: - Connect to the Web-interface at http://192.168.11.1 - Go to “Administration” → “Firmware Upgrade” - Upload the OpenWrt factory image Tested: - Ethernet (LAN, WAN) - WiFi - Installation - via TFTP rescue - via factory image - on firmware v1.77 (28-05-2012) - on pro firmware v24SP2 r30356 (26-03-2018) - via sysupgrade from ar71xx (wlan devices don't work because of new names) - via sysupgrade from itself - Buttons - LEDS - USB (Power control and device recognition) Signed-off-by: Bernhard Frauendienst --- .../ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts | 284 +++++++++++++++++++++ 1 file changed, 284 insertions(+) create mode 100644 target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts (limited to 'target/linux/ath79/dts') diff --git a/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts b/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts new file mode 100644 index 0000000000..8a5571ad0f --- /dev/null +++ b/target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dts @@ -0,0 +1,284 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include +#include + +#include "ar7100.dtsi" + +/ { + compatible = "buffalo,wzr-hp-ag300h", "qca,ar7161"; + model = "Buffalo WZR-HP-AG300H/WZR-600DHP"; + + aliases { + led-boot = &diag; + led-failsafe = &diag; + led-upgrade = &diag; + }; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + extosc: ref { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-output-names = "ref"; + clock-frequency = <40000000>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + diag: diag { + label = "buffalo:red:diag"; + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + }; + + ath9k-leds { + // those leds are indeed attached to the wifi chips + + compatible = "gpio-leds"; + band2g_a { + label = "buffalo:amber:band2g"; + gpios = <&ath9k0 1 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + + usb { + label = "buffalo:green:usb"; + gpios = <&ath9k0 3 GPIO_ACTIVE_LOW>; + default-state = "off"; + trigger-sources = <&usb_ochi_port>, <&usb_echi_port>; + linux,default-trigger = "usbport"; + }; + + band2g_g { + label = "buffalo:green:band2g"; + gpios = <&ath9k0 5 GPIO_ACTIVE_LOW>; + default-state = "off"; + linux,default-trigger = "phy0tpt"; + }; + + band5g_g { + label = "buffalo:green:band5g"; + gpios = <&ath9k1 1 GPIO_ACTIVE_LOW>; + default-state = "off"; + linux,default-trigger = "phy1tpt"; + }; + + router { + label = "buffalo:green:router"; + gpios = <&ath9k1 3 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + + movie_engine { + label = "buffalo:blue:movie_engine"; + gpios = <&ath9k1 4 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + + band5g_a { + label = "buffalo:amber:band5g"; + gpios = <&ath9k1 5 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + poll-interval = <20>; + + reset { + linux,code = ; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + + usb { + linux,code = ; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + + aoss { + linux,code = ; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + + router_auto { + linux,code = ; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + + router_off { + linux,code = ; + gpios = <&gpio 7 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + + movie_engine { + linux,code = ; + gpios = <&gpio 8 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + }; + + gpio-export { + compatible = "gpio-export"; + + gpio_usb_power { + gpio-export,name = "buffalo:power:usb"; + gpio-export,output = <1>; + gpios = <&gpio 2 GPIO_ACTIVE_HIGH>; + }; + }; + + flash { + compatible = "mtd-concat"; + + devices = <&flash0 &flash1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + partition@0 { + label = "u-boot"; + reg = <0x0000000 0x0040000>; + read-only; + }; + + partition@40000 { + label = "u-boot-env"; + reg = <0x0040000 0x0010000>; + read-only; + }; + + art: partition@50000 { + label = "art"; + reg = <0x0050000 0x0010000>; + read-only; + }; + + partition@60000 { + label = "firmware"; + reg = <0x0060000 0x1f90000>; + }; + + partition@1ff0000 { + label = "user_property"; + reg = <0x1ff0000 0x0010000>; + read-only; + }; + }; + }; +}; + +&usb_phy { + status = "okay"; +}; + +&usb1 { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + usb_ochi_port: port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; +}; + +&usb2 { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + usb_echi_port: port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; +}; + +&pcie0 { + status = "okay"; + + ath9k0: wifi@0,11 { + compatible = "pci168c,0029"; + reg = <0x8800 0 0 0 0>; + qca,no-eeprom; + #gpio-cells = <2>; + gpio-controller; + }; + + ath9k1: wifi@0,12 { + compatible = "pci168c,0029"; + reg = <0x9000 0 0 0 0>; + qca,no-eeprom; + #gpio-cells = <2>; + gpio-controller; + }; +}; + +&uart { + status = "okay"; +}; + +&pll { + clocks = <&extosc>; +}; + +&spi { + status = "okay"; + num-cs = <2>; + cs-gpios = <0>, <0>; + + flash0: flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <104000000>; + m25p,fast-read; + }; + + flash1: flash@1 { + compatible = "jedec,spi-nor"; + reg = <1>; + spi-max-frequency = <104000000>; + m25p,fast-read; + }; +}; + +&mdio0 { + status = "okay"; + + phy4: ethernet-phy@4 { + reg = <4>; + phy-mode = "rgmii"; + }; +}; + +ð0 { + status = "okay"; + + mtd-mac-address = <&art 0x120c>; + + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +ð1 { + status = "okay"; + + mtd-mac-address = <&art 0x520c>; + mtd-mac-address-increment = <1>; + + phy-handle = <&phy4>; +}; -- cgit v1.2.3