From patchwork Tue Aug 18 14:45:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adrian Schmutzler X-Patchwork-Id: 1346961 X-Patchwork-Delegate: freifunk@adrianschmutzler.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.openwrt.org (client-ip=2001:8b0:10b:1231::1; helo=merlin.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=adrianschmutzler.de 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=merlin.20170209 header.b=LpCFdOdy; dkim-atps=neutral Received: from merlin.infradead.org (merlin.infradead.org [IPv6:2001:8b0:10b:1231::1]) (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 4BWDMg6FR2z9sWR for ; Wed, 19 Aug 2020 00:49:35 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject: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=4BHDYQBN4JiFRRUWT0I4zzlEP+24dU6hGZsIuCTAULQ=; b=LpCFdOdyyyqmePC6zw5WRGlZPd MRKLHke2vA/rFYb9i2LFrc7eH+p1GtjNopQA/36WrYCJIOKbotAwYhIx+zHnQmyIpfwd7vxF15F8b HxVpOYYp3+8EfZCqvgUH5Hbyk6gkxluCqxynxwDowdDD+5QoSjsiSLt3hZHDuWrebbiDEopTndLAh fgyIMtF95vh4b8OMgmD5xwj6ncQ4To8omi6P6YefVIXhV4bKc2N5HmJ/IH20fSdtSv+REQWt9yeC6 Mu6CqNyvW2qkLKh9b6/TbKrtT6JvIqRBKNOGsVS1lPep437VMqpUkcSzRTu7WvMJkmjy1AeFQssfO lXNyXq8A==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k82tI-00028A-NL; Tue, 18 Aug 2020 14:47:08 +0000 Received: from mout.kundenserver.de ([212.227.126.133]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k82tF-00026e-Cu for openwrt-devel@lists.openwrt.org; Tue, 18 Aug 2020 14:47:07 +0000 Received: from buildfff.adridolf.com ([188.192.134.246]) by mrelayeu.kundenserver.de (mreue010 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MOz8O-1kK5ZB2Xj2-00PJmC; Tue, 18 Aug 2020 16:47:01 +0200 From: Adrian Schmutzler To: openwrt-devel@lists.openwrt.org Subject: [PATCH] ath79: add support for TP-Link TL-WR710N v2.1 Date: Tue, 18 Aug 2020 16:45:57 +0200 Message-Id: <20200818144557.4652-1-freifunk@adrianschmutzler.de> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-Provags-ID: V03:K1:m/VrL3/MJEN2lTiqUQgbufauuE8S/cG4A8ZxAQoFsSfmGEi9g+Z Ue2uIS3kVbJVAN36fZfsCC4+ECYhNeGoLWX7JG8wvNmFPX614LJEn14oB/HcVkVCYqu3osg KQtTR286JOrqNRlmDK1JGSeIkYbRVnlCk3ZNPdgG9rtMPPI62SD/g1wAaIPiIPiVEYEN0Ed 8mptrnVh6FGNOYXXFT2Zg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:+u9OQwVAwSY=:f6Fwo9T6E3UhfrGbbzygc1 EDVmH3xIlPNcrHRQmbqhXXfFi9uRQnwH3D1penIFzzx9PHfoSBk7pwVR+eHSMjjY/i2W6dEEc ZYxRWWK1vWaZEpYOzftwi76C5MyWjaFoGBguBborgH6lA0WUKSLQfcNycKbtu3tlt1SCtC+kc +HxWyHMQEh1g13q5iArdcE5GDzOUj/cpS+mKULvIYeYp7DwUiIqFEXJys4qTiHiC3uG0NkbrG YfbcRx4Rcsa+7a50DLDCuUM3mxM10408VrzBJ+Tv/6NkIg3+EEF9qRV3P7huxH5NJnfRUEFkU UawZrW9piAVsRm/9d89dz06ka6rc3WIWEBST3cjAR2cCFmLgJOuiBPLa8etrwz8NHRut0hWRq DV22BRPkvLay5XCMjdpdzVRgxoYh9YX0LFbJ3q7astoefWaAl+VzTPkRstFT784/E6vwoWxsb 8kY9cTEpLS0GeT+hCZ2VFrFkP08PHAk57e4AgY/8hkd9cOkXPhsPCfjriODkgwlJvq2oiGBkb pKic1TC+G5k3lPJ8v3REwhrr2hawaLG/v2CgEdwvOrEj/6t6d7uiUUR+ZN3ukNMMxyx+roggi X0kkcuHRJgJ0fZasLmYBQfC9mSABTOyWBw8Z7gnI3SghBpZq83MxIpR+LSD/rSbfbQf0cjURB 3z3IA5iDqhv9kdW8iHQ1JBg+wkKDKXVmU9r67xuymM7L/hfmxTWG8wWca4vwePW4LaD0r5QSA ylrjMZDHJYDOZZ7E7r8ynbtlY9JkLEq7swcW8qqc6FecqXfjsGG1ELaM1QCRLPFjQOoR7OS+t BoPt1dTFVEzw+g2QD529G632csHnjMUHoHcBQTKv6zt7rruffgLcbpBzenrGXbCGx/R8LPS78 RrW5ECaIX1gSelA6Nrxw== X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200818_104705_695949_F6ED0BCC X-CRM114-Status: GOOD ( 17.00 ) X-Spam-Score: -0.0 (/) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (-0.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [212.227.126.133 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [212.227.126.133 listed in wl.mailspike.net] -0.0 SPF_PASS SPF: sender matches SPF record X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: OpenWrt Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fabian Eppig Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org This adds support for the TP-Link TL-WR710N v2.1. It is basically a re-issue of the v1.2. Specifications: SoC: Atheros AR9331 CPU: 400 MHz Flash: 8 MiB RAM: 32 MiB WiFi: 2.4 GHz b/g/n Ethernet: 2x 100M ports USB: 1x 2.0 The only difference from the v1 is the TP-Link hardware ID/revision. Attention: The TL-WR710N v2.0 (!) has only 4 MB flash and cannot be flashed with this image. It has a different TPLINK_HWREV, so accidental flashing of the factory image should be impossible without additional measures. Unfortunately, the v2.0 in ar71xx has the same board name, so sysupgrade from ar71xx v2.0 into ath79 v1/v2.1 will not be prevented, but will brick the device. Flashing instruction: Upload the factory image via the OEM firmware GUI upgrade mechanism. Further notes: To make implementation easier if somebody desires to port the 4M v2.0, this already creates two DTSI files. Signed-off-by: Adrian Schmutzler Tested-by: Fabian Eppig --- .../ath79/dts/ar9331_tplink_tl-wr710n-8m.dtsi | 39 ++++++ .../ath79/dts/ar9331_tplink_tl-wr710n-v1.dts | 118 +----------------- .../dts/ar9331_tplink_tl-wr710n-v2.1.dts | 9 ++ .../ath79/dts/ar9331_tplink_tl-wr710n.dtsi | 88 +++++++++++++ target/linux/ath79/image/generic-tp-link.mk | 12 ++ 5 files changed, 149 insertions(+), 117 deletions(-) create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-wr710n-8m.dtsi create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-wr710n-v2.1.dts create mode 100644 target/linux/ath79/dts/ar9331_tplink_tl-wr710n.dtsi diff --git a/target/linux/ath79/dts/ar9331_tplink_tl-wr710n-8m.dtsi b/target/linux/ath79/dts/ar9331_tplink_tl-wr710n-8m.dtsi new file mode 100644 index 0000000000..ffc98e6e1c --- /dev/null +++ b/target/linux/ath79/dts/ar9331_tplink_tl-wr710n-8m.dtsi @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "ar9331_tplink_tl-wr710n.dtsi" + +&spi { + status = "okay"; + + num-cs = <1>; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + uboot: partition@0 { + reg = <0x0 0x20000>; + label = "u-boot"; + read-only; + }; + + partition@20000 { + compatible = "tplink,firmware"; + reg = <0x20000 0x7d0000>; + label = "firmware"; + }; + + art: partition@7f0000 { + reg = <0x7f0000 0x10000>; + label = "art"; + read-only; + }; + }; + }; +}; diff --git a/target/linux/ath79/dts/ar9331_tplink_tl-wr710n-v1.dts b/target/linux/ath79/dts/ar9331_tplink_tl-wr710n-v1.dts index 493dbfe7b6..634b56d3be 100644 --- a/target/linux/ath79/dts/ar9331_tplink_tl-wr710n-v1.dts +++ b/target/linux/ath79/dts/ar9331_tplink_tl-wr710n-v1.dts @@ -1,125 +1,9 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/; -#include -#include - -#include "ar9331.dtsi" +#include "ar9331_tplink_tl-wr710n-8m.dtsi" / { model = "TP-Link TL-WR710N v1"; compatible = "tplink,tl-wr710n-v1", "qca,ar9331"; - - aliases { - serial0 = &uart; - led-boot = &led_system; - led-failsafe = &led_system; - led-running = &led_system; - led-upgrade = &led_system; - label-mac-device = ð0; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - linux,code = ; - gpios = <&gpio 11 GPIO_ACTIVE_LOW>; - debounce-interval = <60>; - }; - }; - - leds { - compatible = "gpio-leds"; - - led_system: system { - label = "tl-wr710n:green:system"; - gpios = <&gpio 27 GPIO_ACTIVE_LOW>; - }; - }; - - reg_usb_vbus: regulator { - compatible = "regulator-fixed"; - regulator-name = "usb_vbus"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - gpio = <&gpio 8 GPIO_ACTIVE_HIGH>; - enable-active-high; - }; -}; - -&spi { - status = "okay"; - num-cs = <1>; - - flash@0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <25000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - uboot: partition@0 { - reg = <0x0 0x20000>; - label = "u-boot"; - read-only; - }; - - firmware: partition@20000 { - compatible = "tplink,firmware"; - reg = <0x20000 0x7d0000>; - label = "firmware"; - }; - - art: partition@7f0000 { - reg = <0x7f0000 0x10000>; - label = "art"; - read-only; - }; - }; - }; -}; - -ð0 { - status = "okay"; - - mtd-mac-address = <&uboot 0x1fc00>; - - gmac-config { - device = <&gmac>; - - switch-phy-addr-swap = <0>; - switch-phy-swap = <0>; - }; -}; - -ð1 { - status = "okay"; - - mtd-mac-address = <&uboot 0x1fc00>; - mtd-mac-address-increment = <(-1)>; -}; - -&uart { - status = "okay"; -}; - -&usb { - dr_mode = "host"; - vbus-supply = <®_usb_vbus>; - status = "okay"; -}; - -&usb_phy { - status = "okay"; -}; - -&wmac { - status = "okay"; - mtd-cal-data = <&art 0x1000>; - mtd-mac-address = <&uboot 0x1fc00>; }; diff --git a/target/linux/ath79/dts/ar9331_tplink_tl-wr710n-v2.1.dts b/target/linux/ath79/dts/ar9331_tplink_tl-wr710n-v2.1.dts new file mode 100644 index 0000000000..48d44000ee --- /dev/null +++ b/target/linux/ath79/dts/ar9331_tplink_tl-wr710n-v2.1.dts @@ -0,0 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "ar9331_tplink_tl-wr710n-8m.dtsi" + +/ { + model = "TP-Link TL-WR710N v2.1"; + compatible = "tplink,tl-wr710n-v2.1", "qca,ar9331"; +}; diff --git a/target/linux/ath79/dts/ar9331_tplink_tl-wr710n.dtsi b/target/linux/ath79/dts/ar9331_tplink_tl-wr710n.dtsi new file mode 100644 index 0000000000..e37c43f4a7 --- /dev/null +++ b/target/linux/ath79/dts/ar9331_tplink_tl-wr710n.dtsi @@ -0,0 +1,88 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include +#include + +#include "ar9331.dtsi" + +/ { + aliases { + serial0 = &uart; + led-boot = &led_system; + led-failsafe = &led_system; + led-running = &led_system; + led-upgrade = &led_system; + label-mac-device = ð0; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + linux,code = ; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_system: system { + label = "tl-wr710n:green:system"; + gpios = <&gpio 27 GPIO_ACTIVE_LOW>; + }; + }; + + reg_usb_vbus: regulator { + compatible = "regulator-fixed"; + regulator-name = "usb_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio 8 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +ð0 { + status = "okay"; + + mtd-mac-address = <&uboot 0x1fc00>; + + gmac-config { + device = <&gmac>; + + switch-phy-addr-swap = <0>; + switch-phy-swap = <0>; + }; +}; + +ð1 { + status = "okay"; + + mtd-mac-address = <&uboot 0x1fc00>; + mtd-mac-address-increment = <(-1)>; +}; + +&uart { + status = "okay"; +}; + +&usb { + status = "okay"; + + dr_mode = "host"; + vbus-supply = <®_usb_vbus>; +}; + +&usb_phy { + status = "okay"; +}; + +&wmac { + status = "okay"; + + mtd-cal-data = <&art 0x1000>; + mtd-mac-address = <&uboot 0x1fc00>; +}; diff --git a/target/linux/ath79/image/generic-tp-link.mk b/target/linux/ath79/image/generic-tp-link.mk index fdc94b738a..7128d853f8 100644 --- a/target/linux/ath79/image/generic-tp-link.mk +++ b/target/linux/ath79/image/generic-tp-link.mk @@ -625,6 +625,18 @@ define Device/tplink_tl-wr710n-v1 endef TARGET_DEVICES += tplink_tl-wr710n-v1 +define Device/tplink_tl-wr710n-v2.1 + $(Device/tplink-8mlzma) + SOC := ar9331 + DEVICE_MODEL := TL-WR710N + DEVICE_VARIANT := v2.1 + DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-usb-ledtrig-usbport + TPLINK_HWID := 0x07100002 + TPLINK_HWREV := 0x2 + SUPPORTED_DEVICES += tl-wr710n +endef +TARGET_DEVICES += tplink_tl-wr710n-v2.1 + define Device/tplink_tl-wr810n-v1 $(Device/tplink-8mlzma) SOC := qca9531