From de768829a5c6cd1c7889ba25c50db07827cfc96c Mon Sep 17 00:00:00 2001 From: James McGuire Date: Wed, 4 Nov 2020 21:13:19 -0800 Subject: [PATCH] ramips: add support for D-Link DIR-2640 A1 This patch adds support for D-Link DIR-2640 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 (blue/orange), Internet (blue/orange), WiFi 2.4G (blue), WiFi 5G (blue), USB 3.0 (blue), USB 2.0 (blue) 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: James McGuire [fix device definition title] Signed-off-by: Adrian Schmutzler --- .../ramips/dts/mt7621_dlink_dir-2640-a1.dts | 34 +++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 7 ++++ .../mt7621/base-files/etc/board.d/01_leds | 1 + .../mt7621/base-files/lib/upgrade/platform.sh | 1 + 4 files changed, 43 insertions(+) create mode 100644 target/linux/ramips/dts/mt7621_dlink_dir-2640-a1.dts diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-2640-a1.dts b/target/linux/ramips/dts/mt7621_dlink_dir-2640-a1.dts new file mode 100644 index 000000000000..323a7906000d --- /dev/null +++ b/target/linux/ramips/dts/mt7621_dlink_dir-2640-a1.dts @@ -0,0 +1,34 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621_dlink_dir-xx60-a1.dtsi" + +/ { + compatible = "dlink,dir-2640-a1", "mediatek,mt7621-soc"; + model = "D-Link DIR-2640 A1"; +}; + +&leds { + usb2_white { + label = "white:usb2"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + trigger-sources = <&ehci_port2>; + linux,default-trigger = "usbport"; + }; + + usb3_white { + label = "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 bb7e5a0d4845..7e5266a2943a 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -274,6 +274,13 @@ define Device/dlink_dir-1960-a1 endef TARGET_DEVICES += dlink_dir-1960-a1 +define Device/dlink_dir-2640-a1 + $(Device/dlink_dir-xx60-a1) + DEVICE_MODEL := DIR-2640 + DEVICE_VARIANT := A1 +endef +TARGET_DEVICES += dlink_dir-2640-a1 + define Device/dlink_dir-2660-a1 $(Device/dlink_dir-xx60-a1) DEVICE_MODEL := DIR-2660 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 a492132c79b0..3dd2a218b9a5 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 @@ -19,6 +19,7 @@ xzwifi,creativebox-v1) ucidef_set_led_netdev "internet" "internet" "blue:internet" "wan" ;; dlink,dir-1960-a1|\ +dlink,dir-2640-a1|\ dlink,dir-2660-a1) ucidef_set_led_netdev "wan" "wan" "white:net" "wan" ;; 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 442e78df3ca0..b4d07f8146c3 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-2640-a1|\ dlink,dir-2660-a1|\ hiwifi,hc5962|\ linksys,ea7300-v1|\ -- 2.30.2