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@adrianschmutzler.de>
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";
/ {
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>;
+ };
};
};
/ {
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>;
+ };
};
};
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";
};
};
-&keys {
- reset {
- label = "Reset";
- linux,code = <KEY_RESTART>;
- gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
- debounce-interval = <60>;
- };
-};
-
&leds {
usb {
label = "tp-link:green:usb";