^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) Kernel driver NCT6775
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) =====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) .. note::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) This driver supersedes the NCT6775F and NCT6776F support in the W83627EHF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) Supported chips:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) * Nuvoton NCT6102D/NCT6104D/NCT6106D
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) Prefix: 'nct6106'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) Addresses scanned: ISA address retrieved from Super I/O registers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) Datasheet: Available from the Nuvoton web site
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) * Nuvoton NCT5572D/NCT6771F/NCT6772F/NCT6775F/W83677HG-I
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) Prefix: 'nct6775'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) Addresses scanned: ISA address retrieved from Super I/O registers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) Datasheet: Available from Nuvoton upon request
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) * Nuvoton NCT5573D/NCT5577D/NCT6776D/NCT6776F
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) Prefix: 'nct6776'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) Addresses scanned: ISA address retrieved from Super I/O registers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) Datasheet: Available from Nuvoton upon request
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) * Nuvoton NCT5532D/NCT6779D
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) Prefix: 'nct6779'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) Addresses scanned: ISA address retrieved from Super I/O registers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) Datasheet: Available from Nuvoton upon request
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) * Nuvoton NCT6791D
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) Prefix: 'nct6791'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) Addresses scanned: ISA address retrieved from Super I/O registers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) Datasheet: Available from Nuvoton upon request
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) * Nuvoton NCT6792D
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) Prefix: 'nct6792'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) Addresses scanned: ISA address retrieved from Super I/O registers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) Datasheet: Available from Nuvoton upon request
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) * Nuvoton NCT6793D
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) Prefix: 'nct6793'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) Addresses scanned: ISA address retrieved from Super I/O registers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) Datasheet: Available from Nuvoton upon request
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) * Nuvoton NCT6795D
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) Prefix: 'nct6795'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) Addresses scanned: ISA address retrieved from Super I/O registers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) Datasheet: Available from Nuvoton upon request
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) * Nuvoton NCT6796D
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) Prefix: 'nct6796'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) Addresses scanned: ISA address retrieved from Super I/O registers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) Datasheet: Available from Nuvoton upon request
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) Authors:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) Guenter Roeck <linux@roeck-us.net>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) Description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) This driver implements support for the Nuvoton NCT6775F, NCT6776F, and NCT6779D
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) and compatible super I/O chips.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) The chips support up to 25 temperature monitoring sources. Up to 6 of those are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) direct temperature sensor inputs, the others are special sources such as PECI,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) PCH, and SMBUS. Depending on the chip type, 2 to 6 of the temperature sources
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) can be monitored and compared against minimum, maximum, and critical
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) temperatures. The driver reports up to 10 of the temperatures to the user.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) There are 4 to 5 fan rotation speed sensors, 8 to 15 analog voltage sensors,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) one VID, alarms with beep warnings (control unimplemented), and some automatic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) fan regulation strategies (plus manual fan control mode).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) The temperature sensor sources on all chips are configurable. The configured
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) source for each of the temperature sensors is provided in tempX_label.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) Temperatures are measured in degrees Celsius and measurement resolution is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) either 1 degC or 0.5 degC, depending on the temperature source and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) configuration. An alarm is triggered when the temperature gets higher than
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) the high limit; it stays on until the temperature falls below the hysteresis
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) value. Alarms are only supported for temp1 to temp6, depending on the chip type.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) triggered if the rotation speed has dropped below a programmable limit. On
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) NCT6775F, fan readings can be divided by a programmable divider (1, 2, 4, 8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 16, 32, 64 or 128) to give the readings more range or accuracy; the other chips
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) do not have a fan speed divider. The driver sets the most suitable fan divisor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) itself; specifically, it increases the divider value each time a fan speed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) reading returns an invalid value, and it reduces it if the fan speed reading
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) is lower than optimal. Some fans might not be present because they share pins
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) with other functions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) Voltage sensors (also known as IN sensors) report their values in millivolts.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) An alarm is triggered if the voltage has crossed a programmable minimum
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) or maximum limit.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) The driver supports automatic fan control mode known as Thermal Cruise.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) In this mode, the chip attempts to keep the measured temperature in a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) predefined temperature range. If the temperature goes out of range, fan
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) is driven slower/faster to reach the predefined range again.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) The mode works for fan1-fan5.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) sysfs attributes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) ----------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) pwm[1-7]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) - this file stores PWM duty cycle or DC value (fan speed) in range:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 0 (lowest speed) to 255 (full)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) pwm[1-7]_enable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) - this file controls mode of fan/temperature control:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) * 0 Fan control disabled (fans set to maximum speed)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) * 1 Manual mode, write to pwm[0-5] any value 0-255
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) * 2 "Thermal Cruise" mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) * 3 "Fan Speed Cruise" mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) * 4 "Smart Fan III" mode (NCT6775F only)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) * 5 "Smart Fan IV" mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) pwm[1-7]_mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) - controls if output is PWM or DC level
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) * 0 DC output
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) * 1 PWM output
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) Common fan control attributes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) -----------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) pwm[1-7]_temp_sel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) Temperature source. Value is temperature sensor index.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) For example, select '1' for temp1_input.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) pwm[1-7]_weight_temp_sel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) Secondary temperature source. Value is temperature
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) sensor index. For example, select '1' for temp1_input.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) Set to 0 to disable secondary temperature control.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) If secondary temperature functionality is enabled, it is controlled with the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) following attributes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) pwm[1-7]_weight_duty_step
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) Duty step size.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) pwm[1-7]_weight_temp_step
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) Temperature step size. With each step over
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) temp_step_base, the value of weight_duty_step is added
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) to the current pwm value.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) pwm[1-7]_weight_temp_step_base
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) Temperature at which secondary temperature control kicks
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) in.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) pwm[1-7]_weight_temp_step_tol
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) Temperature step tolerance.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) Thermal Cruise mode (2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) -----------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) If the temperature is in the range defined by:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) pwm[1-7]_target_temp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) Target temperature, unit millidegree Celsius
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) (range 0 - 127000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) pwm[1-7]_temp_tolerance
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) Target temperature tolerance, unit millidegree Celsius
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) There are no changes to fan speed. Once the temperature leaves the interval, fan
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) speed increases (if temperature is higher that desired) or decreases (if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) temperature is lower than desired), using the following limits and time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) intervals.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) pwm[1-7]_start
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) fan pwm start value (range 1 - 255), to start fan
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) when the temperature is above defined range.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) pwm[1-7]_floor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) lowest fan pwm (range 0 - 255) if temperature is below
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) the defined range. If set to 0, the fan is expected to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) stop if the temperature is below the defined range.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) pwm[1-7]_step_up_time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) milliseconds before fan speed is increased
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) pwm[1-7]_step_down_time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) milliseconds before fan speed is decreased
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) pwm[1-7]_stop_time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) how many milliseconds must elapse to switch
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) corresponding fan off (when the temperature was below
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) defined range).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) Speed Cruise mode (3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) ---------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) This modes tries to keep the fan speed constant.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) fan[1-7]_target
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) Target fan speed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) fan[1-7]_tolerance
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) Target speed tolerance
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) Untested; use at your own risk.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) Smart Fan IV mode (5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) ---------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) This mode offers multiple slopes to control the fan speed. The slopes can be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) controlled by setting the pwm and temperature attributes. When the temperature
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) rises, the chip will calculate the DC/PWM output based on the current slope.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) There are up to seven data points depending on the chip type. Subsequent data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) points should be set to higher temperatures and higher pwm values to achieve
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) higher fan speeds with increasing temperature. The last data point reflects
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) critical temperature mode, in which the fans should run at full speed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) pwm[1-7]_auto_point[1-7]_pwm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) pwm value to be set if temperature reaches matching
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) temperature range.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) pwm[1-7]_auto_point[1-7]_temp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) Temperature over which the matching pwm is enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) pwm[1-7]_temp_tolerance
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) Temperature tolerance, unit millidegree Celsius
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) pwm[1-7]_crit_temp_tolerance
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) Temperature tolerance for critical temperature,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) unit millidegree Celsius
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) pwm[1-7]_step_up_time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) milliseconds before fan speed is increased
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) pwm[1-7]_step_down_time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) milliseconds before fan speed is decreased
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) Usage Notes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) On various ASUS boards with NCT6776F, it appears that CPUTIN is not really
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) connected to anything and floats, or that it is connected to some non-standard
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) temperature measurement device. As a result, the temperature reported on CPUTIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) will not reflect a usable value. It often reports unreasonably high
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) temperatures, and in some cases the reported temperature declines if the actual
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) temperature increases (similar to the raw PECI temperature value - see PECI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) specification for details). CPUTIN should therefore be ignored on ASUS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) boards. The CPU temperature on ASUS boards is reported from PECI 0.