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

Revision 4928, 5.6 KB (checked in by khali, 4 years ago)

Fix the address range.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1Kernel driver `lm87.o'
2======================
3
4Status: Complete and somewhat tested
5
6Supported chips:
7  * National Semiconductor LM87
8    Prefix: 'lm87'
9    Addresses scanned: I2C 0x2c - 0x2e
10    Datasheet: http://www.national.com/pf/LM/LM87.html
11
12Authors: Frodo Looijaard <frodol@dds.nl>,
13      Philip Edelbrock <phil@netroedge.com>,
14      Mark Studebaker <mdsxyz123@yahoo.com>,
15      and Stephen Rousset <stephen.rousset@rocketlogix.com>
16
17
18Module Parameters
19-----------------
20
21* force: short array (min = 1, max = 48)
22  List of adapter,address pairs to boldly assume to be present
23* force_lm87: short array (min = 1, max = 48)
24  List of adapter,address pairs which are unquestionably assumed to contain
25  a `lm87' chip
26* ignore: short array (min = 1, max = 48)
27  List of adapter,address pairs not to scan
28* ignore_range: short array (min = 1, max = 48)
29  List of adapter,start-addr,end-addr triples not to scan
30* probe: short array (min = 1, max = 48)
31  List of adapter,address pairs to scan additionally
32* probe_range: short array (min = 1, max = 48)
33  List of adapter,start-addr,end-addr triples to scan additionally
34
35
36Description
37-----------
38
39This driver implements support for the National Semiconductor LM87.
40
41The LM87 implements up to three temperature sensors, up to two fan
42rotation speed sensors, up to seven voltage sensors, alarms, and some
43miscellaneous stuff.
44
45Temperatures are measured in degrees Celsius. Each input has a high
46and low alarm settings.  A high limit produces an alarm when the value
47goes above it, and an alarm is also produced when the value goes below
48the low limit.
49
50Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
51triggered if the rotation speed has dropped below a programmable limit. Fan
52readings can be divided by a programmable divider (1, 2, 4 or 8) to give
53the readings more range or accuracy. Not all RPM values can accurately be
54represented, so some rounding is done. With a divider of 2, the lowest
55representable value is around 2600 RPM.
56
57Voltage sensors (also known as IN sensors) report their values in
58volts. An alarm is triggered if the voltage has crossed a programmable
59minimum or maximum limit. Note that minimum in this case always means
60'closest to zero'; this is important for negative voltage
61measurements.
62
63If an alarm triggers, it will remain triggered until the hardware register
64is read at least once. This means that the cause for the alarm may
65already have disappeared!  Note that in the current implementation, all
66hardware registers are read whenever any data is read (unless it is less
67than 1.0 second since the last update). This means that you can easily
68miss once-only alarms.
69
70The lm87 driver only updates its values each 1.0 seconds; reading it more
71often will do no harm, but will return 'old' values.
72
73
74Hardware Configurations
75-----------------------
76
77The LM87 has four pins which can serve one of two possible functions,
78depending on the hardware configuration. These pins are:
79
80Vccp2/D2-       (pin 17)
81+2.5V(IN0)/D2+  (pin 18)
82FAN1/AIN1       (pin 5)
83FAN2/AIN2       (pin 6)
84
85The most common configuration is to use the values shown here on the
86left (Vccp2, 2.5V, FAN1, and FAN2).  However, for a third temperature
87sensor, it is possible to do away with Vccp2 and 2.5V (IN0) for the
88second external temp diode inputs.  Strangely, it seems that you can
89monitor the core voltage of the second processor or its temperature,
90but never both at the same time.  Also, either/both FAN1 and FAN2
91inputs can be substituted for aux analog inputs AIN1 and/or AIN2,
92respectively.
93
94To adjust the driver for a hardware configuration other than the
95default, simply uncomment the appropriate #defines in the
96kernel/chips/lm87.c driver header, and then recompile/reinstall. 
97Here is a copy (as of this writing) of the header:
98
99
100--snip--
101/* Chip configuration settings.  These should be set to reflect the
102HARDWARE configuration of your chip.  By default (read: when all of
103these are left commented out), this driver assumes that the
104configuration is the same as National's defaults for the Channel Mode
105register.
106
107 Set to '1' the appropriate defines, as nessesary:
108
109 - External temp sensors 2 (possible second CPU temp)
110   This will disable the 2.5V and Vccp2 readings.
111   Strangely, National decided that you can read the
112   temperature of a second CPU or its core voltage,
113   but not both!  Comment out if FAULT is reported.  */
114
115/* #define LM87_EXT2 1 */
116
117/* Aux analog input. When enabled, the Fan 1 reading
118   will be disabled */
119
120/* #define LM87_AIN1 1 */
121
122/* Aux analog input 2. When enabled, the Fan 2 reading
123   will be disabled */
124
125/* #define LM87_AIN2 1 */
126
127/* Internal Vcc is 5V instead of 3.3V */
128
129/* #define LM87_5V_VCC 1 */
130
131/* That's the end of the hardware config defines.  I would have made
132   them insmod params, but it would be too much work. ;') */
133--snip--
134
135Please note: Only adjust the #defines to reflect your HARDWARE
136configuration.  Otherwise some, if not all, the readings will be
137wrong.  Simply enabling different driver configurations does not
138provide the desired readings.  You must make hardware changes (which
139is hard) if you really wish to get a different set of readings!!
140
141If you may suspect that your configuration may be different than the
142default, try enabling the different #defines.  If you get a 'FAULT'
143when using D2, it is most likely that you don't have a second external
144diode, so recomment-out the #define.  If you get strange readings for
145some/all of the other values when enabling a AIN, then recomment-out
146that #define.
147
148Unfortunately, it's tough to 'detect' all hardware config's
149automaticly.  And, I needed to resort to using #defines instead of
150insmod params to make life easier on myself.
Note: See TracBrowser for help on using the browser.