blob: ab25a73e778f9ea3fc07348fcd88fa24fd152f58 [file] [log] [blame]
Rudolf Marekef4c4fd2006-09-24 20:50:57 +02001Kernel driver k8temp
2====================
3
4Supported chips:
Mauro Carvalho Chehab0d925622019-04-17 06:46:25 -03005
Rudolf Marek4660cb32006-10-08 22:01:26 +02006 * AMD Athlon64/FX or Opteron CPUs
Mauro Carvalho Chehab0d925622019-04-17 06:46:25 -03007
Rudolf Marekef4c4fd2006-09-24 20:50:57 +02008 Prefix: 'k8temp'
Mauro Carvalho Chehab0d925622019-04-17 06:46:25 -03009
Rudolf Marekef4c4fd2006-09-24 20:50:57 +020010 Addresses scanned: PCI space
Mauro Carvalho Chehab0d925622019-04-17 06:46:25 -030011
Alexander A. Klimovf4753562020-07-19 20:35:48 +020012 Datasheet: https://www.amd.com/system/files/TechDocs/32559.pdf
Rudolf Marekef4c4fd2006-09-24 20:50:57 +020013
14Author: Rudolf Marek
Mauro Carvalho Chehab0d925622019-04-17 06:46:25 -030015
Jean Delvare7188cc62006-12-12 18:18:30 +010016Contact: Rudolf Marek <r.marek@assembler.cz>
Rudolf Marekef4c4fd2006-09-24 20:50:57 +020017
18Description
19-----------
20
Rudolf Marek4660cb32006-10-08 22:01:26 +020021This driver permits reading temperature sensor(s) embedded inside AMD K8
22family CPUs (Athlon64/FX, Opteron). Official documentation says that it works
23from revision F of K8 core, but in fact it seems to be implemented for all
24revisions of K8 except the first two revisions (SH-B0 and SH-B3).
25
26Please note that you will need at least lm-sensors 2.10.1 for proper userspace
27support.
Rudolf Marekef4c4fd2006-09-24 20:50:57 +020028
29There can be up to four temperature sensors inside single CPU. The driver
30will auto-detect the sensors and will display only temperatures from
31implemented sensors.
32
33Mapping of /sys files is as follows:
34
Mauro Carvalho Chehab0d925622019-04-17 06:46:25 -030035============= ===================================
36temp1_input temperature of Core 0 and "place" 0
37temp2_input temperature of Core 0 and "place" 1
38temp3_input temperature of Core 1 and "place" 0
39temp4_input temperature of Core 1 and "place" 1
40============= ===================================
Rudolf Marekef4c4fd2006-09-24 20:50:57 +020041
42Temperatures are measured in degrees Celsius and measurement resolution is
431 degree C. It is expected that future CPU will have better resolution. The
44temperature is updated once a second. Valid temperatures are from -49 to
45206 degrees C.
46
47Temperature known as TCaseMax was specified for processors up to revision E.
48This temperature is defined as temperature between heat-spreader and CPU
49case, so the internal CPU temperature supplied by this driver can be higher.
50There is no easy way how to measure the temperature which will correlate
51with TCaseMax temperature.
52
53For newer revisions of CPU (rev F, socket AM2) there is a mathematically
54computed temperature called TControl, which must be lower than TControlMax.
55
56The relationship is following:
57
Mauro Carvalho Chehab0d925622019-04-17 06:46:25 -030058 temp1_input - TjOffset*2 < TControlMax,
Rudolf Marekef4c4fd2006-09-24 20:50:57 +020059
60TjOffset is not yet exported by the driver, TControlMax is usually
6170 degrees C. The rule of the thumb -> CPU temperature should not cross
6260 degrees C too much.