diff mbox series

[v5,1/2] dt-bindings: input: cros-ec-keyb: Add a new property

Message ID 20210113172450.v5.1.I025fb861cd5fa0ef5286b7dce514728e9df7ae74@changeid (mailing list archive)
State Superseded
Headers show
Series [v5,1/2] dt-bindings: input: cros-ec-keyb: Add a new property | expand

Commit Message

Philip Chen Jan. 14, 2021, 1:25 a.m. UTC
This patch adds 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 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          | 12 ++++++++++++
 1 file changed, 12 insertions(+)

Comments

Philip Chen Jan. 14, 2021, 5:47 a.m. UTC | #1
On Wed, Jan 13, 2021 at 5:30 PM Stephen Boyd <swboyd@chromium.org> wrote:
>
> Quoting Philip Chen (2021-01-13 17:25:12)
> > This patch adds a new property `function-row-physmap` to the
>
> :)
Sorry, I'll make it imperative tense.
>
> > 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 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          | 12 ++++++++++++
> >  1 file changed, 12 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..e573ef3e58b65 100644
> > --- a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> > +++ b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
> > @@ -31,6 +31,18 @@ properties:
> >        if the EC does not have its own logic or hardware for this.
> >      type: boolean
> >
> > +  function-row-physmap:
> > +    $ref: '/schemas/types.yaml#/definitions/uint32-array'
>
> I'm not sure this is needed if min/max items is there.
>
> > +    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.
>
> Can you add it to the example so it can be tested? Then you can prove
> out if the ref is needed or not.
Sure, I'll give it a try.
>
> > +
> >  required:
> >    - compatible
> >
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
index 8e50c14a9d778..e573ef3e58b65 100644
--- a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
+++ b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml
@@ -31,6 +31,18 @@  properties:
       if the EC does not have its own logic or hardware for this.
     type: boolean
 
+  function-row-physmap:
+    $ref: '/schemas/types.yaml#/definitions/uint32-array'
+    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