From patchwork Sat May 15 00:11:30 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andr=C3=A9_Valentin?= X-Patchwork-Id: 1478746 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.openwrt.org (client-ip=2001:8b0:10b:1:d65d:64ff:fe57:4e05; helo=desiato.infradead.org; envelope-from=openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=desiato.20200630 header.b=hHsEJzrV; dkim-atps=neutral Received: from desiato.infradead.org (desiato.infradead.org [IPv6:2001:8b0:10b:1:d65d:64ff:fe57:4e05]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Fhm8S5ST7z9sWY for ; Sat, 15 May 2021 10:13:42 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Y+850GPE/x8ZDl32DdrUJ2d1q+2CBI+1rcITB0ymC2M=; b=hHsEJzrVpPNeD0iP+BcCV+cLJ uWFxN/43dJhr1uGt3Rr1AvsRpUFqstzE5dZNh4uHkznaxzfT3HvGEIqA4zQOrLFkmvfiMga/hYwGl EtnRJvpvTziBql7TsIOFTucWPK4Hz61AkXL30nTnJDaX+TC4tI/srd7lNzuHgPmYUpcwygUrMxlpw Hh9viR58d3Sez3R5Y8nkthyblamUHqDjz00XR5zjtLzc3XATuw3KWj2VhDmnguupSoGjEUp3dKu0F xxsX/PrhwAI1QsgANJOxylYc95SjK18vncGxJbW7/PUhtPQCSBZMRYSgCD4p1UE1MSD5iGYOKl8+q HteXOUXnw==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lhhua-009K4P-Mw; Sat, 15 May 2021 00:12:08 +0000 Received: from mail3.marcant.net ([217.14.160.188]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lhhuH-009K1V-Mm for openwrt-devel@lists.openwrt.org; Sat, 15 May 2021 00:11:53 +0000 Received: from [192.168.180.1] (port=34716 helo=admins.marcant.net) by mail3.marcant.net with esmtp (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1lhhuB-0002d1-2g; Sat, 15 May 2021 02:11:43 +0200 Received: from varus.marcant.loc (unknown [192.168.3.44]) by admins.marcant.net (Postfix) with ESMTPA id B4561280951; Sat, 15 May 2021 02:11:43 +0200 (CEST) From: =?utf-8?q?Andr=C3=A9_Valentin?= To: openwrt-devel@lists.openwrt.org Cc: avalentin@marcant.net Subject: [PATCH 2/2] ramips: mt7621: Add support for ZyXEL LTE3301-Plus Date: Sat, 15 May 2021 02:11:30 +0200 Message-Id: <20210515001130.20654-3-avalentin@marcant.net> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210515001130.20654-1-avalentin@marcant.net> References: <20210515001130.20654-1-avalentin@marcant.net> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210515_011150_055754_D72DF831 X-CRM114-Status: GOOD ( 13.75 ) X-Spam-Score: 0.0 (/) X-Spam-Report: Spam detection software, running on the system "desiato.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The ZyXEL LTE3301-Plus is an 4G indoor CPE with 2 external LTE antennas. Specifications: - SoC: MediaTek MT7621AT - RAM: 256 MB - Flash: 128 MB MB NAND (MX30LF1G18AC) - WiFi: MediaTek MT7615E - Switch: 4 LAN ports (Gigabit) - LTE: Quectel EG506 connected by USB3 to SoC - SIM: 1 micro-SIM [...] Content analysis details: (0.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: OpenWrt Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org The ZyXEL LTE3301-Plus is an 4G indoor CPE with 2 external LTE antennas. Specifications: - SoC: MediaTek MT7621AT - RAM: 256 MB - Flash: 128 MB MB NAND (MX30LF1G18AC) - WiFi: MediaTek MT7615E - Switch: 4 LAN ports (Gigabit) - LTE: Quectel EG506 connected by USB3 to SoC - SIM: 1 micro-SIM slot - USB: USB3 port - Buttons: Reset, WPS - LEDs: Multicolour power, internet, LTE, signal, Wifi, USB - Power: 12V, 1.5A The device is built as an indoor ethernet to LTE bridge or router with Wifi. UART Serial: 57600N1 Located on populated 5 pin header J5: [o] GND [ ] key - no pin [o] 3.3V Vcc [o] RX [o] TX For more details about flashing see commit 2449a632084b29632605e5a79ce5d73028eb15dd . Signed-off-by: André Valentin --- .../ramips/dts/mt7621_zyxel_lte3301-plus.dts | 213 ++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 16 ++ .../mt7621/base-files/etc/board.d/01_leds | 4 + .../mt7621/base-files/etc/board.d/02_network | 3 + .../base-files/etc/board.d/03_gpio_switches | 3 + .../mt7621/base-files/etc/init.d/bootcount | 1 + .../mt7621/base-files/lib/upgrade/platform.sh | 1 + 7 files changed, 241 insertions(+) create mode 100644 target/linux/ramips/dts/mt7621_zyxel_lte3301-plus.dts diff --git a/target/linux/ramips/dts/mt7621_zyxel_lte3301-plus.dts b/target/linux/ramips/dts/mt7621_zyxel_lte3301-plus.dts new file mode 100644 index 0000000000..9f2939bb2b --- /dev/null +++ b/target/linux/ramips/dts/mt7621_zyxel_lte3301-plus.dts @@ -0,0 +1,213 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621.dtsi" + +#include +#include + +/ { + compatible = "zyxel,lte3301-plus", "mediatek,mt7621-soc"; + model = "ZyXEL LTE3301-Plus"; + + aliases { + label-mac-device = &gmac0; + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + leds { + compatible = "gpio-leds"; + + led_power: power { + label = "lte3301-plus:white:power"; + gpios = <&gpio 5 GPIO_ACTIVE_HIGH>; + }; + + wifi { + label = "lte3301-plus:white:wifi"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + }; + + internet { + label = "lte3301-plus:white:internet"; + gpios = <&gpio 23 GPIO_ACTIVE_LOW>; + }; + + usb { + label = "lte3301-plus:white:usb"; + gpios = <&gpio 24 GPIO_ACTIVE_LOW>; + }; + + lte { + label = "lte3301-plus:white:lte"; + gpios = <&gpio 26 GPIO_ACTIVE_LOW>; + }; + + mobile_green { + label = "lte3301-plus:green:mobile"; + gpios = <&gpio 31 GPIO_ACTIVE_LOW>; + }; + + mobile_orange { + label = "lte3301-plus:orange:mobile"; + gpios = <&gpio 22 GPIO_ACTIVE_LOW>; + }; + mobile_red { + label = "lte3301-plus:red:mobile"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + wps { + label = "wps"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; +}; + +&gpio { + status = "okay"; + + lte_power { + gpio-hog; + gpios = <27 GPIO_ACTIVE_LOW>; + output-high; + line-name = "lte-power"; + }; + + usb_power { + gpio-hog; + gpios = <7 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "usb-power"; + }; +}; + +&nand { + status = "okay"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "Bootloader"; + reg = <0x0 0x80000>; + read-only; + }; + + partition@80000 { + label = "Config"; + reg = <0x80000 0x80000>; + }; + + factory: partition@100000 { + label = "Factory"; + reg = <0x100000 0x40000>; + read-only; + }; + + partition@140000 { + label = "Kernel"; + reg = <0x140000 0x1ec0000>; + }; + + partition@540000 { + label = "ubi"; + reg = <0x540000 0x1ac0000>; + }; + + partition@2140000 { + label = "Kernel2"; + reg = <0x2140000 0x1ec0000>; + }; + + partition@4000000 { + label = "wwan"; + reg = <0x4000000 0x100000>; + }; + + partition@4100000 { + label = "data"; + reg = <0x4100000 0x1000000>; + }; + + partition@5100000 { + label = "rom-d"; + reg = <0x5100000 0x100000>; + read-only; + }; + + partition@5200000 { + label = "reserve"; + reg = <0x5200000 0x80000>; + }; + }; +}; + +&pcie { + status = "okay"; +}; + +&pcie0 { + status = "okay"; + mt7615d@1,0 { + compatible = "pci14c3,7615"; + reg = <0x0000 0 0 0 0>; + mediatek,firmware-eeprom = "mt7615e_eeprom.bin"; + mediatek,mtd-eeprom = <&factory 0x0000>; + mtd-mac-address = <&factory 0xfe6e>; + mtd-mac-address-increment = <1>; + }; +}; + +&gmac0 { + mtd-mac-address = <&factory 0xfe6e>; +}; + +&switch0 { + ports { + port@0 { + status = "okay"; + label = "lan4"; + }; + port@1 { + status = "okay"; + label = "lan3"; + }; + port@2 { + status = "okay"; + label = "lan2"; + }; + port@3 { + status = "okay"; + label = "lan1"; + }; + }; +}; + + +&state_default { + gpio { + groups = "uart2", "uart3", "rgmii2", "jtag"; + function = "gpio"; + }; + +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index 48448c2ab1..e2c9d23eee 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -1511,6 +1511,22 @@ define Device/zio_freezio endef TARGET_DEVICES += zio_freezio +define Device/zyxel_lte3301-plus + $(Device/dsa-migration) + BLOCKSIZE := 128k + PAGESIZE := 2048 + UBINIZE_OPTS := -E 5 + DEVICE_VENDOR := ZyXEL + DEVICE_MODEL := LTE3301-PLUS + DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware kmod-usb3 uboot-envtools kmod-usb-ledtrig-usbport kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi + KERNEL := $(KERNEL_DTB) | uImage lzma | zytrx-header $$(DEVICE_MODEL) $$(VERSION_DIST)-$$(REVISION) + KERNEL_INITRAMFS := $(KERNEL_DTB) | uImage lzma | zytrx-header $$(DEVICE_MODEL) 9.99(ABQU.1)$$(VERSION_DIST)-recovery + KERNEL_INITRAMFS_SUFFIX := -recovery.bin + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + SUPPORTED_DEVICES += lte3301-plus +endef +TARGET_DEVICES += zyxel_lte3301-plus + define Device/zyxel_nr7101 $(Device/dsa-migration) BLOCKSIZE := 128k diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds index 6743b7e6c3..65a808b885 100644 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds @@ -98,6 +98,10 @@ xiaomi,redmi-router-ac2100) youhua,wr1200js) ucidef_set_led_netdev "internet" "INTERNET" "green:wan" "wan" ;; +zyxel,lte3301-plus) + ucidef_set_led_netdev "internet" "internet" "$boardname:white:internet" "wwan0" "link tx rx" + ucidef_set_led_usbport "usb" "USB" "$boardname:white:usb" "usb1-port2" + ;; esac board_config_flush diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index cde3cba9bc..01a4faf3cc 100644 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -63,6 +63,9 @@ ramips_setup_interfaces() ubnt,edgerouter-x-sfp) ucidef_set_interfaces_lan_wan "eth1 eth2 eth3 eth4 eth5" "eth0" ;; + zyxel,lte3301-plus) + ucidef_set_interface_lan "lan1 lan2 lan3 lan4" + ;; zyxel,nr7101) ucidef_set_interfaces_lan_wan "lan" "wan" ;; diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/03_gpio_switches b/target/linux/ramips/mt7621/base-files/etc/board.d/03_gpio_switches index ed728b07c4..1959d8c9d2 100644 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/03_gpio_switches +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/03_gpio_switches @@ -22,6 +22,9 @@ ubnt,edgerouter-x-sfp) ucidef_add_gpio_switch "poe_power_port3" "PoE Power Port3" "403" ucidef_add_gpio_switch "poe_power_port4" "PoE Power Port4" "404" ;; +zyxel,lte3301-plus) + ucidef_add_gpio_switch "lte_power" "Power LTE modem" "507" + ;; zyxel,nr7101) ucidef_add_gpio_switch "lte_reset" "Reset LTE/5G modem" "483" ;; diff --git a/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount b/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount index a155458d3f..03c6d8eea7 100755 --- a/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount +++ b/target/linux/ramips/mt7621/base-files/etc/init.d/bootcount @@ -16,6 +16,7 @@ boot() { samknows,whitebox-v8) fw_setenv bootcount 0 ;; + zyxel,lte3301-plus|\ zyxel,nr7101) [ $(printf %d $(fw_printenv -n DebugFlag)) -gt 0 ] || fw_setenv DebugFlag 0x1 [ $(printf %d $(fw_printenv -n Image1Stable)) -gt 0 ] || fw_setenv Image1Stable 1 diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh index d30bc3db2e..88a92cf624 100755 --- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh @@ -82,6 +82,7 @@ platform_do_upgrade() { ubnt,edgerouter-x-sfp) platform_upgrade_ubnt_erx "$1" ;; + zyxel,lte3301-plus|\ zyxel,nr7101) fw_setenv CheckBypass 0 fw_setenv Image1Stable 0