Skip to content

Commit 9cefdd1

Browse files
maquefelarndb
authored andcommitted
dt-bindings: input: Add Cirrus EP93xx keypad
Add YAML bindings for ep93xx SoC keypad. Signed-off-by: Nikita Shubin <[email protected]> Tested-by: Alexander Sverdlin <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Reviewed-by: Guenter Roeck <[email protected]> Acked-by: Miquel Raynal <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]>
1 parent 9963113 commit 9cefdd1

File tree

1 file changed

+87
-0
lines changed

1 file changed

+87
-0
lines changed
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/input/cirrus,ep9307-keypad.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Cirrus ep93xx keypad
8+
9+
maintainers:
10+
- Alexander Sverdlin <[email protected]>
11+
12+
allOf:
13+
- $ref: /schemas/input/matrix-keymap.yaml#
14+
15+
description:
16+
The KPP is designed to interface with a keypad matrix with 2-point contact
17+
or 3-point contact keys. The KPP is designed to simplify the software task
18+
of scanning a keypad matrix. The KPP is capable of detecting, debouncing,
19+
and decoding one or multiple keys pressed simultaneously on a keypad.
20+
21+
properties:
22+
compatible:
23+
oneOf:
24+
- const: cirrus,ep9307-keypad
25+
- items:
26+
- enum:
27+
- cirrus,ep9312-keypad
28+
- cirrus,ep9315-keypad
29+
- const: cirrus,ep9307-keypad
30+
31+
reg:
32+
maxItems: 1
33+
34+
interrupts:
35+
maxItems: 1
36+
37+
clocks:
38+
maxItems: 1
39+
40+
debounce-delay-ms:
41+
description: |
42+
Time in microseconds that key must be pressed or
43+
released for state change interrupt to trigger.
44+
45+
cirrus,prescale:
46+
description: row/column counter pre-scaler load value
47+
$ref: /schemas/types.yaml#/definitions/uint16
48+
maximum: 1023
49+
50+
required:
51+
- compatible
52+
- reg
53+
- interrupts
54+
- clocks
55+
- linux,keymap
56+
57+
unevaluatedProperties: false
58+
59+
examples:
60+
- |
61+
#include <dt-bindings/input/input.h>
62+
#include <dt-bindings/clock/cirrus,ep9301-syscon.h>
63+
keypad@800f0000 {
64+
compatible = "cirrus,ep9307-keypad";
65+
reg = <0x800f0000 0x0c>;
66+
interrupt-parent = <&vic0>;
67+
interrupts = <29>;
68+
clocks = <&eclk EP93XX_CLK_KEYPAD>;
69+
pinctrl-names = "default";
70+
pinctrl-0 = <&keypad_default_pins>;
71+
linux,keymap = <KEY_UP>,
72+
<KEY_DOWN>,
73+
<KEY_VOLUMEDOWN>,
74+
<KEY_HOME>,
75+
<KEY_RIGHT>,
76+
<KEY_LEFT>,
77+
<KEY_ENTER>,
78+
<KEY_VOLUMEUP>,
79+
<KEY_F6>,
80+
<KEY_F8>,
81+
<KEY_F9>,
82+
<KEY_F10>,
83+
<KEY_F1>,
84+
<KEY_F2>,
85+
<KEY_F3>,
86+
<KEY_POWER>;
87+
};

0 commit comments

Comments
 (0)