Back to home page

OSCL-LXR

 
 

    


0001 Kernel driver w83793
0002 ====================
0003 
0004 Supported chips:
0005 
0006   * Winbond W83793G/W83793R
0007 
0008     Prefix: 'w83793'
0009 
0010     Addresses scanned: I2C 0x2c - 0x2f
0011 
0012     Datasheet: Still not published
0013 
0014 Authors:
0015     - Yuan Mu (Winbond Electronics)
0016     - Rudolf Marek <r.marek@assembler.cz>
0017 
0018 
0019 Module parameters
0020 -----------------
0021 
0022 * reset int
0023     (default 0)
0024 
0025     This parameter is not recommended, it will lose motherboard specific
0026     settings. Use 'reset=1' to reset the chip when loading this module.
0027 
0028 * force_subclients=bus,caddr,saddr1,saddr2
0029     This is used to force the i2c addresses for subclients of
0030     a certain chip. Typical usage is `force_subclients=0,0x2f,0x4a,0x4b`
0031     to force the subclients of chip 0x2f on bus 0 to i2c addresses
0032     0x4a and 0x4b.
0033 
0034 
0035 Description
0036 -----------
0037 
0038 This driver implements support for Winbond W83793G/W83793R chips.
0039 
0040 * Exported features
0041     This driver exports 10 voltage sensors, up to 12 fan tachometer inputs,
0042     6 remote temperatures, up to 8 sets of PWM fan controls, SmartFan
0043     (automatic fan speed control) on all temperature/PWM combinations, 2
0044     sets of 6-pin CPU VID input.
0045 
0046 * Sensor resolutions
0047     If your motherboard maker used the reference design, the resolution of
0048     voltage0-2 is 2mV, resolution of voltage3/4/5 is 16mV, 8mV for voltage6,
0049     24mV for voltage7/8. Temp1-4 have a 0.25 degree Celsius resolution,
0050     temp5-6 have a 1 degree Celsiis resolution.
0051 
0052 * Temperature sensor types
0053     Temp1-4 have 2 possible types. It can be read from (and written to)
0054     temp[1-4]_type.
0055 
0056     - If the value is 3, it starts monitoring using a remote termal diode
0057       (default).
0058     - If the value is 6, it starts monitoring using the temperature sensor
0059       in Intel CPU and get result by PECI.
0060 
0061     Temp5-6 can be connected to external thermistors (value of
0062     temp[5-6]_type is 4).
0063 
0064 * Alarm mechanism
0065     For voltage sensors, an alarm triggers if the measured value is below
0066     the low voltage limit or over the high voltage limit.
0067     For temperature sensors, an alarm triggers if the measured value goes
0068     above the high temperature limit, and wears off only after the measured
0069     value drops below the hysteresis value.
0070     For fan sensors, an alarm triggers if the measured value is below the
0071     low speed limit.
0072 
0073 * SmartFan/PWM control
0074     If you want to set a pwm fan to manual mode, you just need to make sure it
0075     is not controlled by any temp channel, for example, you want to set fan1
0076     to manual mode, you need to check the value of temp[1-6]_fan_map, make
0077     sure bit 0 is cleared in the 6 values. And then set the pwm1 value to
0078     control the fan.
0079 
0080     Each temperature channel can control all the 8 PWM outputs (by setting the
0081     corresponding bit in tempX_fan_map), you can set the temperature channel
0082     mode using temp[1-6]_pwm_enable, 2 is Thermal Cruise mode and 3
0083     is the SmartFanII mode. Temperature channels will try to speed up or
0084     slow down all controlled fans, this means one fan can receive different
0085     PWM value requests from different temperature channels, but the chip
0086     will always pick the safest (max) PWM value for each fan.
0087 
0088     In Thermal Cruise mode, the chip attempts to keep the temperature at a
0089     predefined value, within a tolerance margin. So if tempX_input >
0090     thermal_cruiseX + toleranceX, the chip will increase the PWM value,
0091     if tempX_input < thermal_cruiseX - toleranceX, the chip will decrease
0092     the PWM value. If the temperature is within the tolerance range, the PWM
0093     value is left unchanged.
0094 
0095     SmartFanII works differently, you have to define up to 7 PWM, temperature
0096     trip points, defining a PWM/temperature curve which the chip will follow.
0097     While not fundamentally different from the Thermal Cruise mode, the
0098     implementation is quite different, giving you a finer-grained control.
0099 
0100 * Chassis
0101     If the case open alarm triggers, it will stay in this state unless cleared
0102     by writing 0 to the sysfs file "intrusion0_alarm".
0103 
0104 * VID and VRM
0105     The VRM version is detected automatically, don't modify the it unless you
0106     *do* know the cpu VRM version and it's not properly detected.
0107 
0108 
0109 Notes
0110 -----
0111 
0112   Only Fan1-5 and PWM1-3 are guaranteed to always exist, other fan inputs and
0113   PWM outputs may or may not exist depending on the chip pin configuration.