~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/hwmon/adt7475.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php