blob: ed3cfff13addc670b2cd1319e3f708c886362775 [file] [log] [blame]
Tom Rini6b642ac2024-10-01 12:20:28 -06001# 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 };