| 1 | Kernel driver w83627hf |
| 2 | ====================== |
| 3 | |
| 4 | Supported chips: |
| 5 | * Winbond W83627HF (ISA accesses ONLY) |
| 6 | Prefix: 'w83627hf' |
| 7 | Addresses scanned: ISA address retrieved from Super I/O registers |
| 8 | Datasheet: http://www.winbond.com/PDF/sheet/w83627hf.pdf |
| 9 | * Winbond W83627THF |
| 10 | Prefix: 'w83627thf' |
| 11 | Addresses scanned: ISA address retrieved from Super I/O registers |
| 12 | Datasheet: http://www.winbond.com/PDF/sheet/w83627thf.pdf |
| 13 | * Winbond W83697HF |
| 14 | Prefix: 'w83697hf' |
| 15 | Addresses scanned: ISA address retrieved from Super I/O registers |
| 16 | Datasheet: http://www.winbond.com/PDF/sheet/697hf.pdf |
| 17 | * Winbond W83637HF |
| 18 | Prefix: 'w83637hf' |
| 19 | Addresses scanned: ISA address retrieved from Super I/O registers |
| 20 | Datasheet: http://www.winbond.com/PDF/sheet/w83637hf.pdf |
| 21 | * Winbond W83687THF |
| 22 | Prefix: 'w83687thf' |
| 23 | Addresses scanned: ISA address retrieved from Super I/O registers |
| 24 | Datasheet: Provided by Winbond on request |
| 25 | |
| 26 | Authors: |
| 27 | Frodo Looijaard <frodol@dds.nl>, |
| 28 | Philip Edelbrock <phil@netroedge.com>, |
| 29 | Mark Studebaker <mdsxyz123@yahoo.com>, |
| 30 | Bernhard C. Schrenk <clemy@clemy.org> |
| 31 | |
| 32 | Module Parameters |
| 33 | ----------------- |
| 34 | |
| 35 | * force_i2c: int |
| 36 | Initialize the I2C address of the sensors |
| 37 | * init: int |
| 38 | (default is 1) |
| 39 | Use 'init=0' to bypass initializing the chip. |
| 40 | Try this if your computer crashes when you load the module. |
| 41 | |
| 42 | Description |
| 43 | ----------- |
| 44 | |
| 45 | This driver implements support for ISA accesses *only* for |
| 46 | the Winbond W83627HF, W83627THF, W83697HF and W83637HF Super I/O chips. |
| 47 | We will refer to them collectively as Winbond chips. |
| 48 | |
| 49 | This driver supports ISA accesses, which should be more reliable |
| 50 | than i2c accesses. Also, for Tyan boards which contain both a |
| 51 | Super I/O chip and a second i2c-only Winbond chip (often a W83782D), |
| 52 | using this driver will avoid i2c address conflicts and complex |
| 53 | initialization that were required in the w83781d driver. |
| 54 | |
| 55 | If you really want i2c accesses for these Super I/O chips, |
| 56 | use the w83781d driver. However this is not the preferred method |
| 57 | now that this ISA driver has been developed. |
| 58 | |
| 59 | The w83627_HF_ uses pins 110-106 as VID0-VID4. The w83627_THF_ uses the |
| 60 | same pins as GPIO[0:4]. Technically, the w83627_THF_ does not support a |
| 61 | VID reading. However the two chips have the identical 128 pin package. So, |
| 62 | it is possible or even likely for a w83627thf to have the VID signals routed |
| 63 | to these pins despite their not being labeled for that purpose. Therefore, |
| 64 | the w83627thf driver interprets these as VID. If the VID on your board |
| 65 | doesn't work, first see doc/vid in the lm_sensors package[1]. If that still |
| 66 | doesn't help, you may just ignore the bogus VID reading with no harm done. |
| 67 | |
| 68 | For further information on this driver see the w83781d driver documentation. |
| 69 | |
| 70 | [1] http://www.lm-sensors.org/browser/lm-sensors/trunk/doc/vid |
| 71 | |
| 72 | Forcing the address |
| 73 | ------------------- |
| 74 | |
| 75 | The driver used to have a module parameter named force_addr, which could |
| 76 | be used to force the base I/O address of the hardware monitoring block. |
| 77 | This was meant as a workaround for mainboards with a broken BIOS. This |
| 78 | module parameter is gone for technical reasons. If you need this feature, |
| 79 | you can obtain the same result by using the isaset tool (part of |
| 80 | lm-sensors) before loading the driver: |
| 81 | |
| 82 | # Enter the Super I/O config space |
| 83 | isaset -y -f 0x2e 0x87 |
| 84 | isaset -y -f 0x2e 0x87 |
| 85 | |
| 86 | # Select the hwmon logical device |
| 87 | isaset -y 0x2e 0x2f 0x07 0x0b |
| 88 | |
| 89 | # Set the base I/O address (to 0x290 in this example) |
| 90 | isaset -y 0x2e 0x2f 0x60 0x02 |
| 91 | isaset -y 0x2e 0x2f 0x61 0x90 |
| 92 | |
| 93 | # Exit the Super-I/O config space |
| 94 | isaset -y -f 0x2e 0xaa |
| 95 | |
| 96 | The above sequence assumes a Super-I/O config space at 0x2e/0x2f, but |
| 97 | 0x4e/0x4f is also possible. |