[ARM] 3855/1: Add generic time support
[GitHub/mt8127/android_kernel_alcatel_ttab.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
1da177e4
LT
12 help
13 The ARM series is a line of low-power-consumption RISC chip designs
f6c8965a 14 licensed by ARM Ltd and targeted at embedded applications and
1da177e4 15 handhelds such as the Compaq IPAQ. ARM-based PCs are no longer
f6c8965a 16 manufactured, but legacy ARM-based PC hardware remains popular in
1da177e4
LT
17 Europe. There is an ARM Linux project with a web page at
18 <http://www.arm.linux.org.uk/>.
19
746140c7
KH
20config GENERIC_TIME
21 bool
22 default n
23
1da177e4
LT
24config MMU
25 bool
26 default y
27
28config EISA
29 bool
30 ---help---
31 The Extended Industry Standard Architecture (EISA) bus was
32 developed as an open alternative to the IBM MicroChannel bus.
33
34 The EISA bus provided some of the features of the IBM MicroChannel
35 bus while maintaining backward compatibility with cards made for
36 the older ISA bus. The EISA bus saw limited use between 1988 and
37 1995 when it was made obsolete by the PCI bus.
38
39 Say Y here if you are building a kernel for an EISA-based machine.
40
41 Otherwise, say N.
42
43config SBUS
44 bool
45
46config MCA
47 bool
48 help
49 MicroChannel Architecture is found in some IBM PS/2 machines and
50 laptops. It is a bus system similar to PCI or ISA. See
51 <file:Documentation/mca.txt> (and especially the web page given
52 there) before attempting to build an MCA bus kernel.
53
4a2581a0
TG
54config GENERIC_HARDIRQS
55 bool
56 default y
57
7ad1bcb2
RK
58config TRACE_IRQFLAGS_SUPPORT
59 bool
60 default y
61
4a2581a0
TG
62config HARDIRQS_SW_RESEND
63 bool
64 default y
65
66config GENERIC_IRQ_PROBE
67 bool
68 default y
69
1da177e4
LT
70config RWSEM_GENERIC_SPINLOCK
71 bool
72 default y
73
74config RWSEM_XCHGADD_ALGORITHM
75 bool
76
b89c3b16
AM
77config GENERIC_HWEIGHT
78 bool
79 default y
80
1da177e4
LT
81config GENERIC_CALIBRATE_DELAY
82 bool
83 default y
84
85config GENERIC_BUST_SPINLOCK
86 bool
87
a08b6b79
AV
88config ARCH_MAY_HAVE_PC_FDC
89 bool
90
1da177e4
LT
91config GENERIC_ISA_DMA
92 bool
93
1da177e4
LT
94config FIQ
95 bool
96
034d2f5a
AV
97config ARCH_MTD_XIP
98 bool
99
c760fc19
HC
100config VECTORS_BASE
101 hex
102 default 0xffff0000 if MMU
103 default DRAM_BASE if REMAP_VECTORS_TO_RAM
104 default 0x00000000
105 help
106 The base address of exception vectors.
107
1da177e4
LT
108source "init/Kconfig"
109
110menu "System Type"
111
112choice
113 prompt "ARM system type"
6a0e2430 114 default ARCH_VERSATILE
1da177e4 115
4af6fee1
DS
116config ARCH_AAEC2000
117 bool "Agilent AAEC-2000 based"
118 select ARM_AMBA
119 help
120 This enables support for systems based on the Agilent AAEC-2000
121
122config ARCH_INTEGRATOR
123 bool "ARM Ltd. Integrator family"
124 select ARM_AMBA
125 select ICST525
126 help
127 Support for ARM's Integrator platform.
128
129config ARCH_REALVIEW
130 bool "ARM Ltd. RealView family"
131 select ARM_AMBA
132 select ICST307
133 help
134 This enables support for ARM Ltd RealView boards.
135
136config ARCH_VERSATILE
137 bool "ARM Ltd. Versatile family"
138 select ARM_AMBA
139 select ARM_VIC
140 select ICST307
141 help
142 This enables support for ARM Ltd Versatile board.
143
8fc5ffa0
AV
144config ARCH_AT91
145 bool "Atmel AT91"
4af6fee1 146 help
8fc5ffa0
AV
147 This enables support for systems based on the Atmel AT91RM9200
148 and AT91SAM9xxx processors.
4af6fee1 149
1da177e4 150config ARCH_CLPS7500
4af6fee1 151 bool "Cirrus CL-PS7500FE"
1da177e4 152 select TIMER_ACORN
f7e68bbf 153 select ISA
f999b8bd
MM
154 help
155 Support for the Cirrus Logic PS7500FE system-on-a-chip.
1da177e4
LT
156
157config ARCH_CLPS711X
4af6fee1 158 bool "Cirrus Logic CLPS711x/EP721x-based"
f999b8bd
MM
159 help
160 Support for Cirrus Logic 711x/721x based boards.
1da177e4
LT
161
162config ARCH_CO285
163 bool "Co-EBSA285"
164 select FOOTBRIDGE
165 select FOOTBRIDGE_ADDIN
f999b8bd
MM
166 help
167 Support for Intel's EBSA285 companion chip.
1da177e4
LT
168
169config ARCH_EBSA110
170 bool "EBSA-110"
f7e68bbf 171 select ISA
1da177e4
LT
172 help
173 This is an evaluation board for the StrongARM processor available
f6c8965a 174 from Digital. It has limited hardware on-board, including an
1da177e4
LT
175 Ethernet interface, two PCMCIA sockets, two serial ports and a
176 parallel port.
177
e7736d47
LB
178config ARCH_EP93XX
179 bool "EP93xx-based"
180 select ARM_AMBA
181 select ARM_VIC
182 help
183 This enables support for the Cirrus EP93xx series of CPUs.
184
1da177e4
LT
185config ARCH_FOOTBRIDGE
186 bool "FootBridge"
187 select FOOTBRIDGE
f999b8bd
MM
188 help
189 Support for systems based on the DC21285 companion chip
190 ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
1da177e4 191
4af6fee1
DS
192config ARCH_NETX
193 bool "Hilscher NetX based"
194 select ARM_VIC
f999b8bd 195 help
4af6fee1
DS
196 This enables support for systems based on the Hilscher NetX Soc
197
198config ARCH_H720X
199 bool "Hynix HMS720x-based"
200 select ISA_DMA_API
201 help
202 This enables support for systems based on the Hynix HMS720x
203
204config ARCH_IMX
205 bool "IMX"
206 help
207 Support for Motorola's i.MX family of processors (MX1, MXL).
1da177e4 208
3f7e5815
LB
209config ARCH_IOP32X
210 bool "IOP32x-based"
a4f7e763 211 depends on MMU
7ae1f7ec 212 select PLAT_IOP
f7e68bbf 213 select PCI
f999b8bd 214 help
3f7e5815
LB
215 Support for Intel's 80219 and IOP32X (XScale) family of
216 processors.
217
218config ARCH_IOP33X
219 bool "IOP33x-based"
220 depends on MMU
7ae1f7ec 221 select PLAT_IOP
3f7e5815
LB
222 select PCI
223 help
224 Support for Intel's IOP33X (XScale) family of processors.
1da177e4
LT
225
226config ARCH_IXP4XX
227 bool "IXP4xx-based"
a4f7e763 228 depends on MMU
f999b8bd
MM
229 help
230 Support for Intel's IXP4XX (XScale) family of processors.
1da177e4
LT
231
232config ARCH_IXP2000
233 bool "IXP2400/2800-based"
a4f7e763 234 depends on MMU
f7e68bbf 235 select PCI
f999b8bd
MM
236 help
237 Support for Intel's IXP2400/2800 (XScale) family of processors.
1da177e4 238
c4713074
LB
239config ARCH_IXP23XX
240 bool "IXP23XX-based"
a4f7e763 241 depends on MMU
c4713074
LB
242 select PCI
243 help
244 Support for Intel's IXP23xx (XScale) family of processors.
245
1da177e4
LT
246config ARCH_L7200
247 bool "LinkUp-L7200"
248 select FIQ
249 help
250 Say Y here if you intend to run this kernel on a LinkUp Systems
251 L7200 Software Development Board which uses an ARM720T processor.
252 Information on this board can be obtained at:
253
254 <http://www.linkupsys.com/>
255
256 If you have any questions or comments about the Linux kernel port
257 to this board, send e-mail to <sjhill@cotw.com>.
258
4af6fee1
DS
259config ARCH_PNX4008
260 bool "Philips Nexperia PNX4008 Mobile"
261 help
262 This enables support for Philips PNX4008 mobile platform.
263
1da177e4
LT
264config ARCH_PXA
265 bool "PXA2xx-based"
a4f7e763 266 depends on MMU
034d2f5a 267 select ARCH_MTD_XIP
f999b8bd
MM
268 help
269 Support for Intel's PXA2XX processor line.
1da177e4
LT
270
271config ARCH_RPC
272 bool "RiscPC"
273 select ARCH_ACORN
274 select FIQ
275 select TIMER_ACORN
a08b6b79 276 select ARCH_MAY_HAVE_PC_FDC
065909b9 277 select ISA_DMA_API
1da177e4
LT
278 help
279 On the Acorn Risc-PC, Linux can support the internal IDE disk and
280 CD-ROM interface, serial and parallel port, and the floppy drive.
281
282config ARCH_SA1100
283 bool "SA1100-based"
f7e68bbf 284 select ISA
3cd9e19e 285 select ARCH_DISCONTIGMEM_ENABLE
034d2f5a 286 select ARCH_MTD_XIP
f999b8bd
MM
287 help
288 Support for StrongARM 11x0 based boards.
1da177e4
LT
289
290config ARCH_S3C2410
cd701aa2 291 bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442"
1da177e4
LT
292 help
293 Samsung S3C2410X CPU based systems, such as the Simtec Electronics
294 BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
f6c8965a 295 the Samsung SMDK2410 development board (and derivatives).
1da177e4
LT
296
297config ARCH_SHARK
298 bool "Shark"
f7e68bbf
RK
299 select ISA
300 select ISA_DMA
301 select PCI
f999b8bd
MM
302 help
303 Support for the StrongARM based Digital DNARD machine, also known
304 as "Shark" (<http://www.shark-linux.de/shark.html>).
1da177e4
LT
305
306config ARCH_LH7A40X
307 bool "Sharp LH7A40X"
308 help
309 Say Y here for systems based on one of the Sharp LH7A40X
310 System on a Chip processors. These CPUs include an ARM922T
311 core with a wide array of integrated devices for
312 hand-held and low-power applications.
313
314config ARCH_OMAP
315 bool "TI OMAP"
f999b8bd
MM
316 help
317 Support for TI's OMAP platform (OMAP1 and OMAP2).
1da177e4 318
1da177e4
LT
319endchoice
320
321source "arch/arm/mach-clps711x/Kconfig"
322
e7736d47
LB
323source "arch/arm/mach-ep93xx/Kconfig"
324
1da177e4
LT
325source "arch/arm/mach-footbridge/Kconfig"
326
327source "arch/arm/mach-integrator/Kconfig"
328
3f7e5815
LB
329source "arch/arm/mach-iop32x/Kconfig"
330
331source "arch/arm/mach-iop33x/Kconfig"
1da177e4
LT
332
333source "arch/arm/mach-ixp4xx/Kconfig"
334
335source "arch/arm/mach-ixp2000/Kconfig"
336
c4713074
LB
337source "arch/arm/mach-ixp23xx/Kconfig"
338
1da177e4
LT
339source "arch/arm/mach-pxa/Kconfig"
340
341source "arch/arm/mach-sa1100/Kconfig"
342
d48af15e
TL
343source "arch/arm/plat-omap/Kconfig"
344
345source "arch/arm/mach-omap1/Kconfig"
1da177e4 346
1dbae815
TL
347source "arch/arm/mach-omap2/Kconfig"
348
1da177e4
LT
349source "arch/arm/mach-s3c2410/Kconfig"
350
351source "arch/arm/mach-lh7a40x/Kconfig"
352
353source "arch/arm/mach-imx/Kconfig"
354
355source "arch/arm/mach-h720x/Kconfig"
356
357source "arch/arm/mach-versatile/Kconfig"
358
038c5b60
BN
359source "arch/arm/mach-aaec2000/Kconfig"
360
8ad68bbf
CM
361source "arch/arm/mach-realview/Kconfig"
362
73a59c1c
SP
363source "arch/arm/mach-at91rm9200/Kconfig"
364
bb6d8c88
SH
365source "arch/arm/mach-netx/Kconfig"
366
1da177e4
LT
367# Definitions to make life easier
368config ARCH_ACORN
369 bool
370
7ae1f7ec
LB
371config PLAT_IOP
372 bool
373
1da177e4
LT
374source arch/arm/mm/Kconfig
375
376# bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
377config XSCALE_PMU
378 bool
379 depends on CPU_XSCALE && !XSCALE_PMU_TIMER
380 default y
381
3b93e7b0
HC
382if !MMU
383source "arch/arm/Kconfig-nommu"
384endif
385
1da177e4
LT
386endmenu
387
388source "arch/arm/common/Kconfig"
389
390config FORCE_MAX_ZONEORDER
391 int
392 depends on SA1111
393 default "9"
394
395menu "Bus support"
396
397config ARM_AMBA
398 bool
399
400config ISA
401 bool
1da177e4
LT
402 help
403 Find out whether you have ISA slots on your motherboard. ISA is the
404 name of a bus system, i.e. the way the CPU talks to the other stuff
405 inside your box. Other bus systems are PCI, EISA, MicroChannel
406 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
407 newer boards don't support it. If you have ISA, say Y, otherwise N.
408
065909b9 409# Select ISA DMA controller support
1da177e4
LT
410config ISA_DMA
411 bool
065909b9 412 select ISA_DMA_API
1da177e4 413
065909b9 414# Select ISA DMA interface
5cae841b
AV
415config ISA_DMA_API
416 bool
5cae841b 417
1da177e4 418config PCI
68939121 419 bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX
1da177e4
LT
420 help
421 Find out whether you have a PCI motherboard. PCI is the name of a
422 bus system, i.e. the way the CPU talks to the other stuff inside
423 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
424 VESA. If you have PCI, say Y, otherwise N.
425
426 The PCI-HOWTO, available from
427 <http://www.tldp.org/docs.html#howto>, contains valuable
428 information about which PCI hardware does work under Linux and which
429 doesn't.
430
431# Select the host bridge type
432config PCI_HOST_VIA82C505
433 bool
434 depends on PCI && ARCH_SHARK
435 default y
436
437source "drivers/pci/Kconfig"
438
439source "drivers/pcmcia/Kconfig"
440
441endmenu
442
443menu "Kernel Features"
444
445config SMP
446 bool "Symmetric Multi-Processing (EXPERIMENTAL)"
f6db449c 447 depends on EXPERIMENTAL && REALVIEW_MPCORE
1da177e4
LT
448 help
449 This enables support for systems with more than one CPU. If you have
450 a system with only one CPU, like most personal computers, say N. If
451 you have a system with more than one CPU, say Y.
452
453 If you say N here, the kernel will run on single and multiprocessor
454 machines, but will use only one CPU of a multiprocessor machine. If
455 you say Y here, the kernel will run on many, but not all, single
456 processor machines. On a single processor machine, the kernel will
457 run faster if you say N here.
458
12c62c2e
AO
459 See also the <file:Documentation/smp.txt>,
460 <file:Documentation/i386/IO-APIC.txt>,
1da177e4
LT
461 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
462 <http://www.linuxdoc.org/docs.html#howto>.
463
464 If you don't know what to do here, say N.
465
466config NR_CPUS
467 int "Maximum number of CPUs (2-32)"
468 range 2 32
469 depends on SMP
470 default "4"
471
a054a811
RK
472config HOTPLUG_CPU
473 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
474 depends on SMP && HOTPLUG && EXPERIMENTAL
475 help
476 Say Y here to experiment with turning CPUs off and on. CPUs
477 can be controlled through /sys/devices/system/cpu.
478
37ee16ae
RK
479config LOCAL_TIMERS
480 bool "Use local timer interrupts"
2a98beb6 481 depends on SMP && REALVIEW_MPCORE
37ee16ae
RK
482 default y
483 help
484 Enable support for local timers on SMP platforms, rather then the
485 legacy IPI broadcast method. Local timers allows the system
486 accounting to be spread across the timer interval, preventing a
487 "thundering herd" at every timer tick.
488
1da177e4
LT
489config PREEMPT
490 bool "Preemptible Kernel (EXPERIMENTAL)"
491 depends on EXPERIMENTAL
492 help
493 This option reduces the latency of the kernel when reacting to
494 real-time or interactive events by allowing a low priority process to
495 be preempted even if it is in kernel mode executing a system call.
496 This allows applications to run more reliably even when the system is
497 under load.
498
499 Say Y here if you are building a kernel for a desktop, embedded
500 or real-time system. Say N if you are unsure.
501
8749af68
RK
502config NO_IDLE_HZ
503 bool "Dynamic tick timer"
504 help
505 Select this option if you want to disable continuous timer ticks
506 and have them programmed to occur as required. This option saves
507 power as the system can remain in idle state for longer.
508
509 By default dynamic tick is disabled during the boot, and can be
510 manually enabled with:
511
512 echo 1 > /sys/devices/system/timer/timer0/dyn_tick
513
514 Alternatively, if you want dynamic tick automatically enabled
515 during boot, pass "dyntick=enable" via the kernel command string.
516
f2be64b3
TL
517 Please note that dynamic tick may affect the accuracy of
518 timekeeping on some platforms depending on the implementation.
569d2c34
NP
519 Currently at least OMAP, PXA2xx and SA11x0 platforms are known
520 to have accurate timekeeping with dynamic tick.
f2be64b3 521
f8065813
RK
522config HZ
523 int
524 default 128 if ARCH_L7200
525 default 200 if ARCH_EBSA110 || ARCH_S3C2410
bfe65704 526 default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
f8065813
RK
527 default 100
528
704bdda0
NP
529config AEABI
530 bool "Use the ARM EABI to compile the kernel"
531 help
532 This option allows for the kernel to be compiled using the latest
533 ARM ABI (aka EABI). This is only useful if you are using a user
534 space environment that is also compiled with EABI.
535
536 Since there are major incompatibilities between the legacy ABI and
537 EABI, especially with regard to structure member alignment, this
538 option also changes the kernel syscall calling convention to
539 disambiguate both ABIs and allow for backward compatibility support
540 (selected with CONFIG_OABI_COMPAT).
541
542 To use this you need GCC version 4.0.0 or later.
543
6c90c872 544config OABI_COMPAT
a73a3ff1 545 bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
61c484d4 546 depends on AEABI && EXPERIMENTAL
6c90c872
NP
547 default y
548 help
549 This option preserves the old syscall interface along with the
550 new (ARM EABI) one. It also provides a compatibility layer to
551 intercept syscalls that have structure arguments which layout
552 in memory differs between the legacy ABI and the new ARM EABI
553 (only for non "thumb" binaries). This option adds a tiny
554 overhead to all syscalls and produces a slightly larger kernel.
555 If you know you'll be using only pure EABI user space then you
556 can say N here. If this option is not selected and you attempt
557 to execute a legacy ABI binary then the result will be
558 UNPREDICTABLE (in fact it can be predicted that it won't work
559 at all). If in doubt say Y.
560
3f22ab27 561config ARCH_DISCONTIGMEM_ENABLE
1da177e4 562 bool
f7e68bbf 563 default (ARCH_LH7A40X && !LH7A40X_CONTIGMEM)
1da177e4
LT
564 help
565 Say Y to support efficient handling of discontiguous physical memory,
566 for architectures which are either NUMA (Non-Uniform Memory Access)
567 or have huge holes in the physical address space for other reasons.
568 See <file:Documentation/vm/numa> for more.
569
c80d79d7
YG
570config NODES_SHIFT
571 int
572 default "4" if ARCH_LH7A40X
573 default "2"
574 depends on NEED_MULTIPLE_NODES
575
3f22ab27
DH
576source "mm/Kconfig"
577
1da177e4
LT
578config LEDS
579 bool "Timer and CPU usage LEDs"
580 depends on ARCH_CDB89712 || ARCH_CO285 || ARCH_EBSA110 || \
581 ARCH_EBSA285 || ARCH_IMX || ARCH_INTEGRATOR || \
582 ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
583 ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
73a59c1c 584 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \