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 devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html