ramips: add support for D-Link DIR-2660 A1

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>
This commit is contained in:
Josh Bendavid 2020-07-14 17:39:21 +02:00 committed by Adrian Schmutzler
parent ba72ed537c
commit b5dd746cbb
4 changed files with 74 additions and 1 deletions

View File

@ -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>;
};

View File

@ -275,6 +275,13 @@ define Device/dlink_dir-1960-a1
endef endef
TARGET_DEVICES += dlink_dir-1960-a1 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 define Device/dlink_dir-860l-b1
$(Device/dsa-migration) $(Device/dsa-migration)
$(Device/seama) $(Device/seama)

View File

@ -26,7 +26,8 @@ d-team,pbr-m1|\
gehua,ghl-r-001) gehua,ghl-r-001)
ucidef_set_led_netdev "internet" "internet" "$boardname:blue:internet" "wan" 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" ucidef_set_led_netdev "wan" "wan" "$boardname:white:net" "wan"
;; ;;
dlink,dir-860l-b1|\ dlink,dir-860l-b1|\

View File

@ -46,6 +46,7 @@ platform_do_upgrade() {
asus,rt-ac65p|\ asus,rt-ac65p|\
asus,rt-ac85p|\ asus,rt-ac85p|\
dlink,dir-1960-a1|\ dlink,dir-1960-a1|\
dlink,dir-2660-a1|\
hiwifi,hc5962|\ hiwifi,hc5962|\
linksys,ea7300-v1|\ linksys,ea7300-v1|\
linksys,ea7500-v2|\ linksys,ea7500-v2|\