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