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