diff mbox

[U-Boot,v5,1/3] dts: Bring in Chrome OS keyboard device tree definition

Message ID 1417700190-19082-1-git-send-email-sjg@chromium.org
State Accepted
Delegated to: Simon Glass
Headers show

Commit Message

Simon Glass Dec. 4, 2014, 1:36 p.m. UTC
This will be used by nyan-big, but bring it in in a separate patch since it
will be common to other boards.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v5: None
Changes in v4: None
Changes in v3:
- Add patch to bring in cros-ec-keyboard.dtsi

Changes in v2: None

 arch/arm/dts/cros-ec-keyboard.dtsi | 105 +++++++++++++++++++++++++++++++++++++
 1 file changed, 105 insertions(+)
 create mode 100644 arch/arm/dts/cros-ec-keyboard.dtsi

Comments

Sjoerd Simons Dec. 5, 2014, 4:17 p.m. UTC | #1
Hey Simon,

On Thu, 2014-12-04 at 06:36 -0700, Simon Glass wrote:
> This will be used by nyan-big, but bring it in in a separate patch since it
> will be common to other boards.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

This will clash with the patch i sent last week to pull (sorry i didn't
see your v3 for this earlier)  in this dtsi & its documentation & fix
the existing exynos users/code to correctly use it.. 

I'm not very familiar with how the u-boot merging process works, so i
wonder how to best get these patches merged without unnecessary
conflicts between e.g. the samsung/tegra trees.

> 
> Changes in v5: None
> Changes in v4: None
> Changes in v3:
> - Add patch to bring in cros-ec-keyboard.dtsi
> 
> Changes in v2: None
> 
>  arch/arm/dts/cros-ec-keyboard.dtsi | 105 +++++++++++++++++++++++++++++++++++++
>  1 file changed, 105 insertions(+)
>  create mode 100644 arch/arm/dts/cros-ec-keyboard.dtsi
> 
> diff --git a/arch/arm/dts/cros-ec-keyboard.dtsi b/arch/arm/dts/cros-ec-keyboard.dtsi
> new file mode 100644
> index 0000000..9c7fb0a
> --- /dev/null
> +++ b/arch/arm/dts/cros-ec-keyboard.dtsi
> @@ -0,0 +1,105 @@
> +/*
> + * Keyboard dts fragment for devices that use cros-ec-keyboard
> + *
> + * Copyright (c) 2014 Google, Inc
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> +*/
> +
> +#include <dt-bindings/input/input.h>
> +
> +&cros_ec {
> +	keyboard-controller {
> +		compatible = "google,cros-ec-keyb";
> +		keypad,num-rows = <8>;
> +		keypad,num-columns = <13>;
> +		google,needs-ghost-filter;
> +
> +		linux,keymap = <
> +			MATRIX_KEY(0x00, 0x01, KEY_LEFTMETA)
> +			MATRIX_KEY(0x00, 0x02, KEY_F1)
> +			MATRIX_KEY(0x00, 0x03, KEY_B)
> +			MATRIX_KEY(0x00, 0x04, KEY_F10)
> +			MATRIX_KEY(0x00, 0x06, KEY_N)
> +			MATRIX_KEY(0x00, 0x08, KEY_EQUAL)
> +			MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT)
> +
> +			MATRIX_KEY(0x01, 0x01, KEY_ESC)
> +			MATRIX_KEY(0x01, 0x02, KEY_F4)
> +			MATRIX_KEY(0x01, 0x03, KEY_G)
> +			MATRIX_KEY(0x01, 0x04, KEY_F7)
> +			MATRIX_KEY(0x01, 0x06, KEY_H)
> +			MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE)
> +			MATRIX_KEY(0x01, 0x09, KEY_F9)
> +			MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE)
> +
> +			MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL)
> +			MATRIX_KEY(0x02, 0x01, KEY_TAB)
> +			MATRIX_KEY(0x02, 0x02, KEY_F3)
> +			MATRIX_KEY(0x02, 0x03, KEY_T)
> +			MATRIX_KEY(0x02, 0x04, KEY_F6)
> +			MATRIX_KEY(0x02, 0x05, KEY_RIGHTBRACE)
> +			MATRIX_KEY(0x02, 0x06, KEY_Y)
> +			MATRIX_KEY(0x02, 0x07, KEY_102ND)
> +			MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE)
> +			MATRIX_KEY(0x02, 0x09, KEY_F8)
> +
> +			MATRIX_KEY(0x03, 0x01, KEY_GRAVE)
> +			MATRIX_KEY(0x03, 0x02, KEY_F2)
> +			MATRIX_KEY(0x03, 0x03, KEY_5)
> +			MATRIX_KEY(0x03, 0x04, KEY_F5)
> +			MATRIX_KEY(0x03, 0x06, KEY_6)
> +			MATRIX_KEY(0x03, 0x08, KEY_MINUS)
> +			MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH)
> +
> +			MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL)
> +			MATRIX_KEY(0x04, 0x01, KEY_A)
> +			MATRIX_KEY(0x04, 0x02, KEY_D)
> +			MATRIX_KEY(0x04, 0x03, KEY_F)
> +			MATRIX_KEY(0x04, 0x04, KEY_S)
> +			MATRIX_KEY(0x04, 0x05, KEY_K)
> +			MATRIX_KEY(0x04, 0x06, KEY_J)
> +			MATRIX_KEY(0x04, 0x08, KEY_SEMICOLON)
> +			MATRIX_KEY(0x04, 0x09, KEY_L)
> +			MATRIX_KEY(0x04, 0x0a, KEY_BACKSLASH)
> +			MATRIX_KEY(0x04, 0x0b, KEY_ENTER)
> +
> +			MATRIX_KEY(0x05, 0x01, KEY_Z)
> +			MATRIX_KEY(0x05, 0x02, KEY_C)
> +			MATRIX_KEY(0x05, 0x03, KEY_V)
> +			MATRIX_KEY(0x05, 0x04, KEY_X)
> +			MATRIX_KEY(0x05, 0x05, KEY_COMMA)
> +			MATRIX_KEY(0x05, 0x06, KEY_M)
> +			MATRIX_KEY(0x05, 0x07, KEY_LEFTSHIFT)
> +			MATRIX_KEY(0x05, 0x08, KEY_SLASH)
> +			MATRIX_KEY(0x05, 0x09, KEY_DOT)
> +			MATRIX_KEY(0x05, 0x0b, KEY_SPACE)
> +
> +			MATRIX_KEY(0x06, 0x01, KEY_1)
> +			MATRIX_KEY(0x06, 0x02, KEY_3)
> +			MATRIX_KEY(0x06, 0x03, KEY_4)
> +			MATRIX_KEY(0x06, 0x04, KEY_2)
> +			MATRIX_KEY(0x06, 0x05, KEY_8)
> +			MATRIX_KEY(0x06, 0x06, KEY_7)
> +			MATRIX_KEY(0x06, 0x08, KEY_0)
> +			MATRIX_KEY(0x06, 0x09, KEY_9)
> +			MATRIX_KEY(0x06, 0x0a, KEY_LEFTALT)
> +			MATRIX_KEY(0x06, 0x0b, KEY_DOWN)
> +			MATRIX_KEY(0x06, 0x0c, KEY_RIGHT)
> +
> +			MATRIX_KEY(0x07, 0x01, KEY_Q)
> +			MATRIX_KEY(0x07, 0x02, KEY_E)
> +			MATRIX_KEY(0x07, 0x03, KEY_R)
> +			MATRIX_KEY(0x07, 0x04, KEY_W)
> +			MATRIX_KEY(0x07, 0x05, KEY_I)
> +			MATRIX_KEY(0x07, 0x06, KEY_U)
> +			MATRIX_KEY(0x07, 0x07, KEY_RIGHTSHIFT)
> +			MATRIX_KEY(0x07, 0x08, KEY_P)
> +			MATRIX_KEY(0x07, 0x09, KEY_O)
> +			MATRIX_KEY(0x07, 0x0b, KEY_UP)
> +			MATRIX_KEY(0x07, 0x0c, KEY_LEFT)
> +		>;
> +	};
> +};
Simon Glass Dec. 5, 2014, 4:26 p.m. UTC | #2
Hi,

On 5 December 2014 at 09:17, Sjoerd Simons
<sjoerd.simons@collabora.co.uk> wrote:
>
> Hey Simon,
>
> On Thu, 2014-12-04 at 06:36 -0700, Simon Glass wrote:
> > This will be used by nyan-big, but bring it in in a separate patch since it
> > will be common to other boards.
> >
> > Signed-off-by: Simon Glass <sjg@chromium.org>
>
> This will clash with the patch i sent last week to pull (sorry i didn't
> see your v3 for this earlier)  in this dtsi & its documentation & fix
> the existing exynos users/code to correctly use it..
>
> I'm not very familiar with how the u-boot merging process works, so i
> wonder how to best get these patches merged without unnecessary
> conflicts between e.g. the samsung/tegra trees.

It's a race! It will be pretty easy to drop whichever one we need to.
I haven't heard anything on the Tegra side.

Regards,
Simon
Simon Glass Dec. 11, 2014, 8:16 p.m. UTC | #3
On 5 December 2014 at 09:26, Simon Glass <sjg@chromium.org> wrote:
> Hi,
>
> On 5 December 2014 at 09:17, Sjoerd Simons
> <sjoerd.simons@collabora.co.uk> wrote:
>>
>> Hey Simon,
>>
>> On Thu, 2014-12-04 at 06:36 -0700, Simon Glass wrote:
>> > This will be used by nyan-big, but bring it in in a separate patch since it
>> > will be common to other boards.
>> >
>> > Signed-off-by: Simon Glass <sjg@chromium.org>
>>
>> This will clash with the patch i sent last week to pull (sorry i didn't
>> see your v3 for this earlier)  in this dtsi & its documentation & fix
>> the existing exynos users/code to correctly use it..
>>
>> I'm not very familiar with how the u-boot merging process works, so i
>> wonder how to best get these patches merged without unnecessary
>> conflicts between e.g. the samsung/tegra trees.
>
> It's a race! It will be pretty easy to drop whichever one we need to.
> I haven't heard anything on the Tegra side.
>
> Regards,
> Simon

As discussed with Tom Warren:

Applied to u-boot-dm.
diff mbox

Patch

diff --git a/arch/arm/dts/cros-ec-keyboard.dtsi b/arch/arm/dts/cros-ec-keyboard.dtsi
new file mode 100644
index 0000000..9c7fb0a
--- /dev/null
+++ b/arch/arm/dts/cros-ec-keyboard.dtsi
@@ -0,0 +1,105 @@ 
+/*
+ * Keyboard dts fragment for devices that use cros-ec-keyboard
+ *
+ * Copyright (c) 2014 Google, Inc
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+#include <dt-bindings/input/input.h>
+
+&cros_ec {
+	keyboard-controller {
+		compatible = "google,cros-ec-keyb";
+		keypad,num-rows = <8>;
+		keypad,num-columns = <13>;
+		google,needs-ghost-filter;
+
+		linux,keymap = <
+			MATRIX_KEY(0x00, 0x01, KEY_LEFTMETA)
+			MATRIX_KEY(0x00, 0x02, KEY_F1)
+			MATRIX_KEY(0x00, 0x03, KEY_B)
+			MATRIX_KEY(0x00, 0x04, KEY_F10)
+			MATRIX_KEY(0x00, 0x06, KEY_N)
+			MATRIX_KEY(0x00, 0x08, KEY_EQUAL)
+			MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT)
+
+			MATRIX_KEY(0x01, 0x01, KEY_ESC)
+			MATRIX_KEY(0x01, 0x02, KEY_F4)
+			MATRIX_KEY(0x01, 0x03, KEY_G)
+			MATRIX_KEY(0x01, 0x04, KEY_F7)
+			MATRIX_KEY(0x01, 0x06, KEY_H)
+			MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE)
+			MATRIX_KEY(0x01, 0x09, KEY_F9)
+			MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE)
+
+			MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL)
+			MATRIX_KEY(0x02, 0x01, KEY_TAB)
+			MATRIX_KEY(0x02, 0x02, KEY_F3)
+			MATRIX_KEY(0x02, 0x03, KEY_T)
+			MATRIX_KEY(0x02, 0x04, KEY_F6)
+			MATRIX_KEY(0x02, 0x05, KEY_RIGHTBRACE)
+			MATRIX_KEY(0x02, 0x06, KEY_Y)
+			MATRIX_KEY(0x02, 0x07, KEY_102ND)
+			MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE)
+			MATRIX_KEY(0x02, 0x09, KEY_F8)
+
+			MATRIX_KEY(0x03, 0x01, KEY_GRAVE)
+			MATRIX_KEY(0x03, 0x02, KEY_F2)
+			MATRIX_KEY(0x03, 0x03, KEY_5)
+			MATRIX_KEY(0x03, 0x04, KEY_F5)
+			MATRIX_KEY(0x03, 0x06, KEY_6)
+			MATRIX_KEY(0x03, 0x08, KEY_MINUS)
+			MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH)
+
+			MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL)
+			MATRIX_KEY(0x04, 0x01, KEY_A)
+			MATRIX_KEY(0x04, 0x02, KEY_D)
+			MATRIX_KEY(0x04, 0x03, KEY_F)
+			MATRIX_KEY(0x04, 0x04, KEY_S)
+			MATRIX_KEY(0x04, 0x05, KEY_K)
+			MATRIX_KEY(0x04, 0x06, KEY_J)
+			MATRIX_KEY(0x04, 0x08, KEY_SEMICOLON)
+			MATRIX_KEY(0x04, 0x09, KEY_L)
+			MATRIX_KEY(0x04, 0x0a, KEY_BACKSLASH)
+			MATRIX_KEY(0x04, 0x0b, KEY_ENTER)
+
+			MATRIX_KEY(0x05, 0x01, KEY_Z)
+			MATRIX_KEY(0x05, 0x02, KEY_C)
+			MATRIX_KEY(0x05, 0x03, KEY_V)
+			MATRIX_KEY(0x05, 0x04, KEY_X)
+			MATRIX_KEY(0x05, 0x05, KEY_COMMA)
+			MATRIX_KEY(0x05, 0x06, KEY_M)
+			MATRIX_KEY(0x05, 0x07, KEY_LEFTSHIFT)
+			MATRIX_KEY(0x05, 0x08, KEY_SLASH)
+			MATRIX_KEY(0x05, 0x09, KEY_DOT)
+			MATRIX_KEY(0x05, 0x0b, KEY_SPACE)
+
+			MATRIX_KEY(0x06, 0x01, KEY_1)
+			MATRIX_KEY(0x06, 0x02, KEY_3)
+			MATRIX_KEY(0x06, 0x03, KEY_4)
+			MATRIX_KEY(0x06, 0x04, KEY_2)
+			MATRIX_KEY(0x06, 0x05, KEY_8)
+			MATRIX_KEY(0x06, 0x06, KEY_7)
+			MATRIX_KEY(0x06, 0x08, KEY_0)
+			MATRIX_KEY(0x06, 0x09, KEY_9)
+			MATRIX_KEY(0x06, 0x0a, KEY_LEFTALT)
+			MATRIX_KEY(0x06, 0x0b, KEY_DOWN)
+			MATRIX_KEY(0x06, 0x0c, KEY_RIGHT)
+
+			MATRIX_KEY(0x07, 0x01, KEY_Q)
+			MATRIX_KEY(0x07, 0x02, KEY_E)
+			MATRIX_KEY(0x07, 0x03, KEY_R)
+			MATRIX_KEY(0x07, 0x04, KEY_W)
+			MATRIX_KEY(0x07, 0x05, KEY_I)
+			MATRIX_KEY(0x07, 0x06, KEY_U)
+			MATRIX_KEY(0x07, 0x07, KEY_RIGHTSHIFT)
+			MATRIX_KEY(0x07, 0x08, KEY_P)
+			MATRIX_KEY(0x07, 0x09, KEY_O)
+			MATRIX_KEY(0x07, 0x0b, KEY_UP)
+			MATRIX_KEY(0x07, 0x0c, KEY_LEFT)
+		>;
+	};
+};