summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@google.com>2018-11-05 16:27:33 -0700
committerDuncan Laurie <dlaurie@chromium.org>2018-11-13 02:40:34 +0000
commit0dd913510af40d4f230130722cf0f6a755e955d8 (patch)
tree056964d3b5cbaa60f19a6e77e753b5284c006ddb
parent92332635bf6b36c0db771aa9bc775e338507702b (diff)
downloadcoreboot-0dd913510af40d4f230130722cf0f6a755e955d8.tar.xz
soc/intel/common: Add option to call EC _PTS/_WAK methods
Some embedded controllers expect to be sent a command when the OS calls the ACPI \_PTS and \_WAK methods. For example see the code in ec/google/wilco/acpi/platform.asl that tells the EC when the methods have been executed by the OS. Not all ECs may define these methods so this change requires also setting a Kconfig option to enable it. Change-Id: I6bf83509423c0fb07c4890986a189cf54afaed10 Signed-off-by: Duncan Laurie <dlaurie@google.com> Reviewed-on: https://review.coreboot.org/29487 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Furquan Shaikh <furquan@google.com>
-rw-r--r--src/soc/intel/common/Kconfig7
-rw-r--r--src/soc/intel/common/acpi/platform.asl11
2 files changed, 18 insertions, 0 deletions
diff --git a/src/soc/intel/common/Kconfig b/src/soc/intel/common/Kconfig
index 42043d740d..44d9f23a30 100644
--- a/src/soc/intel/common/Kconfig
+++ b/src/soc/intel/common/Kconfig
@@ -58,6 +58,13 @@ config SOC_INTEL_COMMON_ACPI
bool
default n
+config SOC_INTEL_COMMON_ACPI_EC_PTS_WAK
+ bool
+ default n
+ help
+ Set this option to have the platform level _PTS/_WAK methods call
+ methods provided by the Embedded Controller.
+
config SOC_INTEL_COMMON_NHLT
bool
default n
diff --git a/src/soc/intel/common/acpi/platform.asl b/src/soc/intel/common/acpi/platform.asl
index 1d0294ba6f..01913b51c5 100644
--- a/src/soc/intel/common/acpi/platform.asl
+++ b/src/soc/intel/common/acpi/platform.asl
@@ -33,6 +33,11 @@ Field (POST, ByteAcc, Lock, Preserve)
Method (_PTS, 1)
{
Store (POST_OS_ENTER_PTS, DBG0)
+
+#if IS_ENABLED(CONFIG_SOC_INTEL_COMMON_ACPI_EC_PTS_WAK)
+ /* Call EC _PTS handler */
+ \_SB.PCI0.LPCB.EC0.PTS (Arg0)
+#endif
}
/* The _WAK method is called on system wakeup */
@@ -40,5 +45,11 @@ Method (_PTS, 1)
Method (_WAK, 1)
{
Store (POST_OS_ENTER_WAKE, DBG0)
+
+#if IS_ENABLED(CONFIG_SOC_INTEL_COMMON_ACPI_EC_PTS_WAK)
+ /* Call EC _WAK handler */
+ \_SB.PCI0.LPCB.EC0.WAK (Arg0)
+#endif
+
Return (Package(){0,0})
}