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 = ; @@ -74,13 +69,6 @@ debounce-interval = <60>; }; - button_copy { - label = "copy"; - gpios = <&gpio 15 GPIO_ACTIVE_LOW>; - linux,code = ; - 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 = ; + 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 +#include + +#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 = ; + 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 = ; + 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