ramips: add support for Asus RT-AC65P
authorGabor Varga <vargagab@gmail.com>
Tue, 22 Oct 2019 19:44:09 +0000 (21:44 +0200)
committerJohn Crispin <john@phrozen.org>
Thu, 24 Oct 2019 20:58:02 +0000 (22:58 +0200)
The Asus RT-AC65P router is identical with the RT-AC85P, but better to make separate images for it.

On both routers the installation can be done also via SSH:

Note: The user/password for SSH is identical with the one used in the
Web-interface.

1. Complete the initial setup wizard.
2. Activate SSH under "Administration" -> "System".
3. Transfer the OpenWrt factory image via scp:
 > scp openwrt-ramips-mt7621-asus_rt-ac65p-squashfs-factory.bin admin@192.168.50.1:/tmp
4. Connect via SSH to the router.
 > ssh admin@192.168.50.1
5. Write the OpenWrt image to flash.
 > mtd-write -i
/tmp/openwrt-ramips-mt7621-asus_rt-ac65p-squashfs-factory.bin -d linux
6. Reboot the router
 > reboot

Changelog:

v3: removed [] from filename, rebased to latest master
v2: Rebased to latest master
v1: Initial release

Signed-off-by: Gabor Varga <vargagab@gmail.com>
target/linux/ramips/base-files/etc/board.d/02_network
target/linux/ramips/base-files/lib/upgrade/platform.sh
target/linux/ramips/dts/mt7621_asus_rt-ac65p.dts [new file with mode: 0644]
target/linux/ramips/dts/mt7621_asus_rt-ac85p.dts
target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi [new file with mode: 0644]
target/linux/ramips/image/mt7621.mk

index b6c3ae4..3c73a63 100755 (executable)
@@ -234,6 +234,7 @@ ramips_setup_interfaces()
                ucidef_add_switch "switch0" \
                        "0:lan" "1:wan" "6@eth0"
                ;;
+       asus,rt-ac65p|\
        asus,rt-ac85p|\
        dlink,dir-860l-b1|\
        elecom,wrc-1167ghbk2-s|\
@@ -562,6 +563,7 @@ ramips_setup_macs()
        zbtlink,zbt-we3526)
                wan_mac=$(mtd_get_mac_binary factory 0xe006)
                ;;
+       asus,rt-ac65p|\
        asus,rt-ac85p)
                wan_mac=$(mtd_get_mac_ascii u-boot-env et1macaddr)
                label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
index a62ded4..03e994d 100755 (executable)
@@ -18,6 +18,7 @@ platform_do_upgrade() {
        mikrotik,rbm33g)
                [ -z "$(rootfs_type)" ] && mtd erase firmware
                ;;
+       asus,rt-ac65p|\
        asus,rt-ac85p)
                echo "Backing up firmware"
                dd if=/dev/mtd4 bs=1024 count=4096  > /tmp/backup_firmware.bin
@@ -27,6 +28,7 @@ platform_do_upgrade() {
        esac
 
        case "$board" in
+       asus,rt-ac65p|\
        asus,rt-ac85p|\
        hiwifi,hc5962|\
        netgear,r6220|\
diff --git a/target/linux/ramips/dts/mt7621_asus_rt-ac65p.dts b/target/linux/ramips/dts/mt7621_asus_rt-ac65p.dts
new file mode 100644 (file)
index 0000000..94540e0
--- /dev/null
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "mt7621_asus_rt-acx5p.dtsi"
+
+/ {
+       compatible = "asus,rt-ac65p", "mediatek,mt7621-soc";
+       model = "ASUS RT-AC65P";
+};
\ No newline at end of file
index 3ddbfcf..9f525d2 100644 (file)
@@ -1,162 +1,9 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 /dts-v1/;
 
-#include "mt7621.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
+#include "mt7621_asus_rt-acx5p.dtsi"
 
 / {
        compatible = "asus,rt-ac85p", "mediatek,mt7621-soc";
        model = "ASUS RT-AC85P";
-
-       aliases {
-               led-boot = &led_power;
-               led-failsafe = &led_power;
-               led-running = &led_power;
-               led-upgrade = &led_power;
-       };
-
-       chosen {
-               bootargs = "console=ttyS0,57600";
-       };
-
-       palmbus: palmbus@1E000000 {
-               i2c@900 {
-                       status = "okay";
-               };
-       };
-
-       keys {
-               compatible = "gpio-keys";
-
-               reset {
-                       label = "reset";
-                       gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
-                       linux,code = <KEY_RESTART>;
-               };
-
-               wps {
-                       label = "wps";
-                       gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
-                       linux,code = <KEY_WPS_BUTTON>;
-               };
-       };
-
-       leds {
-               compatible = "gpio-leds";
-
-               led_power: power {
-                       label = "rt-ac85p:blue:power";
-                       gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
-                       linux,default-trigger = "phy0tpt";
-               };
-               wlan2g {
-                       label = "rt-ac85p:blue:wlan2g";
-                       gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
-                       linux,default-trigger = "phy0radio";
-               };
-
-               wlan5g {
-                       label = "rt-ac85p:blue:wlan5g";
-                       gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
-                       linux,default-trigger = "phy1radio";
-               };
-       };
-};
-
-&sdhci {
-       status = "okay";
-};
-
-&nand {
-       status = "okay";
-
-       partitions {
-               compatible = "fixed-partitions";
-               #address-cells = <1>;
-               #size-cells = <1>;
-
-               partition@0 {
-                       label = "u-boot";
-                       reg = <0x0 0xe0000>;
-                       read-only;
-               };
-
-               partition@e0000 {
-                       label = "u-boot-env";
-                       reg = <0xe0000 0x100000>;
-                       read-only;
-               };
-
-               factory: partition@1e0000 {
-                       label = "factory";
-                       reg = <0x1e0000 0x100000>;
-                       read-only;
-               };
-
-               factory2: partition@2e0000 {
-                       label = "factory2";
-                       reg = <0x2e0000 0x100000>;
-                       read-only;
-               };
-
-               partition@3e0000 {
-                       label = "kernel";
-                       reg = <0x3e0000 0x400000>;
-               };
-
-               partition@7e0000 {
-                       label = "ubi";
-                       reg = <0x7e0000 0x2e00000>;
-               };
-
-               partition@35e0000 {
-                       label = "firmware2";
-                       reg = <0x35e0000 0x3200000>;
-               };
-       };
-};
-
-&pcie {
-       status = "okay";
-};
-
-&pcie0 {
-       wifi0: wifi@0,0 {
-               compatible = "pci14c3,7615";
-               reg = <0x0000 0 0 0 0>;
-               mediatek,mtd-eeprom = <&factory 0x0000>;
-               ieee80211-freq-limit = <2400000 2500000>;
-       };
-};
-
-&pcie1 {
-       wifi1: wifi@0,0 {
-               compatible = "pci14c3,7615";
-               reg = <0x0000 0 0 0 0>;
-               mediatek,mtd-eeprom = <&factory 0x8000>;
-               ieee80211-freq-limit = <5000000 6000000>;
-       };
-};
-
-&ethernet {
-       mtd-mac-address = <&factory 0xe000>;
-       mediatek,portmap = "wllll";
-       port@5 {
-               status = "disabled";
-       };
-};
-
-&i2c {
-       status = "disabled";
-};
-
-&pinctrl {
-       state_default: pinctrl0 {
-               gpio {
-                       ralink,group = "uart2", "uart3", "i2c";
-                       ralink,function = "gpio";
-               };
-       };
-};
+};
\ No newline at end of file
diff --git a/target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi b/target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi
new file mode 100644 (file)
index 0000000..d0f8a4b
--- /dev/null
@@ -0,0 +1,159 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "mt7621.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+       aliases {
+               led-boot = &led_power;
+               led-failsafe = &led_power;
+               led-running = &led_power;
+               led-upgrade = &led_power;
+       };
+
+       chosen {
+               bootargs = "console=ttyS0,57600";
+       };
+
+       palmbus: palmbus@1E000000 {
+               i2c@900 {
+                       status = "okay";
+               };
+       };
+
+       keys {
+               compatible = "gpio-keys";
+
+               reset {
+                       label = "reset";
+                       gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RESTART>;
+               };
+
+               wps {
+                       label = "wps";
+                       gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_WPS_BUTTON>;
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               led_power: power {
+                       label = "rt-ac85p:blue:power";
+                       gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "phy0tpt";
+               };
+               wlan2g {
+                       label = "rt-ac85p:blue:wlan2g";
+                       gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "phy0radio";
+               };
+
+               wlan5g {
+                       label = "rt-ac85p:blue:wlan5g";
+                       gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "phy1radio";
+               };
+       };
+};
+
+&sdhci {
+       status = "okay";
+};
+
+&nand {
+       status = "okay";
+
+       partitions {
+               compatible = "fixed-partitions";
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               partition@0 {
+                       label = "u-boot";
+                       reg = <0x0 0xe0000>;
+                       read-only;
+               };
+
+               partition@e0000 {
+                       label = "u-boot-env";
+                       reg = <0xe0000 0x100000>;
+                       read-only;
+               };
+
+               factory: partition@1e0000 {
+                       label = "factory";
+                       reg = <0x1e0000 0x100000>;
+                       read-only;
+               };
+
+               factory2: partition@2e0000 {
+                       label = "factory2";
+                       reg = <0x2e0000 0x100000>;
+                       read-only;
+               };
+
+               partition@3e0000 {
+                       label = "kernel";
+                       reg = <0x3e0000 0x400000>;
+               };
+
+               partition@7e0000 {
+                       label = "ubi";
+                       reg = <0x7e0000 0x2e00000>;
+               };
+
+               partition@35e0000 {
+                       label = "firmware2";
+                       reg = <0x35e0000 0x3200000>;
+               };
+       };
+};
+
+&pcie {
+       status = "okay";
+};
+
+&pcie0 {
+       wifi0: wifi@0,0 {
+               compatible = "pci14c3,7615";
+               reg = <0x0000 0 0 0 0>;
+               mediatek,mtd-eeprom = <&factory 0x0000>;
+               ieee80211-freq-limit = <2400000 2500000>;
+       };
+};
+
+&pcie1 {
+       wifi1: wifi@0,0 {
+               compatible = "pci14c3,7615";
+               reg = <0x0000 0 0 0 0>;
+               mediatek,mtd-eeprom = <&factory 0x8000>;
+               ieee80211-freq-limit = <5000000 6000000>;
+       };
+};
+
+&ethernet {
+       mtd-mac-address = <&factory 0xe000>;
+       mediatek,portmap = "wllll";
+       port@5 {
+               status = "disabled";
+       };
+};
+
+&i2c {
+       status = "disabled";
+};
+
+&pinctrl {
+       state_default: pinctrl0 {
+               gpio {
+                       ralink,group = "uart2", "uart3", "i2c";
+                       ralink,function = "gpio";
+               };
+       };
+};
index 488837c..60d0131 100644 (file)
@@ -125,6 +125,22 @@ define Device/asus_rt-ac57u
 endef
 TARGET_DEVICES += asus_rt-ac57u
 
+define Device/asus_rt-ac65p
+  MTK_SOC := mt7621
+  DEVICE_VENDOR := ASUS
+  DEVICE_MODEL := RT-AC65P
+  IMAGE_SIZE := 51200k
+  UBINIZE_OPTS := -E 5
+  BLOCKSIZE := 128k
+  PAGESIZE := 2048
+  KERNEL_SIZE := 4096k
+  IMAGES += factory.bin
+  IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+  IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | check-size $$$$(IMAGE_SIZE)
+  DEVICE_PACKAGES := kmod-usb3 kmod-mt7615e wpad-basic uboot-envtools
+endef
+TARGET_DEVICES += asus_rt-ac65p
+
 define Device/asus_rt-ac85p
   MTK_SOC := mt7621
   DEVICE_VENDOR := ASUS