xref: /linux/Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml (revision 3663e2c4bc45fcdc71931fcbfcbfbf9b71f55c83)
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/input/cirrus,cs40l50.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Cirrus Logic CS40L50 Advanced Haptic Driver
8
9maintainers:
10  - James Ogletree <jogletre@opensource.cirrus.com>
11
12description:
13  CS40L50 is a haptic driver with waveform memory,
14  integrated DSP, and closed-loop algorithms.
15
16properties:
17  compatible:
18    enum:
19      - cirrus,cs40l50
20
21  reg:
22    maxItems: 1
23
24  interrupts:
25    maxItems: 1
26
27  reset-gpios:
28    maxItems: 1
29
30  vdd-a-supply:
31    description: Power supply for internal analog circuits.
32
33  vdd-p-supply:
34    description: Power supply for always-on circuits.
35
36  vdd-io-supply:
37    description: Power supply for digital input/output.
38
39  vdd-b-supply:
40    description: Power supply for the boost converter.
41
42required:
43  - compatible
44  - reg
45  - interrupts
46  - reset-gpios
47  - vdd-io-supply
48
49additionalProperties: false
50
51examples:
52  - |
53    #include <dt-bindings/gpio/gpio.h>
54    #include <dt-bindings/interrupt-controller/irq.h>
55
56    i2c {
57      #address-cells = <1>;
58      #size-cells = <0>;
59
60      haptic-driver@34 {
61        compatible = "cirrus,cs40l50";
62        reg = <0x34>;
63        interrupt-parent = <&gpio>;
64        interrupts = <113 IRQ_TYPE_LEVEL_LOW>;
65        reset-gpios = <&gpio 112 GPIO_ACTIVE_LOW>;
66        vdd-io-supply = <&vreg>;
67      };
68    };
69