* [PATCH 3/3] ARM: dts: cros-ec-keyboard: Add keyboard matrix v3.0
[not found] <20240604005354.2294468-1-dnojiri@chromium.org>
@ 2024-06-04 17:09 ` Daisuke Nojiri
2024-06-04 19:09 ` Dmitry Torokhov
2024-06-04 23:09 ` Daisuke Nojiri
` (3 subsequent siblings)
4 siblings, 1 reply; 8+ messages in thread
From: Daisuke Nojiri @ 2024-06-04 17:09 UTC (permalink / raw)
Cc: Daisuke Nojiri, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Benson Leung, Guenter Roeck, Tzung-Bi Shih, Dmitry Torokhov,
devicetree, chrome-platform, linux-kernel, linux-input
Add support for keyboard matrix version 3.0. To enable it, define
CONFIG_CROS_KBD_V30.
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
---
arch/arm/boot/dts/cros-ec-keyboard.dtsi | 16 ++-
drivers/platform/chrome/Kconfig | 6 ++
include/dt-bindings/input/cros-ec-keyboard.h | 104 +++++++++++++++++++
3 files changed, 123 insertions(+), 3 deletions(-)
diff --git a/arch/arm/boot/dts/cros-ec-keyboard.dtsi b/arch/arm/boot/dts/cros-ec-keyboard.dtsi
index 55c4744fa7e7..0499e254596a 100644
--- a/arch/arm/boot/dts/cros-ec-keyboard.dtsi
+++ b/arch/arm/boot/dts/cros-ec-keyboard.dtsi
@@ -8,16 +8,26 @@
#include <dt-bindings/input/input.h>
#include <dt-bindings/input/cros-ec-keyboard.h>
+#ifdef CONFIG_CROS_KBD_V30
+#define CROS_EC_KEYBOARD_COLUMN_SIZE 18
+#define CROS_TOP_ROW_KEYMAP CROS_TOP_ROW_KEYMAP_V30
+#define CROS_MAIN_KEYMAP CROS_MAIN_KEYMAP_V30
+#else
+#define CROS_EC_KEYBOARD_COLUMN_SIZE 13
+#define CROS_TOP_ROW_KEYMAP CROS_STD_TOP_ROW_KEYMAP
+#define CROS_MAIN_KEYMAP CROS_STD_MAIN_KEYMAP
+#endif
+
&cros_ec {
keyboard_controller: keyboard-controller {
compatible = "google,cros-ec-keyb";
keypad,num-rows = <8>;
- keypad,num-columns = <13>;
+ keypad,num-columns = <CROS_EC_KEYBOARD_COLUMN_SIZE>;
google,needs-ghost-filter;
linux,keymap = <
- CROS_STD_TOP_ROW_KEYMAP
- CROS_STD_MAIN_KEYMAP
+ CROS_TOP_ROW_KEYMAP
+ CROS_MAIN_KEYMAP
>;
};
};
diff --git a/drivers/platform/chrome/Kconfig b/drivers/platform/chrome/Kconfig
index d48f7f43f9e5..8f66beaa48ec 100644
--- a/drivers/platform/chrome/Kconfig
+++ b/drivers/platform/chrome/Kconfig
@@ -157,6 +157,12 @@ config CROS_KBD_LED_BACKLIGHT
To compile this driver as a module, choose M here: the
module will be called cros_kbd_led_backlight.
+config CROS_KBD_V30
+ bool "ChromeOS built-in keyboard version 3.0"
+ default n
+ help
+ If you say Y here, you get support for built-in keyboard ver 3.0.
+
config CROS_EC_CHARDEV
tristate "ChromeOS EC miscdevice"
depends on MFD_CROS_EC_DEV
diff --git a/include/dt-bindings/input/cros-ec-keyboard.h b/include/dt-bindings/input/cros-ec-keyboard.h
index f0ae03634a96..afc12f6aa642 100644
--- a/include/dt-bindings/input/cros-ec-keyboard.h
+++ b/include/dt-bindings/input/cros-ec-keyboard.h
@@ -100,4 +100,108 @@
MATRIX_KEY(0x07, 0x0b, KEY_UP) \
MATRIX_KEY(0x07, 0x0c, KEY_LEFT)
+/* No numpad */
+#define CROS_TOP_ROW_KEYMAP_V30 \
+ MATRIX_KEY(0x00, 0x01, KEY_F11) /* T11 */ \
+ MATRIX_KEY(0x00, 0x02, KEY_F1) /* T1 */ \
+ MATRIX_KEY(0x00, 0x04, KEY_F10) /* T10 */ \
+ MATRIX_KEY(0x00, 0x0b, KEY_F14) /* T14 */ \
+ MATRIX_KEY(0x00, 0x0c, KEY_F15) /* T15 */ \
+ MATRIX_KEY(0x01, 0x02, KEY_F4) /* T4 */ \
+ MATRIX_KEY(0x01, 0x04, KEY_F7) /* T7 */ \
+ MATRIX_KEY(0x01, 0x05, KEY_F12) /* T12 */ \
+ MATRIX_KEY(0x01, 0x09, KEY_F9) /* T9 */ \
+ MATRIX_KEY(0x02, 0x02, KEY_F3) /* T3 */ \
+ MATRIX_KEY(0x02, 0x04, KEY_F6) /* T6 */ \
+ MATRIX_KEY(0x02, 0x0b, KEY_F8) /* T8 */ \
+ MATRIX_KEY(0x03, 0x02, KEY_F2) /* T2 */ \
+ MATRIX_KEY(0x03, 0x05, KEY_F13) /* T13 */ \
+ MATRIX_KEY(0x04, 0x04, KEY_F5) /* T5 */
+
+#define CROS_MAIN_KEYMAP_V30 /* Keycode */ \
+ MATRIX_KEY(0x00, 0x03, KEY_B) /* 50 */ \
+ MATRIX_KEY(0x00, 0x05, KEY_N) /* 51 */ \
+ MATRIX_KEY(0x00, 0x06, KEY_RO) /* 56 (JIS) */ \
+ MATRIX_KEY(0x00, 0x08, KEY_EQUAL) /* 13 */ \
+ MATRIX_KEY(0x00, 0x09, KEY_HOME) /* 80 (Numpad) */ \
+ MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT) /* 62 */ \
+ MATRIX_KEY(0x00, 0x10, KEY_FN) /* 127 */ \
+ \
+ MATRIX_KEY(0x01, 0x01, KEY_ESC) /* 110 */ \
+ MATRIX_KEY(0x01, 0x03, KEY_G) /* 35 */ \
+ MATRIX_KEY(0x01, 0x06, KEY_H) /* 36 */ \
+ MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE) /* 41 */ \
+ MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE) /* 15 */ \
+ MATRIX_KEY(0x01, 0x0c, KEY_HENKAN) /* 65 (JIS) */ \
+ MATRIX_KEY(0x01, 0x0e, KEY_LEFTCTRL) /* 58 */ \
+ \
+ MATRIX_KEY(0x02, 0x01, KEY_TAB) /* 16 */ \
+ MATRIX_KEY(0x02, 0x03, KEY_T) /* 21 */ \
+ MATRIX_KEY(0x02, 0x05, KEY_RIGHTBRACE) /* 28 */ \
+ MATRIX_KEY(0x02, 0x06, KEY_Y) /* 22 */ \
+ MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE) /* 27 */ \
+ MATRIX_KEY(0x02, 0x09, KEY_DELETE) /* 76 (Numpad) */ \
+ MATRIX_KEY(0x02, 0x0c, KEY_PAGEUP) /* 85 (Numpad) */ \
+ MATRIX_KEY(0x02, 0x011, KEY_YEN) /* 14 (JIS) */ \
+ \
+ MATRIX_KEY(0x03, 0x00, KEY_LEFTMETA) /* Launcher */ \
+ MATRIX_KEY(0x03, 0x01, KEY_GRAVE) /* 1 */ \
+ MATRIX_KEY(0x03, 0x03, KEY_5) /* 6 */ \
+ MATRIX_KEY(0x03, 0x04, KEY_S) /* 32 */ \
+ MATRIX_KEY(0x03, 0x06, KEY_MINUS) /* 12 */ \
+ MATRIX_KEY(0x03, 0x08, KEY_6) /* 7 */ \
+ MATRIX_KEY(0x03, 0x09, KEY_SLEEP) /* Lock */ \
+ MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH) /* 29 */ \
+ MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN) /* 63 (JIS) */ \
+ MATRIX_KEY(0x03, 0x0e, KEY_RIGHTCTRL) /* 64 */ \
+ \
+ MATRIX_KEY(0x04, 0x01, KEY_A) /* 31 */ \
+ MATRIX_KEY(0x04, 0x02, KEY_D) /* 33 */ \
+ MATRIX_KEY(0x04, 0x03, KEY_F) /* 34 */ \
+ MATRIX_KEY(0x04, 0x05, KEY_K) /* 38 */ \
+ MATRIX_KEY(0x04, 0x06, KEY_J) /* 37 */ \
+ MATRIX_KEY(0x04, 0x08, KEY_SEMICOLON) /* 40 */ \
+ MATRIX_KEY(0x04, 0x09, KEY_L) /* 39 */ \
+ MATRIX_KEY(0x04, 0x0b, KEY_ENTER) /* 43 */ \
+ MATRIX_KEY(0x04, 0x0c, KEY_END) /* 81 (Numpad) */ \
+ \
+ MATRIX_KEY(0x05, 0x01, KEY_1) /* 2 */ \
+ MATRIX_KEY(0x05, 0x02, KEY_COMMA) /* 53 */ \
+ MATRIX_KEY(0x05, 0x03, KEY_DOT) /* 54 */ \
+ MATRIX_KEY(0x05, 0x04, KEY_SLASH) /* 55 */ \
+ MATRIX_KEY(0x05, 0x05, KEY_C) /* 48 */ \
+ MATRIX_KEY(0x05, 0x06, KEY_SPACE) /* 61 */ \
+ MATRIX_KEY(0x05, 0x07, KEY_LEFTSHIFT) /* 44 */ \
+ MATRIX_KEY(0x05, 0x08, KEY_X) /* 47 */ \
+ MATRIX_KEY(0x05, 0x09, KEY_V) /* 49 */ \
+ MATRIX_KEY(0x05, 0x0b, KEY_M) /* 52 */ \
+ MATRIX_KEY(0x05, 0x0c, KEY_PAGEDOWN) /* 86 (Numpad) */ \
+ \
+ MATRIX_KEY(0x06, 0x01, KEY_Z) /* 46 */ \
+ MATRIX_KEY(0x06, 0x02, KEY_3) /* 4 */ \
+ MATRIX_KEY(0x06, 0x03, KEY_4) /* 5 */ \
+ MATRIX_KEY(0x06, 0x04, KEY_2) /* 3 */ \
+ MATRIX_KEY(0x06, 0x05, KEY_8) /* 9 */ \
+ MATRIX_KEY(0x06, 0x06, KEY_0) /* 11 */ \
+ MATRIX_KEY(0x06, 0x08, KEY_7) /* 8 */ \
+ MATRIX_KEY(0x06, 0x09, KEY_9) /* 10 */ \
+ MATRIX_KEY(0x06, 0x0b, KEY_DOWN) /* 84 */ \
+ MATRIX_KEY(0x06, 0x0c, KEY_RIGHT) /* 89 */ \
+ MATRIX_KEY(0x06, 0x0d, KEY_LEFTALT) /* 60 */ \
+ MATRIX_KEY(0x06, 0x0f, KEY_ASSISTANT) /* 128 */ \
+ MATRIX_KEY(0x06, 0x11, KEY_BACKSLASH) /* 42 (JIS, ISO) */ \
+ \
+ MATRIX_KEY(0x07, 0x01, KEY_U) /* 23 */ \
+ MATRIX_KEY(0x07, 0x02, KEY_I) /* 24 */ \
+ MATRIX_KEY(0x07, 0x03, KEY_O) /* 25 */ \
+ MATRIX_KEY(0x07, 0x04, KEY_P) /* 26 */ \
+ MATRIX_KEY(0x07, 0x05, KEY_Q) /* 17 */ \
+ MATRIX_KEY(0x07, 0x06, KEY_W) /* 18 */ \
+ MATRIX_KEY(0x07, 0x07, KEY_RIGHTSHIFT) /* 57 */ \
+ MATRIX_KEY(0x07, 0x08, KEY_E) /* 19 */ \
+ MATRIX_KEY(0x07, 0x09, KEY_R) /* 20 */ \
+ MATRIX_KEY(0x07, 0x0b, KEY_UP) /* 83 */ \
+ MATRIX_KEY(0x07, 0x0c, KEY_LEFT) /* 79 */ \
+ MATRIX_KEY(0x07, 0x11, KEY_102ND) /* 45 (ISO) */
+
#endif /* _CROS_EC_KEYBOARD_H */
--
2.45.1.288.g0e0cd299f1-goog
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] ARM: dts: cros-ec-keyboard: Add keyboard matrix v3.0
2024-06-04 17:09 ` [PATCH 3/3] ARM: dts: cros-ec-keyboard: Add keyboard matrix v3.0 Daisuke Nojiri
@ 2024-06-04 19:09 ` Dmitry Torokhov
0 siblings, 0 replies; 8+ messages in thread
From: Dmitry Torokhov @ 2024-06-04 19:09 UTC (permalink / raw)
To: Daisuke Nojiri
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Benson Leung,
Guenter Roeck, Tzung-Bi Shih, devicetree, chrome-platform,
linux-kernel, linux-input
Hi Daisuke,
On Tue, Jun 04, 2024 at 10:09:33AM -0700, Daisuke Nojiri wrote:
> Add support for keyboard matrix version 3.0. To enable it, define
> CONFIG_CROS_KBD_V30.
I might be wrong but it looks to me if one enables support for v3 keymap
then the kernel will not work for devices using other/older versions of
keymap. It might be acceptable for Chrome OS kernels but will nto work
for upstream.
I think you need to create arch/arm/boot/dts/cros-ec-keyboard-v3.dtsi
that would define "keyboard_controller" node with proper keymap and
include this new dtsi into std files for devices/boards that need it.
Thanks.
--
Dmitry
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/3] ARM: dts: cros-ec-keyboard: Add keyboard matrix v3.0
[not found] <20240604005354.2294468-1-dnojiri@chromium.org>
2024-06-04 17:09 ` [PATCH 3/3] ARM: dts: cros-ec-keyboard: Add keyboard matrix v3.0 Daisuke Nojiri
@ 2024-06-04 23:09 ` Daisuke Nojiri
2024-06-06 0:24 ` Rob Herring
2024-06-06 1:08 ` [PATCH 3/3] dt-bindings: " Daisuke Nojiri
` (2 subsequent siblings)
4 siblings, 1 reply; 8+ messages in thread
From: Daisuke Nojiri @ 2024-06-04 23:09 UTC (permalink / raw)
Cc: Daisuke Nojiri, Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Benson Leung, Guenter Roeck, linux-input,
devicetree, chrome-platform, linux-kernel
Add support for keyboard matrix version 3.0.
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Change-Id: I18957556bcd01c74ded84571638de2583dccb93f
---
include/dt-bindings/input/cros-ec-keyboard.h | 104 +++++++++++++++++++
1 file changed, 104 insertions(+)
diff --git a/include/dt-bindings/input/cros-ec-keyboard.h b/include/dt-bindings/input/cros-ec-keyboard.h
index f0ae03634a96..afc12f6aa642 100644
--- a/include/dt-bindings/input/cros-ec-keyboard.h
+++ b/include/dt-bindings/input/cros-ec-keyboard.h
@@ -100,4 +100,108 @@
MATRIX_KEY(0x07, 0x0b, KEY_UP) \
MATRIX_KEY(0x07, 0x0c, KEY_LEFT)
+/* No numpad */
+#define CROS_TOP_ROW_KEYMAP_V30 \
+ MATRIX_KEY(0x00, 0x01, KEY_F11) /* T11 */ \
+ MATRIX_KEY(0x00, 0x02, KEY_F1) /* T1 */ \
+ MATRIX_KEY(0x00, 0x04, KEY_F10) /* T10 */ \
+ MATRIX_KEY(0x00, 0x0b, KEY_F14) /* T14 */ \
+ MATRIX_KEY(0x00, 0x0c, KEY_F15) /* T15 */ \
+ MATRIX_KEY(0x01, 0x02, KEY_F4) /* T4 */ \
+ MATRIX_KEY(0x01, 0x04, KEY_F7) /* T7 */ \
+ MATRIX_KEY(0x01, 0x05, KEY_F12) /* T12 */ \
+ MATRIX_KEY(0x01, 0x09, KEY_F9) /* T9 */ \
+ MATRIX_KEY(0x02, 0x02, KEY_F3) /* T3 */ \
+ MATRIX_KEY(0x02, 0x04, KEY_F6) /* T6 */ \
+ MATRIX_KEY(0x02, 0x0b, KEY_F8) /* T8 */ \
+ MATRIX_KEY(0x03, 0x02, KEY_F2) /* T2 */ \
+ MATRIX_KEY(0x03, 0x05, KEY_F13) /* T13 */ \
+ MATRIX_KEY(0x04, 0x04, KEY_F5) /* T5 */
+
+#define CROS_MAIN_KEYMAP_V30 /* Keycode */ \
+ MATRIX_KEY(0x00, 0x03, KEY_B) /* 50 */ \
+ MATRIX_KEY(0x00, 0x05, KEY_N) /* 51 */ \
+ MATRIX_KEY(0x00, 0x06, KEY_RO) /* 56 (JIS) */ \
+ MATRIX_KEY(0x00, 0x08, KEY_EQUAL) /* 13 */ \
+ MATRIX_KEY(0x00, 0x09, KEY_HOME) /* 80 (Numpad) */ \
+ MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT) /* 62 */ \
+ MATRIX_KEY(0x00, 0x10, KEY_FN) /* 127 */ \
+ \
+ MATRIX_KEY(0x01, 0x01, KEY_ESC) /* 110 */ \
+ MATRIX_KEY(0x01, 0x03, KEY_G) /* 35 */ \
+ MATRIX_KEY(0x01, 0x06, KEY_H) /* 36 */ \
+ MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE) /* 41 */ \
+ MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE) /* 15 */ \
+ MATRIX_KEY(0x01, 0x0c, KEY_HENKAN) /* 65 (JIS) */ \
+ MATRIX_KEY(0x01, 0x0e, KEY_LEFTCTRL) /* 58 */ \
+ \
+ MATRIX_KEY(0x02, 0x01, KEY_TAB) /* 16 */ \
+ MATRIX_KEY(0x02, 0x03, KEY_T) /* 21 */ \
+ MATRIX_KEY(0x02, 0x05, KEY_RIGHTBRACE) /* 28 */ \
+ MATRIX_KEY(0x02, 0x06, KEY_Y) /* 22 */ \
+ MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE) /* 27 */ \
+ MATRIX_KEY(0x02, 0x09, KEY_DELETE) /* 76 (Numpad) */ \
+ MATRIX_KEY(0x02, 0x0c, KEY_PAGEUP) /* 85 (Numpad) */ \
+ MATRIX_KEY(0x02, 0x011, KEY_YEN) /* 14 (JIS) */ \
+ \
+ MATRIX_KEY(0x03, 0x00, KEY_LEFTMETA) /* Launcher */ \
+ MATRIX_KEY(0x03, 0x01, KEY_GRAVE) /* 1 */ \
+ MATRIX_KEY(0x03, 0x03, KEY_5) /* 6 */ \
+ MATRIX_KEY(0x03, 0x04, KEY_S) /* 32 */ \
+ MATRIX_KEY(0x03, 0x06, KEY_MINUS) /* 12 */ \
+ MATRIX_KEY(0x03, 0x08, KEY_6) /* 7 */ \
+ MATRIX_KEY(0x03, 0x09, KEY_SLEEP) /* Lock */ \
+ MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH) /* 29 */ \
+ MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN) /* 63 (JIS) */ \
+ MATRIX_KEY(0x03, 0x0e, KEY_RIGHTCTRL) /* 64 */ \
+ \
+ MATRIX_KEY(0x04, 0x01, KEY_A) /* 31 */ \
+ MATRIX_KEY(0x04, 0x02, KEY_D) /* 33 */ \
+ MATRIX_KEY(0x04, 0x03, KEY_F) /* 34 */ \
+ MATRIX_KEY(0x04, 0x05, KEY_K) /* 38 */ \
+ MATRIX_KEY(0x04, 0x06, KEY_J) /* 37 */ \
+ MATRIX_KEY(0x04, 0x08, KEY_SEMICOLON) /* 40 */ \
+ MATRIX_KEY(0x04, 0x09, KEY_L) /* 39 */ \
+ MATRIX_KEY(0x04, 0x0b, KEY_ENTER) /* 43 */ \
+ MATRIX_KEY(0x04, 0x0c, KEY_END) /* 81 (Numpad) */ \
+ \
+ MATRIX_KEY(0x05, 0x01, KEY_1) /* 2 */ \
+ MATRIX_KEY(0x05, 0x02, KEY_COMMA) /* 53 */ \
+ MATRIX_KEY(0x05, 0x03, KEY_DOT) /* 54 */ \
+ MATRIX_KEY(0x05, 0x04, KEY_SLASH) /* 55 */ \
+ MATRIX_KEY(0x05, 0x05, KEY_C) /* 48 */ \
+ MATRIX_KEY(0x05, 0x06, KEY_SPACE) /* 61 */ \
+ MATRIX_KEY(0x05, 0x07, KEY_LEFTSHIFT) /* 44 */ \
+ MATRIX_KEY(0x05, 0x08, KEY_X) /* 47 */ \
+ MATRIX_KEY(0x05, 0x09, KEY_V) /* 49 */ \
+ MATRIX_KEY(0x05, 0x0b, KEY_M) /* 52 */ \
+ MATRIX_KEY(0x05, 0x0c, KEY_PAGEDOWN) /* 86 (Numpad) */ \
+ \
+ MATRIX_KEY(0x06, 0x01, KEY_Z) /* 46 */ \
+ MATRIX_KEY(0x06, 0x02, KEY_3) /* 4 */ \
+ MATRIX_KEY(0x06, 0x03, KEY_4) /* 5 */ \
+ MATRIX_KEY(0x06, 0x04, KEY_2) /* 3 */ \
+ MATRIX_KEY(0x06, 0x05, KEY_8) /* 9 */ \
+ MATRIX_KEY(0x06, 0x06, KEY_0) /* 11 */ \
+ MATRIX_KEY(0x06, 0x08, KEY_7) /* 8 */ \
+ MATRIX_KEY(0x06, 0x09, KEY_9) /* 10 */ \
+ MATRIX_KEY(0x06, 0x0b, KEY_DOWN) /* 84 */ \
+ MATRIX_KEY(0x06, 0x0c, KEY_RIGHT) /* 89 */ \
+ MATRIX_KEY(0x06, 0x0d, KEY_LEFTALT) /* 60 */ \
+ MATRIX_KEY(0x06, 0x0f, KEY_ASSISTANT) /* 128 */ \
+ MATRIX_KEY(0x06, 0x11, KEY_BACKSLASH) /* 42 (JIS, ISO) */ \
+ \
+ MATRIX_KEY(0x07, 0x01, KEY_U) /* 23 */ \
+ MATRIX_KEY(0x07, 0x02, KEY_I) /* 24 */ \
+ MATRIX_KEY(0x07, 0x03, KEY_O) /* 25 */ \
+ MATRIX_KEY(0x07, 0x04, KEY_P) /* 26 */ \
+ MATRIX_KEY(0x07, 0x05, KEY_Q) /* 17 */ \
+ MATRIX_KEY(0x07, 0x06, KEY_W) /* 18 */ \
+ MATRIX_KEY(0x07, 0x07, KEY_RIGHTSHIFT) /* 57 */ \
+ MATRIX_KEY(0x07, 0x08, KEY_E) /* 19 */ \
+ MATRIX_KEY(0x07, 0x09, KEY_R) /* 20 */ \
+ MATRIX_KEY(0x07, 0x0b, KEY_UP) /* 83 */ \
+ MATRIX_KEY(0x07, 0x0c, KEY_LEFT) /* 79 */ \
+ MATRIX_KEY(0x07, 0x11, KEY_102ND) /* 45 (ISO) */
+
#endif /* _CROS_EC_KEYBOARD_H */
--
2.45.1.288.g0e0cd299f1-goog
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] ARM: dts: cros-ec-keyboard: Add keyboard matrix v3.0
2024-06-04 23:09 ` Daisuke Nojiri
@ 2024-06-06 0:24 ` Rob Herring
0 siblings, 0 replies; 8+ messages in thread
From: Rob Herring @ 2024-06-06 0:24 UTC (permalink / raw)
To: Daisuke Nojiri
Cc: Dmitry Torokhov, Krzysztof Kozlowski, Conor Dooley, Benson Leung,
Guenter Roeck, linux-input, devicetree, chrome-platform,
linux-kernel
On Tue, Jun 04, 2024 at 04:09:07PM -0700, Daisuke Nojiri wrote:
> Add support for keyboard matrix version 3.0.
What's that?
Subject is wrong. This is not an ARM dts. 'dt-bindings: ' is the prefix.
>
> Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
> Change-Id: I18957556bcd01c74ded84571638de2583dccb93f
Drop Change-Id for upstream.
> ---
> include/dt-bindings/input/cros-ec-keyboard.h | 104 +++++++++++++++++++
> 1 file changed, 104 insertions(+)
>
> diff --git a/include/dt-bindings/input/cros-ec-keyboard.h b/include/dt-bindings/input/cros-ec-keyboard.h
> index f0ae03634a96..afc12f6aa642 100644
> --- a/include/dt-bindings/input/cros-ec-keyboard.h
> +++ b/include/dt-bindings/input/cros-ec-keyboard.h
> @@ -100,4 +100,108 @@
> MATRIX_KEY(0x07, 0x0b, KEY_UP) \
> MATRIX_KEY(0x07, 0x0c, KEY_LEFT)
>
> +/* No numpad */
> +#define CROS_TOP_ROW_KEYMAP_V30 \
> + MATRIX_KEY(0x00, 0x01, KEY_F11) /* T11 */ \
> + MATRIX_KEY(0x00, 0x02, KEY_F1) /* T1 */ \
> + MATRIX_KEY(0x00, 0x04, KEY_F10) /* T10 */ \
> + MATRIX_KEY(0x00, 0x0b, KEY_F14) /* T14 */ \
> + MATRIX_KEY(0x00, 0x0c, KEY_F15) /* T15 */ \
> + MATRIX_KEY(0x01, 0x02, KEY_F4) /* T4 */ \
> + MATRIX_KEY(0x01, 0x04, KEY_F7) /* T7 */ \
> + MATRIX_KEY(0x01, 0x05, KEY_F12) /* T12 */ \
> + MATRIX_KEY(0x01, 0x09, KEY_F9) /* T9 */ \
> + MATRIX_KEY(0x02, 0x02, KEY_F3) /* T3 */ \
> + MATRIX_KEY(0x02, 0x04, KEY_F6) /* T6 */ \
> + MATRIX_KEY(0x02, 0x0b, KEY_F8) /* T8 */ \
> + MATRIX_KEY(0x03, 0x02, KEY_F2) /* T2 */ \
> + MATRIX_KEY(0x03, 0x05, KEY_F13) /* T13 */ \
> + MATRIX_KEY(0x04, 0x04, KEY_F5) /* T5 */
> +
> +#define CROS_MAIN_KEYMAP_V30 /* Keycode */ \
> + MATRIX_KEY(0x00, 0x03, KEY_B) /* 50 */ \
> + MATRIX_KEY(0x00, 0x05, KEY_N) /* 51 */ \
> + MATRIX_KEY(0x00, 0x06, KEY_RO) /* 56 (JIS) */ \
> + MATRIX_KEY(0x00, 0x08, KEY_EQUAL) /* 13 */ \
> + MATRIX_KEY(0x00, 0x09, KEY_HOME) /* 80 (Numpad) */ \
> + MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT) /* 62 */ \
> + MATRIX_KEY(0x00, 0x10, KEY_FN) /* 127 */ \
> + \
> + MATRIX_KEY(0x01, 0x01, KEY_ESC) /* 110 */ \
> + MATRIX_KEY(0x01, 0x03, KEY_G) /* 35 */ \
> + MATRIX_KEY(0x01, 0x06, KEY_H) /* 36 */ \
> + MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE) /* 41 */ \
> + MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE) /* 15 */ \
> + MATRIX_KEY(0x01, 0x0c, KEY_HENKAN) /* 65 (JIS) */ \
> + MATRIX_KEY(0x01, 0x0e, KEY_LEFTCTRL) /* 58 */ \
> + \
> + MATRIX_KEY(0x02, 0x01, KEY_TAB) /* 16 */ \
> + MATRIX_KEY(0x02, 0x03, KEY_T) /* 21 */ \
> + MATRIX_KEY(0x02, 0x05, KEY_RIGHTBRACE) /* 28 */ \
> + MATRIX_KEY(0x02, 0x06, KEY_Y) /* 22 */ \
> + MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE) /* 27 */ \
> + MATRIX_KEY(0x02, 0x09, KEY_DELETE) /* 76 (Numpad) */ \
> + MATRIX_KEY(0x02, 0x0c, KEY_PAGEUP) /* 85 (Numpad) */ \
> + MATRIX_KEY(0x02, 0x011, KEY_YEN) /* 14 (JIS) */ \
> + \
> + MATRIX_KEY(0x03, 0x00, KEY_LEFTMETA) /* Launcher */ \
> + MATRIX_KEY(0x03, 0x01, KEY_GRAVE) /* 1 */ \
> + MATRIX_KEY(0x03, 0x03, KEY_5) /* 6 */ \
> + MATRIX_KEY(0x03, 0x04, KEY_S) /* 32 */ \
> + MATRIX_KEY(0x03, 0x06, KEY_MINUS) /* 12 */ \
> + MATRIX_KEY(0x03, 0x08, KEY_6) /* 7 */ \
> + MATRIX_KEY(0x03, 0x09, KEY_SLEEP) /* Lock */ \
> + MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH) /* 29 */ \
> + MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN) /* 63 (JIS) */ \
> + MATRIX_KEY(0x03, 0x0e, KEY_RIGHTCTRL) /* 64 */ \
> + \
> + MATRIX_KEY(0x04, 0x01, KEY_A) /* 31 */ \
> + MATRIX_KEY(0x04, 0x02, KEY_D) /* 33 */ \
> + MATRIX_KEY(0x04, 0x03, KEY_F) /* 34 */ \
> + MATRIX_KEY(0x04, 0x05, KEY_K) /* 38 */ \
> + MATRIX_KEY(0x04, 0x06, KEY_J) /* 37 */ \
> + MATRIX_KEY(0x04, 0x08, KEY_SEMICOLON) /* 40 */ \
> + MATRIX_KEY(0x04, 0x09, KEY_L) /* 39 */ \
> + MATRIX_KEY(0x04, 0x0b, KEY_ENTER) /* 43 */ \
> + MATRIX_KEY(0x04, 0x0c, KEY_END) /* 81 (Numpad) */ \
> + \
> + MATRIX_KEY(0x05, 0x01, KEY_1) /* 2 */ \
> + MATRIX_KEY(0x05, 0x02, KEY_COMMA) /* 53 */ \
> + MATRIX_KEY(0x05, 0x03, KEY_DOT) /* 54 */ \
> + MATRIX_KEY(0x05, 0x04, KEY_SLASH) /* 55 */ \
> + MATRIX_KEY(0x05, 0x05, KEY_C) /* 48 */ \
> + MATRIX_KEY(0x05, 0x06, KEY_SPACE) /* 61 */ \
> + MATRIX_KEY(0x05, 0x07, KEY_LEFTSHIFT) /* 44 */ \
> + MATRIX_KEY(0x05, 0x08, KEY_X) /* 47 */ \
> + MATRIX_KEY(0x05, 0x09, KEY_V) /* 49 */ \
> + MATRIX_KEY(0x05, 0x0b, KEY_M) /* 52 */ \
> + MATRIX_KEY(0x05, 0x0c, KEY_PAGEDOWN) /* 86 (Numpad) */ \
> + \
> + MATRIX_KEY(0x06, 0x01, KEY_Z) /* 46 */ \
> + MATRIX_KEY(0x06, 0x02, KEY_3) /* 4 */ \
> + MATRIX_KEY(0x06, 0x03, KEY_4) /* 5 */ \
> + MATRIX_KEY(0x06, 0x04, KEY_2) /* 3 */ \
> + MATRIX_KEY(0x06, 0x05, KEY_8) /* 9 */ \
> + MATRIX_KEY(0x06, 0x06, KEY_0) /* 11 */ \
> + MATRIX_KEY(0x06, 0x08, KEY_7) /* 8 */ \
> + MATRIX_KEY(0x06, 0x09, KEY_9) /* 10 */ \
> + MATRIX_KEY(0x06, 0x0b, KEY_DOWN) /* 84 */ \
> + MATRIX_KEY(0x06, 0x0c, KEY_RIGHT) /* 89 */ \
> + MATRIX_KEY(0x06, 0x0d, KEY_LEFTALT) /* 60 */ \
> + MATRIX_KEY(0x06, 0x0f, KEY_ASSISTANT) /* 128 */ \
> + MATRIX_KEY(0x06, 0x11, KEY_BACKSLASH) /* 42 (JIS, ISO) */ \
> + \
> + MATRIX_KEY(0x07, 0x01, KEY_U) /* 23 */ \
> + MATRIX_KEY(0x07, 0x02, KEY_I) /* 24 */ \
> + MATRIX_KEY(0x07, 0x03, KEY_O) /* 25 */ \
> + MATRIX_KEY(0x07, 0x04, KEY_P) /* 26 */ \
> + MATRIX_KEY(0x07, 0x05, KEY_Q) /* 17 */ \
> + MATRIX_KEY(0x07, 0x06, KEY_W) /* 18 */ \
> + MATRIX_KEY(0x07, 0x07, KEY_RIGHTSHIFT) /* 57 */ \
> + MATRIX_KEY(0x07, 0x08, KEY_E) /* 19 */ \
> + MATRIX_KEY(0x07, 0x09, KEY_R) /* 20 */ \
> + MATRIX_KEY(0x07, 0x0b, KEY_UP) /* 83 */ \
> + MATRIX_KEY(0x07, 0x0c, KEY_LEFT) /* 79 */ \
> + MATRIX_KEY(0x07, 0x11, KEY_102ND) /* 45 (ISO) */
> +
> #endif /* _CROS_EC_KEYBOARD_H */
> --
> 2.45.1.288.g0e0cd299f1-goog
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/3] dt-bindings: cros-ec-keyboard: Add keyboard matrix v3.0
[not found] <20240604005354.2294468-1-dnojiri@chromium.org>
2024-06-04 17:09 ` [PATCH 3/3] ARM: dts: cros-ec-keyboard: Add keyboard matrix v3.0 Daisuke Nojiri
2024-06-04 23:09 ` Daisuke Nojiri
@ 2024-06-06 1:08 ` Daisuke Nojiri
2024-06-06 6:27 ` Krzysztof Kozlowski
[not found] ` <20240606173509.243739-1-dnojiri@chromium.org>
2024-06-06 17:40 ` [PATCH 0/3 v4] Add cros-ec-keyboard v3.0 Daisuke Nojiri
4 siblings, 1 reply; 8+ messages in thread
From: Daisuke Nojiri @ 2024-06-06 1:08 UTC (permalink / raw)
Cc: Daisuke Nojiri, Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Benson Leung, Guenter Roeck, linux-input,
devicetree, chrome-platform, linux-kernel
Add support for keyboard matrix version 3.0.
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
---
include/dt-bindings/input/cros-ec-keyboard.h | 104 +++++++++++++++++++
1 file changed, 104 insertions(+)
diff --git a/include/dt-bindings/input/cros-ec-keyboard.h b/include/dt-bindings/input/cros-ec-keyboard.h
index f0ae03634a96..afc12f6aa642 100644
--- a/include/dt-bindings/input/cros-ec-keyboard.h
+++ b/include/dt-bindings/input/cros-ec-keyboard.h
@@ -100,4 +100,108 @@
MATRIX_KEY(0x07, 0x0b, KEY_UP) \
MATRIX_KEY(0x07, 0x0c, KEY_LEFT)
+/* No numpad */
+#define CROS_TOP_ROW_KEYMAP_V30 \
+ MATRIX_KEY(0x00, 0x01, KEY_F11) /* T11 */ \
+ MATRIX_KEY(0x00, 0x02, KEY_F1) /* T1 */ \
+ MATRIX_KEY(0x00, 0x04, KEY_F10) /* T10 */ \
+ MATRIX_KEY(0x00, 0x0b, KEY_F14) /* T14 */ \
+ MATRIX_KEY(0x00, 0x0c, KEY_F15) /* T15 */ \
+ MATRIX_KEY(0x01, 0x02, KEY_F4) /* T4 */ \
+ MATRIX_KEY(0x01, 0x04, KEY_F7) /* T7 */ \
+ MATRIX_KEY(0x01, 0x05, KEY_F12) /* T12 */ \
+ MATRIX_KEY(0x01, 0x09, KEY_F9) /* T9 */ \
+ MATRIX_KEY(0x02, 0x02, KEY_F3) /* T3 */ \
+ MATRIX_KEY(0x02, 0x04, KEY_F6) /* T6 */ \
+ MATRIX_KEY(0x02, 0x0b, KEY_F8) /* T8 */ \
+ MATRIX_KEY(0x03, 0x02, KEY_F2) /* T2 */ \
+ MATRIX_KEY(0x03, 0x05, KEY_F13) /* T13 */ \
+ MATRIX_KEY(0x04, 0x04, KEY_F5) /* T5 */
+
+#define CROS_MAIN_KEYMAP_V30 /* Keycode */ \
+ MATRIX_KEY(0x00, 0x03, KEY_B) /* 50 */ \
+ MATRIX_KEY(0x00, 0x05, KEY_N) /* 51 */ \
+ MATRIX_KEY(0x00, 0x06, KEY_RO) /* 56 (JIS) */ \
+ MATRIX_KEY(0x00, 0x08, KEY_EQUAL) /* 13 */ \
+ MATRIX_KEY(0x00, 0x09, KEY_HOME) /* 80 (Numpad) */ \
+ MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT) /* 62 */ \
+ MATRIX_KEY(0x00, 0x10, KEY_FN) /* 127 */ \
+ \
+ MATRIX_KEY(0x01, 0x01, KEY_ESC) /* 110 */ \
+ MATRIX_KEY(0x01, 0x03, KEY_G) /* 35 */ \
+ MATRIX_KEY(0x01, 0x06, KEY_H) /* 36 */ \
+ MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE) /* 41 */ \
+ MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE) /* 15 */ \
+ MATRIX_KEY(0x01, 0x0c, KEY_HENKAN) /* 65 (JIS) */ \
+ MATRIX_KEY(0x01, 0x0e, KEY_LEFTCTRL) /* 58 */ \
+ \
+ MATRIX_KEY(0x02, 0x01, KEY_TAB) /* 16 */ \
+ MATRIX_KEY(0x02, 0x03, KEY_T) /* 21 */ \
+ MATRIX_KEY(0x02, 0x05, KEY_RIGHTBRACE) /* 28 */ \
+ MATRIX_KEY(0x02, 0x06, KEY_Y) /* 22 */ \
+ MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE) /* 27 */ \
+ MATRIX_KEY(0x02, 0x09, KEY_DELETE) /* 76 (Numpad) */ \
+ MATRIX_KEY(0x02, 0x0c, KEY_PAGEUP) /* 85 (Numpad) */ \
+ MATRIX_KEY(0x02, 0x011, KEY_YEN) /* 14 (JIS) */ \
+ \
+ MATRIX_KEY(0x03, 0x00, KEY_LEFTMETA) /* Launcher */ \
+ MATRIX_KEY(0x03, 0x01, KEY_GRAVE) /* 1 */ \
+ MATRIX_KEY(0x03, 0x03, KEY_5) /* 6 */ \
+ MATRIX_KEY(0x03, 0x04, KEY_S) /* 32 */ \
+ MATRIX_KEY(0x03, 0x06, KEY_MINUS) /* 12 */ \
+ MATRIX_KEY(0x03, 0x08, KEY_6) /* 7 */ \
+ MATRIX_KEY(0x03, 0x09, KEY_SLEEP) /* Lock */ \
+ MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH) /* 29 */ \
+ MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN) /* 63 (JIS) */ \
+ MATRIX_KEY(0x03, 0x0e, KEY_RIGHTCTRL) /* 64 */ \
+ \
+ MATRIX_KEY(0x04, 0x01, KEY_A) /* 31 */ \
+ MATRIX_KEY(0x04, 0x02, KEY_D) /* 33 */ \
+ MATRIX_KEY(0x04, 0x03, KEY_F) /* 34 */ \
+ MATRIX_KEY(0x04, 0x05, KEY_K) /* 38 */ \
+ MATRIX_KEY(0x04, 0x06, KEY_J) /* 37 */ \
+ MATRIX_KEY(0x04, 0x08, KEY_SEMICOLON) /* 40 */ \
+ MATRIX_KEY(0x04, 0x09, KEY_L) /* 39 */ \
+ MATRIX_KEY(0x04, 0x0b, KEY_ENTER) /* 43 */ \
+ MATRIX_KEY(0x04, 0x0c, KEY_END) /* 81 (Numpad) */ \
+ \
+ MATRIX_KEY(0x05, 0x01, KEY_1) /* 2 */ \
+ MATRIX_KEY(0x05, 0x02, KEY_COMMA) /* 53 */ \
+ MATRIX_KEY(0x05, 0x03, KEY_DOT) /* 54 */ \
+ MATRIX_KEY(0x05, 0x04, KEY_SLASH) /* 55 */ \
+ MATRIX_KEY(0x05, 0x05, KEY_C) /* 48 */ \
+ MATRIX_KEY(0x05, 0x06, KEY_SPACE) /* 61 */ \
+ MATRIX_KEY(0x05, 0x07, KEY_LEFTSHIFT) /* 44 */ \
+ MATRIX_KEY(0x05, 0x08, KEY_X) /* 47 */ \
+ MATRIX_KEY(0x05, 0x09, KEY_V) /* 49 */ \
+ MATRIX_KEY(0x05, 0x0b, KEY_M) /* 52 */ \
+ MATRIX_KEY(0x05, 0x0c, KEY_PAGEDOWN) /* 86 (Numpad) */ \
+ \
+ MATRIX_KEY(0x06, 0x01, KEY_Z) /* 46 */ \
+ MATRIX_KEY(0x06, 0x02, KEY_3) /* 4 */ \
+ MATRIX_KEY(0x06, 0x03, KEY_4) /* 5 */ \
+ MATRIX_KEY(0x06, 0x04, KEY_2) /* 3 */ \
+ MATRIX_KEY(0x06, 0x05, KEY_8) /* 9 */ \
+ MATRIX_KEY(0x06, 0x06, KEY_0) /* 11 */ \
+ MATRIX_KEY(0x06, 0x08, KEY_7) /* 8 */ \
+ MATRIX_KEY(0x06, 0x09, KEY_9) /* 10 */ \
+ MATRIX_KEY(0x06, 0x0b, KEY_DOWN) /* 84 */ \
+ MATRIX_KEY(0x06, 0x0c, KEY_RIGHT) /* 89 */ \
+ MATRIX_KEY(0x06, 0x0d, KEY_LEFTALT) /* 60 */ \
+ MATRIX_KEY(0x06, 0x0f, KEY_ASSISTANT) /* 128 */ \
+ MATRIX_KEY(0x06, 0x11, KEY_BACKSLASH) /* 42 (JIS, ISO) */ \
+ \
+ MATRIX_KEY(0x07, 0x01, KEY_U) /* 23 */ \
+ MATRIX_KEY(0x07, 0x02, KEY_I) /* 24 */ \
+ MATRIX_KEY(0x07, 0x03, KEY_O) /* 25 */ \
+ MATRIX_KEY(0x07, 0x04, KEY_P) /* 26 */ \
+ MATRIX_KEY(0x07, 0x05, KEY_Q) /* 17 */ \
+ MATRIX_KEY(0x07, 0x06, KEY_W) /* 18 */ \
+ MATRIX_KEY(0x07, 0x07, KEY_RIGHTSHIFT) /* 57 */ \
+ MATRIX_KEY(0x07, 0x08, KEY_E) /* 19 */ \
+ MATRIX_KEY(0x07, 0x09, KEY_R) /* 20 */ \
+ MATRIX_KEY(0x07, 0x0b, KEY_UP) /* 83 */ \
+ MATRIX_KEY(0x07, 0x0c, KEY_LEFT) /* 79 */ \
+ MATRIX_KEY(0x07, 0x11, KEY_102ND) /* 45 (ISO) */
+
#endif /* _CROS_EC_KEYBOARD_H */
--
2.45.1.467.gbab1589fc0-goog
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] dt-bindings: cros-ec-keyboard: Add keyboard matrix v3.0
2024-06-06 1:08 ` [PATCH 3/3] dt-bindings: " Daisuke Nojiri
@ 2024-06-06 6:27 ` Krzysztof Kozlowski
0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2024-06-06 6:27 UTC (permalink / raw)
To: Daisuke Nojiri
Cc: Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Benson Leung, Guenter Roeck, linux-input, devicetree,
chrome-platform, linux-kernel
On 06/06/2024 03:08, Daisuke Nojiri wrote:
> Add support for keyboard matrix version 3.0.
Not much improved.
>
> Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
This is a friendly reminder during the review process.
It seems my or other reviewer's previous comments were not fully
addressed. Maybe the feedback got lost between the quotes, maybe you
just forgot to apply it. Please go back to the previous discussion and
either implement all requested changes or keep discussing them.
Do not attach (thread) your patchsets to some other threads (unrelated
or older versions). This buries them deep in the mailbox and might
interfere with applying entire sets.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/3 v4] dt-bindings: cros-ec-keyboard: Add keyboard matrix v3.0
[not found] ` <20240606173509.243739-1-dnojiri@chromium.org>
@ 2024-06-06 17:34 ` Daisuke Nojiri
0 siblings, 0 replies; 8+ messages in thread
From: Daisuke Nojiri @ 2024-06-06 17:34 UTC (permalink / raw)
Cc: Daisuke Nojiri, Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Benson Leung, Guenter Roeck, linux-input,
devicetree, chrome-platform, linux-kernel
Add support for keyboard matrix version 3.0, which reduces keyboard
ghosting.
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
---
include/dt-bindings/input/cros-ec-keyboard.h | 104 +++++++++++++++++++
1 file changed, 104 insertions(+)
diff --git a/include/dt-bindings/input/cros-ec-keyboard.h b/include/dt-bindings/input/cros-ec-keyboard.h
index f0ae03634a96..afc12f6aa642 100644
--- a/include/dt-bindings/input/cros-ec-keyboard.h
+++ b/include/dt-bindings/input/cros-ec-keyboard.h
@@ -100,4 +100,108 @@
MATRIX_KEY(0x07, 0x0b, KEY_UP) \
MATRIX_KEY(0x07, 0x0c, KEY_LEFT)
+/* No numpad */
+#define CROS_TOP_ROW_KEYMAP_V30 \
+ MATRIX_KEY(0x00, 0x01, KEY_F11) /* T11 */ \
+ MATRIX_KEY(0x00, 0x02, KEY_F1) /* T1 */ \
+ MATRIX_KEY(0x00, 0x04, KEY_F10) /* T10 */ \
+ MATRIX_KEY(0x00, 0x0b, KEY_F14) /* T14 */ \
+ MATRIX_KEY(0x00, 0x0c, KEY_F15) /* T15 */ \
+ MATRIX_KEY(0x01, 0x02, KEY_F4) /* T4 */ \
+ MATRIX_KEY(0x01, 0x04, KEY_F7) /* T7 */ \
+ MATRIX_KEY(0x01, 0x05, KEY_F12) /* T12 */ \
+ MATRIX_KEY(0x01, 0x09, KEY_F9) /* T9 */ \
+ MATRIX_KEY(0x02, 0x02, KEY_F3) /* T3 */ \
+ MATRIX_KEY(0x02, 0x04, KEY_F6) /* T6 */ \
+ MATRIX_KEY(0x02, 0x0b, KEY_F8) /* T8 */ \
+ MATRIX_KEY(0x03, 0x02, KEY_F2) /* T2 */ \
+ MATRIX_KEY(0x03, 0x05, KEY_F13) /* T13 */ \
+ MATRIX_KEY(0x04, 0x04, KEY_F5) /* T5 */
+
+#define CROS_MAIN_KEYMAP_V30 /* Keycode */ \
+ MATRIX_KEY(0x00, 0x03, KEY_B) /* 50 */ \
+ MATRIX_KEY(0x00, 0x05, KEY_N) /* 51 */ \
+ MATRIX_KEY(0x00, 0x06, KEY_RO) /* 56 (JIS) */ \
+ MATRIX_KEY(0x00, 0x08, KEY_EQUAL) /* 13 */ \
+ MATRIX_KEY(0x00, 0x09, KEY_HOME) /* 80 (Numpad) */ \
+ MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT) /* 62 */ \
+ MATRIX_KEY(0x00, 0x10, KEY_FN) /* 127 */ \
+ \
+ MATRIX_KEY(0x01, 0x01, KEY_ESC) /* 110 */ \
+ MATRIX_KEY(0x01, 0x03, KEY_G) /* 35 */ \
+ MATRIX_KEY(0x01, 0x06, KEY_H) /* 36 */ \
+ MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE) /* 41 */ \
+ MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE) /* 15 */ \
+ MATRIX_KEY(0x01, 0x0c, KEY_HENKAN) /* 65 (JIS) */ \
+ MATRIX_KEY(0x01, 0x0e, KEY_LEFTCTRL) /* 58 */ \
+ \
+ MATRIX_KEY(0x02, 0x01, KEY_TAB) /* 16 */ \
+ MATRIX_KEY(0x02, 0x03, KEY_T) /* 21 */ \
+ MATRIX_KEY(0x02, 0x05, KEY_RIGHTBRACE) /* 28 */ \
+ MATRIX_KEY(0x02, 0x06, KEY_Y) /* 22 */ \
+ MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE) /* 27 */ \
+ MATRIX_KEY(0x02, 0x09, KEY_DELETE) /* 76 (Numpad) */ \
+ MATRIX_KEY(0x02, 0x0c, KEY_PAGEUP) /* 85 (Numpad) */ \
+ MATRIX_KEY(0x02, 0x011, KEY_YEN) /* 14 (JIS) */ \
+ \
+ MATRIX_KEY(0x03, 0x00, KEY_LEFTMETA) /* Launcher */ \
+ MATRIX_KEY(0x03, 0x01, KEY_GRAVE) /* 1 */ \
+ MATRIX_KEY(0x03, 0x03, KEY_5) /* 6 */ \
+ MATRIX_KEY(0x03, 0x04, KEY_S) /* 32 */ \
+ MATRIX_KEY(0x03, 0x06, KEY_MINUS) /* 12 */ \
+ MATRIX_KEY(0x03, 0x08, KEY_6) /* 7 */ \
+ MATRIX_KEY(0x03, 0x09, KEY_SLEEP) /* Lock */ \
+ MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH) /* 29 */ \
+ MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN) /* 63 (JIS) */ \
+ MATRIX_KEY(0x03, 0x0e, KEY_RIGHTCTRL) /* 64 */ \
+ \
+ MATRIX_KEY(0x04, 0x01, KEY_A) /* 31 */ \
+ MATRIX_KEY(0x04, 0x02, KEY_D) /* 33 */ \
+ MATRIX_KEY(0x04, 0x03, KEY_F) /* 34 */ \
+ MATRIX_KEY(0x04, 0x05, KEY_K) /* 38 */ \
+ MATRIX_KEY(0x04, 0x06, KEY_J) /* 37 */ \
+ MATRIX_KEY(0x04, 0x08, KEY_SEMICOLON) /* 40 */ \
+ MATRIX_KEY(0x04, 0x09, KEY_L) /* 39 */ \
+ MATRIX_KEY(0x04, 0x0b, KEY_ENTER) /* 43 */ \
+ MATRIX_KEY(0x04, 0x0c, KEY_END) /* 81 (Numpad) */ \
+ \
+ MATRIX_KEY(0x05, 0x01, KEY_1) /* 2 */ \
+ MATRIX_KEY(0x05, 0x02, KEY_COMMA) /* 53 */ \
+ MATRIX_KEY(0x05, 0x03, KEY_DOT) /* 54 */ \
+ MATRIX_KEY(0x05, 0x04, KEY_SLASH) /* 55 */ \
+ MATRIX_KEY(0x05, 0x05, KEY_C) /* 48 */ \
+ MATRIX_KEY(0x05, 0x06, KEY_SPACE) /* 61 */ \
+ MATRIX_KEY(0x05, 0x07, KEY_LEFTSHIFT) /* 44 */ \
+ MATRIX_KEY(0x05, 0x08, KEY_X) /* 47 */ \
+ MATRIX_KEY(0x05, 0x09, KEY_V) /* 49 */ \
+ MATRIX_KEY(0x05, 0x0b, KEY_M) /* 52 */ \
+ MATRIX_KEY(0x05, 0x0c, KEY_PAGEDOWN) /* 86 (Numpad) */ \
+ \
+ MATRIX_KEY(0x06, 0x01, KEY_Z) /* 46 */ \
+ MATRIX_KEY(0x06, 0x02, KEY_3) /* 4 */ \
+ MATRIX_KEY(0x06, 0x03, KEY_4) /* 5 */ \
+ MATRIX_KEY(0x06, 0x04, KEY_2) /* 3 */ \
+ MATRIX_KEY(0x06, 0x05, KEY_8) /* 9 */ \
+ MATRIX_KEY(0x06, 0x06, KEY_0) /* 11 */ \
+ MATRIX_KEY(0x06, 0x08, KEY_7) /* 8 */ \
+ MATRIX_KEY(0x06, 0x09, KEY_9) /* 10 */ \
+ MATRIX_KEY(0x06, 0x0b, KEY_DOWN) /* 84 */ \
+ MATRIX_KEY(0x06, 0x0c, KEY_RIGHT) /* 89 */ \
+ MATRIX_KEY(0x06, 0x0d, KEY_LEFTALT) /* 60 */ \
+ MATRIX_KEY(0x06, 0x0f, KEY_ASSISTANT) /* 128 */ \
+ MATRIX_KEY(0x06, 0x11, KEY_BACKSLASH) /* 42 (JIS, ISO) */ \
+ \
+ MATRIX_KEY(0x07, 0x01, KEY_U) /* 23 */ \
+ MATRIX_KEY(0x07, 0x02, KEY_I) /* 24 */ \
+ MATRIX_KEY(0x07, 0x03, KEY_O) /* 25 */ \
+ MATRIX_KEY(0x07, 0x04, KEY_P) /* 26 */ \
+ MATRIX_KEY(0x07, 0x05, KEY_Q) /* 17 */ \
+ MATRIX_KEY(0x07, 0x06, KEY_W) /* 18 */ \
+ MATRIX_KEY(0x07, 0x07, KEY_RIGHTSHIFT) /* 57 */ \
+ MATRIX_KEY(0x07, 0x08, KEY_E) /* 19 */ \
+ MATRIX_KEY(0x07, 0x09, KEY_R) /* 20 */ \
+ MATRIX_KEY(0x07, 0x0b, KEY_UP) /* 83 */ \
+ MATRIX_KEY(0x07, 0x0c, KEY_LEFT) /* 79 */ \
+ MATRIX_KEY(0x07, 0x11, KEY_102ND) /* 45 (ISO) */
+
#endif /* _CROS_EC_KEYBOARD_H */
--
2.45.2.505.gda0bf45e8d-goog
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 0/3 v4] Add cros-ec-keyboard v3.0
[not found] <20240604005354.2294468-1-dnojiri@chromium.org>
` (3 preceding siblings ...)
[not found] ` <20240606173509.243739-1-dnojiri@chromium.org>
@ 2024-06-06 17:40 ` Daisuke Nojiri
4 siblings, 0 replies; 8+ messages in thread
From: Daisuke Nojiri @ 2024-06-06 17:40 UTC (permalink / raw)
Cc: dmitry.torokhov, robh, krzk+dt, conor+dt, bleung, groeck,
linux-input, devicetree, chrome-platform, linux-kernel, pmalani,
swboyd, hverkuil-cisco, rekanorman, abhishekpandit, pholla,
chingkang, lma, Daisuke Nojiri
This patch series adds a support for cros-ec-keyboard v3.0, which uses a
reorganized and larger keyboard matrix thus also requires a protocol update.
---
Changes in v4:
- Change subject line: ARM:... to dt-bindings:...
- Add description about keyboard matrix v3.0.
- Add cover letter.
---
Changes in v3:
- Remove CROS_KBD_V30 in Kconfig and macros conditionally set in
cros-ec-keyboard.dtsi.
---
Changes in v2:
- Separate cros_ec_commands.h from cros_ec_proto.{c.h}.
- Remove Change-Id, TEST=, BUG= lines.
Daisuke Nojiri (3):
platform/chrome: Add struct ec_response_get_next_event_v3
platform/chrome: cros_ec_proto: Upgrade get_next_event to v3
dt-bindings: cros-ec-keyboard: Add keyboard matrix v3.0
drivers/platform/chrome/cros_ec_proto.c | 27 +++--
include/dt-bindings/input/cros-ec-keyboard.h | 104 ++++++++++++++++++
.../linux/platform_data/cros_ec_commands.h | 34 ++++++
include/linux/platform_data/cros_ec_proto.h | 2 +-
4 files changed, 157 insertions(+), 10 deletions(-)
--
2.45.2.505.gda0bf45e8d-goog
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-06-06 17:40 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20240604005354.2294468-1-dnojiri@chromium.org>
2024-06-04 17:09 ` [PATCH 3/3] ARM: dts: cros-ec-keyboard: Add keyboard matrix v3.0 Daisuke Nojiri
2024-06-04 19:09 ` Dmitry Torokhov
2024-06-04 23:09 ` Daisuke Nojiri
2024-06-06 0:24 ` Rob Herring
2024-06-06 1:08 ` [PATCH 3/3] dt-bindings: " Daisuke Nojiri
2024-06-06 6:27 ` Krzysztof Kozlowski
[not found] ` <20240606173509.243739-1-dnojiri@chromium.org>
2024-06-06 17:34 ` [PATCH 3/3 v4] " Daisuke Nojiri
2024-06-06 17:40 ` [PATCH 0/3 v4] Add cros-ec-keyboard v3.0 Daisuke Nojiri
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).