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