ramips: Add support for GL-MT300A
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 10 Mar 2016 19:11:57 +0000 (19:11 +0000)
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 10 Mar 2016 19:11:57 +0000 (19:11 +0000)
This patches adds support for GL-MT300A.
GL-MT300A is powered by MT7620A. It has 16MB flash, 128MB RAM,
Two LANs, USB, UART and MMC daughter board.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@48992 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/ramips/base-files/etc/board.d/01_leds
target/linux/ramips/base-files/etc/board.d/02_network
target/linux/ramips/base-files/lib/ramips.sh
target/linux/ramips/base-files/lib/upgrade/platform.sh
target/linux/ramips/dts/GL-MT300A.dts [new file with mode: 0644]
target/linux/ramips/image/Makefile
target/linux/ramips/mt7620/profiles/gli.mk [new file with mode: 0644]

index 8fd50fe..536a363 100755 (executable)
@@ -137,6 +137,9 @@ fonera20n)
        set_usb_led "$board:orange:usb"
        set_wifi_led "$board:orange:wifi"
        ;;
        set_usb_led "$board:orange:usb"
        set_wifi_led "$board:orange:wifi"
        ;;
+gl-mt300a)
+       set_wifi_led "$board:wlan"
+       ;;
 hc5661)
        ucidef_set_led_default "system" "system" "$board:blue:system" "1"
        ucidef_set_led_netdev "internet" "internet" "$board:blue:internet" "eth0.2"
 hc5661)
        ucidef_set_led_default "system" "system" "$board:blue:system" "1"
        ucidef_set_led_netdev "internet" "internet" "$board:blue:internet" "eth0.2"
index ac5a312..74599ad 100755 (executable)
@@ -113,6 +113,7 @@ ramips_setup_interfaces()
        dir-860l-b1|\
        f5d8235-v1|\
        f5d8235-v2|\
        dir-860l-b1|\
        f5d8235-v1|\
        f5d8235-v2|\
+       gl-mt300a|\
        hg255d|\
        mzk-wdpr|\
        jhr-n805r|\
        hg255d|\
        mzk-wdpr|\
        jhr-n805r|\
index 3fdb562..ba27c14 100755 (executable)
@@ -175,6 +175,9 @@ ramips_board_detect() {
        *"FreeStation5")
                name="freestation5"
                ;;
        *"FreeStation5")
                name="freestation5"
                ;;
+       *"GL-MT300A")
+               name="gl-mt300a"
+               ;;
        *"HC5661")
                name="hc5661"
                ;;
        *"HC5661")
                name="hc5661"
                ;;
index e01f9ce..876416e 100755 (executable)
@@ -56,6 +56,7 @@ platform_check_image() {
        firewrt|\
        fonera20n|\
        freestation5|\
        firewrt|\
        fonera20n|\
        freestation5|\
+       gl-mt300a|\
        hc5*61|\
        hg255d|\
        hlk-rm04|\
        hc5*61|\
        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 (file)
index 0000000..c1eb0a9
--- /dev/null
@@ -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>;
+               };
+       };
+};
index e85c574..fb7407b 100644 (file)
@@ -993,6 +993,7 @@ Image/Build/Profile/RT-N14U=$(call BuildFirmware/Default8M/$(1),$(1),rt-n14u,RT-
 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/MIWIFI-MINI=$(call BuildFirmware/Default16M/$(1),$(1),miwifi-mini,MIWIFI-MINI)
 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/MIWIFI-MINI=$(call BuildFirmware/Default16M/$(1),$(1),miwifi-mini,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/YOUKU-YK1=$(call BuildFirmware/Default16M/$(1),$(1),youku-yk1,YOUKU-YK1)
 Image/Build/Profile/ZBT-WA05=$(call BuildFirmware/Default8M/$(1),$(1),zbt-wa05,ZBT-WA05)
 Image/Build/Profile/ZTE-Q7=$(call BuildFirmware/Default8M/$(1),$(1),zte-q7,ZTE-Q7)
 Image/Build/Profile/YOUKU-YK1=$(call BuildFirmware/Default16M/$(1),$(1),youku-yk1,YOUKU-YK1)
 Image/Build/Profile/ZBT-WA05=$(call BuildFirmware/Default8M/$(1),$(1),zbt-wa05,ZBT-WA05)
@@ -1036,6 +1037,7 @@ define Image/Build/Profile/Default
        $(call Image/Build/Profile/WRTNODE,$(1))
        $(call Image/Build/Profile/WT3020,$(1))
        $(call Image/Build/Profile/MIWIFI-MINI,$(1))
        $(call Image/Build/Profile/WRTNODE,$(1))
        $(call Image/Build/Profile/WT3020,$(1))
        $(call Image/Build/Profile/MIWIFI-MINI,$(1))
+       $(call Image/Build/Profile/GL-MT300A,$(1))
        $(call Image/Build/Profile/ZTE-Q7,$(1))
        $(call Image/Build/Profile/YOUKU-YK1,$(1))
        $(call Image/Build/Profile/ZBT-WA05,$(1))
        $(call Image/Build/Profile/ZTE-Q7,$(1))
        $(call Image/Build/Profile/YOUKU-YK1,$(1))
        $(call Image/Build/Profile/ZBT-WA05,$(1))
diff --git a/target/linux/ramips/mt7620/profiles/gli.mk b/target/linux/ramips/mt7620/profiles/gli.mk
new file mode 100644 (file)
index 0000000..53e2e9d
--- /dev/null
@@ -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))