OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [Documentation/] [hwmon/] [w83792d] - Blame information for rev 65

Go to most recent revision | Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.