On Thu, Feb 27, 2014 at 05:55:18PM -0800, Stephen Boyd wrote:
> Document the keypad device found on PM8921 and PM8058 PMICs.
[..]
> +++ b/Documentation/devicetree/bindings/input/qcom,pm8xxx-keypad.txt
> @@ -0,0 +1,72 @@
> +Qualcomm PM8xxx PMIC Keypad
> +
> +PROPERTIES
> +
> +- compatible:
> +     Usage: required
> +     Value type: <string>
> +     Definition: must be one of:
> +                 "qcom,pm8058-keypad"
> +                 "qcom,pm8921-keypad"
> +- interrupts:
> +     Usage: required
> +     Value type: <prop-encoded-array>
> +     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: <prop-encoded-array>
> +     Definition: the linux keymap. More information can be found in
> +                 input/matrix-keymap.txt.
> +
> +- keypad,num-rows:
> +     Usage: required
> +     Value type: <u32>
> +     Definition: number of rows in the keymap. More information can be found
> +                 in input/matrix-keymap.txt.
> +
> +- keypad,num-columns:
> +     Usage: required
> +     Value type: <u32>
> +     Definition: number of columns in the keymap. More information can be
> +                 found in input/matrix-keymap.txt.
> +
> +- debounce:
> +     Usage: optional
> +     Value type: <u32>
> +     Definition: time in microseconds that key must be pressed or release
> +                 for key sense interrupt to trigger.
> +
> +- scan-delay:
> +     Usage: optional
> +     Value type: <u32>
> +     Definition: time in microseconds to pause between successive scans
> +                 of the matrix array.
> +
> +- row-hold:
> +     Usage: optional
> +     Value type: <u32>
> +     Definition: time in nanoseconds to pause between scans of each row in
> +                 the matrix array.

- linux,wakeup?
- linux,no-auto-repeat?

> +
> +EXAMPLE
> +
> +     keypad {
> +             compatible = "qcom,pm8921-keypad";
> +             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>;
> +     };

It odd to me that these newly created bindings don't have 'reg'
properties, even though the device clearly has a register region.

I suppose it makes sense from a "port over from platform data to DT"
perspective, as these drivers have just assumed the location of their
registers to be fixed; however I suspect things will need to be changed
if/when we hope to share these drivers with pm8841/pm8941 and beyond...

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to