root/lm-sensors/branches/lm-sensors-2.10/doc/chips/adm1021

Revision 3007, 20.8 KB (checked in by khali, 7 years ago)

Backport the cleanups and corrections Rudolf Marek and I did when
porting the chips documentation to Linux 2.6.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1Kernel driver `adm1021.o'
2=========================
3
4Status: Complete; tested for most devices except Xeon.
5
6Supported chips:
7  * Analog Devices ADM1021
8    Prefix: 'adm1021'
9    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
10    Datasheet: Publicly available at the Analog Devices website
11  * Analog Devices ADM1021A/ADM1023
12    Prefix: 'adm1023'
13    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
14    Datasheet: Publicly available at the Analog Devices website
15  * Genesys Logic GL523SM
16    Prefix: 'gl523sm'
17    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
18    Datasheet:
19  * Intel Xeon Processor
20    Prefix - any other - may require 'force_adm1021' parameter -
21    see MODPARMS and xeontemp files for more information
22    Addresses scanned: none
23    Datasheet: Publicly available at Intel website
24    Status: Alpha, untested.
25  * Maxim MAX1617
26    Prefix: 'max1617'
27    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
28    Datasheet: Publicly available at the Maxim website
29  * Maxim MAX1617A
30    Prefix: 'max1617a'
31    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
32    Datasheet: Publicly available at the Maxim website
33  * National Semiconductor LM84
34    Prefix: 'lm84'
35    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
36    Datasheet: Publicly available at the National Semiconductor website
37  * Philips NE1617
38    Prefix: 'max1617' (probably detected as a max1617)
39    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
40    Datasheet: Publicly available at the Philips website
41  * Philips NE1617A
42    Prefix: 'max1617' (probably detected as a max1617)
43    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
44    Datasheet: Publicly available at the Philips website
45  * TI THMC10
46    Prefix: 'thmc10'
47    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
48    Datasheet: Publicly available at the TI website
49  * Onsemi MC1066
50    Prefix: 'mc1066'
51    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
52    Datasheet: Publicly available at the Onsemi website
53
54
55Author: Frodo Looijaard <frodol@dds.nl> and Philip Edelbrock
56        <phil@netroedge.com>
57
58License: GPL
59
60
61Module Parameters
62-----------------
63
64* force: short array (min = 1, max = 48)
65  List of adapter,address pairs to boldly assume to be present
66* force_adm1021: short array (min = 1, max = 48)
67  List of adapter,address pairs which are unquestionably assumed to contain
68  a `adm1021' chip
69* force_adm1023: short array (min = 1, max = 48)
70  List of adapter,address pairs which are unquestionably assumed to contain
71  a `adm1023' chip
72* force_max1617: short array (min = 1, max = 48)
73  List of adapter,address pairs which are unquestionably assumed to contain
74  a `max1617' chip
75* force_max1617a: short array (min = 1, max = 48)
76  List of adapter,address pairs which are unquestionably assumed to contain
77  a `max1617a' chip
78* force_thmc10: short array (min = 1, max = 48)
79  List of adapter,address pairs which are unquestionably assumed to contain
80  a `thmc10' chip
81* force_lm84: short array (min = 1, max = 48)
82  List of adapter,address pairs which are unquestionably assumed to contain
83  a `lm84' chip
84* force_gl523sm: short array (min = 1, max = 48)
85  List of adapter,address pairs which are unquestionably assumed to contain
86  a `gl523sm' chip
87* force_mc1066: short array (min = 1, max = 48)
88  List of adapter,address pairs which are unquestionably assumed to contain
89  a `mc1066' chip
90* probe: short array (min = 1, max = 48)
91  List of adapter,address pairs to scan additionally
92* probe_range: short array (min = 1, max = 48)
93  List of adapter,start-addr,end-addr triples to scan additionally
94* ignore: short array (min = 1, max = 48)
95  List of adapter,address pairs not to scan
96* ignore_range: short array (min = 1, max = 48)
97  List of adapter,start-addr,end-addr triples not to scan
98* read_only: int
99  Don't set any values, read only mode
100
101
102Description
103-----------
104
105The chips supported by this driver are very similar. The Maxim MAX1617
106is the oldest; it has the problem that it is not very well detectable.
107The MAX1617A solves that.  The ADM1021 is a straight clone of the MAX1617A.
108Ditto for the THMC10.
109From here on, we will refer to all these chips as ADM1021-clones.
110
111ADM1021-clones implement two temperature sensors. One of them is internal,
112and measures the temperature of the chip itself; the other is external
113and is realised in the form of a transistor-like device. A special alarm
114indicates whether the remote sensor is connected.
115
116Each sensor has its own low and high limits. When they are crossed, the
117corresponding alarm is set and remains on as long as the temperature stays
118out of range. Temperatures are measured in degrees Celsius. Measurements
119are possible between -65 and +127 degrees, with a resolution of one degree.
120
121The ADM1021 reports a die code, which is a sort of revision code. This
122can help us pinpoint problems; it is not very useful otherwise.
123
124If an alarm triggers, it will remain triggered until the hardware register
125is read at least once. This means that the cause for the alarm may
126already have disappeared!
127
128This driver only updates its values each 1.5 seconds; reading it more often
129will do no harm, but will return 'old' values. It is possible to make
130ADM1021-clones do faster measurements, but there is really no good reason
131for that.
132
133
134Xeon support
135------------
136Some Xeon processors have real max1617, adm1021, or compatible chips
137with in them, with two temperature sensors.
138
139Other Xeons have chips with only one sensor.
140
141If you have a Xeon, and the adm1021 module loads, and both
142temperatures appear valid, then things are good.
143
144If the adm1021 module doesn't load, you should try two things:
145        1) modprobe adm1021 force_adm1021=BUS,ADDRESS
146        ADDRESS can only be 0x18, 0x1a, 0x29, 0x2b, 0x4c, or 0x4e.
147        See if you have one or two valid temperatures
148
149        2) modprobe xeontemp
150        See if you have one valid temperature.
151
152If you have dual Xeons you may have appear to have two separate
153adm1021-compatible chips, or two single-temperature sensors,
154at distinct addresses.
155
156Pick the best module for your processor based on the results.
157See the xeontemp documentation for further information.
158
159
160Chip Features
161-------------
162
163Chip 'adm1021'
164
165LABEL                 LABEL CLASS           COMPUTE CLASS          MODE  MAGN
166temp                  -                     -                       R-     0
167temp_low              temp                  temp                    RW     0
168temp_over             temp                  temp                    RW     0
169remote_temp           -                     -                       R-     0
170remote_temp_low       remote_temp           remote_temp             RW     0
171remote_temp_over      remote_temp           remote_temp             RW     0
172alarms                -                     -                       R-     0
173die_code              -                     -                       R-     0
174
175LABEL                 FEATURE SYMBOL                              SYSCTL FILE:N
176temp                  SENSORS_ADM1021_TEMP                              temp1:3
177temp_low              SENSORS_ADM1021_TEMP_HYST                         temp1:2
178temp_over             SENSORS_ADM1021_TEMP_OVER                         temp1:1
179remote_temp           SENSORS_ADM1021_REMOTE_TEMP                       temp2:3
180remote_temp_low       SENSORS_ADM1021_REMOTE_TEMP_HYST                  temp2:2
181remote_temp_over      SENSORS_ADM1021_REMOTE_TEMP_OVER                  temp2:1
182alarms                SENSORS_ADM1021_ALARMS                           alarms:1
183die_code              SENSORS_ADM1021_DIE_CODE                       die_code:1
184
185
186Chip 'adm1023'
187
188LABEL                 LABEL CLASS           COMPUTE CLASS          MODE  MAGN
189temp                  -                     -                       R-     0
190temp_low              temp                  temp                    RW     0
191temp_over             temp                  temp                    RW     0
192remote_temp           -                     -                       R-     3
193remote_temp_low       remote_temp           remote_temp             RW     3
194remote_temp_over      remote_temp           remote_temp             RW     3
195alarms                -                     -                       R-     0
196
197LABEL                 FEATURE SYMBOL                              SYSCTL FILE:N
198temp                  SENSORS_ADM1021_TEMP                              temp1:3
199temp_low              SENSORS_ADM1021_TEMP_HYST                         temp1:2
200temp_over             SENSORS_ADM1021_TEMP_OVER                         temp1:1
201remote_temp           SENSORS_ADM1021_REMOTE_TEMP                       temp2:4
202remote_temp_low       SENSORS_ADM1021_REMOTE_TEMP_HYST                  temp2:2
203remote_temp_over      SENSORS_ADM1021_REMOTE_TEMP_OVER                  temp2:1
204alarms                SENSORS_ADM1021_ALARMS                           alarms:1
205
206
207Chip 'max1617'
208
209LABEL                 LABEL CLASS           COMPUTE CLASS          MODE  MAGN
210temp                  -                     -                       R-     0
211temp_low              temp                  temp                    RW     0
212temp_over             temp                  temp                    RW     0
213remote_temp           -                     -                       R-     0
214remote_temp_low       remote_temp           remote_temp             RW     0
215remote_temp_over      remote_temp           remote_temp             RW     0
216alarms                -                     -                       R-     0
217
218LABEL                 FEATURE SYMBOL                              SYSCTL FILE:N
219temp                  SENSORS_MAX1617_TEMP                              temp1:3
220temp_low              SENSORS_MAX1617_TEMP_HYST                         temp1:2
221temp_over             SENSORS_MAX1617_TEMP_OVER                         temp1:1
222remote_temp           SENSORS_MAX1617_REMOTE_TEMP                       temp2:3
223remote_temp_low       SENSORS_MAX1617_REMOTE_TEMP_HYST                  temp2:2
224remote_temp_over      SENSORS_MAX1617_REMOTE_TEMP_OVER                  temp2:1
225alarms                SENSORS_MAX1617_ALARMS                           alarms:1
226
227
228Chip 'max1617a'
229
230LABEL                 LABEL CLASS           COMPUTE CLASS          MODE  MAGN
231temp                  -                     -                       R-     0
232temp_low              temp                  temp                    RW     0
233temp_over             temp                  temp                    RW     0
234remote_temp           -                     -                       R-     0
235remote_temp_low       remote_temp           remote_temp             RW     0
236remote_temp_over      remote_temp           remote_temp             RW     0
237alarms                -                     -                       R-     0
238
239LABEL                 FEATURE SYMBOL                              SYSCTL FILE:N
240temp                  SENSORS_MAX1617A_TEMP                             temp1:3
241temp_low              SENSORS_MAX1617A_TEMP_HYST                        temp1:2
242temp_over             SENSORS_MAX1617A_TEMP_OVER                        temp1:1
243remote_temp           SENSORS_MAX1617A_REMOTE_TEMP                      temp2:3
244remote_temp_low       SENSORS_MAX1617A_REMOTE_TEMP_HYST                 temp2:2
245remote_temp_over      SENSORS_MAX1617A_REMOTE_TEMP_OVER                 temp2:1
246alarms                SENSORS_MAX1617A_ALARMS                          alarms:1
247
248
249Chip 'thmc10'
250
251LABEL                 LABEL CLASS           COMPUTE CLASS          MODE  MAGN
252temp                  -                     -                       R-     0
253temp_low              temp                  temp                    RW     0
254temp_over             temp                  temp                    RW     0
255remote_temp           -                     -                       R-     0
256remote_temp_low       remote_temp           remote_temp             RW     0
257remote_temp_over      remote_temp           remote_temp             RW     0
258alarms                -                     -                       R-     0
259die_code              -                     -                       R-     0
260
261LABEL                 FEATURE SYMBOL                              SYSCTL FILE:N
262temp                  SENSORS_ADM1021_TEMP                              temp1:3
263temp_low              SENSORS_ADM1021_TEMP_HYST                         temp1:2
264temp_over             SENSORS_ADM1021_TEMP_OVER                         temp1:1
265remote_temp           SENSORS_ADM1021_REMOTE_TEMP                       temp2:3
266remote_temp_low       SENSORS_ADM1021_REMOTE_TEMP_HYST                  temp2:2
267remote_temp_over      SENSORS_ADM1021_REMOTE_TEMP_OVER                  temp2:1
268alarms                SENSORS_ADM1021_ALARMS                           alarms:1
269die_code              SENSORS_ADM1021_DIE_CODE                       die_code:1
270
271
272Chip 'lm84'
273
274LABEL                 LABEL CLASS           COMPUTE CLASS          MODE  MAGN
275temp                  -                     -                       R-     0
276temp_low              temp                  temp                    RW     0
277temp_over             temp                  temp                    RW     0
278remote_temp           -                     -                       R-     0
279remote_temp_low       remote_temp           remote_temp             RW     0
280remote_temp_over      remote_temp           remote_temp             RW     0
281alarms                -                     -                       R-     0
282die_code              -                     -                       R-     0
283
284LABEL                 FEATURE SYMBOL                              SYSCTL FILE:N
285temp                  SENSORS_ADM1021_TEMP                              temp1:3
286temp_low              SENSORS_ADM1021_TEMP_HYST                         temp1:2
287temp_over             SENSORS_ADM1021_TEMP_OVER                         temp1:1
288remote_temp           SENSORS_ADM1021_REMOTE_TEMP                       temp2:3
289remote_temp_low       SENSORS_ADM1021_REMOTE_TEMP_HYST                  temp2:2
290remote_temp_over      SENSORS_ADM1021_REMOTE_TEMP_OVER                  temp2:1
291alarms                SENSORS_ADM1021_ALARMS                           alarms:1
292die_code              SENSORS_ADM1021_DIE_CODE                       die_code:1
293
294
295Chip 'gl523'
296
297LABEL                 LABEL CLASS           COMPUTE CLASS          MODE  MAGN
298temp                  -                     -                       R-     0
299temp_low              temp                  temp                    RW     0
300temp_over             temp                  temp                    RW     0
301remote_temp           -                     -                       R-     0
302remote_temp_low       remote_temp           remote_temp             RW     0
303remote_temp_over      remote_temp           remote_temp             RW     0
304alarms                -                     -                       R-     0
305die_code              -                     -                       R-     0
306
307LABEL                 FEATURE SYMBOL                              SYSCTL FILE:N
308temp                  SENSORS_ADM1021_TEMP                              temp1:3
309temp_low              SENSORS_ADM1021_TEMP_HYST                         temp1:2
310temp_over             SENSORS_ADM1021_TEMP_OVER                         temp1:1
311remote_temp           SENSORS_ADM1021_REMOTE_TEMP                       temp2:3
312remote_temp_low       SENSORS_ADM1021_REMOTE_TEMP_HYST                  temp2:2
313remote_temp_over      SENSORS_ADM1021_REMOTE_TEMP_OVER                  temp2:1
314alarms                SENSORS_ADM1021_ALARMS                           alarms:1
315die_code              SENSORS_ADM1021_DIE_CODE                       die_code:1
316
317
318Chip 'mc1066'
319
320LABEL                 LABEL CLASS           COMPUTE CLASS          MODE  MAGN
321temp                  -                     -                       R-     0
322temp_low              temp                  temp                    RW     0
323temp_over             temp                  temp                    RW     0
324remote_temp           -                     -                       R-     0
325remote_temp_low       remote_temp           remote_temp             RW     0
326remote_temp_over      remote_temp           remote_temp             RW     0
327alarms                -                     -                       R-     0
328
329LABEL                 FEATURE SYMBOL                              SYSCTL FILE:N
330temp                  SENSORS_MAX1617_TEMP                              temp1:3
331temp_low              SENSORS_MAX1617_TEMP_HYST                         temp1:2
332temp_over             SENSORS_MAX1617_TEMP_OVER                         temp1:1
333remote_temp           SENSORS_MAX1617_REMOTE_TEMP                       temp2:3
334remote_temp_low       SENSORS_MAX1617_REMOTE_TEMP_HYST                  temp2:2
335remote_temp_over      SENSORS_MAX1617_REMOTE_TEMP_OVER                  temp2:1
336alarms                SENSORS_MAX1617_ALARMS                           alarms:1
337
338
339
340
341
342Old Documentation (may be outdated)
343-----------------------------------
344
345This file documents the adm1021 directories for the Analog Devices ADM1021
346and MAX1617 temperature sensor chip. Note that this last chip should be
347fully compatible; it is not yet well-tested, though.
348
349There will be one directory created for each detected ADM1021 chip. As
350ADM1021 chips can only be on a SMBus, they will be called adm1021-i2c-?-??, with
351the first question mark being the number of the i2c bus (see /proc/bus/i2c
352for a list of them, if i2c-proc is loaded), and the SMBus (I2C) address
353of the chip at the end. An ADM1021 is uniquely characterised with these
354two numbers. Likewise, for each MAX1617 chip, a directory max1617-i2c-?-??
355will be created.  /proc/sys/dev/sensors/chips contains the SYSCTL values for
356all chip directories.
357
358Within each ADM1021 or MAX1617  directory, you can find the following files:
359* die_code (ADM1021_SYSCTL_DIE_CODE)
360  Silicon die (mask) revision code.  This driver was written using a sample
361  device of die code 3.  Normally this kind of information isn't reported
362  in its own proc file, but for a device this simple I didn't think it
363  would hurt.
364* status (ADM1021_SYSCTL_STATUS)
365  This is an intergral number composed of 8-bits, which indicate the
366  different alarms and conversion status's of the chip.  Here is what
367  each bit indicates:
368    7 BUSY 1 When ADC Converting.
369    6 LHIGH# 1 When Local High Temp Limit Tripped.
370    5 LLOW# 1 When Local Low Temp Limit Tripped.
371    4 RHIGH# 1 When Remote High Temp Limit Tripped.
372    3 RLOW# 1 When Remote Low Temp Limit Tripped.
373    2 OPEN# 1 When Remote Sensor Open-Circuit. (i.e., no connected remote
374            sensor)
375    1-0 Reserved.
376  Note: # - These flags stay high until the status register is read or they
377            are reset by POR.
378* temp1 (ADM1021_SYSCTL_TEMP)
379  A list of three numbers. The first number is the Overtemperature Shutdown
380  value, the second number is Low limit value, and the third number is the
381  current temperature. The first two values can be modified. Each value can
382  be set and read to full-degree accuracy. All values are in degrees Celsius.
383  An alarm is issued (usually to a connected ADM9240) when the temperature
384  gets higher then the Overtemperature Shutdown value; it stays on until
385  the temperature falls back below the Overtemperature Shutdown value.
386  NOTE: This is different than the way most remote temperature sensors work
387  (e.g. the LM75), they usually use the lower limit to clear the alarm set
388  from initially going above the Overtemperature limit.  Instead, the
389  ADM1021 acts much the way that voltage limits work on, say, the LM78 or
390  ADM9240.  A disadvantage to this is that the alarm doesn't have a
391  hysteresis (like a shmidt-trigger or thermostat) type of function for
392  doing things like controlling over-heat fans and such.  Instead, the
393  lower limit can be used to signal an alarm if (goodness forbid!) the
394  computer gets too cold.
395  If accessed through sysctl, this is a list of longs, each being the
396  temperature times 10.
397* temp2 (ADM1021_SYSCTL_REMOTE_TEMP)
398  Works exactly the same way as 'temp1', but uses an external temperature
399  probe for the sensing.  The temperature probe is of a silicon diode type
400  and not of a thermal-resistive type.  A probe can easily be made from a
401  common transister (see the ADM1021 for qualification specs) by shorting
402  the base to the collector.  From the docs: "Transistors such as 2N3904,
403  2N3906 or equivalents in SOT-23 package are suitable to use."
404
405The data for each chip is updated each 1.5 seconds, but only if it is
406actually read.  And, any alarms triggered between reads which always be
407present in the next read just after the alarm was triggered (regardless if
408the alarm situation has been resolved or not).
409
410This driver was written and is maintained by Philip Edelbrock
411<phil@netroedge.com>.  Please send corrections/comments to him.  For
412further technical information on this chip, please get the Acrobat PDF
413documentation available from www.analog.com.  We'd also like to thank
414Analog Devices for helping us with correspondance and free samples to make
415this driver (and other Analog Devices drivers) possible.
Note: See TracBrowser for help on using the browser.