root/lm-sensors/trunk/doc/chips/adm9240 @ 3000

Revision 3000, 24.1 KB (checked in by khali, 10 years ago)

Fix common spelling errors.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
1Kernel driver `adm9240.o'
4Status: Complete and tested
6Supported chips:
7  * Analog Devices ADM9240
8    Prefix `adm9240'
9    Addresses scanned: I2C 0x2c - 0x2f (inclusive)
10    Datasheet: Publicly available at the Analog Devices website
11  * Dallas Semiconductor DS1780
12    Prefix `ds1780'
13    Addresses scanned: I2C 0x2c - 0x2f (inclusive)
14    Datasheet: Publicly available at the Dallas Semiconductor website
15  * National Semiconductor LM81
16    Prefix `lm81'
17    Addresses scanned: I2C 0x2c - 0x2f (inclusive)
18    Datasheet: Publicly available at the National Semiconductor website
21Author: Frodo Looijaard <> and Philip Edelbrock
22        <>
25Module Parameters
28* force: short array (min = 1, max = 48)
29  List of adapter,address pairs to boldly assume to be present
30* force_adm9240: short array (min = 1, max = 48)
31  List of adapter,address pairs which are unquestionably assumed to contain
32  a `adm9240' chip
33* force_ds1780: short array (min = 1, max = 48)
34  List of adapter,address pairs which are unquestionably assumed to contain
35  a `ds1780' chip
36* force_lm81: short array (min = 1, max = 48)
37  List of adapter,address pairs which are unquestionably assumed to contain
38  a `lm81' chip
39* ignore: short array (min = 1, max = 48)
40  List of adapter,address pairs not to scan
41* ignore_range: short array (min = 1, max = 48)
42  List of adapter,start-addr,end-addr triples not to scan
43* probe: short array (min = 1, max = 48)
44  List of adapter,address pairs to scan additionally
45* probe_range: short array (min = 1, max = 48)
46  List of adapter,start-addr,end-addr triples to scan additionally
52This driver implements support for the Analog Devices ADM9240,
53Dallas Semiconductor DS1780, and National Semiconductor LM81 chips.
54These chips appear to be completely
55identical, except for the manufacturer IDs encoded in two registers, and
56the speed with which they update their sensor readings.
58The chips implement six voltage sensors, a temperature sensor,
59two FAN rotation speed sensors, VID lines and some miscellaneous stuff.
61Temperatures are measured in degrees Celsius. An alarm is triggered whenever
62the temperature is above the hot limit, and will continue to be generated
63until the temperature has dropped beneath the hysteresis limit. Measurements
64are guaranteed between -40 and +125 degrees. The current temperature
65has a resolution of 0.5 degrees, the limits of 1 degree.
67FAN rotation speeds are reported in RPM (rotations per minute). An alarm is
68triggered if the rotation speed has dropped below a programmable limit. FAN
69readings can be divided by a programmable divider (1, 2, 4 or 8) to give
70the readings more range or accuracy. This is important because some FANs
71report only one 'tick' each rotation, while others report two - making
72all readings twice as high. Not all RPM values can accurately be represented,
73so some rounding is done. With a divider of 2, the lowest representable
74value is around 2600 RPM.
76Voltage sensors (also known as IN sensors) report their values in volts.
77An alarm is triggered if the voltage has crossed a programmable minimum
78or maximum limit. Note that minimum in this case always means 'closest to
79zero'; this is important for negative voltage measurements.
80IMPORTANT: The current voltage measurement system is very probably broken.
81Please report back to us if you have a ADM9240 or DS1780!
83The VID lines encode the core voltage value: the voltage level your processor
84should work with. This is hardcoded by the mainboard and/or processor itself.
85It is a value in volts. When it is unconnected, you will often find the
86value 3.50 V here.
88The analog output can be programmed separatedly. It can take values
89between 0 and 255. What it actually does is mainboard-dependent; it
90might influence the FAN-speed. Please report to us whether this is
91the case with your ADM9240.
93In addition to the alarms described above, the CHAS alarm triggers
94if your computer case is open.
96If an alarm triggers, it will remain triggered until the hardware register
97is read at least once. This means that the cause for the alarm may
98already have disappeared!  Note that in the current implementation, all
99hardware registers are read whenever any data is read (unless it is less
100than 1.5 seconds since the last update). This means that you can easily
101miss once-only alarms.
103Thes ADM9240 only updates its values every 0.5 seconds; the DS1780 one
104every 2 seconds; and the LM81 every 0.4 seconds.
105Reading them more often will do no harm, but will return
106'old' values. (NB: theoretically, this could be done much faster for the
107ADM9240, but there is no real reason to do so, and this way the SMBus use
108is kept within reasonable limits)
111Chip Features
114Chip `adm9240'
116              2.5V               NONE               NONE     R     2
117             Vccp1               NONE               NONE     R     2
118              3.3V               NONE               NONE     R     2
119                5V               NONE               NONE     R     2
120               12V               NONE               NONE     R     2
121             Vccp2               NONE               NONE     R     2
122          2.5V_min               2.5V               2.5V     RW    2
123         Vccp1_min              Vccp1              Vccp1     RW    2
124          3.3V_min               3.3V               3.3V     RW    2
125            5V_min                 5V                 5V     RW    2
126           12V_min                12V                12V     RW    2
127         Vccp2_min              Vccp2              Vccp2     RW    2
128          2.5V_max               2.5V               2.5V     RW    2
129         Vccp1_max              Vccp1              Vccp1     RW    2
130          3.3V_max               3.3V               3.3V     RW    2
131            5V_max                 5V                 5V     RW    2
132           12V_max                12V                12V     RW    2
133         Vccp2_max              Vccp2              Vccp2     RW    2
134              fan1               NONE               NONE     R     0
135              fan2               NONE               NONE     R     0
136          fan1_min               fan1               fan1     RW    0
137          fan2_min               fan2               fan2     RW    0
138              temp               NONE               NONE     R     1
139         temp_hyst               temp               temp     RW    1
140         temp_over               temp               temp     RW    1
141               vid               NONE               NONE     R     2
142          fan1_div               fan1               NONE     RW    0
143          fan2_div               fan2               NONE     RW    0
144            alarms               NONE               NONE     R     0
145        analog_out               NONE               NONE     RW    0
147             LABEL                          FEATURE SYMBOL        SYSCTL FILE:NR
148              2.5V                     SENSORS_ADM9240_IN0               2.5V:3
149             Vccp1                     SENSORS_ADM9240_IN1              Vccp1:3
150              3.3V                     SENSORS_ADM9240_IN2               3.3V:3
151                5V                     SENSORS_ADM9240_IN3                 5V:3
152               12V                     SENSORS_ADM9240_IN4                12V:3
153             Vccp2                     SENSORS_ADM9240_IN5              Vccp2:3
154          2.5V_min                 SENSORS_ADM9240_IN0_MIN               2.5V:1
155         Vccp1_min                 SENSORS_ADM9240_IN1_MIN              Vccp1:1
156          3.3V_min                 SENSORS_ADM9240_IN2_MIN               3.3V:1
157            5V_min                 SENSORS_ADM9240_IN3_MIN                 5V:1
158           12V_min                 SENSORS_ADM9240_IN4_MIN                12V:1
159         Vccp2_min                 SENSORS_ADM9240_IN5_MIN              Vccp2:1
160          2.5V_max                 SENSORS_ADM9240_IN0_MAX               2.5V:2
161         Vccp1_max                 SENSORS_ADM9240_IN1_MAX              Vccp1:2
162          3.3V_max                 SENSORS_ADM9240_IN2_MAX               3.3V:2
163            5V_max                 SENSORS_ADM9240_IN3_MAX                 5V:2
164           12V_max                 SENSORS_ADM9240_IN4_MAX                12V:2
165         Vccp2_max                 SENSORS_ADM9240_IN5_MAX              Vccp2:2
166              fan1                    SENSORS_ADM9240_FAN1               fan1:2
167              fan2                    SENSORS_ADM9240_FAN2               fan2:2
168          fan1_min                SENSORS_ADM9240_FAN1_MIN               fan1:1
169          fan2_min                SENSORS_ADM9240_FAN2_MIN               fan2:1
170              temp                    SENSORS_ADM9240_TEMP               temp:3
171         temp_hyst               SENSORS_ADM9240_TEMP_HYST               temp:2
172         temp_over               SENSORS_ADM9240_TEMP_OVER               temp:1
173               vid                     SENSORS_ADM9240_VID                vid:1
174          fan1_div                SENSORS_ADM9240_FAN1_DIV            fan_div:1
175          fan2_div                SENSORS_ADM9240_FAN2_DIV            fan_div:2
176            alarms                  SENSORS_ADM9240_ALARMS             alarms:1
177        analog_out              SENSORS_ADM9240_ANALOG_OUT         analog_out:1
180Chip `ds1780'
182              2.5V               NONE               NONE     R     2
183             Vccp1               NONE               NONE     R     2
184              3.3V               NONE               NONE     R     2
185                5V               NONE               NONE     R     2
186               12V               NONE               NONE     R     2
187             Vccp2               NONE               NONE     R     2
188          2.5V_min               2.5V               2.5V     RW    2
189         Vccp1_min              Vccp1              Vccp1     RW    2
190          3.3V_min               3.3V               3.3V     RW    2
191            5V_min                 5V                 5V     RW    2
192           12V_min                12V                12V     RW    2
193         Vccp2_min              Vccp2              Vccp2     RW    2
194          2.5V_max               2.5V               2.5V     RW    2
195         Vccp1_max              Vccp1              Vccp1     RW    2
196          3.3V_max               3.3V               3.3V     RW    2
197            5V_max                 5V                 5V     RW    2
198           12V_max                12V                12V     RW    2
199         Vccp2_max              Vccp2              Vccp2     RW    2
200              fan1               NONE               NONE     R     0
201              fan2               NONE               NONE     R     0
202          fan1_min               fan1               fan1     RW    0
203          fan2_min               fan2               fan2     RW    0
204              temp               NONE               NONE     R     1
205         temp_hyst               temp               temp     RW    1
206         temp_over               temp               temp     RW    1
207               vid               NONE               NONE     R     2
208          fan1_div               fan1               NONE     RW    0
209          fan2_div               fan2               NONE     RW    0
210            alarms               NONE               NONE     R     0
211        analog_out               NONE               NONE     RW    0
213             LABEL                          FEATURE SYMBOL        SYSCTL FILE:NR
214              2.5V                      SENSORS_DS1780_IN0               2.5V:3
215             Vccp1                      SENSORS_DS1780_IN1              Vccp1:3
216              3.3V                      SENSORS_DS1780_IN2               3.3V:3
217                5V                      SENSORS_DS1780_IN3                 5V:3
218               12V                      SENSORS_DS1780_IN4                12V:3
219             Vccp2                      SENSORS_DS1780_IN5              Vccp2:3
220          2.5V_min                  SENSORS_DS1780_IN0_MIN               2.5V:1
221         Vccp1_min                  SENSORS_DS1780_IN1_MIN              Vccp1:1
222          3.3V_min                  SENSORS_DS1780_IN2_MIN               3.3V:1
223            5V_min                  SENSORS_DS1780_IN3_MIN                 5V:1
224           12V_min                  SENSORS_DS1780_IN4_MIN                12V:1
225         Vccp2_min                  SENSORS_DS1780_IN5_MIN              Vccp2:1
226          2.5V_max                  SENSORS_DS1780_IN0_MAX               2.5V:2
227         Vccp1_max                  SENSORS_DS1780_IN1_MAX              Vccp1:2
228          3.3V_max                  SENSORS_DS1780_IN2_MAX               3.3V:2
229            5V_max                  SENSORS_DS1780_IN3_MAX                 5V:2
230           12V_max                  SENSORS_DS1780_IN4_MAX                12V:2
231         Vccp2_max                  SENSORS_DS1780_IN5_MAX              Vccp2:2
232              fan1                     SENSORS_DS1780_FAN1               fan1:2
233              fan2                     SENSORS_DS1780_FAN2               fan2:2
234          fan1_min                 SENSORS_DS1780_FAN1_MIN               fan1:1
235          fan2_min                 SENSORS_DS1780_FAN2_MIN               fan2:1
236              temp                     SENSORS_DS1780_TEMP               temp:3
237         temp_hyst                SENSORS_DS1780_TEMP_HYST               temp:2
238         temp_over                SENSORS_DS1780_TEMP_OVER               temp:1
239               vid                      SENSORS_DS1780_VID                vid:1
240          fan1_div                 SENSORS_DS1780_FAN1_DIV            fan_div:1
241          fan2_div                 SENSORS_DS1780_FAN2_DIV            fan_div:2
242            alarms                   SENSORS_DS1780_ALARMS             alarms:1
243        analog_out               SENSORS_DS1780_ANALOG_OUT         analog_out:1
246Chip `lm81'
248              2.5V               NONE               NONE     R     2
249             Vccp1               NONE               NONE     R     2
250              3.3V               NONE               NONE     R     2
251                5V               NONE               NONE     R     2
252               12V               NONE               NONE     R     2
253             Vccp2               NONE               NONE     R     2
254          2.5V_min               2.5V               2.5V     RW    2
255         Vccp1_min              Vccp1              Vccp1     RW    2
256          3.3V_min               3.3V               3.3V     RW    2
257            5V_min                 5V                 5V     RW    2
258           12V_min                12V                12V     RW    2
259         Vccp2_min              Vccp2              Vccp2     RW    2
260          2.5V_max               2.5V               2.5V     RW    2
261         Vccp1_max              Vccp1              Vccp1     RW    2
262          3.3V_max               3.3V               3.3V     RW    2
263            5V_max                 5V                 5V     RW    2
264           12V_max                12V                12V     RW    2
265         Vccp2_max              Vccp2              Vccp2     RW    2
266              fan1               NONE               NONE     R     0
267              fan2               NONE               NONE     R     0
268          fan1_min               fan1               fan1     RW    0
269          fan2_min               fan2               fan2     RW    0
270              temp               NONE               NONE     R     1
271         temp_hyst               temp               temp     RW    1
272         temp_over               temp               temp     RW    1
273               vid               NONE               NONE     R     2
274          fan1_div               fan1               NONE     RW    0
275          fan2_div               fan2               NONE     RW    0
276            alarms               NONE               NONE     R     0
277        analog_out               NONE               NONE     RW    0
279             LABEL                          FEATURE SYMBOL        SYSCTL FILE:NR
280              2.5V                     SENSORS_ADM9240_IN0               2.5V:3
281             Vccp1                     SENSORS_ADM9240_IN1              Vccp1:3
282              3.3V                     SENSORS_ADM9240_IN2               3.3V:3
283                5V                     SENSORS_ADM9240_IN3                 5V:3
284               12V                     SENSORS_ADM9240_IN4                12V:3
285             Vccp2                     SENSORS_ADM9240_IN5              Vccp2:3
286          2.5V_min                 SENSORS_ADM9240_IN0_MIN               2.5V:1
287         Vccp1_min                 SENSORS_ADM9240_IN1_MIN              Vccp1:1
288          3.3V_min                 SENSORS_ADM9240_IN2_MIN               3.3V:1
289            5V_min                 SENSORS_ADM9240_IN3_MIN                 5V:1
290           12V_min                 SENSORS_ADM9240_IN4_MIN                12V:1
291         Vccp2_min                 SENSORS_ADM9240_IN5_MIN              Vccp2:1
292          2.5V_max                 SENSORS_ADM9240_IN0_MAX               2.5V:2
293         Vccp1_max                 SENSORS_ADM9240_IN1_MAX              Vccp1:2
294          3.3V_max                 SENSORS_ADM9240_IN2_MAX               3.3V:2
295            5V_max                 SENSORS_ADM9240_IN3_MAX                 5V:2
296           12V_max                 SENSORS_ADM9240_IN4_MAX                12V:2
297         Vccp2_max                 SENSORS_ADM9240_IN5_MAX              Vccp2:2
298              fan1                    SENSORS_ADM9240_FAN1               fan1:2
299              fan2                    SENSORS_ADM9240_FAN2               fan2:2
300          fan1_min                SENSORS_ADM9240_FAN1_MIN               fan1:1
301          fan2_min                SENSORS_ADM9240_FAN2_MIN               fan2:1
302              temp                    SENSORS_ADM9240_TEMP               temp:3
303         temp_hyst               SENSORS_ADM9240_TEMP_HYST               temp:2
304         temp_over               SENSORS_ADM9240_TEMP_OVER               temp:1
305               vid                     SENSORS_ADM9240_VID                vid:1
306          fan1_div                SENSORS_ADM9240_FAN1_DIV            fan_div:1
307          fan2_div                SENSORS_ADM9240_FAN2_DIV            fan_div:2
308            alarms                  SENSORS_ADM9240_ALARMS             alarms:1
309        analog_out              SENSORS_ADM9240_ANALOG_OUT         analog_out:1
314Old Documentation
317Supports the Analog Devices ADM9240 and the Dallas Semiconductor DS1780.
318These chips are apparently identical except for the manufacturer ID
320The proc directory will be adm9240-i2c-x-xx for the adm9240 and
321ds1780-i2c-x-xx for the ds1780.
325This file documents the adm9240 directories for the Analog Devices
326ADM9240 hardware health monitoring chip found on some Intel mainboards
327(and others?).
329There will be one directory created for each detected ADM9240 chip.
330Each chip must be on the SMBus. Directories are called things
331like adm9240-i2c-1-2c. /proc/sys/dev/sensors/chips contains the SYSCTL
332values for all chip directories.
334Within each ADM9240 directory, you can find the following files:
335* alarms (ADM9240_SYSCTL_ALARMS)
336  A number which indicates which alarms are on. An alarm gets triggered when
337  some limit has been crossed. This number is composed from a 16 bit
338  value which is the combination of the Interrupt Status Register 1
339  (low byte) and 2 (high byte).
340  This file can not be written to.
341  The number is the logical OR of the following components (bit #
342  followed by a description):
3440 +2.5 V_Error Read Only A "1" indicates a high or low limit has been exceeded.
3451 VCCP_Error Read Only A "1" indicates a high or low limit has been exceeded.
3462 +3.3 V_Error Read Only A "1" indicates a high or low limit has been exceeded.
3473 +5 V_Error Read Only A "1" indicates a high or low limit has been exceeded.
3484 Temp_Error Read Only A "1" indicates that a temperature interrupt has been set.
3495 Reserved Read Only Undefined.
3506 FAN1_Error Read Only A "1" indicates that a fan count limit has been exceeded.
3517 FAN2_Error Read Only A "1" indicates that a fan count limit has been exceeded.
3528 +12 V_Error Read Only A "1" indicates a high or low limit has been exceeded.
3539 VCCP2_Error Read Only A "1" indicates a high or low limit has been exceeded.
35410 Reserved Read Only Undefined.
35511 Reserved Read Only Undefined.
35612 Chassis_Error Read Only A "1" indicates chassis intrusion has gone high.
35713 Reserved Read Only Undefined.
35814 Reserved Read Only Undefined.
35915 Reserved Read Only Undefined.
361  If accessed through sysctl, this value is a long.
362* fan[1-3] (ADM9240_SYSCTL_FAN[1-2])
363  A list of two numbers. The first is the minimum fan rotation limit; the
364  second is the current fan rotation speed. Both are in RPM (rotations per
365  minute). An alarm is triggered if the rotation speed drops below the
366  limit. The first value can be changed. Not all RPM values can accurately
367  be represented, so some rounding is done.
368  If accessed through sysctl, this is a list of longs.
369* fan_div (LM78_SYSCTL_FAN_DIV)
370  A list of two numbers, one for each fan. Each number can be either 1, 2,
371  4 or 8. It is the internal scaling factor used for the FAN rotations. If
372  you change this number, the FAN readings get more or less detailed, but
373  the range in which they can be read too. Higher numbers give better
374  resolution, but less range. The first two numbers can be changed, the
375  third not.
376  If accessed through sysctl, this is a list of longs.
377* 2.5V, Vccp1, 3.3V, 5V, 12V, and Vccp2 (ADM9240_SYSCTL_IN[0-5] in the
378  order shown)
379  A list of three numbers. The first is the minimum limit, the second is the
380  maximum limit, and the third is the current value.  Note that
381  minimum means 'closest to zero'; so if the normal value equals -10, a
382  minimum could equal -9, and a maximum -11. Vccp1 and Vccp2 reflect core
383  voltages; they are by default set from the vid values, or set to 2.80V
384  if the vid lines seem to be unconnected. Not all voltage values
385  can be accurately represented, so some rounding is done.
386  The first two numbers can be changed, the third not.
387  If accessed through sysctl, this is a list of longs, each being the voltage
388  times 100.
389* temp
390  A list of three numbers. The first number is the Overtemperature Shutdown
391  value; the second is the Hysteresis value and the third number is the
392  current value. The first two values can be modified. All values are in
393  degrees Celsius. An alarm is issued when the temperature first gets above
394  the Overtemperature Shutdown value; no more alarms are issued until the
395  temperature gets below the Hysteresis value, at which moment another alarm
396  is issued, and the state is reset. A more useful behaviour can be found
397  by setting the Hysteresis value to +127 degrees Celsius; in this case,
398  alarms are issued during all the time when the actual temperature is
399  above the Overtemperature Shutdown value.
400  The first two numbers can be changed, the third not.
401  If accessed through sysctl, this is a list of longs, each being the
402  temperature in degrees Celsius times 10.
403* vid
404  The core voltage value (the voltage level your processor should work with),
405  in volts. This is the value IN0 and IN1 are initialized to. If unconnected,
406  it usually reads 3.50V.
407  This number can not be changed.
408  If accessed through sysctl, this is a long, being the voltage times 100.
409* analog_out
410   This is feature is specific to the ADM9240.  It is a DAC voltage
411   control register for the Analog-Out pin.  Valid values are from 255
412   to 0 (with 255 being the highest voltage, and 0 the lowest).  From
413   the docs: "The ADM9240 has a single analog output from an unsigned
414   8-bit DAC which produces 0 V - 1.25 V."
416The data for each ADM9240 is updated each 1.5 seconds,
417but only if it is actually read.
419Note: Much of this documentation is copied from the LM78 documenation
420(the device from which most featuers of the ADM9240 is modelled from).
421The maintainer of the ADM9240 is Philip Edelbrock
422<>; please forward corrections, suggestions, etc.
423to him.  For further technical information on this chip, I suggest
424getting the Acrobat PDF documentation from
426Dallas documentation is at
Note: See TracBrowser for help on using the browser.