aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/hwmon
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/hwmon')
-rw-r--r--Documentation/hwmon/abituguru2
-rw-r--r--Documentation/hwmon/abituguru-datasheet8
-rw-r--r--Documentation/hwmon/abituguru32
-rw-r--r--Documentation/hwmon/adm102136
-rw-r--r--Documentation/hwmon/adm127560
-rw-r--r--Documentation/hwmon/adm92402
-rw-r--r--Documentation/hwmon/ads101572
-rw-r--r--Documentation/hwmon/ads78282
-rw-r--r--Documentation/hwmon/coretemp21
-rw-r--r--Documentation/hwmon/dme173712
-rw-r--r--Documentation/hwmon/ds62034
-rw-r--r--Documentation/hwmon/emc6w20142
-rw-r--r--Documentation/hwmon/f71882fg43
-rw-r--r--Documentation/hwmon/fam15h_power37
-rw-r--r--Documentation/hwmon/hpfall.c146
-rw-r--r--Documentation/hwmon/it8728
-rw-r--r--Documentation/hwmon/jc4221
-rw-r--r--Documentation/hwmon/k10temp13
-rw-r--r--Documentation/hwmon/lineage-pem77
-rw-r--r--Documentation/hwmon/lis3lv02d92
-rw-r--r--Documentation/hwmon/lm755
-rw-r--r--Documentation/hwmon/lm8572
-rw-r--r--Documentation/hwmon/lm9071
-rw-r--r--Documentation/hwmon/lm939
-rw-r--r--Documentation/hwmon/ltc415147
-rw-r--r--Documentation/hwmon/ltc426163
-rw-r--r--Documentation/hwmon/max1606462
-rw-r--r--Documentation/hwmon/max1606598
-rw-r--r--Documentation/hwmon/max3444079
-rw-r--r--Documentation/hwmon/max663949
-rw-r--r--Documentation/hwmon/max664221
-rw-r--r--Documentation/hwmon/max665023
-rw-r--r--Documentation/hwmon/max868869
-rw-r--r--Documentation/hwmon/pcf859118
-rw-r--r--Documentation/hwmon/pkgtemp36
-rw-r--r--Documentation/hwmon/pmbus197
-rw-r--r--Documentation/hwmon/sch562722
-rw-r--r--Documentation/hwmon/sht1574
-rw-r--r--Documentation/hwmon/sht2149
-rw-r--r--Documentation/hwmon/smm6658
-rw-r--r--Documentation/hwmon/submitting-patches109
-rw-r--r--Documentation/hwmon/sysfs-interface77
-rw-r--r--Documentation/hwmon/twl4030-madc-hwmon45
-rw-r--r--Documentation/hwmon/ucd9000110
-rw-r--r--Documentation/hwmon/ucd9200112
-rw-r--r--Documentation/hwmon/w83627ehf60
-rw-r--r--Documentation/hwmon/w83627hf22
-rw-r--r--Documentation/hwmon/w83781d2
-rw-r--r--Documentation/hwmon/w83791d2
-rw-r--r--Documentation/hwmon/w837932
-rw-r--r--Documentation/hwmon/w83795127
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
79The first and second revision of the uGuru chip in reality is a Winbond 79The first and second revision of the uGuru chip in reality is a Winbond
80W83L950D in disguise (despite Abit claiming it is "a new microprocessor 80W83L950D in disguise (despite Abit claiming it is "a new microprocessor
81designed by the ABIT Engineers"). Unfortunatly this doesn't help since the 81designed by the ABIT Engineers"). Unfortunately this doesn't help since the
82W83L950D is a generic microcontroller with a custom Abit application running 82W83L950D is a generic microcontroller with a custom Abit application running
83on it. 83on 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
5datasheet from Abit. The data I have got on uGuru have I assembled through 5datasheet from Abit. The data I have got on uGuru have I assembled through
6my weak knowledge in "backwards engineering". 6my weak knowledge in "backwards engineering".
7And just for the record, you may have noticed uGuru isn't a chip developed by 7And just for the record, you may have noticed uGuru isn't a chip developed by
8Abit, as they claim it to be. It's realy just an microprocessor (uC) created by 8Abit, as they claim it to be. It's really just an microprocessor (uC) created by
9Winbond (W83L950D). And no, reading the manual for this specific uC or 9Winbond (W83L950D). And no, reading the manual for this specific uC or
10mailing Windbond for help won't give any usefull data about uGuru, as it is 10mailing Windbond for help won't give any useful data about uGuru, as it is
11the program inside the uC that is responding to calls. 11the program inside the uC that is responding to calls.
12 12
13Olle Sandberg <ollebull@gmail.com>, 2005-05-25 13Olle 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
42After wider testing of the Linux kernel driver some variants of the uGuru have 42After wider testing of the Linux kernel driver some variants of the uGuru have
43turned up which will hold 0x00 instead of 0xAC at the CMD port, thus we also 43turned up which will hold 0x00 instead of 0xAC at the CMD port, thus we also
44have to test CMD for two different values. On these uGuru's DATA will initally 44have to test CMD for two different values. On these uGuru's DATA will initially
45hold 0x09 and will only hold 0x08 after reading CMD first, so CMD must be read 45hold 0x09 and will only hold 0x08 after reading CMD first, so CMD must be read
46first! 46first!
47 47
@@ -308,5 +308,5 @@ the voltage / clock programming out, I tried reading and only reading banks
308resulted in a _permanent_ reprogramming of the voltages, luckily I had the 308resulted in a _permanent_ reprogramming of the voltages, luckily I had the
309sensors part configured so that it would shutdown my system on any out of spec 309sensors part configured so that it would shutdown my system on any out of spec
310voltages which proprably safed my computer (after a reboot I managed to 310voltages which proprably safed my computer (after a reboot I managed to
311immediatly enter the bios and reload the defaults). This probably means that 311immediately enter the bios and reload the defaults). This probably means that
312the read/write cycle for the non sensor part is different from the sensor part. 312the 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
47the Abit uGuru chip, found on recent Abit uGuru featuring motherboards. 47the Abit uGuru chip, found on recent Abit uGuru featuring motherboards.
48 48
49The 3rd revision of the uGuru chip in reality is a Winbond W83L951G. 49The 3rd revision of the uGuru chip in reality is a Winbond W83L951G.
50Unfortunatly this doesn't help since the W83L951G is a generic microcontroller 50Unfortunately this doesn't help since the W83L951G is a generic microcontroller
51with a custom Abit application running on it. 51with a custom Abit application running on it.
52 52
53Despite Abit not releasing any information regarding the uGuru revision 3, 53Despite 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
91ADM1021-clones do faster measurements, but there is really no good reason 87ADM1021-clones do faster measurements, but there is really no good reason
92for that. 88for that.
93 89
94Xeon support
95------------
96 90
97Some Xeon processors have real max1617, adm1021, or compatible chips 91Netburst-based Xeon support
98within them, with two temperature sensors. 92---------------------------
99 93
100Other Xeons have chips with only one sensor. 94Some Xeon processors based on the Netburst (early Pentium 4, from 2001 to
952003) microarchitecture had real MAX1617, ADM1021, or compatible chips
96within them, with two temperature sensors. Other Xeon processors of this
97era (with 400 MHz FSB) had chips with only one temperature sensor.
101 98
102If you have a Xeon, and the adm1021 module loads, and both temperatures 99If you have such an old Xeon, and you get two valid temperatures when
103appear valid, then things are good. 100loading the adm1021 module, then things are good.
104 101
105If the adm1021 module doesn't load, you should try this: 102If nothing happens when loading the adm1021 module, and you are certain
106 modprobe adm1021 force_adm1021=BUS,ADDRESS 103that your specific Xeon processor model includes compatible sensors, you
107 ADDRESS can only be 0x18, 0x1a, 0x29, 0x2b, 0x4c, or 0x4e. 104will have to explicitly instantiate the sensor chips from user-space. See
105method 4 in Documentation/i2c/instantiating-devices. Possible slave
106addresses are 0x18, 0x1a, 0x29, 0x2b, 0x4c, or 0x4e. It is likely that
107only temp2 will be correct and temp1 will have to be ignored.
108 108
109If you have dual Xeons you may have appear to have two separate 109Previous generations of the Xeon processor (based on Pentium II/III)
110adm1021-compatible chips, or two single-temperature sensors, at distinct 110didn't have these sensors. Next generations of Xeon processors (533 MHz
111addresses. 111FSB and faster) lost them, until the Core-based generation which
112introduced integrated digital thermal sensors. These are supported by
113the 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 @@
1Kernel driver adm1275
2=====================
3
4Supported chips:
5 * Analog Devices ADM1275
6 Prefix: 'adm1275'
7 Addresses scanned: -
8 Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1275.pdf
9
10Author: Guenter Roeck <guenter.roeck@ericsson.com>
11
12
13Description
14-----------
15
16This driver supports hardware montoring for Analog Devices ADM1275 Hot-Swap
17Controller and Digital Power Monitor.
18
19The ADM1275 is a hot-swap controller that allows a circuit board to be removed
20from or inserted into a live backplane. It also features current and voltage
21readback via an integrated 12-bit analog-to-digital converter (ADC), accessed
22using a PMBus. interface.
23
24The driver is a client driver to the core PMBus driver. Please see
25Documentation/hwmon/pmbus for details on PMBus client drivers.
26
27
28Usage Notes
29-----------
30
31This driver does not auto-detect devices. You will have to instantiate the
32devices explicitly. Please see Documentation/i2c/instantiating-devices for
33details.
34
35
36Platform data support
37---------------------
38
39The driver supports standard PMBus driver platform data. Please see
40Documentation/hwmon/pmbus for details.
41
42
43Sysfs entries
44-------------
45
46The following attributes are supported. Limits are read-write; all other
47attributes are read-only.
48
49in1_label "vin1" or "vout1" depending on chip variant and
50 configuration.
51in1_input Measured voltage. From READ_VOUT register.
52in1_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
53in1_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
54in1_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
55in1_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
56
57curr1_label "iout1"
58curr1_input Measured current. From READ_IOUT register.
59curr1_max Maximum current. From IOUT_OC_WARN_LIMIT register.
60curr1_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.
155The ADM9240 provides an internal open drain on this line, and may output 155The ADM9240 provides an internal open drain on this line, and may output
156a 20 ms active low pulse to reset an external Chassis Intrusion latch. 156a 20 ms active low pulse to reset an external Chassis Intrusion latch.
157 157
158Clear the CI latch by writing value 1 to the sysfs chassis_clear file. 158Clear the CI latch by writing value 0 to the sysfs intrusion0_alarm file.
159 159
160Alarm flags reported as 16-bit word 160Alarm 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 @@
1Kernel driver ads1015
2=====================
3
4Supported 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
10Authors:
11 Dirk Eibach, Guntermann & Drunck GmbH <eibach@gdsys.de>
12
13Description
14-----------
15
16This driver implements support for the Texas Instruments ADS1015.
17
18This device is a 12-bit A-D converter with 4 inputs.
19
20The inputs can be used single ended or in certain differential combinations.
21
22The inputs can be made available by 8 sysfs input files in0_input - in7_input:
23in0: Voltage over AIN0 and AIN1.
24in1: Voltage over AIN0 and AIN3.
25in2: Voltage over AIN1 and AIN3.
26in3: Voltage over AIN2 and AIN3.
27in4: Voltage over AIN0 and GND.
28in5: Voltage over AIN1 and GND.
29in6: Voltage over AIN2 and GND.
30in7: Voltage over AIN3 and GND.
31
32Which inputs are available can be configured using platform data or devicetree.
33
34By default all inputs are exported.
35
36Platform Data
37-------------
38
39In linux/i2c/ads1015.h platform data is defined, channel_data contains
40configuration 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
57Example:
58struct 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
65In 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
68Devicetree
69----------
70
71Configuration is also possible via devicetree:
72Documentation/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
11Authors: 11Authors:
12 Steve Hardy <steve@linuxrealtime.co.uk> 12 Steve Hardy <shardy@redhat.com>
13 13
14Module Parameters 14Module 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
16Description 16Description
17----------- 17-----------
18This driver permits reading the DTS (Digital Temperature Sensor) embedded
19inside Intel CPUs. This driver can read both the per-core and per-package
20temperature using the appropriate sensors. The per-package sensor is new;
21as of now, it is present only in the SandyBridge platform. The driver will
22show the temperature of all cores inside a package under a single device
23directory inside hwmon.
18 24
19This driver permits reading temperature sensor embedded inside Intel Core CPU.
20Temperature is measured in degrees Celsius and measurement resolution is 25Temperature is measured in degrees Celsius and measurement resolution is
211 degree C. Valid temperatures are from 0 to TjMax degrees C, because 261 degree C. Valid temperatures are from 0 to TjMax degrees C, because
22the actual value of temperature register is in fact a delta from TjMax. 27the 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
27may be raised, if the temperature grows enough (more than TjMax) to trigger 32may be raised, if the temperature grows enough (more than TjMax) to trigger
28the Out-Of-Spec bit. Following table summarizes the exported sysfs files: 33the Out-Of-Spec bit. Following table summarizes the exported sysfs files:
29 34
30temp1_input - Core temperature (in millidegrees Celsius). 35All Sysfs entries are named with their core_id (represented here by 'X').
31temp1_max - All cooling devices should be turned on (on Core2). 36tempX_input - Core temperature (in millidegrees Celsius).
32temp1_crit - Maximum junction temperature (in millidegrees Celsius). 37tempX_max - All cooling devices should be turned on (on Core2).
33temp1_crit_alarm - Set when Out-of-spec bit is set, never clears. 38tempX_crit - Maximum junction temperature (in millidegrees Celsius).
39tempX_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.
35temp1_label - Contains string "Core X", where X is processor 41tempX_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
38The TjMax temperature is set to 85 degrees C if undocumented model specific 45The TjMax temperature is set to 85 degrees C if undocumented model specific
39register (UMSR) 0xee has bit 30 set. If not the TjMax is 100 degrees C as 46register (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
42This driver implements support for the hardware monitoring capabilities of the 42This driver implements support for the hardware monitoring capabilities of the
43SMSC DME1737 and Asus A8000 (which are the same), SMSC SCH5027, SCH311x, 43SMSC DME1737 and Asus A8000 (which are the same), SMSC SCH5027, SCH311x,
44and SCH5127 Super-I/O chips. These chips feature monitoring of 3 temp sensors 44and SCH5127 Super-I/O chips. These chips feature monitoring of 3 temp sensors
45temp[1-3] (2 remote diodes and 1 internal), 7 voltages in[0-6] (6 external and 45temp[1-3] (2 remote diodes and 1 internal), 8 voltages in[0-7] (7 external and
461 internal) and up to 6 fan speeds fan[1-6]. Additionally, the chips implement 461 internal) and up to 6 fan speeds fan[1-6]. Additionally, the chips implement
47up to 5 PWM outputs pwm[1-3,5-6] for controlling fan speeds both manually and 47up to 5 PWM outputs pwm[1-3,5-6] for controlling fan speeds both manually and
48automatically. 48automatically.
@@ -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
109Each voltage input has associated min and max limits which trigger an alarm 110Each voltage input has associated min and max limits which trigger an alarm
110when crossed. 111when crossed.
@@ -217,10 +218,10 @@ cpu0_vid RO CPU core reference voltage in
217vrm RW Voltage regulator module version 218vrm RW Voltage regulator module version
218 number. 219 number.
219 220
220in[0-6]_input RO Measured voltage in millivolts. 221in[0-7]_input RO Measured voltage in millivolts.
221in[0-6]_min RW Low limit for voltage input. 222in[0-7]_min RW Low limit for voltage input.
222in[0-6]_max RW High limit for voltage input. 223in[0-7]_max RW High limit for voltage input.
223in[0-6]_alarm RO Voltage input alarm. Returns 1 if 224in[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
324pwm5 opt opt 325pwm5 opt opt
325fan6 opt opt 326fan6 opt opt
326pwm6 opt opt 327pwm6 opt opt
328in7 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 @@
1Kernel driver ds620
2===================
3
4Supported chips:
5 * Dallas Semiconductor DS620
6 Prefix: 'ds620'
7 Datasheet: Publicly available at the Dallas Semiconductor website
8 http://www.dalsemi.com/
9
10Authors:
11 Roland Stigge <stigge@antcom.de>
12 based on ds1621.c by
13 Christian W. Zuckschwerdt <zany@triq.net>
14
15Description
16-----------
17
18The DS620 is a (one instance) digital thermometer and thermostat. It has both
19high and low temperature limits which can be user defined (i.e. programmed
20into non-volatile on-chip registers). Temperature range is -55 degree Celsius
21to +125. Between 0 and 70 degree Celsius, accuracy is 0.5 Kelvin. The value
22returned via sysfs displays post decimal positions.
23
24The thermostat function works as follows: When configured via platform_data
25(struct ds620_platform_data) .pomode == 0 (default), the thermostat output pin
26PO is always low. If .pomode == 1, the thermostat is in PO_LOW mode. I.e., the
27output pin PO becomes active when the temperature falls below temp1_min and
28stays active until the temperature goes above temp1_max.
29
30Likewise, with .pomode == 2, the thermostat is in PO_HIGH mode. I.e., the PO
31output pin becomes active when the temperature goes above temp1_max and stays
32active until the temperature falls below temp1_min.
33
34The 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 @@
1Kernel driver emc6w201
2======================
3
4Supported chips:
5 * SMSC EMC6W201
6 Prefix: 'emc6w201'
7 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
8 Datasheet: Not public
9
10Author: Jean Delvare <khali@linux-fr.org>
11
12
13Description
14-----------
15
16From the datasheet:
17
18"The EMC6W201 is an environmental monitoring device with automatic fan
19control capability and enhanced system acoustics for noise suppression.
20This ACPI compliant device provides hardware monitoring for up to six
21voltages (including its own VCC) and five external thermal sensors,
22measures the speed of up to five fans, and controls the speed of
23multiple DC fans using three Pulse Width Modulator (PWM) outputs. Note
24that it is possible to control more than three fans by connecting two
25fans to one PWM output. The EMC6W201 will be available in a 36-pin
26QFN package."
27
28The device is functionally close to the EMC6D100 series, but is
29register-incompatible.
30
31The driver currently only supports the monitoring of the voltages,
32temperatures and fan speeds. Limits can be changed. Alarms are not
33supported, and neither is fan speed control.
34
35
36Known Systems With EMC6W201
37---------------------------
38
39The EMC6W201 is a rare device, only found on a few systems, made in
402005 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
4Supported chips: 4Supported 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
26Author: Hans de Goede <hdegoede@redhat.com> 61Author: Hans de Goede <hdegoede@redhat.com>
27 62
@@ -29,9 +64,9 @@ Author: Hans de Goede <hdegoede@redhat.com>
29Description 64Description
30----------- 65-----------
31 66
32Fintek F718xxFG/F8000 Super I/O chips include complete hardware monitoring 67Fintek F718xx/F8000 Super I/O chips include complete hardware monitoring
33capabilities. They can monitor up to 9 voltages (3 for the F8000), 4 fans and 68capabilities. They can monitor up to 9 voltages, 4 fans and 3 temperature
343 temperature sensors. 69sensors.
35 70
36These chips also have fan controlling features, using either DC or PWM, in 71These chips also have fan controlling features, using either DC or PWM, in
37three different modes (one manual, two automatic). 72three 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
102Both of the automatic modes require that pwm1 corresponds to fan1, pwm2 to 137All of the automatic modes require that pwm1 corresponds to fan1, pwm2 to
103fan2 and pwm3 to fan3. 138fan2 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 @@
1Kernel driver fam15h_power
2==========================
3
4Supported 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
13Author: Andreas Herrmann <andreas.herrmann3@amd.com>
14
15Description
16-----------
17
18This driver permits reading of registers providing power information
19of AMD Family 15h processors.
20
21For AMD Family 15h processors the following power values can be
22calculated 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
31This driver provides ProcessorPwrWatts and CurrPwrWatts:
32* power1_crit (ProcessorPwrWatts)
33* power1_input (CurrPwrWatts)
34
35On multi-node processors the calculated value is for the entire
36package and not for a single node. Thus the driver creates sysfs
37attributes 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
22char unload_heads_path[64];
23
24int 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}
36int 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
48void 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
64void set_led(int on)
65{
66 write_int("/sys/class/leds/hp::hddprotect/brightness", on);
67}
68
69void protect(int seconds)
70{
71 write_int(unload_heads_path, seconds*1000);
72}
73
74int on_ac(void)
75{
76// /sys/class/power_supply/AC0/online
77}
78
79int lid_open(void)
80{
81// /proc/acpi/button/lid/LID/state
82}
83
84void ignore_me(void)
85{
86 protect(0);
87 set_led(0);
88}
89
90int 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, &param);
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
69This driver implements support for the IT8705F, IT8712F, IT8716F, 73This driver implements support for the IT8705F, IT8712F, IT8716F,
70IT8718F, IT8720F, IT8726F and SiS950 chips. 74IT8718F, IT8720F, IT8721F, IT8726F, IT8758E and SiS950 chips.
71 75
72These chips are 'Super I/O chips', supporting floppy disks, infrared ports, 76These chips are 'Super I/O chips', supporting floppy disks, infrared ports,
73joysticks and other miscellaneous stuff. For hardware monitoring, they 77joysticks 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
86upper VID bits share their pins with voltage inputs (in5 and in6) so you 90upper VID bits share their pins with voltage inputs (in5 and in6) so you
87can't have both on a given board. 91can't have both on a given board.
88 92
89The IT8716F, IT8718F, IT8720F and later IT8712F revisions have support for 93The IT8716F, IT8718F, IT8720F, IT8721F/IT8758E and later IT8712F revisions
902 additional fans. The additional fans are supported by the driver. 94have support for 2 additional fans. The additional fans are supported by the
95driver.
91 96
92The IT8716F, IT8718F and IT8720F, and late IT8712F and IT8705F also have 97The IT8716F, IT8718F, IT8720F and IT8721F/IT8758E, and late IT8712F and
93optional 16-bit tachometer counters for fans 1 to 3. This is better (no more 98IT8705F also have optional 16-bit tachometer counters for fans 1 to 3. This
94fan clock divider mess) but not compatible with the older chips and 99is better (no more fan clock divider mess) but not compatible with the older
95revisions. The 16-bit tachometer mode is enabled by the driver when one 100chips and revisions. The 16-bit tachometer mode is enabled by the driver when
96of the above chips is detected. 101one of the above chips is detected.
97 102
98The IT8726F is just bit enhanced IT8716F with additional hardware 103The IT8726F is just bit enhanced IT8716F with additional hardware
99for AMD power sequencing. Therefore the chip will appear as IT8716F 104for 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
115maximum limit. Note that minimum in this case always means 'closest to 120maximum limit. Note that minimum in this case always means 'closest to
116zero'; this is important for negative voltage measurements. All voltage 121zero'; this is important for negative voltage measurements. All voltage
117inputs can measure voltages between 0 and 4.08 volts, with a resolution of 122inputs can measure voltages between 0 and 4.08 volts, with a resolution of
1180.016 volt. The battery voltage in8 does not have limit registers. 1230.016 volt (except IT8721F/IT8758E: 0.012 volt.) The battery voltage in8 does
124not have limit registers.
125
126On the IT8721F/IT8758E, some voltage inputs are internal and scaled inside
127the chip (in7, in8 and optionally in3). The driver handles this transparently
128so user-space doesn't have to care.
119 129
120The VID lines (IT8712F/IT8716F/IT8718F/IT8720F) encode the core voltage value: 130The VID lines (IT8712F/IT8716F/IT8718F/IT8720F) encode the core voltage value:
121the voltage level your processor should work with. This is hardcoded by 131the 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
56Author: 57Author:
57 Guenter Roeck <guenter.roeck@ericsson.com> 58 Guenter Roeck <guenter.roeck@ericsson.com>
@@ -60,7 +61,11 @@ Author:
60Description 61Description
61----------- 62-----------
62 63
63This driver implements support for JEDEC JC 42.4 compliant temperature sensors. 64This driver implements support for JEDEC JC 42.4 compliant temperature sensors,
65which are used on many DDR3 memory modules for mobile devices and servers. Some
66systems use the sensor to prevent memory overheating by automatically throttling
67the memory controller.
68
64The driver auto-detects the chips listed above, but can be manually instantiated 69The driver auto-detects the chips listed above, but can be manually instantiated
65to support other JC 42.4 compliant chips. 70to 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,
81which applies to all limits. This register can be written by writing into 86which applies to all limits. This register can be written by writing into
82temp1_crit_hyst. Other hysteresis attributes are read-only. 87temp1_crit_hyst. Other hysteresis attributes are read-only.
83 88
89If the BIOS has configured the sensor for automatic temperature management, it
90is likely that it has locked the registers, i.e., that the temperature limits
91cannot be changed.
92
84Sysfs entries 93Sysfs entries
85------------- 94-------------
86 95
87temp1_input Temperature (RO) 96temp1_input Temperature (RO)
88temp1_min Minimum temperature (RW) 97temp1_min Minimum temperature (RO or RW)
89temp1_max Maximum temperature (RW) 98temp1_max Maximum temperature (RO or RW)
90temp1_crit Critical high temperature (RW) 99temp1_crit Critical high temperature (RO or RW)
91 100
92temp1_crit_hyst Critical hysteresis temperature (RW) 101temp1_crit_hyst Critical hysteresis temperature (RO or RW)
93temp1_max_hyst Maximum hysteresis temperature (RO) 102temp1_max_hyst Maximum hysteresis temperature (RO)
94 103
95temp1_min_alarm Temperature low alarm 104temp1_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
36This driver permits reading of the internal temperature sensor of AMD 47This driver permits reading of the internal temperature sensor of AMD
37Family 10h and 11h processors. 48Family 10h/11h/12h/14h/15h processors.
38 49
39All these processors have a sensor, but on those for Socket F or AM2+, 50All these processors have a sensor, but on those for Socket F or AM2+,
40the sensor may return inconsistent values (erratum 319). The driver 51the 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 @@
1Kernel driver lineage-pem
2=========================
3
4Supported 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
11Author: Guenter Roeck <guenter.roeck@ericsson.com>
12
13
14Description
15-----------
16
17This driver supports various Lineage Compact Power Line DC/DC and AC/DC
18converters such as CP1800, CP2000AC, CP2000DC, CP2100DC, and others.
19
20Lineage CPL power entry modules are nominally PMBus compliant. However, most
21standard PMBus commands are not supported. Specifically, all hardware monitoring
22and status reporting commands are non-standard. For this reason, a standard
23PMBus driver can not be used.
24
25
26Usage Notes
27-----------
28
29This driver does not probe for Lineage CPL devices, since there is no register
30which can be safely used to identify the chip. You will have to instantiate
31the devices explicitly.
32
33Example: the following will load the driver for a Lineage PEM at address 0x40
34on I2C bus #1:
35$ modprobe lineage-pem
36$ echo lineage-pem 0x40 > /sys/bus/i2c/devices/i2c-1/new_device
37
38All 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
40driver to the pca9541 I2C master selector driver.
41
42
43Sysfs entries
44-------------
45
46All Lineage CPL devices report output voltage and device temperature as well as
47alarms for output voltage, temperature, input voltage, input current, input power,
48and fan status.
49
50Input voltage, input current, input power, and fan speed measurement is only
51supported on newer devices. The driver detects if those attributes are supported,
52and only creates respective sysfs entries if they are.
53
54in1_input Output voltage (mV)
55in1_min_alarm Output undervoltage alarm
56in1_max_alarm Output overvoltage alarm
57in1_crit Output voltage critical alarm
58
59in2_input Input voltage (mV, optional)
60in2_alarm Input voltage alarm
61
62curr1_input Input current (mA, optional)
63curr1_alarm Input overcurrent alarm
64
65power1_input Input power (uW, optional)
66power1_alarm Input power alarm
67
68fan1_input Fan 1 speed (rpm, optional)
69fan2_input Fan 2 speed (rpm, optional)
70fan3_input Fan 3 speed (rpm, optional)
71
72temp1_input
73temp1_max
74temp1_crit
75temp1_alarm
76temp1_crit_alarm
77temp1_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 @@
1Kernel driver lis3lv02d
2=======================
3
4Supported chips:
5
6 * STMicroelectronics LIS3LV02DL, LIS3LV02DQ (12 bits precision)
7 * STMicroelectronics LIS302DL, LIS3L02DQ, LIS331DL (8 bits)
8
9Authors:
10 Yan Burman <burman.yan@gmail.com>
11 Eric Piel <eric.piel@tremplin-utc.net>
12
13
14Description
15-----------
16
17This driver provides support for the accelerometer found in various HP laptops
18sporting the feature officially called "HP Mobile Data Protection System 3D" or
19"HP 3D DriveGuard". It detects automatically laptops with this sensor. Known
20models (full list can be found in drivers/hwmon/hp_accel.c) will have their
21axis automatically oriented on standard way (eg: you can directly play
22neverball). The accelerometer data is readable via
23/sys/devices/platform/lis3lv02d. Reported values are scaled
24to mg values (1/1000th of earth gravity).
25
26Sysfs attributes under /sys/devices/platform/lis3lv02d/:
27position - 3D position that the accelerometer reports. Format: "(x,y,z)"
28rate - 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.
31selftest - performs selftest for the chip as specified by chip manufacturer.
32
33This driver also provides an absolute input class device, allowing
34the laptop to act as a pinball machine-esque joystick. Joystick device can be
35calibrated. Joystick device can be in two different modes.
36By default output values are scaled between -32768 .. 32767. In joystick raw
37mode, joystick and sysfs position entry have the same scale. There can be
38small difference due to input system fuzziness feature.
39Events are also available as input event device.
40
41Selftest is meant only for hardware diagnostic purposes. It is not meant to be
42used during normal operations. Position data is not corrupted during selftest
43but interrupt behaviour is not guaranteed to work reliably. In test mode, the
44sensing element is internally moved little bit. Selftest measures difference
45between normal mode and test mode. Chip specifications tell the acceptance
46limit for each type of the chip. Limits are provided via platform data
47to allow adjustment of the limits without a change to the actual driver.
48Seltest returns either "OK x y z" or "FAIL x y z" where x, y and z are
49measured difference between modes. Axes are not remapped in selftest mode.
50Measurement values are provided to help HW diagnostic applications to make
51final decision.
52
53On HP laptops, if the led infrastructure is activated, support for a led
54indicating disk protection will be provided as /sys/class/leds/hp::hddprotect.
55
56Another feature of the driver is misc device called "freefall" that
57acts similar to /dev/rtc and reacts on free-fall interrupts received
58from the device. It supports blocking operations, poll/select and
59fasync operation modes. You must read 1 bytes from the device. The
60result is number of free-fall interrupts since the last successful
61read (or 255 if number of interrupts would not fit). See the hpfall.c
62file for an example on using the device.
63
64
65Axes orientation
66----------------
67
68For better compatibility between the various laptops. The values reported by
69the 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
78If your laptop model is not recognized (cf "dmesg"), you can send an
79email to the maintainer to add it to the database. When reporting a new
80laptop, please include the output of "dmidecode" plus the value of
81/sys/devices/platform/lis3lv02d/position in these four cases.
82
83Q&A
84---
85
86Q: How do I safely simulate freefall? I have an HP "portable
87workstation" which has about 3.5kg and a plastic case, so letting it
88fall to the ground is out of question...
89
90A: The sensor is pretty sensitive, so your hands can do it. Lift it
91into free space, follow the fall with your hands for like 10
92centimeters. 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
26Authors: 38Authors:
27 Philip Pokorny <ppokorny@penguincomputing.com>, 39 Philip Pokorny <ppokorny@penguincomputing.com>,
@@ -34,7 +46,7 @@ Description
34----------- 46-----------
35 47
36This driver implements support for the National Semiconductor LM85 and 48This driver implements support for the National Semiconductor LM85 and
37compatible chips including the Analog Devices ADM1027, ADT7463 and 49compatible chips including the Analog Devices ADM1027, ADT7463, ADT7468 and
38SMSC EMC6D10x chips family. 50SMSC EMC6D10x chips family.
39 51
40The LM85 uses the 2-wire interface compatible with the SMBUS 2.0 52The 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
87optional filter for smoothing temperatures. The ADM1027 has the same 99optional filter for smoothing temperatures. The ADM1027 has the same
88config option but uses it to rate limit the changes to fan speed instead. 100config option but uses it to rate limit the changes to fan speed instead.
89 101
90The ADM1027 and ADT7463 have a 10-bit ADC and can therefore measure 102The ADM1027, ADT7463 and ADT7468 have a 10-bit ADC and can therefore
91temperatures with 0.25 degC resolution. They also provide an offset to the 103measure temperatures with 0.25 degC resolution. They also provide an offset
92temperature readings that is automatically applied during measurement. 104to the temperature readings that is automatically applied during
93This offset can be used to zero out any errors due to traces and placement. 105measurement. This offset can be used to zero out any errors due to traces
94The documentation says that the offset is in 0.25 degC steps, but in 106and placement. The documentation says that the offset is in 0.25 degC
95initial testing of the ADM1027 it was 1.00 degC steps. Analog Devices has 107steps, but in initial testing of the ADM1027 it was 1.00 degC steps. Analog
96confirmed this "bug". The ADT7463 is reported to work as described in the 108Devices has confirmed this "bug". The ADT7463 is reported to work as
97documentation. The current lm85 driver does not show the offset register. 109described in the documentation. The current lm85 driver does not show the
110offset register.
111
112The ADT7468 has a high-frequency PWM mode, where all PWM outputs are
113driven by a 22.5 kHz clock. This is a global mode, not per-PWM output,
114which means that setting any PWM frequency above 11.3 kHz will switch
115all 3 PWM outputs to a 22.5 kHz frequency. Conversely, setting any PWM
116frequency below 11.3 kHz will switch all 3 PWM outputs to a frequency
117between 10 and 100 Hz, which can then be tuned separately.
98 118
99See the vendor datasheets for more information. There is application note 119See the vendor datasheets for more information. There is application note
100from National (AN-1260) with some additional information about the LM85. 120from 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
110EMC6D101 plus additional voltage monitoring and system control features. 130EMC6D101 plus additional voltage monitoring and system control features.
111Unfortunately it is not possible to distinguish between the package 131Unfortunately it is not possible to distinguish between the package
112versions on register level so these additional voltage inputs may read 132versions on register level so these additional voltage inputs may read
113zero. The EMC6D102 features addtional ADC bits thus extending precision 133zero. EMC6D102 and EMC6D103 feature additional ADC bits thus extending precision
114of voltage and temperature channels. 134of voltage and temperature channels.
115 135
136SMSC EMC6D103S is similar to EMC6D103, but does not support pwm#_auto_pwm_minctl
137and temp#_auto_temp_off.
116 138
117Hardware Configurations 139Hardware Configurations
118----------------------- 140-----------------------
@@ -125,17 +147,17 @@ datasheet for a complete description of the differences. Other than
125identifying the chip, the driver behaves no differently with regard to 147identifying the chip, the driver behaves no differently with regard to
126these two chips. The LM85B is recommended for new designs. 148these two chips. The LM85B is recommended for new designs.
127 149
128The ADM1027 and ADT7463 chips have an optional SMBALERT output that can be 150The ADM1027, ADT7463 and ADT7468 chips have an optional SMBALERT output
129used to signal the chipset in case a limit is exceeded or the temperature 151that can be used to signal the chipset in case a limit is exceeded or the
130sensors fail. Individual sensor interrupts can be masked so they won't 152temperature sensors fail. Individual sensor interrupts can be masked so
131trigger SMBALERT. The SMBALERT output if configured replaces one of the other 153they won't trigger SMBALERT. The SMBALERT output if configured replaces one
132functions (PWM2 or IN0). This functionality is not implemented in current 154of the other functions (PWM2 or IN0). This functionality is not implemented
133driver. 155in current driver.
134 156
135The ADT7463 also has an optional THERM output/input which can be connected 157The ADT7463 and ADT7468 also have an optional THERM output/input which can
136to the processor PROC_HOT output. If available, the autofan control 158be connected to the processor PROC_HOT output. If available, the autofan
137dynamic Tmin feature can be enabled to keep the system temperature within 159control dynamic Tmin feature can be enabled to keep the system temperature
138spec (just?!) with the least possible fan noise. 160within spec (just?!) with the least possible fan noise.
139 161
140Configuration Notes 162Configuration Notes
141------------------- 163-------------------
@@ -201,8 +223,8 @@ the temperatures to compensate for systemic errors in the
201measurements. These features are not currently supported by the lm85 223measurements. These features are not currently supported by the lm85
202driver. 224driver.
203 225
204In addition to the ADM1027 features, the ADT7463 also has Tmin control 226In addition to the ADM1027 features, the ADT7463 and ADT7468 also have
205and THERM asserted counts. Automatic Tmin control acts to adjust the 227Tmin control and THERM asserted counts. Automatic Tmin control acts to
206Tmin value to maintain the measured temperature sensor at a specified 228adjust the Tmin value to maintain the measured temperature sensor at a
207temperature. There isn't much documentation on this feature in the 229specified temperature. There isn't much documentation on this feature in
208ADT7463 data sheet. This is not supported by current driver. 230the 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
101with many other devices, many of which are supported by this driver. 126with many other devices, many of which are supported by this driver.
102 127
103Note that there is no easy way to differentiate between the MAX6657, 128Note that there is no easy way to differentiate between the MAX6657,
104MAX6658 and MAX6659 variants. The extra address and features of the 129MAX6658 and MAX6659 variants. The extra features of the MAX6659 are only
105MAX6659 are not supported by this driver. The MAX6680 and MAX6681 only 130supported by this driver if the chip is located at address 0x4d or 0x4e,
106differ in their pinout, therefore they obviously can't (and don't need to) 131or if the chip type is explicitly selected as max6659.
107be distinguished. 132The MAX6680 and MAX6681 only differ in their pinout, therefore they obviously
133can't (and don't need to) be distinguished.
108 134
109The specificity of this family of chipsets over the ADM1021/LM84 135The specificity of this family of chipsets over the ADM1021/LM84
110family is that it features critical limits with hysteresis, and an 136family 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
136ADT7461: 162ADT7461, 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
180MAX6695 and MAX6696:
181 * Better local resolution
182 * Selectable address (max6696)
183 * Second critical temperature limit
184 * Two remote sensors
185
186W83L771W/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
154W83L771AWG/ASG 191W83L771AWG/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
160All temperature values are given in degrees Celsius. Resolution 196All temperature values are given in degrees Celsius. Resolution
161is 1.0 degree for the local temperature, 0.125 degree for the remote 197is 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.
169Only the local hysteresis can be set from user-space, and the same delta 205Only the local hysteresis can be set from user-space, and the same delta
170applies to the remote hysteresis. 206applies to the remote hysteresis.
171 207
172The lm90 driver will not update its values more frequently than every 208The lm90 driver will not update its values more frequently than configured with
173other second; reading them more often will do no harm, but will return 209the update_interval attribute; reading them more often will do no harm, but will
174'old' values. 210return 'old' values.
175 211
176SMBus Alert Support 212SMBus Alert Support
177------------------- 213-------------------
@@ -179,11 +215,12 @@ SMBus Alert Support
179This driver has basic support for SMBus alert. When an alert is received, 215This driver has basic support for SMBus alert. When an alert is received,
180the status register is read and the faulty temperature channel is logged. 216the status register is read and the faulty temperature channel is logged.
181 217
182The Analog Devices chips (ADM1032 and ADT7461) do not implement the SMBus 218The Analog Devices chips (ADM1032, ADT7461 and ADT7461A) and ON
183alert protocol properly so additional care is needed: the ALERT output is 219Semiconductor chips (NCT1008) do not implement the SMBus alert protocol
184disabled when an alert is received, and is re-enabled only when the alarm 220properly so additional care is needed: the ALERT output is disabled when
185is gone. Otherwise the chip would block alerts from other chips in the bus 221an alert is received, and is re-enabled only when the alarm is gone.
186as long as the alarm is active. 222Otherwise the chip would block alerts from other chips in the bus as long
223as the alarm is active.
187 224
188PEC Support 225PEC 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
10Authors: 14Authors:
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
16Module Parameters 20Module Parameters
17----------------- 21-----------------
@@ -56,6 +60,9 @@ previous motherboard management ASICs and uses some of the LM85's features
56for dynamic Vccp monitoring and PROCHOT. It is designed to monitor a dual 60for dynamic Vccp monitoring and PROCHOT. It is designed to monitor a dual
57processor Xeon class motherboard with a minimum of external components. 61processor Xeon class motherboard with a minimum of external components.
58 62
63LM94 is also supported in LM93 compatible mode. Extra sensors and features of
64LM94 are not supported.
65
59 66
60User Interface 67User 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 @@
1Kernel driver ltc4151
2=====================
3
4Supported chips:
5 * Linear Technology LTC4151
6 Prefix: 'ltc4151'
7 Addresses scanned: -
8 Datasheet:
9 http://www.linear.com/docs/Datasheet/4151fc.pdf
10
11Author: Per Dalen <per.dalen@appeartv.com>
12
13
14Description
15-----------
16
17The LTC4151 is a High Voltage I2C Current and Voltage Monitor.
18
19
20Usage Notes
21-----------
22
23This driver does not probe for LTC4151 devices, since there is no register
24which can be safely used to identify the chip. You will have to instantiate
25the devices explicitly.
26
27Example: the following will load the driver for an LTC4151 at address 0x6f
28on I2C bus #0:
29# modprobe ltc4151
30# echo ltc4151 0x6f > /sys/bus/i2c/devices/i2c-0/new_device
31
32
33Sysfs entries
34-------------
35
36Voltage readings provided by this driver are reported as obtained from the ADIN
37and VIN registers.
38
39Current reading provided by this driver is reported as obtained from the Current
40Sense register. The reported value assumes that a 1 mOhm sense resistor is
41installed.
42
43in1_input VDIN voltage (mV)
44
45in2_input ADIN voltage (mV)
46
47curr1_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 @@
1Kernel driver ltc4261
2=====================
3
4Supported chips:
5 * Linear Technology LTC4261
6 Prefix: 'ltc4261'
7 Addresses scanned: -
8 Datasheet:
9 http://cds.linear.com/docs/Datasheet/42612fb.pdf
10
11Author: Guenter Roeck <guenter.roeck@ericsson.com>
12
13
14Description
15-----------
16
17The LTC4261/LTC4261-2 negative voltage Hot Swap controllers allow a board
18to be safely inserted and removed from a live backplane.
19
20
21Usage Notes
22-----------
23
24This driver does not probe for LTC4261 devices, since there is no register
25which can be safely used to identify the chip. You will have to instantiate
26the devices explicitly.
27
28Example: the following will load the driver for an LTC4261 at address 0x10
29on I2C bus #1:
30$ modprobe ltc4261
31$ echo ltc4261 0x10 > /sys/bus/i2c/devices/i2c-1/new_device
32
33
34Sysfs entries
35-------------
36
37Voltage readings provided by this driver are reported as obtained from the ADC
38registers. If a set of voltage divider resistors is installed, calculate the
39real voltage by multiplying the reported value with (R1+R2)/R2, where R1 is the
40value of the divider resistor against the measured voltage and R2 is the value
41of the divider resistor against Ground.
42
43Current reading provided by this driver is reported as obtained from the ADC
44Current Sense register. The reported value assumes that a 1 mOhm sense resistor
45is installed. If a different sense resistor is installed, calculate the real
46current by dividing the reported value by the sense resistor value in mOhm.
47
48The chip has two voltage sensors, but only one set of voltage alarm status bits.
49In many many designs, those alarms are associated with the ADIN2 sensor, due to
50the proximity of the ADIN2 pin to the OV pin. ADIN2 is, however, not available
51on all chip variants. To ensure that the alarm condition is reported to the user,
52report it with both voltage sensors.
53
54in1_input ADIN2 voltage (mV)
55in1_min_alarm ADIN/ADIN2 Undervoltage alarm
56in1_max_alarm ADIN/ADIN2 Overvoltage alarm
57
58in2_input ADIN voltage (mV)
59in2_min_alarm ADIN/ADIN2 Undervoltage alarm
60in2_max_alarm ADIN/ADIN2 Overvoltage alarm
61
62curr1_input SENSE current (mA)
63curr1_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 @@
1Kernel driver max16064
2======================
3
4Supported chips:
5 * Maxim MAX16064
6 Prefix: 'max16064'
7 Addresses scanned: -
8 Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX16064.pdf
9
10Author: Guenter Roeck <guenter.roeck@ericsson.com>
11
12
13Description
14-----------
15
16This driver supports hardware montoring for Maxim MAX16064 Quad Power-Supply
17Controller with Active-Voltage Output Control and PMBus Interface.
18
19The driver is a client driver to the core PMBus driver.
20Please see Documentation/hwmon/pmbus for details on PMBus client drivers.
21
22
23Usage Notes
24-----------
25
26This driver does not auto-detect devices. You will have to instantiate the
27devices explicitly. Please see Documentation/i2c/instantiating-devices for
28details.
29
30
31Platform data support
32---------------------
33
34The driver supports standard PMBus driver platform data.
35
36
37Sysfs entries
38-------------
39
40The following attributes are supported. Limits are read-write; all other
41attributes are read-only.
42
43in[1-4]_label "vout[1-4]"
44in[1-4]_input Measured voltage. From READ_VOUT register.
45in[1-4]_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
46in[1-4]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
47in[1-4]_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register.
48in[1-4]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register.
49in[1-4]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
50in[1-4]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
51in[1-4]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
52in[1-4]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
53
54temp1_input Measured temperature. From READ_TEMPERATURE_1 register.
55temp1_max Maximum temperature. From OT_WARN_LIMIT register.
56temp1_crit Critical high temperature. From OT_FAULT_LIMIT register.
57temp1_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.
60temp1_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 @@
1Kernel driver max16065
2======================
3
4Supported 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
27Author: Guenter Roeck <guenter.roeck@ericsson.com>
28
29
30Description
31-----------
32
33[From datasheets] The MAX16065/MAX16066 flash-configurable system managers
34monitor and sequence multiple system voltages. The MAX16065/MAX16066 can also
35accurately monitor (+/-2.5%) one current channel using a dedicated high-side
36current-sense amplifier. The MAX16065 manages up to twelve system voltages
37simultaneously, and the MAX16066 manages up to eight supply voltages.
38
39The MAX16067 flash-configurable system manager monitors and sequences multiple
40system voltages. The MAX16067 manages up to six system voltages simultaneously.
41
42The MAX16068 flash-configurable system manager monitors and manages up to six
43system voltages simultaneously.
44
45The MAX16070/MAX16071 flash-configurable system monitors supervise multiple
46system voltages. The MAX16070/MAX16071 can also accurately monitor (+/-2.5%)
47one current channel using a dedicated high-side current-sense amplifier. The
48MAX16070 monitors up to twelve system voltages simultaneously, and the MAX16071
49monitors up to eight supply voltages.
50
51Each monitored channel has its own low and high critical limits. MAX16065,
52MAX16066, MAX16070, and MAX16071 support an additional limit which is
53configurable as either low or high secondary limit. MAX16065, MAX16066,
54MAX16070, and MAX16071 also support supply current monitoring.
55
56
57Usage Notes
58-----------
59
60This driver does not probe for devices, since there is no register which
61can be safely used to identify the chip. You will have to instantiate
62the devices explicitly. Please see Documentation/i2c/instantiating-devices for
63details.
64
65
66Sysfs entries
67-------------
68
69in[0-11]_input Input voltage measurements.
70
71in12_input Voltage on CSP (Current Sense Positive) pin.
72 Only if the chip supports current sensing and if
73 current sensing is enabled.
74
75in[0-11]_min Low warning limit.
76 Supported on MAX16065, MAX16066, MAX16070, and MAX16071
77 only.
78
79in[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
86in[0-11]_lcrit Low critical limit.
87
88in[0-11]_crit High critical limit.
89
90in[0-11]_alarm Input voltage alarm.
91
92curr1_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
97curr1_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 @@
1Kernel driver max34440
2======================
3
4Supported 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
15Author: Guenter Roeck <guenter.roeck@ericsson.com>
16
17
18Description
19-----------
20
21This driver supports hardware montoring for Maxim MAX34440 PMBus 6-Channel
22Power-Supply Manager and MAX34441 PMBus 5-Channel Power-Supply Manager
23and Intelligent Fan Controller.
24
25The driver is a client driver to the core PMBus driver. Please see
26Documentation/hwmon/pmbus for details on PMBus client drivers.
27
28
29Usage Notes
30-----------
31
32This driver does not auto-detect devices. You will have to instantiate the
33devices explicitly. Please see Documentation/i2c/instantiating-devices for
34details.
35
36
37Platform data support
38---------------------
39
40The driver supports standard PMBus driver platform data.
41
42
43Sysfs entries
44-------------
45
46The following attributes are supported. Limits are read-write; all other
47attributes are read-only.
48
49in[1-6]_label "vout[1-6]".
50in[1-6]_input Measured voltage. From READ_VOUT register.
51in[1-6]_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
52in[1-6]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
53in[1-6]_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register.
54in[1-6]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register.
55in[1-6]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
56in[1-6]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
57in[1-6]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
58in[1-6]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
59
60curr[1-6]_label "iout[1-6]".
61curr[1-6]_input Measured current. From READ_IOUT register.
62curr[1-6]_max Maximum current. From IOUT_OC_WARN_LIMIT register.
63curr[1-6]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register.
64curr[1-6]_max_alarm Current high alarm. From IOUT_OC_WARNING status.
65curr[1-6]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
66
67 in6 and curr6 attributes only exist for MAX34440.
68
69temp[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.
74temp[1-8]_max Maximum temperature. From OT_WARN_LIMIT register.
75temp[1-8]_crit Critical high temperature. From OT_FAULT_LIMIT register.
76temp[1-8]_max_alarm Temperature high alarm.
77temp[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 @@
1Kernel driver max6639
2=====================
3
4Supported 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
10Authors:
11 He Changqing <hechangqing@semptian.com>
12 Roland Stigge <stigge@antcom.de>
13
14Description
15-----------
16
17This driver implements support for the Maxim MAX6639. This chip is a 2-channel
18temperature monitor with dual PWM fan speed controller. It can monitor its own
19temperature and one external diode-connected transistor or two external
20diode-connected transistors.
21
22The following device attributes are implemented via sysfs:
23
24Attribute R/W Contents
25----------------------------------------------------------------------------
26temp1_input R Temperature channel 1 input (0..150 C)
27temp2_input R Temperature channel 2 input (0..150 C)
28temp1_fault R Temperature channel 1 diode fault
29temp2_fault R Temperature channel 2 diode fault
30temp1_max RW Set THERM temperature for input 1
31 (in C, see datasheet)
32temp2_max RW Set THERM temperature for input 2
33temp1_crit RW Set ALERT temperature for input 1
34temp2_crit RW Set ALERT temperature for input 2
35temp1_emergency RW Set OT temperature for input 1
36 (in C, see datasheet)
37temp2_emergency RW Set OT temperature for input 2
38pwm1 RW Fan 1 target duty cycle (0..255)
39pwm2 RW Fan 2 target duty cycle (0..255)
40fan1_input R TACH1 fan tachometer input (in RPM)
41fan2_input R TACH2 fan tachometer input (in RPM)
42fan1_fault R Fan 1 fault
43fan2_fault R Fan 2 fault
44temp1_max_alarm R Alarm on THERM temperature on channel 1
45temp2_max_alarm R Alarm on THERM temperature on channel 2
46temp1_crit_alarm R Alarm on ALERT temperature on channel 1
47temp2_crit_alarm R Alarm on ALERT temperature on channel 2
48temp1_emergency_alarm R Alarm on OT temperature on channel 1
49temp2_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 @@
1Kernel driver max6642
2=====================
3
4Supported 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
11Authors:
12 Per Dalen <per.dalen@appeartv.com>
13
14Description
15-----------
16
17The MAX6642 is a digital temperature sensor. It senses its own temperature as
18well as the temperature on one external diode.
19
20All temperature values are given in degrees Celsius. Resolution
21is 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
4Supported chips: 4Supported 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
10Authors: 14Authors:
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
15Description 19Description
16----------- 20-----------
17 21
18This driver implements support for the Maxim 6650/6651 22This driver implements support for the Maxim MAX6650 and MAX6651.
19 23
20The 2 devices are very similar, but the Maxim 6550 has a reduced feature 24The 2 devices are very similar, but the MAX6550 has a reduced feature
21set, e.g. only one fan-input, instead of 4 for the 6651. 25set, e.g. only one fan-input, instead of 4 for the MAX6651.
22 26
23The driver is not able to distinguish between the 2 devices. 27The 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
43Usage notes
44-----------
45
46This driver does not auto-detect devices. You will have to instantiate the
47devices explicitly. Please see Documentation/i2c/instantiating-devices for
48details.
49
39Module parameters 50Module 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 @@
1Kernel driver max8688
2=====================
3
4Supported chips:
5 * Maxim MAX8688
6 Prefix: 'max8688'
7 Addresses scanned: -
8 Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX8688.pdf
9
10Author: Guenter Roeck <guenter.roeck@ericsson.com>
11
12
13Description
14-----------
15
16This driver supports hardware montoring for Maxim MAX8688 Digital Power-Supply
17Controller/Monitor with PMBus Interface.
18
19The driver is a client driver to the core PMBus driver. Please see
20Documentation/hwmon/pmbus for details on PMBus client drivers.
21
22
23Usage Notes
24-----------
25
26This driver does not auto-detect devices. You will have to instantiate the
27devices explicitly. Please see Documentation/i2c/instantiating-devices for
28details.
29
30
31Platform data support
32---------------------
33
34The driver supports standard PMBus driver platform data.
35
36
37Sysfs entries
38-------------
39
40The following attributes are supported. Limits are read-write; all other
41attributes are read-only.
42
43in1_label "vout1"
44in1_input Measured voltage. From READ_VOUT register.
45in1_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
46in1_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
47in1_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register.
48in1_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register.
49in1_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
50in1_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
51in1_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
52in1_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
53
54curr1_label "iout1"
55curr1_input Measured current. From READ_IOUT register.
56curr1_max Maximum current. From IOUT_OC_WARN_LIMIT register.
57curr1_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register.
58curr1_max_alarm Current high alarm. From IOUT_OC_WARN_LIMIT register.
59curr1_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
60
61temp1_input Measured temperature. From READ_TEMPERATURE_1 register.
62temp1_max Maximum temperature. From OT_WARN_LIMIT register.
63temp1_crit Critical high temperature. From OT_FAULT_LIMIT register.
64temp1_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.
67temp1_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
4Supported chips: 4Supported 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
58Accessing PCF8591 via /sys interface 58Accessing PCF8591 via /sys interface
59------------------------------------- 59-------------------------------------
60 60
61! Be careful ! 61The PCF8591 is plainly impossible to detect! Thus the driver won't even
62The PCF8591 is plainly impossible to detect! Stupid chip. 62try. You have to explicitly instantiate the device at the relevant
63So every chip with address in the interval [0x48..0x4f] is 63address (in the interval [0x48..0x4f]) either through platform data, or
64detected as PCF8591. If you have other chips in this address 64using the sysfs interface. See Documentation/i2c/instantiating-devices
65range, the workaround is to load this module after the one 65for details.
66for your others chips.
67 66
68On detection (i.e. insmod, modprobe et al.), directories are being 67Directories are being created for each instantiated PCF8591:
69created for each detected PCF8591:
70 68
71/sys/bus/i2c/devices/<0>-<1>/ 69/sys/bus/i2c/devices/<0>-<1>/
72where <0> is the bus the chip was detected on (e. g. i2c-0) 70where <0> is the bus the chip is connected to (e. g. i2c-0)
73and <1> the chip address ([48..4f]) 71and <1> the chip address ([48..4f])
74 72
75Inside these directories, there are such files: 73Inside 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 @@
1Kernel driver pkgtemp
2======================
3
4Supported 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
11Author: Fenghua Yu
12
13Description
14-----------
15
16This driver permits reading package level temperature sensor embedded inside
17Intel CPU package. The sensors can be in core, uncore, memory controller, or
18other components in a package. The feature is first implemented in Intel Sandy
19Bridge platform.
20
21Temperature is measured in degrees Celsius and measurement resolution is
221 degree C. Valid temperatures are from 0 to TjMax degrees C, because the actual
23value of temperature register is in fact a delta from TjMax.
24
25Temperature known as TjMax is the maximum junction temperature of package.
26We get this from MSR_IA32_TEMPERATURE_TARGET. If the MSR is not accessible,
27we define TjMax as 100 degrees Celsius. At this temperature, protection
28mechanism will perform actions to forcibly cool down the package. Alarm
29may be raised, if the temperature grows enough (more than TjMax) to trigger
30the Out-Of-Spec bit. Following table summarizes the exported sysfs files:
31
32temp1_input - Package temperature (in millidegrees Celsius).
33temp1_max - All cooling devices should be turned on.
34temp1_crit - Maximum junction temperature (in millidegrees Celsius).
35temp1_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 @@
1Kernel driver pmbus
2====================
3
4Supported 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
21Author: Guenter Roeck <guenter.roeck@ericsson.com>
22
23
24Description
25-----------
26
27This driver supports hardware montoring for various PMBus compliant devices.
28It supports voltage, current, power, and temperature sensors as supported
29by the device.
30
31Each monitored channel has its own high and low limits, plus a critical
32limit.
33
34Fan support will be added in a later version of this driver.
35
36
37Usage Notes
38-----------
39
40This driver does not probe for PMBus devices, since there is no register
41which can be safely used to identify the chip (The MFG_ID register is not
42supported by all chips), and since there is no well defined address range for
43PMBus devices. You will have to instantiate the devices explicitly.
44
45Example: the following will load the driver for an LTC2978 at address 0x60
46on I2C bus #1:
47$ modprobe pmbus
48$ echo ltc2978 0x60 > /sys/bus/i2c/devices/i2c-1/new_device
49
50
51Platform data support
52---------------------
53
54Support for additional PMBus chips can be added by defining chip parameters in
55a new chip specific driver file. For example, (untested) code to add support for
56Emerson DS1200 power modules might look as follows.
57
58static 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
81static 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
87static int ds1200_remove(struct i2c_client *client)
88{
89 return pmbus_do_remove(client);
90}
91
92static const struct i2c_device_id ds1200_id[] = {
93 {"ds1200", 0},
94 {}
95};
96
97MODULE_DEVICE_TABLE(i2c, ds1200_id);
98
99/* This is the driver that will be inserted */
100static 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
109static int __init ds1200_init(void)
110{
111 return i2c_add_driver(&ds1200_driver);
112}
113
114static void __exit ds1200_exit(void)
115{
116 i2c_del_driver(&ds1200_driver);
117}
118
119
120Sysfs entries
121-------------
122
123When probing the chip, the driver identifies which PMBus registers are
124supported, and determines available sensors from this information.
125Attribute files only exist if respective sensors are suported by the chip.
126Labels are provided to inform the user about the sensor associated with
127a given sysfs entry.
128
129The following attributes are supported. Limits are read-write; all other
130attributes are read-only.
131
132inX_input Measured voltage. From READ_VIN or READ_VOUT register.
133inX_min Minimum Voltage.
134 From VIN_UV_WARN_LIMIT or VOUT_UV_WARN_LIMIT register.
135inX_max Maximum voltage.
136 From VIN_OV_WARN_LIMIT or VOUT_OV_WARN_LIMIT register.
137inX_lcrit Critical minimum Voltage.
138 From VIN_UV_FAULT_LIMIT or VOUT_UV_FAULT_LIMIT register.
139inX_crit Critical maximum voltage.
140 From VIN_OV_FAULT_LIMIT or VOUT_OV_FAULT_LIMIT register.
141inX_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
142inX_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
143inX_lcrit_alarm Voltage critical low alarm.
144 From VOLTAGE_UV_FAULT status.
145inX_crit_alarm Voltage critical high alarm.
146 From VOLTAGE_OV_FAULT status.
147inX_label "vin", "vcap", or "voutY"
148
149currX_input Measured current. From READ_IIN or READ_IOUT register.
150currX_max Maximum current.
151 From IIN_OC_WARN_LIMIT or IOUT_OC_WARN_LIMIT register.
152currX_lcrit Critical minimum output current.
153 From IOUT_UC_FAULT_LIMIT register.
154currX_crit Critical maximum current.
155 From IIN_OC_FAULT_LIMIT or IOUT_OC_FAULT_LIMIT register.
156currX_alarm Current high alarm.
157 From IIN_OC_WARNING or IOUT_OC_WARNING status.
158currX_max_alarm Current high alarm.
159 From IIN_OC_WARN_LIMIT or IOUT_OC_WARN_LIMIT status.
160currX_lcrit_alarm Output current critical low alarm.
161 From IOUT_UC_FAULT status.
162currX_crit_alarm Current critical high alarm.
163 From IIN_OC_FAULT or IOUT_OC_FAULT status.
164currX_label "iin" or "ioutY"
165
166powerX_input Measured power. From READ_PIN or READ_POUT register.
167powerX_cap Output power cap. From POUT_MAX register.
168powerX_max Power limit. From PIN_OP_WARN_LIMIT or
169 POUT_OP_WARN_LIMIT register.
170powerX_crit Critical output power limit.
171 From POUT_OP_FAULT_LIMIT register.
172powerX_alarm Power high alarm.
173 From PIN_OP_WARNING or POUT_OP_WARNING status.
174powerX_crit_alarm Output power critical high alarm.
175 From POUT_OP_FAULT status.
176powerX_label "pin" or "poutY"
177
178tempX_input Measured temperature.
179 From READ_TEMPERATURE_X register.
180tempX_min Mimimum temperature. From UT_WARN_LIMIT register.
181tempX_max Maximum temperature. From OT_WARN_LIMIT register.
182tempX_lcrit Critical low temperature.
183 From UT_FAULT_LIMIT register.
184tempX_crit Critical high temperature.
185 From OT_FAULT_LIMIT register.
186tempX_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.
189tempX_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.
192tempX_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.
195tempX_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 @@
1Kernel driver sch5627
2=====================
3
4Supported 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
10Author: Hans de Goede <hdegoede@redhat.com>
11
12
13Description
14-----------
15
16SMSC SCH5627 Super I/O chips include complete hardware monitoring
17capabilities. They can monitor up to 5 voltages, 4 fans and 8 temperatures.
18
19The hardware monitoring part of the SMSC SCH5627 is accessed by talking
20through an embedded microcontroller. An application note describing the
21protocol for communicating with the microcontroller is available upon
22request. 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 @@
1Kernel driver sht15
2===================
3
4Authors:
5 * Wouter Horre
6 * Jonathan Cameron
7 * Vivien Didelot <vivien.didelot@savoirfairelinux.com>
8 * Jerome Oufella <jerome.oufella@savoirfairelinux.com>
9
10Supported 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
26Datasheet: Publicly available at the Sensirion website
27http://www.sensirion.ch/en/pdf/product_information/Datasheet-humidity-sensor-SHT1x.pdf
28
29Description
30-----------
31
32The SHT10, SHT11, SHT15, SHT71, and SHT75 are humidity and temperature
33sensors.
34
35The devices communicate using two GPIO lines.
36
37Supported resolutions for the measurements are 14 bits for temperature and 12
38bits for humidity, or 12 bits for temperature and 8 bits for humidity.
39
40The humidity calibration coefficients are programmed into an OTP memory on the
41chip. These coefficients are used to internally calibrate the signals from the
42sensors. Disabling the reload of those coefficients allows saving 10ms for each
43measurement and decrease power consumption, while loosing on precision.
44
45Some options may be set directly in the sht15_platform_data structure
46or via sysfs attributes.
47
48Notes:
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
54Platform 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
64Sysfs 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 @@
1Kernel driver sht21
2===================
3
4Supported 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
17Author:
18 Urs Fleisch <urs.fleisch@sensirion.com>
19
20Description
21-----------
22
23The SHT21 and SHT25 are humidity and temperature sensors in a DFN package of
24only 3 x 3 mm footprint and 1.1 mm height. The difference between the two
25devices is the higher level of precision of the SHT25 (1.8% relative humidity,
260.2 degree Celsius) compared with the SHT21 (2.0% relative humidity,
270.3 degree Celsius).
28
29The devices communicate with the I2C protocol. All sensors are set to the same
30I2C address 0x40, so an entry with I2C_BOARD_INFO("sht21", 0x40) can be used
31in the board setup code.
32
33sysfs-Interface
34---------------
35
36temp1_input - temperature input
37humidity1_input - humidity input
38
39Notes
40-----
41
42The driver uses the default resolution settings of 12 bit for humidity and 14
43bit for temperature, which results in typical measurement times of 22 ms for
44humidity and 66 ms for temperature. To keep self heating below 0.1 degree
45Celsius, the device should not be active for more than 10% of the time,
46e.g. maximum two measurements per second at the given resolution.
47
48Different resolutions, the on-chip heater, using the CRC checksum and reading
49the 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
150in9_crit_alarm AIN1 critical alarm 150in9_crit_alarm AIN1 critical alarm
151in10_crit_alarm AIN2 critical alarm 151in10_crit_alarm AIN2 critical alarm
152 152
153temp1_input Chip tempererature 153temp1_input Chip temperature
154temp1_min Mimimum chip tempererature 154temp1_min Mimimum chip temperature
155temp1_max Maximum chip tempererature 155temp1_max Maximum chip temperature
156temp1_crit Critical chip tempererature 156temp1_crit Critical chip temperature
157temp1_crit_alarm Temperature critical alarm 157temp1_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
4This text is is a collection of suggestions for people writing patches or
5drivers for the hwmon subsystem. Following these suggestions will greatly
6increase the chances of your change being accepted.
7
8
91. 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
342. 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
493. 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
190fan[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
190fan[1-*]_target 201fan[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
323temp[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
330temp[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
312temp[1-*]_lcrit Temperature critical min value, typically lower than 337temp[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
398curr[1-*]_lcrit Current critical low value
399 Unit: milliampere
400 RW
401
402curr[1-*]_crit Current critical high value.
403 Unit: milliampere
404 RW
405
373curr[1-*]_input Current input value 406curr[1-*]_input Current input value
374 Unit: milliampere 407 Unit: milliampere
375 RO 408 RO
376 409
410Also 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
439power[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
446power[1-*]_cap If power use rises above this limit, the 474power[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
496power[1-*]_max Maximum power.
497 Unit: microWatt
498 RW
499
500power[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
508Also 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
523humidity[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
488in[0-*]_alarm 539in[0-*]_alarm
489curr[1-*]_alarm 540curr[1-*]_alarm
541power[1-*]_alarm
490fan[1-*]_alarm 542fan[1-*]_alarm
491temp[1-*]_alarm 543temp[1-*]_alarm
492 Channel alarm 544 Channel alarm
@@ -498,13 +550,22 @@ OR
498 550
499in[0-*]_min_alarm 551in[0-*]_min_alarm
500in[0-*]_max_alarm 552in[0-*]_max_alarm
553in[0-*]_lcrit_alarm
554in[0-*]_crit_alarm
501curr[1-*]_min_alarm 555curr[1-*]_min_alarm
502curr[1-*]_max_alarm 556curr[1-*]_max_alarm
557curr[1-*]_lcrit_alarm
558curr[1-*]_crit_alarm
559power[1-*]_cap_alarm
560power[1-*]_max_alarm
561power[1-*]_crit_alarm
503fan[1-*]_min_alarm 562fan[1-*]_min_alarm
504fan[1-*]_max_alarm 563fan[1-*]_max_alarm
505temp[1-*]_min_alarm 564temp[1-*]_min_alarm
506temp[1-*]_max_alarm 565temp[1-*]_max_alarm
566temp[1-*]_lcrit_alarm
507temp[1-*]_crit_alarm 567temp[1-*]_crit_alarm
568temp[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.
518fan[1-*]_fault 579fan[1-*]_fault
519temp[1-*]_fault 580temp[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 @@
1Kernel driver twl4030-madc
2=========================
3
4Supported chips:
5 * Texas Instruments TWL4030
6 Prefix: 'twl4030-madc'
7
8
9Authors:
10 J Keerthy <j-keerthy@ti.com>
11
12Description
13-----------
14
15The Texas Instruments TWL4030 is a Power Management and Audio Circuit. Among
16other things it contains a 10-bit A/D converter MADC. The converter has 16
17channels which can be used in different modes.
18
19
20See this table for the meaning of the different channels
21
22Channel Signal
23------------------------------------------
240 Battery type(BTYPE)
251 BCI: Battery temperature (BTEMP)
262 GP analog input
273 GP analog input
284 GP analog input
295 GP analog input
306 GP analog input
317 GP analog input
328 BCI: VBUS voltage(VBUS)
339 Backup Battery voltage (VBKP)
3410 BCI: Battery charger current (ICHG)
3511 BCI: Battery charger voltage (VCHG)
3612 BCI: Main battery voltage (VBAT)
3713 Reserved
3814 Reserved
3915 VRUSB Supply/Speaker left/Speaker right polarization level
40
41
42The Sysfs nodes will represent the voltage in the units of mV,
43the temperature channel shows the converted temperature in
44degree celcius. The Battery charging current channel represents
45battery 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 @@
1Kernel driver ucd9000
2=====================
3
4Supported 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
14Author: Guenter Roeck <guenter.roeck@ericsson.com>
15
16
17Description
18-----------
19
20From datasheets:
21
22The UCD90120 Power Supply Sequencer and System Health Monitor monitors and
23sequences up to 12 independent voltage rails. The device integrates a 12-bit
24ADC with a 2.5V internal reference for monitoring up to 13 power supply voltage,
25current, or temperature inputs.
26
27The UCD90124 is a 12-rail PMBus/I2C addressable power-supply sequencer and
28system-health monitor. The device integrates a 12-bit ADC for monitoring up to
2913 power-supply voltage, current, or temperature inputs. Twenty-six GPIO pins
30can be used for power supply enables, power-on reset signals, external
31interrupts, cascading, or other system functions. Twelve of these pins offer PWM
32functionality. Using these pins, the UCD90124 offers support for fan control,
33margining, and general-purpose PWM functions.
34
35The UCD9090 is a 10-rail PMBus/I2C addressable power-supply sequencer and
36monitor. The device integrates a 12-bit ADC for monitoring up to 10 power-supply
37voltage inputs. Twenty-three GPIO pins can be used for power supply enables,
38power-on reset signals, external interrupts, cascading, or other system
39functions. Ten of these pins offer PWM functionality. Using these pins, the
40UCD9090 offers support for margining, and general-purpose PWM functions.
41
42The UCD90910 is a ten-rail I2C / PMBus addressable power-supply sequencer and
43system-health monitor. The device integrates a 12-bit ADC for monitoring up to
4413 power-supply voltage, current, or temperature inputs.
45
46This driver is a client driver to the core PMBus driver. Please see
47Documentation/hwmon/pmbus for details on PMBus client drivers.
48
49
50Usage Notes
51-----------
52
53This driver does not auto-detect devices. You will have to instantiate the
54devices explicitly. Please see Documentation/i2c/instantiating-devices for
55details.
56
57
58Platform data support
59---------------------
60
61The driver supports standard PMBus driver platform data. Please see
62Documentation/hwmon/pmbus for details.
63
64
65Sysfs entries
66-------------
67
68The following attributes are supported. Limits are read-write; all other
69attributes are read-only.
70
71in[1-12]_label "vout[1-12]".
72in[1-12]_input Measured voltage. From READ_VOUT register.
73in[1-12]_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
74in[1-12]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
75in[1-12]_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register.
76in[1-12]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register.
77in[1-12]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
78in[1-12]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
79in[1-12]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
80in[1-12]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
81
82curr[1-12]_label "iout[1-12]".
83curr[1-12]_input Measured current. From READ_IOUT register.
84curr[1-12]_max Maximum current. From IOUT_OC_WARN_LIMIT register.
85curr[1-12]_lcrit Critical minumum output current. From IOUT_UC_FAULT_LIMIT
86 register.
87curr[1-12]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register.
88curr[1-12]_max_alarm Current high alarm. From IOUT_OC_WARNING status.
89curr[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
95temp[1-2]_input Measured temperatures. From READ_TEMPERATURE_1 and
96 READ_TEMPERATURE_2 registers.
97temp[1-2]_max Maximum temperature. From OT_WARN_LIMIT register.
98temp[1-2]_crit Critical high temperature. From OT_FAULT_LIMIT register.
99temp[1-2]_max_alarm Temperature high alarm.
100temp[1-2]_crit_alarm Temperature critical high alarm.
101
102fan[1-4]_input Fan RPM.
103fan[1-4]_alarm Fan alarm.
104fan[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 @@
1Kernel driver ucd9200
2=====================
3
4Supported 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
18Author: Guenter Roeck <guenter.roeck@ericsson.com>
19
20
21Description
22-----------
23
24[From datasheets] UCD9220, UCD9222, UCD9224, UCD9240, UCD9244, UCD9246, and
25UCD9248 are multi-rail, multi-phase synchronous buck digital PWM controllers
26designed for non-isolated DC/DC power applications. The devices integrate
27dedicated circuitry for DC/DC loop management with flash memory and a serial
28interface to support configuration, monitoring and management.
29
30This driver is a client driver to the core PMBus driver. Please see
31Documentation/hwmon/pmbus for details on PMBus client drivers.
32
33
34Usage Notes
35-----------
36
37This driver does not auto-detect devices. You will have to instantiate the
38devices explicitly. Please see Documentation/i2c/instantiating-devices for
39details.
40
41
42Platform data support
43---------------------
44
45The driver supports standard PMBus driver platform data. Please see
46Documentation/hwmon/pmbus for details.
47
48
49Sysfs entries
50-------------
51
52The following attributes are supported. Limits are read-write; all other
53attributes are read-only.
54
55in1_label "vin".
56in1_input Measured voltage. From READ_VIN register.
57in1_min Minumum Voltage. From VIN_UV_WARN_LIMIT register.
58in1_max Maximum voltage. From VIN_OV_WARN_LIMIT register.
59in1_lcrit Critical minumum Voltage. VIN_UV_FAULT_LIMIT register.
60in1_crit Critical maximum voltage. From VIN_OV_FAULT_LIMIT register.
61in1_min_alarm Voltage low alarm. From VIN_UV_WARNING status.
62in1_max_alarm Voltage high alarm. From VIN_OV_WARNING status.
63in1_lcrit_alarm Voltage critical low alarm. From VIN_UV_FAULT status.
64in1_crit_alarm Voltage critical high alarm. From VIN_OV_FAULT status.
65
66in[2-5]_label "vout[1-4]".
67in[2-5]_input Measured voltage. From READ_VOUT register.
68in[2-5]_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
69in[2-5]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
70in[2-5]_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register.
71in[2-5]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register.
72in[2-5]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
73in[2-5]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
74in[2-5]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
75in[2-5]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
76
77curr1_label "iin".
78curr1_input Measured current. From READ_IIN register.
79
80curr[2-5]_label "iout[1-4]".
81curr[2-5]_input Measured current. From READ_IOUT register.
82curr[2-5]_max Maximum current. From IOUT_OC_WARN_LIMIT register.
83curr[2-5]_lcrit Critical minumum output current. From IOUT_UC_FAULT_LIMIT
84 register.
85curr[2-5]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register.
86curr[2-5]_max_alarm Current high alarm. From IOUT_OC_WARNING status.
87curr[2-5]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
88
89power1_input Measured input power. From READ_PIN register.
90power1_label "pin"
91
92power[2-5]_input Measured output power. From READ_POUT register.
93power[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
99temp[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.
105temp[1-5]_max Maximum temperature. From OT_WARN_LIMIT register.
106temp[1-5]_crit Critical high temperature. From OT_FAULT_LIMIT register.
107temp[1-5]_max_alarm Temperature high alarm.
108temp[1-5]_crit_alarm Temperature critical high alarm.
109
110fan1_input Fan RPM. ucd9240 only.
111fan1_alarm Fan alarm. ucd9240 only.
112fan1_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
28Authors: 34Authors:
29 Jean Delvare <khali@linux-fr.org> 35 Jean Delvare <khali@linux-fr.org>
@@ -36,19 +42,28 @@ Description
36----------- 42-----------
37 43
38This driver implements support for the Winbond W83627EHF, W83627EHG, 44This driver implements support for the Winbond W83627EHF, W83627EHG,
39W83627DHG, W83627DHG-P, W83667HG and W83667HG-B super I/O chips. 45W83627DHG, W83627DHG-P, W83667HG, W83667HG-B, W83667HG-I (NCT6775F),
40We will refer to them collectively as Winbond chips. 46and NCT6776F super I/O chips. We will refer to them collectively as
41 47Winbond chips.
42The chips implement three temperature sensors, five fan rotation 48
43speed sensors, ten analog voltage sensors (only nine for the 627DHG), one 49The chips implement three temperature sensors (up to four for 667HG-B, and nine
44VID (6 pins for the 627EHF/EHG, 8 pins for the 627DHG and 667HG), alarms 50for NCT6775F and NCT6776F), five fan rotation speed sensors, ten analog voltage
45with beep warnings (control unimplemented), and some automatic fan 51sensors (only nine for the 627DHG), one VID (6 pins for the 627EHF/EHG, 8 pins
46regulation strategies (plus manual fan control mode). 52for the 627DHG and 667HG), alarms with beep warnings (control unimplemented),
53and some automatic fan regulation strategies (plus manual fan control mode).
54
55The temperature sensor sources on W82677HG-B, NCT6775F, and NCT6776F are
56configurable. temp4 and higher attributes are only reported if its temperature
57source differs from the temperature sources of the already reported temperature
58sensors. The configured source for each of the temperature sensors is provided
59in tempX_label.
47 60
48Temperatures are measured in degrees Celsius and measurement resolution is 1 61Temperatures are measured in degrees Celsius and measurement resolution is 1
49degC for temp1 and 0.5 degC for temp2 and temp3. An alarm is triggered when 62degC for temp1 and and 0.5 degC for temp2 and temp3. For temp4 and higher,
50the temperature gets higher than high limit; it stays on until the temperature 63resolution is 1 degC for W83667HG-B and 0.0 degC for NCT6775F and NCT6776F.
51falls below the hysteresis value. 64An alarm is triggered when the temperature gets higher than high limit;
65it stays on until the temperature falls below the hysteresis value.
66Alarms are only supported for temp1, temp2, and temp3.
52 67
53Fan rotation speeds are reported in RPM (rotations per minute). An alarm is 68Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
54triggered if the rotation speed has dropped below a programmable limit. Fan 69triggered 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
81name - this is a standard hwmon device entry. For the W83627EHF and W83627EHG, 96name - 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
85pwm[1-4] - this file stores PWM duty cycle or DC value (fan speed) in range: 101pwm[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
94pwm[1-4]_mode - controls if output is PWM or DC level 122pwm[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
92The above sequence assumes a Super-I/O config space at 0x2e/0x2f, but 92The above sequence assumes a Super-I/O config space at 0x2e/0x2f, but
930x4e/0x4f is also possible. 930x4e/0x4f is also possible.
94
95Voltage pin mapping
96-------------------
97
98Here is a summary of the voltage pin mapping for the W83627THF. This
99can be useful to convert data provided by board manufacturers into
100working 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
113For other supported devices, you'll have to take the hard path and
114look up the information in the datasheet yourself (and then add it
115to 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
4040x80 - seems to turn fans off after some time(1-2 minutes)... might be 4040x80 - seems to turn fans off after some time(1-2 minutes)... might be
405some form of auto-fan-control based on temp? hmm (Qfan? this mobo is an 405some form of auto-fan-control based on temp? hmm (Qfan? this mobo is an
406old ASUS, it isn't marketed as Qfan. Maybe some beta pre-attemp at Qfan 406old ASUS, it isn't marketed as Qfan. Maybe some beta pre-attempt at Qfan
407that was dropped at the BIOS) 407that was dropped at the BIOS)
4080x81 - off 4080x81 - off
4090x82 - slightly "on-ner" than off, but my fans do not get to move. I can 4090x82 - 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
93method of a single sysfs beep_mask file to a newer method using multiple 93method 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
96A similar change has occured for the bitmap corresponding to the alarms. The 96A similar change has occurred for the bitmap corresponding to the alarms. The
97original legacy method used a single sysfs alarms file containing a bitmap 97original legacy method used a single sysfs alarms file containing a bitmap
98of triggered alarms. The newer method uses multiple sysfs *_alarm files 98of 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 @@
1Kernel driver w83795
2====================
3
4Supported 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
14Authors:
15 Wei Song (Nuvoton)
16 Jean Delvare <khali@linux-fr.org>
17
18
19Pin mapping
20-----------
21
22Here is a summary of the pin mapping for the W83795G and W83795ADG.
23This can be useful to convert data provided by board manufacturers
24into 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