Based on kernel version 4.16.1. Page generated on 2018-04-09 11:53 EST.
1 Kernel driver w83792d 2 ===================== 3 4 Supported chips: 5 * Winbond W83792D 6 Prefix: 'w83792d' 7 Addresses scanned: I2C 0x2c - 0x2f 8 Datasheet: http://www.winbond.com.tw 9 10 Author: Shane Huang (Winbond) 11 Updated: Roger Lucas 12 13 14 Module Parameters 15 ----------------- 16 17 * init int 18 (default 1) 19 Use 'init=0' to bypass initializing the chip. 20 Try this if your computer crashes when you load the module. 21 22 * force_subclients=bus,caddr,saddr,saddr 23 This is used to force the i2c addresses for subclients of 24 a certain chip. Example usage is `force_subclients=0,0x2f,0x4a,0x4b' 25 to force the subclients of chip 0x2f on bus 0 to i2c addresses 26 0x4a and 0x4b. 27 28 29 Description 30 ----------- 31 32 This driver implements support for the Winbond W83792AD/D. 33 34 Detection of the chip can sometimes be foiled because it can be in an 35 internal state that allows no clean access (Bank with ID register is not 36 currently selected). If you know the address of the chip, use a 'force' 37 parameter; this will put it into a more well-behaved state first. 38 39 The driver implements three temperature sensors, seven fan rotation speed 40 sensors, nine voltage sensors, and two automatic fan regulation 41 strategies called: Smart Fan I (Thermal Cruise mode) and Smart Fan II. 42 43 The driver also implements up to seven fan control outputs: pwm1-7. Pwm1-7 44 can be configured to PWM output or Analogue DC output via their associated 45 pwmX_mode. Outputs pwm4 through pwm7 may or may not be present depending on 46 how the W83792AD/D was configured by the BIOS. 47 48 Automatic fan control mode is possible only for fan1-fan3. 49 50 For all pwmX outputs, a value of 0 means minimum fan speed and a value of 51 255 means maximum fan speed. 52 53 Temperatures are measured in degrees Celsius and measurement resolution is 1 54 degC for temp1 and 0.5 degC for temp2 and temp3. An alarm is triggered when 55 the temperature gets higher than the Overtemperature Shutdown value; it stays 56 on until the temperature falls below the Hysteresis value. 57 58 Fan rotation speeds are reported in RPM (rotations per minute). An alarm is 59 triggered if the rotation speed has dropped below a programmable limit. Fan 60 readings can be divided by a programmable divider (1, 2, 4, 8, 16, 32, 64 or 61 128) to give the readings more range or accuracy. 62 63 Voltage sensors (also known as IN sensors) report their values in millivolts. 64 An alarm is triggered if the voltage has crossed a programmable minimum 65 or maximum limit. 66 67 Alarms are provided as output from "realtime status register". Following bits 68 are defined: 69 70 bit - alarm on: 71 0 - in0 72 1 - in1 73 2 - temp1 74 3 - temp2 75 4 - temp3 76 5 - fan1 77 6 - fan2 78 7 - fan3 79 8 - in2 80 9 - in3 81 10 - in4 82 11 - in5 83 12 - in6 84 13 - VID change 85 14 - chassis 86 15 - fan7 87 16 - tart1 88 17 - tart2 89 18 - tart3 90 19 - in7 91 20 - in8 92 21 - fan4 93 22 - fan5 94 23 - fan6 95 96 Tart will be asserted while target temperature cannot be achieved after 3 minutes 97 of full speed rotation of corresponding fan. 98 99 In addition to the alarms described above, there is a CHAS alarm on the chips 100 which triggers if your computer case is open (This one is latched, contrary 101 to realtime alarms). 102 103 The chips only update values each 3 seconds; reading them more often will 104 do no harm, but will return 'old' values. 105 106 107 W83792D PROBLEMS 108 ---------------- 109 Known problems: 110 - This driver is only for Winbond W83792D C version device, there 111 are also some motherboards with B version W83792D device. The 112 calculation method to in6-in7(measured value, limits) is a little 113 different between C and B version. C or B version can be identified 114 by CR[0x49h]. 115 - The function of vid and vrm has not been finished, because I'm NOT 116 very familiar with them. Adding support is welcome. 117 - The function of chassis open detection needs more tests. 118 - If you have ASUS server board and chip was not found: Then you will 119 need to upgrade to latest (or beta) BIOS. If it does not help please 120 contact us. 121 122 Fan control 123 ----------- 124 125 Manual mode 126 ----------- 127 128 Works as expected. You just need to specify desired PWM/DC value (fan speed) 129 in appropriate pwm# file. 130 131 Thermal cruise 132 -------------- 133 134 In this mode, W83792D provides the Smart Fan system to automatically control 135 fan speed to keep the temperatures of CPU and the system within specific 136 range. At first a wanted temperature and interval must be set. This is done 137 via thermal_cruise# file. The tolerance# file serves to create T +- tolerance 138 interval. The fan speed will be lowered as long as the current temperature 139 remains below the thermal_cruise# +- tolerance# value. Once the temperature 140 exceeds the high limit (T+tolerance), the fan will be turned on with a 141 specific speed set by pwm# and automatically controlled its PWM duty cycle 142 with the temperature varying. Three conditions may occur: 143 144 (1) If the temperature still exceeds the high limit, PWM duty 145 cycle will increase slowly. 146 147 (2) If the temperature goes below the high limit, but still above the low 148 limit (T-tolerance), the fan speed will be fixed at the current speed because 149 the temperature is in the target range. 150 151 (3) If the temperature goes below the low limit, PWM duty cycle will decrease 152 slowly to 0 or a preset stop value until the temperature exceeds the low 153 limit. (The preset stop value handling is not yet implemented in driver) 154 155 Smart Fan II 156 ------------ 157 158 W83792D also provides a special mode for fan. Four temperature points are 159 available. When related temperature sensors detects the temperature in preset 160 temperature region (sf2_point@_fan# +- tolerance#) it will cause fans to run 161 on programmed value from sf2_level@_fan#. You need to set four temperatures 162 for each fan. 163 164 165 /sys files 166 ---------- 167 168 pwm[1-7] - this file stores PWM duty cycle or DC value (fan speed) in range: 169 0 (stop) to 255 (full) 170 pwm[1-3]_enable - this file controls mode of fan/temperature control: 171 * 0 Disabled 172 * 1 Manual mode 173 * 2 Smart Fan II 174 * 3 Thermal Cruise 175 pwm[1-7]_mode - Select PWM or DC mode 176 * 0 DC 177 * 1 PWM 178 thermal_cruise[1-3] - Selects the desired temperature for cruise (degC) 179 tolerance[1-3] - Value in degrees of Celsius (degC) for +- T 180 sf2_point[1-4]_fan[1-3] - four temperature points for each fan for Smart Fan II 181 sf2_level[1-3]_fan[1-3] - three PWM/DC levels for each fan for Smart Fan II