ar71xx: add support for TP-Link TL-WR940N v6
Add support for TL-WR940N v6 board. It is pretty much the same as v5 except they only left WAN LED and removed other ones. Installation: flash factory image through WEB UI or use TFTP. Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
parent
6148c46556
commit
b834487203
8 changed files with 72 additions and 17 deletions
|
@ -889,6 +889,9 @@ tl-wr840n-v3)
|
|||
ucidef_set_led_switch "lan" "LAN" "tp-link:green:lan" "switch0" "0x1E"
|
||||
ucidef_set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt"
|
||||
;;
|
||||
tl-wr940n-v6)
|
||||
ucidef_set_led_netdev "wan" "WAN" "tp-link:blue:wan" "eth0"
|
||||
;;
|
||||
tl-wr942n-v1)
|
||||
ucidef_set_led_switch "lan1" "LAN1" "$board:green:lan1" "switch0" "0x04"
|
||||
ucidef_set_led_switch "lan2" "LAN2" "$board:green:lan2" "switch0" "0x08"
|
||||
|
|
|
@ -341,6 +341,7 @@ ar71xx_setup_interfaces()
|
|||
smart-300|\
|
||||
tl-wdr6500-v2|\
|
||||
tl-wr940n-v4|\
|
||||
tl-wr940n-v6|\
|
||||
tl-wr941nd-v6|\
|
||||
wnr1000-v2|\
|
||||
wnr2000-v4|\
|
||||
|
|
|
@ -468,6 +468,9 @@ get_status_led() {
|
|||
tl-wr841n-v9)
|
||||
status_led="tp-link:green:qss"
|
||||
;;
|
||||
tl-wr940n-v6)
|
||||
status_led="tp-link:orange:diag"
|
||||
;;
|
||||
tl-wdr6500-v2)
|
||||
status_led="tp-link:white:system"
|
||||
;;
|
||||
|
|
|
@ -1301,6 +1301,9 @@ ar71xx_board_detect() {
|
|||
*"TL-WR940N v4")
|
||||
name="tl-wr940n-v4"
|
||||
;;
|
||||
*"TL-WR940N v6")
|
||||
name="tl-wr940n-v6"
|
||||
;;
|
||||
*"TL-WR941N/ND v5")
|
||||
name="tl-wr941nd-v5"
|
||||
;;
|
||||
|
|
|
@ -470,6 +470,7 @@ platform_check_image() {
|
|||
tl-wr842n-v3|\
|
||||
tl-wr902ac-v1|\
|
||||
tl-wr940n-v4|\
|
||||
tl-wr940n-v6|\
|
||||
tl-wr941nd|\
|
||||
tl-wr941nd-v5|\
|
||||
tl-wr941nd-v6|\
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* TP-LINK TL-WR940N v4 board support
|
||||
* TP-LINK TL-WR940N v4 and v6 board support
|
||||
*
|
||||
* Copyright (C) 2016 David Lutz <kpanic@ff3l.net>
|
||||
*
|
||||
|
@ -32,12 +32,15 @@
|
|||
#define TL_WR940N_V4_GPIO_LED_LAN1 8
|
||||
#define TL_WR940N_V4_GPIO_LED_WLAN 7
|
||||
#define TL_WR940N_V4_GPIO_LED_SYSTEM 5
|
||||
/* WR940N v6 specific GPIO*/
|
||||
#define TL_WR940N_V6_GPIO_LED_DIAG_ORANGE 15
|
||||
#define TL_WR940N_V6_GPIO_LED_WAN_BLUE 14
|
||||
|
||||
#define TL_WR940N_V4_GPIO_BTN_RESET 1
|
||||
#define TL_WR940N_V4_GPIO_BTN_RFKILL 2
|
||||
|
||||
#define TL_WR940N_V4_KEYS_POLL_INTERVAL 20
|
||||
#define TL_WR940N_V4_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR940N_V4_KEYS_POLL_INTERVAL)
|
||||
#define TL_WR940N_KEYS_POLL_INTERVAL 20
|
||||
#define TL_WR940N_KEYS_DEBOUNCE_INTERVAL (3 * TL_WR940N_KEYS_POLL_INTERVAL)
|
||||
|
||||
|
||||
static struct gpio_led tl_wr940n_v4_leds_gpio[] __initdata = {
|
||||
|
@ -93,43 +96,49 @@ static struct gpio_keys_button tl_wr940n_v4_gpio_keys[] __initdata = {
|
|||
.desc = "Reset button",
|
||||
.type = EV_KEY,
|
||||
.code = KEY_RESTART,
|
||||
.debounce_interval = TL_WR940N_V4_KEYS_DEBOUNCE_INTERVAL,
|
||||
.debounce_interval = TL_WR940N_KEYS_DEBOUNCE_INTERVAL,
|
||||
.gpio = TL_WR940N_V4_GPIO_BTN_RESET,
|
||||
.active_low = 1,
|
||||
}, {
|
||||
.desc = "RFKILL button",
|
||||
.type = EV_KEY,
|
||||
.code = KEY_RFKILL,
|
||||
.debounce_interval = TL_WR940N_V4_KEYS_DEBOUNCE_INTERVAL,
|
||||
.debounce_interval = TL_WR940N_KEYS_DEBOUNCE_INTERVAL,
|
||||
.gpio = TL_WR940N_V4_GPIO_BTN_RFKILL,
|
||||
.active_low = 1,
|
||||
}
|
||||
};
|
||||
|
||||
static struct gpio_led tl_wr940n_v6_leds_gpio[] __initdata = {
|
||||
{
|
||||
.name = "tp-link:blue:wan",
|
||||
.gpio = TL_WR940N_V6_GPIO_LED_WAN_BLUE,
|
||||
.active_low = 1,
|
||||
},
|
||||
{
|
||||
.name = "tp-link:orange:diag",
|
||||
.gpio = TL_WR940N_V6_GPIO_LED_DIAG_ORANGE,
|
||||
.active_low = 0,
|
||||
},
|
||||
};
|
||||
|
||||
static const char *tl_wr940n_v4_part_probes[] = {
|
||||
|
||||
static const char *tl_wr940n_part_probes[] = {
|
||||
"tp-link",
|
||||
NULL,
|
||||
};
|
||||
|
||||
static struct flash_platform_data tl_wr940n_v4_flash_data = {
|
||||
.part_probes = tl_wr940n_v4_part_probes,
|
||||
static struct flash_platform_data tl_wr940n_flash_data = {
|
||||
.part_probes = tl_wr940n_part_probes,
|
||||
};
|
||||
|
||||
|
||||
static void __init tl_wr940n_v4_setup(void)
|
||||
static void __init tl_wr940n_setup(void)
|
||||
{
|
||||
u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
|
||||
u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
|
||||
|
||||
ath79_register_m25p80(&tl_wr940n_v4_flash_data);
|
||||
|
||||
ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr940n_v4_leds_gpio),
|
||||
tl_wr940n_v4_leds_gpio);
|
||||
|
||||
ath79_register_gpio_keys_polled(-1, TL_WR940N_V4_KEYS_POLL_INTERVAL,
|
||||
ARRAY_SIZE(tl_wr940n_v4_gpio_keys),
|
||||
tl_wr940n_v4_gpio_keys);
|
||||
ath79_register_m25p80(&tl_wr940n_flash_data);
|
||||
|
||||
ath79_register_mdio(0, 0x0);
|
||||
|
||||
|
@ -145,5 +154,31 @@ static void __init tl_wr940n_v4_setup(void)
|
|||
|
||||
}
|
||||
|
||||
static void __init tl_wr940n_v4_setup(void)
|
||||
{
|
||||
tl_wr940n_setup();
|
||||
|
||||
ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr940n_v4_leds_gpio),
|
||||
tl_wr940n_v4_leds_gpio);
|
||||
|
||||
ath79_register_gpio_keys_polled(-1, TL_WR940N_KEYS_POLL_INTERVAL,
|
||||
ARRAY_SIZE(tl_wr940n_v4_gpio_keys),
|
||||
tl_wr940n_v4_gpio_keys);
|
||||
}
|
||||
|
||||
static void __init tl_wr940n_v6_setup(void)
|
||||
{
|
||||
tl_wr940n_setup();
|
||||
|
||||
ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr940n_v6_leds_gpio),
|
||||
tl_wr940n_v6_leds_gpio);
|
||||
|
||||
ath79_register_gpio_keys_polled(-1, TL_WR940N_KEYS_POLL_INTERVAL,
|
||||
ARRAY_SIZE(tl_wr940n_v4_gpio_keys),
|
||||
tl_wr940n_v4_gpio_keys);
|
||||
}
|
||||
|
||||
MIPS_MACHINE(ATH79_MACH_TL_WR940N_V4, "TL-WR940N-v4", "TP-LINK TL-WR940N v4",
|
||||
tl_wr940n_v4_setup);
|
||||
MIPS_MACHINE(ATH79_MACH_TL_WR940N_V6, "TL-WR940N-v6", "TP-LINK TL-WR940N v6",
|
||||
tl_wr940n_v6_setup);
|
||||
|
|
|
@ -298,6 +298,7 @@ enum ath79_mach_type {
|
|||
ATH79_MACH_TL_WR941ND_V5, /* TP-LINK TL-WR941ND v5 */
|
||||
ATH79_MACH_TL_WR941ND_V6, /* TP-LINK TL-WR941ND v6 */
|
||||
ATH79_MACH_TL_WR940N_V4, /* TP-LINK TL-WR940N v4 */
|
||||
ATH79_MACH_TL_WR940N_V6, /* TP-LINK TL-WR940N v6 */
|
||||
ATH79_MACH_TL_WR942N_V1, /* TP-LINK TL-WR942N v1 */
|
||||
ATH79_MACH_TUBE2H, /* Alfa Network Tube2H */
|
||||
ATH79_MACH_UBNT_AIRGW, /* Ubiquiti AirGateway */
|
||||
|
|
|
@ -622,6 +622,14 @@ define Device/tl-wr940n-v4
|
|||
endef
|
||||
TARGET_DEVICES += tl-wr940n-v4
|
||||
|
||||
define Device/tl-wr940n-v6
|
||||
$(Device/tl-wr940n-v4)
|
||||
DEVICE_TITLE := TP-LINK TL-WR940N v6
|
||||
BOARDNAME := TL-WR940N-v6
|
||||
TPLINK_HWID := 0x09400006
|
||||
endef
|
||||
TARGET_DEVICES += tl-wr940n-v6
|
||||
|
||||
define Device/tl-wr941nd-v2
|
||||
$(Device/tplink-4m)
|
||||
DEVICE_TITLE := TP-LINK TL-WR941N/ND v2
|
||||
|
|
Loading…
Reference in a new issue