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

Revision 5355, 39.3 kB (checked in by khali, 2 days ago)

Add PWM experiment information from ticket #2350.

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