From b077accb9c79f215d4da5f44474e72aec07e16dc Mon Sep 17 00:00:00 2001 From: Sebastian Schaper Date: Wed, 17 Jun 2020 00:11:37 +0200 Subject: [PATCH] ath79: add support for D-Link DAP-2230 A1 Specifications: * QCA9533, 16 MiB Flash, 64 MiB RAM, 802.11n 2T2R * 10/100 Ethernet Port, 802.11af PoE 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-2230-a1.dts | 56 +++++++++++++++++++ .../generic/base-files/etc/board.d/02_network | 2 + .../etc/hotplug.d/ieee80211/10_fix_wifi_mac | 3 + .../etc/uci-defaults/09_fix-checksum | 1 + target/linux/ath79/image/generic.mk | 11 ++++ 5 files changed, 73 insertions(+) create mode 100644 target/linux/ath79/dts/qca9533_dlink_dap-2230-a1.dts diff --git a/target/linux/ath79/dts/qca9533_dlink_dap-2230-a1.dts b/target/linux/ath79/dts/qca9533_dlink_dap-2230-a1.dts new file mode 100644 index 0000000000..61b6453842 --- /dev/null +++ b/target/linux/ath79/dts/qca9533_dlink_dap-2230-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-2230-a1", "qca,qca9533"; + model = "D-Link DAP-2230 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 17 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 0xee0000>; + compatible = "wrg"; + }; + + partition@f50000 { + label = "dlink"; + reg = <0xf50000 0xa0000>; + 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 f78fdeea9c..86c9a0b8d6 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 @@ -27,6 +27,7 @@ ath79_setup_interfaces() devolo,dvl1750x|\ dlink,dap-1330-a1|\ dlink,dap-1365-a1|\ + dlink,dap-2230-a1|\ dlink,dir-505|\ engenius,eap300-v2|\ engenius,eap350-v1|\ @@ -481,6 +482,7 @@ ath79_setup_macs() lan_mac=$(mtd_get_mac_text "mp" 0x1) label_mac=$lan_mac ;; + dlink,dap-2230-a1|\ dlink,dap-2660-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 f382e255f1..c3dc2a8b5b 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,6 +22,9 @@ case "$board" in dlink,dch-g020-a1) mtd_get_mac_text "mp" 0x13 > /sys${DEVPATH}/macaddress ;; + dlink,dap-2230-a1) + mtd_get_mac_ascii bdcfg "wlanmac" > /sys${DEVPATH}/macaddress + ;; dlink,dap-2660-a1) [ "$PHYNBR" -eq 1 ] && \ mtd_get_mac_ascii bdcfg "wlanmac" > /sys${DEVPATH}/macaddress 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 9a2cca79a1..9b98213022 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 @@ -13,6 +13,7 @@ fixwrgg() { board=$(board_name) case "$board" in +dlink,dap-2230-a1|\ dlink,dap-2660-a1|\ dlink,dap-2695-a1) fixwrgg diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index ded8e29c2c..080c6a1603 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -749,6 +749,17 @@ define Device/dlink_dap-2xxx KERNEL_INITRAMFS := $$(KERNEL) | mkwrggimg endef +define Device/dlink_dap-2230-a1 + $(Device/dlink_dap-2xxx) + SOC := qca9533 + DEVICE_VENDOR := D-Link + DEVICE_MODEL := DAP-2230 + DEVICE_VARIANT := A1 + IMAGE_SIZE := 15232k + DAP_SIGNATURE := wapn31_dkbs_dap2230 +endef +TARGET_DEVICES += dlink_dap-2230-a1 + define Device/dlink_dap-2660-a1 $(Device/dlink_dap-2xxx) SOC := qca9557 -- 2.30.2