diff options
author | Duncan Laurie <dlaurie@google.com> | 2018-11-05 16:27:33 -0700 |
---|---|---|
committer | Duncan Laurie <dlaurie@chromium.org> | 2018-11-13 02:40:34 +0000 |
commit | 0dd913510af40d4f230130722cf0f6a755e955d8 (patch) | |
tree | 056964d3b5cbaa60f19a6e77e753b5284c006ddb /src/soc/intel | |
parent | 92332635bf6b36c0db771aa9bc775e338507702b (diff) | |
download | coreboot-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>
Diffstat (limited to 'src/soc/intel')
-rw-r--r-- | src/soc/intel/common/Kconfig | 7 | ||||
-rw-r--r-- | src/soc/intel/common/acpi/platform.asl | 11 |
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}) } |