Explorar el Código

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 <[email protected]>
Sebastian Schaper hace 5 años
padre
commit
5b58710fad

+ 89 - 0
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@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;
+	};
+};
+
+&mdio0 {
+	status = "okay";
+
+	phy4: ethernet-phy@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";
+};

+ 3 - 1
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
 		;;

+ 6 - 0
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)

+ 2 - 1
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
 		;;

+ 1 - 0
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
 	;;

+ 12 - 0
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