ramips: add support for Asus RT-N11P / RT-N12+ / RT-N12E b1
authorZoltan HERPAI <wigyori@uid0.hu>
Wed, 6 Dec 2017 14:43:55 +0000 (15:43 +0100)
committerDaniel Golle <daniel@makrotopia.org>
Wed, 6 Dec 2017 16:51:31 +0000 (17:51 +0100)
This is a variant of the MT7620N-based Asus routers.

Specifications:

- MT7620N (580 MHz)
- 32 MB RAM
- 8 MB Flash
- 5x 10/100Mbps Ethernet (built-in switch)
- 2.4 GHz WLAN
- 2x external, non-detachable antennas
- UART (J2) header on PCB (115200 8n1)

Flash instructions:

1. Configure PC with static IP 192.168.1.75/24
2. Connect PC with one of LAN ports, press the reset button, power up
   the router and keep button pressed for around 6-7 seconds. All 4 LEDs will
   start to blink, which is when the router will accept firmware files via TFTP.
   No known limitations on firmware filenames, just send it with a TFTP client
   to 192.168.1.1.
3. Router will download file from server, write it to flash and reboot.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
target/linux/ramips/base-files/etc/board.d/01_leds
target/linux/ramips/base-files/etc/board.d/02_network
target/linux/ramips/base-files/lib/ramips.sh
target/linux/ramips/base-files/lib/upgrade/platform.sh
target/linux/ramips/dts/RT-N12-PLUS.dts [new file with mode: 0644]
target/linux/ramips/image/mt7620.mk

index 74e405e4201b37125af11467de87842f1cbd8270..0c97dc99bdeee640da27e11ae394280e415d7f7f 100755 (executable)
@@ -340,6 +340,12 @@ rt-ac51u)
        set_wifi_led "$board:blue:wifi"
        set_usb_led "$board:blue:usb" "1-1"
        ;;
+rt-n12p)
+       ucidef_set_led_default "power" "power" "$board:green:power" "1"
+       ucidef_set_led_netdev "lan" "lan" "$board:green:lan" eth0.1
+       ucidef_set_led_netdev "wan" "wan" "$board:green:wan" eth0.2
+       set_wifi_led "$board:green:air"
+       ;;
 rt-n14u)
        ucidef_set_led_default "power" "power" "$board:blue:power" "1"
        ucidef_set_led_netdev "lan" "lan" "$board:blue:lan" eth0.1
index 6ad64e6727791377ff35c712a1836b41558a378d..db797c689d391f34def58befc82d2bc549346021 100755 (executable)
@@ -100,6 +100,7 @@ ramips_setup_interfaces()
        psg1208|\
        psg1218a|\
        r6220|\
+       rt-n12p)
        sap-g3200u3|\
        sk-wb8|\
        u7621-06-256M-16M|\
index 76ca3d1306fb3a9165405be357dfd9c30a875a29..bf19a4c570c2a3f69463b12b9e056a7221b70867 100755 (executable)
@@ -460,6 +460,9 @@ ramips_board_detect() {
        *"RT-N10+")
                name="rt-n10-plus"
                ;;
+       *"RT-N12+")
+               name="rt-n12p"
+               ;;
        *"RT-N13U")
                name="rt-n13u"
                ;;
index 0d5b6bb4fcc8884a939e287030e8f697f34fc493..3181da2ca20136a7a508203203aab0aa82301bea 100755 (executable)
@@ -130,6 +130,7 @@ platform_check_image() {
        rt-ac51u|\
        rt-g32-b1|\
        rt-n10-plus|\
+       rt-n12p|\
        rt-n13u|\
        rt-n14u|\
        rt-n15|\
diff --git a/target/linux/ramips/dts/RT-N12-PLUS.dts b/target/linux/ramips/dts/RT-N12-PLUS.dts
new file mode 100644 (file)
index 0000000..f3e0284
--- /dev/null
@@ -0,0 +1,117 @@
+/dts-v1/;
+
+#include "mt7620n.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+       compatible = "asus,rt-n12p", "ralink,mt7620n-soc";
+       model = "Asus RT-N12+";
+
+       chosen {
+               bootargs = "console=ttyS0,115200";
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+
+               wan {
+                       label = "rt-n12p:green:wan";
+                       gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
+               };
+
+               lan {
+                       label = "rt-n12p:green:lan";
+                       gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
+               };
+
+               power {
+                       label = "rt-n12p:green:power";
+                       gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
+               };
+
+               air {
+                       label = "rt-n12p:green:air";
+                       gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
+               };
+       };
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <20>;
+
+               reset {
+                       label = "reset";
+                       gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RESTART>;
+               };
+       };
+};
+
+&gpio1 {
+       status = "okay";
+};
+
+&gpio2 {
+       status = "okay";
+};
+
+&gpio3 {
+       status = "okay";
+};
+
+&spi0 {
+       status = "okay";
+
+       m25p80@0 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "jedec,spi-nor";
+               reg = <0>;
+               spi-max-frequency = <10000000>;
+
+               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 {
+                       label = "firmware";
+                       reg = <0x50000 0xfb0000>;
+               };
+       };
+};
+
+&ethernet {
+       mtd-mac-address = <&factory 0x4>;
+       mediatek,portmap = "wllll";
+};
+
+&wmac {
+       ralink,mtd-eeprom = <&factory 0>;
+};
+
+&pinctrl {
+       state_default: pinctrl0 {
+               default {
+                       ralink,group = "ephy", "wled", "i2c", "wdt", "pa", "spi refclk";
+                       ralink,function = "gpio";
+               };
+       };
+};
index 7dd26fe2761c4a99eb6b21a762d46268716ac02f..a55cc8214bee7dc561ef7b7c7c1aa8bcd8589b55 100644 (file)
@@ -391,6 +391,12 @@ define Device/rp-n53
 endef
 TARGET_DEVICES += rp-n53
 
+define Device/rt-n12p
+  DTS := RT-N12-PLUS
+  DEVICE_TITLE := Asus RT-N11P/RT-N12+/RT-N12Eb1
+endef
+TARGET_DEVICES += rt-n12p
+
 define Device/rt-n14u
   DTS := RT-N14U
   DEVICE_TITLE := Asus RT-N14u