Blame view

Documentation/hwmon/asc7621.rst 10 KB
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
1
  =====================
d58de0387   George Joseph   hwmon: Driver for...
2
  Kernel driver asc7621
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
3
  =====================
d58de0387   George Joseph   hwmon: Driver for...
4
5
  
  Supported chips:
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
6

d58de0387   George Joseph   hwmon: Driver for...
7
      Andigilog aSC7621 and aSC7621a
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
8

d58de0387   George Joseph   hwmon: Driver for...
9
      Prefix: 'asc7621'
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
10

d58de0387   George Joseph   hwmon: Driver for...
11
      Addresses scanned: I2C 0x2c, 0x2d, 0x2e
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
12

d58de0387   George Joseph   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   Mauro Carvalho Chehab   docs: hwmon: asc7...
80
  --------------------------------------------------------------------------
d58de0387   George Joseph   hwmon: Driver for...
81
  aSC7621 Product Description
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
82
  ===========================
d58de0387   George Joseph   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   Mauro Carvalho Chehab   docs: hwmon: asc7...
110
  --------
d58de0387   George Joseph   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   Mauro Carvalho Chehab   docs: hwmon: asc7...
119
    tachometer inputs
d58de0387   George Joseph   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   Mauro Carvalho Chehab   docs: hwmon: asc7...
132
  	=	===============================================
d58de0387   George Joseph   hwmon: Driver for...
133
  	0 	(default) peci_legacy = 0, Remote 1 Temperature
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
134
  		peci_legacy = 1, PECI Processor Temperature 0
d58de0387   George Joseph   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   Mauro Carvalho Chehab   docs: hwmon: asc7...
141
142
  	7	PECI Processor Temperature 3
  	=	===============================================
d58de0387   George Joseph   hwmon: Driver for...
143
144
  
  temp2_source
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
145
  	=	===============================================
d58de0387   George Joseph   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   Mauro Carvalho Chehab   docs: hwmon: asc7...
154
  	=	===============================================
d58de0387   George Joseph   hwmon: Driver for...
155
156
  
  temp3_source
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
157
  	=	===============================================
d58de0387   George Joseph   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   Mauro Carvalho Chehab   docs: hwmon: asc7...
166
  	=	===============================================
d58de0387   George Joseph   hwmon: Driver for...
167
168
  
  temp4_source
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
169
  	=	===============================================
d58de0387   George Joseph   hwmon: Driver for...
170
  	0 	(default) peci_legacy = 0, PECI Processor Temperature 0
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
171
  		peci_legacy = 1, Remote 1 Temperature
d58de0387   George Joseph   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   Mauro Carvalho Chehab   docs: hwmon: asc7...
179
  	=	===============================================
d58de0387   George Joseph   hwmon: Driver for...
180

1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
181
  temp[1-4]_smoothing_enable / temp[1-4]_smoothing_time
d58de0387   George Joseph   hwmon: Driver for...
182
183
  	Smooths spikes in temp readings caused by noise.
  	Valid values in milliseconds are:
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
184
185
186
187
188
189
190
191
192
  
  	* 35000
  	* 17600
  	* 11800
  	*  7000
  	*  4400
  	*  3000
  	*  1600
  	*   800
d58de0387   George Joseph   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   Mauro Carvalho Chehab   docs: hwmon: asc7...
197
  temp[5-8]_input / temp[5-8]_enable
d58de0387   George Joseph   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   Mauro Carvalho Chehab   docs: hwmon: asc7...
204
  	=============== ========================================================
d58de0387   George Joseph   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   Mauro Carvalho Chehab   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   George Joseph   hwmon: Driver for...
212
  	255		Fan on full.
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
213
  	=============== ========================================================
d58de0387   George Joseph   hwmon: Driver for...
214
215
216
217
  
  pwm[1-3]_auto_channels
  	Bitmap as described in sysctl-interface with the following
  	exceptions...
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
218

d58de0387   George Joseph   hwmon: Driver for...
219
220
  	Only the following combination of zones (and their corresponding masks)
  	are valid:
d58de0387   George Joseph   hwmon: Driver for...
221

1288cfe04   Mauro Carvalho Chehab   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   George Joseph   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   Mauro Carvalho Chehab   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   George Joseph   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   Mauro Carvalho Chehab   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   George Joseph   hwmon: Driver for...
279
280
  
  peci_legacy
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
281
  	=	============================================
d58de0387   George Joseph   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   Mauro Carvalho Chehab   docs: hwmon: asc7...
290
  	=	============================================
d58de0387   George Joseph   hwmon: Driver for...
291
292
293
  
  peci_diode
  	Diode filter
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
294
  	=	====================
d58de0387   George Joseph   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   Mauro Carvalho Chehab   docs: hwmon: asc7...
303
  	=	====================
d58de0387   George Joseph   hwmon: Driver for...
304
305
306
  
  peci_4domain
  	Four domain enable
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
307
  	=	===============================================
d58de0387   George Joseph   hwmon: Driver for...
308
309
  	0 	1 or 2 Domains for enabled processors (default)
  	1 	3 or 4 Domains for enabled processors
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
310
  	=	===============================================
d58de0387   George Joseph   hwmon: Driver for...
311
312
313
  
  peci_domain
  	Domain
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
314
  	=	==================================================
d58de0387   George Joseph   hwmon: Driver for...
315
316
  	0 	Processor contains a single domain (0) 	 (default)
  	1 	Processor contains two domains (0,1)
1288cfe04   Mauro Carvalho Chehab   docs: hwmon: asc7...
317
  	=	==================================================