1Qualcomm PM8xxx PMIC Keypad 2 3PROPERTIES 4 5- compatible: 6 Usage: required 7 Value type: <string> 8 Definition: must be one of: 9 "qcom,pm8058-keypad" 10 "qcom,pm8921-keypad" 11 12- reg: 13 Usage: required 14 Value type: <prop-encoded-array> 15 Definition: address of keypad control register 16 17- interrupts: 18 Usage: required 19 Value type: <prop-encoded-array> 20 Definition: the first interrupt specifies the key sense interrupt 21 and the second interrupt specifies the key stuck interrupt. 22 The format of the specifier is defined by the binding 23 document describing the node's interrupt parent. 24 25- linux,keymap: 26 Usage: required 27 Value type: <prop-encoded-array> 28 Definition: the linux keymap. More information can be found in 29 input/matrix-keymap.txt. 30 31- linux,keypad-no-autorepeat: 32 Usage: optional 33 Value type: <bool> 34 Definition: don't enable autorepeat feature. 35 36- wakeup-source: 37 Usage: optional 38 Value type: <bool> 39 Definition: use any event on keypad as wakeup event. 40 (Legacy property supported: "linux,keypad-wakeup") 41 42- keypad,num-rows: 43 Usage: required 44 Value type: <u32> 45 Definition: number of rows in the keymap. More information can be found 46 in input/matrix-keymap.txt. 47 48- keypad,num-columns: 49 Usage: required 50 Value type: <u32> 51 Definition: number of columns in the keymap. More information can be 52 found in input/matrix-keymap.txt. 53 54- debounce: 55 Usage: optional 56 Value type: <u32> 57 Definition: time in microseconds that key must be pressed or release 58 for key sense interrupt to trigger. 59 60- scan-delay: 61 Usage: optional 62 Value type: <u32> 63 Definition: time in microseconds to pause between successive scans 64 of the matrix array. 65 66- row-hold: 67 Usage: optional 68 Value type: <u32> 69 Definition: time in nanoseconds to pause between scans of each row in 70 the matrix array. 71 72EXAMPLE 73 74 keypad@148 { 75 compatible = "qcom,pm8921-keypad"; 76 reg = <0x148>; 77 interrupt-parent = <&pmicintc>; 78 interrupts = <74 1>, <75 1>; 79 linux,keymap = < 80 MATRIX_KEY(0, 0, KEY_VOLUMEUP) 81 MATRIX_KEY(0, 1, KEY_VOLUMEDOWN) 82 MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS) 83 MATRIX_KEY(0, 3, KEY_CAMERA) 84 >; 85 keypad,num-rows = <1>; 86 keypad,num-columns = <5>; 87 debounce = <15>; 88 scan-delay = <32>; 89 row-hold = <91500>; 90 }; 91