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