Merge branch 'for-linus' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jikos...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / input / pwm-vibrator.txt
1 * PWM vibrator device tree bindings
2
3 Registers a PWM device as vibrator. It is expected, that the vibrator's
4 strength increases based on the duty cycle of the enable PWM channel
5 (100% duty cycle meaning strongest vibration, 0% meaning no vibration).
6
7 The binding supports an optional direction PWM channel, that can be
8 driven at fixed duty cycle. If available this is can be used to increase
9 the vibration effect of some devices.
10
11 Required properties:
12 - compatible: should contain "pwm-vibrator"
13 - pwm-names: Should contain "enable" and optionally "direction"
14 - pwms: Should contain a PWM handle for each entry in pwm-names
15
16 Optional properties:
17 - vcc-supply: Phandle for the regulator supplying power
18 - direction-duty-cycle-ns: Duty cycle of the direction PWM channel in
19                            nanoseconds, defaults to 50% of the channel's
20                            period.
21
22 Example from Motorola Droid 4:
23
24 &omap4_pmx_core {
25         vibrator_direction_pin: pinmux_vibrator_direction_pin {
26                 pinctrl-single,pins = <
27                 OMAP4_IOPAD(0x1ce, PIN_OUTPUT | MUX_MODE1) /* dmtimer8_pwm_evt (gpio_27) */
28                 >;
29         };
30
31         vibrator_enable_pin: pinmux_vibrator_enable_pin {
32                 pinctrl-single,pins = <
33                 OMAP4_IOPAD(0X1d0, PIN_OUTPUT | MUX_MODE1) /* dmtimer9_pwm_evt (gpio_28) */
34                 >;
35         };
36 };
37
38 / {
39         pwm8: dmtimer-pwm {
40                 pinctrl-names = "default";
41                 pinctrl-0 = <&vibrator_direction_pin>;
42
43                 compatible = "ti,omap-dmtimer-pwm";
44                 #pwm-cells = <3>;
45                 ti,timers = <&timer8>;
46                 ti,clock-source = <0x01>;
47         };
48
49         pwm9: dmtimer-pwm {
50                 pinctrl-names = "default";
51                 pinctrl-0 = <&vibrator_enable_pin>;
52
53                 compatible = "ti,omap-dmtimer-pwm";
54                 #pwm-cells = <3>;
55                 ti,timers = <&timer9>;
56                 ti,clock-source = <0x01>;
57         };
58
59         vibrator {
60                 compatible = "pwm-vibrator";
61                 pwms = <&pwm8 0 1000000000 0>,
62                        <&pwm9 0 1000000000 0>;
63                 pwm-names = "enable", "direction";
64                 direction-duty-cycle-ns = <1000000000>;
65         };
66 };