~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/hwmon/nct6775.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php