devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 1/2] dt-bindings: input: cros-ec-keyb: Add a new property
@ 2021-01-15  2:30 Philip Chen
  2021-01-15  2:38 ` Stephen Boyd
  0 siblings, 1 reply; 3+ messages in thread
From: Philip Chen @ 2021-01-15  2:30 UTC (permalink / raw)
  To: LKML, dmitry.torokhov
  Cc: swboyd, dianders, Philip Chen, Benson Leung,
	Enric Balletbo i Serra, Guenter Roeck, Rob Herring, Simon Glass,
	devicetree, linux-input

Add a new property `function-row-physmap` to the
device tree for the custom keyboard top row design.

The property describes the rows/columns of the top row keys
from left to right.

Signed-off-by: Philip Chen <philipchen@chromium.org>
---

Changes in v6:
- remove $ref and add `function-row-physmap` to the example

Changes in v5:
- add minItems and maxItems for `function-row-physmap`

Changes in v2:
- add `function-row-physmap` instead of `google,custom-keyb-top-row`

 .../bindings/input/google,cros-ec-keyb.yaml   | 23 +++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
index 8e50c14a9d778..a742b0777ee6d 100644
--- a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
+++ b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
@@ -31,6 +31,17 @@ properties:
       if the EC does not have its own logic or hardware for this.
     type: boolean
 
+  function-row-physmap:
+    minItems: 1
+    maxItems: 15
+    description: |
+      An ordered u32 array describing the rows/columns (in the scan matrix)
+      of top row keys from physical left (KEY_F1) to right. Each entry
+      encodes the row/column as:
+      (((row) & 0xFF) << 24) | (((column) & 0xFF) << 16)
+      where the lower 16 bits are reserved. This property is specified only
+      when the keyboard has a custom design for the top row keys.
+
 required:
   - compatible
 
@@ -43,6 +54,18 @@ examples:
         keypad,num-rows = <8>;
         keypad,num-columns = <13>;
         google,needs-ghost-filter;
+        function-row-physmap = <
+                0x00020000      /* T1 */
+                0x03020000      /* T2 */
+                0x02020000      /* T3 */
+                0x01020000      /* T4 */
+                0x03040000      /* T5 */
+                0x02040000      /* T6 */
+                0x01040000      /* T7 */
+                0x02090000      /* T8 */
+                0x01090000      /* T9 */
+                0x00040000      /* T10 */
+        >;
         /*
          * Keymap entries take the form of 0xRRCCKKKK where
          * RR=Row CC=Column KKKK=Key Code
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: input: cros-ec-keyb: Add a new property
  2021-01-15  2:30 [PATCH v6 1/2] dt-bindings: input: cros-ec-keyb: Add a new property Philip Chen
@ 2021-01-15  2:38 ` Stephen Boyd
  2021-01-15 20:23   ` Philip Chen
  0 siblings, 1 reply; 3+ messages in thread
From: Stephen Boyd @ 2021-01-15  2:38 UTC (permalink / raw)
  To: LKML, Philip Chen, dmitry.torokhov
  Cc: dianders, Philip Chen, Benson Leung, Enric Balletbo i Serra,
	Guenter Roeck, Rob Herring, Simon Glass, devicetree, linux-input

Quoting Philip Chen (2021-01-14 18:30:30)
> Add a new property `function-row-physmap` to the
> device tree for the custom keyboard top row design.
> 
> The property describes the rows/columns of the top row keys
> from left to right.
> 
> Signed-off-by: Philip Chen <philipchen@chromium.org>

Reviewed-by: Stephen Boyd <swboyd@chromium.org>

One nit below.

> diff --git a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> index 8e50c14a9d778..a742b0777ee6d 100644
> --- a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> +++ b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> @@ -43,6 +54,18 @@ examples:
>          keypad,num-rows = <8>;
>          keypad,num-columns = <13>;
>          google,needs-ghost-filter;
> +        function-row-physmap = <
> +                0x00020000      /* T1 */
> +                0x03020000      /* T2 */
> +                0x02020000      /* T3 */
> +                0x01020000      /* T4 */
> +                0x03040000      /* T5 */
> +                0x02040000      /* T6 */
> +                0x01040000      /* T7 */
> +                0x02090000      /* T8 */
> +                0x01090000      /* T9 */
> +                0x00040000      /* T10 */

Can we include the header file for MATRIX_KEY so we can use the macro
here?

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v6 1/2] dt-bindings: input: cros-ec-keyb: Add a new property
  2021-01-15  2:38 ` Stephen Boyd
@ 2021-01-15 20:23   ` Philip Chen
  0 siblings, 0 replies; 3+ messages in thread
From: Philip Chen @ 2021-01-15 20:23 UTC (permalink / raw)
  To: Stephen Boyd
  Cc: LKML, Dmitry Torokhov, Douglas Anderson, Benson Leung,
	Enric Balletbo i Serra, Guenter Roeck, Rob Herring, Simon Glass,
	devicetree, linux-input

On Thu, Jan 14, 2021 at 6:38 PM Stephen Boyd <swboyd@chromium.org> wrote:
>
> Quoting Philip Chen (2021-01-14 18:30:30)
> > Add a new property `function-row-physmap` to the
> > device tree for the custom keyboard top row design.
> >
> > The property describes the rows/columns of the top row keys
> > from left to right.
> >
> > Signed-off-by: Philip Chen <philipchen@chromium.org>
>
> Reviewed-by: Stephen Boyd <swboyd@chromium.org>
>
> One nit below.
>
> > diff --git a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> > index 8e50c14a9d778..a742b0777ee6d 100644
> > --- a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> > +++ b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> > @@ -43,6 +54,18 @@ examples:
> >          keypad,num-rows = <8>;
> >          keypad,num-columns = <13>;
> >          google,needs-ghost-filter;
> > +        function-row-physmap = <
> > +                0x00020000      /* T1 */
> > +                0x03020000      /* T2 */
> > +                0x02020000      /* T3 */
> > +                0x01020000      /* T4 */
> > +                0x03040000      /* T5 */
> > +                0x02040000      /* T6 */
> > +                0x01040000      /* T7 */
> > +                0x02090000      /* T8 */
> > +                0x01090000      /* T9 */
> > +                0x00040000      /* T10 */
>
> Can we include the header file for MATRIX_KEY so we can use the macro
> here?
Sure.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-01-15 20:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-15  2:30 [PATCH v6 1/2] dt-bindings: input: cros-ec-keyb: Add a new property Philip Chen
2021-01-15  2:38 ` Stephen Boyd
2021-01-15 20:23   ` Philip Chen

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).