summaryrefslogtreecommitdiffstats
path: root/src/superio
diff options
context:
space:
mode:
authorNico Huber <nico.h@gmx.de>2020-03-22 01:17:54 +0100
committerNico Huber <nico.h@gmx.de>2020-03-29 00:00:55 +0000
commit79dfa909bb4e04b699fb28773855bade922ea50f (patch)
treef18c46e5191a1b117a26f34bc7abd1a826ca16b9 /src/superio
parentddb4cf08f741dff9bdea708a34301efc0a6061eb (diff)
downloadcoreboot-79dfa909bb4e04b699fb28773855bade922ea50f.tar.gz
coreboot-79dfa909bb4e04b699fb28773855bade922ea50f.tar.bz2
coreboot-79dfa909bb4e04b699fb28773855bade922ea50f.zip
superio: Replace D1/D2 power states with D3
Spec says if any object to control the power state exists, at least D0 and D3 must be supported. And it seems Windows complains about the missing D3 support: https://ticket.coreboot.org/issues/257 Windows reported `*** STOP: 0x000000A5` with the first parameter `0x000000000000000D` (refers to a missing ACPI object) and the third parameter `0x000000003353505F` which is the name of the object in ASCII, little-endian (`_PS3`). Change-Id: Ifa28a7c56575848e76e4a1c542866413b4c44d50 Signed-off-by: Nico Huber <nico.h@gmx.de> Closes: https://ticket.coreboot.org/issues/257 Reviewed-on: https://review.coreboot.org/c/coreboot/+/39746 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Diffstat (limited to 'src/superio')
-rw-r--r--src/superio/acpi/pnp.asl6
-rw-r--r--src/superio/acpi/pnp_generic.asl4
-rw-r--r--src/superio/acpi/pnp_uart.asl4
-rw-r--r--src/superio/winbond/w83627dhg/acpi/superio.asl8
-rw-r--r--src/superio/winbond/w83627hf/acpi/superio.asl32
-rw-r--r--src/superio/winbond/w83977tf/acpi/superio.asl4
6 files changed, 29 insertions, 29 deletions
diff --git a/src/superio/acpi/pnp.asl b/src/superio/acpi/pnp.asl
index 1f607ebba428..bb71c9b1c61d 100644
--- a/src/superio/acpi/pnp.asl
+++ b/src/superio/acpi/pnp.asl
@@ -69,7 +69,7 @@
/*
* Current power state (returns the chip's state, if it's in
- * power saving mode, 1 if this LDN is in power saving mode,
+ * power saving mode, 3 if this LDN is in power saving mode,
* 0 else)
*
* PM_REG Identifier of a register which powers down the device
@@ -82,7 +82,7 @@
ENTER_CONFIG_MODE (PM_LDN)\
Store (PM_REG, Local0)\
EXIT_CONFIG_MODE ()\
- If (LEqual(Local0, PM_VAL)) { Return (1) }\
+ If (LEqual(Local0, PM_VAL)) { Return (3) }\
Else { Return (0) }\
/* Disable power saving mode */
@@ -92,7 +92,7 @@
EXIT_CONFIG_MODE ()
/* Enable power saving mode */
-#define PNP_GENERIC_PS1(PM_REG, PM_VAL, PM_LDN) \
+#define PNP_GENERIC_PS3(PM_REG, PM_VAL, PM_LDN) \
ENTER_CONFIG_MODE (PM_LDN)\
Store (PM_VAL, PM_REG)\
EXIT_CONFIG_MODE ()
diff --git a/src/superio/acpi/pnp_generic.asl b/src/superio/acpi/pnp_generic.asl
index 482d73e40e91..cb92a5d9c6ab 100644
--- a/src/superio/acpi/pnp_generic.asl
+++ b/src/superio/acpi/pnp_generic.asl
@@ -74,8 +74,8 @@ Device (SUPERIO_ID(PN, SUPERIO_PNP_LDN)) {
PNP_GENERIC_PS0(SUPERIO_PNP_PM_REG, SUPERIO_PNP_PM_VAL, SUPERIO_PNP_PM_LDN)
}
- Method (_PS1) {
- PNP_GENERIC_PS1(SUPERIO_PNP_PM_REG, SUPERIO_PNP_PM_VAL, SUPERIO_PNP_PM_LDN)
+ Method (_PS3) {
+ PNP_GENERIC_PS3(SUPERIO_PNP_PM_REG, SUPERIO_PNP_PM_VAL, SUPERIO_PNP_PM_LDN)
}
#else
Method (_PSC) {
diff --git a/src/superio/acpi/pnp_uart.asl b/src/superio/acpi/pnp_uart.asl
index e7278891a10b..859430ee9f75 100644
--- a/src/superio/acpi/pnp_uart.asl
+++ b/src/superio/acpi/pnp_uart.asl
@@ -57,8 +57,8 @@ Device (SUPERIO_ID(SER, SUPERIO_UART_LDN)) {
PNP_GENERIC_PS0(SUPERIO_UART_PM_REG, SUPERIO_UART_PM_VAL, SUPERIO_UART_PM_LDN)
}
- Method (_PS1) {
- PNP_GENERIC_PS1(SUPERIO_UART_PM_REG, SUPERIO_UART_PM_VAL, SUPERIO_UART_PM_LDN)
+ Method (_PS3) {
+ PNP_GENERIC_PS3(SUPERIO_UART_PM_REG, SUPERIO_UART_PM_VAL, SUPERIO_UART_PM_LDN)
}
#else
Method (_PSC) {
diff --git a/src/superio/winbond/w83627dhg/acpi/superio.asl b/src/superio/winbond/w83627dhg/acpi/superio.asl
index cb6a4a7386e2..f86f16946e39 100644
--- a/src/superio/winbond/w83627dhg/acpi/superio.asl
+++ b/src/superio/winbond/w83627dhg/acpi/superio.asl
@@ -109,12 +109,12 @@ Device(SUPERIO_DEV) {
#define PNP_EXIT_MAGIC_1ST 0xaa
#include <superio/acpi/pnp_config.asl>
- /* PM: indicate IPD (Immediate Power Down) bit state as D0/D2 */
+ /* PM: indicate IPD (Immediate Power Down) bit state as D0/D3 */
Method (_PSC) {
ENTER_CONFIG_MODE (PNP_NO_LDN_CHANGE)
Store (IPD, Local0)
EXIT_CONFIG_MODE ()
- If (Local0) { Return (2) }
+ If (Local0) { Return (3) }
Else { Return (0) }
}
@@ -125,8 +125,8 @@ Device(SUPERIO_DEV) {
EXIT_CONFIG_MODE ()
}
- /* PM: Switch to D2 by setting IPD high */
- Method (_PS2) {
+ /* PM: Switch to D3 by setting IPD high */
+ Method (_PS3) {
ENTER_CONFIG_MODE (PNP_NO_LDN_CHANGE)
Store (One, IPD)
EXIT_CONFIG_MODE ()
diff --git a/src/superio/winbond/w83627hf/acpi/superio.asl b/src/superio/winbond/w83627hf/acpi/superio.asl
index c1293ffc9306..d5c5ec90263d 100644
--- a/src/superio/winbond/w83627hf/acpi/superio.asl
+++ b/src/superio/winbond/w83627hf/acpi/superio.asl
@@ -166,12 +166,12 @@ Device(SIO) {
Release (CRMX)
}
- /* PM: indicate IPD (Immediate Power Down) bit state as D0/D2 */
+ /* PM: indicate IPD (Immediate Power Down) bit state as D0/D3 */
Method (_PSC) {
ENCM (0xFF)
Store (IPD, Local0)
EXCM ()
- If (Local0) { Return (2) }
+ If (Local0) { Return (3) }
Else { Return (0) }
}
@@ -182,8 +182,8 @@ Device(SIO) {
EXCM ()
}
- /* PM: Switch to D2 by setting IPD high */
- Method (_PS2) {
+ /* PM: Switch to D3 by setting IPD high */
+ Method (_PS3) {
ENCM (0xFF)
Store (One, IPD)
EXCM ()
@@ -220,7 +220,7 @@ Device(SIO) {
ENCM (0xFF)
Store (FDPW, Local0)
EXCM ()
- If (Local0) { Return (1) }
+ If (Local0) { Return (3) }
Else { Return (0) }
}
/* Disable power saving mode */
@@ -230,7 +230,7 @@ Device(SIO) {
EXCM ()
}
/* Enable power saving mode */
- Method (_PS1) {
+ Method (_PS3) {
ENCM (0xFF)
Store (Zero, FDPW)
EXCM ()
@@ -441,7 +441,7 @@ Device(SIO) {
ENCM (0xFF)
Store (PRPW, Local0)
EXCM ()
- If (Local0) { Return (1) }
+ If (Local0) { Return (3) }
Else { Return (0) }
}
Method (_PS0) {
@@ -449,7 +449,7 @@ Device(SIO) {
Store (One, PRPW)
EXCM ()
}
- Method (_PS1) {
+ Method (_PS3) {
ENCM (0xFF)
Store (Zero, PRPW)
EXCM ()
@@ -618,7 +618,7 @@ Device(SIO) {
ENCM (0xFF)
Store (UAPW, Local0)
EXCM ()
- If (Local0) { Return (1) }
+ If (Local0) { Return (3) }
Else { Return (0) }
}
Method (_PS0) {
@@ -626,7 +626,7 @@ Device(SIO) {
Store (One, UAPW)
EXCM ()
}
- Method (_PS1) {
+ Method (_PS3) {
ENCM (0xFF)
Store (Zero, UAPW)
EXCM ()
@@ -743,7 +743,7 @@ Device(SIO) {
ENCM (0xFF)
Store (UBPW, Local0)
EXCM ()
- If (Local0) { Return (1) }
+ If (Local0) { Return (3) }
Else { Return (0) }
}
Method (_PS0) {
@@ -751,7 +751,7 @@ Device(SIO) {
Store (One, UBPW)
EXCM ()
}
- Method (_PS1) {
+ Method (_PS3) {
ENCM (0xFF)
Store (Zero, UBPW)
EXCM ()
@@ -868,7 +868,7 @@ Device(SIO) {
ENCM (0xFF)
Store (UBPW, Local0)
EXCM ()
- If (Local0) { Return (1) }
+ If (Local0) { Return (3) }
Else { Return (0) }
}
Method (_PS0) {
@@ -876,7 +876,7 @@ Device(SIO) {
Store (One, UBPW)
EXCM ()
}
- Method (_PS1) {
+ Method (_PS3) {
ENCM (0xFF)
Store (Zero, UBPW)
EXCM ()
@@ -1391,7 +1391,7 @@ Device(SIO) {
ENCM (0xFF)
Store (HWPW, Local0)
EXCM ()
- If (Local0) { Return (1) }
+ If (Local0) { Return (3) }
Else { Return (0) }
}
@@ -1402,7 +1402,7 @@ Device(SIO) {
EXCM ()
}
- Method (_PS1)
+ Method (_PS3)
{
ENCM (0xFF)
Store (Zero, HWPW)
diff --git a/src/superio/winbond/w83977tf/acpi/superio.asl b/src/superio/winbond/w83977tf/acpi/superio.asl
index e2ff2ef1d67b..c7a62cddd1ea 100644
--- a/src/superio/winbond/w83977tf/acpi/superio.asl
+++ b/src/superio/winbond/w83977tf/acpi/superio.asl
@@ -72,12 +72,12 @@ IndexField (PNP_ADDR_REG, PNP_DATA_REG, ByteAcc, NoLock, Preserve)
#define PNP_EXIT_MAGIC_1ST 0xaa
#include <superio/acpi/pnp_config.asl>
-/* PM: indicate IPD (Immediate Power Down) bit state as D0/D2 */
+/* PM: indicate IPD (Immediate Power Down) bit state as D0/D3 */
Method (_PSC) {
ENTER_CONFIG_MODE (0xFF)
Store (IPD, Local0)
EXIT_CONFIG_MODE ()
- If (Local0) { Return (2) }
+ If (Local0) { Return (3) }
Else { Return (0) }
}