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