1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 21da177e4SLinus Torvalds# 31da177e4SLinus Torvalds# ACPI Configuration 41da177e4SLinus Torvalds# 51da177e4SLinus Torvalds 6f5d707edSArnd Bergmannconfig ARCH_SUPPORTS_ACPI 7f5d707edSArnd Bergmann bool 8f5d707edSArnd Bergmann 93f2c48c9SJan Engelhardtmenuconfig ACPI 10355ee5ebSFrans Pop bool "ACPI (Advanced Configuration and Power Interface) Support" 112c870e61SArnd Bergmann depends on ARCH_SUPPORTS_ACPI 12243b66e7SLen Brown select PNP 132e61069bSSinan Kaya select NLS 142c870e61SArnd Bergmann default y if X86 151c48aa36SBjorn Helgaas help 161da177e4SLinus Torvalds Advanced Configuration and Power Interface (ACPI) support for 171c48aa36SBjorn Helgaas Linux requires an ACPI-compliant platform (hardware/firmware), 181da177e4SLinus Torvalds and assumes the presence of OS-directed configuration and power 191da177e4SLinus Torvalds management (OSPM) software. This option will enlarge your 201da177e4SLinus Torvalds kernel by about 70K. 211da177e4SLinus Torvalds 221da177e4SLinus Torvalds Linux ACPI provides a robust functional replacement for several 231da177e4SLinus Torvalds legacy configuration and power management interfaces, including 241da177e4SLinus Torvalds the Plug-and-Play BIOS specification (PnP BIOS), the 251da177e4SLinus Torvalds MultiProcessor Specification (MPS), and the Advanced Power 261da177e4SLinus Torvalds Management (APM) specification. If both ACPI and APM support 271c48aa36SBjorn Helgaas are configured, ACPI is used. 281da177e4SLinus Torvalds 291c48aa36SBjorn Helgaas The project home page for the Linux ACPI subsystem is here: 30aaf3d29fSRafael J. Wysocki <https://01.org/linux-acpi> 311da177e4SLinus Torvalds 321da177e4SLinus Torvalds Linux support for ACPI is based on Intel Corporation's ACPI 331c48aa36SBjorn Helgaas Component Architecture (ACPI CA). For more information on the 341c48aa36SBjorn Helgaas ACPI CA, see: 354ce77966SAlexander A. Klimov <https://acpica.org/> 361da177e4SLinus Torvalds 37c7f5220dSHanjun Guo ACPI is an open industry specification originally co-developed by 38c7f5220dSHanjun Guo Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba. Currently, 39c7f5220dSHanjun Guo it is developed by the ACPI Specification Working Group (ASWG) under 40c7f5220dSHanjun Guo the UEFI Forum and any UEFI member can join the ASWG and contribute 41c7f5220dSHanjun Guo to the ACPI specification. 421c48aa36SBjorn Helgaas The specification is available at: 430585c1c0STiezhu Yang <https://uefi.org/specifications> 441da177e4SLinus Torvalds 453e11c3ceSLen Brownif ACPI 463e11c3ceSLen Brown 478a1664beSGraeme Gregoryconfig ACPI_LEGACY_TABLES_LOOKUP 488a1664beSGraeme Gregory bool 498a1664beSGraeme Gregory 5046ba51eaSHanjun Guoconfig ARCH_MIGHT_HAVE_ACPI_PDC 5146ba51eaSHanjun Guo bool 5246ba51eaSHanjun Guo 53d8f4f161SLorenzo Pieralisiconfig ACPI_GENERIC_GSI 54d8f4f161SLorenzo Pieralisi bool 55d8f4f161SLorenzo Pieralisi 566e0a0ea1SGraeme Gregoryconfig ACPI_SYSTEM_POWER_STATES_SUPPORT 576e0a0ea1SGraeme Gregory bool 586e0a0ea1SGraeme Gregory 59d0562674SSuthikulpanit, Suraveeconfig ACPI_CCA_REQUIRED 60d0562674SSuthikulpanit, Suravee bool 61d0562674SSuthikulpanit, Suravee 624d946f79SLv Zhengconfig ACPI_DEBUGGER 638cfb0cdfSLv Zheng bool "AML debugger interface" 644d946f79SLv Zheng select ACPI_DEBUG 654d946f79SLv Zheng help 66836d0830SLv Zheng Enable in-kernel debugging of AML facilities: statistics, 67836d0830SLv Zheng internal object dump, single step control method execution. 684d946f79SLv Zheng This is still under development, currently enabling this only 694d946f79SLv Zheng results in the compilation of the ACPICA debugger files. 704d946f79SLv Zheng 71836d0830SLv Zhengif ACPI_DEBUGGER 72836d0830SLv Zheng 73836d0830SLv Zhengconfig ACPI_DEBUGGER_USER 74836d0830SLv Zheng tristate "Userspace debugger accessiblity" 75836d0830SLv Zheng depends on DEBUG_FS 76836d0830SLv Zheng help 77836d0830SLv Zheng Export /sys/kernel/debug/acpi/acpidbg for userspace utilities 78836d0830SLv Zheng to access the debugger functionalities. 79836d0830SLv Zheng 80836d0830SLv Zhengendif 81836d0830SLv Zheng 82ad1696f6SAleksey Makarovconfig ACPI_SPCR_TABLE 830231d000SPrarit Bhargava bool "ACPI Serial Port Console Redirection Support" 840231d000SPrarit Bhargava default y if X86 850231d000SPrarit Bhargava help 860231d000SPrarit Bhargava Enable support for Serial Port Console Redirection (SPCR) Table. 870231d000SPrarit Bhargava This table provides information about the configuration of the 880231d000SPrarit Bhargava earlycon console. 89ad1696f6SAleksey Makarov 90eeb2d80dSSrinivas Pandruvadaconfig ACPI_LPIT 91eeb2d80dSSrinivas Pandruvada bool 92eeb2d80dSSrinivas Pandruvada depends on X86_64 93eeb2d80dSSrinivas Pandruvada default y 94eeb2d80dSSrinivas Pandruvada 95673d5b43SLen Brownconfig ACPI_SLEEP 96673d5b43SLen Brown bool 975d1e072bSRafael J. Wysocki depends on SUSPEND || HIBERNATION 986e0a0ea1SGraeme Gregory depends on ACPI_SYSTEM_POWER_STATES_SUPPORT 99673d5b43SLen Brown default y 100673d5b43SLen Brown 10118d78b64SRafael J. Wysockiconfig ACPI_REV_OVERRIDE_POSSIBLE 1029165dabbSMasanari Iida bool "Allow supported ACPI revision to be overridden" 10318d78b64SRafael J. Wysocki depends on X86 10418d78b64SRafael J. Wysocki default y 10518d78b64SRafael J. Wysocki help 10618d78b64SRafael J. Wysocki The platform firmware on some systems expects Linux to return "5" as 10718d78b64SRafael J. Wysocki the supported ACPI revision which makes it expose system configuration 10818d78b64SRafael J. Wysocki information in a special way. 10918d78b64SRafael J. Wysocki 11018d78b64SRafael J. Wysocki For example, based on what ACPI exports as the supported revision, 11118d78b64SRafael J. Wysocki Dell XPS 13 (2015) configures its audio device to either work in HDA 11218d78b64SRafael J. Wysocki mode or in I2S mode, where the former is supposed to be used on Linux 11318d78b64SRafael J. Wysocki until the latter is fully supported (in the kernel as well as in user 11418d78b64SRafael J. Wysocki space). 11518d78b64SRafael J. Wysocki 11618d78b64SRafael J. Wysocki This option enables a DMI-based quirk for the above Dell machine (so 11718d78b64SRafael J. Wysocki that HDA audio is exposed by the platform firmware to the kernel) and 11818d78b64SRafael J. Wysocki makes it possible to force the kernel to return "5" as the supported 11918d78b64SRafael J. Wysocki ACPI revision via the "acpi_rev_override" command line switch. 12018d78b64SRafael J. Wysocki 1211195a098SThomas Renningerconfig ACPI_EC_DEBUGFS 1221195a098SThomas Renninger tristate "EC read/write access through /sys/kernel/debug/ec" 1231195a098SThomas Renninger help 1241195a098SThomas Renninger Say N to disable Embedded Controller /sys/kernel/debug interface 1251195a098SThomas Renninger 126500de3ddSThomas Renninger Be aware that using this interface can confuse your Embedded 127500de3ddSThomas Renninger Controller in a way that a normal reboot is not enough. You then 12825cb1bfdSAndrea Gelmini have to power off your system, and remove the laptop battery for 129500de3ddSThomas Renninger some seconds. 1301195a098SThomas Renninger An Embedded Controller typically is available on laptops and reads 1311195a098SThomas Renninger sensor values like battery state and temperature. 132500de3ddSThomas Renninger The kernel accesses the EC through ACPI parsed code provided by BIOS 133500de3ddSThomas Renninger tables. This option allows to access the EC directly without ACPI 134500de3ddSThomas Renninger code being involved. 1351195a098SThomas Renninger Thus this option is a debug option that helps to write ACPI drivers 1361195a098SThomas Renninger and can be used to identify ACPI code or EC firmware bugs. 1371195a098SThomas Renninger 1381da177e4SLinus Torvaldsconfig ACPI_AC 1391da177e4SLinus Torvalds tristate "AC Adapter" 1401b3d4c3bSZhang Rui select POWER_SUPPLY 14107fefe4cSLen Brown default y 1421da177e4SLinus Torvalds help 1431c48aa36SBjorn Helgaas This driver supports the AC Adapter object, which indicates 1441c48aa36SBjorn Helgaas whether a system is on AC or not. If you have a system that can 14507fefe4cSLen Brown switch between A/C and battery, say Y. 1461da177e4SLinus Torvalds 1471c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 1481c48aa36SBjorn Helgaas the module will be called ac. 1491c48aa36SBjorn Helgaas 1501da177e4SLinus Torvaldsconfig ACPI_BATTERY 1511da177e4SLinus Torvalds tristate "Battery" 1521b3d4c3bSZhang Rui select POWER_SUPPLY 15307fefe4cSLen Brown default y 1541da177e4SLinus Torvalds help 1551da177e4SLinus Torvalds This driver adds support for battery information through 1561da177e4SLinus Torvalds /proc/acpi/battery. If you have a mobile system with a battery, 1571da177e4SLinus Torvalds say Y. 1581da177e4SLinus Torvalds 1591c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 1601c48aa36SBjorn Helgaas the module will be called battery. 1611c48aa36SBjorn Helgaas 1621da177e4SLinus Torvaldsconfig ACPI_BUTTON 1631da177e4SLinus Torvalds tristate "Button" 164c0968f0eSDmitry Torokhov depends on INPUT 16507fefe4cSLen Brown default y 1661da177e4SLinus Torvalds help 1671c48aa36SBjorn Helgaas This driver handles events on the power, sleep, and lid buttons. 1687d13f94cSKrzysztof Mazur A daemon reads events from input devices or via netlink and 1697d13f94cSKrzysztof Mazur performs user-defined actions such as shutting down the system. 1707d13f94cSKrzysztof Mazur This is necessary for software-controlled poweroff. 1711c48aa36SBjorn Helgaas 1721c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 1731c48aa36SBjorn Helgaas the module will be called button. 1741da177e4SLinus Torvalds 175a1b93e89SJosh Triplettconfig ACPI_TINY_POWER_BUTTON 176a1b93e89SJosh Triplett tristate "Tiny Power Button Driver" 177a1b93e89SJosh Triplett depends on !ACPI_BUTTON 178a1b93e89SJosh Triplett help 179a1b93e89SJosh Triplett This driver provides a tiny alternative to the ACPI Button driver. 180a1b93e89SJosh Triplett The tiny power button driver only handles the power button. Rather 181a1b93e89SJosh Triplett than notifying userspace via the input layer or a netlink event, this 182a1b93e89SJosh Triplett driver directly signals the init process to shut down. 183a1b93e89SJosh Triplett 184a1b93e89SJosh Triplett This driver is particularly suitable for cloud and VM environments, 185a1b93e89SJosh Triplett which use a simulated power button to initiate a controlled poweroff, 186a1b93e89SJosh Triplett but which may not want to run a separate userspace daemon to process 187a1b93e89SJosh Triplett input events. 188a1b93e89SJosh Triplett 189a1b93e89SJosh Triplettconfig ACPI_TINY_POWER_BUTTON_SIGNAL 190a1b93e89SJosh Triplett int "Tiny Power Button Signal" 191a1b93e89SJosh Triplett depends on ACPI_TINY_POWER_BUTTON 192a1b93e89SJosh Triplett default 38 193a1b93e89SJosh Triplett help 194a1b93e89SJosh Triplett Default signal to send to init in response to the power button. 195a1b93e89SJosh Triplett 196a1b93e89SJosh Triplett Likely values here include 38 (SIGRTMIN+4) to power off, or 2 197a1b93e89SJosh Triplett (SIGINT) to simulate Ctrl+Alt+Del. 198a1b93e89SJosh Triplett 1991da177e4SLinus Torvaldsconfig ACPI_VIDEO 2001da177e4SLinus Torvalds tristate "Video" 2019f380fc5SJean Delvare depends on X86 && BACKLIGHT_CLASS_DEVICE 20203e2bf26SAndreas Herrmann depends on INPUT 20363c4ec90SZhang Rui select THERMAL 2041da177e4SLinus Torvalds help 2051c48aa36SBjorn Helgaas This driver implements the ACPI Extensions For Display Adapters 2061da177e4SLinus Torvalds for integrated graphics devices on motherboard, as specified in 2071c48aa36SBjorn Helgaas ACPI 2.0 Specification, Appendix B. This supports basic operations 2081c48aa36SBjorn Helgaas such as defining the video POST device, retrieving EDID information, 2091c48aa36SBjorn Helgaas and setting up a video output. 2101c48aa36SBjorn Helgaas 2111c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 2121c48aa36SBjorn Helgaas the module will be called video. 2131da177e4SLinus Torvalds 2141da177e4SLinus Torvaldsconfig ACPI_FAN 2151da177e4SLinus Torvalds tristate "Fan" 216d8054749SZhang Rui depends on THERMAL 21707fefe4cSLen Brown default y 2181da177e4SLinus Torvalds help 2191c48aa36SBjorn Helgaas This driver supports ACPI fan devices, allowing user-mode 2201da177e4SLinus Torvalds applications to perform basic fan control (on, off, status). 2211da177e4SLinus Torvalds 2221c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 2231c48aa36SBjorn Helgaas the module will be called fan. 2241c48aa36SBjorn Helgaas 22595c513ecSRafael J. Wysockiconfig ACPI_TAD 22695c513ecSRafael J. Wysocki tristate "ACPI Time and Alarm (TAD) Device Support" 22795c513ecSRafael J. Wysocki depends on SYSFS && PM_SLEEP 22895c513ecSRafael J. Wysocki help 22995c513ecSRafael J. Wysocki The ACPI Time and Alarm (TAD) device is an alternative to the Real 23095c513ecSRafael J. Wysocki Time Clock (RTC). Its wake timers allow the system to transition from 23195c513ecSRafael J. Wysocki the S3 (or optionally S4/S5) state to S0 state after a time period 23295c513ecSRafael J. Wysocki elapses. In comparison with the RTC Alarm, the TAD provides a larger 23395c513ecSRafael J. Wysocki scale of flexibility in the wake timers. The time capabilities of the 23495c513ecSRafael J. Wysocki TAD maintain the time of day information across platform power 23595c513ecSRafael J. Wysocki transitions, and keep track of time even when the platform is turned 23695c513ecSRafael J. Wysocki off. 23795c513ecSRafael J. Wysocki 238c8f7a62cSLen Brownconfig ACPI_DOCK 239898b054fSShaohua Li bool "Dock" 240c8f7a62cSLen Brown help 2411c48aa36SBjorn Helgaas This driver supports ACPI-controlled docking stations and removable 2421c48aa36SBjorn Helgaas drive bays such as the IBM Ultrabay and the Dell Module Bay. 24301b57e73SKristen Carlson Accardi 244239708a3SAshwin Chauguleconfig ACPI_CPU_FREQ_PSS 245239708a3SAshwin Chaugule bool 246239708a3SAshwin Chaugule select THERMAL 247239708a3SAshwin Chaugule 24835ae7133SSudeep Hollaconfig ACPI_PROCESSOR_CSTATE 24935ae7133SSudeep Holla def_bool y 250239ed06dSRafael J. Wysocki depends on ACPI_PROCESSOR 25135ae7133SSudeep Holla depends on IA64 || X86 25235ae7133SSudeep Holla 2535f05586cSAshwin Chauguleconfig ACPI_PROCESSOR_IDLE 2545f05586cSAshwin Chaugule bool 2555f05586cSAshwin Chaugule select CPU_IDLE 2565f05586cSAshwin Chaugule 257935c760eSTomasz Nowickiconfig ACPI_MCFG 258935c760eSTomasz Nowicki bool 259935c760eSTomasz Nowicki 260337aadffSAshwin Chauguleconfig ACPI_CPPC_LIB 261337aadffSAshwin Chaugule bool 262337aadffSAshwin Chaugule depends on ACPI_PROCESSOR 263337aadffSAshwin Chaugule select MAILBOX 264337aadffSAshwin Chaugule select PCC 265337aadffSAshwin Chaugule help 266337aadffSAshwin Chaugule If this option is enabled, this file implements common functionality 267337aadffSAshwin Chaugule to parse CPPC tables as described in the ACPI 5.1+ spec. The 268337aadffSAshwin Chaugule routines implemented are meant to be used by other 269337aadffSAshwin Chaugule drivers to control CPU performance using CPPC semantics. 270337aadffSAshwin Chaugule If your platform does not support CPPC in firmware, 271337aadffSAshwin Chaugule leave this option disabled. 272337aadffSAshwin Chaugule 2731da177e4SLinus Torvaldsconfig ACPI_PROCESSOR 2741da177e4SLinus Torvalds tristate "Processor" 275ad806ea6SAshwin Chaugule depends on X86 || IA64 || ARM64 2768fc85c6aSSudeep Holla select ACPI_PROCESSOR_IDLE 277ad806ea6SAshwin Chaugule select ACPI_CPU_FREQ_PSS if X86 || IA64 27807fefe4cSLen Brown default y 2791da177e4SLinus Torvalds help 280239708a3SAshwin Chaugule This driver adds support for the ACPI Processor package. It is required 281239708a3SAshwin Chaugule by several flavors of cpufreq performance-state, thermal, throttling and 282239708a3SAshwin Chaugule idle drivers. 2831c48aa36SBjorn Helgaas 2841c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 2851c48aa36SBjorn Helgaas the module will be called processor. 2864b88e330SLv Zheng 287e92b297cSZhao Yakuiconfig ACPI_IPMI 288e92b297cSZhao Yakui tristate "IPMI" 28950121bebSSinan Kaya depends on IPMI_HANDLER 290e92b297cSZhao Yakui help 291e92b297cSZhao Yakui This driver enables the ACPI to access the BMC controller. And it 292e92b297cSZhao Yakui uses the IPMI request/response message to communicate with BMC 293e92b297cSZhao Yakui controller, which can be found on on the server. 294e92b297cSZhao Yakui 295e92b297cSZhao Yakui To compile this driver as a module, choose M here: 296e92b297cSZhao Yakui the module will be called as acpi_ipmi. 2971da177e4SLinus Torvalds 2981da177e4SLinus Torvaldsconfig ACPI_HOTPLUG_CPU 299cbfc1baeSAdrian Bunk bool 300f756f28bSKees Cook depends on ACPI_PROCESSOR && HOTPLUG_CPU 3011da177e4SLinus Torvalds select ACPI_CONTAINER 302cbfc1baeSAdrian Bunk default y 3031da177e4SLinus Torvalds 3048e0af514SShaohua Liconfig ACPI_PROCESSOR_AGGREGATOR 3058e0af514SShaohua Li tristate "Processor Aggregator" 3068e0af514SShaohua Li depends on ACPI_PROCESSOR 307d91f79ebSLen Brown depends on X86 3088e0af514SShaohua Li help 3098e0af514SShaohua Li ACPI 4.0 defines processor Aggregator, which enables OS to perform 310c4c4e2a5SJiri Slaby specific processor configuration and control that applies to all 3118e0af514SShaohua Li processors in the platform. Currently only logical processor idling 3128e0af514SShaohua Li is defined, which is to reduce power consumption. This driver 313c4c4e2a5SJiri Slaby supports the new device. 3148e0af514SShaohua Li 3151da177e4SLinus Torvaldsconfig ACPI_THERMAL 3161da177e4SLinus Torvalds tristate "Thermal Zone" 3171da177e4SLinus Torvalds depends on ACPI_PROCESSOR 3183f655ef8SZhang Rui select THERMAL 31907fefe4cSLen Brown default y 3201da177e4SLinus Torvalds help 3211c48aa36SBjorn Helgaas This driver supports ACPI thermal zones. Most mobile and 3221da177e4SLinus Torvalds some desktop systems support ACPI thermal zones. It is HIGHLY 3231da177e4SLinus Torvalds recommended that this option be enabled, as your processor(s) 3241da177e4SLinus Torvalds may be damaged without it. 3251da177e4SLinus Torvalds 3261c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 3271c48aa36SBjorn Helgaas the module will be called thermal. 3281c48aa36SBjorn Helgaas 329*a2ff95e0SMark Pearsonconfig ACPI_PLATFORM_PROFILE 330*a2ff95e0SMark Pearson tristate "ACPI Platform Profile Driver" 331*a2ff95e0SMark Pearson default m 332*a2ff95e0SMark Pearson help 333*a2ff95e0SMark Pearson This driver adds support for platform-profiles on platforms that 334*a2ff95e0SMark Pearson support it. 335*a2ff95e0SMark Pearson 336*a2ff95e0SMark Pearson Platform-profiles can be used to control the platform behaviour. For 337*a2ff95e0SMark Pearson example whether to operate in a lower power mode, in a higher 338*a2ff95e0SMark Pearson power performance mode or between the two. 339*a2ff95e0SMark Pearson 340*a2ff95e0SMark Pearson This driver provides the sysfs interface and is used as the registration 341*a2ff95e0SMark Pearson point for platform specific drivers. 342*a2ff95e0SMark Pearson 343*a2ff95e0SMark Pearson Which profiles are supported is determined on a per-platform basis and 344*a2ff95e0SMark Pearson should be obtained from the platform specific driver. 345*a2ff95e0SMark Pearson 3467ce9573eSRandy Dunlapconfig ACPI_CUSTOM_DSDT_FILE 3477ce9573eSRandy Dunlap string "Custom DSDT Table file to include" 3487ce9573eSRandy Dunlap default "" 3491da177e4SLinus Torvalds depends on !STANDALONE 3501da177e4SLinus Torvalds help 351d89e9d6bSLen Brown This option supports a custom DSDT by linking it into the kernel. 352cb1aaebeSMauro Carvalho Chehab See Documentation/admin-guide/acpi/dsdt-override.rst 353d89e9d6bSLen Brown 354c30fe7f7SUwe Zeisberger Enter the full path name to the file which includes the AmlCode 35582e4eb4eSWang Dongsheng or dsdt_aml_code declaration. 3561da177e4SLinus Torvalds 3577ce9573eSRandy Dunlap If unsure, don't enter a file name. 3587ce9573eSRandy Dunlap 3597ce9573eSRandy Dunlapconfig ACPI_CUSTOM_DSDT 3607ce9573eSRandy Dunlap bool 3617ce9573eSRandy Dunlap default ACPI_CUSTOM_DSDT_FILE != "" 3627ce9573eSRandy Dunlap 36391dda51aSAleksey Makarovconfig ARCH_HAS_ACPI_TABLE_UPGRADE 36491dda51aSAleksey Makarov def_bool n 36591dda51aSAleksey Makarov 3665d881327SLv Zhengconfig ACPI_TABLE_UPGRADE 3675d881327SLv Zheng bool "Allow upgrading ACPI tables via initrd" 36891dda51aSAleksey Makarov depends on BLK_DEV_INITRD && ARCH_HAS_ACPI_TABLE_UPGRADE 3695d881327SLv Zheng default y 37053aac44cSThomas Renninger help 3715d881327SLv Zheng This option provides functionality to upgrade arbitrary ACPI tables 37253aac44cSThomas Renninger via initrd. No functional change if no ACPI tables are passed via 37353aac44cSThomas Renninger initrd, therefore it's safe to say Y. 374cb1aaebeSMauro Carvalho Chehab See Documentation/admin-guide/acpi/initrd_table_override.rst for details 37553aac44cSThomas Renninger 37698a455d9SShunyong Yangconfig ACPI_TABLE_OVERRIDE_VIA_BUILTIN_INITRD 37798a455d9SShunyong Yang bool "Override ACPI tables from built-in initrd" 37898a455d9SShunyong Yang depends on ACPI_TABLE_UPGRADE 37998a455d9SShunyong Yang depends on INITRAMFS_SOURCE!="" && INITRAMFS_COMPRESSION="" 38098a455d9SShunyong Yang help 38198a455d9SShunyong Yang This option provides functionality to override arbitrary ACPI tables 38298a455d9SShunyong Yang from built-in uncompressed initrd. 38398a455d9SShunyong Yang 384cb1aaebeSMauro Carvalho Chehab See Documentation/admin-guide/acpi/initrd_table_override.rst for details 38598a455d9SShunyong Yang 3861da177e4SLinus Torvaldsconfig ACPI_DEBUG 3871da177e4SLinus Torvalds bool "Debug Statements" 3881da177e4SLinus Torvalds help 389a0d84a92SBjorn Helgaas The ACPI subsystem can produce debug output. Saying Y enables this 390a0d84a92SBjorn Helgaas output and increases the kernel size by around 50K. 391a0d84a92SBjorn Helgaas 392a0d84a92SBjorn Helgaas Use the acpi.debug_layer and acpi.debug_level kernel command-line 393cb1aaebeSMauro Carvalho Chehab parameters documented in Documentation/firmware-guide/acpi/debug.rst and 3948c27ceffSMauro Carvalho Chehab Documentation/admin-guide/kernel-parameters.rst to control the type and 395a0d84a92SBjorn Helgaas amount of debug output. 3961da177e4SLinus Torvalds 3978344b568SAlex Chiangconfig ACPI_PCI_SLOT 398ab1a2e03SJiang Liu bool "PCI slot detection driver" 3995c6a1177SSinan Kaya depends on SYSFS && PCI 4008344b568SAlex Chiang help 4011c48aa36SBjorn Helgaas This driver creates entries in /sys/bus/pci/slots/ for all PCI 4021c48aa36SBjorn Helgaas slots in the system. This can help correlate PCI bus addresses, 4031c48aa36SBjorn Helgaas i.e., segment/bus/device/function tuples, with physical slots in 4041c48aa36SBjorn Helgaas the system. If you are unsure, say N. 4051c48aa36SBjorn Helgaas 4061da177e4SLinus Torvaldsconfig ACPI_CONTAINER 40706991c28SLinus Torvalds bool "Container and Module Devices" 408ea6a4581SPaul Bolle default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU) 4091c48aa36SBjorn Helgaas help 4101c48aa36SBjorn Helgaas This driver supports ACPI Container and Module devices (IDs 4111c48aa36SBjorn Helgaas ACPI0004, PNP0A05, and PNP0A06). 41245b1b196SKeiichiro Tokunaga 4131c48aa36SBjorn Helgaas This helps support hotplug of nodes, CPUs, and memory. 4141c48aa36SBjorn Helgaas 4151c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 4161c48aa36SBjorn Helgaas the module will be called container. 4171da177e4SLinus Torvalds 4181da177e4SLinus Torvaldsconfig ACPI_HOTPLUG_MEMORY 4190a347644SRafael J. Wysocki bool "Memory Hotplug" 420bc02af93SYasunori Goto depends on MEMORY_HOTPLUG 4211da177e4SLinus Torvalds help 4221c48aa36SBjorn Helgaas This driver supports ACPI memory hotplug. The driver 4231c48aa36SBjorn Helgaas fields notifications on ACPI memory devices (PNP0C80), 4241c48aa36SBjorn Helgaas which represent memory ranges that may be onlined or 4251c48aa36SBjorn Helgaas offlined during runtime. 4261da177e4SLinus Torvalds 4271c48aa36SBjorn Helgaas If your hardware and firmware do not support adding or 4281c48aa36SBjorn Helgaas removing memory devices at runtime, you need not enable 4291c48aa36SBjorn Helgaas this driver. 4301da177e4SLinus Torvalds 4311c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 4321c48aa36SBjorn Helgaas the module will be called acpi_memhotplug. 4333f86b832SRich Townsend 434c183619bSJiang Liuconfig ACPI_HOTPLUG_IOAPIC 435c183619bSJiang Liu bool 436c183619bSJiang Liu depends on PCI 437c183619bSJiang Liu depends on X86_IO_APIC 438c183619bSJiang Liu default y 439c183619bSJiang Liu 4403f86b832SRich Townsendconfig ACPI_SBS 44194f6c086SAlexey Starikovskiy tristate "Smart Battery System" 442b4150fc4SVladimir Lebedev depends on X86 4431b3d4c3bSZhang Rui select POWER_SUPPLY 4443f86b832SRich Townsend help 4451c48aa36SBjorn Helgaas This driver supports the Smart Battery System, another 44694f6c086SAlexey Starikovskiy type of access to battery information, found on some laptops. 4473f86b832SRich Townsend 4481c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 4491c48aa36SBjorn Helgaas the modules will be called sbs and sbshc. 4501c48aa36SBjorn Helgaas 451801eab81SHuang Yingconfig ACPI_HED 452801eab81SHuang Ying tristate "Hardware Error Device" 453801eab81SHuang Ying help 454801eab81SHuang Ying This driver supports the Hardware Error Device (PNP0C33), 455801eab81SHuang Ying which is used to report some hardware errors notified via 456801eab81SHuang Ying SCI, mainly the corrected errors. 457801eab81SHuang Ying 458526b4af4SThomas Renningerconfig ACPI_CUSTOM_METHOD 459526b4af4SThomas Renninger tristate "Allow ACPI methods to be inserted/replaced at run time" 460526b4af4SThomas Renninger depends on DEBUG_FS 461526b4af4SThomas Renninger help 462bd1b2a55SJustin P. Mattock This debug facility allows ACPI AML methods to be inserted and/or 463526b4af4SThomas Renninger replaced without rebooting the system. For details refer to: 464cb1aaebeSMauro Carvalho Chehab Documentation/firmware-guide/acpi/method-customizing.rst. 465526b4af4SThomas Renninger 466526b4af4SThomas Renninger NOTE: This option is security sensitive, because it allows arbitrary 467526b4af4SThomas Renninger kernel memory to be written to by root (uid=0) users, allowing them 468526b4af4SThomas Renninger to bypass certain security measures (e.g. if root is not allowed to 469526b4af4SThomas Renninger load additional kernel modules after boot, this feature may be used 470526b4af4SThomas Renninger to override that restriction). 471526b4af4SThomas Renninger 472d1ff4b1cSMatthew Garrettconfig ACPI_BGRT 4732223af38SJosh Triplett bool "Boottime Graphics Resource Table support" 4746e7300cfSBhupesh Sharma depends on EFI && (X86 || ARM64) 475d1ff4b1cSMatthew Garrett help 476d1ff4b1cSMatthew Garrett This driver adds support for exposing the ACPI Boottime Graphics 477d1ff4b1cSMatthew Garrett Resource Table, which allows the operating system to obtain 478d1ff4b1cSMatthew Garrett data from the firmware boot splash. It will appear under 479d1ff4b1cSMatthew Garrett /sys/firmware/acpi/bgrt/ . 480d1ff4b1cSMatthew Garrett 481af1ae78aSAl Stoneconfig ACPI_REDUCED_HARDWARE_ONLY 482af1ae78aSAl Stone bool "Hardware-reduced ACPI support only" if EXPERT 483af1ae78aSAl Stone def_bool n 484af1ae78aSAl Stone help 485af1ae78aSAl Stone This config item changes the way the ACPI code is built. When this 486af1ae78aSAl Stone option is selected, the kernel will use a specialized version of 487af1ae78aSAl Stone ACPICA that ONLY supports the ACPI "reduced hardware" mode. The 488af1ae78aSAl Stone resulting kernel will be smaller but it will also be restricted to 489af1ae78aSAl Stone running in ACPI reduced hardware mode ONLY. 490af1ae78aSAl Stone 491af1ae78aSAl Stone If you are unsure what to do, do not enable this option. 492af1ae78aSAl Stone 493bdf97013SDan Williamssource "drivers/acpi/nfit/Kconfig" 494c710fcc5SDan Williamssource "drivers/acpi/numa/Kconfig" 495a643ce20SHuang Yingsource "drivers/acpi/apei/Kconfig" 4966256ebd5SSrinivas Pandruvadasource "drivers/acpi/dptf/Kconfig" 497a643ce20SHuang Ying 498058dfc76SMika Westerbergconfig ACPI_WATCHDOG 499058dfc76SMika Westerberg bool 500058dfc76SMika Westerberg 5014b3db708SChen, Gongconfig ACPI_EXTLOG 5024b3db708SChen, Gong tristate "Extended Error Log support" 5039613916bSBorislav Petkov depends on X86_MCE && X86_LOCAL_APIC && EDAC 5047ea6c6c1SLuck, Tony select UEFI_CPER 5054b3db708SChen, Gong help 5064b3db708SChen, Gong Certain usages such as Predictive Failure Analysis (PFA) require 5074b3db708SChen, Gong more information about the error than what can be described in 5084b3db708SChen, Gong processor machine check banks. Most server processors log 5094b3db708SChen, Gong additional information about the error in processor uncore 5104b3db708SChen, Gong registers. Since the addresses and layout of these registers vary 5114b3db708SChen, Gong widely from one processor to another, system software cannot 5124b3db708SChen, Gong readily make use of them. To complicate matters further, some of 5134b3db708SChen, Gong the additional error information cannot be constructed without 5144b3db708SChen, Gong detailed knowledge about platform topology. 5154b3db708SChen, Gong 5164b3db708SChen, Gong Enhanced MCA Logging allows firmware to provide additional error 5174b3db708SChen, Gong information to system software, synchronous with MCE or CMCI. This 5182dfb7d51SChen, Gong driver adds support for that functionality with corresponding 5192dfb7d51SChen, Gong tracepoint which carries that information to userspace. 5204b3db708SChen, Gong 5214cf841e3STony Luckconfig ACPI_ADXL 5224cf841e3STony Luck bool 5234cf841e3STony Luck 5240bf54fcdSOctavian Purdilaconfig ACPI_CONFIGFS 5250bf54fcdSOctavian Purdila tristate "ACPI configfs support" 5260bf54fcdSOctavian Purdila select CONFIGFS_FS 5270bf54fcdSOctavian Purdila help 5280bf54fcdSOctavian Purdila Select this option to enable support for ACPI configuration from 5290bf54fcdSOctavian Purdila userspace. The configurable ACPI groups will be visible under 5300bf54fcdSOctavian Purdila /config/acpi, assuming configfs is mounted under /config. 5310bf54fcdSOctavian Purdila 53288ef16d8STomasz Nowickiif ARM64 53388ef16d8STomasz Nowickisource "drivers/acpi/arm64/Kconfig" 5340ce82232SJeremy Linton 5350ce82232SJeremy Lintonconfig ACPI_PPTT 5360ce82232SJeremy Linton bool 53788ef16d8STomasz Nowickiendif 53888ef16d8STomasz Nowicki 539fa870509SAndy Shevchenkosource "drivers/acpi/pmic/Kconfig" 540fa870509SAndy Shevchenko 5411da177e4SLinus Torvaldsendif # ACPI 54287e65d05SJan Kiszka 54387e65d05SJan Kiszkaconfig X86_PM_TIMER 54487e65d05SJan Kiszka bool "Power Management Timer Support" if EXPERT 54587e65d05SJan Kiszka depends on X86 && (ACPI || JAILHOUSE_GUEST) 54687e65d05SJan Kiszka default y 54787e65d05SJan Kiszka help 54887e65d05SJan Kiszka The Power Management Timer is available on all ACPI-capable, 54987e65d05SJan Kiszka in most cases even if ACPI is unusable or blacklisted. 55087e65d05SJan Kiszka 55187e65d05SJan Kiszka This timing source is not affected by power management features 55287e65d05SJan Kiszka like aggressive processor idling, throttling, frequency and/or 55387e65d05SJan Kiszka voltage scaling, unlike the commonly used Time Stamp Counter 55487e65d05SJan Kiszka (TSC) timing source. 55587e65d05SJan Kiszka 55687e65d05SJan Kiszka You should nearly always say Y here because many modern 55787e65d05SJan Kiszka systems require this timer. 558