diff options
Diffstat (limited to 'Documentation/hwmon')
51 files changed, 2069 insertions, 421 deletions
diff --git a/Documentation/hwmon/abituguru b/Documentation/hwmon/abituguru index 5eb3b9d5f0d5..915f32063a26 100644 --- a/Documentation/hwmon/abituguru +++ b/Documentation/hwmon/abituguru | |||
@@ -78,7 +78,7 @@ motherboards (most modern Abit motherboards). | |||
78 | 78 | ||
79 | The first and second revision of the uGuru chip in reality is a Winbond | 79 | The first and second revision of the uGuru chip in reality is a Winbond |
80 | W83L950D in disguise (despite Abit claiming it is "a new microprocessor | 80 | W83L950D in disguise (despite Abit claiming it is "a new microprocessor |
81 | designed by the ABIT Engineers"). Unfortunatly this doesn't help since the | 81 | designed by the ABIT Engineers"). Unfortunately this doesn't help since the |
82 | W83L950D is a generic microcontroller with a custom Abit application running | 82 | W83L950D is a generic microcontroller with a custom Abit application running |
83 | on it. | 83 | on it. |
84 | 84 | ||
diff --git a/Documentation/hwmon/abituguru-datasheet b/Documentation/hwmon/abituguru-datasheet index d9251efdcec7..8d2be8a0b1e3 100644 --- a/Documentation/hwmon/abituguru-datasheet +++ b/Documentation/hwmon/abituguru-datasheet | |||
@@ -5,9 +5,9 @@ First of all, what I know about uGuru is no fact based on any help, hints or | |||
5 | datasheet from Abit. The data I have got on uGuru have I assembled through | 5 | datasheet from Abit. The data I have got on uGuru have I assembled through |
6 | my weak knowledge in "backwards engineering". | 6 | my weak knowledge in "backwards engineering". |
7 | And just for the record, you may have noticed uGuru isn't a chip developed by | 7 | And just for the record, you may have noticed uGuru isn't a chip developed by |
8 | Abit, as they claim it to be. It's realy just an microprocessor (uC) created by | 8 | Abit, as they claim it to be. It's really just an microprocessor (uC) created by |
9 | Winbond (W83L950D). And no, reading the manual for this specific uC or | 9 | Winbond (W83L950D). And no, reading the manual for this specific uC or |
10 | mailing Windbond for help won't give any usefull data about uGuru, as it is | 10 | mailing Windbond for help won't give any useful data about uGuru, as it is |
11 | the program inside the uC that is responding to calls. | 11 | the program inside the uC that is responding to calls. |
12 | 12 | ||
13 | Olle Sandberg <ollebull@gmail.com>, 2005-05-25 | 13 | Olle Sandberg <ollebull@gmail.com>, 2005-05-25 |
@@ -41,7 +41,7 @@ later on attached again data-port will hold 0x08, more about this later. | |||
41 | 41 | ||
42 | After wider testing of the Linux kernel driver some variants of the uGuru have | 42 | After wider testing of the Linux kernel driver some variants of the uGuru have |
43 | turned up which will hold 0x00 instead of 0xAC at the CMD port, thus we also | 43 | turned up which will hold 0x00 instead of 0xAC at the CMD port, thus we also |
44 | have to test CMD for two different values. On these uGuru's DATA will initally | 44 | have to test CMD for two different values. On these uGuru's DATA will initially |
45 | hold 0x09 and will only hold 0x08 after reading CMD first, so CMD must be read | 45 | hold 0x09 and will only hold 0x08 after reading CMD first, so CMD must be read |
46 | first! | 46 | first! |
47 | 47 | ||
@@ -308,5 +308,5 @@ the voltage / clock programming out, I tried reading and only reading banks | |||
308 | resulted in a _permanent_ reprogramming of the voltages, luckily I had the | 308 | resulted in a _permanent_ reprogramming of the voltages, luckily I had the |
309 | sensors part configured so that it would shutdown my system on any out of spec | 309 | sensors part configured so that it would shutdown my system on any out of spec |
310 | voltages which proprably safed my computer (after a reboot I managed to | 310 | voltages which proprably safed my computer (after a reboot I managed to |
311 | immediatly enter the bios and reload the defaults). This probably means that | 311 | immediately enter the bios and reload the defaults). This probably means that |
312 | the read/write cycle for the non sensor part is different from the sensor part. | 312 | the read/write cycle for the non sensor part is different from the sensor part. |
diff --git a/Documentation/hwmon/abituguru3 b/Documentation/hwmon/abituguru3 index fa598aac22fa..a6ccfe4bb6aa 100644 --- a/Documentation/hwmon/abituguru3 +++ b/Documentation/hwmon/abituguru3 | |||
@@ -47,7 +47,7 @@ This driver supports the hardware monitoring features of the third revision of | |||
47 | the Abit uGuru chip, found on recent Abit uGuru featuring motherboards. | 47 | the Abit uGuru chip, found on recent Abit uGuru featuring motherboards. |
48 | 48 | ||
49 | The 3rd revision of the uGuru chip in reality is a Winbond W83L951G. | 49 | The 3rd revision of the uGuru chip in reality is a Winbond W83L951G. |
50 | Unfortunatly this doesn't help since the W83L951G is a generic microcontroller | 50 | Unfortunately this doesn't help since the W83L951G is a generic microcontroller |
51 | with a custom Abit application running on it. | 51 | with a custom Abit application running on it. |
52 | 52 | ||
53 | Despite Abit not releasing any information regarding the uGuru revision 3, | 53 | Despite Abit not releasing any information regarding the uGuru revision 3, |
diff --git a/Documentation/hwmon/adm1021 b/Documentation/hwmon/adm1021 index 03d02bfb3df1..02ad96cf9b2b 100644 --- a/Documentation/hwmon/adm1021 +++ b/Documentation/hwmon/adm1021 | |||
@@ -14,10 +14,6 @@ Supported chips: | |||
14 | Prefix: 'gl523sm' | 14 | Prefix: 'gl523sm' |
15 | Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e | 15 | Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e |
16 | Datasheet: | 16 | Datasheet: |
17 | * Intel Xeon Processor | ||
18 | Prefix: - any other - may require 'force_adm1021' parameter | ||
19 | Addresses scanned: none | ||
20 | Datasheet: Publicly available at Intel website | ||
21 | * Maxim MAX1617 | 17 | * Maxim MAX1617 |
22 | Prefix: 'max1617' | 18 | Prefix: 'max1617' |
23 | Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e | 19 | Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e |
@@ -91,21 +87,27 @@ will do no harm, but will return 'old' values. It is possible to make | |||
91 | ADM1021-clones do faster measurements, but there is really no good reason | 87 | ADM1021-clones do faster measurements, but there is really no good reason |
92 | for that. | 88 | for that. |
93 | 89 | ||
94 | Xeon support | ||
95 | ------------ | ||
96 | 90 | ||
97 | Some Xeon processors have real max1617, adm1021, or compatible chips | 91 | Netburst-based Xeon support |
98 | within them, with two temperature sensors. | 92 | --------------------------- |
99 | 93 | ||
100 | Other Xeons have chips with only one sensor. | 94 | Some Xeon processors based on the Netburst (early Pentium 4, from 2001 to |
95 | 2003) microarchitecture had real MAX1617, ADM1021, or compatible chips | ||
96 | within them, with two temperature sensors. Other Xeon processors of this | ||
97 | era (with 400 MHz FSB) had chips with only one temperature sensor. | ||
101 | 98 | ||
102 | If you have a Xeon, and the adm1021 module loads, and both temperatures | 99 | If you have such an old Xeon, and you get two valid temperatures when |
103 | appear valid, then things are good. | 100 | loading the adm1021 module, then things are good. |
104 | 101 | ||
105 | If the adm1021 module doesn't load, you should try this: | 102 | If nothing happens when loading the adm1021 module, and you are certain |
106 | modprobe adm1021 force_adm1021=BUS,ADDRESS | 103 | that your specific Xeon processor model includes compatible sensors, you |
107 | ADDRESS can only be 0x18, 0x1a, 0x29, 0x2b, 0x4c, or 0x4e. | 104 | will have to explicitly instantiate the sensor chips from user-space. See |
105 | method 4 in Documentation/i2c/instantiating-devices. Possible slave | ||
106 | addresses are 0x18, 0x1a, 0x29, 0x2b, 0x4c, or 0x4e. It is likely that | ||
107 | only temp2 will be correct and temp1 will have to be ignored. | ||
108 | 108 | ||
109 | If you have dual Xeons you may have appear to have two separate | 109 | Previous generations of the Xeon processor (based on Pentium II/III) |
110 | adm1021-compatible chips, or two single-temperature sensors, at distinct | 110 | didn't have these sensors. Next generations of Xeon processors (533 MHz |
111 | addresses. | 111 | FSB and faster) lost them, until the Core-based generation which |
112 | introduced integrated digital thermal sensors. These are supported by | ||
113 | the coretemp driver. | ||
diff --git a/Documentation/hwmon/adm1275 b/Documentation/hwmon/adm1275 new file mode 100644 index 000000000000..6a3a6476cf20 --- /dev/null +++ b/Documentation/hwmon/adm1275 | |||
@@ -0,0 +1,60 @@ | |||
1 | Kernel driver adm1275 | ||
2 | ===================== | ||
3 | |||
4 | Supported chips: | ||
5 | * Analog Devices ADM1275 | ||
6 | Prefix: 'adm1275' | ||
7 | Addresses scanned: - | ||
8 | Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1275.pdf | ||
9 | |||
10 | Author: Guenter Roeck <guenter.roeck@ericsson.com> | ||
11 | |||
12 | |||
13 | Description | ||
14 | ----------- | ||
15 | |||
16 | This driver supports hardware montoring for Analog Devices ADM1275 Hot-Swap | ||
17 | Controller and Digital Power Monitor. | ||
18 | |||
19 | The ADM1275 is a hot-swap controller that allows a circuit board to be removed | ||
20 | from or inserted into a live backplane. It also features current and voltage | ||
21 | readback via an integrated 12-bit analog-to-digital converter (ADC), accessed | ||
22 | using a PMBus. interface. | ||
23 | |||
24 | The driver is a client driver to the core PMBus driver. Please see | ||
25 | Documentation/hwmon/pmbus for details on PMBus client drivers. | ||
26 | |||
27 | |||
28 | Usage Notes | ||
29 | ----------- | ||
30 | |||
31 | This driver does not auto-detect devices. You will have to instantiate the | ||
32 | devices explicitly. Please see Documentation/i2c/instantiating-devices for | ||
33 | details. | ||
34 | |||
35 | |||
36 | Platform data support | ||
37 | --------------------- | ||
38 | |||
39 | The driver supports standard PMBus driver platform data. Please see | ||
40 | Documentation/hwmon/pmbus for details. | ||
41 | |||
42 | |||
43 | Sysfs entries | ||
44 | ------------- | ||
45 | |||
46 | The following attributes are supported. Limits are read-write; all other | ||
47 | attributes are read-only. | ||
48 | |||
49 | in1_label "vin1" or "vout1" depending on chip variant and | ||
50 | configuration. | ||
51 | in1_input Measured voltage. From READ_VOUT register. | ||
52 | in1_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register. | ||
53 | in1_max Maximum voltage. From VOUT_OV_WARN_LIMIT register. | ||
54 | in1_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status. | ||
55 | in1_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status. | ||
56 | |||
57 | curr1_label "iout1" | ||
58 | curr1_input Measured current. From READ_IOUT register. | ||
59 | curr1_max Maximum current. From IOUT_OC_WARN_LIMIT register. | ||
60 | curr1_max_alarm Current high alarm. From IOUT_OC_WARN_LIMIT register. | ||
diff --git a/Documentation/hwmon/adm9240 b/Documentation/hwmon/adm9240 index 2c6f1fed4618..36e8ec6aa868 100644 --- a/Documentation/hwmon/adm9240 +++ b/Documentation/hwmon/adm9240 | |||
@@ -155,7 +155,7 @@ connected to a normally open switch. | |||
155 | The ADM9240 provides an internal open drain on this line, and may output | 155 | The ADM9240 provides an internal open drain on this line, and may output |
156 | a 20 ms active low pulse to reset an external Chassis Intrusion latch. | 156 | a 20 ms active low pulse to reset an external Chassis Intrusion latch. |
157 | 157 | ||
158 | Clear the CI latch by writing value 1 to the sysfs chassis_clear file. | 158 | Clear the CI latch by writing value 0 to the sysfs intrusion0_alarm file. |
159 | 159 | ||
160 | Alarm flags reported as 16-bit word | 160 | Alarm flags reported as 16-bit word |
161 | 161 | ||
diff --git a/Documentation/hwmon/ads1015 b/Documentation/hwmon/ads1015 new file mode 100644 index 000000000000..f6fe9c203733 --- /dev/null +++ b/Documentation/hwmon/ads1015 | |||
@@ -0,0 +1,72 @@ | |||
1 | Kernel driver ads1015 | ||
2 | ===================== | ||
3 | |||
4 | Supported chips: | ||
5 | * Texas Instruments ADS1015 | ||
6 | Prefix: 'ads1015' | ||
7 | Datasheet: Publicly available at the Texas Instruments website : | ||
8 | http://focus.ti.com/lit/ds/symlink/ads1015.pdf | ||
9 | |||
10 | Authors: | ||
11 | Dirk Eibach, Guntermann & Drunck GmbH <eibach@gdsys.de> | ||
12 | |||
13 | Description | ||
14 | ----------- | ||
15 | |||
16 | This driver implements support for the Texas Instruments ADS1015. | ||
17 | |||
18 | This device is a 12-bit A-D converter with 4 inputs. | ||
19 | |||
20 | The inputs can be used single ended or in certain differential combinations. | ||
21 | |||
22 | The inputs can be made available by 8 sysfs input files in0_input - in7_input: | ||
23 | in0: Voltage over AIN0 and AIN1. | ||
24 | in1: Voltage over AIN0 and AIN3. | ||
25 | in2: Voltage over AIN1 and AIN3. | ||
26 | in3: Voltage over AIN2 and AIN3. | ||
27 | in4: Voltage over AIN0 and GND. | ||
28 | in5: Voltage over AIN1 and GND. | ||
29 | in6: Voltage over AIN2 and GND. | ||
30 | in7: Voltage over AIN3 and GND. | ||
31 | |||
32 | Which inputs are available can be configured using platform data or devicetree. | ||
33 | |||
34 | By default all inputs are exported. | ||
35 | |||
36 | Platform Data | ||
37 | ------------- | ||
38 | |||
39 | In linux/i2c/ads1015.h platform data is defined, channel_data contains | ||
40 | configuration data for the used input combinations: | ||
41 | - pga is the programmable gain amplifier (values are full scale) | ||
42 | 0: +/- 6.144 V | ||
43 | 1: +/- 4.096 V | ||
44 | 2: +/- 2.048 V | ||
45 | 3: +/- 1.024 V | ||
46 | 4: +/- 0.512 V | ||
47 | 5: +/- 0.256 V | ||
48 | - data_rate in samples per second | ||
49 | 0: 128 | ||
50 | 1: 250 | ||
51 | 2: 490 | ||
52 | 3: 920 | ||
53 | 4: 1600 | ||
54 | 5: 2400 | ||
55 | 6: 3300 | ||
56 | |||
57 | Example: | ||
58 | struct ads1015_platform_data data = { | ||
59 | .channel_data = { | ||
60 | [2] = { .enabled = true, .pga = 1, .data_rate = 0 }, | ||
61 | [4] = { .enabled = true, .pga = 4, .data_rate = 5 }, | ||
62 | } | ||
63 | }; | ||
64 | |||
65 | In this case only in2_input (FS +/- 4.096 V, 128 SPS) and in4_input | ||
66 | (FS +/- 0.512 V, 2400 SPS) would be created. | ||
67 | |||
68 | Devicetree | ||
69 | ---------- | ||
70 | |||
71 | Configuration is also possible via devicetree: | ||
72 | Documentation/devicetree/bindings/hwmon/ads1015.txt | ||
diff --git a/Documentation/hwmon/ads7828 b/Documentation/hwmon/ads7828 index 75bc4beaf447..2bbebe6f771f 100644 --- a/Documentation/hwmon/ads7828 +++ b/Documentation/hwmon/ads7828 | |||
@@ -9,7 +9,7 @@ Supported chips: | |||
9 | http://focus.ti.com/lit/ds/symlink/ads7828.pdf | 9 | http://focus.ti.com/lit/ds/symlink/ads7828.pdf |
10 | 10 | ||
11 | Authors: | 11 | Authors: |
12 | Steve Hardy <steve@linuxrealtime.co.uk> | 12 | Steve Hardy <shardy@redhat.com> |
13 | 13 | ||
14 | Module Parameters | 14 | Module Parameters |
15 | ----------------- | 15 | ----------------- |
diff --git a/Documentation/hwmon/coretemp b/Documentation/hwmon/coretemp index 25568f844804..f85e913a3401 100644 --- a/Documentation/hwmon/coretemp +++ b/Documentation/hwmon/coretemp | |||
@@ -15,8 +15,13 @@ Author: Rudolf Marek | |||
15 | 15 | ||
16 | Description | 16 | Description |
17 | ----------- | 17 | ----------- |
18 | This driver permits reading the DTS (Digital Temperature Sensor) embedded | ||
19 | inside Intel CPUs. This driver can read both the per-core and per-package | ||
20 | temperature using the appropriate sensors. The per-package sensor is new; | ||
21 | as of now, it is present only in the SandyBridge platform. The driver will | ||
22 | show the temperature of all cores inside a package under a single device | ||
23 | directory inside hwmon. | ||
18 | 24 | ||
19 | This driver permits reading temperature sensor embedded inside Intel Core CPU. | ||
20 | Temperature is measured in degrees Celsius and measurement resolution is | 25 | Temperature is measured in degrees Celsius and measurement resolution is |
21 | 1 degree C. Valid temperatures are from 0 to TjMax degrees C, because | 26 | 1 degree C. Valid temperatures are from 0 to TjMax degrees C, because |
22 | the actual value of temperature register is in fact a delta from TjMax. | 27 | the actual value of temperature register is in fact a delta from TjMax. |
@@ -27,13 +32,15 @@ mechanism will perform actions to forcibly cool down the processor. Alarm | |||
27 | may be raised, if the temperature grows enough (more than TjMax) to trigger | 32 | may be raised, if the temperature grows enough (more than TjMax) to trigger |
28 | the Out-Of-Spec bit. Following table summarizes the exported sysfs files: | 33 | the Out-Of-Spec bit. Following table summarizes the exported sysfs files: |
29 | 34 | ||
30 | temp1_input - Core temperature (in millidegrees Celsius). | 35 | All Sysfs entries are named with their core_id (represented here by 'X'). |
31 | temp1_max - All cooling devices should be turned on (on Core2). | 36 | tempX_input - Core temperature (in millidegrees Celsius). |
32 | temp1_crit - Maximum junction temperature (in millidegrees Celsius). | 37 | tempX_max - All cooling devices should be turned on (on Core2). |
33 | temp1_crit_alarm - Set when Out-of-spec bit is set, never clears. | 38 | tempX_crit - Maximum junction temperature (in millidegrees Celsius). |
39 | tempX_crit_alarm - Set when Out-of-spec bit is set, never clears. | ||
34 | Correct CPU operation is no longer guaranteed. | 40 | Correct CPU operation is no longer guaranteed. |
35 | temp1_label - Contains string "Core X", where X is processor | 41 | tempX_label - Contains string "Core X", where X is processor |
36 | number. | 42 | number. For Package temp, this will be "Physical id Y", |
43 | where Y is the package number. | ||
37 | 44 | ||
38 | The TjMax temperature is set to 85 degrees C if undocumented model specific | 45 | The TjMax temperature is set to 85 degrees C if undocumented model specific |
39 | register (UMSR) 0xee has bit 30 set. If not the TjMax is 100 degrees C as | 46 | register (UMSR) 0xee has bit 30 set. If not the TjMax is 100 degrees C as |
diff --git a/Documentation/hwmon/dme1737 b/Documentation/hwmon/dme1737 index fc5df7654d63..4d2935145a1c 100644 --- a/Documentation/hwmon/dme1737 +++ b/Documentation/hwmon/dme1737 | |||
@@ -42,7 +42,7 @@ Description | |||
42 | This driver implements support for the hardware monitoring capabilities of the | 42 | This driver implements support for the hardware monitoring capabilities of the |
43 | SMSC DME1737 and Asus A8000 (which are the same), SMSC SCH5027, SCH311x, | 43 | SMSC DME1737 and Asus A8000 (which are the same), SMSC SCH5027, SCH311x, |
44 | and SCH5127 Super-I/O chips. These chips feature monitoring of 3 temp sensors | 44 | and SCH5127 Super-I/O chips. These chips feature monitoring of 3 temp sensors |
45 | temp[1-3] (2 remote diodes and 1 internal), 7 voltages in[0-6] (6 external and | 45 | temp[1-3] (2 remote diodes and 1 internal), 8 voltages in[0-7] (7 external and |
46 | 1 internal) and up to 6 fan speeds fan[1-6]. Additionally, the chips implement | 46 | 1 internal) and up to 6 fan speeds fan[1-6]. Additionally, the chips implement |
47 | up to 5 PWM outputs pwm[1-3,5-6] for controlling fan speeds both manually and | 47 | up to 5 PWM outputs pwm[1-3,5-6] for controlling fan speeds both manually and |
48 | automatically. | 48 | automatically. |
@@ -105,6 +105,7 @@ SCH5127: | |||
105 | in4: V1_IN 0V - 1.5V | 105 | in4: V1_IN 0V - 1.5V |
106 | in5: VTR (+3.3V standby) 0V - 4.38V | 106 | in5: VTR (+3.3V standby) 0V - 4.38V |
107 | in6: Vbat (+3.0V) 0V - 4.38V | 107 | in6: Vbat (+3.0V) 0V - 4.38V |
108 | in7: Vtrip (+1.5V) 0V - 1.99V | ||
108 | 109 | ||
109 | Each voltage input has associated min and max limits which trigger an alarm | 110 | Each voltage input has associated min and max limits which trigger an alarm |
110 | when crossed. | 111 | when crossed. |
@@ -217,10 +218,10 @@ cpu0_vid RO CPU core reference voltage in | |||
217 | vrm RW Voltage regulator module version | 218 | vrm RW Voltage regulator module version |
218 | number. | 219 | number. |
219 | 220 | ||
220 | in[0-6]_input RO Measured voltage in millivolts. | 221 | in[0-7]_input RO Measured voltage in millivolts. |
221 | in[0-6]_min RW Low limit for voltage input. | 222 | in[0-7]_min RW Low limit for voltage input. |
222 | in[0-6]_max RW High limit for voltage input. | 223 | in[0-7]_max RW High limit for voltage input. |
223 | in[0-6]_alarm RO Voltage input alarm. Returns 1 if | 224 | in[0-7]_alarm RO Voltage input alarm. Returns 1 if |
224 | voltage input is or went outside the | 225 | voltage input is or went outside the |
225 | associated min-max range, 0 otherwise. | 226 | associated min-max range, 0 otherwise. |
226 | 227 | ||
@@ -324,3 +325,4 @@ fan5 opt opt | |||
324 | pwm5 opt opt | 325 | pwm5 opt opt |
325 | fan6 opt opt | 326 | fan6 opt opt |
326 | pwm6 opt opt | 327 | pwm6 opt opt |
328 | in7 yes | ||
diff --git a/Documentation/hwmon/ds620 b/Documentation/hwmon/ds620 new file mode 100644 index 000000000000..1fbe3cd916cc --- /dev/null +++ b/Documentation/hwmon/ds620 | |||
@@ -0,0 +1,34 @@ | |||
1 | Kernel driver ds620 | ||
2 | =================== | ||
3 | |||
4 | Supported chips: | ||
5 | * Dallas Semiconductor DS620 | ||
6 | Prefix: 'ds620' | ||
7 | Datasheet: Publicly available at the Dallas Semiconductor website | ||
8 | http://www.dalsemi.com/ | ||
9 | |||
10 | Authors: | ||
11 | Roland Stigge <stigge@antcom.de> | ||
12 | based on ds1621.c by | ||
13 | Christian W. Zuckschwerdt <zany@triq.net> | ||
14 | |||
15 | Description | ||
16 | ----------- | ||
17 | |||
18 | The DS620 is a (one instance) digital thermometer and thermostat. It has both | ||
19 | high and low temperature limits which can be user defined (i.e. programmed | ||
20 | into non-volatile on-chip registers). Temperature range is -55 degree Celsius | ||
21 | to +125. Between 0 and 70 degree Celsius, accuracy is 0.5 Kelvin. The value | ||
22 | returned via sysfs displays post decimal positions. | ||
23 | |||
24 | The thermostat function works as follows: When configured via platform_data | ||
25 | (struct ds620_platform_data) .pomode == 0 (default), the thermostat output pin | ||
26 | PO is always low. If .pomode == 1, the thermostat is in PO_LOW mode. I.e., the | ||
27 | output pin PO becomes active when the temperature falls below temp1_min and | ||
28 | stays active until the temperature goes above temp1_max. | ||
29 | |||
30 | Likewise, with .pomode == 2, the thermostat is in PO_HIGH mode. I.e., the PO | ||
31 | output pin becomes active when the temperature goes above temp1_max and stays | ||
32 | active until the temperature falls below temp1_min. | ||
33 | |||
34 | The PO output pin of the DS620 operates active-low. | ||
diff --git a/Documentation/hwmon/emc6w201 b/Documentation/hwmon/emc6w201 new file mode 100644 index 000000000000..32f355aaf56b --- /dev/null +++ b/Documentation/hwmon/emc6w201 | |||
@@ -0,0 +1,42 @@ | |||
1 | Kernel driver emc6w201 | ||
2 | ====================== | ||
3 | |||
4 | Supported chips: | ||
5 | * SMSC EMC6W201 | ||
6 | Prefix: 'emc6w201' | ||
7 | Addresses scanned: I2C 0x2c, 0x2d, 0x2e | ||
8 | Datasheet: Not public | ||
9 | |||
10 | Author: Jean Delvare <khali@linux-fr.org> | ||
11 | |||
12 | |||
13 | Description | ||
14 | ----------- | ||
15 | |||
16 | From the datasheet: | ||
17 | |||
18 | "The EMC6W201 is an environmental monitoring device with automatic fan | ||
19 | control capability and enhanced system acoustics for noise suppression. | ||
20 | This ACPI compliant device provides hardware monitoring for up to six | ||
21 | voltages (including its own VCC) and five external thermal sensors, | ||
22 | measures the speed of up to five fans, and controls the speed of | ||
23 | multiple DC fans using three Pulse Width Modulator (PWM) outputs. Note | ||
24 | that it is possible to control more than three fans by connecting two | ||
25 | fans to one PWM output. The EMC6W201 will be available in a 36-pin | ||
26 | QFN package." | ||
27 | |||
28 | The device is functionally close to the EMC6D100 series, but is | ||
29 | register-incompatible. | ||
30 | |||
31 | The driver currently only supports the monitoring of the voltages, | ||
32 | temperatures and fan speeds. Limits can be changed. Alarms are not | ||
33 | supported, and neither is fan speed control. | ||
34 | |||
35 | |||
36 | Known Systems With EMC6W201 | ||
37 | --------------------------- | ||
38 | |||
39 | The EMC6W201 is a rare device, only found on a few systems, made in | ||
40 | 2005 and 2006. Known systems with this device: | ||
41 | * Dell Precision 670 workstation | ||
42 | * Gigabyte 2CEWH mainboard | ||
diff --git a/Documentation/hwmon/f71882fg b/Documentation/hwmon/f71882fg index a7952c2bd959..de91c0db5846 100644 --- a/Documentation/hwmon/f71882fg +++ b/Documentation/hwmon/f71882fg | |||
@@ -2,6 +2,14 @@ Kernel driver f71882fg | |||
2 | ====================== | 2 | ====================== |
3 | 3 | ||
4 | Supported chips: | 4 | Supported chips: |
5 | * Fintek F71808E | ||
6 | Prefix: 'f71808e' | ||
7 | Addresses scanned: none, address read from Super I/O config space | ||
8 | Datasheet: Not public | ||
9 | * Fintek F71808A | ||
10 | Prefix: 'f71808a' | ||
11 | Addresses scanned: none, address read from Super I/O config space | ||
12 | Datasheet: Not public | ||
5 | * Fintek F71858FG | 13 | * Fintek F71858FG |
6 | Prefix: 'f71858fg' | 14 | Prefix: 'f71858fg' |
7 | Addresses scanned: none, address read from Super I/O config space | 15 | Addresses scanned: none, address read from Super I/O config space |
@@ -10,6 +18,14 @@ Supported chips: | |||
10 | Prefix: 'f71862fg' | 18 | Prefix: 'f71862fg' |
11 | Addresses scanned: none, address read from Super I/O config space | 19 | Addresses scanned: none, address read from Super I/O config space |
12 | Datasheet: Available from the Fintek website | 20 | Datasheet: Available from the Fintek website |
21 | * Fintek F71869F and F71869E | ||
22 | Prefix: 'f71869' | ||
23 | Addresses scanned: none, address read from Super I/O config space | ||
24 | Datasheet: Available from the Fintek website | ||
25 | * Fintek F71869A | ||
26 | Prefix: 'f71869a' | ||
27 | Addresses scanned: none, address read from Super I/O config space | ||
28 | Datasheet: Not public | ||
13 | * Fintek F71882FG and F71883FG | 29 | * Fintek F71882FG and F71883FG |
14 | Prefix: 'f71882fg' | 30 | Prefix: 'f71882fg' |
15 | Addresses scanned: none, address read from Super I/O config space | 31 | Addresses scanned: none, address read from Super I/O config space |
@@ -17,11 +33,30 @@ Supported chips: | |||
17 | * Fintek F71889FG | 33 | * Fintek F71889FG |
18 | Prefix: 'f71889fg' | 34 | Prefix: 'f71889fg' |
19 | Addresses scanned: none, address read from Super I/O config space | 35 | Addresses scanned: none, address read from Super I/O config space |
36 | Datasheet: Available from the Fintek website | ||
37 | * Fintek F71889ED | ||
38 | Prefix: 'f71889ed' | ||
39 | Addresses scanned: none, address read from Super I/O config space | ||
40 | Datasheet: Should become available on the Fintek website soon | ||
41 | * Fintek F71889A | ||
42 | Prefix: 'f71889a' | ||
43 | Addresses scanned: none, address read from Super I/O config space | ||
20 | Datasheet: Should become available on the Fintek website soon | 44 | Datasheet: Should become available on the Fintek website soon |
21 | * Fintek F8000 | 45 | * Fintek F8000 |
22 | Prefix: 'f8000' | 46 | Prefix: 'f8000' |
23 | Addresses scanned: none, address read from Super I/O config space | 47 | Addresses scanned: none, address read from Super I/O config space |
24 | Datasheet: Not public | 48 | Datasheet: Not public |
49 | * Fintek F81801U | ||
50 | Prefix: 'f71889fg' | ||
51 | Addresses scanned: none, address read from Super I/O config space | ||
52 | Datasheet: Not public | ||
53 | Note: This is the 64-pin variant of the F71889FG, they have the | ||
54 | same device ID and are fully compatible as far as hardware | ||
55 | monitoring is concerned. | ||
56 | * Fintek F81865F | ||
57 | Prefix: 'f81865f' | ||
58 | Addresses scanned: none, address read from Super I/O config space | ||
59 | Datasheet: Available from the Fintek website | ||
25 | 60 | ||
26 | Author: Hans de Goede <hdegoede@redhat.com> | 61 | Author: Hans de Goede <hdegoede@redhat.com> |
27 | 62 | ||
@@ -29,9 +64,9 @@ Author: Hans de Goede <hdegoede@redhat.com> | |||
29 | Description | 64 | Description |
30 | ----------- | 65 | ----------- |
31 | 66 | ||
32 | Fintek F718xxFG/F8000 Super I/O chips include complete hardware monitoring | 67 | Fintek F718xx/F8000 Super I/O chips include complete hardware monitoring |
33 | capabilities. They can monitor up to 9 voltages (3 for the F8000), 4 fans and | 68 | capabilities. They can monitor up to 9 voltages, 4 fans and 3 temperature |
34 | 3 temperature sensors. | 69 | sensors. |
35 | 70 | ||
36 | These chips also have fan controlling features, using either DC or PWM, in | 71 | These chips also have fan controlling features, using either DC or PWM, in |
37 | three different modes (one manual, two automatic). | 72 | three different modes (one manual, two automatic). |
@@ -99,5 +134,5 @@ Writing an unsupported mode will result in an invalid parameter error. | |||
99 | The fan speed is regulated to keep the temp the fan is mapped to between | 134 | The fan speed is regulated to keep the temp the fan is mapped to between |
100 | temp#_auto_point2_temp and temp#_auto_point3_temp. | 135 | temp#_auto_point2_temp and temp#_auto_point3_temp. |
101 | 136 | ||
102 | Both of the automatic modes require that pwm1 corresponds to fan1, pwm2 to | 137 | All of the automatic modes require that pwm1 corresponds to fan1, pwm2 to |
103 | fan2 and pwm3 to fan3. | 138 | fan2 and pwm3 to fan3. |
diff --git a/Documentation/hwmon/fam15h_power b/Documentation/hwmon/fam15h_power new file mode 100644 index 000000000000..a92918e0bd69 --- /dev/null +++ b/Documentation/hwmon/fam15h_power | |||
@@ -0,0 +1,37 @@ | |||
1 | Kernel driver fam15h_power | ||
2 | ========================== | ||
3 | |||
4 | Supported chips: | ||
5 | * AMD Family 15h Processors | ||
6 | |||
7 | Prefix: 'fam15h_power' | ||
8 | Addresses scanned: PCI space | ||
9 | Datasheets: | ||
10 | BIOS and Kernel Developer's Guide (BKDG) For AMD Family 15h Processors | ||
11 | (not yet published) | ||
12 | |||
13 | Author: Andreas Herrmann <andreas.herrmann3@amd.com> | ||
14 | |||
15 | Description | ||
16 | ----------- | ||
17 | |||
18 | This driver permits reading of registers providing power information | ||
19 | of AMD Family 15h processors. | ||
20 | |||
21 | For AMD Family 15h processors the following power values can be | ||
22 | calculated using different processor northbridge function registers: | ||
23 | |||
24 | * BasePwrWatts: Specifies in watts the maximum amount of power | ||
25 | consumed by the processor for NB and logic external to the core. | ||
26 | * ProcessorPwrWatts: Specifies in watts the maximum amount of power | ||
27 | the processor can support. | ||
28 | * CurrPwrWatts: Specifies in watts the current amount of power being | ||
29 | consumed by the processor. | ||
30 | |||
31 | This driver provides ProcessorPwrWatts and CurrPwrWatts: | ||
32 | * power1_crit (ProcessorPwrWatts) | ||
33 | * power1_input (CurrPwrWatts) | ||
34 | |||
35 | On multi-node processors the calculated value is for the entire | ||
36 | package and not for a single node. Thus the driver creates sysfs | ||
37 | attributes only for internal node0 of a multi-node processor. | ||
diff --git a/Documentation/hwmon/hpfall.c b/Documentation/hwmon/hpfall.c deleted file mode 100644 index a4a8fc5d05d4..000000000000 --- a/Documentation/hwmon/hpfall.c +++ /dev/null | |||
@@ -1,146 +0,0 @@ | |||
1 | /* Disk protection for HP machines. | ||
2 | * | ||
3 | * Copyright 2008 Eric Piel | ||
4 | * Copyright 2009 Pavel Machek <pavel@ucw.cz> | ||
5 | * | ||
6 | * GPLv2. | ||
7 | */ | ||
8 | |||
9 | #include <stdio.h> | ||
10 | #include <stdlib.h> | ||
11 | #include <unistd.h> | ||
12 | #include <fcntl.h> | ||
13 | #include <sys/stat.h> | ||
14 | #include <sys/types.h> | ||
15 | #include <string.h> | ||
16 | #include <stdint.h> | ||
17 | #include <errno.h> | ||
18 | #include <signal.h> | ||
19 | #include <sys/mman.h> | ||
20 | #include <sched.h> | ||
21 | |||
22 | char unload_heads_path[64]; | ||
23 | |||
24 | int set_unload_heads_path(char *device) | ||
25 | { | ||
26 | char devname[64]; | ||
27 | |||
28 | if (strlen(device) <= 5 || strncmp(device, "/dev/", 5) != 0) | ||
29 | return -EINVAL; | ||
30 | strncpy(devname, device + 5, sizeof(devname)); | ||
31 | |||
32 | snprintf(unload_heads_path, sizeof(unload_heads_path), | ||
33 | "/sys/block/%s/device/unload_heads", devname); | ||
34 | return 0; | ||
35 | } | ||
36 | int valid_disk(void) | ||
37 | { | ||
38 | int fd = open(unload_heads_path, O_RDONLY); | ||
39 | if (fd < 0) { | ||
40 | perror(unload_heads_path); | ||
41 | return 0; | ||
42 | } | ||
43 | |||
44 | close(fd); | ||
45 | return 1; | ||
46 | } | ||
47 | |||
48 | void write_int(char *path, int i) | ||
49 | { | ||
50 | char buf[1024]; | ||
51 | int fd = open(path, O_RDWR); | ||
52 | if (fd < 0) { | ||
53 | perror("open"); | ||
54 | exit(1); | ||
55 | } | ||
56 | sprintf(buf, "%d", i); | ||
57 | if (write(fd, buf, strlen(buf)) != strlen(buf)) { | ||
58 | perror("write"); | ||
59 | exit(1); | ||
60 | } | ||
61 | close(fd); | ||
62 | } | ||
63 | |||
64 | void set_led(int on) | ||
65 | { | ||
66 | write_int("/sys/class/leds/hp::hddprotect/brightness", on); | ||
67 | } | ||
68 | |||
69 | void protect(int seconds) | ||
70 | { | ||
71 | write_int(unload_heads_path, seconds*1000); | ||
72 | } | ||
73 | |||
74 | int on_ac(void) | ||
75 | { | ||
76 | // /sys/class/power_supply/AC0/online | ||
77 | } | ||
78 | |||
79 | int lid_open(void) | ||
80 | { | ||
81 | // /proc/acpi/button/lid/LID/state | ||
82 | } | ||
83 | |||
84 | void ignore_me(void) | ||
85 | { | ||
86 | protect(0); | ||
87 | set_led(0); | ||
88 | } | ||
89 | |||
90 | int main(int argc, char **argv) | ||
91 | { | ||
92 | int fd, ret; | ||
93 | struct sched_param param; | ||
94 | |||
95 | if (argc == 1) | ||
96 | ret = set_unload_heads_path("/dev/sda"); | ||
97 | else if (argc == 2) | ||
98 | ret = set_unload_heads_path(argv[1]); | ||
99 | else | ||
100 | ret = -EINVAL; | ||
101 | |||
102 | if (ret || !valid_disk()) { | ||
103 | fprintf(stderr, "usage: %s <device> (default: /dev/sda)\n", | ||
104 | argv[0]); | ||
105 | exit(1); | ||
106 | } | ||
107 | |||
108 | fd = open("/dev/freefall", O_RDONLY); | ||
109 | if (fd < 0) { | ||
110 | perror("/dev/freefall"); | ||
111 | return EXIT_FAILURE; | ||
112 | } | ||
113 | |||
114 | daemon(0, 0); | ||
115 | param.sched_priority = sched_get_priority_max(SCHED_FIFO); | ||
116 | sched_setscheduler(0, SCHED_FIFO, ¶m); | ||
117 | mlockall(MCL_CURRENT|MCL_FUTURE); | ||
118 | |||
119 | signal(SIGALRM, ignore_me); | ||
120 | |||
121 | for (;;) { | ||
122 | unsigned char count; | ||
123 | |||
124 | ret = read(fd, &count, sizeof(count)); | ||
125 | alarm(0); | ||
126 | if ((ret == -1) && (errno == EINTR)) { | ||
127 | /* Alarm expired, time to unpark the heads */ | ||
128 | continue; | ||
129 | } | ||
130 | |||
131 | if (ret != sizeof(count)) { | ||
132 | perror("read"); | ||
133 | break; | ||
134 | } | ||
135 | |||
136 | protect(21); | ||
137 | set_led(1); | ||
138 | if (1 || on_ac() || lid_open()) | ||
139 | alarm(2); | ||
140 | else | ||
141 | alarm(20); | ||
142 | } | ||
143 | |||
144 | close(fd); | ||
145 | return EXIT_SUCCESS; | ||
146 | } | ||
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/jc42 b/Documentation/hwmon/jc42 index 0e76ef12e4c6..a22ecf48f255 100644 --- a/Documentation/hwmon/jc42 +++ b/Documentation/hwmon/jc42 | |||
@@ -51,7 +51,8 @@ Supported chips: | |||
51 | * JEDEC JC 42.4 compliant temperature sensor chips | 51 | * JEDEC JC 42.4 compliant temperature sensor chips |
52 | Prefix: 'jc42' | 52 | Prefix: 'jc42' |
53 | Addresses scanned: I2C 0x18 - 0x1f | 53 | Addresses scanned: I2C 0x18 - 0x1f |
54 | Datasheet: - | 54 | Datasheet: |
55 | http://www.jedec.org/sites/default/files/docs/4_01_04R19.pdf | ||
55 | 56 | ||
56 | Author: | 57 | Author: |
57 | Guenter Roeck <guenter.roeck@ericsson.com> | 58 | Guenter Roeck <guenter.roeck@ericsson.com> |
@@ -60,7 +61,11 @@ Author: | |||
60 | Description | 61 | Description |
61 | ----------- | 62 | ----------- |
62 | 63 | ||
63 | This driver implements support for JEDEC JC 42.4 compliant temperature sensors. | 64 | This driver implements support for JEDEC JC 42.4 compliant temperature sensors, |
65 | which are used on many DDR3 memory modules for mobile devices and servers. Some | ||
66 | systems use the sensor to prevent memory overheating by automatically throttling | ||
67 | the memory controller. | ||
68 | |||
64 | The driver auto-detects the chips listed above, but can be manually instantiated | 69 | The driver auto-detects the chips listed above, but can be manually instantiated |
65 | to support other JC 42.4 compliant chips. | 70 | to support other JC 42.4 compliant chips. |
66 | 71 | ||
@@ -81,15 +86,19 @@ limits. The chip supports only a single register to configure the hysteresis, | |||
81 | which applies to all limits. This register can be written by writing into | 86 | which applies to all limits. This register can be written by writing into |
82 | temp1_crit_hyst. Other hysteresis attributes are read-only. | 87 | temp1_crit_hyst. Other hysteresis attributes are read-only. |
83 | 88 | ||
89 | If the BIOS has configured the sensor for automatic temperature management, it | ||
90 | is likely that it has locked the registers, i.e., that the temperature limits | ||
91 | cannot be changed. | ||
92 | |||
84 | Sysfs entries | 93 | Sysfs entries |
85 | ------------- | 94 | ------------- |
86 | 95 | ||
87 | temp1_input Temperature (RO) | 96 | temp1_input Temperature (RO) |
88 | temp1_min Minimum temperature (RW) | 97 | temp1_min Minimum temperature (RO or RW) |
89 | temp1_max Maximum temperature (RW) | 98 | temp1_max Maximum temperature (RO or RW) |
90 | temp1_crit Critical high temperature (RW) | 99 | temp1_crit Critical high temperature (RO or RW) |
91 | 100 | ||
92 | temp1_crit_hyst Critical hysteresis temperature (RW) | 101 | temp1_crit_hyst Critical hysteresis temperature (RO or RW) |
93 | temp1_max_hyst Maximum hysteresis temperature (RO) | 102 | temp1_max_hyst Maximum hysteresis temperature (RO) |
94 | 103 | ||
95 | temp1_min_alarm Temperature low alarm | 104 | temp1_min_alarm Temperature low alarm |
diff --git a/Documentation/hwmon/k10temp b/Documentation/hwmon/k10temp index 6526eee525a6..a10f73624ad3 100644 --- a/Documentation/hwmon/k10temp +++ b/Documentation/hwmon/k10temp | |||
@@ -9,6 +9,9 @@ Supported chips: | |||
9 | Socket S1G3: Athlon II, Sempron, Turion II | 9 | Socket S1G3: Athlon II, Sempron, Turion II |
10 | * AMD Family 11h processors: | 10 | * AMD Family 11h processors: |
11 | Socket S1G2: Athlon (X2), Sempron (X2), Turion X2 (Ultra) | 11 | Socket S1G2: Athlon (X2), Sempron (X2), Turion X2 (Ultra) |
12 | * AMD Family 12h processors: "Llano" (E2/A4/A6/A8-Series) | ||
13 | * AMD Family 14h processors: "Brazos" (C/E/G/Z-Series) | ||
14 | * AMD Family 15h processors: "Bulldozer" | ||
12 | 15 | ||
13 | Prefix: 'k10temp' | 16 | Prefix: 'k10temp' |
14 | Addresses scanned: PCI space | 17 | Addresses scanned: PCI space |
@@ -17,10 +20,18 @@ Supported chips: | |||
17 | http://support.amd.com/us/Processor_TechDocs/31116.pdf | 20 | http://support.amd.com/us/Processor_TechDocs/31116.pdf |
18 | BIOS and Kernel Developer's Guide (BKDG) for AMD Family 11h Processors: | 21 | BIOS and Kernel Developer's Guide (BKDG) for AMD Family 11h Processors: |
19 | http://support.amd.com/us/Processor_TechDocs/41256.pdf | 22 | http://support.amd.com/us/Processor_TechDocs/41256.pdf |
23 | BIOS and Kernel Developer's Guide (BKDG) for AMD Family 12h Processors: | ||
24 | http://support.amd.com/us/Processor_TechDocs/41131.pdf | ||
25 | BIOS and Kernel Developer's Guide (BKDG) for AMD Family 14h Models 00h-0Fh Processors: | ||
26 | http://support.amd.com/us/Processor_TechDocs/43170.pdf | ||
20 | Revision Guide for AMD Family 10h Processors: | 27 | Revision Guide for AMD Family 10h Processors: |
21 | http://support.amd.com/us/Processor_TechDocs/41322.pdf | 28 | http://support.amd.com/us/Processor_TechDocs/41322.pdf |
22 | Revision Guide for AMD Family 11h Processors: | 29 | Revision Guide for AMD Family 11h Processors: |
23 | http://support.amd.com/us/Processor_TechDocs/41788.pdf | 30 | http://support.amd.com/us/Processor_TechDocs/41788.pdf |
31 | Revision Guide for AMD Family 12h Processors: | ||
32 | http://support.amd.com/us/Processor_TechDocs/44739.pdf | ||
33 | Revision Guide for AMD Family 14h Models 00h-0Fh Processors: | ||
34 | http://support.amd.com/us/Processor_TechDocs/47534.pdf | ||
24 | AMD Family 11h Processor Power and Thermal Data Sheet for Notebooks: | 35 | AMD Family 11h Processor Power and Thermal Data Sheet for Notebooks: |
25 | http://support.amd.com/us/Processor_TechDocs/43373.pdf | 36 | http://support.amd.com/us/Processor_TechDocs/43373.pdf |
26 | AMD Family 10h Server and Workstation Processor Power and Thermal Data Sheet: | 37 | AMD Family 10h Server and Workstation Processor Power and Thermal Data Sheet: |
@@ -34,7 +45,7 @@ Description | |||
34 | ----------- | 45 | ----------- |
35 | 46 | ||
36 | This driver permits reading of the internal temperature sensor of AMD | 47 | This driver permits reading of the internal temperature sensor of AMD |
37 | Family 10h and 11h processors. | 48 | Family 10h/11h/12h/14h/15h processors. |
38 | 49 | ||
39 | All these processors have a sensor, but on those for Socket F or AM2+, | 50 | All these processors have a sensor, but on those for Socket F or AM2+, |
40 | the sensor may return inconsistent values (erratum 319). The driver | 51 | the sensor may return inconsistent values (erratum 319). The driver |
diff --git a/Documentation/hwmon/lineage-pem b/Documentation/hwmon/lineage-pem new file mode 100644 index 000000000000..2ba5ed126858 --- /dev/null +++ b/Documentation/hwmon/lineage-pem | |||
@@ -0,0 +1,77 @@ | |||
1 | Kernel driver lineage-pem | ||
2 | ========================= | ||
3 | |||
4 | Supported devices: | ||
5 | * Lineage Compact Power Line Power Entry Modules | ||
6 | Prefix: 'lineage-pem' | ||
7 | Addresses scanned: - | ||
8 | Documentation: | ||
9 | http://www.lineagepower.com/oem/pdf/CPLI2C.pdf | ||
10 | |||
11 | Author: Guenter Roeck <guenter.roeck@ericsson.com> | ||
12 | |||
13 | |||
14 | Description | ||
15 | ----------- | ||
16 | |||
17 | This driver supports various Lineage Compact Power Line DC/DC and AC/DC | ||
18 | converters such as CP1800, CP2000AC, CP2000DC, CP2100DC, and others. | ||
19 | |||
20 | Lineage CPL power entry modules are nominally PMBus compliant. However, most | ||
21 | standard PMBus commands are not supported. Specifically, all hardware monitoring | ||
22 | and status reporting commands are non-standard. For this reason, a standard | ||
23 | PMBus driver can not be used. | ||
24 | |||
25 | |||
26 | Usage Notes | ||
27 | ----------- | ||
28 | |||
29 | This driver does not probe for Lineage CPL devices, since there is no register | ||
30 | which can be safely used to identify the chip. You will have to instantiate | ||
31 | the devices explicitly. | ||
32 | |||
33 | Example: the following will load the driver for a Lineage PEM at address 0x40 | ||
34 | on I2C bus #1: | ||
35 | $ modprobe lineage-pem | ||
36 | $ echo lineage-pem 0x40 > /sys/bus/i2c/devices/i2c-1/new_device | ||
37 | |||
38 | All Lineage CPL power entry modules have a built-in I2C bus master selector | ||
39 | (PCA9541). To ensure device access, this driver should only be used as client | ||
40 | driver to the pca9541 I2C master selector driver. | ||
41 | |||
42 | |||
43 | Sysfs entries | ||
44 | ------------- | ||
45 | |||
46 | All Lineage CPL devices report output voltage and device temperature as well as | ||
47 | alarms for output voltage, temperature, input voltage, input current, input power, | ||
48 | and fan status. | ||
49 | |||
50 | Input voltage, input current, input power, and fan speed measurement is only | ||
51 | supported on newer devices. The driver detects if those attributes are supported, | ||
52 | and only creates respective sysfs entries if they are. | ||
53 | |||
54 | in1_input Output voltage (mV) | ||
55 | in1_min_alarm Output undervoltage alarm | ||
56 | in1_max_alarm Output overvoltage alarm | ||
57 | in1_crit Output voltage critical alarm | ||
58 | |||
59 | in2_input Input voltage (mV, optional) | ||
60 | in2_alarm Input voltage alarm | ||
61 | |||
62 | curr1_input Input current (mA, optional) | ||
63 | curr1_alarm Input overcurrent alarm | ||
64 | |||
65 | power1_input Input power (uW, optional) | ||
66 | power1_alarm Input power alarm | ||
67 | |||
68 | fan1_input Fan 1 speed (rpm, optional) | ||
69 | fan2_input Fan 2 speed (rpm, optional) | ||
70 | fan3_input Fan 3 speed (rpm, optional) | ||
71 | |||
72 | temp1_input | ||
73 | temp1_max | ||
74 | temp1_crit | ||
75 | temp1_alarm | ||
76 | temp1_crit_alarm | ||
77 | temp1_fault | ||
diff --git a/Documentation/hwmon/lis3lv02d b/Documentation/hwmon/lis3lv02d deleted file mode 100644 index 06534f25e643..000000000000 --- a/Documentation/hwmon/lis3lv02d +++ /dev/null | |||
@@ -1,92 +0,0 @@ | |||
1 | Kernel driver lis3lv02d | ||
2 | ======================= | ||
3 | |||
4 | Supported chips: | ||
5 | |||
6 | * STMicroelectronics LIS3LV02DL, LIS3LV02DQ (12 bits precision) | ||
7 | * STMicroelectronics LIS302DL, LIS3L02DQ, LIS331DL (8 bits) | ||
8 | |||
9 | Authors: | ||
10 | Yan Burman <burman.yan@gmail.com> | ||
11 | Eric Piel <eric.piel@tremplin-utc.net> | ||
12 | |||
13 | |||
14 | Description | ||
15 | ----------- | ||
16 | |||
17 | This driver provides support for the accelerometer found in various HP laptops | ||
18 | sporting the feature officially called "HP Mobile Data Protection System 3D" or | ||
19 | "HP 3D DriveGuard". It detects automatically laptops with this sensor. Known | ||
20 | models (full list can be found in drivers/hwmon/hp_accel.c) will have their | ||
21 | axis automatically oriented on standard way (eg: you can directly play | ||
22 | neverball). The accelerometer data is readable via | ||
23 | /sys/devices/platform/lis3lv02d. Reported values are scaled | ||
24 | to mg values (1/1000th of earth gravity). | ||
25 | |||
26 | Sysfs attributes under /sys/devices/platform/lis3lv02d/: | ||
27 | position - 3D position that the accelerometer reports. Format: "(x,y,z)" | ||
28 | rate - read reports the sampling rate of the accelerometer device in HZ. | ||
29 | write changes sampling rate of the accelerometer device. | ||
30 | Only values which are supported by HW are accepted. | ||
31 | selftest - performs selftest for the chip as specified by chip manufacturer. | ||
32 | |||
33 | This driver also provides an absolute input class device, allowing | ||
34 | the laptop to act as a pinball machine-esque joystick. Joystick device can be | ||
35 | calibrated. Joystick device can be in two different modes. | ||
36 | By default output values are scaled between -32768 .. 32767. In joystick raw | ||
37 | mode, joystick and sysfs position entry have the same scale. There can be | ||
38 | small difference due to input system fuzziness feature. | ||
39 | Events are also available as input event device. | ||
40 | |||
41 | Selftest is meant only for hardware diagnostic purposes. It is not meant to be | ||
42 | used during normal operations. Position data is not corrupted during selftest | ||
43 | but interrupt behaviour is not guaranteed to work reliably. In test mode, the | ||
44 | sensing element is internally moved little bit. Selftest measures difference | ||
45 | between normal mode and test mode. Chip specifications tell the acceptance | ||
46 | limit for each type of the chip. Limits are provided via platform data | ||
47 | to allow adjustment of the limits without a change to the actual driver. | ||
48 | Seltest returns either "OK x y z" or "FAIL x y z" where x, y and z are | ||
49 | measured difference between modes. Axes are not remapped in selftest mode. | ||
50 | Measurement values are provided to help HW diagnostic applications to make | ||
51 | final decision. | ||
52 | |||
53 | On HP laptops, if the led infrastructure is activated, support for a led | ||
54 | indicating disk protection will be provided as /sys/class/leds/hp::hddprotect. | ||
55 | |||
56 | Another feature of the driver is misc device called "freefall" that | ||
57 | acts similar to /dev/rtc and reacts on free-fall interrupts received | ||
58 | from the device. It supports blocking operations, poll/select and | ||
59 | fasync operation modes. You must read 1 bytes from the device. The | ||
60 | result is number of free-fall interrupts since the last successful | ||
61 | read (or 255 if number of interrupts would not fit). See the hpfall.c | ||
62 | file for an example on using the device. | ||
63 | |||
64 | |||
65 | Axes orientation | ||
66 | ---------------- | ||
67 | |||
68 | For better compatibility between the various laptops. The values reported by | ||
69 | the accelerometer are converted into a "standard" organisation of the axes | ||
70 | (aka "can play neverball out of the box"): | ||
71 | * When the laptop is horizontal the position reported is about 0 for X and Y | ||
72 | and a positive value for Z | ||
73 | * If the left side is elevated, X increases (becomes positive) | ||
74 | * If the front side (where the touchpad is) is elevated, Y decreases | ||
75 | (becomes negative) | ||
76 | * If the laptop is put upside-down, Z becomes negative | ||
77 | |||
78 | If your laptop model is not recognized (cf "dmesg"), you can send an | ||
79 | email to the maintainer to add it to the database. When reporting a new | ||
80 | laptop, please include the output of "dmidecode" plus the value of | ||
81 | /sys/devices/platform/lis3lv02d/position in these four cases. | ||
82 | |||
83 | Q&A | ||
84 | --- | ||
85 | |||
86 | Q: How do I safely simulate freefall? I have an HP "portable | ||
87 | workstation" which has about 3.5kg and a plastic case, so letting it | ||
88 | fall to the ground is out of question... | ||
89 | |||
90 | A: The sensor is pretty sensitive, so your hands can do it. Lift it | ||
91 | into free space, follow the fall with your hands for like 10 | ||
92 | centimeters. That should be enough to trigger the detection. | ||
diff --git a/Documentation/hwmon/lm75 b/Documentation/hwmon/lm75 index 8e6356fe05d7..a1790401fdde 100644 --- a/Documentation/hwmon/lm75 +++ b/Documentation/hwmon/lm75 | |||
@@ -7,6 +7,11 @@ Supported chips: | |||
7 | Addresses scanned: I2C 0x48 - 0x4f | 7 | Addresses scanned: I2C 0x48 - 0x4f |
8 | Datasheet: Publicly available at the National Semiconductor website | 8 | Datasheet: Publicly available at the National Semiconductor website |
9 | http://www.national.com/ | 9 | http://www.national.com/ |
10 | * National Semiconductor LM75A | ||
11 | Prefix: 'lm75a' | ||
12 | Addresses scanned: I2C 0x48 - 0x4f | ||
13 | Datasheet: Publicly available at the National Semiconductor website | ||
14 | http://www.national.com/ | ||
10 | * Dallas Semiconductor DS75 | 15 | * Dallas Semiconductor DS75 |
11 | Prefix: 'lm75' | 16 | Prefix: 'lm75' |
12 | Addresses scanned: I2C 0x48 - 0x4f | 17 | Addresses scanned: I2C 0x48 - 0x4f |
diff --git a/Documentation/hwmon/lm85 b/Documentation/hwmon/lm85 index b98e0e0d1910..7c49feaa79d2 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 |
@@ -22,6 +26,14 @@ Supported chips: | |||
22 | Prefix: 'emc6d102' | 26 | Prefix: 'emc6d102' |
23 | Addresses scanned: I2C 0x2c, 0x2d, 0x2e | 27 | Addresses scanned: I2C 0x2c, 0x2d, 0x2e |
24 | Datasheet: http://www.smsc.com/main/catalog/emc6d102.html | 28 | Datasheet: http://www.smsc.com/main/catalog/emc6d102.html |
29 | * SMSC EMC6D103 | ||
30 | Prefix: 'emc6d103' | ||
31 | Addresses scanned: I2C 0x2c, 0x2d, 0x2e | ||
32 | Datasheet: http://www.smsc.com/main/catalog/emc6d103.html | ||
33 | * SMSC EMC6D103S | ||
34 | Prefix: 'emc6d103s' | ||
35 | Addresses scanned: I2C 0x2c, 0x2d, 0x2e | ||
36 | Datasheet: http://www.smsc.com/main/catalog/emc6d103s.html | ||
25 | 37 | ||
26 | Authors: | 38 | Authors: |
27 | Philip Pokorny <ppokorny@penguincomputing.com>, | 39 | Philip Pokorny <ppokorny@penguincomputing.com>, |
@@ -34,7 +46,7 @@ Description | |||
34 | ----------- | 46 | ----------- |
35 | 47 | ||
36 | This driver implements support for the National Semiconductor LM85 and | 48 | This driver implements support for the National Semiconductor LM85 and |
37 | compatible chips including the Analog Devices ADM1027, ADT7463 and | 49 | compatible chips including the Analog Devices ADM1027, ADT7463, ADT7468 and |
38 | SMSC EMC6D10x chips family. | 50 | SMSC EMC6D10x chips family. |
39 | 51 | ||
40 | The LM85 uses the 2-wire interface compatible with the SMBUS 2.0 | 52 | The LM85 uses the 2-wire interface compatible with the SMBUS 2.0 |
@@ -87,14 +99,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 | 99 | 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. | 100 | config option but uses it to rate limit the changes to fan speed instead. |
89 | 101 | ||
90 | The ADM1027 and ADT7463 have a 10-bit ADC and can therefore measure | 102 | 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 | 103 | measure temperatures with 0.25 degC resolution. They also provide an offset |
92 | temperature readings that is automatically applied during measurement. | 104 | 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. | 105 | 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 | 106 | 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 | 107 | 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 | 108 | Devices has confirmed this "bug". The ADT7463 is reported to work as |
97 | documentation. The current lm85 driver does not show the offset register. | 109 | described in the documentation. The current lm85 driver does not show the |
110 | offset register. | ||
111 | |||
112 | The ADT7468 has a high-frequency PWM mode, where all PWM outputs are | ||
113 | driven by a 22.5 kHz clock. This is a global mode, not per-PWM output, | ||
114 | which means that setting any PWM frequency above 11.3 kHz will switch | ||
115 | all 3 PWM outputs to a 22.5 kHz frequency. Conversely, setting any PWM | ||
116 | frequency below 11.3 kHz will switch all 3 PWM outputs to a frequency | ||
117 | between 10 and 100 Hz, which can then be tuned separately. | ||
98 | 118 | ||
99 | See the vendor datasheets for more information. There is application note | 119 | See the vendor datasheets for more information. There is application note |
100 | from National (AN-1260) with some additional information about the LM85. | 120 | from National (AN-1260) with some additional information about the LM85. |
@@ -110,9 +130,11 @@ to be register compatible. The EMC6D100 offers all the features of the | |||
110 | EMC6D101 plus additional voltage monitoring and system control features. | 130 | EMC6D101 plus additional voltage monitoring and system control features. |
111 | Unfortunately it is not possible to distinguish between the package | 131 | Unfortunately it is not possible to distinguish between the package |
112 | versions on register level so these additional voltage inputs may read | 132 | versions on register level so these additional voltage inputs may read |
113 | zero. The EMC6D102 features addtional ADC bits thus extending precision | 133 | zero. EMC6D102 and EMC6D103 feature additional ADC bits thus extending precision |
114 | of voltage and temperature channels. | 134 | of voltage and temperature channels. |
115 | 135 | ||
136 | SMSC EMC6D103S is similar to EMC6D103, but does not support pwm#_auto_pwm_minctl | ||
137 | and temp#_auto_temp_off. | ||
116 | 138 | ||
117 | Hardware Configurations | 139 | Hardware Configurations |
118 | ----------------------- | 140 | ----------------------- |
@@ -125,17 +147,17 @@ datasheet for a complete description of the differences. Other than | |||
125 | identifying the chip, the driver behaves no differently with regard to | 147 | identifying the chip, the driver behaves no differently with regard to |
126 | these two chips. The LM85B is recommended for new designs. | 148 | these two chips. The LM85B is recommended for new designs. |
127 | 149 | ||
128 | The ADM1027 and ADT7463 chips have an optional SMBALERT output that can be | 150 | 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 | 151 | 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 | 152 | temperature sensors fail. Individual sensor interrupts can be masked so |
131 | trigger SMBALERT. The SMBALERT output if configured replaces one of the other | 153 | they won't trigger SMBALERT. The SMBALERT output if configured replaces one |
132 | functions (PWM2 or IN0). This functionality is not implemented in current | 154 | of the other functions (PWM2 or IN0). This functionality is not implemented |
133 | driver. | 155 | in current driver. |
134 | 156 | ||
135 | The ADT7463 also has an optional THERM output/input which can be connected | 157 | 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 | 158 | 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 | 159 | control dynamic Tmin feature can be enabled to keep the system temperature |
138 | spec (just?!) with the least possible fan noise. | 160 | within spec (just?!) with the least possible fan noise. |
139 | 161 | ||
140 | Configuration Notes | 162 | Configuration Notes |
141 | ------------------- | 163 | ------------------- |
@@ -201,8 +223,8 @@ the temperatures to compensate for systemic errors in the | |||
201 | measurements. These features are not currently supported by the lm85 | 223 | measurements. These features are not currently supported by the lm85 |
202 | driver. | 224 | driver. |
203 | 225 | ||
204 | In addition to the ADM1027 features, the ADT7463 also has Tmin control | 226 | In addition to the ADM1027 features, the ADT7463 and ADT7468 also have |
205 | and THERM asserted counts. Automatic Tmin control acts to adjust the | 227 | Tmin control and THERM asserted counts. Automatic Tmin control acts to |
206 | Tmin value to maintain the measured temperature sensor at a specified | 228 | adjust the Tmin value to maintain the measured temperature sensor at a |
207 | temperature. There isn't much documentation on this feature in the | 229 | specified temperature. There isn't much documentation on this feature in |
208 | ADT7463 data sheet. This is not supported by current driver. | 230 | the ADT7463 data sheet. This is not supported by current driver. |
diff --git a/Documentation/hwmon/lm90 b/Documentation/hwmon/lm90 index 6a03dd4bcc94..f3efd18e87f4 100644 --- a/Documentation/hwmon/lm90 +++ b/Documentation/hwmon/lm90 | |||
@@ -32,6 +32,16 @@ Supported chips: | |||
32 | Addresses scanned: I2C 0x4c and 0x4d | 32 | Addresses scanned: I2C 0x4c and 0x4d |
33 | Datasheet: Publicly available at the ON Semiconductor website | 33 | Datasheet: Publicly available at the ON Semiconductor website |
34 | http://www.onsemi.com/PowerSolutions/product.do?id=ADT7461 | 34 | http://www.onsemi.com/PowerSolutions/product.do?id=ADT7461 |
35 | * Analog Devices ADT7461A | ||
36 | Prefix: 'adt7461a' | ||
37 | Addresses scanned: I2C 0x4c and 0x4d | ||
38 | Datasheet: Publicly available at the ON Semiconductor website | ||
39 | http://www.onsemi.com/PowerSolutions/product.do?id=ADT7461A | ||
40 | * ON Semiconductor NCT1008 | ||
41 | Prefix: 'nct1008' | ||
42 | Addresses scanned: I2C 0x4c and 0x4d | ||
43 | Datasheet: Publicly available at the ON Semiconductor website | ||
44 | http://www.onsemi.com/PowerSolutions/product.do?id=NCT1008 | ||
35 | * Maxim MAX6646 | 45 | * Maxim MAX6646 |
36 | Prefix: 'max6646' | 46 | Prefix: 'max6646' |
37 | Addresses scanned: I2C 0x4d | 47 | Addresses scanned: I2C 0x4d |
@@ -63,8 +73,8 @@ Supported chips: | |||
63 | Datasheet: Publicly available at the Maxim website | 73 | Datasheet: Publicly available at the Maxim website |
64 | http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578 | 74 | http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578 |
65 | * Maxim MAX6659 | 75 | * Maxim MAX6659 |
66 | Prefix: 'max6657' | 76 | Prefix: 'max6659' |
67 | Addresses scanned: I2C 0x4c, 0x4d (unsupported 0x4e) | 77 | Addresses scanned: I2C 0x4c, 0x4d, 0x4e |
68 | Datasheet: Publicly available at the Maxim website | 78 | Datasheet: Publicly available at the Maxim website |
69 | http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578 | 79 | http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578 |
70 | * Maxim MAX6680 | 80 | * Maxim MAX6680 |
@@ -84,6 +94,21 @@ Supported chips: | |||
84 | Addresses scanned: I2C 0x4c | 94 | Addresses scanned: I2C 0x4c |
85 | Datasheet: Publicly available at the Maxim website | 95 | Datasheet: Publicly available at the Maxim website |
86 | http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3500 | 96 | http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3500 |
97 | * Maxim MAX6695 | ||
98 | Prefix: 'max6695' | ||
99 | Addresses scanned: I2C 0x18 | ||
100 | Datasheet: Publicly available at the Maxim website | ||
101 | http://www.maxim-ic.com/datasheet/index.mvp/id/4199 | ||
102 | * Maxim MAX6696 | ||
103 | Prefix: 'max6695' | ||
104 | Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b, | ||
105 | 0x4c, 0x4d and 0x4e | ||
106 | Datasheet: Publicly available at the Maxim website | ||
107 | http://www.maxim-ic.com/datasheet/index.mvp/id/4199 | ||
108 | * Winbond/Nuvoton W83L771W/G | ||
109 | Prefix: 'w83l771' | ||
110 | Addresses scanned: I2C 0x4c | ||
111 | Datasheet: No longer available | ||
87 | * Winbond/Nuvoton W83L771AWG/ASG | 112 | * Winbond/Nuvoton W83L771AWG/ASG |
88 | Prefix: 'w83l771' | 113 | Prefix: 'w83l771' |
89 | Addresses scanned: I2C 0x4c | 114 | Addresses scanned: I2C 0x4c |
@@ -101,10 +126,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. | 126 | with many other devices, many of which are supported by this driver. |
102 | 127 | ||
103 | Note that there is no easy way to differentiate between the MAX6657, | 128 | Note that there is no easy way to differentiate between the MAX6657, |
104 | MAX6658 and MAX6659 variants. The extra address and features of the | 129 | 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 | 130 | 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) | 131 | or if the chip type is explicitly selected as max6659. |
107 | be distinguished. | 132 | The MAX6680 and MAX6681 only differ in their pinout, therefore they obviously |
133 | can't (and don't need to) be distinguished. | ||
108 | 134 | ||
109 | The specificity of this family of chipsets over the ADM1021/LM84 | 135 | The specificity of this family of chipsets over the ADM1021/LM84 |
110 | family is that it features critical limits with hysteresis, and an | 136 | family is that it features critical limits with hysteresis, and an |
@@ -133,7 +159,7 @@ ADM1032: | |||
133 | * ALERT is triggered by open remote sensor. | 159 | * ALERT is triggered by open remote sensor. |
134 | * SMBus PEC support for Write Byte and Receive Byte transactions. | 160 | * SMBus PEC support for Write Byte and Receive Byte transactions. |
135 | 161 | ||
136 | ADT7461: | 162 | ADT7461, ADT7461A, NCT1008: |
137 | * Extended temperature range (breaks compatibility) | 163 | * Extended temperature range (breaks compatibility) |
138 | * Lower resolution for remote temperature | 164 | * Lower resolution for remote temperature |
139 | 165 | ||
@@ -151,11 +177,21 @@ MAX6680 and MAX6681: | |||
151 | * Selectable address | 177 | * Selectable address |
152 | * Remote sensor type selection | 178 | * Remote sensor type selection |
153 | 179 | ||
180 | MAX6695 and MAX6696: | ||
181 | * Better local resolution | ||
182 | * Selectable address (max6696) | ||
183 | * Second critical temperature limit | ||
184 | * Two remote sensors | ||
185 | |||
186 | W83L771W/G | ||
187 | * The G variant is lead-free, otherwise similar to the W. | ||
188 | * Filter and alert configuration register at 0xBF | ||
189 | * Moving average (depending on conversion rate) | ||
190 | |||
154 | W83L771AWG/ASG | 191 | W83L771AWG/ASG |
192 | * Successor of the W83L771W/G, same features. | ||
155 | * The AWG and ASG variants only differ in package format. | 193 | * 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 | 194 | * Diode ideality factor configuration (remote sensor) at 0xE3 |
158 | * Moving average (depending on conversion rate) | ||
159 | 195 | ||
160 | All temperature values are given in degrees Celsius. Resolution | 196 | All temperature values are given in degrees Celsius. Resolution |
161 | is 1.0 degree for the local temperature, 0.125 degree for the remote | 197 | is 1.0 degree for the local temperature, 0.125 degree for the remote |
@@ -169,9 +205,9 @@ are exported, one for each channel, but these values are of course linked. | |||
169 | Only the local hysteresis can be set from user-space, and the same delta | 205 | Only the local hysteresis can be set from user-space, and the same delta |
170 | applies to the remote hysteresis. | 206 | applies to the remote hysteresis. |
171 | 207 | ||
172 | The lm90 driver will not update its values more frequently than every | 208 | The lm90 driver will not update its values more frequently than configured with |
173 | other second; reading them more often will do no harm, but will return | 209 | the update_interval attribute; reading them more often will do no harm, but will |
174 | 'old' values. | 210 | return 'old' values. |
175 | 211 | ||
176 | SMBus Alert Support | 212 | SMBus Alert Support |
177 | ------------------- | 213 | ------------------- |
@@ -179,11 +215,12 @@ SMBus Alert Support | |||
179 | This driver has basic support for SMBus alert. When an alert is received, | 215 | This driver has basic support for SMBus alert. When an alert is received, |
180 | the status register is read and the faulty temperature channel is logged. | 216 | the status register is read and the faulty temperature channel is logged. |
181 | 217 | ||
182 | The Analog Devices chips (ADM1032 and ADT7461) do not implement the SMBus | 218 | The Analog Devices chips (ADM1032, ADT7461 and ADT7461A) and ON |
183 | alert protocol properly so additional care is needed: the ALERT output is | 219 | Semiconductor chips (NCT1008) do not implement the SMBus alert protocol |
184 | disabled when an alert is received, and is re-enabled only when the alarm | 220 | properly so additional care is needed: the ALERT output is disabled when |
185 | is gone. Otherwise the chip would block alerts from other chips in the bus | 221 | an alert is received, and is re-enabled only when the alarm is gone. |
186 | as long as the alarm is active. | 222 | Otherwise the chip would block alerts from other chips in the bus as long |
223 | as the alarm is active. | ||
187 | 224 | ||
188 | PEC Support | 225 | PEC Support |
189 | ----------- | 226 | ----------- |
diff --git a/Documentation/hwmon/lm93 b/Documentation/hwmon/lm93 index ac711f357faf..f3b2ad2ceb01 100644 --- a/Documentation/hwmon/lm93 +++ b/Documentation/hwmon/lm93 | |||
@@ -6,12 +6,16 @@ Supported chips: | |||
6 | Prefix 'lm93' | 6 | Prefix 'lm93' |
7 | Addresses scanned: I2C 0x2c-0x2e | 7 | Addresses scanned: I2C 0x2c-0x2e |
8 | Datasheet: http://www.national.com/ds.cgi/LM/LM93.pdf | 8 | Datasheet: http://www.national.com/ds.cgi/LM/LM93.pdf |
9 | * National Semiconductor LM94 | ||
10 | Prefix 'lm94' | ||
11 | Addresses scanned: I2C 0x2c-0x2e | ||
12 | Datasheet: http://www.national.com/ds.cgi/LM/LM94.pdf | ||
9 | 13 | ||
10 | Authors: | 14 | Authors: |
11 | Mark M. Hoffman <mhoffman@lightlink.com> | 15 | Mark M. Hoffman <mhoffman@lightlink.com> |
12 | Ported to 2.6 by Eric J. Bowersox <ericb@aspsys.com> | 16 | Ported to 2.6 by Eric J. Bowersox <ericb@aspsys.com> |
13 | Adapted to 2.6.20 by Carsten Emde <ce@osadl.org> | 17 | Adapted to 2.6.20 by Carsten Emde <ce@osadl.org> |
14 | Modified for mainline integration by Hans J. Koch <hjk@linutronix.de> | 18 | Modified for mainline integration by Hans J. Koch <hjk@hansjkoch.de> |
15 | 19 | ||
16 | Module Parameters | 20 | Module Parameters |
17 | ----------------- | 21 | ----------------- |
@@ -56,6 +60,9 @@ previous motherboard management ASICs and uses some of the LM85's features | |||
56 | for dynamic Vccp monitoring and PROCHOT. It is designed to monitor a dual | 60 | for dynamic Vccp monitoring and PROCHOT. It is designed to monitor a dual |
57 | processor Xeon class motherboard with a minimum of external components. | 61 | processor Xeon class motherboard with a minimum of external components. |
58 | 62 | ||
63 | LM94 is also supported in LM93 compatible mode. Extra sensors and features of | ||
64 | LM94 are not supported. | ||
65 | |||
59 | 66 | ||
60 | User Interface | 67 | User Interface |
61 | -------------- | 68 | -------------- |
diff --git a/Documentation/hwmon/ltc4151 b/Documentation/hwmon/ltc4151 new file mode 100644 index 000000000000..43c667e6677a --- /dev/null +++ b/Documentation/hwmon/ltc4151 | |||
@@ -0,0 +1,47 @@ | |||
1 | Kernel driver ltc4151 | ||
2 | ===================== | ||
3 | |||
4 | Supported chips: | ||
5 | * Linear Technology LTC4151 | ||
6 | Prefix: 'ltc4151' | ||
7 | Addresses scanned: - | ||
8 | Datasheet: | ||
9 | http://www.linear.com/docs/Datasheet/4151fc.pdf | ||
10 | |||
11 | Author: Per Dalen <per.dalen@appeartv.com> | ||
12 | |||
13 | |||
14 | Description | ||
15 | ----------- | ||
16 | |||
17 | The LTC4151 is a High Voltage I2C Current and Voltage Monitor. | ||
18 | |||
19 | |||
20 | Usage Notes | ||
21 | ----------- | ||
22 | |||
23 | This driver does not probe for LTC4151 devices, since there is no register | ||
24 | which can be safely used to identify the chip. You will have to instantiate | ||
25 | the devices explicitly. | ||
26 | |||
27 | Example: the following will load the driver for an LTC4151 at address 0x6f | ||
28 | on I2C bus #0: | ||
29 | # modprobe ltc4151 | ||
30 | # echo ltc4151 0x6f > /sys/bus/i2c/devices/i2c-0/new_device | ||
31 | |||
32 | |||
33 | Sysfs entries | ||
34 | ------------- | ||
35 | |||
36 | Voltage readings provided by this driver are reported as obtained from the ADIN | ||
37 | and VIN registers. | ||
38 | |||
39 | Current reading provided by this driver is reported as obtained from the Current | ||
40 | Sense register. The reported value assumes that a 1 mOhm sense resistor is | ||
41 | installed. | ||
42 | |||
43 | in1_input VDIN voltage (mV) | ||
44 | |||
45 | in2_input ADIN voltage (mV) | ||
46 | |||
47 | curr1_input SENSE current (mA) | ||
diff --git a/Documentation/hwmon/ltc4261 b/Documentation/hwmon/ltc4261 new file mode 100644 index 000000000000..eba2e2c4b94d --- /dev/null +++ b/Documentation/hwmon/ltc4261 | |||
@@ -0,0 +1,63 @@ | |||
1 | Kernel driver ltc4261 | ||
2 | ===================== | ||
3 | |||
4 | Supported chips: | ||
5 | * Linear Technology LTC4261 | ||
6 | Prefix: 'ltc4261' | ||
7 | Addresses scanned: - | ||
8 | Datasheet: | ||
9 | http://cds.linear.com/docs/Datasheet/42612fb.pdf | ||
10 | |||
11 | Author: Guenter Roeck <guenter.roeck@ericsson.com> | ||
12 | |||
13 | |||
14 | Description | ||
15 | ----------- | ||
16 | |||
17 | The LTC4261/LTC4261-2 negative voltage Hot Swap controllers allow a board | ||
18 | to be safely inserted and removed from a live backplane. | ||
19 | |||
20 | |||
21 | Usage Notes | ||
22 | ----------- | ||
23 | |||
24 | This driver does not probe for LTC4261 devices, since there is no register | ||
25 | which can be safely used to identify the chip. You will have to instantiate | ||
26 | the devices explicitly. | ||
27 | |||
28 | Example: the following will load the driver for an LTC4261 at address 0x10 | ||
29 | on I2C bus #1: | ||
30 | $ modprobe ltc4261 | ||
31 | $ echo ltc4261 0x10 > /sys/bus/i2c/devices/i2c-1/new_device | ||
32 | |||
33 | |||
34 | Sysfs entries | ||
35 | ------------- | ||
36 | |||
37 | Voltage readings provided by this driver are reported as obtained from the ADC | ||
38 | registers. If a set of voltage divider resistors is installed, calculate the | ||
39 | real voltage by multiplying the reported value with (R1+R2)/R2, where R1 is the | ||
40 | value of the divider resistor against the measured voltage and R2 is the value | ||
41 | of the divider resistor against Ground. | ||
42 | |||
43 | Current reading provided by this driver is reported as obtained from the ADC | ||
44 | Current Sense register. The reported value assumes that a 1 mOhm sense resistor | ||
45 | is installed. If a different sense resistor is installed, calculate the real | ||
46 | current by dividing the reported value by the sense resistor value in mOhm. | ||
47 | |||
48 | The chip has two voltage sensors, but only one set of voltage alarm status bits. | ||
49 | In many many designs, those alarms are associated with the ADIN2 sensor, due to | ||
50 | the proximity of the ADIN2 pin to the OV pin. ADIN2 is, however, not available | ||
51 | on all chip variants. To ensure that the alarm condition is reported to the user, | ||
52 | report it with both voltage sensors. | ||
53 | |||
54 | in1_input ADIN2 voltage (mV) | ||
55 | in1_min_alarm ADIN/ADIN2 Undervoltage alarm | ||
56 | in1_max_alarm ADIN/ADIN2 Overvoltage alarm | ||
57 | |||
58 | in2_input ADIN voltage (mV) | ||
59 | in2_min_alarm ADIN/ADIN2 Undervoltage alarm | ||
60 | in2_max_alarm ADIN/ADIN2 Overvoltage alarm | ||
61 | |||
62 | curr1_input SENSE current (mA) | ||
63 | curr1_alarm SENSE overcurrent alarm | ||
diff --git a/Documentation/hwmon/max16064 b/Documentation/hwmon/max16064 new file mode 100644 index 000000000000..41728999e142 --- /dev/null +++ b/Documentation/hwmon/max16064 | |||
@@ -0,0 +1,62 @@ | |||
1 | Kernel driver max16064 | ||
2 | ====================== | ||
3 | |||
4 | Supported chips: | ||
5 | * Maxim MAX16064 | ||
6 | Prefix: 'max16064' | ||
7 | Addresses scanned: - | ||
8 | Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX16064.pdf | ||
9 | |||
10 | Author: Guenter Roeck <guenter.roeck@ericsson.com> | ||
11 | |||
12 | |||
13 | Description | ||
14 | ----------- | ||
15 | |||
16 | This driver supports hardware montoring for Maxim MAX16064 Quad Power-Supply | ||
17 | Controller with Active-Voltage Output Control and PMBus Interface. | ||
18 | |||
19 | The driver is a client driver to the core PMBus driver. | ||
20 | Please see Documentation/hwmon/pmbus for details on PMBus client drivers. | ||
21 | |||
22 | |||
23 | Usage Notes | ||
24 | ----------- | ||
25 | |||
26 | This driver does not auto-detect devices. You will have to instantiate the | ||
27 | devices explicitly. Please see Documentation/i2c/instantiating-devices for | ||
28 | details. | ||
29 | |||
30 | |||
31 | Platform data support | ||
32 | --------------------- | ||
33 | |||
34 | The driver supports standard PMBus driver platform data. | ||
35 | |||
36 | |||
37 | Sysfs entries | ||
38 | ------------- | ||
39 | |||
40 | The following attributes are supported. Limits are read-write; all other | ||
41 | attributes are read-only. | ||
42 | |||
43 | in[1-4]_label "vout[1-4]" | ||
44 | in[1-4]_input Measured voltage. From READ_VOUT register. | ||
45 | in[1-4]_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register. | ||
46 | in[1-4]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register. | ||
47 | in[1-4]_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register. | ||
48 | in[1-4]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register. | ||
49 | in[1-4]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status. | ||
50 | in[1-4]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status. | ||
51 | in[1-4]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status. | ||
52 | in[1-4]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status. | ||
53 | |||
54 | temp1_input Measured temperature. From READ_TEMPERATURE_1 register. | ||
55 | temp1_max Maximum temperature. From OT_WARN_LIMIT register. | ||
56 | temp1_crit Critical high temperature. From OT_FAULT_LIMIT register. | ||
57 | temp1_max_alarm Chip temperature high alarm. Set by comparing | ||
58 | READ_TEMPERATURE_1 with OT_WARN_LIMIT if TEMP_OT_WARNING | ||
59 | status is set. | ||
60 | temp1_crit_alarm Chip temperature critical high alarm. Set by comparing | ||
61 | READ_TEMPERATURE_1 with OT_FAULT_LIMIT if TEMP_OT_FAULT | ||
62 | status is set. | ||
diff --git a/Documentation/hwmon/max16065 b/Documentation/hwmon/max16065 new file mode 100644 index 000000000000..44b4f61e04f9 --- /dev/null +++ b/Documentation/hwmon/max16065 | |||
@@ -0,0 +1,98 @@ | |||
1 | Kernel driver max16065 | ||
2 | ====================== | ||
3 | |||
4 | Supported chips: | ||
5 | * Maxim MAX16065, MAX16066 | ||
6 | Prefixes: 'max16065', 'max16066' | ||
7 | Addresses scanned: - | ||
8 | Datasheet: | ||
9 | http://datasheets.maxim-ic.com/en/ds/MAX16065-MAX16066.pdf | ||
10 | * Maxim MAX16067 | ||
11 | Prefix: 'max16067' | ||
12 | Addresses scanned: - | ||
13 | Datasheet: | ||
14 | http://datasheets.maxim-ic.com/en/ds/MAX16067.pdf | ||
15 | * Maxim MAX16068 | ||
16 | Prefix: 'max16068' | ||
17 | Addresses scanned: - | ||
18 | Datasheet: | ||
19 | http://datasheets.maxim-ic.com/en/ds/MAX16068.pdf | ||
20 | * Maxim MAX16070/MAX16071 | ||
21 | Prefixes: 'max16070', 'max16071' | ||
22 | Addresses scanned: - | ||
23 | Datasheet: | ||
24 | http://datasheets.maxim-ic.com/en/ds/MAX16070-MAX16071.pdf | ||
25 | |||
26 | |||
27 | Author: Guenter Roeck <guenter.roeck@ericsson.com> | ||
28 | |||
29 | |||
30 | Description | ||
31 | ----------- | ||
32 | |||
33 | [From datasheets] The MAX16065/MAX16066 flash-configurable system managers | ||
34 | monitor and sequence multiple system voltages. The MAX16065/MAX16066 can also | ||
35 | accurately monitor (+/-2.5%) one current channel using a dedicated high-side | ||
36 | current-sense amplifier. The MAX16065 manages up to twelve system voltages | ||
37 | simultaneously, and the MAX16066 manages up to eight supply voltages. | ||
38 | |||
39 | The MAX16067 flash-configurable system manager monitors and sequences multiple | ||
40 | system voltages. The MAX16067 manages up to six system voltages simultaneously. | ||
41 | |||
42 | The MAX16068 flash-configurable system manager monitors and manages up to six | ||
43 | system voltages simultaneously. | ||
44 | |||
45 | The MAX16070/MAX16071 flash-configurable system monitors supervise multiple | ||
46 | system voltages. The MAX16070/MAX16071 can also accurately monitor (+/-2.5%) | ||
47 | one current channel using a dedicated high-side current-sense amplifier. The | ||
48 | MAX16070 monitors up to twelve system voltages simultaneously, and the MAX16071 | ||
49 | monitors up to eight supply voltages. | ||
50 | |||
51 | Each monitored channel has its own low and high critical limits. MAX16065, | ||
52 | MAX16066, MAX16070, and MAX16071 support an additional limit which is | ||
53 | configurable as either low or high secondary limit. MAX16065, MAX16066, | ||
54 | MAX16070, and MAX16071 also support supply current monitoring. | ||
55 | |||
56 | |||
57 | Usage Notes | ||
58 | ----------- | ||
59 | |||
60 | This driver does not probe for devices, since there is no register which | ||
61 | can be safely used to identify the chip. You will have to instantiate | ||
62 | the devices explicitly. Please see Documentation/i2c/instantiating-devices for | ||
63 | details. | ||
64 | |||
65 | |||
66 | Sysfs entries | ||
67 | ------------- | ||
68 | |||
69 | in[0-11]_input Input voltage measurements. | ||
70 | |||
71 | in12_input Voltage on CSP (Current Sense Positive) pin. | ||
72 | Only if the chip supports current sensing and if | ||
73 | current sensing is enabled. | ||
74 | |||
75 | in[0-11]_min Low warning limit. | ||
76 | Supported on MAX16065, MAX16066, MAX16070, and MAX16071 | ||
77 | only. | ||
78 | |||
79 | in[0-11]_max High warning limit. | ||
80 | Supported on MAX16065, MAX16066, MAX16070, and MAX16071 | ||
81 | only. | ||
82 | |||
83 | Either low or high warning limits are supported | ||
84 | (depending on chip configuration), but not both. | ||
85 | |||
86 | in[0-11]_lcrit Low critical limit. | ||
87 | |||
88 | in[0-11]_crit High critical limit. | ||
89 | |||
90 | in[0-11]_alarm Input voltage alarm. | ||
91 | |||
92 | curr1_input Current sense input; only if the chip supports current | ||
93 | sensing and if current sensing is enabled. | ||
94 | Displayed current assumes 0.001 Ohm current sense | ||
95 | resistor. | ||
96 | |||
97 | curr1_alarm Overcurrent alarm; only if the chip supports current | ||
98 | sensing and if current sensing is enabled. | ||
diff --git a/Documentation/hwmon/max34440 b/Documentation/hwmon/max34440 new file mode 100644 index 000000000000..6c525dd07d59 --- /dev/null +++ b/Documentation/hwmon/max34440 | |||
@@ -0,0 +1,79 @@ | |||
1 | Kernel driver max34440 | ||
2 | ====================== | ||
3 | |||
4 | Supported chips: | ||
5 | * Maxim MAX34440 | ||
6 | Prefixes: 'max34440' | ||
7 | Addresses scanned: - | ||
8 | Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX34440.pdf | ||
9 | * Maxim MAX34441 | ||
10 | PMBus 5-Channel Power-Supply Manager and Intelligent Fan Controller | ||
11 | Prefixes: 'max34441' | ||
12 | Addresses scanned: - | ||
13 | Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX34441.pdf | ||
14 | |||
15 | Author: Guenter Roeck <guenter.roeck@ericsson.com> | ||
16 | |||
17 | |||
18 | Description | ||
19 | ----------- | ||
20 | |||
21 | This driver supports hardware montoring for Maxim MAX34440 PMBus 6-Channel | ||
22 | Power-Supply Manager and MAX34441 PMBus 5-Channel Power-Supply Manager | ||
23 | and Intelligent Fan Controller. | ||
24 | |||
25 | The driver is a client driver to the core PMBus driver. Please see | ||
26 | Documentation/hwmon/pmbus for details on PMBus client drivers. | ||
27 | |||
28 | |||
29 | Usage Notes | ||
30 | ----------- | ||
31 | |||
32 | This driver does not auto-detect devices. You will have to instantiate the | ||
33 | devices explicitly. Please see Documentation/i2c/instantiating-devices for | ||
34 | details. | ||
35 | |||
36 | |||
37 | Platform data support | ||
38 | --------------------- | ||
39 | |||
40 | The driver supports standard PMBus driver platform data. | ||
41 | |||
42 | |||
43 | Sysfs entries | ||
44 | ------------- | ||
45 | |||
46 | The following attributes are supported. Limits are read-write; all other | ||
47 | attributes are read-only. | ||
48 | |||
49 | in[1-6]_label "vout[1-6]". | ||
50 | in[1-6]_input Measured voltage. From READ_VOUT register. | ||
51 | in[1-6]_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register. | ||
52 | in[1-6]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register. | ||
53 | in[1-6]_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register. | ||
54 | in[1-6]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register. | ||
55 | in[1-6]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status. | ||
56 | in[1-6]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status. | ||
57 | in[1-6]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status. | ||
58 | in[1-6]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status. | ||
59 | |||
60 | curr[1-6]_label "iout[1-6]". | ||
61 | curr[1-6]_input Measured current. From READ_IOUT register. | ||
62 | curr[1-6]_max Maximum current. From IOUT_OC_WARN_LIMIT register. | ||
63 | curr[1-6]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register. | ||
64 | curr[1-6]_max_alarm Current high alarm. From IOUT_OC_WARNING status. | ||
65 | curr[1-6]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status. | ||
66 | |||
67 | in6 and curr6 attributes only exist for MAX34440. | ||
68 | |||
69 | temp[1-8]_input Measured temperatures. From READ_TEMPERATURE_1 register. | ||
70 | temp1 is the chip's internal temperature. temp2..temp5 | ||
71 | are remote I2C temperature sensors. For MAX34441, temp6 | ||
72 | is a remote thermal-diode sensor. For MAX34440, temp6..8 | ||
73 | are remote I2C temperature sensors. | ||
74 | temp[1-8]_max Maximum temperature. From OT_WARN_LIMIT register. | ||
75 | temp[1-8]_crit Critical high temperature. From OT_FAULT_LIMIT register. | ||
76 | temp[1-8]_max_alarm Temperature high alarm. | ||
77 | temp[1-8]_crit_alarm Temperature critical high alarm. | ||
78 | |||
79 | temp7 and temp8 attributes only exist for MAX34440. | ||
diff --git a/Documentation/hwmon/max6639 b/Documentation/hwmon/max6639 new file mode 100644 index 000000000000..dc49f8be7167 --- /dev/null +++ b/Documentation/hwmon/max6639 | |||
@@ -0,0 +1,49 @@ | |||
1 | Kernel driver max6639 | ||
2 | ===================== | ||
3 | |||
4 | Supported chips: | ||
5 | * Maxim MAX6639 | ||
6 | Prefix: 'max6639' | ||
7 | Addresses scanned: I2C 0x2c, 0x2e, 0x2f | ||
8 | Datasheet: http://pdfserv.maxim-ic.com/en/ds/MAX6639.pdf | ||
9 | |||
10 | Authors: | ||
11 | He Changqing <hechangqing@semptian.com> | ||
12 | Roland Stigge <stigge@antcom.de> | ||
13 | |||
14 | Description | ||
15 | ----------- | ||
16 | |||
17 | This driver implements support for the Maxim MAX6639. This chip is a 2-channel | ||
18 | temperature monitor with dual PWM fan speed controller. It can monitor its own | ||
19 | temperature and one external diode-connected transistor or two external | ||
20 | diode-connected transistors. | ||
21 | |||
22 | The following device attributes are implemented via sysfs: | ||
23 | |||
24 | Attribute R/W Contents | ||
25 | ---------------------------------------------------------------------------- | ||
26 | temp1_input R Temperature channel 1 input (0..150 C) | ||
27 | temp2_input R Temperature channel 2 input (0..150 C) | ||
28 | temp1_fault R Temperature channel 1 diode fault | ||
29 | temp2_fault R Temperature channel 2 diode fault | ||
30 | temp1_max RW Set THERM temperature for input 1 | ||
31 | (in C, see datasheet) | ||
32 | temp2_max RW Set THERM temperature for input 2 | ||
33 | temp1_crit RW Set ALERT temperature for input 1 | ||
34 | temp2_crit RW Set ALERT temperature for input 2 | ||
35 | temp1_emergency RW Set OT temperature for input 1 | ||
36 | (in C, see datasheet) | ||
37 | temp2_emergency RW Set OT temperature for input 2 | ||
38 | pwm1 RW Fan 1 target duty cycle (0..255) | ||
39 | pwm2 RW Fan 2 target duty cycle (0..255) | ||
40 | fan1_input R TACH1 fan tachometer input (in RPM) | ||
41 | fan2_input R TACH2 fan tachometer input (in RPM) | ||
42 | fan1_fault R Fan 1 fault | ||
43 | fan2_fault R Fan 2 fault | ||
44 | temp1_max_alarm R Alarm on THERM temperature on channel 1 | ||
45 | temp2_max_alarm R Alarm on THERM temperature on channel 2 | ||
46 | temp1_crit_alarm R Alarm on ALERT temperature on channel 1 | ||
47 | temp2_crit_alarm R Alarm on ALERT temperature on channel 2 | ||
48 | temp1_emergency_alarm R Alarm on OT temperature on channel 1 | ||
49 | temp2_emergency_alarm R Alarm on OT temperature on channel 2 | ||
diff --git a/Documentation/hwmon/max6642 b/Documentation/hwmon/max6642 new file mode 100644 index 000000000000..afbd3e4942e2 --- /dev/null +++ b/Documentation/hwmon/max6642 | |||
@@ -0,0 +1,21 @@ | |||
1 | Kernel driver max6642 | ||
2 | ===================== | ||
3 | |||
4 | Supported chips: | ||
5 | * Maxim MAX6642 | ||
6 | Prefix: 'max6642' | ||
7 | Addresses scanned: I2C 0x48-0x4f | ||
8 | Datasheet: Publicly available at the Maxim website | ||
9 | http://datasheets.maxim-ic.com/en/ds/MAX6642.pdf | ||
10 | |||
11 | Authors: | ||
12 | Per Dalen <per.dalen@appeartv.com> | ||
13 | |||
14 | Description | ||
15 | ----------- | ||
16 | |||
17 | The MAX6642 is a digital temperature sensor. It senses its own temperature as | ||
18 | well as the temperature on one external diode. | ||
19 | |||
20 | All temperature values are given in degrees Celsius. Resolution | ||
21 | is 0.25 degree for the local temperature and for the remote temperature. | ||
diff --git a/Documentation/hwmon/max6650 b/Documentation/hwmon/max6650 index 8be7beb9e3e8..58d9644a2bde 100644 --- a/Documentation/hwmon/max6650 +++ b/Documentation/hwmon/max6650 | |||
@@ -2,23 +2,27 @@ Kernel driver max6650 | |||
2 | ===================== | 2 | ===================== |
3 | 3 | ||
4 | Supported chips: | 4 | Supported chips: |
5 | * Maxim 6650 / 6651 | 5 | * Maxim MAX6650 |
6 | Prefix: 'max6650' | 6 | Prefix: 'max6650' |
7 | Addresses scanned: I2C 0x1b, 0x1f, 0x48, 0x4b | 7 | Addresses scanned: none |
8 | Datasheet: http://pdfserv.maxim-ic.com/en/ds/MAX6650-MAX6651.pdf | ||
9 | * Maxim MAX6651 | ||
10 | Prefix: 'max6651' | ||
11 | Addresses scanned: none | ||
8 | Datasheet: http://pdfserv.maxim-ic.com/en/ds/MAX6650-MAX6651.pdf | 12 | Datasheet: http://pdfserv.maxim-ic.com/en/ds/MAX6650-MAX6651.pdf |
9 | 13 | ||
10 | Authors: | 14 | Authors: |
11 | Hans J. Koch <hjk@linutronix.de> | 15 | Hans J. Koch <hjk@hansjkoch.de> |
12 | John Morris <john.morris@spirentcom.com> | 16 | John Morris <john.morris@spirentcom.com> |
13 | Claus Gindhart <claus.gindhart@kontron.com> | 17 | Claus Gindhart <claus.gindhart@kontron.com> |
14 | 18 | ||
15 | Description | 19 | Description |
16 | ----------- | 20 | ----------- |
17 | 21 | ||
18 | This driver implements support for the Maxim 6650/6651 | 22 | This driver implements support for the Maxim MAX6650 and MAX6651. |
19 | 23 | ||
20 | The 2 devices are very similar, but the Maxim 6550 has a reduced feature | 24 | The 2 devices are very similar, but the MAX6550 has a reduced feature |
21 | set, e.g. only one fan-input, instead of 4 for the 6651. | 25 | set, e.g. only one fan-input, instead of 4 for the MAX6651. |
22 | 26 | ||
23 | The driver is not able to distinguish between the 2 devices. | 27 | The driver is not able to distinguish between the 2 devices. |
24 | 28 | ||
@@ -36,6 +40,13 @@ fan1_div rw sets the speed range the inputs can handle. Legal | |||
36 | values are 1, 2, 4, and 8. Use lower values for | 40 | values are 1, 2, 4, and 8. Use lower values for |
37 | faster fans. | 41 | faster fans. |
38 | 42 | ||
43 | Usage notes | ||
44 | ----------- | ||
45 | |||
46 | This driver does not auto-detect devices. You will have to instantiate the | ||
47 | devices explicitly. Please see Documentation/i2c/instantiating-devices for | ||
48 | details. | ||
49 | |||
39 | Module parameters | 50 | Module parameters |
40 | ----------------- | 51 | ----------------- |
41 | 52 | ||
diff --git a/Documentation/hwmon/max8688 b/Documentation/hwmon/max8688 new file mode 100644 index 000000000000..0ddd3a412030 --- /dev/null +++ b/Documentation/hwmon/max8688 | |||
@@ -0,0 +1,69 @@ | |||
1 | Kernel driver max8688 | ||
2 | ===================== | ||
3 | |||
4 | Supported chips: | ||
5 | * Maxim MAX8688 | ||
6 | Prefix: 'max8688' | ||
7 | Addresses scanned: - | ||
8 | Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX8688.pdf | ||
9 | |||
10 | Author: Guenter Roeck <guenter.roeck@ericsson.com> | ||
11 | |||
12 | |||
13 | Description | ||
14 | ----------- | ||
15 | |||
16 | This driver supports hardware montoring for Maxim MAX8688 Digital Power-Supply | ||
17 | Controller/Monitor with PMBus Interface. | ||
18 | |||
19 | The driver is a client driver to the core PMBus driver. Please see | ||
20 | Documentation/hwmon/pmbus for details on PMBus client drivers. | ||
21 | |||
22 | |||
23 | Usage Notes | ||
24 | ----------- | ||
25 | |||
26 | This driver does not auto-detect devices. You will have to instantiate the | ||
27 | devices explicitly. Please see Documentation/i2c/instantiating-devices for | ||
28 | details. | ||
29 | |||
30 | |||
31 | Platform data support | ||
32 | --------------------- | ||
33 | |||
34 | The driver supports standard PMBus driver platform data. | ||
35 | |||
36 | |||
37 | Sysfs entries | ||
38 | ------------- | ||
39 | |||
40 | The following attributes are supported. Limits are read-write; all other | ||
41 | attributes are read-only. | ||
42 | |||
43 | in1_label "vout1" | ||
44 | in1_input Measured voltage. From READ_VOUT register. | ||
45 | in1_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register. | ||
46 | in1_max Maximum voltage. From VOUT_OV_WARN_LIMIT register. | ||
47 | in1_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register. | ||
48 | in1_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register. | ||
49 | in1_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status. | ||
50 | in1_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status. | ||
51 | in1_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status. | ||
52 | in1_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status. | ||
53 | |||
54 | curr1_label "iout1" | ||
55 | curr1_input Measured current. From READ_IOUT register. | ||
56 | curr1_max Maximum current. From IOUT_OC_WARN_LIMIT register. | ||
57 | curr1_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register. | ||
58 | curr1_max_alarm Current high alarm. From IOUT_OC_WARN_LIMIT register. | ||
59 | curr1_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status. | ||
60 | |||
61 | temp1_input Measured temperature. From READ_TEMPERATURE_1 register. | ||
62 | temp1_max Maximum temperature. From OT_WARN_LIMIT register. | ||
63 | temp1_crit Critical high temperature. From OT_FAULT_LIMIT register. | ||
64 | temp1_max_alarm Chip temperature high alarm. Set by comparing | ||
65 | READ_TEMPERATURE_1 with OT_WARN_LIMIT if TEMP_OT_WARNING | ||
66 | status is set. | ||
67 | temp1_crit_alarm Chip temperature critical high alarm. Set by comparing | ||
68 | READ_TEMPERATURE_1 with OT_FAULT_LIMIT if TEMP_OT_FAULT | ||
69 | status is set. | ||
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/pkgtemp b/Documentation/hwmon/pkgtemp deleted file mode 100644 index c8e1fb0fadd3..000000000000 --- a/Documentation/hwmon/pkgtemp +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | Kernel driver pkgtemp | ||
2 | ====================== | ||
3 | |||
4 | Supported chips: | ||
5 | * Intel family | ||
6 | Prefix: 'pkgtemp' | ||
7 | CPUID: | ||
8 | Datasheet: Intel 64 and IA-32 Architectures Software Developer's Manual | ||
9 | Volume 3A: System Programming Guide | ||
10 | |||
11 | Author: Fenghua Yu | ||
12 | |||
13 | Description | ||
14 | ----------- | ||
15 | |||
16 | This driver permits reading package level temperature sensor embedded inside | ||
17 | Intel CPU package. The sensors can be in core, uncore, memory controller, or | ||
18 | other components in a package. The feature is first implemented in Intel Sandy | ||
19 | Bridge platform. | ||
20 | |||
21 | Temperature is measured in degrees Celsius and measurement resolution is | ||
22 | 1 degree C. Valid temperatures are from 0 to TjMax degrees C, because the actual | ||
23 | value of temperature register is in fact a delta from TjMax. | ||
24 | |||
25 | Temperature known as TjMax is the maximum junction temperature of package. | ||
26 | We get this from MSR_IA32_TEMPERATURE_TARGET. If the MSR is not accessible, | ||
27 | we define TjMax as 100 degrees Celsius. At this temperature, protection | ||
28 | mechanism will perform actions to forcibly cool down the package. Alarm | ||
29 | may be raised, if the temperature grows enough (more than TjMax) to trigger | ||
30 | the Out-Of-Spec bit. Following table summarizes the exported sysfs files: | ||
31 | |||
32 | temp1_input - Package temperature (in millidegrees Celsius). | ||
33 | temp1_max - All cooling devices should be turned on. | ||
34 | temp1_crit - Maximum junction temperature (in millidegrees Celsius). | ||
35 | temp1_crit_alarm - Set when Out-of-spec bit is set, never clears. | ||
36 | Correct CPU operation is no longer guaranteed. | ||
diff --git a/Documentation/hwmon/pmbus b/Documentation/hwmon/pmbus new file mode 100644 index 000000000000..5e462fc7f99b --- /dev/null +++ b/Documentation/hwmon/pmbus | |||
@@ -0,0 +1,197 @@ | |||
1 | Kernel driver pmbus | ||
2 | ==================== | ||
3 | |||
4 | Supported chips: | ||
5 | * Ericsson BMR45X series | ||
6 | DC/DC Converter | ||
7 | Prefixes: 'bmr450', 'bmr451', 'bmr453', 'bmr454' | ||
8 | Addresses scanned: - | ||
9 | Datasheet: | ||
10 | http://archive.ericsson.net/service/internet/picov/get?DocNo=28701-EN/LZT146395 | ||
11 | * Linear Technology LTC2978 | ||
12 | Octal PMBus Power Supply Monitor and Controller | ||
13 | Prefix: 'ltc2978' | ||
14 | Addresses scanned: - | ||
15 | Datasheet: http://cds.linear.com/docs/Datasheet/2978fa.pdf | ||
16 | * Generic PMBus devices | ||
17 | Prefix: 'pmbus' | ||
18 | Addresses scanned: - | ||
19 | Datasheet: n.a. | ||
20 | |||
21 | Author: Guenter Roeck <guenter.roeck@ericsson.com> | ||
22 | |||
23 | |||
24 | Description | ||
25 | ----------- | ||
26 | |||
27 | This driver supports hardware montoring for various PMBus compliant devices. | ||
28 | It supports voltage, current, power, and temperature sensors as supported | ||
29 | by the device. | ||
30 | |||
31 | Each monitored channel has its own high and low limits, plus a critical | ||
32 | limit. | ||
33 | |||
34 | Fan support will be added in a later version of this driver. | ||
35 | |||
36 | |||
37 | Usage Notes | ||
38 | ----------- | ||
39 | |||
40 | This driver does not probe for PMBus devices, since there is no register | ||
41 | which can be safely used to identify the chip (The MFG_ID register is not | ||
42 | supported by all chips), and since there is no well defined address range for | ||
43 | PMBus devices. You will have to instantiate the devices explicitly. | ||
44 | |||
45 | Example: the following will load the driver for an LTC2978 at address 0x60 | ||
46 | on I2C bus #1: | ||
47 | $ modprobe pmbus | ||
48 | $ echo ltc2978 0x60 > /sys/bus/i2c/devices/i2c-1/new_device | ||
49 | |||
50 | |||
51 | Platform data support | ||
52 | --------------------- | ||
53 | |||
54 | Support for additional PMBus chips can be added by defining chip parameters in | ||
55 | a new chip specific driver file. For example, (untested) code to add support for | ||
56 | Emerson DS1200 power modules might look as follows. | ||
57 | |||
58 | static struct pmbus_driver_info ds1200_info = { | ||
59 | .pages = 1, | ||
60 | /* Note: All other sensors are in linear mode */ | ||
61 | .direct[PSC_VOLTAGE_OUT] = true, | ||
62 | .direct[PSC_TEMPERATURE] = true, | ||
63 | .direct[PSC_CURRENT_OUT] = true, | ||
64 | .m[PSC_VOLTAGE_IN] = 1, | ||
65 | .b[PSC_VOLTAGE_IN] = 0, | ||
66 | .R[PSC_VOLTAGE_IN] = 3, | ||
67 | .m[PSC_VOLTAGE_OUT] = 1, | ||
68 | .b[PSC_VOLTAGE_OUT] = 0, | ||
69 | .R[PSC_VOLTAGE_OUT] = 3, | ||
70 | .m[PSC_TEMPERATURE] = 1, | ||
71 | .b[PSC_TEMPERATURE] = 0, | ||
72 | .R[PSC_TEMPERATURE] = 3, | ||
73 | .func[0] = PMBUS_HAVE_VIN | PMBUS_HAVE_IIN | PMBUS_HAVE_STATUS_INPUT | ||
74 | | PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT | ||
75 | | PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT | ||
76 | | PMBUS_HAVE_PIN | PMBUS_HAVE_POUT | ||
77 | | PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP | ||
78 | | PMBUS_HAVE_FAN12 | PMBUS_HAVE_STATUS_FAN12, | ||
79 | }; | ||
80 | |||
81 | static int ds1200_probe(struct i2c_client *client, | ||
82 | const struct i2c_device_id *id) | ||
83 | { | ||
84 | return pmbus_do_probe(client, id, &ds1200_info); | ||
85 | } | ||
86 | |||
87 | static int ds1200_remove(struct i2c_client *client) | ||
88 | { | ||
89 | return pmbus_do_remove(client); | ||
90 | } | ||
91 | |||
92 | static const struct i2c_device_id ds1200_id[] = { | ||
93 | {"ds1200", 0}, | ||
94 | {} | ||
95 | }; | ||
96 | |||
97 | MODULE_DEVICE_TABLE(i2c, ds1200_id); | ||
98 | |||
99 | /* This is the driver that will be inserted */ | ||
100 | static struct i2c_driver ds1200_driver = { | ||
101 | .driver = { | ||
102 | .name = "ds1200", | ||
103 | }, | ||
104 | .probe = ds1200_probe, | ||
105 | .remove = ds1200_remove, | ||
106 | .id_table = ds1200_id, | ||
107 | }; | ||
108 | |||
109 | static int __init ds1200_init(void) | ||
110 | { | ||
111 | return i2c_add_driver(&ds1200_driver); | ||
112 | } | ||
113 | |||
114 | static void __exit ds1200_exit(void) | ||
115 | { | ||
116 | i2c_del_driver(&ds1200_driver); | ||
117 | } | ||
118 | |||
119 | |||
120 | Sysfs entries | ||
121 | ------------- | ||
122 | |||
123 | When probing the chip, the driver identifies which PMBus registers are | ||
124 | supported, and determines available sensors from this information. | ||
125 | Attribute files only exist if respective sensors are suported by the chip. | ||
126 | Labels are provided to inform the user about the sensor associated with | ||
127 | a given sysfs entry. | ||
128 | |||
129 | The following attributes are supported. Limits are read-write; all other | ||
130 | attributes are read-only. | ||
131 | |||
132 | inX_input Measured voltage. From READ_VIN or READ_VOUT register. | ||
133 | inX_min Minimum Voltage. | ||
134 | From VIN_UV_WARN_LIMIT or VOUT_UV_WARN_LIMIT register. | ||
135 | inX_max Maximum voltage. | ||
136 | From VIN_OV_WARN_LIMIT or VOUT_OV_WARN_LIMIT register. | ||
137 | inX_lcrit Critical minimum Voltage. | ||
138 | From VIN_UV_FAULT_LIMIT or VOUT_UV_FAULT_LIMIT register. | ||
139 | inX_crit Critical maximum voltage. | ||
140 | From VIN_OV_FAULT_LIMIT or VOUT_OV_FAULT_LIMIT register. | ||
141 | inX_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status. | ||
142 | inX_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status. | ||
143 | inX_lcrit_alarm Voltage critical low alarm. | ||
144 | From VOLTAGE_UV_FAULT status. | ||
145 | inX_crit_alarm Voltage critical high alarm. | ||
146 | From VOLTAGE_OV_FAULT status. | ||
147 | inX_label "vin", "vcap", or "voutY" | ||
148 | |||
149 | currX_input Measured current. From READ_IIN or READ_IOUT register. | ||
150 | currX_max Maximum current. | ||
151 | From IIN_OC_WARN_LIMIT or IOUT_OC_WARN_LIMIT register. | ||
152 | currX_lcrit Critical minimum output current. | ||
153 | From IOUT_UC_FAULT_LIMIT register. | ||
154 | currX_crit Critical maximum current. | ||
155 | From IIN_OC_FAULT_LIMIT or IOUT_OC_FAULT_LIMIT register. | ||
156 | currX_alarm Current high alarm. | ||
157 | From IIN_OC_WARNING or IOUT_OC_WARNING status. | ||
158 | currX_max_alarm Current high alarm. | ||
159 | From IIN_OC_WARN_LIMIT or IOUT_OC_WARN_LIMIT status. | ||
160 | currX_lcrit_alarm Output current critical low alarm. | ||
161 | From IOUT_UC_FAULT status. | ||
162 | currX_crit_alarm Current critical high alarm. | ||
163 | From IIN_OC_FAULT or IOUT_OC_FAULT status. | ||
164 | currX_label "iin" or "ioutY" | ||
165 | |||
166 | powerX_input Measured power. From READ_PIN or READ_POUT register. | ||
167 | powerX_cap Output power cap. From POUT_MAX register. | ||
168 | powerX_max Power limit. From PIN_OP_WARN_LIMIT or | ||
169 | POUT_OP_WARN_LIMIT register. | ||
170 | powerX_crit Critical output power limit. | ||
171 | From POUT_OP_FAULT_LIMIT register. | ||
172 | powerX_alarm Power high alarm. | ||
173 | From PIN_OP_WARNING or POUT_OP_WARNING status. | ||
174 | powerX_crit_alarm Output power critical high alarm. | ||
175 | From POUT_OP_FAULT status. | ||
176 | powerX_label "pin" or "poutY" | ||
177 | |||
178 | tempX_input Measured temperature. | ||
179 | From READ_TEMPERATURE_X register. | ||
180 | tempX_min Mimimum temperature. From UT_WARN_LIMIT register. | ||
181 | tempX_max Maximum temperature. From OT_WARN_LIMIT register. | ||
182 | tempX_lcrit Critical low temperature. | ||
183 | From UT_FAULT_LIMIT register. | ||
184 | tempX_crit Critical high temperature. | ||
185 | From OT_FAULT_LIMIT register. | ||
186 | tempX_min_alarm Chip temperature low alarm. Set by comparing | ||
187 | READ_TEMPERATURE_X with UT_WARN_LIMIT if | ||
188 | TEMP_UT_WARNING status is set. | ||
189 | tempX_max_alarm Chip temperature high alarm. Set by comparing | ||
190 | READ_TEMPERATURE_X with OT_WARN_LIMIT if | ||
191 | TEMP_OT_WARNING status is set. | ||
192 | tempX_lcrit_alarm Chip temperature critical low alarm. Set by comparing | ||
193 | READ_TEMPERATURE_X with UT_FAULT_LIMIT if | ||
194 | TEMP_UT_FAULT status is set. | ||
195 | tempX_crit_alarm Chip temperature critical high alarm. Set by comparing | ||
196 | READ_TEMPERATURE_X with OT_FAULT_LIMIT if | ||
197 | TEMP_OT_FAULT status is set. | ||
diff --git a/Documentation/hwmon/sch5627 b/Documentation/hwmon/sch5627 new file mode 100644 index 000000000000..446a054e4912 --- /dev/null +++ b/Documentation/hwmon/sch5627 | |||
@@ -0,0 +1,22 @@ | |||
1 | Kernel driver sch5627 | ||
2 | ===================== | ||
3 | |||
4 | Supported chips: | ||
5 | * SMSC SCH5627 | ||
6 | Prefix: 'sch5627' | ||
7 | Addresses scanned: none, address read from Super I/O config space | ||
8 | Datasheet: Application Note available upon request | ||
9 | |||
10 | Author: Hans de Goede <hdegoede@redhat.com> | ||
11 | |||
12 | |||
13 | Description | ||
14 | ----------- | ||
15 | |||
16 | SMSC SCH5627 Super I/O chips include complete hardware monitoring | ||
17 | capabilities. They can monitor up to 5 voltages, 4 fans and 8 temperatures. | ||
18 | |||
19 | The hardware monitoring part of the SMSC SCH5627 is accessed by talking | ||
20 | through an embedded microcontroller. An application note describing the | ||
21 | protocol for communicating with the microcontroller is available upon | ||
22 | request. Please mail me if you want a copy. | ||
diff --git a/Documentation/hwmon/sht15 b/Documentation/hwmon/sht15 new file mode 100644 index 000000000000..02850bdfac18 --- /dev/null +++ b/Documentation/hwmon/sht15 | |||
@@ -0,0 +1,74 @@ | |||
1 | Kernel driver sht15 | ||
2 | =================== | ||
3 | |||
4 | Authors: | ||
5 | * Wouter Horre | ||
6 | * Jonathan Cameron | ||
7 | * Vivien Didelot <vivien.didelot@savoirfairelinux.com> | ||
8 | * Jerome Oufella <jerome.oufella@savoirfairelinux.com> | ||
9 | |||
10 | Supported chips: | ||
11 | * Sensirion SHT10 | ||
12 | Prefix: 'sht10' | ||
13 | |||
14 | * Sensirion SHT11 | ||
15 | Prefix: 'sht11' | ||
16 | |||
17 | * Sensirion SHT15 | ||
18 | Prefix: 'sht15' | ||
19 | |||
20 | * Sensirion SHT71 | ||
21 | Prefix: 'sht71' | ||
22 | |||
23 | * Sensirion SHT75 | ||
24 | Prefix: 'sht75' | ||
25 | |||
26 | Datasheet: Publicly available at the Sensirion website | ||
27 | http://www.sensirion.ch/en/pdf/product_information/Datasheet-humidity-sensor-SHT1x.pdf | ||
28 | |||
29 | Description | ||
30 | ----------- | ||
31 | |||
32 | The SHT10, SHT11, SHT15, SHT71, and SHT75 are humidity and temperature | ||
33 | sensors. | ||
34 | |||
35 | The devices communicate using two GPIO lines. | ||
36 | |||
37 | Supported resolutions for the measurements are 14 bits for temperature and 12 | ||
38 | bits for humidity, or 12 bits for temperature and 8 bits for humidity. | ||
39 | |||
40 | The humidity calibration coefficients are programmed into an OTP memory on the | ||
41 | chip. These coefficients are used to internally calibrate the signals from the | ||
42 | sensors. Disabling the reload of those coefficients allows saving 10ms for each | ||
43 | measurement and decrease power consumption, while loosing on precision. | ||
44 | |||
45 | Some options may be set directly in the sht15_platform_data structure | ||
46 | or via sysfs attributes. | ||
47 | |||
48 | Notes: | ||
49 | * The regulator supply name is set to "vcc". | ||
50 | * If a CRC validation fails, a soft reset command is sent, which resets | ||
51 | status register to its hardware default value, but the driver will try to | ||
52 | restore the previous device configuration. | ||
53 | |||
54 | Platform data | ||
55 | ------------- | ||
56 | |||
57 | * checksum: | ||
58 | set it to true to enable CRC validation of the readings (default to false). | ||
59 | * no_otp_reload: | ||
60 | flag to indicate not to reload from OTP (default to false). | ||
61 | * low_resolution: | ||
62 | flag to indicate the temp/humidity resolution to use (default to false). | ||
63 | |||
64 | Sysfs interface | ||
65 | --------------- | ||
66 | |||
67 | * temp1_input: temperature input | ||
68 | * humidity1_input: humidity input | ||
69 | * heater_enable: write 1 in this attribute to enable the on-chip heater, | ||
70 | 0 to disable it. Be careful not to enable the heater | ||
71 | for too long. | ||
72 | * temp1_fault: if 1, this means that the voltage is low (below 2.47V) and | ||
73 | measurement may be invalid. | ||
74 | * humidity1_fault: same as temp1_fault. | ||
diff --git a/Documentation/hwmon/sht21 b/Documentation/hwmon/sht21 new file mode 100644 index 000000000000..db17fda45c3e --- /dev/null +++ b/Documentation/hwmon/sht21 | |||
@@ -0,0 +1,49 @@ | |||
1 | Kernel driver sht21 | ||
2 | =================== | ||
3 | |||
4 | Supported chips: | ||
5 | * Sensirion SHT21 | ||
6 | Prefix: 'sht21' | ||
7 | Addresses scanned: none | ||
8 | Datasheet: Publicly available at the Sensirion website | ||
9 | http://www.sensirion.com/en/pdf/product_information/Datasheet-humidity-sensor-SHT21.pdf | ||
10 | |||
11 | * Sensirion SHT25 | ||
12 | Prefix: 'sht21' | ||
13 | Addresses scanned: none | ||
14 | Datasheet: Publicly available at the Sensirion website | ||
15 | http://www.sensirion.com/en/pdf/product_information/Datasheet-humidity-sensor-SHT25.pdf | ||
16 | |||
17 | Author: | ||
18 | Urs Fleisch <urs.fleisch@sensirion.com> | ||
19 | |||
20 | Description | ||
21 | ----------- | ||
22 | |||
23 | The SHT21 and SHT25 are humidity and temperature sensors in a DFN package of | ||
24 | only 3 x 3 mm footprint and 1.1 mm height. The difference between the two | ||
25 | devices is the higher level of precision of the SHT25 (1.8% relative humidity, | ||
26 | 0.2 degree Celsius) compared with the SHT21 (2.0% relative humidity, | ||
27 | 0.3 degree Celsius). | ||
28 | |||
29 | The devices communicate with the I2C protocol. All sensors are set to the same | ||
30 | I2C address 0x40, so an entry with I2C_BOARD_INFO("sht21", 0x40) can be used | ||
31 | in the board setup code. | ||
32 | |||
33 | sysfs-Interface | ||
34 | --------------- | ||
35 | |||
36 | temp1_input - temperature input | ||
37 | humidity1_input - humidity input | ||
38 | |||
39 | Notes | ||
40 | ----- | ||
41 | |||
42 | The driver uses the default resolution settings of 12 bit for humidity and 14 | ||
43 | bit for temperature, which results in typical measurement times of 22 ms for | ||
44 | humidity and 66 ms for temperature. To keep self heating below 0.1 degree | ||
45 | Celsius, the device should not be active for more than 10% of the time, | ||
46 | e.g. maximum two measurements per second at the given resolution. | ||
47 | |||
48 | Different resolutions, the on-chip heater, using the CRC checksum and reading | ||
49 | the serial number are not supported yet. | ||
diff --git a/Documentation/hwmon/smm665 b/Documentation/hwmon/smm665 index 3820fc9ca52d..59e316140542 100644 --- a/Documentation/hwmon/smm665 +++ b/Documentation/hwmon/smm665 | |||
@@ -150,8 +150,8 @@ in8_crit_alarm Channel F critical alarm | |||
150 | in9_crit_alarm AIN1 critical alarm | 150 | in9_crit_alarm AIN1 critical alarm |
151 | in10_crit_alarm AIN2 critical alarm | 151 | in10_crit_alarm AIN2 critical alarm |
152 | 152 | ||
153 | temp1_input Chip tempererature | 153 | temp1_input Chip temperature |
154 | temp1_min Mimimum chip tempererature | 154 | temp1_min Mimimum chip temperature |
155 | temp1_max Maximum chip tempererature | 155 | temp1_max Maximum chip temperature |
156 | temp1_crit Critical chip tempererature | 156 | temp1_crit Critical chip temperature |
157 | temp1_crit_alarm Temperature critical alarm | 157 | temp1_crit_alarm Temperature critical alarm |
diff --git a/Documentation/hwmon/submitting-patches b/Documentation/hwmon/submitting-patches new file mode 100644 index 000000000000..86f42e8e9e49 --- /dev/null +++ b/Documentation/hwmon/submitting-patches | |||
@@ -0,0 +1,109 @@ | |||
1 | How to Get Your Patch Accepted Into the Hwmon Subsystem | ||
2 | ------------------------------------------------------- | ||
3 | |||
4 | This text is is a collection of suggestions for people writing patches or | ||
5 | drivers for the hwmon subsystem. Following these suggestions will greatly | ||
6 | increase the chances of your change being accepted. | ||
7 | |||
8 | |||
9 | 1. General | ||
10 | ---------- | ||
11 | |||
12 | * It should be unnecessary to mention, but please read and follow | ||
13 | Documentation/SubmitChecklist | ||
14 | Documentation/SubmittingDrivers | ||
15 | Documentation/SubmittingPatches | ||
16 | Documentation/CodingStyle | ||
17 | |||
18 | * If your patch generates checkpatch warnings, please refrain from explanations | ||
19 | such as "I don't like that coding style". Keep in mind that each unnecessary | ||
20 | warning helps hiding a real problem. If you don't like the kernel coding | ||
21 | style, don't write kernel drivers. | ||
22 | |||
23 | * Please test your patch thoroughly. We are not your test group. | ||
24 | Sometimes a patch can not or not completely be tested because of missing | ||
25 | hardware. In such cases, you should test-build the code on at least one | ||
26 | architecture. If run-time testing was not achieved, it should be written | ||
27 | explicitly below the patch header. | ||
28 | |||
29 | * If your patch (or the driver) is affected by configuration options such as | ||
30 | CONFIG_SMP or CONFIG_HOTPLUG, make sure it compiles for all configuration | ||
31 | variants. | ||
32 | |||
33 | |||
34 | 2. Adding functionality to existing drivers | ||
35 | ------------------------------------------- | ||
36 | |||
37 | * Make sure the documentation in Documentation/hwmon/<driver_name> is up to | ||
38 | date. | ||
39 | |||
40 | * Make sure the information in Kconfig is up to date. | ||
41 | |||
42 | * If the added functionality requires some cleanup or structural changes, split | ||
43 | your patch into a cleanup part and the actual addition. This makes it easier | ||
44 | to review your changes, and to bisect any resulting problems. | ||
45 | |||
46 | * Never mix bug fixes, cleanup, and functional enhancements in a single patch. | ||
47 | |||
48 | |||
49 | 3. New drivers | ||
50 | -------------- | ||
51 | |||
52 | * Running your patch or driver file(s) through checkpatch does not mean its | ||
53 | formatting is clean. If unsure about formatting in your new driver, run it | ||
54 | through Lindent. Lindent is not perfect, and you may have to do some minor | ||
55 | cleanup, but it is a good start. | ||
56 | |||
57 | * Consider adding yourself to MAINTAINERS. | ||
58 | |||
59 | * Document the driver in Documentation/hwmon/<driver_name>. | ||
60 | |||
61 | * Add the driver to Kconfig and Makefile in alphabetical order. | ||
62 | |||
63 | * Make sure that all dependencies are listed in Kconfig. For new drivers, it | ||
64 | is most likely prudent to add a dependency on EXPERIMENTAL. | ||
65 | |||
66 | * Avoid forward declarations if you can. Rearrange the code if necessary. | ||
67 | |||
68 | * Avoid calculations in macros and macro-generated functions. While such macros | ||
69 | may save a line or so in the source, it obfuscates the code and makes code | ||
70 | review more difficult. It may also result in code which is more complicated | ||
71 | than necessary. Use inline functions or just regular functions instead. | ||
72 | |||
73 | * If the driver has a detect function, make sure it is silent. Debug messages | ||
74 | and messages printed after a successful detection are acceptable, but it | ||
75 | must not print messages such as "Chip XXX not found/supported". | ||
76 | |||
77 | Keep in mind that the detect function will run for all drivers supporting an | ||
78 | address if a chip is detected on that address. Unnecessary messages will just | ||
79 | pollute the kernel log and not provide any value. | ||
80 | |||
81 | * Provide a detect function if and only if a chip can be detected reliably. | ||
82 | |||
83 | * Avoid writing to chip registers in the detect function. If you have to write, | ||
84 | only do it after you have already gathered enough data to be certain that the | ||
85 | detection is going to be successful. | ||
86 | |||
87 | Keep in mind that the chip might not be what your driver believes it is, and | ||
88 | writing to it might cause a bad misconfiguration. | ||
89 | |||
90 | * Make sure there are no race conditions in the probe function. Specifically, | ||
91 | completely initialize your chip first, then create sysfs entries and register | ||
92 | with the hwmon subsystem. | ||
93 | |||
94 | * Do not provide support for deprecated sysfs attributes. | ||
95 | |||
96 | * Do not create non-standard attributes unless really needed. If you have to use | ||
97 | non-standard attributes, or you believe you do, discuss it on the mailing list | ||
98 | first. Either case, provide a detailed explanation why you need the | ||
99 | non-standard attribute(s). | ||
100 | Standard attributes are specified in Documentation/hwmon/sysfs-interface. | ||
101 | |||
102 | * When deciding which sysfs attributes to support, look at the chip's | ||
103 | capabilities. While we do not expect your driver to support everything the | ||
104 | chip may offer, it should at least support all limits and alarms. | ||
105 | |||
106 | * Last but not least, please check if a driver for your chip already exists | ||
107 | before starting to write a new driver. Especially for temperature sensors, | ||
108 | new chips are often variants of previously released chips. In some cases, | ||
109 | a presumably new chip may simply have been relabeled. | ||
diff --git a/Documentation/hwmon/sysfs-interface b/Documentation/hwmon/sysfs-interface index 48ceabedf55d..8f63c244f1aa 100644 --- a/Documentation/hwmon/sysfs-interface +++ b/Documentation/hwmon/sysfs-interface | |||
@@ -187,6 +187,17 @@ fan[1-*]_div Fan divisor. | |||
187 | Note that this is actually an internal clock divisor, which | 187 | Note that this is actually an internal clock divisor, which |
188 | affects the measurable speed range, not the read value. | 188 | affects the measurable speed range, not the read value. |
189 | 189 | ||
190 | fan[1-*]_pulses Number of tachometer pulses per fan revolution. | ||
191 | Integer value, typically between 1 and 4. | ||
192 | RW | ||
193 | This value is a characteristic of the fan connected to the | ||
194 | device's input, so it has to be set in accordance with the fan | ||
195 | model. | ||
196 | Should only be created if the chip has a register to configure | ||
197 | the number of pulses. In the absence of such a register (and | ||
198 | thus attribute) the value assumed by all devices is 2 pulses | ||
199 | per fan revolution. | ||
200 | |||
190 | fan[1-*]_target | 201 | fan[1-*]_target |
191 | Desired fan speed | 202 | Desired fan speed |
192 | Unit: revolution/min (RPM) | 203 | Unit: revolution/min (RPM) |
@@ -309,6 +320,20 @@ temp[1-*]_crit_hyst | |||
309 | from the critical value. | 320 | from the critical value. |
310 | RW | 321 | RW |
311 | 322 | ||
323 | temp[1-*]_emergency | ||
324 | Temperature emergency max value, for chips supporting more than | ||
325 | two upper temperature limits. Must be equal or greater than | ||
326 | corresponding temp_crit values. | ||
327 | Unit: millidegree Celsius | ||
328 | RW | ||
329 | |||
330 | temp[1-*]_emergency_hyst | ||
331 | Temperature hysteresis value for emergency limit. | ||
332 | Unit: millidegree Celsius | ||
333 | Must be reported as an absolute temperature, NOT a delta | ||
334 | from the emergency value. | ||
335 | RW | ||
336 | |||
312 | temp[1-*]_lcrit Temperature critical min value, typically lower than | 337 | temp[1-*]_lcrit Temperature critical min value, typically lower than |
313 | corresponding temp_min values. | 338 | corresponding temp_min values. |
314 | Unit: millidegree Celsius | 339 | Unit: millidegree Celsius |
@@ -370,10 +395,20 @@ curr[1-*]_min Current min value. | |||
370 | Unit: milliampere | 395 | Unit: milliampere |
371 | RW | 396 | RW |
372 | 397 | ||
398 | curr[1-*]_lcrit Current critical low value | ||
399 | Unit: milliampere | ||
400 | RW | ||
401 | |||
402 | curr[1-*]_crit Current critical high value. | ||
403 | Unit: milliampere | ||
404 | RW | ||
405 | |||
373 | curr[1-*]_input Current input value | 406 | curr[1-*]_input Current input value |
374 | Unit: milliampere | 407 | Unit: milliampere |
375 | RO | 408 | RO |
376 | 409 | ||
410 | Also see the Alarms section for status flags associated with currents. | ||
411 | |||
377 | ********* | 412 | ********* |
378 | * Power * | 413 | * Power * |
379 | ********* | 414 | ********* |
@@ -436,13 +471,6 @@ power[1-*]_accuracy Accuracy of the power meter. | |||
436 | Unit: Percent | 471 | Unit: Percent |
437 | RO | 472 | RO |
438 | 473 | ||
439 | power[1-*]_alarm 1 if the system is drawing more power than the | ||
440 | cap allows; 0 otherwise. A poll notification is | ||
441 | sent to this file when the power use exceeds the | ||
442 | cap. This file only appears if the cap is known | ||
443 | to be enforced by hardware. | ||
444 | RO | ||
445 | |||
446 | power[1-*]_cap If power use rises above this limit, the | 474 | power[1-*]_cap If power use rises above this limit, the |
447 | system should take action to reduce power use. | 475 | system should take action to reduce power use. |
448 | A poll notification is sent to this file if the | 476 | A poll notification is sent to this file if the |
@@ -465,6 +493,20 @@ power[1-*]_cap_min Minimum cap that can be set. | |||
465 | Unit: microWatt | 493 | Unit: microWatt |
466 | RO | 494 | RO |
467 | 495 | ||
496 | power[1-*]_max Maximum power. | ||
497 | Unit: microWatt | ||
498 | RW | ||
499 | |||
500 | power[1-*]_crit Critical maximum power. | ||
501 | If power rises to or above this limit, the | ||
502 | system is expected take drastic action to reduce | ||
503 | power consumption, such as a system shutdown or | ||
504 | a forced powerdown of some devices. | ||
505 | Unit: microWatt | ||
506 | RW | ||
507 | |||
508 | Also see the Alarms section for status flags associated with power readings. | ||
509 | |||
468 | ********** | 510 | ********** |
469 | * Energy * | 511 | * Energy * |
470 | ********** | 512 | ********** |
@@ -474,6 +516,15 @@ energy[1-*]_input Cumulative energy use | |||
474 | RO | 516 | RO |
475 | 517 | ||
476 | 518 | ||
519 | ************ | ||
520 | * Humidity * | ||
521 | ************ | ||
522 | |||
523 | humidity[1-*]_input Humidity | ||
524 | Unit: milli-percent (per cent mille, pcm) | ||
525 | RO | ||
526 | |||
527 | |||
477 | ********** | 528 | ********** |
478 | * Alarms * | 529 | * Alarms * |
479 | ********** | 530 | ********** |
@@ -487,6 +538,7 @@ implementation. | |||
487 | 538 | ||
488 | in[0-*]_alarm | 539 | in[0-*]_alarm |
489 | curr[1-*]_alarm | 540 | curr[1-*]_alarm |
541 | power[1-*]_alarm | ||
490 | fan[1-*]_alarm | 542 | fan[1-*]_alarm |
491 | temp[1-*]_alarm | 543 | temp[1-*]_alarm |
492 | Channel alarm | 544 | Channel alarm |
@@ -498,13 +550,22 @@ OR | |||
498 | 550 | ||
499 | in[0-*]_min_alarm | 551 | in[0-*]_min_alarm |
500 | in[0-*]_max_alarm | 552 | in[0-*]_max_alarm |
553 | in[0-*]_lcrit_alarm | ||
554 | in[0-*]_crit_alarm | ||
501 | curr[1-*]_min_alarm | 555 | curr[1-*]_min_alarm |
502 | curr[1-*]_max_alarm | 556 | curr[1-*]_max_alarm |
557 | curr[1-*]_lcrit_alarm | ||
558 | curr[1-*]_crit_alarm | ||
559 | power[1-*]_cap_alarm | ||
560 | power[1-*]_max_alarm | ||
561 | power[1-*]_crit_alarm | ||
503 | fan[1-*]_min_alarm | 562 | fan[1-*]_min_alarm |
504 | fan[1-*]_max_alarm | 563 | fan[1-*]_max_alarm |
505 | temp[1-*]_min_alarm | 564 | temp[1-*]_min_alarm |
506 | temp[1-*]_max_alarm | 565 | temp[1-*]_max_alarm |
566 | temp[1-*]_lcrit_alarm | ||
507 | temp[1-*]_crit_alarm | 567 | temp[1-*]_crit_alarm |
568 | temp[1-*]_emergency_alarm | ||
508 | Limit alarm | 569 | Limit alarm |
509 | 0: no alarm | 570 | 0: no alarm |
510 | 1: alarm | 571 | 1: alarm |
@@ -518,7 +579,7 @@ channel should not be trusted. | |||
518 | fan[1-*]_fault | 579 | fan[1-*]_fault |
519 | temp[1-*]_fault | 580 | temp[1-*]_fault |
520 | Input fault condition | 581 | Input fault condition |
521 | 0: no fault occured | 582 | 0: no fault occurred |
522 | 1: fault condition | 583 | 1: fault condition |
523 | RO | 584 | RO |
524 | 585 | ||
diff --git a/Documentation/hwmon/twl4030-madc-hwmon b/Documentation/hwmon/twl4030-madc-hwmon new file mode 100644 index 000000000000..ef7984317cec --- /dev/null +++ b/Documentation/hwmon/twl4030-madc-hwmon | |||
@@ -0,0 +1,45 @@ | |||
1 | Kernel driver twl4030-madc | ||
2 | ========================= | ||
3 | |||
4 | Supported chips: | ||
5 | * Texas Instruments TWL4030 | ||
6 | Prefix: 'twl4030-madc' | ||
7 | |||
8 | |||
9 | Authors: | ||
10 | J Keerthy <j-keerthy@ti.com> | ||
11 | |||
12 | Description | ||
13 | ----------- | ||
14 | |||
15 | The Texas Instruments TWL4030 is a Power Management and Audio Circuit. Among | ||
16 | other things it contains a 10-bit A/D converter MADC. The converter has 16 | ||
17 | channels which can be used in different modes. | ||
18 | |||
19 | |||
20 | See this table for the meaning of the different channels | ||
21 | |||
22 | Channel Signal | ||
23 | ------------------------------------------ | ||
24 | 0 Battery type(BTYPE) | ||
25 | 1 BCI: Battery temperature (BTEMP) | ||
26 | 2 GP analog input | ||
27 | 3 GP analog input | ||
28 | 4 GP analog input | ||
29 | 5 GP analog input | ||
30 | 6 GP analog input | ||
31 | 7 GP analog input | ||
32 | 8 BCI: VBUS voltage(VBUS) | ||
33 | 9 Backup Battery voltage (VBKP) | ||
34 | 10 BCI: Battery charger current (ICHG) | ||
35 | 11 BCI: Battery charger voltage (VCHG) | ||
36 | 12 BCI: Main battery voltage (VBAT) | ||
37 | 13 Reserved | ||
38 | 14 Reserved | ||
39 | 15 VRUSB Supply/Speaker left/Speaker right polarization level | ||
40 | |||
41 | |||
42 | The Sysfs nodes will represent the voltage in the units of mV, | ||
43 | the temperature channel shows the converted temperature in | ||
44 | degree celcius. The Battery charging current channel represents | ||
45 | battery charging current in mA. | ||
diff --git a/Documentation/hwmon/ucd9000 b/Documentation/hwmon/ucd9000 new file mode 100644 index 000000000000..40ca6db50c48 --- /dev/null +++ b/Documentation/hwmon/ucd9000 | |||
@@ -0,0 +1,110 @@ | |||
1 | Kernel driver ucd9000 | ||
2 | ===================== | ||
3 | |||
4 | Supported chips: | ||
5 | * TI UCD90120, UCD90124, UCD9090, and UCD90910 | ||
6 | Prefixes: 'ucd90120', 'ucd90124', 'ucd9090', 'ucd90910' | ||
7 | Addresses scanned: - | ||
8 | Datasheets: | ||
9 | http://focus.ti.com/lit/ds/symlink/ucd90120.pdf | ||
10 | http://focus.ti.com/lit/ds/symlink/ucd90124.pdf | ||
11 | http://focus.ti.com/lit/ds/symlink/ucd9090.pdf | ||
12 | http://focus.ti.com/lit/ds/symlink/ucd90910.pdf | ||
13 | |||
14 | Author: Guenter Roeck <guenter.roeck@ericsson.com> | ||
15 | |||
16 | |||
17 | Description | ||
18 | ----------- | ||
19 | |||
20 | From datasheets: | ||
21 | |||
22 | The UCD90120 Power Supply Sequencer and System Health Monitor monitors and | ||
23 | sequences up to 12 independent voltage rails. The device integrates a 12-bit | ||
24 | ADC with a 2.5V internal reference for monitoring up to 13 power supply voltage, | ||
25 | current, or temperature inputs. | ||
26 | |||
27 | The UCD90124 is a 12-rail PMBus/I2C addressable power-supply sequencer and | ||
28 | system-health monitor. The device integrates a 12-bit ADC for monitoring up to | ||
29 | 13 power-supply voltage, current, or temperature inputs. Twenty-six GPIO pins | ||
30 | can be used for power supply enables, power-on reset signals, external | ||
31 | interrupts, cascading, or other system functions. Twelve of these pins offer PWM | ||
32 | functionality. Using these pins, the UCD90124 offers support for fan control, | ||
33 | margining, and general-purpose PWM functions. | ||
34 | |||
35 | The UCD9090 is a 10-rail PMBus/I2C addressable power-supply sequencer and | ||
36 | monitor. The device integrates a 12-bit ADC for monitoring up to 10 power-supply | ||
37 | voltage inputs. Twenty-three GPIO pins can be used for power supply enables, | ||
38 | power-on reset signals, external interrupts, cascading, or other system | ||
39 | functions. Ten of these pins offer PWM functionality. Using these pins, the | ||
40 | UCD9090 offers support for margining, and general-purpose PWM functions. | ||
41 | |||
42 | The UCD90910 is a ten-rail I2C / PMBus addressable power-supply sequencer and | ||
43 | system-health monitor. The device integrates a 12-bit ADC for monitoring up to | ||
44 | 13 power-supply voltage, current, or temperature inputs. | ||
45 | |||
46 | This driver is a client driver to the core PMBus driver. Please see | ||
47 | Documentation/hwmon/pmbus for details on PMBus client drivers. | ||
48 | |||
49 | |||
50 | Usage Notes | ||
51 | ----------- | ||
52 | |||
53 | This driver does not auto-detect devices. You will have to instantiate the | ||
54 | devices explicitly. Please see Documentation/i2c/instantiating-devices for | ||
55 | details. | ||
56 | |||
57 | |||
58 | Platform data support | ||
59 | --------------------- | ||
60 | |||
61 | The driver supports standard PMBus driver platform data. Please see | ||
62 | Documentation/hwmon/pmbus for details. | ||
63 | |||
64 | |||
65 | Sysfs entries | ||
66 | ------------- | ||
67 | |||
68 | The following attributes are supported. Limits are read-write; all other | ||
69 | attributes are read-only. | ||
70 | |||
71 | in[1-12]_label "vout[1-12]". | ||
72 | in[1-12]_input Measured voltage. From READ_VOUT register. | ||
73 | in[1-12]_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register. | ||
74 | in[1-12]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register. | ||
75 | in[1-12]_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register. | ||
76 | in[1-12]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register. | ||
77 | in[1-12]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status. | ||
78 | in[1-12]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status. | ||
79 | in[1-12]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status. | ||
80 | in[1-12]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status. | ||
81 | |||
82 | curr[1-12]_label "iout[1-12]". | ||
83 | curr[1-12]_input Measured current. From READ_IOUT register. | ||
84 | curr[1-12]_max Maximum current. From IOUT_OC_WARN_LIMIT register. | ||
85 | curr[1-12]_lcrit Critical minumum output current. From IOUT_UC_FAULT_LIMIT | ||
86 | register. | ||
87 | curr[1-12]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register. | ||
88 | curr[1-12]_max_alarm Current high alarm. From IOUT_OC_WARNING status. | ||
89 | curr[1-12]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status. | ||
90 | |||
91 | For each attribute index, either voltage or current is | ||
92 | reported, but not both. If voltage or current is | ||
93 | reported depends on the chip configuration. | ||
94 | |||
95 | temp[1-2]_input Measured temperatures. From READ_TEMPERATURE_1 and | ||
96 | READ_TEMPERATURE_2 registers. | ||
97 | temp[1-2]_max Maximum temperature. From OT_WARN_LIMIT register. | ||
98 | temp[1-2]_crit Critical high temperature. From OT_FAULT_LIMIT register. | ||
99 | temp[1-2]_max_alarm Temperature high alarm. | ||
100 | temp[1-2]_crit_alarm Temperature critical high alarm. | ||
101 | |||
102 | fan[1-4]_input Fan RPM. | ||
103 | fan[1-4]_alarm Fan alarm. | ||
104 | fan[1-4]_fault Fan fault. | ||
105 | |||
106 | Fan attributes are only available on chips supporting | ||
107 | fan control (UCD90124, UCD90910). Attribute files are | ||
108 | created only for enabled fans. | ||
109 | Note that even though UCD90910 supports up to 10 fans, | ||
110 | only up to four fans are currently supported. | ||
diff --git a/Documentation/hwmon/ucd9200 b/Documentation/hwmon/ucd9200 new file mode 100644 index 000000000000..3c58607f72fe --- /dev/null +++ b/Documentation/hwmon/ucd9200 | |||
@@ -0,0 +1,112 @@ | |||
1 | Kernel driver ucd9200 | ||
2 | ===================== | ||
3 | |||
4 | Supported chips: | ||
5 | * TI UCD9220, UCD9222, UCD9224, UCD9240, UCD9244, UCD9246, and UCD9248 | ||
6 | Prefixes: 'ucd9220', 'ucd9222', 'ucd9224', 'ucd9240', 'ucd9244', 'ucd9246', | ||
7 | 'ucd9248' | ||
8 | Addresses scanned: - | ||
9 | Datasheets: | ||
10 | http://focus.ti.com/lit/ds/symlink/ucd9220.pdf | ||
11 | http://focus.ti.com/lit/ds/symlink/ucd9222.pdf | ||
12 | http://focus.ti.com/lit/ds/symlink/ucd9224.pdf | ||
13 | http://focus.ti.com/lit/ds/symlink/ucd9240.pdf | ||
14 | http://focus.ti.com/lit/ds/symlink/ucd9244.pdf | ||
15 | http://focus.ti.com/lit/ds/symlink/ucd9246.pdf | ||
16 | http://focus.ti.com/lit/ds/symlink/ucd9248.pdf | ||
17 | |||
18 | Author: Guenter Roeck <guenter.roeck@ericsson.com> | ||
19 | |||
20 | |||
21 | Description | ||
22 | ----------- | ||
23 | |||
24 | [From datasheets] UCD9220, UCD9222, UCD9224, UCD9240, UCD9244, UCD9246, and | ||
25 | UCD9248 are multi-rail, multi-phase synchronous buck digital PWM controllers | ||
26 | designed for non-isolated DC/DC power applications. The devices integrate | ||
27 | dedicated circuitry for DC/DC loop management with flash memory and a serial | ||
28 | interface to support configuration, monitoring and management. | ||
29 | |||
30 | This driver is a client driver to the core PMBus driver. Please see | ||
31 | Documentation/hwmon/pmbus for details on PMBus client drivers. | ||
32 | |||
33 | |||
34 | Usage Notes | ||
35 | ----------- | ||
36 | |||
37 | This driver does not auto-detect devices. You will have to instantiate the | ||
38 | devices explicitly. Please see Documentation/i2c/instantiating-devices for | ||
39 | details. | ||
40 | |||
41 | |||
42 | Platform data support | ||
43 | --------------------- | ||
44 | |||
45 | The driver supports standard PMBus driver platform data. Please see | ||
46 | Documentation/hwmon/pmbus for details. | ||
47 | |||
48 | |||
49 | Sysfs entries | ||
50 | ------------- | ||
51 | |||
52 | The following attributes are supported. Limits are read-write; all other | ||
53 | attributes are read-only. | ||
54 | |||
55 | in1_label "vin". | ||
56 | in1_input Measured voltage. From READ_VIN register. | ||
57 | in1_min Minumum Voltage. From VIN_UV_WARN_LIMIT register. | ||
58 | in1_max Maximum voltage. From VIN_OV_WARN_LIMIT register. | ||
59 | in1_lcrit Critical minumum Voltage. VIN_UV_FAULT_LIMIT register. | ||
60 | in1_crit Critical maximum voltage. From VIN_OV_FAULT_LIMIT register. | ||
61 | in1_min_alarm Voltage low alarm. From VIN_UV_WARNING status. | ||
62 | in1_max_alarm Voltage high alarm. From VIN_OV_WARNING status. | ||
63 | in1_lcrit_alarm Voltage critical low alarm. From VIN_UV_FAULT status. | ||
64 | in1_crit_alarm Voltage critical high alarm. From VIN_OV_FAULT status. | ||
65 | |||
66 | in[2-5]_label "vout[1-4]". | ||
67 | in[2-5]_input Measured voltage. From READ_VOUT register. | ||
68 | in[2-5]_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register. | ||
69 | in[2-5]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register. | ||
70 | in[2-5]_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register. | ||
71 | in[2-5]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register. | ||
72 | in[2-5]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status. | ||
73 | in[2-5]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status. | ||
74 | in[2-5]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status. | ||
75 | in[2-5]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status. | ||
76 | |||
77 | curr1_label "iin". | ||
78 | curr1_input Measured current. From READ_IIN register. | ||
79 | |||
80 | curr[2-5]_label "iout[1-4]". | ||
81 | curr[2-5]_input Measured current. From READ_IOUT register. | ||
82 | curr[2-5]_max Maximum current. From IOUT_OC_WARN_LIMIT register. | ||
83 | curr[2-5]_lcrit Critical minumum output current. From IOUT_UC_FAULT_LIMIT | ||
84 | register. | ||
85 | curr[2-5]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register. | ||
86 | curr[2-5]_max_alarm Current high alarm. From IOUT_OC_WARNING status. | ||
87 | curr[2-5]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status. | ||
88 | |||
89 | power1_input Measured input power. From READ_PIN register. | ||
90 | power1_label "pin" | ||
91 | |||
92 | power[2-5]_input Measured output power. From READ_POUT register. | ||
93 | power[2-5]_label "pout[1-4]" | ||
94 | |||
95 | The number of output voltage, current, and power | ||
96 | attribute sets is determined by the number of enabled | ||
97 | rails. See chip datasheets for details. | ||
98 | |||
99 | temp[1-5]_input Measured temperatures. From READ_TEMPERATURE_1 and | ||
100 | READ_TEMPERATURE_2 registers. | ||
101 | temp1 is the chip internal temperature. temp[2-5] are | ||
102 | rail temperatures. temp[2-5] attributes are only | ||
103 | created for enabled rails. See chip datasheets for | ||
104 | details. | ||
105 | temp[1-5]_max Maximum temperature. From OT_WARN_LIMIT register. | ||
106 | temp[1-5]_crit Critical high temperature. From OT_FAULT_LIMIT register. | ||
107 | temp[1-5]_max_alarm Temperature high alarm. | ||
108 | temp[1-5]_crit_alarm Temperature critical high alarm. | ||
109 | |||
110 | fan1_input Fan RPM. ucd9240 only. | ||
111 | fan1_alarm Fan alarm. ucd9240 only. | ||
112 | fan1_fault Fan fault. ucd9240 only. | ||
diff --git a/Documentation/hwmon/w83627ehf b/Documentation/hwmon/w83627ehf index 13d556112fc0..76ffef94ed75 100644 --- a/Documentation/hwmon/w83627ehf +++ b/Documentation/hwmon/w83627ehf | |||
@@ -5,13 +5,11 @@ Supported chips: | |||
5 | * Winbond W83627EHF/EHG (ISA access ONLY) | 5 | * Winbond W83627EHF/EHG (ISA access ONLY) |
6 | Prefix: 'w83627ehf' | 6 | Prefix: 'w83627ehf' |
7 | Addresses scanned: ISA address retrieved from Super I/O registers | 7 | Addresses scanned: ISA address retrieved from Super I/O registers |
8 | Datasheet: | 8 | Datasheet: not available |
9 | http://www.nuvoton.com.tw/NR/rdonlyres/A6A258F0-F0C9-4F97-81C0-C4D29E7E943E/0/W83627EHF.pdf | ||
10 | * Winbond W83627DHG | 9 | * Winbond W83627DHG |
11 | Prefix: 'w83627dhg' | 10 | Prefix: 'w83627dhg' |
12 | Addresses scanned: ISA address retrieved from Super I/O registers | 11 | Addresses scanned: ISA address retrieved from Super I/O registers |
13 | Datasheet: | 12 | Datasheet: not available |
14 | http://www.nuvoton.com.tw/NR/rdonlyres/7885623D-A487-4CF9-A47F-30C5F73D6FE6/0/W83627DHG.pdf | ||
15 | * Winbond W83627DHG-P | 13 | * Winbond W83627DHG-P |
16 | Prefix: 'w83627dhg' | 14 | Prefix: 'w83627dhg' |
17 | Addresses scanned: ISA address retrieved from Super I/O registers | 15 | Addresses scanned: ISA address retrieved from Super I/O registers |
@@ -24,6 +22,14 @@ Supported chips: | |||
24 | Prefix: 'w83667hg' | 22 | Prefix: 'w83667hg' |
25 | Addresses scanned: ISA address retrieved from Super I/O registers | 23 | Addresses scanned: ISA address retrieved from Super I/O registers |
26 | Datasheet: Available from Nuvoton upon request | 24 | Datasheet: Available from Nuvoton upon request |
25 | * Nuvoton NCT6775F/W83667HG-I | ||
26 | Prefix: 'nct6775' | ||
27 | Addresses scanned: ISA address retrieved from Super I/O registers | ||
28 | Datasheet: Available from Nuvoton upon request | ||
29 | * Nuvoton NCT6776F | ||
30 | Prefix: 'nct6776' | ||
31 | Addresses scanned: ISA address retrieved from Super I/O registers | ||
32 | Datasheet: Available from Nuvoton upon request | ||
27 | 33 | ||
28 | Authors: | 34 | Authors: |
29 | Jean Delvare <khali@linux-fr.org> | 35 | Jean Delvare <khali@linux-fr.org> |
@@ -36,19 +42,28 @@ Description | |||
36 | ----------- | 42 | ----------- |
37 | 43 | ||
38 | This driver implements support for the Winbond W83627EHF, W83627EHG, | 44 | This driver implements support for the Winbond W83627EHF, W83627EHG, |
39 | W83627DHG, W83627DHG-P, W83667HG and W83667HG-B super I/O chips. | 45 | W83627DHG, W83627DHG-P, W83667HG, W83667HG-B, W83667HG-I (NCT6775F), |
40 | We will refer to them collectively as Winbond chips. | 46 | and NCT6776F super I/O chips. We will refer to them collectively as |
41 | 47 | Winbond chips. | |
42 | The chips implement three temperature sensors, five fan rotation | 48 | |
43 | speed sensors, ten analog voltage sensors (only nine for the 627DHG), one | 49 | The chips implement three temperature sensors (up to four for 667HG-B, and nine |
44 | VID (6 pins for the 627EHF/EHG, 8 pins for the 627DHG and 667HG), alarms | 50 | for NCT6775F and NCT6776F), five fan rotation speed sensors, ten analog voltage |
45 | with beep warnings (control unimplemented), and some automatic fan | 51 | sensors (only nine for the 627DHG), one VID (6 pins for the 627EHF/EHG, 8 pins |
46 | regulation strategies (plus manual fan control mode). | 52 | for the 627DHG and 667HG), alarms with beep warnings (control unimplemented), |
53 | and some automatic fan regulation strategies (plus manual fan control mode). | ||
54 | |||
55 | The temperature sensor sources on W82677HG-B, NCT6775F, and NCT6776F are | ||
56 | configurable. temp4 and higher attributes are only reported if its temperature | ||
57 | source differs from the temperature sources of the already reported temperature | ||
58 | sensors. The configured source for each of the temperature sensors is provided | ||
59 | in tempX_label. | ||
47 | 60 | ||
48 | Temperatures are measured in degrees Celsius and measurement resolution is 1 | 61 | Temperatures are measured in degrees Celsius and measurement resolution is 1 |
49 | degC for temp1 and 0.5 degC for temp2 and temp3. An alarm is triggered when | 62 | degC for temp1 and and 0.5 degC for temp2 and temp3. For temp4 and higher, |
50 | the temperature gets higher than high limit; it stays on until the temperature | 63 | resolution is 1 degC for W83667HG-B and 0.0 degC for NCT6775F and NCT6776F. |
51 | falls below the hysteresis value. | 64 | An alarm is triggered when the temperature gets higher than high limit; |
65 | it stays on until the temperature falls below the hysteresis value. | ||
66 | Alarms are only supported for temp1, temp2, and temp3. | ||
52 | 67 | ||
53 | Fan rotation speeds are reported in RPM (rotations per minute). An alarm is | 68 | Fan rotation speeds are reported in RPM (rotations per minute). An alarm is |
54 | triggered if the rotation speed has dropped below a programmable limit. Fan | 69 | triggered if the rotation speed has dropped below a programmable limit. Fan |
@@ -80,7 +95,8 @@ prog -> pwm4 (not on 667HG and 667HG-B; the programmable setting is not | |||
80 | 95 | ||
81 | name - this is a standard hwmon device entry. For the W83627EHF and W83627EHG, | 96 | name - this is a standard hwmon device entry. For the W83627EHF and W83627EHG, |
82 | it is set to "w83627ehf", for the W83627DHG it is set to "w83627dhg", | 97 | it is set to "w83627ehf", for the W83627DHG it is set to "w83627dhg", |
83 | and for the W83667HG it is set to "w83667hg". | 98 | for the W83667HG and W83667HG-B it is set to "w83667hg", for NCT6775F it |
99 | is set to "nct6775", and for NCT6776F it is set to "nct6776". | ||
84 | 100 | ||
85 | pwm[1-4] - this file stores PWM duty cycle or DC value (fan speed) in range: | 101 | pwm[1-4] - this file stores PWM duty cycle or DC value (fan speed) in range: |
86 | 0 (stop) to 255 (full) | 102 | 0 (stop) to 255 (full) |
@@ -90,6 +106,18 @@ pwm[1-4]_enable - this file controls mode of fan/temperature control: | |||
90 | * 2 "Thermal Cruise" mode | 106 | * 2 "Thermal Cruise" mode |
91 | * 3 "Fan Speed Cruise" mode | 107 | * 3 "Fan Speed Cruise" mode |
92 | * 4 "Smart Fan III" mode | 108 | * 4 "Smart Fan III" mode |
109 | * 5 "Smart Fan IV" mode | ||
110 | |||
111 | SmartFan III mode is not supported on NCT6776F. | ||
112 | |||
113 | SmartFan IV mode is configurable only if it was configured at system | ||
114 | startup, and is only supported for W83677HG-B, NCT6775F, and NCT6776F. | ||
115 | SmartFan IV operational parameters can not be configured at this time, | ||
116 | and the various pwm attributes are not used in SmartFan IV mode. | ||
117 | The attributes can be written to, which is useful if you plan to | ||
118 | configure the system for a different pwm mode. However, the information | ||
119 | returned when reading pwm attributes is unrelated to SmartFan IV | ||
120 | operation. | ||
93 | 121 | ||
94 | pwm[1-4]_mode - controls if output is PWM or DC level | 122 | pwm[1-4]_mode - controls if output is PWM or DC level |
95 | * 0 DC output (0 - 12v) | 123 | * 0 DC output (0 - 12v) |
diff --git a/Documentation/hwmon/w83627hf b/Documentation/hwmon/w83627hf index fb145e5e722a..8432e1118173 100644 --- a/Documentation/hwmon/w83627hf +++ b/Documentation/hwmon/w83627hf | |||
@@ -91,3 +91,25 @@ isaset -y -f 0x2e 0xaa | |||
91 | 91 | ||
92 | The above sequence assumes a Super-I/O config space at 0x2e/0x2f, but | 92 | The above sequence assumes a Super-I/O config space at 0x2e/0x2f, but |
93 | 0x4e/0x4f is also possible. | 93 | 0x4e/0x4f is also possible. |
94 | |||
95 | Voltage pin mapping | ||
96 | ------------------- | ||
97 | |||
98 | Here is a summary of the voltage pin mapping for the W83627THF. This | ||
99 | can be useful to convert data provided by board manufacturers into | ||
100 | working libsensors configuration statements. | ||
101 | |||
102 | W83627THF | | ||
103 | Pin | Name | Register | Sysfs attribute | ||
104 | ----------------------------------------------------- | ||
105 | 100 | CPUVCORE | 20h | in0 | ||
106 | 99 | VIN0 | 21h | in1 | ||
107 | 98 | VIN1 | 22h | in2 | ||
108 | 97 | VIN2 | 24h | in4 | ||
109 | 114 | AVCC | 23h | in3 | ||
110 | 61 | 5VSB | 50h (bank 5) | in7 | ||
111 | 74 | VBAT | 51h (bank 5) | in8 | ||
112 | |||
113 | For other supported devices, you'll have to take the hard path and | ||
114 | look up the information in the datasheet yourself (and then add it | ||
115 | to this document please.) | ||
diff --git a/Documentation/hwmon/w83781d b/Documentation/hwmon/w83781d index ecbc1e4574b4..129b0a3b555b 100644 --- a/Documentation/hwmon/w83781d +++ b/Documentation/hwmon/w83781d | |||
@@ -403,7 +403,7 @@ found out the following values do work as a form of coarse pwm: | |||
403 | 403 | ||
404 | 0x80 - seems to turn fans off after some time(1-2 minutes)... might be | 404 | 0x80 - seems to turn fans off after some time(1-2 minutes)... might be |
405 | some form of auto-fan-control based on temp? hmm (Qfan? this mobo is an | 405 | some form of auto-fan-control based on temp? hmm (Qfan? this mobo is an |
406 | old ASUS, it isn't marketed as Qfan. Maybe some beta pre-attemp at Qfan | 406 | old ASUS, it isn't marketed as Qfan. Maybe some beta pre-attempt at Qfan |
407 | that was dropped at the BIOS) | 407 | that was dropped at the BIOS) |
408 | 0x81 - off | 408 | 0x81 - off |
409 | 0x82 - slightly "on-ner" than off, but my fans do not get to move. I can | 409 | 0x82 - slightly "on-ner" than off, but my fans do not get to move. I can |
diff --git a/Documentation/hwmon/w83791d b/Documentation/hwmon/w83791d index 5663e491655c..90387c3540f7 100644 --- a/Documentation/hwmon/w83791d +++ b/Documentation/hwmon/w83791d | |||
@@ -93,7 +93,7 @@ The sysfs interface to the beep bitmask has migrated from the original legacy | |||
93 | method of a single sysfs beep_mask file to a newer method using multiple | 93 | method of a single sysfs beep_mask file to a newer method using multiple |
94 | *_beep files as described in .../Documentation/hwmon/sysfs-interface. | 94 | *_beep files as described in .../Documentation/hwmon/sysfs-interface. |
95 | 95 | ||
96 | A similar change has occured for the bitmap corresponding to the alarms. The | 96 | A similar change has occurred for the bitmap corresponding to the alarms. The |
97 | original legacy method used a single sysfs alarms file containing a bitmap | 97 | original legacy method used a single sysfs alarms file containing a bitmap |
98 | of triggered alarms. The newer method uses multiple sysfs *_alarm files | 98 | of triggered alarms. The newer method uses multiple sysfs *_alarm files |
99 | (again following the pattern described in sysfs-interface). | 99 | (again following the pattern described in sysfs-interface). |
diff --git a/Documentation/hwmon/w83793 b/Documentation/hwmon/w83793 index 51171a83165b..6cc5f639b721 100644 --- a/Documentation/hwmon/w83793 +++ b/Documentation/hwmon/w83793 | |||
@@ -92,7 +92,7 @@ This driver implements support for Winbond W83793G/W83793R chips. | |||
92 | 92 | ||
93 | * Chassis | 93 | * Chassis |
94 | If the case open alarm triggers, it will stay in this state unless cleared | 94 | If the case open alarm triggers, it will stay in this state unless cleared |
95 | by any write to the sysfs file "chassis". | 95 | by writing 0 to the sysfs file "intrusion0_alarm". |
96 | 96 | ||
97 | * VID and VRM | 97 | * VID and VRM |
98 | The VRM version is detected automatically, don't modify the it unless you | 98 | The VRM version is detected automatically, don't modify the it unless you |
diff --git a/Documentation/hwmon/w83795 b/Documentation/hwmon/w83795 new file mode 100644 index 000000000000..9f160371f463 --- /dev/null +++ b/Documentation/hwmon/w83795 | |||
@@ -0,0 +1,127 @@ | |||
1 | Kernel driver w83795 | ||
2 | ==================== | ||
3 | |||
4 | Supported chips: | ||
5 | * Winbond/Nuvoton W83795G | ||
6 | Prefix: 'w83795g' | ||
7 | Addresses scanned: I2C 0x2c - 0x2f | ||
8 | Datasheet: Available for download on nuvoton.com | ||
9 | * Winbond/Nuvoton W83795ADG | ||
10 | Prefix: 'w83795adg' | ||
11 | Addresses scanned: I2C 0x2c - 0x2f | ||
12 | Datasheet: Available for download on nuvoton.com | ||
13 | |||
14 | Authors: | ||
15 | Wei Song (Nuvoton) | ||
16 | Jean Delvare <khali@linux-fr.org> | ||
17 | |||
18 | |||
19 | Pin mapping | ||
20 | ----------- | ||
21 | |||
22 | Here is a summary of the pin mapping for the W83795G and W83795ADG. | ||
23 | This can be useful to convert data provided by board manufacturers | ||
24 | into working libsensors configuration statements. | ||
25 | |||
26 | W83795G | | ||
27 | Pin | Name | Register | Sysfs attribute | ||
28 | ------------------------------------------------------------------ | ||
29 | 13 | VSEN1 (VCORE1) | 10h | in0 | ||
30 | 14 | VSEN2 (VCORE2) | 11h | in1 | ||
31 | 15 | VSEN3 (VCORE3) | 12h | in2 | ||
32 | 16 | VSEN4 | 13h | in3 | ||
33 | 17 | VSEN5 | 14h | in4 | ||
34 | 18 | VSEN6 | 15h | in5 | ||
35 | 19 | VSEN7 | 16h | in6 | ||
36 | 20 | VSEN8 | 17h | in7 | ||
37 | 21 | VSEN9 | 18h | in8 | ||
38 | 22 | VSEN10 | 19h | in9 | ||
39 | 23 | VSEN11 | 1Ah | in10 | ||
40 | 28 | VTT | 1Bh | in11 | ||
41 | 24 | 3VDD | 1Ch | in12 | ||
42 | 25 | 3VSB | 1Dh | in13 | ||
43 | 26 | VBAT | 1Eh | in14 | ||
44 | 3 | VSEN12/TR5 | 1Fh | in15/temp5 | ||
45 | 4 | VSEN13/TR5 | 20h | in16/temp6 | ||
46 | 5/ 6 | VDSEN14/TR1/TD1 | 21h | in17/temp1 | ||
47 | 7/ 8 | VDSEN15/TR2/TD2 | 22h | in18/temp2 | ||
48 | 9/ 10 | VDSEN16/TR3/TD3 | 23h | in19/temp3 | ||
49 | 11/ 12 | VDSEN17/TR4/TD4 | 24h | in20/temp4 | ||
50 | 40 | FANIN1 | 2Eh | fan1 | ||
51 | 42 | FANIN2 | 2Fh | fan2 | ||
52 | 44 | FANIN3 | 30h | fan3 | ||
53 | 46 | FANIN4 | 31h | fan4 | ||
54 | 48 | FANIN5 | 32h | fan5 | ||
55 | 50 | FANIN6 | 33h | fan6 | ||
56 | 52 | FANIN7 | 34h | fan7 | ||
57 | 54 | FANIN8 | 35h | fan8 | ||
58 | 57 | FANIN9 | 36h | fan9 | ||
59 | 58 | FANIN10 | 37h | fan10 | ||
60 | 59 | FANIN11 | 38h | fan11 | ||
61 | 60 | FANIN12 | 39h | fan12 | ||
62 | 31 | FANIN13 | 3Ah | fan13 | ||
63 | 35 | FANIN14 | 3Bh | fan14 | ||
64 | 41 | FANCTL1 | 10h (bank 2) | pwm1 | ||
65 | 43 | FANCTL2 | 11h (bank 2) | pwm2 | ||
66 | 45 | FANCTL3 | 12h (bank 2) | pwm3 | ||
67 | 47 | FANCTL4 | 13h (bank 2) | pwm4 | ||
68 | 49 | FANCTL5 | 14h (bank 2) | pwm5 | ||
69 | 51 | FANCTL6 | 15h (bank 2) | pwm6 | ||
70 | 53 | FANCTL7 | 16h (bank 2) | pwm7 | ||
71 | 55 | FANCTL8 | 17h (bank 2) | pwm8 | ||
72 | 29/ 30 | PECI/TSI (DTS1) | 26h | temp7 | ||
73 | 29/ 30 | PECI/TSI (DTS2) | 27h | temp8 | ||
74 | 29/ 30 | PECI/TSI (DTS3) | 28h | temp9 | ||
75 | 29/ 30 | PECI/TSI (DTS4) | 29h | temp10 | ||
76 | 29/ 30 | PECI/TSI (DTS5) | 2Ah | temp11 | ||
77 | 29/ 30 | PECI/TSI (DTS6) | 2Bh | temp12 | ||
78 | 29/ 30 | PECI/TSI (DTS7) | 2Ch | temp13 | ||
79 | 29/ 30 | PECI/TSI (DTS8) | 2Dh | temp14 | ||
80 | 27 | CASEOPEN# | 46h | intrusion0 | ||
81 | |||
82 | W83795ADG | | ||
83 | Pin | Name | Register | Sysfs attribute | ||
84 | ------------------------------------------------------------------ | ||
85 | 10 | VSEN1 (VCORE1) | 10h | in0 | ||
86 | 11 | VSEN2 (VCORE2) | 11h | in1 | ||
87 | 12 | VSEN3 (VCORE3) | 12h | in2 | ||
88 | 13 | VSEN4 | 13h | in3 | ||
89 | 14 | VSEN5 | 14h | in4 | ||
90 | 15 | VSEN6 | 15h | in5 | ||
91 | 16 | VSEN7 | 16h | in6 | ||
92 | 17 | VSEN8 | 17h | in7 | ||
93 | 22 | VTT | 1Bh | in11 | ||
94 | 18 | 3VDD | 1Ch | in12 | ||
95 | 19 | 3VSB | 1Dh | in13 | ||
96 | 20 | VBAT | 1Eh | in14 | ||
97 | 48 | VSEN12/TR5 | 1Fh | in15/temp5 | ||
98 | 1 | VSEN13/TR5 | 20h | in16/temp6 | ||
99 | 2/ 3 | VDSEN14/TR1/TD1 | 21h | in17/temp1 | ||
100 | 4/ 5 | VDSEN15/TR2/TD2 | 22h | in18/temp2 | ||
101 | 6/ 7 | VDSEN16/TR3/TD3 | 23h | in19/temp3 | ||
102 | 8/ 9 | VDSEN17/TR4/TD4 | 24h | in20/temp4 | ||
103 | 32 | FANIN1 | 2Eh | fan1 | ||
104 | 34 | FANIN2 | 2Fh | fan2 | ||
105 | 36 | FANIN3 | 30h | fan3 | ||
106 | 37 | FANIN4 | 31h | fan4 | ||
107 | 38 | FANIN5 | 32h | fan5 | ||
108 | 39 | FANIN6 | 33h | fan6 | ||
109 | 40 | FANIN7 | 34h | fan7 | ||
110 | 41 | FANIN8 | 35h | fan8 | ||
111 | 43 | FANIN9 | 36h | fan9 | ||
112 | 44 | FANIN10 | 37h | fan10 | ||
113 | 45 | FANIN11 | 38h | fan11 | ||
114 | 46 | FANIN12 | 39h | fan12 | ||
115 | 24 | FANIN13 | 3Ah | fan13 | ||
116 | 28 | FANIN14 | 3Bh | fan14 | ||
117 | 33 | FANCTL1 | 10h (bank 2) | pwm1 | ||
118 | 35 | FANCTL2 | 11h (bank 2) | pwm2 | ||
119 | 23 | PECI (DTS1) | 26h | temp7 | ||
120 | 23 | PECI (DTS2) | 27h | temp8 | ||
121 | 23 | PECI (DTS3) | 28h | temp9 | ||
122 | 23 | PECI (DTS4) | 29h | temp10 | ||
123 | 23 | PECI (DTS5) | 2Ah | temp11 | ||
124 | 23 | PECI (DTS6) | 2Bh | temp12 | ||
125 | 23 | PECI (DTS7) | 2Ch | temp13 | ||
126 | 23 | PECI (DTS8) | 2Dh | temp14 | ||
127 | 21 | CASEOPEN# | 46h | intrusion0 | ||