1*4882a593SmuzhiyunKernel driver f71882fg 2*4882a593Smuzhiyun====================== 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunSupported chips: 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun * Fintek F71808E 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun Prefix: 'f71808e' 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun Addresses scanned: none, address read from Super I/O config space 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun Datasheet: Not public 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun * Fintek F71808A 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun Prefix: 'f71808a' 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun Addresses scanned: none, address read from Super I/O config space 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun Datasheet: Not public 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun * Fintek F71858FG 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun Prefix: 'f71858fg' 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun Addresses scanned: none, address read from Super I/O config space 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun Datasheet: Available from the Fintek website 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun * Fintek F71862FG and F71863FG 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun Prefix: 'f71862fg' 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun Addresses scanned: none, address read from Super I/O config space 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun Datasheet: Available from the Fintek website 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun * Fintek F71869F and F71869E 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun Prefix: 'f71869' 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun Addresses scanned: none, address read from Super I/O config space 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun Datasheet: Available from the Fintek website 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun * Fintek F71869A 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun Prefix: 'f71869a' 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun Addresses scanned: none, address read from Super I/O config space 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun Datasheet: Not public 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun * Fintek F71882FG and F71883FG 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun Prefix: 'f71882fg' 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun Addresses scanned: none, address read from Super I/O config space 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun Datasheet: Available from the Fintek website 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun * Fintek F71889FG 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun Prefix: 'f71889fg' 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun Addresses scanned: none, address read from Super I/O config space 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun Datasheet: Available from the Fintek website 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun * Fintek F71889ED 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun Prefix: 'f71889ed' 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun Addresses scanned: none, address read from Super I/O config space 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun Datasheet: Should become available on the Fintek website soon 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun * Fintek F71889A 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun Prefix: 'f71889a' 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun Addresses scanned: none, address read from Super I/O config space 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun Datasheet: Should become available on the Fintek website soon 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun * Fintek F8000 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun Prefix: 'f8000' 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun Addresses scanned: none, address read from Super I/O config space 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun Datasheet: Not public 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun * Fintek F81801U 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun Prefix: 'f71889fg' 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun Addresses scanned: none, address read from Super I/O config space 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun Datasheet: Not public 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun Note: 103*4882a593Smuzhiyun This is the 64-pin variant of the F71889FG, they have the 104*4882a593Smuzhiyun same device ID and are fully compatible as far as hardware 105*4882a593Smuzhiyun monitoring is concerned. 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun * Fintek F81865F 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun Prefix: 'f81865f' 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun Addresses scanned: none, address read from Super I/O config space 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun Datasheet: Available from the Fintek website 114*4882a593Smuzhiyun 115*4882a593SmuzhiyunAuthor: Hans de Goede <hdegoede@redhat.com> 116*4882a593Smuzhiyun 117*4882a593Smuzhiyun 118*4882a593SmuzhiyunDescription 119*4882a593Smuzhiyun----------- 120*4882a593Smuzhiyun 121*4882a593SmuzhiyunFintek F718xx/F8000 Super I/O chips include complete hardware monitoring 122*4882a593Smuzhiyuncapabilities. They can monitor up to 9 voltages, 4 fans and 3 temperature 123*4882a593Smuzhiyunsensors. 124*4882a593Smuzhiyun 125*4882a593SmuzhiyunThese chips also have fan controlling features, using either DC or PWM, in 126*4882a593Smuzhiyunthree different modes (one manual, two automatic). 127*4882a593Smuzhiyun 128*4882a593SmuzhiyunThe driver assumes that no more than one chip is present, which seems 129*4882a593Smuzhiyunreasonable. 130*4882a593Smuzhiyun 131*4882a593Smuzhiyun 132*4882a593SmuzhiyunMonitoring 133*4882a593Smuzhiyun---------- 134*4882a593Smuzhiyun 135*4882a593SmuzhiyunThe Voltage, Fan and Temperature Monitoring uses the standard sysfs 136*4882a593Smuzhiyuninterface as documented in sysfs-interface, without any exceptions. 137*4882a593Smuzhiyun 138*4882a593Smuzhiyun 139*4882a593SmuzhiyunFan Control 140*4882a593Smuzhiyun----------- 141*4882a593Smuzhiyun 142*4882a593SmuzhiyunBoth PWM (pulse-width modulation) and DC fan speed control methods are 143*4882a593Smuzhiyunsupported. The right one to use depends on external circuitry on the 144*4882a593Smuzhiyunmotherboard, so the driver assumes that the BIOS set the method 145*4882a593Smuzhiyunproperly. 146*4882a593Smuzhiyun 147*4882a593SmuzhiyunNote that the lowest numbered temperature zone trip point corresponds to 148*4882a593Smuzhiyunthe border between the highest and one but highest temperature zones, and 149*4882a593Smuzhiyunvica versa. So the temperature zone trip points 1-4 (or 1-2) go from high temp 150*4882a593Smuzhiyunto low temp! This is how things are implemented in the IC, and the driver 151*4882a593Smuzhiyunmimics this. 152*4882a593Smuzhiyun 153*4882a593SmuzhiyunThere are 2 modes to specify the speed of the fan, PWM duty cycle (or DC 154*4882a593Smuzhiyunvoltage) mode, where 0-100% duty cycle (0-100% of 12V) is specified. And RPM 155*4882a593Smuzhiyunmode where the actual RPM of the fan (as measured) is controlled and the speed 156*4882a593Smuzhiyungets specified as 0-100% of the fan#_full_speed file. 157*4882a593Smuzhiyun 158*4882a593SmuzhiyunSince both modes work in a 0-100% (mapped to 0-255) scale, there isn't a 159*4882a593Smuzhiyunwhole lot of a difference when modifying fan control settings. The only 160*4882a593Smuzhiyunimportant difference is that in RPM mode the 0-100% controls the fan speed 161*4882a593Smuzhiyunbetween 0-100% of fan#_full_speed. It is assumed that if the BIOS programs 162*4882a593SmuzhiyunRPM mode, it will also set fan#_full_speed properly, if it does not then 163*4882a593Smuzhiyunfan control will not work properly, unless you set a sane fan#_full_speed 164*4882a593Smuzhiyunvalue yourself. 165*4882a593Smuzhiyun 166*4882a593SmuzhiyunSwitching between these modes requires re-initializing a whole bunch of 167*4882a593Smuzhiyunregisters, so the mode which the BIOS has set is kept. The mode is 168*4882a593Smuzhiyunprinted when loading the driver. 169*4882a593Smuzhiyun 170*4882a593SmuzhiyunThree different fan control modes are supported; the mode number is written 171*4882a593Smuzhiyunto the pwm#_enable file. Note that not all modes are supported on all 172*4882a593Smuzhiyunchips, and some modes may only be available in RPM / PWM mode. 173*4882a593SmuzhiyunWriting an unsupported mode will result in an invalid parameter error. 174*4882a593Smuzhiyun 175*4882a593Smuzhiyun* 1: Manual mode 176*4882a593Smuzhiyun You ask for a specific PWM duty cycle / DC voltage or a specific % of 177*4882a593Smuzhiyun fan#_full_speed by writing to the pwm# file. This mode is only 178*4882a593Smuzhiyun available on the F71858FG / F8000 if the fan channel is in RPM mode. 179*4882a593Smuzhiyun 180*4882a593Smuzhiyun* 2: Normal auto mode 181*4882a593Smuzhiyun You can define a number of temperature/fan speed trip points, which % the 182*4882a593Smuzhiyun fan should run at at this temp and which temp a fan should follow using the 183*4882a593Smuzhiyun standard sysfs interface. The number and type of trip points is chip 184*4882a593Smuzhiyun depended, see which files are available in sysfs. 185*4882a593Smuzhiyun Fan/PWM channel 3 of the F8000 is always in this mode! 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun* 3: Thermostat mode (Only available on the F8000 when in duty cycle mode) 188*4882a593Smuzhiyun The fan speed is regulated to keep the temp the fan is mapped to between 189*4882a593Smuzhiyun temp#_auto_point2_temp and temp#_auto_point3_temp. 190*4882a593Smuzhiyun 191*4882a593SmuzhiyunAll of the automatic modes require that pwm1 corresponds to fan1, pwm2 to 192*4882a593Smuzhiyunfan2 and pwm3 to fan3. 193