From dbdd50750c0c105e8ccb856c79c8bea1013e4e5e Mon Sep 17 00:00:00 2001 From: Sebastian Schaper Date: Mon, 30 Nov 2020 20:09:29 +0100 Subject: [PATCH] ath79: add support for D-Link DAP-3320 A1 Specifications: * QCA9533, 16 MiB Flash, 64 MiB RAM, 802.11n 2T2R * 10/100 Ethernet Port, 802.11af PoE * IP55 pole-mountable outdoor case Installation: * Factory Web UI is at 192.168.0.50 login with 'admin' and blank password, flash factory.bin * Recovery Web UI is at 192.168.0.50 connect network cable, hold reset button during power-on and keep it pressed until uploading has started (only required when checksum is ok, e.g. for reverting back to oem firmware), flash factory.bin After flashing factory.bin, additional free space can be reclaimed by flashing sysupgrade.bin, since the factory image requires some padding to be accepted for upgrading via OEM Web UI. Signed-off-by: Sebastian Schaper --- .../ath79/dts/qca9533_dlink_dap-3320-a1.dts | 56 +++++++++++++++++++ .../generic/base-files/etc/board.d/02_network | 4 +- .../etc/hotplug.d/ieee80211/10_fix_wifi_mac | 3 +- .../etc/uci-defaults/09_fix-checksum | 3 +- target/linux/ath79/image/generic.mk | 11 ++++ 5 files changed, 74 insertions(+), 3 deletions(-) create mode 100644 target/linux/ath79/dts/qca9533_dlink_dap-3320-a1.dts diff --git a/target/linux/ath79/dts/qca9533_dlink_dap-3320-a1.dts b/target/linux/ath79/dts/qca9533_dlink_dap-3320-a1.dts new file mode 100644 index 0000000000..97f2f62b4a --- /dev/null +++ b/target/linux/ath79/dts/qca9533_dlink_dap-3320-a1.dts @@ -0,0 +1,56 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qca953x.dtsi" +#include "qca95xx_dlink_dap-2xxx.dtsi" + +/ { + compatible = "dlink,dap-3320-a1", "qca,qca9533"; + model = "D-Link DAP-3320 A1"; + + aliases { + led-boot = &led_power_green; + led-failsafe = &led_power_green; + led-running = &led_power_green; + led-upgrade = &led_power_green; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + linux,code = ; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_power_green: power_green { + label = "green:power"; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + }; +}; + +&partitions { + partition@70000 { + label = "firmware"; + reg = <0x70000 0xef0000>; + compatible = "wrg"; + }; + + partition@f60000 { + label = "dlink"; + reg = <0xf60000 0x90000>; + read-only; + }; + + art: partition@ff0000 { + label = "art"; + reg = <0xff0000 0x10000>; + read-only; + }; +}; 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 c900f80f97..4801936a84 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -29,6 +29,7 @@ ath79_setup_interfaces() dlink,dap-1365-a1|\ dlink,dap-2230-a1|\ dlink,dap-2680-a1|\ + dlink,dap-3320-a1|\ dlink,dir-505|\ engenius,eap300-v2|\ engenius,ecb1750|\ @@ -476,7 +477,8 @@ ath79_setup_macs() ;; dlink,dap-2230-a1|\ dlink,dap-2660-a1|\ - dlink,dap-2680-a1) + dlink,dap-2680-a1|\ + dlink,dap-3320-a1) lan_mac=$(mtd_get_mac_ascii bdcfg "lanmac") label_mac=$lan_mac ;; diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ath79/generic/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac index 8923a2cb11..5edc2e4a86 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac @@ -22,7 +22,8 @@ case "$board" in dlink,dch-g020-a1) mtd_get_mac_text "mp" 0x13 > /sys${DEVPATH}/macaddress ;; - dlink,dap-2230-a1) + dlink,dap-2230-a1|\ + dlink,dap-3320-a1) mtd_get_mac_ascii bdcfg "wlanmac" > /sys${DEVPATH}/macaddress ;; dlink,dap-2660-a1|\ diff --git a/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum b/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum index 0bbe321788..b522563f17 100644 --- a/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum +++ b/target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum @@ -16,7 +16,8 @@ case "$board" in dlink,dap-2230-a1|\ dlink,dap-2660-a1|\ dlink,dap-2680-a1|\ -dlink,dap-2695-a1) +dlink,dap-2695-a1|\ +dlink,dap-3320-a1) fixwrgg ;; qihoo,c301) diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 83dc983851..9631077e52 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -801,6 +801,17 @@ define Device/dlink_dap-2695-a1 endef TARGET_DEVICES += dlink_dap-2695-a1 +define Device/dlink_dap-3320-a1 + $(Device/dlink_dap-2xxx) + SOC := qca9533 + DEVICE_VENDOR := D-Link + DEVICE_MODEL := DAP-3320 + DEVICE_VARIANT := A1 + IMAGE_SIZE := 15296k + DAP_SIGNATURE := wapn29_dkbs_dap3320 +endef +TARGET_DEVICES += dlink_dap-3320-a1 + define Device/dlink_dch-g020-a1 SOC := qca9531 DEVICE_VENDOR := D-Link