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