summaryrefslogtreecommitdiff
path: root/src/superio/smsc/sch5545
diff options
context:
space:
mode:
Diffstat (limited to 'src/superio/smsc/sch5545')
-rw-r--r--src/superio/smsc/sch5545/acpi/superio.asl29
1 files changed, 25 insertions, 4 deletions
diff --git a/src/superio/smsc/sch5545/acpi/superio.asl b/src/superio/smsc/sch5545/acpi/superio.asl
index 7ef8fcf728..06ef7b018b 100644
--- a/src/superio/smsc/sch5545/acpi/superio.asl
+++ b/src/superio/smsc/sch5545/acpi/superio.asl
@@ -56,7 +56,6 @@ Device(SIO1) {
Name (IOST, 0x0001) /* IO decoding status */
Name (MSFG, 1) /* Mouse wake config */
Name (KBFG, 1) /* Keyboard wake config */
- Name (PMFG, 0) /* Wake config */
/* SuperIO configuration ports */
OperationRegion (CREG, SystemIO, SUPERIO_PNP_BASE, 0x02)
@@ -338,7 +337,6 @@ Device(SIO1) {
/* SIO wake method */
Method (SIOW, 1, NotSerialized)
{
- PMFG = PMS1
If (Arg0 == 1)
{
GPKM ()
@@ -362,15 +360,38 @@ Device(SIO1) {
Method (SIOH, 0, NotSerialized)
{
- If (PMFG & 0x08)
+ Local0 = PMS1
+
+ If (Local0 & 0x08)
{
+ PMS1 = 0x08
Notify (PS2K, 0x02) // Device Wake
}
- If (PMFG & 0x10)
+ If (Local0 & 0x10)
{
+ PMS1 = 0x10
Notify (PS2M, 0x02) // Device Wake
}
+
+ If (Local0 & 0x04)
+ {
+ PMS1 = 0x04
+#ifdef SCH5545_SHOW_UARTA
+ Notify (UAR1, 0x02) // Device Wake
+#endif
+ }
+
+ If (Local0 & 0x02)
+ {
+ PMS1 = 0x02
+#ifdef SCH5545_SHOW_UARTB
+ Notify (UAR2, 0x02) // Device Wake
+#endif
+ }
+
+ Local0 = PMES
+ PMES = (Local0 & 1)
}
#endif // SCH5545_RUNTIME_BASE
#endif // SCH5545_SHOW_KBC