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
					
				|  | @ -152,7 +152,9 @@ cf-e530n) | |||
| 	ucidef_set_led_netdev "wan" "WAN" "$board:blue:wan" "eth1" | ||||
| 	;; | ||||
| cpe210|\ | ||||
| cpe510) | ||||
| cpe510|\ | ||||
| wbs210|\ | ||||
| wbs510) | ||||
| 	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_rssimon "wlan0" "200000" "1" | ||||
|  |  | |||
|  | @ -212,7 +212,9 @@ ar71xx_setup_interfaces() | |||
| 		ucidef_set_interface_lan "eth0" "dhcp" | ||||
| 		;; | ||||
| 	cpe210|\ | ||||
| 	cpe510) | ||||
| 	cpe510|\ | ||||
| 	wbs210|\ | ||||
| 	wbs510) | ||||
| 		ucidef_add_switch "switch0" \ | ||||
| 			"0@eth0" "5:lan" "4:wan" | ||||
| 		;; | ||||
|  |  | |||
|  | @ -18,7 +18,9 @@ nanostation-m-xw) | |||
| 	ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "2" | ||||
| 	;; | ||||
| cpe210|\ | ||||
| cpe510) | ||||
| cpe510|\ | ||||
| wbs210|\ | ||||
| wbs510) | ||||
| 	ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "20" | ||||
| 	;; | ||||
| rb-912uag-2hpnd|\ | ||||
|  |  | |||
|  | @ -510,6 +510,14 @@ ar71xx_board_detect() { | |||
| 	*CPE870) | ||||
| 		name="cpe870" | ||||
| 		;; | ||||
| 	*WBS210) | ||||
| 		name="wbs210" | ||||
| 		tplink_pharos_board_detect | ||||
| 		;; | ||||
| 	*WBS510) | ||||
| 		name="wbs510" | ||||
| 		tplink_pharos_board_detect | ||||
| 		;; | ||||
| 	*CR3000) | ||||
| 		name="cr3000" | ||||
| 		;; | ||||
|  |  | |||
|  | @ -453,7 +453,9 @@ platform_check_image() { | |||
| 		;; | ||||
| 	cpe210|\ | ||||
| 	cpe510|\ | ||||
| 	eap120) | ||||
| 	eap120|\ | ||||
| 	wbs210|\ | ||||
| 	wbs510) | ||||
| 		tplink_pharos_check_image "$1" && return 0 | ||||
| 		return 1 | ||||
| 		;; | ||||
|  |  | |||
|  | @ -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); | ||||
|  |  | |||
|  | @ -251,6 +251,8 @@ enum ath79_mach_type { | |||
| 	ATH79_MACH_UBNT_UNIFI_OUTDOOR,		/* 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_WBS210,			/* TP-LINK WBS210 */ | ||||
| 	ATH79_MACH_WBS510,			/* TP-LINK WBS510 */ | ||||
| 	ATH79_MACH_WEIO,			/* WeIO board */ | ||||
| 	ATH79_MACH_WHR_G301N,			/* Buffalo WHR-G301N */ | ||||
| 	ATH79_MACH_WHR_HP_G300N,		/* Buffalo WHR-HP-G300N */ | ||||
|  |  | |||
|  | @ -117,7 +117,23 @@ $(Device/cpe510-520) | |||
|   BOARDNAME := CPE210 | ||||
|   TPLINK_BOARD_NAME := CPE210 | ||||
| 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 | ||||
|   DEVICE_TITLE := TP-LINK RE450 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue