From: Gabor Juhos Date: Sun, 15 Dec 2013 21:34:17 +0000 (+0000) Subject: ar71xx: move TL-WA801ND v2 setup code X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=9ce06f2ac836e183723a0a9d124a1a7972a0c4e8;p=openwrt%2Fstaging%2Fnbd.git ar71xx: move TL-WA801ND v2 setup code The TL-WA801ND v2 board has only one LAN port which makes it more similar to the TL-WR[78]50RE devices. Move the board setup code into the mach-tl-wax50re.c file. Based-on: http://patchwork.openwrt.org/patch/4506/ Signed-off-by: Martijn Zilverschoon Signed-off-by: Gabor Juhos SVN-Revision: 39072 --- diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wax50re.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wax50re.c index c3387b0055..8d2074f4b8 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wax50re.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wax50re.c @@ -1,7 +1,8 @@ /* - * TP-LINK TL-WA750RE V1 / TP-LINK TL-WA850RE V1 board support + * TP-LINK TL-WA750RE v1/TL-WA801ND v2/TL-WA850RE v1 board support * * Copyright (C) 2013 Martijn Zilverschoon + * Copyright (C) 2013 Jiri Pirko * * 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 @@ -31,6 +32,9 @@ #define TL_WAX50RE_GPIO_LED_SIGNAL4 3 #define TL_WAX50RE_GPIO_LED_SIGNAL5 4 +#define TL_WA801ND_V2_GPIO_LED_LAN 18 +#define TL_WA801ND_V2_GPIO_LED_SYSTEM 14 + #define TL_WAX50RE_GPIO_BTN_RESET 17 #define TL_WAX50RE_GPIO_BTN_WPS 16 @@ -137,6 +141,26 @@ static struct gpio_keys_button tl_wax50re_gpio_keys[] __initdata = { }, }; +static struct gpio_led tl_wa801nd_v2_leds_gpio[] __initdata = { + { + .name = "tp-link:green:lan", + .gpio = TL_WA801ND_V2_GPIO_LED_LAN, + .active_low = 1, + }, { + .name = "tp-link:green:wlan", + .gpio = TL_WAX50RE_GPIO_LED_WLAN, + .active_low = 1, + }, { + .name = "tp-link:green:qss", + .gpio = TL_WAX50RE_GPIO_LED_RE, + .active_low = 1, + }, { + .name = "tp-link:green:system", + .gpio = TL_WA801ND_V2_GPIO_LED_SYSTEM, + .active_low = 1, + }, +}; + static void __init tl_ap123_setup(void) { u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00); @@ -172,6 +196,20 @@ static void __init tl_wa750re_setup(void) MIPS_MACHINE(ATH79_MACH_TL_WA750RE, "TL-WA750RE", "TP-LINK TL-WA750RE", tl_wa750re_setup); +static void __init tl_wa801nd_v2_setup(void) +{ + tl_ap123_setup(); + ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wa801nd_v2_leds_gpio), + tl_wa801nd_v2_leds_gpio); + + ath79_register_gpio_keys_polled(-1, TL_WAX50RE_KEYS_POLL_INTERVAL, + ARRAY_SIZE(tl_wax50re_gpio_keys), + tl_wax50re_gpio_keys); +} + +MIPS_MACHINE(ATH79_MACH_TL_WA801ND_V2, "TL-WA801ND-v2", "TP-LINK TL-WA801ND v2", + tl_wa801nd_v2_setup); + static void __init tl_wa850re_setup(void) { tl_ap123_setup(); diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v8.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v8.c index 24d4664605..0099b15b3a 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v8.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v8.c @@ -1,8 +1,7 @@ /* - * TP-LINK TL-WR841N/ND v8/TL-MR3420 v2/TL-WA801ND v2 board support + * TP-LINK TL-WR841N/ND v8/TL-MR3420 v2 board support * * Copyright (C) 2012 Gabor Juhos - * Copyright (C) 2013 Jiri Pirko * * 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 @@ -92,26 +91,6 @@ static struct gpio_led tl_wr841n_v8_leds_gpio[] __initdata = { }, }; -static struct gpio_led tl_wa801nd_v2_leds_gpio[] __initdata = { - { - .name = "tp-link:green:qss", - .gpio = TL_WR841NV8_GPIO_LED_QSS, - .active_low = 1, - }, { - .name = "tp-link:green:system", - .gpio = TL_WR841NV8_GPIO_LED_SYSTEM, - .active_low = 1, - }, { - .name = "tp-link:green:lan", - .gpio = TL_WR841NV8_GPIO_LED_WAN, /* LAN for wa801nd_v2 */ - .active_low = 1, - }, { - .name = "tp-link:green:wlan", - .gpio = TL_WR841NV8_GPIO_LED_WLAN, - .active_low = 1, - }, -}; - static struct gpio_keys_button tl_wr841n_v8_gpio_keys[] __initdata = { { .desc = "Reset button", @@ -148,7 +127,7 @@ static struct gpio_keys_button tl_mr3420v2_gpio_keys[] __initdata = { } }; -static void __init tl_ap123_setup(bool setup_gmac1) +static void __init tl_ap123_setup(void) { u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00); u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000); @@ -179,18 +158,16 @@ static void __init tl_ap123_setup(bool setup_gmac1) ath79_eth0_data.mii_bus_dev = &ath79_mdio1_device.dev; ath79_register_eth(0); - if (setup_gmac1) { - /* GMAC1 is connected to the internal switch */ - ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII; - ath79_register_eth(1); - } + /* GMAC1 is connected to the internal switch */ + ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_GMII; + ath79_register_eth(1); ath79_register_wmac(ee, mac); } static void __init tl_wr841n_v8_setup(void) { - tl_ap123_setup(true); + tl_ap123_setup(); ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr841n_v8_leds_gpio) - 1, tl_wr841n_v8_leds_gpio); @@ -206,7 +183,7 @@ MIPS_MACHINE(ATH79_MACH_TL_WR841N_V8, "TL-WR841N-v8", "TP-LINK TL-WR841N/ND v8", static void __init tl_wr842n_v2_setup(void) { - tl_ap123_setup(true); + tl_ap123_setup(); ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr841n_v8_leds_gpio), tl_wr841n_v8_leds_gpio); @@ -227,7 +204,7 @@ MIPS_MACHINE(ATH79_MACH_TL_WR842N_V2, "TL-WR842N-v2", "TP-LINK TL-WR842N/ND v2", static void __init tl_mr3420v2_setup(void) { - tl_ap123_setup(true); + tl_ap123_setup(); ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr841n_v8_leds_gpio), tl_wr841n_v8_leds_gpio); @@ -246,18 +223,3 @@ static void __init tl_mr3420v2_setup(void) MIPS_MACHINE(ATH79_MACH_TL_MR3420_V2, "TL-MR3420-v2", "TP-LINK TL-MR3420 v2", tl_mr3420v2_setup); - -static void __init tl_wa801nd_v2_setup(void) -{ - tl_ap123_setup(false); - - ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wa801nd_v2_leds_gpio), - tl_wa801nd_v2_leds_gpio); - - ath79_register_gpio_keys_polled(1, TL_WR841NV8_KEYS_POLL_INTERVAL, - ARRAY_SIZE(tl_mr3420v2_gpio_keys), - tl_mr3420v2_gpio_keys); -} - -MIPS_MACHINE(ATH79_MACH_TL_WA801ND_V2, "TL-WA801ND-v2", "TP-LINK TL-WA801ND v2", - tl_wa801nd_v2_setup);