mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
[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>
This commit is contained in:
parent
2e9f12d6dd
commit
77789ad8b1
3 changed files with 15 additions and 11 deletions
|
@ -193,11 +193,11 @@ static struct platform_device csb300_button_device = {
|
|||
|
||||
static void __init csb300_add_device_buttons(void)
|
||||
{
|
||||
at91_set_gpio_input(AT91_PIN_PB29, 0); /* sw0 */
|
||||
at91_set_gpio_input(AT91_PIN_PB29, 1); /* sw0 */
|
||||
at91_set_deglitch(AT91_PIN_PB29, 1);
|
||||
at91_set_gpio_input(AT91_PIN_PB28, 0); /* sw1 */
|
||||
at91_set_gpio_input(AT91_PIN_PB28, 1); /* sw1 */
|
||||
at91_set_deglitch(AT91_PIN_PB28, 1);
|
||||
at91_set_gpio_input(AT91_PIN_PA21, 0); /* sw2 */
|
||||
at91_set_gpio_input(AT91_PIN_PA21, 1); /* sw2 */
|
||||
at91_set_deglitch(AT91_PIN_PA21, 1);
|
||||
|
||||
platform_device_register(&csb300_button_device);
|
||||
|
@ -224,7 +224,7 @@ static struct gpio_led csb_leds[] = {
|
|||
.gpio = AT91_PIN_PB0,
|
||||
.active_low = 1,
|
||||
.default_trigger = "ide-disk",
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -435,24 +435,28 @@ static struct gpio_keys_button ek_buttons[] = {
|
|||
.code = BTN_0,
|
||||
.desc = "Button 0",
|
||||
.active_low = 1,
|
||||
.wakeup = 1,
|
||||
},
|
||||
{
|
||||
.gpio = AT91_PIN_PA26,
|
||||
.code = BTN_1,
|
||||
.desc = "Button 1",
|
||||
.active_low = 1,
|
||||
.wakeup = 1,
|
||||
},
|
||||
{
|
||||
.gpio = AT91_PIN_PA25,
|
||||
.code = BTN_2,
|
||||
.desc = "Button 2",
|
||||
.active_low = 1,
|
||||
.wakeup = 1,
|
||||
},
|
||||
{
|
||||
.gpio = AT91_PIN_PA24,
|
||||
.code = BTN_3,
|
||||
.desc = "Button 3",
|
||||
.active_low = 1,
|
||||
.wakeup = 1,
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -472,13 +476,13 @@ static struct platform_device ek_button_device = {
|
|||
|
||||
static void __init ek_add_device_buttons(void)
|
||||
{
|
||||
at91_set_gpio_input(AT91_PIN_PA27, 0); /* btn0 */
|
||||
at91_set_gpio_input(AT91_PIN_PA27, 1); /* btn0 */
|
||||
at91_set_deglitch(AT91_PIN_PA27, 1);
|
||||
at91_set_gpio_input(AT91_PIN_PA26, 0); /* btn1 */
|
||||
at91_set_gpio_input(AT91_PIN_PA26, 1); /* btn1 */
|
||||
at91_set_deglitch(AT91_PIN_PA26, 1);
|
||||
at91_set_gpio_input(AT91_PIN_PA25, 0); /* btn2 */
|
||||
at91_set_gpio_input(AT91_PIN_PA25, 1); /* btn2 */
|
||||
at91_set_deglitch(AT91_PIN_PA25, 1);
|
||||
at91_set_gpio_input(AT91_PIN_PA24, 0); /* btn3 */
|
||||
at91_set_gpio_input(AT91_PIN_PA24, 1); /* btn3 */
|
||||
at91_set_deglitch(AT91_PIN_PA24, 1);
|
||||
|
||||
platform_device_register(&ek_button_device);
|
||||
|
|
|
@ -297,7 +297,7 @@ static struct gpio_keys_button ek_buttons[] = {
|
|||
.active_low = 1,
|
||||
.desc = "right_click",
|
||||
.wakeup = 1,
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
static struct gpio_keys_platform_data ek_button_data = {
|
||||
|
@ -316,9 +316,9 @@ static struct platform_device ek_button_device = {
|
|||
|
||||
static void __init ek_add_device_buttons(void)
|
||||
{
|
||||
at91_set_GPIO_periph(AT91_PIN_PC5, 0); /* left button */
|
||||
at91_set_GPIO_periph(AT91_PIN_PC5, 1); /* left button */
|
||||
at91_set_deglitch(AT91_PIN_PC5, 1);
|
||||
at91_set_GPIO_periph(AT91_PIN_PC4, 0); /* right button */
|
||||
at91_set_GPIO_periph(AT91_PIN_PC4, 1); /* right button */
|
||||
at91_set_deglitch(AT91_PIN_PC4, 1);
|
||||
|
||||
platform_device_register(&ek_button_device);
|
||||
|
|
Loading…
Reference in a new issue