sb/intel/sleepstates.asl: Use variable to enable sleepstates

In order to make supported sleep states a runtime configuration option
use a variable. A follow-up patch will implement updating this variable
based on an SSDT generated IntObj.

Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Change-Id: I6910c2c75e668e6f75a6f431813edeb59d52dd93
Reviewed-on: https://review.coreboot.org/c/coreboot/+/74761
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
This commit is contained in:
Arthur Heymans 2023-04-25 15:54:09 +02:00 committed by Lean Sheng Tan
parent cbc5d3f34b
commit 26c571cff9

View file

@ -1,14 +1,31 @@
/* SPDX-License-Identifier: GPL-2.0-only */
Name(\_S0, Package(){0x0,0x0,0x0,0x0})
#if !CONFIG(HAVE_ACPI_RESUME)
#if !CONFIG(ACPI_S1_NOT_SUPPORTED)
Name(\_S1, Package(){0x1,0x0,0x0,0x0})
#endif
/* S1 support: bit 0, S2 Support: bit 1, etc. S0 & S5 assumed */
#if CONFIG(HAVE_ACPI_RESUME)
Name (SSFG, 0x0D)
#else
Name(\_S3, Package(){0x5,0x0,0x0,0x0})
Name (SSFG, 0x09)
#endif
#if !CONFIG(DISABLE_ACPI_HIBERNATE)
Name(\_S4, Package(){0x6,0x0,0x0,0x0})
#endif
Name(\_S5, Package(){0x7,0x0,0x0,0x0})
If (CONFIG(ACPI_S1_NOT_SUPPORTED)) {
SSFG &= 0xfe
}
If (CONFIG(DISABLE_ACPI_HIBERNATE)) {
SSFG &= 0xf7
}
/* Supported sleep states: */
Name(\_S0, Package () {0x00, 0x00, 0x00, 0x00} ) /* (S0) - working state */
If (SSFG & 0x01) {
Name(\_S1, Package () {0x01, 0x00, 0x00, 0x00} ) /* (S1) - sleeping w/CPU context */
}
If (SSFG & 0x04) {
Name(\_S3, Package () {0x05, 0x00, 0x00, 0x00} ) /* (S3) - Suspend to RAM */
}
If (SSFG & 0x08) {
Name(\_S4, Package () {0x06, 0x04, 0x00, 0x00} ) /* (S4) - Suspend to Disk */
}
Name(\_S5, Package () {0x07, 0x00, 0x00, 0x00} ) /* (S5) - Soft Off */