ARM: pxa: convert sched_clock() to use new infrastructure
[linux-2.6-block.git] / arch / arm / Kconfig
CommitLineData
1da177e4
LT
1config ARM
2 bool
3 default y
e17c6d56 4 select HAVE_AOUT
2064c946 5 select HAVE_IDE
2778f620 6 select HAVE_MEMBLOCK
12b824fb 7 select RTC_LIB
75e7153a 8 select SYS_SUPPORTS_APM_EMULATION
d4c7b1f9 9 select GENERIC_ATOMIC64 if (!CPU_32v6K || !AEABI)
fe166148 10 select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
5cbad0eb 11 select HAVE_ARCH_KGDB
3f550096 12 select HAVE_KPROBES if (!XIP_KERNEL)
9edddaa2 13 select HAVE_KRETPROBES if (HAVE_KPROBES)
606576ce 14 select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)
80be7a7f
RV
15 select HAVE_FTRACE_MCOUNT_RECORD if (!XIP_KERNEL)
16 select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL)
0e341af8 17 select HAVE_FUNCTION_GRAPH_TRACER if (!THUMB2_KERNEL)
1fe53268 18 select HAVE_GENERIC_DMA_COHERENT
e7db7b42
AT
19 select HAVE_KERNEL_GZIP
20 select HAVE_KERNEL_LZO
6e8699f7 21 select HAVE_KERNEL_LZMA
e360adbe 22 select HAVE_IRQ_WORK
7ada189f
JI
23 select HAVE_PERF_EVENTS
24 select PERF_USE_VMALLOC
e513f8bf 25 select HAVE_REGS_AND_STACK_ACCESS_API
19852e59 26 select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V7))
1da177e4
LT
27 help
28 The ARM series is a line of low-power-consumption RISC chip designs
f6c8965a 29 licensed by ARM Ltd and targeted at embedded applications and
1da177e4 30 handhelds such as the Compaq IPAQ. ARM-based PCs are no longer
f6c8965a 31 manufactured, but legacy ARM-based PC hardware remains popular in
1da177e4
LT
32 Europe. There is an ARM Linux project with a web page at
33 <http://www.arm.linux.org.uk/>.
34
1a189b97
RK
35config HAVE_PWM
36 bool
37
75e7153a
RB
38config SYS_SUPPORTS_APM_EMULATION
39 bool
40
112f38a4
RK
41config HAVE_SCHED_CLOCK
42 bool
43
0a938b97
DB
44config GENERIC_GPIO
45 bool
0a938b97 46
5cfc8ee0
JS
47config ARCH_USES_GETTIMEOFFSET
48 bool
49 default n
746140c7 50
0567a0c0
KH
51config GENERIC_CLOCKEVENTS
52 bool
0567a0c0 53
a8655e83
CM
54config GENERIC_CLOCKEVENTS_BROADCAST
55 bool
56 depends on GENERIC_CLOCKEVENTS
5388a6b2 57 default y if SMP
a8655e83 58
bc581770
LW
59config HAVE_TCM
60 bool
61 select GENERIC_ALLOCATOR
62
e119bfff
RK
63config HAVE_PROC_CPU
64 bool
65
5ea81769
AV
66config NO_IOPORT
67 bool
5ea81769 68
1da177e4
LT
69config EISA
70 bool
71 ---help---
72 The Extended Industry Standard Architecture (EISA) bus was
73 developed as an open alternative to the IBM MicroChannel bus.
74
75 The EISA bus provided some of the features of the IBM MicroChannel
76 bus while maintaining backward compatibility with cards made for
77 the older ISA bus. The EISA bus saw limited use between 1988 and
78 1995 when it was made obsolete by the PCI bus.
79
80 Say Y here if you are building a kernel for an EISA-based machine.
81
82 Otherwise, say N.
83
84config SBUS
85 bool
86
87config MCA
88 bool
89 help
90 MicroChannel Architecture is found in some IBM PS/2 machines and
91 laptops. It is a bus system similar to PCI or ISA. See
92 <file:Documentation/mca.txt> (and especially the web page given
93 there) before attempting to build an MCA bus kernel.
94
4a2581a0
TG
95config GENERIC_HARDIRQS
96 bool
97 default y
98
f16fb1ec
RK
99config STACKTRACE_SUPPORT
100 bool
101 default y
102
f76e9154
NP
103config HAVE_LATENCYTOP_SUPPORT
104 bool
105 depends on !SMP
106 default y
107
f16fb1ec
RK
108config LOCKDEP_SUPPORT
109 bool
110 default y
111
7ad1bcb2
RK
112config TRACE_IRQFLAGS_SUPPORT
113 bool
114 default y
115
4a2581a0
TG
116config HARDIRQS_SW_RESEND
117 bool
118 default y
119
120config GENERIC_IRQ_PROBE
121 bool
122 default y
123
95c354fe
NP
124config GENERIC_LOCKBREAK
125 bool
126 default y
127 depends on SMP && PREEMPT
128
1da177e4
LT
129config RWSEM_GENERIC_SPINLOCK
130 bool
131 default y
132
133config RWSEM_XCHGADD_ALGORITHM
134 bool
135
f0d1b0b3
DH
136config ARCH_HAS_ILOG2_U32
137 bool
f0d1b0b3
DH
138
139config ARCH_HAS_ILOG2_U64
140 bool
f0d1b0b3 141
89c52ed4
BD
142config ARCH_HAS_CPUFREQ
143 bool
144 help
145 Internal node to signify that the ARCH has CPUFREQ support
146 and that the relevant menu configurations are displayed for
147 it.
148
c7b0aff4
KH
149config ARCH_HAS_CPU_IDLE_WAIT
150 def_bool y
151
b89c3b16
AM
152config GENERIC_HWEIGHT
153 bool
154 default y
155
1da177e4
LT
156config GENERIC_CALIBRATE_DELAY
157 bool
158 default y
159
a08b6b79
Z
160config ARCH_MAY_HAVE_PC_FDC
161 bool
162
5ac6da66
CL
163config ZONE_DMA
164 bool
5ac6da66 165
ccd7ab7f
FT
166config NEED_DMA_MAP_STATE
167 def_bool y
168
1da177e4
LT
169config GENERIC_ISA_DMA
170 bool
171
1da177e4
LT
172config FIQ
173 bool
174
034d2f5a
AV
175config ARCH_MTD_XIP
176 bool
177
60a752ef 178config GENERIC_HARDIRQS_NO__DO_IRQ
60a752ef
PZ
179 def_bool y
180
d6d502fa
KK
181config ARM_L1_CACHE_SHIFT_6
182 bool
183 help
184 Setting ARM L1 cache line size to 64 Bytes.
185
c760fc19
HC
186config VECTORS_BASE
187 hex
6afd6fae 188 default 0xffff0000 if MMU || CPU_HIGH_VECTOR
c760fc19
HC
189 default DRAM_BASE if REMAP_VECTORS_TO_RAM
190 default 0x00000000
191 help
192 The base address of exception vectors.
193
1da177e4
LT
194source "init/Kconfig"
195
dc52ddc0
MH
196source "kernel/Kconfig.freezer"
197
1da177e4
LT
198menu "System Type"
199
3c427975
HC
200config MMU
201 bool "MMU-based Paged Memory Management Support"
202 default y
203 help
204 Select if you want MMU-based virtualised addressing space
205 support by paged memory management. If unsure, say 'Y'.
206
ccf50e23
RK
207#
208# The "ARM system type" choice list is ordered alphabetically by option
209# text. Please add new entries in the option alphabetic order.
210#
1da177e4
LT
211choice
212 prompt "ARM system type"
6a0e2430 213 default ARCH_VERSATILE
1da177e4 214
4af6fee1
DS
215config ARCH_AAEC2000
216 bool "Agilent AAEC-2000 based"
c750815e 217 select CPU_ARM920T
4af6fee1 218 select ARM_AMBA
9483a578 219 select HAVE_CLK
5cfc8ee0 220 select ARCH_USES_GETTIMEOFFSET
4af6fee1
DS
221 help
222 This enables support for systems based on the Agilent AAEC-2000
223
224config ARCH_INTEGRATOR
225 bool "ARM Ltd. Integrator family"
226 select ARM_AMBA
89c52ed4 227 select ARCH_HAS_CPUFREQ
d72fbdf0 228 select COMMON_CLKDEV
c5a0adb5 229 select ICST
13edd86d 230 select GENERIC_CLOCKEVENTS
f4b8b319 231 select PLAT_VERSATILE
4af6fee1
DS
232 help
233 Support for ARM's Integrator platform.
234
235config ARCH_REALVIEW
236 bool "ARM Ltd. RealView family"
237 select ARM_AMBA
cf30fb4a 238 select COMMON_CLKDEV
c5a0adb5 239 select ICST
ae30ceac 240 select GENERIC_CLOCKEVENTS
eb7fffa3 241 select ARCH_WANT_OPTIONAL_GPIOLIB
f4b8b319 242 select PLAT_VERSATILE
e3887714 243 select ARM_TIMER_SP804
b56ba8aa 244 select GPIO_PL061 if GPIOLIB
4af6fee1
DS
245 help
246 This enables support for ARM Ltd RealView boards.
247
248config ARCH_VERSATILE
249 bool "ARM Ltd. Versatile family"
250 select ARM_AMBA
251 select ARM_VIC
71a06da0 252 select COMMON_CLKDEV
c5a0adb5 253 select ICST
89df1272 254 select GENERIC_CLOCKEVENTS
bbeddc43 255 select ARCH_WANT_OPTIONAL_GPIOLIB
f4b8b319 256 select PLAT_VERSATILE
e3887714 257 select ARM_TIMER_SP804
4af6fee1
DS
258 help
259 This enables support for ARM Ltd Versatile board.
260
ceade897
RK
261config ARCH_VEXPRESS
262 bool "ARM Ltd. Versatile Express family"
263 select ARCH_WANT_OPTIONAL_GPIOLIB
264 select ARM_AMBA
265 select ARM_TIMER_SP804
266 select COMMON_CLKDEV
267 select GENERIC_CLOCKEVENTS
ceade897
RK
268 select HAVE_CLK
269 select ICST
270 select PLAT_VERSATILE
271 help
272 This enables support for the ARM Ltd Versatile Express boards.
273
8fc5ffa0
AV
274config ARCH_AT91
275 bool "Atmel AT91"
f373e8c0 276 select ARCH_REQUIRE_GPIOLIB
93686ae8 277 select HAVE_CLK
4af6fee1 278 help
2b3b3516
AV
279 This enables support for systems based on the Atmel AT91RM9200,
280 AT91SAM9 and AT91CAP9 processors.
4af6fee1 281
ccf50e23
RK
282config ARCH_BCMRING
283 bool "Broadcom BCMRING"
284 depends on MMU
285 select CPU_V6
286 select ARM_AMBA
287 select COMMON_CLKDEV
ccf50e23
RK
288 select GENERIC_CLOCKEVENTS
289 select ARCH_WANT_OPTIONAL_GPIOLIB
290 help
291 Support for Broadcom's BCMRing platform.
292
1da177e4 293config ARCH_CLPS711X
4af6fee1 294 bool "Cirrus Logic CLPS711x/EP721x-based"
c750815e 295 select CPU_ARM720T
5cfc8ee0 296 select ARCH_USES_GETTIMEOFFSET
f999b8bd
MM
297 help
298 Support for Cirrus Logic 711x/721x based boards.
1da177e4 299
d94f944e
AV
300config ARCH_CNS3XXX
301 bool "Cavium Networks CNS3XXX family"
302 select CPU_V6
d94f944e
AV
303 select GENERIC_CLOCKEVENTS
304 select ARM_GIC
5f32f7a0 305 select PCI_DOMAINS if PCI
d94f944e
AV
306 help
307 Support for Cavium Networks CNS3XXX platform.
308
788c9700
RK
309config ARCH_GEMINI
310 bool "Cortina Systems Gemini"
311 select CPU_FA526
788c9700 312 select ARCH_REQUIRE_GPIOLIB
5cfc8ee0 313 select ARCH_USES_GETTIMEOFFSET
788c9700
RK
314 help
315 Support for the Cortina Systems Gemini family SoCs
316
1da177e4
LT
317config ARCH_EBSA110
318 bool "EBSA-110"
c750815e 319 select CPU_SA110
f7e68bbf 320 select ISA
c5eb2a2b 321 select NO_IOPORT
5cfc8ee0 322 select ARCH_USES_GETTIMEOFFSET
1da177e4
LT
323 help
324 This is an evaluation board for the StrongARM processor available
f6c8965a 325 from Digital. It has limited hardware on-board, including an
1da177e4
LT
326 Ethernet interface, two PCMCIA sockets, two serial ports and a
327 parallel port.
328
e7736d47
LB
329config ARCH_EP93XX
330 bool "EP93xx-based"
c750815e 331 select CPU_ARM920T
e7736d47
LB
332 select ARM_AMBA
333 select ARM_VIC
ae696fd5 334 select COMMON_CLKDEV
7444a72e 335 select ARCH_REQUIRE_GPIOLIB
eb33575c 336 select ARCH_HAS_HOLES_MEMORYMODEL
5cfc8ee0 337 select ARCH_USES_GETTIMEOFFSET
e7736d47
LB
338 help
339 This enables support for the Cirrus EP93xx series of CPUs.
340
1da177e4
LT
341config ARCH_FOOTBRIDGE
342 bool "FootBridge"
c750815e 343 select CPU_SA110
1da177e4 344 select FOOTBRIDGE
5cfc8ee0 345 select ARCH_USES_GETTIMEOFFSET
f999b8bd
MM
346 help
347 Support for systems based on the DC21285 companion chip
348 ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
1da177e4 349
788c9700
RK
350config ARCH_MXC
351 bool "Freescale MXC/iMX-based"
788c9700 352 select GENERIC_CLOCKEVENTS
788c9700 353 select ARCH_REQUIRE_GPIOLIB
03e09cd8 354 select COMMON_CLKDEV
788c9700
RK
355 help
356 Support for Freescale MXC/iMX-based family of processors
357
7bd0f2f5 358config ARCH_STMP3XXX
359 bool "Freescale STMP3xxx"
360 select CPU_ARM926T
7bd0f2f5 361 select COMMON_CLKDEV
362 select ARCH_REQUIRE_GPIOLIB
7bd0f2f5 363 select GENERIC_CLOCKEVENTS
7bd0f2f5 364 select USB_ARCH_HAS_EHCI
365 help
366 Support for systems based on the Freescale 3xxx CPUs.
367
4af6fee1
DS
368config ARCH_NETX
369 bool "Hilscher NetX based"
c750815e 370 select CPU_ARM926T
4af6fee1 371 select ARM_VIC
2fcfe6b8 372 select GENERIC_CLOCKEVENTS
f999b8bd 373 help
4af6fee1
DS
374 This enables support for systems based on the Hilscher NetX Soc
375
376config ARCH_H720X
377 bool "Hynix HMS720x-based"
c750815e 378 select CPU_ARM720T
4af6fee1 379 select ISA_DMA_API
5cfc8ee0 380 select ARCH_USES_GETTIMEOFFSET
4af6fee1
DS
381 help
382 This enables support for systems based on the Hynix HMS720x
383
3b938be6
RK
384config ARCH_IOP13XX
385 bool "IOP13xx-based"
386 depends on MMU
c750815e 387 select CPU_XSC3
3b938be6
RK
388 select PLAT_IOP
389 select PCI
390 select ARCH_SUPPORTS_MSI
8d5796d2 391 select VMSPLIT_1G
3b938be6
RK
392 help
393 Support for Intel's IOP13XX (XScale) family of processors.
394
3f7e5815
LB
395config ARCH_IOP32X
396 bool "IOP32x-based"
a4f7e763 397 depends on MMU
c750815e 398 select CPU_XSCALE
7ae1f7ec 399 select PLAT_IOP
f7e68bbf 400 select PCI
bb2b180c 401 select ARCH_REQUIRE_GPIOLIB
f999b8bd 402 help
3f7e5815
LB
403 Support for Intel's 80219 and IOP32X (XScale) family of
404 processors.
405
406config ARCH_IOP33X
407 bool "IOP33x-based"
408 depends on MMU
c750815e 409 select CPU_XSCALE
7ae1f7ec 410 select PLAT_IOP
3f7e5815 411 select PCI
bb2b180c 412 select ARCH_REQUIRE_GPIOLIB
3f7e5815
LB
413 help
414 Support for Intel's IOP33X (XScale) family of processors.
1da177e4 415
3b938be6
RK
416config ARCH_IXP23XX
417 bool "IXP23XX-based"
a4f7e763 418 depends on MMU
c750815e 419 select CPU_XSC3
3b938be6 420 select PCI
5cfc8ee0 421 select ARCH_USES_GETTIMEOFFSET
f999b8bd 422 help
3b938be6 423 Support for Intel's IXP23xx (XScale) family of processors.
1da177e4
LT
424
425config ARCH_IXP2000
426 bool "IXP2400/2800-based"
a4f7e763 427 depends on MMU
c750815e 428 select CPU_XSCALE
f7e68bbf 429 select PCI
5cfc8ee0 430 select ARCH_USES_GETTIMEOFFSET
f999b8bd
MM
431 help
432 Support for Intel's IXP2400/2800 (XScale) family of processors.
1da177e4 433
3b938be6
RK
434config ARCH_IXP4XX
435 bool "IXP4xx-based"
a4f7e763 436 depends on MMU
c750815e 437 select CPU_XSCALE
8858e9af 438 select GENERIC_GPIO
3b938be6 439 select GENERIC_CLOCKEVENTS
5b0d495c 440 select HAVE_SCHED_CLOCK
485bdde7 441 select DMABOUNCE if PCI
c4713074 442 help
3b938be6 443 Support for Intel's IXP4XX (XScale) family of processors.
c4713074 444
edabd38e
SB
445config ARCH_DOVE
446 bool "Marvell Dove"
447 select PCI
edabd38e 448 select ARCH_REQUIRE_GPIOLIB
edabd38e
SB
449 select GENERIC_CLOCKEVENTS
450 select PLAT_ORION
451 help
452 Support for the Marvell Dove SoC 88AP510
453
651c74c7
SB
454config ARCH_KIRKWOOD
455 bool "Marvell Kirkwood"
c750815e 456 select CPU_FEROCEON
651c74c7 457 select PCI
a8865655 458 select ARCH_REQUIRE_GPIOLIB
651c74c7
SB
459 select GENERIC_CLOCKEVENTS
460 select PLAT_ORION
461 help
462 Support for the following Marvell Kirkwood series SoCs:
463 88F6180, 88F6192 and 88F6281.
464
777f9beb
LB
465config ARCH_LOKI
466 bool "Marvell Loki (88RC8480)"
c750815e 467 select CPU_FEROCEON
777f9beb
LB
468 select GENERIC_CLOCKEVENTS
469 select PLAT_ORION
470 help
471 Support for the Marvell Loki (88RC8480) SoC.
472
40805949
KW
473config ARCH_LPC32XX
474 bool "NXP LPC32XX"
475 select CPU_ARM926T
476 select ARCH_REQUIRE_GPIOLIB
477 select HAVE_IDE
478 select ARM_AMBA
479 select USB_ARCH_HAS_OHCI
480 select COMMON_CLKDEV
481 select GENERIC_TIME
482 select GENERIC_CLOCKEVENTS
483 help
484 Support for the NXP LPC32XX family of processors
485
794d15b2
SS
486config ARCH_MV78XX0
487 bool "Marvell MV78xx0"
c750815e 488 select CPU_FEROCEON
794d15b2 489 select PCI
a8865655 490 select ARCH_REQUIRE_GPIOLIB
794d15b2
SS
491 select GENERIC_CLOCKEVENTS
492 select PLAT_ORION
493 help
494 Support for the following Marvell MV78xx0 series SoCs:
495 MV781x0, MV782x0.
496
9dd0b194 497config ARCH_ORION5X
585cf175
TP
498 bool "Marvell Orion"
499 depends on MMU
c750815e 500 select CPU_FEROCEON
038ee083 501 select PCI
a8865655 502 select ARCH_REQUIRE_GPIOLIB
51cbff1d 503 select GENERIC_CLOCKEVENTS
69b02f6a 504 select PLAT_ORION
585cf175 505 help
9dd0b194 506 Support for the following Marvell Orion 5x series SoCs:
d2b2a6bb 507 Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
d323ade1 508 Orion-2 (5281), Orion-1-90 (6183).
585cf175 509
788c9700 510config ARCH_MMP
2f7e8fae 511 bool "Marvell PXA168/910/MMP2"
788c9700 512 depends on MMU
788c9700 513 select ARCH_REQUIRE_GPIOLIB
788c9700 514 select COMMON_CLKDEV
788c9700 515 select GENERIC_CLOCKEVENTS
28bb7bc6 516 select HAVE_SCHED_CLOCK
788c9700
RK
517 select TICK_ONESHOT
518 select PLAT_PXA
0bd86961 519 select SPARSE_IRQ
788c9700 520 help
2f7e8fae 521 Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
788c9700
RK
522
523config ARCH_KS8695
524 bool "Micrel/Kendin KS8695"
525 select CPU_ARM922T
98830bc9 526 select ARCH_REQUIRE_GPIOLIB
5cfc8ee0 527 select ARCH_USES_GETTIMEOFFSET
788c9700
RK
528 help
529 Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
530 System-on-Chip devices.
531
532config ARCH_NS9XXX
533 bool "NetSilicon NS9xxx"
534 select CPU_ARM926T
535 select GENERIC_GPIO
788c9700
RK
536 select GENERIC_CLOCKEVENTS
537 select HAVE_CLK
538 help
539 Say Y here if you intend to run this kernel on a NetSilicon NS9xxx
540 System.
541
542 <http://www.digi.com/products/microprocessors/index.jsp>
543
544config ARCH_W90X900
545 bool "Nuvoton W90X900 CPU"
546 select CPU_ARM926T
c52d3d68 547 select ARCH_REQUIRE_GPIOLIB
0e4a34bb 548 select COMMON_CLKDEV
58b5369e 549 select GENERIC_CLOCKEVENTS
788c9700 550 help
a8bc4ead 551 Support for Nuvoton (Winbond logic dept.) ARM9 processor,
552 At present, the w90x900 has been renamed nuc900, regarding
553 the ARM series product line, you can login the following
554 link address to know more.
555
556 <http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/
557 ConsumerElectronicsIC/ARMMicrocontroller/ARMMicrocontroller>
788c9700 558
a62e9030 559config ARCH_NUC93X
560 bool "Nuvoton NUC93X CPU"
561 select CPU_ARM926T
a62e9030 562 select COMMON_CLKDEV
563 help
564 Support for Nuvoton (Winbond logic dept.) NUC93X MCU,The NUC93X is a
565 low-power and high performance MPEG-4/JPEG multimedia controller chip.
566
c5f80065
EG
567config ARCH_TEGRA
568 bool "NVIDIA Tegra"
569 select GENERIC_TIME
570 select GENERIC_CLOCKEVENTS
571 select GENERIC_GPIO
572 select HAVE_CLK
d8611961 573 select COMMON_CLKDEV
c5f80065 574 select ARCH_HAS_BARRIERS if CACHE_L2X0
7056d423 575 select ARCH_HAS_CPUFREQ
c5f80065
EG
576 help
577 This enables support for NVIDIA Tegra based systems (Tegra APX,
578 Tegra 6xx and Tegra 2 series).
579
4af6fee1
DS
580config ARCH_PNX4008
581 bool "Philips Nexperia PNX4008 Mobile"
c750815e 582 select CPU_ARM926T
6985a5ad 583 select COMMON_CLKDEV
5cfc8ee0 584 select ARCH_USES_GETTIMEOFFSET
4af6fee1
DS
585 help
586 This enables support for Philips PNX4008 mobile platform.
587
1da177e4 588config ARCH_PXA
2c8086a5 589 bool "PXA2xx/PXA3xx-based"
a4f7e763 590 depends on MMU
034d2f5a 591 select ARCH_MTD_XIP
89c52ed4 592 select ARCH_HAS_CPUFREQ
8c3abc7d 593 select COMMON_CLKDEV
7444a72e 594 select ARCH_REQUIRE_GPIOLIB
981d0f39 595 select GENERIC_CLOCKEVENTS
7ce83018 596 select HAVE_SCHED_CLOCK
a88264c2 597 select TICK_ONESHOT
bd5ce433 598 select PLAT_PXA
6ac6b817 599 select SPARSE_IRQ
f999b8bd 600 help
2c8086a5 601 Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
1da177e4 602
788c9700
RK
603config ARCH_MSM
604 bool "Qualcomm MSM"
4b536b8d 605 select HAVE_CLK
49cbe786 606 select GENERIC_CLOCKEVENTS
923a081c 607 select ARCH_REQUIRE_GPIOLIB
49cbe786 608 help
4b53eb4f
DW
609 Support for Qualcomm MSM/QSD based systems. This runs on the
610 apps processor of the MSM/QSD and depends on a shared memory
611 interface to the modem processor which runs the baseband
612 stack and controls some vital subsystems
613 (clock and power control, etc).
49cbe786 614
c793c1b0
MD
615config ARCH_SHMOBILE
616 bool "Renesas SH-Mobile"
617 help
618 Support for Renesas's SH-Mobile ARM platforms
619
1da177e4
LT
620config ARCH_RPC
621 bool "RiscPC"
622 select ARCH_ACORN
623 select FIQ
624 select TIMER_ACORN
a08b6b79 625 select ARCH_MAY_HAVE_PC_FDC
341eb781 626 select HAVE_PATA_PLATFORM
065909b9 627 select ISA_DMA_API
5ea81769 628 select NO_IOPORT
07f841b7 629 select ARCH_SPARSEMEM_ENABLE
5cfc8ee0 630 select ARCH_USES_GETTIMEOFFSET
1da177e4
LT
631 help
632 On the Acorn Risc-PC, Linux can support the internal IDE disk and
633 CD-ROM interface, serial and parallel port, and the floppy drive.
634
635config ARCH_SA1100
636 bool "SA1100-based"
c750815e 637 select CPU_SA1100
f7e68bbf 638 select ISA
05944d74 639 select ARCH_SPARSEMEM_ENABLE
034d2f5a 640 select ARCH_MTD_XIP
89c52ed4 641 select ARCH_HAS_CPUFREQ
1937f5b9 642 select CPU_FREQ
3e238be2 643 select GENERIC_CLOCKEVENTS
9483a578 644 select HAVE_CLK
3e238be2 645 select TICK_ONESHOT
7444a72e 646 select ARCH_REQUIRE_GPIOLIB
f999b8bd
MM
647 help
648 Support for StrongARM 11x0 based boards.
1da177e4
LT
649
650config ARCH_S3C2410
63b1f51b 651 bool "Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443, S3C2450"
0a938b97 652 select GENERIC_GPIO
9d56c02a 653 select ARCH_HAS_CPUFREQ
9483a578 654 select HAVE_CLK
5cfc8ee0 655 select ARCH_USES_GETTIMEOFFSET
20676c15 656 select HAVE_S3C2410_I2C if I2C
1da177e4
LT
657 help
658 Samsung S3C2410X CPU based systems, such as the Simtec Electronics
659 BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
f6c8965a 660 the Samsung SMDK2410 development board (and derivatives).
1da177e4 661
63b1f51b
BD
662 Note, the S3C2416 and the S3C2450 are so close that they even share
663 the same SoC ID code. This means that there is no seperate machine
664 directory (no arch/arm/mach-s3c2450) as the S3C2416 was first.
665
a08ab637
BD
666config ARCH_S3C64XX
667 bool "Samsung S3C64XX"
89f1fa08 668 select PLAT_SAMSUNG
89f0ce72 669 select CPU_V6
89f0ce72 670 select ARM_VIC
a08ab637 671 select HAVE_CLK
89f0ce72 672 select NO_IOPORT
5cfc8ee0 673 select ARCH_USES_GETTIMEOFFSET
89c52ed4 674 select ARCH_HAS_CPUFREQ
89f0ce72
BD
675 select ARCH_REQUIRE_GPIOLIB
676 select SAMSUNG_CLKSRC
677 select SAMSUNG_IRQ_VIC_TIMER
678 select SAMSUNG_IRQ_UART
679 select S3C_GPIO_TRACK
680 select S3C_GPIO_PULL_UPDOWN
681 select S3C_GPIO_CFG_S3C24XX
682 select S3C_GPIO_CFG_S3C64XX
683 select S3C_DEV_NAND
684 select USB_ARCH_HAS_OHCI
685 select SAMSUNG_GPIOLIB_4BIT
20676c15 686 select HAVE_S3C2410_I2C if I2C
c39d8d55 687 select HAVE_S3C2410_WATCHDOG if WATCHDOG
a08ab637
BD
688 help
689 Samsung S3C64XX series based systems
690
49b7a491
KK
691config ARCH_S5P64X0
692 bool "Samsung S5P6440 S5P6450"
c4ffccdd
KK
693 select CPU_V6
694 select GENERIC_GPIO
695 select HAVE_CLK
c39d8d55 696 select HAVE_S3C2410_WATCHDOG if WATCHDOG
925c68cd 697 select ARCH_USES_GETTIMEOFFSET
20676c15 698 select HAVE_S3C2410_I2C if I2C
754961a8 699 select HAVE_S3C_RTC if RTC_CLASS
c4ffccdd 700 help
49b7a491
KK
701 Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,
702 SMDK6450.
c4ffccdd 703
550db7f1
KK
704config ARCH_S5P6442
705 bool "Samsung S5P6442"
706 select CPU_V6
707 select GENERIC_GPIO
708 select HAVE_CLK
925c68cd 709 select ARCH_USES_GETTIMEOFFSET
c39d8d55 710 select HAVE_S3C2410_WATCHDOG if WATCHDOG
550db7f1
KK
711 help
712 Samsung S5P6442 CPU based systems
713
acc84707
MS
714config ARCH_S5PC100
715 bool "Samsung S5PC100"
5a7652f2
BM
716 select GENERIC_GPIO
717 select HAVE_CLK
718 select CPU_V7
d6d502fa 719 select ARM_L1_CACHE_SHIFT_6
925c68cd 720 select ARCH_USES_GETTIMEOFFSET
20676c15 721 select HAVE_S3C2410_I2C if I2C
754961a8 722 select HAVE_S3C_RTC if RTC_CLASS
c39d8d55 723 select HAVE_S3C2410_WATCHDOG if WATCHDOG
5a7652f2 724 help
acc84707 725 Samsung S5PC100 series based systems
5a7652f2 726
170f4e42
KK
727config ARCH_S5PV210
728 bool "Samsung S5PV210/S5PC110"
729 select CPU_V7
eecb6a84 730 select ARCH_SPARSEMEM_ENABLE
170f4e42
KK
731 select GENERIC_GPIO
732 select HAVE_CLK
733 select ARM_L1_CACHE_SHIFT_6
d8144aea 734 select ARCH_HAS_CPUFREQ
925c68cd 735 select ARCH_USES_GETTIMEOFFSET
20676c15 736 select HAVE_S3C2410_I2C if I2C
754961a8 737 select HAVE_S3C_RTC if RTC_CLASS
c39d8d55 738 select HAVE_S3C2410_WATCHDOG if WATCHDOG
170f4e42
KK
739 help
740 Samsung S5PV210/S5PC110 series based systems
741
cc0e72b8
CY
742config ARCH_S5PV310
743 bool "Samsung S5PV310/S5PC210"
744 select CPU_V7
f567fa6f 745 select ARCH_SPARSEMEM_ENABLE
cc0e72b8
CY
746 select GENERIC_GPIO
747 select HAVE_CLK
748 select GENERIC_CLOCKEVENTS
754961a8 749 select HAVE_S3C_RTC if RTC_CLASS
20676c15 750 select HAVE_S3C2410_I2C if I2C
c39d8d55 751 select HAVE_S3C2410_WATCHDOG if WATCHDOG
cc0e72b8
CY
752 help
753 Samsung S5PV310 series based systems
754
1da177e4
LT
755config ARCH_SHARK
756 bool "Shark"
c750815e 757 select CPU_SA110
f7e68bbf
RK
758 select ISA
759 select ISA_DMA
3bca103a 760 select ZONE_DMA
f7e68bbf 761 select PCI
5cfc8ee0 762 select ARCH_USES_GETTIMEOFFSET
f999b8bd
MM
763 help
764 Support for the StrongARM based Digital DNARD machine, also known
765 as "Shark" (<http://www.shark-linux.de/shark.html>).
1da177e4 766
83ef3338
HK
767config ARCH_TCC_926
768 bool "Telechips TCC ARM926-based systems"
769 select CPU_ARM926T
770 select HAVE_CLK
771 select COMMON_CLKDEV
772 select GENERIC_CLOCKEVENTS
773 help
774 Support for Telechips TCC ARM926-based systems.
775
1da177e4
LT
776config ARCH_LH7A40X
777 bool "Sharp LH7A40X"
c750815e 778 select CPU_ARM922T
4ba3f7c5 779 select ARCH_SPARSEMEM_ENABLE if !LH7A40X_CONTIGMEM
5cfc8ee0 780 select ARCH_USES_GETTIMEOFFSET
1da177e4
LT
781 help
782 Say Y here for systems based on one of the Sharp LH7A40X
783 System on a Chip processors. These CPUs include an ARM922T
784 core with a wide array of integrated devices for
785 hand-held and low-power applications.
786
d98aac75
LW
787config ARCH_U300
788 bool "ST-Ericsson U300 Series"
789 depends on MMU
790 select CPU_ARM926T
bc581770 791 select HAVE_TCM
d98aac75
LW
792 select ARM_AMBA
793 select ARM_VIC
d98aac75 794 select GENERIC_CLOCKEVENTS
d98aac75
LW
795 select COMMON_CLKDEV
796 select GENERIC_GPIO
797 help
798 Support for ST-Ericsson U300 series mobile platforms.
799
ccf50e23
RK
800config ARCH_U8500
801 bool "ST-Ericsson U8500 Series"
802 select CPU_V7
803 select ARM_AMBA
ccf50e23
RK
804 select GENERIC_CLOCKEVENTS
805 select COMMON_CLKDEV
94bdc0e2 806 select ARCH_REQUIRE_GPIOLIB
ccf50e23
RK
807 help
808 Support for ST-Ericsson's Ux500 architecture
809
810config ARCH_NOMADIK
811 bool "STMicroelectronics Nomadik"
812 select ARM_AMBA
813 select ARM_VIC
814 select CPU_ARM926T
ccf50e23 815 select COMMON_CLKDEV
ccf50e23 816 select GENERIC_CLOCKEVENTS
ccf50e23
RK
817 select ARCH_REQUIRE_GPIOLIB
818 help
819 Support for the Nomadik platform by ST-Ericsson
820
7c6337e2
KH
821config ARCH_DAVINCI
822 bool "TI DaVinci"
7c6337e2 823 select GENERIC_CLOCKEVENTS
dce1115b 824 select ARCH_REQUIRE_GPIOLIB
3bca103a 825 select ZONE_DMA
9232fcc9 826 select HAVE_IDE
c5b736d0 827 select COMMON_CLKDEV
20e9969b 828 select GENERIC_ALLOCATOR
ae88e05a 829 select ARCH_HAS_HOLES_MEMORYMODEL
7c6337e2
KH
830 help
831 Support for TI's DaVinci platform.
832
3b938be6
RK
833config ARCH_OMAP
834 bool "TI OMAP"
9483a578 835 select HAVE_CLK
7444a72e 836 select ARCH_REQUIRE_GPIOLIB
89c52ed4 837 select ARCH_HAS_CPUFREQ
06cad098 838 select GENERIC_CLOCKEVENTS
9af915da 839 select ARCH_HAS_HOLES_MEMORYMODEL
3b938be6 840 help
6e457bb0 841 Support for TI's OMAP platform (OMAP1/2/3/4).
3b938be6 842
cee37e50 843config PLAT_SPEAR
844 bool "ST SPEAr"
845 select ARM_AMBA
846 select ARCH_REQUIRE_GPIOLIB
847 select COMMON_CLKDEV
848 select GENERIC_CLOCKEVENTS
cee37e50 849 select HAVE_CLK
850 help
851 Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx).
852
1da177e4
LT
853endchoice
854
ccf50e23
RK
855#
856# This is sorted alphabetically by mach-* pathname. However, plat-*
857# Kconfigs may be included either alphabetically (according to the
858# plat- suffix) or along side the corresponding mach-* source.
859#
95b8f20f
RK
860source "arch/arm/mach-aaec2000/Kconfig"
861
862source "arch/arm/mach-at91/Kconfig"
863
864source "arch/arm/mach-bcmring/Kconfig"
865
1da177e4
LT
866source "arch/arm/mach-clps711x/Kconfig"
867
d94f944e
AV
868source "arch/arm/mach-cns3xxx/Kconfig"
869
95b8f20f
RK
870source "arch/arm/mach-davinci/Kconfig"
871
872source "arch/arm/mach-dove/Kconfig"
873
e7736d47
LB
874source "arch/arm/mach-ep93xx/Kconfig"
875
1da177e4
LT
876source "arch/arm/mach-footbridge/Kconfig"
877
59d3a193
PZ
878source "arch/arm/mach-gemini/Kconfig"
879
95b8f20f
RK
880source "arch/arm/mach-h720x/Kconfig"
881
1da177e4
LT
882source "arch/arm/mach-integrator/Kconfig"
883
3f7e5815
LB
884source "arch/arm/mach-iop32x/Kconfig"
885
886source "arch/arm/mach-iop33x/Kconfig"
1da177e4 887
285f5fa7
DW
888source "arch/arm/mach-iop13xx/Kconfig"
889
1da177e4
LT
890source "arch/arm/mach-ixp4xx/Kconfig"
891
892source "arch/arm/mach-ixp2000/Kconfig"
893
c4713074
LB
894source "arch/arm/mach-ixp23xx/Kconfig"
895
95b8f20f
RK
896source "arch/arm/mach-kirkwood/Kconfig"
897
898source "arch/arm/mach-ks8695/Kconfig"
899
900source "arch/arm/mach-lh7a40x/Kconfig"
901
777f9beb
LB
902source "arch/arm/mach-loki/Kconfig"
903
40805949
KW
904source "arch/arm/mach-lpc32xx/Kconfig"
905
95b8f20f
RK
906source "arch/arm/mach-msm/Kconfig"
907
794d15b2
SS
908source "arch/arm/mach-mv78xx0/Kconfig"
909
95b8f20f 910source "arch/arm/plat-mxc/Kconfig"
1da177e4 911
95b8f20f 912source "arch/arm/mach-netx/Kconfig"
49cbe786 913
95b8f20f
RK
914source "arch/arm/mach-nomadik/Kconfig"
915source "arch/arm/plat-nomadik/Kconfig"
916
917source "arch/arm/mach-ns9xxx/Kconfig"
1da177e4 918
186f93ea 919source "arch/arm/mach-nuc93x/Kconfig"
1da177e4 920
d48af15e
TL
921source "arch/arm/plat-omap/Kconfig"
922
923source "arch/arm/mach-omap1/Kconfig"
1da177e4 924
1dbae815
TL
925source "arch/arm/mach-omap2/Kconfig"
926
9dd0b194 927source "arch/arm/mach-orion5x/Kconfig"
585cf175 928
95b8f20f
RK
929source "arch/arm/mach-pxa/Kconfig"
930source "arch/arm/plat-pxa/Kconfig"
585cf175 931
95b8f20f
RK
932source "arch/arm/mach-mmp/Kconfig"
933
934source "arch/arm/mach-realview/Kconfig"
935
936source "arch/arm/mach-sa1100/Kconfig"
edabd38e 937
cf383678 938source "arch/arm/plat-samsung/Kconfig"
a21765a7 939source "arch/arm/plat-s3c24xx/Kconfig"
c4ffccdd 940source "arch/arm/plat-s5p/Kconfig"
a21765a7 941
cee37e50 942source "arch/arm/plat-spear/Kconfig"
a21765a7 943
83ef3338
HK
944source "arch/arm/plat-tcc/Kconfig"
945
a21765a7
BD
946if ARCH_S3C2410
947source "arch/arm/mach-s3c2400/Kconfig"
1da177e4 948source "arch/arm/mach-s3c2410/Kconfig"
a21765a7 949source "arch/arm/mach-s3c2412/Kconfig"
f1290a49 950source "arch/arm/mach-s3c2416/Kconfig"
a21765a7 951source "arch/arm/mach-s3c2440/Kconfig"
e4d06e39 952source "arch/arm/mach-s3c2443/Kconfig"
a21765a7 953endif
1da177e4 954
a08ab637 955if ARCH_S3C64XX
431107ea 956source "arch/arm/mach-s3c64xx/Kconfig"
a08ab637
BD
957endif
958
49b7a491 959source "arch/arm/mach-s5p64x0/Kconfig"
c4ffccdd 960
550db7f1 961source "arch/arm/mach-s5p6442/Kconfig"
7bd0f2f5 962
5a7652f2 963source "arch/arm/mach-s5pc100/Kconfig"
5a7652f2 964
170f4e42
KK
965source "arch/arm/mach-s5pv210/Kconfig"
966
cc0e72b8
CY
967source "arch/arm/mach-s5pv310/Kconfig"
968
882d01f9 969source "arch/arm/mach-shmobile/Kconfig"
52c543f9 970
882d01f9 971source "arch/arm/plat-stmp3xxx/Kconfig"
9e73c84c 972
c5f80065
EG
973source "arch/arm/mach-tegra/Kconfig"
974
95b8f20f 975source "arch/arm/mach-u300/Kconfig"
1da177e4 976
95b8f20f 977source "arch/arm/mach-ux500/Kconfig"
1da177e4
LT
978
979source "arch/arm/mach-versatile/Kconfig"
980
ceade897
RK
981source "arch/arm/mach-vexpress/Kconfig"
982
7ec80ddf 983source "arch/arm/mach-w90x900/Kconfig"
984
1da177e4
LT
985# Definitions to make life easier
986config ARCH_ACORN
987 bool
988
7ae1f7ec
LB
989config PLAT_IOP
990 bool
469d3044 991 select GENERIC_CLOCKEVENTS
7ae1f7ec 992
69b02f6a
LB
993config PLAT_ORION
994 bool
995
bd5ce433
EM
996config PLAT_PXA
997 bool
998
f4b8b319
RK
999config PLAT_VERSATILE
1000 bool
1001
e3887714
RK
1002config ARM_TIMER_SP804
1003 bool
1004
1da177e4
LT
1005source arch/arm/mm/Kconfig
1006
afe4b25e
LB
1007config IWMMXT
1008 bool "Enable iWMMXt support"
40305a58
EM
1009 depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK
1010 default y if PXA27x || PXA3xx || ARCH_MMP
afe4b25e
LB
1011 help
1012 Enable support for iWMMXt context switching at run time if
1013 running on a CPU that supports it.
1014
1da177e4
LT
1015# bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
1016config XSCALE_PMU
1017 bool
1018 depends on CPU_XSCALE && !XSCALE_PMU_TIMER
1019 default y
1020
0f4f0672 1021config CPU_HAS_PMU
8954bb0d
WD
1022 depends on (CPU_V6 || CPU_V7 || XSCALE_PMU) && \
1023 (!ARCH_OMAP3 || OMAP3_EMU)
0f4f0672
JI
1024 default y
1025 bool
1026
3b93e7b0
HC
1027if !MMU
1028source "arch/arm/Kconfig-nommu"
1029endif
1030
9cba3ccc
CM
1031config ARM_ERRATA_411920
1032 bool "ARM errata: Invalidation of the Instruction Cache operation can fail"
81d11955 1033 depends on CPU_V6
9cba3ccc
CM
1034 help
1035 Invalidation of the Instruction Cache operation can
1036 fail. This erratum is present in 1136 (before r1p4), 1156 and 1176.
1037 It does not affect the MPCore. This option enables the ARM Ltd.
1038 recommended workaround.
1039
7ce236fc
CM
1040config ARM_ERRATA_430973
1041 bool "ARM errata: Stale prediction on replaced interworking branch"
1042 depends on CPU_V7
1043 help
1044 This option enables the workaround for the 430973 Cortex-A8
1045 (r1p0..r1p2) erratum. If a code sequence containing an ARM/Thumb
1046 interworking branch is replaced with another code sequence at the
1047 same virtual address, whether due to self-modifying code or virtual
1048 to physical address re-mapping, Cortex-A8 does not recover from the
1049 stale interworking branch prediction. This results in Cortex-A8
1050 executing the new code sequence in the incorrect ARM or Thumb state.
1051 The workaround enables the BTB/BTAC operations by setting ACTLR.IBE
1052 and also flushes the branch target cache at every context switch.
1053 Note that setting specific bits in the ACTLR register may not be
1054 available in non-secure mode.
1055
855c551f
CM
1056config ARM_ERRATA_458693
1057 bool "ARM errata: Processor deadlock when a false hazard is created"
1058 depends on CPU_V7
1059 help
1060 This option enables the workaround for the 458693 Cortex-A8 (r2p0)
1061 erratum. For very specific sequences of memory operations, it is
1062 possible for a hazard condition intended for a cache line to instead
1063 be incorrectly associated with a different cache line. This false
1064 hazard might then cause a processor deadlock. The workaround enables
1065 the L1 caching of the NEON accesses and disables the PLD instruction
1066 in the ACTLR register. Note that setting specific bits in the ACTLR
1067 register may not be available in non-secure mode.
1068
0516e464
CM
1069config ARM_ERRATA_460075
1070 bool "ARM errata: Data written to the L2 cache can be overwritten with stale data"
1071 depends on CPU_V7
1072 help
1073 This option enables the workaround for the 460075 Cortex-A8 (r2p0)
1074 erratum. Any asynchronous access to the L2 cache may encounter a
1075 situation in which recent store transactions to the L2 cache are lost
1076 and overwritten with stale memory contents from external memory. The
1077 workaround disables the write-allocate mode for the L2 cache via the
1078 ACTLR register. Note that setting specific bits in the ACTLR register
1079 may not be available in non-secure mode.
1080
9f05027c
WD
1081config ARM_ERRATA_742230
1082 bool "ARM errata: DMB operation may be faulty"
1083 depends on CPU_V7 && SMP
1084 help
1085 This option enables the workaround for the 742230 Cortex-A9
1086 (r1p0..r2p2) erratum. Under rare circumstances, a DMB instruction
1087 between two write operations may not ensure the correct visibility
1088 ordering of the two writes. This workaround sets a specific bit in
1089 the diagnostic register of the Cortex-A9 which causes the DMB
1090 instruction to behave as a DSB, ensuring the correct behaviour of
1091 the two writes.
1092
a672e99b
WD
1093config ARM_ERRATA_742231
1094 bool "ARM errata: Incorrect hazard handling in the SCU may lead to data corruption"
1095 depends on CPU_V7 && SMP
1096 help
1097 This option enables the workaround for the 742231 Cortex-A9
1098 (r2p0..r2p2) erratum. Under certain conditions, specific to the
1099 Cortex-A9 MPCore micro-architecture, two CPUs working in SMP mode,
1100 accessing some data located in the same cache line, may get corrupted
1101 data due to bad handling of the address hazard when the line gets
1102 replaced from one of the CPUs at the same time as another CPU is
1103 accessing it. This workaround sets specific bits in the diagnostic
1104 register of the Cortex-A9 which reduces the linefill issuing
1105 capabilities of the processor.
1106
9e65582a
SS
1107config PL310_ERRATA_588369
1108 bool "Clean & Invalidate maintenance operations do not invalidate clean lines"
1109 depends on CACHE_L2X0 && ARCH_OMAP4
1110 help
1111 The PL310 L2 cache controller implements three types of Clean &
1112 Invalidate maintenance operations: by Physical Address
1113 (offset 0x7F0), by Index/Way (0x7F8) and by Way (0x7FC).
1114 They are architecturally defined to behave as the execution of a
1115 clean operation followed immediately by an invalidate operation,
1116 both performing to the same memory location. This functionality
1117 is not correctly implemented in PL310 as clean lines are not
1118 invalidated as a result of these operations. Note that this errata
1119 uses Texas Instrument's secure monitor api.
cdf357f1
WD
1120
1121config ARM_ERRATA_720789
1122 bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID"
1123 depends on CPU_V7 && SMP
1124 help
1125 This option enables the workaround for the 720789 Cortex-A9 (prior to
1126 r2p0) erratum. A faulty ASID can be sent to the other CPUs for the
1127 broadcasted CP15 TLB maintenance operations TLBIASIDIS and TLBIMVAIS.
1128 As a consequence of this erratum, some TLB entries which should be
1129 invalidated are not, resulting in an incoherency in the system page
1130 tables. The workaround changes the TLB flushing routines to invalidate
1131 entries regardless of the ASID.
475d92fc
WD
1132
1133config ARM_ERRATA_743622
1134 bool "ARM errata: Faulty hazard checking in the Store Buffer may lead to data corruption"
1135 depends on CPU_V7
1136 help
1137 This option enables the workaround for the 743622 Cortex-A9
1138 (r2p0..r2p2) erratum. Under very rare conditions, a faulty
1139 optimisation in the Cortex-A9 Store Buffer may lead to data
1140 corruption. This workaround sets a specific bit in the diagnostic
1141 register of the Cortex-A9 which disables the Store Buffer
1142 optimisation, preventing the defect from occurring. This has no
1143 visible impact on the overall performance or power consumption of the
1144 processor.
1145
1da177e4
LT
1146endmenu
1147
1148source "arch/arm/common/Kconfig"
1149
1da177e4
LT
1150menu "Bus support"
1151
1152config ARM_AMBA
1153 bool
1154
1155config ISA
1156 bool
1da177e4
LT
1157 help
1158 Find out whether you have ISA slots on your motherboard. ISA is the
1159 name of a bus system, i.e. the way the CPU talks to the other stuff
1160 inside your box. Other bus systems are PCI, EISA, MicroChannel
1161 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
1162 newer boards don't support it. If you have ISA, say Y, otherwise N.
1163
065909b9 1164# Select ISA DMA controller support
1da177e4
LT
1165config ISA_DMA
1166 bool
065909b9 1167 select ISA_DMA_API
1da177e4 1168
065909b9 1169# Select ISA DMA interface
5cae841b
AV
1170config ISA_DMA_API
1171 bool
5cae841b 1172
1da177e4 1173config PCI
5f32f7a0 1174 bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE || ARCH_CNS3XXX
1da177e4
LT
1175 help
1176 Find out whether you have a PCI motherboard. PCI is the name of a
1177 bus system, i.e. the way the CPU talks to the other stuff inside
1178 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
1179 VESA. If you have PCI, say Y, otherwise N.
1180
52882173
AV
1181config PCI_DOMAINS
1182 bool
1183 depends on PCI
1184
36e23590
MW
1185config PCI_SYSCALL
1186 def_bool PCI
1187
1da177e4
LT
1188# Select the host bridge type
1189config PCI_HOST_VIA82C505
1190 bool
1191 depends on PCI && ARCH_SHARK
1192 default y
1193
a0113a99
MR
1194config PCI_HOST_ITE8152
1195 bool
1196 depends on PCI && MACH_ARMCORE
1197 default y
1198 select DMABOUNCE
1199
1da177e4
LT
1200source "drivers/pci/Kconfig"
1201
1202source "drivers/pcmcia/Kconfig"
1203
1204endmenu
1205
1206menu "Kernel Features"
1207
0567a0c0
KH
1208source "kernel/time/Kconfig"
1209
1da177e4
LT
1210config SMP
1211 bool "Symmetric Multi-Processing (EXPERIMENTAL)"
971acb9b 1212 depends on EXPERIMENTAL
bc28248e 1213 depends on GENERIC_CLOCKEVENTS
971acb9b 1214 depends on REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP || \
89c3dedf
DW
1215 MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || \
1216 ARCH_S5PV310 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4 || \
1217 ARCH_MSM_SCORPIONMP
f6dd9fa5 1218 select USE_GENERIC_SMP_HELPERS
89c3dedf 1219 select HAVE_ARM_SCU if !ARCH_MSM_SCORPIONMP
1da177e4
LT
1220 help
1221 This enables support for systems with more than one CPU. If you have
1222 a system with only one CPU, like most personal computers, say N. If
1223 you have a system with more than one CPU, say Y.
1224
1225 If you say N here, the kernel will run on single and multiprocessor
1226 machines, but will use only one CPU of a multiprocessor machine. If
1227 you say Y here, the kernel will run on many, but not all, single
1228 processor machines. On a single processor machine, the kernel will
1229 run faster if you say N here.
1230
03502faa 1231 See also <file:Documentation/i386/IO-APIC.txt>,
1da177e4 1232 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
50a23e6e 1233 <http://tldp.org/HOWTO/SMP-HOWTO.html>.
1da177e4
LT
1234
1235 If you don't know what to do here, say N.
1236
f00ec48f
RK
1237config SMP_ON_UP
1238 bool "Allow booting SMP kernel on uniprocessor systems (EXPERIMENTAL)"
1239 depends on EXPERIMENTAL
1240 depends on SMP && !XIP && !THUMB2_KERNEL
1241 default y
1242 help
1243 SMP kernels contain instructions which fail on non-SMP processors.
1244 Enabling this option allows the kernel to modify itself to make
1245 these instructions safe. Disabling it allows about 1K of space
1246 savings.
1247
1248 If you don't know what to do here, say Y.
1249
a8cbcd92
RK
1250config HAVE_ARM_SCU
1251 bool
1252 depends on SMP
1253 help
1254 This option enables support for the ARM system coherency unit
1255
f32f4ce2
RK
1256config HAVE_ARM_TWD
1257 bool
1258 depends on SMP
1259 help
1260 This options enables support for the ARM timer and watchdog unit
1261
8d5796d2
LB
1262choice
1263 prompt "Memory split"
1264 default VMSPLIT_3G
1265 help
1266 Select the desired split between kernel and user memory.
1267
1268 If you are not absolutely sure what you are doing, leave this
1269 option alone!
1270
1271 config VMSPLIT_3G
1272 bool "3G/1G user/kernel split"
1273 config VMSPLIT_2G
1274 bool "2G/2G user/kernel split"
1275 config VMSPLIT_1G
1276 bool "1G/3G user/kernel split"
1277endchoice
1278
1279config PAGE_OFFSET
1280 hex
1281 default 0x40000000 if VMSPLIT_1G
1282 default 0x80000000 if VMSPLIT_2G
1283 default 0xC0000000
1284
1da177e4
LT
1285config NR_CPUS
1286 int "Maximum number of CPUs (2-32)"
1287 range 2 32
1288 depends on SMP
1289 default "4"
1290
a054a811
RK
1291config HOTPLUG_CPU
1292 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
1293 depends on SMP && HOTPLUG && EXPERIMENTAL
176bfc44 1294 depends on !ARCH_MSM
a054a811
RK
1295 help
1296 Say Y here to experiment with turning CPUs off and on. CPUs
1297 can be controlled through /sys/devices/system/cpu.
1298
37ee16ae
RK
1299config LOCAL_TIMERS
1300 bool "Use local timer interrupts"
971acb9b 1301 depends on SMP
37ee16ae 1302 default y
89c3dedf 1303 select HAVE_ARM_TWD if !ARCH_MSM_SCORPIONMP
37ee16ae
RK
1304 help
1305 Enable support for local timers on SMP platforms, rather then the
1306 legacy IPI broadcast method. Local timers allows the system
1307 accounting to be spread across the timer interval, preventing a
1308 "thundering herd" at every timer tick.
1309
d45a398f 1310source kernel/Kconfig.preempt
1da177e4 1311
f8065813
RK
1312config HZ
1313 int
49b7a491 1314 default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P64X0 || \
2192482e 1315 ARCH_S5P6442 || ARCH_S5PV210 || ARCH_S5PV310
bfe65704 1316 default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
5248c657 1317 default AT91_TIMER_HZ if ARCH_AT91
5da3e714 1318 default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
f8065813
RK
1319 default 100
1320
16c79651
CM
1321config THUMB2_KERNEL
1322 bool "Compile the kernel in Thumb-2 mode"
1323 depends on CPU_V7 && EXPERIMENTAL
1324 select AEABI
1325 select ARM_ASM_UNIFIED
1326 help
1327 By enabling this option, the kernel will be compiled in
1328 Thumb-2 mode. A compiler/assembler that understand the unified
1329 ARM-Thumb syntax is needed.
1330
1331 If unsure, say N.
1332
0becb088
CM
1333config ARM_ASM_UNIFIED
1334 bool
1335
704bdda0
NP
1336config AEABI
1337 bool "Use the ARM EABI to compile the kernel"
1338 help
1339 This option allows for the kernel to be compiled using the latest
1340 ARM ABI (aka EABI). This is only useful if you are using a user
1341 space environment that is also compiled with EABI.
1342
1343 Since there are major incompatibilities between the legacy ABI and
1344 EABI, especially with regard to structure member alignment, this
1345 option also changes the kernel syscall calling convention to
1346 disambiguate both ABIs and allow for backward compatibility support
1347 (selected with CONFIG_OABI_COMPAT).
1348
1349 To use this you need GCC version 4.0.0 or later.
1350
6c90c872 1351config OABI_COMPAT
a73a3ff1 1352 bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
61c484d4 1353 depends on AEABI && EXPERIMENTAL
6c90c872
NP
1354 default y
1355 help
1356 This option preserves the old syscall interface along with the
1357 new (ARM EABI) one. It also provides a compatibility layer to
1358 intercept syscalls that have structure arguments which layout
1359 in memory differs between the legacy ABI and the new ARM EABI
1360 (only for non "thumb" binaries). This option adds a tiny
1361 overhead to all syscalls and produces a slightly larger kernel.
1362 If you know you'll be using only pure EABI user space then you
1363 can say N here. If this option is not selected and you attempt
1364 to execute a legacy ABI binary then the result will be
1365 UNPREDICTABLE (in fact it can be predicted that it won't work
1366 at all). If in doubt say Y.
1367
eb33575c 1368config ARCH_HAS_HOLES_MEMORYMODEL
e80d6a24 1369 bool
e80d6a24 1370
05944d74
RK
1371config ARCH_SPARSEMEM_ENABLE
1372 bool
1373
07a2f737
RK
1374config ARCH_SPARSEMEM_DEFAULT
1375 def_bool ARCH_SPARSEMEM_ENABLE
1376
05944d74 1377config ARCH_SELECT_MEMORY_MODEL
be370302 1378 def_bool ARCH_SPARSEMEM_ENABLE
c80d79d7 1379
053a96ca
NP
1380config HIGHMEM
1381 bool "High Memory Support (EXPERIMENTAL)"
1382 depends on MMU && EXPERIMENTAL
1383 help
1384 The address space of ARM processors is only 4 Gigabytes large
1385 and it has to accommodate user address space, kernel address
1386 space as well as some memory mapped IO. That means that, if you
1387 have a large amount of physical memory and/or IO, not all of the
1388 memory can be "permanently mapped" by the kernel. The physical
1389 memory that is not permanently mapped is called "high memory".
1390
1391 Depending on the selected kernel/user memory split, minimum
1392 vmalloc space and actual amount of RAM, you may not need this
1393 option which should result in a slightly faster kernel.
1394
1395 If unsure, say n.
1396
65cec8e3
RK
1397config HIGHPTE
1398 bool "Allocate 2nd-level pagetables from highmem"
1399 depends on HIGHMEM
1400 depends on !OUTER_CACHE
1401
1b8873a0
JI
1402config HW_PERF_EVENTS
1403 bool "Enable hardware performance counter support for perf events"
fe166148 1404 depends on PERF_EVENTS && CPU_HAS_PMU
1b8873a0
JI
1405 default y
1406 help
1407 Enable hardware performance counter support for perf events. If
1408 disabled, perf events will use software events only.
1409
354e6f72 1410config SPARSE_IRQ
c1ba6ba3 1411 def_bool n
354e6f72 1412 help
1413 This enables support for sparse irqs. This is useful in general
1414 as most CPUs have a fairly sparse array of IRQ vectors, which
1415 the irq_desc then maps directly on to. Systems with a high
1416 number of off-chip IRQs will want to treat this as
1417 experimental until they have been independently verified.
1418
3f22ab27
DH
1419source "mm/Kconfig"
1420
c1b2d970
MD
1421config FORCE_MAX_ZONEORDER
1422 int "Maximum zone order" if ARCH_SHMOBILE
1423 range 11 64 if ARCH_SHMOBILE
1424 default "9" if SA1111
1425 default "11"
1426 help
1427 The kernel memory allocator divides physically contiguous memory
1428 blocks into "zones", where each zone is a power of two number of
1429 pages. This option selects the largest power of two that the kernel
1430 keeps in the memory allocator. If you need to allocate very large
1431 blocks of physically contiguous memory, then you may need to
1432 increase this value.
1433
1434 This config option is actually maximum order plus one. For example,
1435 a value of 11 means that the largest free memory block is 2^10 pages.
1436
1da177e4
LT
1437config LEDS
1438 bool "Timer and CPU usage LEDs"
e055d5bf 1439 depends on ARCH_CDB89712 || ARCH_EBSA110 || \
8c8fdbc9 1440 ARCH_EBSA285 || ARCH_INTEGRATOR || \
1da177e4
LT
1441 ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
1442 ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
73a59c1c 1443 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
25329671 1444 ARCH_AT91 || ARCH_DAVINCI || \
ff3042fb 1445 ARCH_KS8695 || MACH_RD88F5182 || ARCH_REALVIEW
1da177e4
LT
1446 help
1447 If you say Y here, the LEDs on your machine will be used
1448 to provide useful information about your current system status.
1449
1450 If you are compiling a kernel for a NetWinder or EBSA-285, you will
1451 be able to select which LEDs are active using the options below. If
1452 you are compiling a kernel for the EBSA-110 or the LART however, the
1453 red LED will simply flash regularly to indicate that the system is
1454 still functional. It is safe to say Y here if you have a CATS
1455 system, but the driver will do nothing.
1456
1457config LEDS_TIMER
1458 bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
eebdf7d7
DB
1459 OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
1460 || MACH_OMAP_PERSEUS2
1da177e4 1461 depends on LEDS
0567a0c0 1462 depends on !GENERIC_CLOCKEVENTS
1da177e4
LT
1463 default y if ARCH_EBSA110
1464 help
1465 If you say Y here, one of the system LEDs (the green one on the
1466 NetWinder, the amber one on the EBSA285, or the red one on the LART)
1467 will flash regularly to indicate that the system is still
1468 operational. This is mainly useful to kernel hackers who are
1469 debugging unstable kernels.
1470
1471 The LART uses the same LED for both Timer LED and CPU usage LED
1472 functions. You may choose to use both, but the Timer LED function
1473 will overrule the CPU usage LED.
1474
1475config LEDS_CPU
1476 bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
eebdf7d7
DB
1477 !ARCH_OMAP) \
1478 || OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
1479 || MACH_OMAP_PERSEUS2
1da177e4
LT
1480 depends on LEDS
1481 help
1482 If you say Y here, the red LED will be used to give a good real
1483 time indication of CPU usage, by lighting whenever the idle task
1484 is not currently executing.
1485
1486 The LART uses the same LED for both Timer LED and CPU usage LED
1487 functions. You may choose to use both, but the Timer LED function
1488 will overrule the CPU usage LED.
1489
1490config ALIGNMENT_TRAP
1491 bool
f12d0d7c 1492 depends on CPU_CP15_MMU
1da177e4 1493 default y if !ARCH_EBSA110
e119bfff 1494 select HAVE_PROC_CPU if PROC_FS
1da177e4 1495 help
84eb8d06 1496 ARM processors cannot fetch/store information which is not
1da177e4
LT
1497 naturally aligned on the bus, i.e., a 4 byte fetch must start at an
1498 address divisible by 4. On 32-bit ARM processors, these non-aligned
1499 fetch/store instructions will be emulated in software if you say
1500 here, which has a severe performance impact. This is necessary for
1501 correct operation of some network protocols. With an IP-only
1502 configuration it is safe to say N, otherwise say Y.
1503
39ec58f3
LB
1504config UACCESS_WITH_MEMCPY
1505 bool "Use kernel mem{cpy,set}() for {copy_to,clear}_user() (EXPERIMENTAL)"
1506 depends on MMU && EXPERIMENTAL
1507 default y if CPU_FEROCEON
1508 help
1509 Implement faster copy_to_user and clear_user methods for CPU
1510 cores where a 8-word STM instruction give significantly higher
1511 memory write throughput than a sequence of individual 32bit stores.
1512
1513 A possible side effect is a slight increase in scheduling latency
1514 between threads sharing the same address space if they invoke
1515 such copy operations with large buffers.
1516
1517 However, if the CPU data cache is using a write-allocate mode,
1518 this option is unlikely to provide any performance gain.
1519
70c70d97
NP
1520config SECCOMP
1521 bool
1522 prompt "Enable seccomp to safely compute untrusted bytecode"
1523 ---help---
1524 This kernel feature is useful for number crunching applications
1525 that may need to compute untrusted bytecode during their
1526 execution. By using pipes or other transports made available to
1527 the process as file descriptors supporting the read/write
1528 syscalls, it's possible to isolate those applications in
1529 their own address space using seccomp. Once seccomp is
1530 enabled via prctl(PR_SET_SECCOMP), it cannot be disabled
1531 and the task is only allowed to execute a few safe syscalls
1532 defined by each seccomp mode.
1533
c743f380
NP
1534config CC_STACKPROTECTOR
1535 bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
1536 help
1537 This option turns on the -fstack-protector GCC feature. This
1538 feature puts, at the beginning of functions, a canary value on
1539 the stack just before the return address, and validates
1540 the value just before actually returning. Stack based buffer
1541 overflows (that need to overwrite this return address) now also
1542 overwrite the canary, which gets detected and the attack is then
1543 neutralized via a kernel panic.
1544 This feature requires gcc version 4.2 or above.
1545
73a65b3f
UKK
1546config DEPRECATED_PARAM_STRUCT
1547 bool "Provide old way to pass kernel parameters"
1548 help
1549 This was deprecated in 2001 and announced to live on for 5 years.
1550 Some old boot loaders still use this way.
1551
1da177e4
LT
1552endmenu
1553
1554menu "Boot options"
1555
1556# Compressed boot loader in ROM. Yes, we really want to ask about
1557# TEXT and BSS so we preserve their values in the config files.
1558config ZBOOT_ROM_TEXT
1559 hex "Compressed ROM boot loader base address"
1560 default "0"
1561 help
1562 The physical address at which the ROM-able zImage is to be
1563 placed in the target. Platforms which normally make use of
1564 ROM-able zImage formats normally set this to a suitable
1565 value in their defconfig file.
1566
1567 If ZBOOT_ROM is not enabled, this has no effect.
1568
1569config ZBOOT_ROM_BSS
1570 hex "Compressed ROM boot loader BSS address"
1571 default "0"
1572 help
f8c440b2
DF
1573 The base address of an area of read/write memory in the target
1574 for the ROM-able zImage which must be available while the
1575 decompressor is running. It must be large enough to hold the
1576 entire decompressed kernel plus an additional 128 KiB.
1577 Platforms which normally make use of ROM-able zImage formats
1578 normally set this to a suitable value in their defconfig file.
1da177e4
LT
1579
1580 If ZBOOT_ROM is not enabled, this has no effect.
1581
1582config ZBOOT_ROM
1583 bool "Compressed boot loader in ROM/flash"
1584 depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
1585 help
1586 Say Y here if you intend to execute your compressed kernel image
1587 (zImage) directly from ROM or flash. If unsure, say N.
1588
1589config CMDLINE
1590 string "Default kernel command string"
1591 default ""
1592 help
1593 On some architectures (EBSA110 and CATS), there is currently no way
1594 for the boot loader to pass arguments to the kernel. For these
1595 architectures, you should supply some command-line options at build
1596 time by entering them here. As a minimum, you should specify the
1597 memory size and the root device (e.g., mem=64M root=/dev/nfs).
1598
92d2040d
AH
1599config CMDLINE_FORCE
1600 bool "Always use the default kernel command string"
1601 depends on CMDLINE != ""
1602 help
1603 Always use the default kernel command string, even if the boot
1604 loader passes other arguments to the kernel.
1605 This is useful if you cannot or don't want to change the
1606 command-line options your boot loader passes to the kernel.
1607
1608 If unsure, say N.
1609
1da177e4
LT
1610config XIP_KERNEL
1611 bool "Kernel Execute-In-Place from ROM"
1612 depends on !ZBOOT_ROM
1613 help
1614 Execute-In-Place allows the kernel to run from non-volatile storage
1615 directly addressable by the CPU, such as NOR flash. This saves RAM
1616 space since the text section of the kernel is not loaded from flash
1617 to RAM. Read-write sections, such as the data section and stack,
1618 are still copied to RAM. The XIP kernel is not compressed since
1619 it has to run directly from flash, so it will take more space to
1620 store it. The flash address used to link the kernel object files,
1621 and for storing it, is configuration dependent. Therefore, if you
1622 say Y here, you must know the proper physical address where to
1623 store the kernel image depending on your own flash memory usage.
1624
1625 Also note that the make target becomes "make xipImage" rather than
1626 "make zImage" or "make Image". The final kernel binary to put in
1627 ROM memory will be arch/arm/boot/xipImage.
1628
1629 If unsure, say N.
1630
1631config XIP_PHYS_ADDR
1632 hex "XIP Kernel Physical Location"
1633 depends on XIP_KERNEL
1634 default "0x00080000"
1635 help
1636 This is the physical address in your flash memory the kernel will
1637 be linked for and stored to. This address is dependent on your
1638 own flash usage.
1639
c587e4a6
RP
1640config KEXEC
1641 bool "Kexec system call (EXPERIMENTAL)"
1642 depends on EXPERIMENTAL
1643 help
1644 kexec is a system call that implements the ability to shutdown your
1645 current kernel, and to start another kernel. It is like a reboot
01dd2fbf 1646 but it is independent of the system firmware. And like a reboot
c587e4a6
RP
1647 you can start any kernel with it, not just Linux.
1648
1649 It is an ongoing process to be certain the hardware in a machine
1650 is properly shutdown, so do not be surprised if this code does not
1651 initially work for you. It may help to enable device hotplugging
1652 support.
1653
4cd9d6f7
RP
1654config ATAGS_PROC
1655 bool "Export atags in procfs"
b98d7291
UL
1656 depends on KEXEC
1657 default y
4cd9d6f7
RP
1658 help
1659 Should the atags used to boot the kernel be exported in an "atags"
1660 file in procfs. Useful with kexec.
1661
e69edc79
EM
1662config AUTO_ZRELADDR
1663 bool "Auto calculation of the decompressed kernel image address"
1664 depends on !ZBOOT_ROM && !ARCH_U300
1665 help
1666 ZRELADDR is the physical address where the decompressed kernel
1667 image will be placed. If AUTO_ZRELADDR is selected, the address
1668 will be determined at run-time by masking the current IP with
1669 0xf8000000. This assumes the zImage being placed in the first 128MB
1670 from start of memory.
1671
1da177e4
LT
1672endmenu
1673
ac9d7efc 1674menu "CPU Power Management"
1da177e4 1675
89c52ed4 1676if ARCH_HAS_CPUFREQ
1da177e4
LT
1677
1678source "drivers/cpufreq/Kconfig"
1679
64f102b6
YS
1680config CPU_FREQ_IMX
1681 tristate "CPUfreq driver for i.MX CPUs"
1682 depends on ARCH_MXC && CPU_FREQ
1683 help
1684 This enables the CPUfreq driver for i.MX CPUs.
1685
1da177e4
LT
1686config CPU_FREQ_SA1100
1687 bool
1da177e4
LT
1688
1689config CPU_FREQ_SA1110
1690 bool
1da177e4
LT
1691
1692config CPU_FREQ_INTEGRATOR
1693 tristate "CPUfreq driver for ARM Integrator CPUs"
1694 depends on ARCH_INTEGRATOR && CPU_FREQ
1695 default y
1696 help
1697 This enables the CPUfreq driver for ARM Integrator CPUs.
1698
1699 For details, take a look at <file:Documentation/cpu-freq>.
1700
1701 If in doubt, say Y.
1702
9e2697ff
RK
1703config CPU_FREQ_PXA
1704 bool
1705 depends on CPU_FREQ && ARCH_PXA && PXA25x
1706 default y
1707 select CPU_FREQ_DEFAULT_GOV_USERSPACE
1708
b3748ddd
MB
1709config CPU_FREQ_S3C64XX
1710 bool "CPUfreq support for Samsung S3C64XX CPUs"
1711 depends on CPU_FREQ && CPU_S3C6410
1712
9d56c02a
BD
1713config CPU_FREQ_S3C
1714 bool
1715 help
1716 Internal configuration node for common cpufreq on Samsung SoC
1717
1718config CPU_FREQ_S3C24XX
1719 bool "CPUfreq driver for Samsung S3C24XX series CPUs"
1720 depends on ARCH_S3C2410 && CPU_FREQ && EXPERIMENTAL
1721 select CPU_FREQ_S3C
1722 help
1723 This enables the CPUfreq driver for the Samsung S3C24XX family
1724 of CPUs.
1725
1726 For details, take a look at <file:Documentation/cpu-freq>.
1727
1728 If in doubt, say N.
1729
1730config CPU_FREQ_S3C24XX_PLL
1731 bool "Support CPUfreq changing of PLL frequency"
1732 depends on CPU_FREQ_S3C24XX && EXPERIMENTAL
1733 help
1734 Compile in support for changing the PLL frequency from the
1735 S3C24XX series CPUfreq driver. The PLL takes time to settle
1736 after a frequency change, so by default it is not enabled.
1737
1738 This also means that the PLL tables for the selected CPU(s) will
1739 be built which may increase the size of the kernel image.
1740
1741config CPU_FREQ_S3C24XX_DEBUG
1742 bool "Debug CPUfreq Samsung driver core"
1743 depends on CPU_FREQ_S3C24XX
1744 help
1745 Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
1746
1747config CPU_FREQ_S3C24XX_IODEBUG
1748 bool "Debug CPUfreq Samsung driver IO timing"
1749 depends on CPU_FREQ_S3C24XX
1750 help
1751 Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
1752
e6d197a6
BD
1753config CPU_FREQ_S3C24XX_DEBUGFS
1754 bool "Export debugfs for CPUFreq"
1755 depends on CPU_FREQ_S3C24XX && DEBUG_FS
1756 help
1757 Export status information via debugfs.
1758
1da177e4
LT
1759endif
1760
ac9d7efc
RK
1761source "drivers/cpuidle/Kconfig"
1762
1763endmenu
1764
1da177e4
LT
1765menu "Floating point emulation"
1766
1767comment "At least one emulation must be selected"
1768
1769config FPE_NWFPE
1770 bool "NWFPE math emulation"
8993a44c 1771 depends on !AEABI || OABI_COMPAT
1da177e4
LT
1772 ---help---
1773 Say Y to include the NWFPE floating point emulator in the kernel.
1774 This is necessary to run most binaries. Linux does not currently
1775 support floating point hardware so you need to say Y here even if
1776 your machine has an FPA or floating point co-processor podule.
1777
1778 You may say N here if you are going to load the Acorn FPEmulator
1779 early in the bootup.
1780
1781config FPE_NWFPE_XP
1782 bool "Support extended precision"
bedf142b 1783 depends on FPE_NWFPE
1da177e4
LT
1784 help
1785 Say Y to include 80-bit support in the kernel floating-point
1786 emulator. Otherwise, only 32 and 64-bit support is compiled in.
1787 Note that gcc does not generate 80-bit operations by default,
1788 so in most cases this option only enlarges the size of the
1789 floating point emulator without any good reason.
1790
1791 You almost surely want to say N here.
1792
1793config FPE_FASTFPE
1794 bool "FastFPE math emulation (EXPERIMENTAL)"
8993a44c 1795 depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL
1da177e4
LT
1796 ---help---
1797 Say Y here to include the FAST floating point emulator in the kernel.
1798 This is an experimental much faster emulator which now also has full
1799 precision for the mantissa. It does not support any exceptions.
1800 It is very simple, and approximately 3-6 times faster than NWFPE.
1801
1802 It should be sufficient for most programs. It may be not suitable
1803 for scientific calculations, but you have to check this for yourself.
1804 If you do not feel you need a faster FP emulation you should better
1805 choose NWFPE.
1806
1807config VFP
1808 bool "VFP-format floating point maths"
c00d4ffd 1809 depends on CPU_V6 || CPU_ARM926T || CPU_V7 || CPU_FEROCEON
1da177e4
LT
1810 help
1811 Say Y to include VFP support code in the kernel. This is needed
1812 if your hardware includes a VFP unit.
1813
1814 Please see <file:Documentation/arm/VFP/release-notes.txt> for
1815 release notes and additional status information.
1816
1817 Say N if your target does not have VFP hardware.
1818
25ebee02
CM
1819config VFPv3
1820 bool
1821 depends on VFP
1822 default y if CPU_V7
1823
b5872db4
CM
1824config NEON
1825 bool "Advanced SIMD (NEON) Extension support"
1826 depends on VFPv3 && CPU_V7
1827 help
1828 Say Y to include support code for NEON, the ARMv7 Advanced SIMD
1829 Extension.
1830
1da177e4
LT
1831endmenu
1832
1833menu "Userspace binary formats"
1834
1835source "fs/Kconfig.binfmt"
1836
1837config ARTHUR
1838 tristate "RISC OS personality"
704bdda0 1839 depends on !AEABI
1da177e4
LT
1840 help
1841 Say Y here to include the kernel code necessary if you want to run
1842 Acorn RISC OS/Arthur binaries under Linux. This code is still very
1843 experimental; if this sounds frightening, say N and sleep in peace.
1844 You can also say M here to compile this support as a module (which
1845 will be called arthur).
1846
1847endmenu
1848
1849menu "Power management options"
1850
eceab4ac 1851source "kernel/power/Kconfig"
1da177e4 1852
f4cb5700
JB
1853config ARCH_SUSPEND_POSSIBLE
1854 def_bool y
1855
1da177e4
LT
1856endmenu
1857
d5950b43
SR
1858source "net/Kconfig"
1859
ac25150f 1860source "drivers/Kconfig"
1da177e4
LT
1861
1862source "fs/Kconfig"
1863
1da177e4
LT
1864source "arch/arm/Kconfig.debug"
1865
1866source "security/Kconfig"
1867
1868source "crypto/Kconfig"
1869
1870source "lib/Kconfig"