xref: /linux/Documentation/devicetree/bindings/input/ti,nspire-keypad.yaml (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/input/ti,nspire-keypad.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: TI-NSPIRE Keypad
8
9maintainers:
10  - Andrew Davis <afd@ti.com>
11
12allOf:
13  - $ref: input.yaml#
14  - $ref: matrix-keymap.yaml#
15
16properties:
17  compatible:
18    enum:
19      - ti,nspire-keypad
20
21  reg:
22    maxItems: 1
23
24  interrupts:
25    maxItems: 1
26
27  clocks:
28    maxItems: 1
29
30  scan-interval:
31    $ref: /schemas/types.yaml#/definitions/uint32
32    description: How often to scan in us. Based on a APB speed of 33MHz, the
33      maximum and minimum delay time is ~2000us and ~500us respectively
34
35  row-delay:
36    $ref: /schemas/types.yaml#/definitions/uint32
37    description: How long to wait between scanning each row in us.
38
39  active-low:
40    description: Specify that the keypad is active low.
41
42required:
43  - compatible
44  - reg
45  - interrupts
46  - clocks
47  - scan-interval
48  - row-delay
49  - linux,keymap
50
51unevaluatedProperties: false
52
53examples:
54  - |
55    #include <dt-bindings/input/input.h>
56    keypad@900e0000 {
57        compatible = "ti,nspire-keypad";
58        reg = <0x900e0000 0x1000>;
59        interrupts = <16>;
60
61        clocks = <&apb_pclk>;
62
63        scan-interval = <1000>;
64        row-delay = <200>;
65
66        linux,keymap = <
67            MATRIX_KEY(0,  0, KEY_ENTER)
68            MATRIX_KEY(0,  1, KEY_ENTER)
69            MATRIX_KEY(0,  4, KEY_SPACE)
70            MATRIX_KEY(0,  5, KEY_Z)
71            MATRIX_KEY(0,  6, KEY_Y)
72            MATRIX_KEY(0,  7, KEY_0)
73        >;
74    };
75