Merge tag 'pinctrl-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / input / matrix-keymap.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/input/matrix-keymap.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Common key matrices binding for matrix-connected key boards
8
9 maintainers:
10   - Olof Johansson <olof@lixom.net>
11
12 description: |
13   A simple common binding for matrix-connected key boards. Currently targeted at
14   defining the keys in the scope of linux key codes since that is a stable and
15   standardized interface at this time.
16
17   Some users of this binding might choose to specify secondary keymaps for
18   cases where there is a modifier key such as a Fn key. Proposed names
19   for said properties are "linux,fn-keymap" or with another descriptive
20   word for the modifier other from "Fn".
21
22 properties:
23   linux,keymap:
24     $ref: '/schemas/types.yaml#/definitions/uint32-array'
25     description: |
26       An array of packed 1-cell entries containing the equivalent of row,
27       column and linux key-code. The 32-bit big endian cell is packed as:
28           row << 24 | column << 16 | key-code
29
30   keypad,num-rows:
31     $ref: /schemas/types.yaml#/definitions/uint32
32     description: Number of row lines connected to the keypad controller.
33
34   keypad,num-columns:
35     $ref: /schemas/types.yaml#/definitions/uint32
36     description: Number of column lines connected to the keypad controller.
37
38 examples:
39   - |
40     keypad {
41         /* ... */
42         linux,keymap = < 0x00030012
43                          0x0102003a >;
44         keypad,num-rows = <2>;
45         keypad,num-columns = <8>;
46     };