aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips
diff options
context:
space:
mode:
authorKristian Evensen <kristian.evensen@gmail.com>2019-05-16 15:38:00 +0200
committerPetr Štetiar <ynezz@true.cz>2019-05-17 21:41:43 +0200
commit869376710d70b1e2c9f5265bc8840738794bb280 (patch)
treef34e321807672a96572bff30ff60bfee2fdddd04 /target/linux/ramips
parent52b59a984fd9735d26069b0c31baedf5344703d3 (diff)
downloadupstream-869376710d70b1e2c9f5265bc8840738794bb280.tar.gz
upstream-869376710d70b1e2c9f5265bc8840738794bb280.tar.bz2
upstream-869376710d70b1e2c9f5265bc8840738794bb280.zip
ramips: Add support for ZBT WE826-E
ZBT WE826-E is a dual-SIM version of the ZBT WE826. The router has the following specifications: - MT7620A (580 MHz) - 128MB RAM - 32MB of flash (SPI NOR) - 5x 10/100Mbps Ethernet (MT7620A built-in switch) - 1x microSD slot - 1x miniPCIe slot (only USB2.0 bus) - 2x SIM card slots (standard size) - 1x USB2.0 port - 1x 2.4GHz wifi (rt2800) - 10x LEDs (4 GPIO-controlled) - 1x reset button The following have been tested and working: - Ethernet switch - wifi - miniPCIe slot - USB port - microSD slot - sysupgrade - reset button Installation and recovery: In order to install OpenWRT the first time or recover the router, you can use the web-based recovery system. Keep the reset button pressed during boot and access 192.168.1.1 in your browser when your machine obtains an IP address. Upload the firmware to start the recovery process. How to swap SIMs: You control which SIM slot to use by writing 0/1 to /sys/class/gpio/gpio13/value. In order for the change to take effect, you can either use AT-commands (AT+CFUN) or power-cycle the modem (write 0/1 to /sys/class/gpio/gpio14/value). Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
Diffstat (limited to 'target/linux/ramips')
-rwxr-xr-xtarget/linux/ramips/base-files/etc/board.d/01_leds3
-rwxr-xr-xtarget/linux/ramips/base-files/etc/board.d/02_network1
-rwxr-xr-xtarget/linux/ramips/base-files/etc/board.d/03_gpio_switches4
-rw-r--r--target/linux/ramips/dts/ZBT-WE826-E.dts84
-rw-r--r--target/linux/ramips/image/mt7620.mk9
5 files changed, 100 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 9d42720c60..b55ca0413e 100755
--- a/target/linux/ramips/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/base-files/etc/board.d/01_leds
@@ -252,7 +252,8 @@ mr200)
mtc,wr1201)
ucidef_set_led_switch "eth_link" "LAN link" "$boardname:green:eth_link" "switch0" "0x0f"
;;
-mzk-ex750np)
+mzk-ex750np|\
+zbtlink,zbt-we826-e)
set_wifi_led "$boardname:red:wifi"
;;
netgear,r6120)
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 b0037a0ce2..2e56678cf5 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -133,6 +133,7 @@ ramips_setup_interfaces()
youku,yk-l2|\
zbt-ape522ii|\
zbt-we1326|\
+ zbtlink,zbt-we826-e|\
zbtlink,zbt-we3526|\
zbt-we826-16M|\
zbt-we826-32M|\
diff --git a/target/linux/ramips/base-files/etc/board.d/03_gpio_switches b/target/linux/ramips/base-files/etc/board.d/03_gpio_switches
index fc376a4d1f..8abe107a7c 100755
--- a/target/linux/ramips/base-files/etc/board.d/03_gpio_switches
+++ b/target/linux/ramips/base-files/etc/board.d/03_gpio_switches
@@ -32,6 +32,10 @@ ubnt-erx-sfp)
ucidef_add_gpio_switch "poe_power_port3" "PoE Power Port3" "499"
ucidef_add_gpio_switch "poe_power_port4" "PoE Power Port4" "500"
;;
+zbtlink,zbt-we826-e)
+ ucidef_add_gpio_switch "sim_switch" "SIM slot switch" "13"
+ ucidef_add_gpio_switch "power_mpcie" "mPCIe power" "14" "1"
+ ;;
esac
board_config_flush
diff --git a/target/linux/ramips/dts/ZBT-WE826-E.dts b/target/linux/ramips/dts/ZBT-WE826-E.dts
new file mode 100644
index 0000000000..ce97b03715
--- /dev/null
+++ b/target/linux/ramips/dts/ZBT-WE826-E.dts
@@ -0,0 +1,84 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "ZBT-WE826.dtsi"
+
+/ {
+ compatible = "zbtlink,zbt-we826-e", "zbtlink,zbt-we826", "ralink,mt7620a-soc";
+ model = "ZBT-WE826-E";
+
+ /delete-node/ leds;
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_power: gsm {
+ label = "zbt-we826-e:blue:gsm";
+ gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
+ };
+
+ signal {
+ label = "zbt-we826-e:green:signal";
+ gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
+ };
+
+ sim {
+ label = "zbt-we826-e:red:sim";
+ gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
+ };
+
+ air {
+ label = "zbt-we826-e:red:wifi";
+ gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&spi0 {
+ status = "okay";
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <10000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ 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;
+ };
+
+ firmware: partition@50000 {
+ compatible = "denx,uimage";
+ label = "firmware";
+ reg = <0x50000 0x1fb0000>;
+ };
+ };
+ };
+};
+
+&pinctrl {
+ state_default: pinctrl0 {
+ default {
+ ralink,group = "i2c", "uartf", "wled";
+ ralink,function = "gpio";
+ };
+ };
+};
diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk
index bad92ca0b9..cf38aa2cb1 100644
--- a/target/linux/ramips/image/mt7620.mk
+++ b/target/linux/ramips/image/mt7620.mk
@@ -818,6 +818,15 @@ define Device/zbt-we826-32M
endef
TARGET_DEVICES += zbt-we826-32M
+define Device/zbtlink_zbt-we826-e
+ DTS := ZBT-WE826-E
+ IMAGE_SIZE := 32448k
+ DEVICE_TITLE := Zbtlink ZBT-WE826-E
+ DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-sdhci-mt7620 uqmi \
+ kmod-usb-serial kmod-usb-serial-option
+endef
+TARGET_DEVICES += zbtlink_zbt-we826-e
+
define Device/zbt-wr8305rt
DTS := ZBT-WR8305RT
DEVICE_TITLE := Zbtlink ZBT-WR8305RT