brintos

brintos / linux-shallow public Read only

0
0
Text · 5.1 KiB · f90f769 Raw
158 lines · plain
1Kernel driver adt74752=====================3 4Supported chips:5 6  * Analog Devices ADT74737 8    Prefix: 'adt7473'9 10    Addresses scanned: I2C 0x2C, 0x2D, 0x2E11 12    Datasheet: Publicly available at the On Semiconductors website13 14  * Analog Devices ADT747515 16    Prefix: 'adt7475'17 18    Addresses scanned: I2C 0x2E19 20    Datasheet: Publicly available at the On Semiconductors website21 22  * Analog Devices ADT747623 24    Prefix: 'adt7476'25 26    Addresses scanned: I2C 0x2C, 0x2D, 0x2E27 28    Datasheet: Publicly available at the On Semiconductors website29 30  * Analog Devices ADT749031 32    Prefix: 'adt7490'33 34    Addresses scanned: I2C 0x2C, 0x2D, 0x2E35 36    Datasheet: Publicly available at the On Semiconductors website37 38Authors:39	- Jordan Crouse40	- Hans de Goede41	- Darrick J. Wong (documentation)42	- Jean Delvare43 44 45Description46-----------47 48This driver implements support for the Analog Devices ADT7473, ADT7475,49ADT7476 and ADT7490 chip family. The ADT7473 and ADT7475 differ only in50minor details. The ADT7476 has additional features, including extra voltage51measurement inputs and VID support. The ADT7490 also has additional52features, including extra voltage measurement inputs and PECI support. All53the supported chips will be collectively designed by the name "ADT747x" in54the rest of this document.55 56The ADT747x uses the 2-wire interface compatible with the SMBus 2.057specification. Using an analog to digital converter it measures three (3)58temperatures and two (2) or more voltages. It has four (4) 16-bit counters59for measuring fan speed. There are three (3) PWM outputs that can be used60to control fan speed.61 62A sophisticated control system for the PWM outputs is designed into the63ADT747x that allows fan speed to be adjusted automatically based on any of the64three temperature sensors. Each PWM output is individually adjustable and65programmable. Once configured, the ADT747x will adjust the PWM outputs in66response to the measured temperatures without further host intervention.67This feature can also be disabled for manual control of the PWM's.68 69Each of the measured inputs (voltage, temperature, fan speed) has70corresponding high/low limit values. The ADT747x will signal an ALARM if71any measured value exceeds either limit.72 73The ADT747x samples all inputs continuously. The driver will not read74the registers more often than once every other second. Further,75configuration data is only read once per minute.76 77Chip Differences Summary78------------------------79 80ADT7473:81  * 2 voltage inputs82  * system acoustics optimizations (not implemented)83 84ADT7475:85  * 2 voltage inputs86 87ADT7476:88  * 5 voltage inputs89  * VID support90 91ADT7490:92  * 6 voltage inputs93  * 1 Imon input94  * PECI support (not implemented)95  * 2 GPIO pins (not implemented)96  * system acoustics optimizations (not implemented)97 98Sysfs Mapping99-------------100 101==== =========== =========== ========= ==========102in   ADT7490     ADT7476     ADT7475   ADT7473103==== =========== =========== ========= ==========104in0  2.5VIN (22) 2.5VIN (22) -         -105in1  VCCP   (23) VCCP   (23) VCCP (14) VCCP (14)106in2  VCC    (4)  VCC    (4)  VCC  (4)  VCC  (3)107in3  5VIN   (20) 5VIN   (20)108in4  12VIN  (21) 12VIN  (21)109in5  VTT    (8)110in6  Imon   (19)111==== =========== =========== ========= ==========112 113Special Features114----------------115 116The ADT747x has a 10-bit ADC and can therefore measure temperatures117with a resolution of 0.25 degree Celsius. Temperature readings can be118configured either for two's complement format or "Offset 64" format,119wherein 64 is subtracted from the raw value to get the temperature value.120 121The datasheet is very detailed and describes a procedure for determining122an optimal configuration for the automatic PWM control.123 124Fan Speed Control125-----------------126 127The driver exposes two trip points per PWM channel.128 129- point1: Set the PWM speed at the lower temperature bound130- point2: Set the PWM speed at the higher temperature bound131 132The ADT747x will scale the PWM linearly between the lower and higher PWM133speed when the temperature is between the two temperature boundaries.134Temperature boundaries are associated to temperature channels rather than135PWM outputs, and a given PWM output can be controlled by several temperature136channels. As a result, the ADT747x may compute more than one PWM value137for a channel at a given time, in which case the maximum value (fastest138fan speed) is applied. PWM values range from 0 (off) to 255 (full speed).139 140Fan speed may be set to maximum when the temperature sensor associated with141the PWM control exceeds temp#_max.142 143At Tmin - hysteresis the PWM output can either be off (0% duty cycle) or at the144minimum (i.e. auto_point1_pwm). This behaviour can be configured using the145`pwm[1-*]_stall_disable sysfs attribute`. A value of 0 means the fans will shut146off. A value of 1 means the fans will run at auto_point1_pwm.147 148The responsiveness of the ADT747x to temperature changes can be configured.149This allows smoothing of the fan speed transition. To set the transition time150set the value in ms in the `temp[1-*]_smoothing` sysfs attribute.151 152Notes153-----154 155The nVidia binary driver presents an ADT7473 chip via an on-card i2c bus.156Unfortunately, they fail to set the i2c adapter class, so this driver may157fail to find the chip until the nvidia driver is patched.158