add WPS button support for nb4 boards

SVN-Revision: 21254
This commit is contained in:
Raphaël Huck 2010-04-29 12:51:41 +00:00
parent b29ef93886
commit ccfe1f7886
6 changed files with 84 additions and 24 deletions

View file

@ -93,7 +93,7 @@
struct gpio_led leds[5];
+
+ /* Reset button */
+ struct gpio_button reset_buttons[1];
+ struct gpio_button reset_buttons[2];
};
#endif /* ! BOARD_BCM963XX_H_ */

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -995,6 +995,10 @@ int __init board_register_devices(void)
@@ -1000,6 +1000,10 @@ int __init board_register_devices(void)
platform_device_register(&bcm63xx_gpio_buttons_device);
}
@ -16,7 +16,7 @@
@@ -59,6 +59,10 @@ struct board_info {
/* Reset button */
struct gpio_button reset_buttons[1];
struct gpio_button reset_buttons[2];
+
+ /* Additional platform devices */
+ struct platform_device **devs;

View file

@ -21,7 +21,7 @@
static struct bcm963xx_nvram nvram;
static unsigned int mac_addr_used;
static struct board_info board;
@@ -713,6 +720,441 @@ static struct board_info __initdata boar
@@ -713,6 +720,471 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
@ -121,11 +121,17 @@
+ {
+ .desc = "reset",
+ .gpio = 34,
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .threshold = 3,
+ },
+ {
+ .desc = "wps",
+ .gpio = 37,
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
+ .threshold = 3,
+ },
+ },
+ .devs = neufbox4_devices,
+ .num_devs = ARRAY_SIZE(neufbox4_devices),
@ -207,11 +213,17 @@
+ {
+ .desc = "reset",
+ .gpio = 34,
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .threshold = 3,
+ },
+ {
+ .desc = "wps",
+ .gpio = 37,
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
+ .threshold = 3,
+ },
+ },
+ .devs = neufbox4_devices,
+ .num_devs = ARRAY_SIZE(neufbox4_devices),
@ -291,11 +303,17 @@
+ {
+ .desc = "reset",
+ .gpio = 34,
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .threshold = 3,
+ },
+ {
+ .desc = "wps",
+ .gpio = 37,
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
+ .threshold = 3,
+ },
+ },
+ .devs = neufbox4_devices,
+ .num_devs = ARRAY_SIZE(neufbox4_devices),
@ -372,11 +390,17 @@
+ {
+ .desc = "reset",
+ .gpio = 34,
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .threshold = 3,
+ },
+ {
+ .desc = "wps",
+ .gpio = 37,
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
+ .threshold = 3,
+ },
+ },
+ .devs = neufbox4_devices,
+ .num_devs = ARRAY_SIZE(neufbox4_devices),
@ -451,11 +475,17 @@
+ {
+ .desc = "reset",
+ .gpio = 34,
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .threshold = 3,
+ },
+ {
+ .desc = "wps",
+ .gpio = 37,
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
+ .threshold = 3,
+ },
+ },
+ .devs = neufbox4_devices,
+ .num_devs = ARRAY_SIZE(neufbox4_devices),
@ -463,7 +493,7 @@
#endif
/*
@@ -743,9 +1185,30 @@ static const struct board_info __initdat
@@ -743,9 +1215,30 @@ static const struct board_info __initdat
&board_96358vw2,
&board_AGPFS0,
&board_DWVS0,
@ -494,7 +524,7 @@
/*
* early init callback, read nvram data from flash and checksum it
*/
@@ -793,6 +1256,9 @@ void __init board_prom_init(void)
@@ -793,6 +1286,9 @@ void __init board_prom_init(void)
return;
}
@ -514,4 +544,4 @@
+ struct gpio_led leds[9];
/* Reset button */
struct gpio_button reset_buttons[1];
struct gpio_button reset_buttons[2];

View file

@ -93,7 +93,7 @@
struct gpio_led leds[5];
+
+ /* Reset button */
+ struct gpio_button reset_buttons[1];
+ struct gpio_button reset_buttons[2];
};
#endif /* ! BOARD_BCM963XX_H_ */

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -995,6 +995,10 @@ int __init board_register_devices(void)
@@ -1000,6 +1000,10 @@ int __init board_register_devices(void)
platform_device_register(&bcm63xx_gpio_buttons_device);
}
@ -16,7 +16,7 @@
@@ -59,6 +59,10 @@ struct board_info {
/* Reset button */
struct gpio_button reset_buttons[1];
struct gpio_button reset_buttons[2];
+
+ /* Additional platform devices */
+ struct platform_device **devs;

View file

@ -21,7 +21,7 @@
static struct bcm963xx_nvram nvram;
static unsigned int mac_addr_used;
static struct board_info board;
@@ -713,6 +720,441 @@ static struct board_info __initdata boar
@@ -713,6 +720,471 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
@ -121,11 +121,17 @@
+ {
+ .desc = "reset",
+ .gpio = 34,
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .threshold = 3,
+ },
+ {
+ .desc = "wps",
+ .gpio = 37,
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
+ .threshold = 3,
+ },
+ },
+ .devs = neufbox4_devices,
+ .num_devs = ARRAY_SIZE(neufbox4_devices),
@ -207,11 +213,17 @@
+ {
+ .desc = "reset",
+ .gpio = 34,
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .threshold = 3,
+ },
+ {
+ .desc = "wps",
+ .gpio = 37,
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
+ .threshold = 3,
+ },
+ },
+ .devs = neufbox4_devices,
+ .num_devs = ARRAY_SIZE(neufbox4_devices),
@ -291,11 +303,17 @@
+ {
+ .desc = "reset",
+ .gpio = 34,
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .threshold = 3,
+ },
+ {
+ .desc = "wps",
+ .gpio = 37,
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
+ .threshold = 3,
+ },
+ },
+ .devs = neufbox4_devices,
+ .num_devs = ARRAY_SIZE(neufbox4_devices),
@ -372,11 +390,17 @@
+ {
+ .desc = "reset",
+ .gpio = 34,
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .threshold = 3,
+ },
+ {
+ .desc = "wps",
+ .gpio = 37,
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
+ .threshold = 3,
+ },
+ },
+ .devs = neufbox4_devices,
+ .num_devs = ARRAY_SIZE(neufbox4_devices),
@ -451,11 +475,17 @@
+ {
+ .desc = "reset",
+ .gpio = 34,
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .threshold = 3,
+ },
+ {
+ .desc = "wps",
+ .gpio = 37,
+ .type = EV_KEY,
+ .code = KEY_WPS_BUTTON,
+ .threshold = 3,
+ },
+ },
+ .devs = neufbox4_devices,
+ .num_devs = ARRAY_SIZE(neufbox4_devices),
@ -463,7 +493,7 @@
#endif
/*
@@ -743,9 +1185,30 @@ static const struct board_info __initdat
@@ -743,9 +1215,30 @@ static const struct board_info __initdat
&board_96358vw2,
&board_AGPFS0,
&board_DWVS0,
@ -494,7 +524,7 @@
/*
* early init callback, read nvram data from flash and checksum it
*/
@@ -793,6 +1256,9 @@ void __init board_prom_init(void)
@@ -793,6 +1286,9 @@ void __init board_prom_init(void)
return;
}
@ -514,4 +544,4 @@
+ struct gpio_led leds[9];
/* Reset button */
struct gpio_button reset_buttons[1];
struct gpio_button reset_buttons[2];