From 84227611d5c06d1482097df6f954b03fa3043a74 Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Tue, 20 Nov 2018 17:22:24 -0800 Subject: soc/intel/common/dptf: Add method for temp conversion Add a method to convert from 1/10 Kelvin to Celsius. This is useful for EC devices where the sensor temperature are stored in Celsius instead of Kelvin. Change-Id: I6b1154f5ba13416131a029966d6d5c1598904881 Signed-off-by: Duncan Laurie Reviewed-on: https://review.coreboot.org/c/29758 Reviewed-by: Furquan Shaikh Tested-by: build bot (Jenkins) --- src/soc/intel/common/acpi/dptf/dptf.asl | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/soc/intel') diff --git a/src/soc/intel/common/acpi/dptf/dptf.asl b/src/soc/intel/common/acpi/dptf/dptf.asl index beb41e2dea..1dd57c04dc 100644 --- a/src/soc/intel/common/acpi/dptf/dptf.asl +++ b/src/soc/intel/common/acpi/dptf/dptf.asl @@ -95,6 +95,21 @@ Device (DPTF) Return (Local0) } + /* Convert from 1/10 Kelvin to Degrees C for ACPI */ + Method (KTOC, 1) { + If (LLessEqual (Arg0, 2732)) { + Return (0) + } + + /* Convert to Celsius */ + Subtract (Arg0, 2732, Local0) + + /* Convert from 10th of degrees */ + Divide (Local0, 10,, Local0) + + Return (Local0) + } + /* Include Thermal Participants */ #include "thermal.asl" -- cgit v1.2.3