Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/input/cirrus,ep9307-keypad.yaml
26308 views
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 <alexander.sverdlin@gmail.com>
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
};
88
89