xref: /openbmc/linux/drivers/acpi/Kconfig (revision 4f3865fb)
1#
2# ACPI Configuration
3#
4
5menu "ACPI (Advanced Configuration and Power Interface) Support"
6	depends on !X86_VISWS
7	depends on !IA64_HP_SIM
8	depends on IA64 || X86
9
10config ACPI
11	bool "ACPI Support"
12	depends on IA64 || X86
13	select PM
14	select PCI
15
16	default y
17	---help---
18	  Advanced Configuration and Power Interface (ACPI) support for
19	  Linux requires an ACPI compliant platform (hardware/firmware),
20	  and assumes the presence of OS-directed configuration and power
21	  management (OSPM) software.  This option will enlarge your
22	  kernel by about 70K.
23
24	  Linux ACPI provides a robust functional replacement for several
25	  legacy configuration and power management interfaces, including
26	  the Plug-and-Play BIOS specification (PnP BIOS), the
27	  MultiProcessor Specification (MPS), and the Advanced Power
28	  Management (APM) specification.  If both ACPI and APM support
29	  are configured, whichever is loaded first shall be used.
30
31	  The ACPI SourceForge project contains the latest source code,
32	  documentation, tools, mailing list subscription, and other
33	  information.  This project is available at:
34	  <http://sourceforge.net/projects/acpi>
35
36	  Linux support for ACPI is based on Intel Corporation's ACPI
37	  Component Architecture (ACPI CA).  For more information see:
38	  <http://developer.intel.com/technology/iapc/acpi>
39
40	  ACPI is an open industry specification co-developed by Compaq,
41	  Intel, Microsoft, Phoenix, and Toshiba.  The specification is
42	  available at:
43	  <http://www.acpi.info>
44
45if ACPI
46
47config ACPI_SLEEP
48	bool "Sleep States"
49	depends on X86 && (!SMP || SUSPEND_SMP)
50	depends on PM
51	default y
52	---help---
53	  This option adds support for ACPI suspend states.
54
55	  With this option, you will be able to put the system "to sleep".
56	  Sleep states are low power states for the system and devices. All
57	  of the system operating state is saved to either memory or disk
58	  (depending on the state), to allow the system to resume operation
59	  quickly at your request.
60
61	  Although this option sounds really nifty, barely any of the device
62	  drivers have been converted to the new driver model and hence few
63	  have proper power management support.
64
65	  This option is not recommended for anyone except those doing driver
66	  power management development.
67
68config ACPI_SLEEP_PROC_FS
69	bool
70	depends on ACPI_SLEEP && PROC_FS
71	default y
72
73config ACPI_SLEEP_PROC_SLEEP
74	bool "/proc/acpi/sleep (deprecated)"
75	depends on ACPI_SLEEP_PROC_FS
76	default n
77	---help---
78	  Create /proc/acpi/sleep
79	  Deprecated by /sys/power/state
80
81config ACPI_AC
82	tristate "AC Adapter"
83	depends on X86
84	default y
85	help
86	  This driver adds support for the AC Adapter object, which indicates
87	  whether a system is on AC, or not. If you have a system that can
88	  switch between A/C and battery, say Y.
89
90config ACPI_BATTERY
91	tristate "Battery"
92	depends on X86
93	default y
94	help
95	  This driver adds support for battery information through
96	  /proc/acpi/battery. If you have a mobile system with a battery,
97	  say Y.
98
99config ACPI_BUTTON
100	tristate "Button"
101	default y
102	help
103	  This driver handles events on the power, sleep and lid buttons.
104	  A daemon reads /proc/acpi/event and perform user-defined actions
105	  such as shutting down the system.  This is necessary for
106	  software controlled poweroff.
107
108config ACPI_VIDEO
109	tristate "Video"
110	depends on X86
111	default y
112	help
113	  This driver implement the ACPI Extensions For Display Adapters
114	  for integrated graphics devices on motherboard, as specified in
115	  ACPI 2.0 Specification, Appendix B, allowing to perform some basic
116	  control like defining the video POST device, retrieving EDID information
117	  or to setup a video output, etc.
118	  Note that this is an ref. implementation only.  It may or may not work
119	  for your integrated video device.
120
121config ACPI_HOTKEY
122	tristate "Generic Hotkey (EXPERIMENTAL)"
123	depends on EXPERIMENTAL
124	depends on X86
125	default n
126	help
127	  Experimental consolidated hotkey driver.
128	  If you are unsure, say N.
129
130config ACPI_FAN
131	tristate "Fan"
132	default y
133	help
134	  This driver adds support for ACPI fan devices, allowing user-mode
135	  applications to perform basic fan control (on, off, status).
136
137config ACPI_PROCESSOR
138	tristate "Processor"
139	default y
140	help
141	  This driver installs ACPI as the idle handler for Linux, and uses
142	  ACPI C2 and C3 processor states to save power, on systems that
143	  support it.  It is required by several flavors of cpufreq
144	  Performance-state drivers.
145
146config ACPI_HOTPLUG_CPU
147	bool
148	depends on ACPI_PROCESSOR && HOTPLUG_CPU
149	select ACPI_CONTAINER
150	default y
151
152config ACPI_THERMAL
153	tristate "Thermal Zone"
154	depends on ACPI_PROCESSOR
155	default y
156	help
157	  This driver adds support for ACPI thermal zones.  Most mobile and
158	  some desktop systems support ACPI thermal zones.  It is HIGHLY
159	  recommended that this option be enabled, as your processor(s)
160	  may be damaged without it.
161
162config ACPI_NUMA
163	bool "NUMA support"
164	depends on NUMA
165	depends on (IA64 || X86_64)
166	default y if IA64_GENERIC || IA64_SGI_SN2
167
168config ACPI_ASUS
169        tristate "ASUS/Medion Laptop Extras"
170	depends on X86
171        ---help---
172          This driver provides support for extra features of ACPI-compatible
173          ASUS laptops. As some of Medion laptops are made by ASUS, it may also
174          support some Medion laptops (such as 9675 for example).  It makes all
175          the extra buttons generate standard ACPI events that go through
176          /proc/acpi/events, and (on some models) adds support for changing the
177          display brightness and output, switching the LCD backlight on and off,
178          and most importantly, allows you to blink those fancy LEDs intended
179          for reporting mail and wireless status.
180
181	  Note: display switching code is currently considered EXPERIMENTAL,
182	  toying with these values may even lock your machine.
183
184          All settings are changed via /proc/acpi/asus directory entries. Owner
185          and group for these entries can be set with asus_uid and asus_gid
186          parameters.
187
188          More information and a userspace daemon for handling the extra buttons
189          at <http://sourceforge.net/projects/acpi4asus/>.
190
191          If you have an ACPI-compatible ASUS laptop, say Y or M here. This
192          driver is still under development, so if your laptop is unsupported or
193          something works not quite as expected, please use the mailing list
194          available on the above page (acpi4asus-user@lists.sourceforge.net)
195
196config ACPI_IBM
197	tristate "IBM ThinkPad Laptop Extras"
198	depends on X86
199	---help---
200	  This is a Linux ACPI driver for the IBM ThinkPad laptops. It adds
201	  support for Fn-Fx key combinations, Bluetooth control, video
202	  output switching, ThinkLight control, UltraBay eject and more.
203	  For more information about this driver see <file:Documentation/ibm-acpi.txt>
204	  and <http://ibm-acpi.sf.net/> .
205
206	  If you have an IBM ThinkPad laptop, say Y or M here.
207
208config ACPI_IBM_DOCK
209	bool "Legacy Docking Station Support"
210	depends on ACPI_IBM
211	default n
212	---help---
213	  Allows the ibm_acpi driver to handle docking station events.
214	  This support is obsoleted by CONFIG_HOTPLUG_PCI_ACPI.  It will
215	  allow locking and removing the laptop from the docking station,
216	  but will not properly connect PCI devices.
217
218	  If you are not sure, say N here.
219
220config ACPI_TOSHIBA
221	tristate "Toshiba Laptop Extras"
222	depends on X86
223	---help---
224	  This driver adds support for access to certain system settings
225	  on "legacy free" Toshiba laptops.  These laptops can be recognized by
226	  their lack of a BIOS setup menu and APM support.
227
228	  On these machines, all system configuration is handled through the
229	  ACPI.  This driver is required for access to controls not covered
230	  by the general ACPI drivers, such as LCD brightness, video output,
231	  etc.
232
233	  This driver differs from the non-ACPI Toshiba laptop driver (located
234	  under "Processor type and features") in several aspects.
235	  Configuration is accessed by reading and writing text files in the
236	  /proc tree instead of by program interface to /dev.  Furthermore, no
237	  power management functions are exposed, as those are handled by the
238	  general ACPI drivers.
239
240	  More information about this driver is available at
241	  <http://memebeam.org/toys/ToshibaAcpiDriver>.
242
243	  If you have a legacy free Toshiba laptop (such as the Libretto L1
244	  series), say Y.
245
246config ACPI_CUSTOM_DSDT
247	bool "Include Custom DSDT"
248	depends on !STANDALONE
249	default n
250	help
251	  Thist option is to load a custom ACPI DSDT
252	  If you don't know what that is, say N.
253
254config ACPI_CUSTOM_DSDT_FILE
255	string "Custom DSDT Table file to include"
256	depends on ACPI_CUSTOM_DSDT
257	default ""
258	help
259	  Enter the full path name to the file which includes the AmlCode
260	  declaration.
261
262config ACPI_BLACKLIST_YEAR
263	int "Disable ACPI for systems before Jan 1st this year" if X86_32
264	default 0
265	help
266	  enter a 4-digit year, eg. 2001 to disable ACPI by default
267	  on platforms with DMI BIOS date before January 1st that year.
268	  "acpi=force" can be used to override this mechanism.
269
270	  Enter 0 to disable this mechanism and allow ACPI to
271	  run by default no matter what the year.  (default)
272
273config ACPI_DEBUG
274	bool "Debug Statements"
275	default n
276	help
277	  The ACPI driver can optionally report errors with a great deal
278	  of verbosity. Saying Y enables these statements. This will increase
279	  your kernel size by around 50K.
280
281config ACPI_EC
282	bool
283	default y
284	help
285	  This driver is required on some systems for the proper operation of
286	  the battery and thermal drivers.  If you are compiling for a
287	  mobile system, say Y.
288
289config ACPI_POWER
290	bool
291	default y
292
293config ACPI_SYSTEM
294	bool
295	default y
296	help
297	  This driver will enable your system to shut down using ACPI, and
298	  dump your ACPI DSDT table using /proc/acpi/dsdt.
299
300config X86_PM_TIMER
301	bool "Power Management Timer Support" if EMBEDDED
302	depends on X86
303	default y
304	help
305	  The Power Management Timer is available on all ACPI-capable,
306	  in most cases even if ACPI is unusable or blacklisted.
307
308	  This timing source is not affected by powermanagement features
309	  like aggressive processor idling, throttling, frequency and/or
310	  voltage scaling, unlike the commonly used Time Stamp Counter
311	  (TSC) timing source.
312
313	  You should nearly always say Y here because many modern
314	  systems require this timer.
315
316config ACPI_CONTAINER
317	tristate "ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)"
318	depends on EXPERIMENTAL
319	default (ACPI_HOTPLUG_MEMORY || ACPI_HOTPLUG_CPU || ACPI_HOTPLUG_IO)
320	 ---help---
321	  This allows _physical_ insertion and removal of CPUs and memory.
322	  This can be useful, for example, on NUMA machines that support
323	  ACPI based physical hotplug of nodes, or non-NUMA machines that
324	  support physical cpu/memory hot-plug.
325
326	  If one selects "m", this driver can be loaded with
327	  "modprobe acpi_container".
328
329config ACPI_HOTPLUG_MEMORY
330	tristate "Memory Hotplug"
331	depends on ACPI
332	depends on MEMORY_HOTPLUG || X86_64
333	default n
334	help
335	  This driver adds supports for ACPI Memory Hotplug.  This driver
336	  provides support for fielding notifications on ACPI memory
337	  devices (PNP0C80) which represent memory ranges that may be
338	  onlined or offlined during runtime.
339
340	  Enabling this driver assumes that your platform hardware
341	  and firmware have support for hot-plugging physical memory. If
342	  your system does not support physically adding or ripping out
343	  memory DIMMs at some platfrom defined granularity (individually
344	  or as a bank) at runtime, then you need not enable this driver.
345
346	  If one selects "m," this driver can be loaded using the following
347	  command:
348		$>modprobe acpi_memhotplug
349endif	# ACPI
350
351endmenu
352