Merge tag 'block-6.13-20242901' of git://git.kernel.dk/linux
[drm/drm-misc.git] / Documentation / devicetree / bindings / input / cirrus,ep9307-keypad.yaml
bloba0d2460c55ab6f4bac78baf928aa8626067347d1
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#
7 title: Cirrus ep93xx keypad
9 maintainers:
10   - Alexander Sverdlin <alexander.sverdlin@gmail.com>
12 allOf:
13   - $ref: /schemas/input/matrix-keymap.yaml#
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.
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
31   reg:
32     maxItems: 1
34   interrupts:
35     maxItems: 1
37   clocks:
38     maxItems: 1
40   debounce-delay-ms:
41     description: |
42           Time in microseconds that key must be pressed or
43           released for state change interrupt to trigger.
45   cirrus,prescale:
46     description: row/column counter pre-scaler load value
47     $ref: /schemas/types.yaml#/definitions/uint16
48     maximum: 1023
50 required:
51   - compatible
52   - reg
53   - interrupts
54   - clocks
55   - linux,keymap
57 unevaluatedProperties: false
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     };