1# Copyright (c) 2024 Cirrus Logic, Inc.
2# SPDX-License-Identifier: Apache-2.0
3
4description: |
5  DRV2605 Haptic Driver for ERM and LRA with built-in library and smart-loop
6  architecture.
7
8compatible: "ti,drv2605"
9
10include: i2c-device.yaml
11
12properties:
13  actuator-mode:
14    required: true
15    type: string
16    enum:
17      - "ERM"
18      - "LRA"
19  feedback-brake-factor:
20    type: string
21    enum:
22      - "1X"
23      - "2X"
24      - "3X"
25      - "4X"
26      - "6X"
27      - "8X"
28      - "16X"
29      - "DISABLED"
30    default: "3X"
31    description: |
32      Selects the feedback gain ratio between braking gain and driving gain.
33      According to the datasheet, a value of 2 ("3X") is valid for most
34      actuators.
35  loop-gain:
36    type: string
37    enum:
38      - "LOW"
39      - "MEDIUM"
40      - "HIGH"
41      - "VERY_HIGH"
42    default: "HIGH"
43    description: |
44      Selects a loop gain for the feedback control. According to the datasheet,
45      a value of 2 ("HIGH") is valid for most actuators.
46  vib-rated-mv:
47    type: int
48    default: 3200
49    description: |
50      Sets the reference voltage for full-scale output during closed-loop
51      operation. The default value is inherited from ti,drv260x.yaml in Linux.
52  vib-overdrive-mv:
53    type: int
54    default: 3200
55    description: |
56      Sets a clamp so that the automatic overdrive is bounded. The default
57      value is inherited from ti,drv260x.yaml in Linux.
58  en-gpios:
59    type: phandle-array
60    description: GPIO to enable and disable the device.
61  in-trig-gpios:
62    type: phandle-array
63    description: GPIO to trigger ROM waveforms or drive an input signal.
64