diff options
author | Hartmut Rick <linux@rick.claranet.de> | 2006-03-23 10:37:23 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-06-22 14:10:32 -0400 |
commit | 59ac83677f72ea2cc25b5426e7df9589aa7a5384 (patch) | |
tree | a15039b9744a87832af8efa048cc9d229440aa97 /Documentation/hwmon | |
parent | a4589dbb4e2dc758d1aadb8b5d7e5a598ccb0341 (diff) |
[PATCH] smsc47m192: New hwmon driver for SMSC LPC47M192/997
New driver (smsc47m192) which supports voltage and temperature
measurement features of SMSC LPC47M192 and LPC47M997 chips.
Signed-off-by: Hartmut Rick <linux@rick.claranet.de>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'Documentation/hwmon')
-rw-r--r-- | Documentation/hwmon/smsc47m192 | 102 | ||||
-rw-r--r-- | Documentation/hwmon/sysfs-interface | 6 |
2 files changed, 108 insertions, 0 deletions
diff --git a/Documentation/hwmon/smsc47m192 b/Documentation/hwmon/smsc47m192 new file mode 100644 index 000000000000..45d6453cd435 --- /dev/null +++ b/Documentation/hwmon/smsc47m192 | |||
@@ -0,0 +1,102 @@ | |||
1 | Kernel driver smsc47m192 | ||
2 | ======================== | ||
3 | |||
4 | Supported chips: | ||
5 | * SMSC LPC47M192 and LPC47M997 | ||
6 | Prefix: 'smsc47m192' | ||
7 | Addresses scanned: I2C 0x2c - 0x2d | ||
8 | Datasheet: The datasheet for LPC47M192 is publicly available from | ||
9 | http://www.smsc.com/ | ||
10 | The LPC47M997 is compatible for hardware monitoring. | ||
11 | |||
12 | Author: Hartmut Rick <linux@rick.claranet.de> | ||
13 | Special thanks to Jean Delvare for careful checking | ||
14 | of the code and many helpful comments and suggestions. | ||
15 | |||
16 | |||
17 | Description | ||
18 | ----------- | ||
19 | |||
20 | This driver implements support for the hardware sensor capabilities | ||
21 | of the SMSC LPC47M192 and LPC47M997 Super-I/O chips. | ||
22 | |||
23 | These chips support 3 temperature channels and 8 voltage inputs | ||
24 | as well as CPU voltage VID input. | ||
25 | |||
26 | They do also have fan monitoring and control capabilities, but the | ||
27 | these features are accessed via ISA bus and are not supported by this | ||
28 | driver. Use the 'smsc47m1' driver for fan monitoring and control. | ||
29 | |||
30 | Voltages and temperatures are measured by an 8-bit ADC, the resolution | ||
31 | of the temperatures is 1 bit per degree C. | ||
32 | Voltages are scaled such that the nominal voltage corresponds to | ||
33 | 192 counts, i.e. 3/4 of the full range. Thus the available range for | ||
34 | each voltage channel is 0V ... 255/192*(nominal voltage), the resolution | ||
35 | is 1 bit per (nominal voltage)/192. | ||
36 | Both voltage and temperature values are scaled by 1000, the sys files | ||
37 | show voltages in mV and temperatures in units of 0.001 degC. | ||
38 | |||
39 | The +12V analog voltage input channel (in4_input) is multiplexed with | ||
40 | bit 4 of the encoded CPU voltage. This means that you either get | ||
41 | a +12V voltage measurement or a 5 bit CPU VID, but not both. | ||
42 | The default setting is to use the pin as 12V input, and use only 4 bit VID. | ||
43 | This driver assumes that the information in the configuration register | ||
44 | is correct, i.e. that the BIOS has updated the configuration if | ||
45 | the motherboard has this input wired to VID4. | ||
46 | |||
47 | The temperature and voltage readings are updated once every 1.5 seconds. | ||
48 | Reading them more often repeats the same values. | ||
49 | |||
50 | |||
51 | sysfs interface | ||
52 | --------------- | ||
53 | |||
54 | in0_input - +2.5V voltage input | ||
55 | in1_input - CPU voltage input (nominal 2.25V) | ||
56 | in2_input - +3.3V voltage input | ||
57 | in3_input - +5V voltage input | ||
58 | in4_input - +12V voltage input (may be missing if used as VID4) | ||
59 | in5_input - Vcc voltage input (nominal 3.3V) | ||
60 | This is the supply voltage of the sensor chip itself. | ||
61 | in6_input - +1.5V voltage input | ||
62 | in7_input - +1.8V voltage input | ||
63 | |||
64 | in[0-7]_min, | ||
65 | in[0-7]_max - lower and upper alarm thresholds for in[0-7]_input reading | ||
66 | |||
67 | All voltages are read and written in mV. | ||
68 | |||
69 | in[0-7]_alarm - alarm flags for voltage inputs | ||
70 | These files read '1' in case of alarm, '0' otherwise. | ||
71 | |||
72 | temp1_input - chip temperature measured by on-chip diode | ||
73 | temp[2-3]_input - temperature measured by external diodes (one of these would | ||
74 | typically be wired to the diode inside the CPU) | ||
75 | |||
76 | temp[1-3]_min, | ||
77 | temp[1-3]_max - lower and upper alarm thresholds for temperatures | ||
78 | |||
79 | temp[1-3]_offset - temperature offset registers | ||
80 | The chip adds the offsets stored in these registers to | ||
81 | the corresponding temperature readings. | ||
82 | Note that temp1 and temp2 offsets share the same register, | ||
83 | they cannot both be different from zero at the same time. | ||
84 | Writing a non-zero number to one of them will reset the other | ||
85 | offset to zero. | ||
86 | |||
87 | All temperatures and offsets are read and written in | ||
88 | units of 0.001 degC. | ||
89 | |||
90 | temp[1-3]_alarm - alarm flags for temperature inputs, '1' in case of alarm, | ||
91 | '0' otherwise. | ||
92 | temp[2-3]_input_fault - diode fault flags for temperature inputs 2 and 3. | ||
93 | A fault is detected if the two pins for the corresponding | ||
94 | sensor are open or shorted, or any of the two is shorted | ||
95 | to ground or Vcc. '1' indicates a diode fault. | ||
96 | |||
97 | cpu0_vid - CPU voltage as received from the CPU | ||
98 | |||
99 | vrm - CPU VID standard used for decoding CPU voltage | ||
100 | |||
101 | The *_min, *_max, *_offset and vrm files can be read and | ||
102 | written, all others are read-only. | ||
diff --git a/Documentation/hwmon/sysfs-interface b/Documentation/hwmon/sysfs-interface index a0d0ab24288e..2d16e1e4017d 100644 --- a/Documentation/hwmon/sysfs-interface +++ b/Documentation/hwmon/sysfs-interface | |||
@@ -218,6 +218,12 @@ temp[1-2]_crit_hyst | |||
218 | from the critical value. | 218 | from the critical value. |
219 | Read/Write value. | 219 | Read/Write value. |
220 | 220 | ||
221 | temp[1-4]_offset | ||
222 | Temperature offset which is added to the temperature reading | ||
223 | by the chip. | ||
224 | Unit: millidegree Celsius | ||
225 | Read/Write value. | ||
226 | |||
221 | If there are multiple temperature sensors, temp1_* is | 227 | If there are multiple temperature sensors, temp1_* is |
222 | generally the sensor inside the chip itself, | 228 | generally the sensor inside the chip itself, |
223 | reported as "motherboard temperature". temp2_* to | 229 | reported as "motherboard temperature". temp2_* to |