Hi,

> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-boun...@lists.openwrt.org]
> On Behalf Of xinfa.d...@gl-inet.com
> Sent: Montag, 14. Dezember 2020 10:55
> To: openwrt-devel@lists.openwrt.org
> Cc: GL.iNet-Xinfa.Deng <xinfa.d...@gl-inet.com>
> Subject: [PATCH] ramips: add support for GL.iNet GL-MT1300
> 
> From: "GL.iNet-Xinfa.Deng" <xinfa.d...@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.d...@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@1E000000 {
> +             i2c@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@0 {

flash@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@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>;
> +             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@2 {
> +                     status = "okay";
> +                     label = "lan1";
> +                     mtd-mac-address = <&factory 0x4000>;
> +                     mtd-mac-address-increment = <1>;
> +             };
> +
> +             port@3 {
> +                     status = "okay";
> +                     label = "lan2";
> +                     mtd-mac-address = <&factory 0x4000>;
> +                     mtd-mac-address-increment = <1>;
> +             };
> +             wan: port@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@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Attachment: openpgp-digital-signature.asc
Description: PGP signature

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to