ramips: Add support for GL-MT300N
authorJohn Crispin <john@openwrt.org>
Thu, 10 Mar 2016 19:12:04 +0000 (19:12 +0000)
committerJohn Crispin <john@openwrt.org>
Thu, 10 Mar 2016 19:12:04 +0000 (19:12 +0000)
This patch adds support for GL-MT300N.
GL-MT300N is powered by MT7620N with 16MB flash, 64MB RAM,
2 LANs, USB, UART, GPIO and PoE support.

SVN-Revision: 48993

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-MT300N.dts [new file with mode: 0644]
target/linux/ramips/image/Makefile
target/linux/ramips/mt7620/profiles/gli.mk

index 536a363..132c7ce 100755 (executable)
@@ -137,7 +137,8 @@ fonera20n)
        set_usb_led "$board:orange:usb"
        set_wifi_led "$board:orange:wifi"
        ;;
-gl-mt300a)
+gl-mt300a|\
+gl-mt300n)
        set_wifi_led "$board:wlan"
        ;;
 hc5661)
index 74599ad..40c24a9 100755 (executable)
@@ -114,6 +114,7 @@ ramips_setup_interfaces()
        f5d8235-v1|\
        f5d8235-v2|\
        gl-mt300a|\
+       gl-mt300n|\
        hg255d|\
        mzk-wdpr|\
        jhr-n805r|\
index ba27c14..fcc4b9f 100755 (executable)
@@ -178,6 +178,9 @@ ramips_board_detect() {
        *"GL-MT300A")
                name="gl-mt300a"
                ;;
+       *"GL-MT300N")
+               name="gl-mt300n"
+               ;;
        *"HC5661")
                name="hc5661"
                ;;
index 876416e..8727831 100755 (executable)
@@ -57,6 +57,7 @@ platform_check_image() {
        fonera20n|\
        freestation5|\
        gl-mt300a|\
+       gl-mt300n|\
        hc5*61|\
        hg255d|\
        hlk-rm04|\
diff --git a/target/linux/ramips/dts/GL-MT300N.dts b/target/linux/ramips/dts/GL-MT300N.dts
new file mode 100644 (file)
index 0000000..82db37e
--- /dev/null
@@ -0,0 +1,153 @@
+/dts-v1/;
+
+/include/ "mt7620n.dtsi"
+
+/ {
+       compatible = "GL-MT300N", "ralink,mt7620n-soc";
+       model = "GL-MT300N";
+
+       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>;
+                               };
+                       };
+               };
+       };
+
+       ehci@101c0000 {
+               status = "okay";
+       };
+
+       ohci@101c1000 {
+               status = "okay";
+       };
+
+       ethernet@10100000 {
+               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","i2c";
+                               ralink,function = "gpio";
+                       };
+               };
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+
+               wan {
+                       label = "gl-mt300n:wan";
+                       gpios = <&gpio2 0 1>;
+               };
+
+               lan {
+                       label = "gl-mt300n:lan";
+                       gpios = <&gpio2 1 1>;
+               };
+
+               wlan {
+                       label = "gl-mt300n:wlan";
+                       gpios = <&gpio3 0 1>;
+               };
+
+       };
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <20>;
+               reset {
+                       label = "reset";
+                       gpios = <&gpio0 1 1>;
+                       linux,code = <0x198>;
+               };
+
+               BTN_0 {
+                       label = "BTN_0";
+                       gpios = <&gpio2 2 1>;
+                       linux,code = <0x100>;
+               };
+
+           BTN_1 {
+                       label = "BTN_1";
+                       gpios = <&gpio2 3 1>;
+                       linux,code = <0x101>;
+               };
+       };
+};
index fb7407b..4a2d607 100644 (file)
@@ -994,6 +994,7 @@ Image/Build/Profile/WRTNODE=$(call BuildFirmware/Default16M/$(1),$(1),wrtnode,WR
 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/GL-MT300N=$(call BuildFirmware/Default16M/$(1),$(1),gl-mt300n,GL-MT300N)
 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)
@@ -1038,6 +1039,7 @@ define Image/Build/Profile/Default
        $(call Image/Build/Profile/WT3020,$(1))
        $(call Image/Build/Profile/MIWIFI-MINI,$(1))
        $(call Image/Build/Profile/GL-MT300A,$(1))
+       $(call Image/Build/Profile/GL-MT300N,$(1))
        $(call Image/Build/Profile/ZTE-Q7,$(1))
        $(call Image/Build/Profile/YOUKU-YK1,$(1))
        $(call Image/Build/Profile/ZBT-WA05,$(1))
index 53e2e9d..6473ff0 100644 (file)
@@ -14,3 +14,14 @@ define Profile/GL-MT300A/Description
        Support for gl-mt300a Router
 endef
 $(eval $(call Profile,GL-MT300A))
+
+define Profile/GL-MT300N
+       NAME:=GL-MT300N
+       PACKAGES:=kmod-usb-core kmod-usb-dwc2 kmod-usb2 kmod-usb-ohci kmod-mt76
+endef
+
+define Profile/GL-MT300N/Description
+       Support for gl-mt300n Router
+endef
+$(eval $(call Profile,GL-MT300N))
+