Backport of changeset 48992
Add GL-MT300A support

Signed-off-by: alzhao <alz...@gmail.com>
---
 target/linux/ramips/base-files/etc/board.d/01_leds |   3 +
 .../linux/ramips/base-files/etc/board.d/02_network |   7 +
 target/linux/ramips/base-files/lib/ramips.sh       |   3 +
 .../ramips/base-files/lib/upgrade/platform.sh      |   1 +
 target/linux/ramips/dts/GL-MT300A.dts              | 164 +++++++++++++++++++++
 target/linux/ramips/image/Makefile                 |   2 +
 target/linux/ramips/mt7620/profiles/gli.mk         |  16 ++
 7 files changed, 196 insertions(+)
 create mode 100644 target/linux/ramips/dts/GL-MT300A.dts
 create mode 100644 target/linux/ramips/mt7620/profiles/gli.mk

diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds 
b/target/linux/ramips/base-files/etc/board.d/01_leds
index 5327d00..a3661e8 100755
--- a/target/linux/ramips/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/base-files/etc/board.d/01_leds
@@ -147,6 +147,9 @@ case $board in
        mofi3500-3gn)
                set_usb_led "mofi3500-3gn:green:usb"
                ;;
+    gl-mt300a)
+               set_wifi_led "gl-mt300a:wlan"
+               ;;
        mpr-a1)
                set_wifi_led "hame:blue:system"
                ;;
diff --git a/target/linux/ramips/base-files/etc/board.d/02_network 
b/target/linux/ramips/base-files/etc/board.d/02_network
index a78912d..b5c2b81 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -153,6 +153,13 @@ ramips_setup_interfaces()
                ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 6t"
                ucidef_add_switch_vlan "switch0" "2" "4 6t"
                ;;
+       
+       gl-mt300a)
+               ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
+               ucidef_add_switch "switch0" "1" "1"
+               ucidef_add_switch_vlan "switch0" "2" "0 6t"
+               ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 6t"
+               ;;
 
        whr-1166d)
                ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
diff --git a/target/linux/ramips/base-files/lib/ramips.sh 
b/target/linux/ramips/base-files/lib/ramips.sh
index 8dc05b0..40c26e6 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -169,6 +169,9 @@ ramips_board_detect() {
        *"F5D8235 v2")
                name="f5d8235-v2"
                ;;
+       *"GL-MT300A")
+               name="gl-mt300a"
+               ;;
        *"Hauppauge Broadway")
                name="broadway"
                ;;
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh 
b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index a3d0175..cfd44d7 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -55,6 +55,7 @@ platform_check_image() {
        fonera20n | \
        freestation5 | \
        firewrt |\
+       gl-mt300a |\
        pbr-m1 |\
        hg255d | \
        hlk-rm04 | \
diff --git a/target/linux/ramips/dts/GL-MT300A.dts 
b/target/linux/ramips/dts/GL-MT300A.dts
new file mode 100644
index 0000000..c1eb0a9
--- /dev/null
+++ b/target/linux/ramips/dts/GL-MT300A.dts
@@ -0,0 +1,164 @@
+/dts-v1/;
+
+/include/ "mt7620a.dtsi"
+
+/ {
+       compatible = "GL-MT300A", "ralink,mt7620a-soc";
+       model = "GL-MT300A";
+
+       chosen {
+               bootargs = "console=ttyS0,115200";
+       };
+
+       palmbus@10000000 {
+               gpio0: gpio@600 {
+                       status = "okay";
+               };
+
+               gpio1: gpio@638 {
+                       status = "okay";
+               };
+
+               gpio2: gpio@660 {
+                       status = "okay";
+               };
+               
+               gpio3: gpio@688 {
+                     status = "okay";
+                };
+
+               spi@b00 {
+                       status = "okay";
+
+                       m25p80@0 {
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               compatible = "w25q128";
+                               reg = <0 0>;
+                               linux,modalias = "m25p80", "w25q128";
+                               spi-max-frequency = <10000000>;
+
+                               partition@0 {
+                                       label = "u-boot";
+                                       reg = <0x0 0x30000>;
+                               };
+
+                               partition@30000 {
+                                       label = "u-boot-env";
+                                       reg = <0x30000 0x10000>;
+                                       read-only;
+                               };
+
+                               factory: partition@40000 {
+                                       label = "factory";
+                                       reg = <0x40000 0x10000>;
+                                       read-only;
+                               };
+
+                               partition@50000 {
+                                       label = "firmware";
+                                       reg = <0x50000 0xf80000>;
+                               };
+
+                               partition@ff0000 {
+                                       label = "art";
+                                       reg = <0xff0000 0x10000>;
+                               };
+                       };
+               };
+       };
+
+       sdhci@10130000 {
+               status = "okay";
+       };
+
+       ehci@101c0000 {
+               status = "okay";
+       };
+
+       ohci@101c1000 {
+               status = "okay";
+       };
+
+       ethernet@10100000 {
+               pinctrl-names = "default";
+               pinctrl-0 = <&ephy_pins>;
+               mtd-mac-address = <&factory 0x4000>;
+               ralink,port-map = "wllll";
+       };
+
+       wmac@10180000 {
+               ralink,mtd-eeprom = <&factory 0>;
+       };
+
+       pcie@10140000 {
+               status = "okay";
+
+               pcie-bridge {
+                       mt76@0,0 {
+                               reg = <0x0000 0 0 0 0>;
+                               device_type = "pci";
+                               mediatek,mtd-eeprom = <&factory 0x8000>;
+                               mediatek,2ghz = <0>;
+                       };
+               };
+       };
+
+       pinctrl {
+               state_default: pinctrl0 {
+                       gpio {
+                               ralink,group = "wled","ephy","uartf","i2c";
+                               ralink,function = "gpio";
+                       };
+               };
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+
+               wan {
+                       label = "gl-mt300a:wan";
+                       gpios = <&gpio2 0 1>;
+               };
+
+               lan {
+                       label = "gl-mt300a:lan";
+                       gpios = <&gpio2 1 1>;
+               };
+
+               wlan {
+                       label = "gl-mt300a:wlan";
+                       gpios = <&gpio3 0 1>;
+               };
+
+               usb {
+                       label = "gl-mt300a:usb";
+                       gpios = <&gpio0 7 1>;
+               };
+
+       };
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <20>;
+               reset {
+                       label = "reset";
+                       gpios = <&gpio0 13 1>;
+                       linux,code = <0x198>;
+               };
+
+               BTN_0 {
+                       label = "BTN_0";
+                       gpios = <&gpio0 1 1>;
+                       linux,code = <0x100>;
+               };
+
+           BTN_1 {
+                       label = "BTN_1";
+                       gpios = <&gpio0 2 1>;
+                       linux,code = <0x101>;
+               };
+       };
+};
diff --git a/target/linux/ramips/image/Makefile 
b/target/linux/ramips/image/Makefile
index c4f4028..d4991ad 100644
--- a/target/linux/ramips/image/Makefile
+++ b/target/linux/ramips/image/Makefile
@@ -910,6 +910,7 @@ Image/Build/Profile/WR8305RT=$(call 
BuildFirmware/Default8M/$(1),$(1),wr8305rt,W
 Image/Build/Profile/WRTNODE=$(call 
BuildFirmware/Default16M/$(1),$(1),wrtnode,WRTNODE)
 Image/Build/Profile/WT3020=$(call 
BuildFirmware/PorayDualSize/$(1),$(1),wt3020,WT3020)
 Image/Build/Profile/XIAOMI-MIWIFI-MINI=$(call 
BuildFirmware/Default16M/$(1),$(1),xiaomi-miwifi-mini,XIAOMI-MIWIFI-MINI)
+Image/Build/Profile/GL-MT300A=$(call 
BuildFirmware/Default16M/$(1),$(1),gl-mt300a,GL-MT300A)
 Image/Build/Profile/ZTE-Q7=$(call 
BuildFirmware/Default8M/$(1),$(1),zte-q7,ZTE-Q7)
 Image/Build/Profile/ZBT-WA05=$(call 
BuildFirmware/Default8M/$(1),$(1),zbt-wa05,ZBT-WA05)
 Image/Build/Profile/ArcherC20i=$(call 
BuildFirmware/Tplink/$(1),$(1),ArcherC20i,ArcherC20i)
@@ -944,6 +945,7 @@ define Image/Build/Profile/Default
        $(call Image/Build/Profile/WRTNODE,$(1))
        $(call Image/Build/Profile/WT3020,$(1))
        $(call Image/Build/Profile/XIAOMI-MIWIFI-MINI,$(1))
+       $(call Image/Build/Profile/GL-MT300A,$(1))
        $(call Image/Build/Profile/ZTE-Q7,$(1))
        $(call Image/Build/Profile/ZBT-WA05,$(1))
        $(call Image/Build/Profile/ArcherC20i,$(1))
diff --git a/target/linux/ramips/mt7620/profiles/gli.mk 
b/target/linux/ramips/mt7620/profiles/gli.mk
new file mode 100644
index 0000000..53e2e9d
--- /dev/null
+++ b/target/linux/ramips/mt7620/profiles/gli.mk
@@ -0,0 +1,16 @@
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/GL-MT300A
+       NAME:=GL-MT300A 
+       PACKAGES:=kmod-usb-core kmod-usb-dwc2 kmod-usb2 kmod-usb-ohci kmod-mt76
+endef
+
+define Profile/GL-MT300A/Description
+       Support for gl-mt300a Router
+endef
+$(eval $(call Profile,GL-MT300A))
-- 
1.9.1
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to