aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorINAGAKI Hiroshi <musashino.open@gmail.com>2019-02-05 17:23:58 +0900
committerChristian Lamparter <chunkeey@gmail.com>2019-02-14 16:56:15 +0100
commit93d4439454247fb3f7cc88d8ad9a7e80bb440145 (patch)
tree53ab0ce7babe1c478e8285bef69a5b4ab926ccac
parentcc8bd777723f32eca3d8643270dfc765cc772d1c (diff)
downloadupstream-93d4439454247fb3f7cc88d8ad9a7e80bb440145.tar.gz
upstream-93d4439454247fb3f7cc88d8ad9a7e80bb440145.tar.bz2
upstream-93d4439454247fb3f7cc88d8ad9a7e80bb440145.zip
ath79: add support for I-O DATA WN-AC1600DGR
I-O DATA WN-AC1600DGR is a 2.4/5 GHz band 11ac router, based on Qualcomm Atheros QCA9557. Specification: - SoC: Qualcomm Atheros QCA9557 - RAM: 128 MB - Flash: 16 MB - WLAN: 2.4/5 GHz - 2.4 GHz: 2T2R (SoC internal) - 5 GHz: 3T3R (QCA9880) - Ethernet: 5x 10/100/1000 Mbps - Switch: QCA8337N - LED/key: 6x/6x(4x buttons, 1x slide switch) - UART: through-hole on PCB - Vcc, GND, TX, RX from ethernet port side - 115200n8 Flash instruction using factory image: 1. Connect the computer to the LAN port of WN-AC1600DGR 2. Connect power cable to WN-AC1600DGR and turn on it 3. Access to "http://192.168.0.1/" and open firmware update page ("ファームウェア") 4. Select the OpenWrt factory image and click update ("更新") button 5. Wait ~150 seconds to complete flashing Alternative flash instruction using initramfs image: 1. Prepare a computer and TFTP server software with the IP address "192.168.99.8" and renamed OpenWrt initramfs image "uImageWN-AC1600DGR" 2. Connect between WN-AC1600DGR and the computer with UART 3. Connect power cable to WN-AC1600DGR, press "4" on the serial console and enter the U-Boot console 4. execute "tftpboot" command on the console and download initramfs image from the TFTP server 5. execute "bootm" command and boot OpenWrt 6. On initramfs image, download the sysupgrade image to the device and perform sysupgrade with it 7. Wait ~150 seconds to complete flashing This commit also removes unnecessary "qca,no-eeprom" property from the ath10k wifi node. Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
-rwxr-xr-xtarget/linux/ath79/base-files/etc/board.d/02_network2
-rw-r--r--target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom1
-rw-r--r--target/linux/ath79/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac6
-rw-r--r--target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi19
-rw-r--r--target/linux/ath79/dts/qca9557_iodata_wn-ac1167dgr.dts16
-rw-r--r--target/linux/ath79/dts/qca9557_iodata_wn-ac1600dgr.dts28
-rw-r--r--target/linux/ath79/dts/qca9557_iodata_wn-ac1600dgr2.dts16
-rw-r--r--target/linux/ath79/image/generic.mk12
8 files changed, 84 insertions, 16 deletions
diff --git a/target/linux/ath79/base-files/etc/board.d/02_network b/target/linux/ath79/base-files/etc/board.d/02_network
index a63939670e..9a1063c2ae 100755
--- a/target/linux/ath79/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/base-files/etc/board.d/02_network
@@ -109,6 +109,7 @@ ath79_setup_interfaces()
;;
iodata,etg3-r|\
iodata,wn-ac1167dgr|\
+ iodata,wn-ac1600dgr|\
iodata,wn-ac1600dgr2|\
iodata,wn-ag300dgr|\
pcs,cr5000)
@@ -267,6 +268,7 @@ ath79_setup_macs()
wan_mac=$(macaddr_add "$lan_mac" -1)
;;
iodata,wn-ac1167dgr|\
+ iodata,wn-ac1600dgr|\
iodata,wn-ac1600dgr2|\
iodata,wn-ag300dgr)
lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
diff --git a/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
index 2da9250ddf..8b217d12c0 100644
--- a/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
+++ b/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
@@ -110,6 +110,7 @@ case "$FIRMWARE" in
ath9k_patch_fw_mac $(mtd_get_mac_ascii devdata "wlan24mac") 2
;;
iodata,wn-ac1167dgr|\
+ iodata,wn-ac1600dgr|\
iodata,wn-ac1600dgr2|\
iodata,wn-ag300dgr)
ath9k_eeprom_extract "art" 4096 1088
diff --git a/target/linux/ath79/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ath79/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
index 14d4f6b9d6..2da2e8bfb0 100644
--- a/target/linux/ath79/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
+++ b/target/linux/ath79/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
@@ -19,6 +19,12 @@ case "$board" in
[ "$PHYNBR" -eq 1 ] && \
echo $(macaddr_add "$(mtd_get_mac_ascii u-boot-env ethaddr)" 1) > /sys${DEVPATH}/macaddress
;;
+ iodata,wn-ac1600dgr)
+ # There is no eeprom data for 5 GHz wlan in "art" partition
+ # which would allow to patch the macaddress
+ [ "$PHYNBR" -eq 0 ] && \
+ echo $(macaddr_add "$(mtd_get_mac_ascii u-boot-env ethaddr)" 1) > /sys${DEVPATH}/macaddress
+ ;;
phicomm,k2t)
# The K2T factory firmware does use LAN mac address as the 2.4G wifi mac address
[ "$PHYNBR" -eq 1 ] && \
diff --git a/target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi b/target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi
index 22a23f97ae..86b97437ea 100644
--- a/target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi
+++ b/target/linux/ath79/dts/qca9557_iodata_wn-ac-dgr.dtsi
@@ -18,7 +18,7 @@
bootargs = "console=ttyS0,115200n8";
};
- leds {
+ leds: leds {
compatible = "gpio-leds";
power: power {
@@ -27,11 +27,6 @@
default-state = "on";
};
- copy {
- label = "iodata:green:copy";
- gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
- };
-
eco {
label = "iodata:green:eco";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
@@ -55,11 +50,11 @@
};
};
- keys {
+ keys: keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
- button_eco {
+ eco {
label = "eco";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
linux,code = <BTN_1>;
@@ -74,13 +69,6 @@
debounce-interval = <60>;
};
- button_copy {
- label = "copy";
- gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
- linux,code = <BTN_1>;
- debounce-interval = <60>;
- };
-
wps {
label = "wps";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
@@ -190,7 +178,6 @@
wifi@0,0 {
compatible = "pci168c,003c";
reg = <0x0000 0 0 0 0>;
- qca,no-eeprom;
};
};
diff --git a/target/linux/ath79/dts/qca9557_iodata_wn-ac1167dgr.dts b/target/linux/ath79/dts/qca9557_iodata_wn-ac1167dgr.dts
index 7990d9cd57..c2fc7abcb3 100644
--- a/target/linux/ath79/dts/qca9557_iodata_wn-ac1167dgr.dts
+++ b/target/linux/ath79/dts/qca9557_iodata_wn-ac1167dgr.dts
@@ -10,3 +10,19 @@
compatible = "iodata,wn-ac1167dgr", "qca,qca9557";
model = "I-O DATA WN-AC1167DGR";
};
+
+&leds {
+ copy {
+ label = "iodata:green:copy";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&keys {
+ copy {
+ label = "copy";
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+ linux,code = <BTN_1>;
+ debounce-interval = <60>;
+ };
+};
diff --git a/target/linux/ath79/dts/qca9557_iodata_wn-ac1600dgr.dts b/target/linux/ath79/dts/qca9557_iodata_wn-ac1600dgr.dts
new file mode 100644
index 0000000000..ef47e1e41f
--- /dev/null
+++ b/target/linux/ath79/dts/qca9557_iodata_wn-ac1600dgr.dts
@@ -0,0 +1,28 @@
+// 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 "qca9557_iodata_wn-ac-dgr.dtsi"
+
+/ {
+ compatible = "iodata,wn-ac1600dgr", "qca,qca9557";
+ model = "I-O DATA WN-AC1600DGR";
+};
+
+&leds {
+ function {
+ label = "iodata:green:function";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&keys {
+ function {
+ label = "function";
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+ linux,code = <BTN_1>;
+ debounce-interval = <60>;
+ };
+};
diff --git a/target/linux/ath79/dts/qca9557_iodata_wn-ac1600dgr2.dts b/target/linux/ath79/dts/qca9557_iodata_wn-ac1600dgr2.dts
index 3eedec72e7..37ae8fe01f 100644
--- a/target/linux/ath79/dts/qca9557_iodata_wn-ac1600dgr2.dts
+++ b/target/linux/ath79/dts/qca9557_iodata_wn-ac1600dgr2.dts
@@ -10,3 +10,19 @@
compatible = "iodata,wn-ac1600dgr2", "qca,qca9557";
model = "I-O DATA WN-AC1600DGR2";
};
+
+&leds {
+ copy {
+ label = "iodata:green:copy";
+ gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&keys {
+ copy {
+ label = "copy";
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+ linux,code = <BTN_1>;
+ debounce-interval = <60>;
+ };
+};
diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk
index 94dfe3d4d7..889321867a 100644
--- a/target/linux/ath79/image/generic.mk
+++ b/target/linux/ath79/image/generic.mk
@@ -349,6 +349,18 @@ define Device/iodata_wn-ac1167dgr
endef
TARGET_DEVICES += iodata_wn-ac1167dgr
+define Device/iodata_wn-ac1600dgr
+ ATH_SOC := qca9557
+ DEVICE_TITLE := I-O DATA WN-AC1600DGR
+ IMAGE_SIZE := 14656k
+ IMAGES += factory.bin
+ IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
+ append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
+ senao-header -r 0x30a -p 0x60 -t 2 -v 200
+ DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
+endef
+TARGET_DEVICES += iodata_wn-ac1600dgr
+
define Device/iodata_wn-ac1600dgr2
ATH_SOC := qca9557
DEVICE_TITLE := I-O DATA WN-AC1600DGR2