summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/ramips/dts/mt7621_dlink_dir-3040-a1.dts67
-rw-r--r--target/linux/ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi2
-rw-r--r--target/linux/ramips/image/mt7621.mk7
-rw-r--r--target/linux/ramips/mt7621/base-files/etc/board.d/01_leds1
-rw-r--r--target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac5
-rwxr-xr-xtarget/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh1
6 files changed, 82 insertions, 1 deletions
diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-3040-a1.dts b/target/linux/ramips/dts/mt7621_dlink_dir-3040-a1.dts
new file mode 100644
index 0000000000..4bb35a948d
--- /dev/null
+++ b/target/linux/ramips/dts/mt7621_dlink_dir-3040-a1.dts
@@ -0,0 +1,67 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7621_dlink_dir-xx60-a1.dtsi"
+
+/ {
+ compatible = "dlink,dir-3040-a1", "mediatek,mt7621-soc";
+ model = "D-Link DIR-3040 A1";
+};
+
+&wps {
+ gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+};
+
+&leds {
+ usb2_white {
+ function = LED_FUNCTION_USB;
+ color = <LED_COLOR_ID_WHITE>;
+ function-enumerator = <0>;
+ gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+ trigger-sources = <&ehci_port2>;
+ linux,default-trigger = "usbport";
+ };
+
+ usb3_white {
+ function = LED_FUNCTION_USB;
+ color = <LED_COLOR_ID_WHITE>;
+ function-enumerator = <1>;
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ trigger-sources = <&xhci_ehci_port1>;
+ linux,default-trigger = "usbport";
+ };
+
+ wlan2g {
+ function = LED_FUNCTION_WLAN_2GHZ;
+ color = <LED_COLOR_ID_WHITE>;
+ gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "phy0radio";
+ };
+
+ wlan5glb {
+ function = LED_FUNCTION_WLAN_5GHZ;
+ color = <LED_COLOR_ID_WHITE>;
+ function-enumerator = <0>;
+ gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "phy1radio";
+ };
+
+ wlan5ghb {
+ function = LED_FUNCTION_WLAN_5GHZ;
+ color = <LED_COLOR_ID_WHITE>;
+ function-enumerator = <1>;
+ gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "phy2radio";
+ };
+};
+
+&wifi0 {
+ nvmem-cells = <&eeprom_factory_0>, <&macaddr_factory_e000 1>;
+ nvmem-cell-names = "eeprom", "mac-address";
+ ieee80211-freq-limit;
+ /delete-property/ ieee80211-freq-limit;
+};
+
+&wifi1 {
+ nvmem-cells = <&eeprom_factory_8000>, <&macaddr_factory_e000 3>;
+ nvmem-cell-names = "eeprom", "mac-address";
+};
diff --git a/target/linux/ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi b/target/linux/ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi
index 7b7228b8c3..57652fb278 100644
--- a/target/linux/ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi
+++ b/target/linux/ramips/dts/mt7621_dlink_dir-xx60-a1.dtsi
@@ -24,7 +24,7 @@
linux,code = <KEY_RESTART>;
};
- wps {
+ wps: wps {
label = "wps";
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index fb8cfce589..10e7857614 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -783,6 +783,13 @@ define Device/dlink_dir-2660-a1
endef
TARGET_DEVICES += dlink_dir-2660-a1
+define Device/dlink_dir-3040-a1
+ $(Device/dlink_dir-xx60-a1)
+ DEVICE_MODEL := DIR-3040
+ DEVICE_VARIANT := A1
+endef
+TARGET_DEVICES += dlink_dir-3040-a1
+
define Device/dlink_dir-3060-a1
$(Device/dlink_dir-xx60-a1)
DEVICE_MODEL := DIR-3060
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 3eba20bb79..6848bebd00 100644
--- a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
@@ -96,6 +96,7 @@ dlink,dir-2640-a1|\
dlink,dir-2660-a1)
ucidef_set_led_netdev "wan" "wan" "white:net" "wan"
;;
+dlink,dir-3040-a1|\
dlink,dir-3060-a1)
ucidef_set_led_netdev "net_white" "WAN Link" "white:net" "wan" "link"
ucidef_set_led_netdev "net_orange" "WAN Activity" "orange:net" "wan" "tx rx"
diff --git a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
index 962e1f7019..0ec46bb0ea 100644
--- a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
+++ b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
@@ -60,6 +60,11 @@ case "$board" in
[ "$PHYNBR" = "1" ] && \
macaddr_add $hw_mac_addr 4 > /sys${DEVPATH}/macaddress
;;
+ dlink,dir-3040-a1)
+ lan_mac_addr="$(mtd_get_mac_binary factory 0xe000)"
+ [ "$PHYNBR" = "0" ] && \
+ macaddr_add $lan_mac_addr 2 > /sys${DEVPATH}/macaddress
+ ;;
dlink,dir-853-a3)
[ "$PHYNBR" = "0" ] && \
macaddr_setbit_la "$(mtd_get_mac_binary factory 0xe000)" \
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 eba02e6599..93fbc470ad 100755
--- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh
@@ -73,6 +73,7 @@ platform_do_upgrade() {
dlink,dir-1960-a1|\
dlink,dir-2640-a1|\
dlink,dir-2660-a1|\
+ dlink,dir-3040-a1|\
dlink,dir-3060-a1|\
dlink,dir-853-a3|\
etisalat,s3|\