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  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
44required:
45  - compatible
46  - pwm-names
47  - pwms
48
49additionalProperties: false
50
51examples:
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    };
60