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

mail at adrianschmutzler.de mail at adrianschmutzler.de
Wed Apr 15 10:46:56 EDT 2020


Hi,

> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org]
> On Behalf Of Ernst Spielmann
> Sent: Dienstag, 14. April 2020 16:13
> To: openwrt-devel at lists.openwrt.org
> Cc: Ernst Spielmann <endspiel at 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 at 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 at 0 {

flash at 0

> +		compatible = "jedec,spi-nor";
> +		reg = <0>;
> +		spi-max-frequency = <10000000>;
> +
> +		partitions {
> +			compatible = "fixed-partitions";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +
> +			partition at 0 {
> +				label = "u-boot";
> +				reg = <0x0 0x30000>;
> +				read-only;
> +			};
> +
> +			partition at 30000 {
> +				label = "u-boot-env";
> +				reg = <0x30000 0x10000>;
> +				read-only;
> +			};
> +
> +			factory: partition at 40000 {
> +				label = "factory";
> +				reg = <0x40000 0x10000>;
> +				read-only;
> +			};
> +
> +			partition at 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 at 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 at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openpgp-digital-signature.asc
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20200415/e70867bb/attachment.sig>
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list