From patchwork Thu May 16 13:02:31 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Kristian Evensen X-Patchwork-Id: 1100561 X-Patchwork-Delegate: ynezz@true.cz Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=lists.openwrt.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="RLgXYWDl"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="BWL6exYT"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 454WnC39Gtz9s7h for ; Thu, 16 May 2019 23:03:11 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Subject:MIME-Version:Message-Id:Date:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=aWTSutKGgEK1X4cD34Q4rl5xOodbZzcjoHClm5JqYY8=; b=RLgXYWDlI6ibsg g9e7htChbpouSNOBSt2cfPzvxbjpLLpeLq40xaOG3vnV0YgBV6KMVnsPffWtH3MkXxYWaMi2gTgD4 ccjyrmctUV5V8/TrFzKXdWFcB+/vVtXygJiw/Ju/4AvNs/DHhgq23iFv51oXBGmS80OzQCstaxr0C KCB8s6tqwyMk5nuek443JfWSobh+qjPceSnRn5KCozC7dXc8rpJ3PdFsL1cH45bYk3jU/AvlYV+Y4 LLtGG5m9uS7qYjnOU+Y1SmDnC0Wo7CKvyaBczwJXJJxn+JGO5PTgfLyyBv/4Rxi9QAmdwzoVPiFKS aMyqqWecZXa1kQ1Wbh2w==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hRG1z-0006xP-2C; Thu, 16 May 2019 13:02:43 +0000 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hRG1v-0006x0-Et for openwrt-devel@lists.openwrt.org; Thu, 16 May 2019 13:02:41 +0000 Received: by mail-wr1-x441.google.com with SMTP id w8so3309177wrl.6 for ; Thu, 16 May 2019 06:02:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=QnjiFGTbIDT9697gw3x2E7aq3aD+qvxNpDDDlXUt9iE=; b=BWL6exYTtZfnbL3wGhe77FJUwRM6cRfmkewVNo9LwkEt7CXzlgQ95nq1MzPcKyxF7D 8epYmB+765aukglDqF2rOk/ahkuJLsZTAmRG5/BBfzoUHrKsV1zsWxUH/NBw2a3dK2kg hI5ABZ6UWqTnURxOdse/QL566yjG+aKLVE9FvYXDNWrbg2vVVsf2okZ8i79nhiI0HRAQ hEMHIcdBEKfOKqITjid0GSuPrqZHPjTKiG1rV0ADKw2K/N369HL6CqdCJYmtwa9207UX 4VSO5iu4iHdIVJkwsjPGr430e+MKJJMvDxYBSu2DD9Ntp3J28wp9H3rlyzg3b4jHdqEN lPfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=QnjiFGTbIDT9697gw3x2E7aq3aD+qvxNpDDDlXUt9iE=; b=CP80Ro/soAzjQZmVkXPJeg4I1eTC8jXEDF+725q9PtgVkdPjerNgFZddlPkGxP2h7d rgOgqiKZ4+J0IcIF9RTkBeINJcu9wQ+ouR1pjMIxuJoDsvu0J845IytzH31+xQ5KIUK9 rSbI0f0HqQIH3Dv+Qwr3J5BwhLwPUSrrebUCyk2c1NOYFk086EoqUkWzdJf185qRVMWU 2Lsdf4KjB1xoV76x6owl2Zu6i8ROSF41cfvl5lePslfxjnMrDsOmZZ/g4X0vAjUWxUWw ilzZhkUxcuktIOstkL76kB6pfAaTDf6Gjz3ooXNjcrUIrqAkjHOxmmDvqv9kFW3cFlXX cW0w== X-Gm-Message-State: APjAAAVIIgAFim8B5RA/Jk+xd6Y6na0Zgn6LNmmSLXsevk2DMTbqxpey 61eJMQKVHYVVMKyHIa3bAItWMRpy X-Google-Smtp-Source: APXvYqywYkAMLYc9cmip56SZck9GQTO4gkHgKE6byxpEmkvhtBnL/Ni2FVi6sE21nvKs9XTMW4RINw== X-Received: by 2002:a5d:4d11:: with SMTP id z17mr4519693wrt.308.1558011755587; Thu, 16 May 2019 06:02:35 -0700 (PDT) Received: from kristrev-XPS-15-9570.lan ([193.213.155.210]) by smtp.gmail.com with ESMTPSA id l16sm8225294wrb.40.2019.05.16.06.02.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 16 May 2019 06:02:34 -0700 (PDT) From: Kristian Evensen To: openwrt-devel@lists.openwrt.org Date: Thu, 16 May 2019 15:02:31 +0200 Message-Id: <20190516130231.31513-1-kristian.evensen@gmail.com> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190516_060239_524892_99B7E781 X-CRM114-Status: GOOD ( 17.26 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (kristian.evensen[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2a00:1450:4864:20:0:0:0:441 listed in] [list.dnswl.org] -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain Subject: [OpenWrt-Devel] [PATCH v2] ramips: Add support for ZBT WE826-E X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kristian Evensen Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org 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: The router ships with an older version of OpenWRT, but with a broken web user interface. In order to install the image, you need to SSH into the router and run sysupgrade. The default address of the router is 192.168.1.1, user is root and password admin. Once you are in, run the following command: sysupgrade -n -F openwrt-ramips-mt7620-zbtlink_zbt-we826-e-squashfs-sysupgrade.bin Recovery: The router ships with a web-based recovery system. If you need to recover the router, 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 --- v1->v2: * Use generic board/model detection, updated the match in 01_leds and 02_network (thanks Petr Štetiar). * Changed the device/target device in the Makefile to match the compatible-string in the DTS (thanks Petr Štetiar). * Use the user-space gpio-switch alternative instead of gpio-export in the DTS (thanks Petr Štetiar). * Update name of flash node in DTS to the more generic "flash0" (thanks Petr Štetiar). * Fix image size in the Makefile (thanks Petr Štetiar). * Group the wifi-LED together with other devices (thanks Petr Štetiar). * Updated commit message. * While the device can be ordered without a modem, I imagine most devices will be delivered with a modem. I have therefore enabled support for QMI and Option, so that most modems can be used out of the box. --- .../ramips/base-files/etc/board.d/01_leds | 3 +- .../ramips/base-files/etc/board.d/02_network | 1 + .../base-files/etc/board.d/03_gpio_switches | 4 + target/linux/ramips/dts/ZBT-WE826-E.dts | 83 +++++++++++++++++++ target/linux/ramips/image/mt7620.mk | 9 ++ 5 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 target/linux/ramips/dts/ZBT-WE826-E.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 fa20ab0714..941b4b109b 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -251,7 +251,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 c2646876a2..63bfab2486 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 80e3c4c41f..6119d7c485 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 @@ -24,6 +24,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..a1f71c7144 --- /dev/null +++ b/target/linux/ramips/dts/ZBT-WE826-E.dts @@ -0,0 +1,83 @@ +/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 da90568df0..35fecb9ac6 100644 --- a/target/linux/ramips/image/mt7620.mk +++ b/target/linux/ramips/image/mt7620.mk @@ -809,6 +809,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