90 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/input/qcom,pm8921-keypad.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Qualcomm PM8921 PMIC KeyPad8 9maintainers:10 - Dmitry Baryshkov <dmitry.baryshkov@linaro.org>11 12allOf:13 - $ref: input.yaml#14 - $ref: matrix-keymap.yaml#15 16properties:17 compatible:18 enum:19 - qcom,pm8058-keypad20 - qcom,pm8921-keypad21 22 reg:23 maxItems: 124 25 interrupts:26 items:27 - description: key sense28 - description: key stuck29 30 wakeup-source:31 type: boolean32 description: use any event on keypad as wakeup event33 34 linux,keypad-wakeup:35 type: boolean36 deprecated: true37 description: legacy version of the wakeup-source property38 39 debounce:40 description:41 Time in microseconds that key must be pressed or42 released for state change interrupt to trigger.43 $ref: /schemas/types.yaml#/definitions/uint3244 45 scan-delay:46 $ref: /schemas/types.yaml#/definitions/uint3247 description: time in microseconds to pause between successive scans of the48 matrix array49 50 row-hold:51 $ref: /schemas/types.yaml#/definitions/uint3252 description: time in nanoseconds to pause between scans of each row in the53 matrix array.54 55required:56 - compatible57 - reg58 - interrupts59 - linux,keymap60 61unevaluatedProperties: false62 63examples: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...90