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