Commit | Line | Data |
---|---|---|
59ac8367 HR |
1 | Kernel driver smsc47m192 |
2 | ======================== | |
3 | ||
4 | Supported chips: | |
b04f2f7d | 5 | |
00cb4739 | 6 | * SMSC LPC47M192, LPC47M15x, LPC47M292 and LPC47M997 |
b04f2f7d | 7 | |
59ac8367 | 8 | Prefix: 'smsc47m192' |
b04f2f7d | 9 | |
59ac8367 | 10 | Addresses scanned: I2C 0x2c - 0x2d |
b04f2f7d | 11 | |
59ac8367 | 12 | Datasheet: The datasheet for LPC47M192 is publicly available from |
59ac8367 | 13 | |
b04f2f7d MCC |
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. | |
59ac8367 HR |
27 | |
28 | ||
29 | Description | |
30 | ----------- | |
31 | ||
32 | This driver implements support for the hardware sensor capabilities | |
00cb4739 | 33 | of the SMSC LPC47M192 and compatible Super-I/O chips. |
59ac8367 HR |
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 | ||
b04f2f7d MCC |
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 | |
59ac8367 HR |
76 | |
77 | in[0-7]_min, | |
b04f2f7d | 78 | in[0-7]_max lower and upper alarm thresholds for in[0-7]_input reading |
59ac8367 | 79 | |
b04f2f7d | 80 | All voltages are read and written in mV. |
59ac8367 | 81 | |
b04f2f7d MCC |
82 | in[0-7]_alarm alarm flags for voltage inputs |
83 | These files read '1' in case of alarm, '0' otherwise. | |
59ac8367 | 84 | |
b04f2f7d MCC |
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) | |
59ac8367 HR |
88 | |
89 | temp[1-3]_min, | |
b04f2f7d | 90 | temp[1-3]_max lower and upper alarm thresholds for temperatures |
59ac8367 | 91 | |
b04f2f7d MCC |
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. | |
59ac8367 | 99 | |
b04f2f7d MCC |
100 | All temperatures and offsets are read and written in |
101 | units of 0.001 degC. | |
59ac8367 | 102 | |
b04f2f7d MCC |
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. | |
59ac8367 | 109 | |
b04f2f7d | 110 | cpu0_vid CPU voltage as received from the CPU |
59ac8367 | 111 | |
b04f2f7d MCC |
112 | vrm CPU VID standard used for decoding CPU voltage |
113 | ===================== ========================================================== | |
59ac8367 | 114 | |
b04f2f7d MCC |
115 | The `*_min`, `*_max`, `*_offset` and `vrm` files can be read and written, |
116 | all others are read-only. |