Commit 639d6eda authored by Anson Huang's avatar Anson Huang Committed by Rob Herring
Browse files

dt-bindings: input: Convert matrix-keymap to json-schema



Convert the matrix-keymap binding to DT schema format using json-schema

Signed-off-by: default avatarAnson Huang <Anson.Huang@nxp.com>
Link: https://lore.kernel.org/r/1592285467-18371-1-git-send-email-Anson.Huang@nxp.com


Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent 4bdc4434
Loading
Loading
Loading
Loading
+1 −27
Original line number Diff line number Diff line
A simple common binding for matrix-connected key boards. Currently targeted at
defining the keys in the scope of linux key codes since that is a stable and
standardized interface at this time.

Required properties:
- linux,keymap: an array of packed 1-cell entries containing the equivalent
  of row, column and linux key-code. The 32-bit big endian cell is packed
  as:
	row << 24 | column << 16 | key-code

Optional properties:
Properties for the number of rows and columns are optional because some
drivers will use fixed values for these.
- keypad,num-rows: Number of row lines connected to the keypad controller.
- keypad,num-columns: Number of column lines connected to the keypad
  controller.

Some users of this binding might choose to specify secondary keymaps for
cases where there is a modifier key such as a Fn key. Proposed names
for said properties are "linux,fn-keymap" or with another descriptive
word for the modifier other from "Fn".

Example:
	linux,keymap = < 0x00030012
			 0x0102003a >;
	keypad,num-rows = <2>;
	keypad,num-columns = <8>;
This file has been moved to matrix-keymap.yaml
+46 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/input/matrix-keymap.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Common key matrices binding for matrix-connected key boards

maintainers:
  - Olof Johansson <olof@lixom.net>

description: |
  A simple common binding for matrix-connected key boards. Currently targeted at
  defining the keys in the scope of linux key codes since that is a stable and
  standardized interface at this time.

  Some users of this binding might choose to specify secondary keymaps for
  cases where there is a modifier key such as a Fn key. Proposed names
  for said properties are "linux,fn-keymap" or with another descriptive
  word for the modifier other from "Fn".

properties:
  linux,keymap:
    $ref: '/schemas/types.yaml#/definitions/uint32-array'
    description: |
      An array of packed 1-cell entries containing the equivalent of row,
      column and linux key-code. The 32-bit big endian cell is packed as:
          row << 24 | column << 16 | key-code

  keypad,num-rows:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Number of row lines connected to the keypad controller.

  keypad,num-columns:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Number of column lines connected to the keypad controller.

examples:
  - |
    keypad {
        /* ... */
        linux,keymap = < 0x00030012
                         0x0102003a >;
        keypad,num-rows = <2>;
        keypad,num-columns = <8>;
    };