aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/hwmon
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/hwmon')
-rw-r--r--Documentation/hwmon/adt747076
-rw-r--r--Documentation/hwmon/adt747318
-rw-r--r--Documentation/hwmon/it874
-rw-r--r--Documentation/hwmon/lm8510
-rw-r--r--Documentation/hwmon/lm879
-rw-r--r--Documentation/hwmon/lm9047
-rw-r--r--Documentation/hwmon/pc873607
-rw-r--r--Documentation/hwmon/pc874272
-rw-r--r--Documentation/hwmon/sysfs-interface12
-rw-r--r--Documentation/hwmon/w83781d37
-rw-r--r--Documentation/hwmon/w83791d43
11 files changed, 199 insertions, 66 deletions
diff --git a/Documentation/hwmon/adt7470 b/Documentation/hwmon/adt7470
new file mode 100644
index 000000000000..75d13ca147cc
--- /dev/null
+++ b/Documentation/hwmon/adt7470
@@ -0,0 +1,76 @@
1Kernel driver adt7470
2=====================
3
4Supported chips:
5 * Analog Devices ADT7470
6 Prefix: 'adt7470'
7 Addresses scanned: I2C 0x2C, 0x2E, 0x2F
8 Datasheet: Publicly available at the Analog Devices website
9
10Author: Darrick J. Wong
11
12Description
13-----------
14
15This driver implements support for the Analog Devices ADT7470 chip. There may
16be other chips that implement this interface.
17
18The ADT7470 uses the 2-wire interface compatible with the SMBus 2.0
19specification. Using an analog to digital converter it measures up to ten (10)
20external temperatures. It has four (4) 16-bit counters for measuring fan speed.
21There are four (4) PWM outputs that can be used to control fan speed.
22
23A sophisticated control system for the PWM outputs is designed into the ADT7470
24that allows fan speed to be adjusted automatically based on any of the ten
25temperature sensors. Each PWM output is individually adjustable and
26programmable. Once configured, the ADT7470 will adjust the PWM outputs in
27response to the measured temperatures with further host intervention. This
28feature can also be disabled for manual control of the PWM's.
29
30Each of the measured inputs (temperature, fan speed) has corresponding high/low
31limit values. The ADT7470 will signal an ALARM if any measured value exceeds
32either limit.
33
34The ADT7470 DOES NOT sample all inputs continuously. A single pin on the
35ADT7470 is connected to a multitude of thermal diodes, but the chip must be
36instructed explicitly to read the multitude of diodes. If you want to use
37automatic fan control mode, you must manually read any of the temperature
38sensors or the fan control algorithm will not run. The chip WILL NOT DO THIS
39AUTOMATICALLY; this must be done from userspace. This may be a bug in the chip
40design, given that many other AD chips take care of this. The driver will not
41read the registers more often than once every 5 seconds. Further,
42configuration data is only read once per minute.
43
44Special Features
45----------------
46
47The ADT7470 has a 8-bit ADC and is capable of measuring temperatures with 1
48degC resolution.
49
50The Analog Devices datasheet is very detailed and describes a procedure for
51determining an optimal configuration for the automatic PWM control.
52
53Configuration Notes
54-------------------
55
56Besides standard interfaces driver adds the following:
57
58* PWM Control
59
60* pwm#_auto_point1_pwm and pwm#_auto_point1_temp and
61* pwm#_auto_point2_pwm and pwm#_auto_point2_temp -
62
63point1: Set the pwm speed at a lower temperature bound.
64point2: Set the pwm speed at a higher temperature bound.
65
66The ADT7470 will scale the pwm between the lower and higher pwm speed when
67the temperature is between the two temperature boundaries. PWM values range
68from 0 (off) to 255 (full speed). Fan speed will be set to maximum when the
69temperature sensor associated with the PWM control exceeds
70pwm#_auto_point2_temp.
71
72Notes
73-----
74
75As stated above, the temperature inputs must be read periodically from
76userspace in order for the automatic pwm algorithm to run.
diff --git a/Documentation/hwmon/adt7473 b/Documentation/hwmon/adt7473
index 2126de34c711..1cbf671822e2 100644
--- a/Documentation/hwmon/adt7473
+++ b/Documentation/hwmon/adt7473
@@ -14,14 +14,14 @@ Description
14 14
15This driver implements support for the Analog Devices ADT7473 chip family. 15This driver implements support for the Analog Devices ADT7473 chip family.
16 16
17The LM85 uses the 2-wire interface compatible with the SMBUS 2.0 17The ADT7473 uses the 2-wire interface compatible with the SMBUS 2.0
18specification. Using an analog to digital converter it measures three (3) 18specification. Using an analog to digital converter it measures three (3)
19temperatures and two (2) voltages. It has three (3) 16-bit counters for 19temperatures and two (2) voltages. It has four (4) 16-bit counters for
20measuring fan speed. There are three (3) PWM outputs that can be used 20measuring fan speed. There are three (3) PWM outputs that can be used
21to control fan speed. 21to control fan speed.
22 22
23A sophisticated control system for the PWM outputs is designed into the 23A sophisticated control system for the PWM outputs is designed into the
24LM85 that allows fan speed to be adjusted automatically based on any of the 24ADT7473 that allows fan speed to be adjusted automatically based on any of the
25three temperature sensors. Each PWM output is individually adjustable and 25three temperature sensors. Each PWM output is individually adjustable and
26programmable. Once configured, the ADT7473 will adjust the PWM outputs in 26programmable. Once configured, the ADT7473 will adjust the PWM outputs in
27response to the measured temperatures without further host intervention. 27response to the measured temperatures without further host intervention.
@@ -46,14 +46,6 @@ from the raw value to get the temperature value.
46The Analog Devices datasheet is very detailed and describes a procedure for 46The Analog Devices datasheet is very detailed and describes a procedure for
47determining an optimal configuration for the automatic PWM control. 47determining an optimal configuration for the automatic PWM control.
48 48
49Hardware Configurations
50-----------------------
51
52The ADT7473 chips have an optional SMBALERT output that can be used to
53signal the chipset in case a limit is exceeded or the temperature sensors
54fail. Individual sensor interrupts can be masked so they won't trigger
55SMBALERT. The SMBALERT output if configured replaces the PWM2 function.
56
57Configuration Notes 49Configuration Notes
58------------------- 50-------------------
59 51
@@ -61,8 +53,8 @@ Besides standard interfaces driver adds the following:
61 53
62* PWM Control 54* PWM Control
63 55
64* pwm#_auto_point1_pwm and pwm#_auto_point1_temp and 56* pwm#_auto_point1_pwm and temp#_auto_point1_temp and
65* pwm#_auto_point2_pwm and pwm#_auto_point2_temp - 57* pwm#_auto_point2_pwm and temp#_auto_point2_temp -
66 58
67point1: Set the pwm speed at a lower temperature bound. 59point1: Set the pwm speed at a lower temperature bound.
68point2: Set the pwm speed at a higher temperature bound. 60point2: Set the pwm speed at a higher temperature bound.
diff --git a/Documentation/hwmon/it87 b/Documentation/hwmon/it87
index 3496b7020e7c..042c0415140b 100644
--- a/Documentation/hwmon/it87
+++ b/Documentation/hwmon/it87
@@ -136,10 +136,10 @@ once-only alarms.
136The IT87xx only updates its values each 1.5 seconds; reading it more often 136The IT87xx only updates its values each 1.5 seconds; reading it more often
137will do no harm, but will return 'old' values. 137will do no harm, but will return 'old' values.
138 138
139To change sensor N to a thermistor, 'echo 2 > tempN_type' where N is 1, 2, 139To change sensor N to a thermistor, 'echo 4 > tempN_type' where N is 1, 2,
140or 3. To change sensor N to a thermal diode, 'echo 3 > tempN_type'. 140or 3. To change sensor N to a thermal diode, 'echo 3 > tempN_type'.
141Give 0 for unused sensor. Any other value is invalid. To configure this at 141Give 0 for unused sensor. Any other value is invalid. To configure this at
142startup, consult lm_sensors's /etc/sensors.conf. (2 = thermistor; 142startup, consult lm_sensors's /etc/sensors.conf. (4 = thermistor;
1433 = thermal diode) 1433 = thermal diode)
144 144
145 145
diff --git a/Documentation/hwmon/lm85 b/Documentation/hwmon/lm85
index 6d41db7f17f8..400620741290 100644
--- a/Documentation/hwmon/lm85
+++ b/Documentation/hwmon/lm85
@@ -163,16 +163,6 @@ configured individually according to the following options.
163* pwm#_auto_pwm_min - this specifies the PWM value for temp#_auto_temp_off 163* pwm#_auto_pwm_min - this specifies the PWM value for temp#_auto_temp_off
164 temperature. (PWM value from 0 to 255) 164 temperature. (PWM value from 0 to 255)
165 165
166* pwm#_auto_pwm_freq - select base frequency of PWM output. You can select
167 in range of 10.0 to 94.0 Hz in .1 Hz units.
168 (Values 100 to 940).
169
170The pwm#_auto_pwm_freq can be set to one of the following 8 values. Setting the
171frequency to a value not on this list, will result in the next higher frequency
172being selected. The actual device frequency may vary slightly from this
173specification as designed by the manufacturer. Consult the datasheet for more
174details. (PWM Frequency values: 100, 150, 230, 300, 380, 470, 620, 940)
175
176* pwm#_auto_pwm_minctl - this flags selects for temp#_auto_temp_off temperature 166* pwm#_auto_pwm_minctl - this flags selects for temp#_auto_temp_off temperature
177 the bahaviour of fans. Write 1 to let fans spinning at 167 the bahaviour of fans. Write 1 to let fans spinning at
178 pwm#_auto_pwm_min or write 0 to let them off. 168 pwm#_auto_pwm_min or write 0 to let them off.
diff --git a/Documentation/hwmon/lm87 b/Documentation/hwmon/lm87
index ec27aa1b94cb..6b47b67fd968 100644
--- a/Documentation/hwmon/lm87
+++ b/Documentation/hwmon/lm87
@@ -65,11 +65,10 @@ The LM87 has four pins which can serve one of two possible functions,
65depending on the hardware configuration. 65depending on the hardware configuration.
66 66
67Some functions share pins, so not all functions are available at the same 67Some functions share pins, so not all functions are available at the same
68time. Which are depends on the hardware setup. This driver assumes that 68time. Which are depends on the hardware setup. This driver normally
69the BIOS configured the chip correctly. In that respect, it differs from 69assumes that firmware configured the chip correctly. Where this is not
70the original driver (from lm_sensors for Linux 2.4), which would force the 70the case, platform code must set the I2C client's platform_data to point
71LM87 to an arbitrary, compile-time chosen mode, regardless of the actual 71to a u8 value to be written to the channel register.
72chipset wiring.
73 72
74For reference, here is the list of exclusive functions: 73For reference, here is the list of exclusive functions:
75 - in0+in5 (default) or temp3 74 - in0+in5 (default) or temp3
diff --git a/Documentation/hwmon/lm90 b/Documentation/hwmon/lm90
index aa4a0ec20081..0e8411710238 100644
--- a/Documentation/hwmon/lm90
+++ b/Documentation/hwmon/lm90
@@ -8,10 +8,10 @@ Supported chips:
8 Datasheet: Publicly available at the National Semiconductor website 8 Datasheet: Publicly available at the National Semiconductor website
9 http://www.national.com/pf/LM/LM90.html 9 http://www.national.com/pf/LM/LM90.html
10 * National Semiconductor LM89 10 * National Semiconductor LM89
11 Prefix: 'lm99' 11 Prefix: 'lm89' (no auto-detection)
12 Addresses scanned: I2C 0x4c and 0x4d 12 Addresses scanned: I2C 0x4c and 0x4d
13 Datasheet: Publicly available at the National Semiconductor website 13 Datasheet: Publicly available at the National Semiconductor website
14 http://www.national.com/pf/LM/LM89.html 14 http://www.national.com/mpf/LM/LM89.html
15 * National Semiconductor LM99 15 * National Semiconductor LM99
16 Prefix: 'lm99' 16 Prefix: 'lm99'
17 Addresses scanned: I2C 0x4c and 0x4d 17 Addresses scanned: I2C 0x4c and 0x4d
@@ -21,18 +21,32 @@ Supported chips:
21 Prefix: 'lm86' 21 Prefix: 'lm86'
22 Addresses scanned: I2C 0x4c 22 Addresses scanned: I2C 0x4c
23 Datasheet: Publicly available at the National Semiconductor website 23 Datasheet: Publicly available at the National Semiconductor website
24 http://www.national.com/pf/LM/LM86.html 24 http://www.national.com/mpf/LM/LM86.html
25 * Analog Devices ADM1032 25 * Analog Devices ADM1032
26 Prefix: 'adm1032' 26 Prefix: 'adm1032'
27 Addresses scanned: I2C 0x4c and 0x4d 27 Addresses scanned: I2C 0x4c and 0x4d
28 Datasheet: Publicly available at the Analog Devices website 28 Datasheet: Publicly available at the ON Semiconductor website
29 http://www.analog.com/en/prod/0,2877,ADM1032,00.html 29 http://www.onsemi.com/PowerSolutions/product.do?id=ADM1032
30 * Analog Devices ADT7461 30 * Analog Devices ADT7461
31 Prefix: 'adt7461' 31 Prefix: 'adt7461'
32 Addresses scanned: I2C 0x4c and 0x4d 32 Addresses scanned: I2C 0x4c and 0x4d
33 Datasheet: Publicly available at the Analog Devices website 33 Datasheet: Publicly available at the ON Semiconductor website
34 http://www.analog.com/en/prod/0,2877,ADT7461,00.html 34 http://www.onsemi.com/PowerSolutions/product.do?id=ADT7461
35 Note: Only if in ADM1032 compatibility mode 35 * Maxim MAX6646
36 Prefix: 'max6646'
37 Addresses scanned: I2C 0x4d
38 Datasheet: Publicly available at the Maxim website
39 http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497
40 * Maxim MAX6647
41 Prefix: 'max6646'
42 Addresses scanned: I2C 0x4e
43 Datasheet: Publicly available at the Maxim website
44 http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497
45 * Maxim MAX6649
46 Prefix: 'max6646'
47 Addresses scanned: I2C 0x4c
48 Datasheet: Publicly available at the Maxim website
49 http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497
36 * Maxim MAX6657 50 * Maxim MAX6657
37 Prefix: 'max6657' 51 Prefix: 'max6657'
38 Addresses scanned: I2C 0x4c 52 Addresses scanned: I2C 0x4c
@@ -70,25 +84,21 @@ Description
70 84
71The LM90 is a digital temperature sensor. It senses its own temperature as 85The LM90 is a digital temperature sensor. It senses its own temperature as
72well as the temperature of up to one external diode. It is compatible 86well as the temperature of up to one external diode. It is compatible
73with many other devices such as the LM86, the LM89, the LM99, the ADM1032, 87with many other devices, many of which are supported by this driver.
74the MAX6657, MAX6658, MAX6659, MAX6680 and the MAX6681 all of which are
75supported by this driver.
76 88
77Note that there is no easy way to differentiate between the MAX6657, 89Note that there is no easy way to differentiate between the MAX6657,
78MAX6658 and MAX6659 variants. The extra address and features of the 90MAX6658 and MAX6659 variants. The extra address and features of the
79MAX6659 are not supported by this driver. The MAX6680 and MAX6681 only 91MAX6659 are not supported by this driver. The MAX6680 and MAX6681 only
80differ in their pinout, therefore they obviously can't (and don't need to) 92differ in their pinout, therefore they obviously can't (and don't need to)
81be distinguished. Additionally, the ADT7461 is supported if found in 93be distinguished.
82ADM1032 compatibility mode.
83 94
84The specificity of this family of chipsets over the ADM1021/LM84 95The specificity of this family of chipsets over the ADM1021/LM84
85family is that it features critical limits with hysteresis, and an 96family is that it features critical limits with hysteresis, and an
86increased resolution of the remote temperature measurement. 97increased resolution of the remote temperature measurement.
87 98
88The different chipsets of the family are not strictly identical, although 99The different chipsets of the family are not strictly identical, although
89very similar. This driver doesn't handle any specific feature for now, 100very similar. For reference, here comes a non-exhaustive list of specific
90with the exception of SMBus PEC. For reference, here comes a non-exhaustive 101features:
91list of specific features:
92 102
93LM90: 103LM90:
94 * Filter and alert configuration register at 0xBF. 104 * Filter and alert configuration register at 0xBF.
@@ -114,9 +124,11 @@ ADT7461:
114 * Lower resolution for remote temperature 124 * Lower resolution for remote temperature
115 125
116MAX6657 and MAX6658: 126MAX6657 and MAX6658:
127 * Better local resolution
117 * Remote sensor type selection 128 * Remote sensor type selection
118 129
119MAX6659: 130MAX6659:
131 * Better local resolution
120 * Selectable address 132 * Selectable address
121 * Second critical temperature limit 133 * Second critical temperature limit
122 * Remote sensor type selection 134 * Remote sensor type selection
@@ -127,7 +139,8 @@ MAX6680 and MAX6681:
127 139
128All temperature values are given in degrees Celsius. Resolution 140All temperature values are given in degrees Celsius. Resolution
129is 1.0 degree for the local temperature, 0.125 degree for the remote 141is 1.0 degree for the local temperature, 0.125 degree for the remote
130temperature. 142temperature, except for the MAX6657, MAX6658 and MAX6659 which have a
143resolution of 0.125 degree for both temperatures.
131 144
132Each sensor has its own high and low limits, plus a critical limit. 145Each sensor has its own high and low limits, plus a critical limit.
133Additionally, there is a relative hysteresis value common to both critical 146Additionally, there is a relative hysteresis value common to both critical
diff --git a/Documentation/hwmon/pc87360 b/Documentation/hwmon/pc87360
index 89a8fcfa78df..cbac32b59c8c 100644
--- a/Documentation/hwmon/pc87360
+++ b/Documentation/hwmon/pc87360
@@ -5,12 +5,7 @@ Supported chips:
5 * National Semiconductor PC87360, PC87363, PC87364, PC87365 and PC87366 5 * National Semiconductor PC87360, PC87363, PC87364, PC87365 and PC87366
6 Prefixes: 'pc87360', 'pc87363', 'pc87364', 'pc87365', 'pc87366' 6 Prefixes: 'pc87360', 'pc87363', 'pc87364', 'pc87365', 'pc87366'
7 Addresses scanned: none, address read from Super I/O config space 7 Addresses scanned: none, address read from Super I/O config space
8 Datasheets: 8 Datasheets: No longer available
9 http://www.national.com/pf/PC/PC87360.html
10 http://www.national.com/pf/PC/PC87363.html
11 http://www.national.com/pf/PC/PC87364.html
12 http://www.national.com/pf/PC/PC87365.html
13 http://www.national.com/pf/PC/PC87366.html
14 9
15Authors: Jean Delvare <khali@linux-fr.org> 10Authors: Jean Delvare <khali@linux-fr.org>
16 11
diff --git a/Documentation/hwmon/pc87427 b/Documentation/hwmon/pc87427
index 9a0708f9f49e..d1ebbe510f35 100644
--- a/Documentation/hwmon/pc87427
+++ b/Documentation/hwmon/pc87427
@@ -5,7 +5,7 @@ Supported chips:
5 * National Semiconductor PC87427 5 * National Semiconductor PC87427
6 Prefix: 'pc87427' 6 Prefix: 'pc87427'
7 Addresses scanned: none, address read from Super I/O config space 7 Addresses scanned: none, address read from Super I/O config space
8 Datasheet: http://www.winbond.com.tw/E-WINBONDHTM/partner/apc_007.html 8 Datasheet: No longer available
9 9
10Author: Jean Delvare <khali@linux-fr.org> 10Author: Jean Delvare <khali@linux-fr.org>
11 11
diff --git a/Documentation/hwmon/sysfs-interface b/Documentation/hwmon/sysfs-interface
index 2d845730d4e0..6dbfd5efd991 100644
--- a/Documentation/hwmon/sysfs-interface
+++ b/Documentation/hwmon/sysfs-interface
@@ -329,6 +329,10 @@ power[1-*]_average Average power use
329 Unit: microWatt 329 Unit: microWatt
330 RO 330 RO
331 331
332power[1-*]_average_interval Power use averaging interval
333 Unit: milliseconds
334 RW
335
332power[1-*]_average_highest Historical average maximum power use 336power[1-*]_average_highest Historical average maximum power use
333 Unit: microWatt 337 Unit: microWatt
334 RO 338 RO
@@ -354,6 +358,14 @@ power[1-*]_reset_history Reset input_highest, input_lowest,
354 WO 358 WO
355 359
356********** 360**********
361* Energy *
362**********
363
364energy[1-*]_input Cumulative energy use
365 Unit: microJoule
366 RO
367
368**********
357* Alarms * 369* Alarms *
358********** 370**********
359 371
diff --git a/Documentation/hwmon/w83781d b/Documentation/hwmon/w83781d
index 6f800a0283e9..c91e0b63ea1d 100644
--- a/Documentation/hwmon/w83781d
+++ b/Documentation/hwmon/w83781d
@@ -353,7 +353,7 @@ in6=255
353 353
354# PWM 354# PWM
355 355
356Additional info about PWM on the AS99127F (may apply to other Asus 356* Additional info about PWM on the AS99127F (may apply to other Asus
357chips as well) by Jean Delvare as of 2004-04-09: 357chips as well) by Jean Delvare as of 2004-04-09:
358 358
359AS99127F revision 2 seems to have two PWM registers at 0x59 and 0x5A, 359AS99127F revision 2 seems to have two PWM registers at 0x59 and 0x5A,
@@ -396,7 +396,7 @@ Please contact us if you can figure out how it is supposed to work. As
396long as we don't know more, the w83781d driver doesn't handle PWM on 396long as we don't know more, the w83781d driver doesn't handle PWM on
397AS99127F chips at all. 397AS99127F chips at all.
398 398
399Additional info about PWM on the AS99127F rev.1 by Hector Martin: 399* Additional info about PWM on the AS99127F rev.1 by Hector Martin:
400 400
401I've been fiddling around with the (in)famous 0x59 register and 401I've been fiddling around with the (in)famous 0x59 register and
402found out the following values do work as a form of coarse pwm: 402found out the following values do work as a form of coarse pwm:
@@ -418,3 +418,36 @@ change.
418My mobo is an ASUS A7V266-E. This behavior is similar to what I got 418My mobo is an ASUS A7V266-E. This behavior is similar to what I got
419with speedfan under Windows, where 0-15% would be off, 15-2x% (can't 419with speedfan under Windows, where 0-15% would be off, 15-2x% (can't
420remember the exact value) would be 70% and higher would be full on. 420remember the exact value) would be 70% and higher would be full on.
421
422* Additional info about PWM on the AS99127F rev.1 from lm-sensors
423 ticket #2350:
424
425I conducted some experiment on Asus P3B-F motherboard with AS99127F
426(Ver. 1).
427
428I confirm that 0x59 register control the CPU_Fan Header on this
429motherboard, and 0x5a register control PWR_Fan.
430
431In order to reduce the dependency of specific fan, the measurement is
432conducted with a digital scope without fan connected. I found out that
433P3B-F actually output variable DC voltage on fan header center pin,
434looks like PWM is filtered on this motherboard.
435
436Here are some of measurements:
437
4380x80 20 mV
4390x81 20 mV
4400x82 232 mV
4410x83 1.2 V
4420x84 2.31 V
4430x85 3.44 V
4440x86 4.62 V
4450x87 5.81 V
4460x88 7.01 V
4479x89 8.22 V
4480x8a 9.42 V
4490x8b 10.6 V
4500x8c 11.9 V
4510x8d 12.4 V
4520x8e 12.4 V
4530x8f 12.4 V
diff --git a/Documentation/hwmon/w83791d b/Documentation/hwmon/w83791d
index a67d3b7a7098..5663e491655c 100644
--- a/Documentation/hwmon/w83791d
+++ b/Documentation/hwmon/w83791d
@@ -58,29 +58,35 @@ internal state that allows no clean access (Bank with ID register is not
58currently selected). If you know the address of the chip, use a 'force' 58currently selected). If you know the address of the chip, use a 'force'
59parameter; this will put it into a more well-behaved state first. 59parameter; this will put it into a more well-behaved state first.
60 60
61The driver implements three temperature sensors, five fan rotation speed 61The driver implements three temperature sensors, ten voltage sensors,
62sensors, and ten voltage sensors. 62five fan rotation speed sensors and manual PWM control of each fan.
63 63
64Temperatures are measured in degrees Celsius and measurement resolution is 1 64Temperatures are measured in degrees Celsius and measurement resolution is 1
65degC for temp1 and 0.5 degC for temp2 and temp3. An alarm is triggered when 65degC for temp1 and 0.5 degC for temp2 and temp3. An alarm is triggered when
66the temperature gets higher than the Overtemperature Shutdown value; it stays 66the temperature gets higher than the Overtemperature Shutdown value; it stays
67on until the temperature falls below the Hysteresis value. 67on until the temperature falls below the Hysteresis value.
68 68
69Voltage sensors (also known as IN sensors) report their values in millivolts.
70An alarm is triggered if the voltage has crossed a programmable minimum
71or maximum limit.
72
69Fan rotation speeds are reported in RPM (rotations per minute). An alarm is 73Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
70triggered if the rotation speed has dropped below a programmable limit. Fan 74triggered if the rotation speed has dropped below a programmable limit. Fan
71readings can be divided by a programmable divider (1, 2, 4, 8, 16, 75readings can be divided by a programmable divider (1, 2, 4, 8, 16,
7232, 64 or 128 for all fans) to give the readings more range or accuracy. 7632, 64 or 128 for all fans) to give the readings more range or accuracy.
73 77
74Voltage sensors (also known as IN sensors) report their values in millivolts. 78Each fan controlled is controlled by PWM. The PWM duty cycle can be read and
75An alarm is triggered if the voltage has crossed a programmable minimum 79set for each fan separately. Valid values range from 0 (stop) to 255 (full).
76or maximum limit. 80PWM 1-3 support Thermal Cruise mode, in which the PWMs are automatically
81regulated to keep respectively temp 1-3 at a certain target temperature.
82See below for the description of the sysfs-interface.
77 83
78The w83791d has a global bit used to enable beeping from the speaker when an 84The w83791d has a global bit used to enable beeping from the speaker when an
79alarm is triggered as well as a bitmask to enable or disable the beep for 85alarm is triggered as well as a bitmask to enable or disable the beep for
80specific alarms. You need both the global beep enable bit and the 86specific alarms. You need both the global beep enable bit and the
81corresponding beep bit to be on for a triggered alarm to sound a beep. 87corresponding beep bit to be on for a triggered alarm to sound a beep.
82 88
83The sysfs interface to the gloabal enable is via the sysfs beep_enable file. 89The sysfs interface to the global enable is via the sysfs beep_enable file.
84This file is used for both legacy and new code. 90This file is used for both legacy and new code.
85 91
86The sysfs interface to the beep bitmask has migrated from the original legacy 92The sysfs interface to the beep bitmask has migrated from the original legacy
@@ -105,6 +111,27 @@ going forward.
105The driver reads the hardware chip values at most once every three seconds. 111The driver reads the hardware chip values at most once every three seconds.
106User mode code requesting values more often will receive cached values. 112User mode code requesting values more often will receive cached values.
107 113
114/sys files
115----------
116The sysfs-interface is documented in the 'sysfs-interface' file. Only
117chip-specific options are documented here.
118
119pwm[1-3]_enable - this file controls mode of fan/temperature control for
120 fan 1-3. Fan/PWM 4-5 only support manual mode.
121 * 1 Manual mode
122 * 2 Thermal Cruise mode
123 * 3 Fan Speed Cruise mode (no further support)
124
125temp[1-3]_target - defines the target temperature for Thermal Cruise mode.
126 Unit: millidegree Celsius
127 RW
128
129temp[1-3]_tolerance - temperature tolerance for Thermal Cruise mode.
130 Specifies an interval around the target temperature
131 in which the fan speed is not changed.
132 Unit: millidegree Celsius
133 RW
134
108Alarms bitmap vs. beep_mask bitmask 135Alarms bitmap vs. beep_mask bitmask
109------------------------------------ 136------------------------------------
110For legacy code using the alarms and beep_mask files: 137For legacy code using the alarms and beep_mask files:
@@ -132,7 +159,3 @@ tart2 : alarms: 0x020000 beep_mask: 0x080000 <== mismatch
132tart3 : alarms: 0x040000 beep_mask: 0x100000 <== mismatch 159tart3 : alarms: 0x040000 beep_mask: 0x100000 <== mismatch
133case_open : alarms: 0x001000 beep_mask: 0x001000 160case_open : alarms: 0x001000 beep_mask: 0x001000
134global_enable: alarms: -------- beep_mask: 0x800000 (modified via beep_enable) 161global_enable: alarms: -------- beep_mask: 0x800000 (modified via beep_enable)
135
136W83791D TODO:
137---------------
138Provide a patch for smart-fan control (still need appropriate motherboard/fans)