Kconfig 65.2 KB
Newer Older
Linus Torvalds's avatar
Linus Torvalds committed
1
2
3
config ARM
	bool
	default y
4
	select ARCH_CLOCKSOURCE_DATA
5
	select ARCH_HAS_DEBUG_VIRTUAL
6
	select ARCH_HAS_DEVMEM_IS_ALLOWED
7
	select ARCH_HAS_ELF_RANDOMIZE
8
	select ARCH_HAS_SET_MEMORY
9
10
	select ARCH_HAS_STRICT_KERNEL_RWX if MMU && !XIP_KERNEL
	select ARCH_HAS_STRICT_MODULE_RWX if MMU
11
	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
Russell King's avatar
Russell King committed
12
	select ARCH_HAVE_CUSTOM_GPIO_H
13
	select ARCH_HAS_GCOV_PROFILE_ALL
14
	select ARCH_MIGHT_HAVE_PC_PARPORT
15
16
	select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
	select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if CPU_V7
17
	select ARCH_SUPPORTS_ATOMIC_RMW
18
	select ARCH_USE_BUILTIN_BSWAP
19
	select ARCH_USE_CMPXCHG_LOCKREF
20
	select ARCH_WANT_IPC_PARSE_VERSION
21
	select BUILDTIME_EXTABLE_SORT if MMU
Russell King's avatar
Russell King committed
22
	select CLONE_BACKWARDS
23
	select CPU_PM if (SUSPEND || CPU_IDLE)
24
	select DCACHE_WORD_ACCESS if HAVE_EFFICIENT_UNALIGNED_ACCESS
25
26
	select EDAC_SUPPORT
	select EDAC_ATOMIC_SCRUB
27
	select GENERIC_ALLOCATOR
28
	select GENERIC_ATOMIC64 if (CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI)
29
	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
30
	select GENERIC_EARLY_IOREMAP
Russell King's avatar
Russell King committed
31
	select GENERIC_IDLE_POLL_SETUP
32
33
	select GENERIC_IRQ_PROBE
	select GENERIC_IRQ_SHOW
34
	select GENERIC_IRQ_SHOW_LEVEL
35
	select GENERIC_PCI_IOMAP
36
	select GENERIC_SCHED_CLOCK
37
38
39
	select GENERIC_SMP_IDLE_THREAD
	select GENERIC_STRNCPY_FROM_USER
	select GENERIC_STRNLEN_USER
40
	select HANDLE_DOMAIN_IRQ
41
	select HARDIRQS_SW_RESEND
42
	select HAVE_ARCH_AUDITSYSCALL if (AEABI && !OABI_COMPAT)
43
	select HAVE_ARCH_BITREVERSE if (CPU_32v7M || CPU_32v7) && !CPU_32v6
44
	select HAVE_ARCH_HARDENED_USERCOPY
45
46
	select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL && !CPU_ENDIAN_BE32 && MMU
	select HAVE_ARCH_KGDB if !CPU_ENDIAN_BE32 && MMU
47
	select HAVE_ARCH_MMAP_RND_BITS if MMU
48
	select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)
49
	select HAVE_ARCH_TRACEHOOK
50
	select HAVE_ARM_SMCCC if CPU_V7
51
	select HAVE_CBPF_JIT
52
	select HAVE_CC_STACKPROTECTOR
Russell King's avatar
Russell King committed
53
	select HAVE_CONTEXT_TRACKING
54
55
56
57
	select HAVE_C_RECORDMCOUNT
	select HAVE_DEBUG_KMEMLEAK
	select HAVE_DMA_API_DEBUG
	select HAVE_DMA_CONTIGUOUS if MMU
58
	select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL) && !CPU_ENDIAN_BE32 && MMU
59
	select HAVE_EFFICIENT_UNALIGNED_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && MMU
Jiri Slaby's avatar
Jiri Slaby committed
60
	select HAVE_EXIT_THREAD
61
	select HAVE_FTRACE_MCOUNT_RECORD if (!XIP_KERNEL)
62
	select HAVE_FUNCTION_GRAPH_TRACER if (!THUMB2_KERNEL)
63
	select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)
Emese Revfy's avatar
Emese Revfy committed
64
	select HAVE_GCC_PLUGINS
65
	select HAVE_GENERIC_DMA_COHERENT
66
67
	select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7))
	select HAVE_IDE if PCI || ISA || PCMCIA
68
	select HAVE_IRQ_TIME_ACCOUNTING
69
	select HAVE_KERNEL_GZIP
70
	select HAVE_KERNEL_LZ4
71
	select HAVE_KERNEL_LZMA
72
	select HAVE_KERNEL_LZO
73
	select HAVE_KERNEL_XZ
74
	select HAVE_KPROBES if !XIP_KERNEL && !CPU_ENDIAN_BE32 && !CPU_V7M
75
76
	select HAVE_KRETPROBES if (HAVE_KPROBES)
	select HAVE_MEMBLOCK
77
	select HAVE_MOD_ARCH_SPECIFIC
78
	select HAVE_NMI
79
	select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
80
	select HAVE_OPTPROBES if !THUMB2_KERNEL
81
	select HAVE_PERF_EVENTS
82
83
	select HAVE_PERF_REGS
	select HAVE_PERF_USER_STACK_DUMP
84
	select HAVE_RCU_TABLE_FREE if (SMP && ARM_LPAE)
85
	select HAVE_REGS_AND_STACK_ACCESS_API
86
	select HAVE_SYSCALL_TRACEPOINTS
87
	select HAVE_UID16
88
	select HAVE_VIRT_CPU_ACCOUNTING_GEN
89
	select IRQ_FORCED_THREADING
Russell King's avatar
Russell King committed
90
	select MODULES_USE_ELF_REL
91
	select NO_BOOTMEM
92
93
	select OF_EARLY_FLATTREE if OF
	select OF_RESERVED_MEM if OF
Russell King's avatar
Russell King committed
94
95
	select OLD_SIGACTION
	select OLD_SIGSUSPEND3
96
97
98
	select PERF_USE_VMALLOC
	select RTC_LIB
	select SYS_SUPPORTS_APM_EMULATION
Russell King's avatar
Russell King committed
99
100
	# Above selects are sorted alphabetically; please add new ones
	# according to that.  Thanks.
Linus Torvalds's avatar
Linus Torvalds committed
101
102
	help
	  The ARM series is a line of low-power-consumption RISC chip designs
103
	  licensed by ARM Ltd and targeted at embedded applications and
Linus Torvalds's avatar
Linus Torvalds committed
104
	  handhelds such as the Compaq IPAQ.  ARM-based PCs are no longer
105
	  manufactured, but legacy ARM-based PC hardware remains popular in
Linus Torvalds's avatar
Linus Torvalds committed
106
107
108
	  Europe.  There is an ARM Linux project with a web page at
	  <http://www.arm.linux.org.uk/>.

109
config ARM_HAS_SG_CHAIN
110
	select ARCH_HAS_SG_CHAIN
111
112
	bool

113
114
115
116
117
config NEED_SG_DMA_LENGTH
	bool

config ARM_DMA_USE_IOMMU
	bool
118
119
	select ARM_HAS_SG_CHAIN
	select NEED_SG_DMA_LENGTH
120

121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
if ARM_DMA_USE_IOMMU

config ARM_DMA_IOMMU_ALIGNMENT
	int "Maximum PAGE_SIZE order of alignment for DMA IOMMU buffers"
	range 4 9
	default 8
	help
	  DMA mapping framework by default aligns all buffers to the smallest
	  PAGE_SIZE order which is greater than or equal to the requested buffer
	  size. This works well for buffers up to a few hundreds kilobytes, but
	  for larger buffers it just a waste of address space. Drivers which has
	  relatively small addressing window (like 64Mib) might run out of
	  virtual space with just a few allocations.

	  With this parameter you can specify the maximum PAGE_SIZE order for
	  DMA IOMMU buffers. Larger buffers will be aligned only to this
	  specified order. The order is expressed as a power of two multiplied
	  by the PAGE_SIZE.

endif

142
143
144
config MIGHT_HAVE_PCI
	bool

145
146
147
config SYS_SUPPORTS_APM_EMULATION
	bool

148
149
150
151
config HAVE_TCM
	bool
	select GENERIC_ALLOCATOR

152
153
154
config HAVE_PROC_CPU
	bool

155
config NO_IOPORT_MAP
Al Viro's avatar
Al Viro committed
156
157
	bool

Linus Torvalds's avatar
Linus Torvalds committed
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
config EISA
	bool
	---help---
	  The Extended Industry Standard Architecture (EISA) bus was
	  developed as an open alternative to the IBM MicroChannel bus.

	  The EISA bus provided some of the features of the IBM MicroChannel
	  bus while maintaining backward compatibility with cards made for
	  the older ISA bus.  The EISA bus saw limited use between 1988 and
	  1995 when it was made obsolete by the PCI bus.

	  Say Y here if you are building a kernel for an EISA-based machine.

	  Otherwise, say N.

config SBUS
	bool

176
177
178
179
180
181
182
183
config STACKTRACE_SUPPORT
	bool
	default y

config LOCKDEP_SUPPORT
	bool
	default y

Russell King's avatar
Russell King committed
184
185
config TRACE_IRQFLAGS_SUPPORT
	bool
186
	default !CPU_V7M
Russell King's avatar
Russell King committed
187

Linus Torvalds's avatar
Linus Torvalds committed
188
189
config RWSEM_XCHGADD_ALGORITHM
	bool
190
	default y
Linus Torvalds's avatar
Linus Torvalds committed
191

192
193
194
195
196
197
config ARCH_HAS_ILOG2_U32
	bool

config ARCH_HAS_ILOG2_U64
	bool

198
199
200
config ARCH_HAS_BANDGAP
	bool

201
202
203
config FIX_EARLYCON_MEM
	def_bool y if MMU

204
205
206
207
config GENERIC_HWEIGHT
	bool
	default y

Linus Torvalds's avatar
Linus Torvalds committed
208
209
210
211
config GENERIC_CALIBRATE_DELAY
	bool
	default y

212
213
214
config ARCH_MAY_HAVE_PC_FDC
	bool

215
216
217
config ZONE_DMA
	bool

218
219
220
config NEED_DMA_MAP_STATE
       def_bool y

David A. Long's avatar
David A. Long committed
221
222
223
config ARCH_SUPPORTS_UPROBES
	def_bool y

224
225
226
config ARCH_HAS_DMA_SET_COHERENT_MASK
	bool

Linus Torvalds's avatar
Linus Torvalds committed
227
228
229
230
231
232
config GENERIC_ISA_DMA
	bool

config FIQ
	bool

233
234
235
config NEED_RET_TO_USER
	bool

236
237
238
config ARCH_MTD_XIP
	bool

239
240
config VECTORS_BASE
	hex
241
	default 0xffff0000 if MMU || CPU_HIGH_VECTOR
242
243
244
	default DRAM_BASE if REMAP_VECTORS_TO_RAM
	default 0x00000000
	help
Russell King's avatar
Russell King committed
245
246
	  The base address of exception vectors.  This must be two pages
	  in size.
247

248
config ARM_PATCH_PHYS_VIRT
249
250
	bool "Patch physical to virtual translations at runtime" if EMBEDDED
	default y
251
	depends on !XIP_KERNEL && MMU
252
	help
253
254
255
	  Patch phys-to-virt and virt-to-phys translation functions at
	  boot and module load time according to the position of the
	  kernel in system memory.
256

257
	  This can only be used with non-XIP MMU kernels where the base
258
	  of physical memory is at a 16MB boundary.
259

260
261
262
	  Only disable this option if you know that you do not require
	  this feature (eg, building a kernel for a single machine) and
	  you need to shrink the kernel to the minimal size.
263

264
265
266
267
268
269
270
config NEED_MACH_IO_H
	bool
	help
	  Select this when mach/io.h is required to provide special
	  definitions for this platform.  The need for mach/io.h should
	  be avoided when possible.

271
config NEED_MACH_MEMORY_H
272
273
	bool
	help
274
275
276
	  Select this when mach/memory.h is required to provide special
	  definitions for this platform.  The need for mach/memory.h should
	  be avoided when possible.
277

278
config PHYS_OFFSET
279
	hex "Physical address of main memory" if MMU
280
	depends on !ARM_PATCH_PHYS_VIRT
281
	default DRAM_BASE if !MMU
282
283
284
285
286
	default 0x00000000 if ARCH_EBSA110 || \
			ARCH_FOOTBRIDGE || \
			ARCH_INTEGRATOR || \
			ARCH_IOP13XX || \
			ARCH_KS8695 || \
287
			ARCH_REALVIEW
288
289
	default 0x10000000 if ARCH_OMAP1 || ARCH_RPC
	default 0x20000000 if ARCH_S5PV210
290
	default 0xc0000000 if ARCH_SA1100
291
	help
292
293
	  Please provide the physical address corresponding to the
	  location of main memory in your system.
294

295
296
297
298
config GENERIC_BUG
	def_bool y
	depends on BUG

299
300
301
302
303
config PGTABLE_LEVELS
	int
	default 3 if ARM_LPAE
	default 2

Linus Torvalds's avatar
Linus Torvalds committed
304
305
source "init/Kconfig"

306
307
source "kernel/Kconfig.freezer"

Linus Torvalds's avatar
Linus Torvalds committed
308
309
menu "System Type"

310
311
312
313
314
315
316
config MMU
	bool "MMU-based Paged Memory Management Support"
	default y
	help
	  Select if you want MMU-based virtualised addressing space
	  support by paged memory management. If unsure, say 'Y'.

317
318
319
320
321
322
323
324
config ARCH_MMAP_RND_BITS_MIN
	default 8

config ARCH_MMAP_RND_BITS_MAX
	default 14 if PAGE_OFFSET=0x40000000
	default 15 if PAGE_OFFSET=0x80000000
	default 16

325
326
327
328
#
# The "ARM system type" choice list is ordered alphabetically by option
# text.  Please add new entries in the option alphabetic order.
#
Linus Torvalds's avatar
Linus Torvalds committed
329
330
choice
	prompt "ARM system type"
331
	default ARM_SINGLE_ARMV7M if !MMU
332
	default ARCH_MULTIPLATFORM if MMU
Linus Torvalds's avatar
Linus Torvalds committed
333

334
335
config ARCH_MULTIPLATFORM
	bool "Allow multiple platforms to be selected"
336
	depends on MMU
337
	select ARM_HAS_SG_CHAIN
338
339
	select ARM_PATCH_PHYS_VIRT
	select AUTO_ZRELADDR
340
	select CLKSRC_OF
341
	select COMMON_CLK
342
	select GENERIC_CLOCKEVENTS
343
	select MIGHT_HAVE_PCI
344
	select MULTI_IRQ_HANDLER
345
	select PCI_DOMAINS if PCI
346
347
348
	select SPARSE_IRQ
	select USE_OF

349
350
351
352
config ARM_SINGLE_ARMV7M
	bool "ARMv7-M based platforms (Cortex-M0/M3/M4)"
	depends on !MMU
	select ARM_NVIC
353
	select AUTO_ZRELADDR
354
355
356
357
358
359
360
361
	select CLKSRC_OF
	select COMMON_CLK
	select CPU_V7M
	select GENERIC_CLOCKEVENTS
	select NO_IOPORT_MAP
	select SPARSE_IRQ
	select USE_OF

362
363
config ARCH_GEMINI
	bool "Cortina Systems Gemini"
364
	select CLKSRC_MMIO
365
	select CPU_FA526
366
	select GENERIC_CLOCKEVENTS
367
	select GPIOLIB
368
369
370
	help
	  Support for the Cortina Systems Gemini family SoCs

Linus Torvalds's avatar
Linus Torvalds committed
371
372
config ARCH_EBSA110
	bool "EBSA-110"
373
	select ARCH_USES_GETTIMEOFFSET
374
	select CPU_SA110
375
	select ISA
376
	select NEED_MACH_IO_H
377
	select NEED_MACH_MEMORY_H
378
	select NO_IOPORT_MAP
Linus Torvalds's avatar
Linus Torvalds committed
379
380
	help
	  This is an evaluation board for the StrongARM processor available
381
	  from Digital. It has limited hardware on-board, including an
Linus Torvalds's avatar
Linus Torvalds committed
382
383
384
	  Ethernet interface, two PCMCIA sockets, two serial ports and a
	  parallel port.

385
386
config ARCH_EP93XX
	bool "EP93xx-based"
387
	select ARCH_HAS_HOLES_MEMORYMODEL
388
	select ARM_AMBA
389
	select ARM_PATCH_PHYS_VIRT
390
	select ARM_VIC
391
	select AUTO_ZRELADDR
392
	select CLKDEV_LOOKUP
393
	select CLKSRC_MMIO
394
	select CPU_ARM920T
395
	select GENERIC_CLOCKEVENTS
396
	select GPIOLIB
397
398
399
	help
	  This enables support for the Cirrus EP93xx series of CPUs.

Linus Torvalds's avatar
Linus Torvalds committed
400
401
config ARCH_FOOTBRIDGE
	bool "FootBridge"
402
	select CPU_SA110
Linus Torvalds's avatar
Linus Torvalds committed
403
	select FOOTBRIDGE
404
	select GENERIC_CLOCKEVENTS
405
	select HAVE_IDE
406
	select NEED_MACH_IO_H if !MMU
407
	select NEED_MACH_MEMORY_H
408
409
410
	help
	  Support for systems based on the DC21285 companion chip
	  ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
Linus Torvalds's avatar
Linus Torvalds committed
411

412
413
config ARCH_NETX
	bool "Hilscher NetX based"
414
	select ARM_VIC
415
	select CLKSRC_MMIO
416
	select CPU_ARM926T
417
	select GENERIC_CLOCKEVENTS
418
	help
419
420
	  This enables support for systems based on the Hilscher NetX Soc

421
422
423
config ARCH_IOP13XX
	bool "IOP13xx-based"
	depends on MMU
424
	select CPU_XSC3
425
	select NEED_MACH_MEMORY_H
426
	select NEED_RET_TO_USER
427
428
429
	select PCI
	select PLAT_IOP
	select VMSPLIT_1G
430
	select SPARSE_IRQ
431
432
433
	help
	  Support for Intel's IOP13XX (XScale) family of processors.

434
435
config ARCH_IOP32X
	bool "IOP32x-based"
436
	depends on MMU
437
	select CPU_XSCALE
438
	select GPIO_IOP
439
	select GPIOLIB
440
	select NEED_RET_TO_USER
441
	select PCI
442
	select PLAT_IOP
443
	help
444
445
446
447
448
449
	  Support for Intel's 80219 and IOP32X (XScale) family of
	  processors.

config ARCH_IOP33X
	bool "IOP33x-based"
	depends on MMU
450
	select CPU_XSCALE
451
	select GPIO_IOP
452
	select GPIOLIB
453
	select NEED_RET_TO_USER
454
	select PCI
455
	select PLAT_IOP
456
457
	help
	  Support for Intel's IOP33X (XScale) family of processors.
Linus Torvalds's avatar
Linus Torvalds committed
458

459
460
config ARCH_IXP4XX
	bool "IXP4xx-based"
461
	depends on MMU
462
	select ARCH_HAS_DMA_SET_COHERENT_MASK
463
	select ARCH_SUPPORTS_BIG_ENDIAN
464
	select CLKSRC_MMIO
465
	select CPU_XSCALE
466
	select DMABOUNCE if PCI
467
	select GENERIC_CLOCKEVENTS
468
	select GPIOLIB
469
	select MIGHT_HAVE_PCI
470
	select NEED_MACH_IO_H
471
	select USB_EHCI_BIG_ENDIAN_DESC
Russell King's avatar
Russell King committed
472
	select USB_EHCI_BIG_ENDIAN_MMIO
473
	help
474
	  Support for Intel's IXP4XX (XScale) family of processors.
475

476
477
config ARCH_DOVE
	bool "Marvell Dove"
478
	select CPU_PJ4
479
	select GENERIC_CLOCKEVENTS
480
	select GPIOLIB
481
	select MIGHT_HAVE_PCI
482
	select MULTI_IRQ_HANDLER
Russell King's avatar
Russell King committed
483
	select MVEBU_MBUS
484
485
	select PINCTRL
	select PINCTRL_DOVE
486
	select PLAT_ORION_LEGACY
Haojian Zhuang's avatar
Haojian Zhuang committed
487
	select SPARSE_IRQ
488
	select PM_GENERIC_DOMAINS if PM
489
	help
490
	  Support for the Marvell Dove SoC 88AP510
491
492
493

config ARCH_KS8695
	bool "Micrel/Kendin KS8695"
494
	select CLKSRC_MMIO
495
	select CPU_ARM922T
496
	select GENERIC_CLOCKEVENTS
497
	select GPIOLIB
498
	select NEED_MACH_MEMORY_H
499
500
501
502
503
504
	help
	  Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
	  System-on-Chip devices.

config ARCH_W90X900
	bool "Nuvoton W90X900 CPU"
505
	select CLKDEV_LOOKUP
506
	select CLKSRC_MMIO
507
	select CPU_ARM926T
508
	select GENERIC_CLOCKEVENTS
509
	select GPIOLIB
510
	help
511
512
513
514
515
516
517
	  Support for Nuvoton (Winbond logic dept.) ARM9 processor,
	  At present, the w90x900 has been renamed nuc900, regarding
	  the ARM series product line, you can login the following
	  link address to know more.

	  <http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/
		ConsumerElectronicsIC/ARMMicrocontroller/ARMMicrocontroller>
518

519
520
521
522
config ARCH_LPC32XX
	bool "NXP LPC32XX"
	select ARM_AMBA
	select CLKDEV_LOOKUP
523
524
	select CLKSRC_LPC32XX
	select COMMON_CLK
525
526
	select CPU_ARM926T
	select GENERIC_CLOCKEVENTS
527
	select GPIOLIB
528
529
	select MULTI_IRQ_HANDLER
	select SPARSE_IRQ
530
531
532
533
	select USE_OF
	help
	  Support for the NXP LPC32XX family of processors

Linus Torvalds's avatar
Linus Torvalds committed
534
config ARCH_PXA
eric miao's avatar
eric miao committed
535
	bool "PXA2xx/PXA3xx-based"
536
	depends on MMU
537
538
539
	select ARCH_MTD_XIP
	select ARM_CPU_SUSPEND if PM
	select AUTO_ZRELADDR
540
	select COMMON_CLK
541
	select CLKDEV_LOOKUP
542
	select CLKSRC_PXA
543
	select CLKSRC_MMIO
544
	select CLKSRC_OF
545
	select CPU_XSCALE if !CPU_XSC3
546
	select GENERIC_CLOCKEVENTS
547
	select GPIO_PXA
548
	select GPIOLIB
549
	select HAVE_IDE
550
	select IRQ_DOMAIN
551
552
553
	select MULTI_IRQ_HANDLER
	select PLAT_PXA
	select SPARSE_IRQ
554
	help
eric miao's avatar
eric miao committed
555
	  Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
Linus Torvalds's avatar
Linus Torvalds committed
556
557
558

config ARCH_RPC
	bool "RiscPC"
Russell King's avatar
Russell King committed
559
	depends on MMU
Linus Torvalds's avatar
Linus Torvalds committed
560
	select ARCH_ACORN
561
	select ARCH_MAY_HAVE_PC_FDC
562
	select ARCH_SPARSEMEM_ENABLE
563
	select ARCH_USES_GETTIMEOFFSET
Arnd Bergmann's avatar
Arnd Bergmann committed
564
	select CPU_SA110
565
	select FIQ
566
	select HAVE_IDE
567
568
	select HAVE_PATA_PLATFORM
	select ISA_DMA_API
569
	select NEED_MACH_IO_H
570
	select NEED_MACH_MEMORY_H
571
	select NO_IOPORT_MAP
Linus Torvalds's avatar
Linus Torvalds committed
572
573
574
575
576
577
	help
	  On the Acorn Risc-PC, Linux can support the internal IDE disk and
	  CD-ROM interface, serial and parallel port, and the floppy drive.

config ARCH_SA1100
	bool "SA1100-based"
578
579
580
581
	select ARCH_MTD_XIP
	select ARCH_SPARSEMEM_ENABLE
	select CLKDEV_LOOKUP
	select CLKSRC_MMIO
582
583
	select CLKSRC_PXA
	select CLKSRC_OF if OF
Russell King's avatar
Russell King committed
584
	select CPU_FREQ
585
	select CPU_SA1100
586
	select GENERIC_CLOCKEVENTS
587
	select GPIOLIB
588
	select HAVE_IDE
589
	select IRQ_DOMAIN
590
	select ISA
591
	select MULTI_IRQ_HANDLER
592
	select NEED_MACH_MEMORY_H
593
	select SPARSE_IRQ
594
595
	help
	  Support for StrongARM 11x0 based boards.
Linus Torvalds's avatar
Linus Torvalds committed
596

597
598
config ARCH_S3C24XX
	bool "Samsung S3C24XX SoCs"
599
	select ATAGS
600
	select CLKDEV_LOOKUP
601
	select CLKSRC_SAMSUNG_PWM
602
	select GENERIC_CLOCKEVENTS
603
	select GPIO_SAMSUNG
604
	select GPIOLIB
605
	select HAVE_S3C2410_I2C if I2C
606
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
607
	select HAVE_S3C_RTC if RTC_CLASS
608
	select MULTI_IRQ_HANDLER
609
	select NEED_MACH_IO_H
610
	select SAMSUNG_ATAGS
Linus Torvalds's avatar
Linus Torvalds committed
611
	help
612
613
614
615
	  Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443
	  and S3C2450 SoCs based systems, such as the Simtec Electronics BAST
	  (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the
	  Samsung SMDK2410 development board (and derivatives).
616

617
618
config ARCH_DAVINCI
	bool "TI DaVinci"
619
	select ARCH_HAS_HOLES_MEMORYMODEL
620
	select CLKDEV_LOOKUP
621
	select CPU_ARM926T
David Brownell's avatar
David Brownell committed
622
	select GENERIC_ALLOCATOR
623
	select GENERIC_CLOCKEVENTS
Russell King's avatar
Russell King committed
624
	select GENERIC_IRQ_CHIP
625
	select GPIOLIB
626
	select HAVE_IDE
627
	select USE_OF
628
	select ZONE_DMA
629
630
631
	help
	  Support for TI's DaVinci platform.

632
633
config ARCH_OMAP1
	bool "TI OMAP1"
Arnd Bergmann's avatar
Arnd Bergmann committed
634
	depends on MMU
635
	select ARCH_HAS_HOLES_MEMORYMODEL
636
	select ARCH_OMAP
637
	select CLKDEV_LOOKUP
638
	select CLKSRC_MMIO
639
	select GENERIC_CLOCKEVENTS
640
	select GENERIC_IRQ_CHIP
641
	select GPIOLIB
642
643
	select HAVE_IDE
	select IRQ_DOMAIN
644
	select MULTI_IRQ_HANDLER
645
646
	select NEED_MACH_IO_H if PCCARD
	select NEED_MACH_MEMORY_H
647
	select SPARSE_IRQ
648
	help
649
	  Support for older TI OMAP1 (omap7xx, omap15xx or omap16xx)
650

Linus Torvalds's avatar
Linus Torvalds committed
651
652
endchoice

653
654
655
656
657
menu "Multiple platform selection"
	depends on ARCH_MULTIPLATFORM

comment "CPU Core family selection"

Arnd Bergmann's avatar
Arnd Bergmann committed
658
659
660
661
662
663
config ARCH_MULTI_V4
	bool "ARMv4 based platforms (FA526)"
	depends on !ARCH_MULTI_V6_V7
	select ARCH_MULTI_V4_V5
	select CPU_FA526

664
665
666
config ARCH_MULTI_V4T
	bool "ARMv4T based platforms (ARM720T, ARM920T, ...)"
	depends on !ARCH_MULTI_V6_V7
667
	select ARCH_MULTI_V4_V5
668
669
670
	select CPU_ARM920T if !(CPU_ARM7TDMI || CPU_ARM720T || \
		CPU_ARM740T || CPU_ARM9TDMI || CPU_ARM922T || \
		CPU_ARM925T || CPU_ARM940T)
671
672
673
674

config ARCH_MULTI_V5
	bool "ARMv5 based platforms (ARM926T, XSCALE, PJ1, ...)"
	depends on !ARCH_MULTI_V6_V7
675
	select ARCH_MULTI_V4_V5
676
	select CPU_ARM926T if !(CPU_ARM946E || CPU_ARM1020 || \
677
678
		CPU_ARM1020E || CPU_ARM1022 || CPU_ARM1026 || \
		CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_FEROCEON)
679
680
681
682
683

config ARCH_MULTI_V4_V5
	bool

config ARCH_MULTI_V6
684
	bool "ARMv6 based platforms (ARM11)"
685
	select ARCH_MULTI_V6_V7
686
	select CPU_V6K
687
688

config ARCH_MULTI_V7
689
	bool "ARMv7 based platforms (Cortex-A, PJ4, Scorpion, Krait)"
690
691
	default y
	select ARCH_MULTI_V6_V7
692
	select CPU_V7
693
	select HAVE_SMP
694
695
696

config ARCH_MULTI_V6_V7
	bool
697
	select MIGHT_HAVE_CACHE_L2X0
698
699
700
701
702
703
704

config ARCH_MULTI_CPU_AUTO
	def_bool !(ARCH_MULTI_V4 || ARCH_MULTI_V4T || ARCH_MULTI_V6_V7)
	select ARCH_MULTI_V5

endmenu

705
config ARCH_VIRT
706
707
	bool "Dummy Virtual Machine"
	depends on ARCH_MULTI_V7
Rob Herring's avatar
Rob Herring committed
708
	select ARM_AMBA
709
	select ARM_GIC
710
	select ARM_GIC_V2M if PCI
711
	select ARM_GIC_V3
712
	select ARM_GIC_V3_ITS if PCI
713
	select ARM_PSCI
Rob Herring's avatar
Rob Herring committed
714
	select HAVE_ARM_ARCH_TIMER
715

716
717
718
719
720
#
# This is sorted alphabetically by mach-* pathname.  However, plat-*
# Kconfigs may be included either alphabetically (according to the
# plat- suffix) or along side the corresponding mach-* source.
#
721
722
source "arch/arm/mach-mvebu/Kconfig"

723
724
source "arch/arm/mach-alpine/Kconfig"

725
726
source "arch/arm/mach-artpec/Kconfig"

Oleksij Rempel's avatar
Oleksij Rempel committed
727
728
source "arch/arm/mach-asm9260/Kconfig"

729
730
source "arch/arm/mach-at91/Kconfig"

731
732
source "arch/arm/mach-axxia/Kconfig"

733
734
source "arch/arm/mach-bcm/Kconfig"

735
736
source "arch/arm/mach-berlin/Kconfig"

Linus Torvalds's avatar
Linus Torvalds committed
737
738
source "arch/arm/mach-clps711x/Kconfig"

739
740
source "arch/arm/mach-cns3xxx/Kconfig"

741
742
source "arch/arm/mach-davinci/Kconfig"

743
744
source "arch/arm/mach-digicolor/Kconfig"

745
746
source "arch/arm/mach-dove/Kconfig"

747
748
source "arch/arm/mach-ep93xx/Kconfig"

Linus Torvalds's avatar
Linus Torvalds committed
749
750
source "arch/arm/mach-footbridge/Kconfig"

751
752
source "arch/arm/mach-gemini/Kconfig"

753
754
source "arch/arm/mach-highbank/Kconfig"

755
756
source "arch/arm/mach-hisi/Kconfig"

Linus Torvalds's avatar
Linus Torvalds committed
757
758
source "arch/arm/mach-integrator/Kconfig"

759
760
761
source "arch/arm/mach-iop32x/Kconfig"

source "arch/arm/mach-iop33x/Kconfig"
Linus Torvalds's avatar
Linus Torvalds committed
762

763
764
source "arch/arm/mach-iop13xx/Kconfig"

Linus Torvalds's avatar
Linus Torvalds committed
765
766
source "arch/arm/mach-ixp4xx/Kconfig"

767
768
source "arch/arm/mach-keystone/Kconfig"

769
770
source "arch/arm/mach-ks8695/Kconfig"

771
772
source "arch/arm/mach-meson/Kconfig"

773
774
source "arch/arm/mach-moxart/Kconfig"

Joel Stanley's avatar
Joel Stanley committed
775
776
source "arch/arm/mach-aspeed/Kconfig"

777
778
source "arch/arm/mach-mv78xx0/Kconfig"

779
source "arch/arm/mach-imx/Kconfig"
Linus Torvalds's avatar
Linus Torvalds committed
780

781
782
source "arch/arm/mach-mediatek/Kconfig"

783
784
source "arch/arm/mach-mxs/Kconfig"

785
source "arch/arm/mach-netx/Kconfig"
786

787
788
source "arch/arm/mach-nomadik/Kconfig"

789
790
source "arch/arm/mach-nspire/Kconfig"

791
792
793
source "arch/arm/plat-omap/Kconfig"

source "arch/arm/mach-omap1/Kconfig"
Linus Torvalds's avatar
Linus Torvalds committed
794

795
796
source "arch/arm/mach-omap2/Kconfig"

797
source "arch/arm/mach-orion5x/Kconfig"
798

799
800
source "arch/arm/mach-picoxcell/Kconfig"

801
802
source "arch/arm/mach-pxa/Kconfig"
source "arch/arm/plat-pxa/Kconfig"
803

804
805
source "arch/arm/mach-mmp/Kconfig"

Neil Armstrong's avatar
Neil Armstrong committed
806
807
source "arch/arm/mach-oxnas/Kconfig"

808
809
source "arch/arm/mach-qcom/Kconfig"

810
811
source "arch/arm/mach-realview/Kconfig"

812
813
source "arch/arm/mach-rockchip/Kconfig"

814
source "arch/arm/mach-sa1100/Kconfig"
815

816
817
source "arch/arm/mach-socfpga/Kconfig"

818
source "arch/arm/mach-spear/Kconfig"
819

820
821
source "arch/arm/mach-sti/Kconfig"

822
source "arch/arm/mach-s3c24xx/Kconfig"
Linus Torvalds's avatar
Linus Torvalds committed
823

824
source "arch/arm/mach-s3c64xx/Kconfig"
825

826
827
source "arch/arm/mach-s5pv210/Kconfig"

828
source "arch/arm/mach-exynos/Kconfig"
829
source "arch/arm/plat-samsung/Kconfig"
830

831
source "arch/arm/mach-shmobile/Kconfig"
832

833
834
source "arch/arm/mach-sunxi/Kconfig"

835
836
source "arch/arm/mach-prima2/Kconfig"

837
838
source "arch/arm/mach-tango/Kconfig"

839
840
source "arch/arm/mach-tegra/Kconfig"

841
source "arch/arm/mach-u300/Kconfig"
Linus Torvalds's avatar
Linus Torvalds committed
842

843
844
source "arch/arm/mach-uniphier/Kconfig"

845
source "arch/arm/mach-ux500/Kconfig"
Linus Torvalds's avatar
Linus Torvalds committed
846
847
848

source "arch/arm/mach-versatile/Kconfig"

849
source "arch/arm/mach-vexpress/Kconfig"
850
source "arch/arm/plat-versatile/Kconfig"
851

852
853
source "arch/arm/mach-vt8500/Kconfig"

854
855
source "arch/arm/mach-w90x900/Kconfig"

856
857
source "arch/arm/mach-zx/Kconfig"

858
859
source "arch/arm/mach-zynq/Kconfig"

860
861
862
863
# ARMv7-M architecture
config ARCH_EFM32
	bool "Energy Micro efm32"
	depends on ARM_SINGLE_ARMV7M
864
	select GPIOLIB
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
	help
	  Support for Energy Micro's (now Silicon Labs) efm32 Giant Gecko
	  processors.

config ARCH_LPC18XX
	bool "NXP LPC18xx/LPC43xx"
	depends on ARM_SINGLE_ARMV7M
	select ARCH_HAS_RESET_CONTROLLER
	select ARM_AMBA
	select CLKSRC_LPC32XX
	select PINCTRL
	help
	  Support for NXP's LPC18xx Cortex-M3 and LPC43xx Cortex-M4
	  high performance microcontrollers.

config ARCH_STM32
	bool "STMicrolectronics STM32"
	depends on ARM_SINGLE_ARMV7M
	select ARCH_HAS_RESET_CONTROLLER
	select ARMV7M_SYSTICK
885
	select CLKSRC_STM32
886
	select PINCTRL
887
	select RESET_CONTROLLER
888
	select STM32_EXTI
889
890
891
	help
	  Support for STMicroelectronics STM32 processors.

892
893
894
895
896
config MACH_STM32F429
	bool "STMicrolectronics STM32F429"
	depends on ARCH_STM32
	default y

897
898
899
900
901
config MACH_STM32F746
	bool "STMicrolectronics STM32F746"
	depends on ARCH_STM32
	default y

902
config ARCH_MPS2
Baruch Siach's avatar
Baruch Siach committed
903
	bool "ARM MPS2 platform"
904
905
906
907
908
909
910
911
912
913
	depends on ARM_SINGLE_ARMV7M
	select ARM_AMBA
	select CLKSRC_MPS2
	help
	  Support for Cortex-M Prototyping System (or V2M-MPS2) which comes
	  with a range of available cores like Cortex-M3/M4/M7.

	  Please, note that depends which Application Note is used memory map
	  for the platform may vary, so adjustment of RAM base might be needed.

Linus Torvalds's avatar
Linus Torvalds committed
914
915
916
917
# Definitions to make life easier
config ARCH_ACORN
	bool

918
919
config PLAT_IOP
	bool
Mikael Pettersson's avatar
Mikael Pettersson committed
920
	select GENERIC_CLOCKEVENTS
921

Lennert Buytenhek's avatar
Lennert Buytenhek committed
922
923
config PLAT_ORION
	bool
924
	select CLKSRC_MMIO
925
	select COMMON_CLK
Russell King's avatar
Russell King committed
926
	select GENERIC_IRQ_CHIP
927
	select IRQ_DOMAIN
Lennert Buytenhek's avatar
Lennert Buytenhek committed
928

929
930
931
932
config PLAT_ORION_LEGACY
	bool
	select PLAT_ORION

933
934
935
config PLAT_PXA
	bool

936
937
938
config PLAT_VERSATILE
	bool

939
940
source "arch/arm/firmware/Kconfig"

Linus Torvalds's avatar
Linus Torvalds committed
941
942
source arch/arm/mm/Kconfig

943
config IWMMXT
944
945
946
	bool "Enable iWMMXt support"
	depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4 || CPU_PJ4B
	default y if PXA27x || PXA3xx || ARCH_MMP || CPU_PJ4 || CPU_PJ4B
947
948
949
950
	help
	  Enable support for iWMMXt context switching at run time if
	  running on a CPU that supports it.

951
952
953
954
955
config MULTI_IRQ_HANDLER
	bool
	help
	  Allow each machine to specify it's own IRQ handler at run time.

956
957
958
959
if !MMU
source "arch/arm/Kconfig-nommu"
endif

960
961
962
963
964
965
966
967
968
969
970
971
972
973
config PJ4B_ERRATA_4742
	bool "PJ4B Errata 4742: IDLE Wake Up Commands can Cause the CPU Core to Cease Operation"
	depends on CPU_PJ4B && MACH_ARMADA_370
	default y
	help
	  When coming out of either a Wait for Interrupt (WFI) or a Wait for
	  Event (WFE) IDLE states, a specific timing sensitivity exists between
	  the retiring WFI/WFE instructions and the newly issued subsequent
	  instructions.  This sensitivity can result in a CPU hang scenario.
	  Workaround:
	  The software must insert either a Data Synchronization Barrier (DSB)
	  or Data Memory Barrier (DMB) command immediately after the WFI/WFE
	  instruction

974
975
976
977
978
979
980
981
982
config ARM_ERRATA_326103
	bool "ARM errata: FSR write bit incorrect on a SWP to read-only memory"
	depends on CPU_V6
	help
	  Executing a SWP instruction to read-only memory does not set bit 11
	  of the FSR on the ARM 1136 prior to r1p0. This causes the kernel to
	  treat the access as a read, preventing a COW from occurring and
	  causing the faulting task to livelock.