[openwrt/openwrt] ath79: add support for D-Link DAP-2680 A1

LEDE Commits lede-commits at lists.infradead.org
Sun Jan 3 19:22:56 EST 2021


adrian pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/5b58710fad2137eedad874f0fe8fe22082d1edc6

commit 5b58710fad2137eedad874f0fe8fe22082d1edc6
Author: Sebastian Schaper <openwrt at sebastianschaper.net>
AuthorDate: Wed Dec 2 21:31:19 2020 +0100

    ath79: add support for D-Link DAP-2680 A1
    
    Specifications:
     * QCA9558, 16 MiB Flash, 256 MiB RAM, 802.11n 3T3R
     * QCA9984, 802.11ac Wave 2 3T3R
     * Gigabit LAN Port (AR8035), 802.11at 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 <openwrt at sebastianschaper.net>
---
 .../linux/ath79/dts/qca9558_dlink_dap-2680-a1.dts  | 89 ++++++++++++++++++++++
 .../generic/base-files/etc/board.d/02_network      |  4 +-
 .../etc/hotplug.d/firmware/11-ath10k-caldata       |  6 ++
 .../etc/hotplug.d/ieee80211/10_fix_wifi_mac        |  3 +-
 .../base-files/etc/uci-defaults/09_fix-checksum    |  1 +
 target/linux/ath79/image/generic.mk                | 12 +++
 6 files changed, 113 insertions(+), 2 deletions(-)

diff --git a/target/linux/ath79/dts/qca9558_dlink_dap-2680-a1.dts b/target/linux/ath79/dts/qca9558_dlink_dap-2680-a1.dts
new file mode 100644
index 0000000000..c3c82937a8
--- /dev/null
+++ b/target/linux/ath79/dts/qca9558_dlink_dap-2680-a1.dts
@@ -0,0 +1,89 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "qca955x.dtsi"
+#include "qca95xx_dlink_dap-2xxx.dtsi"
+
+/ {
+	compatible = "dlink,dap-2680-a1", "qca,qca9558";
+	model = "D-Link DAP-2680 A1";
+
+	aliases {
+		led-boot = &led_power_green;
+		led-failsafe = &led_power_red;
+		led-running = &led_power_green;
+		led-upgrade = &led_power_red;
+	};
+
+	keys {
+		compatible = "gpio-keys";
+
+		reset {
+			label = "reset";
+			linux,code = <KEY_RESTART>;
+			gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led_power_red: power_red {
+			label = "red:power";
+			gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+		};
+
+		led_power_green: power_green {
+			label = "green:power";
+			gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
+			default-state = "on";
+		};
+	};
+};
+
+&partitions {
+	partition at 70000 {
+		label = "firmware";
+		reg = <0x70000 0xee0000>;
+		compatible = "wrg";
+	};
+
+	partition at f50000 {
+		label = "dlink";
+		reg = <0xf50000 0xa0000>;
+		read-only;
+	};
+
+	art: partition at ff0000 {
+		label = "art";
+		reg = <0xff0000 0x10000>;
+		read-only;
+	};
+};
+
+&mdio0 {
+	status = "okay";
+
+	phy4: ethernet-phy at 4 {
+		reg = <4>;
+	};
+};
+
+&eth0 {
+	status = "okay";
+
+	pll-data = <0x82000000 0x80000101 0x80001313>;
+
+	phy-handle = <&phy4>;
+	phy-mode = "rgmii-id";
+
+	gmac-config {
+		device = <&gmac>;
+		rgmii-enabled = <1>;
+		rxd-delay = <3>;
+		rxdv-delay = <3>;
+	};
+};
+
+&pcie0 {
+	status = "okay";
+};
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 86c9a0b8d6..23b824d7e3 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
@@ -28,6 +28,7 @@ ath79_setup_interfaces()
 	dlink,dap-1330-a1|\
 	dlink,dap-1365-a1|\
 	dlink,dap-2230-a1|\
+	dlink,dap-2680-a1|\
 	dlink,dir-505|\
 	engenius,eap300-v2|\
 	engenius,eap350-v1|\
@@ -483,7 +484,8 @@ ath79_setup_macs()
 		label_mac=$lan_mac
 		;;
 	dlink,dap-2230-a1|\
-	dlink,dap-2660-a1)
+	dlink,dap-2660-a1|\
+	dlink,dap-2680-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/firmware/11-ath10k-caldata b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
index 3ab01afcf3..295bc1b180 100644
--- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -174,6 +174,12 @@ case "$FIRMWARE" in
 			/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
 		rm /lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin
 		;;
+	dlink,dap-2680-a1)
+		caldata_extract "art" 0x5000 0x2f20
+		ath10k_patch_mac $(mtd_get_mac_ascii bdcfg wlanmac_a)
+		ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
+			/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
+		;;
 	dlink,dir-842-c1|\
 	dlink,dir-842-c2|\
 	dlink,dir-842-c3)
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 c3dc2a8b5b..8923a2cb11 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
@@ -25,7 +25,8 @@ case "$board" in
 	dlink,dap-2230-a1)
 		mtd_get_mac_ascii bdcfg "wlanmac" > /sys${DEVPATH}/macaddress
 		;;
-	dlink,dap-2660-a1)
+	dlink,dap-2660-a1|\
+	dlink,dap-2680-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 9b98213022..0bbe321788 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
@@ -15,6 +15,7 @@ board=$(board_name)
 case "$board" in
 dlink,dap-2230-a1|\
 dlink,dap-2660-a1|\
+dlink,dap-2680-a1|\
 dlink,dap-2695-a1)
 	fixwrgg
 	;;
diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk
index 080c6a1603..26ab0fcb34 100644
--- a/target/linux/ath79/image/generic.mk
+++ b/target/linux/ath79/image/generic.mk
@@ -772,6 +772,18 @@ define Device/dlink_dap-2660-a1
 endef
 TARGET_DEVICES += dlink_dap-2660-a1
 
+define Device/dlink_dap-2680-a1
+  $(Device/dlink_dap-2xxx)
+  SOC := qca9558
+  DEVICE_VENDOR := D-Link
+  DEVICE_MODEL := DAP-2680
+  DEVICE_VARIANT := A1
+  DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct kmod-ath10k-ct
+  IMAGE_SIZE := 15232k
+  DAP_SIGNATURE := wapac36_dkbs_dap2680
+endef
+TARGET_DEVICES += dlink_dap-2680-a1
+
 define Device/dlink_dap-2695-a1
   SOC := qca9558
   DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct



More information about the lede-commits mailing list