Merge tag 'block-6.13-20242901' of git://git.kernel.dk/linux
[drm/drm-misc.git] / Documentation / devicetree / bindings / input / qcom,pm8921-keypad.yaml
blob88764adcd6963e003baed9295c12b59ddc08cb30
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#
7 title: Qualcomm PM8921 PMIC KeyPad
9 maintainers:
10   - Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
12 allOf:
13   - $ref: input.yaml#
14   - $ref: matrix-keymap.yaml#
16 properties:
17   compatible:
18     enum:
19       - qcom,pm8058-keypad
20       - qcom,pm8921-keypad
22   reg:
23     maxItems: 1
25   interrupts:
26     items:
27       - description: key sense
28       - description: key stuck
30   wakeup-source:
31     type: boolean
32     description: use any event on keypad as wakeup event
34   linux,keypad-wakeup:
35     type: boolean
36     deprecated: true
37     description: legacy version of the wakeup-source property
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
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
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.
55 required:
56   - compatible
57   - reg
58   - interrupts
59   - linux,keymap
61 unevaluatedProperties: false
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>;
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 ...