diff options
Diffstat (limited to 'drivers/acpi/Kconfig')
-rw-r--r-- | drivers/acpi/Kconfig | 589 |
1 files changed, 589 insertions, 0 deletions
diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig new file mode 100644 index 000000000..dd1eea90f --- /dev/null +++ b/drivers/acpi/Kconfig @@ -0,0 +1,589 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# ACPI Configuration +# + +config ARCH_SUPPORTS_ACPI + bool + +menuconfig ACPI + bool "ACPI (Advanced Configuration and Power Interface) Support" + depends on ARCH_SUPPORTS_ACPI + depends on PCI + select PNP + default y if X86 + help + Advanced Configuration and Power Interface (ACPI) support for + Linux requires an ACPI-compliant platform (hardware/firmware), + and assumes the presence of OS-directed configuration and power + management (OSPM) software. This option will enlarge your + kernel by about 70K. + + Linux ACPI provides a robust functional replacement for several + legacy configuration and power management interfaces, including + the Plug-and-Play BIOS specification (PnP BIOS), the + MultiProcessor Specification (MPS), and the Advanced Power + Management (APM) specification. If both ACPI and APM support + are configured, ACPI is used. + + The project home page for the Linux ACPI subsystem is here: + <https://01.org/linux-acpi> + + Linux support for ACPI is based on Intel Corporation's ACPI + Component Architecture (ACPI CA). For more information on the + ACPI CA, see: + <http://acpica.org/> + + ACPI is an open industry specification originally co-developed by + Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba. Currently, + it is developed by the ACPI Specification Working Group (ASWG) under + the UEFI Forum and any UEFI member can join the ASWG and contribute + to the ACPI specification. + The specification is available at: + <http://www.acpi.info> + <http://www.uefi.org/acpi/specs> + +if ACPI + +config ACPI_LEGACY_TABLES_LOOKUP + bool + +config ARCH_MIGHT_HAVE_ACPI_PDC + bool + +config ACPI_GENERIC_GSI + bool + +config ACPI_SYSTEM_POWER_STATES_SUPPORT + bool + +config ACPI_CCA_REQUIRED + bool + +config ACPI_DEBUGGER + bool "AML debugger interface" + select ACPI_DEBUG + help + Enable in-kernel debugging of AML facilities: statistics, + internal object dump, single step control method execution. + This is still under development, currently enabling this only + results in the compilation of the ACPICA debugger files. + +if ACPI_DEBUGGER + +config ACPI_DEBUGGER_USER + tristate "Userspace debugger accessiblity" + depends on DEBUG_FS + help + Export /sys/kernel/debug/acpi/acpidbg for userspace utilities + to access the debugger functionalities. + +endif + +config ACPI_SPCR_TABLE + bool "ACPI Serial Port Console Redirection Support" + default y if X86 + help + Enable support for Serial Port Console Redirection (SPCR) Table. + This table provides information about the configuration of the + earlycon console. + +config ACPI_LPIT + bool + depends on X86_64 + default y + +config ACPI_SLEEP + bool + depends on SUSPEND || HIBERNATION + depends on ACPI_SYSTEM_POWER_STATES_SUPPORT + default y + +config ACPI_PROCFS_POWER + bool "Deprecated power /proc/acpi directories" + depends on X86 && PROC_FS + help + For backwards compatibility, this option allows + deprecated power /proc/acpi/ directories to exist, even when + they have been replaced by functions in /sys. + The deprecated directories (and their replacements) include: + /proc/acpi/battery/* (/sys/class/power_supply/*) and + /proc/acpi/ac_adapter/* (sys/class/power_supply/*). + This option has no effect on /proc/acpi/ directories + and functions which do not yet exist in /sys. + This option, together with the proc directories, will be + deleted in the future. + + Say N to delete power /proc/acpi/ directories that have moved to /sys. + +config ACPI_REV_OVERRIDE_POSSIBLE + bool "Allow supported ACPI revision to be overridden" + depends on X86 + default y + help + The platform firmware on some systems expects Linux to return "5" as + the supported ACPI revision which makes it expose system configuration + information in a special way. + + For example, based on what ACPI exports as the supported revision, + Dell XPS 13 (2015) configures its audio device to either work in HDA + mode or in I2S mode, where the former is supposed to be used on Linux + until the latter is fully supported (in the kernel as well as in user + space). + + This option enables a DMI-based quirk for the above Dell machine (so + that HDA audio is exposed by the platform firmware to the kernel) and + makes it possible to force the kernel to return "5" as the supported + ACPI revision via the "acpi_rev_override" command line switch. + +config ACPI_EC_DEBUGFS + tristate "EC read/write access through /sys/kernel/debug/ec" + default n + help + Say N to disable Embedded Controller /sys/kernel/debug interface + + Be aware that using this interface can confuse your Embedded + Controller in a way that a normal reboot is not enough. You then + have to power off your system, and remove the laptop battery for + some seconds. + An Embedded Controller typically is available on laptops and reads + sensor values like battery state and temperature. + The kernel accesses the EC through ACPI parsed code provided by BIOS + tables. This option allows to access the EC directly without ACPI + code being involved. + Thus this option is a debug option that helps to write ACPI drivers + and can be used to identify ACPI code or EC firmware bugs. + +config ACPI_AC + tristate "AC Adapter" + depends on X86 + select POWER_SUPPLY + default y + help + This driver supports the AC Adapter object, which indicates + whether a system is on AC or not. If you have a system that can + switch between A/C and battery, say Y. + + To compile this driver as a module, choose M here: + the module will be called ac. + +config ACPI_BATTERY + tristate "Battery" + depends on X86 + select POWER_SUPPLY + default y + help + This driver adds support for battery information through + /proc/acpi/battery. If you have a mobile system with a battery, + say Y. + + To compile this driver as a module, choose M here: + the module will be called battery. + +config ACPI_BUTTON + tristate "Button" + depends on INPUT + default y + help + This driver handles events on the power, sleep, and lid buttons. + A daemon reads events from input devices or via netlink and + performs user-defined actions such as shutting down the system. + This is necessary for software-controlled poweroff. + + To compile this driver as a module, choose M here: + the module will be called button. + +config ACPI_VIDEO + tristate "Video" + depends on X86 && BACKLIGHT_CLASS_DEVICE + depends on INPUT + select THERMAL + help + This driver implements the ACPI Extensions For Display Adapters + for integrated graphics devices on motherboard, as specified in + ACPI 2.0 Specification, Appendix B. This supports basic operations + such as defining the video POST device, retrieving EDID information, + and setting up a video output. + + To compile this driver as a module, choose M here: + the module will be called video. + +config ACPI_FAN + tristate "Fan" + depends on THERMAL + default y + help + This driver supports ACPI fan devices, allowing user-mode + applications to perform basic fan control (on, off, status). + + To compile this driver as a module, choose M here: + the module will be called fan. + +config ACPI_TAD + tristate "ACPI Time and Alarm (TAD) Device Support" + depends on SYSFS && PM_SLEEP + help + The ACPI Time and Alarm (TAD) device is an alternative to the Real + Time Clock (RTC). Its wake timers allow the system to transition from + the S3 (or optionally S4/S5) state to S0 state after a time period + elapses. In comparison with the RTC Alarm, the TAD provides a larger + scale of flexibility in the wake timers. The time capabilities of the + TAD maintain the time of day information across platform power + transitions, and keep track of time even when the platform is turned + off. + +config ACPI_DOCK + bool "Dock" + help + This driver supports ACPI-controlled docking stations and removable + drive bays such as the IBM Ultrabay and the Dell Module Bay. + +config ACPI_CPU_FREQ_PSS + bool + select THERMAL + +config ACPI_PROCESSOR_CSTATE + def_bool y + depends on IA64 || X86 + +config ACPI_PROCESSOR_IDLE + bool + select CPU_IDLE + +config ACPI_MCFG + bool + +config ACPI_CPPC_LIB + bool + depends on ACPI_PROCESSOR + select MAILBOX + select PCC + help + If this option is enabled, this file implements common functionality + to parse CPPC tables as described in the ACPI 5.1+ spec. The + routines implemented are meant to be used by other + drivers to control CPU performance using CPPC semantics. + If your platform does not support CPPC in firmware, + leave this option disabled. + +config ACPI_PROCESSOR + tristate "Processor" + depends on X86 || IA64 || ARM64 + select ACPI_PROCESSOR_IDLE + select ACPI_CPU_FREQ_PSS if X86 || IA64 + default y + help + This driver adds support for the ACPI Processor package. It is required + by several flavors of cpufreq performance-state, thermal, throttling and + idle drivers. + + To compile this driver as a module, choose M here: + the module will be called processor. + +config ACPI_IPMI + tristate "IPMI" + depends on IPMI_HANDLER + default n + help + This driver enables the ACPI to access the BMC controller. And it + uses the IPMI request/response message to communicate with BMC + controller, which can be found on on the server. + + To compile this driver as a module, choose M here: + the module will be called as acpi_ipmi. + +config ACPI_HOTPLUG_CPU + bool + depends on ACPI_PROCESSOR && HOTPLUG_CPU + select ACPI_CONTAINER + default y + +config ACPI_PROCESSOR_AGGREGATOR + tristate "Processor Aggregator" + depends on ACPI_PROCESSOR + depends on X86 + help + ACPI 4.0 defines processor Aggregator, which enables OS to perform + specific processor configuration and control that applies to all + processors in the platform. Currently only logical processor idling + is defined, which is to reduce power consumption. This driver + supports the new device. + +config ACPI_THERMAL + tristate "Thermal Zone" + depends on ACPI_PROCESSOR + select THERMAL + default y + help + This driver supports ACPI thermal zones. Most mobile and + some desktop systems support ACPI thermal zones. It is HIGHLY + recommended that this option be enabled, as your processor(s) + may be damaged without it. + + To compile this driver as a module, choose M here: + the module will be called thermal. + +config ACPI_NUMA + bool "NUMA support" + depends on NUMA + depends on (X86 || IA64 || ARM64) + default y if IA64_GENERIC || IA64_SGI_SN2 || ARM64 + +config ACPI_CUSTOM_DSDT_FILE + string "Custom DSDT Table file to include" + default "" + depends on !STANDALONE + help + This option supports a custom DSDT by linking it into the kernel. + See Documentation/acpi/dsdt-override.txt + + Enter the full path name to the file which includes the AmlCode + declaration. + + If unsure, don't enter a file name. + +config ACPI_CUSTOM_DSDT + bool + default ACPI_CUSTOM_DSDT_FILE != "" + +config ARCH_HAS_ACPI_TABLE_UPGRADE + def_bool n + +config ACPI_TABLE_UPGRADE + bool "Allow upgrading ACPI tables via initrd" + depends on BLK_DEV_INITRD && ARCH_HAS_ACPI_TABLE_UPGRADE + default y + help + This option provides functionality to upgrade arbitrary ACPI tables + via initrd. No functional change if no ACPI tables are passed via + initrd, therefore it's safe to say Y. + See Documentation/acpi/initrd_table_override.txt for details + +config ACPI_DEBUG + bool "Debug Statements" + default n + help + The ACPI subsystem can produce debug output. Saying Y enables this + output and increases the kernel size by around 50K. + + Use the acpi.debug_layer and acpi.debug_level kernel command-line + parameters documented in Documentation/acpi/debug.txt and + Documentation/admin-guide/kernel-parameters.rst to control the type and + amount of debug output. + +config ACPI_PCI_SLOT + bool "PCI slot detection driver" + depends on SYSFS + default n + help + This driver creates entries in /sys/bus/pci/slots/ for all PCI + slots in the system. This can help correlate PCI bus addresses, + i.e., segment/bus/device/function tuples, with physical slots in + the system. If you are unsure, say N. + +config ACPI_CONTAINER + bool "Container and Module Devices" + default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU) + help + This driver supports ACPI Container and Module devices (IDs + ACPI0004, PNP0A05, and PNP0A06). + + This helps support hotplug of nodes, CPUs, and memory. + + To compile this driver as a module, choose M here: + the module will be called container. + +config ACPI_HOTPLUG_MEMORY + bool "Memory Hotplug" + depends on MEMORY_HOTPLUG + help + This driver supports ACPI memory hotplug. The driver + fields notifications on ACPI memory devices (PNP0C80), + which represent memory ranges that may be onlined or + offlined during runtime. + + If your hardware and firmware do not support adding or + removing memory devices at runtime, you need not enable + this driver. + + To compile this driver as a module, choose M here: + the module will be called acpi_memhotplug. + +config ACPI_HOTPLUG_IOAPIC + bool + depends on PCI + depends on X86_IO_APIC + default y + +config ACPI_SBS + tristate "Smart Battery System" + depends on X86 + select POWER_SUPPLY + help + This driver supports the Smart Battery System, another + type of access to battery information, found on some laptops. + + To compile this driver as a module, choose M here: + the modules will be called sbs and sbshc. + +config ACPI_HED + tristate "Hardware Error Device" + help + This driver supports the Hardware Error Device (PNP0C33), + which is used to report some hardware errors notified via + SCI, mainly the corrected errors. + +config ACPI_CUSTOM_METHOD + tristate "Allow ACPI methods to be inserted/replaced at run time" + depends on DEBUG_FS + default n + help + This debug facility allows ACPI AML methods to be inserted and/or + replaced without rebooting the system. For details refer to: + Documentation/acpi/method-customizing.txt. + + NOTE: This option is security sensitive, because it allows arbitrary + kernel memory to be written to by root (uid=0) users, allowing them + to bypass certain security measures (e.g. if root is not allowed to + load additional kernel modules after boot, this feature may be used + to override that restriction). + +config ACPI_BGRT + bool "Boottime Graphics Resource Table support" + depends on EFI && (X86 || ARM64) + help + This driver adds support for exposing the ACPI Boottime Graphics + Resource Table, which allows the operating system to obtain + data from the firmware boot splash. It will appear under + /sys/firmware/acpi/bgrt/ . + +config ACPI_REDUCED_HARDWARE_ONLY + bool "Hardware-reduced ACPI support only" if EXPERT + def_bool n + help + This config item changes the way the ACPI code is built. When this + option is selected, the kernel will use a specialized version of + ACPICA that ONLY supports the ACPI "reduced hardware" mode. The + resulting kernel will be smaller but it will also be restricted to + running in ACPI reduced hardware mode ONLY. + + If you are unsure what to do, do not enable this option. + +source "drivers/acpi/nfit/Kconfig" + +source "drivers/acpi/apei/Kconfig" +source "drivers/acpi/dptf/Kconfig" + +config ACPI_WATCHDOG + bool + +config ACPI_EXTLOG + tristate "Extended Error Log support" + depends on X86_MCE && X86_LOCAL_APIC && EDAC + select UEFI_CPER + default n + help + Certain usages such as Predictive Failure Analysis (PFA) require + more information about the error than what can be described in + processor machine check banks. Most server processors log + additional information about the error in processor uncore + registers. Since the addresses and layout of these registers vary + widely from one processor to another, system software cannot + readily make use of them. To complicate matters further, some of + the additional error information cannot be constructed without + detailed knowledge about platform topology. + + Enhanced MCA Logging allows firmware to provide additional error + information to system software, synchronous with MCE or CMCI. This + driver adds support for that functionality with corresponding + tracepoint which carries that information to userspace. + +menuconfig PMIC_OPREGION + bool "PMIC (Power Management Integrated Circuit) operation region support" + help + Select this option to enable support for ACPI operation + region of the PMIC chip. The operation region can be used + to control power rails and sensor reading/writing on the + PMIC chip. + +if PMIC_OPREGION +config CRC_PMIC_OPREGION + bool "ACPI operation region support for CrystalCove PMIC" + depends on INTEL_SOC_PMIC + help + This config adds ACPI operation region support for CrystalCove PMIC. + +config XPOWER_PMIC_OPREGION + bool "ACPI operation region support for XPower AXP288 PMIC" + depends on MFD_AXP20X_I2C + help + This config adds ACPI operation region support for XPower AXP288 PMIC. + +config BXT_WC_PMIC_OPREGION + bool "ACPI operation region support for BXT WhiskeyCove PMIC" + depends on INTEL_SOC_PMIC_BXTWC + help + This config adds ACPI operation region support for BXT WhiskeyCove PMIC. + +config CHT_WC_PMIC_OPREGION + bool "ACPI operation region support for CHT Whiskey Cove PMIC" + depends on INTEL_SOC_PMIC_CHTWC + help + This config adds ACPI operation region support for CHT Whiskey Cove PMIC. + +config CHT_DC_TI_PMIC_OPREGION + bool "ACPI operation region support for Dollar Cove TI PMIC" + depends on INTEL_SOC_PMIC_CHTDC_TI + help + This config adds ACPI operation region support for Dollar Cove TI PMIC. + +endif + +config ACPI_CONFIGFS + tristate "ACPI configfs support" + select CONFIGFS_FS + help + Select this option to enable support for ACPI configuration from + userspace. The configurable ACPI groups will be visible under + /config/acpi, assuming configfs is mounted under /config. + +if ARM64 +source "drivers/acpi/arm64/Kconfig" + +config ACPI_PPTT + bool +endif + +config TPS68470_PMIC_OPREGION + bool "ACPI operation region support for TPS68470 PMIC" + depends on MFD_TPS68470 + help + This config adds ACPI operation region support for TI TPS68470 PMIC. + TPS68470 device is an advanced power management unit that powers + a Compact Camera Module (CCM), generates clocks for image sensors, + drives a dual LED for flash and incorporates two LED drivers for + general purpose indicators. + This driver enables ACPI operation region support control voltage + regulators and clocks. + + This option is a bool as it provides an ACPI operation + region, which must be available before any of the devices + using this, are probed. + +endif # ACPI + +config X86_PM_TIMER + bool "Power Management Timer Support" if EXPERT + depends on X86 && (ACPI || JAILHOUSE_GUEST) + default y + help + The Power Management Timer is available on all ACPI-capable, + in most cases even if ACPI is unusable or blacklisted. + + This timing source is not affected by power management features + like aggressive processor idling, throttling, frequency and/or + voltage scaling, unlike the commonly used Time Stamp Counter + (TSC) timing source. + + You should nearly always say Y here because many modern + systems require this timer. |