18c2ecf20Sopenharmony_ciQualcomm PM8xxx PMIC Keypad 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciPROPERTIES 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci- compatible: 68c2ecf20Sopenharmony_ci Usage: required 78c2ecf20Sopenharmony_ci Value type: <string> 88c2ecf20Sopenharmony_ci Definition: must be one of: 98c2ecf20Sopenharmony_ci "qcom,pm8058-keypad" 108c2ecf20Sopenharmony_ci "qcom,pm8921-keypad" 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci- reg: 138c2ecf20Sopenharmony_ci Usage: required 148c2ecf20Sopenharmony_ci Value type: <prop-encoded-array> 158c2ecf20Sopenharmony_ci Definition: address of keypad control register 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci- interrupts: 188c2ecf20Sopenharmony_ci Usage: required 198c2ecf20Sopenharmony_ci Value type: <prop-encoded-array> 208c2ecf20Sopenharmony_ci Definition: the first interrupt specifies the key sense interrupt 218c2ecf20Sopenharmony_ci and the second interrupt specifies the key stuck interrupt. 228c2ecf20Sopenharmony_ci The format of the specifier is defined by the binding 238c2ecf20Sopenharmony_ci document describing the node's interrupt parent. 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci- linux,keymap: 268c2ecf20Sopenharmony_ci Usage: required 278c2ecf20Sopenharmony_ci Value type: <prop-encoded-array> 288c2ecf20Sopenharmony_ci Definition: the linux keymap. More information can be found in 298c2ecf20Sopenharmony_ci input/matrix-keymap.txt. 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci- linux,keypad-no-autorepeat: 328c2ecf20Sopenharmony_ci Usage: optional 338c2ecf20Sopenharmony_ci Value type: <bool> 348c2ecf20Sopenharmony_ci Definition: don't enable autorepeat feature. 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci- wakeup-source: 378c2ecf20Sopenharmony_ci Usage: optional 388c2ecf20Sopenharmony_ci Value type: <bool> 398c2ecf20Sopenharmony_ci Definition: use any event on keypad as wakeup event. 408c2ecf20Sopenharmony_ci (Legacy property supported: "linux,keypad-wakeup") 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci- keypad,num-rows: 438c2ecf20Sopenharmony_ci Usage: required 448c2ecf20Sopenharmony_ci Value type: <u32> 458c2ecf20Sopenharmony_ci Definition: number of rows in the keymap. More information can be found 468c2ecf20Sopenharmony_ci in input/matrix-keymap.txt. 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci- keypad,num-columns: 498c2ecf20Sopenharmony_ci Usage: required 508c2ecf20Sopenharmony_ci Value type: <u32> 518c2ecf20Sopenharmony_ci Definition: number of columns in the keymap. More information can be 528c2ecf20Sopenharmony_ci found in input/matrix-keymap.txt. 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ci- debounce: 558c2ecf20Sopenharmony_ci Usage: optional 568c2ecf20Sopenharmony_ci Value type: <u32> 578c2ecf20Sopenharmony_ci Definition: time in microseconds that key must be pressed or release 588c2ecf20Sopenharmony_ci for key sense interrupt to trigger. 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ci- scan-delay: 618c2ecf20Sopenharmony_ci Usage: optional 628c2ecf20Sopenharmony_ci Value type: <u32> 638c2ecf20Sopenharmony_ci Definition: time in microseconds to pause between successive scans 648c2ecf20Sopenharmony_ci of the matrix array. 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci- row-hold: 678c2ecf20Sopenharmony_ci Usage: optional 688c2ecf20Sopenharmony_ci Value type: <u32> 698c2ecf20Sopenharmony_ci Definition: time in nanoseconds to pause between scans of each row in 708c2ecf20Sopenharmony_ci the matrix array. 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_ciEXAMPLE 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_ci keypad@148 { 758c2ecf20Sopenharmony_ci compatible = "qcom,pm8921-keypad"; 768c2ecf20Sopenharmony_ci reg = <0x148>; 778c2ecf20Sopenharmony_ci interrupt-parent = <&pmicintc>; 788c2ecf20Sopenharmony_ci interrupts = <74 1>, <75 1>; 798c2ecf20Sopenharmony_ci linux,keymap = < 808c2ecf20Sopenharmony_ci MATRIX_KEY(0, 0, KEY_VOLUMEUP) 818c2ecf20Sopenharmony_ci MATRIX_KEY(0, 1, KEY_VOLUMEDOWN) 828c2ecf20Sopenharmony_ci MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS) 838c2ecf20Sopenharmony_ci MATRIX_KEY(0, 3, KEY_CAMERA) 848c2ecf20Sopenharmony_ci >; 858c2ecf20Sopenharmony_ci keypad,num-rows = <1>; 868c2ecf20Sopenharmony_ci keypad,num-columns = <5>; 878c2ecf20Sopenharmony_ci debounce = <15>; 888c2ecf20Sopenharmony_ci scan-delay = <32>; 898c2ecf20Sopenharmony_ci row-hold = <91500>; 908c2ecf20Sopenharmony_ci }; 91