blob: 3a8f4b34ad54cb800debe7db01b51ecd5c85b460 [file] [log] [blame]
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];
};
};