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 81da177e4SLinus Torvalds depends on IA64 || X86 91300124fSAdrian Bunk depends on PCI 106796a120SAndrew Morton depends on PM 11243b66e7SLen Brown select PNP 129fdd54f2SLen Brown select CPU_IDLE 131da177e4SLinus Torvalds default y 141c48aa36SBjorn Helgaas help 151da177e4SLinus Torvalds Advanced Configuration and Power Interface (ACPI) support for 161c48aa36SBjorn Helgaas Linux requires an ACPI-compliant platform (hardware/firmware), 171da177e4SLinus Torvalds and assumes the presence of OS-directed configuration and power 181da177e4SLinus Torvalds management (OSPM) software. This option will enlarge your 191da177e4SLinus Torvalds kernel by about 70K. 201da177e4SLinus Torvalds 211da177e4SLinus Torvalds Linux ACPI provides a robust functional replacement for several 221da177e4SLinus Torvalds legacy configuration and power management interfaces, including 231da177e4SLinus Torvalds the Plug-and-Play BIOS specification (PnP BIOS), the 241da177e4SLinus Torvalds MultiProcessor Specification (MPS), and the Advanced Power 251da177e4SLinus Torvalds Management (APM) specification. If both ACPI and APM support 261c48aa36SBjorn Helgaas are configured, ACPI is used. 271da177e4SLinus Torvalds 281c48aa36SBjorn Helgaas The project home page for the Linux ACPI subsystem is here: 291c48aa36SBjorn Helgaas <http://www.lesswatts.org/projects/acpi/> 301da177e4SLinus Torvalds 311da177e4SLinus Torvalds Linux support for ACPI is based on Intel Corporation's ACPI 321c48aa36SBjorn Helgaas Component Architecture (ACPI CA). For more information on the 331c48aa36SBjorn Helgaas ACPI CA, see: 341c48aa36SBjorn Helgaas <http://acpica.org/> 351da177e4SLinus Torvalds 361c48aa36SBjorn Helgaas ACPI is an open industry specification co-developed by 371c48aa36SBjorn Helgaas Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba. 381c48aa36SBjorn Helgaas The specification is available at: 391da177e4SLinus Torvalds <http://www.acpi.info> 401da177e4SLinus Torvalds 413e11c3ceSLen Brownif ACPI 423e11c3ceSLen Brown 43673d5b43SLen Brownconfig ACPI_SLEEP 44673d5b43SLen Brown bool 455d1e072bSRafael J. Wysocki depends on SUSPEND || HIBERNATION 46673d5b43SLen Brown default y 47673d5b43SLen Brown 48b981c591SZhang Ruiconfig ACPI_PROCFS 49fb804714SLen Brown bool "Deprecated /proc/acpi files" 50fb804714SLen Brown depends on PROC_FS 511c48aa36SBjorn Helgaas help 52fb804714SLen Brown For backwards compatibility, this option allows 53405bbe9fSRolf Eike Beer deprecated /proc/acpi/ files to exist, even when 54fb804714SLen Brown they have been replaced by functions in /sys. 55fb804714SLen Brown The deprecated files (and their replacements) include: 56fb804714SLen Brown 5743532c8aSLen Brown /proc/acpi/sleep (/sys/power/state) 581c48aa36SBjorn Helgaas /proc/acpi/info (/sys/module/acpi/parameters/acpica_version) 59fb804714SLen Brown /proc/acpi/dsdt (/sys/firmware/acpi/tables/DSDT) 60fb804714SLen Brown /proc/acpi/fadt (/sys/firmware/acpi/tables/FACP) 61fb804714SLen Brown /proc/acpi/debug_layer (/sys/module/acpi/parameters/debug_layer) 62fb804714SLen Brown /proc/acpi/debug_level (/sys/module/acpi/parameters/debug_level) 63fb804714SLen Brown 64fb804714SLen Brown This option has no effect on /proc/acpi/ files 65fb804714SLen Brown and functions which do not yet exist in /sys. 66fb804714SLen Brown 67fb804714SLen Brown Say N to delete /proc/acpi/ files that have moved to /sys/ 681c48aa36SBjorn Helgaas 69fdcedbbaSAlexey Starikovskiyconfig ACPI_PROCFS_POWER 709e527971SAlan Cox bool "Deprecated power /proc/acpi directories" 71fdcedbbaSAlexey Starikovskiy depends on PROC_FS 72fdcedbbaSAlexey Starikovskiy default y 731c48aa36SBjorn Helgaas help 74fdcedbbaSAlexey Starikovskiy For backwards compatibility, this option allows 759e527971SAlan Cox deprecated power /proc/acpi/ directories to exist, even when 76fdcedbbaSAlexey Starikovskiy they have been replaced by functions in /sys. 779e527971SAlan Cox The deprecated directories (and their replacements) include: 78fdcedbbaSAlexey Starikovskiy /proc/acpi/battery/* (/sys/class/power_supply/*) 79fdcedbbaSAlexey Starikovskiy /proc/acpi/ac_adapter/* (sys/class/power_supply/*) 809e527971SAlan Cox This option has no effect on /proc/acpi/ directories 81fdcedbbaSAlexey Starikovskiy and functions, which do not yet exist in /sys 82b981c591SZhang Rui 839e527971SAlan Cox Say N to delete power /proc/acpi/ directories that have moved to /sys/ 849e527971SAlan Cox 8597749cd9SAlexey Starikovskiyconfig ACPI_SYSFS_POWER 8697749cd9SAlexey Starikovskiy bool "Future power /sys interface" 8797749cd9SAlexey Starikovskiy select POWER_SUPPLY 8897749cd9SAlexey Starikovskiy default y 891c48aa36SBjorn Helgaas help 9097749cd9SAlexey Starikovskiy Say N to disable power /sys interface 919e527971SAlan Cox 9214e04fb3SLen Brownconfig ACPI_PROC_EVENT 9314e04fb3SLen Brown bool "Deprecated /proc/acpi/event support" 9414e04fb3SLen Brown depends on PROC_FS 95721ebe00SHugh Dickins default y 961c48aa36SBjorn Helgaas help 971c48aa36SBjorn Helgaas A user-space daemon, acpid, typically reads /proc/acpi/event 981c48aa36SBjorn Helgaas and handles all ACPI-generated events. 9914e04fb3SLen Brown 1001c48aa36SBjorn Helgaas These events are now delivered to user-space either 1011c48aa36SBjorn Helgaas via the input layer or as netlink events. 10214e04fb3SLen Brown 103721ebe00SHugh Dickins This build option enables the old code for legacy 10414e04fb3SLen Brown user-space implementation. After some time, this will 10514e04fb3SLen Brown be moved under CONFIG_ACPI_PROCFS, and then deleted. 10614e04fb3SLen Brown 107721ebe00SHugh Dickins Say Y here to retain the old behaviour. Say N if your 108721ebe00SHugh Dickins user-space is newer than kernel 2.6.23 (September 2007). 109721ebe00SHugh Dickins 1101da177e4SLinus Torvaldsconfig ACPI_AC 1111da177e4SLinus Torvalds tristate "AC Adapter" 1125527c8beSAlexey Starikovskiy depends on X86 11307fefe4cSLen Brown default y 1141da177e4SLinus Torvalds help 1151c48aa36SBjorn Helgaas This driver supports the AC Adapter object, which indicates 1161c48aa36SBjorn Helgaas whether a system is on AC or not. If you have a system that can 11707fefe4cSLen Brown switch between A/C and battery, say Y. 1181da177e4SLinus Torvalds 1191c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 1201c48aa36SBjorn Helgaas the module will be called ac. 1211c48aa36SBjorn Helgaas 1221da177e4SLinus Torvaldsconfig ACPI_BATTERY 1231da177e4SLinus Torvalds tristate "Battery" 1245527c8beSAlexey Starikovskiy depends on X86 12507fefe4cSLen Brown default y 1261da177e4SLinus Torvalds help 1271da177e4SLinus Torvalds This driver adds support for battery information through 1281da177e4SLinus Torvalds /proc/acpi/battery. If you have a mobile system with a battery, 1291da177e4SLinus Torvalds say Y. 1301da177e4SLinus Torvalds 1311c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 1321c48aa36SBjorn Helgaas the module will be called battery. 1331c48aa36SBjorn Helgaas 1341da177e4SLinus Torvaldsconfig ACPI_BUTTON 1351da177e4SLinus Torvalds tristate "Button" 136c0968f0eSDmitry Torokhov depends on INPUT 13707fefe4cSLen Brown default y 1381da177e4SLinus Torvalds help 1391c48aa36SBjorn Helgaas This driver handles events on the power, sleep, and lid buttons. 14007fefe4cSLen Brown A daemon reads /proc/acpi/event and perform user-defined actions 14107fefe4cSLen Brown such as shutting down the system. This is necessary for 1421c48aa36SBjorn Helgaas software-controlled poweroff. 1431c48aa36SBjorn Helgaas 1441c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 1451c48aa36SBjorn Helgaas the module will be called button. 1461da177e4SLinus Torvalds 1471da177e4SLinus Torvaldsconfig ACPI_VIDEO 1481da177e4SLinus Torvalds tristate "Video" 14923b0f015SLuming Yu depends on X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL 15003e2bf26SAndreas Herrmann depends on INPUT 15163c4ec90SZhang Rui select THERMAL 1521da177e4SLinus Torvalds help 1531c48aa36SBjorn Helgaas This driver implements the ACPI Extensions For Display Adapters 1541da177e4SLinus Torvalds for integrated graphics devices on motherboard, as specified in 1551c48aa36SBjorn Helgaas ACPI 2.0 Specification, Appendix B. This supports basic operations 1561c48aa36SBjorn Helgaas such as defining the video POST device, retrieving EDID information, 1571c48aa36SBjorn Helgaas and setting up a video output. 1581c48aa36SBjorn Helgaas 1591c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 1601c48aa36SBjorn Helgaas the module will be called video. 1611da177e4SLinus Torvalds 1621da177e4SLinus Torvaldsconfig ACPI_FAN 1631da177e4SLinus Torvalds tristate "Fan" 16463c4ec90SZhang Rui select THERMAL 16507fefe4cSLen Brown default y 1661da177e4SLinus Torvalds help 1671c48aa36SBjorn Helgaas This driver supports ACPI fan devices, allowing user-mode 1681da177e4SLinus Torvalds applications to perform basic fan control (on, off, status). 1691da177e4SLinus Torvalds 1701c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 1711c48aa36SBjorn Helgaas the module will be called fan. 1721c48aa36SBjorn Helgaas 173c8f7a62cSLen Brownconfig ACPI_DOCK 174898b054fSShaohua Li bool "Dock" 1758d7bff6cSLen Brown depends on EXPERIMENTAL 176c8f7a62cSLen Brown help 1771c48aa36SBjorn Helgaas This driver supports ACPI-controlled docking stations and removable 1781c48aa36SBjorn Helgaas drive bays such as the IBM Ultrabay and the Dell Module Bay. 17901b57e73SKristen Carlson Accardi 1801da177e4SLinus Torvaldsconfig ACPI_PROCESSOR 1811da177e4SLinus Torvalds tristate "Processor" 18263c4ec90SZhang Rui select THERMAL 18307fefe4cSLen Brown default y 1841da177e4SLinus Torvalds help 1851c48aa36SBjorn Helgaas This driver installs ACPI as the idle handler for Linux and uses 1861c48aa36SBjorn Helgaas ACPI C2 and C3 processor states to save power on systems that 18707fefe4cSLen Brown support it. It is required by several flavors of cpufreq 1881c48aa36SBjorn Helgaas performance-state drivers. 1891c48aa36SBjorn Helgaas 1901c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 1911c48aa36SBjorn Helgaas the module will be called processor. 1921da177e4SLinus Torvalds 1931da177e4SLinus Torvaldsconfig ACPI_HOTPLUG_CPU 194cbfc1baeSAdrian Bunk bool 195cbfc1baeSAdrian Bunk depends on ACPI_PROCESSOR && HOTPLUG_CPU 1961da177e4SLinus Torvalds select ACPI_CONTAINER 197cbfc1baeSAdrian Bunk default y 1981da177e4SLinus Torvalds 1998e0af514SShaohua Liconfig ACPI_PROCESSOR_AGGREGATOR 2008e0af514SShaohua Li tristate "Processor Aggregator" 2018e0af514SShaohua Li depends on ACPI_PROCESSOR 2028e0af514SShaohua Li depends on EXPERIMENTAL 203*d91f79ebSLen Brown depends on X86 2048e0af514SShaohua Li help 2058e0af514SShaohua Li ACPI 4.0 defines processor Aggregator, which enables OS to perform 2068e0af514SShaohua Li specfic processor configuration and control that applies to all 2078e0af514SShaohua Li processors in the platform. Currently only logical processor idling 2088e0af514SShaohua Li is defined, which is to reduce power consumption. This driver 2098e0af514SShaohua Li support the new device. 2108e0af514SShaohua Li 2111da177e4SLinus Torvaldsconfig ACPI_THERMAL 2121da177e4SLinus Torvalds tristate "Thermal Zone" 2131da177e4SLinus Torvalds depends on ACPI_PROCESSOR 2143f655ef8SZhang Rui select THERMAL 21507fefe4cSLen Brown default y 2161da177e4SLinus Torvalds help 2171c48aa36SBjorn Helgaas This driver supports ACPI thermal zones. Most mobile and 2181da177e4SLinus Torvalds some desktop systems support ACPI thermal zones. It is HIGHLY 2191da177e4SLinus Torvalds recommended that this option be enabled, as your processor(s) 2201da177e4SLinus Torvalds may be damaged without it. 2211da177e4SLinus Torvalds 2221c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 2231c48aa36SBjorn Helgaas the module will be called thermal. 2241c48aa36SBjorn Helgaas 2251da177e4SLinus Torvaldsconfig ACPI_NUMA 2261da177e4SLinus Torvalds bool "NUMA support" 2271da177e4SLinus Torvalds depends on NUMA 228762834e8SYasunori Goto depends on (X86 || IA64) 2291da177e4SLinus Torvalds default y if IA64_GENERIC || IA64_SGI_SN2 2301da177e4SLinus Torvalds 2317ce9573eSRandy Dunlapconfig ACPI_CUSTOM_DSDT_FILE 2327ce9573eSRandy Dunlap string "Custom DSDT Table file to include" 2337ce9573eSRandy Dunlap default "" 2341da177e4SLinus Torvalds depends on !STANDALONE 2351da177e4SLinus Torvalds help 236d89e9d6bSLen Brown This option supports a custom DSDT by linking it into the kernel. 237d89e9d6bSLen Brown See Documentation/acpi/dsdt-override.txt 238d89e9d6bSLen Brown 239c30fe7f7SUwe Zeisberger Enter the full path name to the file which includes the AmlCode 240c30fe7f7SUwe Zeisberger declaration. 2411da177e4SLinus Torvalds 2427ce9573eSRandy Dunlap If unsure, don't enter a file name. 2437ce9573eSRandy Dunlap 2447ce9573eSRandy Dunlapconfig ACPI_CUSTOM_DSDT 2457ce9573eSRandy Dunlap bool 2467ce9573eSRandy Dunlap default ACPI_CUSTOM_DSDT_FILE != "" 2477ce9573eSRandy Dunlap 2481da177e4SLinus Torvaldsconfig ACPI_BLACKLIST_YEAR 2492eb1bdbaSAndi Kleen int "Disable ACPI for systems before Jan 1st this year" if X86_32 2501da177e4SLinus Torvalds default 0 2511da177e4SLinus Torvalds help 2521c48aa36SBjorn Helgaas Enter a 4-digit year, e.g., 2001, to disable ACPI by default 2531da177e4SLinus Torvalds on platforms with DMI BIOS date before January 1st that year. 2541da177e4SLinus Torvalds "acpi=force" can be used to override this mechanism. 2551da177e4SLinus Torvalds 2561da177e4SLinus Torvalds Enter 0 to disable this mechanism and allow ACPI to 2571da177e4SLinus Torvalds run by default no matter what the year. (default) 2581da177e4SLinus Torvalds 2591da177e4SLinus Torvaldsconfig ACPI_DEBUG 2601da177e4SLinus Torvalds bool "Debug Statements" 2611da177e4SLinus Torvalds default n 2621da177e4SLinus Torvalds help 263a0d84a92SBjorn Helgaas The ACPI subsystem can produce debug output. Saying Y enables this 264a0d84a92SBjorn Helgaas output and increases the kernel size by around 50K. 265a0d84a92SBjorn Helgaas 266a0d84a92SBjorn Helgaas Use the acpi.debug_layer and acpi.debug_level kernel command-line 267a0d84a92SBjorn Helgaas parameters documented in Documentation/acpi/debug.txt and 268a0d84a92SBjorn Helgaas Documentation/kernel-parameters.txt to control the type and 269a0d84a92SBjorn Helgaas amount of debug output. 2701da177e4SLinus Torvalds 271798d9103SThomas Renningerconfig ACPI_DEBUG_FUNC_TRACE 272798d9103SThomas Renninger bool "Additionally enable ACPI function tracing" 273798d9103SThomas Renninger default n 274798d9103SThomas Renninger depends on ACPI_DEBUG 275798d9103SThomas Renninger help 276798d9103SThomas Renninger ACPI Debug Statements slow down ACPI processing. Function trace 277798d9103SThomas Renninger is about half of the penalty and is rarely useful. 278798d9103SThomas Renninger 2798344b568SAlex Chiangconfig ACPI_PCI_SLOT 2808344b568SAlex Chiang tristate "PCI slot detection driver" 281268a03a4SAlex Chiang depends on SYSFS 2828344b568SAlex Chiang default n 2838344b568SAlex Chiang help 2841c48aa36SBjorn Helgaas This driver creates entries in /sys/bus/pci/slots/ for all PCI 2851c48aa36SBjorn Helgaas slots in the system. This can help correlate PCI bus addresses, 2861c48aa36SBjorn Helgaas i.e., segment/bus/device/function tuples, with physical slots in 2871c48aa36SBjorn Helgaas the system. If you are unsure, say N. 2881c48aa36SBjorn Helgaas 2891c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 2901c48aa36SBjorn Helgaas the module will be called pci_slot. 2918344b568SAlex Chiang 2921da177e4SLinus Torvaldsconfig X86_PM_TIMER 293e78256b8SAndi Kleen bool "Power Management Timer Support" if EMBEDDED 2941da177e4SLinus Torvalds depends on X86 29507fefe4cSLen Brown default y 2961da177e4SLinus Torvalds help 2971da177e4SLinus Torvalds The Power Management Timer is available on all ACPI-capable, 2981da177e4SLinus Torvalds in most cases even if ACPI is unusable or blacklisted. 2991da177e4SLinus Torvalds 3001da177e4SLinus Torvalds This timing source is not affected by power management features 3011da177e4SLinus Torvalds like aggressive processor idling, throttling, frequency and/or 3021da177e4SLinus Torvalds voltage scaling, unlike the commonly used Time Stamp Counter 3031da177e4SLinus Torvalds (TSC) timing source. 3041da177e4SLinus Torvalds 305e78256b8SAndi Kleen You should nearly always say Y here because many modern 306e78256b8SAndi Kleen systems require this timer. 3071da177e4SLinus Torvalds 3081da177e4SLinus Torvaldsconfig ACPI_CONTAINER 3091c48aa36SBjorn Helgaas tristate "Container and Module Devices (EXPERIMENTAL)" 3101da177e4SLinus Torvalds depends on EXPERIMENTAL 3111da177e4SLinus Torvalds default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO) 3121c48aa36SBjorn Helgaas help 3131c48aa36SBjorn Helgaas This driver supports ACPI Container and Module devices (IDs 3141c48aa36SBjorn Helgaas ACPI0004, PNP0A05, and PNP0A06). 31545b1b196SKeiichiro Tokunaga 3161c48aa36SBjorn Helgaas This helps support hotplug of nodes, CPUs, and memory. 3171c48aa36SBjorn Helgaas 3181c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 3191c48aa36SBjorn Helgaas the module will be called container. 3201da177e4SLinus Torvalds 3211da177e4SLinus Torvaldsconfig ACPI_HOTPLUG_MEMORY 3221da177e4SLinus Torvalds tristate "Memory Hotplug" 323bc02af93SYasunori Goto depends on MEMORY_HOTPLUG 3241da177e4SLinus Torvalds default n 3251da177e4SLinus Torvalds help 3261c48aa36SBjorn Helgaas This driver supports ACPI memory hotplug. The driver 3271c48aa36SBjorn Helgaas fields notifications on ACPI memory devices (PNP0C80), 3281c48aa36SBjorn Helgaas which represent memory ranges that may be onlined or 3291c48aa36SBjorn Helgaas offlined during runtime. 3301da177e4SLinus Torvalds 3311c48aa36SBjorn Helgaas If your hardware and firmware do not support adding or 3321c48aa36SBjorn Helgaas removing memory devices at runtime, you need not enable 3331c48aa36SBjorn Helgaas this driver. 3341da177e4SLinus Torvalds 3351c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 3361c48aa36SBjorn Helgaas the module will be called acpi_memhotplug. 3373f86b832SRich Townsend 3383f86b832SRich Townsendconfig ACPI_SBS 33994f6c086SAlexey Starikovskiy tristate "Smart Battery System" 340b4150fc4SVladimir Lebedev depends on X86 3413f86b832SRich Townsend help 3421c48aa36SBjorn Helgaas This driver supports the Smart Battery System, another 34394f6c086SAlexey Starikovskiy type of access to battery information, found on some laptops. 3443f86b832SRich Townsend 3451c48aa36SBjorn Helgaas To compile this driver as a module, choose M here: 3461c48aa36SBjorn Helgaas the modules will be called sbs and sbshc. 3471c48aa36SBjorn Helgaas 3481da177e4SLinus Torvaldsendif # ACPI 349