From db551af7111ec00757d0b5a951ffe8f43f242645 Mon Sep 17 00:00:00 2001 From: Frodo Looijaard Date: Thu, 22 Apr 1999 13:54:49 +0000 Subject: [PATCH] W83781D documentation update git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@411 7894878c-1315-0410-8ee3-d5d059ff63e0 --- doc/chips/w83781d | 431 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 431 insertions(+) diff --git a/doc/chips/w83781d b/doc/chips/w83781d index 27cd775b..40c37eab 100644 --- a/doc/chips/w83781d +++ b/doc/chips/w83781d @@ -1,3 +1,434 @@ +Kernel driver `w83781d.o' +========================= + +Status: W83781D support is complete and well-tested, others are mostly complete + and somewhat tested. + +Supported chips: + * Winbond W83781D + Prefix 'w83781d' + Addresses scanned: I2C 0x20 - 0x2f (inclusive), ISA 0x290 (8 I/O ports) + Datasheet: Publicly available at the Winbond website + * Winbond W83782D + Prefix 'w83782d' + Addresses scanned: I2C 0x20 - 0x2f (inclusive), ISA 0x290 (8 I/O ports) + Datasheet: Available on request from Winbond + * Winbond W83783S + Prefix 'w83783s' + Addresses scanned: I2C 0x20 - 0x2f (inclusive) + Datasheet: Available on request from Winbond + + +Author: Frodo Looijaard , Philip Edelbrock , + and Mark Studebaker + + +Module Parameters +----------------- + +* force: short array (min = 1, max = 48) + List of adapter,address pairs to boldly assume to be present +* force_w83781d: short array (min = 1, max = 48) + List of adapter,address pairs which are unquestionably assumed to contain + a `w83781d' chip +* force_w83782d: short array (min = 1, max = 48) + List of adapter,address pairs which are unquestionably assumed to contain + a `w83782d' chip +* force_w83783s: short array (min = 1, max = 48) + List of adapter,address pairs which are unquestionably assumed to contain + a `w83783s' chip +* ignore: short array (min = 1, max = 48) + List of adapter,address pairs not to scan +* ignore_range: short array (min = 1, max = 48) + List of adapter,start-addr,end-addr triples not to scan +* probe: short array (min = 1, max = 48) + List of adapter,address pairs to scan additionally +* probe_range: short array (min = 1, max = 48) + List of adapter,start-addr,end-addr triples to scan additionally + + +Description +----------- + +This driver implements support for the Winbond W83781D, W83782D and W83783S. +We will refer to them collectively as W8378* chips. + +There is quite some difference between these chips, but they are similar +enough that it was sensible to put them together in one driver. + +Detection of these chips can sometimes be foiled because they can be in +an internal state that allows no clean access. If you know the address +of the chip, use a 'force' parameter; this will put them into a more +well-behaved state first. + +The W8378* implements temperature sensors (three on the W83781D and W83782D, +two on the W83783S), three FAN rotation speed sensors, voltage sensors +(seven on the W83781D, nine on the W83782D and six on the W83783S), VID +lines, alarms with beep warnings, and some miscellaneous stuff. + +Temperatures are measured in degrees Celcius. There is always one main +temperature sensor, and one (W83783S) or two (W83781D and W83782D) other +sensors. An alarm is triggered for the main sensor once when the +Overtemperature Shutdown limit is crossed; it is triggered again as soon as +it drops below the Hysteris value. A more useful behaviour +can be found by setting the Hysteris value to +127 degrees Celcius; in +this case, alarms are issued during all the time when the actual temperature +is above the Overtemperature Shutdown value. For the other sensor(s), an +alarm is triggered when the temperature gets higher then the Overtemperature +Shutdown value; it stays on until the temperature falls below the Hysteris +value. But on the W83781D, there is only one alarm that functions for both +other sensors! Temperatures are guaranteed within a range of -55 to +125 +degrees. The main temperature sensors has a resolution of 1 degree; the other +sensor(s) of 0.5 degree. + +FAN rotation speeds are reported in RPM (rotations per minute). An alarm is +triggered if the rotation speed has dropped below a programmable limit. FAN +readings can be divided by a programmable divider (1, 2, 4 or 8 for the +W83781D; 1, 2, 4, 8, 16, 32, 64 or 128 for the W83782D and W83783S) to give +the readings more range or accuracy. This is important because some FANs +report only one 'tick' each rotation, while others report two - making +all readings twice as high. Not all RPM values can accurately be represented, +so some rounding is done. With a divider of 2, the lowest representable +value is around 2600 RPM. + +Voltage sensors (also known as IN sensors) report their values in volts. +An alarm is triggered if the voltage has crossed a programmable minimum +or maximum limit. Note that minimum in this case always means 'closest to +zero'; this is important for negative voltage measurements. All voltage +inputs can measure voltages between 0 and 4.08 volts, with a resolution +of 0.016 volt. + +The VID lines encode the core voltage value: the voltage level your processor +should work with. This is hardcoded by the mainboard and/or processor itself. +It is a value in volts. When it is unconnected, you will often find the +value 3.50 V here. + +The W83782D and W83783S temperature conversion machine understands about +several kinds of temperature probes. You can program the so-called +beta value in the sensor files. '1' is the PII/Celeron diode, '2' is the +TN3904 transistor, and 3435 the default thermistor value. Other values +are (not yet) supported. You can program your own values through the +rt interface, but this is not very useful, because these tables are +under NDA. + +In addition to the alarms described above, there is a CHAS alarm on the +W83781D and W83782D which triggers if your computer case is open. + +When an alarm goes off, you can be warned by a beeping signal through +your computer speaker. It is possible to enable all beeping globally, +or only the beeping for some alarms. + +If an alarm triggers, it will remain triggered until the hardware register +is read at least once. This means that the cause for the alarm may +already have disappeared! Note that in the current implementation, all +hardware registers are read whenever any data is read (unless it is less +than 1.5 seconds since the last update). This means that you can easily +miss once-only alarms. + +The W8378* only updates its values each 1.5 seconds; reading it more often +will do no harm, but will return 'old' values. + + +Chip Features +------------- + +Chip `w83781d' + LABEL LABEL CLASS COMPUTE CLASS ACCESS MAGNITUDE + in0 NONE NONE R 2 + in1 NONE NONE R 2 + in2 NONE NONE R 2 + in3 NONE NONE R 2 + in4 NONE NONE R 2 + in5 NONE NONE R 2 + in6 NONE NONE R 2 + in0_min in0 in0 RW 2 + in1_min in1 in1 RW 2 + in2_min in2 in2 RW 2 + in3_min in3 in3 RW 2 + in4_min in4 in4 RW 2 + in5_min in5 in5 RW 2 + in6_min in6 in6 RW 2 + in0_max in0 in0 RW 2 + in1_max in1 in1 RW 2 + in2_max in2 in2 RW 2 + in3_max in3 in3 RW 2 + in4_max in4 in4 RW 2 + in5_max in5 in5 RW 2 + in6_max in6 in6 RW 2 + fan1 NONE NONE R 0 + fan2 NONE NONE R 0 + fan3 NONE NONE R 0 + fan1_min fan1 NONE RW 0 + fan2_min fan2 NONE RW 0 + fan3_min fan3 NONE RW 0 + temp1 NONE NONE R 1 + temp1_hyst temp1 temp1 RW 1 + temp1_over temp1 temp1 RW 1 + temp2 NONE NONE R 1 + temp2_hyst temp2 temp2 RW 1 + temp2_over temp2 temp2 RW 1 + temp3 NONE NONE R 1 + temp3_hyst temp3 temp3 RW 1 + temp3_over temp3 temp3 RW 1 + vid NONE NONE R 2 + fan1_div fan1 NONE RW 0 + fan2_div fan2 NONE RW 0 + fan3_div fan3 NONE R 0 + alarms NONE NONE R 0 + beep_enable alarms NONE RW 0 + beeps alarms alarms RW 0 + + LABEL FEATURE SYMBOL SYSCTL FILE:NR + in0 SENSORS_W83781D_IN0 in0:3 + in1 SENSORS_W83781D_IN1 in1:3 + in2 SENSORS_W83781D_IN2 in2:3 + in3 SENSORS_W83781D_IN3 in3:3 + in4 SENSORS_W83781D_IN4 in4:3 + in5 SENSORS_W83781D_IN5 in5:3 + in6 SENSORS_W83781D_IN6 in6:3 + in0_min SENSORS_W83781D_IN0_MIN in0:1 + in1_min SENSORS_W83781D_IN1_MIN in1:1 + in2_min SENSORS_W83781D_IN2_MIN in2:1 + in3_min SENSORS_W83781D_IN3_MIN in3:1 + in4_min SENSORS_W83781D_IN4_MIN in4:1 + in5_min SENSORS_W83781D_IN5_MIN in5:1 + in6_min SENSORS_W83781D_IN6_MIN in6:1 + in0_max SENSORS_W83781D_IN0_MAX in0:2 + in1_max SENSORS_W83781D_IN1_MAX in1:2 + in2_max SENSORS_W83781D_IN2_MAX in2:2 + in3_max SENSORS_W83781D_IN3_MAX in3:2 + in4_max SENSORS_W83781D_IN4_MAX in4:2 + in5_max SENSORS_W83781D_IN5_MAX in5:2 + in6_max SENSORS_W83781D_IN6_MAX in6:2 + fan1 SENSORS_W83781D_FAN1 fan1:2 + fan2 SENSORS_W83781D_FAN2 fan2:2 + fan3 SENSORS_W83781D_FAN3 fan3:2 + fan1_min SENSORS_W83781D_FAN1_MIN fan1:1 + fan2_min SENSORS_W83781D_FAN2_MIN fan2:1 + fan3_min SENSORS_W83781D_FAN3_MIN fan3:1 + temp1 SENSORS_W83781D_TEMP1 temp1:3 + temp1_hyst SENSORS_W83781D_TEMP1_HYST temp1:2 + temp1_over SENSORS_W83781D_TEMP1_OVER temp1:1 + temp2 SENSORS_W83781D_TEMP2 temp2:3 + temp2_hyst SENSORS_W83781D_TEMP2_HYST temp2:2 + temp2_over SENSORS_W83781D_TEMP2_OVER temp2:1 + temp3 SENSORS_W83781D_TEMP3 temp3:3 + temp3_hyst SENSORS_W83781D_TEMP3_HYST temp3:2 + temp3_over SENSORS_W83781D_TEMP3_OVER temp3:1 + vid SENSORS_W83781D_VID vid:1 + fan1_div SENSORS_W83781D_FAN1_DIV fan_div:1 + fan2_div SENSORS_W83781D_FAN2_DIV fan_div:2 + fan3_div SENSORS_W83781D_FAN3_DIV fan_div:3 + alarms SENSORS_W83781D_ALARMS alarms:1 + beep_enable SENSORS_W83781D_BEEP_ENABLE beep:1 + beeps SENSORS_W83781D_BEEPS beep:2 + + +Chip `w83782d' + LABEL LABEL CLASS COMPUTE CLASS ACCESS MAGNITUDE + in0 NONE NONE R 2 + in1 NONE NONE R 2 + in2 NONE NONE R 2 + in3 NONE NONE R 2 + in4 NONE NONE R 2 + in5 NONE NONE R 2 + in6 NONE NONE R 2 + in7 NONE NONE R 2 + in8 NONE NONE R 2 + in0_min in0 in0 RW 2 + in1_min in1 in1 RW 2 + in2_min in2 in2 RW 2 + in3_min in3 in3 RW 2 + in4_min in4 in4 RW 2 + in5_min in5 in5 RW 2 + in6_min in6 in6 RW 2 + in7_min in7 in7 RW 2 + in8_min in8 in8 RW 2 + in0_max in0 in0 RW 2 + in1_max in1 in1 RW 2 + in2_max in2 in2 RW 2 + in3_max in3 in3 RW 2 + in4_max in4 in4 RW 2 + in5_max in5 in5 RW 2 + in6_max in6 in6 RW 2 + in7_max in7 in7 RW 2 + in8_max in8 in8 RW 2 + fan1 NONE NONE R 0 + fan2 NONE NONE R 0 + fan3 NONE NONE R 0 + fan1_min fan1 NONE RW 0 + fan2_min fan2 NONE RW 0 + fan3_min fan3 NONE RW 0 + temp1 NONE NONE R 1 + temp1_hyst temp1 temp1 RW 1 + temp1_over temp1 temp1 RW 1 + temp2 NONE NONE R 1 + temp2_hyst temp2 temp2 RW 1 + temp2_over temp2 temp2 RW 1 + temp3 NONE NONE R 1 + temp3_hyst temp3 temp3 RW 1 + temp3_over temp3 temp3 RW 1 + vid NONE NONE R 2 + fan1_div fan1 NONE RW 0 + fan2_div fan2 NONE RW 0 + fan3_div fan3 NONE R 0 + alarms NONE NONE R 0 + beep_enable alarms NONE RW 0 + beeps alarms alarms RW 0 + sensor1 NONE NONE RW 0 + sensor2 NONE NONE RW 0 + sensor3 NONE NONE RW 0 + + LABEL FEATURE SYMBOL SYSCTL FILE:NR + in0 SENSORS_W83782D_IN0 in0:3 + in1 SENSORS_W83782D_IN1 in1:3 + in2 SENSORS_W83782D_IN2 in2:3 + in3 SENSORS_W83782D_IN3 in3:3 + in4 SENSORS_W83782D_IN4 in4:3 + in5 SENSORS_W83782D_IN5 in5:3 + in6 SENSORS_W83782D_IN6 in6:3 + in7 SENSORS_W83782D_IN7 in7:3 + in8 SENSORS_W83782D_IN8 in8:3 + in0_min SENSORS_W83782D_IN0_MIN in0:1 + in1_min SENSORS_W83782D_IN1_MIN in1:1 + in2_min SENSORS_W83782D_IN2_MIN in2:1 + in3_min SENSORS_W83782D_IN3_MIN in3:1 + in4_min SENSORS_W83782D_IN4_MIN in4:1 + in5_min SENSORS_W83782D_IN5_MIN in5:1 + in6_min SENSORS_W83782D_IN6_MIN in6:1 + in7_min SENSORS_W83782D_IN7_MIN in7:1 + in8_min SENSORS_W83782D_IN8_MIN in8:1 + in0_max SENSORS_W83782D_IN0_MAX in0:2 + in1_max SENSORS_W83782D_IN1_MAX in1:2 + in2_max SENSORS_W83782D_IN2_MAX in2:2 + in3_max SENSORS_W83782D_IN3_MAX in3:2 + in4_max SENSORS_W83782D_IN4_MAX in4:2 + in5_max SENSORS_W83782D_IN5_MAX in5:2 + in6_max SENSORS_W83782D_IN6_MAX in6:2 + in7_max SENSORS_W83782D_IN7_MAX in7:2 + in8_max SENSORS_W83782D_IN8_MAX in8:2 + fan1 SENSORS_W83782D_FAN1 fan1:2 + fan2 SENSORS_W83782D_FAN2 fan2:2 + fan3 SENSORS_W83781D_FAN3 fan3:2 + fan1_min SENSORS_W83782D_FAN1_MIN fan1:1 + fan2_min SENSORS_W83782D_FAN2_MIN fan2:1 + fan3_min SENSORS_W83781D_FAN3_MIN fan3:1 + temp1 SENSORS_W83782D_TEMP1 temp1:3 + temp1_hyst SENSORS_W83782D_TEMP1_HYST temp1:2 + temp1_over SENSORS_W83782D_TEMP1_OVER temp1:1 + temp2 SENSORS_W83782D_TEMP2 temp2:3 + temp2_hyst SENSORS_W83782D_TEMP2_HYST temp2:2 + temp2_over SENSORS_W83782D_TEMP2_OVER temp2:1 + temp3 SENSORS_W83782D_TEMP3 temp3:3 + temp3_hyst SENSORS_W83782D_TEMP3_HYST temp3:2 + temp3_over SENSORS_W83782D_TEMP3_OVER temp3:1 + vid SENSORS_W83782D_VID vid:1 + fan1_div SENSORS_W83782D_FAN1_DIV fan_div:1 + fan2_div SENSORS_W83782D_FAN2_DIV fan_div:2 + fan3_div SENSORS_W83781D_FAN3_DIV fan_div:3 + alarms SENSORS_W83782D_ALARMS alarms:1 + beep_enable SENSORS_W83782D_BEEP_ENABLE beep:1 + beeps SENSORS_W83782D_BEEPS beep:2 + sensor1 SENSORS_W83782D_SENS1 sensor1:1 + sensor2 SENSORS_W83782D_SENS2 sensor2:1 + sensor3 SENSORS_W83782D_SENS3 sensor3:1 + + +Chip `w83783s' + LABEL LABEL CLASS COMPUTE CLASS ACCESS MAGNITUDE + in0 NONE NONE R 2 + in1 NONE NONE R 2 + in2 NONE NONE R 2 + in3 NONE NONE R 2 + in4 NONE NONE R 2 + in5 NONE NONE R 2 + in6 NONE NONE R 2 + in0_min in0 in0 RW 2 + in1_min in1 in1 RW 2 + in2_min in2 in2 RW 2 + in3_min in3 in3 RW 2 + in4_min in4 in4 RW 2 + in5_min in5 in5 RW 2 + in6_min in6 in6 RW 2 + in0_max in0 in0 RW 2 + in1_max in1 in1 RW 2 + in2_max in2 in2 RW 2 + in3_max in3 in3 RW 2 + in4_max in4 in4 RW 2 + in5_max in5 in5 RW 2 + in6_max in6 in6 RW 2 + fan1 NONE NONE R 0 + fan2 NONE NONE R 0 + fan3 NONE NONE R 0 + fan1_min fan1 NONE RW 0 + fan2_min fan2 NONE RW 0 + fan3_min fan3 NONE RW 0 + temp1 NONE NONE R 1 + temp1_hyst temp1 temp1 RW 1 + temp1_over temp1 temp1 RW 1 + temp2 NONE NONE R 1 + temp2_hyst temp2 temp2 RW 1 + temp2_over temp2 temp2 RW 1 + vid NONE NONE R 2 + fan1_div fan1 NONE RW 0 + fan2_div fan2 NONE RW 0 + fan3_div fan3 NONE R 0 + alarms NONE NONE R 0 + beep_enable alarms NONE RW 0 + beeps alarms alarms RW 0 + sensor1 NONE NONE RW 0 + sensor2 NONE NONE RW 0 + + LABEL FEATURE SYMBOL SYSCTL FILE:NR + in0 SENSORS_W83783S_IN0 in0:3 + in1 SENSORS_W83783S_IN1 in1:3 + in2 SENSORS_W83783S_IN2 in2:3 + in3 SENSORS_W83783S_IN3 in3:3 + in4 SENSORS_W83783S_IN4 in4:3 + in5 SENSORS_W83783S_IN5 in5:3 + in6 SENSORS_W83783S_IN6 in6:3 + in0_min SENSORS_W83783S_IN0_MIN in0:1 + in1_min SENSORS_W83783S_IN1_MIN in1:1 + in2_min SENSORS_W83783S_IN2_MIN in2:1 + in3_min SENSORS_W83783S_IN3_MIN in3:1 + in4_min SENSORS_W83783S_IN4_MIN in4:1 + in5_min SENSORS_W83783S_IN5_MIN in5:1 + in6_min SENSORS_W83783S_IN6_MIN in6:1 + in0_max SENSORS_W83783S_IN0_MAX in0:2 + in1_max SENSORS_W83783S_IN1_MAX in1:2 + in2_max SENSORS_W83783S_IN2_MAX in2:2 + in3_max SENSORS_W83783S_IN3_MAX in3:2 + in4_max SENSORS_W83783S_IN4_MAX in4:2 + in5_max SENSORS_W83783S_IN5_MAX in5:2 + in6_max SENSORS_W83783S_IN6_MAX in6:2 + fan1 SENSORS_W83783S_FAN1 fan1:2 + fan2 SENSORS_W83783S_FAN2 fan2:2 + fan3 SENSORS_W83783S_FAN3 fan3:2 + fan1_min SENSORS_W83783S_FAN1_MIN fan1:1 + fan2_min SENSORS_W83783S_FAN2_MIN fan2:1 + fan3_min SENSORS_W83783S_FAN3_MIN fan3:1 + temp1 SENSORS_W83783S_TEMP1 temp1:3 + temp1_hyst SENSORS_W83783S_TEMP1_HYST temp1:2 + temp1_over SENSORS_W83783S_TEMP1_OVER temp1:1 + temp2 SENSORS_W83783S_TEMP2 temp2:3 + temp2_hyst SENSORS_W83783S_TEMP2_HYST temp2:2 + temp2_over SENSORS_W83783S_TEMP2_OVER temp2:1 + vid SENSORS_W83783S_VID vid:1 + fan1_div SENSORS_W83783S_FAN1_DIV fan_div:1 + fan2_div SENSORS_W83783S_FAN2_DIV fan_div:2 + fan3_div SENSORS_W83783S_FAN3_DIV fan_div:3 + alarms SENSORS_W83783S_ALARMS alarms:1 + beep_enable SENSORS_W83783S_BEEP_ENABLE beep:1 + beeps SENSORS_W83783S_BEEPS beep:2 + sensor1 SENSORS_W83783S_SENS1 sensor1:1 + sensor2 SENSORS_W83783S_SENS2 sensor2:1 + + + +Old documentation +----------------- + + Winbond 83781D driver --------------------- Supports the following Winbond chips: