eukrea_mbimx27: add support for the keyboard
authorEric Bénard <eric@eukrea.com>
Wed, 19 May 2010 16:46:07 +0000 (18:46 +0200)
committerSascha Hauer <s.hauer@pengutronix.de>
Mon, 26 Jul 2010 12:17:50 +0000 (14:17 +0200)
Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
arch/arm/mach-mx2/eukrea_mbimx27-baseboard.c

index 3bb94e8..34bdc26 100644 (file)
@@ -26,6 +26,7 @@
 #include <linux/spi/ads7846.h>
 #include <linux/backlight.h>
 #include <video/platform_lcd.h>
+#include <linux/input/matrix_keypad.h>
 
 #include <asm/mach/arch.h>
 
@@ -94,6 +95,18 @@ static int eukrea_mbimx27_pins[] = {
        PD31_PF_CSPI1_MOSI,
 };
 
+static const uint32_t eukrea_mbimx27_keymap[] = {
+       KEY(0, 0, KEY_UP),
+       KEY(0, 1, KEY_DOWN),
+       KEY(1, 0, KEY_RIGHT),
+       KEY(1, 1, KEY_LEFT),
+};
+
+static struct matrix_keymap_data eukrea_mbimx27_keymap_data = {
+       .keymap         = eukrea_mbimx27_keymap,
+       .keymap_size    = ARRAY_SIZE(eukrea_mbimx27_keymap),
+};
+
 static struct gpio_led gpio_leds[] = {
        {
                .name                   = "led1",
@@ -337,5 +350,7 @@ void __init eukrea_mbimx27_baseboard_init(void)
        gpio_request(GPIO_PORTA | 25, "lcd_enable");
        platform_device_register(&eukrea_mbimx27_lcd_powerdev);
 
+       mxc_register_device(&imx_kpp_device, &eukrea_mbimx27_keymap_data);
+
        platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
 }