diff --git a/package/boot/uboot-envtools/files/ath79 b/package/boot/uboot-envtools/files/ath79 index 588c7dee02..d9e504bf89 100644 --- a/package/boot/uboot-envtools/files/ath79 +++ b/package/boot/uboot-envtools/files/ath79 @@ -67,6 +67,7 @@ openmesh,om5p-ac-v1|\ openmesh,om5p-ac-v2|\ samsung,wam250|\ ubnt,nanostation-m|\ +watchguard,ap100|\ watchguard,ap200|\ watchguard,ap300|\ yuncore,a770|\ diff --git a/target/linux/ath79/dts/ar9344_watchguard_ap100.dts b/target/linux/ath79/dts/ar9344_watchguard_ap100.dts new file mode 100644 index 0000000000..d2ebe14979 --- /dev/null +++ b/target/linux/ath79/dts/ar9344_watchguard_ap100.dts @@ -0,0 +1,84 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "ar9344_senao_ap-dual.dtsi" + +/ { + compatible = "watchguard,ap100", "qca,ar9344"; + model = "WatchGuard AP100"; + + aliases { + led-boot = &led_power_amber; + led-failsafe = &led_power_amber; + led-running = &led_power_green; + led-upgrade = &led_power_amber; + }; + + leds { + compatible = "gpio-leds"; + + led_power_amber: power_amber { + label = "amber:power"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + }; + + led_power_green: power_green { + label = "green:power"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + + lan_data { + label = "orange:lan_data"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + }; + + lan_link { + label = "green:lan_link"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + + wifi_amber { + label = "amber:wifi"; + gpios = <&gpio 19 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy1tpt"; + }; + + wifi_green { + label = "green:wifi"; + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + }; +}; + +&ref { + clock-frequency = <25000000>; +}; + +ð0 { + nvmem-cells = <&macaddr_art_0>; + nvmem-cell-names = "mac-address"; + mac-address-increment = <(-2)>; +}; + +&pcie { + status = "disabled"; +}; + +&wmac { + /delete-property/ qca,disable-2ghz; + + nvmem-cells = <&macaddr_art_0>; + nvmem-cell-names = "mac-address"; + mac-address-increment = <(-2)>; +}; + +&art { + compatible = "nvmem-cells"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_art_0: macaddr@0 { + reg = <0x0 0x6>; + }; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds b/target/linux/ath79/generic/base-files/etc/board.d/01_leds index 57cd78989a..606a194f7e 100644 --- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds +++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds @@ -41,6 +41,7 @@ alfa-network,n5q) ucidef_set_led_rssi "signal4" "SIGNAL4" "green:signal4" "wlan0" "75" "100" ;; alfa-network,pi-wifi4|\ +watchguard,ap100|\ watchguard,ap200|\ watchguard,ap300) ucidef_set_led_netdev "lan_data" "LAN_DATA" "orange:lan_data" "eth0" "tx rx" diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index f5adf354a0..3b69c2bded 100644 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -110,6 +110,7 @@ ath79_setup_interfaces() ubnt,unifiac-lr|\ ubnt,unifiac-mesh|\ ubnt,unifi|\ + watchguard,ap100|\ watchguard,ap200|\ watchguard,ap300|\ wd,mynet-wifi-rangeextender|\ diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom index 532f084c86..9127aed36e 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom @@ -91,6 +91,7 @@ case "$FIRMWARE" in tplink,tl-wdr4310-v1|\ tplink,tl-wdr4900-v2|\ ubnt,unifi-ap-pro|\ + watchguard,ap100|\ watchguard,ap200|\ winchannel,wb2000) caldata_extract "art" 0x5000 0x440 diff --git a/target/linux/ath79/generic/base-files/lib/upgrade/platform.sh b/target/linux/ath79/generic/base-files/lib/upgrade/platform.sh index 104eaf302e..8aa7e90ab8 100644 --- a/target/linux/ath79/generic/base-files/lib/upgrade/platform.sh +++ b/target/linux/ath79/generic/base-files/lib/upgrade/platform.sh @@ -41,6 +41,7 @@ platform_do_upgrade() { engenius,ecb600|\ engenius,ens202ext-v1|\ engenius,enstationac-v1|\ + watchguard,ap100|\ watchguard,ap200|\ watchguard,ap300) IMAGE_LIST="tar tzf $1" diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 6d23ba4be6..1ba02fc0fc 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -2589,6 +2589,20 @@ define Device/wallys_dr531 endef TARGET_DEVICES += wallys_dr531 +define Device/watchguard_ap100 + $(Device/senao_loader_okli) + SOC := ar9344 + DEVICE_VENDOR := WatchGuard + DEVICE_MODEL := AP100 + IMAGE_SIZE := 12096k + LOADER_FLASH_OFFS := 0x220000 + SENAO_IMGNAME := senao-ap100 + WATCHGUARD_MAGIC := 82kdlzk2 + IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | \ + check-size | senao-tar-gz $$$$(SENAO_IMGNAME) | watchguard-cksum $$$$(WATCHGUARD_MAGIC) +endef +TARGET_DEVICES += watchguard_ap100 + define Device/watchguard_ap200 $(Device/senao_loader_okli) SOC := ar9344