1Kernel driver adt7470 2===================== 3 4Supported chips: 5 * Analog Devices ADT7470 6 Prefix: 'adt7470' 7 Addresses scanned: I2C 0x2C, 0x2E, 0x2F 8 Datasheet: Publicly available at the Analog Devices website 9 10Author: Darrick J. Wong 11 12Description 13----------- 14 15This driver implements support for the Analog Devices ADT7470 chip. There may 16be other chips that implement this interface. 17 18The ADT7470 uses the 2-wire interface compatible with the SMBus 2.0 19specification. Using an analog to digital converter it measures up to ten (10) 20external temperatures. It has four (4) 16-bit counters for measuring fan speed. 21There are four (4) PWM outputs that can be used to control fan speed. 22 23A sophisticated control system for the PWM outputs is designed into the ADT7470 24that allows fan speed to be adjusted automatically based on any of the ten 25temperature sensors. Each PWM output is individually adjustable and 26programmable. Once configured, the ADT7470 will adjust the PWM outputs in 27response to the measured temperatures with further host intervention. This 28feature can also be disabled for manual control of the PWM's. 29 30Each of the measured inputs (temperature, fan speed) has corresponding high/low 31limit values. The ADT7470 will signal an ALARM if any measured value exceeds 32either limit. 33 34The ADT7470 samples all inputs continuously. A kernel thread is started up for 35the purpose of periodically querying the temperature sensors, thus allowing the 36automatic fan pwm control to set the fan speed. The driver will not read the 37registers more often than once every 5 seconds. Further, configuration data is 38only read once per minute. 39 40Special Features 41---------------- 42 43The ADT7470 has a 8-bit ADC and is capable of measuring temperatures with 1 44degC resolution. 45 46The Analog Devices datasheet is very detailed and describes a procedure for 47determining an optimal configuration for the automatic PWM control. 48 49Configuration Notes 50------------------- 51 52Besides standard interfaces driver adds the following: 53 54* PWM Control 55 56* pwm#_auto_point1_pwm and pwm#_auto_point1_temp and 57* pwm#_auto_point2_pwm and pwm#_auto_point2_temp - 58 59point1: Set the pwm speed at a lower temperature bound. 60point2: Set the pwm speed at a higher temperature bound. 61 62The ADT7470 will scale the pwm between the lower and higher pwm speed when 63the temperature is between the two temperature boundaries. PWM values range 64from 0 (off) to 255 (full speed). Fan speed will be set to maximum when the 65temperature sensor associated with the PWM control exceeds 66pwm#_auto_point2_temp. 67 68Notes 69----- 70 71The temperature inputs no longer need to be read periodically from userspace in 72order for the automatic pwm algorithm to run. This was the case for earlier 73versions of the driver. 74