From c3dc52e39ac83704b7a376d8d5610bdb91807e3f Mon Sep 17 00:00:00 2001 From: Ernst Spielmann Date: Thu, 16 Apr 2020 18:42:29 +0000 Subject: [PATCH] ramips: add support for Asus RT-N10P V3 / RT-N11P B1 / RT-N12 VP B1 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 [fix node/property name for state_default] Signed-off-by: Adrian Schmutzler --- .../ramips/dts/mt7628an_asus_rt-n10p-v3.dts | 34 ++++++ .../ramips/dts/mt7628an_asus_rt-n11p-b1.dts | 34 ++++++ .../ramips/dts/mt7628an_asus_rt-n12-vp-b1.dts | 34 ++++++ .../ramips/dts/mt7628an_asus_rt-n1x.dtsi | 100 ++++++++++++++++++ target/linux/ramips/image/mt76x8.mk | 24 +++++ .../mt76x8/base-files/etc/board.d/01_leds | 6 ++ .../mt76x8/base-files/etc/board.d/02_network | 21 ++-- 7 files changed, 244 insertions(+), 9 deletions(-) create mode 100644 target/linux/ramips/dts/mt7628an_asus_rt-n10p-v3.dts create mode 100644 target/linux/ramips/dts/mt7628an_asus_rt-n11p-b1.dts create mode 100644 target/linux/ramips/dts/mt7628an_asus_rt-n12-vp-b1.dts create mode 100644 target/linux/ramips/dts/mt7628an_asus_rt-n1x.dtsi 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 index 0000000000..eaf5796d28 --- /dev/null +++ b/target/linux/ramips/dts/mt7628an_asus_rt-n10p-v3.dts @@ -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 index 0000000000..46f199f390 --- /dev/null +++ b/target/linux/ramips/dts/mt7628an_asus_rt-n11p-b1.dts @@ -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 index 0000000000..b6070d784f --- /dev/null +++ b/target/linux/ramips/dts/mt7628an_asus_rt-n12-vp-b1.dts @@ -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 index 0000000000..add4e6d69e --- /dev/null +++ b/target/linux/ramips/dts/mt7628an_asus_rt-n1x.dtsi @@ -0,0 +1,100 @@ +// SPDX-License-Identifier: GPL-2.0+ + +#include "mt7628an.dtsi" + +#include +#include + +/ { + 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 = ; + }; + }; +}; + +&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>; + }; + }; + }; +}; + +ðernet { + 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"; +}; diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk index ba8ab1b747..16b5958ad1 100644 --- a/target/linux/ramips/image/mt76x8.mk +++ b/target/linux/ramips/image/mt76x8.mk @@ -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 diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds b/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds index c66e13d3c5..685895452a 100755 --- a/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds @@ -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" diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network index d758fe5543..398b5e88c7 100755 --- a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network @@ -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" -- 2.30.2