summaryrefslogtreecommitdiff
path: root/src/soc/intel/broadwell
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/broadwell')
-rw-r--r--src/soc/intel/broadwell/pch/pmutil.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/soc/intel/broadwell/pch/pmutil.c b/src/soc/intel/broadwell/pch/pmutil.c
index 4ba30b4ec6..e310416eaa 100644
--- a/src/soc/intel/broadwell/pch/pmutil.c
+++ b/src/soc/intel/broadwell/pch/pmutil.c
@@ -11,6 +11,7 @@
#include <device/pci_ops.h>
#include <device/device.h>
#include <device/pci.h>
+#include <halt.h>
#include <console/console.h>
#include <soc/iomap.h>
#include <soc/lpc.h>
@@ -421,6 +422,16 @@ int platform_is_resuming(void)
return acpi_sleep_from_pm1(inl(get_pmbase() + PM1_CNT)) == ACPI_S3;
}
+void poweroff(void)
+{
+ uint32_t pm1_cnt;
+
+ /* Go to S5 */
+ pm1_cnt = inl(ACPI_BASE_ADDRESS + PM1_CNT);
+ pm1_cnt |= (0xf << 10);
+ outl(pm1_cnt, ACPI_BASE_ADDRESS + PM1_CNT);
+}
+
/* STM Support */
uint16_t get_pmbase(void)
{