aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVianney le Clément de Saint-Marcq <code@quartic.eu>2018-04-04 01:19:22 +0200
committerMathias Kresin <dev@kresin.me>2018-04-08 09:53:50 +0200
commitbcf21251425de261a64a27fe21529d2ddbcc13d5 (patch)
treeae6ca6f0f573d71ab145406e2f39044c82b6ba04
parent80a94aacaf8ce67d7a6f0f4342292c4a427ec838 (diff)
downloadupstream-bcf21251425de261a64a27fe21529d2ddbcc13d5.tar.gz
upstream-bcf21251425de261a64a27fe21529d2ddbcc13d5.tar.bz2
upstream-bcf21251425de261a64a27fe21529d2ddbcc13d5.zip
ramips: add support for Zorlik ZL5900V2
The Zorlik ZL5900V2 is an unbranded clone of HAME MPR-A1/2. It is marketed as "3G Wi-Fi Router". Only the PCB has the model name "ZL5900V2" printed on it. Specifications: - Ralink RT5350F (360 MHz) - 32 MB RAM - 8 MB Flash - 802.11bgn 1T1R - 1x 10/100 Mbps Ethernet - 1x USB 2.0 (Type-A) - 5200 mAh battery The ramdisk image (not the squashfs sysupgrade image) can be flashed through the web interface (named "GoAhead") of the factory firmware. However, as the factory firmware does not cleanly unmount the rootfs before flashing, the device may hang instead of rebooting after successful write. Power cycling the device gets you in OpenWrt where the squashfs image may be flashed through normal sysupgrade procedure. Signed-off-by: Vianney le Clément de Saint-Marcq <code@quartic.eu>
-rwxr-xr-xtarget/linux/ramips/base-files/etc/board.d/01_leds3
-rwxr-xr-xtarget/linux/ramips/base-files/etc/board.d/02_network1
-rw-r--r--target/linux/ramips/base-files/etc/diag.sh3
-rwxr-xr-xtarget/linux/ramips/base-files/lib/upgrade/platform.sh1
-rw-r--r--target/linux/ramips/dts/ZL5900V2.dts95
-rw-r--r--target/linux/ramips/image/rt305x.mk7
6 files changed, 109 insertions, 1 deletions
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 1a8e37623e..b5de388764 100755
--- a/target/linux/ramips/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/base-files/etc/board.d/01_leds
@@ -532,6 +532,9 @@ zbt-wr8305rt)
set_usb_led "$boardname:green:usb"
set_wifi_led "$boardname:green:wifi"
;;
+zorlik,zl5900v2)
+ ucidef_set_led_netdev "lan" "lan" "$boardname:green:lan" eth0
+ ;;
zte-q7)
set_wifi_led "$boardname:blue: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 0f173bc95c..b7e5fb6ff9 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -61,6 +61,7 @@ ramips_setup_interfaces()
widora,neo-32m|\
wnce2001|\
zbt-cpe102|\
+ zorlik,zl5900v2|\
zte-q7)
ucidef_add_switch "switch0"
ucidef_add_switch_attr "switch0" "enable" "false"
diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh
index cbaa2d663e..d84bdff3a7 100644
--- a/target/linux/ramips/base-files/etc/diag.sh
+++ b/target/linux/ramips/base-files/etc/diag.sh
@@ -153,7 +153,8 @@ get_status_led() {
wli-tx4-ag300n|\
y1|\
y1s|\
- youku-yk1)
+ youku-yk1|\
+ zorlik,zl5900v2)
status_led="$boardname:blue:power"
;;
dlink,dap-1522-a1|\
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index 473b2c48bb..0a43f29920 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -218,6 +218,7 @@ platform_check_image() {
zbt-wg3526-16M|\
zbt-wg3526-32M|\
zbt-wr8305rt|\
+ zorlik,zl5900v2|\
zte-q7|\
youku-yk1)
[ "$magic" != "27051956" ] && {
diff --git a/target/linux/ramips/dts/ZL5900V2.dts b/target/linux/ramips/dts/ZL5900V2.dts
new file mode 100644
index 0000000000..2d8daf1346
--- /dev/null
+++ b/target/linux/ramips/dts/ZL5900V2.dts
@@ -0,0 +1,95 @@
+/dts-v1/;
+
+#include "rt5350.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+ compatible = "zorlik,zl5900v2", "ralink,rt5350-soc";
+ model = "Zorlik ZL5900V2";
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ lan {
+ label = "zl5900v2:green:lan";
+ gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
+ };
+
+ power {
+ label = "zl5900v2:blue:power";
+ gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+};
+
+&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 0x7b0000>;
+ };
+ };
+};
+
+&pinctrl {
+ state_default: pinctrl0 {
+ gpio {
+ ralink,group = "jtag", "uartf";
+ ralink,function = "gpio";
+ };
+ };
+};
+
+&ethernet {
+ mtd-mac-address = <&factory 0x4>;
+};
+
+&esw {
+ mediatek,portmap = <0>;
+ mediatek,portdisable = <0x2f>;
+};
+
+&wmac {
+ ralink,mtd-eeprom = <&factory 0>;
+};
diff --git a/target/linux/ramips/image/rt305x.mk b/target/linux/ramips/image/rt305x.mk
index 5a4ca73517..bc1941f901 100644
--- a/target/linux/ramips/image/rt305x.mk
+++ b/target/linux/ramips/image/rt305x.mk
@@ -901,3 +901,10 @@ define Device/kn
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ehci kmod-usb-ledtrig-usbport
endef
TARGET_DEVICES += kn
+
+define Device/zorlik_zl5900v2
+ DTS := ZL5900V2
+ DEVICE_TITLE := Zorlik ZL5900V2
+ DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-ledtrig-netdev
+endef
+TARGET_DEVICES += zorlik_zl5900v2