summaryrefslogtreecommitdiff
path: root/src/superio
diff options
context:
space:
mode:
Diffstat (limited to 'src/superio')
-rw-r--r--src/superio/smsc/sch5545/sch5545_early_init.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/superio/smsc/sch5545/sch5545_early_init.c b/src/superio/smsc/sch5545/sch5545_early_init.c
index ed4fa5337b..d77ed0d750 100644
--- a/src/superio/smsc/sch5545/sch5545_early_init.c
+++ b/src/superio/smsc/sch5545/sch5545_early_init.c
@@ -100,6 +100,13 @@ void sch5545_early_init(unsigned int port)
sch5545_set_led(SCH5545_RUNTIME_REG_BASE, SCH5545_LED_COLOR_GREEN,
SCH5545_LED_BLINK_ON);
+ /*
+ * Clear global PME status and disable PME generation to avoid
+ * unexpected wakeups or hangs. OS will re-enable it via ACPI.
+ */
+ outb(0, SCH5545_RUNTIME_REG_BASE + SCH5545_RR_PME_EN);
+ outb(1, SCH5545_RUNTIME_REG_BASE + SCH5545_RR_PME_STS);
+
/* Configure EMI */
dev = PNP_DEV(port, SCH5545_LDN_LPC);
pnp_set_logical_device(dev);