|
|
|
@ -50,7 +50,8 @@
|
|
|
|
|
#define ARCHER_C7_GPIO_LED_USB1 18
|
|
|
|
|
#define ARCHER_C7_GPIO_LED_USB2 19
|
|
|
|
|
|
|
|
|
|
#define ARCHER_C7_GPIO_BTN_RFKILL 23
|
|
|
|
|
#define ARCHER_C7_GPIO_BTN_RFKILL 13
|
|
|
|
|
#define ARCHER_C7_V2_GPIO_BTN_RFKILL 23
|
|
|
|
|
#define ARCHER_C7_GPIO_BTN_RESET 16
|
|
|
|
|
|
|
|
|
|
#define ARCHER_C7_GPIO_USB1_POWER 22
|
|
|
|
@ -122,6 +123,24 @@ static struct gpio_keys_button archer_c7_gpio_keys[] __initdata = {
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static struct gpio_keys_button archer_c7_v2_gpio_keys[] __initdata = {
|
|
|
|
|
{
|
|
|
|
|
.desc = "Reset button",
|
|
|
|
|
.type = EV_KEY,
|
|
|
|
|
.code = KEY_WPS_BUTTON,
|
|
|
|
|
.debounce_interval = ARCHER_C7_KEYS_DEBOUNCE_INTERVAL,
|
|
|
|
|
.gpio = ARCHER_C7_GPIO_BTN_RESET,
|
|
|
|
|
.active_low = 1,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
.desc = "RFKILL switch",
|
|
|
|
|
.type = EV_SW,
|
|
|
|
|
.code = KEY_RFKILL,
|
|
|
|
|
.debounce_interval = ARCHER_C7_KEYS_DEBOUNCE_INTERVAL,
|
|
|
|
|
.gpio = ARCHER_C7_V2_GPIO_BTN_RFKILL,
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static const struct ar8327_led_info archer_c7_leds_ar8327[] __initconst = {
|
|
|
|
|
AR8327_LED_INFO(PHY0_0, HW, "tp-link:blue:wan"),
|
|
|
|
|
AR8327_LED_INFO(PHY1_0, HW, "tp-link:blue:lan1"),
|
|
|
|
@ -192,9 +211,6 @@ static void __init common_setup(bool pcie_slot)
|
|
|
|
|
ath79_register_m25p80(&archer_c7_flash_data);
|
|
|
|
|
ath79_register_leds_gpio(-1, ARRAY_SIZE(archer_c7_leds_gpio),
|
|
|
|
|
archer_c7_leds_gpio);
|
|
|
|
|
ath79_register_gpio_keys_polled(-1, ARCHER_C7_KEYS_POLL_INTERVAL,
|
|
|
|
|
ARRAY_SIZE(archer_c7_gpio_keys),
|
|
|
|
|
archer_c7_gpio_keys);
|
|
|
|
|
|
|
|
|
|
ath79_init_mac(tmpmac, mac, -1);
|
|
|
|
|
ath79_register_wmac(art + ARCHER_C7_WMAC_CALDATA_OFFSET, tmpmac);
|
|
|
|
@ -242,6 +258,9 @@ static void __init common_setup(bool pcie_slot)
|
|
|
|
|
|
|
|
|
|
static void __init archer_c5_setup(void)
|
|
|
|
|
{
|
|
|
|
|
ath79_register_gpio_keys_polled(-1, ARCHER_C7_KEYS_POLL_INTERVAL,
|
|
|
|
|
ARRAY_SIZE(archer_c7_gpio_keys),
|
|
|
|
|
archer_c7_gpio_keys);
|
|
|
|
|
common_setup(true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -250,14 +269,31 @@ MIPS_MACHINE(ATH79_MACH_ARCHER_C5, "ARCHER-C5", "TP-LINK Archer C5",
|
|
|
|
|
|
|
|
|
|
static void __init archer_c7_setup(void)
|
|
|
|
|
{
|
|
|
|
|
ath79_register_gpio_keys_polled(-1, ARCHER_C7_KEYS_POLL_INTERVAL,
|
|
|
|
|
ARRAY_SIZE(archer_c7_gpio_keys),
|
|
|
|
|
archer_c7_gpio_keys);
|
|
|
|
|
common_setup(true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
MIPS_MACHINE(ATH79_MACH_ARCHER_C7, "ARCHER-C7", "TP-LINK Archer C7",
|
|
|
|
|
archer_c7_setup);
|
|
|
|
|
|
|
|
|
|
static void __init archer_c7_v2_setup(void)
|
|
|
|
|
{
|
|
|
|
|
ath79_register_gpio_keys_polled(-1, ARCHER_C7_KEYS_POLL_INTERVAL,
|
|
|
|
|
ARRAY_SIZE(archer_c7_v2_gpio_keys),
|
|
|
|
|
archer_c7_v2_gpio_keys);
|
|
|
|
|
common_setup(true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
MIPS_MACHINE(ATH79_MACH_ARCHER_C7_V2, "ARCHER-C7-V2", "TP-LINK Archer C7",
|
|
|
|
|
archer_c7_v2_setup);
|
|
|
|
|
|
|
|
|
|
static void __init tl_wdr4900_v2_setup(void)
|
|
|
|
|
{
|
|
|
|
|
ath79_register_gpio_keys_polled(-1, ARCHER_C7_KEYS_POLL_INTERVAL,
|
|
|
|
|
ARRAY_SIZE(archer_c7_gpio_keys),
|
|
|
|
|
archer_c7_gpio_keys);
|
|
|
|
|
common_setup(false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|