xref: /linux/arch/arm/Kconfig (revision 54f53f2b94feb72622bec7a8563fc487d9f97720)
1#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
6mainmenu "Linux Kernel Configuration"
7
8config ARM
9	bool
10	default y
11	select RTC_LIB
12	select SYS_SUPPORTS_APM_EMULATION
13	select HAVE_OPROFILE
14	select HAVE_KPROBES if (!XIP_KERNEL)
15	select HAVE_KRETPROBES if (HAVE_KPROBES)
16	help
17	  The ARM series is a line of low-power-consumption RISC chip designs
18	  licensed by ARM Ltd and targeted at embedded applications and
19	  handhelds such as the Compaq IPAQ.  ARM-based PCs are no longer
20	  manufactured, but legacy ARM-based PC hardware remains popular in
21	  Europe.  There is an ARM Linux project with a web page at
22	  <http://www.arm.linux.org.uk/>.
23
24config SYS_SUPPORTS_APM_EMULATION
25	bool
26
27config GENERIC_GPIO
28	bool
29	default n
30
31config GENERIC_TIME
32	bool
33	default n
34
35config GENERIC_CLOCKEVENTS
36	bool
37	default n
38
39config GENERIC_CLOCKEVENTS_BROADCAST
40	bool
41	depends on GENERIC_CLOCKEVENTS
42	default y if SMP && !LOCAL_TIMERS
43
44config MMU
45	bool
46	default y
47
48config NO_IOPORT
49	bool
50	default n
51
52config EISA
53	bool
54	---help---
55	  The Extended Industry Standard Architecture (EISA) bus was
56	  developed as an open alternative to the IBM MicroChannel bus.
57
58	  The EISA bus provided some of the features of the IBM MicroChannel
59	  bus while maintaining backward compatibility with cards made for
60	  the older ISA bus.  The EISA bus saw limited use between 1988 and
61	  1995 when it was made obsolete by the PCI bus.
62
63	  Say Y here if you are building a kernel for an EISA-based machine.
64
65	  Otherwise, say N.
66
67config SBUS
68	bool
69
70config MCA
71	bool
72	help
73	  MicroChannel Architecture is found in some IBM PS/2 machines and
74	  laptops.  It is a bus system similar to PCI or ISA. See
75	  <file:Documentation/mca.txt> (and especially the web page given
76	  there) before attempting to build an MCA bus kernel.
77
78config GENERIC_HARDIRQS
79	bool
80	default y
81
82config STACKTRACE_SUPPORT
83	bool
84	default y
85
86config LOCKDEP_SUPPORT
87	bool
88	default y
89
90config TRACE_IRQFLAGS_SUPPORT
91	bool
92	default y
93
94config HARDIRQS_SW_RESEND
95	bool
96	default y
97
98config GENERIC_IRQ_PROBE
99	bool
100	default y
101
102config GENERIC_LOCKBREAK
103	bool
104	default y
105	depends on SMP && PREEMPT
106
107config RWSEM_GENERIC_SPINLOCK
108	bool
109	default y
110
111config RWSEM_XCHGADD_ALGORITHM
112	bool
113
114config ARCH_HAS_ILOG2_U32
115	bool
116	default n
117
118config ARCH_HAS_ILOG2_U64
119	bool
120	default n
121
122config GENERIC_HWEIGHT
123	bool
124	default y
125
126config GENERIC_CALIBRATE_DELAY
127	bool
128	default y
129
130config ARCH_SUPPORTS_AOUT
131	def_bool y
132
133config ARCH_MAY_HAVE_PC_FDC
134	bool
135
136config ZONE_DMA
137	bool
138	default y
139
140config GENERIC_ISA_DMA
141	bool
142
143config FIQ
144	bool
145
146config ARCH_MTD_XIP
147	bool
148
149if OPROFILE
150
151config OPROFILE_ARMV6
152	def_bool y
153	depends on CPU_V6 && !SMP
154	select OPROFILE_ARM11_CORE
155
156config OPROFILE_MPCORE
157	def_bool y
158	depends on CPU_V6 && SMP
159	select OPROFILE_ARM11_CORE
160
161config OPROFILE_ARM11_CORE
162	bool
163
164endif
165
166config VECTORS_BASE
167	hex
168	default 0xffff0000 if MMU || CPU_HIGH_VECTOR
169	default DRAM_BASE if REMAP_VECTORS_TO_RAM
170	default 0x00000000
171	help
172	  The base address of exception vectors.
173
174source "init/Kconfig"
175
176menu "System Type"
177
178choice
179	prompt "ARM system type"
180	default ARCH_VERSATILE
181
182config ARCH_AAEC2000
183	bool "Agilent AAEC-2000 based"
184	select ARM_AMBA
185	help
186	  This enables support for systems based on the Agilent AAEC-2000
187
188config ARCH_INTEGRATOR
189	bool "ARM Ltd. Integrator family"
190	select ARM_AMBA
191	select ICST525
192	help
193	  Support for ARM's Integrator platform.
194
195config ARCH_REALVIEW
196	bool "ARM Ltd. RealView family"
197	select ARM_AMBA
198	select ICST307
199	select GENERIC_TIME
200	select GENERIC_CLOCKEVENTS
201	help
202	  This enables support for ARM Ltd RealView boards.
203
204config ARCH_VERSATILE
205	bool "ARM Ltd. Versatile family"
206	select ARM_AMBA
207	select ARM_VIC
208	select ICST307
209	select GENERIC_TIME
210	select GENERIC_CLOCKEVENTS
211	help
212	  This enables support for ARM Ltd Versatile board.
213
214config ARCH_AT91
215	bool "Atmel AT91"
216	select GENERIC_GPIO
217	help
218	  This enables support for systems based on the Atmel AT91RM9200,
219	  AT91SAM9 and AT91CAP9 processors.
220
221config ARCH_CLPS7500
222	bool "Cirrus CL-PS7500FE"
223	select TIMER_ACORN
224	select ISA
225	select NO_IOPORT
226	select HAVE_IDE
227	help
228	  Support for the Cirrus Logic PS7500FE system-on-a-chip.
229
230config ARCH_CLPS711X
231	bool "Cirrus Logic CLPS711x/EP721x-based"
232	help
233	  Support for Cirrus Logic 711x/721x based boards.
234
235config ARCH_CO285
236	bool "Co-EBSA285"
237	select FOOTBRIDGE
238	select FOOTBRIDGE_ADDIN
239	select HAVE_IDE
240	help
241	  Support for Intel's EBSA285 companion chip.
242
243config ARCH_EBSA110
244	bool "EBSA-110"
245	select ISA
246	select NO_IOPORT
247	help
248	  This is an evaluation board for the StrongARM processor available
249	  from Digital. It has limited hardware on-board, including an
250	  Ethernet interface, two PCMCIA sockets, two serial ports and a
251	  parallel port.
252
253config ARCH_EP93XX
254	bool "EP93xx-based"
255	select ARM_AMBA
256	select ARM_VIC
257	select GENERIC_GPIO
258	help
259	  This enables support for the Cirrus EP93xx series of CPUs.
260
261config ARCH_FOOTBRIDGE
262	bool "FootBridge"
263	select FOOTBRIDGE
264	select HAVE_IDE
265	help
266	  Support for systems based on the DC21285 companion chip
267	  ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
268
269config ARCH_NETX
270	bool "Hilscher NetX based"
271	select ARM_VIC
272	help
273	  This enables support for systems based on the Hilscher NetX Soc
274
275config ARCH_H720X
276	bool "Hynix HMS720x-based"
277	select ISA_DMA_API
278	help
279	  This enables support for systems based on the Hynix HMS720x
280
281config ARCH_IMX
282	bool "IMX"
283	select GENERIC_GPIO
284	select GENERIC_TIME
285	select GENERIC_CLOCKEVENTS
286	help
287	  Support for Motorola's i.MX family of processors (MX1, MXL).
288
289config ARCH_IOP13XX
290	bool "IOP13xx-based"
291	depends on MMU
292	select PLAT_IOP
293	select PCI
294	select ARCH_SUPPORTS_MSI
295	help
296	  Support for Intel's IOP13XX (XScale) family of processors.
297
298config ARCH_IOP32X
299	bool "IOP32x-based"
300	depends on MMU
301	select PLAT_IOP
302	select PCI
303	select HAVE_IDE
304	help
305	  Support for Intel's 80219 and IOP32X (XScale) family of
306	  processors.
307
308config ARCH_IOP33X
309	bool "IOP33x-based"
310	depends on MMU
311	select PLAT_IOP
312	select PCI
313	select HAVE_IDE
314	help
315	  Support for Intel's IOP33X (XScale) family of processors.
316
317config ARCH_IXP23XX
318 	bool "IXP23XX-based"
319	depends on MMU
320	select HAVE_IDE
321 	select PCI
322	help
323	  Support for Intel's IXP23xx (XScale) family of processors.
324
325config ARCH_IXP2000
326	bool "IXP2400/2800-based"
327	depends on MMU
328	select PCI
329	help
330	  Support for Intel's IXP2400/2800 (XScale) family of processors.
331
332config ARCH_IXP4XX
333	bool "IXP4xx-based"
334	depends on MMU
335	select GENERIC_GPIO
336	select GENERIC_TIME
337	select GENERIC_CLOCKEVENTS
338	select HAVE_IDE
339	help
340	  Support for Intel's IXP4XX (XScale) family of processors.
341
342config ARCH_L7200
343	bool "LinkUp-L7200"
344	select FIQ
345	select HAVE_IDE
346	help
347	  Say Y here if you intend to run this kernel on a LinkUp Systems
348	  L7200 Software Development Board which uses an ARM720T processor.
349	  Information on this board can be obtained at:
350
351	  <http://www.linkupsys.com/>
352
353	  If you have any questions or comments about the Linux kernel port
354	  to this board, send e-mail to <sjhill@cotw.com>.
355
356config ARCH_KS8695
357	bool "Micrel/Kendin KS8695"
358	select GENERIC_GPIO
359	help
360	  Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
361	  System-on-Chip devices.
362
363config ARCH_NS9XXX
364	bool "NetSilicon NS9xxx"
365	select GENERIC_GPIO
366	select GENERIC_TIME
367	select GENERIC_CLOCKEVENTS
368	help
369	  Say Y here if you intend to run this kernel on a NetSilicon NS9xxx
370	  System.
371
372	  <http://www.digi.com/products/microprocessors/index.jsp>
373
374config ARCH_MXC
375	bool "Freescale MXC/iMX-based"
376	select ARCH_MTD_XIP
377	help
378	  Support for Freescale MXC/iMX-based family of processors
379
380config ARCH_ORION
381	bool "Marvell Orion"
382	depends on MMU
383	select PCI
384	select GENERIC_GPIO
385	select GENERIC_TIME
386	select GENERIC_CLOCKEVENTS
387	help
388	  Support for Marvell Orion System on Chip family.
389
390config ARCH_PNX4008
391	bool "Philips Nexperia PNX4008 Mobile"
392	help
393	  This enables support for Philips PNX4008 mobile platform.
394
395config ARCH_PXA
396	bool "PXA2xx/PXA3xx-based"
397	depends on MMU
398	select ARCH_MTD_XIP
399	select GENERIC_GPIO
400	select HAVE_IDE
401	select HAVE_GPIO_LIB
402	select GENERIC_TIME
403	select GENERIC_CLOCKEVENTS
404	select TICK_ONESHOT
405	help
406	  Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
407
408config ARCH_RPC
409	bool "RiscPC"
410	select ARCH_ACORN
411	select FIQ
412	select TIMER_ACORN
413	select ARCH_MAY_HAVE_PC_FDC
414	select ISA_DMA_API
415	select NO_IOPORT
416	select HAVE_IDE
417	help
418	  On the Acorn Risc-PC, Linux can support the internal IDE disk and
419	  CD-ROM interface, serial and parallel port, and the floppy drive.
420
421config ARCH_SA1100
422	bool "SA1100-based"
423	select ISA
424	select ARCH_DISCONTIGMEM_ENABLE
425	select ARCH_MTD_XIP
426	select GENERIC_GPIO
427	select GENERIC_TIME
428	select HAVE_IDE
429	help
430	  Support for StrongARM 11x0 based boards.
431
432config ARCH_S3C2410
433	bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443"
434	select GENERIC_GPIO
435	select HAVE_IDE
436	help
437	  Samsung S3C2410X CPU based systems, such as the Simtec Electronics
438	  BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
439	  the Samsung SMDK2410 development board (and derivatives).
440
441config ARCH_SHARK
442	bool "Shark"
443	select HAVE_IDE
444	select ISA
445	select ISA_DMA
446	select PCI
447	help
448	  Support for the StrongARM based Digital DNARD machine, also known
449	  as "Shark" (<http://www.shark-linux.de/shark.html>).
450
451config ARCH_LH7A40X
452	bool "Sharp LH7A40X"
453	select HAVE_IDE
454	help
455	  Say Y here for systems based on one of the Sharp LH7A40X
456	  System on a Chip processors.  These CPUs include an ARM922T
457	  core with a wide array of integrated devices for
458	  hand-held and low-power applications.
459
460config ARCH_DAVINCI
461	bool "TI DaVinci"
462	select GENERIC_TIME
463	select GENERIC_CLOCKEVENTS
464	select GENERIC_GPIO
465	help
466	  Support for TI's DaVinci platform.
467
468config ARCH_OMAP
469	bool "TI OMAP"
470	select GENERIC_GPIO
471	select GENERIC_TIME
472	select GENERIC_CLOCKEVENTS
473	help
474	  Support for TI's OMAP platform (OMAP1 and OMAP2).
475
476config ARCH_MSM7X00A
477	bool "Qualcomm MSM7X00A"
478	select GENERIC_TIME
479	select GENERIC_CLOCKEVENTS
480	help
481	  Support for Qualcomm MSM7X00A based systems.  This runs on the ARM11
482	  apps processor of the MSM7X00A and depends on a shared memory
483	  interface to the ARM9 modem processor which runs the baseband stack
484	  and controls some vital subsystems (clock and power control, etc).
485	  <http://www.cdmatech.com/products/msm7200_chipset_solution.jsp>
486
487endchoice
488
489source "arch/arm/mach-clps711x/Kconfig"
490
491source "arch/arm/mach-ep93xx/Kconfig"
492
493source "arch/arm/mach-footbridge/Kconfig"
494
495source "arch/arm/mach-integrator/Kconfig"
496
497source "arch/arm/mach-iop32x/Kconfig"
498
499source "arch/arm/mach-iop33x/Kconfig"
500
501source "arch/arm/mach-iop13xx/Kconfig"
502
503source "arch/arm/mach-ixp4xx/Kconfig"
504
505source "arch/arm/mach-ixp2000/Kconfig"
506
507source "arch/arm/mach-ixp23xx/Kconfig"
508
509source "arch/arm/mach-pxa/Kconfig"
510
511source "arch/arm/mach-sa1100/Kconfig"
512
513source "arch/arm/plat-omap/Kconfig"
514
515source "arch/arm/mach-omap1/Kconfig"
516
517source "arch/arm/mach-omap2/Kconfig"
518
519source "arch/arm/mach-orion/Kconfig"
520
521source "arch/arm/plat-s3c24xx/Kconfig"
522source "arch/arm/plat-s3c/Kconfig"
523
524if ARCH_S3C2410
525source "arch/arm/mach-s3c2400/Kconfig"
526source "arch/arm/mach-s3c2410/Kconfig"
527source "arch/arm/mach-s3c2412/Kconfig"
528source "arch/arm/mach-s3c2440/Kconfig"
529source "arch/arm/mach-s3c2442/Kconfig"
530source "arch/arm/mach-s3c2443/Kconfig"
531endif
532
533source "arch/arm/mach-lh7a40x/Kconfig"
534
535source "arch/arm/mach-imx/Kconfig"
536
537source "arch/arm/mach-h720x/Kconfig"
538
539source "arch/arm/mach-versatile/Kconfig"
540
541source "arch/arm/mach-aaec2000/Kconfig"
542
543source "arch/arm/mach-realview/Kconfig"
544
545source "arch/arm/mach-at91/Kconfig"
546
547source "arch/arm/plat-mxc/Kconfig"
548
549source "arch/arm/mach-netx/Kconfig"
550
551source "arch/arm/mach-ns9xxx/Kconfig"
552
553source "arch/arm/mach-davinci/Kconfig"
554
555source "arch/arm/mach-ks8695/Kconfig"
556
557source "arch/arm/mach-msm/Kconfig"
558
559# Definitions to make life easier
560config ARCH_ACORN
561	bool
562
563config PLAT_IOP
564	bool
565
566source arch/arm/mm/Kconfig
567
568config IWMMXT
569	bool "Enable iWMMXt support"
570	depends on CPU_XSCALE || CPU_XSC3
571	default y if PXA27x || PXA3xx
572	help
573	  Enable support for iWMMXt context switching at run time if
574	  running on a CPU that supports it.
575
576#  bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
577config XSCALE_PMU
578	bool
579	depends on CPU_XSCALE && !XSCALE_PMU_TIMER
580	default y
581
582if !MMU
583source "arch/arm/Kconfig-nommu"
584endif
585
586endmenu
587
588source "arch/arm/common/Kconfig"
589
590config FORCE_MAX_ZONEORDER
591	int
592	depends on SA1111
593	default "9"
594
595menu "Bus support"
596
597config ARM_AMBA
598	bool
599
600config ISA
601	bool
602	help
603	  Find out whether you have ISA slots on your motherboard.  ISA is the
604	  name of a bus system, i.e. the way the CPU talks to the other stuff
605	  inside your box.  Other bus systems are PCI, EISA, MicroChannel
606	  (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
607	  newer boards don't support it.  If you have ISA, say Y, otherwise N.
608
609# Select ISA DMA controller support
610config ISA_DMA
611	bool
612	select ISA_DMA_API
613
614# Select ISA DMA interface
615config ISA_DMA_API
616	bool
617
618config PCI
619	bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE
620	help
621	  Find out whether you have a PCI motherboard. PCI is the name of a
622	  bus system, i.e. the way the CPU talks to the other stuff inside
623	  your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
624	  VESA. If you have PCI, say Y, otherwise N.
625
626config PCI_SYSCALL
627	def_bool PCI
628
629# Select the host bridge type
630config PCI_HOST_VIA82C505
631	bool
632	depends on PCI && ARCH_SHARK
633	default y
634
635config PCI_HOST_ITE8152
636	bool
637	depends on PCI && MACH_ARMCORE
638	default y
639	select DMABOUNCE
640
641source "drivers/pci/Kconfig"
642
643source "drivers/pcmcia/Kconfig"
644
645endmenu
646
647menu "Kernel Features"
648
649source "kernel/time/Kconfig"
650
651config SMP
652	bool "Symmetric Multi-Processing (EXPERIMENTAL)"
653	depends on EXPERIMENTAL && REALVIEW_EB_ARM11MP
654	help
655	  This enables support for systems with more than one CPU. If you have
656	  a system with only one CPU, like most personal computers, say N. If
657	  you have a system with more than one CPU, say Y.
658
659	  If you say N here, the kernel will run on single and multiprocessor
660	  machines, but will use only one CPU of a multiprocessor machine. If
661	  you say Y here, the kernel will run on many, but not all, single
662	  processor machines. On a single processor machine, the kernel will
663	  run faster if you say N here.
664
665	  See also <file:Documentation/i386/IO-APIC.txt>,
666	  <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
667	  <http://www.linuxdoc.org/docs.html#howto>.
668
669	  If you don't know what to do here, say N.
670
671config NR_CPUS
672	int "Maximum number of CPUs (2-32)"
673	range 2 32
674	depends on SMP
675	default "4"
676
677config HOTPLUG_CPU
678	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
679	depends on SMP && HOTPLUG && EXPERIMENTAL
680	help
681	  Say Y here to experiment with turning CPUs off and on.  CPUs
682	  can be controlled through /sys/devices/system/cpu.
683
684config LOCAL_TIMERS
685	bool "Use local timer interrupts"
686	depends on SMP && REALVIEW_EB_ARM11MP
687	default y
688	help
689	  Enable support for local timers on SMP platforms, rather then the
690	  legacy IPI broadcast method.  Local timers allows the system
691	  accounting to be spread across the timer interval, preventing a
692	  "thundering herd" at every timer tick.
693
694config PREEMPT
695	bool "Preemptible Kernel (EXPERIMENTAL)"
696	depends on EXPERIMENTAL
697	help
698	  This option reduces the latency of the kernel when reacting to
699	  real-time or interactive events by allowing a low priority process to
700	  be preempted even if it is in kernel mode executing a system call.
701	  This allows applications to run more reliably even when the system is
702	  under load.
703
704	  Say Y here if you are building a kernel for a desktop, embedded
705	  or real-time system.  Say N if you are unsure.
706
707config NO_IDLE_HZ
708	bool "Dynamic tick timer"
709	depends on !GENERIC_CLOCKEVENTS
710	help
711	  Select this option if you want to disable continuous timer ticks
712	  and have them programmed to occur as required. This option saves
713	  power as the system can remain in idle state for longer.
714
715	  By default dynamic tick is disabled during the boot, and can be
716	  manually enabled with:
717
718	    echo 1 > /sys/devices/system/timer/timer0/dyn_tick
719
720	  Alternatively, if you want dynamic tick automatically enabled
721	  during boot, pass "dyntick=enable" via the kernel command string.
722
723	  Please note that dynamic tick may affect the accuracy of
724	  timekeeping on some platforms depending on the implementation.
725	  Currently at least OMAP, PXA2xx and SA11x0 platforms are known
726	  to have accurate timekeeping with dynamic tick.
727
728config HZ
729	int
730	default 128 if ARCH_L7200
731	default 200 if ARCH_EBSA110 || ARCH_S3C2410
732	default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
733	default AT91_TIMER_HZ if ARCH_AT91
734	default 100
735
736config AEABI
737	bool "Use the ARM EABI to compile the kernel"
738	help
739	  This option allows for the kernel to be compiled using the latest
740	  ARM ABI (aka EABI).  This is only useful if you are using a user
741	  space environment that is also compiled with EABI.
742
743	  Since there are major incompatibilities between the legacy ABI and
744	  EABI, especially with regard to structure member alignment, this
745	  option also changes the kernel syscall calling convention to
746	  disambiguate both ABIs and allow for backward compatibility support
747	  (selected with CONFIG_OABI_COMPAT).
748
749	  To use this you need GCC version 4.0.0 or later.
750
751config OABI_COMPAT
752	bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
753	depends on AEABI && EXPERIMENTAL
754	default y
755	help
756	  This option preserves the old syscall interface along with the
757	  new (ARM EABI) one. It also provides a compatibility layer to
758	  intercept syscalls that have structure arguments which layout
759	  in memory differs between the legacy ABI and the new ARM EABI
760	  (only for non "thumb" binaries). This option adds a tiny
761	  overhead to all syscalls and produces a slightly larger kernel.
762	  If you know you'll be using only pure EABI user space then you
763	  can say N here. If this option is not selected and you attempt
764	  to execute a legacy ABI binary then the result will be
765	  UNPREDICTABLE (in fact it can be predicted that it won't work
766	  at all). If in doubt say Y.
767
768config ARCH_DISCONTIGMEM_ENABLE
769	bool
770	default (ARCH_LH7A40X && !LH7A40X_CONTIGMEM)
771	help
772	  Say Y to support efficient handling of discontiguous physical memory,
773	  for architectures which are either NUMA (Non-Uniform Memory Access)
774	  or have huge holes in the physical address space for other reasons.
775	  See <file:Documentation/vm/numa> for more.
776
777config NODES_SHIFT
778	int
779	default "4" if ARCH_LH7A40X
780	default "2"
781	depends on NEED_MULTIPLE_NODES
782
783source "mm/Kconfig"
784
785config LEDS
786	bool "Timer and CPU usage LEDs"
787	depends on ARCH_CDB89712 || ARCH_CO285 || ARCH_EBSA110 || \
788		   ARCH_EBSA285 || ARCH_IMX || ARCH_INTEGRATOR || \
789		   ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
790		   ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
791		   ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
792		   ARCH_AT91 || MACH_TRIZEPS4 || ARCH_DAVINCI || \
793		   ARCH_KS8695 || MACH_RD88F5182
794	help
795	  If you say Y here, the LEDs on your machine will be used
796	  to provide useful information about your current system status.
797
798	  If you are compiling a kernel for a NetWinder or EBSA-285, you will
799	  be able to select which LEDs are active using the options below. If
800	  you are compiling a kernel for the EBSA-110 or the LART however, the
801	  red LED will simply flash regularly to indicate that the system is
802	  still functional. It is safe to say Y here if you have a CATS
803	  system, but the driver will do nothing.
804
805config LEDS_TIMER
806	bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
807			    OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
808			    || MACH_OMAP_PERSEUS2
809	depends on LEDS
810	depends on !GENERIC_CLOCKEVENTS
811	default y if ARCH_EBSA110
812	help
813	  If you say Y here, one of the system LEDs (the green one on the
814	  NetWinder, the amber one on the EBSA285, or the red one on the LART)
815	  will flash regularly to indicate that the system is still
816	  operational. This is mainly useful to kernel hackers who are
817	  debugging unstable kernels.
818
819	  The LART uses the same LED for both Timer LED and CPU usage LED
820	  functions. You may choose to use both, but the Timer LED function
821	  will overrule the CPU usage LED.
822
823config LEDS_CPU
824	bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
825			!ARCH_OMAP) \
826			|| OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
827			|| MACH_OMAP_PERSEUS2
828	depends on LEDS
829	help
830	  If you say Y here, the red LED will be used to give a good real
831	  time indication of CPU usage, by lighting whenever the idle task
832	  is not currently executing.
833
834	  The LART uses the same LED for both Timer LED and CPU usage LED
835	  functions. You may choose to use both, but the Timer LED function
836	  will overrule the CPU usage LED.
837
838config ALIGNMENT_TRAP
839	bool
840	depends on CPU_CP15_MMU
841	default y if !ARCH_EBSA110
842	help
843	  ARM processors cannot fetch/store information which is not
844	  naturally aligned on the bus, i.e., a 4 byte fetch must start at an
845	  address divisible by 4. On 32-bit ARM processors, these non-aligned
846	  fetch/store instructions will be emulated in software if you say
847	  here, which has a severe performance impact. This is necessary for
848	  correct operation of some network protocols. With an IP-only
849	  configuration it is safe to say N, otherwise say Y.
850
851endmenu
852
853menu "Boot options"
854
855# Compressed boot loader in ROM.  Yes, we really want to ask about
856# TEXT and BSS so we preserve their values in the config files.
857config ZBOOT_ROM_TEXT
858	hex "Compressed ROM boot loader base address"
859	default "0"
860	help
861	  The physical address at which the ROM-able zImage is to be
862	  placed in the target.  Platforms which normally make use of
863	  ROM-able zImage formats normally set this to a suitable
864	  value in their defconfig file.
865
866	  If ZBOOT_ROM is not enabled, this has no effect.
867
868config ZBOOT_ROM_BSS
869	hex "Compressed ROM boot loader BSS address"
870	default "0"
871	help
872	  The base address of an area of read/write memory in the target
873	  for the ROM-able zImage which must be available while the
874	  decompressor is running. It must be large enough to hold the
875	  entire decompressed kernel plus an additional 128 KiB.
876	  Platforms which normally make use of ROM-able zImage formats
877	  normally set this to a suitable value in their defconfig file.
878
879	  If ZBOOT_ROM is not enabled, this has no effect.
880
881config ZBOOT_ROM
882	bool "Compressed boot loader in ROM/flash"
883	depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
884	help
885	  Say Y here if you intend to execute your compressed kernel image
886	  (zImage) directly from ROM or flash.  If unsure, say N.
887
888config CMDLINE
889	string "Default kernel command string"
890	default ""
891	help
892	  On some architectures (EBSA110 and CATS), there is currently no way
893	  for the boot loader to pass arguments to the kernel. For these
894	  architectures, you should supply some command-line options at build
895	  time by entering them here. As a minimum, you should specify the
896	  memory size and the root device (e.g., mem=64M root=/dev/nfs).
897
898config XIP_KERNEL
899	bool "Kernel Execute-In-Place from ROM"
900	depends on !ZBOOT_ROM
901	help
902	  Execute-In-Place allows the kernel to run from non-volatile storage
903	  directly addressable by the CPU, such as NOR flash. This saves RAM
904	  space since the text section of the kernel is not loaded from flash
905	  to RAM.  Read-write sections, such as the data section and stack,
906	  are still copied to RAM.  The XIP kernel is not compressed since
907	  it has to run directly from flash, so it will take more space to
908	  store it.  The flash address used to link the kernel object files,
909	  and for storing it, is configuration dependent. Therefore, if you
910	  say Y here, you must know the proper physical address where to
911	  store the kernel image depending on your own flash memory usage.
912
913	  Also note that the make target becomes "make xipImage" rather than
914	  "make zImage" or "make Image".  The final kernel binary to put in
915	  ROM memory will be arch/arm/boot/xipImage.
916
917	  If unsure, say N.
918
919config XIP_PHYS_ADDR
920	hex "XIP Kernel Physical Location"
921	depends on XIP_KERNEL
922	default "0x00080000"
923	help
924	  This is the physical address in your flash memory the kernel will
925	  be linked for and stored to.  This address is dependent on your
926	  own flash usage.
927
928config KEXEC
929	bool "Kexec system call (EXPERIMENTAL)"
930	depends on EXPERIMENTAL
931	help
932	  kexec is a system call that implements the ability to shutdown your
933	  current kernel, and to start another kernel.  It is like a reboot
934	  but it is independent of the system firmware.   And like a reboot
935	  you can start any kernel with it, not just Linux.
936
937	  It is an ongoing process to be certain the hardware in a machine
938	  is properly shutdown, so do not be surprised if this code does not
939	  initially work for you.  It may help to enable device hotplugging
940	  support.
941
942config ATAGS_PROC
943	bool "Export atags in procfs"
944	depends on KEXEC
945	default y
946	help
947	  Should the atags used to boot the kernel be exported in an "atags"
948	  file in procfs. Useful with kexec.
949
950endmenu
951
952if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_IMX || ARCH_PXA)
953
954menu "CPU Frequency scaling"
955
956source "drivers/cpufreq/Kconfig"
957
958config CPU_FREQ_SA1100
959	bool
960	depends on CPU_FREQ && (SA1100_H3100 || SA1100_H3600 || SA1100_H3800 || SA1100_LART || SA1100_PLEB || SA1100_BADGE4 || SA1100_HACKKIT)
961	default y
962
963config CPU_FREQ_SA1110
964	bool
965	depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3)
966	default y
967
968config CPU_FREQ_INTEGRATOR
969	tristate "CPUfreq driver for ARM Integrator CPUs"
970	depends on ARCH_INTEGRATOR && CPU_FREQ
971	default y
972	help
973	  This enables the CPUfreq driver for ARM Integrator CPUs.
974
975	  For details, take a look at <file:Documentation/cpu-freq>.
976
977	  If in doubt, say Y.
978
979config CPU_FREQ_IMX
980	tristate "CPUfreq driver for i.MX CPUs"
981	depends on ARCH_IMX && CPU_FREQ
982	default n
983	help
984	  This enables the CPUfreq driver for i.MX CPUs.
985
986	  If in doubt, say N.
987
988config CPU_FREQ_PXA
989	bool
990	depends on CPU_FREQ && ARCH_PXA && PXA25x
991	default y
992	select CPU_FREQ_DEFAULT_GOV_USERSPACE
993
994endmenu
995
996endif
997
998menu "Floating point emulation"
999
1000comment "At least one emulation must be selected"
1001
1002config FPE_NWFPE
1003	bool "NWFPE math emulation"
1004	depends on !AEABI || OABI_COMPAT
1005	---help---
1006	  Say Y to include the NWFPE floating point emulator in the kernel.
1007	  This is necessary to run most binaries. Linux does not currently
1008	  support floating point hardware so you need to say Y here even if
1009	  your machine has an FPA or floating point co-processor podule.
1010
1011	  You may say N here if you are going to load the Acorn FPEmulator
1012	  early in the bootup.
1013
1014config FPE_NWFPE_XP
1015	bool "Support extended precision"
1016	depends on FPE_NWFPE
1017	help
1018	  Say Y to include 80-bit support in the kernel floating-point
1019	  emulator.  Otherwise, only 32 and 64-bit support is compiled in.
1020	  Note that gcc does not generate 80-bit operations by default,
1021	  so in most cases this option only enlarges the size of the
1022	  floating point emulator without any good reason.
1023
1024	  You almost surely want to say N here.
1025
1026config FPE_FASTFPE
1027	bool "FastFPE math emulation (EXPERIMENTAL)"
1028	depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL
1029	---help---
1030	  Say Y here to include the FAST floating point emulator in the kernel.
1031	  This is an experimental much faster emulator which now also has full
1032	  precision for the mantissa.  It does not support any exceptions.
1033	  It is very simple, and approximately 3-6 times faster than NWFPE.
1034
1035	  It should be sufficient for most programs.  It may be not suitable
1036	  for scientific calculations, but you have to check this for yourself.
1037	  If you do not feel you need a faster FP emulation you should better
1038	  choose NWFPE.
1039
1040config VFP
1041	bool "VFP-format floating point maths"
1042	depends on CPU_V6 || CPU_ARM926T || CPU_V7 || CPU_FEROCEON
1043	help
1044	  Say Y to include VFP support code in the kernel. This is needed
1045	  if your hardware includes a VFP unit.
1046
1047	  Please see <file:Documentation/arm/VFP/release-notes.txt> for
1048	  release notes and additional status information.
1049
1050	  Say N if your target does not have VFP hardware.
1051
1052config VFPv3
1053	bool
1054	depends on VFP
1055	default y if CPU_V7
1056
1057config NEON
1058	bool "Advanced SIMD (NEON) Extension support"
1059	depends on VFPv3 && CPU_V7
1060	help
1061	  Say Y to include support code for NEON, the ARMv7 Advanced SIMD
1062	  Extension.
1063
1064endmenu
1065
1066menu "Userspace binary formats"
1067
1068source "fs/Kconfig.binfmt"
1069
1070config ARTHUR
1071	tristate "RISC OS personality"
1072	depends on !AEABI
1073	help
1074	  Say Y here to include the kernel code necessary if you want to run
1075	  Acorn RISC OS/Arthur binaries under Linux. This code is still very
1076	  experimental; if this sounds frightening, say N and sleep in peace.
1077	  You can also say M here to compile this support as a module (which
1078	  will be called arthur).
1079
1080endmenu
1081
1082menu "Power management options"
1083
1084source "kernel/power/Kconfig"
1085
1086config ARCH_SUSPEND_POSSIBLE
1087	def_bool y
1088
1089endmenu
1090
1091source "net/Kconfig"
1092
1093menu "Device Drivers"
1094
1095source "drivers/base/Kconfig"
1096
1097source "drivers/connector/Kconfig"
1098
1099if ALIGNMENT_TRAP || !CPU_CP15_MMU
1100source "drivers/mtd/Kconfig"
1101endif
1102
1103source "drivers/parport/Kconfig"
1104
1105source "drivers/pnp/Kconfig"
1106
1107source "drivers/block/Kconfig"
1108
1109# misc before ide - BLK_DEV_SGIIOC4 depends on SGI_IOC4
1110
1111source "drivers/misc/Kconfig"
1112
1113source "drivers/ide/Kconfig"
1114
1115source "drivers/scsi/Kconfig"
1116
1117source "drivers/ata/Kconfig"
1118
1119source "drivers/md/Kconfig"
1120
1121source "drivers/message/fusion/Kconfig"
1122
1123source "drivers/ieee1394/Kconfig"
1124
1125source "drivers/message/i2o/Kconfig"
1126
1127source "drivers/net/Kconfig"
1128
1129source "drivers/isdn/Kconfig"
1130
1131# input before char - char/joystick depends on it. As does USB.
1132
1133source "drivers/input/Kconfig"
1134
1135source "drivers/char/Kconfig"
1136
1137source "drivers/i2c/Kconfig"
1138
1139source "drivers/spi/Kconfig"
1140
1141source "drivers/gpio/Kconfig"
1142
1143source "drivers/w1/Kconfig"
1144
1145source "drivers/power/Kconfig"
1146
1147source "drivers/hwmon/Kconfig"
1148
1149source "drivers/watchdog/Kconfig"
1150
1151source "drivers/ssb/Kconfig"
1152
1153#source "drivers/l3/Kconfig"
1154
1155source "drivers/mfd/Kconfig"
1156
1157source "drivers/media/Kconfig"
1158
1159source "drivers/video/Kconfig"
1160
1161source "sound/Kconfig"
1162
1163source "drivers/hid/Kconfig"
1164
1165source "drivers/usb/Kconfig"
1166
1167source "drivers/mmc/Kconfig"
1168
1169source "drivers/leds/Kconfig"
1170
1171source "drivers/rtc/Kconfig"
1172
1173source "drivers/dma/Kconfig"
1174
1175source "drivers/dca/Kconfig"
1176
1177endmenu
1178
1179source "fs/Kconfig"
1180
1181source "arch/arm/Kconfig.debug"
1182
1183source "security/Kconfig"
1184
1185source "crypto/Kconfig"
1186
1187source "lib/Kconfig"
1188