]> git.ipfire.org Git - thirdparty/u-boot.git/blob - Bindings/input/qcom,pm8921-keypad.yaml
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / Bindings / input / qcom,pm8921-keypad.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/input/qcom,pm8921-keypad.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Qualcomm PM8921 PMIC KeyPad
8
9 maintainers:
10 - Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
11
12 allOf:
13 - $ref: input.yaml#
14 - $ref: matrix-keymap.yaml#
15
16 properties:
17 compatible:
18 enum:
19 - qcom,pm8058-keypad
20 - qcom,pm8921-keypad
21
22 reg:
23 maxItems: 1
24
25 interrupts:
26 items:
27 - description: key sense
28 - description: key stuck
29
30 wakeup-source:
31 type: boolean
32 description: use any event on keypad as wakeup event
33
34 linux,keypad-wakeup:
35 type: boolean
36 deprecated: true
37 description: legacy version of the wakeup-source property
38
39 debounce:
40 description:
41 Time in microseconds that key must be pressed or
42 released for state change interrupt to trigger.
43 $ref: /schemas/types.yaml#/definitions/uint32
44
45 scan-delay:
46 $ref: /schemas/types.yaml#/definitions/uint32
47 description: time in microseconds to pause between successive scans of the
48 matrix array
49
50 row-hold:
51 $ref: /schemas/types.yaml#/definitions/uint32
52 description: time in nanoseconds to pause between scans of each row in the
53 matrix array.
54
55 required:
56 - compatible
57 - reg
58 - interrupts
59 - linux,keymap
60
61 unevaluatedProperties: false
62
63 examples:
64 - |
65 #include <dt-bindings/input/input.h>
66 #include <dt-bindings/interrupt-controller/irq.h>
67 pmic {
68 #address-cells = <1>;
69 #size-cells = <0>;
70
71 keypad@148 {
72 compatible = "qcom,pm8921-keypad";
73 reg = <0x148>;
74 interrupt-parent = <&pmicintc>;
75 interrupts = <74 IRQ_TYPE_EDGE_RISING>, <75 IRQ_TYPE_EDGE_RISING>;
76 linux,keymap = <
77 MATRIX_KEY(0, 0, KEY_VOLUMEUP)
78 MATRIX_KEY(0, 1, KEY_VOLUMEDOWN)
79 MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS)
80 MATRIX_KEY(0, 3, KEY_CAMERA)
81 >;
82 keypad,num-rows = <1>;
83 keypad,num-columns = <5>;
84 debounce = <15>;
85 scan-delay = <32>;
86 row-hold = <91500>;
87 };
88 };
89 ...