Kernel driver lm87
==================

Supported chips:
  * National Semiconductor LM87
    Prefix: 'lm87'
    Addresses scanned: I2C 0x2c - 0x2f
    Datasheet: http://www.national.com/pf/LM/LM87.html

Authors:
        Frodo Looijaard <frodol@dds.nl>,
        Philip Edelbrock <phil@netroedge.com>,
        Mark Studebaker <mdsxyz123@yahoo.com>,
        Stephen Rousset <stephen.rousset@rocketlogix.com>,
        Dan Eaton <dan.eaton@rocketlogix.com>,
        Jean Delvare <khali@linux-fr.org>,
        Original 2.6 port Jeff Oliver

Description
-----------

This driver implements support for the National Semiconductor LM87.

The LM87 implements up to three temperature sensors, up to two fan
rotation speed sensors, up to seven voltage sensors, alarms, and some
miscellaneous stuff.

Temperatures are measured in degrees Celsius. Each input has a high
and low alarm settings. A high limit produces an alarm when the value
goes above it, and an alarm is also produced when the value goes below
the low limit.

Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
triggered if the rotation speed has dropped below a programmable limit. Fan
readings can be divided by a programmable divider (1, 2, 4 or 8) to give
the readings more range or accuracy. Not all RPM values can accurately be
represented, so some rounding is done. With a divider of 2, the lowest
representable value is around 2600 RPM.

Voltage sensors (also known as IN sensors) report their values in
volts. An alarm is triggered if the voltage has crossed a programmable
minimum or maximum limit. Note that minimum in this case always means
'closest to zero'; this is important for negative voltage measurements.

If an alarm triggers, it will remain triggered until the hardware register
is read at least once. This means that the cause for the alarm may
already have disappeared! Note that in the current implementation, all
hardware registers are read whenever any data is read (unless it is less
than 1.0 seconds since the last update). This means that you can easily
miss once-only alarms.

The lm87 driver only updates its values each 1.0 seconds; reading it more
often will do no harm, but will return 'old' values.


Hardware Configurations
-----------------------

The LM87 has four pins which can serve one of two possible functions,
depending on the hardware configuration.

Some functions share pins, so not all functions are available at the same
time. Which are depends on the hardware setup. This driver assumes that
the BIOS configured the chip correctly. In that respect, it differs from
the original driver (from lm_sensors for Linux 2.4), which would force the
LM87 to an arbitrary, compile-time chosen mode, regardless of the actual
chipset wiring.

For reference, here is the list of exclusive functions:
 - in0+in5 (default) or temp3
 - fan1 (default) or in6
 - fan2 (default) or in7
 - VID lines (default) or IRQ lines (not handled by this driver)
