About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / hwmon / w83792d




Custom Search

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

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.