162306a36Sopenharmony_ciQualcomm PM8xxx PMIC Keypad 262306a36Sopenharmony_ci 362306a36Sopenharmony_ciPROPERTIES 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci- compatible: 662306a36Sopenharmony_ci Usage: required 762306a36Sopenharmony_ci Value type: <string> 862306a36Sopenharmony_ci Definition: must be one of: 962306a36Sopenharmony_ci "qcom,pm8058-keypad" 1062306a36Sopenharmony_ci "qcom,pm8921-keypad" 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci- reg: 1362306a36Sopenharmony_ci Usage: required 1462306a36Sopenharmony_ci Value type: <prop-encoded-array> 1562306a36Sopenharmony_ci Definition: address of keypad control register 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci- interrupts: 1862306a36Sopenharmony_ci Usage: required 1962306a36Sopenharmony_ci Value type: <prop-encoded-array> 2062306a36Sopenharmony_ci Definition: the first interrupt specifies the key sense interrupt 2162306a36Sopenharmony_ci and the second interrupt specifies the key stuck interrupt. 2262306a36Sopenharmony_ci The format of the specifier is defined by the binding 2362306a36Sopenharmony_ci document describing the node's interrupt parent. 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci- linux,keymap: 2662306a36Sopenharmony_ci Usage: required 2762306a36Sopenharmony_ci Value type: <prop-encoded-array> 2862306a36Sopenharmony_ci Definition: the linux keymap. More information can be found in 2962306a36Sopenharmony_ci input/matrix-keymap.txt. 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci- linux,keypad-no-autorepeat: 3262306a36Sopenharmony_ci Usage: optional 3362306a36Sopenharmony_ci Value type: <bool> 3462306a36Sopenharmony_ci Definition: don't enable autorepeat feature. 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci- wakeup-source: 3762306a36Sopenharmony_ci Usage: optional 3862306a36Sopenharmony_ci Value type: <bool> 3962306a36Sopenharmony_ci Definition: use any event on keypad as wakeup event. 4062306a36Sopenharmony_ci (Legacy property supported: "linux,keypad-wakeup") 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci- keypad,num-rows: 4362306a36Sopenharmony_ci Usage: required 4462306a36Sopenharmony_ci Value type: <u32> 4562306a36Sopenharmony_ci Definition: number of rows in the keymap. More information can be found 4662306a36Sopenharmony_ci in input/matrix-keymap.txt. 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci- keypad,num-columns: 4962306a36Sopenharmony_ci Usage: required 5062306a36Sopenharmony_ci Value type: <u32> 5162306a36Sopenharmony_ci Definition: number of columns in the keymap. More information can be 5262306a36Sopenharmony_ci found in input/matrix-keymap.txt. 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci- debounce: 5562306a36Sopenharmony_ci Usage: optional 5662306a36Sopenharmony_ci Value type: <u32> 5762306a36Sopenharmony_ci Definition: time in microseconds that key must be pressed or release 5862306a36Sopenharmony_ci for key sense interrupt to trigger. 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci- scan-delay: 6162306a36Sopenharmony_ci Usage: optional 6262306a36Sopenharmony_ci Value type: <u32> 6362306a36Sopenharmony_ci Definition: time in microseconds to pause between successive scans 6462306a36Sopenharmony_ci of the matrix array. 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci- row-hold: 6762306a36Sopenharmony_ci Usage: optional 6862306a36Sopenharmony_ci Value type: <u32> 6962306a36Sopenharmony_ci Definition: time in nanoseconds to pause between scans of each row in 7062306a36Sopenharmony_ci the matrix array. 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ciEXAMPLE 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci keypad@148 { 7562306a36Sopenharmony_ci compatible = "qcom,pm8921-keypad"; 7662306a36Sopenharmony_ci reg = <0x148>; 7762306a36Sopenharmony_ci interrupt-parent = <&pmicintc>; 7862306a36Sopenharmony_ci interrupts = <74 1>, <75 1>; 7962306a36Sopenharmony_ci linux,keymap = < 8062306a36Sopenharmony_ci MATRIX_KEY(0, 0, KEY_VOLUMEUP) 8162306a36Sopenharmony_ci MATRIX_KEY(0, 1, KEY_VOLUMEDOWN) 8262306a36Sopenharmony_ci MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS) 8362306a36Sopenharmony_ci MATRIX_KEY(0, 3, KEY_CAMERA) 8462306a36Sopenharmony_ci >; 8562306a36Sopenharmony_ci keypad,num-rows = <1>; 8662306a36Sopenharmony_ci keypad,num-columns = <5>; 8762306a36Sopenharmony_ci debounce = <15>; 8862306a36Sopenharmony_ci scan-delay = <32>; 8962306a36Sopenharmony_ci row-hold = <91500>; 9062306a36Sopenharmony_ci }; 91