diff options
author | Andrew Victor <linux@maxim.org.za> | 2008-09-21 16:34:06 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-09-21 18:01:00 -0400 |
commit | 77789ad8b1d58eb9ba5e14860f439d024c5e4120 (patch) | |
tree | f3fe2afc6ea36ad1eba321f6119ce7dd8fbf2043 /arch/arm/mach-at91/board-sam9261ek.c | |
parent | 2e9f12d6dd061899385bcd910ecb8777c6d05a72 (diff) |
[ARM] 5263/2: [AT91] GPIO buttons as wakeup sources
Allow the various GPIO-connected buttons to be used as wakeup sources.
Also enable the internal GPIO pullup.
Signed-off-by: Sedji Gaouaou <sedji.gaouaou@atmel.com>
Signed-off-by: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-at91/board-sam9261ek.c')
-rw-r--r-- | arch/arm/mach-at91/board-sam9261ek.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/arm/mach-at91/board-sam9261ek.c b/arch/arm/mach-at91/board-sam9261ek.c index 03d3382cfef6..4977409d4fc6 100644 --- a/arch/arm/mach-at91/board-sam9261ek.c +++ b/arch/arm/mach-at91/board-sam9261ek.c | |||
@@ -435,24 +435,28 @@ static struct gpio_keys_button ek_buttons[] = { | |||
435 | .code = BTN_0, | 435 | .code = BTN_0, |
436 | .desc = "Button 0", | 436 | .desc = "Button 0", |
437 | .active_low = 1, | 437 | .active_low = 1, |
438 | .wakeup = 1, | ||
438 | }, | 439 | }, |
439 | { | 440 | { |
440 | .gpio = AT91_PIN_PA26, | 441 | .gpio = AT91_PIN_PA26, |
441 | .code = BTN_1, | 442 | .code = BTN_1, |
442 | .desc = "Button 1", | 443 | .desc = "Button 1", |
443 | .active_low = 1, | 444 | .active_low = 1, |
445 | .wakeup = 1, | ||
444 | }, | 446 | }, |
445 | { | 447 | { |
446 | .gpio = AT91_PIN_PA25, | 448 | .gpio = AT91_PIN_PA25, |
447 | .code = BTN_2, | 449 | .code = BTN_2, |
448 | .desc = "Button 2", | 450 | .desc = "Button 2", |
449 | .active_low = 1, | 451 | .active_low = 1, |
452 | .wakeup = 1, | ||
450 | }, | 453 | }, |
451 | { | 454 | { |
452 | .gpio = AT91_PIN_PA24, | 455 | .gpio = AT91_PIN_PA24, |
453 | .code = BTN_3, | 456 | .code = BTN_3, |
454 | .desc = "Button 3", | 457 | .desc = "Button 3", |
455 | .active_low = 1, | 458 | .active_low = 1, |
459 | .wakeup = 1, | ||
456 | } | 460 | } |
457 | }; | 461 | }; |
458 | 462 | ||
@@ -472,13 +476,13 @@ static struct platform_device ek_button_device = { | |||
472 | 476 | ||
473 | static void __init ek_add_device_buttons(void) | 477 | static void __init ek_add_device_buttons(void) |
474 | { | 478 | { |
475 | at91_set_gpio_input(AT91_PIN_PA27, 0); /* btn0 */ | 479 | at91_set_gpio_input(AT91_PIN_PA27, 1); /* btn0 */ |
476 | at91_set_deglitch(AT91_PIN_PA27, 1); | 480 | at91_set_deglitch(AT91_PIN_PA27, 1); |
477 | at91_set_gpio_input(AT91_PIN_PA26, 0); /* btn1 */ | 481 | at91_set_gpio_input(AT91_PIN_PA26, 1); /* btn1 */ |
478 | at91_set_deglitch(AT91_PIN_PA26, 1); | 482 | at91_set_deglitch(AT91_PIN_PA26, 1); |
479 | at91_set_gpio_input(AT91_PIN_PA25, 0); /* btn2 */ | 483 | at91_set_gpio_input(AT91_PIN_PA25, 1); /* btn2 */ |
480 | at91_set_deglitch(AT91_PIN_PA25, 1); | 484 | at91_set_deglitch(AT91_PIN_PA25, 1); |
481 | at91_set_gpio_input(AT91_PIN_PA24, 0); /* btn3 */ | 485 | at91_set_gpio_input(AT91_PIN_PA24, 1); /* btn3 */ |
482 | at91_set_deglitch(AT91_PIN_PA24, 1); | 486 | at91_set_deglitch(AT91_PIN_PA24, 1); |
483 | 487 | ||
484 | platform_device_register(&ek_button_device); | 488 | platform_device_register(&ek_button_device); |