Kernel-4.18.0-80.el8_qcom,pm8xxx-keypa

Qualcomm PM8xxx PMIC Keypad

PROPERTIES

  • compatible:
    Usage: required
    Value type:
    Definition: must be one of:

          "qcom,pm8058-keypad"
          "qcom,pm8921-keypad"
    
  • reg:
    Usage: required
    Value type:
    Definition: address of keypad control register

  • interrupts:
    Usage: required
    Value type:
    Definition: the first interrupt specifies the key sense interrupt

          and the second interrupt specifies the key stuck interrupt.
          The format of the specifier is defined by the binding
          document describing the node's interrupt parent.
    
  • linux,keymap:
    Usage: required
    Value type:
    Definition: the linux keymap. More information can be found in

          input/matrix-keymap.txt.
    
  • linux,keypad-no-autorepeat:
    Usage: optional
    Value type:
    Definition: don’t enable autorepeat feature.

  • wakeup-source:
    Usage: optional
    Value type:
    Definition: use any event on keypad as wakeup event.

          (Legacy property supported: "linux,keypad-wakeup")
    
  • keypad,num-rows:
    Usage: required
    Value type:
    Definition: number of rows in the keymap. More information can be found

          in input/matrix-keymap.txt.
    
  • keypad,num-columns:
    Usage: required
    Value type:
    Definition: number of columns in the keymap. More information can be

          found in input/matrix-keymap.txt.
    
  • debounce:
    Usage: optional
    Value type:
    Definition: time in microseconds that key must be pressed or release

          for key sense interrupt to trigger.
    
  • scan-delay:
    Usage: optional
    Value type:
    Definition: time in microseconds to pause between successive scans

          of the matrix array.
    
  • row-hold:
    Usage: optional
    Value type:
    Definition: time in nanoseconds to pause between scans of each row in

          the matrix array.
    

EXAMPLE

keypad@148 {
    compatible = "qcom,pm8921-keypad";
    reg = <0x148>;
    interrupt-parent = <&pmicintc>;
    interrupts = <74 1>, <75 1>;
    linux,keymap = <
        MATRIX_KEY(0, 0, KEY_VOLUMEUP)
        MATRIX_KEY(0, 1, KEY_VOLUMEDOWN)
        MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS)
        MATRIX_KEY(0, 3, KEY_CAMERA)
        >;
    keypad,num-rows = <1>;
    keypad,num-columns = <5>;
    debounce = <15>;
    scan-delay = <32>;
    row-hold = <91500>;
};