Kernel driver w83627hf
======================

Supported chips:
  * Winbond W83627HF (ISA accesses ONLY)
    Prefix: 'w83627hf'
    Addresses scanned: ISA address retrieved from Super I/O registers
  * Winbond W83627THF
    Prefix: 'w83627thf'
    Addresses scanned: ISA address retrieved from Super I/O registers
  * Winbond W83697HF
    Prefix: 'w83697hf'
    Addresses scanned: ISA address retrieved from Super I/O registers
  * Winbond W83637HF
    Prefix: 'w83637hf'
    Addresses scanned: ISA address retrieved from Super I/O registers
  * Winbond W83687THF
    Prefix: 'w83687thf'
    Addresses scanned: ISA address retrieved from Super I/O registers
    Datasheet: Provided by Winbond on request(http://www.winbond.com/hq/enu)

Authors:
        Frodo Looijaard <frodol@dds.nl>,
        Philip Edelbrock <phil@netroedge.com>,
        Mark Studebaker <mdsxyz123@yahoo.com>,
        Bernhard C. Schrenk <clemy@clemy.org>

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

* force_i2c: int
  Initialize the I2C address of the sensors
* init: int
  (default is 1)
  Use 'init=0' to bypass initializing the chip.
  Try this if your computer crashes when you load the module.

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

This driver implements support for ISA accesses *only* for
the Winbond W83627HF, W83627THF, W83697HF and W83637HF Super I/O chips.
We will refer to them collectively as Winbond chips.

This driver supports ISA accesses, which should be more reliable
than i2c accesses. Also, for Tyan boards which contain both a
Super I/O chip and a second i2c-only Winbond chip (often a W83782D),
using this driver will avoid i2c address conflicts and complex
initialization that were required in the w83781d driver.

If you really want i2c accesses for these Super I/O chips,
use the w83781d driver. However this is not the preferred method
now that this ISA driver has been developed.

The w83627_HF_ uses pins 110-106 as VID0-VID4. The w83627_THF_ uses the
same pins as GPIO[0:4]. Technically, the w83627_THF_ does not support a
VID reading. However the two chips have the identical 128 pin package. So,
it is possible or even likely for a w83627thf to have the VID signals routed
to these pins despite their not being labeled for that purpose. Therefore,
the w83627thf driver interprets these as VID. If the VID on your board
doesn't work, first see doc/vid in the lm_sensors package[1]. If that still
doesn't help, you may just ignore the bogus VID reading with no harm done.

For further information on this driver see the w83781d driver documentation.

[1] http://www.lm-sensors.org/browser/lm-sensors/trunk/doc/vid

Forcing the address
-------------------

The driver used to have a module parameter named force_addr, which could
be used to force the base I/O address of the hardware monitoring block.
This was meant as a workaround for mainboards with a broken BIOS. This
module parameter is gone for technical reasons. If you need this feature,
you can obtain the same result by using the isaset tool (part of
lm-sensors) before loading the driver:

# Enter the Super I/O config space
isaset -y -f 0x2e 0x87
isaset -y -f 0x2e 0x87

# Select the hwmon logical device
isaset -y 0x2e 0x2f 0x07 0x0b

# Set the base I/O address (to 0x290 in this example)
isaset -y 0x2e 0x2f 0x60 0x02
isaset -y 0x2e 0x2f 0x61 0x90

# Exit the Super-I/O config space
isaset -y -f 0x2e 0xaa

The above sequence assumes a Super-I/O config space at 0x2e/0x2f, but
0x4e/0x4f is also possible.

Voltage pin mapping
-------------------

Here is a summary of the voltage pin mapping for the W83627THF. This
can be useful to convert data provided by board manufacturers into
working libsensors configuration statements.

    W83627THF		|
  Pin	| Name		| Register	| Sysfs attribute
-----------------------------------------------------
  100	| CPUVCORE	| 20h		| in0
   99	| VIN0		| 21h		| in1
   98	| VIN1		| 22h		| in2
   97	| VIN2		| 24h		| in4
  114	| AVCC		| 23h		| in3
   61	| 5VSB		| 50h (bank 5)	| in7
   74	| VBAT		| 51h (bank 5)	| in8

For other supported devices, you'll have to take the hard path and
look up the information in the datasheet yourself (and then add it
to this document please.)