diff options
Diffstat (limited to 'src/soc')
-rw-r--r-- | src/soc/intel/apollolake/pmutil.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/soc/intel/apollolake/pmutil.c b/src/soc/intel/apollolake/pmutil.c index 874d9ad60c..e23feb2109 100644 --- a/src/soc/intel/apollolake/pmutil.c +++ b/src/soc/intel/apollolake/pmutil.c @@ -21,6 +21,7 @@ #include <console/console.h> #include <rules.h> #include <device/pci_def.h> +#include <halt.h> #include <soc/iomap.h> #include <soc/pci_devs.h> #include <soc/pm.h> @@ -413,3 +414,9 @@ void vboot_platform_prepare_reboot(void) const uint16_t port = ACPI_PMIO_BASE + PM1_CNT; outl((inl(port) & ~(SLP_TYP)) | (SLP_TYP_S5 << SLP_TYP_SHIFT), port); } + +void poweroff(void) +{ + enable_pm1_control(SLP_EN | (SLP_TYP_S5 << SLP_TYP_SHIFT)); + halt(); +} |