Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4
5$id: http://devicetree.org/schemas/input/gpio-matrix-keypad.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: GPIO matrix keypad
9
10maintainers:
11 - Marek Vasut <marek.vasut@gmail.com>
12
13description:
14 GPIO driven matrix keypad is used to interface a SoC with a matrix keypad.
15 The matrix keypad supports multiple row and column lines, a key can be
16 placed at each intersection of a unique row and a unique column. The matrix
17 keypad can sense a key-press and key-release by means of GPIO lines and
18 report the event using GPIO interrupts to the cpu.
19
20allOf:
21 - $ref: /schemas/input/matrix-keymap.yaml#
22
23properties:
24 compatible:
25 const: gpio-matrix-keypad
26
27 row-gpios:
28 description:
29 List of GPIOs used as row lines. The gpio specifier for this property
30 depends on the gpio controller to which these row lines are connected.
31
32 col-gpios:
33 description:
34 List of GPIOs used as column lines. The gpio specifier for this property
35 depends on the gpio controller to which these column lines are connected.
36
37 linux,keymap: true
38
39 linux,no-autorepeat:
40 type: boolean
41 description: Do not enable autorepeat feature.
42
43 gpio-activelow:
44 type: boolean
45 description:
46 Force GPIO polarity to active low.
47 In the absence of this property GPIOs are treated as active high.
48
49 debounce-delay-ms:
50 description: Debounce interval in milliseconds.
51 default: 0
52
53 col-scan-delay-us:
54 description:
55 Delay, measured in microseconds, that is needed
56 before we can scan keypad after activating column gpio.
57 default: 0
58
59 all-cols-on-delay-us:
60 description:
61 Delay, measured in microseconds, that is needed
62 after activating all column gpios.
63 default: 0
64
65 drive-inactive-cols:
66 type: boolean
67 description:
68 Drive inactive columns during scan,
69 default is to turn inactive columns into inputs.
70
71 wakeup-source: true
72
73required:
74 - compatible
75 - row-gpios
76 - col-gpios
77 - linux,keymap
78
79additionalProperties: false
80
81examples:
82 - |
83 matrix-keypad {
84 compatible = "gpio-matrix-keypad";
85 debounce-delay-ms = <5>;
86 col-scan-delay-us = <2>;
87
88 row-gpios = <&gpio2 25 0
89 &gpio2 26 0
90 &gpio2 27 0>;
91
92 col-gpios = <&gpio2 21 0
93 &gpio2 22 0>;
94
95 linux,keymap = <0x0000008B
96 0x0100009E
97 0x02000069
98 0x0001006A
99 0x0101001C
100 0x0201006C>;
101
102 wakeup-source;
103 };