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