coreboot-kgpe-d16/src/acpi/Kconfig

52 lines
1.2 KiB
Plaintext
Raw Normal View History

# SPDX-License-Identifier: GPL-2.0-only
config ACPI_AMD_HARDWARE_SLEEP_VALUES
def_bool n
help
Provide common definitions for AMD hardware PM1_CNT register sleep
values.
config ACPI_CPU_STRING
string
default "\\_SB.CP%02d"
depends on HAVE_ACPI_TABLES
help
Sets the ACPI name string in the processor scope as written by
the acpigen function. Default is \_SB.CPxx. Note that you need
the \ escape character in the string.
config ACPI_HAVE_PCAT_8259
def_bool y if !ACPI_NO_PCAT_8259
config ACPI_INTEL_HARDWARE_SLEEP_VALUES
def_bool n
help
Provide common definitions for Intel hardware PM1_CNT register sleep
values.
config ACPI_SOC_NVS
bool
help
Set to indicate <soc/nvs.h> exists for the platform with a definition
for global_nvs.
config ACPI_HAS_DEVICE_NVS
bool
config ACPI_NO_PCAT_8259
bool
help
Selected by platforms that don't expose a PC/AT 8259 PIC pair.
config HAVE_ACPI_TABLES
bool
help
This variable specifies whether a given board has ACPI table support.
It is usually set in mainboard/*/Kconfig.
acpi,soc/intel/common: add support for Intel Low Power Idle Table Add support for the Intel LPIT table to support reading Low Power Idle Residency counters by the OS. On platforms supporting S0ix sleep states there can be two types of residencies: * CPU package PC10 residency counter (read from MSR via FFH interface) * PCH SLP_S0 assertion residency counter (read via memory mapped interface) With presence of one or both of these counters in the LPIT table, Linux dynamically adds the corresponding attributes to the cpuidle sysfs interface, that can be used to read the residency timers: * /sys/devices/system/cpu/cpuidle/low_power_idle_cpu_residency_us * /sys/devices/system/cpu/cpuidle/low_power_idle_system_residency_us The code in src/acpi implements generic LPIT support. Each SoC or platform has to implement `acpi_fill_lpit` to fill the table with platform-specific LPI state entries. This is done in this change for soc/intel/common, while being added as its own compilation unit, so SoCs not yet using common acpi code (like Skylake) can use it, too. Reference: https://uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf Test: Linux adds the cpuidle sysfs interface; Windows with s0ix_enable=1 boots without crashing with an INTERNAL_POWER_ERROR. - Windows and Linux tested on google/akemi together with CB:49046 - Linux tested on clevo/cml-u, supermicro/x11ssmf together with CB:49046 Change-Id: I816888e8788e2f04c89f20d6ea1654d2f35cf18e Tested-by: Matt DeVillier <matt.devillier@gmail.com> Tested-by: Michael Niewöhner <foss@mniewoehner.de> Signed-off-by: Shaunak Saha <shaunak.saha@intel.com> Signed-off-by: Michael Niewöhner <foss@mniewoehner.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/49045 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
2021-01-01 21:04:09 +01:00
config ACPI_LPIT
bool
depends on HAVE_ACPI_TABLES
help
Selected by platforms that support and fill Intel Low Power Idle Table.