~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/hwmon/w83792d.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php