treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / Documentation / hwmon / f71882fg.rst
blob5c0b7b0db1500ff2f6be09febb1c0b098dff63e7
1 Kernel driver f71882fg
2 ======================
4 Supported chips:
6   * Fintek F71808E
8     Prefix: 'f71808e'
10     Addresses scanned: none, address read from Super I/O config space
12     Datasheet: Not public
14   * Fintek F71808A
16     Prefix: 'f71808a'
18     Addresses scanned: none, address read from Super I/O config space
20     Datasheet: Not public
22   * Fintek F71858FG
24     Prefix: 'f71858fg'
26     Addresses scanned: none, address read from Super I/O config space
28     Datasheet: Available from the Fintek website
30   * Fintek F71862FG and F71863FG
32     Prefix: 'f71862fg'
34     Addresses scanned: none, address read from Super I/O config space
36     Datasheet: Available from the Fintek website
38   * Fintek F71869F and F71869E
40     Prefix: 'f71869'
42     Addresses scanned: none, address read from Super I/O config space
44     Datasheet: Available from the Fintek website
46   * Fintek F71869A
48     Prefix: 'f71869a'
50     Addresses scanned: none, address read from Super I/O config space
52     Datasheet: Not public
54   * Fintek F71882FG and F71883FG
56     Prefix: 'f71882fg'
58     Addresses scanned: none, address read from Super I/O config space
60     Datasheet: Available from the Fintek website
62   * Fintek F71889FG
64     Prefix: 'f71889fg'
66     Addresses scanned: none, address read from Super I/O config space
68     Datasheet: Available from the Fintek website
70   * Fintek F71889ED
72     Prefix: 'f71889ed'
74     Addresses scanned: none, address read from Super I/O config space
76     Datasheet: Should become available on the Fintek website soon
78   * Fintek F71889A
80     Prefix: 'f71889a'
82     Addresses scanned: none, address read from Super I/O config space
84     Datasheet: Should become available on the Fintek website soon
86   * Fintek F8000
88     Prefix: 'f8000'
90     Addresses scanned: none, address read from Super I/O config space
92     Datasheet: Not public
94   * Fintek F81801U
96     Prefix: 'f71889fg'
98     Addresses scanned: none, address read from Super I/O config space
100     Datasheet: Not public
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.
107   * Fintek F81865F
109     Prefix: 'f81865f'
111     Addresses scanned: none, address read from Super I/O config space
113     Datasheet: Available from the Fintek website
115 Author: Hans de Goede <hdegoede@redhat.com>
118 Description
119 -----------
121 Fintek F718xx/F8000 Super I/O chips include complete hardware monitoring
122 capabilities. They can monitor up to 9 voltages, 4 fans and 3 temperature
123 sensors.
125 These chips also have fan controlling features, using either DC or PWM, in
126 three different modes (one manual, two automatic).
128 The driver assumes that no more than one chip is present, which seems
129 reasonable.
132 Monitoring
133 ----------
135 The Voltage, Fan and Temperature Monitoring uses the standard sysfs
136 interface as documented in sysfs-interface, without any exceptions.
139 Fan Control
140 -----------
142 Both PWM (pulse-width modulation) and DC fan speed control methods are
143 supported. The right one to use depends on external circuitry on the
144 motherboard, so the driver assumes that the BIOS set the method
145 properly.
147 Note that the lowest numbered temperature zone trip point corresponds to
148 to the border between the highest and one but highest temperature zones, and
149 vica versa. So the temperature zone trip points 1-4 (or 1-2) go from high temp
150 to low temp! This is how things are implemented in the IC, and the driver
151 mimics this.
153 There are 2 modes to specify the speed of the fan, PWM duty cycle (or DC
154 voltage) mode, where 0-100% duty cycle (0-100% of 12V) is specified. And RPM
155 mode where the actual RPM of the fan (as measured) is controlled and the speed
156 gets specified as 0-100% of the fan#_full_speed file.
158 Since both modes work in a 0-100% (mapped to 0-255) scale, there isn't a
159 whole lot of a difference when modifying fan control settings. The only
160 important difference is that in RPM mode the 0-100% controls the fan speed
161 between 0-100% of fan#_full_speed. It is assumed that if the BIOS programs
162 RPM mode, it will also set fan#_full_speed properly, if it does not then
163 fan control will not work properly, unless you set a sane fan#_full_speed
164 value yourself.
166 Switching between these modes requires re-initializing a whole bunch of
167 registers, so the mode which the BIOS has set is kept. The mode is
168 printed when loading the driver.
170 Three different fan control modes are supported; the mode number is written
171 to the pwm#_enable file. Note that not all modes are supported on all
172 chips, and some modes may only be available in RPM / PWM mode.
173 Writing an unsupported mode will result in an invalid parameter error.
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.
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!
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.
191 All of the automatic modes require that pwm1 corresponds to fan1, pwm2 to
192 fan2 and pwm3 to fan3.