diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-28 15:17:00 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-28 15:17:00 -0400 |
commit | 150cd843fac0160fce616fb3e5cbe64e9db7481e (patch) | |
tree | eca7ed23a2238665462ff92fe6e9b591da3e092a /Documentation | |
parent | f063a0c0c995d010960efcc1b2ed14b99674f25c (diff) | |
parent | 44c1bcd4bcde32b2a31a6775a277706ab489c0dc (diff) |
Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging
* 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: (68 commits)
hwmon: (it87) Add support for the IT8721F/IT8758E
hwmon: (it87) Move conversion functions
hwmon: Remove many EXPERIMENTAL flags
hwmon: (lm85) Add support for ADT7468 high-frequency PWM mode
hwmon: (lm85) Document the ADT7468 as supported
hwmon: (lm85) Fix ADT7468 frequency table
hwmon: I2C addresses are constant
Move ams driver to macintosh
hwmon: (pcf8591) Don't attempt to detect devices
hwmon: (pcf8591) Register as a hwmon device
hwmon: (w83795) Use standard attributes for chassis intrusion
hwmon: (w83795) Exclude fan control feature by default
hwmon: (w83795) Add myself as co-author and maintainer
hwmon: (w83795) More style cleanups
hwmon: (w83795) Fix LSB reading of voltage limits
hwmon: (w83795) Use dev_get_drvdata() where possible
hwmon: (w83795) Delay reading pwm config registers
hwmon: (w83795) Delay reading limit registers
hwmon: (w83795) Move register reads to dedicated functions
hwmon: (w83795) Pack similar register reads
...
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/hwmon/it87 | 28 | ||||
-rw-r--r-- | Documentation/hwmon/lm85 | 60 | ||||
-rw-r--r-- | Documentation/hwmon/lm90 | 42 | ||||
-rw-r--r-- | Documentation/hwmon/pcf8591 | 18 | ||||
-rw-r--r-- | Documentation/hwmon/sysfs-interface | 15 |
5 files changed, 112 insertions, 51 deletions
diff --git a/Documentation/hwmon/it87 b/Documentation/hwmon/it87 index 8d08bf0d38ed..38425f0f2645 100644 --- a/Documentation/hwmon/it87 +++ b/Documentation/hwmon/it87 | |||
@@ -22,6 +22,10 @@ Supported chips: | |||
22 | Prefix: 'it8720' | 22 | Prefix: 'it8720' |
23 | Addresses scanned: from Super I/O config space (8 I/O ports) | 23 | Addresses scanned: from Super I/O config space (8 I/O ports) |
24 | Datasheet: Not publicly available | 24 | Datasheet: Not publicly available |
25 | * IT8721F/IT8758E | ||
26 | Prefix: 'it8721' | ||
27 | Addresses scanned: from Super I/O config space (8 I/O ports) | ||
28 | Datasheet: Not publicly available | ||
25 | * SiS950 [clone of IT8705F] | 29 | * SiS950 [clone of IT8705F] |
26 | Prefix: 'it87' | 30 | Prefix: 'it87' |
27 | Addresses scanned: from Super I/O config space (8 I/O ports) | 31 | Addresses scanned: from Super I/O config space (8 I/O ports) |
@@ -67,7 +71,7 @@ Description | |||
67 | ----------- | 71 | ----------- |
68 | 72 | ||
69 | This driver implements support for the IT8705F, IT8712F, IT8716F, | 73 | This driver implements support for the IT8705F, IT8712F, IT8716F, |
70 | IT8718F, IT8720F, IT8726F and SiS950 chips. | 74 | IT8718F, IT8720F, IT8721F, IT8726F, IT8758E and SiS950 chips. |
71 | 75 | ||
72 | These chips are 'Super I/O chips', supporting floppy disks, infrared ports, | 76 | These chips are 'Super I/O chips', supporting floppy disks, infrared ports, |
73 | joysticks and other miscellaneous stuff. For hardware monitoring, they | 77 | joysticks and other miscellaneous stuff. For hardware monitoring, they |
@@ -86,14 +90,15 @@ the driver won't notice and report changes in the VID value. The two | |||
86 | upper VID bits share their pins with voltage inputs (in5 and in6) so you | 90 | upper VID bits share their pins with voltage inputs (in5 and in6) so you |
87 | can't have both on a given board. | 91 | can't have both on a given board. |
88 | 92 | ||
89 | The IT8716F, IT8718F, IT8720F and later IT8712F revisions have support for | 93 | The IT8716F, IT8718F, IT8720F, IT8721F/IT8758E and later IT8712F revisions |
90 | 2 additional fans. The additional fans are supported by the driver. | 94 | have support for 2 additional fans. The additional fans are supported by the |
95 | driver. | ||
91 | 96 | ||
92 | The IT8716F, IT8718F and IT8720F, and late IT8712F and IT8705F also have | 97 | The IT8716F, IT8718F, IT8720F and IT8721F/IT8758E, and late IT8712F and |
93 | optional 16-bit tachometer counters for fans 1 to 3. This is better (no more | 98 | IT8705F also have optional 16-bit tachometer counters for fans 1 to 3. This |
94 | fan clock divider mess) but not compatible with the older chips and | 99 | is better (no more fan clock divider mess) but not compatible with the older |
95 | revisions. The 16-bit tachometer mode is enabled by the driver when one | 100 | chips and revisions. The 16-bit tachometer mode is enabled by the driver when |
96 | of the above chips is detected. | 101 | one of the above chips is detected. |
97 | 102 | ||
98 | The IT8726F is just bit enhanced IT8716F with additional hardware | 103 | The IT8726F is just bit enhanced IT8716F with additional hardware |
99 | for AMD power sequencing. Therefore the chip will appear as IT8716F | 104 | for AMD power sequencing. Therefore the chip will appear as IT8716F |
@@ -115,7 +120,12 @@ alarm is triggered if the voltage has crossed a programmable minimum or | |||
115 | maximum limit. Note that minimum in this case always means 'closest to | 120 | maximum limit. Note that minimum in this case always means 'closest to |
116 | zero'; this is important for negative voltage measurements. All voltage | 121 | zero'; this is important for negative voltage measurements. All voltage |
117 | inputs can measure voltages between 0 and 4.08 volts, with a resolution of | 122 | inputs can measure voltages between 0 and 4.08 volts, with a resolution of |
118 | 0.016 volt. The battery voltage in8 does not have limit registers. | 123 | 0.016 volt (except IT8721F/IT8758E: 0.012 volt.) The battery voltage in8 does |
124 | not have limit registers. | ||
125 | |||
126 | On the IT8721F/IT8758E, some voltage inputs are internal and scaled inside | ||
127 | the chip (in7, in8 and optionally in3). The driver handles this transparently | ||
128 | so user-space doesn't have to care. | ||
119 | 129 | ||
120 | The VID lines (IT8712F/IT8716F/IT8718F/IT8720F) encode the core voltage value: | 130 | The VID lines (IT8712F/IT8716F/IT8718F/IT8720F) encode the core voltage value: |
121 | the voltage level your processor should work with. This is hardcoded by | 131 | the voltage level your processor should work with. This is hardcoded by |
diff --git a/Documentation/hwmon/lm85 b/Documentation/hwmon/lm85 index b98e0e0d1910..239258a63c81 100644 --- a/Documentation/hwmon/lm85 +++ b/Documentation/hwmon/lm85 | |||
@@ -14,6 +14,10 @@ Supported chips: | |||
14 | Prefix: 'adt7463' | 14 | Prefix: 'adt7463' |
15 | Addresses scanned: I2C 0x2c, 0x2d, 0x2e | 15 | Addresses scanned: I2C 0x2c, 0x2d, 0x2e |
16 | Datasheet: http://www.onsemi.com/PowerSolutions/product.do?id=ADT7463 | 16 | Datasheet: http://www.onsemi.com/PowerSolutions/product.do?id=ADT7463 |
17 | * Analog Devices ADT7468 | ||
18 | Prefix: 'adt7468' | ||
19 | Addresses scanned: I2C 0x2c, 0x2d, 0x2e | ||
20 | Datasheet: http://www.onsemi.com/PowerSolutions/product.do?id=ADT7468 | ||
17 | * SMSC EMC6D100, SMSC EMC6D101 | 21 | * SMSC EMC6D100, SMSC EMC6D101 |
18 | Prefix: 'emc6d100' | 22 | Prefix: 'emc6d100' |
19 | Addresses scanned: I2C 0x2c, 0x2d, 0x2e | 23 | Addresses scanned: I2C 0x2c, 0x2d, 0x2e |
@@ -34,7 +38,7 @@ Description | |||
34 | ----------- | 38 | ----------- |
35 | 39 | ||
36 | This driver implements support for the National Semiconductor LM85 and | 40 | This driver implements support for the National Semiconductor LM85 and |
37 | compatible chips including the Analog Devices ADM1027, ADT7463 and | 41 | compatible chips including the Analog Devices ADM1027, ADT7463, ADT7468 and |
38 | SMSC EMC6D10x chips family. | 42 | SMSC EMC6D10x chips family. |
39 | 43 | ||
40 | The LM85 uses the 2-wire interface compatible with the SMBUS 2.0 | 44 | The LM85 uses the 2-wire interface compatible with the SMBUS 2.0 |
@@ -87,14 +91,22 @@ To smooth the response of fans to changes in temperature, the LM85 has an | |||
87 | optional filter for smoothing temperatures. The ADM1027 has the same | 91 | optional filter for smoothing temperatures. The ADM1027 has the same |
88 | config option but uses it to rate limit the changes to fan speed instead. | 92 | config option but uses it to rate limit the changes to fan speed instead. |
89 | 93 | ||
90 | The ADM1027 and ADT7463 have a 10-bit ADC and can therefore measure | 94 | The ADM1027, ADT7463 and ADT7468 have a 10-bit ADC and can therefore |
91 | temperatures with 0.25 degC resolution. They also provide an offset to the | 95 | measure temperatures with 0.25 degC resolution. They also provide an offset |
92 | temperature readings that is automatically applied during measurement. | 96 | to the temperature readings that is automatically applied during |
93 | This offset can be used to zero out any errors due to traces and placement. | 97 | measurement. This offset can be used to zero out any errors due to traces |
94 | The documentation says that the offset is in 0.25 degC steps, but in | 98 | and placement. The documentation says that the offset is in 0.25 degC |
95 | initial testing of the ADM1027 it was 1.00 degC steps. Analog Devices has | 99 | steps, but in initial testing of the ADM1027 it was 1.00 degC steps. Analog |
96 | confirmed this "bug". The ADT7463 is reported to work as described in the | 100 | Devices has confirmed this "bug". The ADT7463 is reported to work as |
97 | documentation. The current lm85 driver does not show the offset register. | 101 | described in the documentation. The current lm85 driver does not show the |
102 | offset register. | ||
103 | |||
104 | The ADT7468 has a high-frequency PWM mode, where all PWM outputs are | ||
105 | driven by a 22.5 kHz clock. This is a global mode, not per-PWM output, | ||
106 | which means that setting any PWM frequency above 11.3 kHz will switch | ||
107 | all 3 PWM outputs to a 22.5 kHz frequency. Conversely, setting any PWM | ||
108 | frequency below 11.3 kHz will switch all 3 PWM outputs to a frequency | ||
109 | between 10 and 100 Hz, which can then be tuned separately. | ||
98 | 110 | ||
99 | See the vendor datasheets for more information. There is application note | 111 | See the vendor datasheets for more information. There is application note |
100 | from National (AN-1260) with some additional information about the LM85. | 112 | from National (AN-1260) with some additional information about the LM85. |
@@ -125,17 +137,17 @@ datasheet for a complete description of the differences. Other than | |||
125 | identifying the chip, the driver behaves no differently with regard to | 137 | identifying the chip, the driver behaves no differently with regard to |
126 | these two chips. The LM85B is recommended for new designs. | 138 | these two chips. The LM85B is recommended for new designs. |
127 | 139 | ||
128 | The ADM1027 and ADT7463 chips have an optional SMBALERT output that can be | 140 | The ADM1027, ADT7463 and ADT7468 chips have an optional SMBALERT output |
129 | used to signal the chipset in case a limit is exceeded or the temperature | 141 | that can be used to signal the chipset in case a limit is exceeded or the |
130 | sensors fail. Individual sensor interrupts can be masked so they won't | 142 | temperature sensors fail. Individual sensor interrupts can be masked so |
131 | trigger SMBALERT. The SMBALERT output if configured replaces one of the other | 143 | they won't trigger SMBALERT. The SMBALERT output if configured replaces one |
132 | functions (PWM2 or IN0). This functionality is not implemented in current | 144 | of the other functions (PWM2 or IN0). This functionality is not implemented |
133 | driver. | 145 | in current driver. |
134 | 146 | ||
135 | The ADT7463 also has an optional THERM output/input which can be connected | 147 | The ADT7463 and ADT7468 also have an optional THERM output/input which can |
136 | to the processor PROC_HOT output. If available, the autofan control | 148 | be connected to the processor PROC_HOT output. If available, the autofan |
137 | dynamic Tmin feature can be enabled to keep the system temperature within | 149 | control dynamic Tmin feature can be enabled to keep the system temperature |
138 | spec (just?!) with the least possible fan noise. | 150 | within spec (just?!) with the least possible fan noise. |
139 | 151 | ||
140 | Configuration Notes | 152 | Configuration Notes |
141 | ------------------- | 153 | ------------------- |
@@ -201,8 +213,8 @@ the temperatures to compensate for systemic errors in the | |||
201 | measurements. These features are not currently supported by the lm85 | 213 | measurements. These features are not currently supported by the lm85 |
202 | driver. | 214 | driver. |
203 | 215 | ||
204 | In addition to the ADM1027 features, the ADT7463 also has Tmin control | 216 | In addition to the ADM1027 features, the ADT7463 and ADT7468 also have |
205 | and THERM asserted counts. Automatic Tmin control acts to adjust the | 217 | Tmin control and THERM asserted counts. Automatic Tmin control acts to |
206 | Tmin value to maintain the measured temperature sensor at a specified | 218 | adjust the Tmin value to maintain the measured temperature sensor at a |
207 | temperature. There isn't much documentation on this feature in the | 219 | specified temperature. There isn't much documentation on this feature in |
208 | ADT7463 data sheet. This is not supported by current driver. | 220 | the ADT7463 data sheet. This is not supported by current driver. |
diff --git a/Documentation/hwmon/lm90 b/Documentation/hwmon/lm90 index 6a03dd4bcc94..fa475c0a48a3 100644 --- a/Documentation/hwmon/lm90 +++ b/Documentation/hwmon/lm90 | |||
@@ -63,8 +63,8 @@ Supported chips: | |||
63 | Datasheet: Publicly available at the Maxim website | 63 | Datasheet: Publicly available at the Maxim website |
64 | http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578 | 64 | http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578 |
65 | * Maxim MAX6659 | 65 | * Maxim MAX6659 |
66 | Prefix: 'max6657' | 66 | Prefix: 'max6659' |
67 | Addresses scanned: I2C 0x4c, 0x4d (unsupported 0x4e) | 67 | Addresses scanned: I2C 0x4c, 0x4d, 0x4e |
68 | Datasheet: Publicly available at the Maxim website | 68 | Datasheet: Publicly available at the Maxim website |
69 | http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578 | 69 | http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578 |
70 | * Maxim MAX6680 | 70 | * Maxim MAX6680 |
@@ -84,6 +84,21 @@ Supported chips: | |||
84 | Addresses scanned: I2C 0x4c | 84 | Addresses scanned: I2C 0x4c |
85 | Datasheet: Publicly available at the Maxim website | 85 | Datasheet: Publicly available at the Maxim website |
86 | http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3500 | 86 | http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3500 |
87 | * Maxim MAX6695 | ||
88 | Prefix: 'max6695' | ||
89 | Addresses scanned: I2C 0x18 | ||
90 | Datasheet: Publicly available at the Maxim website | ||
91 | http://www.maxim-ic.com/datasheet/index.mvp/id/4199 | ||
92 | * Maxim MAX6696 | ||
93 | Prefix: 'max6695' | ||
94 | Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b, | ||
95 | 0x4c, 0x4d and 0x4e | ||
96 | Datasheet: Publicly available at the Maxim website | ||
97 | http://www.maxim-ic.com/datasheet/index.mvp/id/4199 | ||
98 | * Winbond/Nuvoton W83L771W/G | ||
99 | Prefix: 'w83l771' | ||
100 | Addresses scanned: I2C 0x4c | ||
101 | Datasheet: No longer available | ||
87 | * Winbond/Nuvoton W83L771AWG/ASG | 102 | * Winbond/Nuvoton W83L771AWG/ASG |
88 | Prefix: 'w83l771' | 103 | Prefix: 'w83l771' |
89 | Addresses scanned: I2C 0x4c | 104 | Addresses scanned: I2C 0x4c |
@@ -101,10 +116,11 @@ well as the temperature of up to one external diode. It is compatible | |||
101 | with many other devices, many of which are supported by this driver. | 116 | with many other devices, many of which are supported by this driver. |
102 | 117 | ||
103 | Note that there is no easy way to differentiate between the MAX6657, | 118 | Note that there is no easy way to differentiate between the MAX6657, |
104 | MAX6658 and MAX6659 variants. The extra address and features of the | 119 | MAX6658 and MAX6659 variants. The extra features of the MAX6659 are only |
105 | MAX6659 are not supported by this driver. The MAX6680 and MAX6681 only | 120 | supported by this driver if the chip is located at address 0x4d or 0x4e, |
106 | differ in their pinout, therefore they obviously can't (and don't need to) | 121 | or if the chip type is explicitly selected as max6659. |
107 | be distinguished. | 122 | The MAX6680 and MAX6681 only differ in their pinout, therefore they obviously |
123 | can't (and don't need to) be distinguished. | ||
108 | 124 | ||
109 | The specificity of this family of chipsets over the ADM1021/LM84 | 125 | The specificity of this family of chipsets over the ADM1021/LM84 |
110 | family is that it features critical limits with hysteresis, and an | 126 | family is that it features critical limits with hysteresis, and an |
@@ -151,11 +167,21 @@ MAX6680 and MAX6681: | |||
151 | * Selectable address | 167 | * Selectable address |
152 | * Remote sensor type selection | 168 | * Remote sensor type selection |
153 | 169 | ||
170 | MAX6695 and MAX6696: | ||
171 | * Better local resolution | ||
172 | * Selectable address (max6696) | ||
173 | * Second critical temperature limit | ||
174 | * Two remote sensors | ||
175 | |||
176 | W83L771W/G | ||
177 | * The G variant is lead-free, otherwise similar to the W. | ||
178 | * Filter and alert configuration register at 0xBF | ||
179 | * Moving average (depending on conversion rate) | ||
180 | |||
154 | W83L771AWG/ASG | 181 | W83L771AWG/ASG |
182 | * Successor of the W83L771W/G, same features. | ||
155 | * The AWG and ASG variants only differ in package format. | 183 | * The AWG and ASG variants only differ in package format. |
156 | * Filter and alert configuration register at 0xBF | ||
157 | * Diode ideality factor configuration (remote sensor) at 0xE3 | 184 | * Diode ideality factor configuration (remote sensor) at 0xE3 |
158 | * Moving average (depending on conversion rate) | ||
159 | 185 | ||
160 | All temperature values are given in degrees Celsius. Resolution | 186 | All temperature values are given in degrees Celsius. Resolution |
161 | is 1.0 degree for the local temperature, 0.125 degree for the remote | 187 | is 1.0 degree for the local temperature, 0.125 degree for the remote |
diff --git a/Documentation/hwmon/pcf8591 b/Documentation/hwmon/pcf8591 index e76a7892f68e..ac020b3bb7b3 100644 --- a/Documentation/hwmon/pcf8591 +++ b/Documentation/hwmon/pcf8591 | |||
@@ -4,7 +4,7 @@ Kernel driver pcf8591 | |||
4 | Supported chips: | 4 | Supported chips: |
5 | * Philips/NXP PCF8591 | 5 | * Philips/NXP PCF8591 |
6 | Prefix: 'pcf8591' | 6 | Prefix: 'pcf8591' |
7 | Addresses scanned: I2C 0x48 - 0x4f | 7 | Addresses scanned: none |
8 | Datasheet: Publicly available at the NXP website | 8 | Datasheet: Publicly available at the NXP website |
9 | http://www.nxp.com/pip/PCF8591_6.html | 9 | http://www.nxp.com/pip/PCF8591_6.html |
10 | 10 | ||
@@ -58,18 +58,16 @@ Module parameters | |||
58 | Accessing PCF8591 via /sys interface | 58 | Accessing PCF8591 via /sys interface |
59 | ------------------------------------- | 59 | ------------------------------------- |
60 | 60 | ||
61 | ! Be careful ! | 61 | The PCF8591 is plainly impossible to detect! Thus the driver won't even |
62 | The PCF8591 is plainly impossible to detect! Stupid chip. | 62 | try. You have to explicitly instantiate the device at the relevant |
63 | So every chip with address in the interval [0x48..0x4f] is | 63 | address (in the interval [0x48..0x4f]) either through platform data, or |
64 | detected as PCF8591. If you have other chips in this address | 64 | using the sysfs interface. See Documentation/i2c/instantiating-devices |
65 | range, the workaround is to load this module after the one | 65 | for details. |
66 | for your others chips. | ||
67 | 66 | ||
68 | On detection (i.e. insmod, modprobe et al.), directories are being | 67 | Directories are being created for each instantiated PCF8591: |
69 | created for each detected PCF8591: | ||
70 | 68 | ||
71 | /sys/bus/i2c/devices/<0>-<1>/ | 69 | /sys/bus/i2c/devices/<0>-<1>/ |
72 | where <0> is the bus the chip was detected on (e. g. i2c-0) | 70 | where <0> is the bus the chip is connected to (e. g. i2c-0) |
73 | and <1> the chip address ([48..4f]) | 71 | and <1> the chip address ([48..4f]) |
74 | 72 | ||
75 | Inside these directories, there are such files: | 73 | Inside these directories, there are such files: |
diff --git a/Documentation/hwmon/sysfs-interface b/Documentation/hwmon/sysfs-interface index 48ceabedf55d..645699010551 100644 --- a/Documentation/hwmon/sysfs-interface +++ b/Documentation/hwmon/sysfs-interface | |||
@@ -309,6 +309,20 @@ temp[1-*]_crit_hyst | |||
309 | from the critical value. | 309 | from the critical value. |
310 | RW | 310 | RW |
311 | 311 | ||
312 | temp[1-*]_emergency | ||
313 | Temperature emergency max value, for chips supporting more than | ||
314 | two upper temperature limits. Must be equal or greater than | ||
315 | corresponding temp_crit values. | ||
316 | Unit: millidegree Celsius | ||
317 | RW | ||
318 | |||
319 | temp[1-*]_emergency_hyst | ||
320 | Temperature hysteresis value for emergency limit. | ||
321 | Unit: millidegree Celsius | ||
322 | Must be reported as an absolute temperature, NOT a delta | ||
323 | from the emergency value. | ||
324 | RW | ||
325 | |||
312 | temp[1-*]_lcrit Temperature critical min value, typically lower than | 326 | temp[1-*]_lcrit Temperature critical min value, typically lower than |
313 | corresponding temp_min values. | 327 | corresponding temp_min values. |
314 | Unit: millidegree Celsius | 328 | Unit: millidegree Celsius |
@@ -505,6 +519,7 @@ fan[1-*]_max_alarm | |||
505 | temp[1-*]_min_alarm | 519 | temp[1-*]_min_alarm |
506 | temp[1-*]_max_alarm | 520 | temp[1-*]_max_alarm |
507 | temp[1-*]_crit_alarm | 521 | temp[1-*]_crit_alarm |
522 | temp[1-*]_emergency_alarm | ||
508 | Limit alarm | 523 | Limit alarm |
509 | 0: no alarm | 524 | 0: no alarm |
510 | 1: alarm | 525 | 1: alarm |