1Kernel driver f71882fg
2======================
3
4Supported chips:
5
6  * Fintek F71808E
7
8    Prefix: 'f71808e'
9
10    Addresses scanned: none, address read from Super I/O config space
11
12    Datasheet: Not public
13
14  * Fintek F71808A
15
16    Prefix: 'f71808a'
17
18    Addresses scanned: none, address read from Super I/O config space
19
20    Datasheet: Not public
21
22  * Fintek F71858FG
23
24    Prefix: 'f71858fg'
25
26    Addresses scanned: none, address read from Super I/O config space
27
28    Datasheet: Available from the Fintek website
29
30  * Fintek F71862FG and F71863FG
31
32    Prefix: 'f71862fg'
33
34    Addresses scanned: none, address read from Super I/O config space
35
36    Datasheet: Available from the Fintek website
37
38  * Fintek F71869F and F71869E
39
40    Prefix: 'f71869'
41
42    Addresses scanned: none, address read from Super I/O config space
43
44    Datasheet: Available from the Fintek website
45
46  * Fintek F71869A
47
48    Prefix: 'f71869a'
49
50    Addresses scanned: none, address read from Super I/O config space
51
52    Datasheet: Not public
53
54  * Fintek F71882FG and F71883FG
55
56    Prefix: 'f71882fg'
57
58    Addresses scanned: none, address read from Super I/O config space
59
60    Datasheet: Available from the Fintek website
61
62  * Fintek F71889FG
63
64    Prefix: 'f71889fg'
65
66    Addresses scanned: none, address read from Super I/O config space
67
68    Datasheet: Available from the Fintek website
69
70  * Fintek F71889ED
71
72    Prefix: 'f71889ed'
73
74    Addresses scanned: none, address read from Super I/O config space
75
76    Datasheet: Should become available on the Fintek website soon
77
78  * Fintek F71889A
79
80    Prefix: 'f71889a'
81
82    Addresses scanned: none, address read from Super I/O config space
83
84    Datasheet: Should become available on the Fintek website soon
85
86  * Fintek F8000
87
88    Prefix: 'f8000'
89
90    Addresses scanned: none, address read from Super I/O config space
91
92    Datasheet: Not public
93
94  * Fintek F81801U
95
96    Prefix: 'f71889fg'
97
98    Addresses scanned: none, address read from Super I/O config space
99
100    Datasheet: Not public
101
102    Note:
103	  This is the 64-pin variant of the F71889FG, they have the
104	  same device ID and are fully compatible as far as hardware
105	  monitoring is concerned.
106
107  * Fintek F81865F
108
109    Prefix: 'f81865f'
110
111    Addresses scanned: none, address read from Super I/O config space
112
113    Datasheet: Available from the Fintek website
114
115Author: Hans de Goede <hdegoede@redhat.com>
116
117
118Description
119-----------
120
121Fintek F718xx/F8000 Super I/O chips include complete hardware monitoring
122capabilities. They can monitor up to 9 voltages, 4 fans and 3 temperature
123sensors.
124
125These chips also have fan controlling features, using either DC or PWM, in
126three different modes (one manual, two automatic).
127
128The driver assumes that no more than one chip is present, which seems
129reasonable.
130
131
132Monitoring
133----------
134
135The Voltage, Fan and Temperature Monitoring uses the standard sysfs
136interface as documented in sysfs-interface, without any exceptions.
137
138
139Fan Control
140-----------
141
142Both PWM (pulse-width modulation) and DC fan speed control methods are
143supported. The right one to use depends on external circuitry on the
144motherboard, so the driver assumes that the BIOS set the method
145properly.
146
147Note that the lowest numbered temperature zone trip point corresponds to
148the border between the highest and one but highest temperature zones, and
149vica versa. So the temperature zone trip points 1-4 (or 1-2) go from high temp
150to low temp! This is how things are implemented in the IC, and the driver
151mimics this.
152
153There are 2 modes to specify the speed of the fan, PWM duty cycle (or DC
154voltage) mode, where 0-100% duty cycle (0-100% of 12V) is specified. And RPM
155mode where the actual RPM of the fan (as measured) is controlled and the speed
156gets specified as 0-100% of the fan#_full_speed file.
157
158Since both modes work in a 0-100% (mapped to 0-255) scale, there isn't a
159whole lot of a difference when modifying fan control settings. The only
160important difference is that in RPM mode the 0-100% controls the fan speed
161between 0-100% of fan#_full_speed. It is assumed that if the BIOS programs
162RPM mode, it will also set fan#_full_speed properly, if it does not then
163fan control will not work properly, unless you set a sane fan#_full_speed
164value yourself.
165
166Switching between these modes requires re-initializing a whole bunch of
167registers, so the mode which the BIOS has set is kept. The mode is
168printed when loading the driver.
169
170Three different fan control modes are supported; the mode number is written
171to the pwm#_enable file. Note that not all modes are supported on all
172chips, and some modes may only be available in RPM / PWM mode.
173Writing an unsupported mode will result in an invalid parameter error.
174
175* 1: Manual mode
176  You ask for a specific PWM duty cycle / DC voltage or a specific % of
177  fan#_full_speed by writing to the pwm# file. This mode is only
178  available on the F71858FG / F8000 if the fan channel is in RPM mode.
179
180* 2: Normal auto mode
181  You can define a number of temperature/fan speed trip points, which % the
182  fan should run at at this temp and which temp a fan should follow using the
183  standard sysfs interface. The number and type of trip points is chip
184  depended, see which files are available in sysfs.
185  Fan/PWM channel 3 of the F8000 is always in this mode!
186
187* 3: Thermostat mode (Only available on the F8000 when in duty cycle mode)
188  The fan speed is regulated to keep the temp the fan is mapped to between
189  temp#_auto_point2_temp and temp#_auto_point3_temp.
190
191All of the automatic modes require that pwm1 corresponds to fan1, pwm2 to
192fan2 and pwm3 to fan3.
193