ar71xx: add support for TP-Link WBS210/510
The devices are mostly identical to the CPE210/510, but use external antennas. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
This commit is contained in:
parent
2ee3e8dd42
commit
1fef80f29c
8 changed files with 95 additions and 8 deletions
|
@ -152,7 +152,9 @@ cf-e530n)
|
||||||
ucidef_set_led_netdev "wan" "WAN" "$board:blue:wan" "eth1"
|
ucidef_set_led_netdev "wan" "WAN" "$board:blue:wan" "eth1"
|
||||||
;;
|
;;
|
||||||
cpe210|\
|
cpe210|\
|
||||||
cpe510)
|
cpe510|\
|
||||||
|
wbs210|\
|
||||||
|
wbs510)
|
||||||
ucidef_set_led_switch "lan0" "LAN0" "tp-link:green:lan0" "switch0" "0x20"
|
ucidef_set_led_switch "lan0" "LAN0" "tp-link:green:lan0" "switch0" "0x20"
|
||||||
ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x10"
|
ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x10"
|
||||||
ucidef_set_rssimon "wlan0" "200000" "1"
|
ucidef_set_rssimon "wlan0" "200000" "1"
|
||||||
|
|
|
@ -212,7 +212,9 @@ ar71xx_setup_interfaces()
|
||||||
ucidef_set_interface_lan "eth0" "dhcp"
|
ucidef_set_interface_lan "eth0" "dhcp"
|
||||||
;;
|
;;
|
||||||
cpe210|\
|
cpe210|\
|
||||||
cpe510)
|
cpe510|\
|
||||||
|
wbs210|\
|
||||||
|
wbs510)
|
||||||
ucidef_add_switch "switch0" \
|
ucidef_add_switch "switch0" \
|
||||||
"0@eth0" "5:lan" "4:wan"
|
"0@eth0" "5:lan" "4:wan"
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -18,7 +18,9 @@ nanostation-m-xw)
|
||||||
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "2"
|
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "2"
|
||||||
;;
|
;;
|
||||||
cpe210|\
|
cpe210|\
|
||||||
cpe510)
|
cpe510|\
|
||||||
|
wbs210|\
|
||||||
|
wbs510)
|
||||||
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "20"
|
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "20"
|
||||||
;;
|
;;
|
||||||
rb-912uag-2hpnd|\
|
rb-912uag-2hpnd|\
|
||||||
|
|
|
@ -510,6 +510,14 @@ ar71xx_board_detect() {
|
||||||
*CPE870)
|
*CPE870)
|
||||||
name="cpe870"
|
name="cpe870"
|
||||||
;;
|
;;
|
||||||
|
*WBS210)
|
||||||
|
name="wbs210"
|
||||||
|
tplink_pharos_board_detect
|
||||||
|
;;
|
||||||
|
*WBS510)
|
||||||
|
name="wbs510"
|
||||||
|
tplink_pharos_board_detect
|
||||||
|
;;
|
||||||
*CR3000)
|
*CR3000)
|
||||||
name="cr3000"
|
name="cr3000"
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -453,7 +453,9 @@ platform_check_image() {
|
||||||
;;
|
;;
|
||||||
cpe210|\
|
cpe210|\
|
||||||
cpe510|\
|
cpe510|\
|
||||||
eap120)
|
eap120|\
|
||||||
|
wbs210|\
|
||||||
|
wbs510)
|
||||||
tplink_pharos_check_image "$1" && return 0
|
tplink_pharos_check_image "$1" && return 0
|
||||||
return 1
|
return 1
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -251,6 +251,8 @@ enum ath79_mach_type {
|
||||||
ATH79_MACH_UBNT_UNIFI_OUTDOOR, /* Ubiquiti UnifiAP Outdoor */
|
ATH79_MACH_UBNT_UNIFI_OUTDOOR, /* Ubiquiti UnifiAP Outdoor */
|
||||||
ATH79_MACH_UBNT_UNIFI_OUTDOOR_PLUS, /* Ubiquiti UnifiAP Outdoor+ */
|
ATH79_MACH_UBNT_UNIFI_OUTDOOR_PLUS, /* Ubiquiti UnifiAP Outdoor+ */
|
||||||
ATH79_MACH_UBNT_XM, /* Ubiquiti Networks XM board rev 1.0 */
|
ATH79_MACH_UBNT_XM, /* Ubiquiti Networks XM board rev 1.0 */
|
||||||
|
ATH79_MACH_WBS210, /* TP-LINK WBS210 */
|
||||||
|
ATH79_MACH_WBS510, /* TP-LINK WBS510 */
|
||||||
ATH79_MACH_WEIO, /* WeIO board */
|
ATH79_MACH_WEIO, /* WeIO board */
|
||||||
ATH79_MACH_WHR_G301N, /* Buffalo WHR-G301N */
|
ATH79_MACH_WHR_G301N, /* Buffalo WHR-G301N */
|
||||||
ATH79_MACH_WHR_HP_G300N, /* Buffalo WHR-HP-G300N */
|
ATH79_MACH_WHR_HP_G300N, /* Buffalo WHR-HP-G300N */
|
||||||
|
|
|
@ -117,7 +117,23 @@ $(Device/cpe510-520)
|
||||||
BOARDNAME := CPE210
|
BOARDNAME := CPE210
|
||||||
TPLINK_BOARD_NAME := CPE210
|
TPLINK_BOARD_NAME := CPE210
|
||||||
endef
|
endef
|
||||||
TARGET_DEVICES += cpe210-220 cpe510-520
|
|
||||||
|
define Device/wbs210
|
||||||
|
$(Device/cpe510-520)
|
||||||
|
DEVICE_TITLE := TP-LINK WBS210
|
||||||
|
DEVICE_PACKAGES := rssileds
|
||||||
|
BOARDNAME := WBS210
|
||||||
|
TPLINK_BOARD_NAME := WBS210
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Device/wbs510
|
||||||
|
$(Device/cpe510-520)
|
||||||
|
DEVICE_TITLE := TP-LINK WBS510
|
||||||
|
DEVICE_PACKAGES := rssileds
|
||||||
|
BOARDNAME := WBS510
|
||||||
|
TPLINK_BOARD_NAME := WBS510
|
||||||
|
endef
|
||||||
|
TARGET_DEVICES += cpe210-220 cpe510-520 wbs210 wbs510
|
||||||
|
|
||||||
define Device/re450
|
define Device/re450
|
||||||
DEVICE_TITLE := TP-LINK RE450
|
DEVICE_TITLE := TP-LINK RE450
|
||||||
|
|
Loading…
Reference in a new issue