About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / hwmon / asc7621


Based on kernel version 4.16.1. Page generated on 2018-04-09 11:53 EST.

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


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog