Kernel driver `maxilife.o'
==========================

Status: Mostly done and tested

Supported chips:
  * Hewlett Packard Maxilife Revision AS 00.01 for Single Pentium II Slot 1
    Prefix: 'maxilife-as'
    Addresses scanned: I2C 0x10 - 0x14
    Datasheet: Only available under NDA
  * Hewlett Packard Maxilife Revision CO 00.03 for Dual Xeon Slot 2
    Prefix: 'maxilife-co'
    Addresses scanned: I2C 0x10 - 0x14
    Datasheet: Only available under NDA
  * Hewlett Packard Maxilife Revision CG 00.04 for Dual Pentium II Slot 1
    Prefix: 'maxilife-cg'
    Addresses scanned: I2C 0x10 - 0x14
    Datasheet: Only available under NDA
  * Hewlett Packard NBA (New BIOS Architecture) for newer machines,
        for example Kayak XU800 and XM600.
    Prefix: 'maxilife-nba'
    Addresses scanned: I2C 0x10 - 0x14
    Datasheet: Only available under NDA
    
Author: Fons Rademakers <Fons.Rademakers@cern.ch>

License: GPL


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

* force: short array (min = 1, max = 48)
  List of adapter,address pairs to boldly assume to be present
* force_maxilife: short array (min = 1, max = 48)
  List of adapter,address pairs which are unquestionably assumed to contain
  a `maxilife' 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
* maxi_version: int
  MaxiLife firmware version


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

The is the driver for the HP MaxiLife Health monitoring system
as used in the line of HP Kayak Workstation PC's.

The driver supports the following MaxiLife firmware versions:

0) HP KAYAK XU/XAs (Dual Pentium II Slot 1, Deschutes/Klamath)
1) HP KAYAK XU (Dual Xeon [Slot 2] 400/450 Mhz)
2) HP KAYAK XA (Pentium II Slot 1, monoprocessor)

Currently firmware auto detection is not implemented. To use the
driver load it with the correct option for you Kayak. For example:

insmod maxilife.o maxi_version=0 | 1 | 2

maxi_version=0 is the default


The lm75's are indeed accessable in the regular way via the lm75 module.
They worked out of the box. However, I don't use the "raw" lm75 info.
MaxiLife takes care of reading out the lm75's and converts the values to
temperatures. Compared to some of the other monitoring controllers MaxiLife
is quite advanced. It takes care of a lot of issues, like setting ranges,
raising alarms, etc. Machines with MaxiLife also have a little LCD display
on their front (lcd is at address 0x54). The idea is that later versions
of the driver will write health info on the lcd (a bit like lcdproc).


Note
----
sensors-detect does not support recognition of the maxilife chips.


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

Chip 'maxilife-as'

LABEL                 LABEL CLASS           COMPUTE CLASS          MODE  MAGN
fan1                  -                     -                       R-     0
fan2                  -                     -                       R-     0
fan3                  -                     -                       R-     0
fan1_min              fan1                  fan1                    RW     0
fan2_min              fan2                  fan2                    RW     0
fan3_min              fan3                  fan3                    RW     0
fan1_div              fan1                  -                       R-     0
fan2_div              fan2                  -                       R-     0
fan3_div              fan3                  -                       R-     0
temp1                 -                     -                       R-     1
temp2                 -                     -                       R-     1
temp3                 -                     -                       R-     1
temp4                 -                     -                       R-     1
temp5                 -                     -                       R-     1
temp1_max             temp1                 temp1                   R-     1
temp2_max             temp2                 temp2                   R-     1
temp3_max             temp3                 temp3                   R-     1
temp4_max             temp4                 temp4                   R-     1
temp5_max             temp5                 temp5                   R-     1
temp1_hyst            temp1                 temp1                   R-     1
temp2_hyst            temp2                 temp2                   R-     1
temp3_hyst            temp3                 temp3                   R-     1
temp4_hyst            temp4                 temp4                   R-     1
temp5_hyst            temp5                 temp5                   R-     1
pll                   -                     -                       R-     2
pll_min               pll                   pll                     RW     2
pll_max               pll                   pll                     RW     2
vid1                  -                     -                       R-     4
vid2                  -                     -                       R-     4
vid3                  -                     -                       R-     4
vid4                  -                     -                       R-     4
vid1_min              vid1                  vid1                    RW     4
vid2_min              vid2                  vid2                    RW     4
vid3_min              vid3                  vid3                    RW     4
vid4_min              vid4                  vid4                    RW     4
vid1_max              vid1                  vid1                    RW     4
vid2_max              vid2                  vid2                    RW     4
vid3_max              vid3                  vid3                    RW     4
vid4_max              vid4                  vid4                    RW     4
alarms                -                     -                       R-     0

LABEL                 FEATURE SYMBOL                              SYSCTL FILE:N
fan1                  SENSORS_MAXI_AS_FAN1                               fan1:3
fan2                  SENSORS_MAXI_AS_FAN2                               fan2:3
fan3                  SENSORS_MAXI_AS_FAN3                               fan3:3
fan1_min              SENSORS_MAXI_AS_FAN1_MIN                           fan1:1
fan2_min              SENSORS_MAXI_AS_FAN2_MIN                           fan2:1
fan3_min              SENSORS_MAXI_AS_FAN3_MIN                           fan3:1
fan1_div              SENSORS_MAXI_AS_FAN1_DIV                           fan1:2
fan2_div              SENSORS_MAXI_AS_FAN2_DIV                           fan2:2
fan3_div              SENSORS_MAXI_AS_FAN3_DIV                           fan3:2
temp1                 SENSORS_MAXI_AS_TEMP1                             temp1:3
temp2                 SENSORS_MAXI_AS_TEMP2                             temp2:3
temp3                 SENSORS_MAXI_AS_TEMP3                             temp3:3
temp4                 SENSORS_MAXI_AS_TEMP4                             temp4:3
temp5                 SENSORS_MAXI_AS_TEMP5                             temp5:3
temp1_max             SENSORS_MAXI_AS_TEMP1_MAX                         temp1:1
temp2_max             SENSORS_MAXI_AS_TEMP2_MAX                         temp2:1
temp3_max             SENSORS_MAXI_AS_TEMP3_MAX                         temp3:1
temp4_max             SENSORS_MAXI_AS_TEMP4_MAX                         temp4:1
temp5_max             SENSORS_MAXI_AS_TEMP5_MAX                         temp5:1
temp1_hyst            SENSORS_MAXI_AS_TEMP1_HYST                        temp1:2
temp2_hyst            SENSORS_MAXI_AS_TEMP2_HYST                        temp2:2
temp3_hyst            SENSORS_MAXI_AS_TEMP3_HYST                        temp3:2
temp4_hyst            SENSORS_MAXI_AS_TEMP4_HYST                        temp4:2
temp5_hyst            SENSORS_MAXI_AS_TEMP5_HYST                        temp5:2
pll                   SENSORS_MAXI_AS_PLL                                 pll:3
pll_min               SENSORS_MAXI_AS_PLL_MIN                             pll:1
pll_max               SENSORS_MAXI_AS_PLL_MAX                             pll:2
vid1                  SENSORS_MAXI_AS_VID1                               vid1:3
vid2                  SENSORS_MAXI_AS_VID2                               vid2:3
vid3                  SENSORS_MAXI_AS_VID3                               vid3:3
vid4                  SENSORS_MAXI_AS_VID4                               vid4:3
vid1_min              SENSORS_MAXI_AS_VID1_MIN                           vid1:1
vid2_min              SENSORS_MAXI_AS_VID2_MIN                           vid2:1
vid3_min              SENSORS_MAXI_AS_VID3_MIN                           vid3:1
vid4_min              SENSORS_MAXI_AS_VID4_MIN                           vid4:1
vid1_max              SENSORS_MAXI_AS_VID1_MAX                           vid1:2
vid2_max              SENSORS_MAXI_AS_VID2_MAX                           vid2:2
vid3_max              SENSORS_MAXI_AS_VID3_MAX                           vid3:2
vid4_max              SENSORS_MAXI_AS_VID4_MAX                           vid4:2
alarms                SENSORS_MAXI_AS_ALARMS                           alarms:1


Chip 'maxilife-cg'

LABEL                 LABEL CLASS           COMPUTE CLASS          MODE  MAGN
fan1                  -                     -                       R-     0
fan2                  -                     -                       R-     0
fan3                  -                     -                       R-     0
fan1_min              fan1                  fan1                    RW     0
fan2_min              fan2                  fan2                    RW     0
fan3_min              fan3                  fan3                    RW     0
fan1_div              fan1                  -                       R-     0
fan2_div              fan2                  -                       R-     0
fan3_div              fan3                  -                       R-     0
temp1                 -                     -                       R-     1
temp2                 -                     -                       R-     1
temp3                 -                     -                       R-     1
temp4                 -                     -                       R-     1
temp5                 -                     -                       R-     1
temp1_max             temp1                 temp1                   R-     1
temp2_max             temp2                 temp2                   R-     1
temp3_max             temp3                 temp3                   R-     1
temp4_max             temp4                 temp4                   R-     1
temp5_max             temp5                 temp5                   R-     1
temp1_hyst            temp1                 temp1                   R-     1
temp2_hyst            temp2                 temp2                   R-     1
temp3_hyst            temp3                 temp3                   R-     1
temp4_hyst            temp4                 temp4                   R-     1
temp5_hyst            temp5                 temp5                   R-     1
pll                   -                     -                       R-     2
pll_min               pll                   pll                     RW     2
pll_max               pll                   pll                     RW     2
vid1                  -                     -                       R-     4
vid2                  -                     -                       R-     4
vid3                  -                     -                       R-     4
vid4                  -                     -                       R-     4
vid1_min              vid1                  vid1                    RW     4
vid2_min              vid2                  vid2                    RW     4
vid3_min              vid3                  vid3                    RW     4
vid4_min              vid4                  vid4                    RW     4
vid1_max              vid1                  vid1                    RW     4
vid2_max              vid2                  vid2                    RW     4
vid3_max              vid3                  vid3                    RW     4
vid4_max              vid4                  vid4                    RW     4
alarms                -                     -                       R-     0

LABEL                 FEATURE SYMBOL                              SYSCTL FILE:N
fan1                  SENSORS_MAXI_CG_FAN1                               fan1:3
fan2                  SENSORS_MAXI_CG_FAN2                               fan2:3
fan3                  SENSORS_MAXI_CG_FAN3                               fan3:3
fan1_min              SENSORS_MAXI_CG_FAN1_MIN                           fan1:1
fan2_min              SENSORS_MAXI_CG_FAN2_MIN                           fan2:1
fan3_min              SENSORS_MAXI_CG_FAN3_MIN                           fan3:1
fan1_div              SENSORS_MAXI_CG_FAN1_DIV                           fan1:2
fan2_div              SENSORS_MAXI_CG_FAN2_DIV                           fan2:2
fan3_div              SENSORS_MAXI_CG_FAN3_DIV                           fan3:2
temp1                 SENSORS_MAXI_CG_TEMP1                             temp1:3
temp2                 SENSORS_MAXI_CG_TEMP2                             temp2:3
temp3                 SENSORS_MAXI_CG_TEMP3                             temp3:3
temp4                 SENSORS_MAXI_CG_TEMP4                             temp4:3
temp5                 SENSORS_MAXI_CG_TEMP5                             temp5:3
temp1_max             SENSORS_MAXI_CG_TEMP1_MAX                         temp1:1
temp2_max             SENSORS_MAXI_CG_TEMP2_MAX                         temp2:1
temp3_max             SENSORS_MAXI_CG_TEMP3_MAX                         temp3:1
temp4_max             SENSORS_MAXI_CG_TEMP4_MAX                         temp4:1
temp5_max             SENSORS_MAXI_CG_TEMP5_MAX                         temp5:1
temp1_hyst            SENSORS_MAXI_CG_TEMP1_HYST                        temp1:2
temp2_hyst            SENSORS_MAXI_CG_TEMP2_HYST                        temp2:2
temp3_hyst            SENSORS_MAXI_CG_TEMP3_HYST                        temp3:2
temp4_hyst            SENSORS_MAXI_CG_TEMP4_HYST                        temp4:2
temp5_hyst            SENSORS_MAXI_CG_TEMP5_HYST                        temp5:2
pll                   SENSORS_MAXI_CG_PLL                                 pll:3
pll_min               SENSORS_MAXI_CG_PLL_MIN                             pll:1
pll_max               SENSORS_MAXI_CG_PLL_MAX                             pll:2
vid1                  SENSORS_MAXI_CG_VID1                               vid1:3
vid2                  SENSORS_MAXI_CG_VID2                               vid2:3
vid3                  SENSORS_MAXI_CG_VID3                               vid3:3
vid4                  SENSORS_MAXI_CG_VID4                               vid4:3
vid1_min              SENSORS_MAXI_CG_VID1_MIN                           vid1:1
vid2_min              SENSORS_MAXI_CG_VID2_MIN                           vid2:1
vid3_min              SENSORS_MAXI_CG_VID3_MIN                           vid3:1
vid4_min              SENSORS_MAXI_CG_VID4_MIN                           vid4:1
vid1_max              SENSORS_MAXI_CG_VID1_MAX                           vid1:2
vid2_max              SENSORS_MAXI_CG_VID2_MAX                           vid2:2
vid3_max              SENSORS_MAXI_CG_VID3_MAX                           vid3:2
vid4_max              SENSORS_MAXI_CG_VID4_MAX                           vid4:2
alarms                SENSORS_MAXI_CG_ALARMS                           alarms:1


Chip 'maxilife-co'

LABEL                 LABEL CLASS           COMPUTE CLASS          MODE  MAGN
fan1                  -                     -                       R-     0
fan2                  -                     -                       R-     0
fan3                  -                     -                       R-     0
fan1_min              fan1                  fan1                    RW     0
fan2_min              fan2                  fan2                    RW     0
fan3_min              fan3                  fan3                    RW     0
fan1_div              fan1                  -                       R-     0
fan2_div              fan2                  -                       R-     0
fan3_div              fan3                  -                       R-     0
temp1                 -                     -                       R-     1
temp2                 -                     -                       R-     1
temp3                 -                     -                       R-     1
temp4                 -                     -                       R-     1
temp5                 -                     -                       R-     1
temp1_max             temp1                 temp1                   R-     1
temp2_max             temp2                 temp2                   R-     1
temp3_max             temp3                 temp3                   R-     1
temp4_max             temp4                 temp4                   R-     1
temp5_max             temp5                 temp5                   R-     1
temp1_hyst            temp1                 temp1                   R-     1
temp2_hyst            temp2                 temp2                   R-     1
temp3_hyst            temp3                 temp3                   R-     1
temp4_hyst            temp4                 temp4                   R-     1
temp5_hyst            temp5                 temp5                   R-     1
pll                   -                     -                       R-     2
pll_min               pll                   pll                     RW     2
pll_max               pll                   pll                     RW     2
vid1                  -                     -                       R-     4
vid2                  -                     -                       R-     4
vid3                  -                     -                       R-     4
vid4                  -                     -                       R-     4
vid1_min              vid1                  vid1                    RW     4
vid2_min              vid2                  vid2                    RW     4
vid3_min              vid3                  vid3                    RW     4
vid4_min              vid4                  vid4                    RW     4
vid1_max              vid1                  vid1                    RW     4
vid2_max              vid2                  vid2                    RW     4
vid3_max              vid3                  vid3                    RW     4
vid4_max              vid4                  vid4                    RW     4
alarms                -                     -                       R-     0

LABEL                 FEATURE SYMBOL                              SYSCTL FILE:N
fan1                  SENSORS_MAXI_CO_FAN1                               fan1:3
fan2                  SENSORS_MAXI_CO_FAN2                               fan2:3
fan3                  SENSORS_MAXI_CO_FAN3                               fan3:3
fan1_min              SENSORS_MAXI_CO_FAN1_MIN                           fan1:1
fan2_min              SENSORS_MAXI_CO_FAN2_MIN                           fan2:1
fan3_min              SENSORS_MAXI_CO_FAN3_MIN                           fan3:1
fan1_div              SENSORS_MAXI_CO_FAN1_DIV                           fan1:2
fan2_div              SENSORS_MAXI_CO_FAN2_DIV                           fan2:2
fan3_div              SENSORS_MAXI_CO_FAN3_DIV                           fan3:2
temp1                 SENSORS_MAXI_CO_TEMP1                             temp1:3
temp2                 SENSORS_MAXI_CO_TEMP2                             temp2:3
temp3                 SENSORS_MAXI_CO_TEMP3                             temp3:3
temp4                 SENSORS_MAXI_CO_TEMP4                             temp4:3
temp5                 SENSORS_MAXI_CO_TEMP5                             temp5:3
temp1_max             SENSORS_MAXI_CO_TEMP1_MAX                         temp1:1
temp2_max             SENSORS_MAXI_CO_TEMP2_MAX                         temp2:1
temp3_max             SENSORS_MAXI_CO_TEMP3_MAX                         temp3:1
temp4_max             SENSORS_MAXI_CO_TEMP4_MAX                         temp4:1
temp5_max             SENSORS_MAXI_CO_TEMP5_MAX                         temp5:1
temp1_hyst            SENSORS_MAXI_CO_TEMP1_HYST                        temp1:2
temp2_hyst            SENSORS_MAXI_CO_TEMP2_HYST                        temp2:2
temp3_hyst            SENSORS_MAXI_CO_TEMP3_HYST                        temp3:2
temp4_hyst            SENSORS_MAXI_CO_TEMP4_HYST                        temp4:2
temp5_hyst            SENSORS_MAXI_CO_TEMP5_HYST                        temp5:2
pll                   SENSORS_MAXI_CO_PLL                                 pll:3
pll_min               SENSORS_MAXI_CO_PLL_MIN                             pll:1
pll_max               SENSORS_MAXI_CO_PLL_MAX                             pll:2
vid1                  SENSORS_MAXI_CO_VID1                               vid1:3
vid2                  SENSORS_MAXI_CO_VID2                               vid2:3
vid3                  SENSORS_MAXI_CO_VID3                               vid3:3
vid4                  SENSORS_MAXI_CO_VID4                               vid4:3
vid1_min              SENSORS_MAXI_CO_VID1_MIN                           vid1:1
vid2_min              SENSORS_MAXI_CO_VID2_MIN                           vid2:1
vid3_min              SENSORS_MAXI_CO_VID3_MIN                           vid3:1
vid4_min              SENSORS_MAXI_CO_VID4_MIN                           vid4:1
vid1_max              SENSORS_MAXI_CO_VID1_MAX                           vid1:2
vid2_max              SENSORS_MAXI_CO_VID2_MAX                           vid2:2
vid3_max              SENSORS_MAXI_CG_VID3_MAX                           vid3:2
vid4_max              SENSORS_MAXI_CO_VID4_MAX                           vid4:2
alarms                SENSORS_MAXI_CO_ALARMS                           alarms:1


Chip 'maxilife-nba'

LABEL                 LABEL CLASS           COMPUTE CLASS          MODE  MAGN
fan1                  -                     -                       R-     0
fan2                  -                     -                       R-     0
fan3                  -                     -                       R-     0
fan1_min              fan1                  fan1                    RW     0
fan2_min              fan2                  fan2                    RW     0
fan3_min              fan3                  fan3                    RW     0
fan1_div              fan1                  -                       R-     0
fan2_div              fan2                  -                       R-     0
fan3_div              fan3                  -                       R-     0
temp1                 -                     -                       R-     1
temp2                 -                     -                       R-     1
temp3                 -                     -                       R-     1
temp4                 -                     -                       R-     1
temp5                 -                     -                       R-     1
temp1_max             temp1                 temp1                   R-     1
temp2_max             temp2                 temp2                   R-     1
temp3_max             temp3                 temp3                   R-     1
temp4_max             temp4                 temp4                   R-     1
temp5_max             temp5                 temp5                   R-     1
temp1_hyst            temp1                 temp1                   R-     1
temp2_hyst            temp2                 temp2                   R-     1
temp3_hyst            temp3                 temp3                   R-     1
temp4_hyst            temp4                 temp4                   R-     1
temp5_hyst            temp5                 temp5                   R-     1
pll                   -                     -                       R-     2
pll_min               pll                   pll                     RW     2
pll_max               pll                   pll                     RW     2
vid1                  -                     -                       R-     4
vid2                  -                     -                       R-     4
vid3                  -                     -                       R-     4
vid4                  -                     -                       R-     4
vid1_min              vid1                  vid1                    RW     4
vid2_min              vid2                  vid2                    RW     4
vid3_min              vid3                  vid3                    RW     4
vid4_min              vid4                  vid4                    RW     4
vid1_max              vid1                  vid1                    RW     4
vid2_max              vid2                  vid2                    RW     4
vid3_max              vid3                  vid3                    RW     4
vid4_max              vid4                  vid4                    RW     4
alarms                -                     -                       R-     0

LABEL                 FEATURE SYMBOL                              SYSCTL FILE:N
fan1                  SENSORS_MAXI_AS_FAN1                               fan1:3
fan2                  SENSORS_MAXI_AS_FAN2                               fan2:3
fan3                  SENSORS_MAXI_AS_FAN3                               fan3:3
fan1_min              SENSORS_MAXI_AS_FAN1_MIN                           fan1:1
fan2_min              SENSORS_MAXI_AS_FAN2_MIN                           fan2:1
fan3_min              SENSORS_MAXI_AS_FAN3_MIN                           fan3:1
fan1_div              SENSORS_MAXI_AS_FAN1_DIV                           fan1:2
fan2_div              SENSORS_MAXI_AS_FAN2_DIV                           fan2:2
fan3_div              SENSORS_MAXI_AS_FAN3_DIV                           fan3:2
temp1                 SENSORS_MAXI_AS_TEMP1                             temp1:3
temp2                 SENSORS_MAXI_AS_TEMP2                             temp2:3
temp3                 SENSORS_MAXI_AS_TEMP3                             temp3:3
temp4                 SENSORS_MAXI_AS_TEMP4                             temp4:3
temp5                 SENSORS_MAXI_AS_TEMP5                             temp5:3
temp1_max             SENSORS_MAXI_AS_TEMP1_MAX                         temp1:1
temp2_max             SENSORS_MAXI_AS_TEMP2_MAX                         temp2:1
temp3_max             SENSORS_MAXI_AS_TEMP3_MAX                         temp3:1
temp4_max             SENSORS_MAXI_AS_TEMP4_MAX                         temp4:1
temp5_max             SENSORS_MAXI_AS_TEMP5_MAX                         temp5:1
temp1_hyst            SENSORS_MAXI_AS_TEMP1_HYST                        temp1:2
temp2_hyst            SENSORS_MAXI_AS_TEMP2_HYST                        temp2:2
temp3_hyst            SENSORS_MAXI_AS_TEMP3_HYST                        temp3:2
temp4_hyst            SENSORS_MAXI_AS_TEMP4_HYST                        temp4:2
temp5_hyst            SENSORS_MAXI_AS_TEMP5_HYST                        temp5:2
pll                   SENSORS_MAXI_AS_PLL                                 pll:3
pll_min               SENSORS_MAXI_AS_PLL_MIN                             pll:1
pll_max               SENSORS_MAXI_AS_PLL_MAX                             pll:2
vid1                  SENSORS_MAXI_AS_VID1                               vid1:3
vid2                  SENSORS_MAXI_AS_VID2                               vid2:3
vid3                  SENSORS_MAXI_AS_VID3                               vid3:3
vid4                  SENSORS_MAXI_AS_VID4                               vid4:3
vid1_min              SENSORS_MAXI_AS_VID1_MIN                           vid1:1
vid2_min              SENSORS_MAXI_AS_VID2_MIN                           vid2:1
vid3_min              SENSORS_MAXI_AS_VID3_MIN                           vid3:1
vid4_min              SENSORS_MAXI_AS_VID4_MIN                           vid4:1
vid1_max              SENSORS_MAXI_AS_VID1_MAX                           vid1:2
vid2_max              SENSORS_MAXI_AS_VID2_MAX                           vid2:2
vid3_max              SENSORS_MAXI_AS_VID3_MAX                           vid3:2
vid4_max              SENSORS_MAXI_AS_VID4_MAX                           vid4:2
alarms                SENSORS_MAXI_AS_ALARMS                           alarms:1
