blob: 91e5c7cf20e5fe5f25db57d18f9f7b7982ed0dd7 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001config ARM
2 bool
3 default y
Russell King24056f52011-01-03 11:29:28 +00004 select HAVE_DMA_API_DEBUG
Arnd Bergmannd0ee9f42011-10-01 21:10:32 +02005 select HAVE_IDE if PCI || ISA || PCMCIA
Laura Abbott211b3902012-08-24 18:22:58 -07006 select HAVE_DMA_CONTIGUOUS if (CPU_V6 || CPU_V6K || CPU_V7)
Marek Szyprowskif6fe2822012-02-10 19:55:20 +01007 select HAVE_DMA_ATTRS
Russell King2778f622010-07-09 16:27:52 +01008 select HAVE_MEMBLOCK
Alessandro Zummo12b824f2006-03-27 01:16:35 -08009 select RTC_LIB
Ralf Baechle75e71532007-02-09 17:08:58 +000010 select SYS_SUPPORTS_APM_EMULATION
Russell Kinga41297a2011-01-17 15:48:33 +000011 select GENERIC_ATOMIC64 if (CPU_V6 || !CPU_32v6K || !AEABI)
Will Deaconfe166142010-04-30 11:37:51 +010012 select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
Stephen Boyd770c7d92014-01-21 16:56:38 -080013 select GENERIC_SCHED_CLOCK
Rabin Vincent09f05d82012-02-18 17:52:41 +010014 select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL
Jason Wessel5cbad0e2008-02-20 13:33:40 -060015 select HAVE_ARCH_KGDB
Wade Farnsworth69435d22012-04-04 16:19:47 +010016 select HAVE_ARCH_TRACEHOOK
Wade Farnsworth42807112012-09-07 18:18:25 +010017 select HAVE_SYSCALL_TRACEPOINTS
Jon Medhurst856bc352011-06-14 13:09:39 +010018 select HAVE_KPROBES if !XIP_KERNEL
Ananth N Mavinakayanahalli9edddaa2008-03-04 14:28:37 -080019 select HAVE_KRETPROBES if (HAVE_KPROBES)
Steven Rostedt606576c2008-10-06 19:06:12 -040020 select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)
dcashmanf3065092015-12-29 15:07:17 -080021 select HAVE_ARCH_MMAP_RND_BITS if MMU
Rabin Vincent80be7a72010-08-10 19:58:17 +010022 select HAVE_FTRACE_MCOUNT_RECORD if (!XIP_KERNEL)
23 select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL)
Rabin Vincent0e341af2010-11-06 23:03:53 +053024 select HAVE_FUNCTION_GRAPH_TRACER if (!THUMB2_KERNEL)
David Daneye39f5602012-01-10 15:10:21 -080025 select ARCH_BINFMT_ELF_RANDOMIZE_PIE
Dmitry Baryshkov1fe53262008-07-18 13:30:14 +040026 select HAVE_GENERIC_DMA_COHERENT
Albin Tonnerree7db7b42010-01-08 14:42:43 -080027 select HAVE_KERNEL_GZIP
28 select HAVE_KERNEL_LZO
Albin Tonnerre6e8699f2010-04-03 11:40:28 +010029 select HAVE_KERNEL_LZMA
Imre Kaloza7f464f2012-01-26 13:08:57 +010030 select HAVE_KERNEL_XZ
Peter Zijlstrae360adb2010-10-14 14:01:34 +080031 select HAVE_IRQ_WORK
Jamie Iles7ada1892010-02-02 20:24:58 +010032 select HAVE_PERF_EVENTS
33 select PERF_USE_VMALLOC
Will Deaconbf1d7e82013-09-26 12:36:35 +010034 select HAVE_PERF_REGS
35 select HAVE_PERF_USER_STACK_DUMP
Will Deacone513f8b2010-06-25 12:24:53 +010036 select HAVE_REGS_AND_STACK_ACCESS_API
Will Deaconbf1d7e82013-09-26 12:36:35 +010037
Jin Hong6df7af52012-09-10 09:37:25 -070038 select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7))
Rabin Vincented604532010-11-30 17:36:48 +010039 select HAVE_C_RECORDMCOUNT
Kees Cook9b6b23e2013-12-19 11:35:58 -080040 select HAVE_CC_STACKPROTECTOR
Lennert Buytenheke2a93ec2010-11-29 10:06:57 +010041 select HAVE_GENERIC_HARDIRQS
Will Drewry32337602012-04-16 16:56:17 -050042 select HAVE_SPARSE_IRQ
43 select HAVE_ARCH_SECCOMP_FILTER
Thomas Gleixner25a56622011-03-24 12:02:11 +010044 select GENERIC_IRQ_SHOW
Santosh Shilimkar1fb90262011-09-10 11:30:28 +053045 select CPU_PM if (SUSPEND || CPU_IDLE)
Michael S. Tsirkine5bfb722011-11-24 20:57:23 +020046 select GENERIC_PCI_IOMAP
Russell Kingfada8dc2012-03-27 10:44:23 +010047 select HAVE_BPF_JIT if NET
Linus Torvalds1da177e2005-04-16 15:20:36 -070048 help
49 The ARM series is a line of low-power-consumption RISC chip designs
Martin Michlmayrf6c89652006-02-08 21:09:07 +000050 licensed by ARM Ltd and targeted at embedded applications and
Linus Torvalds1da177e2005-04-16 15:20:36 -070051 handhelds such as the Compaq IPAQ. ARM-based PCs are no longer
Martin Michlmayrf6c89652006-02-08 21:09:07 +000052 manufactured, but legacy ARM-based PC hardware remains popular in
Linus Torvalds1da177e2005-04-16 15:20:36 -070053 Europe. There is an ARM Linux project with a web page at
54 <http://www.arm.linux.org.uk/>.
55
Russell King74facff2011-06-02 11:16:22 +010056config ARM_HAS_SG_CHAIN
57 bool
58
Marek Szyprowskibebe3ac2012-05-16 15:48:21 +020059config NEED_SG_DMA_LENGTH
60 bool
61
62config ARM_DMA_USE_IOMMU
63 select NEED_SG_DMA_LENGTH
64 select ARM_HAS_SG_CHAIN
65 bool
66
Seung-Woo Kim2694b1b2013-02-06 13:21:14 +090067if ARM_DMA_USE_IOMMU
68
69config ARM_DMA_IOMMU_ALIGNMENT
70 int "Maximum PAGE_SIZE order of alignment for DMA IOMMU buffers"
71 range 4 9
72 default 8
73 help
74 DMA mapping framework by default aligns all buffers to the smallest
75 PAGE_SIZE order which is greater than or equal to the requested buffer
76 size. This works well for buffers up to a few hundreds kilobytes, but
77 for larger buffers it just a waste of address space. Drivers which has
78 relatively small addressing window (like 64Mib) might run out of
79 virtual space with just a few allocations.
80
81 With this parameter you can specify the maximum PAGE_SIZE order for
82 DMA IOMMU buffers. Larger buffers will be aligned only to this
83 specified order. The order is expressed as a power of two multiplied
84 by the PAGE_SIZE.
85
86endif
87
Russell King1a189b92008-04-13 21:41:55 +010088config HAVE_PWM
89 bool
90
Hans Ulli Kroll0b05da72010-12-02 12:32:15 +010091config MIGHT_HAVE_PCI
92 bool
93
Ralf Baechle75e71532007-02-09 17:08:58 +000094config SYS_SUPPORTS_APM_EMULATION
95 bool
96
David Brownell0a938b92007-03-05 00:30:18 -080097config GENERIC_GPIO
98 bool
David Brownell0a938b92007-03-05 00:30:18 -080099
John Stultz5cfc8ee2010-03-24 00:22:36 +0000100config ARCH_USES_GETTIMEOFFSET
101 bool
102 default n
Kevin Hilman746140c2006-09-22 00:16:30 +0100103
Kevin Hilman0567a0c2007-03-13 20:29:24 +0100104config GENERIC_CLOCKEVENTS
105 bool
Kevin Hilman0567a0c2007-03-13 20:29:24 +0100106
Catalin Marinasa8655e82008-02-04 17:30:57 +0100107config GENERIC_CLOCKEVENTS_BROADCAST
108 bool
109 depends on GENERIC_CLOCKEVENTS
Russell King5388a6b2010-07-26 13:19:43 +0100110 default y if SMP
Catalin Marinasa8655e82008-02-04 17:30:57 +0100111
Rob Herringbf9dd362011-03-04 23:51:59 +0100112config KTIME_SCALAR
113 bool
114 default y
115
Linus Walleijbc581772009-09-15 17:30:37 +0100116config HAVE_TCM
117 bool
118 select GENERIC_ALLOCATOR
119
Russell Kinge119bff2010-01-10 17:23:29 +0000120config HAVE_PROC_CPU
121 bool
122
Al Viro5ea81762007-02-11 15:41:31 +0000123config NO_IOPORT
124 bool
Al Viro5ea81762007-02-11 15:41:31 +0000125
Linus Torvalds1da177e2005-04-16 15:20:36 -0700126config EISA
127 bool
128 ---help---
129 The Extended Industry Standard Architecture (EISA) bus was
130 developed as an open alternative to the IBM MicroChannel bus.
131
132 The EISA bus provided some of the features of the IBM MicroChannel
133 bus while maintaining backward compatibility with cards made for
134 the older ISA bus. The EISA bus saw limited use between 1988 and
135 1995 when it was made obsolete by the PCI bus.
136
137 Say Y here if you are building a kernel for an EISA-based machine.
138
139 Otherwise, say N.
140
141config SBUS
142 bool
143
144config MCA
145 bool
146 help
147 MicroChannel Architecture is found in some IBM PS/2 machines and
148 laptops. It is a bus system similar to PCI or ISA. See
149 <file:Documentation/mca.txt> (and especially the web page given
150 there) before attempting to build an MCA bus kernel.
151
Russell Kingf16fb1e2007-04-28 09:59:37 +0100152config STACKTRACE_SUPPORT
153 bool
154 default y
155
Nicolas Pitref76e9152008-04-24 01:31:46 -0400156config HAVE_LATENCYTOP_SUPPORT
157 bool
158 depends on !SMP
159 default y
160
Russell Kingf16fb1e2007-04-28 09:59:37 +0100161config LOCKDEP_SUPPORT
162 bool
163 default y
164
Russell King7ad1bcb2006-08-27 12:07:02 +0100165config TRACE_IRQFLAGS_SUPPORT
166 bool
167 default y
168
Thomas Gleixner4a2581a2006-07-01 22:30:09 +0100169config HARDIRQS_SW_RESEND
170 bool
171 default y
172
173config GENERIC_IRQ_PROBE
174 bool
175 default y
176
Nick Piggin95c354f2008-01-30 13:31:20 +0100177config GENERIC_LOCKBREAK
178 bool
Jeff Ohlstein8a9e3932012-03-07 19:24:13 -0800179 default y if !ARM_TICKET_LOCKS
Nick Piggin95c354f2008-01-30 13:31:20 +0100180 depends on SMP && PREEMPT
181
Brent DeGraaf8e7b8572011-09-21 16:21:31 -0400182config ARM_TICKET_LOCKS
183 bool
184 help
185 Enable ticket locks, which help preserve fairness among
186 contended locks and prevent livelock in multicore systems.
187 Say 'y' if system stability is important.
Jeff Ohlsteinb5a22eb2012-02-27 17:40:16 -0800188 default y if ARCH_MSM_SCORPIONMP || ARCH_MSM_KRAITMP
Brent DeGraaf8e7b8572011-09-21 16:21:31 -0400189 depends on SMP
190
Linus Torvalds1da177e2005-04-16 15:20:36 -0700191config RWSEM_GENERIC_SPINLOCK
192 bool
193 default y
194
195config RWSEM_XCHGADD_ALGORITHM
196 bool
197
David Howellsf0d1b0b2006-12-08 02:37:49 -0800198config ARCH_HAS_ILOG2_U32
199 bool
David Howellsf0d1b0b2006-12-08 02:37:49 -0800200
201config ARCH_HAS_ILOG2_U64
202 bool
David Howellsf0d1b0b2006-12-08 02:37:49 -0800203
Ben Dooks89c52ed2009-07-30 23:23:24 +0100204config ARCH_HAS_CPUFREQ
205 bool
206 help
207 Internal node to signify that the ARCH has CPUFREQ support
208 and that the relevant menu configurations are displayed for
209 it.
210
Kevin Hilmanc7b0aff2010-10-01 22:13:47 +0100211config ARCH_HAS_CPU_IDLE_WAIT
212 def_bool y
213
Akinobu Mitab89c3b12006-03-26 01:39:19 -0800214config GENERIC_HWEIGHT
215 bool
216 default y
217
Linus Torvalds1da177e2005-04-16 15:20:36 -0700218config GENERIC_CALIBRATE_DELAY
219 bool
220 default y
221
viro@ZenIV.linux.org.uka08b6b72005-09-06 01:48:42 +0100222config ARCH_MAY_HAVE_PC_FDC
223 bool
224
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800225config ZONE_DMA
226 bool
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800227
FUJITA Tomonoriccd7ab72010-03-10 15:23:23 -0800228config NEED_DMA_MAP_STATE
229 def_bool y
230
Rob Herring58af4a22012-03-20 14:33:01 -0500231config ARCH_HAS_DMA_SET_COHERENT_MASK
232 bool
233
Linus Torvalds1da177e2005-04-16 15:20:36 -0700234config GENERIC_ISA_DMA
235 bool
236
Linus Torvalds1da177e2005-04-16 15:20:36 -0700237config FIQ
238 bool
239
Rob Herring13a50452012-02-07 09:28:22 -0600240config NEED_RET_TO_USER
241 bool
242
Al Viro034d2f52005-12-19 16:27:59 -0500243config ARCH_MTD_XIP
244 bool
245
Laura Abbott0cd39aa2013-04-05 14:12:53 -0700246config ARCH_WANT_KMAP_ATOMIC_FLUSH
247 bool
248
Hyok S. Choic760fc12006-03-27 15:18:50 +0100249config VECTORS_BASE
250 hex
Hyok S. Choi6afd6fa2006-09-28 21:46:34 +0900251 default 0xffff0000 if MMU || CPU_HIGH_VECTOR
Hyok S. Choic760fc12006-03-27 15:18:50 +0100252 default DRAM_BASE if REMAP_VECTORS_TO_RAM
253 default 0x00000000
254 help
Russell Kinge76dd7c2013-07-04 11:40:32 +0100255 The base address of exception vectors. This must be two pages
256 in size.
Hyok S. Choic760fc12006-03-27 15:18:50 +0100257
Russell Kingdc21af92011-01-04 19:09:43 +0000258config ARM_PATCH_PHYS_VIRT
Russell Kingc1beced2011-08-10 10:23:45 +0100259 bool "Patch physical to virtual translations at runtime" if EMBEDDED
260 default y
Nicolas Pitreb511d752011-02-21 06:53:35 +0100261 depends on !XIP_KERNEL && MMU
Russell Kingdc21af92011-01-04 19:09:43 +0000262 depends on !ARCH_REALVIEW || !SPARSEMEM
263 help
Russell King111e9a52011-05-12 10:02:42 +0100264 Patch phys-to-virt and virt-to-phys translation functions at
265 boot and module load time according to the position of the
266 kernel in system memory.
Russell Kingdc21af92011-01-04 19:09:43 +0000267
Russell King111e9a52011-05-12 10:02:42 +0100268 This can only be used with non-XIP MMU kernels where the base
Nicolas Pitredaece592011-08-12 00:14:29 +0100269 of physical memory is at a 16MB boundary.
Russell Kingdc21af92011-01-04 19:09:43 +0000270
Russell Kingc1beced2011-08-10 10:23:45 +0100271 Only disable this option if you know that you do not require
272 this feature (eg, building a kernel for a single machine) and
273 you need to shrink the kernel to the minimal size.
274
Rob Herringc334bc12012-03-04 22:03:33 -0600275config NEED_MACH_IO_H
276 bool
277 help
278 Select this when mach/io.h is required to provide special
279 definitions for this platform. The need for mach/io.h should
280 be avoided when possible.
281
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400282config NEED_MACH_MEMORY_H
Nicolas Pitre1b9f95f2011-07-05 22:52:51 -0400283 bool
Russell King111e9a52011-05-12 10:02:42 +0100284 help
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400285 Select this when mach/memory.h is required to provide special
286 definitions for this platform. The need for mach/memory.h should
287 be avoided when possible.
Nicolas Pitre1b9f95f2011-07-05 22:52:51 -0400288
289config PHYS_OFFSET
Nicolas Pitre974c0722011-12-02 23:09:42 +0100290 hex "Physical address of main memory" if MMU
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400291 depends on !ARM_PATCH_PHYS_VIRT && !NEED_MACH_MEMORY_H
Nicolas Pitre974c0722011-12-02 23:09:42 +0100292 default DRAM_BASE if !MMU
Nicolas Pitre1b9f95f2011-07-05 22:52:51 -0400293 help
294 Please provide the physical address corresponding to the
295 location of main memory in your system.
Russell Kingcada3c02011-01-04 19:39:29 +0000296
Simon Glass87e040b2011-08-16 23:44:26 +0100297config GENERIC_BUG
298 def_bool y
299 depends on BUG
300
Greg Reid5d9616e2012-10-12 11:58:45 -0400301config GENERIC_TIME_VSYSCALL
302 bool "Enable gettimeofday updates"
303 depends on CPU_V7
304 help
305 Enables updating the kernel user helper area with the xtime struct
306 data for gettimeofday via kernel user helpers.
307
Greg Reidcf105492012-10-12 12:14:12 -0400308config ARM_USE_USER_ACCESSIBLE_TIMERS
309 bool "Enables mapping a timer counter page to user space"
310 depends on USE_USER_ACCESSIBLE_TIMERS && GENERIC_TIME_VSYSCALL
311 help
312 Enables ARM-specific user-accessible timers via a shared
313 memory page containing the cycle counter.
314
315config ARM_USER_ACCESSIBLE_TIMER_BASE
316 hex "Base address of user-accessible timer counter page"
317 default 0xfffef000
318 depends on ARM_USE_USER_ACCESSIBLE_TIMERS
319 help
320 Specify the base user-space virtual address where the user-accessible
321 timer counter page should be mapped by the kernel. User-space apps
322 will read directly from the page at this address.
323
Laura Abbott8c68a2a2013-08-09 16:45:33 -0700324config ARCH_RANDOM
325 bool "SOC specific random number generation"
326 help
327 Allow the kernel to use an architecture specific implementation for
328 random number generation
329
330 If unsure, say N
331
Linus Torvalds1da177e2005-04-16 15:20:36 -0700332source "init/Kconfig"
333
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700334source "kernel/Kconfig.freezer"
335
Linus Torvalds1da177e2005-04-16 15:20:36 -0700336menu "System Type"
337
Hyok S. Choi3c427972009-07-24 12:35:00 +0100338config MMU
339 bool "MMU-based Paged Memory Management Support"
340 default y
341 help
342 Select if you want MMU-based virtualised addressing space
343 support by paged memory management. If unsure, say 'Y'.
344
dcashmanf3065092015-12-29 15:07:17 -0800345config ARCH_MMAP_RND_BITS_MIN
346 default 8
347
348config ARCH_MMAP_RND_BITS_MAX
349 default 14 if PAGE_OFFSET=0x40000000
350 default 15 if PAGE_OFFSET=0x80000000
351 default 16
352
Russell Kingccf50e22010-03-15 19:03:06 +0000353#
354# The "ARM system type" choice list is ordered alphabetically by option
355# text. Please add new entries in the option alphabetic order.
356#
Linus Torvalds1da177e2005-04-16 15:20:36 -0700357choice
358 prompt "ARM system type"
Catalin Marinas6a0e2432006-03-07 14:42:27 +0000359 default ARCH_VERSATILE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700360
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100361config ARCH_INTEGRATOR
362 bool "ARM Ltd. Integrator family"
363 select ARM_AMBA
Ben Dooks89c52ed2009-07-30 23:23:24 +0100364 select ARCH_HAS_CPUFREQ
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100365 select CLKDEV_LOOKUP
Kyungmin Parkaa3831c2011-07-18 16:34:54 +0900366 select HAVE_MACH_CLKDEV
Linus Walleij9904f792011-12-09 10:29:23 +0100367 select HAVE_TCM
Russell Kingc5a0adb2010-01-16 20:16:10 +0000368 select ICST
Russell King13edd862010-01-15 21:49:23 +0000369 select GENERIC_CLOCKEVENTS
Russell Kingf4b8b312010-01-14 12:48:06 +0000370 select PLAT_VERSATILE
Russell Kingc41b16f2011-01-19 15:32:15 +0000371 select PLAT_VERSATILE_FPGA_IRQ
Rob Herringc334bc12012-03-04 22:03:33 -0600372 select NEED_MACH_IO_H
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400373 select NEED_MACH_MEMORY_H
Linus Walleij695436e2012-02-26 10:46:48 +0100374 select SPARSE_IRQ
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100375 help
376 Support for ARM's Integrator platform.
377
378config ARCH_REALVIEW
379 bool "ARM Ltd. RealView family"
380 select ARM_AMBA
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100381 select CLKDEV_LOOKUP
Kyungmin Parkaa3831c2011-07-18 16:34:54 +0900382 select HAVE_MACH_CLKDEV
Russell Kingc5a0adb2010-01-16 20:16:10 +0000383 select ICST
Catalin Marinasae30cea2008-02-04 17:26:55 +0100384 select GENERIC_CLOCKEVENTS
Russell Kingeb7fffa2009-07-05 22:41:31 +0100385 select ARCH_WANT_OPTIONAL_GPIOLIB
Russell Kingf4b8b312010-01-14 12:48:06 +0000386 select PLAT_VERSATILE
Russell King3cb5ee42011-01-18 20:13:20 +0000387 select PLAT_VERSATILE_CLCD
Russell Kinge3887712010-01-14 13:30:16 +0000388 select ARM_TIMER_SP804
Colin Tuckleyb56ba8a2010-02-24 15:23:10 +0100389 select GPIO_PL061 if GPIOLIB
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400390 select NEED_MACH_MEMORY_H
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100391 help
392 This enables support for ARM Ltd RealView boards.
393
394config ARCH_VERSATILE
395 bool "ARM Ltd. Versatile family"
396 select ARM_AMBA
397 select ARM_VIC
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100398 select CLKDEV_LOOKUP
Kyungmin Parkaa3831c2011-07-18 16:34:54 +0900399 select HAVE_MACH_CLKDEV
Russell Kingc5a0adb2010-01-16 20:16:10 +0000400 select ICST
Kevin Hilman89df1272007-03-08 20:30:38 +0100401 select GENERIC_CLOCKEVENTS
Russell Kingbbeddc42009-07-05 22:43:01 +0100402 select ARCH_WANT_OPTIONAL_GPIOLIB
Russell Kingf4b8b312010-01-14 12:48:06 +0000403 select PLAT_VERSATILE
Russell King3414ba82011-01-18 20:12:10 +0000404 select PLAT_VERSATILE_CLCD
Russell Kingc41b16f2011-01-19 15:32:15 +0000405 select PLAT_VERSATILE_FPGA_IRQ
Russell Kinge3887712010-01-14 13:30:16 +0000406 select ARM_TIMER_SP804
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100407 help
408 This enables support for ARM Ltd Versatile board.
409
Russell Kingceade892010-02-11 21:44:53 +0000410config ARCH_VEXPRESS
411 bool "ARM Ltd. Versatile Express family"
412 select ARCH_WANT_OPTIONAL_GPIOLIB
413 select ARM_AMBA
414 select ARM_TIMER_SP804
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100415 select CLKDEV_LOOKUP
Kyungmin Parkaa3831c2011-07-18 16:34:54 +0900416 select HAVE_MACH_CLKDEV
Russell Kingceade892010-02-11 21:44:53 +0000417 select GENERIC_CLOCKEVENTS
Russell Kingceade892010-02-11 21:44:53 +0000418 select HAVE_CLK
Nick Bowler95c34f82011-01-21 15:51:06 +0100419 select HAVE_PATA_PLATFORM
Russell Kingceade892010-02-11 21:44:53 +0000420 select ICST
Russell Kingba81f502012-02-15 11:55:22 +0000421 select NO_IOPORT
Russell Kingceade892010-02-11 21:44:53 +0000422 select PLAT_VERSATILE
Russell King0fb44b92011-01-18 20:13:51 +0000423 select PLAT_VERSATILE_CLCD
Russell Kingceade892010-02-11 21:44:53 +0000424 help
425 This enables support for the ARM Ltd Versatile Express boards.
426
Andrew Victor8fc5ffa2006-06-29 16:06:33 +0100427config ARCH_AT91
428 bool "Atmel AT91"
Ryan Mallonf373e8c2009-02-10 21:02:08 +0100429 select ARCH_REQUIRE_GPIOLIB
David Brownell93686ae2008-07-28 15:46:22 -0700430 select HAVE_CLK
Jean-Christophe PLAGNIOL-VILLARDbd602992011-02-02 07:27:07 +0100431 select CLKDEV_LOOKUP
Nicolas Ferree2615012011-11-22 22:26:09 +0100432 select IRQ_DOMAIN
Rob Herring1ac02d72012-04-04 17:48:04 -0500433 select NEED_MACH_IO_H if PCCARD
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100434 help
Andrew Victor2b3b3512008-01-24 15:10:39 +0100435 This enables support for systems based on the Atmel AT91RM9200,
Jean-Christophe PLAGNIOL-VILLARD9918cea2012-01-26 14:07:09 +0100436 AT91SAM9 processors.
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100437
Russell Kingccf50e22010-03-15 19:03:06 +0000438config ARCH_BCMRING
439 bool "Broadcom BCMRING"
440 depends on MMU
441 select CPU_V6
442 select ARM_AMBA
Russell King82d63732011-05-12 13:43:39 +0100443 select ARM_TIMER_SP804
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100444 select CLKDEV_LOOKUP
Russell Kingccf50e22010-03-15 19:03:06 +0000445 select GENERIC_CLOCKEVENTS
446 select ARCH_WANT_OPTIONAL_GPIOLIB
447 help
448 Support for Broadcom's BCMRing platform.
449
Rob Herring220e6cf2011-06-07 10:02:55 -0500450config ARCH_HIGHBANK
451 bool "Calxeda Highbank-based"
452 select ARCH_WANT_OPTIONAL_GPIOLIB
453 select ARM_AMBA
454 select ARM_GIC
455 select ARM_TIMER_SP804
Dave Martin22d80372011-12-12 16:17:34 +0000456 select CACHE_L2X0
Rob Herring220e6cf2011-06-07 10:02:55 -0500457 select CLKDEV_LOOKUP
458 select CPU_V7
459 select GENERIC_CLOCKEVENTS
460 select HAVE_ARM_SCU
Dave Martin3b556582011-12-07 15:38:04 +0000461 select HAVE_SMP
Rob Herringfdfa64a2012-01-03 14:44:31 -0600462 select SPARSE_IRQ
Rob Herring220e6cf2011-06-07 10:02:55 -0500463 select USE_OF
464 help
465 Support for the Calxeda Highbank SoC based boards.
466
Linus Torvalds1da177e2005-04-16 15:20:36 -0700467config ARCH_CLPS711X
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100468 bool "Cirrus Logic CLPS711x/EP721x-based"
Russell Kingc7508152008-10-26 10:55:14 +0000469 select CPU_ARM720T
John Stultz5cfc8ee2010-03-24 00:22:36 +0000470 select ARCH_USES_GETTIMEOFFSET
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400471 select NEED_MACH_MEMORY_H
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000472 help
473 Support for Cirrus Logic 711x/721x based boards.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700474
Anton Vorontsovd94f9442010-03-25 17:12:41 +0300475config ARCH_CNS3XXX
476 bool "Cavium Networks CNS3XXX family"
Imre Kaloz00d27112011-07-07 12:19:09 +0200477 select CPU_V6K
Anton Vorontsovd94f9442010-03-25 17:12:41 +0300478 select GENERIC_CLOCKEVENTS
479 select ARM_GIC
Dave Martince5ea9f2011-11-29 15:56:19 +0000480 select MIGHT_HAVE_CACHE_L2X0
Hans Ulli Kroll0b05da72010-12-02 12:32:15 +0100481 select MIGHT_HAVE_PCI
Anton Vorontsov5f32f7a2010-05-28 13:10:52 +0400482 select PCI_DOMAINS if PCI
Anton Vorontsovd94f9442010-03-25 17:12:41 +0300483 help
484 Support for Cavium Networks CNS3XXX platform.
485
Russell King788c9702009-04-26 14:21:59 +0100486config ARCH_GEMINI
487 bool "Cortina Systems Gemini"
488 select CPU_FA526
Russell King788c9702009-04-26 14:21:59 +0100489 select ARCH_REQUIRE_GPIOLIB
John Stultz5cfc8ee2010-03-24 00:22:36 +0000490 select ARCH_USES_GETTIMEOFFSET
Russell King788c9702009-04-26 14:21:59 +0100491 help
492 Support for the Cortina Systems Gemini family SoCs
493
Arnd Bergmann3a6cb8c2011-07-17 21:43:26 +0200494config ARCH_PRIMA2
495 bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform"
496 select CPU_V7
Arnd Bergmann3a6cb8c2011-07-17 21:43:26 +0200497 select NO_IOPORT
498 select GENERIC_CLOCKEVENTS
499 select CLKDEV_LOOKUP
500 select GENERIC_IRQ_CHIP
Dave Martince5ea9f2011-11-29 15:56:19 +0000501 select MIGHT_HAVE_CACHE_L2X0
Arnd Bergmann3a6cb8c2011-07-17 21:43:26 +0200502 select USE_OF
503 select ZONE_DMA
504 help
505 Support for CSR SiRFSoC ARM Cortex A9 Platform
506
Linus Torvalds1da177e2005-04-16 15:20:36 -0700507config ARCH_EBSA110
508 bool "EBSA-110"
Russell Kingc7508152008-10-26 10:55:14 +0000509 select CPU_SA110
Russell Kingf7e68bb2005-05-05 14:49:01 +0100510 select ISA
Russell Kingc5eb2a22007-03-03 11:54:19 +0000511 select NO_IOPORT
John Stultz5cfc8ee2010-03-24 00:22:36 +0000512 select ARCH_USES_GETTIMEOFFSET
Rob Herringc334bc12012-03-04 22:03:33 -0600513 select NEED_MACH_IO_H
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400514 select NEED_MACH_MEMORY_H
Linus Torvalds1da177e2005-04-16 15:20:36 -0700515 help
516 This is an evaluation board for the StrongARM processor available
Martin Michlmayrf6c89652006-02-08 21:09:07 +0000517 from Digital. It has limited hardware on-board, including an
Linus Torvalds1da177e2005-04-16 15:20:36 -0700518 Ethernet interface, two PCMCIA sockets, two serial ports and a
519 parallel port.
520
Lennert Buytenheke7736d42006-03-20 17:10:13 +0000521config ARCH_EP93XX
522 bool "EP93xx-based"
Russell Kingc7508152008-10-26 10:55:14 +0000523 select CPU_ARM920T
Lennert Buytenheke7736d42006-03-20 17:10:13 +0000524 select ARM_AMBA
525 select ARM_VIC
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100526 select CLKDEV_LOOKUP
Michael Buesch7444a722008-07-25 01:46:11 -0700527 select ARCH_REQUIRE_GPIOLIB
Mel Gormaneb335752009-05-13 17:34:48 +0100528 select ARCH_HAS_HOLES_MEMORYMODEL
John Stultz5cfc8ee2010-03-24 00:22:36 +0000529 select ARCH_USES_GETTIMEOFFSET
Arnd Bergmann5725aea2011-10-31 23:11:46 +0100530 select NEED_MACH_MEMORY_H
Lennert Buytenheke7736d42006-03-20 17:10:13 +0000531 help
532 This enables support for the Cirrus EP93xx series of CPUs.
533
Linus Torvalds1da177e2005-04-16 15:20:36 -0700534config ARCH_FOOTBRIDGE
535 bool "FootBridge"
Russell Kingc7508152008-10-26 10:55:14 +0000536 select CPU_SA110
Linus Torvalds1da177e2005-04-16 15:20:36 -0700537 select FOOTBRIDGE
Russell King4e8d7632011-01-28 21:00:39 +0000538 select GENERIC_CLOCKEVENTS
Arnd Bergmannd0ee9f42011-10-01 21:10:32 +0200539 select HAVE_IDE
Rob Herringc334bc12012-03-04 22:03:33 -0600540 select NEED_MACH_IO_H
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400541 select NEED_MACH_MEMORY_H
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000542 help
543 Support for systems based on the DC21285 companion chip
544 ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700545
Russell King788c9702009-04-26 14:21:59 +0100546config ARCH_MXC
547 bool "Freescale MXC/iMX-based"
Russell King788c9702009-04-26 14:21:59 +0100548 select GENERIC_CLOCKEVENTS
Russell King788c9702009-04-26 14:21:59 +0100549 select ARCH_REQUIRE_GPIOLIB
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100550 select CLKDEV_LOOKUP
Russell King234b6ce2011-05-08 14:09:47 +0100551 select CLKSRC_MMIO
Shawn Guo8b6c44f2011-06-07 13:59:14 +0800552 select GENERIC_IRQ_CHIP
Sascha Hauerffa2ea32011-09-20 14:31:24 +0200553 select MULTI_IRQ_HANDLER
Russell King788c9702009-04-26 14:21:59 +0100554 help
555 Support for Freescale MXC/iMX-based family of processors
556
Shawn Guo1d3f33d2010-12-13 20:55:03 +0800557config ARCH_MXS
558 bool "Freescale MXS-based"
559 select GENERIC_CLOCKEVENTS
560 select ARCH_REQUIRE_GPIOLIB
Sascha Hauerb9214b92011-01-13 16:59:25 +0100561 select CLKDEV_LOOKUP
Russell King5c61ddc2011-05-08 17:21:49 +0100562 select CLKSRC_MMIO
Shawn Guo6abda3e2011-12-20 16:12:34 +0800563 select HAVE_CLK_PREPARE
Shawn Guo1d3f33d2010-12-13 20:55:03 +0800564 help
565 Support for Freescale MXS-based family of processors
566
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100567config ARCH_NETX
568 bool "Hilscher NetX based"
Russell King234b6ce2011-05-08 14:09:47 +0100569 select CLKSRC_MMIO
Russell Kingc7508152008-10-26 10:55:14 +0000570 select CPU_ARM926T
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100571 select ARM_VIC
Uwe Kleine-König2fcfe6b2008-12-09 21:57:24 +0100572 select GENERIC_CLOCKEVENTS
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000573 help
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100574 This enables support for systems based on the Hilscher NetX Soc
575
576config ARCH_H720X
577 bool "Hynix HMS720x-based"
Russell Kingc7508152008-10-26 10:55:14 +0000578 select CPU_ARM720T
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100579 select ISA_DMA_API
John Stultz5cfc8ee2010-03-24 00:22:36 +0000580 select ARCH_USES_GETTIMEOFFSET
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100581 help
582 This enables support for systems based on the Hynix HMS720x
583
Russell King3b938be2007-05-12 11:25:44 +0100584config ARCH_IOP13XX
585 bool "IOP13xx-based"
586 depends on MMU
Russell Kingc7508152008-10-26 10:55:14 +0000587 select CPU_XSC3
Russell King3b938be2007-05-12 11:25:44 +0100588 select PLAT_IOP
589 select PCI
590 select ARCH_SUPPORTS_MSI
Lennert Buytenhek8d5796d2008-08-25 21:03:32 +0100591 select VMSPLIT_1G
Rob Herringc334bc12012-03-04 22:03:33 -0600592 select NEED_MACH_IO_H
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400593 select NEED_MACH_MEMORY_H
Rob Herring13a50452012-02-07 09:28:22 -0600594 select NEED_RET_TO_USER
Russell King3b938be2007-05-12 11:25:44 +0100595 help
596 Support for Intel's IOP13XX (XScale) family of processors.
597
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +0100598config ARCH_IOP32X
599 bool "IOP32x-based"
Russell Kinga4f7e762006-06-28 12:52:41 +0100600 depends on MMU
Russell Kingc7508152008-10-26 10:55:14 +0000601 select CPU_XSCALE
Rob Herringc334bc12012-03-04 22:03:33 -0600602 select NEED_MACH_IO_H
Rob Herring13a50452012-02-07 09:28:22 -0600603 select NEED_RET_TO_USER
Lennert Buytenhek7ae1f7e2006-09-18 23:12:53 +0100604 select PLAT_IOP
Russell Kingf7e68bb2005-05-05 14:49:01 +0100605 select PCI
Russell Kingbb2b1802008-07-26 15:36:03 +0100606 select ARCH_REQUIRE_GPIOLIB
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000607 help
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +0100608 Support for Intel's 80219 and IOP32X (XScale) family of
609 processors.
610
611config ARCH_IOP33X
612 bool "IOP33x-based"
613 depends on MMU
Russell Kingc7508152008-10-26 10:55:14 +0000614 select CPU_XSCALE
Rob Herringc334bc12012-03-04 22:03:33 -0600615 select NEED_MACH_IO_H
Rob Herring13a50452012-02-07 09:28:22 -0600616 select NEED_RET_TO_USER
Lennert Buytenhek7ae1f7e2006-09-18 23:12:53 +0100617 select PLAT_IOP
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +0100618 select PCI
Russell Kingbb2b1802008-07-26 15:36:03 +0100619 select ARCH_REQUIRE_GPIOLIB
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +0100620 help
621 Support for Intel's IOP33X (XScale) family of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700622
Russell King3b938be2007-05-12 11:25:44 +0100623config ARCH_IXP23XX
624 bool "IXP23XX-based"
Dan Williams588ef762007-02-13 17:12:04 +0100625 depends on MMU
Russell Kingc7508152008-10-26 10:55:14 +0000626 select CPU_XSC3
Russell King3b938be2007-05-12 11:25:44 +0100627 select PCI
John Stultz5cfc8ee2010-03-24 00:22:36 +0000628 select ARCH_USES_GETTIMEOFFSET
Rob Herringc334bc12012-03-04 22:03:33 -0600629 select NEED_MACH_IO_H
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400630 select NEED_MACH_MEMORY_H
Dan Williams285f5fa2006-12-07 02:59:39 +0100631 help
Russell King3b938be2007-05-12 11:25:44 +0100632 Support for Intel's IXP23xx (XScale) family of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700633
634config ARCH_IXP2000
635 bool "IXP2400/2800-based"
Russell Kinga4f7e762006-06-28 12:52:41 +0100636 depends on MMU
Russell Kingc7508152008-10-26 10:55:14 +0000637 select CPU_XSCALE
Russell Kingf7e68bb2005-05-05 14:49:01 +0100638 select PCI
John Stultz5cfc8ee2010-03-24 00:22:36 +0000639 select ARCH_USES_GETTIMEOFFSET
Rob Herringc334bc12012-03-04 22:03:33 -0600640 select NEED_MACH_IO_H
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400641 select NEED_MACH_MEMORY_H
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000642 help
643 Support for Intel's IXP2400/2800 (XScale) family of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700644
Russell King3b938be2007-05-12 11:25:44 +0100645config ARCH_IXP4XX
646 bool "IXP4xx-based"
Russell Kinga4f7e762006-06-28 12:52:41 +0100647 depends on MMU
Rob Herring58af4a22012-03-20 14:33:01 -0500648 select ARCH_HAS_DMA_SET_COHERENT_MASK
Russell King234b6ce2011-05-08 14:09:47 +0100649 select CLKSRC_MMIO
Russell Kingc7508152008-10-26 10:55:14 +0000650 select CPU_XSCALE
Richard Cochran6a1ca762012-05-23 18:19:51 +0200651 select ARCH_REQUIRE_GPIOLIB
Russell King3b938be2007-05-12 11:25:44 +0100652 select GENERIC_CLOCKEVENTS
Hans Ulli Kroll0b05da72010-12-02 12:32:15 +0100653 select MIGHT_HAVE_PCI
Rob Herringc334bc12012-03-04 22:03:33 -0600654 select NEED_MACH_IO_H
Russell King485bdde2008-10-17 14:00:43 +0100655 select DMABOUNCE if PCI
Lennert Buytenhekc4713072006-03-28 21:18:54 +0100656 help
Russell King3b938be2007-05-12 11:25:44 +0100657 Support for Intel's IXP4XX (XScale) family of processors.
Lennert Buytenhekc4713072006-03-28 21:18:54 +0100658
Saeed Bisharaedabd382009-08-06 15:12:43 +0300659config ARCH_DOVE
660 bool "Marvell Dove"
Konstantin Porotchkin7b769bb2011-04-07 13:49:41 +0300661 select CPU_V7
Saeed Bisharaedabd382009-08-06 15:12:43 +0300662 select PCI
Saeed Bisharaedabd382009-08-06 15:12:43 +0300663 select ARCH_REQUIRE_GPIOLIB
Saeed Bisharaedabd382009-08-06 15:12:43 +0300664 select GENERIC_CLOCKEVENTS
Rob Herringc334bc12012-03-04 22:03:33 -0600665 select NEED_MACH_IO_H
Saeed Bisharaedabd382009-08-06 15:12:43 +0300666 select PLAT_ORION
667 help
668 Support for the Marvell Dove SoC 88AP510
669
Saeed Bishara651c74c2008-06-22 22:45:06 +0200670config ARCH_KIRKWOOD
671 bool "Marvell Kirkwood"
Russell Kingc7508152008-10-26 10:55:14 +0000672 select CPU_FEROCEON
Saeed Bishara651c74c2008-06-22 22:45:06 +0200673 select PCI
Jason Gunthorpe9debd2e2012-11-21 00:19:06 -0700674 select PCI_QUIRKS
Erik Benadaa8865652009-05-28 17:08:55 -0700675 select ARCH_REQUIRE_GPIOLIB
Saeed Bishara651c74c2008-06-22 22:45:06 +0200676 select GENERIC_CLOCKEVENTS
Rob Herringc334bc12012-03-04 22:03:33 -0600677 select NEED_MACH_IO_H
Saeed Bishara651c74c2008-06-22 22:45:06 +0200678 select PLAT_ORION
679 help
680 Support for the following Marvell Kirkwood series SoCs:
681 88F6180, 88F6192 and 88F6281.
682
Kevin Wells40805942010-07-27 08:49:04 -0700683config ARCH_LPC32XX
684 bool "NXP LPC32XX"
Russell King234b6ce2011-05-08 14:09:47 +0100685 select CLKSRC_MMIO
Kevin Wells40805942010-07-27 08:49:04 -0700686 select CPU_ARM926T
687 select ARCH_REQUIRE_GPIOLIB
688 select HAVE_IDE
689 select ARM_AMBA
690 select USB_ARCH_HAS_OHCI
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100691 select CLKDEV_LOOKUP
Kevin Wells40805942010-07-27 08:49:04 -0700692 select GENERIC_CLOCKEVENTS
693 help
694 Support for the NXP LPC32XX family of processors
695
Russell King788c9702009-04-26 14:21:59 +0100696config ARCH_MV78XX0
697 bool "Marvell MV78xx0"
698 select CPU_FEROCEON
699 select PCI
Erik Benadaa8865652009-05-28 17:08:55 -0700700 select ARCH_REQUIRE_GPIOLIB
Russell King788c9702009-04-26 14:21:59 +0100701 select GENERIC_CLOCKEVENTS
Rob Herringc334bc12012-03-04 22:03:33 -0600702 select NEED_MACH_IO_H
Russell King788c9702009-04-26 14:21:59 +0100703 select PLAT_ORION
704 help
705 Support for the following Marvell MV78xx0 series SoCs:
706 MV781x0, MV782x0.
707
708config ARCH_ORION5X
709 bool "Marvell Orion"
710 depends on MMU
711 select CPU_FEROCEON
712 select PCI
Erik Benadaa8865652009-05-28 17:08:55 -0700713 select ARCH_REQUIRE_GPIOLIB
Russell King788c9702009-04-26 14:21:59 +0100714 select GENERIC_CLOCKEVENTS
715 select PLAT_ORION
716 help
717 Support for the following Marvell Orion 5x series SoCs:
718 Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
719 Orion-2 (5281), Orion-1-90 (6183).
720
721config ARCH_MMP
Haojian Zhuang2f7e8fa2009-12-04 09:41:28 -0500722 bool "Marvell PXA168/910/MMP2"
Russell King788c9702009-04-26 14:21:59 +0100723 depends on MMU
Russell King788c9702009-04-26 14:21:59 +0100724 select ARCH_REQUIRE_GPIOLIB
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100725 select CLKDEV_LOOKUP
Russell King788c9702009-04-26 14:21:59 +0100726 select GENERIC_CLOCKEVENTS
Haojian Zhuang157d2642011-10-17 20:37:52 +0800727 select GPIO_PXA
Russell King788c9702009-04-26 14:21:59 +0100728 select TICK_ONESHOT
729 select PLAT_PXA
Haojian Zhuang0bd86962010-09-08 09:42:42 -0400730 select SPARSE_IRQ
Leo Yan3c7241b2011-08-15 11:09:52 +0800731 select GENERIC_ALLOCATOR
Russell King788c9702009-04-26 14:21:59 +0100732 help
Haojian Zhuang2f7e8fa2009-12-04 09:41:28 -0500733 Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
Russell King788c9702009-04-26 14:21:59 +0100734
Andrew Victorc53c9cf2007-05-11 21:01:28 +0100735config ARCH_KS8695
736 bool "Micrel/Kendin KS8695"
Russell Kingc7508152008-10-26 10:55:14 +0000737 select CPU_ARM922T
Hartley Sweeten98830bc2010-05-17 17:18:10 +0100738 select ARCH_REQUIRE_GPIOLIB
John Stultz5cfc8ee2010-03-24 00:22:36 +0000739 select ARCH_USES_GETTIMEOFFSET
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400740 select NEED_MACH_MEMORY_H
Andrew Victorc53c9cf2007-05-11 21:01:28 +0100741 help
742 Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
743 System-on-Chip devices.
744
Russell King788c9702009-04-26 14:21:59 +0100745config ARCH_W90X900
746 bool "Nuvoton W90X900 CPU"
747 select CPU_ARM926T
wanzongshunc52d3d62009-06-10 15:49:32 +0100748 select ARCH_REQUIRE_GPIOLIB
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100749 select CLKDEV_LOOKUP
Russell King6fa5d5f2011-05-08 15:34:39 +0100750 select CLKSRC_MMIO
wanzongshun58b53692009-08-14 15:36:44 +0100751 select GENERIC_CLOCKEVENTS
Lennert Buytenhek777f9be2008-06-22 22:45:02 +0200752 help
wanzongshuna8bc4ea2009-08-14 15:38:29 +0100753 Support for Nuvoton (Winbond logic dept.) ARM9 processor,
754 At present, the w90x900 has been renamed nuc900, regarding
755 the ARM series product line, you can login the following
756 link address to know more.
757
758 <http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/
759 ConsumerElectronicsIC/ARMMicrocontroller/ARMMicrocontroller>
Tzachi Perelstein585cf172007-10-23 15:14:41 -0400760
Erik Gillingc5f80062010-01-21 16:53:02 -0800761config ARCH_TEGRA
762 bool "NVIDIA Tegra"
Russell King40737232011-01-06 22:32:52 +0000763 select CLKDEV_LOOKUP
Russell King234b6ce2011-05-08 14:09:47 +0100764 select CLKSRC_MMIO
Erik Gillingc5f80062010-01-21 16:53:02 -0800765 select GENERIC_CLOCKEVENTS
766 select GENERIC_GPIO
767 select HAVE_CLK
Dave Martin3b556582011-12-07 15:38:04 +0000768 select HAVE_SMP
Dave Martince5ea9f2011-11-29 15:56:19 +0000769 select MIGHT_HAVE_CACHE_L2X0
Rob Herringc334bc12012-03-04 22:03:33 -0600770 select NEED_MACH_IO_H if PCI
Colin Cross7056d422010-04-22 20:30:13 -0700771 select ARCH_HAS_CPUFREQ
Erik Gillingc5f80062010-01-21 16:53:02 -0800772 help
773 This enables support for NVIDIA Tegra based systems (Tegra APX,
774 Tegra 6xx and Tegra 2 series).
775
Jamie Ilesaf756552011-07-25 17:36:42 +0100776config ARCH_PICOXCELL
777 bool "Picochip picoXcell"
778 select ARCH_REQUIRE_GPIOLIB
779 select ARM_PATCH_PHYS_VIRT
780 select ARM_VIC
781 select CPU_V6K
782 select DW_APB_TIMER
783 select GENERIC_CLOCKEVENTS
784 select GENERIC_GPIO
Jamie Ilesaf756552011-07-25 17:36:42 +0100785 select HAVE_TCM
786 select NO_IOPORT
Jamie Iles98e27a52011-12-12 20:17:37 +0000787 select SPARSE_IRQ
Jamie Ilesaf756552011-07-25 17:36:42 +0100788 select USE_OF
789 help
790 This enables support for systems based on the Picochip picoXcell
791 family of Femtocell devices. The picoxcell support requires device tree
792 for all boards.
793
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100794config ARCH_PNX4008
795 bool "Philips Nexperia PNX4008 Mobile"
Russell Kingc7508152008-10-26 10:55:14 +0000796 select CPU_ARM926T
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100797 select CLKDEV_LOOKUP
John Stultz5cfc8ee2010-03-24 00:22:36 +0000798 select ARCH_USES_GETTIMEOFFSET
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100799 help
800 This enables support for Philips PNX4008 mobile platform.
801
Linus Torvalds1da177e2005-04-16 15:20:36 -0700802config ARCH_PXA
eric miao2c8086a2007-09-11 19:13:17 -0700803 bool "PXA2xx/PXA3xx-based"
Russell Kinga4f7e762006-06-28 12:52:41 +0100804 depends on MMU
Al Viro034d2f52005-12-19 16:27:59 -0500805 select ARCH_MTD_XIP
Ben Dooks89c52ed2009-07-30 23:23:24 +0100806 select ARCH_HAS_CPUFREQ
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100807 select CLKDEV_LOOKUP
Russell King234b6ce2011-05-08 14:09:47 +0100808 select CLKSRC_MMIO
Michael Buesch7444a722008-07-25 01:46:11 -0700809 select ARCH_REQUIRE_GPIOLIB
Eric Miao981d0f32007-07-24 01:22:43 +0100810 select GENERIC_CLOCKEVENTS
Haojian Zhuang157d2642011-10-17 20:37:52 +0800811 select GPIO_PXA
Russell Kinga88264c2007-11-12 22:45:16 +0000812 select TICK_ONESHOT
Eric Miaobd5ce432009-01-20 12:06:01 +0800813 select PLAT_PXA
Haojian Zhuang6ac6b812010-08-20 15:23:59 +0800814 select SPARSE_IRQ
Eric Miao4e234cc2011-04-04 15:06:33 +0800815 select AUTO_ZRELADDR
Eric Miao8a97ae22011-05-18 21:30:04 +0800816 select MULTI_IRQ_HANDLER
Arnd Bergmann15e0d9e2011-10-01 21:09:39 +0200817 select ARM_CPU_SUSPEND if PM
Arnd Bergmannd0ee9f42011-10-01 21:10:32 +0200818 select HAVE_IDE
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000819 help
eric miao2c8086a2007-09-11 19:13:17 -0700820 Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700821
Russell King788c9702009-04-26 14:21:59 +0100822config ARCH_MSM
823 bool "Qualcomm MSM"
Steve Muckle4b536b82008-12-29 16:17:22 -0500824 select HAVE_CLK
Eric Miao49cbe782009-01-20 14:15:18 +0800825 select GENERIC_CLOCKEVENTS
Pavel Machek923a0812010-06-02 11:11:12 -0700826 select ARCH_REQUIRE_GPIOLIB
Stephen Boydbd323442011-02-23 09:37:42 -0800827 select CLKDEV_LOOKUP
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700828 select ARCH_HAS_CPUFREQ
829 select GENERIC_GPIO
830 select GENERIC_TIME
831 select GENERIC_ALLOCATOR
Jeff Ohlstein4e93ae12011-09-26 18:22:26 -0700832 select HAVE_SCHED_CLOCK
Stephen Boyd3bbf3462012-01-12 00:19:23 -0800833 select HAVE_CLK_PREPARE
Steve Mucklef132c6c2012-06-06 18:30:57 -0700834 select NEED_MACH_MEMORY_H
835 select NEED_MACH_IO_H
Abhimanyu Kapur440cdde2012-12-04 00:05:40 -0800836 select SOC_BUS
Eric Miao49cbe782009-01-20 14:15:18 +0800837 help
Daniel Walker4b53eb42010-01-01 15:11:43 -0800838 Support for Qualcomm MSM/QSD based systems. This runs on the
839 apps processor of the MSM/QSD and depends on a shared memory
840 interface to the modem processor which runs the baseband
841 stack and controls some vital subsystems
842 (clock and power control, etc).
Eric Miao49cbe782009-01-20 14:15:18 +0800843
Magnus Dammc793c1b2010-02-05 11:14:49 +0000844config ARCH_SHMOBILE
Paul Mundt6d72ad32010-11-16 16:10:20 +0900845 bool "Renesas SH-Mobile / R-Mobile"
846 select HAVE_CLK
Paul Mundt5e93c6b2011-01-07 10:29:26 +0900847 select CLKDEV_LOOKUP
Kyungmin Parkaa3831c2011-07-18 16:34:54 +0900848 select HAVE_MACH_CLKDEV
Dave Martin3b556582011-12-07 15:38:04 +0000849 select HAVE_SMP
Paul Mundt6d72ad32010-11-16 16:10:20 +0900850 select GENERIC_CLOCKEVENTS
Dave Martince5ea9f2011-11-29 15:56:19 +0000851 select MIGHT_HAVE_CACHE_L2X0
Paul Mundt6d72ad32010-11-16 16:10:20 +0900852 select NO_IOPORT
853 select SPARSE_IRQ
Magnus Damm60f14352010-12-28 08:26:52 +0000854 select MULTI_IRQ_HANDLER
Rafael J. Wysockie3e01092011-07-01 22:13:56 +0200855 select PM_GENERIC_DOMAINS if PM
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400856 select NEED_MACH_MEMORY_H
Magnus Dammc793c1b2010-02-05 11:14:49 +0000857 help
Paul Mundt6d72ad32010-11-16 16:10:20 +0900858 Support for Renesas's SH-Mobile and R-Mobile ARM platforms.
Magnus Dammc793c1b2010-02-05 11:14:49 +0000859
Linus Torvalds1da177e2005-04-16 15:20:36 -0700860config ARCH_RPC
861 bool "RiscPC"
862 select ARCH_ACORN
863 select FIQ
viro@ZenIV.linux.org.uka08b6b72005-09-06 01:48:42 +0100864 select ARCH_MAY_HAVE_PC_FDC
Ben Dooks341eb782008-07-01 14:16:49 +0100865 select HAVE_PATA_PLATFORM
Russell King065909b2006-01-04 15:44:16 +0000866 select ISA_DMA_API
Al Viro5ea81762007-02-11 15:41:31 +0000867 select NO_IOPORT
Russell King07f841b2008-10-01 17:11:06 +0100868 select ARCH_SPARSEMEM_ENABLE
John Stultz5cfc8ee2010-03-24 00:22:36 +0000869 select ARCH_USES_GETTIMEOFFSET
Arnd Bergmannd0ee9f42011-10-01 21:10:32 +0200870 select HAVE_IDE
Rob Herringc334bc12012-03-04 22:03:33 -0600871 select NEED_MACH_IO_H
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400872 select NEED_MACH_MEMORY_H
Linus Torvalds1da177e2005-04-16 15:20:36 -0700873 help
874 On the Acorn Risc-PC, Linux can support the internal IDE disk and
875 CD-ROM interface, serial and parallel port, and the floppy drive.
876
877config ARCH_SA1100
878 bool "SA1100-based"
Russell King234b6ce2011-05-08 14:09:47 +0100879 select CLKSRC_MMIO
Russell Kingc7508152008-10-26 10:55:14 +0000880 select CPU_SA1100
Russell Kingf7e68bb2005-05-05 14:49:01 +0100881 select ISA
Russell King05944d72006-11-30 20:43:51 +0000882 select ARCH_SPARSEMEM_ENABLE
Al Viro034d2f52005-12-19 16:27:59 -0500883 select ARCH_MTD_XIP
Ben Dooks89c52ed2009-07-30 23:23:24 +0100884 select ARCH_HAS_CPUFREQ
Russell King1937f5b2009-12-12 16:20:57 +0000885 select CPU_FREQ
Russell King3e238be2008-04-14 23:03:10 +0100886 select GENERIC_CLOCKEVENTS
Jett.Zhou4a8f8342011-11-30 14:32:36 +0800887 select CLKDEV_LOOKUP
Russell King3e238be2008-04-14 23:03:10 +0100888 select TICK_ONESHOT
Michael Buesch7444a722008-07-25 01:46:11 -0700889 select ARCH_REQUIRE_GPIOLIB
Arnd Bergmannd0ee9f42011-10-01 21:10:32 +0200890 select HAVE_IDE
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400891 select NEED_MACH_MEMORY_H
Russell King375dec92012-02-23 14:29:33 +0100892 select SPARSE_IRQ
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000893 help
894 Support for StrongARM 11x0 based boards.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700895
Kukjin Kimb130d5c2012-02-03 14:29:23 +0900896config ARCH_S3C24XX
897 bool "Samsung S3C24XX SoCs"
David Brownell0a938b92007-03-05 00:30:18 -0800898 select GENERIC_GPIO
Ben Dooks9d56c022009-07-30 23:23:25 +0100899 select ARCH_HAS_CPUFREQ
David Brownell9483a572008-07-23 21:26:48 -0700900 select HAVE_CLK
Thomas Abrahame83626f2011-06-14 19:12:26 +0900901 select CLKDEV_LOOKUP
John Stultz5cfc8ee2010-03-24 00:22:36 +0000902 select ARCH_USES_GETTIMEOFFSET
Kukjin Kim20676c12010-11-13 16:08:32 +0900903 select HAVE_S3C2410_I2C if I2C
Kukjin Kimb130d5c2012-02-03 14:29:23 +0900904 select HAVE_S3C_RTC if RTC_CLASS
905 select HAVE_S3C2410_WATCHDOG if WATCHDOG
Rob Herringc334bc12012-03-04 22:03:33 -0600906 select NEED_MACH_IO_H
Linus Torvalds1da177e2005-04-16 15:20:36 -0700907 help
Kukjin Kimb130d5c2012-02-03 14:29:23 +0900908 Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443
909 and S3C2450 SoCs based systems, such as the Simtec Electronics BAST
910 (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the
911 Samsung SMDK2410 development board (and derivatives).
Ben Dooks63b1f512010-04-30 16:32:26 +0900912
Ben Dooksa08ab632008-10-21 14:06:39 +0100913config ARCH_S3C64XX
914 bool "Samsung S3C64XX"
Ben Dooks89f1fa02010-01-29 09:02:17 +0000915 select PLAT_SAMSUNG
Ben Dooks89f0ce72010-01-26 15:49:15 +0900916 select CPU_V6
Ben Dooks89f0ce72010-01-26 15:49:15 +0900917 select ARM_VIC
Ben Dooksa08ab632008-10-21 14:06:39 +0100918 select HAVE_CLK
Mark Brown67003972011-10-11 08:57:11 +0900919 select HAVE_TCM
Thomas Abraham226e85f2011-06-14 19:12:26 +0900920 select CLKDEV_LOOKUP
Ben Dooks89f0ce72010-01-26 15:49:15 +0900921 select NO_IOPORT
John Stultz5cfc8ee2010-03-24 00:22:36 +0000922 select ARCH_USES_GETTIMEOFFSET
Ben Dooks89c52ed2009-07-30 23:23:24 +0100923 select ARCH_HAS_CPUFREQ
Ben Dooks89f0ce72010-01-26 15:49:15 +0900924 select ARCH_REQUIRE_GPIOLIB
925 select SAMSUNG_CLKSRC
926 select SAMSUNG_IRQ_VIC_TIMER
Ben Dooks89f0ce72010-01-26 15:49:15 +0900927 select S3C_GPIO_TRACK
Ben Dooks89f0ce72010-01-26 15:49:15 +0900928 select S3C_DEV_NAND
929 select USB_ARCH_HAS_OHCI
930 select SAMSUNG_GPIOLIB_4BIT
Kukjin Kim20676c12010-11-13 16:08:32 +0900931 select HAVE_S3C2410_I2C if I2C
Kyungmin Parkc39d8d52010-11-13 16:01:59 +0900932 select HAVE_S3C2410_WATCHDOG if WATCHDOG
Ben Dooksa08ab632008-10-21 14:06:39 +0100933 help
934 Samsung S3C64XX series based systems
935
Kukjin Kim49b7a492010-09-07 15:47:18 +0900936config ARCH_S5P64X0
937 bool "Samsung S5P6440 S5P6450"
Kukjin Kimc4ffccd2010-01-14 08:19:36 +0900938 select CPU_V6
939 select GENERIC_GPIO
940 select HAVE_CLK
Thomas Abrahamd8b22d22011-06-14 19:12:27 +0900941 select CLKDEV_LOOKUP
Chanwoo Choi0665ccc2011-07-18 15:07:14 +0900942 select CLKSRC_MMIO
Kyungmin Parkc39d8d52010-11-13 16:01:59 +0900943 select HAVE_S3C2410_WATCHDOG if WATCHDOG
Sangbeom Kim9e65bbf2011-03-12 08:05:19 +0900944 select GENERIC_CLOCKEVENTS
Kukjin Kim20676c12010-11-13 16:08:32 +0900945 select HAVE_S3C2410_I2C if I2C
Kukjin Kim754961a2010-11-13 16:11:46 +0900946 select HAVE_S3C_RTC if RTC_CLASS
Kukjin Kimc4ffccd2010-01-14 08:19:36 +0900947 help
Kukjin Kim49b7a492010-09-07 15:47:18 +0900948 Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,
949 SMDK6450.
Kukjin Kimc4ffccd2010-01-14 08:19:36 +0900950
Marek Szyprowskiacc84702010-05-20 07:51:08 +0200951config ARCH_S5PC100
952 bool "Samsung S5PC100"
Byungho Min5a7652f2009-06-23 21:39:42 +0900953 select GENERIC_GPIO
954 select HAVE_CLK
Thomas Abraham29e8eb02011-06-14 19:12:27 +0900955 select CLKDEV_LOOKUP
Byungho Min5a7652f2009-06-23 21:39:42 +0900956 select CPU_V7
Ben Dooks925c68c2010-05-20 20:48:28 +0900957 select ARCH_USES_GETTIMEOFFSET
Kukjin Kim20676c12010-11-13 16:08:32 +0900958 select HAVE_S3C2410_I2C if I2C
Kukjin Kim754961a2010-11-13 16:11:46 +0900959 select HAVE_S3C_RTC if RTC_CLASS
Kyungmin Parkc39d8d52010-11-13 16:01:59 +0900960 select HAVE_S3C2410_WATCHDOG if WATCHDOG
Byungho Min5a7652f2009-06-23 21:39:42 +0900961 help
Marek Szyprowskiacc84702010-05-20 07:51:08 +0200962 Samsung S5PC100 series based systems
Byungho Min5a7652f2009-06-23 21:39:42 +0900963
Kukjin Kim170f4e42010-02-24 16:40:44 +0900964config ARCH_S5PV210
965 bool "Samsung S5PV210/S5PC110"
966 select CPU_V7
Kyungmin Parkeecb6a82010-09-29 21:29:27 +0900967 select ARCH_SPARSEMEM_ENABLE
Kamil Debski0f75a962011-07-21 16:42:30 +0900968 select ARCH_HAS_HOLES_MEMORYMODEL
Kukjin Kim170f4e42010-02-24 16:40:44 +0900969 select GENERIC_GPIO
970 select HAVE_CLK
Thomas Abrahamb2a9dd42011-06-14 19:12:27 +0900971 select CLKDEV_LOOKUP
Chanwoo Choi0665ccc2011-07-18 15:07:14 +0900972 select CLKSRC_MMIO
Jaecheol Leed8144ae2010-10-12 09:23:19 +0900973 select ARCH_HAS_CPUFREQ
Sangbeom Kim9e65bbf2011-03-12 08:05:19 +0900974 select GENERIC_CLOCKEVENTS
Kukjin Kim20676c12010-11-13 16:08:32 +0900975 select HAVE_S3C2410_I2C if I2C
Kukjin Kim754961a2010-11-13 16:11:46 +0900976 select HAVE_S3C_RTC if RTC_CLASS
Kyungmin Parkc39d8d52010-11-13 16:01:59 +0900977 select HAVE_S3C2410_WATCHDOG if WATCHDOG
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400978 select NEED_MACH_MEMORY_H
Kukjin Kim170f4e42010-02-24 16:40:44 +0900979 help
980 Samsung S5PV210/S5PC110 series based systems
981
Kukjin Kim83014572011-11-06 13:54:56 +0900982config ARCH_EXYNOS
983 bool "SAMSUNG EXYNOS"
Changhwan Youncc0e72b2010-07-16 12:15:38 +0900984 select CPU_V7
Kyungmin Parkf567fa62010-09-29 21:33:29 +0900985 select ARCH_SPARSEMEM_ENABLE
Kamil Debski0f75a962011-07-21 16:42:30 +0900986 select ARCH_HAS_HOLES_MEMORYMODEL
Changhwan Youncc0e72b2010-07-16 12:15:38 +0900987 select GENERIC_GPIO
988 select HAVE_CLK
Thomas Abrahambadc4f22011-06-14 19:12:27 +0900989 select CLKDEV_LOOKUP
Sunyoung Kangb333fb12010-09-16 11:11:45 +0900990 select ARCH_HAS_CPUFREQ
Changhwan Youncc0e72b2010-07-16 12:15:38 +0900991 select GENERIC_CLOCKEVENTS
Kukjin Kim754961a2010-11-13 16:11:46 +0900992 select HAVE_S3C_RTC if RTC_CLASS
Kukjin Kim20676c12010-11-13 16:08:32 +0900993 select HAVE_S3C2410_I2C if I2C
Kyungmin Parkc39d8d52010-11-13 16:01:59 +0900994 select HAVE_S3C2410_WATCHDOG if WATCHDOG
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400995 select NEED_MACH_MEMORY_H
Changhwan Youncc0e72b2010-07-16 12:15:38 +0900996 help
Kukjin Kim83014572011-11-06 13:54:56 +0900997 Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5)
Changhwan Youncc0e72b2010-07-16 12:15:38 +0900998
Linus Torvalds1da177e2005-04-16 15:20:36 -0700999config ARCH_SHARK
1000 bool "Shark"
Russell Kingc7508152008-10-26 10:55:14 +00001001 select CPU_SA110
Russell Kingf7e68bb2005-05-05 14:49:01 +01001002 select ISA
1003 select ISA_DMA
Nicolas Pitre3bca1032008-10-07 20:14:55 +01001004 select ZONE_DMA
Russell Kingf7e68bb2005-05-05 14:49:01 +01001005 select PCI
John Stultz5cfc8ee2010-03-24 00:22:36 +00001006 select ARCH_USES_GETTIMEOFFSET
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -04001007 select NEED_MACH_MEMORY_H
Rob Herringc334bc12012-03-04 22:03:33 -06001008 select NEED_MACH_IO_H
Martin Michlmayrf999b8b2006-02-08 21:09:05 +00001009 help
1010 Support for the StrongARM based Digital DNARD machine, also known
1011 as "Shark" (<http://www.shark-linux.de/shark.html>).
Linus Torvalds1da177e2005-04-16 15:20:36 -07001012
Linus Walleijd98aac72009-04-27 10:21:46 +01001013config ARCH_U300
1014 bool "ST-Ericsson U300 Series"
1015 depends on MMU
Russell King234b6ce2011-05-08 14:09:47 +01001016 select CLKSRC_MMIO
Linus Walleijd98aac72009-04-27 10:21:46 +01001017 select CPU_ARM926T
Linus Walleijbc581772009-09-15 17:30:37 +01001018 select HAVE_TCM
Linus Walleijd98aac72009-04-27 10:21:46 +01001019 select ARM_AMBA
Linus Walleij5485c1e2011-08-09 21:18:20 +02001020 select ARM_PATCH_PHYS_VIRT
Linus Walleijd98aac72009-04-27 10:21:46 +01001021 select ARM_VIC
Linus Walleijd98aac72009-04-27 10:21:46 +01001022 select GENERIC_CLOCKEVENTS
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +01001023 select CLKDEV_LOOKUP
Kyungmin Parkaa3831c2011-07-18 16:34:54 +09001024 select HAVE_MACH_CLKDEV
Linus Walleijd98aac72009-04-27 10:21:46 +01001025 select GENERIC_GPIO
Linus Walleijcc890cd2011-09-08 09:04:51 +01001026 select ARCH_REQUIRE_GPIOLIB
Linus Walleijd98aac72009-04-27 10:21:46 +01001027 help
1028 Support for ST-Ericsson U300 series mobile platforms.
1029
Russell Kingccf50e22010-03-15 19:03:06 +00001030config ARCH_U8500
1031 bool "ST-Ericsson U8500 Series"
Arnd Bergmann67ae14f2012-02-25 12:48:49 -07001032 depends on MMU
Russell Kingccf50e22010-03-15 19:03:06 +00001033 select CPU_V7
1034 select ARM_AMBA
Russell Kingccf50e22010-03-15 19:03:06 +00001035 select GENERIC_CLOCKEVENTS
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +01001036 select CLKDEV_LOOKUP
Rabin Vincent94bdc0e2010-03-03 04:54:37 +01001037 select ARCH_REQUIRE_GPIOLIB
Martin Persson7c1a70e2010-12-08 15:13:42 +01001038 select ARCH_HAS_CPUFREQ
Dave Martin3b556582011-12-07 15:38:04 +00001039 select HAVE_SMP
Dave Martince5ea9f2011-11-29 15:56:19 +00001040 select MIGHT_HAVE_CACHE_L2X0
Russell Kingccf50e22010-03-15 19:03:06 +00001041 help
1042 Support for ST-Ericsson's Ux500 architecture
1043
1044config ARCH_NOMADIK
1045 bool "STMicroelectronics Nomadik"
1046 select ARM_AMBA
1047 select ARM_VIC
1048 select CPU_ARM926T
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +01001049 select CLKDEV_LOOKUP
Russell Kingccf50e22010-03-15 19:03:06 +00001050 select GENERIC_CLOCKEVENTS
Dave Martince5ea9f2011-11-29 15:56:19 +00001051 select MIGHT_HAVE_CACHE_L2X0
Russell Kingccf50e22010-03-15 19:03:06 +00001052 select ARCH_REQUIRE_GPIOLIB
1053 help
1054 Support for the Nomadik platform by ST-Ericsson
1055
Kevin Hilman7c6337e2007-04-30 19:37:19 +01001056config ARCH_DAVINCI
1057 bool "TI DaVinci"
Kevin Hilman7c6337e2007-04-30 19:37:19 +01001058 select GENERIC_CLOCKEVENTS
David Brownelldce11152008-09-07 23:41:04 -07001059 select ARCH_REQUIRE_GPIOLIB
Nicolas Pitre3bca1032008-10-07 20:14:55 +01001060 select ZONE_DMA
Kevin Hilman9232fcc2009-04-08 14:49:38 -07001061 select HAVE_IDE
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +01001062 select CLKDEV_LOOKUP
David Brownell20e99692009-05-07 09:31:42 -07001063 select GENERIC_ALLOCATOR
Russell Kingdc7ad3b2011-05-22 10:01:21 +01001064 select GENERIC_IRQ_CHIP
Sekhar Noriae88e052009-11-19 15:34:01 +05301065 select ARCH_HAS_HOLES_MEMORYMODEL
Kevin Hilman7c6337e2007-04-30 19:37:19 +01001066 help
1067 Support for TI's DaVinci platform.
1068
Russell King3b938be2007-05-12 11:25:44 +01001069config ARCH_OMAP
1070 bool "TI OMAP"
David Brownell9483a572008-07-23 21:26:48 -07001071 select HAVE_CLK
Michael Buesch7444a722008-07-25 01:46:11 -07001072 select ARCH_REQUIRE_GPIOLIB
Ben Dooks89c52ed2009-07-30 23:23:24 +01001073 select ARCH_HAS_CPUFREQ
Russell King - ARM Linux354a1832011-07-10 23:05:34 -07001074 select CLKSRC_MMIO
Kevin Hilman06cad092007-10-18 23:04:43 -07001075 select GENERIC_CLOCKEVENTS
Sriram9af915d2010-01-29 14:20:05 -08001076 select ARCH_HAS_HOLES_MEMORYMODEL
Russell King3b938be2007-05-12 11:25:44 +01001077 help
Lennert Buytenhek6e457bb2010-09-22 20:40:57 +02001078 Support for TI's OMAP platform (OMAP1/2/3/4).
Russell King3b938be2007-05-12 11:25:44 +01001079
viresh kumarcee37e52010-04-01 12:31:05 +01001080config PLAT_SPEAR
1081 bool "ST SPEAr"
1082 select ARM_AMBA
1083 select ARCH_REQUIRE_GPIOLIB
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +01001084 select CLKDEV_LOOKUP
Russell Kingd6e15d72011-05-08 17:10:14 +01001085 select CLKSRC_MMIO
viresh kumarcee37e52010-04-01 12:31:05 +01001086 select GENERIC_CLOCKEVENTS
viresh kumarcee37e52010-04-01 12:31:05 +01001087 select HAVE_CLK
1088 help
1089 Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx).
1090
Alexey Charkov21f47fb2010-12-23 13:11:21 +01001091config ARCH_VT8500
1092 bool "VIA/WonderMedia 85xx"
1093 select CPU_ARM926T
1094 select GENERIC_GPIO
1095 select ARCH_HAS_CPUFREQ
1096 select GENERIC_CLOCKEVENTS
1097 select ARCH_REQUIRE_GPIOLIB
1098 select HAVE_PWM
1099 help
1100 Support for VIA/WonderMedia VT8500/WM85xx System-on-Chip.
Binghua Duan02c981c2011-07-08 17:40:12 +08001101
John Linnb85a3ef2011-06-20 11:47:27 -06001102config ARCH_ZYNQ
1103 bool "Xilinx Zynq ARM Cortex A9 Platform"
Binghua Duan02c981c2011-07-08 17:40:12 +08001104 select CPU_V7
Binghua Duan02c981c2011-07-08 17:40:12 +08001105 select GENERIC_CLOCKEVENTS
1106 select CLKDEV_LOOKUP
John Linnb85a3ef2011-06-20 11:47:27 -06001107 select ARM_GIC
1108 select ARM_AMBA
1109 select ICST
Dave Martince5ea9f2011-11-29 15:56:19 +00001110 select MIGHT_HAVE_CACHE_L2X0
Binghua Duan02c981c2011-07-08 17:40:12 +08001111 select USE_OF
Binghua Duan02c981c2011-07-08 17:40:12 +08001112 help
John Linnb85a3ef2011-06-20 11:47:27 -06001113 Support for Xilinx Zynq ARM Cortex A9 Platform
Linus Torvalds1da177e2005-04-16 15:20:36 -07001114endchoice
1115
Russell Kingccf50e22010-03-15 19:03:06 +00001116#
1117# This is sorted alphabetically by mach-* pathname. However, plat-*
1118# Kconfigs may be included either alphabetically (according to the
1119# plat- suffix) or along side the corresponding mach-* source.
1120#
Russell King95b8f202010-01-14 11:43:54 +00001121source "arch/arm/mach-at91/Kconfig"
1122
1123source "arch/arm/mach-bcmring/Kconfig"
1124
Linus Torvalds1da177e2005-04-16 15:20:36 -07001125source "arch/arm/mach-clps711x/Kconfig"
1126
Anton Vorontsovd94f9442010-03-25 17:12:41 +03001127source "arch/arm/mach-cns3xxx/Kconfig"
1128
Russell King95b8f202010-01-14 11:43:54 +00001129source "arch/arm/mach-davinci/Kconfig"
1130
1131source "arch/arm/mach-dove/Kconfig"
1132
Lennert Buytenheke7736d42006-03-20 17:10:13 +00001133source "arch/arm/mach-ep93xx/Kconfig"
1134
Linus Torvalds1da177e2005-04-16 15:20:36 -07001135source "arch/arm/mach-footbridge/Kconfig"
1136
Paulius Zaleckas59d3a192009-03-26 10:06:08 +02001137source "arch/arm/mach-gemini/Kconfig"
1138
Russell King95b8f202010-01-14 11:43:54 +00001139source "arch/arm/mach-h720x/Kconfig"
1140
Linus Torvalds1da177e2005-04-16 15:20:36 -07001141source "arch/arm/mach-integrator/Kconfig"
1142
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +01001143source "arch/arm/mach-iop32x/Kconfig"
1144
1145source "arch/arm/mach-iop33x/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001146
Dan Williams285f5fa2006-12-07 02:59:39 +01001147source "arch/arm/mach-iop13xx/Kconfig"
1148
Linus Torvalds1da177e2005-04-16 15:20:36 -07001149source "arch/arm/mach-ixp4xx/Kconfig"
1150
1151source "arch/arm/mach-ixp2000/Kconfig"
1152
Lennert Buytenhekc4713072006-03-28 21:18:54 +01001153source "arch/arm/mach-ixp23xx/Kconfig"
1154
Russell King95b8f202010-01-14 11:43:54 +00001155source "arch/arm/mach-kirkwood/Kconfig"
1156
1157source "arch/arm/mach-ks8695/Kconfig"
1158
Kevin Wells40805942010-07-27 08:49:04 -07001159source "arch/arm/mach-lpc32xx/Kconfig"
1160
Russell King95b8f202010-01-14 11:43:54 +00001161source "arch/arm/mach-msm/Kconfig"
1162
Stanislav Samsonov794d15b2008-06-22 22:45:10 +02001163source "arch/arm/mach-mv78xx0/Kconfig"
1164
Russell King95b8f202010-01-14 11:43:54 +00001165source "arch/arm/plat-mxc/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001166
Shawn Guo1d3f33d2010-12-13 20:55:03 +08001167source "arch/arm/mach-mxs/Kconfig"
1168
Russell King95b8f202010-01-14 11:43:54 +00001169source "arch/arm/mach-netx/Kconfig"
Eric Miao49cbe782009-01-20 14:15:18 +08001170
Russell King95b8f202010-01-14 11:43:54 +00001171source "arch/arm/mach-nomadik/Kconfig"
1172source "arch/arm/plat-nomadik/Kconfig"
1173
Tony Lindgrend48af152005-07-10 19:58:17 +01001174source "arch/arm/plat-omap/Kconfig"
1175
1176source "arch/arm/mach-omap1/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001177
Tony Lindgren1dbae812005-11-10 14:26:51 +00001178source "arch/arm/mach-omap2/Kconfig"
1179
Lennert Buytenhek9dd0b192008-03-27 14:51:41 -04001180source "arch/arm/mach-orion5x/Kconfig"
Tzachi Perelstein585cf172007-10-23 15:14:41 -04001181
Russell King95b8f202010-01-14 11:43:54 +00001182source "arch/arm/mach-pxa/Kconfig"
1183source "arch/arm/plat-pxa/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001184
Russell King95b8f202010-01-14 11:43:54 +00001185source "arch/arm/mach-mmp/Kconfig"
1186
1187source "arch/arm/mach-realview/Kconfig"
1188
1189source "arch/arm/mach-sa1100/Kconfig"
Saeed Bisharaedabd382009-08-06 15:12:43 +03001190
Ben Dookscf383672009-11-10 00:14:58 +00001191source "arch/arm/plat-samsung/Kconfig"
Ben Dooksa21765a2007-02-11 18:31:01 +01001192source "arch/arm/plat-s3c24xx/Kconfig"
Kukjin Kimc4ffccd2010-01-14 08:19:36 +09001193source "arch/arm/plat-s5p/Kconfig"
Ben Dooksa21765a2007-02-11 18:31:01 +01001194
viresh kumarcee37e52010-04-01 12:31:05 +01001195source "arch/arm/plat-spear/Kconfig"
Ben Dooksa21765a2007-02-11 18:31:01 +01001196
Kukjin Kim85fd6d62012-02-06 09:38:19 +09001197source "arch/arm/mach-s3c24xx/Kconfig"
Kukjin Kimb130d5c2012-02-03 14:29:23 +09001198if ARCH_S3C24XX
Ben Dooksa21765a2007-02-11 18:31:01 +01001199source "arch/arm/mach-s3c2412/Kconfig"
1200source "arch/arm/mach-s3c2440/Kconfig"
Ben Dooksa21765a2007-02-11 18:31:01 +01001201endif
Linus Torvalds1da177e2005-04-16 15:20:36 -07001202
Ben Dooksa08ab632008-10-21 14:06:39 +01001203if ARCH_S3C64XX
Ben Dooks431107e2010-01-26 10:11:04 +09001204source "arch/arm/mach-s3c64xx/Kconfig"
Ben Dooksa08ab632008-10-21 14:06:39 +01001205endif
1206
Kukjin Kim49b7a492010-09-07 15:47:18 +09001207source "arch/arm/mach-s5p64x0/Kconfig"
Kukjin Kimc4ffccd2010-01-14 08:19:36 +09001208
Byungho Min5a7652f2009-06-23 21:39:42 +09001209source "arch/arm/mach-s5pc100/Kconfig"
Byungho Min5a7652f2009-06-23 21:39:42 +09001210
Kukjin Kim170f4e42010-02-24 16:40:44 +09001211source "arch/arm/mach-s5pv210/Kconfig"
1212
Kukjin Kim83014572011-11-06 13:54:56 +09001213source "arch/arm/mach-exynos/Kconfig"
Changhwan Youncc0e72b2010-07-16 12:15:38 +09001214
Russell King882d01f2010-03-02 23:40:15 +00001215source "arch/arm/mach-shmobile/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001216
Erik Gillingc5f80062010-01-21 16:53:02 -08001217source "arch/arm/mach-tegra/Kconfig"
1218
Russell King95b8f202010-01-14 11:43:54 +00001219source "arch/arm/mach-u300/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001220
Russell King95b8f202010-01-14 11:43:54 +00001221source "arch/arm/mach-ux500/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001222
1223source "arch/arm/mach-versatile/Kconfig"
1224
Russell Kingceade892010-02-11 21:44:53 +00001225source "arch/arm/mach-vexpress/Kconfig"
Russell King420c34e2011-01-18 20:08:06 +00001226source "arch/arm/plat-versatile/Kconfig"
Russell Kingceade892010-02-11 21:44:53 +00001227
Alexey Charkov21f47fb2010-12-23 13:11:21 +01001228source "arch/arm/mach-vt8500/Kconfig"
1229
wanzongshun7ec80dd2008-12-03 03:55:38 +01001230source "arch/arm/mach-w90x900/Kconfig"
1231
Linus Torvalds1da177e2005-04-16 15:20:36 -07001232# Definitions to make life easier
1233config ARCH_ACORN
1234 bool
1235
Lennert Buytenhek7ae1f7e2006-09-18 23:12:53 +01001236config PLAT_IOP
1237 bool
Mikael Pettersson469d30442009-10-29 11:46:54 -07001238 select GENERIC_CLOCKEVENTS
Lennert Buytenhek7ae1f7e2006-09-18 23:12:53 +01001239
Lennert Buytenhek69b02f62008-03-27 14:51:39 -04001240config PLAT_ORION
1241 bool
Russell Kingbfe45e02011-05-08 15:33:30 +01001242 select CLKSRC_MMIO
Russell Kingdc7ad3b2011-05-22 10:01:21 +01001243 select GENERIC_IRQ_CHIP
Lennert Buytenhek69b02f62008-03-27 14:51:39 -04001244
Eric Miaobd5ce432009-01-20 12:06:01 +08001245config PLAT_PXA
1246 bool
1247
Russell Kingf4b8b312010-01-14 12:48:06 +00001248config PLAT_VERSATILE
1249 bool
1250
Russell Kinge3887712010-01-14 13:30:16 +00001251config ARM_TIMER_SP804
1252 bool
Russell Kingbfe45e02011-05-08 15:33:30 +01001253 select CLKSRC_MMIO
Rob Herringa7bf6162011-12-12 15:29:08 -06001254 select HAVE_SCHED_CLOCK
Russell Kinge3887712010-01-14 13:30:16 +00001255
Linus Torvalds1da177e2005-04-16 15:20:36 -07001256source arch/arm/mm/Kconfig
1257
Russell King958cab02011-12-11 10:04:00 +00001258config ARM_NR_BANKS
1259 int
1260 default 16 if ARCH_EP93XX
1261 default 8
1262
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001263config RESERVE_FIRST_PAGE
1264 bool
1265 default n
1266 help
1267 Reserve the first page at PHYS_OFFSET. The first
1268 physical page is used by many platforms for warm
1269 boot operations. Reserve this page so that it is
1270 not allocated by the kernel.
1271
Lennert Buytenhekafe4b252006-12-03 18:51:14 +01001272config IWMMXT
1273 bool "Enable iWMMXt support"
Haojian Zhuangef6c8442010-11-24 11:54:25 +08001274 depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4
1275 default y if PXA27x || PXA3xx || PXA95x || ARCH_MMP
Lennert Buytenhekafe4b252006-12-03 18:51:14 +01001276 help
1277 Enable support for iWMMXt context switching at run time if
1278 running on a CPU that supports it.
1279
Linus Torvalds1da177e2005-04-16 15:20:36 -07001280config XSCALE_PMU
1281 bool
Paul Bollebfc994b2011-10-30 12:51:41 +01001282 depends on CPU_XSCALE
Linus Torvalds1da177e2005-04-16 15:20:36 -07001283 default y
1284
Jamie Iles0f4f0672010-02-02 20:23:15 +01001285config CPU_HAS_PMU
Russell Kinge399b1a2011-01-17 15:08:32 +00001286 depends on (CPU_V6 || CPU_V6K || CPU_V7 || XSCALE_PMU) && \
Will Deacon8954bb02010-06-21 15:32:54 +01001287 (!ARCH_OMAP3 || OMAP3_EMU)
Jamie Iles0f4f0672010-02-02 20:23:15 +01001288 default y
1289 bool
1290
eric miao52108642010-12-13 09:42:34 +01001291config MULTI_IRQ_HANDLER
1292 bool
1293 help
1294 Allow each machine to specify it's own IRQ handler at run time.
1295
Hyok S. Choi3b93e7b2006-06-22 11:48:56 +01001296if !MMU
1297source "arch/arm/Kconfig-nommu"
1298endif
1299
Will Deaconf0c4b8d2012-04-20 17:20:08 +01001300config ARM_ERRATA_326103
1301 bool "ARM errata: FSR write bit incorrect on a SWP to read-only memory"
1302 depends on CPU_V6
1303 help
1304 Executing a SWP instruction to read-only memory does not set bit 11
1305 of the FSR on the ARM 1136 prior to r1p0. This causes the kernel to
1306 treat the access as a read, preventing a COW from occurring and
1307 causing the faulting task to livelock.
1308
Catalin Marinas9cba3cc2009-04-30 17:06:03 +01001309config ARM_ERRATA_411920
1310 bool "ARM errata: Invalidation of the Instruction Cache operation can fail"
Russell Kinge399b1a2011-01-17 15:08:32 +00001311 depends on CPU_V6 || CPU_V6K
Catalin Marinas9cba3cc2009-04-30 17:06:03 +01001312 help
1313 Invalidation of the Instruction Cache operation can
1314 fail. This erratum is present in 1136 (before r1p4), 1156 and 1176.
1315 It does not affect the MPCore. This option enables the ARM Ltd.
1316 recommended workaround.
1317
Catalin Marinas7ce236f2009-04-30 17:06:09 +01001318config ARM_ERRATA_430973
1319 bool "ARM errata: Stale prediction on replaced interworking branch"
1320 depends on CPU_V7
1321 help
1322 This option enables the workaround for the 430973 Cortex-A8
1323 (r1p0..r1p2) erratum. If a code sequence containing an ARM/Thumb
1324 interworking branch is replaced with another code sequence at the
1325 same virtual address, whether due to self-modifying code or virtual
1326 to physical address re-mapping, Cortex-A8 does not recover from the
1327 stale interworking branch prediction. This results in Cortex-A8
1328 executing the new code sequence in the incorrect ARM or Thumb state.
1329 The workaround enables the BTB/BTAC operations by setting ACTLR.IBE
1330 and also flushes the branch target cache at every context switch.
1331 Note that setting specific bits in the ACTLR register may not be
1332 available in non-secure mode.
1333
Catalin Marinas855c5512009-04-30 17:06:15 +01001334config ARM_ERRATA_458693
1335 bool "ARM errata: Processor deadlock when a false hazard is created"
1336 depends on CPU_V7
1337 help
1338 This option enables the workaround for the 458693 Cortex-A8 (r2p0)
1339 erratum. For very specific sequences of memory operations, it is
1340 possible for a hazard condition intended for a cache line to instead
1341 be incorrectly associated with a different cache line. This false
1342 hazard might then cause a processor deadlock. The workaround enables
1343 the L1 caching of the NEON accesses and disables the PLD instruction
1344 in the ACTLR register. Note that setting specific bits in the ACTLR
1345 register may not be available in non-secure mode.
1346
Catalin Marinas0516e462009-04-30 17:06:20 +01001347config ARM_ERRATA_460075
1348 bool "ARM errata: Data written to the L2 cache can be overwritten with stale data"
1349 depends on CPU_V7
1350 help
1351 This option enables the workaround for the 460075 Cortex-A8 (r2p0)
1352 erratum. Any asynchronous access to the L2 cache may encounter a
1353 situation in which recent store transactions to the L2 cache are lost
1354 and overwritten with stale memory contents from external memory. The
1355 workaround disables the write-allocate mode for the L2 cache via the
1356 ACTLR register. Note that setting specific bits in the ACTLR register
1357 may not be available in non-secure mode.
1358
Will Deacon9f050272010-09-14 09:51:43 +01001359config ARM_ERRATA_742230
1360 bool "ARM errata: DMB operation may be faulty"
1361 depends on CPU_V7 && SMP
1362 help
1363 This option enables the workaround for the 742230 Cortex-A9
1364 (r1p0..r2p2) erratum. Under rare circumstances, a DMB instruction
1365 between two write operations may not ensure the correct visibility
1366 ordering of the two writes. This workaround sets a specific bit in
1367 the diagnostic register of the Cortex-A9 which causes the DMB
1368 instruction to behave as a DSB, ensuring the correct behaviour of
1369 the two writes.
1370
Will Deacona672e992010-09-14 09:53:02 +01001371config ARM_ERRATA_742231
1372 bool "ARM errata: Incorrect hazard handling in the SCU may lead to data corruption"
1373 depends on CPU_V7 && SMP
1374 help
1375 This option enables the workaround for the 742231 Cortex-A9
1376 (r2p0..r2p2) erratum. Under certain conditions, specific to the
1377 Cortex-A9 MPCore micro-architecture, two CPUs working in SMP mode,
1378 accessing some data located in the same cache line, may get corrupted
1379 data due to bad handling of the address hazard when the line gets
1380 replaced from one of the CPUs at the same time as another CPU is
1381 accessing it. This workaround sets specific bits in the diagnostic
1382 register of the Cortex-A9 which reduces the linefill issuing
1383 capabilities of the processor.
1384
Santosh Shilimkar9e655822010-02-04 19:42:42 +01001385config PL310_ERRATA_588369
Will Deaconfa0ce402011-11-14 17:24:57 +01001386 bool "PL310 errata: Clean & Invalidate maintenance operations do not invalidate clean lines"
Santosh Shilimkar2839e062011-03-08 06:59:54 +01001387 depends on CACHE_L2X0
Santosh Shilimkar9e655822010-02-04 19:42:42 +01001388 help
1389 The PL310 L2 cache controller implements three types of Clean &
1390 Invalidate maintenance operations: by Physical Address
1391 (offset 0x7F0), by Index/Way (0x7F8) and by Way (0x7FC).
1392 They are architecturally defined to behave as the execution of a
1393 clean operation followed immediately by an invalidate operation,
1394 both performing to the same memory location. This functionality
1395 is not correctly implemented in PL310 as clean lines are not
Santosh Shilimkar2839e062011-03-08 06:59:54 +01001396 invalidated as a result of these operations.
Will Deaconcdf357f2010-08-05 11:20:51 +01001397
Jon Medhurst4df81142013-06-07 10:35:35 +01001398config ARM_ERRATA_643719
1399 bool "ARM errata: LoUIS bit field in CLIDR register is incorrect"
1400 depends on CPU_V7 && SMP
1401 help
1402 This option enables the workaround for the 643719 Cortex-A9 (prior to
1403 r1p0) erratum. On affected cores the LoUIS bit field of the CLIDR
1404 register returns zero when it should return one. The workaround
1405 corrects this value, ensuring cache maintenance operations which use
1406 it behave as intended and avoiding data corruption.
1407
Will Deaconcdf357f2010-08-05 11:20:51 +01001408config ARM_ERRATA_720789
1409 bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID"
Dave Martine66dc742011-12-08 13:37:46 +01001410 depends on CPU_V7
Will Deaconcdf357f2010-08-05 11:20:51 +01001411 help
1412 This option enables the workaround for the 720789 Cortex-A9 (prior to
1413 r2p0) erratum. A faulty ASID can be sent to the other CPUs for the
1414 broadcasted CP15 TLB maintenance operations TLBIASIDIS and TLBIMVAIS.
1415 As a consequence of this erratum, some TLB entries which should be
1416 invalidated are not, resulting in an incoherency in the system page
1417 tables. The workaround changes the TLB flushing routines to invalidate
1418 entries regardless of the ASID.
Will Deacon475d92f2010-09-28 14:02:02 +01001419
Russell King1f0090a2011-03-16 23:35:25 +00001420config PL310_ERRATA_727915
Will Deaconfa0ce402011-11-14 17:24:57 +01001421 bool "PL310 errata: Background Clean & Invalidate by Way operation can cause data corruption"
Russell King1f0090a2011-03-16 23:35:25 +00001422 depends on CACHE_L2X0
1423 help
1424 PL310 implements the Clean & Invalidate by Way L2 cache maintenance
1425 operation (offset 0x7FC). This operation runs in background so that
1426 PL310 can handle normal accesses while it is in progress. Under very
1427 rare circumstances, due to this erratum, write data can be lost when
1428 PL310 treats a cacheable write transaction during a Clean &
1429 Invalidate by Way operation.
1430
Will Deacon475d92f2010-09-28 14:02:02 +01001431config ARM_ERRATA_743622
1432 bool "ARM errata: Faulty hazard checking in the Store Buffer may lead to data corruption"
1433 depends on CPU_V7
1434 help
1435 This option enables the workaround for the 743622 Cortex-A9
Will Deaconefbc74a2012-02-24 12:12:38 +01001436 (r2p*) erratum. Under very rare conditions, a faulty
Will Deacon475d92f2010-09-28 14:02:02 +01001437 optimisation in the Cortex-A9 Store Buffer may lead to data
1438 corruption. This workaround sets a specific bit in the diagnostic
1439 register of the Cortex-A9 which disables the Store Buffer
1440 optimisation, preventing the defect from occurring. This has no
1441 visible impact on the overall performance or power consumption of the
1442 processor.
1443
Will Deacon9a27c272011-02-18 16:36:35 +01001444config ARM_ERRATA_751472
1445 bool "ARM errata: Interrupted ICIALLUIS may prevent completion of broadcasted operation"
Dave Martinba90c512011-12-08 13:41:06 +01001446 depends on CPU_V7
Will Deacon9a27c272011-02-18 16:36:35 +01001447 help
1448 This option enables the workaround for the 751472 Cortex-A9 (prior
1449 to r3p0) erratum. An interrupted ICIALLUIS operation may prevent the
1450 completion of a following broadcasted operation if the second
1451 operation is received by a CPU before the ICIALLUIS has completed,
1452 potentially leading to corrupted entries in the cache or TLB.
1453
Will Deaconfa0ce402011-11-14 17:24:57 +01001454config PL310_ERRATA_753970
1455 bool "PL310 errata: cache sync operation may be faulty"
Srinidhi Kasagar885028e2011-02-17 07:03:51 +01001456 depends on CACHE_PL310
1457 help
1458 This option enables the workaround for the 753970 PL310 (r3p0) erratum.
1459
1460 Under some condition the effect of cache sync operation on
1461 the store buffer still remains when the operation completes.
1462 This means that the store buffer is always asked to drain and
1463 this prevents it from merging any further writes. The workaround
1464 is to replace the normal offset of cache sync operation (0x730)
1465 by another offset targeting an unmapped PL310 register 0x740.
1466 This has the same effect as the cache sync operation: store buffer
1467 drain and waiting for all buffers empty.
1468
Will Deaconfcbdc5f2011-02-28 18:15:16 +01001469config ARM_ERRATA_754322
1470 bool "ARM errata: possible faulty MMU translations following an ASID switch"
1471 depends on CPU_V7
1472 help
1473 This option enables the workaround for the 754322 Cortex-A9 (r2p*,
1474 r3p*) erratum. A speculative memory access may cause a page table walk
1475 which starts prior to an ASID switch but completes afterwards. This
1476 can populate the micro-TLB with a stale entry which may be hit with
1477 the new ASID. This workaround places two dsb instructions in the mm
1478 switching code so that no page table walks can cross the ASID switch.
1479
Will Deacon5dab26a2011-03-04 12:38:54 +01001480config ARM_ERRATA_754327
1481 bool "ARM errata: no automatic Store Buffer drain"
1482 depends on CPU_V7 && SMP
1483 help
1484 This option enables the workaround for the 754327 Cortex-A9 (prior to
1485 r2p0) erratum. The Store Buffer does not have any automatic draining
1486 mechanism and therefore a livelock may occur if an external agent
1487 continuously polls a memory location waiting to observe an update.
1488 This workaround defines cpu_relax() as smp_mb(), preventing correctly
1489 written polling loops from denying visibility of updates to memory.
1490
Catalin Marinas145e10e2011-08-15 11:04:41 +01001491config ARM_ERRATA_364296
1492 bool "ARM errata: Possible cache data corruption with hit-under-miss enabled"
1493 depends on CPU_V6 && !SMP
1494 help
1495 This options enables the workaround for the 364296 ARM1136
1496 r0p2 erratum (possible cache data corruption with
1497 hit-under-miss enabled). It sets the undocumented bit 31 in
1498 the auxiliary control register and the FI bit in the control
1499 register, thus disabling hit-under-miss without putting the
1500 processor into full low interrupt latency mode. ARM11MPCore
1501 is not affected.
1502
Will Deaconf630c1b2011-09-15 11:45:15 +01001503config ARM_ERRATA_764369
1504 bool "ARM errata: Data cache line maintenance operation by MVA may not succeed"
1505 depends on CPU_V7 && SMP
1506 help
1507 This option enables the workaround for erratum 764369
1508 affecting Cortex-A9 MPCore with two or more processors (all
1509 current revisions). Under certain timing circumstances, a data
1510 cache line maintenance operation by MVA targeting an Inner
1511 Shareable memory region may fail to proceed up to either the
1512 Point of Coherency or to the Point of Unification of the
1513 system. This workaround adds a DSB instruction before the
1514 relevant cache maintenance functions and sets a specific bit
1515 in the diagnostic control register of the SCU.
1516
Will Deacon11ed0ba2011-11-14 17:24:58 +01001517config PL310_ERRATA_769419
1518 bool "PL310 errata: no automatic Store Buffer drain"
1519 depends on CACHE_L2X0
1520 help
1521 On revisions of the PL310 prior to r3p2, the Store Buffer does
1522 not automatically drain. This can cause normal, non-cacheable
1523 writes to be retained when the memory system is idle, leading
1524 to suboptimal I/O performance for drivers using coherent DMA.
1525 This option adds a write barrier to the cpu_idle loop so that,
1526 on systems with an outer cache, the store buffer is drained
1527 explicitly.
1528
Simon Hormanc04ccde2012-09-28 02:12:45 +01001529config ARM_ERRATA_775420
1530 bool "ARM errata: A data cache maintenance operation which aborts, might lead to deadlock"
1531 depends on CPU_V7
1532 help
1533 This option enables the workaround for the 775420 Cortex-A9 (r2p2,
1534 r2p6,r2p8,r2p10,r3p0) erratum. In case a date cache maintenance
1535 operation aborts with MMU exception, it might cause the processor
1536 to deadlock. This workaround puts DSB before executing ISB if
1537 an abort may occur on cache maintenance.
1538
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001539config KSAPI
1540 tristate "KSAPI support (EXPERIMENTAL)"
1541 depends on ARCH_MSM_SCORPION || ARCH_MSM_KRAIT
1542 default n
1543 help
1544 KSAPI: Performance monitoring tool for linux.
1545 KSAPI records performance statistics for Snapdragon linux platform.
1546 It uses the /proc FS as a means to exchange configuration data and
1547 counter statistics. It can monitor the counter statistics for
1548 Scorpion processor supported hardware performance counters on a per
1549 thread basis or AXI counters on an overall system basis.
1550
Linus Torvalds1da177e2005-04-16 15:20:36 -07001551endmenu
1552
1553source "arch/arm/common/Kconfig"
1554
Linus Torvalds1da177e2005-04-16 15:20:36 -07001555menu "Bus support"
1556
1557config ARM_AMBA
1558 bool
1559
1560config ISA
1561 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001562 help
1563 Find out whether you have ISA slots on your motherboard. ISA is the
1564 name of a bus system, i.e. the way the CPU talks to the other stuff
1565 inside your box. Other bus systems are PCI, EISA, MicroChannel
1566 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
1567 newer boards don't support it. If you have ISA, say Y, otherwise N.
1568
Russell King065909b2006-01-04 15:44:16 +00001569# Select ISA DMA controller support
Linus Torvalds1da177e2005-04-16 15:20:36 -07001570config ISA_DMA
1571 bool
Russell King065909b2006-01-04 15:44:16 +00001572 select ISA_DMA_API
Linus Torvalds1da177e2005-04-16 15:20:36 -07001573
Russell King065909b2006-01-04 15:44:16 +00001574# Select ISA DMA interface
Al Viro5cae8412005-05-04 05:39:22 +01001575config ISA_DMA_API
1576 bool
Al Viro5cae8412005-05-04 05:39:22 +01001577
Linus Torvalds1da177e2005-04-16 15:20:36 -07001578config PCI
Hans Ulli Kroll0b05da72010-12-02 12:32:15 +01001579 bool "PCI support" if MIGHT_HAVE_PCI
Linus Torvalds1da177e2005-04-16 15:20:36 -07001580 help
1581 Find out whether you have a PCI motherboard. PCI is the name of a
1582 bus system, i.e. the way the CPU talks to the other stuff inside
1583 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
1584 VESA. If you have PCI, say Y, otherwise N.
1585
Anton Vorontsov52882172010-04-19 13:20:49 +01001586config PCI_DOMAINS
1587 bool
1588 depends on PCI
1589
Marcelo Roberto Jimenezb080ac82010-12-16 21:34:51 +01001590config PCI_NANOENGINE
1591 bool "BSE nanoEngine PCI support"
1592 depends on SA1100_NANOENGINE
1593 help
1594 Enable PCI on the BSE nanoEngine board.
1595
Matthew Wilcox36e23592007-07-10 10:54:40 -06001596config PCI_SYSCALL
1597 def_bool PCI
1598
Linus Torvalds1da177e2005-04-16 15:20:36 -07001599# Select the host bridge type
1600config PCI_HOST_VIA82C505
1601 bool
1602 depends on PCI && ARCH_SHARK
1603 default y
1604
Mike Rapoporta0113a92007-11-25 08:55:34 +01001605config PCI_HOST_ITE8152
1606 bool
1607 depends on PCI && MACH_ARMCORE
1608 default y
1609 select DMABOUNCE
1610
Linus Torvalds1da177e2005-04-16 15:20:36 -07001611source "drivers/pci/Kconfig"
1612
1613source "drivers/pcmcia/Kconfig"
1614
1615endmenu
1616
1617menu "Kernel Features"
1618
Kevin Hilman0567a0c2007-03-13 20:29:24 +01001619source "kernel/time/Kconfig"
1620
Dave Martin3b556582011-12-07 15:38:04 +00001621config HAVE_SMP
1622 bool
1623 help
1624 This option should be selected by machines which have an SMP-
1625 capable CPU.
1626
1627 The only effect of this option is to make the SMP-related
1628 options available to the user for configuration.
1629
Linus Torvalds1da177e2005-04-16 15:20:36 -07001630config SMP
Russell Kingbb2d8132011-05-12 09:52:02 +01001631 bool "Symmetric Multi-Processing"
Russell Kingfbb4dda2011-01-17 18:01:58 +00001632 depends on CPU_V6K || CPU_V7
Russell Kingbc282482009-05-17 18:58:34 +01001633 depends on GENERIC_CLOCKEVENTS
Dave Martin3b556582011-12-07 15:38:04 +00001634 depends on HAVE_SMP
Arnd Bergmann9934ebb2011-06-10 14:05:22 +00001635 depends on MMU
Jens Axboef6dd9fa52008-06-10 20:48:30 +02001636 select USE_GENERIC_SMP_HELPERS
Taniya Das2760d852011-10-12 18:03:15 +05301637 select HAVE_ARM_SCU
Linus Torvalds1da177e2005-04-16 15:20:36 -07001638 help
1639 This enables support for systems with more than one CPU. If you have
1640 a system with only one CPU, like most personal computers, say N. If
1641 you have a system with more than one CPU, say Y.
1642
1643 If you say N here, the kernel will run on single and multiprocessor
1644 machines, but will use only one CPU of a multiprocessor machine. If
1645 you say Y here, the kernel will run on many, but not all, single
1646 processor machines. On a single processor machine, the kernel will
1647 run faster if you say N here.
1648
Paul Bolle395cf962011-08-15 02:02:26 +02001649 See also <file:Documentation/x86/i386/IO-APIC.txt>,
Linus Torvalds1da177e2005-04-16 15:20:36 -07001650 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
Justin P. Mattock50a23e62010-10-16 10:36:23 -07001651 <http://tldp.org/HOWTO/SMP-HOWTO.html>.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001652
1653 If you don't know what to do here, say N.
1654
Russell Kingf00ec482010-09-04 10:47:48 +01001655config SMP_ON_UP
1656 bool "Allow booting SMP kernel on uniprocessor systems (EXPERIMENTAL)"
1657 depends on EXPERIMENTAL
Nicolas Pitre4d2692a2011-01-14 07:33:24 +01001658 depends on SMP && !XIP_KERNEL
Russell Kingf00ec482010-09-04 10:47:48 +01001659 default y
1660 help
1661 SMP kernels contain instructions which fail on non-SMP processors.
1662 Enabling this option allows the kernel to modify itself to make
1663 these instructions safe. Disabling it allows about 1K of space
1664 savings.
1665
1666 If you don't know what to do here, say Y.
1667
Vincent Guittotc9018aa2011-08-08 13:21:59 +01001668config ARM_CPU_TOPOLOGY
1669 bool "Support cpu topology definition"
1670 depends on SMP && CPU_V7
1671 default y
1672 help
1673 Support ARM cpu topology definition. The MPIDR register defines
1674 affinity between processors which is then used to describe the cpu
1675 topology of an ARM System.
1676
1677config SCHED_MC
1678 bool "Multi-core scheduler support"
1679 depends on ARM_CPU_TOPOLOGY
1680 help
1681 Multi-core scheduler support improves the CPU scheduler's decision
1682 making when dealing with multi-core CPU chips at a cost of slightly
1683 increased overhead in some places. If unsure say N here.
1684
1685config SCHED_SMT
1686 bool "SMT scheduler support"
1687 depends on ARM_CPU_TOPOLOGY
1688 help
1689 Improves the CPU scheduler's decision making when dealing with
1690 MultiThreading at a cost of slightly increased overhead in some
1691 places. If unsure say N here.
1692
Russell Kinga8cbcd92009-05-16 11:51:14 +01001693config HAVE_ARM_SCU
1694 bool
Russell Kinga8cbcd92009-05-16 11:51:14 +01001695 help
1696 This option enables support for the ARM system coherency unit
1697
Marc Zyngierf5b3b2b2011-11-07 14:28:33 -08001698config ARM_ARCH_TIMER
1699 bool "Architected timer support"
Marc Zyngierdf590cc2012-01-11 17:25:17 +00001700 depends on CPU_V7
Marc Zyngierf5b3b2b2011-11-07 14:28:33 -08001701 select TICK_ONESHOT
1702 help
1703 This option enables support for the ARM architected timer
1704
Greg Hackmann4fa1fe92017-09-19 10:55:17 -07001705config ARM_ARCH_TIMER_VCT_ACCESS
1706 bool "Support for ARM architected timer virtual counter access in userspace"
1707 default n
1708 depends on ARM_ARCH_TIMER
1709 help
1710 This option enables support for reading the ARM architected timer's
1711 virtual counter in userspace.
1712
Russell Kingf32f4ce2009-05-16 12:14:21 +01001713config HAVE_ARM_TWD
1714 bool
1715 depends on SMP
Russell King15095bb2011-01-02 15:05:21 +00001716 select TICK_ONESHOT
Russell Kingf32f4ce2009-05-16 12:14:21 +01001717 help
1718 This options enables support for the ARM timer and watchdog unit
1719
Lennert Buytenhek8d5796d2008-08-25 21:03:32 +01001720choice
1721 prompt "Memory split"
1722 default VMSPLIT_3G
1723 help
1724 Select the desired split between kernel and user memory.
1725
1726 If you are not absolutely sure what you are doing, leave this
1727 option alone!
1728
1729 config VMSPLIT_3G
1730 bool "3G/1G user/kernel split"
1731 config VMSPLIT_2G
1732 bool "2G/2G user/kernel split"
1733 config VMSPLIT_1G
1734 bool "1G/3G user/kernel split"
1735endchoice
1736
1737config PAGE_OFFSET
1738 hex
1739 default 0x40000000 if VMSPLIT_1G
1740 default 0x80000000 if VMSPLIT_2G
1741 default 0xC0000000
1742
Linus Torvalds1da177e2005-04-16 15:20:36 -07001743config NR_CPUS
1744 int "Maximum number of CPUs (2-32)"
1745 range 2 32
1746 depends on SMP
1747 default "4"
1748
Russell Kinga054a812005-11-02 22:24:33 +00001749config HOTPLUG_CPU
1750 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
1751 depends on SMP && HOTPLUG && EXPERIMENTAL
1752 help
1753 Say Y here to experiment with turning CPUs off and on. CPUs
1754 can be controlled through /sys/devices/system/cpu.
1755
Russell King37ee16a2005-11-08 19:08:05 +00001756config LOCAL_TIMERS
1757 bool "Use local timer interrupts"
Russell King971acb92010-09-04 08:16:30 +01001758 depends on SMP
Russell King37ee16a2005-11-08 19:08:05 +00001759 default y
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001760 select HAVE_ARM_TWD if (!MSM_SMP && !EXYNOS4_MCT)
Russell King37ee16a2005-11-08 19:08:05 +00001761 help
1762 Enable support for local timers on SMP platforms, rather then the
1763 legacy IPI broadcast method. Local timers allows the system
1764 accounting to be spread across the timer interval, preventing a
1765 "thundering herd" at every timer tick.
1766
Peter De Schrijver (NVIDIA)44986ab2011-12-21 10:48:45 +01001767config ARCH_NR_GPIO
1768 int
Peter De Schrijver (NVIDIA)3dea19e2011-12-21 15:14:52 +01001769 default 1024 if ARCH_SHMOBILE || ARCH_TEGRA
Philippe Langlais70227a42012-02-13 10:51:22 +01001770 default 355 if ARCH_U8500
Paul Parsons9a01ec32012-02-27 01:58:45 +00001771 default 264 if MACH_H4700
Peter De Schrijver (NVIDIA)44986ab2011-12-21 10:48:45 +01001772 default 0
1773 help
1774 Maximum number of GPIOs in the system.
1775
1776 If unsure, leave the default value.
1777
Uwe Kleine-Königd45a3982009-08-13 20:38:17 +02001778source kernel/Kconfig.preempt
Linus Torvalds1da177e2005-04-16 15:20:36 -07001779
Steve Kondik30740fe2016-04-16 20:48:26 -07001780source kernel/Kconfig.hz
Russell Kingf8065812006-03-02 22:41:59 +00001781
Catalin Marinas16c79652009-07-24 12:33:02 +01001782config THUMB2_KERNEL
Russell King4a50bfe2010-12-05 23:06:22 +00001783 bool "Compile the kernel in Thumb-2 mode (EXPERIMENTAL)"
Russell Kinge399b1a2011-01-17 15:08:32 +00001784 depends on CPU_V7 && !CPU_V6 && !CPU_V6K && EXPERIMENTAL
Catalin Marinas16c79652009-07-24 12:33:02 +01001785 select AEABI
1786 select ARM_ASM_UNIFIED
Arnd Bergmann89bace62011-06-10 14:12:21 +00001787 select ARM_UNWIND
Catalin Marinas16c79652009-07-24 12:33:02 +01001788 help
1789 By enabling this option, the kernel will be compiled in
1790 Thumb-2 mode. A compiler/assembler that understand the unified
1791 ARM-Thumb syntax is needed.
1792
1793 If unsure, say N.
1794
Dave Martin6f685c52011-03-03 11:41:12 +01001795config THUMB2_AVOID_R_ARM_THM_JUMP11
1796 bool "Work around buggy Thumb-2 short branch relocations in gas"
1797 depends on THUMB2_KERNEL && MODULES
1798 default y
1799 help
1800 Various binutils versions can resolve Thumb-2 branches to
1801 locally-defined, preemptible global symbols as short-range "b.n"
1802 branch instructions.
1803
1804 This is a problem, because there's no guarantee the final
1805 destination of the symbol, or any candidate locations for a
1806 trampoline, are within range of the branch. For this reason, the
1807 kernel does not support fixing up the R_ARM_THM_JUMP11 (102)
1808 relocation in modules at all, and it makes little sense to add
1809 support.
1810
1811 The symptom is that the kernel fails with an "unsupported
1812 relocation" error when loading some modules.
1813
1814 Until fixed tools are available, passing
1815 -fno-optimize-sibling-calls to gcc should prevent gcc generating
1816 code which hits this problem, at the cost of a bit of extra runtime
1817 stack usage in some cases.
1818
1819 The problem is described in more detail at:
1820 https://bugs.launchpad.net/binutils-linaro/+bug/725126
1821
1822 Only Thumb-2 kernels are affected.
1823
1824 Unless you are sure your tools don't have this problem, say Y.
1825
Catalin Marinas0becb082009-07-24 12:32:53 +01001826config ARM_ASM_UNIFIED
1827 bool
1828
Nicolas Pitre704bdda2006-01-14 16:33:50 +00001829config AEABI
1830 bool "Use the ARM EABI to compile the kernel"
1831 help
1832 This option allows for the kernel to be compiled using the latest
1833 ARM ABI (aka EABI). This is only useful if you are using a user
1834 space environment that is also compiled with EABI.
1835
1836 Since there are major incompatibilities between the legacy ABI and
1837 EABI, especially with regard to structure member alignment, this
1838 option also changes the kernel syscall calling convention to
1839 disambiguate both ABIs and allow for backward compatibility support
1840 (selected with CONFIG_OABI_COMPAT).
1841
1842 To use this you need GCC version 4.0.0 or later.
1843
Nicolas Pitre6c90c872006-01-14 16:37:15 +00001844config OABI_COMPAT
Russell Kinga73a3ff2006-02-08 21:09:55 +00001845 bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
Dave Martin9bc433a2011-02-11 16:41:20 +01001846 depends on AEABI && EXPERIMENTAL && !THUMB2_KERNEL
Jay Chokshi82024cc2012-12-14 16:02:42 -08001847 default y if !SMP
Nicolas Pitre6c90c872006-01-14 16:37:15 +00001848 help
1849 This option preserves the old syscall interface along with the
1850 new (ARM EABI) one. It also provides a compatibility layer to
1851 intercept syscalls that have structure arguments which layout
1852 in memory differs between the legacy ABI and the new ARM EABI
1853 (only for non "thumb" binaries). This option adds a tiny
1854 overhead to all syscalls and produces a slightly larger kernel.
1855 If you know you'll be using only pure EABI user space then you
1856 can say N here. If this option is not selected and you attempt
1857 to execute a legacy ABI binary then the result will be
1858 UNPREDICTABLE (in fact it can be predicted that it won't work
1859 at all). If in doubt say Y.
1860
Mel Gormaneb335752009-05-13 17:34:48 +01001861config ARCH_HAS_HOLES_MEMORYMODEL
Mel Gormane80d6a22008-08-14 11:10:14 +01001862 bool
Mel Gormane80d6a22008-08-14 11:10:14 +01001863
Russell King05944d72006-11-30 20:43:51 +00001864config ARCH_SPARSEMEM_ENABLE
1865 bool
1866
Russell King07a2f732008-10-01 21:39:58 +01001867config ARCH_SPARSEMEM_DEFAULT
1868 def_bool ARCH_SPARSEMEM_ENABLE
1869
Russell King05944d72006-11-30 20:43:51 +00001870config ARCH_SELECT_MEMORY_MODEL
Russell Kingbe370302010-05-07 17:40:33 +01001871 def_bool ARCH_SPARSEMEM_ENABLE
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07001872
Will Deacon7b7bf492011-05-19 13:21:14 +01001873config HAVE_ARCH_PFN_VALID
1874 def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM
1875
Nicolas Pitre053a96c2008-09-19 00:36:12 -04001876config HIGHMEM
Russell Kinge8db89a2011-05-12 09:53:05 +01001877 bool "High Memory Support"
1878 depends on MMU
Nicolas Pitre053a96c2008-09-19 00:36:12 -04001879 help
1880 The address space of ARM processors is only 4 Gigabytes large
1881 and it has to accommodate user address space, kernel address
1882 space as well as some memory mapped IO. That means that, if you
1883 have a large amount of physical memory and/or IO, not all of the
1884 memory can be "permanently mapped" by the kernel. The physical
1885 memory that is not permanently mapped is called "high memory".
1886
1887 Depending on the selected kernel/user memory split, minimum
1888 vmalloc space and actual amount of RAM, you may not need this
1889 option which should result in a slightly faster kernel.
1890
1891 If unsure, say n.
1892
Russell King65cec8e2009-08-17 20:02:06 +01001893config HIGHPTE
1894 bool "Allocate 2nd-level pagetables from highmem"
1895 depends on HIGHMEM
Russell King65cec8e2009-08-17 20:02:06 +01001896
Jamie Iles1b8873a2010-02-02 20:25:44 +01001897config HW_PERF_EVENTS
1898 bool "Enable hardware performance counter support for perf events"
Will Deaconfe166142010-04-30 11:37:51 +01001899 depends on PERF_EVENTS && CPU_HAS_PMU
Jamie Iles1b8873a2010-02-02 20:25:44 +01001900 default y
1901 help
1902 Enable hardware performance counter support for perf events. If
1903 disabled, perf events will use software events only.
1904
Dave Hansen3f22ab22005-06-23 00:07:43 -07001905source "mm/Kconfig"
1906
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001907config ARCH_MEMORY_PROBE
1908 def_bool n
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001909
1910config ARCH_MEMORY_REMOVE
1911 def_bool n
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001912
Larry Basselb8d61022012-02-24 10:49:45 -08001913config ENABLE_DMM
1914 def_bool n
Larry Basselb8d61022012-02-24 10:49:45 -08001915
Neeti Desaif1ca8d22013-08-14 17:34:55 -07001916choice
1917 prompt "Virtual Memory Reclaim"
1918 default NO_VM_RECLAIM
1919 help
1920 Select the method of reclaiming virtual memory
1921
Larry Bassel150d5032011-09-20 14:32:13 -07001922config DONT_MAP_HOLE_AFTER_MEMBANK0
Neeti Desaif1ca8d22013-08-14 17:34:55 -07001923 bool "Map around the largest hole"
1924 help
1925 Do not map the memory belonging to the largest hole
1926 into the virtual space. This results in more lowmem.
1927 If multiple holes are present, only the largest hole
1928 in the first 256MB of memory is not mapped.
Neeti Desaibd507e12013-07-31 14:34:17 -07001929
1930config ENABLE_VMALLOC_SAVING
Neeti Desaif1ca8d22013-08-14 17:34:55 -07001931 bool "Reclaim memory for each subsystem"
1932 help
1933 Enable this config to reclaim the virtual space belonging
1934 to any subsystem which is expected to have a lifetime of
1935 the entire system. This feature allows lowmem to be non-
1936 contiguous.
1937
1938config NO_VM_RECLAIM
1939 bool "Do not reclaim memory"
1940 help
1941 Do not reclaim any memory. This might result in less lowmem
1942 and wasting virtual memory space which could otherwise be
1943 reclaimed by using any of the other two config options.
1944
1945endchoice
Larry Bassel150d5032011-09-20 14:32:13 -07001946
Laura Abbott224d00c2012-03-30 13:16:07 -07001947config HOLES_IN_ZONE
1948 def_bool n
1949 depends on SPARSEMEM
1950
Magnus Dammc1b2d972010-07-05 10:00:11 +01001951config FORCE_MAX_ZONEORDER
1952 int "Maximum zone order" if ARCH_SHMOBILE
1953 range 11 64 if ARCH_SHMOBILE
1954 default "9" if SA1111
1955 default "11"
1956 help
1957 The kernel memory allocator divides physically contiguous memory
1958 blocks into "zones", where each zone is a power of two number of
1959 pages. This option selects the largest power of two that the kernel
1960 keeps in the memory allocator. If you need to allocate very large
1961 blocks of physically contiguous memory, then you may need to
1962 increase this value.
1963
1964 This config option is actually maximum order plus one. For example,
1965 a value of 11 means that the largest free memory block is 2^10 pages.
1966
Linus Torvalds1da177e2005-04-16 15:20:36 -07001967config LEDS
1968 bool "Timer and CPU usage LEDs"
Adrian Bunke055d5b2008-04-22 01:43:27 +01001969 depends on ARCH_CDB89712 || ARCH_EBSA110 || \
Sascha Hauer8c8fdbc2009-04-01 12:40:15 +02001970 ARCH_EBSA285 || ARCH_INTEGRATOR || \
Linus Torvalds1da177e2005-04-16 15:20:36 -07001971 ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
1972 ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
SAN People73a59c12006-01-09 17:05:41 +00001973 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
Jürgen Schindele25329672008-09-16 21:36:30 +01001974 ARCH_AT91 || ARCH_DAVINCI || \
Colin Tuckleyff3042f2009-05-30 13:56:13 +01001975 ARCH_KS8695 || MACH_RD88F5182 || ARCH_REALVIEW
Linus Torvalds1da177e2005-04-16 15:20:36 -07001976 help
1977 If you say Y here, the LEDs on your machine will be used
1978 to provide useful information about your current system status.
1979
1980 If you are compiling a kernel for a NetWinder or EBSA-285, you will
1981 be able to select which LEDs are active using the options below. If
1982 you are compiling a kernel for the EBSA-110 or the LART however, the
1983 red LED will simply flash regularly to indicate that the system is
1984 still functional. It is safe to say Y here if you have a CATS
1985 system, but the driver will do nothing.
1986
1987config LEDS_TIMER
1988 bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
David Brownelleebdf7d72007-04-02 12:48:10 -07001989 OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
1990 || MACH_OMAP_PERSEUS2
Linus Torvalds1da177e2005-04-16 15:20:36 -07001991 depends on LEDS
Kevin Hilman0567a0c2007-03-13 20:29:24 +01001992 depends on !GENERIC_CLOCKEVENTS
Linus Torvalds1da177e2005-04-16 15:20:36 -07001993 default y if ARCH_EBSA110
1994 help
1995 If you say Y here, one of the system LEDs (the green one on the
1996 NetWinder, the amber one on the EBSA285, or the red one on the LART)
1997 will flash regularly to indicate that the system is still
1998 operational. This is mainly useful to kernel hackers who are
1999 debugging unstable kernels.
2000
2001 The LART uses the same LED for both Timer LED and CPU usage LED
2002 functions. You may choose to use both, but the Timer LED function
2003 will overrule the CPU usage LED.
2004
2005config LEDS_CPU
2006 bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
David Brownelleebdf7d72007-04-02 12:48:10 -07002007 !ARCH_OMAP) \
2008 || OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
2009 || MACH_OMAP_PERSEUS2
Linus Torvalds1da177e2005-04-16 15:20:36 -07002010 depends on LEDS
2011 help
2012 If you say Y here, the red LED will be used to give a good real
2013 time indication of CPU usage, by lighting whenever the idle task
2014 is not currently executing.
2015
2016 The LART uses the same LED for both Timer LED and CPU usage LED
2017 functions. You may choose to use both, but the Timer LED function
2018 will overrule the CPU usage LED.
2019
2020config ALIGNMENT_TRAP
2021 bool
Hyok S. Choif12d0d72006-09-26 17:36:37 +09002022 depends on CPU_CP15_MMU
Linus Torvalds1da177e2005-04-16 15:20:36 -07002023 default y if !ARCH_EBSA110
Russell Kinge119bff2010-01-10 17:23:29 +00002024 select HAVE_PROC_CPU if PROC_FS
Linus Torvalds1da177e2005-04-16 15:20:36 -07002025 help
Matt LaPlante84eb8d02006-10-03 22:53:09 +02002026 ARM processors cannot fetch/store information which is not
Linus Torvalds1da177e2005-04-16 15:20:36 -07002027 naturally aligned on the bus, i.e., a 4 byte fetch must start at an
2028 address divisible by 4. On 32-bit ARM processors, these non-aligned
2029 fetch/store instructions will be emulated in software if you say
2030 here, which has a severe performance impact. This is necessary for
2031 correct operation of some network protocols. With an IP-only
2032 configuration it is safe to say N, otherwise say Y.
2033
Lennert Buytenhek39ec58f2009-03-09 14:30:09 -04002034config UACCESS_WITH_MEMCPY
2035 bool "Use kernel mem{cpy,set}() for {copy_to,clear}_user() (EXPERIMENTAL)"
2036 depends on MMU && EXPERIMENTAL
2037 default y if CPU_FEROCEON
2038 help
2039 Implement faster copy_to_user and clear_user methods for CPU
2040 cores where a 8-word STM instruction give significantly higher
2041 memory write throughput than a sequence of individual 32bit stores.
2042
2043 A possible side effect is a slight increase in scheduling latency
2044 between threads sharing the same address space if they invoke
2045 such copy operations with large buffers.
2046
2047 However, if the CPU data cache is using a write-allocate mode,
2048 this option is unlikely to provide any performance gain.
2049
Nicolas Pitre70c70d92010-08-26 15:08:35 -07002050config SECCOMP
2051 bool
2052 prompt "Enable seccomp to safely compute untrusted bytecode"
2053 ---help---
2054 This kernel feature is useful for number crunching applications
2055 that may need to compute untrusted bytecode during their
2056 execution. By using pipes or other transports made available to
2057 the process as file descriptors supporting the read/write
2058 syscalls, it's possible to isolate those applications in
2059 their own address space using seccomp. Once seccomp is
2060 enabled via prctl(PR_SET_SECCOMP), it cannot be disabled
2061 and the task is only allowed to execute a few safe syscalls
2062 defined by each seccomp mode.
2063
Uwe Kleine-König73a65b32010-01-19 10:13:14 +01002064config DEPRECATED_PARAM_STRUCT
2065 bool "Provide old way to pass kernel parameters"
2066 help
2067 This was deprecated in 2001 and announced to live on for 5 years.
2068 Some old boot loaders still use this way.
2069
Dima Zavin2d1fe032011-08-23 15:56:50 -07002070config ARM_FLUSH_CONSOLE_ON_RESTART
2071 bool "Force flush the console on restart"
2072 help
2073 If the console is locked while the system is rebooted, the messages
2074 in the temporary logbuffer would not have propogated to all the
2075 console drivers. This option forces the console lock to be
2076 released if it failed to be acquired, which will cause all the
2077 pending messages to be flushed.
2078
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07002079config CP_ACCESS
2080 tristate "CP register access tool"
2081 default m
2082 help
2083 Provide support for Coprocessor register access using /sys
2084 interface. Read and write to CP registers from userspace
2085 through sysfs interface. A sys file (cp_rw) will be created under
Neil Leeder16661a62013-01-25 09:06:17 -05002086 /sys/devices/cpaccess/cpaccess0.
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07002087
2088 If unsure, say N.
2089
Linus Torvalds1da177e2005-04-16 15:20:36 -07002090endmenu
2091
2092menu "Boot options"
2093
Grant Likely9eb8f672011-04-28 14:27:20 -06002094config USE_OF
2095 bool "Flattened Device Tree support"
2096 select OF
2097 select OF_EARLY_FLATTREE
Grant Likely08a543a2011-07-26 03:19:06 -06002098 select IRQ_DOMAIN
Grant Likely9eb8f672011-04-28 14:27:20 -06002099 help
2100 Include support for flattened device tree machine descriptions.
2101
Colin Cross21b3b052013-04-17 16:58:36 -07002102config BUILD_ARM_APPENDED_DTB_IMAGE
2103 bool "Build a concatenated zImage/dtb by default"
2104 depends on OF
2105 help
2106 Enabling this option will cause a concatenated zImage and list of
2107 DTBs to be built by default (instead of a standalone zImage.)
2108 The image will built in arch/arm/boot/zImage-dtb
2109
2110config BUILD_ARM_APPENDED_DTB_IMAGE_NAMES
2111 string "Default dtb names"
2112 depends on BUILD_ARM_APPENDED_DTB_IMAGE
2113 help
2114 Space separated list of names of dtbs to append when
2115 building a concatenated zImage-dtb.
2116
Linus Torvalds1da177e2005-04-16 15:20:36 -07002117# Compressed boot loader in ROM. Yes, we really want to ask about
2118# TEXT and BSS so we preserve their values in the config files.
2119config ZBOOT_ROM_TEXT
2120 hex "Compressed ROM boot loader base address"
2121 default "0"
2122 help
2123 The physical address at which the ROM-able zImage is to be
2124 placed in the target. Platforms which normally make use of
2125 ROM-able zImage formats normally set this to a suitable
2126 value in their defconfig file.
2127
2128 If ZBOOT_ROM is not enabled, this has no effect.
2129
2130config ZBOOT_ROM_BSS
2131 hex "Compressed ROM boot loader BSS address"
2132 default "0"
2133 help
Dan Fandrichf8c440b2006-09-20 23:28:51 +01002134 The base address of an area of read/write memory in the target
2135 for the ROM-able zImage which must be available while the
2136 decompressor is running. It must be large enough to hold the
2137 entire decompressed kernel plus an additional 128 KiB.
2138 Platforms which normally make use of ROM-able zImage formats
2139 normally set this to a suitable value in their defconfig file.
Linus Torvalds1da177e2005-04-16 15:20:36 -07002140
2141 If ZBOOT_ROM is not enabled, this has no effect.
2142
2143config ZBOOT_ROM
2144 bool "Compressed boot loader in ROM/flash"
2145 depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
2146 help
2147 Say Y here if you intend to execute your compressed kernel image
2148 (zImage) directly from ROM or flash. If unsure, say N.
2149
Simon Horman090ab3f2011-04-26 06:29:53 +01002150choice
2151 prompt "Include SD/MMC loader in zImage (EXPERIMENTAL)"
2152 depends on ZBOOT_ROM && ARCH_SH7372 && EXPERIMENTAL
2153 default ZBOOT_ROM_NONE
2154 help
2155 Include experimental SD/MMC loading code in the ROM-able zImage.
2156 With this enabled it is possible to write the the ROM-able zImage
2157 kernel image to an MMC or SD card and boot the kernel straight
2158 from the reset vector. At reset the processor Mask ROM will load
2159 the first part of the the ROM-able zImage which in turn loads the
2160 rest the kernel image to RAM.
2161
2162config ZBOOT_ROM_NONE
2163 bool "No SD/MMC loader in zImage (EXPERIMENTAL)"
2164 help
2165 Do not load image from SD or MMC
2166
Simon Hormanf45b1142011-01-11 04:01:08 +01002167config ZBOOT_ROM_MMCIF
2168 bool "Include MMCIF loader in zImage (EXPERIMENTAL)"
Simon Hormanf45b1142011-01-11 04:01:08 +01002169 help
Simon Horman090ab3f2011-04-26 06:29:53 +01002170 Load image from MMCIF hardware block.
2171
2172config ZBOOT_ROM_SH_MOBILE_SDHI
2173 bool "Include SuperH Mobile SDHI loader in zImage (EXPERIMENTAL)"
2174 help
2175 Load image from SDHI hardware block
2176
2177endchoice
Simon Hormanf45b1142011-01-11 04:01:08 +01002178
John Bonesioe2a6a3a2011-05-27 18:45:50 -04002179config ARM_APPENDED_DTB
2180 bool "Use appended device tree blob to zImage (EXPERIMENTAL)"
2181 depends on OF && !ZBOOT_ROM && EXPERIMENTAL
2182 help
2183 With this option, the boot code will look for a device tree binary
2184 (DTB) appended to zImage
2185 (e.g. cat zImage <filename>.dtb > zImage_w_dtb).
2186
2187 This is meant as a backward compatibility convenience for those
2188 systems with a bootloader that can't be upgraded to accommodate
2189 the documented boot protocol using a device tree.
2190
2191 Beware that there is very little in terms of protection against
2192 this option being confused by leftover garbage in memory that might
2193 look like a DTB header after a reboot if no actual DTB is appended
2194 to zImage. Do not leave this option active in a production kernel
2195 if you don't intend to always append a DTB. Proper passing of the
2196 location into r2 of a bootloader provided DTB is always preferable
2197 to this option.
2198
Nicolas Pitreb90b9a32011-09-13 22:37:07 -04002199config ARM_ATAG_DTB_COMPAT
2200 bool "Supplement the appended DTB with traditional ATAG information"
2201 depends on ARM_APPENDED_DTB
2202 help
2203 Some old bootloaders can't be updated to a DTB capable one, yet
2204 they provide ATAGs with memory configuration, the ramdisk address,
2205 the kernel cmdline string, etc. Such information is dynamically
2206 provided by the bootloader and can't always be stored in a static
2207 DTB. To allow a device tree enabled kernel to be used with such
2208 bootloaders, this option allows zImage to extract the information
2209 from the ATAG list and store it at run time into the appended DTB.
2210
Linus Torvalds1da177e2005-04-16 15:20:36 -07002211config CMDLINE
2212 string "Default kernel command string"
2213 default ""
2214 help
2215 On some architectures (EBSA110 and CATS), there is currently no way
2216 for the boot loader to pass arguments to the kernel. For these
2217 architectures, you should supply some command-line options at build
2218 time by entering them here. As a minimum, you should specify the
2219 memory size and the root device (e.g., mem=64M root=/dev/nfs).
2220
Victor Boivie4394c122011-05-04 17:07:55 +01002221choice
2222 prompt "Kernel command line type" if CMDLINE != ""
2223 default CMDLINE_FROM_BOOTLOADER
2224
2225config CMDLINE_FROM_BOOTLOADER
2226 bool "Use bootloader kernel arguments if available"
2227 help
2228 Uses the command-line options passed by the boot loader. If
2229 the boot loader doesn't provide any, the default kernel command
2230 string provided in CMDLINE will be used.
2231
2232config CMDLINE_EXTEND
2233 bool "Extend bootloader kernel arguments"
2234 help
2235 The command-line arguments provided by the boot loader will be
2236 appended to the default kernel command string.
2237
Alexander Holler92d20402010-02-16 19:04:53 +01002238config CMDLINE_FORCE
2239 bool "Always use the default kernel command string"
Alexander Holler92d20402010-02-16 19:04:53 +01002240 help
2241 Always use the default kernel command string, even if the boot
2242 loader passes other arguments to the kernel.
2243 This is useful if you cannot or don't want to change the
2244 command-line options your boot loader passes to the kernel.
Victor Boivie4394c122011-05-04 17:07:55 +01002245endchoice
Alexander Holler92d20402010-02-16 19:04:53 +01002246
Linus Torvalds1da177e2005-04-16 15:20:36 -07002247config XIP_KERNEL
2248 bool "Kernel Execute-In-Place from ROM"
Catalin Marinas497b7e92011-11-22 17:30:32 +00002249 depends on !ZBOOT_ROM && !ARM_LPAE
Linus Torvalds1da177e2005-04-16 15:20:36 -07002250 help
2251 Execute-In-Place allows the kernel to run from non-volatile storage
2252 directly addressable by the CPU, such as NOR flash. This saves RAM
2253 space since the text section of the kernel is not loaded from flash
2254 to RAM. Read-write sections, such as the data section and stack,
2255 are still copied to RAM. The XIP kernel is not compressed since
2256 it has to run directly from flash, so it will take more space to
2257 store it. The flash address used to link the kernel object files,
2258 and for storing it, is configuration dependent. Therefore, if you
2259 say Y here, you must know the proper physical address where to
2260 store the kernel image depending on your own flash memory usage.
2261
2262 Also note that the make target becomes "make xipImage" rather than
2263 "make zImage" or "make Image". The final kernel binary to put in
2264 ROM memory will be arch/arm/boot/xipImage.
2265
2266 If unsure, say N.
2267
2268config XIP_PHYS_ADDR
2269 hex "XIP Kernel Physical Location"
2270 depends on XIP_KERNEL
2271 default "0x00080000"
2272 help
2273 This is the physical address in your flash memory the kernel will
2274 be linked for and stored to. This address is dependent on your
2275 own flash usage.
2276
Richard Purdiec587e4a2007-02-06 21:29:00 +01002277config KEXEC
2278 bool "Kexec system call (EXPERIMENTAL)"
Will Deacon02b73e22011-06-06 15:49:23 +01002279 depends on EXPERIMENTAL && (!SMP || HOTPLUG_CPU)
Richard Purdiec587e4a2007-02-06 21:29:00 +01002280 help
2281 kexec is a system call that implements the ability to shutdown your
2282 current kernel, and to start another kernel. It is like a reboot
Matt LaPlante01dd2fb2007-10-20 01:34:40 +02002283 but it is independent of the system firmware. And like a reboot
Richard Purdiec587e4a2007-02-06 21:29:00 +01002284 you can start any kernel with it, not just Linux.
2285
2286 It is an ongoing process to be certain the hardware in a machine
2287 is properly shutdown, so do not be surprised if this code does not
2288 initially work for you. It may help to enable device hotplugging
2289 support.
2290
Richard Purdie4cd9d6f2008-01-02 00:56:46 +01002291config ATAGS_PROC
2292 bool "Export atags in procfs"
Uli Luckasb98d7292008-02-22 16:45:18 +01002293 depends on KEXEC
2294 default y
Richard Purdie4cd9d6f2008-01-02 00:56:46 +01002295 help
2296 Should the atags used to boot the kernel be exported in an "atags"
2297 file in procfs. Useful with kexec.
2298
Mika Westerbergcb5d39b2010-11-18 19:14:52 +01002299config CRASH_DUMP
2300 bool "Build kdump crash kernel (EXPERIMENTAL)"
2301 depends on EXPERIMENTAL
2302 help
2303 Generate crash dump after being started by kexec. This should
2304 be normally only set in special crash dump kernels which are
2305 loaded in the main kernel with kexec-tools into a specially
2306 reserved region and then later executed after a crash by
2307 kdump/kexec. The crash dump kernel must be compiled to a
2308 memory address not used by the main kernel
2309
2310 For more details see Documentation/kdump/kdump.txt
2311
Eric Miaoe69edc792010-07-05 15:56:50 +02002312config AUTO_ZRELADDR
2313 bool "Auto calculation of the decompressed kernel image address"
2314 depends on !ZBOOT_ROM && !ARCH_U300
2315 help
2316 ZRELADDR is the physical address where the decompressed kernel
2317 image will be placed. If AUTO_ZRELADDR is selected, the address
2318 will be determined at run-time by masking the current IP with
2319 0xf8000000. This assumes the zImage being placed in the first 128MB
2320 from start of memory.
2321
Linus Torvalds1da177e2005-04-16 15:20:36 -07002322endmenu
2323
Russell Kingac9d7ef2008-08-18 17:26:00 +01002324menu "CPU Power Management"
Linus Torvalds1da177e2005-04-16 15:20:36 -07002325
Ben Dooks89c52ed2009-07-30 23:23:24 +01002326if ARCH_HAS_CPUFREQ
Linus Torvalds1da177e2005-04-16 15:20:36 -07002327
2328source "drivers/cpufreq/Kconfig"
2329
Yong Shen64f102b2010-10-21 21:18:59 +08002330config CPU_FREQ_IMX
2331 tristate "CPUfreq driver for i.MX CPUs"
2332 depends on ARCH_MXC && CPU_FREQ
Arnd Bergmann6bbd1652012-08-16 10:40:40 +00002333 select CPU_FREQ_TABLE
Yong Shen64f102b2010-10-21 21:18:59 +08002334 help
2335 This enables the CPUfreq driver for i.MX CPUs.
2336
Linus Torvalds1da177e2005-04-16 15:20:36 -07002337config CPU_FREQ_SA1100
2338 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002339
2340config CPU_FREQ_SA1110
2341 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002342
2343config CPU_FREQ_INTEGRATOR
2344 tristate "CPUfreq driver for ARM Integrator CPUs"
2345 depends on ARCH_INTEGRATOR && CPU_FREQ
2346 default y
2347 help
2348 This enables the CPUfreq driver for ARM Integrator CPUs.
2349
2350 For details, take a look at <file:Documentation/cpu-freq>.
2351
2352 If in doubt, say Y.
2353
Russell King9e2697f2007-12-14 13:30:14 +00002354config CPU_FREQ_PXA
2355 bool
2356 depends on CPU_FREQ && ARCH_PXA && PXA25x
2357 default y
Arnd Bergmannca7d1562011-10-01 22:03:51 +02002358 select CPU_FREQ_TABLE
Russell King9e2697f2007-12-14 13:30:14 +00002359 select CPU_FREQ_DEFAULT_GOV_USERSPACE
2360
Ben Dooks9d56c022009-07-30 23:23:25 +01002361config CPU_FREQ_S3C
2362 bool
2363 help
2364 Internal configuration node for common cpufreq on Samsung SoC
2365
2366config CPU_FREQ_S3C24XX
Russell King4a50bfe2010-12-05 23:06:22 +00002367 bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
Kukjin Kimb130d5c2012-02-03 14:29:23 +09002368 depends on ARCH_S3C24XX && CPU_FREQ && EXPERIMENTAL
Ben Dooks9d56c022009-07-30 23:23:25 +01002369 select CPU_FREQ_S3C
2370 help
2371 This enables the CPUfreq driver for the Samsung S3C24XX family
2372 of CPUs.
2373
2374 For details, take a look at <file:Documentation/cpu-freq>.
2375
2376 If in doubt, say N.
2377
2378config CPU_FREQ_S3C24XX_PLL
Russell King4a50bfe2010-12-05 23:06:22 +00002379 bool "Support CPUfreq changing of PLL frequency (EXPERIMENTAL)"
Ben Dooks9d56c022009-07-30 23:23:25 +01002380 depends on CPU_FREQ_S3C24XX && EXPERIMENTAL
2381 help
2382 Compile in support for changing the PLL frequency from the
2383 S3C24XX series CPUfreq driver. The PLL takes time to settle
2384 after a frequency change, so by default it is not enabled.
2385
2386 This also means that the PLL tables for the selected CPU(s) will
2387 be built which may increase the size of the kernel image.
2388
2389config CPU_FREQ_S3C24XX_DEBUG
2390 bool "Debug CPUfreq Samsung driver core"
2391 depends on CPU_FREQ_S3C24XX
2392 help
2393 Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
2394
2395config CPU_FREQ_S3C24XX_IODEBUG
2396 bool "Debug CPUfreq Samsung driver IO timing"
2397 depends on CPU_FREQ_S3C24XX
2398 help
2399 Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
2400
Ben Dookse6d197a2009-07-30 23:23:42 +01002401config CPU_FREQ_S3C24XX_DEBUGFS
2402 bool "Export debugfs for CPUFreq"
2403 depends on CPU_FREQ_S3C24XX && DEBUG_FS
2404 help
2405 Export status information via debugfs.
2406
Linus Torvalds1da177e2005-04-16 15:20:36 -07002407endif
2408
Russell Kingac9d7ef2008-08-18 17:26:00 +01002409source "drivers/cpuidle/Kconfig"
2410
2411endmenu
2412
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07002413config CPU_FREQ_MSM
2414 bool
2415 depends on CPU_FREQ && ARCH_MSM
2416 default y
2417 help
2418 This enables the CPUFreq driver for Qualcomm CPUs.
2419 If in doubt, say Y.
2420
Linus Torvalds1da177e2005-04-16 15:20:36 -07002421menu "Floating point emulation"
2422
2423comment "At least one emulation must be selected"
2424
2425config FPE_NWFPE
2426 bool "NWFPE math emulation"
Dave Martin593c2522010-12-13 21:56:03 +01002427 depends on (!AEABI || OABI_COMPAT) && !THUMB2_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07002428 ---help---
2429 Say Y to include the NWFPE floating point emulator in the kernel.
2430 This is necessary to run most binaries. Linux does not currently
2431 support floating point hardware so you need to say Y here even if
2432 your machine has an FPA or floating point co-processor podule.
2433
2434 You may say N here if you are going to load the Acorn FPEmulator
2435 early in the bootup.
2436
2437config FPE_NWFPE_XP
2438 bool "Support extended precision"
Lennert Buytenhekbedf1422005-11-07 21:12:08 +00002439 depends on FPE_NWFPE
Linus Torvalds1da177e2005-04-16 15:20:36 -07002440 help
2441 Say Y to include 80-bit support in the kernel floating-point
2442 emulator. Otherwise, only 32 and 64-bit support is compiled in.
2443 Note that gcc does not generate 80-bit operations by default,
2444 so in most cases this option only enlarges the size of the
2445 floating point emulator without any good reason.
2446
2447 You almost surely want to say N here.
2448
2449config FPE_FASTFPE
2450 bool "FastFPE math emulation (EXPERIMENTAL)"
Nicolas Pitre8993a442006-01-14 16:36:50 +00002451 depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL
Linus Torvalds1da177e2005-04-16 15:20:36 -07002452 ---help---
2453 Say Y here to include the FAST floating point emulator in the kernel.
2454 This is an experimental much faster emulator which now also has full
2455 precision for the mantissa. It does not support any exceptions.
2456 It is very simple, and approximately 3-6 times faster than NWFPE.
2457
2458 It should be sufficient for most programs. It may be not suitable
2459 for scientific calculations, but you have to check this for yourself.
2460 If you do not feel you need a faster FP emulation you should better
2461 choose NWFPE.
2462
2463config VFP
2464 bool "VFP-format floating point maths"
Russell Kinge399b1a2011-01-17 15:08:32 +00002465 depends on CPU_V6 || CPU_V6K || CPU_ARM926T || CPU_V7 || CPU_FEROCEON
Linus Torvalds1da177e2005-04-16 15:20:36 -07002466 help
2467 Say Y to include VFP support code in the kernel. This is needed
2468 if your hardware includes a VFP unit.
2469
2470 Please see <file:Documentation/arm/VFP/release-notes.txt> for
2471 release notes and additional status information.
2472
2473 Say N if your target does not have VFP hardware.
2474
Catalin Marinas25ebee02007-09-25 15:22:24 +01002475config VFPv3
2476 bool
2477 depends on VFP
2478 default y if CPU_V7
2479
Catalin Marinasb5872db2008-01-10 19:16:17 +01002480config NEON
2481 bool "Advanced SIMD (NEON) Extension support"
2482 depends on VFPv3 && CPU_V7
2483 help
2484 Say Y to include support code for NEON, the ARMv7 Advanced SIMD
2485 Extension.
2486
Ard Biesheuvel70142c52013-05-16 11:41:48 +02002487config KERNEL_MODE_NEON
2488 bool "Support for NEON in kernel mode"
2489 default n
2490 depends on NEON
2491 help
2492 Say Y to include support for NEON in kernel mode.
2493
Linus Torvalds1da177e2005-04-16 15:20:36 -07002494endmenu
2495
2496menu "Userspace binary formats"
2497
2498source "fs/Kconfig.binfmt"
2499
2500config ARTHUR
2501 tristate "RISC OS personality"
Nicolas Pitre704bdda2006-01-14 16:33:50 +00002502 depends on !AEABI
Linus Torvalds1da177e2005-04-16 15:20:36 -07002503 help
2504 Say Y here to include the kernel code necessary if you want to run
2505 Acorn RISC OS/Arthur binaries under Linux. This code is still very
2506 experimental; if this sounds frightening, say N and sleep in peace.
2507 You can also say M here to compile this support as a module (which
2508 will be called arthur).
2509
2510endmenu
2511
2512menu "Power management options"
2513
Russell Kingeceab4a2005-11-15 11:31:41 +00002514source "kernel/power/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -07002515
Johannes Bergf4cb5702007-12-08 02:14:00 +01002516config ARCH_SUSPEND_POSSIBLE
Steve Mucklef132c6c2012-06-06 18:30:57 -07002517 depends on !ARCH_S5PC100 && !ARCH_FSM9XXX
Russell King6a786182011-04-02 10:15:28 +01002518 depends on CPU_ARM920T || CPU_ARM926T || CPU_SA1100 || \
2519 CPU_V6 || CPU_V6K || CPU_V7 || CPU_XSC3 || CPU_XSCALE
Johannes Bergf4cb5702007-12-08 02:14:00 +01002520 def_bool y
2521
Arnd Bergmann15e0d9e2011-10-01 21:09:39 +02002522config ARM_CPU_SUSPEND
2523 def_bool PM_SLEEP
2524
Linus Torvalds1da177e2005-04-16 15:20:36 -07002525endmenu
2526
Sam Ravnborgd5950b42005-07-11 21:03:49 -07002527source "net/Kconfig"
2528
Uwe Kleine-Königac251502009-08-13 21:09:21 +02002529source "drivers/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -07002530
2531source "fs/Kconfig"
2532
Linus Torvalds1da177e2005-04-16 15:20:36 -07002533source "arch/arm/Kconfig.debug"
2534
2535source "security/Kconfig"
2536
2537source "crypto/Kconfig"
2538
2539source "lib/Kconfig"