Skip to content

Commit

Permalink
ramips: add support for GL.iNet GL-MT1300
Browse files Browse the repository at this point in the history
The GL-MT1300 is a high-performance new generation pocket-sized router
that offers a powerful hardware and first-class cybersecurity protocol
with unique and modern design.

Specifications:
- SoC: MT7621A, Dual-Core @880MHz
- RAM: 256 MB DDR3
- Flash: 32 MB
- Ethernet: 3 x 10/100/1000: 2 x LAN + 1 x WAN
- Wireless: 1 x MT7615D Dual-Band 2.4GHz(400Mbps) + 5GHz(867Mbps)
- USB: 1 x USB 3.0 port
- Slot: 1 x MicroSD card slot
- Button: 1 x Reset button
- Switch: 1 x Mode switch
- LED: 1 x Blue LED + 1 x White LED

MAC addresses based on vendor firmware:
WAN : factory 0x4000
LAN : Mac from factory 0x4000 + 1
2.4GHz : factory 0x4
5GHz : Mac form factory 0x4 + 1

Flashing instructions:
1.Connect to one of LAN ports.
2.Set the static IP on the PC to 192.168.1.2.
3.Press the Reset button and power the device (do not release the button).
  After waiting for the blue led to flash 5 times, the white led will
  come on and release the button.
4.Browse the 192.168.1.1 web page and update firmware according to web
  tips.
5.The blue led will flash when the firmware is being upgraded.
6.The blue led stops blinking to indicate that the firmware upgrade is
  complete and U-Boot automatically starts the firmware.

For more information on GL-MT1300, see the OFFICIAL GL.iNet website:
https://www.gl-inet.com/products/gl-mt1300/

Signed-off-by: Xinfa Deng <xinfa.deng@gl-inet.com>
[add input-type for switch, wrap long line in 10_fix_wifi_mac]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
  • Loading branch information
Xinfa Deng authored and adschm committed Dec 17, 2020
1 parent c65faa6 commit d89a7f0
Show file tree
Hide file tree
Showing 4 changed files with 165 additions and 0 deletions.
151 changes: 151 additions & 0 deletions target/linux/ramips/dts/mt7621_glinet_gl-mt1300.dts
@@ -0,0 +1,151 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT

#include "mt7621.dtsi"

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

/ {
compatible = "glinet,gl-mt1300", "mediatek,mt7621-soc";
model = "GL.iNet GL-MT1300";

aliases {
led-boot = &led_run;
led-failsafe = &led_run;
led-running = &led_run;
led-upgrade = &led_run;
label-mac-device = &wan;
};

chosen {
bootargs = "console=ttyS0,115200";
};

keys {
compatible = "gpio-keys";

reset {
label = "reset";
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};

switch {
label = "switch";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
linux,code = <BTN_0>;
linux,input-type = <EV_SW>;
};
};

leds {
compatible = "gpio-leds";

led_run: run {
label = "blue:run";
gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
};

system {
label = "white:system";
gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
};
};
};

&i2c {
status = "okay";
};

&sdhci {
status = "okay";
};

&spi0 {
status = "okay";

flash@0 {
compatible = "mx25l25635f", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <80000000>;
m25p,fast-read;

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 0x1fb0000>;
};
};
};
};

&pcie {
status = "okay";
};

&pcie0 {
wifi@0,0 {
compatible = "mediatek,mt76";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x0>;
};
};

&gmac0 {
mtd-mac-address = <&factory 0x4000>;
mtd-mac-address-increment = <1>;
};

&switch0 {
ports {
port@2 {
status = "okay";
label = "lan1";
};

port@3 {
status = "okay";
label = "lan2";
};

wan: port@4 {
status = "okay";
label = "wan";
mtd-mac-address = <&factory 0x4000>;
};
};
};

&uartlite3 {
status = "okay";
};

&state_default {
gpio {
group = "wdt", "jtag";
function = "gpio";
};
};
9 changes: 9 additions & 0 deletions target/linux/ramips/image/mt7621.mk
Expand Up @@ -475,6 +475,15 @@ define Device/gehua_ghl-r-001
endef
TARGET_DEVICES += gehua_ghl-r-001

define Device/glinet_gl-mt1300
$(Device/dsa-migration)
IMAGE_SIZE := 32448k
DEVICE_VENDOR := GL.iNet
DEVICE_MODEL := GL-MT1300
DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware kmod-usb3
endef
TARGET_DEVICES += glinet_gl-mt1300

define Device/gnubee_gb-pc1
$(Device/dsa-migration)
DEVICE_VENDOR := GnuBee
Expand Down
Expand Up @@ -14,6 +14,7 @@ ramips_setup_interfaces()
ucidef_set_interfaces_lan_wan "lan" "wan"
;;
asiarf,ap7621-nv1|\
glinet,gl-mt1300|\
lenovo,newifi-d1|\
mikrotik,routerboard-m33g|\
xiaomi,mi-router-3g|\
Expand Down
Expand Up @@ -10,6 +10,10 @@ PHYNBR=${DEVPATH##*/phy}
board=$(board_name)

case "$board" in
glinet,gl-mt1300)
[ "$PHYNBR" = "1" ] && \
macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1 > /sys${DEVPATH}/macaddress
;;
linksys,ea7300-v1|\
linksys,ea7300-v2|\
linksys,ea7500-v2)
Expand Down

1 comment on commit d89a7f0

@ziesemer
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Please sign in to comment.