|
@@ -325,3 +325,92 @@ static struct i2c_board_info __initdata mistral_i2c_board_info[] = {
|
|
|
static const unsigned int osk_keymap[] = {
|
|
|
/* KEY(col, row, code) */
|
|
|
KEY(0, 0, KEY_F1), /* SW4 */
|
|
|
+ KEY(3, 0, KEY_UP), /* (sw2/up) */
|
|
|
+ KEY(1, 1, KEY_LEFTCTRL), /* SW5 */
|
|
|
+ KEY(2, 1, KEY_LEFT), /* (sw2/left) */
|
|
|
+ KEY(0, 2, KEY_SPACE), /* SW3 */
|
|
|
+ KEY(1, 2, KEY_ESC), /* SW6 */
|
|
|
+ KEY(2, 2, KEY_DOWN), /* (sw2/down) */
|
|
|
+ KEY(2, 3, KEY_ENTER), /* (sw2/select) */
|
|
|
+ KEY(3, 3, KEY_RIGHT), /* (sw2/right) */
|
|
|
+};
|
|
|
+
|
|
|
+static const struct matrix_keymap_data osk_keymap_data = {
|
|
|
+ .keymap = osk_keymap,
|
|
|
+ .keymap_size = ARRAY_SIZE(osk_keymap),
|
|
|
+};
|
|
|
+
|
|
|
+static struct omap_kp_platform_data osk_kp_data = {
|
|
|
+ .rows = 8,
|
|
|
+ .cols = 8,
|
|
|
+ .keymap_data = &osk_keymap_data,
|
|
|
+ .delay = 9,
|
|
|
+};
|
|
|
+
|
|
|
+static struct resource osk5912_kp_resources[] = {
|
|
|
+ [0] = {
|
|
|
+ .start = INT_KEYBOARD,
|
|
|
+ .end = INT_KEYBOARD,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device osk5912_kp_device = {
|
|
|
+ .name = "omap-keypad",
|
|
|
+ .id = -1,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &osk_kp_data,
|
|
|
+ },
|
|
|
+ .num_resources = ARRAY_SIZE(osk5912_kp_resources),
|
|
|
+ .resource = osk5912_kp_resources,
|
|
|
+};
|
|
|
+
|
|
|
+static struct omap_backlight_config mistral_bl_data = {
|
|
|
+ .default_intensity = 0xa0,
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device mistral_bl_device = {
|
|
|
+ .name = "omap-bl",
|
|
|
+ .id = -1,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &mistral_bl_data,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device osk5912_lcd_device = {
|
|
|
+ .name = "lcd_osk",
|
|
|
+ .id = -1,
|
|
|
+};
|
|
|
+
|
|
|
+static struct gpio_led mistral_gpio_led_pins[] = {
|
|
|
+ {
|
|
|
+ .name = "mistral:red",
|
|
|
+ .default_trigger = "heartbeat",
|
|
|
+ .gpio = 3,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = "mistral:green",
|
|
|
+ .default_trigger = "cpu0",
|
|
|
+ .gpio = OMAP_MPUIO(4),
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct gpio_led_platform_data mistral_gpio_led_data = {
|
|
|
+ .leds = mistral_gpio_led_pins,
|
|
|
+ .num_leds = ARRAY_SIZE(mistral_gpio_led_pins),
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device mistral_gpio_leds = {
|
|
|
+ .name = "leds-gpio",
|
|
|
+ .id = -1,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &mistral_gpio_led_data,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device *mistral_devices[] __initdata = {
|
|
|
+ &osk5912_kp_device,
|
|
|
+ &mistral_bl_device,
|
|
|
+ &osk5912_lcd_device,
|
|
|
+ &mistral_gpio_leds,
|
|
|
+};
|