Link: https://lore.kernel.org/r/20260217200002.683975158@linuxfoundation.org Tested-by: Florian Fainelli <florian.fainelli@broadcom.com> Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com> Tested-by: Peter Schneider <pschneider1968@googlemail.com> Tested-by: Jon Hunter <jonathanh@nvidia.com> Tested-by: Salvatore Bonaccorso <carnil@debian.org> Tested-by: Brett A C Sheffield <bacs@librecast.net> Tested-by: Mark Brown <broonie@kernel.org> Tested-by: Luna Jernberg <droidbittin@gmail.com> Tested-by: Ronald Warsow <rwarsow@gmx.de> Tested-by: Justin M. Forbes <jforbes@fedoraproject.org> Tested-by: Ron Economos <re@w6rz.net> Tested-by: Miguel Ojeda <ojeda@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
63 lines
2.1 KiB
ReStructuredText
63 lines
2.1 KiB
ReStructuredText
Kernel driver k8temp
|
|
====================
|
|
|
|
Supported chips:
|
|
|
|
* AMD Athlon64/FX or Opteron CPUs
|
|
|
|
Prefix: 'k8temp'
|
|
|
|
Addresses scanned: PCI space
|
|
|
|
Datasheet: https://www.amd.com/system/files/TechDocs/32559.pdf
|
|
|
|
Author: Rudolf Marek
|
|
|
|
Contact: Rudolf Marek <r.marek@assembler.cz>
|
|
|
|
Description
|
|
-----------
|
|
|
|
This driver permits reading temperature sensor(s) embedded inside AMD K8
|
|
family CPUs (Athlon64/FX, Opteron). Official documentation says that it works
|
|
from revision F of K8 core, but in fact it seems to be implemented for all
|
|
revisions of K8 except the first two revisions (SH-B0 and SH-B3).
|
|
|
|
Please note that you will need at least lm-sensors 2.10.1 for proper userspace
|
|
support.
|
|
|
|
There can be up to four temperature sensors inside single CPU. The driver
|
|
will auto-detect the sensors and will display only temperatures from
|
|
implemented sensors.
|
|
|
|
Mapping of /sys files is as follows:
|
|
|
|
============= ===================================
|
|
temp1_input temperature of Core 0 and "place" 0
|
|
temp2_input temperature of Core 0 and "place" 1
|
|
temp3_input temperature of Core 1 and "place" 0
|
|
temp4_input temperature of Core 1 and "place" 1
|
|
============= ===================================
|
|
|
|
Temperatures are measured in degrees Celsius and measurement resolution is
|
|
1 degree C. It is expected that future CPU will have better resolution. The
|
|
temperature is updated once a second. Valid temperatures are from -49 to
|
|
206 degrees C.
|
|
|
|
Temperature known as TCaseMax was specified for processors up to revision E.
|
|
This temperature is defined as temperature between heat-spreader and CPU
|
|
case, so the internal CPU temperature supplied by this driver can be higher.
|
|
There is no easy way how to measure the temperature which will correlate
|
|
with TCaseMax temperature.
|
|
|
|
For newer revisions of CPU (rev F, socket AM2) there is a mathematically
|
|
computed temperature called TControl, which must be lower than TControlMax.
|
|
|
|
The relationship is following:
|
|
|
|
temp1_input - TjOffset*2 < TControlMax,
|
|
|
|
TjOffset is not yet exported by the driver, TControlMax is usually
|
|
70 degrees C. The rule of the thumb -> CPU temperature should not cross
|
|
60 degrees C too much.
|