| # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/input/ti,drv260x.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Texas Instruments - drv260x Haptics driver family |
| |
| maintainers: |
| - Andrew Davis <afd@ti.com> |
| |
| properties: |
| compatible: |
| enum: |
| - ti,drv2604 |
| - ti,drv2605 |
| - ti,drv2605l |
| |
| reg: |
| maxItems: 1 |
| |
| vbat-supply: |
| description: Power supply to the haptic motor |
| |
| # TODO: Deprecate 'mode' in favor of differently named property |
| mode: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: | |
| Power up mode of the chip |
| (defined in include/dt-bindings/input/ti-drv260x.h) |
| |
| DRV260X_LRA_MODE |
| Linear Resonance Actuator mode (Piezoelectric) |
| |
| DRV260X_LRA_NO_CAL_MODE |
| This is a LRA Mode but there is no calibration sequence during init. |
| And the device is configured for real time playback mode (RTP mode). |
| |
| DRV260X_ERM_MODE |
| Eccentric Rotating Mass mode (Rotary vibrator) |
| enum: [ 0, 1, 2 ] |
| |
| library-sel: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: | |
| These are ROM based waveforms pre-programmed into the IC. |
| This should be set to set the library to use at power up. |
| (defined in include/dt-bindings/input/ti-drv260x.h) |
| |
| DRV260X_LIB_EMPTY - Do not use a pre-programmed library |
| DRV260X_ERM_LIB_A - Pre-programmed Library |
| DRV260X_ERM_LIB_B - Pre-programmed Library |
| DRV260X_ERM_LIB_C - Pre-programmed Library |
| DRV260X_ERM_LIB_D - Pre-programmed Library |
| DRV260X_ERM_LIB_E - Pre-programmed Library |
| DRV260X_ERM_LIB_F - Pre-programmed Library |
| DRV260X_LIB_LRA - Pre-programmed LRA Library |
| enum: [ 0, 1, 2, 3, 4, 5, 6, 7 ] |
| |
| enable-gpio: |
| maxItems: 1 |
| deprecated: true |
| |
| enable-gpios: |
| maxItems: 1 |
| |
| vib-rated-mv: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: | |
| The rated voltage of the actuator in millivolts. |
| If this is not set then the value will be defaulted to 3200 mV. |
| default: 3200 |
| |
| vib-overdrive-mv: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: | |
| The overdrive voltage of the actuator in millivolts. |
| If this is not set then the value will be defaulted to 3200 mV. |
| default: 3200 |
| |
| required: |
| - compatible |
| - reg |
| - enable-gpios |
| - mode |
| - library-sel |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/input/ti-drv260x.h> |
| |
| i2c { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| haptics@5a { |
| compatible = "ti,drv2605l"; |
| reg = <0x5a>; |
| vbat-supply = <&vbat>; |
| enable-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; |
| mode = <DRV260X_LRA_MODE>; |
| library-sel = <DRV260X_LIB_LRA>; |
| vib-rated-mv = <3200>; |
| vib-overdrive-mv = <3200>; |
| }; |
| }; |