aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/boot/uboot-envtools/files/ath791
-rw-r--r--target/linux/ath79/dts/qca9563_dlink_dir-859-a3.dts64
-rw-r--r--target/linux/ath79/dts/qca9563_dlink_dir-8x9-a1.dtsi4
-rw-r--r--target/linux/ath79/generic/base-files/etc/board.d/01_leds3
-rw-r--r--target/linux/ath79/generic/base-files/etc/board.d/02_network5
-rw-r--r--target/linux/ath79/generic/base-files/etc/uci-defaults/09_fix-checksum1
-rw-r--r--target/linux/ath79/image/generic.mk14
7 files changed, 88 insertions, 4 deletions
diff --git a/package/boot/uboot-envtools/files/ath79 b/package/boot/uboot-envtools/files/ath79
index 38fc663e70..7c30aa052a 100644
--- a/package/boot/uboot-envtools/files/ath79
+++ b/package/boot/uboot-envtools/files/ath79
@@ -28,6 +28,7 @@ arduino,yun|\
buffalo,bhr-4grv2|\
devolo,magic-2-wifi|\
dlink,dir-859-a1|\
+dlink,dir-859-a3|\
dlink,dir-869-a1|\
engenius,eap1200h|\
engenius,eap1750h|\
diff --git a/target/linux/ath79/dts/qca9563_dlink_dir-859-a3.dts b/target/linux/ath79/dts/qca9563_dlink_dir-859-a3.dts
new file mode 100644
index 0000000000..164e0802f9
--- /dev/null
+++ b/target/linux/ath79/dts/qca9563_dlink_dir-859-a3.dts
@@ -0,0 +1,64 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "qca9563_dlink_dir-8x9-a1.dtsi"
+
+#include <dt-bindings/leds/common.h>
+
+/ {
+ compatible = "dlink,dir-859-a3", "qca,qca9563";
+ model = "D-Link DIR-859 A3";
+
+ aliases {
+ label-mac-device = &wmac;
+ led-boot = &led_power;
+ led-failsafe = &led_power;
+ led-running = &led_power;
+ led-upgrade = &led_power;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_power: power {
+ label = "green:power";
+ color = <LED_COLOR_ID_GREEN>;
+ function = LED_FUNCTION_POWER;
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+ };
+
+ wan {
+ color = <LED_COLOR_ID_GREEN>;
+ function = LED_FUNCTION_WAN;
+ gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
+ };
+
+ wlan {
+ color = <LED_COLOR_ID_GREEN>;
+ function = LED_FUNCTION_WLAN;
+ gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy0tpt";
+ };
+
+ wps {
+ color = <LED_COLOR_ID_GREEN>;
+ function = LED_FUNCTION_WPS;
+ gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&ath10k {
+ nvmem-cells = <&calibration_ath10k>, <&macaddr_bdcfg_ethaddr 2>;
+ nvmem-cell-names = "calibration", "mac-address";
+};
+
+&bdcfg {
+ macaddr_bdcfg_ethaddr: ethaddr {
+ #nvmem-cell-cells = <1>;
+ };
+};
+
+&wmac {
+ nvmem-cells = <&calibration_ath9k>, <&macaddr_bdcfg_ethaddr 0>;
+ nvmem-cell-names = "calibration", "mac-address";
+};
diff --git a/target/linux/ath79/dts/qca9563_dlink_dir-8x9-a1.dtsi b/target/linux/ath79/dts/qca9563_dlink_dir-8x9-a1.dtsi
index 754fcd415d..3fd9790c4a 100644
--- a/target/linux/ath79/dts/qca9563_dlink_dir-8x9-a1.dtsi
+++ b/target/linux/ath79/dts/qca9563_dlink_dir-8x9-a1.dtsi
@@ -28,7 +28,7 @@
&pcie {
status = "okay";
- wifi@0,0 {
+ ath10k: wifi@0,0 {
compatible = "qcom,ath10k";
reg = <0x0000 0 0 0 0>;
@@ -56,7 +56,7 @@
read-only;
};
- partition@40000 {
+ bdcfg: partition@40000 {
compatible = "u-boot,env";
label = "bdcfg";
reg = <0x040000 0x010000>;
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 d3508049ba..2ee4ed2544 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
@@ -234,6 +234,9 @@ dlink,dap-1365-a1)
dlink,dir-859-a1)
ucidef_set_led_switch "internet" "WAN" "green:internet" "switch0" "0x20"
;;
+dlink,dir-859-a3)
+ ucidef_set_led_switch "wan" "WAN" "green:wan" "switch0" "0x20"
+ ;;
engenius,ens202ext-v1|\
engenius,enstationac-v1)
ucidef_set_rssimon "wlan0" "200000" "1"
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 487467cd59..4f535f8a64 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
@@ -291,6 +291,7 @@ ath79_setup_interfaces()
dlink,dir-842-c2|\
dlink,dir-842-c3|\
dlink,dir-859-a1|\
+ dlink,dir-859-a3|\
dlink,dir-869-a1|\
engenius,epg5000|\
engenius,esr1200|\
@@ -661,6 +662,10 @@ ath79_setup_macs()
lan_mac=$(mtd_get_mac_text "devdata" 0xc9)
wan_mac=$(mtd_get_mac_text "devdata" 0x79)
;;
+ dlink,dir-859-a3)
+ lan_mac=$(get_mac_label)
+ wan_mac=$(macaddr_add "$lan_mac" 3)
+ ;;
qihoo,c301|\
wd,mynet-n600|\
wd,mynet-n750)
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 ad3db95a0c..0ea81a8dc3 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
@@ -23,6 +23,7 @@ dlink,dap-3662-a1)
;;
dlink,dir-629-a1|\
dlink,dir-859-a1|\
+dlink,dir-859-a3|\
dlink,dir-869-a1|\
qihoo,c301)
fix_seama_header
diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk
index f8969a919c..788520120d 100644
--- a/target/linux/ath79/image/generic.mk
+++ b/target/linux/ath79/image/generic.mk
@@ -1143,18 +1143,28 @@ define Device/dlink_dir-842-c3
endef
TARGET_DEVICES += dlink_dir-842-c3
-define Device/dlink_dir-859-a1
+define Device/dlink_dir-859-ax
$(Device/seama)
SOC := qca9563
DEVICE_VENDOR := D-Link
DEVICE_MODEL := DIR-859
- DEVICE_VARIANT := A1
IMAGE_SIZE := 15872k
DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
SEAMA_SIGNATURE := wrgac37_dlink.2013gui_dir859
endef
+
+define Device/dlink_dir-859-a1
+ $(Device/dlink_dir-859-ax)
+ DEVICE_VARIANT := A1
+endef
TARGET_DEVICES += dlink_dir-859-a1
+define Device/dlink_dir-859-a3
+ $(Device/dlink_dir-859-ax)
+ DEVICE_VARIANT := A3
+endef
+TARGET_DEVICES += dlink_dir-859-a3
+
define Device/dlink_dir-869-a1
$(Device/seama)
SOC := qca9563