|
@@ -30,6 +30,9 @@
|
|
|
#define CPE510_GPIO_LED_L3 15
|
|
|
#define CPE510_GPIO_LED_L4 16
|
|
|
|
|
|
+/* All LEDs/button except for link4 are the same for CPE and WBS series */
|
|
|
+#define WBS510_GPIO_LED_L4 2
|
|
|
+
|
|
|
#define CPE510_GPIO_EXTERNAL_LNA0 18
|
|
|
#define CPE510_GPIO_EXTERNAL_LNA1 19
|
|
|
|
|
@@ -67,6 +70,34 @@ static struct gpio_led cpe510_leds_gpio[] __initdata = {
|
|
|
},
|
|
|
};
|
|
|
|
|
|
+static struct gpio_led wbs510_leds_gpio[] __initdata = {
|
|
|
+ {
|
|
|
+ .name = "tp-link:green:lan0",
|
|
|
+ .gpio = CPE510_GPIO_LED_LAN0,
|
|
|
+ .active_low = 1,
|
|
|
+ }, {
|
|
|
+ .name = "tp-link:green:lan1",
|
|
|
+ .gpio = CPE510_GPIO_LED_LAN1,
|
|
|
+ .active_low = 1,
|
|
|
+ }, {
|
|
|
+ .name = "tp-link:green:link1",
|
|
|
+ .gpio = CPE510_GPIO_LED_L1,
|
|
|
+ .active_low = 1,
|
|
|
+ }, {
|
|
|
+ .name = "tp-link:green:link2",
|
|
|
+ .gpio = CPE510_GPIO_LED_L2,
|
|
|
+ .active_low = 1,
|
|
|
+ }, {
|
|
|
+ .name = "tp-link:green:link3",
|
|
|
+ .gpio = CPE510_GPIO_LED_L3,
|
|
|
+ .active_low = 1,
|
|
|
+ }, {
|
|
|
+ .name = "tp-link:green:link4",
|
|
|
+ .gpio = WBS510_GPIO_LED_L4,
|
|
|
+ .active_low = 1,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
static struct gpio_keys_button cpe510_gpio_keys[] __initdata = {
|
|
|
{
|
|
|
.desc = "Reset button",
|
|
@@ -85,9 +116,6 @@ static void __init cpe_setup(u8 *mac)
|
|
|
ath79_gpio_function_setup(AR934X_GPIO_FUNC_JTAG_DISABLE,
|
|
|
AR934X_GPIO_FUNC_CLK_OBS4_EN);
|
|
|
|
|
|
- ath79_register_leds_gpio(-1, ARRAY_SIZE(cpe510_leds_gpio),
|
|
|
- cpe510_leds_gpio);
|
|
|
-
|
|
|
ath79_register_gpio_keys_polled(1, CPE510_KEYS_POLL_INTERVAL,
|
|
|
ARRAY_SIZE(cpe510_gpio_keys),
|
|
|
cpe510_gpio_keys);
|
|
@@ -109,6 +137,9 @@ static void __init cpe210_setup(void)
|
|
|
u8 *mac = (u8 *) KSEG1ADDR(0x1f830008);
|
|
|
u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
|
|
|
|
|
|
+ ath79_register_leds_gpio(-1, ARRAY_SIZE(cpe510_leds_gpio),
|
|
|
+ cpe510_leds_gpio);
|
|
|
+
|
|
|
cpe_setup(mac);
|
|
|
|
|
|
ath79_register_wmac(ee, mac);
|
|
@@ -119,6 +150,22 @@ static void __init cpe510_setup(void)
|
|
|
u8 *mac = (u8 *) KSEG1ADDR(0x1f830008);
|
|
|
u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
|
|
|
|
|
|
+ ath79_register_leds_gpio(-1, ARRAY_SIZE(cpe510_leds_gpio),
|
|
|
+ cpe510_leds_gpio);
|
|
|
+
|
|
|
+ cpe_setup(mac);
|
|
|
+
|
|
|
+ ath79_register_wmac(ee, mac);
|
|
|
+}
|
|
|
+
|
|
|
+static void __init wbs_setup(void)
|
|
|
+{
|
|
|
+ u8 *mac = (u8 *) KSEG1ADDR(0x1f830008);
|
|
|
+ u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000);
|
|
|
+
|
|
|
+ ath79_register_leds_gpio(-1, ARRAY_SIZE(wbs510_leds_gpio),
|
|
|
+ wbs510_leds_gpio);
|
|
|
+
|
|
|
cpe_setup(mac);
|
|
|
|
|
|
ath79_register_wmac(ee, mac);
|
|
@@ -129,3 +176,9 @@ MIPS_MACHINE(ATH79_MACH_CPE210, "CPE210", "TP-LINK CPE210/220",
|
|
|
|
|
|
MIPS_MACHINE(ATH79_MACH_CPE510, "CPE510", "TP-LINK CPE510/520",
|
|
|
cpe510_setup);
|
|
|
+
|
|
|
+MIPS_MACHINE(ATH79_MACH_WBS210, "WBS210", "TP-LINK WBS210",
|
|
|
+ wbs_setup);
|
|
|
+
|
|
|
+MIPS_MACHINE(ATH79_MACH_WBS510, "WBS510", "TP-LINK WBS510",
|
|
|
+ wbs_setup);
|