cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

smsc47m192.rst (4281B)


      1Kernel driver smsc47m192
      2========================
      3
      4Supported 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
     22Author:
     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
     29Description
     30-----------
     31
     32This driver implements support for the hardware sensor capabilities
     33of the SMSC LPC47M192 and compatible Super-I/O chips.
     34
     35These chips support 3 temperature channels and 8 voltage inputs
     36as well as CPU voltage VID input.
     37
     38They do also have fan monitoring and control capabilities, but the
     39these features are accessed via ISA bus and are not supported by this
     40driver. Use the 'smsc47m1' driver for fan monitoring and control.
     41
     42Voltages and temperatures are measured by an 8-bit ADC, the resolution
     43of the temperatures is 1 bit per degree C.
     44Voltages are scaled such that the nominal voltage corresponds to
     45192 counts, i.e. 3/4 of the full range. Thus the available range for
     46each voltage channel is 0V ... 255/192*(nominal voltage), the resolution
     47is 1 bit per (nominal voltage)/192.
     48Both voltage and temperature values are scaled by 1000, the sys files
     49show voltages in mV and temperatures in units of 0.001 degC.
     50
     51The +12V analog voltage input channel (in4_input) is multiplexed with
     52bit 4 of the encoded CPU voltage. This means that you either get
     53a +12V voltage measurement or a 5 bit CPU VID, but not both.
     54The default setting is to use the pin as 12V input, and use only 4 bit VID.
     55This driver assumes that the information in the configuration register
     56is correct, i.e. that the BIOS has updated the configuration if
     57the motherboard has this input wired to VID4.
     58
     59The temperature and voltage readings are updated once every 1.5 seconds.
     60Reading them more often repeats the same values.
     61
     62
     63sysfs interface
     64---------------
     65
     66===================== ==========================================================
     67in0_input	      +2.5V voltage input
     68in1_input	      CPU voltage input (nominal 2.25V)
     69in2_input	      +3.3V voltage input
     70in3_input	      +5V voltage input
     71in4_input	      +12V voltage input (may be missing if used as VID4)
     72in5_input	      Vcc voltage input (nominal 3.3V)
     73		      This is the supply voltage of the sensor chip itself.
     74in6_input	      +1.5V voltage input
     75in7_input	      +1.8V voltage input
     76
     77in[0-7]_min,
     78in[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
     82in[0-7]_alarm	      alarm flags for voltage inputs
     83		      These files read '1' in case of alarm, '0' otherwise.
     84
     85temp1_input	      chip temperature measured by on-chip diode
     86temp[2-3]_input	      temperature measured by external diodes (one of these
     87		      would typically be wired to the diode inside the CPU)
     88
     89temp[1-3]_min,
     90temp[1-3]_max	      lower and upper alarm thresholds for temperatures
     91
     92temp[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
    103temp[1-3]_alarm       alarm flags for temperature inputs, '1' in case of alarm,
    104		      '0' otherwise.
    105temp[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
    110cpu0_vid	      CPU voltage as received from the CPU
    111
    112vrm		      CPU VID standard used for decoding CPU voltage
    113===================== ==========================================================
    114
    115The `*_min`, `*_max`, `*_offset` and `vrm` files can be read and written,
    116all others are read-only.