From 5e86877f36b0d95127dcef8ed3abf78ecd78061d Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Wed, 8 Jul 2020 20:48:57 +0200 Subject: 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 --- 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 = ; - 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 = ; - gpios = <&gpio 17 GPIO_ACTIVE_HIGH>; - debounce-interval = <60>; + keys { + compatible = "gpio-keys"; + + rfkill { + label = "WiFi"; + linux,code = ; + gpios = <&gpio 16 GPIO_ACTIVE_HIGH>; + debounce-interval = <60>; + }; + + reset { + label = "Reset/WPS"; + linux,code = ; + 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 = ; - gpios = <&gpio 17 GPIO_ACTIVE_LOW>; - debounce-interval = <60>; + keys { + compatible = "gpio-keys"; + + rfkill { + label = "WiFi"; + linux,code = ; + linux,input-type = ; + gpios = <&gpio 16 GPIO_ACTIVE_HIGH>; + debounce-interval = <60>; + }; + + reset { + label = "Reset"; + linux,code = ; + 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 = ; + gpios = <&gpio 16 GPIO_ACTIVE_HIGH>; + debounce-interval = <60>; + }; + + reset { + label = "Reset"; + linux,code = ; + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + }; + gpio-export { compatible = "gpio-export"; @@ -18,15 +36,6 @@ }; }; -&keys { - reset { - label = "Reset"; - linux,code = ; - gpios = <&gpio 17 GPIO_ACTIVE_LOW>; - debounce-interval = <60>; - }; -}; - &leds { usb { label = "tp-link:green:usb"; -- cgit v1.2.3