About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / hwmon / w83792d


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
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog