From 6f008af3f0b30d2af21ad6934c17b0ae69103ecd Mon Sep 17 00:00:00 2001 From: Daniel Kucera Date: Sun, 19 Feb 2017 09:46:44 +0100 Subject: [PATCH] ramips: add support for Kimax U25AWF-H1 Kimax U-25AWF-H1 is is a 2,5" HDD Enclosure with Wi-Fi/Eth conection and battery, based on MediaTek MT7620A. Patch rewritten from: https://forum.openwrt.org/viewtopic.php?pid=305643 Specification: - MT7620A CPU - 64 MB of RAM - 16 MB of FLASH - 802.11bgn WiFi - 1x 10/100 Mbps Ethernet - USB 2.0 Host - UART for serial console Flash instruction: 1. Download lede-ramips-mt7620-u25awf-h1-squashfs-sysupgrade.bin 2. Open webinterface a upgrade 3. After boot connect via ethernet to ip 192.168.1.1 Signed-off-by: Daniel Kucera [fix reset button gpio, don't add a lan/wan vlan config for single port board, add -H1 suffix do make sure that this revision of the board is supported/tested] Signed-off-by: Mathias Kresin --- .../ramips/base-files/etc/board.d/01_leds | 4 + .../ramips/base-files/etc/board.d/02_network | 1 + target/linux/ramips/base-files/etc/diag.sh | 3 + target/linux/ramips/base-files/lib/ramips.sh | 3 + .../ramips/base-files/lib/upgrade/platform.sh | 1 + target/linux/ramips/dts/U25AWF-H1.dts | 106 ++++++++++++++++++ target/linux/ramips/image/mt7620.mk | 7 ++ 7 files changed, 125 insertions(+) create mode 100644 target/linux/ramips/dts/U25AWF-H1.dts 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 c871dc4e48..75ab0da741 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -368,6 +368,10 @@ tl-wr841n-v13) ucidef_set_led_switch "lan4" "lan4" "$board:green:lan4" "switch0" "0x10" ucidef_set_led_switch "wan" "wan" "$board:green:wan" "switch0" "0x01" ;; +u25awf-h1) + set_wifi_led "u25awf:red:wifi" + ucidef_set_led_netdev "eth" "eth" "u25awf:green:lan" "eth0" + ;; vocore-8M|\ vocore-16M) ucidef_set_led_netdev "eth" "ETH" "vocore:orange:eth" "eth0" 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 a1a82d62ed..1c8505e8c7 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -237,6 +237,7 @@ ramips_setup_interfaces() mzk-ex750np|\ na930|\ pbr-d1|\ + u25awf-h1|\ wli-tx4-ag300n|\ wmdr-143n|\ wmr-300|\ diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index 0345f1e8bf..4411babbf9 100644 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -238,6 +238,9 @@ get_status_led() { sap-g3200u3) status_led="$board:green:usb" ;; + u25awf-h1) + status_led="u25awf:red:wifi" + ;; v22rw-2x2) status_led="$board:green:security" ;; diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index d0b9bb1262..07e776cb0c 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -505,6 +505,9 @@ ramips_board_detect() { *"TL-WR841N v13") name="tl-wr841n-v13" ;; + *"U25AWF-H1") + name="u25awf-h1" + ;; *"UBNT-ERX") name="ubnt-erx" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index e08c45d8db..99ebe35b44 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -144,6 +144,7 @@ platform_check_image() { tew-714tru|\ timecloud|\ tiny-ac|\ + u25awf-h1|\ ur-326n4g|\ ur-336un|\ v22rw-2x2|\ diff --git a/target/linux/ramips/dts/U25AWF-H1.dts b/target/linux/ramips/dts/U25AWF-H1.dts new file mode 100644 index 0000000000..8021b0f79d --- /dev/null +++ b/target/linux/ramips/dts/U25AWF-H1.dts @@ -0,0 +1,106 @@ +/dts-v1/; + +#include "mt7620a.dtsi" + +#include +#include + +/{ + compatible = "kimax,u25awf-h1","ralink,mt7620a-soc"; + model = "Kimax U25AWF-H1"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wifi { + label = "u25awf:red:wifi"; + gpios = <&gpio3 0 GPIO_ACTIVE_LOW>; + }; + + lan { + label = "u25awf:green:lan"; + gpios = <&gpio2 4 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&gpio2 { + status = "okay"; +}; + +&gpio3 { + status = "okay"; +}; + +&spi0 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0>; + 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 0xfb0000>; + }; + }; +}; + +&ehci { + status = "okay"; +}; + +&ohci { + status = "okay"; +}; + +ðernet { + mtd-mac-address = <&factory 0x4>; +}; + +&wmac { + ralink,mtd-eeprom = <&factory 0>; +}; + +&pinctrl { + state_default: pinctrl0 { + default { + ralink,group = "uartf", "ephy", "wled"; + ralink,function = "gpio"; + }; + }; +}; diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk index 8a7eaf4ae6..f45a7189b3 100644 --- a/target/linux/ramips/image/mt7620.mk +++ b/target/linux/ramips/image/mt7620.mk @@ -193,6 +193,13 @@ define Device/gl-mt300a endef TARGET_DEVICES += gl-mt300a +define Device/u25awf-h1 + DTS := U25AWF-H1 + IMAGE_SIZE := 16064k + DEVICE_TITLE := Kimax U25AWF-H1 +endef +TARGET_DEVICES += u25awf-h1 + define Device/gl-mt300n DTS := GL-MT300N IMAGE_SIZE := $(ralink_default_fw_size_16M)