diff options
Diffstat (limited to 'Documentation/hwmon')
-rw-r--r-- | Documentation/hwmon/adt7470 | 76 | ||||
-rw-r--r-- | Documentation/hwmon/adt7473 | 18 | ||||
-rw-r--r-- | Documentation/hwmon/it87 | 4 | ||||
-rw-r--r-- | Documentation/hwmon/lm85 | 10 | ||||
-rw-r--r-- | Documentation/hwmon/lm87 | 9 | ||||
-rw-r--r-- | Documentation/hwmon/lm90 | 47 | ||||
-rw-r--r-- | Documentation/hwmon/pc87360 | 7 | ||||
-rw-r--r-- | Documentation/hwmon/pc87427 | 2 | ||||
-rw-r--r-- | Documentation/hwmon/sysfs-interface | 12 | ||||
-rw-r--r-- | Documentation/hwmon/w83781d | 37 | ||||
-rw-r--r-- | Documentation/hwmon/w83791d | 43 |
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 @@ | |||
1 | Kernel driver adt7470 | ||
2 | ===================== | ||
3 | |||
4 | Supported 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 | |||
10 | Author: Darrick J. Wong | ||
11 | |||
12 | Description | ||
13 | ----------- | ||
14 | |||
15 | This driver implements support for the Analog Devices ADT7470 chip. There may | ||
16 | be other chips that implement this interface. | ||
17 | |||
18 | The ADT7470 uses the 2-wire interface compatible with the SMBus 2.0 | ||
19 | specification. Using an analog to digital converter it measures up to ten (10) | ||
20 | external temperatures. It has four (4) 16-bit counters for measuring fan speed. | ||
21 | There are four (4) PWM outputs that can be used to control fan speed. | ||
22 | |||
23 | A sophisticated control system for the PWM outputs is designed into the ADT7470 | ||
24 | that allows fan speed to be adjusted automatically based on any of the ten | ||
25 | temperature sensors. Each PWM output is individually adjustable and | ||
26 | programmable. Once configured, the ADT7470 will adjust the PWM outputs in | ||
27 | response to the measured temperatures with further host intervention. This | ||
28 | feature can also be disabled for manual control of the PWM's. | ||
29 | |||
30 | Each of the measured inputs (temperature, fan speed) has corresponding high/low | ||
31 | limit values. The ADT7470 will signal an ALARM if any measured value exceeds | ||
32 | either limit. | ||
33 | |||
34 | The ADT7470 DOES NOT sample all inputs continuously. A single pin on the | ||
35 | ADT7470 is connected to a multitude of thermal diodes, but the chip must be | ||
36 | instructed explicitly to read the multitude of diodes. If you want to use | ||
37 | automatic fan control mode, you must manually read any of the temperature | ||
38 | sensors or the fan control algorithm will not run. The chip WILL NOT DO THIS | ||
39 | AUTOMATICALLY; this must be done from userspace. This may be a bug in the chip | ||
40 | design, given that many other AD chips take care of this. The driver will not | ||
41 | read the registers more often than once every 5 seconds. Further, | ||
42 | configuration data is only read once per minute. | ||
43 | |||
44 | Special Features | ||
45 | ---------------- | ||
46 | |||
47 | The ADT7470 has a 8-bit ADC and is capable of measuring temperatures with 1 | ||
48 | degC resolution. | ||
49 | |||
50 | The Analog Devices datasheet is very detailed and describes a procedure for | ||
51 | determining an optimal configuration for the automatic PWM control. | ||
52 | |||
53 | Configuration Notes | ||
54 | ------------------- | ||
55 | |||
56 | Besides 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 | |||
63 | point1: Set the pwm speed at a lower temperature bound. | ||
64 | point2: Set the pwm speed at a higher temperature bound. | ||
65 | |||
66 | The ADT7470 will scale the pwm between the lower and higher pwm speed when | ||
67 | the temperature is between the two temperature boundaries. PWM values range | ||
68 | from 0 (off) to 255 (full speed). Fan speed will be set to maximum when the | ||
69 | temperature sensor associated with the PWM control exceeds | ||
70 | pwm#_auto_point2_temp. | ||
71 | |||
72 | Notes | ||
73 | ----- | ||
74 | |||
75 | As stated above, the temperature inputs must be read periodically from | ||
76 | userspace 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 | ||
15 | This driver implements support for the Analog Devices ADT7473 chip family. | 15 | This driver implements support for the Analog Devices ADT7473 chip family. |
16 | 16 | ||
17 | The LM85 uses the 2-wire interface compatible with the SMBUS 2.0 | 17 | The ADT7473 uses the 2-wire interface compatible with the SMBUS 2.0 |
18 | specification. Using an analog to digital converter it measures three (3) | 18 | specification. Using an analog to digital converter it measures three (3) |
19 | temperatures and two (2) voltages. It has three (3) 16-bit counters for | 19 | temperatures and two (2) voltages. It has four (4) 16-bit counters for |
20 | measuring fan speed. There are three (3) PWM outputs that can be used | 20 | measuring fan speed. There are three (3) PWM outputs that can be used |
21 | to control fan speed. | 21 | to control fan speed. |
22 | 22 | ||
23 | A sophisticated control system for the PWM outputs is designed into the | 23 | A sophisticated control system for the PWM outputs is designed into the |
24 | LM85 that allows fan speed to be adjusted automatically based on any of the | 24 | ADT7473 that allows fan speed to be adjusted automatically based on any of the |
25 | three temperature sensors. Each PWM output is individually adjustable and | 25 | three temperature sensors. Each PWM output is individually adjustable and |
26 | programmable. Once configured, the ADT7473 will adjust the PWM outputs in | 26 | programmable. Once configured, the ADT7473 will adjust the PWM outputs in |
27 | response to the measured temperatures without further host intervention. | 27 | response to the measured temperatures without further host intervention. |
@@ -46,14 +46,6 @@ from the raw value to get the temperature value. | |||
46 | The Analog Devices datasheet is very detailed and describes a procedure for | 46 | The Analog Devices datasheet is very detailed and describes a procedure for |
47 | determining an optimal configuration for the automatic PWM control. | 47 | determining an optimal configuration for the automatic PWM control. |
48 | 48 | ||
49 | Hardware Configurations | ||
50 | ----------------------- | ||
51 | |||
52 | The ADT7473 chips have an optional SMBALERT output that can be used to | ||
53 | signal the chipset in case a limit is exceeded or the temperature sensors | ||
54 | fail. Individual sensor interrupts can be masked so they won't trigger | ||
55 | SMBALERT. The SMBALERT output if configured replaces the PWM2 function. | ||
56 | |||
57 | Configuration Notes | 49 | Configuration 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 | ||
67 | point1: Set the pwm speed at a lower temperature bound. | 59 | point1: Set the pwm speed at a lower temperature bound. |
68 | point2: Set the pwm speed at a higher temperature bound. | 60 | point2: 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. | |||
136 | The IT87xx only updates its values each 1.5 seconds; reading it more often | 136 | The IT87xx only updates its values each 1.5 seconds; reading it more often |
137 | will do no harm, but will return 'old' values. | 137 | will do no harm, but will return 'old' values. |
138 | 138 | ||
139 | To change sensor N to a thermistor, 'echo 2 > tempN_type' where N is 1, 2, | 139 | To change sensor N to a thermistor, 'echo 4 > tempN_type' where N is 1, 2, |
140 | or 3. To change sensor N to a thermal diode, 'echo 3 > tempN_type'. | 140 | or 3. To change sensor N to a thermal diode, 'echo 3 > tempN_type'. |
141 | Give 0 for unused sensor. Any other value is invalid. To configure this at | 141 | Give 0 for unused sensor. Any other value is invalid. To configure this at |
142 | startup, consult lm_sensors's /etc/sensors.conf. (2 = thermistor; | 142 | startup, consult lm_sensors's /etc/sensors.conf. (4 = thermistor; |
143 | 3 = thermal diode) | 143 | 3 = 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 | |||
170 | The pwm#_auto_pwm_freq can be set to one of the following 8 values. Setting the | ||
171 | frequency to a value not on this list, will result in the next higher frequency | ||
172 | being selected. The actual device frequency may vary slightly from this | ||
173 | specification as designed by the manufacturer. Consult the datasheet for more | ||
174 | details. (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, | |||
65 | depending on the hardware configuration. | 65 | depending on the hardware configuration. |
66 | 66 | ||
67 | Some functions share pins, so not all functions are available at the same | 67 | Some functions share pins, so not all functions are available at the same |
68 | time. Which are depends on the hardware setup. This driver assumes that | 68 | time. Which are depends on the hardware setup. This driver normally |
69 | the BIOS configured the chip correctly. In that respect, it differs from | 69 | assumes that firmware configured the chip correctly. Where this is not |
70 | the original driver (from lm_sensors for Linux 2.4), which would force the | 70 | the case, platform code must set the I2C client's platform_data to point |
71 | LM87 to an arbitrary, compile-time chosen mode, regardless of the actual | 71 | to a u8 value to be written to the channel register. |
72 | chipset wiring. | ||
73 | 72 | ||
74 | For reference, here is the list of exclusive functions: | 73 | For 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 | ||
71 | The LM90 is a digital temperature sensor. It senses its own temperature as | 85 | The LM90 is a digital temperature sensor. It senses its own temperature as |
72 | well as the temperature of up to one external diode. It is compatible | 86 | well as the temperature of up to one external diode. It is compatible |
73 | with many other devices such as the LM86, the LM89, the LM99, the ADM1032, | 87 | with many other devices, many of which are supported by this driver. |
74 | the MAX6657, MAX6658, MAX6659, MAX6680 and the MAX6681 all of which are | ||
75 | supported by this driver. | ||
76 | 88 | ||
77 | Note that there is no easy way to differentiate between the MAX6657, | 89 | Note that there is no easy way to differentiate between the MAX6657, |
78 | MAX6658 and MAX6659 variants. The extra address and features of the | 90 | MAX6658 and MAX6659 variants. The extra address and features of the |
79 | MAX6659 are not supported by this driver. The MAX6680 and MAX6681 only | 91 | MAX6659 are not supported by this driver. The MAX6680 and MAX6681 only |
80 | differ in their pinout, therefore they obviously can't (and don't need to) | 92 | differ in their pinout, therefore they obviously can't (and don't need to) |
81 | be distinguished. Additionally, the ADT7461 is supported if found in | 93 | be distinguished. |
82 | ADM1032 compatibility mode. | ||
83 | 94 | ||
84 | The specificity of this family of chipsets over the ADM1021/LM84 | 95 | The specificity of this family of chipsets over the ADM1021/LM84 |
85 | family is that it features critical limits with hysteresis, and an | 96 | family is that it features critical limits with hysteresis, and an |
86 | increased resolution of the remote temperature measurement. | 97 | increased resolution of the remote temperature measurement. |
87 | 98 | ||
88 | The different chipsets of the family are not strictly identical, although | 99 | The different chipsets of the family are not strictly identical, although |
89 | very similar. This driver doesn't handle any specific feature for now, | 100 | very similar. For reference, here comes a non-exhaustive list of specific |
90 | with the exception of SMBus PEC. For reference, here comes a non-exhaustive | 101 | features: |
91 | list of specific features: | ||
92 | 102 | ||
93 | LM90: | 103 | LM90: |
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 | ||
116 | MAX6657 and MAX6658: | 126 | MAX6657 and MAX6658: |
127 | * Better local resolution | ||
117 | * Remote sensor type selection | 128 | * Remote sensor type selection |
118 | 129 | ||
119 | MAX6659: | 130 | MAX6659: |
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 | ||
128 | All temperature values are given in degrees Celsius. Resolution | 140 | All temperature values are given in degrees Celsius. Resolution |
129 | is 1.0 degree for the local temperature, 0.125 degree for the remote | 141 | is 1.0 degree for the local temperature, 0.125 degree for the remote |
130 | temperature. | 142 | temperature, except for the MAX6657, MAX6658 and MAX6659 which have a |
143 | resolution of 0.125 degree for both temperatures. | ||
131 | 144 | ||
132 | Each sensor has its own high and low limits, plus a critical limit. | 145 | Each sensor has its own high and low limits, plus a critical limit. |
133 | Additionally, there is a relative hysteresis value common to both critical | 146 | Additionally, 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 | ||
15 | Authors: Jean Delvare <khali@linux-fr.org> | 10 | Authors: 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 | ||
10 | Author: Jean Delvare <khali@linux-fr.org> | 10 | Author: 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 | ||
332 | power[1-*]_average_interval Power use averaging interval | ||
333 | Unit: milliseconds | ||
334 | RW | ||
335 | |||
332 | power[1-*]_average_highest Historical average maximum power use | 336 | power[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 | |||
364 | energy[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 | ||
356 | Additional info about PWM on the AS99127F (may apply to other Asus | 356 | * Additional info about PWM on the AS99127F (may apply to other Asus |
357 | chips as well) by Jean Delvare as of 2004-04-09: | 357 | chips as well) by Jean Delvare as of 2004-04-09: |
358 | 358 | ||
359 | AS99127F revision 2 seems to have two PWM registers at 0x59 and 0x5A, | 359 | AS99127F 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 | |||
396 | long as we don't know more, the w83781d driver doesn't handle PWM on | 396 | long as we don't know more, the w83781d driver doesn't handle PWM on |
397 | AS99127F chips at all. | 397 | AS99127F chips at all. |
398 | 398 | ||
399 | Additional 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 | ||
401 | I've been fiddling around with the (in)famous 0x59 register and | 401 | I've been fiddling around with the (in)famous 0x59 register and |
402 | found out the following values do work as a form of coarse pwm: | 402 | found out the following values do work as a form of coarse pwm: |
@@ -418,3 +418,36 @@ change. | |||
418 | My mobo is an ASUS A7V266-E. This behavior is similar to what I got | 418 | My mobo is an ASUS A7V266-E. This behavior is similar to what I got |
419 | with speedfan under Windows, where 0-15% would be off, 15-2x% (can't | 419 | with speedfan under Windows, where 0-15% would be off, 15-2x% (can't |
420 | remember the exact value) would be 70% and higher would be full on. | 420 | remember 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 | |||
425 | I conducted some experiment on Asus P3B-F motherboard with AS99127F | ||
426 | (Ver. 1). | ||
427 | |||
428 | I confirm that 0x59 register control the CPU_Fan Header on this | ||
429 | motherboard, and 0x5a register control PWR_Fan. | ||
430 | |||
431 | In order to reduce the dependency of specific fan, the measurement is | ||
432 | conducted with a digital scope without fan connected. I found out that | ||
433 | P3B-F actually output variable DC voltage on fan header center pin, | ||
434 | looks like PWM is filtered on this motherboard. | ||
435 | |||
436 | Here are some of measurements: | ||
437 | |||
438 | 0x80 20 mV | ||
439 | 0x81 20 mV | ||
440 | 0x82 232 mV | ||
441 | 0x83 1.2 V | ||
442 | 0x84 2.31 V | ||
443 | 0x85 3.44 V | ||
444 | 0x86 4.62 V | ||
445 | 0x87 5.81 V | ||
446 | 0x88 7.01 V | ||
447 | 9x89 8.22 V | ||
448 | 0x8a 9.42 V | ||
449 | 0x8b 10.6 V | ||
450 | 0x8c 11.9 V | ||
451 | 0x8d 12.4 V | ||
452 | 0x8e 12.4 V | ||
453 | 0x8f 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 | |||
58 | currently selected). If you know the address of the chip, use a 'force' | 58 | currently selected). If you know the address of the chip, use a 'force' |
59 | parameter; this will put it into a more well-behaved state first. | 59 | parameter; this will put it into a more well-behaved state first. |
60 | 60 | ||
61 | The driver implements three temperature sensors, five fan rotation speed | 61 | The driver implements three temperature sensors, ten voltage sensors, |
62 | sensors, and ten voltage sensors. | 62 | five fan rotation speed sensors and manual PWM control of each fan. |
63 | 63 | ||
64 | Temperatures are measured in degrees Celsius and measurement resolution is 1 | 64 | Temperatures are measured in degrees Celsius and measurement resolution is 1 |
65 | degC for temp1 and 0.5 degC for temp2 and temp3. An alarm is triggered when | 65 | degC for temp1 and 0.5 degC for temp2 and temp3. An alarm is triggered when |
66 | the temperature gets higher than the Overtemperature Shutdown value; it stays | 66 | the temperature gets higher than the Overtemperature Shutdown value; it stays |
67 | on until the temperature falls below the Hysteresis value. | 67 | on until the temperature falls below the Hysteresis value. |
68 | 68 | ||
69 | Voltage sensors (also known as IN sensors) report their values in millivolts. | ||
70 | An alarm is triggered if the voltage has crossed a programmable minimum | ||
71 | or maximum limit. | ||
72 | |||
69 | Fan rotation speeds are reported in RPM (rotations per minute). An alarm is | 73 | Fan rotation speeds are reported in RPM (rotations per minute). An alarm is |
70 | triggered if the rotation speed has dropped below a programmable limit. Fan | 74 | triggered if the rotation speed has dropped below a programmable limit. Fan |
71 | readings can be divided by a programmable divider (1, 2, 4, 8, 16, | 75 | readings can be divided by a programmable divider (1, 2, 4, 8, 16, |
72 | 32, 64 or 128 for all fans) to give the readings more range or accuracy. | 76 | 32, 64 or 128 for all fans) to give the readings more range or accuracy. |
73 | 77 | ||
74 | Voltage sensors (also known as IN sensors) report their values in millivolts. | 78 | Each fan controlled is controlled by PWM. The PWM duty cycle can be read and |
75 | An alarm is triggered if the voltage has crossed a programmable minimum | 79 | set for each fan separately. Valid values range from 0 (stop) to 255 (full). |
76 | or maximum limit. | 80 | PWM 1-3 support Thermal Cruise mode, in which the PWMs are automatically |
81 | regulated to keep respectively temp 1-3 at a certain target temperature. | ||
82 | See below for the description of the sysfs-interface. | ||
77 | 83 | ||
78 | The w83791d has a global bit used to enable beeping from the speaker when an | 84 | The w83791d has a global bit used to enable beeping from the speaker when an |
79 | alarm is triggered as well as a bitmask to enable or disable the beep for | 85 | alarm is triggered as well as a bitmask to enable or disable the beep for |
80 | specific alarms. You need both the global beep enable bit and the | 86 | specific alarms. You need both the global beep enable bit and the |
81 | corresponding beep bit to be on for a triggered alarm to sound a beep. | 87 | corresponding beep bit to be on for a triggered alarm to sound a beep. |
82 | 88 | ||
83 | The sysfs interface to the gloabal enable is via the sysfs beep_enable file. | 89 | The sysfs interface to the global enable is via the sysfs beep_enable file. |
84 | This file is used for both legacy and new code. | 90 | This file is used for both legacy and new code. |
85 | 91 | ||
86 | The sysfs interface to the beep bitmask has migrated from the original legacy | 92 | The sysfs interface to the beep bitmask has migrated from the original legacy |
@@ -105,6 +111,27 @@ going forward. | |||
105 | The driver reads the hardware chip values at most once every three seconds. | 111 | The driver reads the hardware chip values at most once every three seconds. |
106 | User mode code requesting values more often will receive cached values. | 112 | User mode code requesting values more often will receive cached values. |
107 | 113 | ||
114 | /sys files | ||
115 | ---------- | ||
116 | The sysfs-interface is documented in the 'sysfs-interface' file. Only | ||
117 | chip-specific options are documented here. | ||
118 | |||
119 | pwm[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 | |||
125 | temp[1-3]_target - defines the target temperature for Thermal Cruise mode. | ||
126 | Unit: millidegree Celsius | ||
127 | RW | ||
128 | |||
129 | temp[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 | |||
108 | Alarms bitmap vs. beep_mask bitmask | 135 | Alarms bitmap vs. beep_mask bitmask |
109 | ------------------------------------ | 136 | ------------------------------------ |
110 | For legacy code using the alarms and beep_mask files: | 137 | For legacy code using the alarms and beep_mask files: |
@@ -132,7 +159,3 @@ tart2 : alarms: 0x020000 beep_mask: 0x080000 <== mismatch | |||
132 | tart3 : alarms: 0x040000 beep_mask: 0x100000 <== mismatch | 159 | tart3 : alarms: 0x040000 beep_mask: 0x100000 <== mismatch |
133 | case_open : alarms: 0x001000 beep_mask: 0x001000 | 160 | case_open : alarms: 0x001000 beep_mask: 0x001000 |
134 | global_enable: alarms: -------- beep_mask: 0x800000 (modified via beep_enable) | 161 | global_enable: alarms: -------- beep_mask: 0x800000 (modified via beep_enable) |
135 | |||
136 | W83791D TODO: | ||
137 | --------------- | ||
138 | Provide a patch for smart-fan control (still need appropriate motherboard/fans) | ||