ramips: add support for Asus RT-N10P V3 / RT-N11P B1 / RT-N12 VP B1
authorErnst Spielmann <endspiel@disroot.org>
Thu, 16 Apr 2020 18:42:29 +0000 (18:42 +0000)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Sun, 24 May 2020 16:14:59 +0000 (18:14 +0200)
Specifications:

- MT7628NN @ 580 MHz
- 32 MB RAM
- 8 MB Flash
- 5x 10/100 Mbps Ethernet (built-in switch)
- 2.4 GHz WLAN
- 2x external, non-detachable antennas (1x for RT-N10P V3)

Flash instructions:

1. Set PC network interface to 192.168.1.75/24.
2. Connect PC to the router via LAN.
3. Turn router off, press and hold reset button, then turn it on.
4. Keep the button pressed till power led starts to blink.
5. Upload the firmware file via TFTP. (Any filename is accepted.)
6. Wait until the router reboots.

Signed-off-by: Ernst Spielmann <endspiel@disroot.org>
[fix node/property name for state_default]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
target/linux/ramips/dts/mt7628an_asus_rt-n10p-v3.dts [new file with mode: 0644]
target/linux/ramips/dts/mt7628an_asus_rt-n11p-b1.dts [new file with mode: 0644]
target/linux/ramips/dts/mt7628an_asus_rt-n12-vp-b1.dts [new file with mode: 0644]
target/linux/ramips/dts/mt7628an_asus_rt-n1x.dtsi [new file with mode: 0644]
target/linux/ramips/image/mt76x8.mk
target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds
target/linux/ramips/mt76x8/base-files/etc/board.d/02_network

diff --git a/target/linux/ramips/dts/mt7628an_asus_rt-n10p-v3.dts b/target/linux/ramips/dts/mt7628an_asus_rt-n10p-v3.dts
new file mode 100644 (file)
index 0000000..eaf5796
--- /dev/null
@@ -0,0 +1,34 @@
+// SPDX-License-Identifier: GPL-2.0+
+/dts-v1/;
+
+#include "mt7628an_asus_rt-n1x.dtsi"
+
+/ {
+       compatible = "asus,rt-n10p-v3", "mediatek,mt7628an-soc";
+       model = "Asus RT-N10P V3";
+
+       leds {
+               compatible = "gpio-leds";
+
+               led_power: power {
+                       label = "rt-n10p-v3:green:power";
+                       gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
+               };
+
+               wlan {
+                       label = "rt-n10p-v3:green:wlan";
+                       gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "phy0tpt";
+               };
+
+               wan {
+                       label = "rt-n10p-v3:green:wan";
+                       gpios = <&gpio 43 GPIO_ACTIVE_LOW>;
+               };
+
+               lan {
+                       label = "rt-n10p-v3:green:lan";
+                       gpios = <&gpio 42 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
diff --git a/target/linux/ramips/dts/mt7628an_asus_rt-n11p-b1.dts b/target/linux/ramips/dts/mt7628an_asus_rt-n11p-b1.dts
new file mode 100644 (file)
index 0000000..46f199f
--- /dev/null
@@ -0,0 +1,34 @@
+// SPDX-License-Identifier: GPL-2.0+
+/dts-v1/;
+
+#include "mt7628an_asus_rt-n1x.dtsi"
+
+/ {
+       compatible = "asus,rt-n11p-b1", "mediatek,mt7628an-soc";
+       model = "Asus RT-N11P B1";
+
+       leds {
+               compatible = "gpio-leds";
+
+               led_power: power {
+                       label = "rt-n11p-b1:green:power";
+                       gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
+               };
+
+               wlan {
+                       label = "rt-n11p-b1:green:wlan";
+                       gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "phy0tpt";
+               };
+
+               wan {
+                       label = "rt-n11p-b1:green:wan";
+                       gpios = <&gpio 43 GPIO_ACTIVE_LOW>;
+               };
+
+               lan {
+                       label = "rt-n11p-b1:green:lan";
+                       gpios = <&gpio 42 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
diff --git a/target/linux/ramips/dts/mt7628an_asus_rt-n12-vp-b1.dts b/target/linux/ramips/dts/mt7628an_asus_rt-n12-vp-b1.dts
new file mode 100644 (file)
index 0000000..b6070d7
--- /dev/null
@@ -0,0 +1,34 @@
+// SPDX-License-Identifier: GPL-2.0+
+/dts-v1/;
+
+#include "mt7628an_asus_rt-n1x.dtsi"
+
+/ {
+       compatible = "asus,rt-n12-vp-b1", "mediatek,mt7628an-soc";
+       model = "Asus RT-N12 VP B1";
+
+       leds {
+               compatible = "gpio-leds";
+
+               led_power: power {
+                       label = "rt-n12-vp-b1:green:power";
+                       gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
+               };
+
+               wlan {
+                       label = "rt-n12-vp-b1:green:wlan";
+                       gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "phy0tpt";
+               };
+
+               wan {
+                       label = "rt-n12-vp-b1:green:wan";
+                       gpios = <&gpio 43 GPIO_ACTIVE_LOW>;
+               };
+
+               lan {
+                       label = "rt-n12-vp-b1:green:lan";
+                       gpios = <&gpio 42 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
diff --git a/target/linux/ramips/dts/mt7628an_asus_rt-n1x.dtsi b/target/linux/ramips/dts/mt7628an_asus_rt-n1x.dtsi
new file mode 100644 (file)
index 0000000..add4e6d
--- /dev/null
@@ -0,0 +1,100 @@
+// SPDX-License-Identifier: GPL-2.0+
+
+#include "mt7628an.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";
+       };
+
+       keys {
+               compatible = "gpio-keys";
+
+               reset {
+                       label = "reset";
+                       gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RESTART>;
+               };
+       };
+};
+
+&spi0 {
+       status = "okay";
+
+       flash@0 {
+               compatible = "jedec,spi-nor";
+               reg = <0>;
+               spi-max-frequency = <40000000>;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               label = "u-boot";
+                               reg = <0x0 0x30000>;
+                               read-only;
+                       };
+
+                       partition@30000 {
+                               label = "u-boot-env";
+                               reg = <0x30000 0x10000>;
+                               read-only;
+                       };
+
+                       factory: partition@40000 {
+                               label = "factory";
+                               reg = <0x40000 0x10000>;
+                               read-only;
+                       };
+
+                       partition@50000 {
+                               compatible = "denx,uimage";
+                               label = "firmware";
+                               reg = <0x50000 0x7b0000>;
+                       };
+               };
+       };
+};
+
+&ethernet {
+       mtd-mac-address = <&factory 0x4>;
+};
+
+&esw {
+       mediatek,portmap = <0x2f>;
+};
+
+&wmac {
+       status = "okay";
+};
+
+&state_default {
+       gpio {
+               groups = "i2c", "p0led_an", "p1led_an", "refclk", "wled_an";
+               function = "gpio";
+       };
+};
+
+&usbphy {
+       status = "disabled";
+};
+
+&ehci {
+       status = "disabled";
+};
+
+&ohci {
+       status = "disabled";
+};
index ba8ab1b..16b5958 100644 (file)
@@ -14,6 +14,30 @@ define Device/alfa-network_awusfree1
 endef
 TARGET_DEVICES += alfa-network_awusfree1
 
+define Device/asus_rt-n10p-v3
+  IMAGE_SIZE := 7872k
+  DEVICE_VENDOR := Asus
+  DEVICE_MODEL := RT-N10P
+  DEVICE_VARIANT := V3
+endef
+TARGET_DEVICES += asus_rt-n10p-v3
+
+define Device/asus_rt-n11p-b1
+  IMAGE_SIZE := 7872k
+  DEVICE_VENDOR := Asus
+  DEVICE_MODEL := RT-N11P
+  DEVICE_VARIANT := B1
+endef
+TARGET_DEVICES += asus_rt-n11p-b1
+
+define Device/asus_rt-n12-vp-b1
+  IMAGE_SIZE := 7872k
+  DEVICE_VENDOR := Asus
+  DEVICE_MODEL := RT-N12 VP
+  DEVICE_VARIANT := B1
+endef
+TARGET_DEVICES += asus_rt-n12-vp-b1
+
 define Device/buffalo_wcr-1166ds
   IMAGE_SIZE := 7936k
   BUFFALO_TAG_PLATFORM := MTK
index c66e13d..6858954 100755 (executable)
@@ -20,6 +20,12 @@ case $board in
 alfa-network,awusfree1)
        set_wifi_led "$boardname:blue:wlan"
        ;;
+asus,rt-n10p-v3|\
+asus,rt-n11p-b1|\
+asus,rt-n12-vp-b1)
+       ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0xf"
+       ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x10"
+       ;;
 cudy,wr1000)
        ucidef_set_led_switch "wan" "wan" "$boardname:blue:wan" "switch0" "0x10"
        ucidef_set_led_switch "lan1" "lan1" "$boardname:blue:lan1" "switch0" "0x08"
index d758fe5..398b5e8 100755 (executable)
@@ -26,6 +26,18 @@ ramips_setup_interfaces()
                ucidef_add_switch_attr "switch0" "enable" "false"
                ucidef_set_interface_lan "eth0"
                ;;
+       asus,rt-n10p-v3|\
+       asus,rt-n11p-b1|\
+       asus,rt-n12-vp-b1|\
+       hiwifi,hc5661a|\
+       mediatek,mt7628an-eval-board|\
+       mercury,mac1200r-v2|\
+       totolink,lr1200|\
+       wavlink,wl-wn570ha1|\
+       wavlink,wl-wn575a3)
+               ucidef_add_switch "switch0" \
+                       "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
+               ;;
        buffalo,wcr-1166ds)
                ucidef_add_switch "switch0" \
                        "3:lan" "4:wan" "6@eth0"
@@ -67,15 +79,6 @@ ramips_setup_interfaces()
                ucidef_add_switch "switch0" \
                        "1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
                ;;
-       hiwifi,hc5661a|\
-       mediatek,mt7628an-eval-board|\
-       mercury,mac1200r-v2|\
-       totolink,lr1200|\
-       wavlink,wl-wn570ha1|\
-       wavlink,wl-wn575a3)
-               ucidef_add_switch "switch0" \
-                       "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
-               ;;
        hiwifi,hc5761a)
                ucidef_add_switch "switch0" \
                        "0:lan" "1:lan" "4:wan" "6@eth0"