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

TOMOYO Linux Cross Reference
Linux/Documentation/hwmon/asc7621.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 =====================
  2 Kernel driver asc7621
  3 =====================
  4 
  5 Supported chips:
  6 
  7     Andigilog aSC7621 and aSC7621a
  8 
  9     Prefix: 'asc7621'
 10 
 11     Addresses scanned: I2C 0x2c, 0x2d, 0x2e
 12 
 13     Datasheet: http://www.fairview5.com/linux/asc7621/asc7621.pdf
 14 
 15 Author:
 16                 George Joseph
 17 
 18 Description provided by Dave Pivin @ Andigilog:
 19 
 20 Andigilog has both the PECI and pre-PECI versions of the Heceta-6, as
 21 Intel calls them. Heceta-6e has high frequency PWM and Heceta-6p has
 22 added PECI and a 4th thermal zone. The Andigilog aSC7611 is the
 23 Heceta-6e part and aSC7621 is the Heceta-6p part. They are both in
 24 volume production, shipping to Intel and their subs.
 25 
 26 We have enhanced both parts relative to the governing Intel
 27 specification. First enhancement is temperature reading resolution. We
 28 have used registers below 20h for vendor-specific functions in addition
 29 to those in the Intel-specified vendor range.
 30 
 31 Our conversion process produces a result that is reported as two bytes.
 32 The fan speed control uses this finer value to produce a "step-less" fan
 33 PWM output. These two bytes are "read-locked" to guarantee that once a
 34 high or low byte is read, the other byte is locked-in until after the
 35 next read of any register. So to get an atomic reading, read high or low
 36 byte, then the very next read should be the opposite byte. Our data
 37 sheet says 10-bits of resolution, although you may find the lower bits
 38 are active, they are not necessarily reliable or useful externally. We
 39 chose not to mask them.
 40 
 41 We employ significant filtering that is user tunable as described in the
 42 data sheet. Our temperature reports and fan PWM outputs are very smooth
 43 when compared to the competition, in addition to the higher resolution
 44 temperature reports. The smoother PWM output does not require user
 45 intervention.
 46 
 47 We offer GPIO features on the former VID pins. These are open-drain
 48 outputs or inputs and may be used as general purpose I/O or as alarm
 49 outputs that are based on temperature limits. These are in 19h and 1Ah.
 50 
 51 We offer flexible mapping of temperature readings to thermal zones. Any
 52 temperature may be mapped to any zone, which has a default assignment
 53 that follows Intel's specs.
 54 
 55 Since there is a fan to zone assignment that allows for the "hotter" of
 56 a set of zones to control the PWM of an individual fan, but there is no
 57 indication to the user, we have added an indicator that shows which zone
 58 is currently controlling the PWM for a given fan. This is in register
 59 00h.
 60 
 61 Both remote diode temperature readings may be given an offset value such
 62 that the reported reading as well as the temperature used to determine
 63 PWM may be offset for system calibration purposes.
 64 
 65 PECI Extended configuration allows for having more than two domains per
 66 PECI address and also provides an enabling function for each PECI
 67 address. One could use our flexible zone assignment to have a zone
 68 assigned to up to 4 PECI addresses. This is not possible in the default
 69 Intel configuration. This would be useful in multi-CPU systems with
 70 individual fans on each that would benefit from individual fan control.
 71 This is in register 0Eh.
 72 
 73 The tachometer measurement system is flexible and able to adapt to many
 74 fan types. We can also support pulse-stretched PWM so that 3-wire fans
 75 may be used. These characteristics are in registers 04h to 07h.
 76 
 77 Finally, we have added a tach disable function that turns off the tach
 78 measurement system for individual tachs in order to save power. That is
 79 in register 75h.
 80 
 81 --------------------------------------------------------------------------
 82 
 83 aSC7621 Product Description
 84 ===========================
 85 
 86 The aSC7621 has a two wire digital interface compatible with SMBus 2.0.
 87 Using a 10-bit ADC, the aSC7621 measures the temperature of two remote diode
 88 connected transistors as well as its own die. Support for Platform
 89 Environmental Control Interface (PECI) is included.
 90 
 91 Using temperature information from these four zones, an automatic fan speed
 92 control algorithm is employed to minimize acoustic impact while achieving
 93 recommended CPU temperature under varying operational loads.
 94 
 95 To set fan speed, the aSC7621 has three independent pulse width modulation
 96 (PWM) outputs that are controlled by one, or a combination of three,
 97 temperature zones. Both high- and low-frequency PWM ranges are supported.
 98 
 99 The aSC7621 also includes a digital filter that can be invoked to smooth
100 temperature readings for better control of fan speed and minimum acoustic
101 impact.
102 
103 The aSC7621 has tachometer inputs to measure fan speed on up to four fans.
104 Limit and status registers for all measured values are included to alert
105 the system host that any measurements are outside of programmed limits
106 via status registers.
107 
108 System voltages of VCCP, 2.5V, 3.3V, 5.0V, and 12V motherboard power are
109 monitored efficiently with internal scaling resistors.
110 
111 Features
112 --------
113 
114 - Supports PECI interface and monitors internal and remote thermal diodes
115 - 2-wire, SMBus 2.0 compliant, serial interface
116 - 10-bit ADC
117 - Monitors VCCP, 2.5V, 3.3V, 5.0V, and 12V motherboard/processor supplies
118 - Programmable autonomous fan control based on temperature readings
119 - Noise filtering of temperature reading for fan speed control
120 - 0.25C digital temperature sensor resolution
121 - 3 PWM fan speed control outputs for 2-, 3- or 4-wire fans and up to 4 fan
122   tachometer inputs
123 - Enhanced measured temperature to Temperature Zone assignment.
124 - Provides high and low PWM frequency ranges
125 - 3 GPIO pins for custom use
126 - 24-Lead QSOP package
127 
128 Configuration Notes
129 ===================
130 
131 Except where noted below, the sysfs entries created by this driver follow
132 the standards defined in "sysfs-interface".
133 
134 temp1_source
135         =       ===============================================
136         0       (default) peci_legacy = 0, Remote 1 Temperature
137                 peci_legacy = 1, PECI Processor Temperature 0
138         1       Remote 1 Temperature
139         2       Remote 2 Temperature
140         3       Internal Temperature
141         4       PECI Processor Temperature 0
142         5       PECI Processor Temperature 1
143         6       PECI Processor Temperature 2
144         7       PECI Processor Temperature 3
145         =       ===============================================
146 
147 temp2_source
148         =       ===============================================
149         0       (default) Internal Temperature
150         1       Remote 1 Temperature
151         2       Remote 2 Temperature
152         3       Internal Temperature
153         4       PECI Processor Temperature 0
154         5       PECI Processor Temperature 1
155         6       PECI Processor Temperature 2
156         7       PECI Processor Temperature 3
157         =       ===============================================
158 
159 temp3_source
160         =       ===============================================
161         0       (default) Remote 2 Temperature
162         1       Remote 1 Temperature
163         2       Remote 2 Temperature
164         3       Internal Temperature
165         4       PECI Processor Temperature 0
166         5       PECI Processor Temperature 1
167         6       PECI Processor Temperature 2
168         7       PECI Processor Temperature 3
169         =       ===============================================
170 
171 temp4_source
172         =       ===============================================
173         0       (default) peci_legacy = 0, PECI Processor Temperature 0
174                 peci_legacy = 1, Remote 1 Temperature
175         1       Remote 1 Temperature
176         2       Remote 2 Temperature
177         3       Internal Temperature
178         4       PECI Processor Temperature 0
179         5       PECI Processor Temperature 1
180         6       PECI Processor Temperature 2
181         7       PECI Processor Temperature 3
182         =       ===============================================
183 
184 temp[1-4]_smoothing_enable / temp[1-4]_smoothing_time
185         Smooths spikes in temp readings caused by noise.
186         Valid values in milliseconds are:
187 
188         * 35000
189         * 17600
190         * 11800
191         *  7000
192         *  4400
193         *  3000
194         *  1600
195         *   800
196 
197 temp[1-4]_crit
198         When the corresponding zone temperature reaches this value,
199         ALL pwm outputs will got to 100%.
200 
201 temp[5-8]_input / temp[5-8]_enable
202         The aSC7621 can also read temperatures provided by the processor
203         via the PECI bus.  Usually these are "core" temps and are relative
204         to the point where the automatic thermal control circuit starts
205         throttling.  This means that these are usually negative numbers.
206 
207 pwm[1-3]_enable
208         =============== ========================================================
209         0               Fan off.
210         1               Fan on manual control.
211         2               Fan on automatic control and will run at the minimum pwm
212                         if the temperature for the zone is below the minimum.
213         3               Fan on automatic control but will be off if the
214                         temperature for the zone is below the minimum.
215         4-254           Ignored.
216         255             Fan on full.
217         =============== ========================================================
218 
219 pwm[1-3]_auto_channels
220         Bitmap as described in sysctl-interface with the following
221         exceptions...
222 
223         Only the following combination of zones (and their corresponding masks)
224         are valid:
225 
226         * 1
227         * 2
228         * 3
229         * 2,3
230         * 1,2,3
231         * 4
232         * 1,2,3,4
233 
234         * Special values:
235 
236           ==            ======================
237           0             Disabled.
238           16            Fan on manual control.
239           31            Fan on full.
240           ==            ======================
241 
242 
243 pwm[1-3]_invert
244         When set, inverts the meaning of pwm[1-3].
245         i.e.  when pwm = 0, the fan will be on full and
246         when pwm = 255 the fan will be off.
247 
248 pwm[1-3]_freq
249         PWM frequency in Hz
250         Valid values in Hz are:
251 
252         * 10
253         * 15
254         * 23
255         * 30  (default)
256         * 38
257         * 47
258         * 62
259         * 94
260         * 23000
261         * 24000
262         * 25000
263         * 26000
264         * 27000
265         * 28000
266         * 29000
267         * 30000
268 
269         Setting any other value will be ignored.
270 
271 peci_enable
272         Enables or disables PECI
273 
274 peci_avg
275         Input filter average time.
276 
277         * 0     0 Sec. (no Smoothing) (default)
278         * 1     0.25 Sec.
279         * 2     0.5 Sec.
280         * 3     1.0 Sec.
281         * 4     2.0 Sec.
282         * 5     4.0 Sec.
283         * 6     8.0 Sec.
284         * 7     0.0 Sec.
285 
286 peci_legacy
287         =       ============================================
288         0       Standard Mode (default)
289                 Remote Diode 1 reading is associated with
290                 Temperature Zone 1, PECI is associated with
291                 Zone 4
292 
293         1       Legacy Mode
294                 PECI is associated with Temperature Zone 1,
295                 Remote Diode 1 is associated with Zone 4
296         =       ============================================
297 
298 peci_diode
299         Diode filter
300 
301         =       ====================
302         0       0.25 Sec.
303         1       1.1 Sec.
304         2       2.4 Sec.  (default)
305         3       3.4 Sec.
306         4       5.0 Sec.
307         5       6.8 Sec.
308         6       10.2 Sec.
309         7       16.4 Sec.
310         =       ====================
311 
312 peci_4domain
313         Four domain enable
314 
315         =       ===============================================
316         0       1 or 2 Domains for enabled processors (default)
317         1       3 or 4 Domains for enabled processors
318         =       ===============================================
319 
320 peci_domain
321         Domain
322 
323         =       ==================================================
324         0       Processor contains a single domain (0)   (default)
325         1       Processor contains two domains (0,1)
326         =       ==================================================

~ [ 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