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.