Message ID | 20170714100151.31234-2-sebastian.reichel@collabora.co.uk (mailing list archive) |
---|---|
State | Under Review |
Headers | show |
On Fri, Jul 14, 2017 at 12:01:49PM +0200, Sebastian Reichel wrote: > Add DT binding document for PWM controlled vibrator devices. > > Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk> > --- > .../devicetree/bindings/input/pwm-vibrator.txt | 66 ++++++++++++++++++++++ > 1 file changed, 66 insertions(+) > create mode 100644 Documentation/devicetree/bindings/input/pwm-vibrator.txt Acked-by: Rob Herring <robh@kernel.org> -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri 2017-07-14 12:01:49, Sebastian Reichel wrote: > Add DT binding document for PWM controlled vibrator devices. > > Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk> Acked-by: Pavel Machek <pavel@ucw.cz> > index 000000000000..09145d18491d > --- /dev/null > +++ b/Documentation/devicetree/bindings/input/pwm-vibrator.txt > @@ -0,0 +1,66 @@ > +* PWM vibrator device tree bindings > + > +Registers a PWM device as vibrator. It is expected, that the vibrator's > +strength increases based on the duty cycle of the enable PWM channel > +(100% duty cycle meaning strongest vibration, 0% meaning no vibration). > + > +The binding supports an optional direction PWM channel, that can be > +driven at fixed duty cycle. If available this is can be used to increase > +the vibration effect of some devices. Actually what "direction" does would be nice to explain, because I don't know. Does it make the motor turn the other way around? > +Required properties: > +- compatible: should contain "pwm-vibrator" should->Should. > +- pwm-names: Should contain "enable" and optionally "direction" > +- pwms: Should contain a PWM handle for each entry in pwm-names > + > +Optional properties: > +- vcc-supply: Phandle for the regulator supplying power > +- direction-duty-cycle-ns: Duty cycle of the direction PWM channel in > + nanoseconds, defaults to 50% of the channel's > + period. Is nanoseconds right unit here? It drives a motor... Thanks, Pavel
Hi, On Mon, Jul 24, 2017 at 09:20:17PM +0200, Pavel Machek wrote: > On Fri 2017-07-14 12:01:49, Sebastian Reichel wrote: > > Add DT binding document for PWM controlled vibrator devices. > > > > Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk> > > Acked-by: Pavel Machek <pavel@ucw.cz> > > > index 000000000000..09145d18491d > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/input/pwm-vibrator.txt > > @@ -0,0 +1,66 @@ > > +* PWM vibrator device tree bindings > > + > > +Registers a PWM device as vibrator. It is expected, that the vibrator's > > +strength increases based on the duty cycle of the enable PWM channel > > +(100% duty cycle meaning strongest vibration, 0% meaning no vibration). > > + > > +The binding supports an optional direction PWM channel, that can be > > +driven at fixed duty cycle. If available this is can be used to increase > > +the vibration effect of some devices. > > Actually what "direction" does would be nice to explain, because I > don't know. Does it make the motor turn the other way around? Yes, at least that's how I understand it. IIUIC this will increase the imbalance effect and thus the vibration. > > +Required properties: > > +- compatible: should contain "pwm-vibrator" > > should->Should. > > > +- pwm-names: Should contain "enable" and optionally "direction" > > +- pwms: Should contain a PWM handle for each entry in pwm-names > > + > > +Optional properties: > > +- vcc-supply: Phandle for the regulator supplying power > > +- direction-duty-cycle-ns: Duty cycle of the direction PWM channel in > > + nanoseconds, defaults to 50% of the channel's > > + period. > > Is nanoseconds right unit here? It drives a motor... Yes, for the driving the motor the values will be very big and we could use milliseconds. But the PWM specifier [0] uses nanoseconds for the period and I think period and duty cycle should be described in the same scale. [0] Documentation/devicetree/bindings/pwm/pwm.txt -- Sebastian
diff --git a/Documentation/devicetree/bindings/input/pwm-vibrator.txt b/Documentation/devicetree/bindings/input/pwm-vibrator.txt new file mode 100644 index 000000000000..09145d18491d --- /dev/null +++ b/Documentation/devicetree/bindings/input/pwm-vibrator.txt @@ -0,0 +1,66 @@ +* PWM vibrator device tree bindings + +Registers a PWM device as vibrator. It is expected, that the vibrator's +strength increases based on the duty cycle of the enable PWM channel +(100% duty cycle meaning strongest vibration, 0% meaning no vibration). + +The binding supports an optional direction PWM channel, that can be +driven at fixed duty cycle. If available this is can be used to increase +the vibration effect of some devices. + +Required properties: +- compatible: should contain "pwm-vibrator" +- pwm-names: Should contain "enable" and optionally "direction" +- pwms: Should contain a PWM handle for each entry in pwm-names + +Optional properties: +- vcc-supply: Phandle for the regulator supplying power +- direction-duty-cycle-ns: Duty cycle of the direction PWM channel in + nanoseconds, defaults to 50% of the channel's + period. + +Example from Motorola Droid 4: + +&omap4_pmx_core { + vibrator_direction_pin: pinmux_vibrator_direction_pin { + pinctrl-single,pins = < + OMAP4_IOPAD(0x1ce, PIN_OUTPUT | MUX_MODE1) /* dmtimer8_pwm_evt (gpio_27) */ + >; + }; + + vibrator_enable_pin: pinmux_vibrator_enable_pin { + pinctrl-single,pins = < + OMAP4_IOPAD(0X1d0, PIN_OUTPUT | MUX_MODE1) /* dmtimer9_pwm_evt (gpio_28) */ + >; + }; +}; + +/ { + pwm8: dmtimer-pwm { + pinctrl-names = "default"; + pinctrl-0 = <&vibrator_direction_pin>; + + compatible = "ti,omap-dmtimer-pwm"; + #pwm-cells = <3>; + ti,timers = <&timer8>; + ti,clock-source = <0x01>; + }; + + pwm9: dmtimer-pwm { + pinctrl-names = "default"; + pinctrl-0 = <&vibrator_enable_pin>; + + compatible = "ti,omap-dmtimer-pwm"; + #pwm-cells = <3>; + ti,timers = <&timer9>; + ti,clock-source = <0x01>; + }; + + vibrator { + compatible = "pwm-vibrator"; + pwms = <&pwm8 0 1000000000 0>, + <&pwm9 0 1000000000 0>; + pwm-names = "enable", "direction"; + direction-duty-cycle-ns = <1000000000>; + }; +};
Add DT binding document for PWM controlled vibrator devices. Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk> --- .../devicetree/bindings/input/pwm-vibrator.txt | 66 ++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 Documentation/devicetree/bindings/input/pwm-vibrator.txt