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