Skip to content

Commit

Permalink
OMAP: Add gpio-keys support for Overo
Browse files Browse the repository at this point in the history
This patch adds support for the standard push buttons available on
Overo expansion boards.

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
  • Loading branch information
Steve Sakoman authored and Tomi Valkeinen committed Mar 11, 2011
1 parent 7c94f68 commit cce18a9
Showing 1 changed file with 42 additions and 0 deletions.
42 changes: 42 additions & 0 deletions arch/arm/mach-omap2/board-overo.c
Original file line number Diff line number Diff line change
@@ -519,6 +519,47 @@ static void __init overo_init_led(void)
static inline void __init overo_init_led(void) { return; }
#endif

#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
#include <linux/input.h>
#include <linux/gpio_keys.h>

static struct gpio_keys_button gpio_buttons[] = {
{
.code = BTN_0,
.gpio = 23,
.desc = "button0",
.wakeup = 1,
},
{
.code = BTN_1,
.gpio = 14,
.desc = "button1",
.wakeup = 1,
},
};

static struct gpio_keys_platform_data gpio_keys_pdata = {
.buttons = gpio_buttons,
.nbuttons = ARRAY_SIZE(gpio_buttons),
};

static struct platform_device gpio_keys_device = {
.name = "gpio-keys",
.id = -1,
.dev = {
.platform_data = &gpio_keys_pdata,
},
};

static void __init overo_init_keys(void)
{
platform_device_register(&gpio_keys_device);
}

#else
static inline void __init overo_init_keys(void) { return; }
#endif

static int overo_twl_gpio_setup(struct device *dev,
unsigned gpio, unsigned ngpio)
{
@@ -701,6 +742,7 @@ static void __init overo_init(void)
overo_init_smsc911x();
overo_display_init();
overo_init_led();
overo_init_keys();

/* Ensure SDRC pins are mux'd for self-refresh */
omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT);

0 comments on commit cce18a9

Please sign in to comment.