adt7470 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. Kernel driver adt7470
  2. =====================
  3. Supported chips:
  4. * Analog Devices ADT7470
  5. Prefix: 'adt7470'
  6. Addresses scanned: I2C 0x2C, 0x2E, 0x2F
  7. Datasheet: Publicly available at the Analog Devices website
  8. Author: Darrick J. Wong
  9. Description
  10. -----------
  11. This driver implements support for the Analog Devices ADT7470 chip. There may
  12. be other chips that implement this interface.
  13. The ADT7470 uses the 2-wire interface compatible with the SMBus 2.0
  14. specification. Using an analog to digital converter it measures up to ten (10)
  15. external temperatures. It has four (4) 16-bit counters for measuring fan speed.
  16. There are four (4) PWM outputs that can be used to control fan speed.
  17. A sophisticated control system for the PWM outputs is designed into the ADT7470
  18. that allows fan speed to be adjusted automatically based on any of the ten
  19. temperature sensors. Each PWM output is individually adjustable and
  20. programmable. Once configured, the ADT7470 will adjust the PWM outputs in
  21. response to the measured temperatures with further host intervention. This
  22. feature can also be disabled for manual control of the PWM's.
  23. Each of the measured inputs (temperature, fan speed) has corresponding high/low
  24. limit values. The ADT7470 will signal an ALARM if any measured value exceeds
  25. either limit.
  26. The ADT7470 DOES NOT sample all inputs continuously. A single pin on the
  27. ADT7470 is connected to a multitude of thermal diodes, but the chip must be
  28. instructed explicitly to read the multitude of diodes. If you want to use
  29. automatic fan control mode, you must manually read any of the temperature
  30. sensors or the fan control algorithm will not run. The chip WILL NOT DO THIS
  31. AUTOMATICALLY; this must be done from userspace. This may be a bug in the chip
  32. design, given that many other AD chips take care of this. The driver will not
  33. read the registers more often than once every 5 seconds. Further,
  34. configuration data is only read once per minute.
  35. Special Features
  36. ----------------
  37. The ADT7470 has a 8-bit ADC and is capable of measuring temperatures with 1
  38. degC resolution.
  39. The Analog Devices datasheet is very detailed and describes a procedure for
  40. determining an optimal configuration for the automatic PWM control.
  41. Configuration Notes
  42. -------------------
  43. Besides standard interfaces driver adds the following:
  44. * PWM Control
  45. * pwm#_auto_point1_pwm and pwm#_auto_point1_temp and
  46. * pwm#_auto_point2_pwm and pwm#_auto_point2_temp -
  47. point1: Set the pwm speed at a lower temperature bound.
  48. point2: Set the pwm speed at a higher temperature bound.
  49. The ADT7470 will scale the pwm between the lower and higher pwm speed when
  50. the temperature is between the two temperature boundaries. PWM values range
  51. from 0 (off) to 255 (full speed). Fan speed will be set to maximum when the
  52. temperature sensor associated with the PWM control exceeds
  53. pwm#_auto_point2_temp.
  54. Notes
  55. -----
  56. As stated above, the temperature inputs must be read periodically from
  57. userspace in order for the automatic pwm algorithm to run.