ar71xx: fix reset key for TP-Link TL-WR802N V1/V2
authorLech Perczak <lech.perczak@gmail.com>
Fri, 29 May 2020 19:56:18 +0000 (21:56 +0200)
committerRISCi_ATOM <Bob@bobcall.me>
Tue, 2 Jun 2020 02:55:17 +0000 (02:55 +0000)
During porting support for this router to ath79 target
it was discovered that GPIO mapping was incorrect (GPIO11 active high).
Correct mapping for both V1 and V2 is GPIO12 active low.

Default configuration from GPL source for V2 explicitly states this, and
this was confirmed experimentally on ath79 by looking on
/sys/kernel/debug/gpio. Correctness of this was also validated for V1 by
cross-flashing vendor firmware for V1 on V2 hardware, in which reset
button also worked.

Fix it.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
[slightly adjust commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
(cherry picked from commit f841e706403b1a111cbb6dc5930b7886307bf633)

target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr802n.c

index ece38f900f519b5c478359078aee8a08dbe2ba2b..514529ca18745a873011b296274c2c0bcbc2467c 100644 (file)
@@ -24,7 +24,7 @@
 #include "machtypes.h"
 
 #define TL_WR802N_GPIO_LED_SYSTEM      13
-#define TL_WR802N_GPIO_BTN_RESET       11
+#define TL_WR802N_GPIO_BTN_RESET       12
 
 #define TL_WR802N_KEYS_POLL_INTERVAL           20 /* msecs */
 #define TL_WR802N_KEYS_DEBOUNCE_INTERVAL       (3 * TL_WR802N_KEYS_POLL_INTERVAL)
@@ -61,7 +61,7 @@ static struct gpio_keys_button tl_wr802n_gpio_keys[] __initdata = {
                .code           = KEY_RESTART,
                .debounce_interval = TL_WR802N_KEYS_DEBOUNCE_INTERVAL,
                .gpio           = TL_WR802N_GPIO_BTN_RESET,
-               .active_low     = 0,
+               .active_low     = 1,
        }
 };