| TI DRV2667 is a haptic controller chip. It can drive piezo haptics |
| and can operate in two modes - analog and digital. |
| |
| Required properties: |
| |
| -compatible : should be "ti,drv2667". |
| -reg : i2c address to be used. |
| -vdd-supply : regulator to power the chip. |
| -vdd-i2c-supply : regulator to power i2c bus. |
| |
| Optional properties: |
| |
| -ti,label : Name to be registered with timedoutput class. |
| -ti,mode : Mode to be supported, 0 to 3 - FIFO, RAM, WAVE and ANALOG. |
| -ti,wav-seq : Wave Sequence composed of 11 bytes - wave form id, |
| Header size, start upper byte, start lower byte, |
| stop upper byte, stop lower byte, repeat count, |
| amplitude, frequency, duration and envelope |
| -ti,gain : Gain to be programmed for the chip. |
| -ti,idle-timeout-ms : Idle timeout in ms to be programmed for the chip to go into |
| low power mode after finishing its operation. |
| -ti,max-runtime-ms : Maximum time in ms for which chip can drive haptics. |
| |
| Example: |
| i2c@f9967000 { |
| ti-drv2667@59 { |
| compatible = "ti,drv2667"; |
| reg = <0x59>; |
| vdd-supply = <&drv2667_vreg>; |
| vdd-i2c-supply = <&pm8941_s3>; |
| ti,label = "vibrator"; |
| ti,gain = <3>; |
| ti,idle-timeout-ms = <20>; |
| ti,max-runtime-ms = <15000>; |
| ti,mode = <2>; |
| ti,wav-seq = [ |
| /* wave form id */ |
| 01 |
| /* header size, start and stop bytes */ |
| 05 80 06 00 09 |
| /* repeat, amp, freq, duration, envelope */ |
| 01 ff 19 02 00]; |
| }; |
| }; |