Re: [PATCHv4 1/3] dt-bindings: input: add pwm-vibrator
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> > Acked-by: Pavel Machek > > > index ..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 signature.asc Description: PGP signature
Re: [PATCHv4 1/3] dt-bindings: input: add pwm-vibrator
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 > > Acked-by: Pavel Machek > > > index ..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 signature.asc Description: PGP signature
Re: [PATCHv4 1/3] dt-bindings: input: add pwm-vibrator
On Fri 2017-07-14 12:01:49, Sebastian Reichel wrote: > Add DT binding document for PWM controlled vibrator devices. > > Signed-off-by: Sebastian ReichelAcked-by: Pavel Machek > index ..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 -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html signature.asc Description: Digital signature
Re: [PATCHv4 1/3] dt-bindings: input: add pwm-vibrator
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 Acked-by: Pavel Machek > index ..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 -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html signature.asc Description: Digital signature
Re: [PATCHv4 1/3] dt-bindings: input: add pwm-vibrator
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> --- > .../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
Re: [PATCHv4 1/3] dt-bindings: input: add pwm-vibrator
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 > --- > .../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
[PATCHv4 1/3] dt-bindings: input: add pwm-vibrator
Add DT binding document for PWM controlled vibrator devices. Signed-off-by: Sebastian Reichel--- .../devicetree/bindings/input/pwm-vibrator.txt | 66 ++ 1 file changed, 66 insertions(+) create mode 100644 Documentation/devicetree/bindings/input/pwm-vibrator.txt diff --git a/Documentation/devicetree/bindings/input/pwm-vibrator.txt b/Documentation/devicetree/bindings/input/pwm-vibrator.txt new file mode 100644 index ..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: + +_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 = <_direction_pin>; + + compatible = "ti,omap-dmtimer-pwm"; + #pwm-cells = <3>; + ti,timers = <>; + ti,clock-source = <0x01>; + }; + + pwm9: dmtimer-pwm { + pinctrl-names = "default"; + pinctrl-0 = <_enable_pin>; + + compatible = "ti,omap-dmtimer-pwm"; + #pwm-cells = <3>; + ti,timers = <>; + ti,clock-source = <0x01>; + }; + + vibrator { + compatible = "pwm-vibrator"; + pwms = < 0 10 0>, + < 0 10 0>; + pwm-names = "enable", "direction"; + direction-duty-cycle-ns = <10>; + }; +}; -- 2.13.2
[PATCHv4 1/3] dt-bindings: input: add pwm-vibrator
Add DT binding document for PWM controlled vibrator devices. Signed-off-by: Sebastian Reichel --- .../devicetree/bindings/input/pwm-vibrator.txt | 66 ++ 1 file changed, 66 insertions(+) create mode 100644 Documentation/devicetree/bindings/input/pwm-vibrator.txt diff --git a/Documentation/devicetree/bindings/input/pwm-vibrator.txt b/Documentation/devicetree/bindings/input/pwm-vibrator.txt new file mode 100644 index ..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: + +_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 = <_direction_pin>; + + compatible = "ti,omap-dmtimer-pwm"; + #pwm-cells = <3>; + ti,timers = <>; + ti,clock-source = <0x01>; + }; + + pwm9: dmtimer-pwm { + pinctrl-names = "default"; + pinctrl-0 = <_enable_pin>; + + compatible = "ti,omap-dmtimer-pwm"; + #pwm-cells = <3>; + ti,timers = <>; + ti,clock-source = <0x01>; + }; + + vibrator { + compatible = "pwm-vibrator"; + pwms = < 0 10 0>, + < 0 10 0>; + pwm-names = "enable", "direction"; + direction-duty-cycle-ns = <10>; + }; +}; -- 2.13.2