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 (inclusive)
    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 (inclusive)
    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 (inclusive)
    Datasheet: Only available under NDA
    
Author: Fons Rademakers <Fons.Rademakers@cern.ch>


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

* 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).


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

Chip `maxilife-as'
             LABEL        LABEL CLASS      COMPUTE CLASS ACCESS MAGNITUDE
              fan1               NONE               NONE     R     0
              fan2               NONE               NONE     R     0
              fan3               NONE               NONE     R     0
          fan1_min               fan1               fan1     RW    0
          fan2_min               fan2               fan2     RW    0
          fan3_min               fan3               fan3     RW    0
          fan1_div               fan1               NONE     R     0
          fan2_div               fan2               NONE     R     0
          fan3_div               fan3               NONE     R     0
             temp1               NONE               NONE     R     1
             temp2               NONE               NONE     R     1
             temp3               NONE               NONE     R     1
             temp4               NONE               NONE     R     1
             temp5               NONE               NONE     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               NONE               NONE     R     2
           pll_min                pll                pll     RW    2
           pll_max                pll                pll     RW    2
              vid1               NONE               NONE     R     4
              vid2               NONE               NONE     R     4
              vid3               NONE               NONE     R     4
              vid4               NONE               NONE     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               NONE               NONE     R     0

             LABEL                          FEATURE SYMBOL        SYSCTL FILE:NR
              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-co'
             LABEL        LABEL CLASS      COMPUTE CLASS ACCESS MAGNITUDE
              fan1               NONE               NONE     R     0
              fan2               NONE               NONE     R     0
              fan3               NONE               NONE     R     0
          fan1_min               fan1               fan1     RW    0
          fan2_min               fan2               fan2     RW    0
          fan3_min               fan3               fan3     RW    0
          fan1_div               fan1               NONE     R     0
          fan2_div               fan2               NONE     R     0
          fan3_div               fan3               NONE     R     0
             temp1               NONE               NONE     R     1
             temp2               NONE               NONE     R     1
             temp3               NONE               NONE     R     1
             temp4               NONE               NONE     R     1
             temp5               NONE               NONE     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               NONE               NONE     R     2
           pll_min                pll                pll     RW    2
           pll_max                pll                pll     RW    2
              vid1               NONE               NONE     R     4
              vid2               NONE               NONE     R     4
              vid3               NONE               NONE     R     4
              vid4               NONE               NONE     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               NONE               NONE     R     0

             LABEL                          FEATURE SYMBOL        SYSCTL FILE:NR
              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-cg'
             LABEL        LABEL CLASS      COMPUTE CLASS ACCESS MAGNITUDE
              fan1               NONE               NONE     R     0
              fan2               NONE               NONE     R     0
              fan3               NONE               NONE     R     0
          fan1_min               fan1               fan1     RW    0
          fan2_min               fan2               fan2     RW    0
          fan3_min               fan3               fan3     RW    0
          fan1_div               fan1               NONE     R     0
          fan2_div               fan2               NONE     R     0
          fan3_div               fan3               NONE     R     0
             temp1               NONE               NONE     R     1
             temp2               NONE               NONE     R     1
             temp3               NONE               NONE     R     1
             temp4               NONE               NONE     R     1
             temp5               NONE               NONE     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               NONE               NONE     R     2
           pll_min                pll                pll     RW    2
           pll_max                pll                pll     RW    2
              vid1               NONE               NONE     R     4
              vid2               NONE               NONE     R     4
              vid3               NONE               NONE     R     4
              vid4               NONE               NONE     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               NONE               NONE     R     0

             LABEL                          FEATURE SYMBOL        SYSCTL FILE:NR
              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
