diff mbox series

[1/3] dt-bindings: pwm: msm-vibrator: new bindings for MSM vibrator driver

Message ID 20180919150912.8948-2-masneyb@onstation.org
State Superseded
Headers show
Series treewide: add vibrator support for various MSM SOCs | expand

Commit Message

Brian Masney Sept. 19, 2018, 3:09 p.m. UTC
This patch adds the device tree bindings for the pwm-msm-vibrator.c
driver that supports the vibrator found on various Qualcomm MSM SOCs.

Signed-off-by: Brian Masney <masneyb@onstation.org>
---
 .../bindings/pwm/pwm-msm-vibrator.txt         | 38 +++++++++++++++++++
 1 file changed, 38 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/pwm/pwm-msm-vibrator.txt

Comments

Brian Masney Sept. 25, 2018, 8:40 p.m. UTC | #1
Hi Rob,

On Mon, Sep 24, 2018 at 03:01:11PM -0700, Rob Herring wrote:
> On Wed, Sep 19, 2018 at 11:09:10AM -0400, Brian Masney wrote:
> > This patch adds the device tree bindings for the pwm-msm-vibrator.c
> > driver that supports the vibrator found on various Qualcomm MSM SOCs.
> 
> Bindings are for h/w, not some driver.

OK, I will fix this and the other references in v2.

> > +Required properties:
> > +
> > +  - compatible: Should be one of
> > +		"qcom,msm8226-pwm-vibrator"
> > +		"qcom,msm8974-pwm-vibrator"
> 
> The block only works for a vibrator?

Yes.

I cannot find a publicly-available datasheet for the MSM8974 to see if
there are other uses for this particular PWM available. The only thing
that I have to work with right now is the downstream Android sources at
https://android.googlesource.com/kernel/msm/+/android-msm-lenok-3.10-lollipop-wear-release/drivers/misc/msm_pwm_vibrator.c.

> > +  - reg: the base address and length of the IO memory for the registers.
> > +  - #pwm-cells: set to 3.
> > +  - pinctrl-names: set to default.
> > +  - pinctrl-0: phandles pointing to pin configuration nodes. See
> > +               Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
> > +  - clock-names: set to pwm
> > +  - clocks: phandle of the clock used by the PWM module. See
> > +            Documentation/devicetree/bindings/clock/clock-bindings.txt
> > +  - enable-gpios: GPIO that enables the vibrator.
> 
> Shouldn't this go in the vibrator node as it is connected to the 
> vibrator.

This should be labeled "GPIO that enables the PWM".

Brian


> > +
> > +Optional properties:
> > +
> > +  - vcc-supply: phandle to the regulator that provides power to the sensor.
> > +
> > +Example from a LG Nexus 5 (hammerhead) phone:
> > +
> > +msm_pwm_vibrator_enable: msm_pwm_vibrator@fd8c3450 {
> 
> pwm@...
> 
> > +	reg = <0xfd8c3450 0x400>;
> > +	compatible = "qcom,msm8974-pwm-vibrator";
> > +	#pwm-cells = <3>;
> > +
> > +	vcc-supply = <&pm8941_l19>;
> > +
> > +	clocks = <&mmcc CAMSS_GP1_CLK>;
> > +	clock-names = "pwm";
> > +
> > +	enable-gpios = <&msmgpio 60 GPIO_ACTIVE_HIGH>;
> > +
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&vibrator_pin>;
> > +};
> > -- 
> > 2.17.1
> >
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/pwm/pwm-msm-vibrator.txt b/Documentation/devicetree/bindings/pwm/pwm-msm-vibrator.txt
new file mode 100644
index 000000000000..4638a25345f9
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/pwm-msm-vibrator.txt
@@ -0,0 +1,38 @@ 
+* PWM driver for the vibrator found on various MSM SOCs.
+
+Required properties:
+
+  - compatible: Should be one of
+		"qcom,msm8226-pwm-vibrator"
+		"qcom,msm8974-pwm-vibrator"
+  - reg: the base address and length of the IO memory for the registers.
+  - #pwm-cells: set to 3.
+  - pinctrl-names: set to default.
+  - pinctrl-0: phandles pointing to pin configuration nodes. See
+               Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
+  - clock-names: set to pwm
+  - clocks: phandle of the clock used by the PWM module. See
+            Documentation/devicetree/bindings/clock/clock-bindings.txt
+  - enable-gpios: GPIO that enables the vibrator.
+
+Optional properties:
+
+  - vcc-supply: phandle to the regulator that provides power to the sensor.
+
+Example from a LG Nexus 5 (hammerhead) phone:
+
+msm_pwm_vibrator_enable: msm_pwm_vibrator@fd8c3450 {
+	reg = <0xfd8c3450 0x400>;
+	compatible = "qcom,msm8974-pwm-vibrator";
+	#pwm-cells = <3>;
+
+	vcc-supply = <&pm8941_l19>;
+
+	clocks = <&mmcc CAMSS_GP1_CLK>;
+	clock-names = "pwm";
+
+	enable-gpios = <&msmgpio 60 GPIO_ACTIVE_HIGH>;
+
+	pinctrl-names = "default";
+	pinctrl-0 = <&vibrator_pin>;
+};