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}) }