ramips: add support for D-Link DIR-2660 A1
authorJosh Bendavid <joshbendavid@gmail.com>
Tue, 14 Jul 2020 15:39:21 +0000 (17:39 +0200)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Sun, 6 Sep 2020 17:09:45 +0000 (19:09 +0200)
This patch adds support for D-Link DIR-2660 A1.

Specifications:
* Board: AP-MTKH7-0002
* SoC: MediaTek MT7621AT
* RAM: 256 MB (DDR3)
* Flash: 128 MB (NAND)
* WiFi: MediaTek MT7615N (x2)
* Switch: 1 WAN, 4 LAN (Gigabit)
* Ports: 1 USB 2.0, 1 USB 3.0
* Buttons: Reset, WPS
* LEDs: Power (white/orange), Internet (white/orange), WiFi 2.4G (white),
        WiFi 5G (white), USB 3.0 (white), USB 2.0 (white)

Notes:
* WiFi 2.4G and WiFi 5G LEDs are wired directly to the wireless chips

Installation:
* D-Link Recovery GUI: power down the router, press and hold the reset
  button, then re-plug it. Keep the reset button pressed until the power
  LED starts flashing orange, manually assign a static IP address under
  the 192.168.0.xxx subnet (e.g. 192.168.0.2) and go to http://192.168.0.1

* Some modern browsers may have problems flashing via the Recovery GUI,
  if that occurs consider uploading the firmware through cURL:

    curl -v -i -F "firmware=@file.bin" 192.168.0.1

MAC addresses:

lan   factory 0xe000     *:a7 (label)
wan   factory 0xe006     *:aa
2.4   factory 0xe000 +1  *:a8
5.0   factory 0xe000 +2  *:a9

Seems like vendor didn't replace the dummy entries in the calibration data.

Signed-off-by: Josh Bendavid <joshbendavid@gmail.com>
[rebase onto already merged DIR-1960 A1, add MAC addresses to commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
target/linux/ramips/dts/mt7621_dlink_dir-2660-a1.dts [new file with mode: 0644]
target/linux/ramips/image/mt7621.mk
target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh

diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-2660-a1.dts b/target/linux/ramips/dts/mt7621_dlink_dir-2660-a1.dts
new file mode 100644 (file)
index 0000000..d15529b
--- /dev/null
@@ -0,0 +1,64 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "mt7621_dlink_dir-xx60-a1.dtsi"
+
+/ {
+       compatible = "dlink,dir-2660-a1", "mediatek,mt7621-soc";
+       model = "D-Link DIR-2660 A1";
+
+       aliases {
+               led-boot = &led_power_orange;
+               led-failsafe = &led_power_white;
+               led-running = &led_power_white;
+               led-upgrade = &led_net_orange;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               led_power_orange: power_orange {
+                       label = "dir-2660-a1:orange:power";
+                       gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+               };
+
+               led_power_white: power_white {
+                       label = "dir-2660-a1:white:power";
+                       gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
+               };
+
+               led_net_orange: net_orange {
+                       label = "dir-2660-a1:orange:net";
+                       gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
+               };
+
+               net_white {
+                       label = "dir-2660-a1:white:net";
+                       gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
+               };
+
+               usb2_white {
+                       label = "dir-2660-a1:white:usb2";
+                       gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+                       trigger-sources = <&ehci_port2>;
+                       linux,default-trigger = "usbport";
+               };
+
+               usb3_white {
+                       label = "dir-2660-a1:white:usb3";
+                       gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+                       trigger-sources = <&xhci_ehci_port1>;
+                       linux,default-trigger = "usbport";
+               };
+       };
+};
+
+&wifi0 {
+       mtd-mac-address = <&factory 0xe000>;
+       mtd-mac-address-increment = <1>;
+};
+
+&wifi1 {
+       mtd-mac-address = <&factory 0xe000>;
+       mtd-mac-address-increment = <2>;
+};
index d2d41be2699b7864af899c4140e94f8362397ef3..e43b19ca94f09a1d39a1006742789bf30476789c 100644 (file)
@@ -275,6 +275,13 @@ define Device/dlink_dir-1960-a1
 endef
 TARGET_DEVICES += dlink_dir-1960-a1
 
+define Device/dlink_dir-2660-a1
+  $(Device/dlink_dir-xx60-a1)
+  DEVICE_MODEL := DIR-2660
+  DEVICE_VARIANT := A1
+endef
+TARGET_DEVICES += dlink_dir-2660-a1
+
 define Device/dlink_dir-860l-b1
   $(Device/dsa-migration)
   $(Device/seama)
index 8708de33c111ee3c4c28ecb9ad18bc7e18848089..c5cd446809347b9d1f6181d5c8c503b4933d62ae 100755 (executable)
@@ -26,7 +26,8 @@ d-team,pbr-m1|\
 gehua,ghl-r-001)
        ucidef_set_led_netdev "internet" "internet" "$boardname:blue:internet" "wan"
        ;;
-dlink,dir-1960-a1)
+dlink,dir-1960-a1|\
+dlink,dir-2660-a1)
        ucidef_set_led_netdev "wan" "wan" "$boardname:white:net" "wan"
        ;;
 dlink,dir-860l-b1|\
index 90749f589b93b154ecfc10a7dfd13a1532a49cca..b1feea7ae60ebf8b9cd81b83a53c85bd0e4a2a40 100755 (executable)
@@ -46,6 +46,7 @@ platform_do_upgrade() {
        asus,rt-ac65p|\
        asus,rt-ac85p|\
        dlink,dir-1960-a1|\
+       dlink,dir-2660-a1|\
        hiwifi,hc5962|\
        linksys,ea7300-v1|\
        linksys,ea7500-v2|\