|
@@ -183,3 +183,89 @@ static const unsigned int sx1_keymap[] = {
|
|
|
KEY(0, 3, GROUP_1 | KEY_3),
|
|
|
KEY(4, 3, GROUP_1 | KEY_4),
|
|
|
KEY(4, 4, GROUP_1 | KEY_5),
|
|
|
+ KEY(4, 5, GROUP_1 | KEY_KPASTERISK),/* "*" */
|
|
|
+ KEY(1, 4, GROUP_1 | KEY_6),
|
|
|
+ KEY(1, 5, GROUP_1 | KEY_7),
|
|
|
+ KEY(1, 3, GROUP_1 | KEY_8),
|
|
|
+ KEY(2, 3, GROUP_1 | KEY_9),
|
|
|
+ KEY(2, 5, GROUP_1 | KEY_0),
|
|
|
+ KEY(2, 4, GROUP_1 | 113), /* # F13 Toggle input method Qt::Key_F13 */
|
|
|
+ KEY(1, 0, GROUP_1 | KEY_F11), /* green button Qt::Key_Call */
|
|
|
+ KEY(2, 1, GROUP_1 | KEY_YEN), /* left soft Qt::Key_Context1 */
|
|
|
+ KEY(2, 2, GROUP_1 | KEY_F8), /* right soft Qt::Key_Back */
|
|
|
+ KEY(1, 2, GROUP_1 | KEY_LEFTSHIFT), /* shift */
|
|
|
+ KEY(1, 1, GROUP_1 | KEY_BACKSPACE), /* C (clear) */
|
|
|
+ KEY(2, 0, GROUP_1 | KEY_F7), /* menu Qt::Key_Menu */
|
|
|
+};
|
|
|
+
|
|
|
+static struct resource sx1_kp_resources[] = {
|
|
|
+ [0] = {
|
|
|
+ .start = INT_KEYBOARD,
|
|
|
+ .end = INT_KEYBOARD,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static const struct matrix_keymap_data sx1_keymap_data = {
|
|
|
+ .keymap = sx1_keymap,
|
|
|
+ .keymap_size = ARRAY_SIZE(sx1_keymap),
|
|
|
+};
|
|
|
+
|
|
|
+static struct omap_kp_platform_data sx1_kp_data = {
|
|
|
+ .rows = 6,
|
|
|
+ .cols = 6,
|
|
|
+ .keymap_data = &sx1_keymap_data,
|
|
|
+ .delay = 80,
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device sx1_kp_device = {
|
|
|
+ .name = "omap-keypad",
|
|
|
+ .id = -1,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &sx1_kp_data,
|
|
|
+ },
|
|
|
+ .num_resources = ARRAY_SIZE(sx1_kp_resources),
|
|
|
+ .resource = sx1_kp_resources,
|
|
|
+};
|
|
|
+
|
|
|
+/*----------- IRDA -------------------------*/
|
|
|
+
|
|
|
+static struct omap_irda_config sx1_irda_data = {
|
|
|
+ .transceiver_cap = IR_SIRMODE,
|
|
|
+ .rx_channel = OMAP_DMA_UART3_RX,
|
|
|
+ .tx_channel = OMAP_DMA_UART3_TX,
|
|
|
+ .dest_start = UART3_THR,
|
|
|
+ .src_start = UART3_RHR,
|
|
|
+ .tx_trigger = 0,
|
|
|
+ .rx_trigger = 0,
|
|
|
+};
|
|
|
+
|
|
|
+static struct resource sx1_irda_resources[] = {
|
|
|
+ [0] = {
|
|
|
+ .start = INT_UART3,
|
|
|
+ .end = INT_UART3,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static u64 irda_dmamask = 0xffffffff;
|
|
|
+
|
|
|
+static struct platform_device sx1_irda_device = {
|
|
|
+ .name = "omapirda",
|
|
|
+ .id = 0,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &sx1_irda_data,
|
|
|
+ .dma_mask = &irda_dmamask,
|
|
|
+ },
|
|
|
+ .num_resources = ARRAY_SIZE(sx1_irda_resources),
|
|
|
+ .resource = sx1_irda_resources,
|
|
|
+};
|
|
|
+
|
|
|
+/*----------- MTD -------------------------*/
|
|
|
+
|
|
|
+static struct mtd_partition sx1_partitions[] = {
|
|
|
+ /* bootloader (U-Boot, etc) in first sector */
|
|
|
+ {
|
|
|
+ .name = "bootloader",
|
|
|
+ .offset = 0x01800000,
|
|
|
+ .size = SZ_128K,
|