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

121
config ARM_HAS_SG_CHAIN
122
	select ARCH_HAS_SG_CHAIN
123
124
	bool

125
126
config ARM_DMA_USE_IOMMU
	bool
127
128
	select ARM_HAS_SG_CHAIN
	select NEED_SG_DMA_LENGTH
129

130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
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

151
152
153
config MIGHT_HAVE_PCI
	bool

154
155
156
config SYS_SUPPORTS_APM_EMULATION
	bool

157
158
159
160
config HAVE_TCM
	bool
	select GENERIC_ALLOCATOR

161
162
163
config HAVE_PROC_CPU
	bool

164
config NO_IOPORT_MAP
Al Viro's avatar
Al Viro committed
165
166
	bool

Linus Torvalds's avatar
Linus Torvalds committed
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
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

185
186
187
188
189
190
191
192
config STACKTRACE_SUPPORT
	bool
	default y

config LOCKDEP_SUPPORT
	bool
	default y

Russell King's avatar
Russell King committed
193
194
config TRACE_IRQFLAGS_SUPPORT
	bool
195
	default !CPU_V7M
Russell King's avatar
Russell King committed
196

Linus Torvalds's avatar
Linus Torvalds committed
197
198
config RWSEM_XCHGADD_ALGORITHM
	bool
199
	default y
Linus Torvalds's avatar
Linus Torvalds committed
200

201
202
203
204
205
206
config ARCH_HAS_ILOG2_U32
	bool

config ARCH_HAS_ILOG2_U64
	bool

207
208
209
config ARCH_HAS_BANDGAP
	bool

210
211
212
config FIX_EARLYCON_MEM
	def_bool y if MMU

213
214
215
216
config GENERIC_HWEIGHT
	bool
	default y

Linus Torvalds's avatar
Linus Torvalds committed
217
218
219
220
config GENERIC_CALIBRATE_DELAY
	bool
	default y

221
222
223
config ARCH_MAY_HAVE_PC_FDC
	bool

224
225
226
config ZONE_DMA
	bool

David A. Long's avatar
David A. Long committed
227
228
229
config ARCH_SUPPORTS_UPROBES
	def_bool y

230
231
232
config ARCH_HAS_DMA_SET_COHERENT_MASK
	bool

Linus Torvalds's avatar
Linus Torvalds committed
233
234
235
236
237
238
config GENERIC_ISA_DMA
	bool

config FIQ
	bool

239
240
241
config NEED_RET_TO_USER
	bool

242
243
244
config ARCH_MTD_XIP
	bool

245
config ARM_PATCH_PHYS_VIRT
246
247
	bool "Patch physical to virtual translations at runtime" if EMBEDDED
	default y
248
	depends on !XIP_KERNEL && MMU
249
	help
250
251
252
	  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.
253

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

257
258
259
	  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.
260

261
262
263
264
265
266
267
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.

268
config NEED_MACH_MEMORY_H
269
270
	bool
	help
271
272
273
	  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.
274

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

292
293
294
295
config GENERIC_BUG
	def_bool y
	depends on BUG

296
297
298
299
300
config PGTABLE_LEVELS
	int
	default 3 if ARM_LPAE
	default 2

Linus Torvalds's avatar
Linus Torvalds committed
301
302
source "init/Kconfig"

303
304
source "kernel/Kconfig.freezer"

Linus Torvalds's avatar
Linus Torvalds committed
305
306
menu "System Type"

307
308
309
310
311
312
313
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'.

314
315
316
317
318
319
320
321
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

322
323
324
325
#
# 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
326
327
choice
	prompt "ARM system type"
328
	default ARM_SINGLE_ARMV7M if !MMU
329
	default ARCH_MULTIPLATFORM if MMU
Linus Torvalds's avatar
Linus Torvalds committed
330

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

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

Linus Torvalds's avatar
Linus Torvalds committed
359
360
config ARCH_EBSA110
	bool "EBSA-110"
361
	select ARCH_USES_GETTIMEOFFSET
362
	select CPU_SA110
363
	select ISA
364
	select NEED_MACH_IO_H
365
	select NEED_MACH_MEMORY_H
366
	select NO_IOPORT_MAP
Linus Torvalds's avatar
Linus Torvalds committed
367
368
	help
	  This is an evaluation board for the StrongARM processor available
369
	  from Digital. It has limited hardware on-board, including an
Linus Torvalds's avatar
Linus Torvalds committed
370
371
372
	  Ethernet interface, two PCMCIA sockets, two serial ports and a
	  parallel port.

373
374
config ARCH_EP93XX
	bool "EP93xx-based"
375
	select ARCH_SPARSEMEM_ENABLE
376
	select ARM_AMBA
377
	imply ARM_PATCH_PHYS_VIRT
378
	select ARM_VIC
379
	select AUTO_ZRELADDR
380
	select CLKDEV_LOOKUP
381
	select CLKSRC_MMIO
382
	select CPU_ARM920T
383
	select GENERIC_CLOCKEVENTS
384
	select GPIOLIB
385
386
387
	help
	  This enables support for the Cirrus EP93xx series of CPUs.

Linus Torvalds's avatar
Linus Torvalds committed
388
389
config ARCH_FOOTBRIDGE
	bool "FootBridge"
390
	select CPU_SA110
Linus Torvalds's avatar
Linus Torvalds committed
391
	select FOOTBRIDGE
392
	select GENERIC_CLOCKEVENTS
393
	select HAVE_IDE
394
	select NEED_MACH_IO_H if !MMU
395
	select NEED_MACH_MEMORY_H
396
397
398
	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
399

400
401
config ARCH_NETX
	bool "Hilscher NetX based"
402
	select ARM_VIC
403
	select CLKSRC_MMIO
404
	select CPU_ARM926T
405
	select GENERIC_CLOCKEVENTS
406
	help
407
408
	  This enables support for systems based on the Hilscher NetX Soc

409
410
411
config ARCH_IOP13XX
	bool "IOP13xx-based"
	depends on MMU
412
	select CPU_XSC3
413
	select NEED_MACH_MEMORY_H
414
	select NEED_RET_TO_USER
415
416
417
	select PCI
	select PLAT_IOP
	select VMSPLIT_1G
418
	select SPARSE_IRQ
419
420
421
	help
	  Support for Intel's IOP13XX (XScale) family of processors.

422
423
config ARCH_IOP32X
	bool "IOP32x-based"
424
	depends on MMU
425
	select CPU_XSCALE
426
	select GPIO_IOP
427
	select GPIOLIB
428
	select NEED_RET_TO_USER
429
	select PCI
430
	select PLAT_IOP
431
	help
432
433
434
435
436
437
	  Support for Intel's 80219 and IOP32X (XScale) family of
	  processors.

config ARCH_IOP33X
	bool "IOP33x-based"
	depends on MMU
438
	select CPU_XSCALE
439
	select GPIO_IOP
440
	select GPIOLIB
441
	select NEED_RET_TO_USER
442
	select PCI
443
	select PLAT_IOP
444
445
	help
	  Support for Intel's IOP33X (XScale) family of processors.
Linus Torvalds's avatar
Linus Torvalds committed
446

447
448
config ARCH_IXP4XX
	bool "IXP4xx-based"
449
	depends on MMU
450
	select ARCH_HAS_DMA_SET_COHERENT_MASK
451
	select ARCH_SUPPORTS_BIG_ENDIAN
452
	select CLKSRC_MMIO
453
	select CPU_XSCALE
454
	select DMABOUNCE if PCI
455
	select GENERIC_CLOCKEVENTS
456
	select GPIOLIB
457
	select MIGHT_HAVE_PCI
458
	select NEED_MACH_IO_H
459
	select USB_EHCI_BIG_ENDIAN_DESC
Russell King's avatar
Russell King committed
460
	select USB_EHCI_BIG_ENDIAN_MMIO
461
	help
462
	  Support for Intel's IXP4XX (XScale) family of processors.
463

464
465
config ARCH_DOVE
	bool "Marvell Dove"
466
	select CPU_PJ4
467
	select GENERIC_CLOCKEVENTS
468
	select GPIOLIB
469
	select MIGHT_HAVE_PCI
470
	select MULTI_IRQ_HANDLER
Russell King's avatar
Russell King committed
471
	select MVEBU_MBUS
472
473
	select PINCTRL
	select PINCTRL_DOVE
474
	select PLAT_ORION_LEGACY
Haojian Zhuang's avatar
Haojian Zhuang committed
475
	select SPARSE_IRQ
476
	select PM_GENERIC_DOMAINS if PM
477
	help
478
	  Support for the Marvell Dove SoC 88AP510
479
480
481

config ARCH_KS8695
	bool "Micrel/Kendin KS8695"
482
	select CLKSRC_MMIO
483
	select CPU_ARM922T
484
	select GENERIC_CLOCKEVENTS
485
	select GPIOLIB
486
	select NEED_MACH_MEMORY_H
487
488
489
490
491
492
	help
	  Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
	  System-on-Chip devices.

config ARCH_W90X900
	bool "Nuvoton W90X900 CPU"
493
	select CLKDEV_LOOKUP
494
	select CLKSRC_MMIO
495
	select CPU_ARM926T
496
	select GENERIC_CLOCKEVENTS
497
	select GPIOLIB
498
	help
499
500
501
502
503
504
505
	  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>
506

507
508
509
510
config ARCH_LPC32XX
	bool "NXP LPC32XX"
	select ARM_AMBA
	select CLKDEV_LOOKUP
511
512
	select CLKSRC_LPC32XX
	select COMMON_CLK
513
514
	select CPU_ARM926T
	select GENERIC_CLOCKEVENTS
515
	select GPIOLIB
516
517
	select MULTI_IRQ_HANDLER
	select SPARSE_IRQ
518
519
520
521
	select USE_OF
	help
	  Support for the NXP LPC32XX family of processors

Linus Torvalds's avatar
Linus Torvalds committed
522
config ARCH_PXA
eric miao's avatar
eric miao committed
523
	bool "PXA2xx/PXA3xx-based"
524
	depends on MMU
525
526
527
	select ARCH_MTD_XIP
	select ARM_CPU_SUSPEND if PM
	select AUTO_ZRELADDR
528
	select COMMON_CLK
529
	select CLKDEV_LOOKUP
530
	select CLKSRC_PXA
531
	select CLKSRC_MMIO
532
	select TIMER_OF
533
	select CPU_XSCALE if !CPU_XSC3
534
	select GENERIC_CLOCKEVENTS
535
	select GPIO_PXA
536
	select GPIOLIB
537
	select HAVE_IDE
538
	select IRQ_DOMAIN
539
540
541
	select MULTI_IRQ_HANDLER
	select PLAT_PXA
	select SPARSE_IRQ
542
	help
eric miao's avatar
eric miao committed
543
	  Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
Linus Torvalds's avatar
Linus Torvalds committed
544
545
546

config ARCH_RPC
	bool "RiscPC"
Russell King's avatar
Russell King committed
547
	depends on MMU
Linus Torvalds's avatar
Linus Torvalds committed
548
	select ARCH_ACORN
549
	select ARCH_MAY_HAVE_PC_FDC
550
	select ARCH_SPARSEMEM_ENABLE
551
	select ARCH_USES_GETTIMEOFFSET
Arnd Bergmann's avatar
Arnd Bergmann committed
552
	select CPU_SA110
553
	select FIQ
554
	select HAVE_IDE
555
556
	select HAVE_PATA_PLATFORM
	select ISA_DMA_API
557
	select NEED_MACH_IO_H
558
	select NEED_MACH_MEMORY_H
559
	select NO_IOPORT_MAP
Linus Torvalds's avatar
Linus Torvalds committed
560
561
562
563
564
565
	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"
566
567
568
569
	select ARCH_MTD_XIP
	select ARCH_SPARSEMEM_ENABLE
	select CLKDEV_LOOKUP
	select CLKSRC_MMIO
570
	select CLKSRC_PXA
571
	select TIMER_OF if OF
Russell King's avatar
Russell King committed
572
	select CPU_FREQ
573
	select CPU_SA1100
574
	select GENERIC_CLOCKEVENTS
575
	select GPIOLIB
576
	select HAVE_IDE
577
	select IRQ_DOMAIN
578
	select ISA
579
	select MULTI_IRQ_HANDLER
580
	select NEED_MACH_MEMORY_H
581
	select SPARSE_IRQ
582
583
	help
	  Support for StrongARM 11x0 based boards.
Linus Torvalds's avatar
Linus Torvalds committed
584

585
586
config ARCH_S3C24XX
	bool "Samsung S3C24XX SoCs"
587
	select ATAGS
588
	select CLKDEV_LOOKUP
589
	select CLKSRC_SAMSUNG_PWM
590
	select GENERIC_CLOCKEVENTS
591
	select GPIO_SAMSUNG
592
	select GPIOLIB
593
	select HAVE_S3C2410_I2C if I2C
594
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
595
	select HAVE_S3C_RTC if RTC_CLASS
596
	select MULTI_IRQ_HANDLER
597
	select NEED_MACH_IO_H
598
	select SAMSUNG_ATAGS
599
	select USE_OF
Linus Torvalds's avatar
Linus Torvalds committed
600
	help
601
602
603
604
	  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).
605

606
607
config ARCH_DAVINCI
	bool "TI DaVinci"
608
	select ARCH_HAS_HOLES_MEMORYMODEL
609
	select CLKDEV_LOOKUP
610
	select CPU_ARM926T
David Brownell's avatar
David Brownell committed
611
	select GENERIC_ALLOCATOR
612
	select GENERIC_CLOCKEVENTS
Russell King's avatar
Russell King committed
613
	select GENERIC_IRQ_CHIP
614
	select GPIOLIB
615
	select HAVE_IDE
616
	select USE_OF
617
	select ZONE_DMA
618
619
620
	help
	  Support for TI's DaVinci platform.

621
622
config ARCH_OMAP1
	bool "TI OMAP1"
Arnd Bergmann's avatar
Arnd Bergmann committed
623
	depends on MMU
624
	select ARCH_HAS_HOLES_MEMORYMODEL
625
	select ARCH_OMAP
626
	select CLKDEV_LOOKUP
627
	select CLKSRC_MMIO
628
	select GENERIC_CLOCKEVENTS
629
	select GENERIC_IRQ_CHIP
630
	select GPIOLIB
631
632
	select HAVE_IDE
	select IRQ_DOMAIN
633
	select MULTI_IRQ_HANDLER
634
635
	select NEED_MACH_IO_H if PCCARD
	select NEED_MACH_MEMORY_H
636
	select SPARSE_IRQ
637
	help
638
	  Support for older TI OMAP1 (omap7xx, omap15xx or omap16xx)
639

Linus Torvalds's avatar
Linus Torvalds committed
640
641
endchoice

642
643
644
645
646
menu "Multiple platform selection"
	depends on ARCH_MULTIPLATFORM

comment "CPU Core family selection"

Arnd Bergmann's avatar
Arnd Bergmann committed
647
648
649
650
651
652
config ARCH_MULTI_V4
	bool "ARMv4 based platforms (FA526)"
	depends on !ARCH_MULTI_V6_V7
	select ARCH_MULTI_V4_V5
	select CPU_FA526

653
654
655
config ARCH_MULTI_V4T
	bool "ARMv4T based platforms (ARM720T, ARM920T, ...)"
	depends on !ARCH_MULTI_V6_V7
656
	select ARCH_MULTI_V4_V5
657
658
659
	select CPU_ARM920T if !(CPU_ARM7TDMI || CPU_ARM720T || \
		CPU_ARM740T || CPU_ARM9TDMI || CPU_ARM922T || \
		CPU_ARM925T || CPU_ARM940T)
660
661
662
663

config ARCH_MULTI_V5
	bool "ARMv5 based platforms (ARM926T, XSCALE, PJ1, ...)"
	depends on !ARCH_MULTI_V6_V7
664
	select ARCH_MULTI_V4_V5
665
	select CPU_ARM926T if !(CPU_ARM946E || CPU_ARM1020 || \
666
667
		CPU_ARM1020E || CPU_ARM1022 || CPU_ARM1026 || \
		CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_FEROCEON)
668
669
670
671
672

config ARCH_MULTI_V4_V5
	bool

config ARCH_MULTI_V6
673
	bool "ARMv6 based platforms (ARM11)"
674
	select ARCH_MULTI_V6_V7
675
	select CPU_V6K
676
677

config ARCH_MULTI_V7
678
	bool "ARMv7 based platforms (Cortex-A, PJ4, Scorpion, Krait)"
679
680
	default y
	select ARCH_MULTI_V6_V7
681
	select CPU_V7
682
	select HAVE_SMP
683
684
685

config ARCH_MULTI_V6_V7
	bool
686
	select MIGHT_HAVE_CACHE_L2X0
687
688
689
690
691
692
693

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

endmenu

694
config ARCH_VIRT
695
696
	bool "Dummy Virtual Machine"
	depends on ARCH_MULTI_V7
Rob Herring's avatar
Rob Herring committed
697
	select ARM_AMBA
698
	select ARM_GIC
699
	select ARM_GIC_V2M if PCI
700
	select ARM_GIC_V3
701
	select ARM_GIC_V3_ITS if PCI
702
	select ARM_PSCI
Rob Herring's avatar
Rob Herring committed
703
	select HAVE_ARM_ARCH_TIMER
704

705
706
707
708
709
#
# 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.
#
710
711
source "arch/arm/mach-actions/Kconfig"

712
713
source "arch/arm/mach-alpine/Kconfig"

714
715
source "arch/arm/mach-artpec/Kconfig"

Oleksij Rempel's avatar
Oleksij Rempel committed
716
717
source "arch/arm/mach-asm9260/Kconfig"

718
719
source "arch/arm/mach-aspeed/Kconfig"

720
721
source "arch/arm/mach-at91/Kconfig"

722
723
source "arch/arm/mach-axxia/Kconfig"

724
725
source "arch/arm/mach-bcm/Kconfig"

726
727
source "arch/arm/mach-berlin/Kconfig"

Linus Torvalds's avatar
Linus Torvalds committed
728
729
source "arch/arm/mach-clps711x/Kconfig"

730
731
source "arch/arm/mach-cns3xxx/Kconfig"

732
733
source "arch/arm/mach-davinci/Kconfig"

734
735
source "arch/arm/mach-digicolor/Kconfig"

736
737
source "arch/arm/mach-dove/Kconfig"

738
739
source "arch/arm/mach-ep93xx/Kconfig"

740
741
742
source "arch/arm/mach-exynos/Kconfig"
source "arch/arm/plat-samsung/Kconfig"

Linus Torvalds's avatar
Linus Torvalds committed
743
744
source "arch/arm/mach-footbridge/Kconfig"

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

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

749
750
source "arch/arm/mach-hisi/Kconfig"

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

Linus Torvalds's avatar
Linus Torvalds committed
753
754
source "arch/arm/mach-integrator/Kconfig"

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

757
758
759
source "arch/arm/mach-iop32x/Kconfig"

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

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

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

765
766
source "arch/arm/mach-ks8695/Kconfig"

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

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

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

773
source "arch/arm/mach-moxart/Kconfig"
Joel Stanley's avatar
Joel Stanley committed
774

775
776
source "arch/arm/mach-mv78xx0/Kconfig"

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

779
780
source "arch/arm/mach-mxs/Kconfig"

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

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

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

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

789
790
791
source "arch/arm/plat-omap/Kconfig"

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

793
794
source "arch/arm/mach-omap2/Kconfig"

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

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

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

801
802
source "arch/arm/mach-prima2/Kconfig"

803
804
source "arch/arm/mach-pxa/Kconfig"
source "arch/arm/plat-pxa/Kconfig"
805

806
807
source "arch/arm/mach-qcom/Kconfig"

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

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

812
813
814
815
816
817
source "arch/arm/mach-s3c24xx/Kconfig"

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

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

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

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

822
823
source "arch/arm/mach-socfpga/Kconfig"

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

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

828
829
source "arch/arm/mach-stm32/Kconfig"

830
831
source "arch/arm/mach-sunxi/Kconfig"

832
833
source "arch/arm/mach-tango/Kconfig"

834
835
source "arch/arm/mach-tegra/Kconfig"

836
source "arch/arm/mach-u300/Kconfig"
Linus Torvalds's avatar
Linus Torvalds committed
837

838
839
source "arch/arm/mach-uniphier/Kconfig"

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

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

844
source "arch/arm/mach-vexpress/Kconfig"
845
source "arch/arm/plat-versatile/Kconfig"
846

847
848
source "arch/arm/mach-vt8500/Kconfig"

849
850
source "arch/arm/mach-w90x900/Kconfig"

851
852
source "arch/arm/mach-zx/Kconfig"

853
854
source "arch/arm/mach-zynq/Kconfig"

855
856
857
858
# ARMv7-M architecture
config ARCH_EFM32
	bool "Energy Micro efm32"
	depends on ARM_SINGLE_ARMV7M
859
	select GPIOLIB
860
861
862
863
864
865
866
867
868
869
870
871