xref: /linux/drivers/acpi/Kconfig (revision 91dda51a115770fb9f24634fb09a502ad7bda5c6)
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
80673d5b43SLen Brownconfig ACPI_SLEEP
81673d5b43SLen Brown	bool
825d1e072bSRafael J. Wysocki	depends on SUSPEND || HIBERNATION
836e0a0ea1SGraeme Gregory	depends on ACPI_SYSTEM_POWER_STATES_SUPPORT
84673d5b43SLen Brown	default y
85673d5b43SLen Brown
86e2a7c3d7SLan Tianyuconfig ACPI_PROCFS_POWER
87e2a7c3d7SLan Tianyu	bool "Deprecated power /proc/acpi directories"
88bbf55ae1SLorenzo Pieralisi	depends on X86 && PROC_FS
89e2a7c3d7SLan Tianyu	help
90e2a7c3d7SLan Tianyu	  For backwards compatibility, this option allows
91e2a7c3d7SLan Tianyu          deprecated power /proc/acpi/ directories to exist, even when
92e2a7c3d7SLan Tianyu          they have been replaced by functions in /sys.
93e2a7c3d7SLan Tianyu          The deprecated directories (and their replacements) include:
94e2a7c3d7SLan Tianyu	  /proc/acpi/battery/* (/sys/class/power_supply/*)
95e2a7c3d7SLan Tianyu	  /proc/acpi/ac_adapter/* (sys/class/power_supply/*)
96e2a7c3d7SLan Tianyu	  This option has no effect on /proc/acpi/ directories
97e2a7c3d7SLan Tianyu	  and functions, which do not yet exist in /sys
98e2a7c3d7SLan Tianyu	  This option, together with the proc directories, will be
993afcb96fSRafael J. Wysocki	  deleted in the future.
100e2a7c3d7SLan Tianyu
101e2a7c3d7SLan Tianyu	  Say N to delete power /proc/acpi/ directories that have moved to /sys/
102e2a7c3d7SLan Tianyu
10318d78b64SRafael J. Wysockiconfig ACPI_REV_OVERRIDE_POSSIBLE
10418d78b64SRafael J. Wysocki	bool "Allow supported ACPI revision to be overriden"
10518d78b64SRafael J. Wysocki	depends on X86
10618d78b64SRafael J. Wysocki	default y
10718d78b64SRafael J. Wysocki	help
10818d78b64SRafael J. Wysocki	  The platform firmware on some systems expects Linux to return "5" as
10918d78b64SRafael J. Wysocki	  the supported ACPI revision which makes it expose system configuration
11018d78b64SRafael J. Wysocki	  information in a special way.
11118d78b64SRafael J. Wysocki
11218d78b64SRafael J. Wysocki	  For example, based on what ACPI exports as the supported revision,
11318d78b64SRafael J. Wysocki	  Dell XPS 13 (2015) configures its audio device to either work in HDA
11418d78b64SRafael J. Wysocki	  mode or in I2S mode, where the former is supposed to be used on Linux
11518d78b64SRafael J. Wysocki	  until the latter is fully supported (in the kernel as well as in user
11618d78b64SRafael J. Wysocki	  space).
11718d78b64SRafael J. Wysocki
11818d78b64SRafael J. Wysocki	  This option enables a DMI-based quirk for the above Dell machine (so
11918d78b64SRafael J. Wysocki	  that HDA audio is exposed by the platform firmware to the kernel) and
12018d78b64SRafael J. Wysocki	  makes it possible to force the kernel to return "5" as the supported
12118d78b64SRafael J. Wysocki	  ACPI revision via the "acpi_rev_override" command line switch.
12218d78b64SRafael J. Wysocki
1231195a098SThomas Renningerconfig ACPI_EC_DEBUGFS
1241195a098SThomas Renninger	tristate "EC read/write access through /sys/kernel/debug/ec"
125500de3ddSThomas Renninger	default n
1261195a098SThomas Renninger	help
1271195a098SThomas Renninger	  Say N to disable Embedded Controller /sys/kernel/debug interface
1281195a098SThomas Renninger
129500de3ddSThomas Renninger	  Be aware that using this interface can confuse your Embedded
130500de3ddSThomas Renninger	  Controller in a way that a normal reboot is not enough. You then
13125cb1bfdSAndrea Gelmini	  have to power off your system, and remove the laptop battery for
132500de3ddSThomas Renninger	  some seconds.
1331195a098SThomas Renninger	  An Embedded Controller typically is available on laptops and reads
1341195a098SThomas Renninger	  sensor values like battery state and temperature.
135500de3ddSThomas Renninger	  The kernel accesses the EC through ACPI parsed code provided by BIOS
136500de3ddSThomas Renninger	  tables. This option allows to access the EC directly without ACPI
137500de3ddSThomas Renninger	  code being involved.
1381195a098SThomas Renninger	  Thus this option is a debug option that helps to write ACPI drivers
1391195a098SThomas Renninger	  and can be used to identify ACPI code or EC firmware bugs.
1401195a098SThomas Renninger
1411da177e4SLinus Torvaldsconfig ACPI_AC
1421da177e4SLinus Torvalds	tristate "AC Adapter"
1435527c8beSAlexey Starikovskiy	depends on X86
1441b3d4c3bSZhang Rui	select POWER_SUPPLY
14507fefe4cSLen Brown	default y
1461da177e4SLinus Torvalds	help
1471c48aa36SBjorn Helgaas	  This driver supports the AC Adapter object, which indicates
1481c48aa36SBjorn Helgaas	  whether a system is on AC or not.  If you have a system that can
14907fefe4cSLen Brown	  switch between A/C and battery, say Y.
1501da177e4SLinus Torvalds
1511c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
1521c48aa36SBjorn Helgaas	  the module will be called ac.
1531c48aa36SBjorn Helgaas
1541da177e4SLinus Torvaldsconfig ACPI_BATTERY
1551da177e4SLinus Torvalds	tristate "Battery"
1565527c8beSAlexey Starikovskiy	depends on X86
1571b3d4c3bSZhang Rui	select POWER_SUPPLY
15807fefe4cSLen Brown	default y
1591da177e4SLinus Torvalds	help
1601da177e4SLinus Torvalds	  This driver adds support for battery information through
1611da177e4SLinus Torvalds	  /proc/acpi/battery. If you have a mobile system with a battery,
1621da177e4SLinus Torvalds	  say Y.
1631da177e4SLinus Torvalds
1641c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
1651c48aa36SBjorn Helgaas	  the module will be called battery.
1661c48aa36SBjorn Helgaas
1671da177e4SLinus Torvaldsconfig ACPI_BUTTON
1681da177e4SLinus Torvalds	tristate "Button"
169c0968f0eSDmitry Torokhov	depends on INPUT
17007fefe4cSLen Brown	default y
1711da177e4SLinus Torvalds	help
1721c48aa36SBjorn Helgaas	  This driver handles events on the power, sleep, and lid buttons.
1737d13f94cSKrzysztof Mazur	  A daemon reads events from input devices or via netlink and
1747d13f94cSKrzysztof Mazur	  performs user-defined actions such as shutting down the system.
1757d13f94cSKrzysztof Mazur	  This is necessary for software-controlled poweroff.
1761c48aa36SBjorn Helgaas
1771c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
1781c48aa36SBjorn Helgaas	  the module will be called button.
1791da177e4SLinus Torvalds
1801da177e4SLinus Torvaldsconfig ACPI_VIDEO
1811da177e4SLinus Torvalds	tristate "Video"
1829f380fc5SJean Delvare	depends on X86 && BACKLIGHT_CLASS_DEVICE
18303e2bf26SAndreas Herrmann	depends on INPUT
18463c4ec90SZhang Rui	select THERMAL
1851da177e4SLinus Torvalds	help
1861c48aa36SBjorn Helgaas	  This driver implements the ACPI Extensions For Display Adapters
1871da177e4SLinus Torvalds	  for integrated graphics devices on motherboard, as specified in
1881c48aa36SBjorn Helgaas	  ACPI 2.0 Specification, Appendix B.  This supports basic operations
1891c48aa36SBjorn Helgaas	  such as defining the video POST device, retrieving EDID information,
1901c48aa36SBjorn Helgaas	  and setting up a video output.
1911c48aa36SBjorn Helgaas
1921c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
1931c48aa36SBjorn Helgaas	  the module will be called video.
1941da177e4SLinus Torvalds
1951da177e4SLinus Torvaldsconfig ACPI_FAN
1961da177e4SLinus Torvalds	tristate "Fan"
197d8054749SZhang Rui	depends on THERMAL
19807fefe4cSLen Brown	default y
1991da177e4SLinus Torvalds	help
2001c48aa36SBjorn Helgaas	  This driver supports ACPI fan devices, allowing user-mode
2011da177e4SLinus Torvalds	  applications to perform basic fan control (on, off, status).
2021da177e4SLinus Torvalds
2031c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
2041c48aa36SBjorn Helgaas	  the module will be called fan.
2051c48aa36SBjorn Helgaas
206c8f7a62cSLen Brownconfig ACPI_DOCK
207898b054fSShaohua Li	bool "Dock"
208c8f7a62cSLen Brown	help
2091c48aa36SBjorn Helgaas	  This driver supports ACPI-controlled docking stations and removable
2101c48aa36SBjorn Helgaas	  drive bays such as the IBM Ultrabay and the Dell Module Bay.
21101b57e73SKristen Carlson Accardi
212239708a3SAshwin Chauguleconfig ACPI_CPU_FREQ_PSS
213239708a3SAshwin Chaugule	bool
214239708a3SAshwin Chaugule	select THERMAL
215239708a3SAshwin Chaugule
2165f05586cSAshwin Chauguleconfig ACPI_PROCESSOR_IDLE
2175f05586cSAshwin Chaugule	bool
2185f05586cSAshwin Chaugule	select CPU_IDLE
2195f05586cSAshwin Chaugule
220337aadffSAshwin Chauguleconfig ACPI_CPPC_LIB
221337aadffSAshwin Chaugule	bool
222337aadffSAshwin Chaugule	depends on ACPI_PROCESSOR
223337aadffSAshwin Chaugule	depends on !ACPI_CPU_FREQ_PSS
224337aadffSAshwin Chaugule	select MAILBOX
225337aadffSAshwin Chaugule	select PCC
226337aadffSAshwin Chaugule	help
227337aadffSAshwin Chaugule	  If this option is enabled, this file implements common functionality
228337aadffSAshwin Chaugule	  to parse CPPC tables as described in the ACPI 5.1+ spec. The
229337aadffSAshwin Chaugule	  routines implemented are meant to be used by other
230337aadffSAshwin Chaugule	  drivers to control CPU performance using CPPC semantics.
231337aadffSAshwin Chaugule	  If your platform does not support CPPC in firmware,
232337aadffSAshwin Chaugule	  leave this option disabled.
233337aadffSAshwin Chaugule
2341da177e4SLinus Torvaldsconfig ACPI_PROCESSOR
2351da177e4SLinus Torvalds	tristate "Processor"
236ad806ea6SAshwin Chaugule	depends on X86 || IA64 || ARM64
237ad806ea6SAshwin Chaugule	select ACPI_PROCESSOR_IDLE if X86 || IA64
238ad806ea6SAshwin Chaugule	select ACPI_CPU_FREQ_PSS if X86 || IA64
23907fefe4cSLen Brown	default y
2401da177e4SLinus Torvalds	help
241239708a3SAshwin Chaugule	  This driver adds support for the ACPI Processor package. It is required
242239708a3SAshwin Chaugule	  by several flavors of cpufreq performance-state, thermal, throttling and
243239708a3SAshwin Chaugule	  idle drivers.
2441c48aa36SBjorn Helgaas
2451c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
2461c48aa36SBjorn Helgaas	  the module will be called processor.
2474b88e330SLv Zheng
248e92b297cSZhao Yakuiconfig ACPI_IPMI
249e92b297cSZhao Yakui	tristate "IPMI"
2504b88e330SLv Zheng	depends on IPMI_SI
251e92b297cSZhao Yakui	default n
252e92b297cSZhao Yakui	help
253e92b297cSZhao Yakui	  This driver enables the ACPI to access the BMC controller. And it
254e92b297cSZhao Yakui	  uses the IPMI request/response message to communicate with BMC
255e92b297cSZhao Yakui	  controller, which can be found on on the server.
256e92b297cSZhao Yakui
257e92b297cSZhao Yakui	  To compile this driver as a module, choose M here:
258e92b297cSZhao Yakui	  the module will be called as acpi_ipmi.
2591da177e4SLinus Torvalds
2601da177e4SLinus Torvaldsconfig ACPI_HOTPLUG_CPU
261cbfc1baeSAdrian Bunk	bool
262f756f28bSKees Cook	depends on ACPI_PROCESSOR && HOTPLUG_CPU
2631da177e4SLinus Torvalds	select ACPI_CONTAINER
264cbfc1baeSAdrian Bunk	default y
2651da177e4SLinus Torvalds
2668e0af514SShaohua Liconfig ACPI_PROCESSOR_AGGREGATOR
2678e0af514SShaohua Li	tristate "Processor Aggregator"
2688e0af514SShaohua Li	depends on ACPI_PROCESSOR
269d91f79ebSLen Brown	depends on X86
2708e0af514SShaohua Li	help
2718e0af514SShaohua Li	  ACPI 4.0 defines processor Aggregator, which enables OS to perform
272c4c4e2a5SJiri Slaby	  specific processor configuration and control that applies to all
2738e0af514SShaohua Li	  processors in the platform. Currently only logical processor idling
2748e0af514SShaohua Li	  is defined, which is to reduce power consumption. This driver
275c4c4e2a5SJiri Slaby	  supports the new device.
2768e0af514SShaohua Li
2771da177e4SLinus Torvaldsconfig ACPI_THERMAL
2781da177e4SLinus Torvalds	tristate "Thermal Zone"
2791da177e4SLinus Torvalds	depends on ACPI_PROCESSOR
2803f655ef8SZhang Rui	select THERMAL
28107fefe4cSLen Brown	default y
2821da177e4SLinus Torvalds	help
2831c48aa36SBjorn Helgaas	  This driver supports ACPI thermal zones.  Most mobile and
2841da177e4SLinus Torvalds	  some desktop systems support ACPI thermal zones.  It is HIGHLY
2851da177e4SLinus Torvalds	  recommended that this option be enabled, as your processor(s)
2861da177e4SLinus Torvalds	  may be damaged without it.
2871da177e4SLinus Torvalds
2881c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
2891c48aa36SBjorn Helgaas	  the module will be called thermal.
2901c48aa36SBjorn Helgaas
2911da177e4SLinus Torvaldsconfig ACPI_NUMA
2921da177e4SLinus Torvalds	bool "NUMA support"
2931da177e4SLinus Torvalds	depends on NUMA
294762834e8SYasunori Goto	depends on (X86 || IA64)
2951da177e4SLinus Torvalds	default y if IA64_GENERIC || IA64_SGI_SN2
2961da177e4SLinus Torvalds
2977ce9573eSRandy Dunlapconfig ACPI_CUSTOM_DSDT_FILE
2987ce9573eSRandy Dunlap	string "Custom DSDT Table file to include"
2997ce9573eSRandy Dunlap	default ""
3001da177e4SLinus Torvalds	depends on !STANDALONE
3011da177e4SLinus Torvalds	help
302d89e9d6bSLen Brown	  This option supports a custom DSDT by linking it into the kernel.
303d89e9d6bSLen Brown	  See Documentation/acpi/dsdt-override.txt
304d89e9d6bSLen Brown
305c30fe7f7SUwe Zeisberger	  Enter the full path name to the file which includes the AmlCode
306c30fe7f7SUwe Zeisberger	  declaration.
3071da177e4SLinus Torvalds
3087ce9573eSRandy Dunlap	  If unsure, don't enter a file name.
3097ce9573eSRandy Dunlap
3107ce9573eSRandy Dunlapconfig ACPI_CUSTOM_DSDT
3117ce9573eSRandy Dunlap	bool
3127ce9573eSRandy Dunlap	default ACPI_CUSTOM_DSDT_FILE != ""
3137ce9573eSRandy Dunlap
314*91dda51aSAleksey Makarovconfig ARCH_HAS_ACPI_TABLE_UPGRADE
315*91dda51aSAleksey Makarov	def_bool n
316*91dda51aSAleksey Makarov
3175d881327SLv Zhengconfig ACPI_TABLE_UPGRADE
3185d881327SLv Zheng	bool "Allow upgrading ACPI tables via initrd"
319*91dda51aSAleksey Makarov	depends on BLK_DEV_INITRD && ARCH_HAS_ACPI_TABLE_UPGRADE
3205d881327SLv Zheng	default y
32153aac44cSThomas Renninger	help
3225d881327SLv Zheng	  This option provides functionality to upgrade arbitrary ACPI tables
32353aac44cSThomas Renninger	  via initrd. No functional change if no ACPI tables are passed via
32453aac44cSThomas Renninger	  initrd, therefore it's safe to say Y.
32553aac44cSThomas Renninger	  See Documentation/acpi/initrd_table_override.txt for details
32653aac44cSThomas Renninger
3271da177e4SLinus Torvaldsconfig ACPI_DEBUG
3281da177e4SLinus Torvalds	bool "Debug Statements"
3291da177e4SLinus Torvalds	default n
3301da177e4SLinus Torvalds	help
331a0d84a92SBjorn Helgaas	  The ACPI subsystem can produce debug output.  Saying Y enables this
332a0d84a92SBjorn Helgaas	  output and increases the kernel size by around 50K.
333a0d84a92SBjorn Helgaas
334a0d84a92SBjorn Helgaas	  Use the acpi.debug_layer and acpi.debug_level kernel command-line
335a0d84a92SBjorn Helgaas	  parameters documented in Documentation/acpi/debug.txt and
336a0d84a92SBjorn Helgaas	  Documentation/kernel-parameters.txt to control the type and
337a0d84a92SBjorn Helgaas	  amount of debug output.
3381da177e4SLinus Torvalds
3398344b568SAlex Chiangconfig ACPI_PCI_SLOT
340ab1a2e03SJiang Liu	bool "PCI slot detection driver"
341268a03a4SAlex Chiang	depends on SYSFS
3428344b568SAlex Chiang	default n
3438344b568SAlex Chiang	help
3441c48aa36SBjorn Helgaas	  This driver creates entries in /sys/bus/pci/slots/ for all PCI
3451c48aa36SBjorn Helgaas	  slots in the system.  This can help correlate PCI bus addresses,
3461c48aa36SBjorn Helgaas	  i.e., segment/bus/device/function tuples, with physical slots in
3471c48aa36SBjorn Helgaas	  the system.  If you are unsure, say N.
3481c48aa36SBjorn Helgaas
3491da177e4SLinus Torvaldsconfig X86_PM_TIMER
3506a108a14SDavid Rientjes	bool "Power Management Timer Support" if EXPERT
3511da177e4SLinus Torvalds	depends on X86
35207fefe4cSLen Brown	default y
3531da177e4SLinus Torvalds	help
3541da177e4SLinus Torvalds	  The Power Management Timer is available on all ACPI-capable,
3551da177e4SLinus Torvalds	  in most cases even if ACPI is unusable or blacklisted.
3561da177e4SLinus Torvalds
3571da177e4SLinus Torvalds	  This timing source is not affected by power management features
3581da177e4SLinus Torvalds	  like aggressive processor idling, throttling, frequency and/or
3591da177e4SLinus Torvalds	  voltage scaling, unlike the commonly used Time Stamp Counter
3601da177e4SLinus Torvalds	  (TSC) timing source.
3611da177e4SLinus Torvalds
362e78256b8SAndi Kleen	  You should nearly always say Y here because many modern
363e78256b8SAndi Kleen	  systems require this timer.
3641da177e4SLinus Torvalds
3651da177e4SLinus Torvaldsconfig ACPI_CONTAINER
36606991c28SLinus Torvalds	bool "Container and Module Devices"
367ea6a4581SPaul Bolle	default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU)
3681c48aa36SBjorn Helgaas	help
3691c48aa36SBjorn Helgaas	  This driver supports ACPI Container and Module devices (IDs
3701c48aa36SBjorn Helgaas	  ACPI0004, PNP0A05, and PNP0A06).
37145b1b196SKeiichiro Tokunaga
3721c48aa36SBjorn Helgaas	  This helps support hotplug of nodes, CPUs, and memory.
3731c48aa36SBjorn Helgaas
3741c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
3751c48aa36SBjorn Helgaas	  the module will be called container.
3761da177e4SLinus Torvalds
3771da177e4SLinus Torvaldsconfig ACPI_HOTPLUG_MEMORY
3780a347644SRafael J. Wysocki	bool "Memory Hotplug"
379bc02af93SYasunori Goto	depends on MEMORY_HOTPLUG
3801da177e4SLinus Torvalds	help
3811c48aa36SBjorn Helgaas	  This driver supports ACPI memory hotplug.  The driver
3821c48aa36SBjorn Helgaas	  fields notifications on ACPI memory devices (PNP0C80),
3831c48aa36SBjorn Helgaas	  which represent memory ranges that may be onlined or
3841c48aa36SBjorn Helgaas	  offlined during runtime.
3851da177e4SLinus Torvalds
3861c48aa36SBjorn Helgaas	  If your hardware and firmware do not support adding or
3871c48aa36SBjorn Helgaas	  removing memory devices at runtime, you need not enable
3881c48aa36SBjorn Helgaas	  this driver.
3891da177e4SLinus Torvalds
3901c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
3911c48aa36SBjorn Helgaas	  the module will be called acpi_memhotplug.
3923f86b832SRich Townsend
393c183619bSJiang Liuconfig ACPI_HOTPLUG_IOAPIC
394c183619bSJiang Liu	bool
395c183619bSJiang Liu	depends on PCI
396c183619bSJiang Liu	depends on X86_IO_APIC
397c183619bSJiang Liu	default y
398c183619bSJiang Liu
3993f86b832SRich Townsendconfig ACPI_SBS
40094f6c086SAlexey Starikovskiy	tristate "Smart Battery System"
401b4150fc4SVladimir Lebedev	depends on X86
4021b3d4c3bSZhang Rui	select POWER_SUPPLY
4033f86b832SRich Townsend	help
4041c48aa36SBjorn Helgaas	  This driver supports the Smart Battery System, another
40594f6c086SAlexey Starikovskiy	  type of access to battery information, found on some laptops.
4063f86b832SRich Townsend
4071c48aa36SBjorn Helgaas	  To compile this driver as a module, choose M here:
4081c48aa36SBjorn Helgaas	  the modules will be called sbs and sbshc.
4091c48aa36SBjorn Helgaas
410801eab81SHuang Yingconfig ACPI_HED
411801eab81SHuang Ying	tristate "Hardware Error Device"
412801eab81SHuang Ying	help
413801eab81SHuang Ying	  This driver supports the Hardware Error Device (PNP0C33),
414801eab81SHuang Ying	  which is used to report some hardware errors notified via
415801eab81SHuang Ying	  SCI, mainly the corrected errors.
416801eab81SHuang Ying
417526b4af4SThomas Renningerconfig ACPI_CUSTOM_METHOD
418526b4af4SThomas Renninger	tristate "Allow ACPI methods to be inserted/replaced at run time"
419526b4af4SThomas Renninger	depends on DEBUG_FS
420526b4af4SThomas Renninger	default n
421526b4af4SThomas Renninger	help
422bd1b2a55SJustin P. Mattock	  This debug facility allows ACPI AML methods to be inserted and/or
423526b4af4SThomas Renninger	  replaced without rebooting the system. For details refer to:
424526b4af4SThomas Renninger	  Documentation/acpi/method-customizing.txt.
425526b4af4SThomas Renninger
426526b4af4SThomas Renninger	  NOTE: This option is security sensitive, because it allows arbitrary
427526b4af4SThomas Renninger	  kernel memory to be written to by root (uid=0) users, allowing them
428526b4af4SThomas Renninger	  to bypass certain security measures (e.g. if root is not allowed to
429526b4af4SThomas Renninger	  load additional kernel modules after boot, this feature may be used
430526b4af4SThomas Renninger	  to override that restriction).
431526b4af4SThomas Renninger
432d1ff4b1cSMatthew Garrettconfig ACPI_BGRT
4332223af38SJosh Triplett	bool "Boottime Graphics Resource Table support"
434e66cd537STony Luck	depends on EFI && X86
435d1ff4b1cSMatthew Garrett        help
436d1ff4b1cSMatthew Garrett	  This driver adds support for exposing the ACPI Boottime Graphics
437d1ff4b1cSMatthew Garrett	  Resource Table, which allows the operating system to obtain
438d1ff4b1cSMatthew Garrett	  data from the firmware boot splash. It will appear under
439d1ff4b1cSMatthew Garrett	  /sys/firmware/acpi/bgrt/ .
440d1ff4b1cSMatthew Garrett
441af1ae78aSAl Stoneconfig ACPI_REDUCED_HARDWARE_ONLY
442af1ae78aSAl Stone	bool "Hardware-reduced ACPI support only" if EXPERT
443af1ae78aSAl Stone	def_bool n
444af1ae78aSAl Stone	help
445af1ae78aSAl Stone	  This config item changes the way the ACPI code is built.  When this
446af1ae78aSAl Stone	  option is selected, the kernel will use a specialized version of
447af1ae78aSAl Stone	  ACPICA that ONLY supports the ACPI "reduced hardware" mode.  The
448af1ae78aSAl Stone	  resulting kernel will be smaller but it will also be restricted to
449af1ae78aSAl Stone	  running in ACPI reduced hardware mode ONLY.
450af1ae78aSAl Stone
451af1ae78aSAl Stone	  If you are unsure what to do, do not enable this option.
452af1ae78aSAl Stone
453b94d5230SDan Williamsconfig ACPI_NFIT
454b94d5230SDan Williams	tristate "ACPI NVDIMM Firmware Interface Table (NFIT)"
455b94d5230SDan Williams	depends on PHYS_ADDR_T_64BIT
456b94d5230SDan Williams	depends on BLK_DEV
45767a3e8feSRoss Zwisler	depends on ARCH_HAS_MMIO_FLUSH
458b94d5230SDan Williams	select LIBNVDIMM
459b94d5230SDan Williams	help
460b94d5230SDan Williams	  Infrastructure to probe ACPI 6 compliant platforms for
461b94d5230SDan Williams	  NVDIMMs (NFIT) and register a libnvdimm device tree.  In
462b94d5230SDan Williams	  addition to storage devices this also enables libnvdimm to pass
463b94d5230SDan Williams	  ACPI._DSM messages for platform/dimm configuration.
464b94d5230SDan Williams
465b94d5230SDan Williams	  To compile this driver as a module, choose M here:
466b94d5230SDan Williams	  the module will be called nfit.
467b94d5230SDan Williams
46862232e45SDan Williamsconfig ACPI_NFIT_DEBUG
46962232e45SDan Williams	bool "NFIT DSM debug"
47062232e45SDan Williams	depends on ACPI_NFIT
47162232e45SDan Williams	depends on DYNAMIC_DEBUG
47262232e45SDan Williams	default n
47362232e45SDan Williams	help
47462232e45SDan Williams	  Enabling this option causes the nfit driver to dump the
47562232e45SDan Williams	  input and output buffers of _DSM operations on the ACPI0012
47662232e45SDan Williams	  device and its children.  This can be very verbose, so leave
47762232e45SDan Williams	  it disabled unless you are debugging a hardware / firmware
47862232e45SDan Williams	  issue.
47962232e45SDan Williams
480a643ce20SHuang Yingsource "drivers/acpi/apei/Kconfig"
481a643ce20SHuang Ying
4824b3db708SChen, Gongconfig ACPI_EXTLOG
4834b3db708SChen, Gong	tristate "Extended Error Log support"
4849ebddac7SLuck, Tony	depends on X86_MCE && X86_LOCAL_APIC
4857ea6c6c1SLuck, Tony	select UEFI_CPER
4862dfb7d51SChen, Gong	select RAS
4874b3db708SChen, Gong	default n
4884b3db708SChen, Gong	help
4894b3db708SChen, Gong	  Certain usages such as Predictive Failure Analysis (PFA) require
4904b3db708SChen, Gong	  more information about the error than what can be described in
4914b3db708SChen, Gong	  processor machine check banks. Most server processors log
4924b3db708SChen, Gong	  additional information about the error in processor uncore
4934b3db708SChen, Gong	  registers. Since the addresses and layout of these registers vary
4944b3db708SChen, Gong	  widely from one processor to another, system software cannot
4954b3db708SChen, Gong	  readily make use of them. To complicate matters further, some of
4964b3db708SChen, Gong	  the additional error information cannot be constructed without
4974b3db708SChen, Gong	  detailed knowledge about platform topology.
4984b3db708SChen, Gong
4994b3db708SChen, Gong	  Enhanced MCA Logging allows firmware to provide additional error
5004b3db708SChen, Gong	  information to system software, synchronous with MCE or CMCI. This
5012dfb7d51SChen, Gong	  driver adds support for that functionality with corresponding
5022dfb7d51SChen, Gong	  tracepoint which carries that information to userspace.
5034b3db708SChen, Gong
504b1eea857SAaron Lumenuconfig PMIC_OPREGION
505b1eea857SAaron Lu	bool "PMIC (Power Management Integrated Circuit) operation region support"
506b1eea857SAaron Lu	help
507b1eea857SAaron Lu	  Select this option to enable support for ACPI operation
508b1eea857SAaron Lu	  region of the PMIC chip. The operation region can be used
509b1eea857SAaron Lu	  to control power rails and sensor reading/writing on the
510b1eea857SAaron Lu	  PMIC chip.
511b1eea857SAaron Lu
512b1eea857SAaron Luif PMIC_OPREGION
513b1eea857SAaron Luconfig CRC_PMIC_OPREGION
514b1eea857SAaron Lu	bool "ACPI operation region support for CrystalCove PMIC"
515b1eea857SAaron Lu	depends on INTEL_SOC_PMIC
516b1eea857SAaron Lu	help
517b1eea857SAaron Lu	  This config adds ACPI operation region support for CrystalCove PMIC.
518b1eea857SAaron Lu
519d8139f63SAaron Luconfig XPOWER_PMIC_OPREGION
520d8139f63SAaron Lu	bool "ACPI operation region support for XPower AXP288 PMIC"
521d8139f63SAaron Lu	depends on AXP288_ADC = y
522d8139f63SAaron Lu	help
523d8139f63SAaron Lu	  This config adds ACPI operation region support for XPower AXP288 PMIC.
524d8139f63SAaron Lu
525b1eea857SAaron Luendif
526b1eea857SAaron Lu
5271da177e4SLinus Torvaldsendif	# ACPI
528