aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/bcm47xx/board.c4
-rw-r--r--arch/mips/bcm47xx/buttons.c18
-rw-r--r--arch/mips/bcm47xx/leds.c10
-rw-r--r--arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h4
4 files changed, 36 insertions, 0 deletions
diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c
index f936dcc4f549..41b9736c3c05 100644
--- a/arch/mips/bcm47xx/board.c
+++ b/arch/mips/bcm47xx/board.c
@@ -151,9 +151,11 @@ static const
151struct bcm47xx_board_type_list1 bcm47xx_board_list_board_id[] __initconst = { 151struct bcm47xx_board_type_list1 bcm47xx_board_list_board_id[] __initconst = {
152 {{BCM47XX_BOARD_NETGEAR_WGR614V8, "Netgear WGR614 V8"}, "U12H072T00_NETGEAR"}, 152 {{BCM47XX_BOARD_NETGEAR_WGR614V8, "Netgear WGR614 V8"}, "U12H072T00_NETGEAR"},
153 {{BCM47XX_BOARD_NETGEAR_WGR614V9, "Netgear WGR614 V9"}, "U12H094T00_NETGEAR"}, 153 {{BCM47XX_BOARD_NETGEAR_WGR614V9, "Netgear WGR614 V9"}, "U12H094T00_NETGEAR"},
154 {{BCM47XX_BOARD_NETGEAR_WGR614_V10, "Netgear WGR614 V10"}, "U12H139T01_NETGEAR"},
154 {{BCM47XX_BOARD_NETGEAR_WNDR3300, "Netgear WNDR3300"}, "U12H093T00_NETGEAR"}, 155 {{BCM47XX_BOARD_NETGEAR_WNDR3300, "Netgear WNDR3300"}, "U12H093T00_NETGEAR"},
155 {{BCM47XX_BOARD_NETGEAR_WNDR3400V1, "Netgear WNDR3400 V1"}, "U12H155T00_NETGEAR"}, 156 {{BCM47XX_BOARD_NETGEAR_WNDR3400V1, "Netgear WNDR3400 V1"}, "U12H155T00_NETGEAR"},
156 {{BCM47XX_BOARD_NETGEAR_WNDR3400V2, "Netgear WNDR3400 V2"}, "U12H187T00_NETGEAR"}, 157 {{BCM47XX_BOARD_NETGEAR_WNDR3400V2, "Netgear WNDR3400 V2"}, "U12H187T00_NETGEAR"},
158 {{BCM47XX_BOARD_NETGEAR_WNDR3400_V3, "Netgear WNDR3400 V3"}, "U12H208T00_NETGEAR"},
157 {{BCM47XX_BOARD_NETGEAR_WNDR3400VCNA, "Netgear WNDR3400 Vcna"}, "U12H155T01_NETGEAR"}, 159 {{BCM47XX_BOARD_NETGEAR_WNDR3400VCNA, "Netgear WNDR3400 Vcna"}, "U12H155T01_NETGEAR"},
158 {{BCM47XX_BOARD_NETGEAR_WNDR3700V3, "Netgear WNDR3700 V3"}, "U12H194T00_NETGEAR"}, 160 {{BCM47XX_BOARD_NETGEAR_WNDR3700V3, "Netgear WNDR3700 V3"}, "U12H194T00_NETGEAR"},
159 {{BCM47XX_BOARD_NETGEAR_WNDR4000, "Netgear WNDR4000"}, "U12H181T00_NETGEAR"}, 161 {{BCM47XX_BOARD_NETGEAR_WNDR4000, "Netgear WNDR4000"}, "U12H181T00_NETGEAR"},
@@ -196,6 +198,8 @@ struct bcm47xx_board_type_list2 bcm47xx_board_list_board_type_rev[] __initconst
196static const 198static const
197struct bcm47xx_board_type_list2 bcm47xx_board_list_key_value[] __initconst = { 199struct bcm47xx_board_type_list2 bcm47xx_board_list_key_value[] __initconst = {
198 {{BCM47XX_BOARD_ASUS_WL700GE, "Asus WL700"}, "model_no", "WL700"}, 200 {{BCM47XX_BOARD_ASUS_WL700GE, "Asus WL700"}, "model_no", "WL700"},
201 {{BCM47XX_BOARD_LINKSYS_WRT300N_V1, "Linksys WRT300N V1"}, "router_name", "WRT300N"},
202 {{BCM47XX_BOARD_LINKSYS_WRT600N_V11, "Linksys WRT600N V1.1"}, "Model_Name", "WRT600N"},
199 {{BCM47XX_BOARD_LINKSYS_WRTSL54GS, "Linksys WRTSL54GS"}, "machine_name", "WRTSL54GS"}, 203 {{BCM47XX_BOARD_LINKSYS_WRTSL54GS, "Linksys WRTSL54GS"}, "machine_name", "WRTSL54GS"},
200 { {0}, NULL}, 204 { {0}, NULL},
201}; 205};
diff --git a/arch/mips/bcm47xx/buttons.c b/arch/mips/bcm47xx/buttons.c
index 913182bcafb8..276276a8c6d7 100644
--- a/arch/mips/bcm47xx/buttons.c
+++ b/arch/mips/bcm47xx/buttons.c
@@ -252,6 +252,12 @@ bcm47xx_buttons_linksys_wrt160nv3[] __initconst = {
252}; 252};
253 253
254static const struct gpio_keys_button 254static const struct gpio_keys_button
255bcm47xx_buttons_linksys_wrt300n_v1[] __initconst = {
256 BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON),
257 BCM47XX_GPIO_KEY(6, KEY_RESTART),
258};
259
260static const struct gpio_keys_button
255bcm47xx_buttons_linksys_wrt300nv11[] __initconst = { 261bcm47xx_buttons_linksys_wrt300nv11[] __initconst = {
256 BCM47XX_GPIO_KEY(4, KEY_UNKNOWN), 262 BCM47XX_GPIO_KEY(4, KEY_UNKNOWN),
257 BCM47XX_GPIO_KEY(6, KEY_RESTART), 263 BCM47XX_GPIO_KEY(6, KEY_RESTART),
@@ -327,6 +333,12 @@ bcm47xx_buttons_netgear_wndr3400v1[] __initconst = {
327}; 333};
328 334
329static const struct gpio_keys_button 335static const struct gpio_keys_button
336bcm47xx_buttons_netgear_wndr3400_v3[] __initconst = {
337 BCM47XX_GPIO_KEY(12, KEY_RESTART),
338 BCM47XX_GPIO_KEY(23, KEY_WPS_BUTTON),
339};
340
341static const struct gpio_keys_button
330bcm47xx_buttons_netgear_wndr3700v3[] __initconst = { 342bcm47xx_buttons_netgear_wndr3700v3[] __initconst = {
331 BCM47XX_GPIO_KEY(2, KEY_RFKILL), 343 BCM47XX_GPIO_KEY(2, KEY_RFKILL),
332 BCM47XX_GPIO_KEY(3, KEY_RESTART), 344 BCM47XX_GPIO_KEY(3, KEY_RESTART),
@@ -516,6 +528,9 @@ int __init bcm47xx_buttons_register(void)
516 case BCM47XX_BOARD_LINKSYS_WRT160NV3: 528 case BCM47XX_BOARD_LINKSYS_WRT160NV3:
517 err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt160nv3); 529 err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt160nv3);
518 break; 530 break;
531 case BCM47XX_BOARD_LINKSYS_WRT300N_V1:
532 err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt300n_v1);
533 break;
519 case BCM47XX_BOARD_LINKSYS_WRT300NV11: 534 case BCM47XX_BOARD_LINKSYS_WRT300NV11:
520 err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt300nv11); 535 err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt300nv11);
521 break; 536 break;
@@ -557,6 +572,9 @@ int __init bcm47xx_buttons_register(void)
557 case BCM47XX_BOARD_NETGEAR_WNDR3400V1: 572 case BCM47XX_BOARD_NETGEAR_WNDR3400V1:
558 err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3400v1); 573 err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3400v1);
559 break; 574 break;
575 case BCM47XX_BOARD_NETGEAR_WNDR3400_V3:
576 err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3400_v3);
577 break;
560 case BCM47XX_BOARD_NETGEAR_WNDR3700V3: 578 case BCM47XX_BOARD_NETGEAR_WNDR3700V3:
561 err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3700v3); 579 err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3700v3);
562 break; 580 break;
diff --git a/arch/mips/bcm47xx/leds.c b/arch/mips/bcm47xx/leds.c
index 903a656d4119..0e4ade342333 100644
--- a/arch/mips/bcm47xx/leds.c
+++ b/arch/mips/bcm47xx/leds.c
@@ -292,6 +292,13 @@ bcm47xx_leds_linksys_wrt160nv3[] __initconst = {
292}; 292};
293 293
294static const struct gpio_led 294static const struct gpio_led
295bcm47xx_leds_linksys_wrt300n_v1[] __initconst = {
296 BCM47XX_GPIO_LED(1, "green", "power", 0, LEDS_GPIO_DEFSTATE_ON),
297 BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
298 BCM47XX_GPIO_LED(5, "green", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
299};
300
301static const struct gpio_led
295bcm47xx_leds_linksys_wrt300nv11[] __initconst = { 302bcm47xx_leds_linksys_wrt300nv11[] __initconst = {
296 BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON), 303 BCM47XX_GPIO_LED(1, "unk", "power", 0, LEDS_GPIO_DEFSTATE_ON),
297 BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF), 304 BCM47XX_GPIO_LED(3, "amber", "wps", 1, LEDS_GPIO_DEFSTATE_OFF),
@@ -585,6 +592,9 @@ void __init bcm47xx_leds_register(void)
585 case BCM47XX_BOARD_LINKSYS_WRT160NV3: 592 case BCM47XX_BOARD_LINKSYS_WRT160NV3:
586 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt160nv3); 593 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt160nv3);
587 break; 594 break;
595 case BCM47XX_BOARD_LINKSYS_WRT300N_V1:
596 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt300n_v1);
597 break;
588 case BCM47XX_BOARD_LINKSYS_WRT300NV11: 598 case BCM47XX_BOARD_LINKSYS_WRT300NV11:
589 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt300nv11); 599 bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt300nv11);
590 break; 600 break;
diff --git a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
index 1f5643b89a91..c41d1dce1062 100644
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
@@ -67,6 +67,7 @@ enum bcm47xx_board {
67 BCM47XX_BOARD_LINKSYS_WRT150NV11, 67 BCM47XX_BOARD_LINKSYS_WRT150NV11,
68 BCM47XX_BOARD_LINKSYS_WRT160NV1, 68 BCM47XX_BOARD_LINKSYS_WRT160NV1,
69 BCM47XX_BOARD_LINKSYS_WRT160NV3, 69 BCM47XX_BOARD_LINKSYS_WRT160NV3,
70 BCM47XX_BOARD_LINKSYS_WRT300N_V1,
70 BCM47XX_BOARD_LINKSYS_WRT300NV11, 71 BCM47XX_BOARD_LINKSYS_WRT300NV11,
71 BCM47XX_BOARD_LINKSYS_WRT310NV1, 72 BCM47XX_BOARD_LINKSYS_WRT310NV1,
72 BCM47XX_BOARD_LINKSYS_WRT310NV2, 73 BCM47XX_BOARD_LINKSYS_WRT310NV2,
@@ -74,6 +75,7 @@ enum bcm47xx_board {
74 BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0101, 75 BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0101,
75 BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0467, 76 BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0467,
76 BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0708, 77 BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0708,
78 BCM47XX_BOARD_LINKSYS_WRT600N_V11,
77 BCM47XX_BOARD_LINKSYS_WRT610NV1, 79 BCM47XX_BOARD_LINKSYS_WRT610NV1,
78 BCM47XX_BOARD_LINKSYS_WRT610NV2, 80 BCM47XX_BOARD_LINKSYS_WRT610NV2,
79 BCM47XX_BOARD_LINKSYS_WRTSL54GS, 81 BCM47XX_BOARD_LINKSYS_WRTSL54GS,
@@ -86,9 +88,11 @@ enum bcm47xx_board {
86 88
87 BCM47XX_BOARD_NETGEAR_WGR614V8, 89 BCM47XX_BOARD_NETGEAR_WGR614V8,
88 BCM47XX_BOARD_NETGEAR_WGR614V9, 90 BCM47XX_BOARD_NETGEAR_WGR614V9,
91 BCM47XX_BOARD_NETGEAR_WGR614_V10,
89 BCM47XX_BOARD_NETGEAR_WNDR3300, 92 BCM47XX_BOARD_NETGEAR_WNDR3300,
90 BCM47XX_BOARD_NETGEAR_WNDR3400V1, 93 BCM47XX_BOARD_NETGEAR_WNDR3400V1,
91 BCM47XX_BOARD_NETGEAR_WNDR3400V2, 94 BCM47XX_BOARD_NETGEAR_WNDR3400V2,
95 BCM47XX_BOARD_NETGEAR_WNDR3400_V3,
92 BCM47XX_BOARD_NETGEAR_WNDR3400VCNA, 96 BCM47XX_BOARD_NETGEAR_WNDR3400VCNA,
93 BCM47XX_BOARD_NETGEAR_WNDR3700V3, 97 BCM47XX_BOARD_NETGEAR_WNDR3700V3,
94 BCM47XX_BOARD_NETGEAR_WNDR4000, 98 BCM47XX_BOARD_NETGEAR_WNDR4000,