From 1df1ea4d7e8b6ae3351780ed58800ccd9edd4c27 Mon Sep 17 00:00:00 2001 From: INAGAKI Hiroshi Date: Tue, 11 Sep 2018 20:13:17 +0900 Subject: ath79: fix support for Buffalo WZR-HP-G450H and split to dts/dtsi There are many parts that are incorrect or missing in the current code for Buffalo WZR-HP-G450H in ath79, so its support is broken. I fixed that issues and split to dts/dtsi files to add support for Buffalo BHR-4GRV. And WZR-450HP has the same hardware as WZR-HP-G450H, so I change the device name to "WZR-HP-G450H/WZR-450HP". Specification: - Atheros AR7242 - 64 MB of RAM - 32 MB of Flash - 2x 16 MB SPI-NOR flash - 3T3R 2.4 GHz wifi - SoC internal - 5x 10/100/1000 Mbps Ethernet - 6x LEDs, 5x keys - 1x USB 2.0 Type-A - UART header on PCB - JP1: Vcc, GND, TX, RX from reset button side Flash instruction using factory image: 1. Boot the WZR-HP-G450H (or WZR-450HP) normaly and connect the computer to its LAN port 2. Access to "http://192.168.11.1/cgi-bin/cgi?req=frm&frm=py-db/firmup.html" with user "bufpy" and password "otdpopy" 3. Select the OpenWrt factory image and click "OK" button to perform firmware update 4. Wait ~200 seconds to complete flashing Signed-off-by: INAGAKI Hiroshi --- target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi | 174 +++++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi (limited to 'target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi') diff --git a/target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi b/target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi new file mode 100644 index 0000000000..c82cf83f7e --- /dev/null +++ b/target/linux/ath79/dts/ar7242_buffalo_wzr-bhr.dtsi @@ -0,0 +1,174 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include +#include + +#include "ar7242.dtsi" + +/ { + aliases { + led-boot = &diag; + led-failsafe = &diag; + led-upgrade = &diag; + }; + + extosc: ref { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <40000000>; + }; + + keys: keys { + compatible = "gpio-keys-polled"; + poll-interval = <20>; + + usb { + label = "usb"; + linux,code = ; + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + linux,code = ; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + sec_vpn: sec_vpn { + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + + diag: diag { + label = "buffalo:red:diag"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + + usb { + label = "buffalo:green:usb"; + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + default-state = "off"; + trigger-sources = <&hub_port>; + linux,default-trigger = "usbport"; + }; + }; + + gpio-export { + compatible = "gpio-export"; + #size-cells = <0>; + + gpio_usb_power { + gpio-export,name = "buffalo:usb-power"; + gpio-export,output = <1>; + gpios = <&gpio 16 GPIO_ACTIVE_HIGH>; + }; + }; + + virtual_flash { + compatible = "mtd-concat"; + devices = <&flash0 &flash1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + reg = <0x0 0x40000>; + label = "u-boot"; + read-only; + }; + + partition@40000 { + reg = <0x40000 0x10000>; + label = "u-boot-env"; + }; + + ART: partition@50000 { + reg = <0x50000 0x10000>; + label = "ART"; + read-only; + }; + + partition@60000 { + reg = <0x60000 0x1f80000>; + label = "firmware"; + }; + + partition@1fe0000 { + reg = <0x1fe0000 0x20000>; + label = "user_property"; + read-only; + }; + }; + }; +}; + +&spi { + status = "okay"; + cs-gpios = <0>, <0>; + num-cs = <2>; + + flash0: flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + }; + + flash1: flash@1 { + compatible = "jedec,spi-nor"; + reg = <1>; + spi-max-frequency = <25000000>; + }; +}; + +&mdio0 { + status = "okay"; + + phy-mask = <0x1>; + + phy0: ethernet-phy@0 { + reg = <0>; + phy-mode = "rgmii"; + }; +}; + +ð0 { + status = "okay"; + + mtd-mac-address = <&ART 0x1002>; + + phy-mode = "rgmii"; + phy-handle = <&phy0>; +}; + +&pll { + clocks = <&extosc>; +}; + +&uart { + status = "okay"; +}; + +&usb_phy { + status = "okay"; +}; + +&usb { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + hub_port: port@1 { + reg = <1>; + #trigger-source-cells = <0>; + }; +}; -- cgit v1.2.3