diff options
author | Shaunak Saha <shaunak.saha@intel.com> | 2016-08-22 21:55:23 -0700 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2016-08-25 23:43:50 +0200 |
commit | d6bb5495f94a6675b30e21d80c1c09559b2309ab (patch) | |
tree | 656b2bb78488e12a90d375d1f82da47ae5e55c5e /src/soc/intel/apollolake/pmutil.c | |
parent | f7ce40baf6a26e70ca18026f26977cd7f6f2cefa (diff) | |
download | coreboot-d6bb5495f94a6675b30e21d80c1c09559b2309ab.tar.xz |
intel/apollolake: Add power management utility function
This patch adds a power management utility function to
clear wake status bits in ACPI GPE0 registers. We need
to call this function before going to sleep from
common smi handler function.
BUG=chrome-os-partner:55583
BRANCH=None
TEST=Verified that system goes to sleep on lidclose and
powerd_dbus_suspend command issued from built-in
keyboard.
Change-Id: Icd095d377c82f2e154f2e2db773f737aa49cda64
Signed-off-by: Shaunak Saha <shaunak.saha@intel.com>
Reviewed-on: https://review.coreboot.org/16298
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/soc/intel/apollolake/pmutil.c')
-rw-r--r-- | src/soc/intel/apollolake/pmutil.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/soc/intel/apollolake/pmutil.c b/src/soc/intel/apollolake/pmutil.c index aaa4018683..39edc45886 100644 --- a/src/soc/intel/apollolake/pmutil.c +++ b/src/soc/intel/apollolake/pmutil.c @@ -246,6 +246,16 @@ void disable_all_gpe(void) disable_gpe(~0); } +/* Clear the gpio gpe0 status bits in ACPI registers */ +void clear_gpi_gpe_sts(void) +{ + int i; + + for (i = 1; i < GPE0_REG_MAX; i++) { + uint32_t gpe_sts = inl(ACPI_PMIO_BASE + GPE0_STS(i)); + outl(gpe_sts, ACPI_PMIO_BASE + GPE0_STS(i)); + } +} static uint32_t reset_gpe_status(void) { |