[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";
> };
>
> -ðernet {
> - 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";
> + };
> +};
> +
> +ðernet {
> + 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