* [PATCH v4 7/9] devicetree: bindings: Document PM8921/8058 keypads
2014-02-28 1:55 [PATCH v4 0/9] Use regmap+devm+DT in pm8xxx input drivers Stephen Boyd
@ 2014-02-28 1:55 ` Stephen Boyd
2014-02-28 13:55 ` Josh Cartwright
2014-02-28 1:55 ` [PATCH v4 8/9] devicetree: bindings: Document PM8921/8058 power keys Stephen Boyd
2014-02-28 1:55 ` [PATCH v4 9/9] devicetree: bindings: Document PM8921/8058 vibrators Stephen Boyd
2 siblings, 1 reply; 7+ messages in thread
From: Stephen Boyd @ 2014-02-28 1:55 UTC (permalink / raw)
To: Dmitry Torokhov
Cc: linux-kernel, linux-arm-msm, linux-arm-kernel, Josh Cartwright,
linux-input, devicetree
Document the keypad device found on PM8921 and PM8058 PMICs.
Cc: <devicetree@vger.kernel.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
.../bindings/input/qcom,pm8xxx-keypad.txt | 72 ++++++++++++++++++++++
1 file changed, 72 insertions(+)
create mode 100644 Documentation/devicetree/bindings/input/qcom,pm8xxx-keypad.txt
diff --git a/Documentation/devicetree/bindings/input/qcom,pm8xxx-keypad.txt b/Documentation/devicetree/bindings/input/qcom,pm8xxx-keypad.txt
new file mode 100644
index 000000000000..aa5a9c6cf512
--- /dev/null
+++ 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.
+
+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>;
+ };
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v4 7/9] devicetree: bindings: Document PM8921/8058 keypads
2014-02-28 1:55 ` [PATCH v4 7/9] devicetree: bindings: Document PM8921/8058 keypads Stephen Boyd
@ 2014-02-28 13:55 ` Josh Cartwright
2014-02-28 18:37 ` Stephen Boyd
0 siblings, 1 reply; 7+ messages in thread
From: Josh Cartwright @ 2014-02-28 13:55 UTC (permalink / raw)
To: Stephen Boyd
Cc: Dmitry Torokhov, linux-kernel, linux-arm-msm, linux-arm-kernel,
linux-input, devicetree
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v4 7/9] devicetree: bindings: Document PM8921/8058 keypads
2014-02-28 13:55 ` Josh Cartwright
@ 2014-02-28 18:37 ` Stephen Boyd
2014-02-28 19:11 ` Josh Cartwright
0 siblings, 1 reply; 7+ messages in thread
From: Stephen Boyd @ 2014-02-28 18:37 UTC (permalink / raw)
To: Josh Cartwright
Cc: Dmitry Torokhov, linux-kernel, linux-arm-msm, linux-arm-kernel,
linux-input, devicetree
On 02/28, Josh Cartwright wrote:
> On Thu, Feb 27, 2014 at 05:55:18PM -0800, Stephen Boyd wrote:
>
> - linux,wakeup?
> - linux,no-auto-repeat?
Added.
>
> > +
> > +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...
>
Agreed. I would love it if the platform OF code would create
IORESOURCE_REG resources for any reg properties that aren't
translatable to CPU addresses. That way we don't have to pick out
the reg property from DT with special OF code (like you've done
in rtc-pm8xxx). I'll throw the reg property into the binding so
that in the future we can support the register moving around
(although at the moment the driver will ignore it).
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v4 7/9] devicetree: bindings: Document PM8921/8058 keypads
2014-02-28 18:37 ` Stephen Boyd
@ 2014-02-28 19:11 ` Josh Cartwright
0 siblings, 0 replies; 7+ messages in thread
From: Josh Cartwright @ 2014-02-28 19:11 UTC (permalink / raw)
To: Stephen Boyd
Cc: Josh Cartwright, Dmitry Torokhov, linux-kernel, linux-arm-msm,
linux-arm-kernel, linux-input, devicetree
On Fri, Feb 28, 2014 at 10:37:08AM -0800, Stephen Boyd wrote:
> On 02/28, Josh Cartwright wrote:
> > On Thu, Feb 27, 2014 at 05:55:18PM -0800, Stephen Boyd wrote:
> > > +
> > > +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...
> >
>
> Agreed. I would love it if the platform OF code would create
> IORESOURCE_REG resources for any reg properties that aren't
> translatable to CPU addresses. That way we don't have to pick out the
> reg property from DT with special OF code (like you've done in
> rtc-pm8xxx).
Yes, I agree this would be nice. The rtc-pm8xxx register parsing magic
is misplaced/ugly. I'll see about taking a crack at this and seeing
what it looks like.
> I'll throw the reg property into the binding so that in
> the future we can support the register moving around (although at the
> moment the driver will ignore it).
Great, I think this sounds good.
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v4 8/9] devicetree: bindings: Document PM8921/8058 power keys
2014-02-28 1:55 [PATCH v4 0/9] Use regmap+devm+DT in pm8xxx input drivers Stephen Boyd
2014-02-28 1:55 ` [PATCH v4 7/9] devicetree: bindings: Document PM8921/8058 keypads Stephen Boyd
@ 2014-02-28 1:55 ` Stephen Boyd
2014-02-28 1:55 ` [PATCH v4 9/9] devicetree: bindings: Document PM8921/8058 vibrators Stephen Boyd
2 siblings, 0 replies; 7+ messages in thread
From: Stephen Boyd @ 2014-02-28 1:55 UTC (permalink / raw)
To: Dmitry Torokhov
Cc: linux-kernel, linux-arm-msm, linux-arm-kernel, Josh Cartwright,
linux-input, devicetree
Document the power key found on PM8921 and PM8058 PMICs.
Cc: <devicetree@vger.kernel.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
.../bindings/input/qcom,pm8xxx-pwrkey.txt | 39 ++++++++++++++++++++++
1 file changed, 39 insertions(+)
create mode 100644 Documentation/devicetree/bindings/input/qcom,pm8xxx-pwrkey.txt
diff --git a/Documentation/devicetree/bindings/input/qcom,pm8xxx-pwrkey.txt b/Documentation/devicetree/bindings/input/qcom,pm8xxx-pwrkey.txt
new file mode 100644
index 000000000000..e124d9f33632
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/qcom,pm8xxx-pwrkey.txt
@@ -0,0 +1,39 @@
+Qualcomm PM8xxx PMIC Power Key
+
+PROPERTIES
+
+- compatible:
+ Usage: required
+ Value type: <string>
+ Definition: must be one of:
+ "qcom,pm8058-pwrkey"
+ "qcom,pm8921-pwrkey"
+- interrupts:
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: the first interrupt specifies the key release interrupt
+ and the second interrupt specifies the key press interrupt.
+ The format of the specifier is defined by the binding
+ document describing the node's interrupt parent.
+
+- debounce:
+ Usage: optional
+ Value type: <u32>
+ Definition: time in microseconds that key must be pressed or release
+ for state change interrupt to trigger.
+
+- pull-up:
+ Usage: optional
+ Value type: <empty>
+ Definition: presence of this property indicates that the KPDPWR_N pin
+ should be configured for pull up.
+
+EXAMPLE
+
+ pwrkey {
+ compatible = "qcom,pm8921-pwrkey";
+ interrupt-parent = <&pmicintc>;
+ interrupts = <50 1>, <51 1>;
+ debounce = <15625>;
+ pull-up;
+ };
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v4 9/9] devicetree: bindings: Document PM8921/8058 vibrators
2014-02-28 1:55 [PATCH v4 0/9] Use regmap+devm+DT in pm8xxx input drivers Stephen Boyd
2014-02-28 1:55 ` [PATCH v4 7/9] devicetree: bindings: Document PM8921/8058 keypads Stephen Boyd
2014-02-28 1:55 ` [PATCH v4 8/9] devicetree: bindings: Document PM8921/8058 power keys Stephen Boyd
@ 2014-02-28 1:55 ` Stephen Boyd
2 siblings, 0 replies; 7+ messages in thread
From: Stephen Boyd @ 2014-02-28 1:55 UTC (permalink / raw)
To: Dmitry Torokhov
Cc: linux-kernel, linux-arm-msm, linux-arm-kernel, Josh Cartwright,
linux-input, devicetree
Document the vibration device found on PM8921 and PM8058 PMICs.
Cc: <devicetree@vger.kernel.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
.../devicetree/bindings/input/qcom,pm8xxx-vib.txt | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
create mode 100644 Documentation/devicetree/bindings/input/qcom,pm8xxx-vib.txt
diff --git a/Documentation/devicetree/bindings/input/qcom,pm8xxx-vib.txt b/Documentation/devicetree/bindings/input/qcom,pm8xxx-vib.txt
new file mode 100644
index 000000000000..dca1b8872cf1
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/qcom,pm8xxx-vib.txt
@@ -0,0 +1,16 @@
+Qualcomm PM8xxx PMIC Vibrator
+
+PROPERTIES
+
+- compatible:
+ Usage: required
+ Value type: <string>
+ Definition: must be one of:
+ "qcom,pm8058-vib"
+ "qcom,pm8921-vib"
+
+EXAMPLE
+
+ vibrator {
+ compatible = "qcom,pm8058-vib";
+ };
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
^ permalink raw reply related [flat|nested] 7+ messages in thread