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
7title: PWM vibrator
8
9maintainers:
10  - Sebastian Reichel <sre@kernel.org>
11
12description: >
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
21properties:
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
42required:
43  - compatible
44  - pwm-names
45  - pwms
46
47additionalProperties: false
48
49examples:
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    };
58