Kernel driver `adm1025.o'
=========================

Status: Complete, known to work but not heavily tested

Supported chips:
  * Analog Devices ADM1025
    Prefix `adm1025'
    Addresses scanned: I2C 0x2c - 0x2e (inclusive)
    Datasheet: Publicly available at the Analog Devices website
  * Philips NE1619
    Prefix `ne1619'
    Addresses scanned: I2C 0x2c - 0x2d (inclusive)
    Datasheet: Publicly available at the Philips website

The NE1619 presents some differences with the original ADM1025:
  * Only two possible addresses (0x2c - 0x2d).
  * No temperature offset register, but we don't use it anyway.
  * No INT mode for pin 16. We don't play with it anyway.

Author: Chen-Yuan Wu <gwu@esoft.com> and Jean Delvare <khali@linux-fr.org>

License: GPL


Module Parameters
-----------------

* force: short array (min = 1, max = 48)
  List of adapter,address pairs to boldly assume to be present
* force_adm1025: short array (min = 1, max = 48)
  List of adapter,address pairs which are unquestionably assumed to contain
  a `adm1025' chip
* force_ne1619: short array (min = 1, max = 48)
  List of adapter,address pairs which are unquestionably assumed to contain
  a `ne1619' chip
* probe: short array (min = 1, max = 48)
  List of adapter,address pairs to scan additionally
* probe_range: short array (min = 1, max = 48)
  List of adapter,start-addr,end-addr triples to scan additionally
* ignore: short array (min = 1, max = 48)
  List of adapter,address pairs not to scan
* ignore_range: short array (min = 1, max = 48)
  List of adapter,start-addr,end-addr triples not to scan


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

(This is from Analog Devices.) The ADM1025 is a complete system hardware
monitor for microprocessor-based systems, providing measurement and limit
comparison of various system parameters. Five voltage measurement inputs
are provided, for monitoring +2.5V, +3.3V, +5V and +12V power supplies and
the processor core voltage. The ADM1025 can monitor a sixth power-supply
voltage by measuring its own VCC. One input (two pins) is dedicated to a
remote temperature-sensing diode and an on-chip temperature sensor allows
ambient temperature to be monitored.

One specificity of this chip is that the pin 11 can be hardwired in two
different manners. It can act as the +12V power-supply voltage analog
input, or as the a fifth digital entry for the VID reading (bit 4). It's
kind of strange since both are useful, and the reason for designing the
chip that way is obscure at least to me. The bit 5 of the configuration
register can be used to define how the chip is hardwired. Please note
that it is not a choice you have to make as the user. The choice was
already made by your motherboard's maker. If the configuration bit isn't
set properly, you'll have a wrong +12V reading or a wrong VID reading.
The way the driver handles that is to preserve this bit through the
initialization process, assuming that the BIOS set it up properly
beforehand. If it turns out not to be true in some cases, we'll provide
a module parameter to force modes.


Chip Features
-------------

Chips 'adm1025' and 'ne1619'

LABEL                 LABEL CLASS           COMPUTE CLASS          MODE  MAGN
in0                   -                     -                       R-     2
in1                   -                     -                       R-     2
in2                   -                     -                       R-     2
in3                   -                     -                       R-     2
in4                   -                     -                       R-     2
in5                   -                     -                       R-     2
in0_min               in0                   in0                     RW     2
in1_min               in1                   in1                     RW     2
in2_min               in2                   in2                     RW     2
in3_min               in3                   in3                     RW     2
in4_min               in4                   in4                     RW     2
in5_min               in5                   in5                     RW     2
in0_max               in0                   in0                     RW     2
in1_max               in1                   in1                     RW     2
in2_max               in2                   in2                     RW     2
in3_max               in3                   in3                     RW     2
in4_max               in4                   in4                     RW     2
in5_max               in5                   in5                     RW     2
temp1                 -                     -                       R-     1
temp1_low             temp1                 temp1                   RW     1
temp1_high            temp1                 temp1                   RW     1
temp2                 -                     -                       R-     1
temp2_low             temp2                 temp2                   RW     1
temp2_high            temp2                 temp2                   RW     1
vid                   -                     -                       R-     3
vrm                   -                     -                       RW     1
alarms                -                     -                       R-     0

LABEL                 FEATURE SYMBOL                              SYSCTL FILE:N
in0                   SENSORS_ADM1025_IN0                                 in0:3
in1                   SENSORS_ADM1025_IN1                                 in1:3
in2                   SENSORS_ADM1025_IN2                                 in2:3
in3                   SENSORS_ADM1025_IN3                                 in3:3
in4                   SENSORS_ADM1025_IN4                                 in4:3
in5                   SENSORS_ADM1025_IN5                                 in5:3
in0_min               SENSORS_ADM1025_IN0_MIN                             in0:1
in1_min               SENSORS_ADM1025_IN1_MIN                             in1:1
in2_min               SENSORS_ADM1025_IN2_MIN                             in2:1
in3_min               SENSORS_ADM1025_IN3_MIN                             in3:1
in4_min               SENSORS_ADM1025_IN4_MIN                             in4:1
in5_min               SENSORS_ADM1025_IN5_MIN                             in5:1
in0_max               SENSORS_ADM1025_IN0_MAX                             in0:2
in1_max               SENSORS_ADM1025_IN1_MAX                             in1:2
in2_max               SENSORS_ADM1025_IN2_MAX                             in2:2
in3_max               SENSORS_ADM1025_IN3_MAX                             in3:2
in4_max               SENSORS_ADM1025_IN4_MAX                             in4:2
in5_max               SENSORS_ADM1025_IN5_MAX                             in5:2
temp1                 SENSORS_ADM1025_TEMP1                             temp1:3
temp1_low             SENSORS_ADM1025_TEMP1_LOW                         temp1:2
temp1_high            SENSORS_ADM1025_TEMP1_HIGH                        temp1:1
temp2                 SENSORS_ADM1025_TEMP2                             temp2:3
temp2_low             SENSORS_ADM1025_TEMP2_LOW                         temp2:2
temp2_high            SENSORS_ADM1025_TEMP2_HIGH                        temp2:1
vid                   SENSORS_ADM1025_VID                                 vid:1
vrm                   SENSORS_ADM1025_VRM                                 vrm:1
alarms                SENSORS_ADM1025_ALARMS                           alarms:1
