davinci: add keypad config for tnetv107x evm board
This patch adds evm board specific keymap definitions and controller configuration data for on-chip keypad controller on tnetv107x silicon. Signed-off-by: Cyril Chemparathy <cyril@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
This commit is contained in:
Родитель
d45b1ed4e4
Коммит
a1b4440314
|
@ -23,6 +23,9 @@
|
|||
#include <linux/ratelimit.h>
|
||||
#include <linux/mtd/mtd.h>
|
||||
#include <linux/mtd/partitions.h>
|
||||
#include <linux/input.h>
|
||||
#include <linux/input/matrix_keypad.h>
|
||||
|
||||
#include <asm/mach/arch.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
|
@ -141,10 +144,63 @@ static struct davinci_uart_config serial_config __initconst = {
|
|||
.enabled_uarts = BIT(1),
|
||||
};
|
||||
|
||||
static const uint32_t keymap[] = {
|
||||
KEY(0, 0, KEY_NUMERIC_1),
|
||||
KEY(0, 1, KEY_NUMERIC_2),
|
||||
KEY(0, 2, KEY_NUMERIC_3),
|
||||
KEY(0, 3, KEY_FN_F1),
|
||||
KEY(0, 4, KEY_MENU),
|
||||
|
||||
KEY(1, 0, KEY_NUMERIC_4),
|
||||
KEY(1, 1, KEY_NUMERIC_5),
|
||||
KEY(1, 2, KEY_NUMERIC_6),
|
||||
KEY(1, 3, KEY_UP),
|
||||
KEY(1, 4, KEY_FN_F2),
|
||||
|
||||
KEY(2, 0, KEY_NUMERIC_7),
|
||||
KEY(2, 1, KEY_NUMERIC_8),
|
||||
KEY(2, 2, KEY_NUMERIC_9),
|
||||
KEY(2, 3, KEY_LEFT),
|
||||
KEY(2, 4, KEY_ENTER),
|
||||
|
||||
KEY(3, 0, KEY_NUMERIC_STAR),
|
||||
KEY(3, 1, KEY_NUMERIC_0),
|
||||
KEY(3, 2, KEY_NUMERIC_POUND),
|
||||
KEY(3, 3, KEY_DOWN),
|
||||
KEY(3, 4, KEY_RIGHT),
|
||||
|
||||
KEY(4, 0, KEY_FN_F3),
|
||||
KEY(4, 1, KEY_FN_F4),
|
||||
KEY(4, 2, KEY_MUTE),
|
||||
KEY(4, 3, KEY_HOME),
|
||||
KEY(4, 4, KEY_BACK),
|
||||
|
||||
KEY(5, 0, KEY_VOLUMEDOWN),
|
||||
KEY(5, 1, KEY_VOLUMEUP),
|
||||
KEY(5, 2, KEY_F1),
|
||||
KEY(5, 3, KEY_F2),
|
||||
KEY(5, 4, KEY_F3),
|
||||
};
|
||||
|
||||
static const struct matrix_keymap_data keymap_data = {
|
||||
.keymap = keymap,
|
||||
.keymap_size = ARRAY_SIZE(keymap),
|
||||
};
|
||||
|
||||
static struct matrix_keypad_platform_data keypad_config = {
|
||||
.keymap_data = &keymap_data,
|
||||
.num_row_gpios = 6,
|
||||
.num_col_gpios = 5,
|
||||
.debounce_ms = 0, /* minimum */
|
||||
.active_low = 0, /* pull up realization */
|
||||
.no_autorepeat = 0,
|
||||
};
|
||||
|
||||
static struct tnetv107x_device_info evm_device_info __initconst = {
|
||||
.serial_config = &serial_config,
|
||||
.mmc_config[1] = &mmc_config, /* controller 1 */
|
||||
.nand_config[0] = &nand_config, /* chip select 0 */
|
||||
.keypad_config = &keypad_config,
|
||||
};
|
||||
|
||||
static __init void tnetv107x_evm_board_init(void)
|
||||
|
|
Загрузка…
Ссылка в новой задаче