123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- Kernel driver w83792d
- =====================
- Supported chips:
- * Winbond W83792D
- Prefix: 'w83792d'
- Addresses scanned: I2C 0x2c - 0x2f
- Datasheet: http://www.winbond.com.tw
- Author: Shane Huang (Winbond)
- Updated: Roger Lucas
- Module Parameters
- -----------------
- * init int
- (default 1)
- Use 'init=0' to bypass initializing the chip.
- Try this if your computer crashes when you load the module.
- * force_subclients=bus,caddr,saddr,saddr
- This is used to force the i2c addresses for subclients of
- a certain chip. Example usage is `force_subclients=0,0x2f,0x4a,0x4b'
- to force the subclients of chip 0x2f on bus 0 to i2c addresses
- 0x4a and 0x4b.
- Description
- -----------
- This driver implements support for the Winbond W83792AD/D.
- Detection of the chip can sometimes be foiled because it can be in an
- internal state that allows no clean access (Bank with ID register is not
- currently selected). If you know the address of the chip, use a 'force'
- parameter; this will put it into a more well-behaved state first.
- The driver implements three temperature sensors, seven fan rotation speed
- sensors, nine voltage sensors, and two automatic fan regulation
- strategies called: Smart Fan I (Thermal Cruise mode) and Smart Fan II.
- The driver also implements up to seven fan control outputs: pwm1-7. Pwm1-7
- can be configured to PWM output or Analogue DC output via their associated
- pwmX_mode. Outputs pwm4 through pwm7 may or may not be present depending on
- how the W83792AD/D was configured by the BIOS.
- Automatic fan control mode is possible only for fan1-fan3.
- For all pwmX outputs, a value of 0 means minimum fan speed and a value of
- 255 means maximum fan speed.
- Temperatures are measured in degrees Celsius and measurement resolution is 1
- degC for temp1 and 0.5 degC for temp2 and temp3. An alarm is triggered when
- the temperature gets higher than the Overtemperature Shutdown value; it stays
- on until the temperature falls below the Hysteresis value.
- Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
- triggered if the rotation speed has dropped below a programmable limit. Fan
- readings can be divided by a programmable divider (1, 2, 4, 8, 16, 32, 64 or
- 128) to give the readings more range or accuracy.
- Voltage sensors (also known as IN sensors) report their values in millivolts.
- An alarm is triggered if the voltage has crossed a programmable minimum
- or maximum limit.
- Alarms are provided as output from "realtime status register". Following bits
- are defined:
- bit - alarm on:
- 0 - in0
- 1 - in1
- 2 - temp1
- 3 - temp2
- 4 - temp3
- 5 - fan1
- 6 - fan2
- 7 - fan3
- 8 - in2
- 9 - in3
- 10 - in4
- 11 - in5
- 12 - in6
- 13 - VID change
- 14 - chassis
- 15 - fan7
- 16 - tart1
- 17 - tart2
- 18 - tart3
- 19 - in7
- 20 - in8
- 21 - fan4
- 22 - fan5
- 23 - fan6
- Tart will be asserted while target temperature cannot be achieved after 3 minutes
- of full speed rotation of corresponding fan.
- In addition to the alarms described above, there is a CHAS alarm on the chips
- which triggers if your computer case is open (This one is latched, contrary
- to realtime alarms).
- The chips only update values each 3 seconds; reading them more often will
- do no harm, but will return 'old' values.
- W83792D PROBLEMS
- ----------------
- Known problems:
- - This driver is only for Winbond W83792D C version device, there
- are also some motherboards with B version W83792D device. The
- calculation method to in6-in7(measured value, limits) is a little
- different between C and B version. C or B version can be identified
- by CR[0x49h].
- - The function of vid and vrm has not been finished, because I'm NOT
- very familiar with them. Adding support is welcome.
- - The function of chassis open detection needs more tests.
- - If you have ASUS server board and chip was not found: Then you will
- need to upgrade to latest (or beta) BIOS. If it does not help please
- contact us.
- Fan control
- -----------
- Manual mode
- -----------
- Works as expected. You just need to specify desired PWM/DC value (fan speed)
- in appropriate pwm# file.
- Thermal cruise
- --------------
- In this mode, W83792D provides the Smart Fan system to automatically control
- fan speed to keep the temperatures of CPU and the system within specific
- range. At first a wanted temperature and interval must be set. This is done
- via thermal_cruise# file. The tolerance# file serves to create T +- tolerance
- interval. The fan speed will be lowered as long as the current temperature
- remains below the thermal_cruise# +- tolerance# value. Once the temperature
- exceeds the high limit (T+tolerance), the fan will be turned on with a
- specific speed set by pwm# and automatically controlled its PWM duty cycle
- with the temperature varying. Three conditions may occur:
- (1) If the temperature still exceeds the high limit, PWM duty
- cycle will increase slowly.
- (2) If the temperature goes below the high limit, but still above the low
- limit (T-tolerance), the fan speed will be fixed at the current speed because
- the temperature is in the target range.
- (3) If the temperature goes below the low limit, PWM duty cycle will decrease
- slowly to 0 or a preset stop value until the temperature exceeds the low
- limit. (The preset stop value handling is not yet implemented in driver)
- Smart Fan II
- ------------
- W83792D also provides a special mode for fan. Four temperature points are
- available. When related temperature sensors detects the temperature in preset
- temperature region (sf2_point@_fan# +- tolerance#) it will cause fans to run
- on programmed value from sf2_level@_fan#. You need to set four temperatures
- for each fan.
- /sys files
- ----------
- pwm[1-7] - this file stores PWM duty cycle or DC value (fan speed) in range:
- 0 (stop) to 255 (full)
- pwm[1-3]_enable - this file controls mode of fan/temperature control:
- * 0 Disabled
- * 1 Manual mode
- * 2 Smart Fan II
- * 3 Thermal Cruise
- pwm[1-7]_mode - Select PWM or DC mode
- * 0 DC
- * 1 PWM
- thermal_cruise[1-3] - Selects the desired temperature for cruise (degC)
- tolerance[1-3] - Value in degrees of Celsius (degC) for +- T
- sf2_point[1-4]_fan[1-3] - four temperature points for each fan for Smart Fan II
- sf2_level[1-3]_fan[1-3] - three PWM/DC levels for each fan for Smart Fan II
|