aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorZhijun You <hujy652@gmail.com>2020-05-14 19:37:40 +0800
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-05-17 18:40:56 +0200
commit46674723e1a44785b7638a7a1069139312c08bc2 (patch)
treea6e20984ce84afea1a1eb4aa82d3c8d0374d5b25 /target/linux
parent685cc66c2ab46f4b95c5f46a35700678c029a7a3 (diff)
downloadupstream-46674723e1a44785b7638a7a1069139312c08bc2.tar.gz
upstream-46674723e1a44785b7638a7a1069139312c08bc2.tar.bz2
upstream-46674723e1a44785b7638a7a1069139312c08bc2.zip
ramips: add support for ASUS RT-AC54U
Specification: - CPU: MTK MT7620A - RAM: 64MB - ROM: 16MB SPI Flash Macronix MX25L12835E - WiFi1: MediaTek MT7620A - WiFi2: MediaTek MT7612E - Button: reset, wps - LED: 9 LEDs:Power, WiFi 2.4G,WiFi 5G, USB, LAN1, LAN2, LAN3, LAN4, WAN - Ethernet: 5 ports, 4 LAN + 1 WAN - Other: 1x UART 1x USB2.0 Installation: Update using ASUS Firmware Restoration Tool: 1. Download the ASUS Firmware Restoration Tool but don't open it yet 2. Unplug your computer from the router 3. Put the router into Rescue Mode by: turning the power off, using a pin to press and hold the reset button, then turning the router back on while keeping the reset button pressed for ~5 secs until the power LED starts flashing slowly (which indicates the router has entered Rescue Mode) 4. Important (if you don't do this next step the Asus Firmware Restoration Tool will wrongly assume that the router is not in Rescue Mode and will refuse to flash it): go to the Windows Control Panel and temporarily disable ALL other network adapters except the one you will use to connect your computer to the router 5. For the single adapter you left enabled, temporarily give it the static IP 192.168.1.10 and the subnet mask 255.255.255.0 6. Connect a LAN cable between your computer (make sure to use the Ethernet port of the adapter you've just set up) and port 1 of the router (not the router's WAN port) 7. Rename sysupgrade.bin to factory.trx 8. Open the Asus Firmware Restoration Tool, locate factory.trx and click upload (if Windows shows a compatibility prompt, confirm that the tool worked fine) 9. Flashing and reboot is finished when the power LED stops blinking and stays on MAC assignment based on vendor firmware: 2g 0x4 label 5g 0x8004 label +4 lan 0x22 label +4 wan 0x28 label Signed-off-by: Zhijun You <hujy652@gmail.com> [rebased due to DTSI patch, minor commit message adjustments, fix label MAC address (lan->wan), do spi frequency increase separately] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/ramips/dts/mt7620a_asus_rt-ac54u.dts61
-rw-r--r--target/linux/ramips/image/mt7620.mk10
-rwxr-xr-xtarget/linux/ramips/mt7620/base-files/etc/board.d/02_network7
3 files changed, 77 insertions, 1 deletions
diff --git a/target/linux/ramips/dts/mt7620a_asus_rt-ac54u.dts b/target/linux/ramips/dts/mt7620a_asus_rt-ac54u.dts
new file mode 100644
index 0000000000..09e9b780de
--- /dev/null
+++ b/target/linux/ramips/dts/mt7620a_asus_rt-ac54u.dts
@@ -0,0 +1,61 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "mt7620a_asus_rt-ac5x.dtsi"
+
+/ {
+ compatible = "asus,rt-ac54u", "ralink,mt7620a-soc";
+ model = "Asus RT-AC54U";
+
+ aliases {
+ led-boot = &led_power;
+ led-failsafe = &led_power;
+ led-running = &led_power;
+ led-upgrade = &led_power;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_power: power {
+ label = "rt-ac54u:blue:power";
+ gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
+ };
+
+ usb {
+ label = "rt-ac54u:blue:usb";
+ gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
+ trigger-sources = <&ohci_port1>, <&ehci_port1>;
+ linux,default-trigger = "usbport";
+ };
+
+ wifi2g {
+ label = "rt-ac54u:blue:wifi2g";
+ gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "phy1tpt";
+ };
+ };
+};
+
+&ethernet {
+ mtd-mac-address = <&factory 0x22>;
+};
+
+&state_default {
+ gpio {
+ groups = "i2c", "wled", "uartf";
+ function = "gpio";
+ };
+};
+
+&pcie0 {
+ wifi@0,0 {
+ reg = <0x0000 0 0 0 0>;
+ mediatek,mtd-eeprom = <&factory 0x8000>;
+ ieee80211-freq-limit = <5000000 6000000>;
+
+ led {
+ led-sources = <2>;
+ };
+ };
+};
diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk
index 4f5341f06e..4fa8c68a88 100644
--- a/target/linux/ramips/image/mt7620.mk
+++ b/target/linux/ramips/image/mt7620.mk
@@ -86,6 +86,16 @@ define Device/asus_rt-ac51u
endef
TARGET_DEVICES += asus_rt-ac51u
+define Device/asus_rt-ac54u
+ SOC := mt7620a
+ IMAGE_SIZE := 16064k
+ DEVICE_VENDOR := Asus
+ DEVICE_MODEL := RT-AC54U
+ DEVICE_PACKAGES := kmod-mt76x2 kmod-usb2 kmod-usb-ohci \
+ kmod-usb-ledtrig-usbport
+endef
+TARGET_DEVICES += asus_rt-ac54u
+
define Device/asus_rt-n12p
SOC := mt7620n
IMAGE_SIZE := 16064k
diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
index 3f306d8506..20932f60e9 100755
--- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network
@@ -70,7 +70,8 @@ ramips_setup_interfaces()
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
;;
- asus,rt-ac51u)
+ asus,rt-ac51u|\
+ asus,rt-ac54u)
ucidef_add_switch "switch0" \
"0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
;;
@@ -270,6 +271,10 @@ ramips_setup_macs()
wan_mac=$(mtd_get_mac_binary factory 0x2e)
label_mac=$(mtd_get_mac_binary factory 0x4)
;;
+ asus,rt-ac54u)
+ wan_mac=$(mtd_get_mac_binary factory 0x28)
+ label_mac=$wan_mac
+ ;;
dlink,dch-m225)
lan_mac=$(mtd_get_mac_ascii factory lanmac)
;;