ath79: add support for D-Link DIR-842 C3
authorPerry Melange <isprotejesvalkata@gmail.com>
Wed, 7 Aug 2019 17:25:13 +0000 (19:25 +0200)
committerDavid Bauer <mail@david-bauer.net>
Wed, 7 Aug 2019 19:17:40 +0000 (21:17 +0200)
Hardware spec of DIR-842 C3:
SoC: QCA9563
DRAM: 128MB DDR2
Flash: 16MB SPI-NOR
Switch: QCA8337N
WiFi 5.8GHz: QCA9888
WiFi 2.4Ghz: QCA9563
USB: circuit onboard, but components are not soldered

Flash instructions:

1. Upgrade the factory.bin through the factory web interface or
   the u-boot failsafe interface.
   The firmware will boot up correctly for the first time.
   Do not power off the device after OpenWrt has booted.
   Otherwise the u-boot will enter failsafe mode as the checksum
   of the firmware has been changed.
2. Upgrade the sysupgrade.bin in OpenWrt.
   After upgrading completes the u-boot won't complain about the
   firmware checksum and it's OK to use now.
3. If you powered off the device before upgrading the sysupgrade.bin,
   just upgrade the factory.bin through the u-boot failsafe interface
   and then goto step 2.

Signed-off-by: Perry Melange <isprotejesvalkata@gmail.com>
target/linux/ath79/base-files/etc/board.d/01_leds
target/linux/ath79/base-files/etc/board.d/02_network
target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
target/linux/ath79/dts/qca9563_dlink_dir-842-c3.dts [new file with mode: 0644]
target/linux/ath79/image/generic.mk

index 35cb74db287d01ac9f8e2ccedddf30571397867e..aad41b0dad1ad17f445cc40731f200fbefbe99d6 100755 (executable)
@@ -64,6 +64,7 @@ comfast,cf-e5)
        ;;
 dlink,dir-842-c1|\
 dlink,dir-842-c2|\
+dlink,dir-842-c3|\
 dlink,dir-859-a1)
        ucidef_set_led_switch "internet" "WAN" "$boardname:green:internet" "switch0" "0x20"
        ;;
index 9c6429984f509721e4d53333d6f3c7c64ab8e626..e3c1f423f1c918a2b73845ec515e7e7d8ab396b7 100755 (executable)
@@ -123,6 +123,7 @@ ath79_setup_interfaces()
        dlink,dir-835-a1|\
        dlink,dir-842-c1|\
        dlink,dir-842-c2|\
+        dlink,dir-842-c3|\
        dlink,dir-859-a1|\
        engenius,epg5000|\
        tplink,archer-c2-v3|\
@@ -316,6 +317,7 @@ ath79_setup_macs()
                ;;
        dlink,dir-842-c1|\
        dlink,dir-842-c2|\
+        dlink,dir-842-c3|\
        dlink,dir-859-a1|\
        nec,wg1200cr|\
        wd,mynet-n750)
index a7d482580bc36bb71d31ff29cfe38d92e918892f..62d53248bcbcfbbba41b830de068c7eedf27389d 100644 (file)
@@ -107,6 +107,7 @@ case "$FIRMWARE" in
                ;;
        dlink,dir-842-c1|\
        dlink,dir-842-c2|\
+        dlink,dir-842-c3|\
        dlink,dir-859-a1|\
        nec,wg1200cr|\
        wd,mynet-n750)
index f6e2b801cbe7dd1d91da9dba1544401fa3b7495c..501053e9d702d973da1720cfd39ce871d91b1c9a 100644 (file)
@@ -191,6 +191,7 @@ case "$FIRMWARE" in
        case $board in
        dlink,dir-842-c1|\
        dlink,dir-842-c2|\
+        dlink,dir-842-c3|\
        nec,wg1200cr)
                ath10kcal_extract "art" 20480 12064
                ath10kcal_patch_mac_crc $(mtd_get_mac_ascii devdata wlan5mac)
diff --git a/target/linux/ath79/dts/qca9563_dlink_dir-842-c3.dts b/target/linux/ath79/dts/qca9563_dlink_dir-842-c3.dts
new file mode 100644 (file)
index 0000000..2a15176
--- /dev/null
@@ -0,0 +1,41 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "qca9563_dlink_dir-842-c.dtsi"
+
+/ {
+       compatible = "dlink,dir-842-c3", "qca,qca9563";
+       model = "D-Link DIR-842 C3";
+
+       aliases {
+               led-boot = &power;
+               led-failsafe = &power;
+               led-running = &power;
+               led-upgrade = &power;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               wps {
+                       label = "dir-842-c3:green:wps";
+                       gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+               };
+
+               power: power {
+                       label = "dir-842-c3:green:power";
+                       gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+               };
+
+               internet {
+                       label = "dir-842-c3:green:internet";
+                       gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
+               };
+
+               wlan {
+                       label = "dir-842-c3:green:wlan";
+                       gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "phy0tpt";
+               };
+       };
+};
index 80095827788b3faa88b161376f8ad2f62f85918b..abaf1a3e07ea5c34f262fa387c06b8696f0e16a5 100644 (file)
@@ -399,6 +399,13 @@ define Device/dlink_dir-842-c2
 endef
 TARGET_DEVICES += dlink_dir-842-c2
 
+define Device/dlink_dir-842-c3
+       $(Device/dlink_dir-842-c)
+       DEVICE_VARIANT := C3
+       DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
+endef
+TARGET_DEVICES += dlink_dir-842-c3
+
 define Device/elecom_wrc-1750ghbk2-i
   ATH_SOC := qca9563
   DEVICE_VENDOR := ELECOM