diff mbox series

[OpenWrt-Devel,v3] ramips: add support for Asus RT-N10P V3 / RT-N11P B1 / RT-N12 VP B1

Message ID 20200414141248.6014-1-endspiel@disroot.org
State Changes Requested, archived
Headers show
Series [OpenWrt-Devel,v3] ramips: add support for Asus RT-N10P V3 / RT-N11P B1 / RT-N12 VP B1 | expand

Commit Message

Ernst Spielmann April 14, 2020, 2:12 p.m. UTC
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>
---
v2: RT-N12 VP *B1* was incorrectly mentioned as *B3* in mt76x8.mk
v3: switch to master branch & split device group into individual entries

 .../linux/ramips/dts/mt7628an_asus_rt-n10p_v3.dts  |   8 ++
 .../linux/ramips/dts/mt7628an_asus_rt-n11p_b1.dts  |   8 ++
 .../ramips/dts/mt7628an_asus_rt-n12_vp_b1.dts      |   8 ++
 target/linux/ramips/dts/mt7628an_asus_rt-n1x.dtsi  | 120 +++++++++++++++++++++
 target/linux/ramips/image/mt76x8.mk                |  24 +++++
 .../ramips/mt76x8/base-files/etc/board.d/01_leds   |   7 ++
 .../mt76x8/base-files/etc/board.d/02_network       |   3 +
 7 files changed, 178 insertions(+)
 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

Comments

Chuanhong Guo April 15, 2020, 2:41 a.m. UTC | #1
Hi!

some comments below:
On Tue, Apr 14, 2020 at 10:16 PM Ernst Spielmann <endspiel@disroot.org> wrote:
> [...]
> +       leds {
> +               compatible = "gpio-leds";
> +
> +               led_power: power {
> +                       label = "rt-n11p_b1:green:power";
> +                       gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;

you need to rebase this commit again due to recent kernel bump for
ramips/mt76x8.
Specifically, GPIO references in dts are changed. Previous <&gpioX Y> should be
changed to <&gpio (X*32+Y)>. e.g. the above line should be changed to:
<&gpio 37 GPIO_ACTIVE_LOW>;

> +               };
> +
> +               wlan {
> +                       label = "rt-n11p_b1:green:wlan";
> +                       gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
> +               };
> +
> +               wan {
> +                       label = "rt-n11p_b1:green:wan";
> +                       gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
> +               };
> +
> +               lan {
> +                       label = "rt-n11p_b1:green:lan";
> +                       gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
> +               };
> +       };
> +
> +       keys {

Could you try interrupt-driven gpio-keys instead?
just change the following line:

> +               compatible = "gpio-keys-polled";

to: compatible = "gpio-keys";

> +               poll-interval = <20>;

and remove this poll-interval line.

> +
> +               reset {
> +                       label = "reset";
> +                       gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
> +                       linux,code = <KEY_RESTART>;
> +               };
> +       };
> +};
> +
> +&spi0 {
> +       status = "okay";
> +
> +       m25p80@0 {
> +               compatible = "jedec,spi-nor";
> +               reg = <0>;
> +               spi-max-frequency = <10000000>;

Could you try if a higher spi-max-frequency works?
40MHz is usually fine for most devices.

> +
> +               partitions {
> [...]
> diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk
> index e2890c98e6..36aa296fb8 100644
> --- a/target/linux/ramips/image/mt76x8.mk
> +++ b/target/linux/ramips/image/mt76x8.mk
> @@ -213,6 +213,30 @@ define Device/rakwireless_rak633
>  endef
>  TARGET_DEVICES += rakwireless_rak633
>
> +define Device/asus_rt-n10p_v3
> +  IMAGE_SIZE := 7872k
> +  DEVICE_VENDOR := Asus
> +  DEVICE_MODEL := RT-N10P V3

There's a dedicated DEVICE_VARIANT field available for device version.
you could split this DEVICE_MODEL and use DEVICE_VARIANT for
version numbers like V3/B1.

> +  SUPPORTED_DEVICES += rt-n10p_v3
> +endef
> +TARGET_DEVICES += asus_rt-n10p_v3
> +
> +define Device/asus_rt-n11p_b1
> +  IMAGE_SIZE := 7872k
> +  DEVICE_VENDOR := Asus
> +  DEVICE_MODEL := RT-N11P B1
> +  SUPPORTED_DEVICES += rt-n11p_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 B1
> +  SUPPORTED_DEVICES += rt-n12_vp_b1
> +endef
> +TARGET_DEVICES += asus_rt-n12_vp_b1
> +
>  define Device/skylab_skw92a
>    IMAGE_SIZE := 16064k
>    DEVICE_VENDOR := Skylab
> [...]
Adrian Schmutzler April 15, 2020, 2:46 p.m. UTC | #2
Hi,

> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces@lists.openwrt.org]
> On Behalf Of Ernst Spielmann
> Sent: Dienstag, 14. April 2020 16:13
> To: openwrt-devel@lists.openwrt.org
> Cc: Ernst Spielmann <endspiel@disroot.org>
> Subject: [OpenWrt-Devel] [PATCH v3] 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 <endspiel@disroot.org>
> ---
> v2: RT-N12 VP *B1* was incorrectly mentioned as *B3* in mt76x8.mk
> v3: switch to master branch & split device group into individual entries
> 
>  .../linux/ramips/dts/mt7628an_asus_rt-n10p_v3.dts  |   8 ++
>  .../linux/ramips/dts/mt7628an_asus_rt-n11p_b1.dts  |   8 ++
>  .../ramips/dts/mt7628an_asus_rt-n12_vp_b1.dts      |   8 ++
>  target/linux/ramips/dts/mt7628an_asus_rt-n1x.dtsi  | 120
> +++++++++++++++++++++
>  target/linux/ramips/image/mt76x8.mk                |  24 +++++
>  .../ramips/mt76x8/base-files/etc/board.d/01_leds   |   7 ++
>  .../mt76x8/base-files/etc/board.d/02_network       |   3 +
>  7 files changed, 178 insertions(+)
>  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..c55fee8533
> --- /dev/null
> +++ b/target/linux/ramips/dts/mt7628an_asus_rt-n10p_v3.dts
> @@ -0,0 +1,8 @@

Please add a SPDX license identifier here and in the other DTS(I) files.

> +/dts-v1/;
> +
> +#include "mt7628an_asus_rt-n1x.dtsi"
> +
> +/ {
> +	compatible = "asus,rt-n10p_v3", "mediatek,mt7628an-soc";

use hyphen between model and variant in compatible: "asus,rt-n10p-v3" (and adjust below)

Same for file name:

mt7628an_asus_rt-n10p-v3.dts


> +	model = "Asus RT-N10P V3";
> +};
> 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..d9b776865f
> --- /dev/null
> +++ b/target/linux/ramips/dts/mt7628an_asus_rt-n11p_b1.dts
> @@ -0,0 +1,8 @@
> +/dts-v1/;
> +
> +#include "mt7628an_asus_rt-n1x.dtsi"
> +
> +/ {
> +	compatible = "asus,rt-n11p_b1", "mediatek,mt7628an-soc";

hyphen.

> +	model = "Asus RT-N11P B1";
> +};
> 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..ddfcc9ae6d
> --- /dev/null
> +++ b/target/linux/ramips/dts/mt7628an_asus_rt-n12_vp_b1.dts
> @@ -0,0 +1,8 @@
> +/dts-v1/;
> +
> +#include "mt7628an_asus_rt-n1x.dtsi"
> +
> +/ {
> +	compatible = "asus,rt-n12_vp_b1", "mediatek,mt7628an-soc";

hyphen: ... rt-n12-vp-b1

> +	model = "Asus RT-N12 VP B1";
> +};
> 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..fee25aedaf
> --- /dev/null
> +++ b/target/linux/ramips/dts/mt7628an_asus_rt-n1x.dtsi
> @@ -0,0 +1,120 @@
> +#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";
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +
> +		led_power: power {
> +			label = "rt-n11p_b1:green:power";

Since labels contain the device name, they have to be moved into the DTS files (even though this means they are partially redundant).
So, in your case just move the whole "leds" block there. Despite, don't forget the underscore->hyphen adjustment here as well.

> +			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		wlan {
> +			label = "rt-n11p_b1:green:wlan";
> +			gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;

Please add the phy0tpt trigger here and remove it in 01_leds.

> +		};
> +
> +		wan {
> +			label = "rt-n11p_b1:green:wan";
> +			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		lan {
> +			label = "rt-n11p_b1:green:lan";
> +			gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
> +		};
> +	};
> +
> +	keys {
> +		compatible = "gpio-keys-polled";
> +		poll-interval = <20>;
> +
> +		reset {
> +			label = "reset";
> +			gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_RESTART>;
> +		};
> +	};
> +};
> +
> +&spi0 {
> +	status = "okay";
> +
> +	m25p80@0 {

flash@0

> +		compatible = "jedec,spi-nor";
> +		reg = <0>;
> +		spi-max-frequency = <10000000>;
> +
> +		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>;

No additional MAC addresses in factory? (0x28, 0x2e, 0xe000, 0xe006)

> +	mediatek,portmap = <0x3e>;

I think the portmap belongs into &esw?

> +};
> +
> +&wmac {
> +	status = "okay";
> +};
> +
> +&state_default {
> +	default {
> +		ralink,group = "refclk";
> +		ralink,function = "gpio";

Needs to be changed to:

+	gpio {
+		groups = "refclk", "i2c", "p1led_an", "p0led_an", "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 e2890c98e6..36aa296fb8 100644
> --- a/target/linux/ramips/image/mt76x8.mk
> +++ b/target/linux/ramips/image/mt76x8.mk
> @@ -213,6 +213,30 @@ define Device/rakwireless_rak633  endef
> TARGET_DEVICES += rakwireless_rak633

Please add according to alphabetic sorting.

> 
> +define Device/asus_rt-n10p_v3

As discussed above, this should be
	asus_rt-n10p-v3

Adjust the rest accordingly.

> +  IMAGE_SIZE := 7872k
> +  DEVICE_VENDOR := Asus
> +  DEVICE_MODEL := RT-N10P V3
> +  SUPPORTED_DEVICES += rt-n10p_v3

SUPPORTED_DEVICES can be removed.

> +endef
> +TARGET_DEVICES += asus_rt-n10p_v3
> +
> +define Device/asus_rt-n11p_b1
> +  IMAGE_SIZE := 7872k
> +  DEVICE_VENDOR := Asus
> +  DEVICE_MODEL := RT-N11P B1
> +  SUPPORTED_DEVICES += rt-n11p_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 B1
> +  SUPPORTED_DEVICES += rt-n12_vp_b1
> +endef
> +TARGET_DEVICES += asus_rt-n12_vp_b1
> +
>  define Device/skylab_skw92a
>    IMAGE_SIZE := 16064k
>    DEVICE_VENDOR := Skylab
> 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..8b8f4ad6fa 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,13 @@ 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"
> +	ucidef_set_led_wlan "wlan" "wlan" "$boardname:green:wlan"
> "phy0tpt"

Move that to DTS as indicated above.

> +	;;
>  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 5230717506..9889d92ada 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
> @@ -59,6 +59,9 @@ ramips_setup_interfaces()
>  		ucidef_add_switch "switch0" \
>  			"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
>  		;;
> +	asus,rt-n10p_v3|\
> +	asus,rt-n11p_b1|\
> +	asus,rt-n12_vp_b1|\
>  	hiwifi,hc5661a|\
>  	mediatek,mt7628an-eval-board|\
>  	mercury,mac1200r-v2|\

Please move that block according to alphabetic sorting of its new first member.

Best

Adrian

> --
> 2.14.5
> 
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
diff mbox series

Patch

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..c55fee8533
--- /dev/null
+++ b/target/linux/ramips/dts/mt7628an_asus_rt-n10p_v3.dts
@@ -0,0 +1,8 @@ 
+/dts-v1/;
+
+#include "mt7628an_asus_rt-n1x.dtsi"
+
+/ {
+	compatible = "asus,rt-n10p_v3", "mediatek,mt7628an-soc";
+	model = "Asus RT-N10P V3";
+};
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..d9b776865f
--- /dev/null
+++ b/target/linux/ramips/dts/mt7628an_asus_rt-n11p_b1.dts
@@ -0,0 +1,8 @@ 
+/dts-v1/;
+
+#include "mt7628an_asus_rt-n1x.dtsi"
+
+/ {
+	compatible = "asus,rt-n11p_b1", "mediatek,mt7628an-soc";
+	model = "Asus RT-N11P B1";
+};
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..ddfcc9ae6d
--- /dev/null
+++ b/target/linux/ramips/dts/mt7628an_asus_rt-n12_vp_b1.dts
@@ -0,0 +1,8 @@ 
+/dts-v1/;
+
+#include "mt7628an_asus_rt-n1x.dtsi"
+
+/ {
+	compatible = "asus,rt-n12_vp_b1", "mediatek,mt7628an-soc";
+	model = "Asus RT-N12 VP B1";
+};
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..fee25aedaf
--- /dev/null
+++ b/target/linux/ramips/dts/mt7628an_asus_rt-n1x.dtsi
@@ -0,0 +1,120 @@ 
+#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";
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led_power: power {
+			label = "rt-n11p_b1:green:power";
+			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
+		};
+
+		wlan {
+			label = "rt-n11p_b1:green:wlan";
+			gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
+		};
+
+		wan {
+			label = "rt-n11p_b1:green:wan";
+			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
+		};
+
+		lan {
+			label = "rt-n11p_b1:green:lan";
+			gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	keys {
+		compatible = "gpio-keys-polled";
+		poll-interval = <20>;
+
+		reset {
+			label = "reset";
+			gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_RESTART>;
+		};
+	};
+};
+
+&spi0 {
+	status = "okay";
+
+	m25p80@0 {
+		compatible = "jedec,spi-nor";
+		reg = <0>;
+		spi-max-frequency = <10000000>;
+
+		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>;
+	mediatek,portmap = <0x3e>;
+};
+
+&wmac {
+	status = "okay";
+};
+
+&state_default {
+	default {
+		ralink,group = "refclk";
+		ralink,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 e2890c98e6..36aa296fb8 100644
--- a/target/linux/ramips/image/mt76x8.mk
+++ b/target/linux/ramips/image/mt76x8.mk
@@ -213,6 +213,30 @@  define Device/rakwireless_rak633
 endef
 TARGET_DEVICES += rakwireless_rak633
 
+define Device/asus_rt-n10p_v3
+  IMAGE_SIZE := 7872k
+  DEVICE_VENDOR := Asus
+  DEVICE_MODEL := RT-N10P V3
+  SUPPORTED_DEVICES += rt-n10p_v3
+endef
+TARGET_DEVICES += asus_rt-n10p_v3
+
+define Device/asus_rt-n11p_b1
+  IMAGE_SIZE := 7872k
+  DEVICE_VENDOR := Asus
+  DEVICE_MODEL := RT-N11P B1
+  SUPPORTED_DEVICES += rt-n11p_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 B1
+  SUPPORTED_DEVICES += rt-n12_vp_b1
+endef
+TARGET_DEVICES += asus_rt-n12_vp_b1
+
 define Device/skylab_skw92a
   IMAGE_SIZE := 16064k
   DEVICE_VENDOR := Skylab
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..8b8f4ad6fa 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,13 @@  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"
+	ucidef_set_led_wlan "wlan" "wlan" "$boardname:green:wlan" "phy0tpt"
+	;;
 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 5230717506..9889d92ada 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
@@ -59,6 +59,9 @@  ramips_setup_interfaces()
 		ucidef_add_switch "switch0" \
 			"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
 		;;
+	asus,rt-n10p_v3|\
+	asus,rt-n11p_b1|\
+	asus,rt-n12_vp_b1|\
 	hiwifi,hc5661a|\
 	mediatek,mt7628an-eval-board|\
 	mercury,mac1200r-v2|\