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