root/lm-sensors/trunk/doc/chips/w83781d @ 3071

Revision 3071, 38.3 KB (checked in by khali, 9 years ago)

Drop the W83697HF support from the w83781d driver. It is better
supported by the super-I/O w83627hf driver. Patch from Grant Coady.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
1Kernel driver `w83781d.o'
4Status: W83781D support is complete and well-tested.
5        W83782D support is complete and well-tested.
6        W83783S support is complete but has not been well-tested.
7        W83791D support is BETA.
8        W83627HF support is complete but has not been well-tested.
9        AS99127F support is BETA and has known problems due to lack of a
10                 chip datasheet. SEE BELOW.
12Supported chips:
13  * Winbond W83781D
14    Prefix: 'w83781d'
15    Addresses scanned: I2C 0x20 - 0x2f, ISA 0x290 (8 I/O ports)
16    Datasheet:
17  * Winbond W83782D
18    Prefix: 'w83782d'
19    Addresses scanned: I2C 0x20 - 0x2f, ISA 0x290 (8 I/O ports)
20    Datasheet:
21  * Winbond W83783S
22    Prefix: 'w83783s'
23    Addresses scanned: I2C 0x2d
24    Datasheet:
25  * Winbond W83791D
26    Prefix: 'w83791d'
27    Addresses scanned: I2C 0x2c - 0x2f
28    Datasheet:
29  * Winbond W83627HF
30    Prefix: 'w83627hf'
31    Addresses scanned: I2C 0x20 - 0x2f, ISA 0x290 (8 I/O ports)
32    Datasheet:
33  * Asus AS99127F
34    Prefix: 'as99127f'
35    Addresses scanned: I2C 0x28 - 0x2f
36    Datasheet: Unavailable from Asus
40Authors: Frodo Looijaard <>, Philip Edelbrock <>,
41         and Mark Studebaker <>
44Module Parameters
47* force: short array (min = 1, max = 48)
48  List of adapter,address pairs to boldly assume to be present
49* force_w83781d: short array (min = 1, max = 48)
50  List of adapter,address pairs which are unquestionably assumed to contain
51  a `w83781d' chip
52* force_w83782d:
53  Ditto
54* force_w83783s:
55  Ditto
56* force_w83791d:
57  Ditto
58* force_w83627hf:
59  Ditto
60* force_as99127f:
61  Ditto
62* force_subclients=bus,caddr,saddr,saddr
63  This is used to force the i2c addresses for subclients of
64  a certain chip. Typical usage is `force_subclients=0,0x2d,0x4a,0x4b'
65  to force the subclients of chip 0x2d on bus 0 to i2c addresses
66  0x4a and 0x4b.
67  This parameter is useful for certain Tyan boards.
68* ignore: short array (min = 1, max = 48)
69  List of adapter,address pairs not to scan
70* ignore_range: short array (min = 1, max = 48)
71  List of adapter,start-addr,end-addr triples not to scan
72* probe: short array (min = 1, max = 48)
73  List of adapter,address pairs to scan additionally
74* probe_range: short array (min = 1, max = 48)
75  List of adapter,start-addr,end-addr triples to scan additionally
76* init=[0,1] (default 1)
77  Use 'init=0' to bypass initializing the chip.
78  Try this if your computer crashes when you load the module.
84This driver implements support for the Winbond W83781D, W83782D,
85W83783S, W83791D, W83627HF and W83698HF chips, and the Asus AS99127F chips.
86We will refer to them collectively as W8378* chips.
88There is quite some difference between these chips, but they are similar
89enough that it was sensible to put them together in one driver.
90The W83627HF chip is assumed to be identical to the ISA W83782D.
91The Asus chips are similar to an I2C-only W83782D.
93Detection of these chips can sometimes be foiled because they can be in
94an internal state that allows no clean access. If you know the address
95of the chip, use a 'force' parameter; this will put them into a more
96well-behaved state first.
98The W8378* implements temperature sensors (three on the W83781D and W83782D,
99two on the W83783S), three fan rotation speed sensors, voltage sensors
100(seven on the W83781D, nine on the W83782D and six on the W83783S), VID
101lines, alarms with beep warnings, and some miscellaneous stuff.
103Temperatures are measured in degrees Celsius. There is always one main
104temperature sensor, and one (W83783S) or two (W83781D and W83782D) other
105sensors.  An alarm is triggered for the main sensor once when the
106Overtemperature Shutdown limit is crossed; it is triggered again as soon as
107it drops below the Hysteresis value. A more useful behaviour
108can be found by setting the Hysteresis value to +127 degrees Celsius; in
109this case, alarms are issued during all the time when the actual temperature
110is above the Overtemperature Shutdown value. The driver sets the
111hysteresis value for temp1 to 127 at initialization.
113For the other temperature sensor(s), an
114alarm is triggered when the temperature gets higher then the Overtemperature
115Shutdown value; it stays on until the temperature falls below the Hysteresis
116value. But on the W83781D, there is only one alarm that functions for both
117other sensors!  Temperatures are guaranteed within a range of -55 to +125
118degrees. The main temperature sensors has a resolution of 1 degree; the other
119sensor(s) of 0.5 degree.
121Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
122triggered if the rotation speed has dropped below a programmable limit. Fan
123readings can be divided by a programmable divider (1, 2, 4 or 8 for the
124W83781D; 1, 2, 4, 8, 16, 32, 64 or 128 for the others) to give
125the readings more range or accuracy. Not all RPM values can accurately be
126represented, so some rounding is done. With a divider of 2, the lowest
127representable value is around 2600 RPM.
129Voltage sensors (also known as IN sensors) report their values in volts.
130An alarm is triggered if the voltage has crossed a programmable minimum
131or maximum limit. Note that minimum in this case always means 'closest to
132zero'; this is important for negative voltage measurements. All voltage
133inputs can measure voltages between 0 and 4.08 volts, with a resolution
134of 0.016 volt.
136The VID lines encode the core voltage value: the voltage level your processor
137should work with. This is hardcoded by the mainboard and/or processor itself.
138It is a value in volts. When it is unconnected, you will often find the
139value 3.50 V here.
141The W83782D and W83783S temperature conversion machine understands about
142several kinds of temperature probes. You can program the so-called
143beta value in the sensor files. '1' is the PII/Celeron diode, '2' is the
144TN3904 transistor, and 3435 the default thermistor value. Other values
145are (not yet) supported. You can program your own values through the
146rt interface, but this is not very useful, because these tables are
147under NDA.
149In addition to the alarms described above, there is a CHAS alarm on the
150chips which triggers if your computer case is open.
152When an alarm goes off, you can be warned by a beeping signal through
153your computer speaker. It is possible to enable all beeping globally,
154or only the beeping for some alarms.
156If an alarm triggers, it will remain triggered until the hardware register
157is read at least once. This means that the cause for the alarm may
158already have disappeared!  Note that in the current implementation, all
159hardware registers are read whenever any data is read (unless it is less
160than 1.5 seconds since the last update). This means that you can easily
161miss once-only alarms.
163The chips only update values each 1.5 seconds; reading them more often
164will do no harm, but will return 'old' values.
169The as99127f support was developed without the benefit of a datasheet.
170In most cases it is treated as a w83781d (although revision 2 of the
171AS9917F looks more like a w83782d).
172This support will be BETA until a datasheet is released.
173One user has reported problems with fans stopping
176Note that the individual beep bits are inverted from the other chips.
177The driver now takes care of this so that user-space applications
178don't have to know about it.
180Known problems:
181        - Problems with diode/thermistor settings (supported?)
182        - One user reports fans stopping under high server load.
183        - Revision 2 seems to have 2 PWM registers but we don't know
184          how to handle them. More details below.
186These will not be fixed unless we get a datasheet.
187If you have problems, please lobby Asus to release a datasheet.
188Unfortunately several others have without success.
189Please do not send mail to us asking for better as99127f support.
190We have done the best we can without a datasheet.
191Please do not send mail to the author or the sensors group asking for
192a datasheet or ideas on how to convince Asus. We can't help.
195Chip Features
198Chip `w83781d'
200               in0               NONE               NONE     R     2
201               in1               NONE               NONE     R     2
202               in2               NONE               NONE     R     2
203               in3               NONE               NONE     R     2
204               in4               NONE               NONE     R     2
205               in5               NONE               NONE     R     2
206               in6               NONE               NONE     R     2
207           in0_min                in0                in0     RW    2
208           in1_min                in1                in1     RW    2
209           in2_min                in2                in2     RW    2
210           in3_min                in3                in3     RW    2
211           in4_min                in4                in4     RW    2
212           in5_min                in5                in5     RW    2
213           in6_min                in6                in6     RW    2
214           in0_max                in0                in0     RW    2
215           in1_max                in1                in1     RW    2
216           in2_max                in2                in2     RW    2
217           in3_max                in3                in3     RW    2
218           in4_max                in4                in4     RW    2
219           in5_max                in5                in5     RW    2
220           in6_max                in6                in6     RW    2
221              fan1               NONE               NONE     R     0
222              fan2               NONE               NONE     R     0
223              fan3               NONE               NONE     R     0
224          fan1_min               fan1               NONE     RW    0
225          fan2_min               fan2               NONE     RW    0
226          fan3_min               fan3               NONE     RW    0
227             temp1               NONE               NONE     R     1
228        temp1_hyst              temp1              temp1     RW    1
229        temp1_over              temp1              temp1     RW    1
230             temp2               NONE               NONE     R     1
231        temp2_hyst              temp2              temp2     RW    1
232        temp2_over              temp2              temp2     RW    1
233             temp3               NONE               NONE     R     1
234        temp3_hyst              temp3              temp3     RW    1
235        temp3_over              temp3              temp3     RW    1
236               vid               NONE               NONE     R     2
237          fan1_div               fan1               NONE     RW    0
238          fan2_div               fan2               NONE     RW    0
239          fan3_div               fan3               NONE     R     0
240            alarms               NONE               NONE     R     0
241       beep_enable             alarms               NONE     RW    0
242             beeps             alarms             alarms     RW    0
244             LABEL                          FEATURE SYMBOL        SYSCTL FILE:NR
245               in0                     SENSORS_W83781D_IN0                in0:3
246               in1                     SENSORS_W83781D_IN1                in1:3
247               in2                     SENSORS_W83781D_IN2                in2:3
248               in3                     SENSORS_W83781D_IN3                in3:3
249               in4                     SENSORS_W83781D_IN4                in4:3
250               in5                     SENSORS_W83781D_IN5                in5:3
251               in6                     SENSORS_W83781D_IN6                in6:3
252           in0_min                 SENSORS_W83781D_IN0_MIN                in0:1
253           in1_min                 SENSORS_W83781D_IN1_MIN                in1:1
254           in2_min                 SENSORS_W83781D_IN2_MIN                in2:1
255           in3_min                 SENSORS_W83781D_IN3_MIN                in3:1
256           in4_min                 SENSORS_W83781D_IN4_MIN                in4:1
257           in5_min                 SENSORS_W83781D_IN5_MIN                in5:1
258           in6_min                 SENSORS_W83781D_IN6_MIN                in6:1
259           in0_max                 SENSORS_W83781D_IN0_MAX                in0:2
260           in1_max                 SENSORS_W83781D_IN1_MAX                in1:2
261           in2_max                 SENSORS_W83781D_IN2_MAX                in2:2
262           in3_max                 SENSORS_W83781D_IN3_MAX                in3:2
263           in4_max                 SENSORS_W83781D_IN4_MAX                in4:2
264           in5_max                 SENSORS_W83781D_IN5_MAX                in5:2
265           in6_max                 SENSORS_W83781D_IN6_MAX                in6:2
266              fan1                    SENSORS_W83781D_FAN1               fan1:2
267              fan2                    SENSORS_W83781D_FAN2               fan2:2
268              fan3                    SENSORS_W83781D_FAN3               fan3:2
269          fan1_min                SENSORS_W83781D_FAN1_MIN               fan1:1
270          fan2_min                SENSORS_W83781D_FAN2_MIN               fan2:1
271          fan3_min                SENSORS_W83781D_FAN3_MIN               fan3:1
272             temp1                   SENSORS_W83781D_TEMP1              temp1:3
273        temp1_hyst              SENSORS_W83781D_TEMP1_HYST              temp1:2
274        temp1_over              SENSORS_W83781D_TEMP1_OVER              temp1:1
275             temp2                   SENSORS_W83781D_TEMP2              temp2:3
276        temp2_hyst              SENSORS_W83781D_TEMP2_HYST              temp2:2
277        temp2_over              SENSORS_W83781D_TEMP2_OVER              temp2:1
278             temp3                   SENSORS_W83781D_TEMP3              temp3:3
279        temp3_hyst              SENSORS_W83781D_TEMP3_HYST              temp3:2
280        temp3_over              SENSORS_W83781D_TEMP3_OVER              temp3:1
281               vid                     SENSORS_W83781D_VID                vid:1
282          fan1_div                SENSORS_W83781D_FAN1_DIV            fan_div:1
283          fan2_div                SENSORS_W83781D_FAN2_DIV            fan_div:2
284          fan3_div                SENSORS_W83781D_FAN3_DIV            fan_div:3
285            alarms                  SENSORS_W83781D_ALARMS             alarms:1
286       beep_enable             SENSORS_W83781D_BEEP_ENABLE               beep:1
287             beeps                   SENSORS_W83781D_BEEPS               beep:2
290Chip `w83782d'
292               in0               NONE               NONE     R     2
293               in1               NONE               NONE     R     2
294               in2               NONE               NONE     R     2
295               in3               NONE               NONE     R     2
296               in4               NONE               NONE     R     2
297               in5               NONE               NONE     R     2
298               in6               NONE               NONE     R     2
299               in7               NONE               NONE     R     2
300               in8               NONE               NONE     R     2
301           in0_min                in0                in0     RW    2
302           in1_min                in1                in1     RW    2
303           in2_min                in2                in2     RW    2
304           in3_min                in3                in3     RW    2
305           in4_min                in4                in4     RW    2
306           in5_min                in5                in5     RW    2
307           in6_min                in6                in6     RW    2
308           in7_min                in7                in7     RW    2
309           in8_min                in8                in8     RW    2
310           in0_max                in0                in0     RW    2
311           in1_max                in1                in1     RW    2
312           in2_max                in2                in2     RW    2
313           in3_max                in3                in3     RW    2
314           in4_max                in4                in4     RW    2
315           in5_max                in5                in5     RW    2
316           in6_max                in6                in6     RW    2
317           in7_max                in7                in7     RW    2
318           in8_max                in8                in8     RW    2
319              fan1               NONE               NONE     R     0
320              fan2               NONE               NONE     R     0
321              fan3               NONE               NONE     R     0
322          fan1_min               fan1               NONE     RW    0
323          fan2_min               fan2               NONE     RW    0
324          fan3_min               fan3               NONE     RW    0
325             temp1               NONE               NONE     R     1
326        temp1_hyst              temp1              temp1     RW    1
327        temp1_over              temp1              temp1     RW    1
328             temp2               NONE               NONE     R     1
329        temp2_hyst              temp2              temp2     RW    1
330        temp2_over              temp2              temp2     RW    1
331             temp3               NONE               NONE     R     1
332        temp3_hyst              temp3              temp3     RW    1
333        temp3_over              temp3              temp3     RW    1
334               vid               NONE               NONE     R     2
335          fan1_div               fan1               NONE     RW    0
336          fan2_div               fan2               NONE     RW    0
337          fan3_div               fan3               NONE     R     0
338            alarms               NONE               NONE     R     0
339       beep_enable             alarms               NONE     RW    0
340             beeps             alarms             alarms     RW    0
341           sensor1               NONE               NONE     RW    0
342           sensor2               NONE               NONE     RW    0
343           sensor3               NONE               NONE     RW    0
345             LABEL                          FEATURE SYMBOL        SYSCTL FILE:NR
346               in0                     SENSORS_W83782D_IN0                in0:3
347               in1                     SENSORS_W83782D_IN1                in1:3
348               in2                     SENSORS_W83782D_IN2                in2:3
349               in3                     SENSORS_W83782D_IN3                in3:3
350               in4                     SENSORS_W83782D_IN4                in4:3
351               in5                     SENSORS_W83782D_IN5                in5:3
352               in6                     SENSORS_W83782D_IN6                in6:3
353               in7                     SENSORS_W83782D_IN7                in7:3
354               in8                     SENSORS_W83782D_IN8                in8:3
355           in0_min                 SENSORS_W83782D_IN0_MIN                in0:1
356           in1_min                 SENSORS_W83782D_IN1_MIN                in1:1
357           in2_min                 SENSORS_W83782D_IN2_MIN                in2:1
358           in3_min                 SENSORS_W83782D_IN3_MIN                in3:1
359           in4_min                 SENSORS_W83782D_IN4_MIN                in4:1
360           in5_min                 SENSORS_W83782D_IN5_MIN                in5:1
361           in6_min                 SENSORS_W83782D_IN6_MIN                in6:1
362           in7_min                 SENSORS_W83782D_IN7_MIN                in7:1
363           in8_min                 SENSORS_W83782D_IN8_MIN                in8:1
364           in0_max                 SENSORS_W83782D_IN0_MAX                in0:2
365           in1_max                 SENSORS_W83782D_IN1_MAX                in1:2
366           in2_max                 SENSORS_W83782D_IN2_MAX                in2:2
367           in3_max                 SENSORS_W83782D_IN3_MAX                in3:2
368           in4_max                 SENSORS_W83782D_IN4_MAX                in4:2
369           in5_max                 SENSORS_W83782D_IN5_MAX                in5:2
370           in6_max                 SENSORS_W83782D_IN6_MAX                in6:2
371           in7_max                 SENSORS_W83782D_IN7_MAX                in7:2
372           in8_max                 SENSORS_W83782D_IN8_MAX                in8:2
373              fan1                    SENSORS_W83782D_FAN1               fan1:2
374              fan2                    SENSORS_W83782D_FAN2               fan2:2
375              fan3                    SENSORS_W83781D_FAN3               fan3:2
376          fan1_min                SENSORS_W83782D_FAN1_MIN               fan1:1
377          fan2_min                SENSORS_W83782D_FAN2_MIN               fan2:1
378          fan3_min                SENSORS_W83781D_FAN3_MIN               fan3:1
379             temp1                   SENSORS_W83782D_TEMP1              temp1:3
380        temp1_hyst              SENSORS_W83782D_TEMP1_HYST              temp1:2
381        temp1_over              SENSORS_W83782D_TEMP1_OVER              temp1:1
382             temp2                   SENSORS_W83782D_TEMP2              temp2:3
383        temp2_hyst              SENSORS_W83782D_TEMP2_HYST              temp2:2
384        temp2_over              SENSORS_W83782D_TEMP2_OVER              temp2:1
385             temp3                   SENSORS_W83782D_TEMP3              temp3:3
386        temp3_hyst              SENSORS_W83782D_TEMP3_HYST              temp3:2
387        temp3_over              SENSORS_W83782D_TEMP3_OVER              temp3:1
388               vid                     SENSORS_W83782D_VID                vid:1
389          fan1_div                SENSORS_W83782D_FAN1_DIV            fan_div:1
390          fan2_div                SENSORS_W83782D_FAN2_DIV            fan_div:2
391          fan3_div                SENSORS_W83781D_FAN3_DIV            fan_div:3
392            alarms                  SENSORS_W83782D_ALARMS             alarms:1
393       beep_enable             SENSORS_W83782D_BEEP_ENABLE               beep:1
394             beeps                   SENSORS_W83782D_BEEPS               beep:2
395           sensor1                   SENSORS_W83782D_SENS1            sensor1:1
396           sensor2                   SENSORS_W83782D_SENS2            sensor2:1
397           sensor3                   SENSORS_W83782D_SENS3            sensor3:1
400Chip `w83783s'
402               in0               NONE               NONE     R     2
403               in1               NONE               NONE     R     2
404               in2               NONE               NONE     R     2
405               in3               NONE               NONE     R     2
406               in4               NONE               NONE     R     2
407               in5               NONE               NONE     R     2
408               in6               NONE               NONE     R     2
409           in0_min                in0                in0     RW    2
410           in1_min                in1                in1     RW    2
411           in2_min                in2                in2     RW    2
412           in3_min                in3                in3     RW    2
413           in4_min                in4                in4     RW    2
414           in5_min                in5                in5     RW    2
415           in6_min                in6                in6     RW    2
416           in0_max                in0                in0     RW    2
417           in1_max                in1                in1     RW    2
418           in2_max                in2                in2     RW    2
419           in3_max                in3                in3     RW    2
420           in4_max                in4                in4     RW    2
421           in5_max                in5                in5     RW    2
422           in6_max                in6                in6     RW    2
423              fan1               NONE               NONE     R     0
424              fan2               NONE               NONE     R     0
425              fan3               NONE               NONE     R     0
426          fan1_min               fan1               NONE     RW    0
427          fan2_min               fan2               NONE     RW    0
428          fan3_min               fan3               NONE     RW    0
429             temp1               NONE               NONE     R     1
430        temp1_hyst              temp1              temp1     RW    1
431        temp1_over              temp1              temp1     RW    1
432             temp2               NONE               NONE     R     1
433        temp2_hyst              temp2              temp2     RW    1
434        temp2_over              temp2              temp2     RW    1
435               vid               NONE               NONE     R     2
436          fan1_div               fan1               NONE     RW    0
437          fan2_div               fan2               NONE     RW    0
438          fan3_div               fan3               NONE     R     0
439            alarms               NONE               NONE     R     0
440       beep_enable             alarms               NONE     RW    0
441             beeps             alarms             alarms     RW    0
442           sensor1               NONE               NONE     RW    0
443           sensor2               NONE               NONE     RW    0
445             LABEL                          FEATURE SYMBOL        SYSCTL FILE:NR
446               in0                     SENSORS_W83783S_IN0                in0:3
447               in1                     SENSORS_W83783S_IN1                in1:3
448               in2                     SENSORS_W83783S_IN2                in2:3
449               in3                     SENSORS_W83783S_IN3                in3:3
450               in4                     SENSORS_W83783S_IN4                in4:3
451               in5                     SENSORS_W83783S_IN5                in5:3
452               in6                     SENSORS_W83783S_IN6                in6:3
453           in0_min                 SENSORS_W83783S_IN0_MIN                in0:1
454           in1_min                 SENSORS_W83783S_IN1_MIN                in1:1
455           in2_min                 SENSORS_W83783S_IN2_MIN                in2:1
456           in3_min                 SENSORS_W83783S_IN3_MIN                in3:1
457           in4_min                 SENSORS_W83783S_IN4_MIN                in4:1
458           in5_min                 SENSORS_W83783S_IN5_MIN                in5:1
459           in6_min                 SENSORS_W83783S_IN6_MIN                in6:1
460           in0_max                 SENSORS_W83783S_IN0_MAX                in0:2
461           in1_max                 SENSORS_W83783S_IN1_MAX                in1:2
462           in2_max                 SENSORS_W83783S_IN2_MAX                in2:2
463           in3_max                 SENSORS_W83783S_IN3_MAX                in3:2
464           in4_max                 SENSORS_W83783S_IN4_MAX                in4:2
465           in5_max                 SENSORS_W83783S_IN5_MAX                in5:2
466           in6_max                 SENSORS_W83783S_IN6_MAX                in6:2
467              fan1                    SENSORS_W83783S_FAN1               fan1:2
468              fan2                    SENSORS_W83783S_FAN2               fan2:2
469              fan3                    SENSORS_W83783S_FAN3               fan3:2
470          fan1_min                SENSORS_W83783S_FAN1_MIN               fan1:1
471          fan2_min                SENSORS_W83783S_FAN2_MIN               fan2:1
472          fan3_min                SENSORS_W83783S_FAN3_MIN               fan3:1
473             temp1                   SENSORS_W83783S_TEMP1              temp1:3
474        temp1_hyst              SENSORS_W83783S_TEMP1_HYST              temp1:2
475        temp1_over              SENSORS_W83783S_TEMP1_OVER              temp1:1
476             temp2                   SENSORS_W83783S_TEMP2              temp2:3
477        temp2_hyst              SENSORS_W83783S_TEMP2_HYST              temp2:2
478        temp2_over              SENSORS_W83783S_TEMP2_OVER              temp2:1
479               vid                     SENSORS_W83783S_VID                vid:1
480          fan1_div                SENSORS_W83783S_FAN1_DIV            fan_div:1
481          fan2_div                SENSORS_W83783S_FAN2_DIV            fan_div:2
482          fan3_div                SENSORS_W83783S_FAN3_DIV            fan_div:3
483            alarms                  SENSORS_W83783S_ALARMS             alarms:1
484       beep_enable             SENSORS_W83783S_BEEP_ENABLE               beep:1
485             beeps                   SENSORS_W83783S_BEEPS               beep:2
486           sensor1                   SENSORS_W83783S_SENS1            sensor1:1
487           sensor2                   SENSORS_W83783S_SENS2            sensor2:1
491Miscellaneous documentation
498Varies depending on chip type. Most are identical to the lm78 entries.
499See the lm78 documentation for details.
501Additional entries not in the lm78:
503        pwm[1-4]: (not on w83781d nor as99127f)
504          Controls the speed of the fans with PWM (Pulse Width Modulation)
505          Valid values:
506            0 - 255. 255 = max speed.
507        Second value is PWM enable 0/1.
509        sensor[1-3]: (not on w83781d nor as99127f)
510          Controls the sensor type. To change to a different
511          sensor type, for example, do 'echo 2 > sensor1'.
512          Valid values:
513               1: Pentium II / Celeron diode
514               2: 2N3904 Transistor in a diode configuration
515            3435: Thermistor with Beta = 3435. Beta is a measure
516                  of sensitivity to temperature.
517          Thermistors with other Betas could in theory be supported
518          after correspondence with Winbond. See below.
520        rt[1-3]: (w83781d only)
521          32-byte tables controlling the conversion from
522          resistance to temperature for thermistors.
523          For the curious only. Writing to these entries will
524          probably render temperature sensing insane.
525          Only set at initialization; not updated every 1.5 seconds.
529TO DO:
531 782d programmable pins
536  783s has no in1 so that in[2-6] are compatible with the 781d/782d.
538  783s pin is programmable for -5V or temp1; defaults to -5V,
539       no control in driver so temp1 doesn't work.
541  782d and 783s datasheets differ on which is pwm1 and which is pwm2.
542       We chose to follow 782d.
544  782d and 783s pin is programmable for fan3 input or pwm2 output;
545       defaults to fan3 input.
546       If pwm2 is enabled (with echo 255 1 > pwm2), then
547       fan3 will report 0.
549  782d has pwm1-2 for isa, pwm1-4 for i2c. (pwm3-4 share pins with
550       the isa pins)
554Data sheet updates:
556        - PWM clock registers:
558                000: master /  512
559                001: master / 1024
560                010: master / 2048
561                011: master / 4096
562                100: master / 8192
565Answers from Winbond tech support
568> 1) In the W83781D data sheet section 7.2 last paragraph, it talks about
569>    reprogramming the R-T table if the Beta of the thermistor is not
570>    3435K. The R-T table is described briefly in section 8.20.
571>    What formulas do I use to program a new R-T table for a given Beta?
573        We are sorry that the calculation for R-T table value is
574confidential. If you have another Beta value of thermistor, we can help
575to calculate the R-T table for you. But you should give us real R-T
576Table which can be gotten by thermistor vendor. Therefore we will calculate
577them and obtain 32-byte data, and you can fill the 32-byte data to the
578register in Bank0.CR51 of W83781D.
581> 2) In the W83782D data sheet, it mentions that pins 38, 39, and 40 are
582>    programmable to be either thermistor or Pentium II diode inputs.
583>    How do I program them for diode inputs? I can't find any register
584>    to program these to be diode inputs.
585 --> You may program Bank0 CR[5Dh] and CR[59h] registers.
587        CR[5Dh]                 bit 1(VTIN1)    bit 2(VTIN2)   bit 3(VTIN3)
589        thermistor                0              0              0       
590        diode                     1              1              1               
593(error) CR[59h]                 bit 4(VTIN1)    bit 2(VTIN2)   bit 3(VTIN3)
594(right) CR[59h]                 bit 4(VTIN1)    bit 5(VTIN2)   bit 6(VTIN3)
596        PII thermal diode         1              1              1
597        2N3904  diode             0              0              0
602Original 781D support: Frodo and Phil (
603782D/783S support added by: Mark D. Studebaker (
604Send requests to the mailing list.
607Asus Clones
610We have no datasheets for the Asus clones (AS99127F and ASB100 Bach).
611Here are some very useful information that were given to us by Alex Van
612Kaam about how to detect these chips, and how to read their values. He
613also gives advice for another Asus chipset, the Mozart-2 (which we
614don't support yet). Thanks Alex!
615I reworded some parts and added personal comments.
617# Detection:
619AS99127F rev.1, AS99127F rev.2 and ASB100:
620- I2C address range: 0x29 - 0x2F
621- If register 0x58 holds 0x31 then we have an Asus (either ASB100 or
622  AS99127F)
623- Which one depends on register 0x4F (manufacturer ID):
624  0x06 or 0x94: ASB100
625  0x12 or 0xC3: AS99127F rev.1
626  0x5C or 0xA3: AS99127F rev.2
627  Note that 0x5CA3 is Winbond's ID (WEC), which let us think Asus get their
628  AS99127F rev.2 direct from Winbond. The other codes mean ATT and DVC,
629  respectively. ATT could stand for Asustek something (although it would be
630  very badly chosen IMHO), I don't know what DVC could stand for. Maybe
631  these codes simply aren't meant to be decoded that way.
634- I2C address: 0x77
635- If register 0x58 holds 0x56 or 0x10 then we have a Mozart-2
636- Of the mozart there are 3 types:
637  0x58=0x56, 0x4E=0x94, 0x4F=0x36: Asus ASM58 Mozart-2
638  0x58=0x56, 0x4E=0x94, 0x4F=0x06: Asus AS2K129R Mozart-2
639  0x58=0x10, 0x4E=0x5C, 0x4F=0xA3: Asus ??? Mozart-2
640  You can handle all 3 the exact same way :)
642# Temperature sensors:
645- sensor 1: register 0x27
646- sensor 2 & 3 are the 2 LM75's on the SMBus
647- sensor 4: register 0x17
648Remark: I noticed that on Intel boards sensor 2 is used for the CPU
649  and 4 is ignored/stuck, on AMD boards sensor 4 is the CPU and sensor 2 is
650  either ignored or a socket temperature.
652AS99127F (rev.1 and 2 alike):
653- sensor 1: register 0x27
654- sensor 2 & 3 are the 2 LM75's on the SMBus
655Remark: Register 0x5b is suspected to be temperature type selector. Bit 1
656  would control temp1, bit 3 temp2 and bit 5 temp3.
659- sensor 1: register 0x27
660- sensor 2: register 0x13
662# Fan sensors:
664ASB100, AS99127F (rev.1 and 2 alike):
665- 3 fans, identical to the W83781D
668- 2 fans only, 1350000/rpm/div
669- fan 1: register 0x28,  divisor on register 0xA1 (bits 4-5)
670- fan 2: register 0x29,  divisor on register 0xA1 (bits 6-7)
672# Voltages:
674This is where there is a diffrence between AS99127F rev.1 and 2.
675Remark: The difference is similar to the difference between
676  W83781D and W83782D.
687AS99127F rev.1:
696AS99127F rev.2:
715# PWM
717Additional info about PWM on the AS99127F (may apply to other Asus
718chips as well) by Jean Delvare as of 2004-04-09:
720AS99127F revision 2 seems to have two PWM registers at 0x59 and 0x5A,
721and a temperature sensor type selector at 0x5B (which basically means
722that they swapped registers 0x59 and 0x5B when you compare with Winbond
724Revision 1 of the chip also has the temperature sensor type selector at
7250x5B, but PWM registers have no effect.
727We don't know exactly how the temperature sensor type selection works.
728Looks like bits 1-0 are for temp1, bits 3-2 for temp2 and bits 5-4 for
729temp3, although it is possible that only the most significant bit matters
730each time. So far, values other than 0 always broke the readings.
732PWM registers seem to be split in two parts: bit 7 is a mode selector,
733while the other bits seem to define a value or threshold.
735When bit 7 is clear, bits 6-0 seem to hold a threshold value. If the value
736is below a given limit, the fan runs at low speed. If the value is above
737the limit, the fan runs at full speed. We have no clue as to what the limit
738represents. Note that there seem to be some inertia in this mode, speed
739changes may need some time to trigger. Also, an hysteresis mechanism is
740suspected since walking through all the values increasingly and then
741decreasingly led to slighlty different limits.
743When bit 7 is set, bits 3-0 seem to hold a threshold value, while bits 6-4
744would not be significant. If the value is below a given limit, the fan runs
745at full speed, while if it is above the limit it runs at low speed (so this
746is the contrary of the other mode, in a way). Here again, we don't know
747what the limit is supposed to represent.
749One remarkable thing is that the fans would only have two or three
750different speeds (transitional states left apart), not a whole range as
751you usually get with PWM.
753As a conclusion, you can write 0x00 or 0x8F to the PWM registers to make
754fans run at low speed, and 0x7F or 0x80 to make them run at full speed.
756Please contact us if you can figure out how it is supposed to work. As
757long as we don't know more, the w83781d driver doesn't handle PWM on
758AS99127F chips at all.
760Additional info about PWM on the AS99127F rev.1 by Hector Martin:
762I've been fiddling around with the (in)famous 0x59 register and
763found out the following values do work as a form of coarse pwm:
7650x80 - seems to turn fans off after some time(1-2 minutes)... might be
766some form of auto-fan-control based on temp? hmm (Qfan? this mobo is an
767old ASUS, it isn't marketed as Qfan. Maybe some beta pre-attemp at Qfan
768that was dropped at the BIOS)
7690x81 - off
7700x82 - slightly "on-ner" than off, but my fans do not get to move. I can
771hear the high-pitched PWM sound that motors give off at too-low-pwm.
7720x83 - now they do move. Estimate about 70% speed or so.
7730x84-0x8f - full on
775Changing the high nibble doesn't seem to do much except the high bit
776(0x80) must be set for PWM to work, else the current pwm doesn't seem to
779My mobo is an ASUS A7V266-E. This behaviour is similar to what I got
780with speedfan under Windows, where 0-15% would be off, 15-2x% (can't
781remember the exact value) would be 70% and higher would be full on.
Note: See TracBrowser for help on using the browser.