|
@@ -35,6 +35,7 @@
|
|
|
#include <plat/common.h>
|
|
|
#include <plat/usb.h>
|
|
|
#include <plat/mmc.h>
|
|
|
+#include <plat/omap4-keypad.h>
|
|
|
|
|
|
#include "mux.h"
|
|
|
#include "hsmmc.h"
|
|
@@ -48,6 +49,90 @@
|
|
|
#define OMAP4_SFH7741_SENSOR_OUTPUT_GPIO 184
|
|
|
#define OMAP4_SFH7741_ENABLE_GPIO 188
|
|
|
|
|
|
+static const int sdp4430_keymap[] = {
|
|
|
+ KEY(0, 0, KEY_E),
|
|
|
+ KEY(0, 1, KEY_R),
|
|
|
+ KEY(0, 2, KEY_T),
|
|
|
+ KEY(0, 3, KEY_HOME),
|
|
|
+ KEY(0, 4, KEY_F5),
|
|
|
+ KEY(0, 5, KEY_UNKNOWN),
|
|
|
+ KEY(0, 6, KEY_I),
|
|
|
+ KEY(0, 7, KEY_LEFTSHIFT),
|
|
|
+
|
|
|
+ KEY(1, 0, KEY_D),
|
|
|
+ KEY(1, 1, KEY_F),
|
|
|
+ KEY(1, 2, KEY_G),
|
|
|
+ KEY(1, 3, KEY_SEND),
|
|
|
+ KEY(1, 4, KEY_F6),
|
|
|
+ KEY(1, 5, KEY_UNKNOWN),
|
|
|
+ KEY(1, 6, KEY_K),
|
|
|
+ KEY(1, 7, KEY_ENTER),
|
|
|
+
|
|
|
+ KEY(2, 0, KEY_X),
|
|
|
+ KEY(2, 1, KEY_C),
|
|
|
+ KEY(2, 2, KEY_V),
|
|
|
+ KEY(2, 3, KEY_END),
|
|
|
+ KEY(2, 4, KEY_F7),
|
|
|
+ KEY(2, 5, KEY_UNKNOWN),
|
|
|
+ KEY(2, 6, KEY_DOT),
|
|
|
+ KEY(2, 7, KEY_CAPSLOCK),
|
|
|
+
|
|
|
+ KEY(3, 0, KEY_Z),
|
|
|
+ KEY(3, 1, KEY_KPPLUS),
|
|
|
+ KEY(3, 2, KEY_B),
|
|
|
+ KEY(3, 3, KEY_F1),
|
|
|
+ KEY(3, 4, KEY_F8),
|
|
|
+ KEY(3, 5, KEY_UNKNOWN),
|
|
|
+ KEY(3, 6, KEY_O),
|
|
|
+ KEY(3, 7, KEY_SPACE),
|
|
|
+
|
|
|
+ KEY(4, 0, KEY_W),
|
|
|
+ KEY(4, 1, KEY_Y),
|
|
|
+ KEY(4, 2, KEY_U),
|
|
|
+ KEY(4, 3, KEY_F2),
|
|
|
+ KEY(4, 4, KEY_VOLUMEUP),
|
|
|
+ KEY(4, 5, KEY_UNKNOWN),
|
|
|
+ KEY(4, 6, KEY_L),
|
|
|
+ KEY(4, 7, KEY_LEFT),
|
|
|
+
|
|
|
+ KEY(5, 0, KEY_S),
|
|
|
+ KEY(5, 1, KEY_H),
|
|
|
+ KEY(5, 2, KEY_J),
|
|
|
+ KEY(5, 3, KEY_F3),
|
|
|
+ KEY(5, 4, KEY_F9),
|
|
|
+ KEY(5, 5, KEY_VOLUMEDOWN),
|
|
|
+ KEY(5, 6, KEY_M),
|
|
|
+ KEY(5, 7, KEY_RIGHT),
|
|
|
+
|
|
|
+ KEY(6, 0, KEY_Q),
|
|
|
+ KEY(6, 1, KEY_A),
|
|
|
+ KEY(6, 2, KEY_N),
|
|
|
+ KEY(6, 3, KEY_BACK),
|
|
|
+ KEY(6, 4, KEY_BACKSPACE),
|
|
|
+ KEY(6, 5, KEY_UNKNOWN),
|
|
|
+ KEY(6, 6, KEY_P),
|
|
|
+ KEY(6, 7, KEY_UP),
|
|
|
+
|
|
|
+ KEY(7, 0, KEY_PROG1),
|
|
|
+ KEY(7, 1, KEY_PROG2),
|
|
|
+ KEY(7, 2, KEY_PROG3),
|
|
|
+ KEY(7, 3, KEY_PROG4),
|
|
|
+ KEY(7, 4, KEY_F4),
|
|
|
+ KEY(7, 5, KEY_UNKNOWN),
|
|
|
+ KEY(7, 6, KEY_OK),
|
|
|
+ KEY(7, 7, KEY_DOWN),
|
|
|
+};
|
|
|
+
|
|
|
+static struct matrix_keymap_data sdp4430_keymap_data = {
|
|
|
+ .keymap = sdp4430_keymap,
|
|
|
+ .keymap_size = ARRAY_SIZE(sdp4430_keymap),
|
|
|
+};
|
|
|
+
|
|
|
+static struct omap4_keypad_platform_data sdp4430_keypad_data = {
|
|
|
+ .keymap_data = &sdp4430_keymap_data,
|
|
|
+ .rows = 8,
|
|
|
+ .cols = 8,
|
|
|
+};
|
|
|
static struct gpio_led sdp4430_gpio_leds[] = {
|
|
|
{
|
|
|
.name = "omap4:green:debug0",
|
|
@@ -593,6 +678,10 @@ static void __init omap_4430sdp_init(void)
|
|
|
spi_register_board_info(sdp4430_spi_board_info,
|
|
|
ARRAY_SIZE(sdp4430_spi_board_info));
|
|
|
}
|
|
|
+
|
|
|
+ status = omap4_keyboard_init(&sdp4430_keypad_data);
|
|
|
+ if (status)
|
|
|
+ pr_err("Keypad initialization failed: %d\n", status);
|
|
|
}
|
|
|
|
|
|
static void __init omap_4430sdp_map_io(void)
|