1Kernel driver f71805f 2===================== 3 4Supported chips: 5 * Fintek F71805F/FG 6 Prefix: 'f71805f' 7 Addresses scanned: none, address read from Super I/O config space 8 Datasheet: Available from the Fintek website 9 * Fintek F71806F/FG 10 Prefix: 'f71872f' 11 Addresses scanned: none, address read from Super I/O config space 12 Datasheet: Available from the Fintek website 13 * Fintek F71872F/FG 14 Prefix: 'f71872f' 15 Addresses scanned: none, address read from Super I/O config space 16 Datasheet: Available from the Fintek website 17 18Author: Jean Delvare <jdelvare@suse.de> 19 20Thanks to Denis Kieft from Barracuda Networks for the donation of a 21test system (custom Jetway K8M8MS motherboard, with CPU and RAM) and 22for providing initial documentation. 23 24Thanks to Kris Chen and Aaron Huang from Fintek for answering technical 25questions and providing additional documentation. 26 27Thanks to Chris Lin from Jetway for providing wiring schematics and 28answering technical questions. 29 30 31Description 32----------- 33 34The Fintek F71805F/FG Super I/O chip includes complete hardware monitoring 35capabilities. It can monitor up to 9 voltages (counting its own power 36source), 3 fans and 3 temperature sensors. 37 38This chip also has fan controlling features, using either DC or PWM, in 39three different modes (one manual, two automatic). 40 41The Fintek F71872F/FG Super I/O chip is almost the same, with two 42additional internal voltages monitored (VSB and battery). It also features 436 VID inputs. The VID inputs are not yet supported by this driver. 44 45The Fintek F71806F/FG Super-I/O chip is essentially the same as the 46F71872F/FG, and is undistinguishable therefrom. 47 48The driver assumes that no more than one chip is present, which seems 49reasonable. 50 51 52Voltage Monitoring 53------------------ 54 55Voltages are sampled by an 8-bit ADC with a LSB of 8 mV. The supported 56range is thus from 0 to 2.040 V. Voltage values outside of this range 57need external resistors. An exception is in0, which is used to monitor 58the chip's own power source (+3.3V), and is divided internally by a 59factor 2. For the F71872F/FG, in9 (VSB) and in10 (battery) are also 60divided internally by a factor 2. 61 62The two LSB of the voltage limit registers are not used (always 0), so 63you can only set the limits in steps of 32 mV (before scaling). 64 65The wirings and resistor values suggested by Fintek are as follow: 66 67 pin expected 68 name use R1 R2 divider raw val. 69 70in0 VCC VCC3.3V int. int. 2.00 1.65 V 71in1 VIN1 VTT1.2V 10K - 1.00 1.20 V 72in2 VIN2 VRAM 100K 100K 2.00 ~1.25 V (1) 73in3 VIN3 VCHIPSET 47K 100K 1.47 2.24 V (2) 74in4 VIN4 VCC5V 200K 47K 5.25 0.95 V 75in5 VIN5 +12V 200K 20K 11.00 1.05 V 76in6 VIN6 VCC1.5V 10K - 1.00 1.50 V 77in7 VIN7 VCORE 10K - 1.00 ~1.40 V (1) 78in8 VIN8 VSB5V 200K 47K 1.00 0.95 V 79in10 VSB VSB3.3V int. int. 2.00 1.65 V (3) 80in9 VBAT VBATTERY int. int. 2.00 1.50 V (3) 81 82(1) Depends on your hardware setup. 83(2) Obviously not correct, swapping R1 and R2 would make more sense. 84(3) F71872F/FG only. 85 86These values can be used as hints at best, as motherboard manufacturers 87are free to use a completely different setup. As a matter of fact, the 88Jetway K8M8MS uses a significantly different setup. You will have to 89find out documentation about your own motherboard, and edit sensors.conf 90accordingly. 91 92Each voltage measured has associated low and high limits, each of which 93triggers an alarm when crossed. 94 95 96Fan Monitoring 97-------------- 98 99Fan rotation speeds are reported as 12-bit values from a gated clock 100signal. Speeds down to 366 RPM can be measured. There is no theoretical 101high limit, but values over 6000 RPM seem to cause problem. The effective 102resolution is much lower than you would expect, the step between different 103register values being 10 rather than 1. 104 105The chip assumes 2 pulse-per-revolution fans. 106 107An alarm is triggered if the rotation speed drops below a programmable 108limit or is too low to be measured. 109 110 111Temperature Monitoring 112---------------------- 113 114Temperatures are reported in degrees Celsius. Each temperature measured 115has a high limit, those crossing triggers an alarm. There is an associated 116hysteresis value, below which the temperature has to drop before the 117alarm is cleared. 118 119All temperature channels are external, there is no embedded temperature 120sensor. Each channel can be used for connecting either a thermal diode 121or a thermistor. The driver reports the currently selected mode, but 122doesn't allow changing it. In theory, the BIOS should have configured 123everything properly. 124 125 126Fan Control 127----------- 128 129Both PWM (pulse-width modulation) and DC fan speed control methods are 130supported. The right one to use depends on external circuitry on the 131motherboard, so the driver assumes that the BIOS set the method 132properly. The driver will report the method, but won't let you change 133it. 134 135When the PWM method is used, you can select the operating frequency, 136from 187.5 kHz (default) to 31 Hz. The best frequency depends on the 137fan model. As a rule of thumb, lower frequencies seem to give better 138control, but may generate annoying high-pitch noise. So a frequency just 139above the audible range, such as 25 kHz, may be a good choice; if this 140doesn't give you good linear control, try reducing it. Fintek recommends 141not going below 1 kHz, as the fan tachometers get confused by lower 142frequencies as well. 143 144When the DC method is used, Fintek recommends not going below 5 V, which 145corresponds to a pwm value of 106 for the driver. The driver doesn't 146enforce this limit though. 147 148Three different fan control modes are supported; the mode number is written 149to the pwm<n>_enable file. 150 151* 1: Manual mode 152 You ask for a specific PWM duty cycle or DC voltage by writing to the 153 pwm<n> file. 154 155* 2: Temperature mode 156 You define 3 temperature/fan speed trip points using the 157 pwm<n>_auto_point<m>_temp and _fan files. These define a staircase 158 relationship between temperature and fan speed with two additional points 159 interpolated between the values that you define. When the temperature 160 is below auto_point1_temp the fan is switched off. 161 162* 3: Fan speed mode 163 You ask for a specific fan speed by writing to the fan<n>_target file. 164 165Both of the automatic modes require that pwm1 corresponds to fan1, pwm2 to 166fan2 and pwm3 to fan3. Temperature mode also requires that temp1 corresponds 167to pwm1 and fan1, etc. 168