blob: 38e30fbd4806c47162ab367f0445851427af1ffb [file] [log] [blame]
Hans de Goede3b02d332009-01-07 16:37:31 +01001Kernel driver f71882fg
2======================
3
4Supported chips:
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -03005
Jean Delvare5d7f77b2011-03-26 10:45:02 +01006 * Fintek F71808E
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -03007
Jean Delvare5d7f77b2011-03-26 10:45:02 +01008 Prefix: 'f71808e'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -03009
Jean Delvare5d7f77b2011-03-26 10:45:02 +010010 Addresses scanned: none, address read from Super I/O config space
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030011
Jean Delvare5d7f77b2011-03-26 10:45:02 +010012 Datasheet: Not public
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030013
Hans de Goede629c58b2011-05-25 20:43:32 +020014 * Fintek F71808A
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030015
Hans de Goede629c58b2011-05-25 20:43:32 +020016 Prefix: 'f71808a'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030017
Hans de Goede629c58b2011-05-25 20:43:32 +020018 Addresses scanned: none, address read from Super I/O config space
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030019
Hans de Goede629c58b2011-05-25 20:43:32 +020020 Datasheet: Not public
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030021
Hans de Goede09475d32009-06-15 18:39:52 +020022 * Fintek F71858FG
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030023
Hans de Goede09475d32009-06-15 18:39:52 +020024 Prefix: 'f71858fg'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030025
Hans de Goede3b02d332009-01-07 16:37:31 +010026 Addresses scanned: none, address read from Super I/O config space
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030027
Hans de Goede3b02d332009-01-07 16:37:31 +010028 Datasheet: Available from the Fintek website
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030029
Hans de Goede3b02d332009-01-07 16:37:31 +010030 * Fintek F71862FG and F71863FG
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030031
Hans de Goede3b02d332009-01-07 16:37:31 +010032 Prefix: 'f71862fg'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030033
Hans de Goede3b02d332009-01-07 16:37:31 +010034 Addresses scanned: none, address read from Super I/O config space
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030035
Hans de Goede3b02d332009-01-07 16:37:31 +010036 Datasheet: Available from the Fintek website
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030037
Hans de Goedec11bb992011-03-09 20:57:15 +010038 * Fintek F71869F and F71869E
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030039
Hans de Goedec11bb992011-03-09 20:57:15 +010040 Prefix: 'f71869'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030041
Hans de Goedec11bb992011-03-09 20:57:15 +010042 Addresses scanned: none, address read from Super I/O config space
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030043
Hans de Goedec11bb992011-03-09 20:57:15 +010044 Datasheet: Available from the Fintek website
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030045
Hans de Goede5da556e2011-07-03 13:32:53 +020046 * Fintek F71869A
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030047
Hans de Goede5da556e2011-07-03 13:32:53 +020048 Prefix: 'f71869a'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030049
Hans de Goede5da556e2011-07-03 13:32:53 +020050 Addresses scanned: none, address read from Super I/O config space
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030051
Hans de Goede5da556e2011-07-03 13:32:53 +020052 Datasheet: Not public
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030053
Hans de Goede09475d32009-06-15 18:39:52 +020054 * Fintek F71882FG and F71883FG
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030055
Hans de Goede09475d32009-06-15 18:39:52 +020056 Prefix: 'f71882fg'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030057
Hans de Goede09475d32009-06-15 18:39:52 +020058 Addresses scanned: none, address read from Super I/O config space
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030059
Hans de Goede09475d32009-06-15 18:39:52 +020060 Datasheet: Available from the Fintek website
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030061
Hans de Goede76698962009-12-09 20:36:01 +010062 * Fintek F71889FG
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030063
Hans de Goede76698962009-12-09 20:36:01 +010064 Prefix: 'f71889fg'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030065
Hans de Goede76698962009-12-09 20:36:01 +010066 Addresses scanned: none, address read from Super I/O config space
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030067
Hans de Goede3cad4022011-03-09 20:57:14 +010068 Datasheet: Available from the Fintek website
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030069
Hans de Goede3cad4022011-03-09 20:57:14 +010070 * Fintek F71889ED
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030071
Hans de Goede3cad4022011-03-09 20:57:14 +010072 Prefix: 'f71889ed'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030073
Hans de Goede3cad4022011-03-09 20:57:14 +010074 Addresses scanned: none, address read from Super I/O config space
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030075
Hans de Goede76698962009-12-09 20:36:01 +010076 Datasheet: Should become available on the Fintek website soon
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030077
Hans de Goedea66c1082011-03-26 10:45:02 +010078 * Fintek F71889A
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030079
Hans de Goedea66c1082011-03-26 10:45:02 +010080 Prefix: 'f71889a'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030081
Hans de Goedea66c1082011-03-26 10:45:02 +010082 Addresses scanned: none, address read from Super I/O config space
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030083
Hans de Goedea66c1082011-03-26 10:45:02 +010084 Datasheet: Should become available on the Fintek website soon
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030085
Hans de Goede3b02d332009-01-07 16:37:31 +010086 * Fintek F8000
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030087
Hans de Goede3b02d332009-01-07 16:37:31 +010088 Prefix: 'f8000'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030089
Hans de Goede3b02d332009-01-07 16:37:31 +010090 Addresses scanned: none, address read from Super I/O config space
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030091
Hans de Goede3b02d332009-01-07 16:37:31 +010092 Datasheet: Not public
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030093
Jean Delvare5d7f77b2011-03-26 10:45:02 +010094 * Fintek F81801U
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030095
Jean Delvare5d7f77b2011-03-26 10:45:02 +010096 Prefix: 'f71889fg'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030097
Jean Delvare5d7f77b2011-03-26 10:45:02 +010098 Addresses scanned: none, address read from Super I/O config space
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030099
Jean Delvare5d7f77b2011-03-26 10:45:02 +0100100 Datasheet: Not public
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -0300101
102 Note:
103 This is the 64-pin variant of the F71889FG, they have the
Jean Delvare5d7f77b2011-03-26 10:45:02 +0100104 same device ID and are fully compatible as far as hardware
105 monitoring is concerned.
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -0300106
Jean Delvare383586b2011-03-26 10:45:02 +0100107 * Fintek F81865F
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -0300108
Jean Delvare383586b2011-03-26 10:45:02 +0100109 Prefix: 'f81865f'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -0300110
Jean Delvare383586b2011-03-26 10:45:02 +0100111 Addresses scanned: none, address read from Super I/O config space
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -0300112
Jean Delvare383586b2011-03-26 10:45:02 +0100113 Datasheet: Available from the Fintek website
Hans de Goede3b02d332009-01-07 16:37:31 +0100114
115Author: Hans de Goede <hdegoede@redhat.com>
116
117
118Description
119-----------
120
Hans de Goede3cad4022011-03-09 20:57:14 +0100121Fintek F718xx/F8000 Super I/O chips include complete hardware monitoring
122capabilities. They can monitor up to 9 voltages, 4 fans and 3 temperature
123sensors.
Hans de Goede3b02d332009-01-07 16:37:31 +0100124
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
Hans de Goede76698962009-12-09 20:36:01 +0100147Note that the lowest numbered temperature zone trip point corresponds to
Randy Dunlap3cdeccb2020-07-03 13:56:45 -0700148the border between the highest and one but highest temperature zones, and
Hans de Goede76698962009-12-09 20:36:01 +0100149vica 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
Chengguang Xu787d07e2019-01-04 22:27:22 +0800151mimics this.
Hans de Goede76698962009-12-09 20:36:01 +0100152
Hans de Goede3b02d332009-01-07 16:37:31 +0100153There 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
Hans de Goede09475d32009-06-15 18:39:52 +0200172chips, and some modes may only be available in RPM / PWM mode.
Hans de Goede3b02d332009-01-07 16:37:31 +0100173Writing 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
Hans de Goede09475d32009-06-15 18:39:52 +0200178 available on the F71858FG / F8000 if the fan channel is in RPM mode.
Hans de Goede3b02d332009-01-07 16:37:31 +0100179
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
Hans de Goede3cad4022011-03-09 20:57:14 +0100191All of the automatic modes require that pwm1 corresponds to fan1, pwm2 to
Hans de Goede3b02d332009-01-07 16:37:31 +0100192fan2 and pwm3 to fan3.