ramips: add support for Dovado tiny AC
authorJohn Crispin <john@openwrt.org>
Mon, 2 Nov 2015 10:17:51 +0000 (10:17 +0000)
committerJohn Crispin <john@openwrt.org>
Mon, 2 Nov 2015 10:17:51 +0000 (10:17 +0000)
Add support for Dovado tiny AC wifi router.

Soc: mt7620a
ram: 64MB
flash: 8MB
1x usb 2.0
two gigabit lan ports

5ghz wlan is not supported on this board since there is no gpl driverfor mt7610e wifi chip.

Signed-off-by: Andrej Vlasic <andrej.vlasic0@gmail.com>
SVN-Revision: 47348

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/etc/hotplug.d/firmware/10-rt2x00-eeprom
target/linux/ramips/base-files/lib/ramips.sh
target/linux/ramips/base-files/lib/upgrade/platform.sh
target/linux/ramips/dts/TINY-AC.dts [new file with mode: 0644]
target/linux/ramips/image/Makefile
target/linux/ramips/mt7620/profiles/dovado.mk [new file with mode: 0644]

index c75a99301ec7900adfa45688ccc8b2380b49ca86..5627c8ca8cc52998930a439f95556a8b8a527c30 100755 (executable)
@@ -222,6 +222,10 @@ rt-n14u)
        set_wifi_led "$board:blue:air"
        set_usb_led "$board:blue:usb"
        ;;
+tiny-ac)
+       set_wifi_led "$board:orange:wifi"
+       set_usb_led "$board:green:usb"
+       ;;
 vocore)
        ucidef_set_led_netdev "eth" "ETH" "$board:orange:eth" "eth0"
        set_wifi_led "$board:green:status"
index c77909f62a4a924864f22d4f15fd9cbc9b2c9aa2..21e36417784987f70a459471e8e087492eb005ca 100755 (executable)
@@ -334,6 +334,10 @@ ramips_setup_macs()
                lan_mac=$(cat /sys/class/net/eth0/address)
                wan_mac=$(macaddr_add "$lan_mac" 4)
                ;;
+       tiny-ac)
+               lan_mac=$(mtd_get_mac_ascii u-boot-env LAN_MAC_ADDR)
+               wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR)
+               ;;
        w306r-v20)
                lan_mac=$(cat /sys/class/net/eth0/address)
                wan_mac=$(macaddr_add "$lan_mac" 5)
index 1ba6728b2bed72e45a10a3d849fa69ef49fb60e0..0e02177f7023d9e6779c6d57344fcd5bdd2f92f6 100644 (file)
@@ -57,6 +57,11 @@ case "$FIRMWARE" in
        br-6475nd | rt-n56u | whr-600d | whr-1166d)
                rt2x00_eeprom_extract "factory" 32768 512
                ;;
+       tiny-ac)
+               local wifi_mac=$(mtd_get_mac_ascii u-boot-env INIC_MAC_ADDR)
+               rt2x00_eeprom_extract "factory" 0 512
+               rt2x00_eeprom_set_macaddr $wifi_mac
+               ;;
        esac
        ;;
 esac
index 340bc4c3b37909095f9f8e1c446f038e8caec8ae..2ed09c9b33cc5474448ee18e24ebd6ba7c04e580 100755 (executable)
@@ -145,6 +145,9 @@ ramips_board_detect() {
        *"DIR-860L B1")
                name="dir-860l-b1"
                ;;
+       *"Dovado Tiny AC")
+               name="tiny-ac"
+               ;;
        *"E1700")
                name="e1700"
                ;;
index d3d9df3a0f6ce422f701e8dfe8060aeb8ad3e1da..33ec8cc85458e0d3a4525a707cad2c1760be2548 100755 (executable)
@@ -100,6 +100,7 @@ platform_check_image() {
        sl-r7205|\
        tew-691gr|\
        tew-692gr|\
+       tiny-ac|\
        ur-326n4g|\
        ur-336un|\
        v22rw-2x2|\
diff --git a/target/linux/ramips/dts/TINY-AC.dts b/target/linux/ramips/dts/TINY-AC.dts
new file mode 100644 (file)
index 0000000..388f4da
--- /dev/null
@@ -0,0 +1,166 @@
+/dts-v1/;
+
+/include/ "mt7620a.dtsi"
+
+/ {
+       compatible = "TINY-AC", "ralink,mt7620a-soc";
+       model = "Dovado Tiny AC";
+
+       chosen {
+               bootargs = "console=ttyS0,57600";
+       };
+
+       palmbus@10000000 {
+               gpio0: gpio@600 {
+                       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 = "mx25l6405d";
+                               reg = <0 0>;
+                               linux,modalias = "m25p80", "mx25l6405d";
+                               spi-max-frequency = <10000000>;
+
+                               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 {
+                                       label = "firmware";
+                                       reg = <0x50000 0x7b0000>;
+                               };
+                       };
+               };
+       };
+
+       ehci@101c0000 {
+               status = "okay";
+       };
+
+       ohci@101c1000 {
+               status = "okay";
+       };
+
+       ethernet@10100000 {
+               status = "okay";
+               pinctrl-names = "default";
+               pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>;
+               ralink,port-map = "llllw";
+
+               port@4 {
+                       status = "okay";
+                       phy-mode = "rgmii";
+                       phy-handle = <&phy4>;
+               };
+
+               port@5 {
+                       status = "okay";
+                       phy-mode = "rgmii";
+                       phy-handle = <&phy5>;
+               };
+
+               mdio-bus {
+                       status = "okay";
+
+                       phy4: ethernet-phy@4 {
+                               reg = <4>;
+                               phy-mode = "rgmii";
+                       };
+
+                       phy5: ethernet-phy@5 {
+                               reg = <5>;
+                               phy-mode = "rgmii";
+                       };
+               };
+       };
+
+       gsw@10110000 {
+               ralink,port4 = "gmac";
+               mediatek,mt7530 = <1>;
+
+       };
+
+       wmac@10180000 {
+               ralink,eeprom = "rt2x00pci_1_0.eeprom";
+       };
+
+       pcie@10140000 {
+               status = "okay";
+       };
+
+       pinctrl {
+               state_default: pinctrl0 {
+                       gpio {
+                               ralink,group = "uartf", "nd_sd", "wled";
+                               ralink,function = "gpio";
+                       };
+               };
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+
+               usb {
+                       label = "tiny-ac:green:usb";
+                       gpios = <&gpio0 11 1>;
+               };
+
+               wifi {
+                       label = "tiny-ac:orange:wifi";
+                       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 13 1>;
+                       linux,code = <0x198>;
+               };
+
+       };
+
+       gpio_export {
+               compatible = "gpio-export";
+               #size-cells = <0>;
+
+               usbpower {
+                       gpio-export,name = "usbpower";
+                       gpio-export,output = <1>;
+                       gpios = <&gpio2 5 0>;
+               };
+       };
+};
index c66409d75f0071b6f78d0a3532b019243fd3e02a..f1a0ec406e3b34d8ba0a22866750db825a5f043d 100644 (file)
@@ -905,6 +905,7 @@ Image/Build/Profile/ZBT-WR8305RT=$(call BuildFirmware/Default8M/$(1),$(1),zbt-wr
 Image/Build/Profile/ArcherC20i=$(call BuildFirmware/Tplink/$(1),$(1),ArcherC20i,ArcherC20i)
 microwrt_mtd_size=16515072
 Image/Build/Profile/MicroWRT=$(call BuildFirmware/CustomFlash/$(1),$(1),microwrt,MicroWRT,$(microwrt_mtd_size))
+Image/Build/Profile/TINY-AC=$(call BuildFirmware/Default8M/$(1),$(1),tiny-ac,TINY-AC)
 
 
 ifeq ($(SUBTARGET),mt7620)
@@ -942,6 +943,7 @@ define Image/Build/Profile/Default
        $(call Image/Build/Profile/ZBT-WR8305RT,$(1))
        $(call Image/Build/Profile/ArcherC20i,$(1))
        $(call Image/Build/Profile/MicroWRT,$(1))
+       $(call Image/Build/Profile/TINY-AC,$(1))
 endef
 endif
 
diff --git a/target/linux/ramips/mt7620/profiles/dovado.mk b/target/linux/ramips/mt7620/profiles/dovado.mk
new file mode 100644 (file)
index 0000000..34bc74a
--- /dev/null
@@ -0,0 +1,17 @@
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/TINY-AC
+       NAME:=Dovado Tiny AC
+       PACKAGES:=\
+               kmod-usb-core kmod-usb2 kmod-usb-ohci
+endef
+
+define Profile/TINY-AC/Description
+       Support for Dovado Tiny AC router
+endef
+$(eval $(call Profile,TINY-AC))