[openwrt/openwrt] ath79: correctly define WiFi switch for TL-WR841ND v8

LEDE Commits lede-commits at lists.infradead.org
Tue Jul 21 06:05:37 EDT 2020


adrian pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/5e86877f36b0d95127dcef8ed3abf78ecd78061d

commit 5e86877f36b0d95127dcef8ed3abf78ecd78061d
Author: Adrian Schmutzler <freifunk at adrianschmutzler.de>
AuthorDate: Wed Jul 8 20:48:57 2020 +0200

    ath79: correctly define WiFi switch for TL-WR841ND v8
    
    The TL-WR841ND v8 feature a WiFi switch instead of a button.
    This adds the corresponding input-type to prevent booting into
    failsafe regularly.
    
    This has been defined correctly in ar71xx, but was overlooked
    when migrating to ath79. In contrast, the TL-WR842ND v2, which
    has the key set up as switch in ar71xx, actually has a button.
    The TL-MR3420 v2 has a button as well and is set up correctly
    for both targets. (Information based on TP-Link user guide)
    
    Note:
    
    While looking into this, I found that support PR for TL-MR3420 v2
    switched reset button to ACTIVE_HIGH. However, the other two
    device still use ACTIVE_LOW. This seems strange, but I cannot
    verify it lacking the affected devices.
    
    Fixes: FS#2733
    Fixes: 9601d94138de ("add support for TP-Link TL-WR841N/ND v8")
    
    Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
 target/linux/ath79/dts/ar9341_tplink.dtsi          | 11 ---------
 .../linux/ath79/dts/ar9341_tplink_tl-mr3420-v2.dts | 23 ++++++++++++------
 .../linux/ath79/dts/ar9341_tplink_tl-wr841-v8.dts  | 24 +++++++++++++------
 .../linux/ath79/dts/ar9341_tplink_tl-wr842n-v2.dts | 27 ++++++++++++++--------
 4 files changed, 51 insertions(+), 34 deletions(-)

diff --git a/target/linux/ath79/dts/ar9341_tplink.dtsi b/target/linux/ath79/dts/ar9341_tplink.dtsi
index 6bd7c3409b..c96dbe1918 100644
--- a/target/linux/ath79/dts/ar9341_tplink.dtsi
+++ b/target/linux/ath79/dts/ar9341_tplink.dtsi
@@ -15,17 +15,6 @@
 		label-mac-device = &wmac;
 	};
 
-	keys: keys {
-		compatible = "gpio-keys";
-
-		rfkill {
-			label = "WiFi";
-			linux,code = <KEY_RFKILL>;
-			gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
-			debounce-interval = <60>;
-		};
-	};
-
 	leds: leds {
 		compatible = "gpio-leds";
 
diff --git a/target/linux/ath79/dts/ar9341_tplink_tl-mr3420-v2.dts b/target/linux/ath79/dts/ar9341_tplink_tl-mr3420-v2.dts
index f864381520..e6cf6ef863 100644
--- a/target/linux/ath79/dts/ar9341_tplink_tl-mr3420-v2.dts
+++ b/target/linux/ath79/dts/ar9341_tplink_tl-mr3420-v2.dts
@@ -6,14 +6,23 @@
 / {
 	model = "TP-Link TL-MR3420 v2";
 	compatible = "tplink,tl-mr3420-v2", "qca,ar9341";
-};
 
-&keys {
-	reset {
-		label = "Reset";
-		linux,code = <KEY_RESTART>;
-		gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
-		debounce-interval = <60>;
+	keys {
+		compatible = "gpio-keys";
+
+		rfkill {
+			label = "WiFi";
+			linux,code = <KEY_RFKILL>;
+			gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
+			debounce-interval = <60>;
+		};
+
+		reset {
+			label = "Reset/WPS";
+			linux,code = <KEY_RESTART>;
+			gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
+			debounce-interval = <60>;
+		};
 	};
 };
 
diff --git a/target/linux/ath79/dts/ar9341_tplink_tl-wr841-v8.dts b/target/linux/ath79/dts/ar9341_tplink_tl-wr841-v8.dts
index 3577e4994f..95a047c6d4 100644
--- a/target/linux/ath79/dts/ar9341_tplink_tl-wr841-v8.dts
+++ b/target/linux/ath79/dts/ar9341_tplink_tl-wr841-v8.dts
@@ -6,14 +6,24 @@
 / {
 	model = "TP-Link TL-WR841N/ND v8";
 	compatible = "tplink,tl-wr841-v8", "qca,ar9341";
-};
 
-&keys {
-	reset {
-		label = "Reset";
-		linux,code = <KEY_RESTART>;
-		gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
-		debounce-interval = <60>;
+	keys {
+		compatible = "gpio-keys";
+
+		rfkill {
+			label = "WiFi";
+			linux,code = <KEY_RFKILL>;
+			linux,input-type = <EV_SW>;
+			gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
+			debounce-interval = <60>;
+		};
+
+		reset {
+			label = "Reset";
+			linux,code = <KEY_RESTART>;
+			gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
+			debounce-interval = <60>;
+		};
 	};
 };
 
diff --git a/target/linux/ath79/dts/ar9341_tplink_tl-wr842n-v2.dts b/target/linux/ath79/dts/ar9341_tplink_tl-wr842n-v2.dts
index d9b0ee86f5..4df0feae98 100644
--- a/target/linux/ath79/dts/ar9341_tplink_tl-wr842n-v2.dts
+++ b/target/linux/ath79/dts/ar9341_tplink_tl-wr842n-v2.dts
@@ -7,6 +7,24 @@
 	model = "TP-Link TL-WR842N/ND v2";
 	compatible = "tplink,tl-wr842n-v2", "qca,ar9341";
 
+	keys {
+		compatible = "gpio-keys";
+
+		rfkill {
+			label = "WiFi";
+			linux,code = <KEY_RFKILL>;
+			gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
+			debounce-interval = <60>;
+		};
+
+		reset {
+			label = "Reset";
+			linux,code = <KEY_RESTART>;
+			gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
+			debounce-interval = <60>;
+		};
+	};
+
 	gpio-export {
 		compatible = "gpio-export";
 
@@ -18,15 +36,6 @@
 	};
 };
 
-&keys {
-	reset {
-		label = "Reset";
-		linux,code = <KEY_RESTART>;
-		gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
-		debounce-interval = <60>;
-	};
-};
-
 &leds {
 	usb {
 		label = "tp-link:green:usb";



More information about the lede-commits mailing list