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.

Additionally, set the label-mac for both the VIXMINI as well as the
microuter-N300.

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@david-bauer.net>
This commit is contained in:
David Bauer 2020-01-06 00:31:24 +01:00
parent b3e86cbb4f
commit b30f2281cc
5 changed files with 142 additions and 91 deletions

View File

@ -0,0 +1,21 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "mt7628an_glinet_vixmini_microuter.dtsi"
/ {
compatible = "glinet,microuter-n300", "mediatek,mt7628an-soc";
model = "GL.iNet microuter-N300";
};
&led_power_blue {
label = "microuter-n300:blue:power";
};
&led_wlan_white {
label = "microuter-n300:white:wlan";
};
&firmware_part {
reg = <0x50000 0xfb0000>;
};

View File

@ -1,104 +1,21 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "mt7628an.dtsi"
#include "mt7628an_glinet_vixmini_microuter.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/{
/ {
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@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>;
};
};
};
&firmware_part {
reg = <0x50000 0x7b0000>;
};

View File

@ -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>
/ {
aliases {
led-boot = &led_power_blue;
led-failsafe = &led_power_blue;
led-running = &led_power_blue;
led-upgrade = &led_power_blue;
label-mac-device = &ethernet;
};
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@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
partitions: 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;
};
/*
* Firmware-partition size is model-specific
* due to different flash sizes.
*/
firmware_part: partition@50000 {
compatible = "denx,uimage";
label = "firmware";
};
};
};
};

View File

@ -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
endef
TARGET_DEVICES += glinet_microuter-n300
define Device/glinet_vixmini
IMAGE_SIZE := 7872k
DEVICE_VENDOR := GL.iNet

View File

@ -33,6 +33,7 @@ ramips_setup_interfaces()
ucidef_add_switch "switch0" \
"1:lan" "0:wan" "6@eth0"
;;
glinet,microuter-n300|\
glinet,vixmini)
ucidef_add_switch "switch0" \
"0:lan" "6@eth0"