From 372b67e22b61a38fea3549b6658cdfe127459aab Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Thu, 3 Sep 2015 15:57:56 -0700 Subject: skylake: dptf: Add TSR3 thermal sensor and CPU code cleanup - glados has more thermal sensors that could be used so add another entry in the DTPF thermal sensor ACPI code. - fix indentation block in cpu.asl. - declare \_SB.MPDL as external (it is already CondRefOf) so it does not need to be present in mainboard config if the mainboard does not want to override the default. BUG=chrome-os-partner:44622 BRANCH=none TEST=emerge-glados coreboot Change-Id: I1afe7013a24ee1215f5e968e25594f746bbdd17c Signed-off-by: Patrick Georgi Original-Commit-Id: 8d357437d06349039a94869b088c3c50b32933c0 Original-Change-Id: Ie87d52e735bf930a003e525cf1918789920922a5 Original-Signed-off-by: Duncan Laurie Original-Reviewed-on: https://chromium-review.googlesource.com/297335 Original-Reviewed-by: Aaron Durbin Reviewed-on: http://review.coreboot.org/11558 Tested-by: build bot (Jenkins) Reviewed-by: Alexandru Gagniuc Reviewed-by: Aaron Durbin --- src/soc/intel/skylake/acpi/dptf/cpu.asl | 13 +++--- src/soc/intel/skylake/acpi/dptf/thermal.asl | 64 +++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 6 deletions(-) (limited to 'src/soc/intel/skylake/acpi') diff --git a/src/soc/intel/skylake/acpi/dptf/cpu.asl b/src/soc/intel/skylake/acpi/dptf/cpu.asl index 56a0d07fa2..872ef1a505 100644 --- a/src/soc/intel/skylake/acpi/dptf/cpu.asl +++ b/src/soc/intel/skylake/acpi/dptf/cpu.asl @@ -50,6 +50,7 @@ External (\_PR.CPU0._TSS, MethodObj) External (\_PR.CPU0._TPC, MethodObj) External (\_PR.CPU0._PTC, PkgObj) External (\_PR.CPU0._TSD, PkgObj) +External (\_SB.MPDL, IntObj) Device (B0D4) { @@ -146,12 +147,12 @@ Device (B0D4) { If (CondRefOf (\_PR.CP00._PSS)) { Return (\_PR.CP00._PSS) - } Else { - Return (Package () - { - Package () { 0, 0, 0, 0, 0, 0 } - }) - } + } Else { + Return (Package () + { + Package () { 0, 0, 0, 0, 0, 0 } + }) + } } diff --git a/src/soc/intel/skylake/acpi/dptf/thermal.asl b/src/soc/intel/skylake/acpi/dptf/thermal.asl index a6ab8477d1..99c10da740 100644 --- a/src/soc/intel/skylake/acpi/dptf/thermal.asl +++ b/src/soc/intel/skylake/acpi/dptf/thermal.asl @@ -38,6 +38,11 @@ Method (TEVT, 1, NotSerialized) Notify (^TSR2, 0x90) } #endif +#ifdef DPTF_TSR3_SENSOR_ID + If (LEqual (Local0, DPTF_TSR3_SENSOR_ID)) { + Notify (^TSR3, 0x90) + } +#endif } /* Thermal device initialization - Disable Aux Trip Points */ @@ -52,6 +57,9 @@ Method (TINI) #ifdef DPTF_TSR2_SENSOR_ID ^TSR2.PATD () #endif +#ifdef DPTF_TSR3_SENSOR_ID + ^TSR3.PATD () +#endif } #ifdef DPTF_TSR0_SENSOR_ID @@ -221,3 +229,59 @@ Device (TSR2) } } #endif + +#ifdef DPTF_TSR3_SENSOR_ID +Device (TSR3) +{ + Name (_HID, EISAID ("INT3403")) + Name (_UID, 4) + Name (PTYP, 0x03) + Name (TMPI, DPTF_TSR3_SENSOR_ID) + Name (_STR, Unicode (DPTF_TSR3_SENSOR_NAME)) + Name (GTSH, 20) /* 2 degree hysteresis */ + + Method (_STA) + { + If (LEqual (\DPTE, One)) { + Return (0xF) + } Else { + Return (0x0) + } + } + + Method (_TMP, 0, Serialized) + { + Return (\_SB.PCI0.LPCB.EC0.TSRD (TMPI)) + } + + Method (_PSV) + { + Return (CTOK (DPTF_TSR3_PASSIVE)) + } + + Method (_CRT) + { + Return (CTOK (DPTF_TSR3_CRITICAL)) + } + + Name (PATC, 2) + + /* Set Aux Trip Point */ + Method (PAT0, 1, Serialized) + { + \_SB.PCI0.LPCB.EC0.PAT0 (TMPI, Arg0) + } + + /* Set Aux Trip Point */ + Method (PAT1, 1, Serialized) + { + \_SB.PCI0.LPCB.EC0.PAT1 (TMPI, Arg0) + } + + /* Disable Aux Trip Point */ + Method (PATD, 0, Serialized) + { + \_SB.PCI0.LPCB.EC0.PATD (TMPI) + } +} +#endif -- cgit v1.2.3