1Kernel driver coretemp
2======================
3
4Supported chips:
5  * All Intel Core family
6    Prefix: 'coretemp'
7    CPUID: family 0x6, models 0xe (Pentium M DC), 0xf (Core 2 DC 65nm),
8                              0x16 (Core 2 SC 65nm), 0x17 (Penryn 45nm),
9                              0x1a (Nehalem), 0x1c (Atom), 0x1e (Lynnfield),
10                              0x26 (Tunnel Creek Atom), 0x27 (Medfield Atom),
11                              0x36 (Cedar Trail Atom)
12    Datasheet: Intel 64 and IA-32 Architectures Software Developer's Manual
13               Volume 3A: System Programming Guide
14               http://softwarecommunity.intel.com/Wiki/Mobility/720.htm
15
16Author: Rudolf Marek
17
18Description
19-----------
20This driver permits reading the DTS (Digital Temperature Sensor) embedded
21inside Intel CPUs. This driver can read both the per-core and per-package
22temperature using the appropriate sensors. The per-package sensor is new;
23as of now, it is present only in the SandyBridge platform. The driver will
24show the temperature of all cores inside a package under a single device
25directory inside hwmon.
26
27Temperature is measured in degrees Celsius and measurement resolution is
281 degree C. Valid temperatures are from 0 to TjMax degrees C, because
29the actual value of temperature register is in fact a delta from TjMax.
30
31Temperature known as TjMax is the maximum junction temperature of processor,
32which depends on the CPU model. See table below. At this temperature, protection
33mechanism will perform actions to forcibly cool down the processor. Alarm
34may be raised, if the temperature grows enough (more than TjMax) to trigger
35the Out-Of-Spec bit. Following table summarizes the exported sysfs files:
36
37All Sysfs entries are named with their core_id (represented here by 'X').
38tempX_input	 - Core temperature (in millidegrees Celsius).
39tempX_max	 - All cooling devices should be turned on (on Core2).
40tempX_crit	 - Maximum junction temperature (in millidegrees Celsius).
41tempX_crit_alarm - Set when Out-of-spec bit is set, never clears.
42		   Correct CPU operation is no longer guaranteed.
43tempX_label	 - Contains string "Core X", where X is processor
44		   number. For Package temp, this will be "Physical id Y",
45		   where Y is the package number.
46
47On CPU models which support it, TjMax is read from a model-specific register.
48On other models, it is set to an arbitrary value based on weak heuristics.
49If these heuristics don't work for you, you can pass the correct TjMax value
50as a module parameter (tjmax).
51
52Appendix A. Known TjMax lists (TBD):
53Some information comes from ark.intel.com
54
55Process		Processor					TjMax(C)
56
5722nm		Core i5/i7 Processors
58		i7 3920XM, 3820QM, 3720QM, 3667U, 3520M		105
59		i5 3427U, 3360M/3320M				105
60		i7 3770/3770K					105
61		i5 3570/3570K, 3550, 3470/3450			105
62		i7 3770S					103
63		i5 3570S/3550S, 3475S/3470S/3450S		103
64		i7 3770T					94
65		i5 3570T					94
66		i5 3470T					91
67
6832nm		Core i3/i5/i7 Processors
69		i7 2600						98
70		i7 660UM/640/620, 640LM/620, 620M, 610E		105
71		i5 540UM/520/430, 540M/520/450/430		105
72		i3 330E, 370M/350/330				90 rPGA, 105 BGA
73		i3 330UM					105
74
7532nm		Core i7 Extreme Processors
76		980X						100
77
7832nm		Celeron Processors
79		U3400						105
80		P4505/P4500 					90
81
8232nm		Atom Processors
83		S1260/1220					95
84		S1240						102
85		Z2460						90
86		Z2760						90
87		D2700/2550/2500					100
88		N2850/2800/2650/2600				100
89
9045nm		Xeon Processors 5400 Quad-Core
91		X5492, X5482, X5472, X5470, X5460, X5450	85
92		E5472, E5462, E5450/40/30/20/10/05		85
93		L5408						95
94		L5430, L5420, L5410				70
95
9645nm		Xeon Processors 5200 Dual-Core
97		X5282, X5272, X5270, X5260			90
98		E5240						90
99		E5205, E5220					70, 90
100		L5240						70
101		L5238, L5215					95
102
10345nm		Atom Processors
104		D525/510/425/410				100
105		K525/510/425/410				100
106		Z670/650					90
107		Z560/550/540/530P/530/520PT/520/515/510PT/510P	90
108		Z510/500					90
109		N570/550					100
110		N475/470/455/450				100
111		N280/270					90
112		330/230						125
113		E680/660/640/620				90
114		E680T/660T/640T/620T				110
115		E665C/645C					90
116		E665CT/645CT					110
117		CE4170/4150/4110				110
118		CE4200 series					unknown
119		CE5300 series					unknown
120
12145nm		Core2 Processors
122		Solo ULV SU3500/3300				100
123		T9900/9800/9600/9550/9500/9400/9300/8300/8100	105
124		T6670/6500/6400					105
125		T6600						90
126		SU9600/9400/9300				105
127		SP9600/9400					105
128		SL9600/9400/9380/9300				105
129		P9700/9600/9500/8800/8700/8600/8400/7570	105
130		P7550/7450					90
131
13245nm		Core2 Quad Processors
133		Q9100/9000					100
134
13545nm		Core2 Extreme Processors
136		X9100/9000					105
137		QX9300						100
138
13945nm		Core i3/i5/i7 Processors
140		i7 940XM/920					100
141		i7 840QM/820/740/720				100
142
14345nm		Celeron Processors
144		SU2300						100
145		900 						105
146
14765nm		Core2 Duo Processors
148		Solo U2200, U2100				100
149		U7700/7600/7500					100
150		T7800/7700/7600/7500/7400/7300/7250/7200/7100	100
151		T5870/5670/5600/5550/5500/5470/5450/5300/5270	100
152		T5250						100
153		T5800/5750/5200					85
154		L7700/7500/7400/7300/7200			100
155
15665nm		Core2 Extreme Processors
157		X7900/7800					100
158
15965nm		Core Duo Processors
160		U2500/2400					100
161		T2700/2600/2450/2400/2350/2300E/2300/2250/2050	100
162		L2500/2400/2300					100
163
16465nm		Core Solo Processors
165		U1500/1400/1300					100
166		T1400/1350/1300/1250				100
167
16865nm		Xeon Processors 5000 Quad-Core
169		X5000						90-95
170		E5000						80
171		L5000						70
172		L5318						95
173
17465nm		Xeon Processors 5000 Dual-Core
175		5080, 5063, 5060, 5050, 5030			80-90
176		5160, 5150, 5148, 5140, 5130, 5120, 5110	80
177		L5138						100
178
17965nm		Celeron Processors
180		T1700/1600					100
181		560/550/540/530					100
182