From 3760b95702b65de9d6d0f6a1029a654e3b11f72f Mon Sep 17 00:00:00 2001 From: John Crispin Date: Mon, 2 Nov 2015 10:17:51 +0000 Subject: [PATCH] ramips: add support for Dovado tiny AC 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 SVN-Revision: 47348 --- .../ramips/base-files/etc/board.d/01_leds | 4 + .../ramips/base-files/etc/board.d/02_network | 4 + .../etc/hotplug.d/firmware/10-rt2x00-eeprom | 5 + target/linux/ramips/base-files/lib/ramips.sh | 3 + .../ramips/base-files/lib/upgrade/platform.sh | 1 + target/linux/ramips/dts/TINY-AC.dts | 166 ++++++++++++++++++ target/linux/ramips/image/Makefile | 2 + target/linux/ramips/mt7620/profiles/dovado.mk | 17 ++ 8 files changed, 202 insertions(+) create mode 100644 target/linux/ramips/dts/TINY-AC.dts create mode 100644 target/linux/ramips/mt7620/profiles/dovado.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 c75a99301e..5627c8ca8c 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -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" 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 c77909f62a..21e3641778 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -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) diff --git a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom index 1ba6728b2b..0e02177f70 100644 --- a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom +++ b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom @@ -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 diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 340bc4c3b3..2ed09c9b33 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -145,6 +145,9 @@ ramips_board_detect() { *"DIR-860L B1") name="dir-860l-b1" ;; + *"Dovado Tiny AC") + name="tiny-ac" + ;; *"E1700") name="e1700" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index d3d9df3a0f..33ec8cc854 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -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 index 0000000000..388f4da742 --- /dev/null +++ b/target/linux/ramips/dts/TINY-AC.dts @@ -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>; + }; + }; +}; diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index c66409d75f..f1a0ec406e 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -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 index 0000000000..34bc74a2df --- /dev/null +++ b/target/linux/ramips/mt7620/profiles/dovado.mk @@ -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)) -- 2.25.1