summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrhk <rhk@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-04-29 12:51:41 +0000
committerrhk <rhk@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-04-29 12:51:41 +0000
commit2fec201ae4221b3318c7ed27351b259e88df31c1 (patch)
treea83dd595d9661aeaac384a2aed30aad39510d2c7
parent30d80a23d93d187771bc837c50c083a555820be3 (diff)
[brcm63xx] add WPS button support for nb4 boards
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21254 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--target/linux/brcm63xx/patches-2.6.32/100-reset_buttons.patch2
-rw-r--r--target/linux/brcm63xx/patches-2.6.32/200-extended-platform-devices.patch4
-rw-r--r--target/linux/brcm63xx/patches-2.6.32/221-board-NB4.patch48
-rw-r--r--target/linux/brcm63xx/patches-2.6.33/100-reset_buttons.patch2
-rw-r--r--target/linux/brcm63xx/patches-2.6.33/200-extended-platform-devices.patch4
-rw-r--r--target/linux/brcm63xx/patches-2.6.33/221-board-NB4.patch48
6 files changed, 84 insertions, 24 deletions
diff --git a/target/linux/brcm63xx/patches-2.6.32/100-reset_buttons.patch b/target/linux/brcm63xx/patches-2.6.32/100-reset_buttons.patch
index 7b8501e9e4..45f506bb75 100644
--- a/target/linux/brcm63xx/patches-2.6.32/100-reset_buttons.patch
+++ b/target/linux/brcm63xx/patches-2.6.32/100-reset_buttons.patch
@@ -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_ */
diff --git a/target/linux/brcm63xx/patches-2.6.32/200-extended-platform-devices.patch b/target/linux/brcm63xx/patches-2.6.32/200-extended-platform-devices.patch
index 170b55916d..aec85a3d17 100644
--- a/target/linux/brcm63xx/patches-2.6.32/200-extended-platform-devices.patch
+++ b/target/linux/brcm63xx/patches-2.6.32/200-extended-platform-devices.patch
@@ -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;
diff --git a/target/linux/brcm63xx/patches-2.6.32/221-board-NB4.patch b/target/linux/brcm63xx/patches-2.6.32/221-board-NB4.patch
index 57ce7fc8d9..bbd0c62e70 100644
--- a/target/linux/brcm63xx/patches-2.6.32/221-board-NB4.patch
+++ b/target/linux/brcm63xx/patches-2.6.32/221-board-NB4.patch
@@ -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];
diff --git a/target/linux/brcm63xx/patches-2.6.33/100-reset_buttons.patch b/target/linux/brcm63xx/patches-2.6.33/100-reset_buttons.patch
index 02b4149ddd..aa5264d845 100644
--- a/target/linux/brcm63xx/patches-2.6.33/100-reset_buttons.patch
+++ b/target/linux/brcm63xx/patches-2.6.33/100-reset_buttons.patch
@@ -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_ */
diff --git a/target/linux/brcm63xx/patches-2.6.33/200-extended-platform-devices.patch b/target/linux/brcm63xx/patches-2.6.33/200-extended-platform-devices.patch
index 170b55916d..aec85a3d17 100644
--- a/target/linux/brcm63xx/patches-2.6.33/200-extended-platform-devices.patch
+++ b/target/linux/brcm63xx/patches-2.6.33/200-extended-platform-devices.patch
@@ -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;
diff --git a/target/linux/brcm63xx/patches-2.6.33/221-board-NB4.patch b/target/linux/brcm63xx/patches-2.6.33/221-board-NB4.patch
index 57ce7fc8d9..bbd0c62e70 100644
--- a/target/linux/brcm63xx/patches-2.6.33/221-board-NB4.patch
+++ b/target/linux/brcm63xx/patches-2.6.33/221-board-NB4.patch
@@ -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];