Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.13.7.
  1Kernel driver adt7475
  2=====================
  3
  4Supported chips:
  5  * Analog Devices ADT7473
  6    Prefix: 'adt7473'
  7    Addresses scanned: I2C 0x2C, 0x2D, 0x2E
  8    Datasheet: Publicly available at the On Semiconductors website
  9  * Analog Devices ADT7475
 10    Prefix: 'adt7475'
 11    Addresses scanned: I2C 0x2E
 12    Datasheet: Publicly available at the On Semiconductors website
 13  * Analog Devices ADT7476
 14    Prefix: 'adt7476'
 15    Addresses scanned: I2C 0x2C, 0x2D, 0x2E
 16    Datasheet: Publicly available at the On Semiconductors website
 17  * Analog Devices ADT7490
 18    Prefix: 'adt7490'
 19    Addresses scanned: I2C 0x2C, 0x2D, 0x2E
 20    Datasheet: Publicly available at the On Semiconductors website
 21
 22Authors:
 23	Jordan Crouse
 24	Hans de Goede
 25	Darrick J. Wong (documentation)
 26	Jean Delvare
 27
 28
 29Description
 30-----------
 31
 32This driver implements support for the Analog Devices ADT7473, ADT7475,
 33ADT7476 and ADT7490 chip family. The ADT7473 and ADT7475 differ only in
 34minor details. The ADT7476 has additional features, including extra voltage
 35measurement inputs and VID support. The ADT7490 also has additional
 36features, including extra voltage measurement inputs and PECI support. All
 37the supported chips will be collectively designed by the name "ADT747x" in
 38the rest of this document.
 39
 40The ADT747x uses the 2-wire interface compatible with the SMBus 2.0
 41specification. Using an analog to digital converter it measures three (3)
 42temperatures and two (2) or more voltages. It has four (4) 16-bit counters
 43for measuring fan speed. There are three (3) PWM outputs that can be used
 44to control fan speed.
 45
 46A sophisticated control system for the PWM outputs is designed into the
 47ADT747x that allows fan speed to be adjusted automatically based on any of the
 48three temperature sensors. Each PWM output is individually adjustable and
 49programmable. Once configured, the ADT747x will adjust the PWM outputs in
 50response to the measured temperatures without further host intervention.
 51This feature can also be disabled for manual control of the PWM's.
 52
 53Each of the measured inputs (voltage, temperature, fan speed) has
 54corresponding high/low limit values. The ADT747x will signal an ALARM if
 55any measured value exceeds either limit.
 56
 57The ADT747x samples all inputs continuously. The driver will not read
 58the registers more often than once every other second. Further,
 59configuration data is only read once per minute.
 60
 61Chip Differences Summary
 62------------------------
 63
 64ADT7473:
 65  * 2 voltage inputs
 66  * system acoustics optimizations (not implemented)
 67
 68ADT7475:
 69  * 2 voltage inputs
 70
 71ADT7476:
 72  * 5 voltage inputs
 73  * VID support
 74
 75ADT7490:
 76  * 6 voltage inputs
 77  * 1 Imon input (not implemented)
 78  * PECI support (not implemented)
 79  * 2 GPIO pins (not implemented)
 80  * system acoustics optimizations (not implemented)
 81
 82Special Features
 83----------------
 84
 85The ADT747x has a 10-bit ADC and can therefore measure temperatures
 86with a resolution of 0.25 degree Celsius. Temperature readings can be
 87configured either for two's complement format or "Offset 64" format,
 88wherein 64 is subtracted from the raw value to get the temperature value.
 89
 90The datasheet is very detailed and describes a procedure for determining
 91an optimal configuration for the automatic PWM control.
 92
 93Fan Speed Control
 94-----------------
 95
 96The driver exposes two trip points per PWM channel.
 97
 98point1: Set the PWM speed at the lower temperature bound
 99point2: Set the PWM speed at the higher temperature bound
100
101The ADT747x will scale the PWM linearly between the lower and higher PWM
102speed when the temperature is between the two temperature boundaries.
103Temperature boundaries are associated to temperature channels rather than
104PWM outputs, and a given PWM output can be controlled by several temperature
105channels. As a result, the ADT747x may compute more than one PWM value
106for a channel at a given time, in which case the maximum value (fastest
107fan speed) is applied. PWM values range from 0 (off) to 255 (full speed).
108
109Fan speed may be set to maximum when the temperature sensor associated with
110the PWM control exceeds temp#_max.
111
112Notes
113-----
114
115The nVidia binary driver presents an ADT7473 chip via an on-card i2c bus.
116Unfortunately, they fail to set the i2c adapter class, so this driver may
117fail to find the chip until the nvidia driver is patched.