123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513 |
- #
- # ACPI Configuration
- #
- menuconfig ACPI
- bool "ACPI (Advanced Configuration and Power Interface) Support"
- depends on !IA64_HP_SIM
- depends on IA64 || X86 || (ARM64 && EXPERT)
- depends on PCI
- select PNP
- default y
- 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 (EXPERIMENTAL)"
- 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.
- 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/*)
- /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 overriden"
- 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_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_IDLE
- bool
- select CPU_IDLE
- config ACPI_CPPC_LIB
- bool
- depends on ACPI_PROCESSOR
- depends on !ACPI_CPU_FREQ_PSS
- 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 if X86 || IA64
- 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_SI
- 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)
- default y if IA64_GENERIC || IA64_SGI_SN2
- 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 ACPI_INITRD_TABLE_OVERRIDE
- bool "ACPI tables override via initrd"
- depends on BLK_DEV_INITRD && X86
- default n
- help
- This option provides functionality to override 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/kernel-parameters.txt 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 X86_PM_TIMER
- bool "Power Management Timer Support" if EXPERT
- depends on X86
- 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.
- 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
- 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.
- config ACPI_NFIT
- tristate "ACPI NVDIMM Firmware Interface Table (NFIT)"
- depends on PHYS_ADDR_T_64BIT
- depends on BLK_DEV
- depends on ARCH_HAS_MMIO_FLUSH
- select LIBNVDIMM
- help
- Infrastructure to probe ACPI 6 compliant platforms for
- NVDIMMs (NFIT) and register a libnvdimm device tree. In
- addition to storage devices this also enables libnvdimm to pass
- ACPI._DSM messages for platform/dimm configuration.
- To compile this driver as a module, choose M here:
- the module will be called nfit.
- config ACPI_NFIT_DEBUG
- bool "NFIT DSM debug"
- depends on ACPI_NFIT
- depends on DYNAMIC_DEBUG
- default n
- help
- Enabling this option causes the nfit driver to dump the
- input and output buffers of _DSM operations on the ACPI0012
- device and its children. This can be very verbose, so leave
- it disabled unless you are debugging a hardware / firmware
- issue.
- source "drivers/acpi/apei/Kconfig"
- config ACPI_EXTLOG
- tristate "Extended Error Log support"
- depends on X86_MCE && X86_LOCAL_APIC
- select UEFI_CPER
- select RAS
- 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 AXP288_ADC = y
- help
- This config adds ACPI operation region support for XPower AXP288 PMIC.
- endif
- endif # ACPI
|