aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79/dts/ar9344_wd_mynet-wifi-rangeextender.dts
diff options
context:
space:
mode:
authorChristian Lamparter <chunkeey@gmail.com>2018-09-04 23:27:02 +0200
committerJohn Crispin <john@phrozen.org>2018-09-10 09:07:41 +0200
commit745dee11ac787e9ffb4c15799961fa02d6462c8b (patch)
treed763015dd03d96cef2403434bc7a5cc8d54525a8 /target/linux/ath79/dts/ar9344_wd_mynet-wifi-rangeextender.dts
parentcd9c2492c18d1c2abd200e5911ad546d7c77a617 (diff)
downloadupstream-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/ar9344_wd_mynet-wifi-rangeextender.dts')
-rw-r--r--target/linux/ath79/dts/ar9344_wd_mynet-wifi-rangeextender.dts174
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>;
+ };
+};
+
+&eth0 {
+ 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";
+};