Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[sfrench/cifs-2.6.git] / Documentation / hwmon / f71882fg.rst
1 Kernel driver f71882fg
2 ======================
3
4 Supported 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
115 Author: Hans de Goede <hdegoede@redhat.com>
116
117
118 Description
119 -----------
120
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.
124
125 These chips also have fan controlling features, using either DC or PWM, in
126 three different modes (one manual, two automatic).
127
128 The driver assumes that no more than one chip is present, which seems
129 reasonable.
130
131
132 Monitoring
133 ----------
134
135 The Voltage, Fan and Temperature Monitoring uses the standard sysfs
136 interface as documented in sysfs-interface, without any exceptions.
137
138
139 Fan Control
140 -----------
141
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.
146
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.
152
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.
157
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.
165
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.
169
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.
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
191 All of the automatic modes require that pwm1 corresponds to fan1, pwm2 to
192 fan2 and pwm3 to fan3.