| * 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 = <&pwm9 0 1000000000 0>, |
| <&pwm8 0 1000000000 0>; |
| pwm-names = "enable", "direction"; |
| direction-duty-cycle-ns = <1000000000>; |
| }; |
| }; |