diff options
author | John Crispin <john@phrozen.org> | 2016-05-12 15:52:55 +0200 |
---|---|---|
committer | John Crispin <john@phrozen.org> | 2016-05-14 21:26:08 +0200 |
commit | cc831e23e18c593be2629b77321c077def828bec (patch) | |
tree | b76c291d29354669aedcd2b44796ccc30a070db3 /target | |
parent | 7697aced2467e646069a2ec462c58dce359151f3 (diff) | |
download | mtk-20170518-cc831e23e18c593be2629b77321c077def828bec.zip mtk-20170518-cc831e23e18c593be2629b77321c077def828bec.tar.gz mtk-20170518-cc831e23e18c593be2629b77321c077def828bec.tar.bz2 |
ar71xx: add proper support for Archer-C7 V2
This has minor differences to the V1
Signed-off-by: John Crispin <john@phrozen.org>
Diffstat (limited to 'target')
-rw-r--r-- | target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7.c | 44 | ||||
-rw-r--r-- | target/linux/ar71xx/files/arch/mips/ath79/machtypes.h | 1 | ||||
-rw-r--r-- | target/linux/ar71xx/image/Makefile | 2 |
3 files changed, 42 insertions, 5 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7.c index d93dab2..f00998c 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-archer-c7.c @@ -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); } diff --git a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h index 7b4f67f..f50062f 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h +++ b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h @@ -42,6 +42,7 @@ enum ath79_mach_type { ATH79_MACH_AP96, /* Atheros AP96 */ ATH79_MACH_ARCHER_C5, /* TP-LINK Archer C5 board */ ATH79_MACH_ARCHER_C7, /* TP-LINK Archer C7 board */ + ATH79_MACH_ARCHER_C7_V2, /* TP-LINK Archer C7 V2 board */ ATH79_MACH_AW_NR580, /* AzureWave AW-NR580 */ ATH79_MACH_BHU_BXU2000N2_A1, /* BHU BXU2000n-2 A1 */ ATH79_MACH_BSB, /* Smart Electronics Black Swift board */ diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile index 4a9378c..049abf3 100644 --- a/target/linux/ar71xx/image/Makefile +++ b/target/linux/ar71xx/image/Makefile @@ -411,7 +411,7 @@ endef define Device/archer-c7-v2 $(Device/tplink-16mlzma) - BOARDNAME := ARCHER-C7 + BOARDNAME := ARCHER-C7-V2 DEVICE_PROFILE := ARCHERC7 TPLINK_HWID := 0xc7000002 IMAGE/factory.bin := append-rootfs | mktplinkfw factory -C US |