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