GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / input / pwm-vibrator.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: "http://devicetree.org/schemas/input/pwm-vibrator.yaml#"
5 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
6
7 title: PWM vibrator
8
9 maintainers:
10   - Sebastian Reichel <sre@kernel.org>
11
12 description: >
13   Registers a PWM device as vibrator. It is expected, that the vibrator's
14   strength increases based on the duty cycle of the enable PWM channel
15   (100% duty cycle meaning strongest vibration, 0% meaning no vibration).
16
17   The binding supports an optional direction PWM channel, that can be
18   driven at fixed duty cycle. If available this is can be used to increase
19   the vibration effect of some devices.
20
21 properties:
22   compatible:
23     const: pwm-vibrator
24
25   pwm-names:
26     items:
27       - const: enable
28       - const: direction
29     minItems: 1
30
31   pwms:
32     minItems: 1
33     maxItems: 2
34
35   vcc-supply: true
36
37   direction-duty-cycle-ns:
38     description: >
39       Duty cycle of the direction PWM channel in nanoseconds,
40       defaults to 50% of the channel's period.
41
42 required:
43   - compatible
44   - pwm-names
45   - pwms
46
47 additionalProperties: false
48
49 examples:
50   - |
51     vibrator {
52         compatible = "pwm-vibrator";
53         pwms = <&pwm9 0 1000000000 0>,
54                <&pwm8 0 1000000000 0>;
55         pwm-names = "enable", "direction";
56         direction-duty-cycle-ns = <1000000000>;
57     };