diff options
author | Christian Lamparter <chunkeey@gmail.com> | 2018-09-04 23:27:02 +0200 |
---|---|---|
committer | John Crispin <john@phrozen.org> | 2018-09-10 09:07:41 +0200 |
commit | 745dee11ac787e9ffb4c15799961fa02d6462c8b (patch) | |
tree | d763015dd03d96cef2403434bc7a5cc8d54525a8 /target/linux/ath79/dts | |
parent | cd9c2492c18d1c2abd200e5911ad546d7c77a617 (diff) | |
download | upstream-745dee11ac787e9ffb4c15799961fa02d6462c8b.tar.gz upstream-745dee11ac787e9ffb4c15799961fa02d6462c8b.tar.bz2 upstream-745dee11ac787e9ffb4c15799961fa02d6462c8b.zip |
ath79: add support for WD My Net Wi-Fi Range Extender
This patch ports over support for the device from ar71xx.
SOC: AR7370 (Wasp - AR9344 rev2 0001974c)
RAM: Winbond W9725G6KB-25 32MiB
FLASH: Winbond 25Q64FVSIG 8MiB
WLAN: AR9380 Dual-Band 802.11abgn 3x3:3
INPUT: WPS, RESET button (hardware on/off toggle button)
LED: Power, LAN, WiFi, 3 RSSI-Leds (low, medium, high)
Serial: Header Next to the winbond flash chip (labeld JP1)
Pinout is GND - NC - RX - TX - 3V3 (JP1)
The Serial setting is 115200-8-N-1.
- Installation via uboot's upgrade command
0. attach serial cable
1. interrupt uboot and enter "upgrade code.bin" into
the u-boot prompt
ar7240> upgrade code.bin
2. rename openwrt...sysupgrade.bin to code.bin on PC
3. run a tftp-client on the PC
(shell)$ tftp 192.168.1.230
binary
put code.bin
4. wait for the device to finish
[...]
Copy buff to Flash from 0x9f040000 length 0x79f000
Copy to Flash... write addr: 9f040000
done
5. enter "go" in the u-boot prompt
ar7240> go
- TFTP ramdisk image boot from the uboot prompt
(tftp server defaults to serverip 192.168.1.254)
=> tftpboot 81000000 initramfs.bin
=> bootm
Tested and working:
- LEDs
- Buttons
- Ethernet
- Wi-Fi
- OpenWRT sysupgrade
For flashing and debricking information see:
<https://openwrt.org/toh/wd/rext>
Users coming from ar71xx can use sysupgrade too. But I highly
advise to no save the old configuration and start from a clean
state.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Diffstat (limited to 'target/linux/ath79/dts')
-rw-r--r-- | target/linux/ath79/dts/ar9344_wd_mynet-wifi-rangeextender.dts | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/target/linux/ath79/dts/ar9344_wd_mynet-wifi-rangeextender.dts b/target/linux/ath79/dts/ar9344_wd_mynet-wifi-rangeextender.dts new file mode 100644 index 0000000000..1877cea3d9 --- /dev/null +++ b/target/linux/ath79/dts/ar9344_wd_mynet-wifi-rangeextender.dts @@ -0,0 +1,174 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> + +#include "ar9344.dtsi" + +/ { + model = "Western Digital My Net Wi-Fi Range Extender"; + compatible = "wd,mynet-wifi-rangeextender", "qca,ar9344"; + + chosen { + bootargs = "console=ttyS0,115200n8"; + }; + + aliases { + led-boot = &power; + led-failsafe = &power; + led-running = &power; + led-upgrade = &power; + }; + + leds { + compatible = "gpio-leds"; + + power: power { + label = "mynet-wifi-rangeextender:blue:power"; + gpios = <&gpio 11 GPIO_ACTIVE_HIGH>; + /* LED has no off state. It's either on or it blinks */ + }; + + lan { + label = "mynet-wifi-rangeextender:green:lan"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + }; + + wifi { + label = "mynet-wifi-rangeextender:blue:wifi"; + gpios = <&gpio 19 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + + wifi-rssi-low { + label = "mynet-wifi-rangeextender:blue:rssi-low"; + gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + }; + + wifi-rssi-med { + label = "mynet-wifi-rangeextender:blue:rssi-med"; + gpios = <&gpio 21 GPIO_ACTIVE_LOW>; + }; + + wifi-rssi-max { + label = "mynet-wifi-rangeextender:blue:rssi-max"; + gpios = <&gpio 22 GPIO_ACTIVE_LOW>; + }; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <50>; + + reset { + linux,code = <KEY_RESTART>; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + + band-switch { + linux,code = <BTN_1>; + gpios = <&gpio 14 GPIO_ACTIVE_HIGH>; + linux,input-type = <EV_SW>; + debounce-interval = <60>; + }; + + wps { + linux,code = <KEY_WPS_BUTTON>; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + }; +}; + +&ref { + clock-frequency = <25000000>; +}; + +&uart { + status = "okay"; +}; + +&spi { + num-cs = <1>; + + status = "okay"; + + flash@0 { + compatible = /* "s25fl064k", */ "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + uboot: partition@0 { + label = "u-boot"; + reg = <0x0 0x040000>; + read-only; + }; + + partition@40000 { + label = "firmware"; + reg = <0x40000 0x7a0000>; + compatible = "cybertan,trx"; + }; + + nvram: partition@7e0000 { + label = "nvram"; + reg = <0x7e0000 0x10000>; + }; + + art: partition@7f0000 { + label = "art"; + reg = <0x7f0000 0x10000>; + read-only; + }; + }; + }; +}; + +&pcie { + status = "okay"; + + ath9k: wifi@0,0 { + compatible = "pci168c,0030"; + reg = <0x0000 0 0 0 0>; + qca,no-eeprom; + /* wifi MAC is stored in nvram */ + }; +}; + +&mdio0 { + status = "okay"; + + phy-mask = <0x10>; + + phy4: ethernet-phy@4 { + reg = <4>; + }; +}; + +ð0 { + status = "okay"; + + pll-data = <0x0e000000 0x3c000101 0x3c001313>; + + /* ethernet MAC is stored in nvram */ + phy-mode = "rgmii"; + phy-handle = <&phy4>; + + gmac-config { + device = <&gmac>; + rgmii-gmac0 = <1>; + rxd-delay = <3>; + rxdv-delay = <3>; + }; +}; + +&mdio1 { + status = "disabled"; +}; |