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