|
|
@ -30,6 +30,9 @@ |
|
|
|
#define CPE510_GPIO_LED_L3 15 |
|
|
|
#define CPE510_GPIO_LED_L3 15 |
|
|
|
#define CPE510_GPIO_LED_L4 16 |
|
|
|
#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_LNA0 18 |
|
|
|
#define CPE510_GPIO_EXTERNAL_LNA1 19 |
|
|
|
#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 = { |
|
|
|
static struct gpio_keys_button cpe510_gpio_keys[] __initdata = { |
|
|
|
{ |
|
|
|
{ |
|
|
|
.desc = "Reset button", |
|
|
|
.desc = "Reset button", |
|
|
@ -85,9 +116,6 @@ static void __init cpe_setup(u8 *mac) |
|
|
|
ath79_gpio_function_setup(AR934X_GPIO_FUNC_JTAG_DISABLE, |
|
|
|
ath79_gpio_function_setup(AR934X_GPIO_FUNC_JTAG_DISABLE, |
|
|
|
AR934X_GPIO_FUNC_CLK_OBS4_EN); |
|
|
|
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, |
|
|
|
ath79_register_gpio_keys_polled(1, CPE510_KEYS_POLL_INTERVAL, |
|
|
|
ARRAY_SIZE(cpe510_gpio_keys), |
|
|
|
ARRAY_SIZE(cpe510_gpio_keys), |
|
|
|
cpe510_gpio_keys); |
|
|
|
cpe510_gpio_keys); |
|
|
@ -109,6 +137,9 @@ static void __init cpe210_setup(void) |
|
|
|
u8 *mac = (u8 *) KSEG1ADDR(0x1f830008); |
|
|
|
u8 *mac = (u8 *) KSEG1ADDR(0x1f830008); |
|
|
|
u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000); |
|
|
|
u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ath79_register_leds_gpio(-1, ARRAY_SIZE(cpe510_leds_gpio), |
|
|
|
|
|
|
|
cpe510_leds_gpio); |
|
|
|
|
|
|
|
|
|
|
|
cpe_setup(mac); |
|
|
|
cpe_setup(mac); |
|
|
|
|
|
|
|
|
|
|
|
ath79_register_wmac(ee, mac); |
|
|
|
ath79_register_wmac(ee, mac); |
|
|
@ -119,6 +150,22 @@ static void __init cpe510_setup(void) |
|
|
|
u8 *mac = (u8 *) KSEG1ADDR(0x1f830008); |
|
|
|
u8 *mac = (u8 *) KSEG1ADDR(0x1f830008); |
|
|
|
u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000); |
|
|
|
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); |
|
|
|
cpe_setup(mac); |
|
|
|
|
|
|
|
|
|
|
|
ath79_register_wmac(ee, 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", |
|
|
|
MIPS_MACHINE(ATH79_MACH_CPE510, "CPE510", "TP-LINK CPE510/520", |
|
|
|
cpe510_setup); |
|
|
|
cpe510_setup); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MIPS_MACHINE(ATH79_MACH_WBS210, "WBS210", "TP-LINK WBS210", |
|
|
|
|
|
|
|
wbs_setup); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MIPS_MACHINE(ATH79_MACH_WBS510, "WBS510", "TP-LINK WBS510", |
|
|
|
|
|
|
|
wbs_setup); |
|
|
|