diff options
-rw-r--r-- | target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr741nd-v4.c | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr741nd-v4.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr741nd-v4.c index 7eb4d2fceb..851b7624ff 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr741nd-v4.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr741nd-v4.c @@ -34,6 +34,9 @@ #define TL_WR741NDV4_GPIO_LED_LAN4 17 #define TL_WR741NDV4_GPIO_LED_SYSTEM 27 +#define TL_MR3220V2_GPIO_BTN_WPS 11 +#define TL_MR3220V2_GPIO_BTN_WIFI 24 + #define TL_MR3220V2_GPIO_LED_3G 26 #define TL_MR3220V2_GPIO_USB_POWER 8 @@ -99,7 +102,6 @@ static struct gpio_keys_button tl_wr741ndv4_gpio_keys[] __initdata = { .gpio = TL_WR741NDV4_GPIO_BTN_RESET, .active_low = 0, }, { - /* the WPS button is only present on the WR741ND v4 */ .desc = "WPS", .type = EV_KEY, .code = KEY_WPS_BUTTON, @@ -109,6 +111,24 @@ static struct gpio_keys_button tl_wr741ndv4_gpio_keys[] __initdata = { } }; +static struct gpio_keys_button tl_mr3220v2_gpio_keys[] __initdata = { + { + .desc = "WPS", + .type = EV_KEY, + .code = KEY_WPS_BUTTON, + .debounce_interval = TL_WR741NDV4_KEYS_DEBOUNCE_INTERVAL, + .gpio = TL_MR3220V2_GPIO_BTN_WPS, + .active_low = 0, + }, { + .desc = "WIFI button", + .type = EV_KEY, + .code = KEY_RFKILL, + .debounce_interval = TL_WR741NDV4_KEYS_DEBOUNCE_INTERVAL, + .gpio = TL_MR3220V2_GPIO_BTN_WIFI, + .active_low = 0, + } +}; + static void __init tl_ap121_setup(void) { u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00); @@ -159,8 +179,8 @@ static void __init tl_mr3220v2_setup(void) ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr741ndv4_leds_gpio), tl_wr741ndv4_leds_gpio); ath79_register_gpio_keys_polled(1, TL_WR741NDV4_KEYS_POLL_INTERVAL, - ARRAY_SIZE(tl_wr741ndv4_gpio_keys) - 1, - tl_wr741ndv4_gpio_keys); + ARRAY_SIZE(tl_mr3220v2_gpio_keys), + tl_mr3220v2_gpio_keys); } MIPS_MACHINE(ATH79_MACH_TL_MR3220_V2, "TL-MR3220-v2", |