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