Commit | Line | Data |
---|---|---|
ef4c4fdb RM |
1 | Kernel driver k8temp |
2 | ==================== | |
3 | ||
4 | Supported chips: | |
0d925626 | 5 | |
4660cb35 | 6 | * AMD Athlon64/FX or Opteron CPUs |
0d925626 | 7 | |
ef4c4fdb | 8 | Prefix: 'k8temp' |
0d925626 | 9 | |
ef4c4fdb | 10 | Addresses scanned: PCI space |
0d925626 | 11 | |
f4753560 | 12 | Datasheet: https://www.amd.com/system/files/TechDocs/32559.pdf |
ef4c4fdb RM |
13 | |
14 | Author: Rudolf Marek | |
0d925626 | 15 | |
7188cc66 | 16 | Contact: Rudolf Marek <r.marek@assembler.cz> |
ef4c4fdb RM |
17 | |
18 | Description | |
19 | ----------- | |
20 | ||
4660cb35 RM |
21 | This driver permits reading temperature sensor(s) embedded inside AMD K8 |
22 | family CPUs (Athlon64/FX, Opteron). Official documentation says that it works | |
23 | from revision F of K8 core, but in fact it seems to be implemented for all | |
24 | revisions of K8 except the first two revisions (SH-B0 and SH-B3). | |
25 | ||
26 | Please note that you will need at least lm-sensors 2.10.1 for proper userspace | |
27 | support. | |
ef4c4fdb RM |
28 | |
29 | There can be up to four temperature sensors inside single CPU. The driver | |
30 | will auto-detect the sensors and will display only temperatures from | |
31 | implemented sensors. | |
32 | ||
33 | Mapping of /sys files is as follows: | |
34 | ||
0d925626 MCC |
35 | ============= =================================== |
36 | temp1_input temperature of Core 0 and "place" 0 | |
37 | temp2_input temperature of Core 0 and "place" 1 | |
38 | temp3_input temperature of Core 1 and "place" 0 | |
39 | temp4_input temperature of Core 1 and "place" 1 | |
40 | ============= =================================== | |
ef4c4fdb RM |
41 | |
42 | Temperatures are measured in degrees Celsius and measurement resolution is | |
43 | 1 degree C. It is expected that future CPU will have better resolution. The | |
44 | temperature is updated once a second. Valid temperatures are from -49 to | |
45 | 206 degrees C. | |
46 | ||
47 | Temperature known as TCaseMax was specified for processors up to revision E. | |
48 | This temperature is defined as temperature between heat-spreader and CPU | |
49 | case, so the internal CPU temperature supplied by this driver can be higher. | |
50 | There is no easy way how to measure the temperature which will correlate | |
51 | with TCaseMax temperature. | |
52 | ||
53 | For newer revisions of CPU (rev F, socket AM2) there is a mathematically | |
54 | computed temperature called TControl, which must be lower than TControlMax. | |
55 | ||
56 | The relationship is following: | |
57 | ||
0d925626 | 58 | temp1_input - TjOffset*2 < TControlMax, |
ef4c4fdb RM |
59 | |
60 | TjOffset is not yet exported by the driver, TControlMax is usually | |
61 | 70 degrees C. The rule of the thumb -> CPU temperature should not cross | |
62 | 60 degrees C too much. |