Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: input: cros-ec-keyboard: Add keyboard matrix v3.0

Add support for keyboard matrix version 3.0, which reduces keyboard
ghosting.

Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Link: https://lore.kernel.org/r/9ae4d96cc2ce8c9de8755b9beffb78c641100fe7.1719531519.git.dnojiri@chromium.org
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>

authored by

Daisuke Nojiri and committed by
Tzung-Bi Shih
5b8feca8 b57cd570

+104
+104
include/dt-bindings/input/cros-ec-keyboard.h
··· 100 100 MATRIX_KEY(0x07, 0x0b, KEY_UP) \ 101 101 MATRIX_KEY(0x07, 0x0c, KEY_LEFT) 102 102 103 + /* No numpad */ 104 + #define CROS_TOP_ROW_KEYMAP_V30 \ 105 + MATRIX_KEY(0x00, 0x01, KEY_F11) /* T11 */ \ 106 + MATRIX_KEY(0x00, 0x02, KEY_F1) /* T1 */ \ 107 + MATRIX_KEY(0x00, 0x04, KEY_F10) /* T10 */ \ 108 + MATRIX_KEY(0x00, 0x0b, KEY_F14) /* T14 */ \ 109 + MATRIX_KEY(0x00, 0x0c, KEY_F15) /* T15 */ \ 110 + MATRIX_KEY(0x01, 0x02, KEY_F4) /* T4 */ \ 111 + MATRIX_KEY(0x01, 0x04, KEY_F7) /* T7 */ \ 112 + MATRIX_KEY(0x01, 0x05, KEY_F12) /* T12 */ \ 113 + MATRIX_KEY(0x01, 0x09, KEY_F9) /* T9 */ \ 114 + MATRIX_KEY(0x02, 0x02, KEY_F3) /* T3 */ \ 115 + MATRIX_KEY(0x02, 0x04, KEY_F6) /* T6 */ \ 116 + MATRIX_KEY(0x02, 0x0b, KEY_F8) /* T8 */ \ 117 + MATRIX_KEY(0x03, 0x02, KEY_F2) /* T2 */ \ 118 + MATRIX_KEY(0x03, 0x05, KEY_F13) /* T13 */ \ 119 + MATRIX_KEY(0x04, 0x04, KEY_F5) /* T5 */ 120 + 121 + #define CROS_MAIN_KEYMAP_V30 /* Keycode */ \ 122 + MATRIX_KEY(0x00, 0x03, KEY_B) /* 50 */ \ 123 + MATRIX_KEY(0x00, 0x05, KEY_N) /* 51 */ \ 124 + MATRIX_KEY(0x00, 0x06, KEY_RO) /* 56 (JIS) */ \ 125 + MATRIX_KEY(0x00, 0x08, KEY_EQUAL) /* 13 */ \ 126 + MATRIX_KEY(0x00, 0x09, KEY_HOME) /* 80 (Numpad) */ \ 127 + MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT) /* 62 */ \ 128 + MATRIX_KEY(0x00, 0x10, KEY_FN) /* 127 */ \ 129 + \ 130 + MATRIX_KEY(0x01, 0x01, KEY_ESC) /* 110 */ \ 131 + MATRIX_KEY(0x01, 0x03, KEY_G) /* 35 */ \ 132 + MATRIX_KEY(0x01, 0x06, KEY_H) /* 36 */ \ 133 + MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE) /* 41 */ \ 134 + MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE) /* 15 */ \ 135 + MATRIX_KEY(0x01, 0x0c, KEY_HENKAN) /* 65 (JIS) */ \ 136 + MATRIX_KEY(0x01, 0x0e, KEY_LEFTCTRL) /* 58 */ \ 137 + \ 138 + MATRIX_KEY(0x02, 0x01, KEY_TAB) /* 16 */ \ 139 + MATRIX_KEY(0x02, 0x03, KEY_T) /* 21 */ \ 140 + MATRIX_KEY(0x02, 0x05, KEY_RIGHTBRACE) /* 28 */ \ 141 + MATRIX_KEY(0x02, 0x06, KEY_Y) /* 22 */ \ 142 + MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE) /* 27 */ \ 143 + MATRIX_KEY(0x02, 0x09, KEY_DELETE) /* 76 (Numpad) */ \ 144 + MATRIX_KEY(0x02, 0x0c, KEY_PAGEUP) /* 85 (Numpad) */ \ 145 + MATRIX_KEY(0x02, 0x011, KEY_YEN) /* 14 (JIS) */ \ 146 + \ 147 + MATRIX_KEY(0x03, 0x00, KEY_LEFTMETA) /* Launcher */ \ 148 + MATRIX_KEY(0x03, 0x01, KEY_GRAVE) /* 1 */ \ 149 + MATRIX_KEY(0x03, 0x03, KEY_5) /* 6 */ \ 150 + MATRIX_KEY(0x03, 0x04, KEY_S) /* 32 */ \ 151 + MATRIX_KEY(0x03, 0x06, KEY_MINUS) /* 12 */ \ 152 + MATRIX_KEY(0x03, 0x08, KEY_6) /* 7 */ \ 153 + MATRIX_KEY(0x03, 0x09, KEY_SLEEP) /* Lock */ \ 154 + MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH) /* 29 */ \ 155 + MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN) /* 63 (JIS) */ \ 156 + MATRIX_KEY(0x03, 0x0e, KEY_RIGHTCTRL) /* 64 */ \ 157 + \ 158 + MATRIX_KEY(0x04, 0x01, KEY_A) /* 31 */ \ 159 + MATRIX_KEY(0x04, 0x02, KEY_D) /* 33 */ \ 160 + MATRIX_KEY(0x04, 0x03, KEY_F) /* 34 */ \ 161 + MATRIX_KEY(0x04, 0x05, KEY_K) /* 38 */ \ 162 + MATRIX_KEY(0x04, 0x06, KEY_J) /* 37 */ \ 163 + MATRIX_KEY(0x04, 0x08, KEY_SEMICOLON) /* 40 */ \ 164 + MATRIX_KEY(0x04, 0x09, KEY_L) /* 39 */ \ 165 + MATRIX_KEY(0x04, 0x0b, KEY_ENTER) /* 43 */ \ 166 + MATRIX_KEY(0x04, 0x0c, KEY_END) /* 81 (Numpad) */ \ 167 + \ 168 + MATRIX_KEY(0x05, 0x01, KEY_1) /* 2 */ \ 169 + MATRIX_KEY(0x05, 0x02, KEY_COMMA) /* 53 */ \ 170 + MATRIX_KEY(0x05, 0x03, KEY_DOT) /* 54 */ \ 171 + MATRIX_KEY(0x05, 0x04, KEY_SLASH) /* 55 */ \ 172 + MATRIX_KEY(0x05, 0x05, KEY_C) /* 48 */ \ 173 + MATRIX_KEY(0x05, 0x06, KEY_SPACE) /* 61 */ \ 174 + MATRIX_KEY(0x05, 0x07, KEY_LEFTSHIFT) /* 44 */ \ 175 + MATRIX_KEY(0x05, 0x08, KEY_X) /* 47 */ \ 176 + MATRIX_KEY(0x05, 0x09, KEY_V) /* 49 */ \ 177 + MATRIX_KEY(0x05, 0x0b, KEY_M) /* 52 */ \ 178 + MATRIX_KEY(0x05, 0x0c, KEY_PAGEDOWN) /* 86 (Numpad) */ \ 179 + \ 180 + MATRIX_KEY(0x06, 0x01, KEY_Z) /* 46 */ \ 181 + MATRIX_KEY(0x06, 0x02, KEY_3) /* 4 */ \ 182 + MATRIX_KEY(0x06, 0x03, KEY_4) /* 5 */ \ 183 + MATRIX_KEY(0x06, 0x04, KEY_2) /* 3 */ \ 184 + MATRIX_KEY(0x06, 0x05, KEY_8) /* 9 */ \ 185 + MATRIX_KEY(0x06, 0x06, KEY_0) /* 11 */ \ 186 + MATRIX_KEY(0x06, 0x08, KEY_7) /* 8 */ \ 187 + MATRIX_KEY(0x06, 0x09, KEY_9) /* 10 */ \ 188 + MATRIX_KEY(0x06, 0x0b, KEY_DOWN) /* 84 */ \ 189 + MATRIX_KEY(0x06, 0x0c, KEY_RIGHT) /* 89 */ \ 190 + MATRIX_KEY(0x06, 0x0d, KEY_LEFTALT) /* 60 */ \ 191 + MATRIX_KEY(0x06, 0x0f, KEY_ASSISTANT) /* 128 */ \ 192 + MATRIX_KEY(0x06, 0x11, KEY_BACKSLASH) /* 42 (JIS, ISO) */ \ 193 + \ 194 + MATRIX_KEY(0x07, 0x01, KEY_U) /* 23 */ \ 195 + MATRIX_KEY(0x07, 0x02, KEY_I) /* 24 */ \ 196 + MATRIX_KEY(0x07, 0x03, KEY_O) /* 25 */ \ 197 + MATRIX_KEY(0x07, 0x04, KEY_P) /* 26 */ \ 198 + MATRIX_KEY(0x07, 0x05, KEY_Q) /* 17 */ \ 199 + MATRIX_KEY(0x07, 0x06, KEY_W) /* 18 */ \ 200 + MATRIX_KEY(0x07, 0x07, KEY_RIGHTSHIFT) /* 57 */ \ 201 + MATRIX_KEY(0x07, 0x08, KEY_E) /* 19 */ \ 202 + MATRIX_KEY(0x07, 0x09, KEY_R) /* 20 */ \ 203 + MATRIX_KEY(0x07, 0x0b, KEY_UP) /* 83 */ \ 204 + MATRIX_KEY(0x07, 0x0c, KEY_LEFT) /* 79 */ \ 205 + MATRIX_KEY(0x07, 0x11, KEY_102ND) /* 45 (ISO) */ 206 + 103 207 #endif /* _CROS_EC_KEYBOARD_H */