X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=target%2Flinux%2Far71xx%2Ffiles%2Farch%2Fmips%2Fath79%2Fmach-tl-wr841n-v9.c;h=24a1a643525246fba3ba7e4cf8fa666229bdbfa4;hb=0d9adb4832e2c9ef4303b0b7aeff86c0ed4e5d89;hp=f806568f983af2f616e2612d93d83c60bfdf9546;hpb=978998628fe98f8cfc81910b851e5a3dfd316bac;p=oweals%2Fopenwrt.git diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v9.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v9.c index f806568f98..24a1a64352 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v9.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v9.c @@ -1,9 +1,10 @@ /* - * TP-LINK TL-WR841N/ND v9/v11 / TL-WR842N/ND v3 + * TP-LINK TL-WR840N v2/v3 / TL-WR841N/ND v9/v11 / TL-WR842N/ND v3 * * Copyright (C) 2014 Matthias Schiffer * Copyright (C) 2016 Cezary Jackiewicz * Copyright (C) 2016 Stijn Segers + * Copyright (C) 2017 Vaclav Svoboda * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 as published @@ -25,6 +26,14 @@ #include "dev-wmac.h" #include "machtypes.h" +#define TL_WR840NV2_GPIO_LED_SYSTEM 15 +#define TL_WR840NV2_GPIO_LED_WLAN 13 +#define TL_WR840NV2_GPIO_LED_WPS 3 +#define TL_WR840NV2_GPIO_LED_WAN 4 +#define TL_WR840NV2_GPIO_LED_LAN 16 + +#define TL_WR840NV2_GPIO_BTN_RESET 12 + #define TL_WR841NV9_GPIO_LED_WLAN 13 #define TL_WR841NV9_GPIO_LED_QSS 3 #define TL_WR841NV9_GPIO_LED_WAN 4 @@ -75,6 +84,41 @@ static struct flash_platform_data tl_wr841n_v9_flash_data = { .part_probes = tl_wr841n_v9_part_probes, }; +static struct gpio_led tl_wr840n_v2_leds_gpio[] __initdata = { + { + .name = "tp-link:green:system", + .gpio = TL_WR840NV2_GPIO_LED_SYSTEM, + .active_low = 1, + }, { + .name = "tp-link:green:lan", + .gpio = TL_WR840NV2_GPIO_LED_LAN, + .active_low = 1, + }, { + .name = "tp-link:green:wps", + .gpio = TL_WR840NV2_GPIO_LED_WPS, + .active_low = 1, + }, { + .name = "tp-link:green:wan", + .gpio = TL_WR840NV2_GPIO_LED_WAN, + .active_low = 1, + }, { + .name = "tp-link:green:wlan", + .gpio = TL_WR840NV2_GPIO_LED_WLAN, + .active_low = 1, + }, +}; + +static struct gpio_keys_button tl_wr840n_v2_gpio_keys[] __initdata = { + { + .desc = "Reset button", + .type = EV_KEY, + .code = KEY_RESTART, + .debounce_interval = TL_WR841NV9_KEYS_DEBOUNCE_INTERVAL, + .gpio = TL_WR840NV2_GPIO_BTN_RESET, + .active_low = 1, + } +}; + static struct gpio_led tl_wr841n_v9_leds_gpio[] __initdata = { { .name = "tp-link:green:lan1", @@ -260,6 +304,25 @@ static void __init tl_ap143_setup(void) ath79_register_wmac(ee, tmpmac); } + +static void __init tl_wr840n_v2_setup(void) +{ + tl_ap143_setup(); + + ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr840n_v2_leds_gpio), + tl_wr840n_v2_leds_gpio); + + ath79_register_gpio_keys_polled(1, TL_WR841NV9_KEYS_POLL_INTERVAL, + ARRAY_SIZE(tl_wr840n_v2_gpio_keys), + tl_wr840n_v2_gpio_keys); +} + +MIPS_MACHINE(ATH79_MACH_TL_WR840N_V2, "TL-WR840N-v2", "TP-LINK TL-WR840N v2", + tl_wr840n_v2_setup); + +MIPS_MACHINE(ATH79_MACH_TL_WR840N_V3, "TL-WR840N-v3", "TP-LINK TL-WR840N v3", + tl_wr840n_v2_setup); + static void __init tl_wr841n_v9_setup(void) { tl_ap143_setup();