18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# ACPI Configuration
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciconfig ARCH_SUPPORTS_ACPI
78c2ecf20Sopenharmony_ci	bool
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimenuconfig ACPI
108c2ecf20Sopenharmony_ci	bool "ACPI (Advanced Configuration and Power Interface) Support"
118c2ecf20Sopenharmony_ci	depends on ARCH_SUPPORTS_ACPI
128c2ecf20Sopenharmony_ci	select PNP
138c2ecf20Sopenharmony_ci	select NLS
148c2ecf20Sopenharmony_ci	default y if X86
158c2ecf20Sopenharmony_ci	help
168c2ecf20Sopenharmony_ci	  Advanced Configuration and Power Interface (ACPI) support for 
178c2ecf20Sopenharmony_ci	  Linux requires an ACPI-compliant platform (hardware/firmware),
188c2ecf20Sopenharmony_ci	  and assumes the presence of OS-directed configuration and power
198c2ecf20Sopenharmony_ci	  management (OSPM) software.  This option will enlarge your 
208c2ecf20Sopenharmony_ci	  kernel by about 70K.
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci	  Linux ACPI provides a robust functional replacement for several 
238c2ecf20Sopenharmony_ci	  legacy configuration and power management interfaces, including
248c2ecf20Sopenharmony_ci	  the Plug-and-Play BIOS specification (PnP BIOS), the 
258c2ecf20Sopenharmony_ci	  MultiProcessor Specification (MPS), and the Advanced Power 
268c2ecf20Sopenharmony_ci	  Management (APM) specification.  If both ACPI and APM support 
278c2ecf20Sopenharmony_ci	  are configured, ACPI is used.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci	  The project home page for the Linux ACPI subsystem is here:
308c2ecf20Sopenharmony_ci	  <https://01.org/linux-acpi>
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci	  Linux support for ACPI is based on Intel Corporation's ACPI
338c2ecf20Sopenharmony_ci	  Component Architecture (ACPI CA).  For more information on the
348c2ecf20Sopenharmony_ci	  ACPI CA, see:
358c2ecf20Sopenharmony_ci	  <https://acpica.org/>
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci	  ACPI is an open industry specification originally co-developed by
388c2ecf20Sopenharmony_ci	  Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba. Currently,
398c2ecf20Sopenharmony_ci	  it is developed by the ACPI Specification Working Group (ASWG) under
408c2ecf20Sopenharmony_ci	  the UEFI Forum and any UEFI member can join the ASWG and contribute
418c2ecf20Sopenharmony_ci	  to the ACPI specification.
428c2ecf20Sopenharmony_ci	  The specification is available at:
438c2ecf20Sopenharmony_ci	  <https://uefi.org/specifications>
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ciif ACPI
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ciconfig ACPI_LEGACY_TABLES_LOOKUP
488c2ecf20Sopenharmony_ci	bool
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ciconfig ARCH_MIGHT_HAVE_ACPI_PDC
518c2ecf20Sopenharmony_ci	bool
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ciconfig ACPI_GENERIC_GSI
548c2ecf20Sopenharmony_ci	bool
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ciconfig ACPI_SYSTEM_POWER_STATES_SUPPORT
578c2ecf20Sopenharmony_ci	bool
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ciconfig ACPI_CCA_REQUIRED
608c2ecf20Sopenharmony_ci	bool
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ciconfig ACPI_DEBUGGER
638c2ecf20Sopenharmony_ci	bool "AML debugger interface"
648c2ecf20Sopenharmony_ci	select ACPI_DEBUG
658c2ecf20Sopenharmony_ci	help
668c2ecf20Sopenharmony_ci	  Enable in-kernel debugging of AML facilities: statistics,
678c2ecf20Sopenharmony_ci	  internal object dump, single step control method execution.
688c2ecf20Sopenharmony_ci	  This is still under development, currently enabling this only
698c2ecf20Sopenharmony_ci	  results in the compilation of the ACPICA debugger files.
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ciif ACPI_DEBUGGER
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ciconfig ACPI_DEBUGGER_USER
748c2ecf20Sopenharmony_ci	tristate "Userspace debugger accessiblity"
758c2ecf20Sopenharmony_ci	depends on DEBUG_FS
768c2ecf20Sopenharmony_ci	help
778c2ecf20Sopenharmony_ci	  Export /sys/kernel/debug/acpi/acpidbg for userspace utilities
788c2ecf20Sopenharmony_ci	  to access the debugger functionalities.
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ciendif
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ciconfig ACPI_SPCR_TABLE
838c2ecf20Sopenharmony_ci	bool "ACPI Serial Port Console Redirection Support"
848c2ecf20Sopenharmony_ci	default y if X86
858c2ecf20Sopenharmony_ci	help
868c2ecf20Sopenharmony_ci	  Enable support for Serial Port Console Redirection (SPCR) Table.
878c2ecf20Sopenharmony_ci	  This table provides information about the configuration of the
888c2ecf20Sopenharmony_ci	  earlycon console.
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ciconfig ACPI_LPIT
918c2ecf20Sopenharmony_ci	bool
928c2ecf20Sopenharmony_ci	depends on X86_64
938c2ecf20Sopenharmony_ci	default y
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ciconfig ACPI_SLEEP
968c2ecf20Sopenharmony_ci	bool
978c2ecf20Sopenharmony_ci	depends on SUSPEND || HIBERNATION
988c2ecf20Sopenharmony_ci	depends on ACPI_SYSTEM_POWER_STATES_SUPPORT
998c2ecf20Sopenharmony_ci	default y
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ciconfig ACPI_REV_OVERRIDE_POSSIBLE
1028c2ecf20Sopenharmony_ci	bool "Allow supported ACPI revision to be overridden"
1038c2ecf20Sopenharmony_ci	depends on X86
1048c2ecf20Sopenharmony_ci	default y
1058c2ecf20Sopenharmony_ci	help
1068c2ecf20Sopenharmony_ci	  The platform firmware on some systems expects Linux to return "5" as
1078c2ecf20Sopenharmony_ci	  the supported ACPI revision which makes it expose system configuration
1088c2ecf20Sopenharmony_ci	  information in a special way.
1098c2ecf20Sopenharmony_ci
1108c2ecf20Sopenharmony_ci	  For example, based on what ACPI exports as the supported revision,
1118c2ecf20Sopenharmony_ci	  Dell XPS 13 (2015) configures its audio device to either work in HDA
1128c2ecf20Sopenharmony_ci	  mode or in I2S mode, where the former is supposed to be used on Linux
1138c2ecf20Sopenharmony_ci	  until the latter is fully supported (in the kernel as well as in user
1148c2ecf20Sopenharmony_ci	  space).
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_ci	  This option enables a DMI-based quirk for the above Dell machine (so
1178c2ecf20Sopenharmony_ci	  that HDA audio is exposed by the platform firmware to the kernel) and
1188c2ecf20Sopenharmony_ci	  makes it possible to force the kernel to return "5" as the supported
1198c2ecf20Sopenharmony_ci	  ACPI revision via the "acpi_rev_override" command line switch.
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ciconfig ACPI_EC_DEBUGFS
1228c2ecf20Sopenharmony_ci	tristate "EC read/write access through /sys/kernel/debug/ec"
1238c2ecf20Sopenharmony_ci	help
1248c2ecf20Sopenharmony_ci	  Say N to disable Embedded Controller /sys/kernel/debug interface
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ci	  Be aware that using this interface can confuse your Embedded
1278c2ecf20Sopenharmony_ci	  Controller in a way that a normal reboot is not enough. You then
1288c2ecf20Sopenharmony_ci	  have to power off your system, and remove the laptop battery for
1298c2ecf20Sopenharmony_ci	  some seconds.
1308c2ecf20Sopenharmony_ci	  An Embedded Controller typically is available on laptops and reads
1318c2ecf20Sopenharmony_ci	  sensor values like battery state and temperature.
1328c2ecf20Sopenharmony_ci	  The kernel accesses the EC through ACPI parsed code provided by BIOS
1338c2ecf20Sopenharmony_ci	  tables. This option allows to access the EC directly without ACPI
1348c2ecf20Sopenharmony_ci	  code being involved.
1358c2ecf20Sopenharmony_ci	  Thus this option is a debug option that helps to write ACPI drivers
1368c2ecf20Sopenharmony_ci	  and can be used to identify ACPI code or EC firmware bugs.
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ciconfig ACPI_AC
1398c2ecf20Sopenharmony_ci	tristate "AC Adapter"
1408c2ecf20Sopenharmony_ci	select POWER_SUPPLY
1418c2ecf20Sopenharmony_ci	default y
1428c2ecf20Sopenharmony_ci	help
1438c2ecf20Sopenharmony_ci	  This driver supports the AC Adapter object, which indicates
1448c2ecf20Sopenharmony_ci	  whether a system is on AC or not.  If you have a system that can
1458c2ecf20Sopenharmony_ci	  switch between A/C and battery, say Y.
1468c2ecf20Sopenharmony_ci
1478c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here:
1488c2ecf20Sopenharmony_ci	  the module will be called ac.
1498c2ecf20Sopenharmony_ci
1508c2ecf20Sopenharmony_ciconfig ACPI_BATTERY
1518c2ecf20Sopenharmony_ci	tristate "Battery"
1528c2ecf20Sopenharmony_ci	select POWER_SUPPLY
1538c2ecf20Sopenharmony_ci	default y
1548c2ecf20Sopenharmony_ci	help
1558c2ecf20Sopenharmony_ci	  This driver adds support for battery information through
1568c2ecf20Sopenharmony_ci	  /proc/acpi/battery. If you have a mobile system with a battery, 
1578c2ecf20Sopenharmony_ci	  say Y.
1588c2ecf20Sopenharmony_ci
1598c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here:
1608c2ecf20Sopenharmony_ci	  the module will be called battery.
1618c2ecf20Sopenharmony_ci
1628c2ecf20Sopenharmony_ciconfig ACPI_BUTTON
1638c2ecf20Sopenharmony_ci	tristate "Button"
1648c2ecf20Sopenharmony_ci	depends on INPUT
1658c2ecf20Sopenharmony_ci	default y
1668c2ecf20Sopenharmony_ci	help
1678c2ecf20Sopenharmony_ci	  This driver handles events on the power, sleep, and lid buttons.
1688c2ecf20Sopenharmony_ci	  A daemon reads events from input devices or via netlink and
1698c2ecf20Sopenharmony_ci	  performs user-defined actions such as shutting down the system.
1708c2ecf20Sopenharmony_ci	  This is necessary for software-controlled poweroff.
1718c2ecf20Sopenharmony_ci
1728c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here:
1738c2ecf20Sopenharmony_ci	  the module will be called button.
1748c2ecf20Sopenharmony_ci
1758c2ecf20Sopenharmony_ciconfig ACPI_TINY_POWER_BUTTON
1768c2ecf20Sopenharmony_ci	tristate "Tiny Power Button Driver"
1778c2ecf20Sopenharmony_ci	depends on !ACPI_BUTTON
1788c2ecf20Sopenharmony_ci	help
1798c2ecf20Sopenharmony_ci	  This driver provides a tiny alternative to the ACPI Button driver.
1808c2ecf20Sopenharmony_ci	  The tiny power button driver only handles the power button. Rather
1818c2ecf20Sopenharmony_ci	  than notifying userspace via the input layer or a netlink event, this
1828c2ecf20Sopenharmony_ci	  driver directly signals the init process to shut down.
1838c2ecf20Sopenharmony_ci
1848c2ecf20Sopenharmony_ci	  This driver is particularly suitable for cloud and VM environments,
1858c2ecf20Sopenharmony_ci	  which use a simulated power button to initiate a controlled poweroff,
1868c2ecf20Sopenharmony_ci	  but which may not want to run a separate userspace daemon to process
1878c2ecf20Sopenharmony_ci	  input events.
1888c2ecf20Sopenharmony_ci
1898c2ecf20Sopenharmony_ciconfig ACPI_TINY_POWER_BUTTON_SIGNAL
1908c2ecf20Sopenharmony_ci	int "Tiny Power Button Signal"
1918c2ecf20Sopenharmony_ci	depends on ACPI_TINY_POWER_BUTTON
1928c2ecf20Sopenharmony_ci	default 38
1938c2ecf20Sopenharmony_ci	help
1948c2ecf20Sopenharmony_ci	  Default signal to send to init in response to the power button.
1958c2ecf20Sopenharmony_ci
1968c2ecf20Sopenharmony_ci	  Likely values here include 38 (SIGRTMIN+4) to power off, or 2
1978c2ecf20Sopenharmony_ci	  (SIGINT) to simulate Ctrl+Alt+Del.
1988c2ecf20Sopenharmony_ci
1998c2ecf20Sopenharmony_ciconfig ACPI_VIDEO
2008c2ecf20Sopenharmony_ci	tristate "Video"
2018c2ecf20Sopenharmony_ci	depends on X86 && BACKLIGHT_CLASS_DEVICE
2028c2ecf20Sopenharmony_ci	depends on INPUT
2038c2ecf20Sopenharmony_ci	select THERMAL
2048c2ecf20Sopenharmony_ci	help
2058c2ecf20Sopenharmony_ci	  This driver implements the ACPI Extensions For Display Adapters
2068c2ecf20Sopenharmony_ci	  for integrated graphics devices on motherboard, as specified in
2078c2ecf20Sopenharmony_ci	  ACPI 2.0 Specification, Appendix B.  This supports basic operations
2088c2ecf20Sopenharmony_ci	  such as defining the video POST device, retrieving EDID information,
2098c2ecf20Sopenharmony_ci	  and setting up a video output.
2108c2ecf20Sopenharmony_ci
2118c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here:
2128c2ecf20Sopenharmony_ci	  the module will be called video.
2138c2ecf20Sopenharmony_ci
2148c2ecf20Sopenharmony_ciconfig ACPI_FAN
2158c2ecf20Sopenharmony_ci	tristate "Fan"
2168c2ecf20Sopenharmony_ci	depends on THERMAL
2178c2ecf20Sopenharmony_ci	default y
2188c2ecf20Sopenharmony_ci	help
2198c2ecf20Sopenharmony_ci	  This driver supports ACPI fan devices, allowing user-mode
2208c2ecf20Sopenharmony_ci	  applications to perform basic fan control (on, off, status).
2218c2ecf20Sopenharmony_ci
2228c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here:
2238c2ecf20Sopenharmony_ci	  the module will be called fan.
2248c2ecf20Sopenharmony_ci
2258c2ecf20Sopenharmony_ciconfig ACPI_TAD
2268c2ecf20Sopenharmony_ci	tristate "ACPI Time and Alarm (TAD) Device Support"
2278c2ecf20Sopenharmony_ci	depends on SYSFS && PM_SLEEP
2288c2ecf20Sopenharmony_ci	help
2298c2ecf20Sopenharmony_ci	  The ACPI Time and Alarm (TAD) device is an alternative to the Real
2308c2ecf20Sopenharmony_ci	  Time Clock (RTC).  Its wake timers allow the system to transition from
2318c2ecf20Sopenharmony_ci	  the S3 (or optionally S4/S5) state to S0 state after a time period
2328c2ecf20Sopenharmony_ci	  elapses.  In comparison with the RTC Alarm, the TAD provides a larger
2338c2ecf20Sopenharmony_ci	  scale of flexibility in the wake timers.  The time capabilities of the
2348c2ecf20Sopenharmony_ci	  TAD maintain the time of day information across platform power
2358c2ecf20Sopenharmony_ci	  transitions, and keep track of time even when the platform is turned
2368c2ecf20Sopenharmony_ci	  off.
2378c2ecf20Sopenharmony_ci
2388c2ecf20Sopenharmony_ciconfig ACPI_DOCK
2398c2ecf20Sopenharmony_ci	bool "Dock"
2408c2ecf20Sopenharmony_ci	help
2418c2ecf20Sopenharmony_ci	  This driver supports ACPI-controlled docking stations and removable
2428c2ecf20Sopenharmony_ci	  drive bays such as the IBM Ultrabay and the Dell Module Bay.
2438c2ecf20Sopenharmony_ci
2448c2ecf20Sopenharmony_ciconfig ACPI_CPU_FREQ_PSS
2458c2ecf20Sopenharmony_ci	bool
2468c2ecf20Sopenharmony_ci	select THERMAL
2478c2ecf20Sopenharmony_ci
2488c2ecf20Sopenharmony_ciconfig ACPI_PROCESSOR_CSTATE
2498c2ecf20Sopenharmony_ci	def_bool y
2508c2ecf20Sopenharmony_ci	depends on ACPI_PROCESSOR
2518c2ecf20Sopenharmony_ci	depends on IA64 || X86
2528c2ecf20Sopenharmony_ci
2538c2ecf20Sopenharmony_ciconfig ACPI_PROCESSOR_IDLE
2548c2ecf20Sopenharmony_ci	bool
2558c2ecf20Sopenharmony_ci	select CPU_IDLE
2568c2ecf20Sopenharmony_ci
2578c2ecf20Sopenharmony_ciconfig ACPI_MCFG
2588c2ecf20Sopenharmony_ci	bool
2598c2ecf20Sopenharmony_ci
2608c2ecf20Sopenharmony_ciconfig ACPI_CPPC_LIB
2618c2ecf20Sopenharmony_ci	bool
2628c2ecf20Sopenharmony_ci	depends on ACPI_PROCESSOR
2638c2ecf20Sopenharmony_ci	select MAILBOX
2648c2ecf20Sopenharmony_ci	select PCC
2658c2ecf20Sopenharmony_ci	help
2668c2ecf20Sopenharmony_ci	  If this option is enabled, this file implements common functionality
2678c2ecf20Sopenharmony_ci	  to parse CPPC tables as described in the ACPI 5.1+ spec. The
2688c2ecf20Sopenharmony_ci	  routines implemented are meant to be used by other
2698c2ecf20Sopenharmony_ci	  drivers to control CPU performance using CPPC semantics.
2708c2ecf20Sopenharmony_ci	  If your platform does not support CPPC in firmware,
2718c2ecf20Sopenharmony_ci	  leave this option disabled.
2728c2ecf20Sopenharmony_ci
2738c2ecf20Sopenharmony_ciconfig ACPI_PROCESSOR
2748c2ecf20Sopenharmony_ci	tristate "Processor"
2758c2ecf20Sopenharmony_ci	depends on X86 || IA64 || ARM64 || LOONGARCH
2768c2ecf20Sopenharmony_ci	select ACPI_PROCESSOR_IDLE
2778c2ecf20Sopenharmony_ci	select ACPI_CPU_FREQ_PSS if X86 || IA64 || LOONGARCH
2788c2ecf20Sopenharmony_ci	default y
2798c2ecf20Sopenharmony_ci	help
2808c2ecf20Sopenharmony_ci	  This driver adds support for the ACPI Processor package. It is required
2818c2ecf20Sopenharmony_ci	  by several flavors of cpufreq performance-state, thermal, throttling and
2828c2ecf20Sopenharmony_ci	  idle drivers.
2838c2ecf20Sopenharmony_ci
2848c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here:
2858c2ecf20Sopenharmony_ci	  the module will be called processor.
2868c2ecf20Sopenharmony_ci
2878c2ecf20Sopenharmony_ciconfig ACPI_IPMI
2888c2ecf20Sopenharmony_ci	tristate "IPMI"
2898c2ecf20Sopenharmony_ci	depends on IPMI_HANDLER
2908c2ecf20Sopenharmony_ci	help
2918c2ecf20Sopenharmony_ci	  This driver enables the ACPI to access the BMC controller. And it
2928c2ecf20Sopenharmony_ci	  uses the IPMI request/response message to communicate with BMC
2938c2ecf20Sopenharmony_ci	  controller, which can be found on on the server.
2948c2ecf20Sopenharmony_ci
2958c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here:
2968c2ecf20Sopenharmony_ci	  the module will be called as acpi_ipmi.
2978c2ecf20Sopenharmony_ci
2988c2ecf20Sopenharmony_ciconfig ACPI_HOTPLUG_CPU
2998c2ecf20Sopenharmony_ci	bool
3008c2ecf20Sopenharmony_ci	depends on ACPI_PROCESSOR && HOTPLUG_CPU
3018c2ecf20Sopenharmony_ci	select ACPI_CONTAINER
3028c2ecf20Sopenharmony_ci	default y
3038c2ecf20Sopenharmony_ci
3048c2ecf20Sopenharmony_ciconfig ACPI_PROCESSOR_AGGREGATOR
3058c2ecf20Sopenharmony_ci	tristate "Processor Aggregator"
3068c2ecf20Sopenharmony_ci	depends on ACPI_PROCESSOR
3078c2ecf20Sopenharmony_ci	depends on X86
3088c2ecf20Sopenharmony_ci	help
3098c2ecf20Sopenharmony_ci	  ACPI 4.0 defines processor Aggregator, which enables OS to perform
3108c2ecf20Sopenharmony_ci	  specific processor configuration and control that applies to all
3118c2ecf20Sopenharmony_ci	  processors in the platform. Currently only logical processor idling
3128c2ecf20Sopenharmony_ci	  is defined, which is to reduce power consumption. This driver
3138c2ecf20Sopenharmony_ci	  supports the new device.
3148c2ecf20Sopenharmony_ci
3158c2ecf20Sopenharmony_ciconfig ACPI_THERMAL
3168c2ecf20Sopenharmony_ci	tristate "Thermal Zone"
3178c2ecf20Sopenharmony_ci	depends on ACPI_PROCESSOR
3188c2ecf20Sopenharmony_ci	select THERMAL
3198c2ecf20Sopenharmony_ci	default y
3208c2ecf20Sopenharmony_ci	help
3218c2ecf20Sopenharmony_ci	  This driver supports ACPI thermal zones.  Most mobile and
3228c2ecf20Sopenharmony_ci	  some desktop systems support ACPI thermal zones.  It is HIGHLY
3238c2ecf20Sopenharmony_ci	  recommended that this option be enabled, as your processor(s)
3248c2ecf20Sopenharmony_ci	  may be damaged without it.
3258c2ecf20Sopenharmony_ci
3268c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here:
3278c2ecf20Sopenharmony_ci	  the module will be called thermal.
3288c2ecf20Sopenharmony_ci
3298c2ecf20Sopenharmony_ciconfig ACPI_CUSTOM_DSDT_FILE
3308c2ecf20Sopenharmony_ci	string "Custom DSDT Table file to include"
3318c2ecf20Sopenharmony_ci	default ""
3328c2ecf20Sopenharmony_ci	depends on !STANDALONE
3338c2ecf20Sopenharmony_ci	help
3348c2ecf20Sopenharmony_ci	  This option supports a custom DSDT by linking it into the kernel.
3358c2ecf20Sopenharmony_ci	  See Documentation/admin-guide/acpi/dsdt-override.rst
3368c2ecf20Sopenharmony_ci
3378c2ecf20Sopenharmony_ci	  Enter the full path name to the file which includes the AmlCode
3388c2ecf20Sopenharmony_ci	  or dsdt_aml_code declaration.
3398c2ecf20Sopenharmony_ci
3408c2ecf20Sopenharmony_ci	  If unsure, don't enter a file name.
3418c2ecf20Sopenharmony_ci
3428c2ecf20Sopenharmony_ciconfig ACPI_CUSTOM_DSDT
3438c2ecf20Sopenharmony_ci	bool
3448c2ecf20Sopenharmony_ci	default ACPI_CUSTOM_DSDT_FILE != ""
3458c2ecf20Sopenharmony_ci
3468c2ecf20Sopenharmony_ciconfig ARCH_HAS_ACPI_TABLE_UPGRADE
3478c2ecf20Sopenharmony_ci	def_bool n
3488c2ecf20Sopenharmony_ci
3498c2ecf20Sopenharmony_ciconfig ACPI_TABLE_UPGRADE
3508c2ecf20Sopenharmony_ci	bool "Allow upgrading ACPI tables via initrd"
3518c2ecf20Sopenharmony_ci	depends on BLK_DEV_INITRD && ARCH_HAS_ACPI_TABLE_UPGRADE
3528c2ecf20Sopenharmony_ci	default y
3538c2ecf20Sopenharmony_ci	help
3548c2ecf20Sopenharmony_ci	  This option provides functionality to upgrade arbitrary ACPI tables
3558c2ecf20Sopenharmony_ci	  via initrd. No functional change if no ACPI tables are passed via
3568c2ecf20Sopenharmony_ci	  initrd, therefore it's safe to say Y.
3578c2ecf20Sopenharmony_ci	  See Documentation/admin-guide/acpi/initrd_table_override.rst for details
3588c2ecf20Sopenharmony_ci
3598c2ecf20Sopenharmony_ciconfig ACPI_TABLE_OVERRIDE_VIA_BUILTIN_INITRD
3608c2ecf20Sopenharmony_ci	bool "Override ACPI tables from built-in initrd"
3618c2ecf20Sopenharmony_ci	depends on ACPI_TABLE_UPGRADE
3628c2ecf20Sopenharmony_ci	depends on INITRAMFS_SOURCE!="" && INITRAMFS_COMPRESSION_NONE
3638c2ecf20Sopenharmony_ci	help
3648c2ecf20Sopenharmony_ci	  This option provides functionality to override arbitrary ACPI tables
3658c2ecf20Sopenharmony_ci	  from built-in uncompressed initrd.
3668c2ecf20Sopenharmony_ci
3678c2ecf20Sopenharmony_ci	  See Documentation/admin-guide/acpi/initrd_table_override.rst for details
3688c2ecf20Sopenharmony_ci
3698c2ecf20Sopenharmony_ciconfig ACPI_DEBUG
3708c2ecf20Sopenharmony_ci	bool "Debug Statements"
3718c2ecf20Sopenharmony_ci	help
3728c2ecf20Sopenharmony_ci	  The ACPI subsystem can produce debug output.  Saying Y enables this
3738c2ecf20Sopenharmony_ci	  output and increases the kernel size by around 50K.
3748c2ecf20Sopenharmony_ci
3758c2ecf20Sopenharmony_ci	  Use the acpi.debug_layer and acpi.debug_level kernel command-line
3768c2ecf20Sopenharmony_ci	  parameters documented in Documentation/firmware-guide/acpi/debug.rst and
3778c2ecf20Sopenharmony_ci	  Documentation/admin-guide/kernel-parameters.rst to control the type and
3788c2ecf20Sopenharmony_ci	  amount of debug output.
3798c2ecf20Sopenharmony_ci
3808c2ecf20Sopenharmony_ciconfig ACPI_PCI_SLOT
3818c2ecf20Sopenharmony_ci	bool "PCI slot detection driver"
3828c2ecf20Sopenharmony_ci	depends on SYSFS && PCI
3838c2ecf20Sopenharmony_ci	help
3848c2ecf20Sopenharmony_ci	  This driver creates entries in /sys/bus/pci/slots/ for all PCI
3858c2ecf20Sopenharmony_ci	  slots in the system.  This can help correlate PCI bus addresses,
3868c2ecf20Sopenharmony_ci	  i.e., segment/bus/device/function tuples, with physical slots in
3878c2ecf20Sopenharmony_ci	  the system.  If you are unsure, say N.
3888c2ecf20Sopenharmony_ci
3898c2ecf20Sopenharmony_ciconfig ACPI_CONTAINER
3908c2ecf20Sopenharmony_ci	bool "Container and Module Devices"
3918c2ecf20Sopenharmony_ci	default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU)
3928c2ecf20Sopenharmony_ci	help
3938c2ecf20Sopenharmony_ci	  This driver supports ACPI Container and Module devices (IDs
3948c2ecf20Sopenharmony_ci	  ACPI0004, PNP0A05, and PNP0A06).
3958c2ecf20Sopenharmony_ci
3968c2ecf20Sopenharmony_ci	  This helps support hotplug of nodes, CPUs, and memory.
3978c2ecf20Sopenharmony_ci
3988c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here:
3998c2ecf20Sopenharmony_ci	  the module will be called container.
4008c2ecf20Sopenharmony_ci
4018c2ecf20Sopenharmony_ciconfig ACPI_HOTPLUG_MEMORY
4028c2ecf20Sopenharmony_ci	bool "Memory Hotplug"
4038c2ecf20Sopenharmony_ci	depends on MEMORY_HOTPLUG
4048c2ecf20Sopenharmony_ci	help
4058c2ecf20Sopenharmony_ci	  This driver supports ACPI memory hotplug.  The driver
4068c2ecf20Sopenharmony_ci	  fields notifications on ACPI memory devices (PNP0C80),
4078c2ecf20Sopenharmony_ci	  which represent memory ranges that may be onlined or
4088c2ecf20Sopenharmony_ci	  offlined during runtime.
4098c2ecf20Sopenharmony_ci
4108c2ecf20Sopenharmony_ci	  If your hardware and firmware do not support adding or
4118c2ecf20Sopenharmony_ci	  removing memory devices at runtime, you need not enable
4128c2ecf20Sopenharmony_ci	  this driver.
4138c2ecf20Sopenharmony_ci
4148c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here:
4158c2ecf20Sopenharmony_ci	  the module will be called acpi_memhotplug.
4168c2ecf20Sopenharmony_ci
4178c2ecf20Sopenharmony_ciconfig ACPI_HOTPLUG_IOAPIC
4188c2ecf20Sopenharmony_ci	bool
4198c2ecf20Sopenharmony_ci	depends on PCI
4208c2ecf20Sopenharmony_ci	depends on X86_IO_APIC
4218c2ecf20Sopenharmony_ci	default y
4228c2ecf20Sopenharmony_ci
4238c2ecf20Sopenharmony_ciconfig ACPI_SBS
4248c2ecf20Sopenharmony_ci	tristate "Smart Battery System"
4258c2ecf20Sopenharmony_ci	depends on X86
4268c2ecf20Sopenharmony_ci	select POWER_SUPPLY
4278c2ecf20Sopenharmony_ci	help
4288c2ecf20Sopenharmony_ci	  This driver supports the Smart Battery System, another
4298c2ecf20Sopenharmony_ci	  type of access to battery information, found on some laptops.
4308c2ecf20Sopenharmony_ci
4318c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here:
4328c2ecf20Sopenharmony_ci	  the modules will be called sbs and sbshc.
4338c2ecf20Sopenharmony_ci
4348c2ecf20Sopenharmony_ciconfig ACPI_HED
4358c2ecf20Sopenharmony_ci	tristate "Hardware Error Device"
4368c2ecf20Sopenharmony_ci	help
4378c2ecf20Sopenharmony_ci	  This driver supports the Hardware Error Device (PNP0C33),
4388c2ecf20Sopenharmony_ci	  which is used to report some hardware errors notified via
4398c2ecf20Sopenharmony_ci	  SCI, mainly the corrected errors.
4408c2ecf20Sopenharmony_ci
4418c2ecf20Sopenharmony_ciconfig ACPI_CUSTOM_METHOD
4428c2ecf20Sopenharmony_ci	tristate "Allow ACPI methods to be inserted/replaced at run time"
4438c2ecf20Sopenharmony_ci	depends on DEBUG_FS
4448c2ecf20Sopenharmony_ci	help
4458c2ecf20Sopenharmony_ci	  This debug facility allows ACPI AML methods to be inserted and/or
4468c2ecf20Sopenharmony_ci	  replaced without rebooting the system. For details refer to:
4478c2ecf20Sopenharmony_ci	  Documentation/firmware-guide/acpi/method-customizing.rst.
4488c2ecf20Sopenharmony_ci
4498c2ecf20Sopenharmony_ci	  NOTE: This option is security sensitive, because it allows arbitrary
4508c2ecf20Sopenharmony_ci	  kernel memory to be written to by root (uid=0) users, allowing them
4518c2ecf20Sopenharmony_ci	  to bypass certain security measures (e.g. if root is not allowed to
4528c2ecf20Sopenharmony_ci	  load additional kernel modules after boot, this feature may be used
4538c2ecf20Sopenharmony_ci	  to override that restriction).
4548c2ecf20Sopenharmony_ci
4558c2ecf20Sopenharmony_ciconfig ACPI_BGRT
4568c2ecf20Sopenharmony_ci	bool "Boottime Graphics Resource Table support"
4578c2ecf20Sopenharmony_ci	depends on EFI && (X86 || ARM64)
4588c2ecf20Sopenharmony_ci	help
4598c2ecf20Sopenharmony_ci	  This driver adds support for exposing the ACPI Boottime Graphics
4608c2ecf20Sopenharmony_ci	  Resource Table, which allows the operating system to obtain
4618c2ecf20Sopenharmony_ci	  data from the firmware boot splash. It will appear under
4628c2ecf20Sopenharmony_ci	  /sys/firmware/acpi/bgrt/ .
4638c2ecf20Sopenharmony_ci
4648c2ecf20Sopenharmony_ciconfig ACPI_REDUCED_HARDWARE_ONLY
4658c2ecf20Sopenharmony_ci	bool "Hardware-reduced ACPI support only" if EXPERT
4668c2ecf20Sopenharmony_ci	def_bool n
4678c2ecf20Sopenharmony_ci	help
4688c2ecf20Sopenharmony_ci	  This config item changes the way the ACPI code is built.  When this
4698c2ecf20Sopenharmony_ci	  option is selected, the kernel will use a specialized version of
4708c2ecf20Sopenharmony_ci	  ACPICA that ONLY supports the ACPI "reduced hardware" mode.  The
4718c2ecf20Sopenharmony_ci	  resulting kernel will be smaller but it will also be restricted to
4728c2ecf20Sopenharmony_ci	  running in ACPI reduced hardware mode ONLY.
4738c2ecf20Sopenharmony_ci
4748c2ecf20Sopenharmony_ci	  If you are unsure what to do, do not enable this option.
4758c2ecf20Sopenharmony_ci
4768c2ecf20Sopenharmony_cisource "drivers/acpi/nfit/Kconfig"
4778c2ecf20Sopenharmony_cisource "drivers/acpi/numa/Kconfig"
4788c2ecf20Sopenharmony_cisource "drivers/acpi/apei/Kconfig"
4798c2ecf20Sopenharmony_cisource "drivers/acpi/dptf/Kconfig"
4808c2ecf20Sopenharmony_ci
4818c2ecf20Sopenharmony_ciconfig ACPI_WATCHDOG
4828c2ecf20Sopenharmony_ci	bool
4838c2ecf20Sopenharmony_ci
4848c2ecf20Sopenharmony_ciconfig ACPI_EXTLOG
4858c2ecf20Sopenharmony_ci	tristate "Extended Error Log support"
4868c2ecf20Sopenharmony_ci	depends on X86_MCE && X86_LOCAL_APIC && EDAC
4878c2ecf20Sopenharmony_ci	select UEFI_CPER
4888c2ecf20Sopenharmony_ci	help
4898c2ecf20Sopenharmony_ci	  Certain usages such as Predictive Failure Analysis (PFA) require
4908c2ecf20Sopenharmony_ci	  more information about the error than what can be described in
4918c2ecf20Sopenharmony_ci	  processor machine check banks. Most server processors log
4928c2ecf20Sopenharmony_ci	  additional information about the error in processor uncore
4938c2ecf20Sopenharmony_ci	  registers. Since the addresses and layout of these registers vary
4948c2ecf20Sopenharmony_ci	  widely from one processor to another, system software cannot
4958c2ecf20Sopenharmony_ci	  readily make use of them. To complicate matters further, some of
4968c2ecf20Sopenharmony_ci	  the additional error information cannot be constructed without
4978c2ecf20Sopenharmony_ci	  detailed knowledge about platform topology.
4988c2ecf20Sopenharmony_ci
4998c2ecf20Sopenharmony_ci	  Enhanced MCA Logging allows firmware to provide additional error
5008c2ecf20Sopenharmony_ci	  information to system software, synchronous with MCE or CMCI. This
5018c2ecf20Sopenharmony_ci	  driver adds support for that functionality with corresponding
5028c2ecf20Sopenharmony_ci	  tracepoint which carries that information to userspace.
5038c2ecf20Sopenharmony_ci
5048c2ecf20Sopenharmony_ciconfig ACPI_ADXL
5058c2ecf20Sopenharmony_ci	bool
5068c2ecf20Sopenharmony_ci
5078c2ecf20Sopenharmony_ciconfig ACPI_CONFIGFS
5088c2ecf20Sopenharmony_ci	tristate "ACPI configfs support"
5098c2ecf20Sopenharmony_ci	select CONFIGFS_FS
5108c2ecf20Sopenharmony_ci	help
5118c2ecf20Sopenharmony_ci	  Select this option to enable support for ACPI configuration from
5128c2ecf20Sopenharmony_ci	  userspace. The configurable ACPI groups will be visible under
5138c2ecf20Sopenharmony_ci	  /config/acpi, assuming configfs is mounted under /config.
5148c2ecf20Sopenharmony_ci
5158c2ecf20Sopenharmony_ciif ARM64
5168c2ecf20Sopenharmony_cisource "drivers/acpi/arm64/Kconfig"
5178c2ecf20Sopenharmony_ciendif
5188c2ecf20Sopenharmony_ci
5198c2ecf20Sopenharmony_ciconfig ACPI_PPTT
5208c2ecf20Sopenharmony_ci	bool
5218c2ecf20Sopenharmony_ci
5228c2ecf20Sopenharmony_cisource "drivers/acpi/pmic/Kconfig"
5238c2ecf20Sopenharmony_ci
5248c2ecf20Sopenharmony_ciendif	# ACPI
5258c2ecf20Sopenharmony_ci
5268c2ecf20Sopenharmony_ciconfig X86_PM_TIMER
5278c2ecf20Sopenharmony_ci	bool "Power Management Timer Support" if EXPERT
5288c2ecf20Sopenharmony_ci	depends on X86 && (ACPI || JAILHOUSE_GUEST)
5298c2ecf20Sopenharmony_ci	default y
5308c2ecf20Sopenharmony_ci	help
5318c2ecf20Sopenharmony_ci	  The Power Management Timer is available on all ACPI-capable,
5328c2ecf20Sopenharmony_ci	  in most cases even if ACPI is unusable or blacklisted.
5338c2ecf20Sopenharmony_ci
5348c2ecf20Sopenharmony_ci	  This timing source is not affected by power management features
5358c2ecf20Sopenharmony_ci	  like aggressive processor idling, throttling, frequency and/or
5368c2ecf20Sopenharmony_ci	  voltage scaling, unlike the commonly used Time Stamp Counter
5378c2ecf20Sopenharmony_ci	  (TSC) timing source.
5388c2ecf20Sopenharmony_ci
5398c2ecf20Sopenharmony_ci	  You should nearly always say Y here because many modern
5408c2ecf20Sopenharmony_ci	  systems require this timer.
541