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