Blackfin arch: ADP5588 QWERTY I2C Keyboard Input device driver
Add BF537-STAMP platform Support Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
This commit is contained in:
parent
b03f203986
commit
51ed9ad7d2
|
@ -952,6 +952,93 @@ static struct platform_device i2c_bfin_twi_device = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_KEYBOARD_ADP5588) || defined(CONFIG_KEYBOARD_ADP5588_MODULE)
|
||||
#include <linux/input.h>
|
||||
#include <linux/i2c/adp5588_keys.h>
|
||||
static const unsigned short adp5588_keymap[ADP5588_KEYMAPSIZE] = {
|
||||
[0] = KEY_GRAVE,
|
||||
[1] = KEY_1,
|
||||
[2] = KEY_2,
|
||||
[3] = KEY_3,
|
||||
[4] = KEY_4,
|
||||
[5] = KEY_5,
|
||||
[6] = KEY_6,
|
||||
[7] = KEY_7,
|
||||
[8] = KEY_8,
|
||||
[9] = KEY_9,
|
||||
[10] = KEY_0,
|
||||
[11] = KEY_MINUS,
|
||||
[12] = KEY_EQUAL,
|
||||
[13] = KEY_BACKSLASH,
|
||||
[15] = KEY_KP0,
|
||||
[16] = KEY_Q,
|
||||
[17] = KEY_W,
|
||||
[18] = KEY_E,
|
||||
[19] = KEY_R,
|
||||
[20] = KEY_T,
|
||||
[21] = KEY_Y,
|
||||
[22] = KEY_U,
|
||||
[23] = KEY_I,
|
||||
[24] = KEY_O,
|
||||
[25] = KEY_P,
|
||||
[26] = KEY_LEFTBRACE,
|
||||
[27] = KEY_RIGHTBRACE,
|
||||
[29] = KEY_KP1,
|
||||
[30] = KEY_KP2,
|
||||
[31] = KEY_KP3,
|
||||
[32] = KEY_A,
|
||||
[33] = KEY_S,
|
||||
[34] = KEY_D,
|
||||
[35] = KEY_F,
|
||||
[36] = KEY_G,
|
||||
[37] = KEY_H,
|
||||
[38] = KEY_J,
|
||||
[39] = KEY_K,
|
||||
[40] = KEY_L,
|
||||
[41] = KEY_SEMICOLON,
|
||||
[42] = KEY_APOSTROPHE,
|
||||
[43] = KEY_BACKSLASH,
|
||||
[45] = KEY_KP4,
|
||||
[46] = KEY_KP5,
|
||||
[47] = KEY_KP6,
|
||||
[48] = KEY_102ND,
|
||||
[49] = KEY_Z,
|
||||
[50] = KEY_X,
|
||||
[51] = KEY_C,
|
||||
[52] = KEY_V,
|
||||
[53] = KEY_B,
|
||||
[54] = KEY_N,
|
||||
[55] = KEY_M,
|
||||
[56] = KEY_COMMA,
|
||||
[57] = KEY_DOT,
|
||||
[58] = KEY_SLASH,
|
||||
[60] = KEY_KPDOT,
|
||||
[61] = KEY_KP7,
|
||||
[62] = KEY_KP8,
|
||||
[63] = KEY_KP9,
|
||||
[64] = KEY_SPACE,
|
||||
[65] = KEY_BACKSPACE,
|
||||
[66] = KEY_TAB,
|
||||
[67] = KEY_KPENTER,
|
||||
[68] = KEY_ENTER,
|
||||
[69] = KEY_ESC,
|
||||
[70] = KEY_DELETE,
|
||||
[74] = KEY_KPMINUS,
|
||||
[76] = KEY_UP,
|
||||
[77] = KEY_DOWN,
|
||||
[78] = KEY_RIGHT,
|
||||
[79] = KEY_LEFT,
|
||||
};
|
||||
|
||||
static struct adp5588_kpad_platform_data adp5588_kpad_data = {
|
||||
.rows = 8,
|
||||
.cols = 10,
|
||||
.keymap = adp5588_keymap,
|
||||
.keymapsize = ARRAY_SIZE(adp5588_keymap),
|
||||
.repeat = 0,
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_I2C_BOARDINFO
|
||||
static struct i2c_board_info __initdata bfin_i2c_board_info[] = {
|
||||
#if defined(CONFIG_JOYSTICK_AD7142) || defined(CONFIG_JOYSTICK_AD7142_MODULE)
|
||||
|
@ -978,6 +1065,13 @@ static struct i2c_board_info __initdata bfin_i2c_board_info[] = {
|
|||
.platform_data = (void *)&bfin_ad7879_ts_info,
|
||||
},
|
||||
#endif
|
||||
#if defined(CONFIG_KEYBOARD_ADP5588) || defined(CONFIG_KEYBOARD_ADP5588_MODULE)
|
||||
{
|
||||
I2C_BOARD_INFO("adp5588-keys", 0x34),
|
||||
.irq = IRQ_PG0,
|
||||
.platform_data = (void *)&adp5588_kpad_data,
|
||||
},
|
||||
#endif
|
||||
};
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in a new issue