blob: c6245c5b9e2e6a0b75a4190fadc64da8adb4d100 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/input/ti,drv260x.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Texas Instruments - drv260x Haptics driver family
8
9maintainers:
10 - Andrew Davis <afd@ti.com>
11
12properties:
13 compatible:
14 enum:
15 - ti,drv2604
16 - ti,drv2605
17 - ti,drv2605l
18
19 reg:
20 maxItems: 1
21
22 vbat-supply:
23 description: Power supply to the haptic motor
24
25 # TODO: Deprecate 'mode' in favor of differently named property
26 mode:
27 $ref: /schemas/types.yaml#/definitions/uint32
28 description: |
29 Power up mode of the chip
30 (defined in include/dt-bindings/input/ti-drv260x.h)
31
32 DRV260X_LRA_MODE
33 Linear Resonance Actuator mode (Piezoelectric)
34
35 DRV260X_LRA_NO_CAL_MODE
36 This is a LRA Mode but there is no calibration sequence during init.
37 And the device is configured for real time playback mode (RTP mode).
38
39 DRV260X_ERM_MODE
40 Eccentric Rotating Mass mode (Rotary vibrator)
41 enum: [ 0, 1, 2 ]
42
43 library-sel:
44 $ref: /schemas/types.yaml#/definitions/uint32
45 description: |
46 These are ROM based waveforms pre-programmed into the IC.
47 This should be set to set the library to use at power up.
48 (defined in include/dt-bindings/input/ti-drv260x.h)
49
50 DRV260X_LIB_EMPTY - Do not use a pre-programmed library
51 DRV260X_ERM_LIB_A - Pre-programmed Library
52 DRV260X_ERM_LIB_B - Pre-programmed Library
53 DRV260X_ERM_LIB_C - Pre-programmed Library
54 DRV260X_ERM_LIB_D - Pre-programmed Library
55 DRV260X_ERM_LIB_E - Pre-programmed Library
56 DRV260X_ERM_LIB_F - Pre-programmed Library
57 DRV260X_LIB_LRA - Pre-programmed LRA Library
58 enum: [ 0, 1, 2, 3, 4, 5, 6, 7 ]
59
60 enable-gpio:
61 maxItems: 1
62 deprecated: true
63
64 enable-gpios:
65 maxItems: 1
66
67 vib-rated-mv:
68 $ref: /schemas/types.yaml#/definitions/uint32
69 description: |
70 The rated voltage of the actuator in millivolts.
71 If this is not set then the value will be defaulted to 3200 mV.
72 default: 3200
73
74 vib-overdrive-mv:
75 $ref: /schemas/types.yaml#/definitions/uint32
76 description: |
77 The overdrive voltage of the actuator in millivolts.
78 If this is not set then the value will be defaulted to 3200 mV.
79 default: 3200
80
81required:
82 - compatible
83 - reg
84 - enable-gpios
85 - mode
86 - library-sel
87
88additionalProperties: false
89
90examples:
91 - |
92 #include <dt-bindings/gpio/gpio.h>
93 #include <dt-bindings/input/ti-drv260x.h>
94
95 i2c {
96 #address-cells = <1>;
97 #size-cells = <0>;
98
99 haptics@5a {
100 compatible = "ti,drv2605l";
101 reg = <0x5a>;
102 vbat-supply = <&vbat>;
103 enable-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
104 mode = <DRV260X_LRA_MODE>;
105 library-sel = <DRV260X_LIB_LRA>;
106 vib-rated-mv = <3200>;
107 vib-overdrive-mv = <3200>;
108 };
109 };