blob: c952c57f0e11cb86230e7c9dcbd6c8b7e09dfd16 [file] [log] [blame]
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +00001Kernel driver lm87
2==================
3
4Supported chips:
5 * National Semiconductor LM87
6 Prefix: 'lm87'
7 Addresses scanned: I2C 0x2c - 0x2f
8 Datasheet: http://www.national.com/pf/LM/LM87.html
9
10Authors:
11 Frodo Looijaard <frodol@dds.nl>,
12 Philip Edelbrock <phil@netroedge.com>,
13 Mark Studebaker <mdsxyz123@yahoo.com>,
14 Stephen Rousset <stephen.rousset@rocketlogix.com>,
15 Dan Eaton <dan.eaton@rocketlogix.com>,
16 Jean Delvare <khali@linux-fr.org>,
17 Original 2.6 port Jeff Oliver
18
19Description
20-----------
21
22This driver implements support for the National Semiconductor LM87.
23
24The LM87 implements up to three temperature sensors, up to two fan
25rotation speed sensors, up to seven voltage sensors, alarms, and some
26miscellaneous stuff.
27
28Temperatures are measured in degrees Celsius. Each input has a high
29and low alarm settings. A high limit produces an alarm when the value
30goes above it, and an alarm is also produced when the value goes below
31the low limit.
32
33Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
34triggered if the rotation speed has dropped below a programmable limit. Fan
35readings can be divided by a programmable divider (1, 2, 4 or 8) to give
36the readings more range or accuracy. Not all RPM values can accurately be
37represented, so some rounding is done. With a divider of 2, the lowest
38representable value is around 2600 RPM.
39
40Voltage sensors (also known as IN sensors) report their values in
41volts. An alarm is triggered if the voltage has crossed a programmable
42minimum or maximum limit. Note that minimum in this case always means
43'closest to zero'; this is important for negative voltage measurements.
44
45If an alarm triggers, it will remain triggered until the hardware register
46is read at least once. This means that the cause for the alarm may
47already have disappeared! Note that in the current implementation, all
48hardware registers are read whenever any data is read (unless it is less
49than 1.0 seconds since the last update). This means that you can easily
50miss once-only alarms.
51
52The lm87 driver only updates its values each 1.0 seconds; reading it more
53often will do no harm, but will return 'old' values.
54
55
56Hardware Configurations
57-----------------------
58
59The LM87 has four pins which can serve one of two possible functions,
60depending on the hardware configuration.
61
62Some functions share pins, so not all functions are available at the same
63time. Which are depends on the hardware setup. This driver assumes that
64the BIOS configured the chip correctly. In that respect, it differs from
65the original driver (from lm_sensors for Linux 2.4), which would force the
66LM87 to an arbitrary, compile-time chosen mode, regardless of the actual
67chipset wiring.
68
69For reference, here is the list of exclusive functions:
70 - in0+in5 (default) or temp3
71 - fan1 (default) or in6
72 - fan2 (default) or in7
73 - VID lines (default) or IRQ lines (not handled by this driver)