Kernel driver `sis5595.o'
=========================

Status: Complete and tested

Supported chips:
  * Silicon Integrated Systems Corp. SiS5595 Southbridge Hardware Monitor
    Prefix: sis5595
    Addresses scanned: ISA in PCI-space encoded address
    Datasheet: Publicly available at the Silicon Integrated Systems Corp. site.

Author: Kysti Mlkki <kmalkki@cc.hut.fi>


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

* force: short array (min = 1, max = 48)
  List of adapter,address pairs to boldly assume to be present
* force_sis5595: short array (min = 1, max = 48)
  List of adapter,address pairs which are unquestionably assumed to contain
  a `sis5595' chip
* 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
* 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


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

The Sis5595 southbridge has integrated hardware monitor functionality.
It also has an I2C bus, but this driver only supports the hardware monitor.

The SiS5595 implements one temperature sensor, two FAN rotation speed
sensors, four voltage sensors and alarms.

Temperatures are measured in degrees Celcius. An alarm is triggered once
when the Overtemperature Shutdown limit is crossed; it is triggered again
as soon as it drops below the Hysteris value.  A more useful behaviour 
can be found by setting the Hysteris value to +127 degrees Celcius; in 
this case, alarms are issued during all the time when the actual temperature
is above the Overtemperature Shutdown value. Measurements are guaranteed
between -55 and +125 degrees, with a resolution of 1 degree.

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. This is important because some FANs
report only one 'tick' each rotation, while others report two - making
all readings twice as high. 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. All voltage
inputs can measure voltages between 0 and 4.08 volts, with a resolution
of 0.016 volt.

In addition to the alarms described above, there is a BTI alarm, which gets 
triggered when an external chip has crossed its limits. Usually, this is 
connected to some LM75-like chip; if at least one crosses its limits, this 
bit gets set. 

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.5 seconds since the last update). This means that you can easily
miss once-only alarms.

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


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

Chip `sis5595'
             LABEL        LABEL CLASS      COMPUTE CLASS ACCESS MAGNITUDE
               in0               NONE               NONE     R     2
               in1               NONE               NONE     R     2
               in2               NONE               NONE     R     2
               in3               NONE               NONE     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
           in0_max                in0                in0     RW    2
           in1_max                in1                in1     RW    2
           in2_max                in2                in2     RW    2
           in3_max                in3                in3     RW    2
              fan1               NONE               NONE     R     0
              fan2               NONE               NONE     R     0
          fan1_min               fan1               fan1     RW    0
          fan2_min               fan2               fan2     RW    0
              temp               NONE               NONE     R     1
         temp_hyst               temp               temp     RW    1
         temp_over               temp               temp     RW    1
          fan1_div               fan1               NONE     RW    0
          fan2_div               fan2               NONE     RW    0
            alarms               NONE               NONE     R     0

             LABEL                          FEATURE SYMBOL        SYSCTL FILE:NR
               in0                     SENSORS_SIS5595_IN0                in0:3
               in1                     SENSORS_SIS5595_IN1                in1:3
               in2                     SENSORS_SIS5595_IN2                in2:3
               in3                     SENSORS_SIS5595_IN3                in3:3
           in0_min                 SENSORS_SIS5595_IN0_MIN                in0:1
           in1_min                 SENSORS_SIS5595_IN1_MIN                in1:1
           in2_min                 SENSORS_SIS5595_IN2_MIN                in2:1
           in3_min                 SENSORS_SIS5595_IN3_MIN                in3:1
           in0_max                 SENSORS_SIS5595_IN0_MAX                in0:2
           in1_max                 SENSORS_SIS5595_IN1_MAX                in1:2
           in2_max                 SENSORS_SIS5595_IN2_MAX                in2:2
           in3_max                 SENSORS_SIS5595_IN3_MAX                in3:2
              fan1                    SENSORS_SIS5595_FAN1               fan1:2
              fan2                    SENSORS_SIS5595_FAN2               fan2:2
          fan1_min                SENSORS_SIS5595_FAN1_MIN               fan1:1
          fan2_min                SENSORS_SIS5595_FAN2_MIN               fan2:1
              temp                    SENSORS_SIS5595_TEMP               temp:3
         temp_hyst               SENSORS_SIS5595_TEMP_HYST               temp:2
         temp_over               SENSORS_SIS5595_TEMP_OVER               temp:1
          fan1_div                SENSORS_SIS5595_FAN1_DIV            fan_div:1
          fan2_div                SENSORS_SIS5595_FAN2_DIV            fan_div:2
            alarms                  SENSORS_SIS5595_ALARMS             alarms:1


