aboutsummaryrefslogtreecommitdiff
path: root/src/southbridge
diff options
context:
space:
mode:
Diffstat (limited to 'src/southbridge')
-rw-r--r--src/southbridge/intel/common/pmbase.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/southbridge/intel/common/pmbase.c b/src/southbridge/intel/common/pmbase.c
index 872d994210..5a339c91f7 100644
--- a/src/southbridge/intel/common/pmbase.c
+++ b/src/southbridge/intel/common/pmbase.c
@@ -7,6 +7,7 @@
#include <bootmode.h>
#include <device/pci_ops.h>
#include <device/pci_type.h>
+#include <halt.h>
#include <stdint.h>
#include "pmbase.h"
@@ -94,6 +95,16 @@ int platform_is_resuming(void)
return acpi_get_sleep_type() == ACPI_S3;
}
+void poweroff(void)
+{
+ uint32_t pm1_cnt;
+
+ /* Go to S5 */
+ pm1_cnt = read_pmbase32(PM1_CNT);
+ pm1_cnt |= (0xf << 10);
+ write_pmbase32(PM1_CNT, pm1_cnt);
+}
+
#define ACPI_SCI_IRQ 9
void ioapic_get_sci_pin(u8 *gsi, u8 *irq, u8 *flags)