aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2014-07-17 17:24:30 -0400
committerRalf Baechle <ralf@linux-mips.org>2014-07-30 17:12:05 -0400
commit9194b3431616567ffbf69ef970506d695912be0b (patch)
tree676bd828f598ab878a5b523f8252a21153f0e6b4
parentce01cbef8b0b71d01f8a68cba59da3198165bae6 (diff)
MIPS: BCM47XX: Devices database update for 3.17
Detect more devices and register leds & buttons for them. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/7394/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r--arch/mips/bcm47xx/board.c3
-rw-r--r--arch/mips/bcm47xx/buttons.c9
-rw-r--r--arch/mips/bcm47xx/leds.c53
3 files changed, 55 insertions, 10 deletions
diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c
index dbae347d4dc7..b3ae068ca4fa 100644
--- a/arch/mips/bcm47xx/board.c
+++ b/arch/mips/bcm47xx/board.c
@@ -58,6 +58,7 @@ struct bcm47xx_board_type_list1 bcm47xx_board_list_machine_name[] __initconst =
58static const 58static const
59struct bcm47xx_board_type_list1 bcm47xx_board_list_hardware_version[] __initconst = { 59struct bcm47xx_board_type_list1 bcm47xx_board_list_hardware_version[] __initconst = {
60 {{BCM47XX_BOARD_ASUS_RTN10U, "Asus RT-N10U"}, "RTN10U"}, 60 {{BCM47XX_BOARD_ASUS_RTN10U, "Asus RT-N10U"}, "RTN10U"},
61 {{BCM47XX_BOARD_ASUS_RTN10D, "Asus RT-N10D"}, "RTN10D"},
61 {{BCM47XX_BOARD_ASUS_RTN12, "Asus RT-N12"}, "RT-N12"}, 62 {{BCM47XX_BOARD_ASUS_RTN12, "Asus RT-N12"}, "RT-N12"},
62 {{BCM47XX_BOARD_ASUS_RTN12B1, "Asus RT-N12B1"}, "RTN12B1"}, 63 {{BCM47XX_BOARD_ASUS_RTN12B1, "Asus RT-N12B1"}, "RTN12B1"},
63 {{BCM47XX_BOARD_ASUS_RTN12C1, "Asus RT-N12C1"}, "RTN12C1"}, 64 {{BCM47XX_BOARD_ASUS_RTN12C1, "Asus RT-N12C1"}, "RTN12C1"},
@@ -106,7 +107,7 @@ struct bcm47xx_board_type_list1 bcm47xx_board_list_productid[] __initconst = {
106/* ModelId */ 107/* ModelId */
107static const 108static const
108struct bcm47xx_board_type_list1 bcm47xx_board_list_ModelId[] __initconst = { 109struct bcm47xx_board_type_list1 bcm47xx_board_list_ModelId[] __initconst = {
109 {{BCM47XX_BOARD_DELL_TM2300, "Dell WX-5565"}, "WX-5565"}, 110 {{BCM47XX_BOARD_DELL_TM2300, "Dell TrueMobile 2300"}, "WX-5565"},
110 {{BCM47XX_BOARD_MOTOROLA_WE800G, "Motorola WE800G"}, "WE800G"}, 111 {{BCM47XX_BOARD_MOTOROLA_WE800G, "Motorola WE800G"}, "WE800G"},
111 {{BCM47XX_BOARD_MOTOROLA_WR850GP, "Motorola WR850GP"}, "WR850GP"}, 112 {{BCM47XX_BOARD_MOTOROLA_WR850GP, "Motorola WR850GP"}, "WR850GP"},
112 {{BCM47XX_BOARD_MOTOROLA_WR850GV2V3, "Motorola WR850G"}, "WR850G"}, 113 {{BCM47XX_BOARD_MOTOROLA_WR850GV2V3, "Motorola WR850G"}, "WR850G"},
diff --git a/arch/mips/bcm47xx/buttons.c b/arch/mips/bcm47xx/buttons.c
index 0e409c114e80..913182bcafb8 100644
--- a/arch/mips/bcm47xx/buttons.c
+++ b/arch/mips/bcm47xx/buttons.c
@@ -341,6 +341,12 @@ bcm47xx_buttons_netgear_wndr4500v1[] __initconst = {
341}; 341};
342 342
343static const struct gpio_keys_button 343static const struct gpio_keys_button
344bcm47xx_buttons_netgear_wnr3500lv1[] __initconst = {
345 BCM47XX_GPIO_KEY(4, KEY_RESTART),
346 BCM47XX_GPIO_KEY(6, KEY_WPS_BUTTON),
347};
348
349static const struct gpio_keys_button
344bcm47xx_buttons_netgear_wnr834bv2[] __initconst = { 350bcm47xx_buttons_netgear_wnr834bv2[] __initconst = {
345 BCM47XX_GPIO_KEY(6, KEY_RESTART), 351 BCM47XX_GPIO_KEY(6, KEY_RESTART),
346}; 352};
@@ -557,6 +563,9 @@ int __init bcm47xx_buttons_register(void)
557 case BCM47XX_BOARD_NETGEAR_WNDR4500V1: 563 case BCM47XX_BOARD_NETGEAR_WNDR4500V1:
558 err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr4500v1); 564 err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr4500v1);
559 break; 565 break;
566 case BCM47XX_BOARD_NETGEAR_WNR3500L:
567 err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wnr3500lv1);
568 break;
560 case BCM47XX_BOARD_NETGEAR_WNR834BV2: 569 case BCM47XX_BOARD_NETGEAR_WNR834BV2:
561 err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wnr834bv2); 570 err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wnr834bv2);
562 break; 571 break;
diff --git a/arch/mips/bcm47xx/leds.c b/arch/mips/bcm47xx/leds.c
index 4224cbb137f2..903a656d4119 100644
--- a/arch/mips/bcm47xx/leds.c
+++ b/arch/mips/bcm47xx/leds.c
@@ -35,6 +35,15 @@ bcm47xx_leds_asus_rtn12[] __initconst = {
35}; 35};
36 36
37static const struct gpio_led 37static const struct gpio_led
38bcm47xx_leds_asus_rtn15u[] __initconst = {
39 /* TODO: Add "wlan" LED */
40 BCM47XX_GPIO_LED(3, "blue", "wan", 1, LEDS_GPIO_DEFSTATE_OFF),
41 BCM47XX_GPIO_LED(4, "blue", "lan", 1, LEDS_GPIO_DEFSTATE_OFF),
42 BCM47XX_GPIO_LED(6, "blue", "power", 1, LEDS_GPIO_DEFSTATE_ON),
43 BCM47XX_GPIO_LED(9, "blue", "usb", 0, LEDS_GPIO_DEFSTATE_OFF),
44};
45
46static const struct gpio_led
38bcm47xx_leds_asus_rtn16[] __initconst = { 47bcm47xx_leds_asus_rtn16[] __initconst = {
39 BCM47XX_GPIO_LED(1, "blue", "power", 1, LEDS_GPIO_DEFSTATE_ON), 48 BCM47XX_GPIO_LED(1, "blue", "power", 1, LEDS_GPIO_DEFSTATE_ON),
40 BCM47XX_GPIO_LED(7, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF), 49 BCM47XX_GPIO_LED(7, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
@@ -42,8 +51,8 @@ bcm47xx_leds_asus_rtn16[] __initconst = {
42 51
43static const struct gpio_led 52static const struct gpio_led
44bcm47xx_leds_asus_rtn66u[] __initconst = { 53bcm47xx_leds_asus_rtn66u[] __initconst = {
45 BCM47XX_GPIO_LED(12, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON), 54 BCM47XX_GPIO_LED(12, "blue", "power", 1, LEDS_GPIO_DEFSTATE_ON),
46 BCM47XX_GPIO_LED(15, "unk", "usb", 1, LEDS_GPIO_DEFSTATE_OFF), 55 BCM47XX_GPIO_LED(15, "blue", "usb", 1, LEDS_GPIO_DEFSTATE_OFF),
47}; 56};
48 57
49static const struct gpio_led 58static const struct gpio_led
@@ -221,8 +230,8 @@ bcm47xx_leds_linksys_e1000v1[] __initconst = {
221 230
222static const struct gpio_led 231static const struct gpio_led
223bcm47xx_leds_linksys_e1000v21[] __initconst = { 232bcm47xx_leds_linksys_e1000v21[] __initconst = {
224 BCM47XX_GPIO_LED(5, "unk", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF), 233 BCM47XX_GPIO_LED(5, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
225 BCM47XX_GPIO_LED(6, "unk", "power", 1, LEDS_GPIO_DEFSTATE_ON), 234 BCM47XX_GPIO_LED(6, "blue", "power", 1, LEDS_GPIO_DEFSTATE_ON),
226 BCM47XX_GPIO_LED(7, "amber", "wps", 0, LEDS_GPIO_DEFSTATE_OFF), 235 BCM47XX_GPIO_LED(7, "amber", "wps", 0, LEDS_GPIO_DEFSTATE_OFF),
227 BCM47XX_GPIO_LED(8, "blue", "wps", 0, LEDS_GPIO_DEFSTATE_OFF), 236 BCM47XX_GPIO_LED(8, "blue", "wps", 0, LEDS_GPIO_DEFSTATE_OFF),
228}; 237};
@@ -319,6 +328,16 @@ bcm47xx_leds_linksys_wrt54g_type_0101[] __initconst = {
319 BCM47XX_GPIO_LED(7, "green", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF), 328 BCM47XX_GPIO_LED(7, "green", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF),
320}; 329};
321 330
331/* Verified on: WRT54GL V1.1 */
332static const struct gpio_led
333bcm47xx_leds_linksys_wrt54g_type_0467[] __initconst = {
334 BCM47XX_GPIO_LED(0, "green", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
335 BCM47XX_GPIO_LED(1, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
336 BCM47XX_GPIO_LED(2, "white", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
337 BCM47XX_GPIO_LED(3, "orange", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
338 BCM47XX_GPIO_LED(7, "green", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF),
339};
340
322static const struct gpio_led 341static const struct gpio_led
323bcm47xx_leds_linksys_wrt610nv1[] __initconst = { 342bcm47xx_leds_linksys_wrt610nv1[] __initconst = {
324 BCM47XX_GPIO_LED(0, "unk", "usb", 1, LEDS_GPIO_DEFSTATE_OFF), 343 BCM47XX_GPIO_LED(0, "unk", "usb", 1, LEDS_GPIO_DEFSTATE_OFF),
@@ -338,11 +357,10 @@ bcm47xx_leds_linksys_wrt610nv2[] __initconst = {
338 357
339static const struct gpio_led 358static const struct gpio_led
340bcm47xx_leds_linksys_wrtsl54gs[] __initconst = { 359bcm47xx_leds_linksys_wrtsl54gs[] __initconst = {
341 BCM47XX_GPIO_LED(0, "unk", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF), 360 BCM47XX_GPIO_LED(0, "green", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF),
342 BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON), 361 BCM47XX_GPIO_LED(1, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
343 BCM47XX_GPIO_LED(2, "white", "wps", 1, LEDS_GPIO_DEFSTATE_OFF), 362 BCM47XX_GPIO_LED(5, "white", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
344 BCM47XX_GPIO_LED(3, "orange", "wps", 1, LEDS_GPIO_DEFSTATE_OFF), 363 BCM47XX_GPIO_LED(7, "orange", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
345 BCM47XX_GPIO_LED(7, "unk", "dmz", 1, LEDS_GPIO_DEFSTATE_OFF),
346}; 364};
347 365
348/* Microsoft */ 366/* Microsoft */
@@ -397,6 +415,15 @@ bcm47xx_leds_netgear_wndr4500v1[] __initconst = {
397}; 415};
398 416
399static const struct gpio_led 417static const struct gpio_led
418bcm47xx_leds_netgear_wnr3500lv1[] __initconst = {
419 BCM47XX_GPIO_LED(0, "blue", "wlan", 1, LEDS_GPIO_DEFSTATE_OFF),
420 BCM47XX_GPIO_LED(1, "green", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
421 BCM47XX_GPIO_LED(2, "green", "wan", 1, LEDS_GPIO_DEFSTATE_OFF),
422 BCM47XX_GPIO_LED(3, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
423 BCM47XX_GPIO_LED(7, "amber", "power", 0, LEDS_GPIO_DEFSTATE_OFF),
424};
425
426static const struct gpio_led
400bcm47xx_leds_netgear_wnr834bv2[] __initconst = { 427bcm47xx_leds_netgear_wnr834bv2[] __initconst = {
401 BCM47XX_GPIO_LED(2, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON), 428 BCM47XX_GPIO_LED(2, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
402 BCM47XX_GPIO_LED(3, "amber", "power", 0, LEDS_GPIO_DEFSTATE_OFF), 429 BCM47XX_GPIO_LED(3, "amber", "power", 0, LEDS_GPIO_DEFSTATE_OFF),
@@ -437,6 +464,9 @@ void __init bcm47xx_leds_register(void)
437 case BCM47XX_BOARD_ASUS_RTN12: 464 case BCM47XX_BOARD_ASUS_RTN12:
438 bcm47xx_set_pdata(bcm47xx_leds_asus_rtn12); 465 bcm47xx_set_pdata(bcm47xx_leds_asus_rtn12);
439 break; 466 break;
467 case BCM47XX_BOARD_ASUS_RTN15U:
468 bcm47xx_set_pdata(bcm47xx_leds_asus_rtn15u);
469 break;
440 case BCM47XX_BOARD_ASUS_RTN16: 470 case BCM47XX_BOARD_ASUS_RTN16:
441 bcm47xx_set_pdata(bcm47xx_leds_asus_rtn16); 471 bcm47xx_set_pdata(bcm47xx_leds_asus_rtn16);
442 break; 472 break;
@@ -568,6 +598,8 @@ void __init bcm47xx_leds_register(void)
568 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt54g_type_0101); 598 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt54g_type_0101);
569 break; 599 break;
570 case BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0467: 600 case BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0467:
601 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt54g_type_0467);
602 break;
571 case BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0708: 603 case BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0708:
572 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt54g_generic); 604 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt54g_generic);
573 break; 605 break;
@@ -601,6 +633,9 @@ void __init bcm47xx_leds_register(void)
601 case BCM47XX_BOARD_NETGEAR_WNDR4500V1: 633 case BCM47XX_BOARD_NETGEAR_WNDR4500V1:
602 bcm47xx_set_pdata(bcm47xx_leds_netgear_wndr4500v1); 634 bcm47xx_set_pdata(bcm47xx_leds_netgear_wndr4500v1);
603 break; 635 break;
636 case BCM47XX_BOARD_NETGEAR_WNR3500L:
637 bcm47xx_set_pdata(bcm47xx_leds_netgear_wnr3500lv1);
638 break;
604 case BCM47XX_BOARD_NETGEAR_WNR834BV2: 639 case BCM47XX_BOARD_NETGEAR_WNR834BV2:
605 bcm47xx_set_pdata(bcm47xx_leds_netgear_wnr834bv2); 640 bcm47xx_set_pdata(bcm47xx_leds_netgear_wnr834bv2);
606 break; 641 break;