From b5dd746cbb1aaf91f4b68e9f3eda97413550d904 Mon Sep 17 00:00:00 2001 From: Josh Bendavid Date: Tue, 14 Jul 2020 17:39:21 +0200 Subject: [PATCH] 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 [rebase onto already merged DIR-1960 A1, add MAC addresses to commit message] Signed-off-by: Adrian Schmutzler --- .../ramips/dts/mt7621_dlink_dir-2660-a1.dts | 64 +++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 7 ++ .../mt7621/base-files/etc/board.d/01_leds | 3 +- .../mt7621/base-files/lib/upgrade/platform.sh | 1 + 4 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 target/linux/ramips/dts/mt7621_dlink_dir-2660-a1.dts 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 index 000000000000..d15529b0c4a2 --- /dev/null +++ b/target/linux/ramips/dts/mt7621_dlink_dir-2660-a1.dts @@ -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>; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index d2d41be2699b..e43b19ca94f0 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -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) diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds index 8708de33c111..c5cd44680934 100755 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds @@ -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|\ diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh index 90749f589b93..b1feea7ae60e 100755 --- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh @@ -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|\ -- 2.30.2