diff options
Diffstat (limited to 'target/linux/ath79')
6 files changed, 87 insertions, 4 deletions
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 |