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