From 58e0673900ea585b03d3cc2f8917667faa3f977f Mon Sep 17 00:00:00 2001 From: Zoltan HERPAI Date: Wed, 6 Dec 2017 15:43:55 +0100 Subject: [PATCH] ramips: add support for Asus RT-N11P / RT-N12+ / RT-N12E b1 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 --- .../ramips/base-files/etc/board.d/01_leds | 6 + .../ramips/base-files/etc/board.d/02_network | 1 + target/linux/ramips/base-files/lib/ramips.sh | 3 + .../ramips/base-files/lib/upgrade/platform.sh | 1 + target/linux/ramips/dts/RT-N12-PLUS.dts | 117 ++++++++++++++++++ target/linux/ramips/image/mt7620.mk | 6 + 6 files changed, 134 insertions(+) create mode 100644 target/linux/ramips/dts/RT-N12-PLUS.dts diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds index 74e405e420..0c97dc99bd 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -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 diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network index 6ad64e6727..db797c689d 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -100,6 +100,7 @@ ramips_setup_interfaces() psg1208|\ psg1218a|\ r6220|\ + rt-n12p) sap-g3200u3|\ sk-wb8|\ u7621-06-256M-16M|\ diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 76ca3d1306..bf19a4c570 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -460,6 +460,9 @@ ramips_board_detect() { *"RT-N10+") name="rt-n10-plus" ;; + *"RT-N12+") + name="rt-n12p" + ;; *"RT-N13U") name="rt-n13u" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index 0d5b6bb4fc..3181da2ca2 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -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 index 0000000000..f3e0284aed --- /dev/null +++ b/target/linux/ramips/dts/RT-N12-PLUS.dts @@ -0,0 +1,117 @@ +/dts-v1/; + +#include "mt7620n.dtsi" + +#include +#include + +/ { + 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 = ; + }; + }; +}; + +&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>; + }; + }; +}; + +ðernet { + 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"; + }; + }; +}; diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk index 7dd26fe276..a55cc8214b 100644 --- a/target/linux/ramips/image/mt7620.mk +++ b/target/linux/ramips/image/mt7620.mk @@ -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