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

w83793.rst (4306B)


      1Kernel driver w83793
      2====================
      3
      4Supported chips:
      5
      6  * Winbond W83793G/W83793R
      7
      8    Prefix: 'w83793'
      9
     10    Addresses scanned: I2C 0x2c - 0x2f
     11
     12    Datasheet: Still not published
     13
     14Authors:
     15    - Yuan Mu (Winbond Electronics)
     16    - Rudolf Marek <r.marek@assembler.cz>
     17
     18
     19Module parameters
     20-----------------
     21
     22* reset int
     23    (default 0)
     24
     25    This parameter is not recommended, it will lose motherboard specific
     26    settings. Use 'reset=1' to reset the chip when loading this module.
     27
     28* force_subclients=bus,caddr,saddr1,saddr2
     29    This is used to force the i2c addresses for subclients of
     30    a certain chip. Typical usage is `force_subclients=0,0x2f,0x4a,0x4b`
     31    to force the subclients of chip 0x2f on bus 0 to i2c addresses
     32    0x4a and 0x4b.
     33
     34
     35Description
     36-----------
     37
     38This driver implements support for Winbond W83793G/W83793R chips.
     39
     40* Exported features
     41    This driver exports 10 voltage sensors, up to 12 fan tachometer inputs,
     42    6 remote temperatures, up to 8 sets of PWM fan controls, SmartFan
     43    (automatic fan speed control) on all temperature/PWM combinations, 2
     44    sets of 6-pin CPU VID input.
     45
     46* Sensor resolutions
     47    If your motherboard maker used the reference design, the resolution of
     48    voltage0-2 is 2mV, resolution of voltage3/4/5 is 16mV, 8mV for voltage6,
     49    24mV for voltage7/8. Temp1-4 have a 0.25 degree Celsius resolution,
     50    temp5-6 have a 1 degree Celsiis resolution.
     51
     52* Temperature sensor types
     53    Temp1-4 have 2 possible types. It can be read from (and written to)
     54    temp[1-4]_type.
     55
     56    - If the value is 3, it starts monitoring using a remote termal diode
     57      (default).
     58    - If the value is 6, it starts monitoring using the temperature sensor
     59      in Intel CPU and get result by PECI.
     60
     61    Temp5-6 can be connected to external thermistors (value of
     62    temp[5-6]_type is 4).
     63
     64* Alarm mechanism
     65    For voltage sensors, an alarm triggers if the measured value is below
     66    the low voltage limit or over the high voltage limit.
     67    For temperature sensors, an alarm triggers if the measured value goes
     68    above the high temperature limit, and wears off only after the measured
     69    value drops below the hysteresis value.
     70    For fan sensors, an alarm triggers if the measured value is below the
     71    low speed limit.
     72
     73* SmartFan/PWM control
     74    If you want to set a pwm fan to manual mode, you just need to make sure it
     75    is not controlled by any temp channel, for example, you want to set fan1
     76    to manual mode, you need to check the value of temp[1-6]_fan_map, make
     77    sure bit 0 is cleared in the 6 values. And then set the pwm1 value to
     78    control the fan.
     79
     80    Each temperature channel can control all the 8 PWM outputs (by setting the
     81    corresponding bit in tempX_fan_map), you can set the temperature channel
     82    mode using temp[1-6]_pwm_enable, 2 is Thermal Cruise mode and 3
     83    is the SmartFanII mode. Temperature channels will try to speed up or
     84    slow down all controlled fans, this means one fan can receive different
     85    PWM value requests from different temperature channels, but the chip
     86    will always pick the safest (max) PWM value for each fan.
     87
     88    In Thermal Cruise mode, the chip attempts to keep the temperature at a
     89    predefined value, within a tolerance margin. So if tempX_input >
     90    thermal_cruiseX + toleranceX, the chip will increase the PWM value,
     91    if tempX_input < thermal_cruiseX - toleranceX, the chip will decrease
     92    the PWM value. If the temperature is within the tolerance range, the PWM
     93    value is left unchanged.
     94
     95    SmartFanII works differently, you have to define up to 7 PWM, temperature
     96    trip points, defining a PWM/temperature curve which the chip will follow.
     97    While not fundamentally different from the Thermal Cruise mode, the
     98    implementation is quite different, giving you a finer-grained control.
     99
    100* Chassis
    101    If the case open alarm triggers, it will stay in this state unless cleared
    102    by writing 0 to the sysfs file "intrusion0_alarm".
    103
    104* VID and VRM
    105    The VRM version is detected automatically, don't modify the it unless you
    106    *do* know the cpu VRM version and it's not properly detected.
    107
    108
    109Notes
    110-----
    111
    112  Only Fan1-5 and PWM1-3 are guaranteed to always exist, other fan inputs and
    113  PWM outputs may or may not exist depending on the chip pin configuration.