|  | /* SPDX-License-Identifier: GPL-2.0+ */ | 
|  | /* | 
|  | * drivers/input/keyboard/tegra-nvec.c | 
|  | * | 
|  | * Keyboard class input driver for keyboards connected to an NvEc compliant | 
|  | * embedded controller | 
|  | * | 
|  | * Copyright (c) 2009, NVIDIA Corporation. | 
|  | */ | 
|  |  | 
|  | static unsigned short code_tab_102us[] = { | 
|  | /* 0x00 */ | 
|  | KEY_GRAVE, | 
|  | KEY_ESC, | 
|  | KEY_1, | 
|  | KEY_2, | 
|  | KEY_3, | 
|  | KEY_4, | 
|  | KEY_5, | 
|  | KEY_6, | 
|  | KEY_7, | 
|  | KEY_8, | 
|  | KEY_9, | 
|  | KEY_0, | 
|  | KEY_MINUS, | 
|  | KEY_EQUAL, | 
|  | KEY_BACKSPACE, | 
|  | KEY_TAB, | 
|  | /* 0x10 */ | 
|  | KEY_Q, | 
|  | KEY_W, | 
|  | KEY_E, | 
|  | KEY_R, | 
|  | KEY_T, | 
|  | KEY_Y, | 
|  | KEY_U, | 
|  | KEY_I, | 
|  | KEY_O, | 
|  | KEY_P, | 
|  | KEY_LEFTBRACE, | 
|  | KEY_RIGHTBRACE, | 
|  | KEY_ENTER, | 
|  | KEY_LEFTCTRL, | 
|  | KEY_A, | 
|  | KEY_S, | 
|  | /* 0x20 */ | 
|  | KEY_D, | 
|  | KEY_F, | 
|  | KEY_G, | 
|  | KEY_H, | 
|  | KEY_J, | 
|  | KEY_K, | 
|  | KEY_L, | 
|  | KEY_SEMICOLON, | 
|  | KEY_APOSTROPHE, | 
|  | KEY_GRAVE, | 
|  | KEY_LEFTSHIFT, | 
|  | KEY_BACKSLASH, | 
|  | KEY_Z, | 
|  | KEY_X, | 
|  | KEY_C, | 
|  | KEY_V, | 
|  | /* 0x30 */ | 
|  | KEY_B, | 
|  | KEY_N, | 
|  | KEY_M, | 
|  | KEY_COMMA, | 
|  | KEY_DOT, | 
|  | KEY_SLASH, | 
|  | KEY_RIGHTSHIFT, | 
|  | KEY_KPASTERISK, | 
|  | KEY_LEFTALT, | 
|  | KEY_SPACE, | 
|  | KEY_CAPSLOCK, | 
|  | KEY_F1, | 
|  | KEY_F2, | 
|  | KEY_F3, | 
|  | KEY_F4, | 
|  | KEY_F5, | 
|  | /* 0x40 */ | 
|  | KEY_F6, | 
|  | KEY_F7, | 
|  | KEY_F8, | 
|  | KEY_F9, | 
|  | KEY_F10, | 
|  | KEY_FN, | 
|  | /* VK_SCROLL */ | 
|  | 0, | 
|  | KEY_KP7, | 
|  | KEY_KP8, | 
|  | KEY_KP9, | 
|  | KEY_KPMINUS, | 
|  | KEY_KP4, | 
|  | KEY_KP5, | 
|  | KEY_KP6, | 
|  | KEY_KPPLUS, | 
|  | KEY_KP1, | 
|  | /* 0x50 */ | 
|  | KEY_KP2, | 
|  | KEY_KP3, | 
|  | KEY_KP0, | 
|  | KEY_KPDOT, | 
|  | /* VK_SNAPSHOT */ | 
|  | KEY_MENU, | 
|  | KEY_POWER, | 
|  | /* VK_OEM_102 */ | 
|  | KEY_102ND, | 
|  | KEY_F11, | 
|  | KEY_F12, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | /* 0x60 */ | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | KEY_SEARCH, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | /* 0x70 */ | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | KEY_KP5, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | KEY_KP9, | 
|  | }; | 
|  |  | 
|  | static unsigned short extcode_tab_us102[] = { | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | /* 0x10 */ | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | /* VK_MEDIA_NEXT_TRACK */ | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | /* VK_RETURN */ | 
|  | 0, | 
|  | KEY_RIGHTCTRL, | 
|  | 0, | 
|  | 0, | 
|  | /* 0x20 */ | 
|  | KEY_MUTE, | 
|  | /* VK_LAUNCH_APP1 */ | 
|  | 0, | 
|  | /* VK_MEDIA_PLAY_PAUSE */ | 
|  | 0, | 
|  | 0, | 
|  | /* VK_MEDIA_STOP */ | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | /* 0x30 */ | 
|  | KEY_VOLUMEUP, | 
|  | 0, | 
|  | /* VK_BROWSER_HOME */ | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | /* VK_DIVIDE */ | 
|  | KEY_KPSLASH, | 
|  | 0, | 
|  | /* VK_SNAPSHOT */ | 
|  | KEY_SYSRQ, | 
|  | /* VK_RMENU */ | 
|  | KEY_RIGHTALT, | 
|  | /* VK_OEM_NV_BACKLIGHT_UP */ | 
|  | 0, | 
|  | /* VK_OEM_NV_BACKLIGHT_DN */ | 
|  | 0, | 
|  | /* VK_OEM_NV_BACKLIGHT_AUTOTOGGLE */ | 
|  | 0, | 
|  | /* VK_OEM_NV_POWER_INFO */ | 
|  | 0, | 
|  | /* VK_OEM_NV_WIFI_TOGGLE */ | 
|  | 0, | 
|  | /* VK_OEM_NV_DISPLAY_SELECT */ | 
|  | 0, | 
|  | /* VK_OEM_NV_AIRPLANE_TOGGLE */ | 
|  | 0, | 
|  | /* 0x40 */ | 
|  | 0, | 
|  | KEY_LEFT, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | KEY_CANCEL, | 
|  | KEY_HOME, | 
|  | KEY_UP, | 
|  | KEY_PAGEUP, | 
|  | 0, | 
|  | KEY_LEFT, | 
|  | 0, | 
|  | KEY_RIGHT, | 
|  | 0, | 
|  | KEY_END, | 
|  | /* 0x50 */ | 
|  | KEY_DOWN, | 
|  | KEY_PAGEDOWN, | 
|  | KEY_INSERT, | 
|  | KEY_DELETE, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | KEY_LEFTMETA, | 
|  | 0, | 
|  | KEY_ESC, | 
|  | KEY_KPMINUS, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | 0, | 
|  | /* VK_BROWSER_SEARCH */ | 
|  | 0, | 
|  | /* VK_BROWSER_FAVORITES */ | 
|  | 0, | 
|  | /* VK_BROWSER_REFRESH */ | 
|  | 0, | 
|  | /* VK_BROWSER_STOP */ | 
|  | 0, | 
|  | /* VK_BROWSER_FORWARD */ | 
|  | 0, | 
|  | /* VK_BROWSER_BACK */ | 
|  | 0, | 
|  | /* VK_LAUNCH_APP2 */ | 
|  | 0, | 
|  | /* VK_LAUNCH_MAIL */ | 
|  | 0, | 
|  | /* VK_LAUNCH_MEDIA_SELECT */ | 
|  | 0, | 
|  | }; | 
|  |  | 
|  | static unsigned short *code_tabs[] = { code_tab_102us, extcode_tab_us102 }; |