1 Kernel driver adt7475 1 Kernel driver adt7475 2 ===================== 2 ===================== 3 3 4 Supported chips: 4 Supported chips: 5 5 6 * Analog Devices ADT7473 6 * Analog Devices ADT7473 7 7 8 Prefix: 'adt7473' 8 Prefix: 'adt7473' 9 9 10 Addresses scanned: I2C 0x2C, 0x2D, 0x2E 10 Addresses scanned: I2C 0x2C, 0x2D, 0x2E 11 11 12 Datasheet: Publicly available at the On Se 12 Datasheet: Publicly available at the On Semiconductors website 13 13 14 * Analog Devices ADT7475 14 * Analog Devices ADT7475 15 15 16 Prefix: 'adt7475' 16 Prefix: 'adt7475' 17 17 18 Addresses scanned: I2C 0x2E 18 Addresses scanned: I2C 0x2E 19 19 20 Datasheet: Publicly available at the On Se 20 Datasheet: Publicly available at the On Semiconductors website 21 21 22 * Analog Devices ADT7476 22 * Analog Devices ADT7476 23 23 24 Prefix: 'adt7476' 24 Prefix: 'adt7476' 25 25 26 Addresses scanned: I2C 0x2C, 0x2D, 0x2E 26 Addresses scanned: I2C 0x2C, 0x2D, 0x2E 27 27 28 Datasheet: Publicly available at the On Se 28 Datasheet: Publicly available at the On Semiconductors website 29 29 30 * Analog Devices ADT7490 30 * Analog Devices ADT7490 31 31 32 Prefix: 'adt7490' 32 Prefix: 'adt7490' 33 33 34 Addresses scanned: I2C 0x2C, 0x2D, 0x2E 34 Addresses scanned: I2C 0x2C, 0x2D, 0x2E 35 35 36 Datasheet: Publicly available at the On Se 36 Datasheet: Publicly available at the On Semiconductors website 37 37 38 Authors: 38 Authors: 39 - Jordan Crouse 39 - Jordan Crouse 40 - Hans de Goede 40 - Hans de Goede 41 - Darrick J. Wong (documentation) 41 - Darrick J. Wong (documentation) 42 - Jean Delvare 42 - Jean Delvare 43 43 44 44 45 Description 45 Description 46 ----------- 46 ----------- 47 47 48 This driver implements support for the Analog 48 This driver implements support for the Analog Devices ADT7473, ADT7475, 49 ADT7476 and ADT7490 chip family. The ADT7473 a 49 ADT7476 and ADT7490 chip family. The ADT7473 and ADT7475 differ only in 50 minor details. The ADT7476 has additional feat 50 minor details. The ADT7476 has additional features, including extra voltage 51 measurement inputs and VID support. The ADT749 51 measurement inputs and VID support. The ADT7490 also has additional 52 features, including extra voltage measurement 52 features, including extra voltage measurement inputs and PECI support. All 53 the supported chips will be collectively desig 53 the supported chips will be collectively designed by the name "ADT747x" in 54 the rest of this document. 54 the rest of this document. 55 55 56 The ADT747x uses the 2-wire interface compatib 56 The ADT747x uses the 2-wire interface compatible with the SMBus 2.0 57 specification. Using an analog to digital conv 57 specification. Using an analog to digital converter it measures three (3) 58 temperatures and two (2) or more voltages. It 58 temperatures and two (2) or more voltages. It has four (4) 16-bit counters 59 for measuring fan speed. There are three (3) P 59 for measuring fan speed. There are three (3) PWM outputs that can be used 60 to control fan speed. 60 to control fan speed. 61 61 62 A sophisticated control system for the PWM out 62 A sophisticated control system for the PWM outputs is designed into the 63 ADT747x that allows fan speed to be adjusted a 63 ADT747x that allows fan speed to be adjusted automatically based on any of the 64 three temperature sensors. Each PWM output is 64 three temperature sensors. Each PWM output is individually adjustable and 65 programmable. Once configured, the ADT747x wil 65 programmable. Once configured, the ADT747x will adjust the PWM outputs in 66 response to the measured temperatures without 66 response to the measured temperatures without further host intervention. 67 This feature can also be disabled for manual c 67 This feature can also be disabled for manual control of the PWM's. 68 68 69 Each of the measured inputs (voltage, temperat 69 Each of the measured inputs (voltage, temperature, fan speed) has 70 corresponding high/low limit values. The ADT74 70 corresponding high/low limit values. The ADT747x will signal an ALARM if 71 any measured value exceeds either limit. 71 any measured value exceeds either limit. 72 72 73 The ADT747x samples all inputs continuously. T 73 The ADT747x samples all inputs continuously. The driver will not read 74 the registers more often than once every other 74 the registers more often than once every other second. Further, 75 configuration data is only read once per minut 75 configuration data is only read once per minute. 76 76 77 Chip Differences Summary 77 Chip Differences Summary 78 ------------------------ 78 ------------------------ 79 79 80 ADT7473: 80 ADT7473: 81 * 2 voltage inputs 81 * 2 voltage inputs 82 * system acoustics optimizations (not implem 82 * system acoustics optimizations (not implemented) 83 83 84 ADT7475: 84 ADT7475: 85 * 2 voltage inputs 85 * 2 voltage inputs 86 86 87 ADT7476: 87 ADT7476: 88 * 5 voltage inputs 88 * 5 voltage inputs 89 * VID support 89 * VID support 90 90 91 ADT7490: 91 ADT7490: 92 * 6 voltage inputs 92 * 6 voltage inputs 93 * 1 Imon input 93 * 1 Imon input 94 * PECI support (not implemented) 94 * PECI support (not implemented) 95 * 2 GPIO pins (not implemented) 95 * 2 GPIO pins (not implemented) 96 * system acoustics optimizations (not implem 96 * system acoustics optimizations (not implemented) 97 97 98 Sysfs Mapping 98 Sysfs Mapping 99 ------------- 99 ------------- 100 100 101 ==== =========== =========== ========= ======= 101 ==== =========== =========== ========= ========== 102 in ADT7490 ADT7476 ADT7475 ADT7473 102 in ADT7490 ADT7476 ADT7475 ADT7473 103 ==== =========== =========== ========= ======= 103 ==== =========== =========== ========= ========== 104 in0 2.5VIN (22) 2.5VIN (22) - - 104 in0 2.5VIN (22) 2.5VIN (22) - - 105 in1 VCCP (23) VCCP (23) VCCP (14) VCCP (1 105 in1 VCCP (23) VCCP (23) VCCP (14) VCCP (14) 106 in2 VCC (4) VCC (4) VCC (4) VCC (3 106 in2 VCC (4) VCC (4) VCC (4) VCC (3) 107 in3 5VIN (20) 5VIN (20) 107 in3 5VIN (20) 5VIN (20) 108 in4 12VIN (21) 12VIN (21) 108 in4 12VIN (21) 12VIN (21) 109 in5 VTT (8) 109 in5 VTT (8) 110 in6 Imon (19) 110 in6 Imon (19) 111 ==== =========== =========== ========= ======= 111 ==== =========== =========== ========= ========== 112 112 113 Special Features 113 Special Features 114 ---------------- 114 ---------------- 115 115 116 The ADT747x has a 10-bit ADC and can therefore 116 The ADT747x has a 10-bit ADC and can therefore measure temperatures 117 with a resolution of 0.25 degree Celsius. Temp 117 with a resolution of 0.25 degree Celsius. Temperature readings can be 118 configured either for two's complement format 118 configured either for two's complement format or "Offset 64" format, 119 wherein 64 is subtracted from the raw value to 119 wherein 64 is subtracted from the raw value to get the temperature value. 120 120 121 The datasheet is very detailed and describes a 121 The datasheet is very detailed and describes a procedure for determining 122 an optimal configuration for the automatic PWM 122 an optimal configuration for the automatic PWM control. 123 123 124 Fan Speed Control 124 Fan Speed Control 125 ----------------- 125 ----------------- 126 126 127 The driver exposes two trip points per PWM cha 127 The driver exposes two trip points per PWM channel. 128 128 129 - point1: Set the PWM speed at the lower tempe 129 - point1: Set the PWM speed at the lower temperature bound 130 - point2: Set the PWM speed at the higher temp 130 - point2: Set the PWM speed at the higher temperature bound 131 131 132 The ADT747x will scale the PWM linearly betwee 132 The ADT747x will scale the PWM linearly between the lower and higher PWM 133 speed when the temperature is between the two 133 speed when the temperature is between the two temperature boundaries. 134 Temperature boundaries are associated to tempe 134 Temperature boundaries are associated to temperature channels rather than 135 PWM outputs, and a given PWM output can be con 135 PWM outputs, and a given PWM output can be controlled by several temperature 136 channels. As a result, the ADT747x may compute 136 channels. As a result, the ADT747x may compute more than one PWM value 137 for a channel at a given time, in which case t 137 for a channel at a given time, in which case the maximum value (fastest 138 fan speed) is applied. PWM values range from 0 138 fan speed) is applied. PWM values range from 0 (off) to 255 (full speed). 139 139 140 Fan speed may be set to maximum when the tempe 140 Fan speed may be set to maximum when the temperature sensor associated with 141 the PWM control exceeds temp#_max. 141 the PWM control exceeds temp#_max. 142 142 143 At Tmin - hysteresis the PWM output can either 143 At Tmin - hysteresis the PWM output can either be off (0% duty cycle) or at the 144 minimum (i.e. auto_point1_pwm). This behaviour 144 minimum (i.e. auto_point1_pwm). This behaviour can be configured using the 145 `pwm[1-*]_stall_disable sysfs attribute`. A va 145 `pwm[1-*]_stall_disable sysfs attribute`. A value of 0 means the fans will shut 146 off. A value of 1 means the fans will run at a 146 off. A value of 1 means the fans will run at auto_point1_pwm. 147 147 148 The responsiveness of the ADT747x to temperatu 148 The responsiveness of the ADT747x to temperature changes can be configured. 149 This allows smoothing of the fan speed transit 149 This allows smoothing of the fan speed transition. To set the transition time 150 set the value in ms in the `temp[1-*]_smoothin 150 set the value in ms in the `temp[1-*]_smoothing` sysfs attribute. 151 151 152 Notes 152 Notes 153 ----- 153 ----- 154 154 155 The nVidia binary driver presents an ADT7473 c 155 The nVidia binary driver presents an ADT7473 chip via an on-card i2c bus. 156 Unfortunately, they fail to set the i2c adapte 156 Unfortunately, they fail to set the i2c adapter class, so this driver may 157 fail to find the chip until the nvidia driver 157 fail to find the chip until the nvidia driver is patched.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.