diff mbox series

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

Message ID 20210113172450.v5.1.I025fb861cd5fa0ef5286b7dce514728e9df7ae74@changeid
State New
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

Stephen Boyd Jan. 14, 2021, 1:30 a.m. UTC | #1
Quoting Philip Chen (2021-01-13 17:25:12)
> 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(+)
> 
> 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.

> +
>  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