[OpenWrt-Devel] [PATCH] ramips: add support for GL.iNet microuter-N300

Adrian Schmutzler mail at adrianschmutzler.de
Tue Jan 28 11:34:53 EST 2020


Hi David,

some nitpick comments below.

> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org] On
> Behalf Of David Bauer
> Sent: Sonntag, 26. Januar 2020 23:26
> To: openwrt-devel at lists.openwrt.org
> Subject: [OpenWrt-Devel] [PATCH] ramips: add support for GL.iNet microuter-
> N300
> 
> The GL.iNet microuter-N300 (internally referred as MT300N-v4) is a
> pocket-size travel router. It is essentially identical to the VIXMINI
> (internally referred as MT300N-v3) but with double the RAM and
> SPI-flash.

One could consider adding the v3/v4 names with the DEVICE_ALT0 syntax.

> 
> Hardware
> --------
> SoC:   MediaTek MT7628NN
> RAM:   128M DDR2
> FLASH: 16M
> LED:   Power - WLAN
> BTN:   Reset
> UART:  115200 8N1
>        TX and RX are labled on the board as pads next to the SoC
> 
> Installation via web-interface
> ------------------------------
> 1. Visit the web-interface at 192.168.8.1
>    Note: The ethernet port is by default WAN. So you need to connect to
>    the router via WiFi
> 
> 2. Navigate to the Update tab on the left side.
> 
> 3. Select "Local Update"
> 
> 4. Upload the OpenWrt sysupgrade image.
>    Note: Make sure you select not to preserve the configuration.
> 
> Installation via U-Boot
> -----------------------
> 1. Hold down the reset button while powering on the device.
>    Wait for the LED to flash 5 times.
> 
> 2. Assign yourself a static IPv4 in 192.168.1.0/24
> 
> 3. Upload the OpenWrt sysupgrade image at 192.168.1.1.
> 
> Signed-off-by: David Bauer <mail at david-bauer.net>
> ---
>  .../dts/mt7628an_glinet_microuter-n300.dts    |  21 ++++
>  .../ramips/dts/mt7628an_glinet_vixmini.dts    |  97 ++--------------
>  .../mt7628an_glinet_vixmini_microuter.dtsi    | 104 ++++++++++++++++++
>  target/linux/ramips/image/mt76x8.mk           |   8 ++
>  .../mt76x8/base-files/etc/board.d/02_network  |   1 +
>  5 files changed, 141 insertions(+), 90 deletions(-)
>  create mode 100644 target/linux/ramips/dts/mt7628an_glinet_microuter-
> n300.dts
>  create mode 100644
> target/linux/ramips/dts/mt7628an_glinet_vixmini_microuter.dtsi
> 
> diff --git a/target/linux/ramips/dts/mt7628an_glinet_microuter-n300.dts
> b/target/linux/ramips/dts/mt7628an_glinet_microuter-n300.dts
> new file mode 100644
> index 0000000000..742cd6a8ef
> --- /dev/null
> +++ b/target/linux/ramips/dts/mt7628an_glinet_microuter-n300.dts
> @@ -0,0 +1,21 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +/dts-v1/;
> +
> +#include "mt7628an_glinet_vixmini_microuter.dtsi"
> +
> +/{

Typically we have a space in-between here "/{" -> "/ {", but looks like it's
missing for vixmini as well.

> +	compatible = "glinet,microuter-n300", "mediatek,mt7628an-soc";
> +	model = "GL.iNet microuter-N300";
> +};
> +
> +&led_power_blue {

If there is only one color per type, I'd personally remove the color from the
label (-> led_power for this case).

> +	label = "microuter-n300:blue:power";
> +};
> +
> +&led_wlan_white {
> +	label = "microuter-n300:white:wlan";
> +};
> +
> +&firmware_part {
> +		reg = <0x50000 0xfb0000>;
> +};
> diff --git a/target/linux/ramips/dts/mt7628an_glinet_vixmini.dts
> b/target/linux/ramips/dts/mt7628an_glinet_vixmini.dts
> index 0935ec869b..9cdd9a0e14 100644
> --- a/target/linux/ramips/dts/mt7628an_glinet_vixmini.dts
> +++ b/target/linux/ramips/dts/mt7628an_glinet_vixmini.dts
> @@ -1,104 +1,21 @@
>  // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
>  /dts-v1/;
> 
> -#include "mt7628an.dtsi"
> -
> -#include <dt-bindings/gpio/gpio.h>
> -#include <dt-bindings/input/input.h>
> +#include "mt7628an_glinet_vixmini_microuter.dtsi"
> 
>  /{

Space?

>  	compatible = "glinet,vixmini", "mediatek,mt7628an-soc";
>  	model = "GL.iNet VIXMINI";
> -
> -	aliases {
> -		led-boot = &led_power;
> -		led-failsafe = &led_power;
> -		led-running = &led_power;
> -		led-upgrade = &led_power;
> -	};
> -
> -	chosen {
> -		bootargs = "console=ttyS0,115200";
> -	};
> -
> -	leds {
> -		compatible = "gpio-leds";
> -
> -		led_power: power {
> -			label = "vixmini:blue:power";
> -			default-state = "on";
> -			gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
> -		};
> -
> -		wlan {
> -			label = "vixmini:white:wlan";
> -			gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
> -			linux,default-trigger = "phy0tpt";
> -		};
> -	};
> -
> -	keys {
> -		compatible = "gpio-keys";
> -
> -		reset {
> -			label = "reset";
> -			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
> -			linux,code = <KEY_RESTART>;
> -		};
> -	};
>  };
> 
> -&state_default {
> -	gpio {
> -		ralink,group = "wdt", "wled_an", "p1led_an";
> -		ralink,function = "gpio";
> -	};
> +&led_power_blue {
> +	label = "vixmini:blue:power";
>  };
> 
> -&ethernet {
> -	mtd-mac-address = <&factory 0x4>;
> +&led_wlan_white {
> +	label = "vixmini:white:wlan";
>  };
> 
> -&wmac {
> -	status = "okay";
> -};
> -
> -&spi0 {
> -	status = "okay";
> -
> -	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>;
> -			};
> -		};
> -	};
> +&firmware_part {
> +		reg = <0x50000 0x7b0000>;
>  };
> diff --git a/target/linux/ramips/dts/mt7628an_glinet_vixmini_microuter.dtsi
> b/target/linux/ramips/dts/mt7628an_glinet_vixmini_microuter.dtsi
> new file mode 100644
> index 0000000000..b5611ac11e
> --- /dev/null
> +++ b/target/linux/ramips/dts/mt7628an_glinet_vixmini_microuter.dtsi
> @@ -0,0 +1,104 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +
> +#include "mt7628an.dtsi"
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +
> +/{

Space missing here again (see above).

> +	aliases {
> +		led-boot = &led_power_blue;
> +		led-failsafe = &led_power_blue;
> +		led-running = &led_power_blue;
> +		led-upgrade = &led_power_blue;
> +
> +		label-mac-device = ðernet;

I'd have done this in a separate commit, or at least added a comment to the
commit message.

> +	};
> +
> +	chosen {
> +		bootargs = "console=ttyS0,115200";
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +
> +		led_power_blue: power {
> +			/* Name is set device-specific */
> +			gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
> +		};
> +
> +		led_wlan_white: wlan {
> +			/* Name is set device-specific */
> +			gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
> +			linux,default-trigger = "phy0tpt";
> +		};
> +	};
> +
> +	keys {
> +		compatible = "gpio-keys";
> +
> +		reset {
> +			label = "reset";
> +			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_RESTART>;
> +		};
> +	};
> +};
> +
> +&state_default {
> +	gpio {
> +		ralink,group = "wdt", "wled_an", "p1led_an";
> +		ralink,function = "gpio";
> +	};
> +};
> +
> +&ethernet {
> +	mtd-mac-address = <&factory 0x4>;
> +};
> +
> +&wmac {
> +	status = "okay";
> +};
> +
> +&spi0 {
> +	status = "okay";
> +
> +	flash at 0 {
> +		compatible = "jedec,spi-nor";
> +		reg = <0>;
> +		spi-max-frequency = <10000000>;
> +
> +		partitions: 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;
> +			};
> +
> +			/*
> +			 * Firmware-partition size is model-specific
> +			 * due to different flash sizes.
> +			 */
> +			firmware_part: partition at 50000 {

Why not just call it "firmware" corresponding to the label and how we do it with
factory?

> +				compatible = "denx,uimage";
> +				label = "firmware";
> +			};
> +		};
> +	};
> +};
> diff --git a/target/linux/ramips/image/mt76x8.mk
> b/target/linux/ramips/image/mt76x8.mk
> index 5ddeec14d5..37cac84229 100644
> --- a/target/linux/ramips/image/mt76x8.mk
> +++ b/target/linux/ramips/image/mt76x8.mk
> @@ -70,6 +70,14 @@ define Device/glinet_gl-mt300n-v2
>  endef
>  TARGET_DEVICES += glinet_gl-mt300n-v2
> 
> +define Device/glinet_microuter-n300
> +  IMAGE_SIZE := 16064k
> +  DEVICE_VENDOR := GL.iNet
> +  DEVICE_MODEL := microuter-N300
> +  SUPPORTED_DEVICES += microuter-n300

That's needed for GLinet's OpenWrt?

Best

Adrian

> +endef
> +TARGET_DEVICES += glinet_microuter-n300
> +
>  define Device/glinet_vixmini
>    IMAGE_SIZE := 7872k
>    DEVICE_VENDOR := GL.iNet
> 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 b036eb76e6..259a257f16 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
> @@ -33,6 +33,7 @@ ramips_setup_interfaces()
>  		ucidef_add_switch "switch0" \
>  			"1:lan" "0:wan" "6 at eth0"
>  		;;
> +	glinet,microuter-n300|\
>  	glinet,vixmini)
>  		ucidef_add_switch "switch0" \
>  			"0:lan" "6 at eth0"
> --
> 2.25.0
> 
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel


_______________________________________________
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