1Kernel driver smsc47m192
2========================
3
4Supported chips:
5  * SMSC LPC47M192, LPC47M15x, LPC47M292 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 LPC47M15x, LPC47M292 and LPC47M997 are compatible for
11               hardware monitoring.
12
13Author: Hartmut Rick <linux@rick.claranet.de>
14        Special thanks to Jean Delvare for careful checking
15        of the code and many helpful comments and suggestions.
16
17
18Description
19-----------
20
21This driver implements support for the hardware sensor capabilities
22of the SMSC LPC47M192 and compatible Super-I/O chips.
23
24These chips support 3 temperature channels and 8 voltage inputs
25as well as CPU voltage VID input.
26
27They do also have fan monitoring and control capabilities, but the
28these features are accessed via ISA bus and are not supported by this
29driver. Use the 'smsc47m1' driver for fan monitoring and control.
30
31Voltages and temperatures are measured by an 8-bit ADC, the resolution
32of the temperatures is 1 bit per degree C.
33Voltages are scaled such that the nominal voltage corresponds to
34192 counts, i.e. 3/4 of the full range. Thus the available range for
35each voltage channel is 0V ... 255/192*(nominal voltage), the resolution
36is 1 bit per (nominal voltage)/192.
37Both voltage and temperature values are scaled by 1000, the sys files
38show voltages in mV and temperatures in units of 0.001 degC.
39
40The +12V analog voltage input channel (in4_input) is multiplexed with
41bit 4 of the encoded CPU voltage. This means that you either get
42a +12V voltage measurement or a 5 bit CPU VID, but not both.
43The default setting is to use the pin as 12V input, and use only 4 bit VID.
44This driver assumes that the information in the configuration register
45is correct, i.e. that the BIOS has updated the configuration if
46the motherboard has this input wired to VID4.
47
48The temperature and voltage readings are updated once every 1.5 seconds.
49Reading them more often repeats the same values.
50
51
52sysfs interface
53---------------
54
55in0_input	- +2.5V voltage input
56in1_input	- CPU voltage input (nominal 2.25V)
57in2_input	- +3.3V voltage input
58in3_input	- +5V voltage input
59in4_input	- +12V voltage input (may be missing if used as VID4)
60in5_input	- Vcc voltage input (nominal 3.3V)
61		  This is the supply voltage of the sensor chip itself.
62in6_input	- +1.5V voltage input
63in7_input	- +1.8V voltage input
64
65in[0-7]_min,
66in[0-7]_max	- lower and upper alarm thresholds for in[0-7]_input reading
67
68		  All voltages are read and written in mV.
69
70in[0-7]_alarm	- alarm flags for voltage inputs
71		  These files read '1' in case of alarm, '0' otherwise.
72
73temp1_input	- chip temperature measured by on-chip diode
74temp[2-3]_input	- temperature measured by external diodes (one of these would
75		  typically be wired to the diode inside the CPU)
76
77temp[1-3]_min,
78temp[1-3]_max	- lower and upper alarm thresholds for temperatures
79
80temp[1-3]_offset - temperature offset registers
81		  The chip adds the offsets stored in these registers to
82		  the corresponding temperature readings.
83		  Note that temp1 and temp2 offsets share the same register,
84		  they cannot both be different from zero at the same time.
85		  Writing a non-zero number to one of them will reset the other
86		  offset to zero.
87
88		  All temperatures and offsets are read and written in
89		  units of 0.001 degC.
90
91temp[1-3]_alarm - alarm flags for temperature inputs, '1' in case of alarm,
92		  '0' otherwise.
93temp[2-3]_input_fault - diode fault flags for temperature inputs 2 and 3.
94		  A fault is detected if the two pins for the corresponding
95		  sensor are open or shorted, or any of the two is shorted
96		  to ground or Vcc. '1' indicates a diode fault.
97
98cpu0_vid	- CPU voltage as received from the CPU
99
100vrm		- CPU VID standard used for decoding CPU voltage
101
102		  The *_min, *_max, *_offset and vrm files can be read and
103		  written, all others are read-only.
104