[openwrt/openwrt] ramips: add support for GL.iNet GL-MT1300

LEDE Commits lede-commits at lists.infradead.org
Thu Dec 17 06:05:44 EST 2020


adrian pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/d89a7f0120db42d4fae1656e1860ef49523acabb

commit d89a7f0120db42d4fae1656e1860ef49523acabb
Author: Xinfa Deng <xinfa.deng at gl-inet.com>
AuthorDate: Wed Dec 16 15:58:28 2020 +0800

    ramips: add support for GL.iNet GL-MT1300
    
    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 at gl-inet.com>
    [add input-type for switch, wrap long line in 10_fix_wifi_mac]
    Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
 .../linux/ramips/dts/mt7621_glinet_gl-mt1300.dts   | 151 +++++++++++++++++++++
 target/linux/ramips/image/mt7621.mk                |   9 ++
 .../mt7621/base-files/etc/board.d/02_network       |   1 +
 .../etc/hotplug.d/ieee80211/10_fix_wifi_mac        |   4 +
 4 files changed, 165 insertions(+)

diff --git a/target/linux/ramips/dts/mt7621_glinet_gl-mt1300.dts b/target/linux/ramips/dts/mt7621_glinet_gl-mt1300.dts
new file mode 100644
index 0000000000..49eeb46d5f
--- /dev/null
+++ b/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 at 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 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 0x1fb0000>;
+			};
+		};
+	};
+};
+
+&pcie {
+	status = "okay";
+};
+
+&pcie0 {
+	wifi at 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 at 2 {
+			status = "okay";
+			label = "lan1";
+		};
+
+		port at 3 {
+			status = "okay";
+			label = "lan2";
+		};
+
+		wan: port at 4 {
+			status = "okay";
+			label = "wan";
+			mtd-mac-address = <&factory 0x4000>;
+		};
+	};
+};
+
+&uartlite3 {
+	status = "okay";
+};
+
+&state_default {
+	gpio {
+		group = "wdt", "jtag";
+		function = "gpio";
+	};
+};
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index fad18552c9..282152e79d 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -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
diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
index c5b35145f1..bca4cc23dc 100755
--- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
@@ -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|\
diff --git a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
index b7a41f038c..e7f778aaf8 100644
--- a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
+++ b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
@@ -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)



More information about the lede-commits mailing list