1Kernel driver w83627ehf 2======================= 3 4Supported chips: 5 * Winbond W83627EHF/EHG (ISA access ONLY) 6 Prefix: 'w83627ehf' 7 Addresses scanned: ISA address retrieved from Super I/O registers 8 Datasheet: 9 http://www.nuvoton.com.tw/NR/rdonlyres/A6A258F0-F0C9-4F97-81C0-C4D29E7E943E/0/W83627EHF.pdf 10 * Winbond W83627DHG 11 Prefix: 'w83627dhg' 12 Addresses scanned: ISA address retrieved from Super I/O registers 13 Datasheet: 14 http://www.nuvoton.com.tw/NR/rdonlyres/7885623D-A487-4CF9-A47F-30C5F73D6FE6/0/W83627DHG.pdf 15 * Winbond W83627DHG-P 16 Prefix: 'w83627dhg' 17 Addresses scanned: ISA address retrieved from Super I/O registers 18 Datasheet: not available 19 * Winbond W83667HG 20 Prefix: 'w83667hg' 21 Addresses scanned: ISA address retrieved from Super I/O registers 22 Datasheet: not available 23 * Winbond W83667HG-B 24 Prefix: 'w83667hg' 25 Addresses scanned: ISA address retrieved from Super I/O registers 26 Datasheet: Available from Nuvoton upon request 27 28Authors: 29 Jean Delvare <khali@linux-fr.org> 30 Yuan Mu (Winbond) 31 Rudolf Marek <r.marek@assembler.cz> 32 David Hubbard <david.c.hubbard@gmail.com> 33 Gong Jun <JGong@nuvoton.com> 34 35Description 36----------- 37 38This driver implements support for the Winbond W83627EHF, W83627EHG, 39W83627DHG, W83627DHG-P, W83667HG and W83667HG-B super I/O chips. 40We will refer to them collectively as Winbond chips. 41 42The chips implement three temperature sensors, five fan rotation 43speed sensors, ten analog voltage sensors (only nine for the 627DHG), one 44VID (6 pins for the 627EHF/EHG, 8 pins for the 627DHG and 667HG), alarms 45with beep warnings (control unimplemented), and some automatic fan 46regulation strategies (plus manual fan control mode). 47 48Temperatures are measured in degrees Celsius and measurement resolution is 1 49degC for temp1 and 0.5 degC for temp2 and temp3. An alarm is triggered when 50the temperature gets higher than high limit; it stays on until the temperature 51falls below the hysteresis value. 52 53Fan rotation speeds are reported in RPM (rotations per minute). An alarm is 54triggered if the rotation speed has dropped below a programmable limit. Fan 55readings can be divided by a programmable divider (1, 2, 4, 8, 16, 32, 64 or 56128) to give the readings more range or accuracy. The driver sets the most 57suitable fan divisor itself. Some fans might not be present because they 58share pins with other functions. 59 60Voltage sensors (also known as IN sensors) report their values in millivolts. 61An alarm is triggered if the voltage has crossed a programmable minimum 62or maximum limit. 63 64The driver supports automatic fan control mode known as Thermal Cruise. 65In this mode, the chip attempts to keep the measured temperature in a 66predefined temperature range. If the temperature goes out of range, fan 67is driven slower/faster to reach the predefined range again. 68 69The mode works for fan1-fan4. Mapping of temperatures to pwm outputs is as 70follows: 71 72temp1 -> pwm1 73temp2 -> pwm2 74temp3 -> pwm3 75prog -> pwm4 (not on 667HG and 667HG-B; the programmable setting is not 76 supported by the driver) 77 78/sys files 79---------- 80 81name - this is a standard hwmon device entry. For the W83627EHF and W83627EHG, 82 it is set to "w83627ehf", for the W83627DHG it is set to "w83627dhg", 83 and for the W83667HG it is set to "w83667hg". 84 85pwm[1-4] - this file stores PWM duty cycle or DC value (fan speed) in range: 86 0 (stop) to 255 (full) 87 88pwm[1-4]_enable - this file controls mode of fan/temperature control: 89 * 1 Manual mode, write to pwm file any value 0-255 (full speed) 90 * 2 "Thermal Cruise" mode 91 * 3 "Fan Speed Cruise" mode 92 * 4 "Smart Fan III" mode 93 94pwm[1-4]_mode - controls if output is PWM or DC level 95 * 0 DC output (0 - 12v) 96 * 1 PWM output 97 98Thermal Cruise mode 99------------------- 100 101If the temperature is in the range defined by: 102 103pwm[1-4]_target - set target temperature, unit millidegree Celsius 104 (range 0 - 127000) 105pwm[1-4]_tolerance - tolerance, unit millidegree Celsius (range 0 - 15000) 106 107there are no changes to fan speed. Once the temperature leaves the interval, 108fan speed increases (temp is higher) or decreases if lower than desired. 109There are defined steps and times, but not exported by the driver yet. 110 111pwm[1-4]_min_output - minimum fan speed (range 1 - 255), when the temperature 112 is below defined range. 113pwm[1-4]_stop_time - how many milliseconds [ms] must elapse to switch 114 corresponding fan off. (when the temperature was below 115 defined range). 116 117Note: last two functions are influenced by other control bits, not yet exported 118 by the driver, so a change might not have any effect. 119 120Implementation Details 121---------------------- 122 123Future driver development should bear in mind that the following registers have 124different functions on the 627EHF and the 627DHG. Some registers also have 125different power-on default values, but BIOS should already be loading 126appropriate defaults. Note that bank selection must be performed as is currently 127done in the driver for all register addresses. 128 1290x49: only on DHG, selects temperature source for AUX fan, CPU fan0 1300x4a: not completely documented for the EHF and the DHG documentation assigns 131 different behavior to bits 7 and 6, including extending the temperature 132 input selection to SmartFan I, not just SmartFan III. Testing on the EHF 133 will reveal whether they are compatible or not. 134 1350x58: Chip ID: 0xa1=EHF 0xc1=DHG 1360x5e: only on DHG, has bits to enable "current mode" temperature detection and 137 critical temperature protection 1380x45b: only on EHF, bit 3, vin4 alarm (EHF supports 10 inputs, only 9 on DHG) 1390x552: only on EHF, vin4 1400x558: only on EHF, vin4 high limit 1410x559: only on EHF, vin4 low limit 1420x6b: only on DHG, SYS fan critical temperature 1430x6c: only on DHG, CPU fan0 critical temperature 1440x6d: only on DHG, AUX fan critical temperature 1450x6e: only on DHG, CPU fan1 critical temperature 146 1470x50-0x55 and 0x650-0x657 are marked "Test Register" for the EHF, but "Reserved 148 Register" for the DHG 149 150The DHG also supports PECI, where the DHG queries Intel CPU temperatures, and 151the ICH8 southbridge gets that data via PECI from the DHG, so that the 152southbridge drives the fans. And the DHG supports SST, a one-wire serial bus. 153 154The DHG-P has an additional automatic fan speed control mode named Smart Fan 155(TM) III+. This mode is not yet supported by the driver. 156