[PATCH] ramips: add support for GL.iNet GL-MT1300
Adrian Schmutzler
mail at adrianschmutzler.de
Mon Dec 14 09:40:05 EST 2020
Hi,
> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org]
> On Behalf Of xinfa.deng at gl-inet.com
> Sent: Montag, 14. Dezember 2020 10:55
> To: openwrt-devel at lists.openwrt.org
> Cc: GL.iNet-Xinfa.Deng <xinfa.deng at gl-inet.com>
> Subject: [PATCH] ramips: add support for GL.iNet GL-MT1300
>
> From: "GL.iNet-Xinfa.Deng" <xinfa.deng at gl-inet.com>
Please use a proper name of a person only both for From: and Signed-off-by:.
>
> 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 0x04
> 5GHz : Mac form factory 0x04 + 1
>
> For more information on GL-MT1300, see the OFFICIAL GL.iNet website:
> https://www.gl-inet.com/products/gl-mt1300/
>
> Signed-off-by: GL.iNet-Xinfa.Deng <xinfa.deng at gl-inet.com>
> ---
> .../linux/ramips/dts/mt7621_glinet_gl-mt1300.dts | 157
> +++++++++++++++++++++
> target/linux/ramips/image/mt7621.mk | 9 ++
> .../mt7621/base-files/etc/board.d/02_network | 1 +
> .../etc/hotplug.d/ieee80211/10_fix_wifi_mac | 3 +
> 4 files changed, 170 insertions(+)
> create mode 100644 target/linux/ramips/dts/mt7621_glinet_gl-mt1300.dts
>
> 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 0000000..317a8f8
> --- /dev/null
> +++ b/target/linux/ramips/dts/mt7621_glinet_gl-mt1300.dts
> @@ -0,0 +1,157 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/;
dts-v1 is in mt7621.dtsi now and can be dropped here.
> +
> +#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;
> + };
Can you provide a label-mac-device here? Would be probably either &gmac or &wan based on which interface matches the (first) MAC address on the device's label/box.
> +
> + chosen {
> + bootargs = "console=ttyS0,115200";
> + };
> +
> + palmbus: palmbus at 1E000000 {
> + i2c at 900 {
> + status = "okay";
> + };
> + };
Just use
&i2c {
status = "okay";
}
instead.
> +
> + keys {
> + compatible = "gpio-keys-polled";
> + poll-interval = <20>;
Using "gpio-keys" is preferred here.
> +
> + reset {
> + label = "reset";
> + gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
> + linux,code = <KEY_RESTART>;
> + };
> +
> + BTN_0 {
> + label = "BTN_0";
It would be nice to use a more friendly name here. Might be just something generic like "user" or "configurable" ...
> + gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
> + linux,code = <BTN_0>;
> + };
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> +
> + led_run: blue {
> + label = "gl-mt1300:blue";
The LED labels should be "color:function". Thus, you might probably want something like "blue:run", "blue:system", "blue:power" or similar here.
> + gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
> + };
> +
> + white {
> + label = "gl-mt1300:white";
See above.
> + gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
> + };
> + };
> +};
> +
> +&sdhci {
> + status = "okay";
> +};
> +
> +&spi0 {
> + status = "okay";
> +
> + m25p80 at 0 {
flash at 0
> + compatible = "mx25l25635f", "jedec,spi-nor";
Is the first compatible value required?
> + reg = <0>;
> + spi-max-frequency = <10000000>;
This probably can go much faster ...?
> +
> + 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>;
> + mtd-mac-address = <&factory 0x0004>;
This line can be dropped, MAC address will be set from caldata automatically.
> + };
> +};
> +
> +&gmac0 {
> + mtd-mac-address = <&factory 0x4000>;
Just put the increment here, and remove the statement on the lan (not wan) ports.
> +};
> +
> +&switch0 {
> + ports {
> + port at 2 {
> + status = "okay";
> + label = "lan1";
> + mtd-mac-address = <&factory 0x4000>;
> + mtd-mac-address-increment = <1>;
> + };
> +
> + port at 3 {
> + status = "okay";
> + label = "lan2";
> + mtd-mac-address = <&factory 0x4000>;
> + mtd-mac-address-increment = <1>;
> + };
> + wan: port at 4 {
The "wan:" DT label is only needed if you use it for label-mac-device. Otherwise, it can be dropped.
> + status = "okay";
> + label = "wan";
> + mtd-mac-address = <&factory 0x4000>;
> + };
> + };
> +};
> +
> +&uartlite3 {
> + status = "okay";
> +};
> +
> +&pinctrl {
> + state_default: pinctrl0 {
> + gpio {
> + ralink,group = "wdt", "rgmii2", "jtag", "mdio";
I don't see rgmii2 and mdio required anywhere?
Apart from that, please note that the syntax has changed. Just have a look at any of the other DTS files for mt7621.
> + ralink,function = "gpio";
> + };
> + };
> +};
> diff --git a/target/linux/ramips/image/mt7621.mk
> b/target/linux/ramips/image/mt7621.mk
> index fad1855..615a55a 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 c5b3514..bca4cc2 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 b7a41f0..49b61a5 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_f
> +++ ix_wifi_mac
> @@ -10,6 +10,9 @@ PHYNBR=${DEVPATH##*/phy}
> board=$(board_name)
>
> case "$board" in
> + glinet,gl-mt1300)
> + [ "$PHYNBR" = "1" ] && macaddr_add
> "$(mtd_get_mac_binary factory 0x04)" 1 > /sys${DEVPATH}/macaddress
> + ;;
Again, I'd personally just use 0x4 instead 0x04 here.
Best
Adrian
> linksys,ea7300-v1|\
> linksys,ea7300-v2|\
> linksys,ea7500-v2)
> --
> 2.7.4
>
>
>
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openpgp-digital-signature.asc
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.openwrt.org/pipermail/openwrt-devel/attachments/20201214/54a9ca5c/attachment.sig>
More information about the openwrt-devel
mailing list