diff options
Diffstat (limited to 'src/southbridge/intel/common/pmbase.c')
-rw-r--r-- | src/southbridge/intel/common/pmbase.c | 11 |
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) |