162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# ACPI Configuration 462306a36Sopenharmony_ci# 562306a36Sopenharmony_ci 662306a36Sopenharmony_ciconfig ARCH_SUPPORTS_ACPI 762306a36Sopenharmony_ci bool 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimenuconfig ACPI 1062306a36Sopenharmony_ci bool "ACPI (Advanced Configuration and Power Interface) Support" 1162306a36Sopenharmony_ci depends on ARCH_SUPPORTS_ACPI 1262306a36Sopenharmony_ci select PNP 1362306a36Sopenharmony_ci select NLS 1462306a36Sopenharmony_ci select CRC32 1562306a36Sopenharmony_ci default y if X86 1662306a36Sopenharmony_ci help 1762306a36Sopenharmony_ci Advanced Configuration and Power Interface (ACPI) support for 1862306a36Sopenharmony_ci Linux requires an ACPI-compliant platform (hardware/firmware), 1962306a36Sopenharmony_ci and assumes the presence of OS-directed configuration and power 2062306a36Sopenharmony_ci management (OSPM) software. This option will enlarge your 2162306a36Sopenharmony_ci kernel by about 70K. 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci Linux ACPI provides a robust functional replacement for several 2462306a36Sopenharmony_ci legacy configuration and power management interfaces, including 2562306a36Sopenharmony_ci the Plug-and-Play BIOS specification (PnP BIOS), the 2662306a36Sopenharmony_ci MultiProcessor Specification (MPS), and the Advanced Power 2762306a36Sopenharmony_ci Management (APM) specification. If both ACPI and APM support 2862306a36Sopenharmony_ci are configured, ACPI is used. 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci Linux support for ACPI is based on Intel Corporation's ACPI 3162306a36Sopenharmony_ci Component Architecture (ACPI CA). For more information on the 3262306a36Sopenharmony_ci ACPI CA, see: 3362306a36Sopenharmony_ci <https://acpica.org/> 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci ACPI is an open industry specification originally co-developed by 3662306a36Sopenharmony_ci Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba. Currently, 3762306a36Sopenharmony_ci it is developed by the ACPI Specification Working Group (ASWG) under 3862306a36Sopenharmony_ci the UEFI Forum and any UEFI member can join the ASWG and contribute 3962306a36Sopenharmony_ci to the ACPI specification. 4062306a36Sopenharmony_ci The specification is available at: 4162306a36Sopenharmony_ci <https://uefi.org/specifications> 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ciif ACPI 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ciconfig ACPI_LEGACY_TABLES_LOOKUP 4662306a36Sopenharmony_ci bool 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ciconfig ARCH_MIGHT_HAVE_ACPI_PDC 4962306a36Sopenharmony_ci bool 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ciconfig ACPI_GENERIC_GSI 5262306a36Sopenharmony_ci bool 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ciconfig ACPI_SYSTEM_POWER_STATES_SUPPORT 5562306a36Sopenharmony_ci bool 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ciconfig ACPI_CCA_REQUIRED 5862306a36Sopenharmony_ci bool 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ciconfig ACPI_TABLE_LIB 6162306a36Sopenharmony_ci bool 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ciconfig ACPI_DEBUGGER 6462306a36Sopenharmony_ci bool "AML debugger interface" 6562306a36Sopenharmony_ci select ACPI_DEBUG 6662306a36Sopenharmony_ci help 6762306a36Sopenharmony_ci Enable in-kernel debugging of AML facilities: statistics, 6862306a36Sopenharmony_ci internal object dump, single step control method execution. 6962306a36Sopenharmony_ci This is still under development, currently enabling this only 7062306a36Sopenharmony_ci results in the compilation of the ACPICA debugger files. 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ciif ACPI_DEBUGGER 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ciconfig ACPI_DEBUGGER_USER 7562306a36Sopenharmony_ci tristate "Userspace debugger accessibility" 7662306a36Sopenharmony_ci depends on DEBUG_FS 7762306a36Sopenharmony_ci help 7862306a36Sopenharmony_ci Export /sys/kernel/debug/acpi/acpidbg for userspace utilities 7962306a36Sopenharmony_ci to access the debugger functionalities. 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ciendif 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ciconfig ACPI_SPCR_TABLE 8462306a36Sopenharmony_ci bool "ACPI Serial Port Console Redirection Support" 8562306a36Sopenharmony_ci default y if X86 8662306a36Sopenharmony_ci help 8762306a36Sopenharmony_ci Enable support for Serial Port Console Redirection (SPCR) Table. 8862306a36Sopenharmony_ci This table provides information about the configuration of the 8962306a36Sopenharmony_ci earlycon console. 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ciconfig ACPI_FPDT 9262306a36Sopenharmony_ci bool "ACPI Firmware Performance Data Table (FPDT) support" 9362306a36Sopenharmony_ci depends on X86_64 || ARM64 9462306a36Sopenharmony_ci help 9562306a36Sopenharmony_ci Enable support for the Firmware Performance Data Table (FPDT). 9662306a36Sopenharmony_ci This table provides information on the timing of the system 9762306a36Sopenharmony_ci boot, S3 suspend and S3 resume firmware code paths. 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ciconfig ACPI_LPIT 10062306a36Sopenharmony_ci bool 10162306a36Sopenharmony_ci depends on X86_64 10262306a36Sopenharmony_ci default y 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ciconfig ACPI_SLEEP 10562306a36Sopenharmony_ci bool 10662306a36Sopenharmony_ci depends on SUSPEND || HIBERNATION 10762306a36Sopenharmony_ci depends on ACPI_SYSTEM_POWER_STATES_SUPPORT 10862306a36Sopenharmony_ci default y 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ciconfig ACPI_REV_OVERRIDE_POSSIBLE 11162306a36Sopenharmony_ci bool "Allow supported ACPI revision to be overridden" 11262306a36Sopenharmony_ci depends on X86 11362306a36Sopenharmony_ci default y 11462306a36Sopenharmony_ci help 11562306a36Sopenharmony_ci The platform firmware on some systems expects Linux to return "5" as 11662306a36Sopenharmony_ci the supported ACPI revision which makes it expose system configuration 11762306a36Sopenharmony_ci information in a special way. 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci For example, based on what ACPI exports as the supported revision, 12062306a36Sopenharmony_ci Dell XPS 13 (2015) configures its audio device to either work in HDA 12162306a36Sopenharmony_ci mode or in I2S mode, where the former is supposed to be used on Linux 12262306a36Sopenharmony_ci until the latter is fully supported (in the kernel as well as in user 12362306a36Sopenharmony_ci space). 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ci This option enables a DMI-based quirk for the above Dell machine (so 12662306a36Sopenharmony_ci that HDA audio is exposed by the platform firmware to the kernel) and 12762306a36Sopenharmony_ci makes it possible to force the kernel to return "5" as the supported 12862306a36Sopenharmony_ci ACPI revision via the "acpi_rev_override" command line switch. 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ciconfig ACPI_EC_DEBUGFS 13162306a36Sopenharmony_ci tristate "EC read/write access through /sys/kernel/debug/ec" 13262306a36Sopenharmony_ci help 13362306a36Sopenharmony_ci Say N to disable Embedded Controller /sys/kernel/debug interface 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci Be aware that using this interface can confuse your Embedded 13662306a36Sopenharmony_ci Controller in a way that a normal reboot is not enough. You then 13762306a36Sopenharmony_ci have to power off your system, and remove the laptop battery for 13862306a36Sopenharmony_ci some seconds. 13962306a36Sopenharmony_ci An Embedded Controller typically is available on laptops and reads 14062306a36Sopenharmony_ci sensor values like battery state and temperature. 14162306a36Sopenharmony_ci The kernel accesses the EC through ACPI parsed code provided by BIOS 14262306a36Sopenharmony_ci tables. This option allows to access the EC directly without ACPI 14362306a36Sopenharmony_ci code being involved. 14462306a36Sopenharmony_ci Thus this option is a debug option that helps to write ACPI drivers 14562306a36Sopenharmony_ci and can be used to identify ACPI code or EC firmware bugs. 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ciconfig ACPI_AC 14862306a36Sopenharmony_ci tristate "AC Adapter" 14962306a36Sopenharmony_ci select POWER_SUPPLY 15062306a36Sopenharmony_ci default y 15162306a36Sopenharmony_ci help 15262306a36Sopenharmony_ci This driver supports the AC Adapter object, which indicates 15362306a36Sopenharmony_ci whether a system is on AC or not. If you have a system that can 15462306a36Sopenharmony_ci switch between A/C and battery, say Y. 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci To compile this driver as a module, choose M here: 15762306a36Sopenharmony_ci the module will be called ac. 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ciconfig ACPI_BATTERY 16062306a36Sopenharmony_ci tristate "Battery" 16162306a36Sopenharmony_ci select POWER_SUPPLY 16262306a36Sopenharmony_ci default y 16362306a36Sopenharmony_ci help 16462306a36Sopenharmony_ci This driver adds support for battery information through 16562306a36Sopenharmony_ci /proc/acpi/battery. If you have a mobile system with a battery, 16662306a36Sopenharmony_ci say Y. 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci To compile this driver as a module, choose M here: 16962306a36Sopenharmony_ci the module will be called battery. 17062306a36Sopenharmony_ci 17162306a36Sopenharmony_ciconfig ACPI_BUTTON 17262306a36Sopenharmony_ci tristate "Button" 17362306a36Sopenharmony_ci depends on INPUT 17462306a36Sopenharmony_ci default y 17562306a36Sopenharmony_ci help 17662306a36Sopenharmony_ci This driver handles events on the power, sleep, and lid buttons. 17762306a36Sopenharmony_ci A daemon reads events from input devices or via netlink and 17862306a36Sopenharmony_ci performs user-defined actions such as shutting down the system. 17962306a36Sopenharmony_ci This is necessary for software-controlled poweroff. 18062306a36Sopenharmony_ci 18162306a36Sopenharmony_ci To compile this driver as a module, choose M here: 18262306a36Sopenharmony_ci the module will be called button. 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_ciconfig ACPI_TINY_POWER_BUTTON 18562306a36Sopenharmony_ci tristate "Tiny Power Button Driver" 18662306a36Sopenharmony_ci depends on !ACPI_BUTTON 18762306a36Sopenharmony_ci help 18862306a36Sopenharmony_ci This driver provides a tiny alternative to the ACPI Button driver. 18962306a36Sopenharmony_ci The tiny power button driver only handles the power button. Rather 19062306a36Sopenharmony_ci than notifying userspace via the input layer or a netlink event, this 19162306a36Sopenharmony_ci driver directly signals the init process to shut down. 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ci This driver is particularly suitable for cloud and VM environments, 19462306a36Sopenharmony_ci which use a simulated power button to initiate a controlled poweroff, 19562306a36Sopenharmony_ci but which may not want to run a separate userspace daemon to process 19662306a36Sopenharmony_ci input events. 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ciconfig ACPI_TINY_POWER_BUTTON_SIGNAL 19962306a36Sopenharmony_ci int "Tiny Power Button Signal" 20062306a36Sopenharmony_ci depends on ACPI_TINY_POWER_BUTTON 20162306a36Sopenharmony_ci default 38 20262306a36Sopenharmony_ci help 20362306a36Sopenharmony_ci Default signal to send to init in response to the power button. 20462306a36Sopenharmony_ci 20562306a36Sopenharmony_ci Likely values here include 38 (SIGRTMIN+4) to power off, or 2 20662306a36Sopenharmony_ci (SIGINT) to simulate Ctrl+Alt+Del. 20762306a36Sopenharmony_ci 20862306a36Sopenharmony_ciconfig ACPI_VIDEO 20962306a36Sopenharmony_ci tristate "Video" 21062306a36Sopenharmony_ci depends on BACKLIGHT_CLASS_DEVICE 21162306a36Sopenharmony_ci depends on INPUT 21262306a36Sopenharmony_ci depends on ACPI_WMI || !X86 21362306a36Sopenharmony_ci select THERMAL 21462306a36Sopenharmony_ci help 21562306a36Sopenharmony_ci This driver implements the ACPI Extensions For Display Adapters 21662306a36Sopenharmony_ci for integrated graphics devices on motherboard, as specified in 21762306a36Sopenharmony_ci ACPI 2.0 Specification, Appendix B. This supports basic operations 21862306a36Sopenharmony_ci such as defining the video POST device, retrieving EDID information, 21962306a36Sopenharmony_ci and setting up a video output. 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_ci To compile this driver as a module, choose M here: 22262306a36Sopenharmony_ci the module will be called video. 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ciconfig ACPI_FAN 22562306a36Sopenharmony_ci tristate "Fan" 22662306a36Sopenharmony_ci depends on THERMAL 22762306a36Sopenharmony_ci default y 22862306a36Sopenharmony_ci help 22962306a36Sopenharmony_ci This driver supports ACPI fan devices, allowing user-mode 23062306a36Sopenharmony_ci applications to perform basic fan control (on, off, status). 23162306a36Sopenharmony_ci 23262306a36Sopenharmony_ci To compile this driver as a module, choose M here: 23362306a36Sopenharmony_ci the module will be called fan. 23462306a36Sopenharmony_ci 23562306a36Sopenharmony_ciconfig ACPI_TAD 23662306a36Sopenharmony_ci tristate "ACPI Time and Alarm (TAD) Device Support" 23762306a36Sopenharmony_ci depends on SYSFS && PM_SLEEP 23862306a36Sopenharmony_ci help 23962306a36Sopenharmony_ci The ACPI Time and Alarm (TAD) device is an alternative to the Real 24062306a36Sopenharmony_ci Time Clock (RTC). Its wake timers allow the system to transition from 24162306a36Sopenharmony_ci the S3 (or optionally S4/S5) state to S0 state after a time period 24262306a36Sopenharmony_ci elapses. In comparison with the RTC Alarm, the TAD provides a larger 24362306a36Sopenharmony_ci scale of flexibility in the wake timers. The time capabilities of the 24462306a36Sopenharmony_ci TAD maintain the time of day information across platform power 24562306a36Sopenharmony_ci transitions, and keep track of time even when the platform is turned 24662306a36Sopenharmony_ci off. 24762306a36Sopenharmony_ci 24862306a36Sopenharmony_ciconfig ACPI_DOCK 24962306a36Sopenharmony_ci bool "Dock" 25062306a36Sopenharmony_ci help 25162306a36Sopenharmony_ci This driver supports ACPI-controlled docking stations and removable 25262306a36Sopenharmony_ci drive bays such as the IBM Ultrabay and the Dell Module Bay. 25362306a36Sopenharmony_ci 25462306a36Sopenharmony_ciconfig ACPI_CPU_FREQ_PSS 25562306a36Sopenharmony_ci bool 25662306a36Sopenharmony_ci 25762306a36Sopenharmony_ciconfig ACPI_PROCESSOR_CSTATE 25862306a36Sopenharmony_ci def_bool y 25962306a36Sopenharmony_ci depends on ACPI_PROCESSOR 26062306a36Sopenharmony_ci depends on IA64 || X86 26162306a36Sopenharmony_ci 26262306a36Sopenharmony_ciconfig ACPI_PROCESSOR_IDLE 26362306a36Sopenharmony_ci bool 26462306a36Sopenharmony_ci select CPU_IDLE 26562306a36Sopenharmony_ci 26662306a36Sopenharmony_ciconfig ACPI_MCFG 26762306a36Sopenharmony_ci bool 26862306a36Sopenharmony_ci 26962306a36Sopenharmony_ciconfig ACPI_CPPC_LIB 27062306a36Sopenharmony_ci bool 27162306a36Sopenharmony_ci depends on ACPI_PROCESSOR 27262306a36Sopenharmony_ci select MAILBOX 27362306a36Sopenharmony_ci select PCC 27462306a36Sopenharmony_ci help 27562306a36Sopenharmony_ci If this option is enabled, this file implements common functionality 27662306a36Sopenharmony_ci to parse CPPC tables as described in the ACPI 5.1+ spec. The 27762306a36Sopenharmony_ci routines implemented are meant to be used by other 27862306a36Sopenharmony_ci drivers to control CPU performance using CPPC semantics. 27962306a36Sopenharmony_ci If your platform does not support CPPC in firmware, 28062306a36Sopenharmony_ci leave this option disabled. 28162306a36Sopenharmony_ci 28262306a36Sopenharmony_ciconfig ACPI_PROCESSOR 28362306a36Sopenharmony_ci tristate "Processor" 28462306a36Sopenharmony_ci depends on X86 || IA64 || ARM64 || LOONGARCH 28562306a36Sopenharmony_ci select ACPI_PROCESSOR_IDLE 28662306a36Sopenharmony_ci select ACPI_CPU_FREQ_PSS if X86 || IA64 || LOONGARCH 28762306a36Sopenharmony_ci select THERMAL 28862306a36Sopenharmony_ci default y 28962306a36Sopenharmony_ci help 29062306a36Sopenharmony_ci This driver adds support for the ACPI Processor package. It is required 29162306a36Sopenharmony_ci by several flavors of cpufreq performance-state, thermal, throttling and 29262306a36Sopenharmony_ci idle drivers. 29362306a36Sopenharmony_ci 29462306a36Sopenharmony_ci To compile this driver as a module, choose M here: 29562306a36Sopenharmony_ci the module will be called processor. 29662306a36Sopenharmony_ci 29762306a36Sopenharmony_ciconfig ACPI_IPMI 29862306a36Sopenharmony_ci tristate "IPMI" 29962306a36Sopenharmony_ci depends on IPMI_HANDLER 30062306a36Sopenharmony_ci help 30162306a36Sopenharmony_ci This driver enables the ACPI to access the BMC controller. And it 30262306a36Sopenharmony_ci uses the IPMI request/response message to communicate with BMC 30362306a36Sopenharmony_ci controller, which can be found on the server. 30462306a36Sopenharmony_ci 30562306a36Sopenharmony_ci To compile this driver as a module, choose M here: 30662306a36Sopenharmony_ci the module will be called as acpi_ipmi. 30762306a36Sopenharmony_ci 30862306a36Sopenharmony_ciconfig ACPI_HOTPLUG_CPU 30962306a36Sopenharmony_ci bool 31062306a36Sopenharmony_ci depends on ACPI_PROCESSOR && HOTPLUG_CPU 31162306a36Sopenharmony_ci select ACPI_CONTAINER 31262306a36Sopenharmony_ci default y 31362306a36Sopenharmony_ci 31462306a36Sopenharmony_ciconfig ACPI_PROCESSOR_AGGREGATOR 31562306a36Sopenharmony_ci tristate "Processor Aggregator" 31662306a36Sopenharmony_ci depends on ACPI_PROCESSOR 31762306a36Sopenharmony_ci depends on X86 31862306a36Sopenharmony_ci help 31962306a36Sopenharmony_ci ACPI 4.0 defines processor Aggregator, which enables OS to perform 32062306a36Sopenharmony_ci specific processor configuration and control that applies to all 32162306a36Sopenharmony_ci processors in the platform. Currently only logical processor idling 32262306a36Sopenharmony_ci is defined, which is to reduce power consumption. This driver 32362306a36Sopenharmony_ci supports the new device. 32462306a36Sopenharmony_ci 32562306a36Sopenharmony_ciconfig ACPI_THERMAL 32662306a36Sopenharmony_ci tristate "Thermal Zone" 32762306a36Sopenharmony_ci depends on ACPI_PROCESSOR 32862306a36Sopenharmony_ci select THERMAL 32962306a36Sopenharmony_ci default y 33062306a36Sopenharmony_ci help 33162306a36Sopenharmony_ci This driver supports ACPI thermal zones. Most mobile and 33262306a36Sopenharmony_ci some desktop systems support ACPI thermal zones. It is HIGHLY 33362306a36Sopenharmony_ci recommended that this option be enabled, as your processor(s) 33462306a36Sopenharmony_ci may be damaged without it. 33562306a36Sopenharmony_ci 33662306a36Sopenharmony_ci To compile this driver as a module, choose M here: 33762306a36Sopenharmony_ci the module will be called thermal. 33862306a36Sopenharmony_ci 33962306a36Sopenharmony_ciconfig ACPI_PLATFORM_PROFILE 34062306a36Sopenharmony_ci tristate 34162306a36Sopenharmony_ci 34262306a36Sopenharmony_ciconfig ACPI_CUSTOM_DSDT_FILE 34362306a36Sopenharmony_ci string "Custom DSDT Table file to include" 34462306a36Sopenharmony_ci default "" 34562306a36Sopenharmony_ci depends on !STANDALONE 34662306a36Sopenharmony_ci help 34762306a36Sopenharmony_ci This option supports a custom DSDT by linking it into the kernel. 34862306a36Sopenharmony_ci 34962306a36Sopenharmony_ci Enter the full path name to the file which includes the AmlCode 35062306a36Sopenharmony_ci or dsdt_aml_code declaration. 35162306a36Sopenharmony_ci 35262306a36Sopenharmony_ci If unsure, don't enter a file name. 35362306a36Sopenharmony_ci 35462306a36Sopenharmony_ciconfig ACPI_CUSTOM_DSDT 35562306a36Sopenharmony_ci bool 35662306a36Sopenharmony_ci default ACPI_CUSTOM_DSDT_FILE != "" 35762306a36Sopenharmony_ci 35862306a36Sopenharmony_ciconfig ARCH_HAS_ACPI_TABLE_UPGRADE 35962306a36Sopenharmony_ci def_bool n 36062306a36Sopenharmony_ci 36162306a36Sopenharmony_ciconfig ACPI_TABLE_UPGRADE 36262306a36Sopenharmony_ci bool "Allow upgrading ACPI tables via initrd" 36362306a36Sopenharmony_ci depends on BLK_DEV_INITRD && ARCH_HAS_ACPI_TABLE_UPGRADE 36462306a36Sopenharmony_ci default y 36562306a36Sopenharmony_ci help 36662306a36Sopenharmony_ci This option provides functionality to upgrade arbitrary ACPI tables 36762306a36Sopenharmony_ci via initrd. No functional change if no ACPI tables are passed via 36862306a36Sopenharmony_ci initrd, therefore it's safe to say Y. 36962306a36Sopenharmony_ci See Documentation/admin-guide/acpi/initrd_table_override.rst for details 37062306a36Sopenharmony_ci 37162306a36Sopenharmony_ciconfig ACPI_TABLE_OVERRIDE_VIA_BUILTIN_INITRD 37262306a36Sopenharmony_ci bool "Override ACPI tables from built-in initrd" 37362306a36Sopenharmony_ci depends on ACPI_TABLE_UPGRADE 37462306a36Sopenharmony_ci depends on INITRAMFS_SOURCE!="" && INITRAMFS_COMPRESSION_NONE 37562306a36Sopenharmony_ci help 37662306a36Sopenharmony_ci This option provides functionality to override arbitrary ACPI tables 37762306a36Sopenharmony_ci from built-in uncompressed initrd. 37862306a36Sopenharmony_ci 37962306a36Sopenharmony_ci See Documentation/admin-guide/acpi/initrd_table_override.rst for details 38062306a36Sopenharmony_ci 38162306a36Sopenharmony_ciconfig ACPI_DEBUG 38262306a36Sopenharmony_ci bool "Debug Statements" 38362306a36Sopenharmony_ci help 38462306a36Sopenharmony_ci The ACPI subsystem can produce debug output. Saying Y enables this 38562306a36Sopenharmony_ci output and increases the kernel size by around 50K. 38662306a36Sopenharmony_ci 38762306a36Sopenharmony_ci Use the acpi.debug_layer and acpi.debug_level kernel command-line 38862306a36Sopenharmony_ci parameters documented in Documentation/firmware-guide/acpi/debug.rst and 38962306a36Sopenharmony_ci Documentation/admin-guide/kernel-parameters.rst to control the type and 39062306a36Sopenharmony_ci amount of debug output. 39162306a36Sopenharmony_ci 39262306a36Sopenharmony_ciconfig ACPI_PCI_SLOT 39362306a36Sopenharmony_ci bool "PCI slot detection driver" 39462306a36Sopenharmony_ci depends on SYSFS && PCI 39562306a36Sopenharmony_ci help 39662306a36Sopenharmony_ci This driver creates entries in /sys/bus/pci/slots/ for all PCI 39762306a36Sopenharmony_ci slots in the system. This can help correlate PCI bus addresses, 39862306a36Sopenharmony_ci i.e., segment/bus/device/function tuples, with physical slots in 39962306a36Sopenharmony_ci the system. If you are unsure, say N. 40062306a36Sopenharmony_ci 40162306a36Sopenharmony_ciconfig ACPI_CONTAINER 40262306a36Sopenharmony_ci bool "Container and Module Devices" 40362306a36Sopenharmony_ci default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU) 40462306a36Sopenharmony_ci help 40562306a36Sopenharmony_ci This driver supports ACPI Container and Module devices (IDs 40662306a36Sopenharmony_ci ACPI0004, PNP0A05, and PNP0A06). 40762306a36Sopenharmony_ci 40862306a36Sopenharmony_ci This helps support hotplug of nodes, CPUs, and memory. 40962306a36Sopenharmony_ci 41062306a36Sopenharmony_ciconfig ACPI_HOTPLUG_MEMORY 41162306a36Sopenharmony_ci bool "Memory Hotplug" 41262306a36Sopenharmony_ci depends on MEMORY_HOTPLUG 41362306a36Sopenharmony_ci help 41462306a36Sopenharmony_ci This driver supports ACPI memory hotplug. The driver 41562306a36Sopenharmony_ci fields notifications on ACPI memory devices (PNP0C80), 41662306a36Sopenharmony_ci which represent memory ranges that may be onlined or 41762306a36Sopenharmony_ci offlined during runtime. 41862306a36Sopenharmony_ci 41962306a36Sopenharmony_ci If your hardware and firmware do not support adding or 42062306a36Sopenharmony_ci removing memory devices at runtime, you need not enable 42162306a36Sopenharmony_ci this driver. 42262306a36Sopenharmony_ci 42362306a36Sopenharmony_ciconfig ACPI_HOTPLUG_IOAPIC 42462306a36Sopenharmony_ci bool 42562306a36Sopenharmony_ci depends on PCI 42662306a36Sopenharmony_ci depends on X86_IO_APIC 42762306a36Sopenharmony_ci default y 42862306a36Sopenharmony_ci 42962306a36Sopenharmony_ciconfig ACPI_SBS 43062306a36Sopenharmony_ci tristate "Smart Battery System" 43162306a36Sopenharmony_ci depends on X86 43262306a36Sopenharmony_ci select POWER_SUPPLY 43362306a36Sopenharmony_ci help 43462306a36Sopenharmony_ci This driver supports the Smart Battery System, another 43562306a36Sopenharmony_ci type of access to battery information, found on some laptops. 43662306a36Sopenharmony_ci 43762306a36Sopenharmony_ci To compile this driver as a module, choose M here: 43862306a36Sopenharmony_ci the modules will be called sbs and sbshc. 43962306a36Sopenharmony_ci 44062306a36Sopenharmony_ciconfig ACPI_HED 44162306a36Sopenharmony_ci tristate "Hardware Error Device" 44262306a36Sopenharmony_ci help 44362306a36Sopenharmony_ci This driver supports the Hardware Error Device (PNP0C33), 44462306a36Sopenharmony_ci which is used to report some hardware errors notified via 44562306a36Sopenharmony_ci SCI, mainly the corrected errors. 44662306a36Sopenharmony_ci 44762306a36Sopenharmony_ciconfig ACPI_CUSTOM_METHOD 44862306a36Sopenharmony_ci tristate "Allow ACPI methods to be inserted/replaced at run time" 44962306a36Sopenharmony_ci depends on DEBUG_FS 45062306a36Sopenharmony_ci help 45162306a36Sopenharmony_ci This debug facility allows ACPI AML methods to be inserted and/or 45262306a36Sopenharmony_ci replaced without rebooting the system. For details refer to: 45362306a36Sopenharmony_ci Documentation/firmware-guide/acpi/method-customizing.rst. 45462306a36Sopenharmony_ci 45562306a36Sopenharmony_ci NOTE: This option is security sensitive, because it allows arbitrary 45662306a36Sopenharmony_ci kernel memory to be written to by root (uid=0) users, allowing them 45762306a36Sopenharmony_ci to bypass certain security measures (e.g. if root is not allowed to 45862306a36Sopenharmony_ci load additional kernel modules after boot, this feature may be used 45962306a36Sopenharmony_ci to override that restriction). 46062306a36Sopenharmony_ci 46162306a36Sopenharmony_ciconfig ACPI_BGRT 46262306a36Sopenharmony_ci bool "Boottime Graphics Resource Table support" 46362306a36Sopenharmony_ci depends on EFI && (X86 || ARM64) 46462306a36Sopenharmony_ci help 46562306a36Sopenharmony_ci This driver adds support for exposing the ACPI Boottime Graphics 46662306a36Sopenharmony_ci Resource Table, which allows the operating system to obtain 46762306a36Sopenharmony_ci data from the firmware boot splash. It will appear under 46862306a36Sopenharmony_ci /sys/firmware/acpi/bgrt/ . 46962306a36Sopenharmony_ci 47062306a36Sopenharmony_ciconfig ACPI_REDUCED_HARDWARE_ONLY 47162306a36Sopenharmony_ci bool "Hardware-reduced ACPI support only" if EXPERT 47262306a36Sopenharmony_ci def_bool n 47362306a36Sopenharmony_ci help 47462306a36Sopenharmony_ci This config item changes the way the ACPI code is built. When this 47562306a36Sopenharmony_ci option is selected, the kernel will use a specialized version of 47662306a36Sopenharmony_ci ACPICA that ONLY supports the ACPI "reduced hardware" mode. The 47762306a36Sopenharmony_ci resulting kernel will be smaller but it will also be restricted to 47862306a36Sopenharmony_ci running in ACPI reduced hardware mode ONLY. 47962306a36Sopenharmony_ci 48062306a36Sopenharmony_ci If you are unsure what to do, do not enable this option. 48162306a36Sopenharmony_ci 48262306a36Sopenharmony_cisource "drivers/acpi/nfit/Kconfig" 48362306a36Sopenharmony_cisource "drivers/acpi/numa/Kconfig" 48462306a36Sopenharmony_cisource "drivers/acpi/apei/Kconfig" 48562306a36Sopenharmony_cisource "drivers/acpi/dptf/Kconfig" 48662306a36Sopenharmony_ci 48762306a36Sopenharmony_ciconfig ACPI_WATCHDOG 48862306a36Sopenharmony_ci bool 48962306a36Sopenharmony_ci 49062306a36Sopenharmony_ciconfig ACPI_EXTLOG 49162306a36Sopenharmony_ci tristate "Extended Error Log support" 49262306a36Sopenharmony_ci depends on X86_MCE && X86_LOCAL_APIC && EDAC 49362306a36Sopenharmony_ci select UEFI_CPER 49462306a36Sopenharmony_ci help 49562306a36Sopenharmony_ci Certain usages such as Predictive Failure Analysis (PFA) require 49662306a36Sopenharmony_ci more information about the error than what can be described in 49762306a36Sopenharmony_ci processor machine check banks. Most server processors log 49862306a36Sopenharmony_ci additional information about the error in processor uncore 49962306a36Sopenharmony_ci registers. Since the addresses and layout of these registers vary 50062306a36Sopenharmony_ci widely from one processor to another, system software cannot 50162306a36Sopenharmony_ci readily make use of them. To complicate matters further, some of 50262306a36Sopenharmony_ci the additional error information cannot be constructed without 50362306a36Sopenharmony_ci detailed knowledge about platform topology. 50462306a36Sopenharmony_ci 50562306a36Sopenharmony_ci Enhanced MCA Logging allows firmware to provide additional error 50662306a36Sopenharmony_ci information to system software, synchronous with MCE or CMCI. This 50762306a36Sopenharmony_ci driver adds support for that functionality with corresponding 50862306a36Sopenharmony_ci tracepoint which carries that information to userspace. 50962306a36Sopenharmony_ci 51062306a36Sopenharmony_ciconfig ACPI_ADXL 51162306a36Sopenharmony_ci bool 51262306a36Sopenharmony_ci 51362306a36Sopenharmony_ciconfig ACPI_CONFIGFS 51462306a36Sopenharmony_ci tristate "ACPI configfs support" 51562306a36Sopenharmony_ci select CONFIGFS_FS 51662306a36Sopenharmony_ci help 51762306a36Sopenharmony_ci Select this option to enable support for ACPI configuration from 51862306a36Sopenharmony_ci userspace. The configurable ACPI groups will be visible under 51962306a36Sopenharmony_ci /config/acpi, assuming configfs is mounted under /config. 52062306a36Sopenharmony_ci 52162306a36Sopenharmony_ciconfig ACPI_PFRUT 52262306a36Sopenharmony_ci tristate "ACPI Platform Firmware Runtime Update and Telemetry" 52362306a36Sopenharmony_ci depends on 64BIT 52462306a36Sopenharmony_ci help 52562306a36Sopenharmony_ci This mechanism allows certain pieces of the platform firmware 52662306a36Sopenharmony_ci to be updated on the fly while the system is running (runtime) 52762306a36Sopenharmony_ci without the need to restart it, which is key in the cases when 52862306a36Sopenharmony_ci the system needs to be available 100% of the time and it cannot 52962306a36Sopenharmony_ci afford the downtime related to restarting it, or when the work 53062306a36Sopenharmony_ci carried out by the system is particularly important, so it cannot 53162306a36Sopenharmony_ci be interrupted, and it is not practical to wait until it is complete. 53262306a36Sopenharmony_ci 53362306a36Sopenharmony_ci The existing firmware code can be modified (driver update) or 53462306a36Sopenharmony_ci extended by adding new code to the firmware (code injection). 53562306a36Sopenharmony_ci 53662306a36Sopenharmony_ci Besides, the telemetry driver allows user space to fetch telemetry 53762306a36Sopenharmony_ci data from the firmware with the help of the Platform Firmware Runtime 53862306a36Sopenharmony_ci Telemetry interface. 53962306a36Sopenharmony_ci 54062306a36Sopenharmony_ci To compile the drivers as modules, choose M here: 54162306a36Sopenharmony_ci the modules will be called pfr_update and pfr_telemetry. 54262306a36Sopenharmony_ci 54362306a36Sopenharmony_ciif ARM64 54462306a36Sopenharmony_cisource "drivers/acpi/arm64/Kconfig" 54562306a36Sopenharmony_ciendif 54662306a36Sopenharmony_ci 54762306a36Sopenharmony_ciconfig ACPI_PPTT 54862306a36Sopenharmony_ci bool 54962306a36Sopenharmony_ci 55062306a36Sopenharmony_ciconfig ACPI_PCC 55162306a36Sopenharmony_ci bool "ACPI PCC Address Space" 55262306a36Sopenharmony_ci depends on PCC 55362306a36Sopenharmony_ci default y 55462306a36Sopenharmony_ci help 55562306a36Sopenharmony_ci The PCC Address Space also referred as PCC Operation Region pertains 55662306a36Sopenharmony_ci to the region of PCC subspace that succeeds the PCC signature. 55762306a36Sopenharmony_ci 55862306a36Sopenharmony_ci The PCC Operation Region works in conjunction with the PCC Table 55962306a36Sopenharmony_ci (Platform Communications Channel Table). PCC subspaces that are 56062306a36Sopenharmony_ci marked for use as PCC Operation Regions must not be used as PCC 56162306a36Sopenharmony_ci subspaces for the standard ACPI features such as CPPC, RASF, PDTT and 56262306a36Sopenharmony_ci MPST. These standard features must always use the PCC Table instead. 56362306a36Sopenharmony_ci 56462306a36Sopenharmony_ci Enable this feature if you want to set up and install the PCC Address 56562306a36Sopenharmony_ci Space handler to handle PCC OpRegion in the firmware. 56662306a36Sopenharmony_ci 56762306a36Sopenharmony_ciconfig ACPI_FFH 56862306a36Sopenharmony_ci bool "ACPI FFH Address Space" 56962306a36Sopenharmony_ci default n 57062306a36Sopenharmony_ci help 57162306a36Sopenharmony_ci The FFH(Fixed Function Hardware) Address Space also referred as FFH 57262306a36Sopenharmony_ci Operation Region allows to define platform specific opregion. 57362306a36Sopenharmony_ci 57462306a36Sopenharmony_ci Enable this feature if you want to set up and install the FFH Address 57562306a36Sopenharmony_ci Space handler to handle FFH OpRegion in the firmware. 57662306a36Sopenharmony_ci 57762306a36Sopenharmony_cisource "drivers/acpi/pmic/Kconfig" 57862306a36Sopenharmony_ci 57962306a36Sopenharmony_ciconfig ACPI_VIOT 58062306a36Sopenharmony_ci bool 58162306a36Sopenharmony_ci 58262306a36Sopenharmony_ciconfig ACPI_PRMT 58362306a36Sopenharmony_ci bool "Platform Runtime Mechanism Support" 58462306a36Sopenharmony_ci depends on EFI_RUNTIME_WRAPPERS && (X86_64 || ARM64) 58562306a36Sopenharmony_ci default y 58662306a36Sopenharmony_ci help 58762306a36Sopenharmony_ci Platform Runtime Mechanism (PRM) is a firmware interface exposing a 58862306a36Sopenharmony_ci set of binary executables that can be called from the AML interpreter 58962306a36Sopenharmony_ci or directly from device drivers. 59062306a36Sopenharmony_ci 59162306a36Sopenharmony_ci Say Y to enable the AML interpreter to execute the PRM code. 59262306a36Sopenharmony_ci 59362306a36Sopenharmony_ci While this feature is optional in principle, leaving it out may 59462306a36Sopenharmony_ci substantially increase computational overhead related to the 59562306a36Sopenharmony_ci initialization of some server systems. 59662306a36Sopenharmony_ci 59762306a36Sopenharmony_ciendif # ACPI 59862306a36Sopenharmony_ci 59962306a36Sopenharmony_ciconfig X86_PM_TIMER 60062306a36Sopenharmony_ci bool "Power Management Timer Support" if EXPERT 60162306a36Sopenharmony_ci depends on X86 && (ACPI || JAILHOUSE_GUEST) 60262306a36Sopenharmony_ci default y 60362306a36Sopenharmony_ci help 60462306a36Sopenharmony_ci The Power Management Timer is available on all ACPI-capable, 60562306a36Sopenharmony_ci in most cases even if ACPI is unusable or blacklisted. 60662306a36Sopenharmony_ci 60762306a36Sopenharmony_ci This timing source is not affected by power management features 60862306a36Sopenharmony_ci like aggressive processor idling, throttling, frequency and/or 60962306a36Sopenharmony_ci voltage scaling, unlike the commonly used Time Stamp Counter 61062306a36Sopenharmony_ci (TSC) timing source. 61162306a36Sopenharmony_ci 61262306a36Sopenharmony_ci You should nearly always say Y here because many modern 61362306a36Sopenharmony_ci systems require this timer. 614