aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/ibm-acpi.txt
diff options
context:
space:
mode:
authorHenrique de Moraes Holschuh <hmh@hmh.eng.br>2006-11-24 08:47:08 -0500
committerLen Brown <len.brown@intel.com>2006-12-07 01:38:38 -0500
commit60eb0b35a9cc3400251cb4028d100e350649cf8a (patch)
tree2f655a273572e46b6c4f662071d027e57cad1bcf /Documentation/ibm-acpi.txt
parenta26f878abcd0491906b5bbac8dd174f27019e907 (diff)
ACPI: ibm-acpi: Implement direct-ec-access thermal reading modes for up to 16 sensors
This patch extends ibm-acpi to support reading thermal sensors directly through ACPI EC register access. It uses a DMI match to detect ThinkPads with a new-style embedded controller, that are known to have forward- compatible register maps and use 0x00 to fill in non-used registers and export thermal sensors at EC offsets 0x78-7F and 0xC0-C7. Direct ACPI EC register access is implemented for 8-sensor and 16-sensor new-style ThinkPad controller firmwares as an experimental feature. The code does some limited sanity checks on the temperatures read through EC access, and will default to the old ACPI TMP0-7 mode if anything is amiss. Userspace ABI is not changed for 8 sensors, but /proc/acpi/ibm/thermal is extended for 16 sensors if the firmware supports 16 sensors. A documentation update is also provided. The information about the ThinkPad register map was determined by studying ibm-acpi "ecdump" output from various ThinkPad models, submitted by subscribers of the linux-thinkpad mailinglist. Futher information was gathered from the DSDT tables, as they describe the EC register map in recent ThinkPads. DSDT source shows that TMP0-7 access and direct register access are actually the same thing on these firmwares, but unfortunately IBM never did update their DSDT EC register map to export TMP8-TMP15 for the second range of sensors. Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Diffstat (limited to 'Documentation/ibm-acpi.txt')
-rw-r--r--Documentation/ibm-acpi.txt55
1 files changed, 43 insertions, 12 deletions
diff --git a/Documentation/ibm-acpi.txt b/Documentation/ibm-acpi.txt
index e50595bfd8ea..30f09e7a423e 100644
--- a/Documentation/ibm-acpi.txt
+++ b/Documentation/ibm-acpi.txt
@@ -398,25 +398,56 @@ Temperature sensors -- /proc/acpi/ibm/thermal
398 398
399Most ThinkPads include six or more separate temperature sensors but 399Most ThinkPads include six or more separate temperature sensors but
400only expose the CPU temperature through the standard ACPI methods. 400only expose the CPU temperature through the standard ACPI methods.
401This feature shows readings from up to eight different sensors. Some 401This feature shows readings from up to eight different sensors on older
402readings may not be valid, e.g. may show large negative values. For 402ThinkPads, and it has experimental support for up to sixteen different
403example, on the X40, a typical output may be: 403sensors on newer ThinkPads. Readings from sensors that are not available
404return -128.
404 405
406No commands can be written to this file.
407
408EXPERIMENTAL: The 16-sensors feature is marked EXPERIMENTAL because the
409implementation directly accesses hardware registers and may not work as
410expected. USE WITH CAUTION! To use this feature, you need to supply the
411experimental=1 parameter when loading the module. When EXPERIMENTAL
412mode is enabled, reading the first 8 sensors on newer ThinkPads will
413also use an new experimental thermal sensor access mode.
414
415For example, on the X40, a typical output may be:
405temperatures: 42 42 45 41 36 -128 33 -128 416temperatures: 42 42 45 41 36 -128 33 -128
406 417
407Thomas Gruber took his R51 apart and traced all six active sensors in 418EXPERIMENTAL: On the T43/p, a typical output may be:
408his laptop (the location of sensors may vary on other models): 419temperatures: 48 48 36 52 38 -128 31 -128 48 52 48 -128 -128 -128 -128 -128
420
421The mapping of thermal sensors to physical locations varies depending on
422system-board model (and thus, on ThinkPad model).
423
424http://thinkwiki.org/wiki/Thermal_Sensors is a public wiki page that
425tries to track down these locations for various models.
426
427Most (newer?) models seem to follow this pattern:
409 428
4101: CPU 4291: CPU
4112: Mini PCI Module 4302: (depends on model)
4123: HDD 4313: (depends on model)
4134: GPU 4324: GPU
4145: Battery 4335: Main battery: main sensor
4156: N/A 4346: Bay battery: main sensor
4167: Battery 4357: Main battery: secondary sensor
4178: N/A 4368: Bay battery: secondary sensor
4379-15: (depends on model)
438
439For the R51 (source: Thomas Gruber):
4402: Mini-PCI
4413: Internal HDD
442
443For the T43, T43/p (source: Shmidoax/Thinkwiki.org)
444http://thinkwiki.org/wiki/Thermal_Sensors#ThinkPad_T43.2C_T43p
4452: System board, left side (near PCMCIA slot), reported as HDAPS temp
4463: PCMCIA slot
4479: MCH (northbridge) to DRAM Bus
44810: ICH (southbridge), under Mini-PCI card, under touchpad
44911: Power regulator, underside of system board, below F2 key
418 450
419No commands can be written to this file.
420 451
421EXPERIMENTAL: Embedded controller register dump -- /proc/acpi/ibm/ecdump 452EXPERIMENTAL: Embedded controller register dump -- /proc/acpi/ibm/ecdump
422------------------------------------------------------------------------ 453------------------------------------------------------------------------