xref: /linux/drivers/acpi/Kconfig (revision eeb2d80d502af28e5660ff4bbe00f90ceb82c2db)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# ACPI Configuration
31da177e4SLinus Torvalds#
41da177e4SLinus Torvalds
53f2c48c9SJan Engelhardtmenuconfig ACPI
6355ee5ebSFrans Pop	bool "ACPI (Advanced Configuration and Power Interface) Support"
71da177e4SLinus Torvalds	depends on !IA64_HP_SIM
846bcc6b1SMark Brown	depends on IA64 || X86 || ARM64
91300124fSAdrian Bunk	depends on PCI
10243b66e7SLen Brown	select PNP
116df795ffSMark Brown	default y if (IA64 || X86)
121c48aa36SBjorn Helgaas	help
131da177e4SLinus Torvalds	  Advanced Configuration and Power Interface (ACPI) support for
141c48aa36SBjorn Helgaas	  Linux requires an ACPI-compliant platform (hardware/firmware),
151da177e4SLinus Torvalds	  and assumes the presence of OS-directed configuration and power
161da177e4SLinus Torvalds	  management (OSPM) software.  This option will enlarge your
171da177e4SLinus Torvalds	  kernel by about 70K.
181da177e4SLinus Torvalds
191da177e4SLinus Torvalds	  Linux ACPI provides a robust functional replacement for several
201da177e4SLinus Torvalds	  legacy configuration and power management interfaces, including
211da177e4SLinus Torvalds	  the Plug-and-Play BIOS specification (PnP BIOS), the
221da177e4SLinus Torvalds	  MultiProcessor Specification (MPS), and the Advanced Power
231da177e4SLinus Torvalds	  Management (APM) specification.  If both ACPI and APM support
241c48aa36SBjorn Helgaas	  are configured, ACPI is used.
251da177e4SLinus Torvalds
261c48aa36SBjorn Helgaas	  The project home page for the Linux ACPI subsystem is here:
27aaf3d29fSRafael J. Wysocki	  <https://01.org/linux-acpi>
281da177e4SLinus Torvalds
291da177e4SLinus Torvalds	  Linux support for ACPI is based on Intel Corporation's ACPI
301c48aa36SBjorn Helgaas	  Component Architecture (ACPI CA).  For more information on the
311c48aa36SBjorn Helgaas	  ACPI CA, see:
321c48aa36SBjorn Helgaas	  <http://acpica.org/>
331da177e4SLinus Torvalds
34c7f5220dSHanjun Guo	  ACPI is an open industry specification originally co-developed by
35c7f5220dSHanjun Guo	  Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba. Currently,
36c7f5220dSHanjun Guo	  it is developed by the ACPI Specification Working Group (ASWG) under
37c7f5220dSHanjun Guo	  the UEFI Forum and any UEFI member can join the ASWG and contribute
38c7f5220dSHanjun Guo	  to the ACPI specification.
391c48aa36SBjorn Helgaas	  The specification is available at:
401da177e4SLinus Torvalds	  <http://www.acpi.info>
41c7f5220dSHanjun Guo	  <http://www.uefi.org/acpi/specs>
421da177e4SLinus Torvalds
433e11c3ceSLen Brownif ACPI
443e11c3ceSLen Brown
458a1664beSGraeme Gregoryconfig ACPI_LEGACY_TABLES_LOOKUP
468a1664beSGraeme Gregory	bool
478a1664beSGraeme Gregory
4846ba51eaSHanjun Guoconfig ARCH_MIGHT_HAVE_ACPI_PDC
4946ba51eaSHanjun Guo	bool
5046ba51eaSHanjun Guo
51d8f4f161SLorenzo Pieralisiconfig ACPI_GENERIC_GSI
52d8f4f161SLorenzo Pieralisi	bool
53d8f4f161SLorenzo Pieralisi
546e0a0ea1SGraeme Gregoryconfig ACPI_SYSTEM_POWER_STATES_SUPPORT
556e0a0ea1SGraeme Gregory	bool
566e0a0ea1SGraeme Gregory
57d0562674SSuthikulpanit, Suraveeconfig ACPI_CCA_REQUIRED
58d0562674SSuthikulpanit, Suravee	bool
59d0562674SSuthikulpanit, Suravee
604d946f79SLv Zhengconfig ACPI_DEBUGGER
618cfb0cdfSLv Zheng	bool "AML debugger interface"
624d946f79SLv Zheng	select ACPI_DEBUG
634d946f79SLv Zheng	help
64836d0830SLv Zheng	  Enable in-kernel debugging of AML facilities: statistics,
65836d0830SLv Zheng	  internal object dump, single step control method execution.
664d946f79SLv Zheng	  This is still under development, currently enabling this only
674d946f79SLv Zheng	  results in the compilation of the ACPICA debugger files.
684d946f79SLv Zheng
69836d0830SLv Zhengif ACPI_DEBUGGER
70836d0830SLv Zheng
71836d0830SLv Zhengconfig ACPI_DEBUGGER_USER
72836d0830SLv Zheng	tristate "Userspace debugger accessiblity"
73836d0830SLv Zheng	depends on DEBUG_FS
74836d0830SLv Zheng	help
75836d0830SLv Zheng	  Export /sys/kernel/debug/acpi/acpidbg for userspace utilities
76836d0830SLv Zheng	  to access the debugger functionalities.
77836d0830SLv Zheng
78836d0830SLv Zhengendif
79836d0830SLv Zheng
80ad1696f6SAleksey Makarovconfig ACPI_SPCR_TABLE
81ad1696f6SAleksey Makarov	bool
82ad1696f6SAleksey Makarov
83*eeb2d80dSSrinivas Pandruvadaconfig ACPI_LPIT
84*eeb2d80dSSrinivas Pandruvada	bool
85*eeb2d80dSSrinivas Pandruvada	depends on X86_64
86*eeb2d80dSSrinivas Pandruvada	default y
87*eeb2d80dSSrinivas Pandruvada
88673d5b43SLen Brownconfig ACPI_SLEEP
89673d5b43SLen Brown	bool
905d1e072bSRafael J. Wysocki	depends on SUSPEND || HIBERNATION
916e0a0ea1SGraeme Gregory	depends on ACPI_SYSTEM_POWER_STATES_SUPPORT
92673d5b43SLen Brown	default y
93673d5b43SLen Brown
94e2a7c3d7SLan Tianyuconfig ACPI_PROCFS_POWER
95e2a7c3d7SLan Tianyu	bool "Deprecated power /proc/acpi directories"
96bbf55ae1SLorenzo Pieralisi	depends on X86 && PROC_FS
97e2a7c3d7SLan Tianyu	help
98e2a7c3d7SLan Tianyu	  For backwards compatibility, this option allows
99e2a7c3d7SLan Tianyu          deprecated power /proc/acpi/ directories to exist, even when
100e2a7c3d7SLan Tianyu          they have been replaced by functions in /sys.
101e2a7c3d7SLan Tianyu          The deprecated directories (and their replacements) include:
102e2a7c3d7SLan Tianyu	  /proc/acpi/battery/* (/sys/class/power_supply/*)
103e2a7c3d7SLan Tianyu	  /proc/acpi/ac_adapter/* (sys/class/power_supply/*)
104e2a7c3d7SLan Tianyu	  This option has no effect on /proc/acpi/ directories
105e2a7c3d7SLan Tianyu	  and functions, which do not yet exist in /sys
106e2a7c3d7SLan Tianyu	  This option, together with the proc directories, will be
1073afcb96fSRafael J. Wysocki	  deleted in the future.
108e2a7c3d7SLan Tianyu
109e2a7c3d7SLan Tianyu	  Say N to delete power /proc/acpi/ directories that have moved to /sys/
110e2a7c3d7SLan Tianyu
11118d78b64SRafael J. Wysockiconfig ACPI_REV_OVERRIDE_POSSIBLE
1129165dabbSMasanari Iida	bool "Allow supported ACPI revision to be overridden"
11318d78b64SRafael J. Wysocki	depends on X86
11418d78b64SRafael J. Wysocki	default y
11518d78b64SRafael J. Wysocki	help
11618d78b64SRafael J. Wysocki	  The platform firmware on some systems expects Linux to return "5" as
11718d78b64SRafael J. Wysocki	  the supported ACPI revision which makes it expose system configuration
11818d78b64SRafael J. Wysocki	  information in a special way.
11918d78b64SRafael J. Wysocki
12018d78b64SRafael J. Wysocki	  For example, based on what ACPI exports as the supported revision,
12118d78b64SRafael J. Wysocki	  Dell XPS 13 (2015) configures its audio device to either work in HDA
12218d78b64SRafael J. Wysocki	  mode or in I2S mode, where the former is supposed to be used on Linux
12318d78b64SRafael J. Wysocki	  until the latter is fully supported (in the kernel as well as in user
12418d78b64SRafael J. Wysocki	  space).
12518d78b64SRafael J. Wysocki
12618d78b64SRafael J. Wysocki	  This option enables a DMI-based quirk for the above Dell machine (so
12718d78b64SRafael J. Wysocki	  that HDA audio is exposed by the platform firmware to the kernel) and
12818d78b64SRafael J. Wysocki	  makes it possible to force the kernel to return "5" as the supported
12918d78b64SRafael J. Wysocki	  ACPI revision via the "acpi_rev_override" command line switch.
13018d78b64SRafael J. Wysocki
1311195a098SThomas Renningerconfig ACPI_EC_DEBUGFS
1321195a098SThomas Renninger	tristate "EC read/write access through /sys/kernel/debug/ec"
133500de3ddSThomas Renninger	default n
1341195a098SThomas Renninger	help
1351195a098SThomas Renninger	  Say N to disable Embedded Controller /sys/kernel/debug interface
1361195a098SThomas Renninger
137500de3ddSThomas Renninger	  Be aware that using this interface can confuse your Embedded
138500de3ddSThomas Renninger	  Controller in a way that a normal reboot is not enough. You then
13925cb1bfdSAndrea Gelmini	  have to power off your system, and remove the laptop battery for
140500de3ddSThomas Renninger	  some seconds.
1411195a098SThomas Renninger	  An Embedded Controller typically is available on laptops and reads
1421195a098SThomas Renninger	  sensor values like battery state and temperature.
143500de3ddSThomas Renninger	  The kernel accesses the EC through ACPI parsed code provided by BIOS
144500de3ddSThomas Renninger	  tables. This option allows to access the EC directly without ACPI
145500de3ddSThomas Renninger	  code being involved.
1461195a098SThomas Renninger	  Thus this option is a debug option that helps to write ACPI drivers
1471195a098SThomas Renninger	  and can be used to identify ACPI code or EC firmware bugs.
1481195a098SThomas Renninger
1491da177e4SLinus Torvaldsconfig ACPI_AC
1501da177e4SLinus Torvalds	tristate "AC Adapter"
1515527c8beSAlexey Starikovskiy	depends on X86
1521b3d4c3bSZhang Rui	select POWER_SUPPLY
15307fefe4cSLen Brown	default y
1541da177e4SLinus Torvalds	help
1551c48aa36SBjorn Helgaas	  This driver supports the AC Adapter object, which indicates
1561c48aa36SBjorn Helgaas	  whether a system is on AC or not.  If you have a system that can
15707fefe4cSLen Brown	  switch between A/C and battery, say Y.
1581da177e4SLinus Torvalds
1591c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
1601c48aa36SBjorn Helgaas	  the module will be called ac.
1611c48aa36SBjorn Helgaas
1621da177e4SLinus Torvaldsconfig ACPI_BATTERY
1631da177e4SLinus Torvalds	tristate "Battery"
1645527c8beSAlexey Starikovskiy	depends on X86
1651b3d4c3bSZhang Rui	select POWER_SUPPLY
16607fefe4cSLen Brown	default y
1671da177e4SLinus Torvalds	help
1681da177e4SLinus Torvalds	  This driver adds support for battery information through
1691da177e4SLinus Torvalds	  /proc/acpi/battery. If you have a mobile system with a battery,
1701da177e4SLinus Torvalds	  say Y.
1711da177e4SLinus Torvalds
1721c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
1731c48aa36SBjorn Helgaas	  the module will be called battery.
1741c48aa36SBjorn Helgaas
1751da177e4SLinus Torvaldsconfig ACPI_BUTTON
1761da177e4SLinus Torvalds	tristate "Button"
177c0968f0eSDmitry Torokhov	depends on INPUT
17807fefe4cSLen Brown	default y
1791da177e4SLinus Torvalds	help
1801c48aa36SBjorn Helgaas	  This driver handles events on the power, sleep, and lid buttons.
1817d13f94cSKrzysztof Mazur	  A daemon reads events from input devices or via netlink and
1827d13f94cSKrzysztof Mazur	  performs user-defined actions such as shutting down the system.
1837d13f94cSKrzysztof Mazur	  This is necessary for software-controlled poweroff.
1841c48aa36SBjorn Helgaas
1851c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
1861c48aa36SBjorn Helgaas	  the module will be called button.
1871da177e4SLinus Torvalds
1881da177e4SLinus Torvaldsconfig ACPI_VIDEO
1891da177e4SLinus Torvalds	tristate "Video"
1909f380fc5SJean Delvare	depends on X86 && BACKLIGHT_CLASS_DEVICE
19103e2bf26SAndreas Herrmann	depends on INPUT
19263c4ec90SZhang Rui	select THERMAL
1931da177e4SLinus Torvalds	help
1941c48aa36SBjorn Helgaas	  This driver implements the ACPI Extensions For Display Adapters
1951da177e4SLinus Torvalds	  for integrated graphics devices on motherboard, as specified in
1961c48aa36SBjorn Helgaas	  ACPI 2.0 Specification, Appendix B.  This supports basic operations
1971c48aa36SBjorn Helgaas	  such as defining the video POST device, retrieving EDID information,
1981c48aa36SBjorn Helgaas	  and setting up a video output.
1991c48aa36SBjorn Helgaas
2001c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
2011c48aa36SBjorn Helgaas	  the module will be called video.
2021da177e4SLinus Torvalds
2031da177e4SLinus Torvaldsconfig ACPI_FAN
2041da177e4SLinus Torvalds	tristate "Fan"
205d8054749SZhang Rui	depends on THERMAL
20607fefe4cSLen Brown	default y
2071da177e4SLinus Torvalds	help
2081c48aa36SBjorn Helgaas	  This driver supports ACPI fan devices, allowing user-mode
2091da177e4SLinus Torvalds	  applications to perform basic fan control (on, off, status).
2101da177e4SLinus Torvalds
2111c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
2121c48aa36SBjorn Helgaas	  the module will be called fan.
2131c48aa36SBjorn Helgaas
214c8f7a62cSLen Brownconfig ACPI_DOCK
215898b054fSShaohua Li	bool "Dock"
216c8f7a62cSLen Brown	help
2171c48aa36SBjorn Helgaas	  This driver supports ACPI-controlled docking stations and removable
2181c48aa36SBjorn Helgaas	  drive bays such as the IBM Ultrabay and the Dell Module Bay.
21901b57e73SKristen Carlson Accardi
220239708a3SAshwin Chauguleconfig ACPI_CPU_FREQ_PSS
221239708a3SAshwin Chaugule	bool
222239708a3SAshwin Chaugule	select THERMAL
223239708a3SAshwin Chaugule
22435ae7133SSudeep Hollaconfig ACPI_PROCESSOR_CSTATE
22535ae7133SSudeep Holla	def_bool y
22635ae7133SSudeep Holla	depends on IA64 || X86
22735ae7133SSudeep Holla
2285f05586cSAshwin Chauguleconfig ACPI_PROCESSOR_IDLE
2295f05586cSAshwin Chaugule	bool
2305f05586cSAshwin Chaugule	select CPU_IDLE
2315f05586cSAshwin Chaugule
232935c760eSTomasz Nowickiconfig ACPI_MCFG
233935c760eSTomasz Nowicki	bool
234935c760eSTomasz Nowicki
235337aadffSAshwin Chauguleconfig ACPI_CPPC_LIB
236337aadffSAshwin Chaugule	bool
237337aadffSAshwin Chaugule	depends on ACPI_PROCESSOR
238337aadffSAshwin Chaugule	select MAILBOX
239337aadffSAshwin Chaugule	select PCC
240337aadffSAshwin Chaugule	help
241337aadffSAshwin Chaugule	  If this option is enabled, this file implements common functionality
242337aadffSAshwin Chaugule	  to parse CPPC tables as described in the ACPI 5.1+ spec. The
243337aadffSAshwin Chaugule	  routines implemented are meant to be used by other
244337aadffSAshwin Chaugule	  drivers to control CPU performance using CPPC semantics.
245337aadffSAshwin Chaugule	  If your platform does not support CPPC in firmware,
246337aadffSAshwin Chaugule	  leave this option disabled.
247337aadffSAshwin Chaugule
2481da177e4SLinus Torvaldsconfig ACPI_PROCESSOR
2491da177e4SLinus Torvalds	tristate "Processor"
250ad806ea6SAshwin Chaugule	depends on X86 || IA64 || ARM64
2518fc85c6aSSudeep Holla	select ACPI_PROCESSOR_IDLE
252ad806ea6SAshwin Chaugule	select ACPI_CPU_FREQ_PSS if X86 || IA64
25307fefe4cSLen Brown	default y
2541da177e4SLinus Torvalds	help
255239708a3SAshwin Chaugule	  This driver adds support for the ACPI Processor package. It is required
256239708a3SAshwin Chaugule	  by several flavors of cpufreq performance-state, thermal, throttling and
257239708a3SAshwin Chaugule	  idle drivers.
2581c48aa36SBjorn Helgaas
2591c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
2601c48aa36SBjorn Helgaas	  the module will be called processor.
2614b88e330SLv Zheng
262e92b297cSZhao Yakuiconfig ACPI_IPMI
263e92b297cSZhao Yakui	tristate "IPMI"
26450121bebSSinan Kaya	depends on IPMI_HANDLER
265e92b297cSZhao Yakui	default n
266e92b297cSZhao Yakui	help
267e92b297cSZhao Yakui	  This driver enables the ACPI to access the BMC controller. And it
268e92b297cSZhao Yakui	  uses the IPMI request/response message to communicate with BMC
269e92b297cSZhao Yakui	  controller, which can be found on on the server.
270e92b297cSZhao Yakui
271e92b297cSZhao Yakui	  To compile this driver as a module, choose M here:
272e92b297cSZhao Yakui	  the module will be called as acpi_ipmi.
2731da177e4SLinus Torvalds
2741da177e4SLinus Torvaldsconfig ACPI_HOTPLUG_CPU
275cbfc1baeSAdrian Bunk	bool
276f756f28bSKees Cook	depends on ACPI_PROCESSOR && HOTPLUG_CPU
2771da177e4SLinus Torvalds	select ACPI_CONTAINER
278cbfc1baeSAdrian Bunk	default y
2791da177e4SLinus Torvalds
2808e0af514SShaohua Liconfig ACPI_PROCESSOR_AGGREGATOR
2818e0af514SShaohua Li	tristate "Processor Aggregator"
2828e0af514SShaohua Li	depends on ACPI_PROCESSOR
283d91f79ebSLen Brown	depends on X86
2848e0af514SShaohua Li	help
2858e0af514SShaohua Li	  ACPI 4.0 defines processor Aggregator, which enables OS to perform
286c4c4e2a5SJiri Slaby	  specific processor configuration and control that applies to all
2878e0af514SShaohua Li	  processors in the platform. Currently only logical processor idling
2888e0af514SShaohua Li	  is defined, which is to reduce power consumption. This driver
289c4c4e2a5SJiri Slaby	  supports the new device.
2908e0af514SShaohua Li
2911da177e4SLinus Torvaldsconfig ACPI_THERMAL
2921da177e4SLinus Torvalds	tristate "Thermal Zone"
2931da177e4SLinus Torvalds	depends on ACPI_PROCESSOR
2943f655ef8SZhang Rui	select THERMAL
29507fefe4cSLen Brown	default y
2961da177e4SLinus Torvalds	help
2971c48aa36SBjorn Helgaas	  This driver supports ACPI thermal zones.  Most mobile and
2981da177e4SLinus Torvalds	  some desktop systems support ACPI thermal zones.  It is HIGHLY
2991da177e4SLinus Torvalds	  recommended that this option be enabled, as your processor(s)
3001da177e4SLinus Torvalds	  may be damaged without it.
3011da177e4SLinus Torvalds
3021c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
3031c48aa36SBjorn Helgaas	  the module will be called thermal.
3041c48aa36SBjorn Helgaas
3051da177e4SLinus Torvaldsconfig ACPI_NUMA
3061da177e4SLinus Torvalds	bool "NUMA support"
3071da177e4SLinus Torvalds	depends on NUMA
3084bac6fa7SHanjun Guo	depends on (X86 || IA64 || ARM64)
3094bac6fa7SHanjun Guo	default y if IA64_GENERIC || IA64_SGI_SN2 || ARM64
3101da177e4SLinus Torvalds
3117ce9573eSRandy Dunlapconfig ACPI_CUSTOM_DSDT_FILE
3127ce9573eSRandy Dunlap	string "Custom DSDT Table file to include"
3137ce9573eSRandy Dunlap	default ""
3141da177e4SLinus Torvalds	depends on !STANDALONE
3151da177e4SLinus Torvalds	help
316d89e9d6bSLen Brown	  This option supports a custom DSDT by linking it into the kernel.
317d89e9d6bSLen Brown	  See Documentation/acpi/dsdt-override.txt
318d89e9d6bSLen Brown
319c30fe7f7SUwe Zeisberger	  Enter the full path name to the file which includes the AmlCode
320c30fe7f7SUwe Zeisberger	  declaration.
3211da177e4SLinus Torvalds
3227ce9573eSRandy Dunlap	  If unsure, don't enter a file name.
3237ce9573eSRandy Dunlap
3247ce9573eSRandy Dunlapconfig ACPI_CUSTOM_DSDT
3257ce9573eSRandy Dunlap	bool
3267ce9573eSRandy Dunlap	default ACPI_CUSTOM_DSDT_FILE != ""
3277ce9573eSRandy Dunlap
32891dda51aSAleksey Makarovconfig ARCH_HAS_ACPI_TABLE_UPGRADE
32991dda51aSAleksey Makarov	def_bool n
33091dda51aSAleksey Makarov
3315d881327SLv Zhengconfig ACPI_TABLE_UPGRADE
3325d881327SLv Zheng	bool "Allow upgrading ACPI tables via initrd"
33391dda51aSAleksey Makarov	depends on BLK_DEV_INITRD && ARCH_HAS_ACPI_TABLE_UPGRADE
3345d881327SLv Zheng	default y
33553aac44cSThomas Renninger	help
3365d881327SLv Zheng	  This option provides functionality to upgrade arbitrary ACPI tables
33753aac44cSThomas Renninger	  via initrd. No functional change if no ACPI tables are passed via
33853aac44cSThomas Renninger	  initrd, therefore it's safe to say Y.
33953aac44cSThomas Renninger	  See Documentation/acpi/initrd_table_override.txt for details
34053aac44cSThomas Renninger
3411da177e4SLinus Torvaldsconfig ACPI_DEBUG
3421da177e4SLinus Torvalds	bool "Debug Statements"
3431da177e4SLinus Torvalds	default n
3441da177e4SLinus Torvalds	help
345a0d84a92SBjorn Helgaas	  The ACPI subsystem can produce debug output.  Saying Y enables this
346a0d84a92SBjorn Helgaas	  output and increases the kernel size by around 50K.
347a0d84a92SBjorn Helgaas
348a0d84a92SBjorn Helgaas	  Use the acpi.debug_layer and acpi.debug_level kernel command-line
349a0d84a92SBjorn Helgaas	  parameters documented in Documentation/acpi/debug.txt and
3508c27ceffSMauro Carvalho Chehab	  Documentation/admin-guide/kernel-parameters.rst to control the type and
351a0d84a92SBjorn Helgaas	  amount of debug output.
3521da177e4SLinus Torvalds
3538344b568SAlex Chiangconfig ACPI_PCI_SLOT
354ab1a2e03SJiang Liu	bool "PCI slot detection driver"
355268a03a4SAlex Chiang	depends on SYSFS
3568344b568SAlex Chiang	default n
3578344b568SAlex Chiang	help
3581c48aa36SBjorn Helgaas	  This driver creates entries in /sys/bus/pci/slots/ for all PCI
3591c48aa36SBjorn Helgaas	  slots in the system.  This can help correlate PCI bus addresses,
3601c48aa36SBjorn Helgaas	  i.e., segment/bus/device/function tuples, with physical slots in
3611c48aa36SBjorn Helgaas	  the system.  If you are unsure, say N.
3621c48aa36SBjorn Helgaas
3631da177e4SLinus Torvaldsconfig X86_PM_TIMER
3646a108a14SDavid Rientjes	bool "Power Management Timer Support" if EXPERT
3651da177e4SLinus Torvalds	depends on X86
36607fefe4cSLen Brown	default y
3671da177e4SLinus Torvalds	help
3681da177e4SLinus Torvalds	  The Power Management Timer is available on all ACPI-capable,
3691da177e4SLinus Torvalds	  in most cases even if ACPI is unusable or blacklisted.
3701da177e4SLinus Torvalds
3711da177e4SLinus Torvalds	  This timing source is not affected by power management features
3721da177e4SLinus Torvalds	  like aggressive processor idling, throttling, frequency and/or
3731da177e4SLinus Torvalds	  voltage scaling, unlike the commonly used Time Stamp Counter
3741da177e4SLinus Torvalds	  (TSC) timing source.
3751da177e4SLinus Torvalds
376e78256b8SAndi Kleen	  You should nearly always say Y here because many modern
377e78256b8SAndi Kleen	  systems require this timer.
3781da177e4SLinus Torvalds
3791da177e4SLinus Torvaldsconfig ACPI_CONTAINER
38006991c28SLinus Torvalds	bool "Container and Module Devices"
381ea6a4581SPaul Bolle	default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU)
3821c48aa36SBjorn Helgaas	help
3831c48aa36SBjorn Helgaas	  This driver supports ACPI Container and Module devices (IDs
3841c48aa36SBjorn Helgaas	  ACPI0004, PNP0A05, and PNP0A06).
38545b1b196SKeiichiro Tokunaga
3861c48aa36SBjorn Helgaas	  This helps support hotplug of nodes, CPUs, and memory.
3871c48aa36SBjorn Helgaas
3881c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
3891c48aa36SBjorn Helgaas	  the module will be called container.
3901da177e4SLinus Torvalds
3911da177e4SLinus Torvaldsconfig ACPI_HOTPLUG_MEMORY
3920a347644SRafael J. Wysocki	bool "Memory Hotplug"
393bc02af93SYasunori Goto	depends on MEMORY_HOTPLUG
3941da177e4SLinus Torvalds	help
3951c48aa36SBjorn Helgaas	  This driver supports ACPI memory hotplug.  The driver
3961c48aa36SBjorn Helgaas	  fields notifications on ACPI memory devices (PNP0C80),
3971c48aa36SBjorn Helgaas	  which represent memory ranges that may be onlined or
3981c48aa36SBjorn Helgaas	  offlined during runtime.
3991da177e4SLinus Torvalds
4001c48aa36SBjorn Helgaas	  If your hardware and firmware do not support adding or
4011c48aa36SBjorn Helgaas	  removing memory devices at runtime, you need not enable
4021c48aa36SBjorn Helgaas	  this driver.
4031da177e4SLinus Torvalds
4041c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
4051c48aa36SBjorn Helgaas	  the module will be called acpi_memhotplug.
4063f86b832SRich Townsend
407c183619bSJiang Liuconfig ACPI_HOTPLUG_IOAPIC
408c183619bSJiang Liu	bool
409c183619bSJiang Liu	depends on PCI
410c183619bSJiang Liu	depends on X86_IO_APIC
411c183619bSJiang Liu	default y
412c183619bSJiang Liu
4133f86b832SRich Townsendconfig ACPI_SBS
41494f6c086SAlexey Starikovskiy	tristate "Smart Battery System"
415b4150fc4SVladimir Lebedev	depends on X86
4161b3d4c3bSZhang Rui	select POWER_SUPPLY
4173f86b832SRich Townsend	help
4181c48aa36SBjorn Helgaas	  This driver supports the Smart Battery System, another
41994f6c086SAlexey Starikovskiy	  type of access to battery information, found on some laptops.
4203f86b832SRich Townsend
4211c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
4221c48aa36SBjorn Helgaas	  the modules will be called sbs and sbshc.
4231c48aa36SBjorn Helgaas
424801eab81SHuang Yingconfig ACPI_HED
425801eab81SHuang Ying	tristate "Hardware Error Device"
426801eab81SHuang Ying	help
427801eab81SHuang Ying	  This driver supports the Hardware Error Device (PNP0C33),
428801eab81SHuang Ying	  which is used to report some hardware errors notified via
429801eab81SHuang Ying	  SCI, mainly the corrected errors.
430801eab81SHuang Ying
431526b4af4SThomas Renningerconfig ACPI_CUSTOM_METHOD
432526b4af4SThomas Renninger	tristate "Allow ACPI methods to be inserted/replaced at run time"
433526b4af4SThomas Renninger	depends on DEBUG_FS
434526b4af4SThomas Renninger	default n
435526b4af4SThomas Renninger	help
436bd1b2a55SJustin P. Mattock	  This debug facility allows ACPI AML methods to be inserted and/or
437526b4af4SThomas Renninger	  replaced without rebooting the system. For details refer to:
438526b4af4SThomas Renninger	  Documentation/acpi/method-customizing.txt.
439526b4af4SThomas Renninger
440526b4af4SThomas Renninger	  NOTE: This option is security sensitive, because it allows arbitrary
441526b4af4SThomas Renninger	  kernel memory to be written to by root (uid=0) users, allowing them
442526b4af4SThomas Renninger	  to bypass certain security measures (e.g. if root is not allowed to
443526b4af4SThomas Renninger	  load additional kernel modules after boot, this feature may be used
444526b4af4SThomas Renninger	  to override that restriction).
445526b4af4SThomas Renninger
446d1ff4b1cSMatthew Garrettconfig ACPI_BGRT
4472223af38SJosh Triplett	bool "Boottime Graphics Resource Table support"
4486e7300cfSBhupesh Sharma	depends on EFI && (X86 || ARM64)
449d1ff4b1cSMatthew Garrett        help
450d1ff4b1cSMatthew Garrett	  This driver adds support for exposing the ACPI Boottime Graphics
451d1ff4b1cSMatthew Garrett	  Resource Table, which allows the operating system to obtain
452d1ff4b1cSMatthew Garrett	  data from the firmware boot splash. It will appear under
453d1ff4b1cSMatthew Garrett	  /sys/firmware/acpi/bgrt/ .
454d1ff4b1cSMatthew Garrett
455af1ae78aSAl Stoneconfig ACPI_REDUCED_HARDWARE_ONLY
456af1ae78aSAl Stone	bool "Hardware-reduced ACPI support only" if EXPERT
457af1ae78aSAl Stone	def_bool n
458af1ae78aSAl Stone	help
459af1ae78aSAl Stone	  This config item changes the way the ACPI code is built.  When this
460af1ae78aSAl Stone	  option is selected, the kernel will use a specialized version of
461af1ae78aSAl Stone	  ACPICA that ONLY supports the ACPI "reduced hardware" mode.  The
462af1ae78aSAl Stone	  resulting kernel will be smaller but it will also be restricted to
463af1ae78aSAl Stone	  running in ACPI reduced hardware mode ONLY.
464af1ae78aSAl Stone
465af1ae78aSAl Stone	  If you are unsure what to do, do not enable this option.
466af1ae78aSAl Stone
467bdf97013SDan Williamssource "drivers/acpi/nfit/Kconfig"
46862232e45SDan Williams
469a643ce20SHuang Yingsource "drivers/acpi/apei/Kconfig"
4706256ebd5SSrinivas Pandruvadasource "drivers/acpi/dptf/Kconfig"
471a643ce20SHuang Ying
472058dfc76SMika Westerbergconfig ACPI_WATCHDOG
473058dfc76SMika Westerberg	bool
474058dfc76SMika Westerberg
4754b3db708SChen, Gongconfig ACPI_EXTLOG
4764b3db708SChen, Gong	tristate "Extended Error Log support"
4779613916bSBorislav Petkov	depends on X86_MCE && X86_LOCAL_APIC && EDAC
4787ea6c6c1SLuck, Tony	select UEFI_CPER
4794b3db708SChen, Gong	default n
4804b3db708SChen, Gong	help
4814b3db708SChen, Gong	  Certain usages such as Predictive Failure Analysis (PFA) require
4824b3db708SChen, Gong	  more information about the error than what can be described in
4834b3db708SChen, Gong	  processor machine check banks. Most server processors log
4844b3db708SChen, Gong	  additional information about the error in processor uncore
4854b3db708SChen, Gong	  registers. Since the addresses and layout of these registers vary
4864b3db708SChen, Gong	  widely from one processor to another, system software cannot
4874b3db708SChen, Gong	  readily make use of them. To complicate matters further, some of
4884b3db708SChen, Gong	  the additional error information cannot be constructed without
4894b3db708SChen, Gong	  detailed knowledge about platform topology.
4904b3db708SChen, Gong
4914b3db708SChen, Gong	  Enhanced MCA Logging allows firmware to provide additional error
4924b3db708SChen, Gong	  information to system software, synchronous with MCE or CMCI. This
4932dfb7d51SChen, Gong	  driver adds support for that functionality with corresponding
4942dfb7d51SChen, Gong	  tracepoint which carries that information to userspace.
4954b3db708SChen, Gong
496b1eea857SAaron Lumenuconfig PMIC_OPREGION
497b1eea857SAaron Lu	bool "PMIC (Power Management Integrated Circuit) operation region support"
498b1eea857SAaron Lu	help
499b1eea857SAaron Lu	  Select this option to enable support for ACPI operation
500b1eea857SAaron Lu	  region of the PMIC chip. The operation region can be used
501b1eea857SAaron Lu	  to control power rails and sensor reading/writing on the
502b1eea857SAaron Lu	  PMIC chip.
503b1eea857SAaron Lu
504b1eea857SAaron Luif PMIC_OPREGION
505b1eea857SAaron Luconfig CRC_PMIC_OPREGION
506b1eea857SAaron Lu	bool "ACPI operation region support for CrystalCove PMIC"
507b1eea857SAaron Lu	depends on INTEL_SOC_PMIC
508b1eea857SAaron Lu	help
509b1eea857SAaron Lu	  This config adds ACPI operation region support for CrystalCove PMIC.
510b1eea857SAaron Lu
511d8139f63SAaron Luconfig XPOWER_PMIC_OPREGION
512d8139f63SAaron Lu	bool "ACPI operation region support for XPower AXP288 PMIC"
5132e5a7f71SHans de Goede	depends on MFD_AXP20X_I2C
514d8139f63SAaron Lu	help
515d8139f63SAaron Lu	  This config adds ACPI operation region support for XPower AXP288 PMIC.
516d8139f63SAaron Lu
5179b928c78SBin Gaoconfig BXT_WC_PMIC_OPREGION
5189b928c78SBin Gao	bool "ACPI operation region support for BXT WhiskeyCove PMIC"
519b5238b41SAndy Shevchenko	depends on INTEL_SOC_PMIC_BXTWC
5209b928c78SBin Gao	help
5219b928c78SBin Gao	  This config adds ACPI operation region support for BXT WhiskeyCove PMIC.
5229b928c78SBin Gao
523ac2c4936SHans de Goedeconfig CHT_WC_PMIC_OPREGION
524ac2c4936SHans de Goede	bool "ACPI operation region support for CHT Whiskey Cove PMIC"
525ac2c4936SHans de Goede	depends on INTEL_SOC_PMIC_CHTWC
526ac2c4936SHans de Goede	help
527ac2c4936SHans de Goede	  This config adds ACPI operation region support for CHT Whiskey Cove PMIC.
528ac2c4936SHans de Goede
529b1eea857SAaron Luendif
530b1eea857SAaron Lu
5310bf54fcdSOctavian Purdilaconfig ACPI_CONFIGFS
5320bf54fcdSOctavian Purdila	tristate "ACPI configfs support"
5330bf54fcdSOctavian Purdila	select CONFIGFS_FS
5340bf54fcdSOctavian Purdila	help
5350bf54fcdSOctavian Purdila	  Select this option to enable support for ACPI configuration from
5360bf54fcdSOctavian Purdila	  userspace. The configurable ACPI groups will be visible under
5370bf54fcdSOctavian Purdila	  /config/acpi, assuming configfs is mounted under /config.
5380bf54fcdSOctavian Purdila
53988ef16d8STomasz Nowickiif ARM64
54088ef16d8STomasz Nowickisource "drivers/acpi/arm64/Kconfig"
54188ef16d8STomasz Nowickiendif
54288ef16d8STomasz Nowicki
5431da177e4SLinus Torvaldsendif	# ACPI
544