ramips: add support for Blueendless Kimax U35WF
authorAdemar Arvati Filho <arvati@hotmail.com>
Wed, 4 Jul 2018 01:29:36 +0000 (01:29 +0000)
committerMathias Kresin <dev@kresin.me>
Sat, 7 Jul 2018 19:07:40 +0000 (21:07 +0200)
Blueendless Kimax U35WF is a 3,5" HDD Enclosure with Wi-Fi and Ethernet

Patch rewritten from: https://forum.openwrt.org/viewtopic.php?id=66908
Based on: https://github.com/lede-project/source/pull/965

Specification:
- SoC: MediaTek MT7620N
- CPU/Speed: 580 MHz
- Flash-Chip: KH25L12835F Spi Flash
- Flash size: 16 MiB
- RAM: 64 MiB
- LAN: 1x 100 Mbps Ethernet
- WiFi SoC-integrated: 802.11bgn
- 1x USB 2.0
- UART: for serial console

Installation:
1. Download sysupgrade.bin
2. Open vendor web interface
3. Choose to upgrade firmware
3. After reboot connect via ethernet at 192.168.1.1

Signed-off-by: Ademar Arvati Filho <arvati@hotmail.com>
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/diag.sh
target/linux/ramips/base-files/lib/upgrade/platform.sh
target/linux/ramips/dts/U35WF.dts [new file with mode: 0644]
target/linux/ramips/image/mt7620.mk

index f89b4ea333729044df2446a57a6c0ea24bbd7e42..6dec7a10a1ab7687edc96c019d3b7b8be029d00c 100755 (executable)
@@ -245,6 +245,10 @@ ht-tm02)
        ucidef_set_led_netdev "eth" "Ethernet" "$boardname:green:lan" "eth0"
        set_wifi_led "$boardname:blue:wlan"
        ;;
+kimax,u35wf)
+       set_wifi_led "$boardname:blue:wifi"
+       ucidef_set_led_netdev "eth" "ETH" "$boardname:green:eth" "eth0"
+       ;;
 kn|\
 nbg-419n2)
        set_usb_led "$boardname:green:usb"
index f1fa94ec7799f4d4c41930b9f6270fdc798b480b..818a919f419beadd2419bcd1a3615311b3abc182 100755 (executable)
@@ -49,6 +49,7 @@ ramips_setup_interfaces()
        dcs-930|\
        dcs-930l-b1|\
        ht-tm02|\
+       kimax,u35wf|\
        linkits7688 | \
        m2m|\
        microwrt|\
index 17566ad1fdbbe73cbeeca384d4cba8ef17bd65e4..1e67097cd8f5eee4539c664a260e83575ef3fab6 100644 (file)
@@ -199,12 +199,13 @@ get_status_led() {
        hc5962)
                status_led="$boardname:white:status"
                ;;
-       linkits7688)
-               status_led="linkit-smart-7688:orange:wifi"
-               ;;
+       kimax,u35wf|\
        m2m)
                status_led="$boardname:blue:wifi"
                ;;
+       linkits7688)
+               status_led="linkit-smart-7688:orange:wifi"
+               ;;
        gl-mt300n-v2)
                status_led="$boardname:green:power"
                ;;
index 1dd84447935ac044a817a6a48533df70f1cf7c1c..a7f9c1722ebbdf69c388ea91516f71e933512570 100755 (executable)
@@ -83,6 +83,7 @@ platform_check_image() {
        jhr-n825r|\
        jhr-n926r|\
        k2p|\
+       kimax,u35wf|\
        kn|\
        kn_rc|\
        kn_rf|\
diff --git a/target/linux/ramips/dts/U35WF.dts b/target/linux/ramips/dts/U35WF.dts
new file mode 100644 (file)
index 0000000..33d9112
--- /dev/null
@@ -0,0 +1,106 @@
+/dts-v1/;
+
+#include "mt7620n.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+       compatible = "kimax,u35wf","ralink,mt7620n-soc";
+       model = "Kimax U35WF";
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <20>;
+
+               reset {
+                       label = "reset";
+                       gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RESTART>;
+               };
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+
+               wifi {
+                       label = "u35wf:blue:wifi";
+                       gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
+               };
+
+               lan {
+                       label = "u35wf:green:eth";
+                       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";
+};
+
+&ethernet {
+       mtd-mac-address = <&factory 0x4>;
+};
+
+&wmac {
+       ralink,mtd-eeprom = <&factory 0>;
+};
+
+&pinctrl {
+       state_default: pinctrl0 {
+               default {
+                       ralink,group = "ephy", "wled";
+                       ralink,function = "gpio";
+               };
+       };
+};
index 736741a4ba220ce5169ee1d1396bcca9619e0fc4..c968825754e52f3dadfdd445e5792599154f78d3 100644 (file)
@@ -280,6 +280,13 @@ define Device/hc5861
 endef
 TARGET_DEVICES += hc5861
 
+define Device/kimax_u35wf
+  DTS := U35WF
+  IMAGE_SIZE := 16064k
+  DEVICE_TITLE := Kimax U35WF
+endef
+TARGET_DEVICES += kimax_u35wf
+
 define Device/kng_rc
   DTS := kng_rc
   IMAGE_SIZE := $(ralink_default_fw_size_16M)