Back to home page

OSCL-LXR

 
 

    


0001 Kernel driver smsc47m192
0002 ========================
0003 
0004 Supported chips:
0005 
0006   * SMSC LPC47M192, LPC47M15x, LPC47M292 and LPC47M997
0007 
0008     Prefix: 'smsc47m192'
0009 
0010     Addresses scanned: I2C 0x2c - 0x2d
0011 
0012     Datasheet: The datasheet for LPC47M192 is publicly available from
0013 
0014                http://www.smsc.com/
0015 
0016                The LPC47M15x, LPC47M292 and LPC47M997 are compatible for
0017 
0018                hardware monitoring.
0019 
0020 
0021 
0022 Author:
0023       - Hartmut Rick <linux@rick.claranet.de>
0024 
0025       - Special thanks to Jean Delvare for careful checking
0026         of the code and many helpful comments and suggestions.
0027 
0028 
0029 Description
0030 -----------
0031 
0032 This driver implements support for the hardware sensor capabilities
0033 of the SMSC LPC47M192 and compatible Super-I/O chips.
0034 
0035 These chips support 3 temperature channels and 8 voltage inputs
0036 as well as CPU voltage VID input.
0037 
0038 They do also have fan monitoring and control capabilities, but the
0039 these features are accessed via ISA bus and are not supported by this
0040 driver. Use the 'smsc47m1' driver for fan monitoring and control.
0041 
0042 Voltages and temperatures are measured by an 8-bit ADC, the resolution
0043 of the temperatures is 1 bit per degree C.
0044 Voltages are scaled such that the nominal voltage corresponds to
0045 192 counts, i.e. 3/4 of the full range. Thus the available range for
0046 each voltage channel is 0V ... 255/192*(nominal voltage), the resolution
0047 is 1 bit per (nominal voltage)/192.
0048 Both voltage and temperature values are scaled by 1000, the sys files
0049 show voltages in mV and temperatures in units of 0.001 degC.
0050 
0051 The +12V analog voltage input channel (in4_input) is multiplexed with
0052 bit 4 of the encoded CPU voltage. This means that you either get
0053 a +12V voltage measurement or a 5 bit CPU VID, but not both.
0054 The default setting is to use the pin as 12V input, and use only 4 bit VID.
0055 This driver assumes that the information in the configuration register
0056 is correct, i.e. that the BIOS has updated the configuration if
0057 the motherboard has this input wired to VID4.
0058 
0059 The temperature and voltage readings are updated once every 1.5 seconds.
0060 Reading them more often repeats the same values.
0061 
0062 
0063 sysfs interface
0064 ---------------
0065 
0066 ===================== ==========================================================
0067 in0_input             +2.5V voltage input
0068 in1_input             CPU voltage input (nominal 2.25V)
0069 in2_input             +3.3V voltage input
0070 in3_input             +5V voltage input
0071 in4_input             +12V voltage input (may be missing if used as VID4)
0072 in5_input             Vcc voltage input (nominal 3.3V)
0073                       This is the supply voltage of the sensor chip itself.
0074 in6_input             +1.5V voltage input
0075 in7_input             +1.8V voltage input
0076 
0077 in[0-7]_min,
0078 in[0-7]_max           lower and upper alarm thresholds for in[0-7]_input reading
0079 
0080                       All voltages are read and written in mV.
0081 
0082 in[0-7]_alarm         alarm flags for voltage inputs
0083                       These files read '1' in case of alarm, '0' otherwise.
0084 
0085 temp1_input           chip temperature measured by on-chip diode
0086 temp[2-3]_input       temperature measured by external diodes (one of these
0087                       would typically be wired to the diode inside the CPU)
0088 
0089 temp[1-3]_min,
0090 temp[1-3]_max         lower and upper alarm thresholds for temperatures
0091 
0092 temp[1-3]_offset      temperature offset registers
0093                       The chip adds the offsets stored in these registers to
0094                       the corresponding temperature readings.
0095                       Note that temp1 and temp2 offsets share the same register,
0096                       they cannot both be different from zero at the same time.
0097                       Writing a non-zero number to one of them will reset the other
0098                       offset to zero.
0099 
0100                       All temperatures and offsets are read and written in
0101                       units of 0.001 degC.
0102 
0103 temp[1-3]_alarm       alarm flags for temperature inputs, '1' in case of alarm,
0104                       '0' otherwise.
0105 temp[2-3]_input_fault diode fault flags for temperature inputs 2 and 3.
0106                       A fault is detected if the two pins for the corresponding
0107                       sensor are open or shorted, or any of the two is shorted
0108                       to ground or Vcc. '1' indicates a diode fault.
0109 
0110 cpu0_vid              CPU voltage as received from the CPU
0111 
0112 vrm                   CPU VID standard used for decoding CPU voltage
0113 ===================== ==========================================================
0114 
0115 The `*_min`, `*_max`, `*_offset` and `vrm` files can be read and written,
0116 all others are read-only.