From 26419285bf6643776d5ad6534db7d0422758efb2 Mon Sep 17 00:00:00 2001 From: Vladimir Serbinenko Date: Fri, 7 Jun 2013 01:34:06 +0200 Subject: Avoid tripping overheat alarm on X201 before ME boots MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Until ME boots (which takes seconds on X201) the reported temperature is 128 °C which triggers Linux overheat alarm which shuts down. Pretend temperature is 40°C until ME boots. Change-Id: Ia49fa03c6eb27f539a23711f2c8ebfde72b1dc18 Signed-off-by: Vladimir Serbinenko Reviewed-on: http://review.coreboot.org/3404 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich --- src/ec/lenovo/h8/acpi/thermal.asl | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/ec/lenovo/h8') diff --git a/src/ec/lenovo/h8/acpi/thermal.asl b/src/ec/lenovo/h8/acpi/thermal.asl index 35b6f145b5..83d66c6592 100644 --- a/src/ec/lenovo/h8/acpi/thermal.asl +++ b/src/ec/lenovo/h8/acpi/thermal.asl @@ -1,5 +1,9 @@ Scope(\_TZ) { +#if defined (CONFIG_BOARD_LENOVO_X201) && CONFIG_BOARD_LENOVO_X201 + Name (MEBT, 0) +#endif + Method(C2K, 1, NotSerialized) { Multiply(Arg0, 10, Local0) @@ -20,6 +24,13 @@ Scope(\_TZ) Return (C2K(127)) } Method(_TMP) { +#if defined (CONFIG_BOARD_LENOVO_X201) && CONFIG_BOARD_LENOVO_X201 + /* Avoid tripping alarm if ME isn't booted at all yet */ + If (LAnd (LNot (MEBT), LEqual (\_SB.PCI0.LPCB.EC.TMP0, 128))) { + Return (C2K(40)) + } + Store (1, MEBT) +#endif Return (C2K(\_SB.PCI0.LPCB.EC.TMP0)) } } -- cgit v1.2.3