ti_drv2667.txt 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. TI DRV2667 is a haptic controller chip. It can drive piezo haptics
  2. and can operate in two modes - analog and digital.
  3. Required properties:
  4. -compatible : should be "ti,drv2667".
  5. -reg : i2c address to be used.
  6. -vdd-supply : regulator to power the chip.
  7. -vdd-i2c-supply : regulator to power i2c bus.
  8. Optional properties:
  9. -ti,label : Name to be registered with timedoutput class.
  10. -ti,mode : Mode to be supported, 0 to 3 - FIFO, RAM, WAVE and ANALOG.
  11. -ti,wav-seq : Wave Sequence composed of 11 bytes - wave form id,
  12. Header size, start upper byte, start lower byte,
  13. stop upper byte, stop lower byte, repeat count,
  14. amplitude, frequency, duration and envelope
  15. -ti,gain : Gain to be programmed for the chip.
  16. -ti,idle-timeout-ms : Idle timeout in ms to be programmed for the chip to go into
  17. low power mode after finishing its operation.
  18. -ti,max-runtime-ms : Maximum time in ms for which chip can drive haptics.
  19. Example:
  20. i2c@f9967000 {
  21. ti-drv2667@59 {
  22. compatible = "ti,drv2667";
  23. reg = <0x59>;
  24. vdd-supply = <&drv2667_vreg>;
  25. vdd-i2c-supply = <&pm8941_s3>;
  26. ti,label = "vibrator";
  27. ti,gain = <3>;
  28. ti,idle-timeout-ms = <20>;
  29. ti,max-runtime-ms = <15000>;
  30. ti,mode = <2>;
  31. ti,wav-seq = [
  32. /* wave form id */
  33. 01
  34. /* header size, start and stop bytes */
  35. 05 80 06 00 09
  36. /* repeat, amp, freq, duration, envelope */
  37. 01 ff 19 02 00];
  38. };
  39. };