Linux 6.7-rc7
[linux-modified.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   enable-gpios: true
36
37   vcc-supply: true
38
39   direction-duty-cycle-ns:
40     description: >
41       Duty cycle of the direction PWM channel in nanoseconds,
42       defaults to 50% of the channel's period.
43
44 required:
45   - compatible
46   - pwm-names
47   - pwms
48
49 additionalProperties: false
50
51 examples:
52   - |
53     vibrator {
54         compatible = "pwm-vibrator";
55         pwms = <&pwm9 0 1000000000 0>,
56                <&pwm8 0 1000000000 0>;
57         pwm-names = "enable", "direction";
58         direction-duty-cycle-ns = <1000000000>;
59     };