blob: 58fc698457f7f4f8dc14411ace69e366e85bd14a [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001config ARM
2 bool
3 default y
David Woodhousee17c6d52008-06-17 12:19:34 +01004 select HAVE_AOUT
Russell King24056f52011-01-03 11:29:28 +00005 select HAVE_DMA_API_DEBUG
Arnd Bergmannd0ee9f42011-10-01 21:10:32 +02006 select HAVE_IDE if PCI || ISA || PCMCIA
Laura Abbott211b3902012-08-24 18:22:58 -07007 select HAVE_DMA_CONTIGUOUS if (CPU_V6 || CPU_V6K || CPU_V7)
Marek Szyprowskif6fe2822012-02-10 19:55:20 +01008 select HAVE_DMA_ATTRS
Russell King2778f622010-07-09 16:27:52 +01009 select HAVE_MEMBLOCK
Alessandro Zummo12b824f2006-03-27 01:16:35 -080010 select RTC_LIB
Ralf Baechle75e71532007-02-09 17:08:58 +000011 select SYS_SUPPORTS_APM_EMULATION
Russell Kinga41297a2011-01-17 15:48:33 +000012 select GENERIC_ATOMIC64 if (CPU_V6 || !CPU_32v6K || !AEABI)
Will Deaconfe166142010-04-30 11:37:51 +010013 select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
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
Jon Medhurst856bc352011-06-14 13:09:39 +010016 select HAVE_KPROBES if !XIP_KERNEL
Ananth N Mavinakayanahalli9edddaa2008-03-04 14:28:37 -080017 select HAVE_KRETPROBES if (HAVE_KPROBES)
Steven Rostedt606576c2008-10-06 19:06:12 -040018 select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)
Rabin Vincent80be7a72010-08-10 19:58:17 +010019 select HAVE_FTRACE_MCOUNT_RECORD if (!XIP_KERNEL)
20 select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL)
Rabin Vincent0e341af2010-11-06 23:03:53 +053021 select HAVE_FUNCTION_GRAPH_TRACER if (!THUMB2_KERNEL)
David Daneye39f5602012-01-10 15:10:21 -080022 select ARCH_BINFMT_ELF_RANDOMIZE_PIE
Dmitry Baryshkov1fe53262008-07-18 13:30:14 +040023 select HAVE_GENERIC_DMA_COHERENT
Albin Tonnerree7db7b42010-01-08 14:42:43 -080024 select HAVE_KERNEL_GZIP
25 select HAVE_KERNEL_LZO
Albin Tonnerre6e8699f2010-04-03 11:40:28 +010026 select HAVE_KERNEL_LZMA
Imre Kaloza7f464f2012-01-26 13:08:57 +010027 select HAVE_KERNEL_XZ
Peter Zijlstrae360adb2010-10-14 14:01:34 +080028 select HAVE_IRQ_WORK
Jamie Iles7ada1892010-02-02 20:24:58 +010029 select HAVE_PERF_EVENTS
30 select PERF_USE_VMALLOC
Will Deacone513f8b2010-06-25 12:24:53 +010031 select HAVE_REGS_AND_STACK_ACCESS_API
Jin Hong6df7af52012-09-10 09:37:25 -070032 select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7))
Rabin Vincented604532010-11-30 17:36:48 +010033 select HAVE_C_RECORDMCOUNT
Lennert Buytenheke2a93ec2010-11-29 10:06:57 +010034 select HAVE_GENERIC_HARDIRQS
Thomas Gleixner25a56622011-03-24 12:02:11 +010035 select GENERIC_IRQ_SHOW
Santosh Shilimkar1fb90262011-09-10 11:30:28 +053036 select CPU_PM if (SUSPEND || CPU_IDLE)
Michael S. Tsirkine5bfb722011-11-24 20:57:23 +020037 select GENERIC_PCI_IOMAP
Russell Kingfada8dc2012-03-27 10:44:23 +010038 select HAVE_BPF_JIT if NET
Linus Torvalds1da177e2005-04-16 15:20:36 -070039 help
40 The ARM series is a line of low-power-consumption RISC chip designs
Martin Michlmayrf6c89652006-02-08 21:09:07 +000041 licensed by ARM Ltd and targeted at embedded applications and
Linus Torvalds1da177e2005-04-16 15:20:36 -070042 handhelds such as the Compaq IPAQ. ARM-based PCs are no longer
Martin Michlmayrf6c89652006-02-08 21:09:07 +000043 manufactured, but legacy ARM-based PC hardware remains popular in
Linus Torvalds1da177e2005-04-16 15:20:36 -070044 Europe. There is an ARM Linux project with a web page at
45 <http://www.arm.linux.org.uk/>.
46
Russell King74facff2011-06-02 11:16:22 +010047config ARM_HAS_SG_CHAIN
48 bool
49
Marek Szyprowskibebe3ac2012-05-16 15:48:21 +020050config NEED_SG_DMA_LENGTH
51 bool
52
53config ARM_DMA_USE_IOMMU
54 select NEED_SG_DMA_LENGTH
55 select ARM_HAS_SG_CHAIN
56 bool
57
Russell King1a189b92008-04-13 21:41:55 +010058config HAVE_PWM
59 bool
60
Hans Ulli Kroll0b05da72010-12-02 12:32:15 +010061config MIGHT_HAVE_PCI
62 bool
63
Ralf Baechle75e71532007-02-09 17:08:58 +000064config SYS_SUPPORTS_APM_EMULATION
65 bool
66
David Brownell0a938b92007-03-05 00:30:18 -080067config GENERIC_GPIO
68 bool
David Brownell0a938b92007-03-05 00:30:18 -080069
John Stultz5cfc8ee2010-03-24 00:22:36 +000070config ARCH_USES_GETTIMEOFFSET
71 bool
72 default n
Kevin Hilman746140c2006-09-22 00:16:30 +010073
Kevin Hilman0567a0c2007-03-13 20:29:24 +010074config GENERIC_CLOCKEVENTS
75 bool
Kevin Hilman0567a0c2007-03-13 20:29:24 +010076
Catalin Marinasa8655e82008-02-04 17:30:57 +010077config GENERIC_CLOCKEVENTS_BROADCAST
78 bool
79 depends on GENERIC_CLOCKEVENTS
Russell King5388a6b2010-07-26 13:19:43 +010080 default y if SMP
Catalin Marinasa8655e82008-02-04 17:30:57 +010081
Rob Herringbf9dd362011-03-04 23:51:59 +010082config KTIME_SCALAR
83 bool
84 default y
85
Linus Walleijbc581772009-09-15 17:30:37 +010086config HAVE_TCM
87 bool
88 select GENERIC_ALLOCATOR
89
Russell Kinge119bff2010-01-10 17:23:29 +000090config HAVE_PROC_CPU
91 bool
92
Al Viro5ea81762007-02-11 15:41:31 +000093config NO_IOPORT
94 bool
Al Viro5ea81762007-02-11 15:41:31 +000095
Linus Torvalds1da177e2005-04-16 15:20:36 -070096config EISA
97 bool
98 ---help---
99 The Extended Industry Standard Architecture (EISA) bus was
100 developed as an open alternative to the IBM MicroChannel bus.
101
102 The EISA bus provided some of the features of the IBM MicroChannel
103 bus while maintaining backward compatibility with cards made for
104 the older ISA bus. The EISA bus saw limited use between 1988 and
105 1995 when it was made obsolete by the PCI bus.
106
107 Say Y here if you are building a kernel for an EISA-based machine.
108
109 Otherwise, say N.
110
111config SBUS
112 bool
113
114config MCA
115 bool
116 help
117 MicroChannel Architecture is found in some IBM PS/2 machines and
118 laptops. It is a bus system similar to PCI or ISA. See
119 <file:Documentation/mca.txt> (and especially the web page given
120 there) before attempting to build an MCA bus kernel.
121
Russell Kingf16fb1e2007-04-28 09:59:37 +0100122config STACKTRACE_SUPPORT
123 bool
124 default y
125
Nicolas Pitref76e9152008-04-24 01:31:46 -0400126config HAVE_LATENCYTOP_SUPPORT
127 bool
128 depends on !SMP
129 default y
130
Russell Kingf16fb1e2007-04-28 09:59:37 +0100131config LOCKDEP_SUPPORT
132 bool
133 default y
134
Russell King7ad1bcb2006-08-27 12:07:02 +0100135config TRACE_IRQFLAGS_SUPPORT
136 bool
137 default y
138
Thomas Gleixner4a2581a2006-07-01 22:30:09 +0100139config HARDIRQS_SW_RESEND
140 bool
141 default y
142
143config GENERIC_IRQ_PROBE
144 bool
145 default y
146
Nick Piggin95c354f2008-01-30 13:31:20 +0100147config GENERIC_LOCKBREAK
148 bool
Jeff Ohlstein8a9e3932012-03-07 19:24:13 -0800149 default y if !ARM_TICKET_LOCKS
Nick Piggin95c354f2008-01-30 13:31:20 +0100150 depends on SMP && PREEMPT
151
Brent DeGraaf8e7b8572011-09-21 16:21:31 -0400152config ARM_TICKET_LOCKS
153 bool
154 help
155 Enable ticket locks, which help preserve fairness among
156 contended locks and prevent livelock in multicore systems.
157 Say 'y' if system stability is important.
Jeff Ohlsteinb5a22eb2012-02-27 17:40:16 -0800158 default y if ARCH_MSM_SCORPIONMP || ARCH_MSM_KRAITMP
Brent DeGraaf8e7b8572011-09-21 16:21:31 -0400159 depends on SMP
160
Linus Torvalds1da177e2005-04-16 15:20:36 -0700161config RWSEM_GENERIC_SPINLOCK
162 bool
163 default y
164
165config RWSEM_XCHGADD_ALGORITHM
166 bool
167
David Howellsf0d1b0b2006-12-08 02:37:49 -0800168config ARCH_HAS_ILOG2_U32
169 bool
David Howellsf0d1b0b2006-12-08 02:37:49 -0800170
171config ARCH_HAS_ILOG2_U64
172 bool
David Howellsf0d1b0b2006-12-08 02:37:49 -0800173
Ben Dooks89c52ed2009-07-30 23:23:24 +0100174config ARCH_HAS_CPUFREQ
175 bool
176 help
177 Internal node to signify that the ARCH has CPUFREQ support
178 and that the relevant menu configurations are displayed for
179 it.
180
Kevin Hilmanc7b0aff2010-10-01 22:13:47 +0100181config ARCH_HAS_CPU_IDLE_WAIT
182 def_bool y
183
Akinobu Mitab89c3b12006-03-26 01:39:19 -0800184config GENERIC_HWEIGHT
185 bool
186 default y
187
Linus Torvalds1da177e2005-04-16 15:20:36 -0700188config GENERIC_CALIBRATE_DELAY
189 bool
190 default y
191
viro@ZenIV.linux.org.uka08b6b72005-09-06 01:48:42 +0100192config ARCH_MAY_HAVE_PC_FDC
193 bool
194
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800195config ZONE_DMA
196 bool
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800197
FUJITA Tomonoriccd7ab72010-03-10 15:23:23 -0800198config NEED_DMA_MAP_STATE
199 def_bool y
200
Rob Herring58af4a22012-03-20 14:33:01 -0500201config ARCH_HAS_DMA_SET_COHERENT_MASK
202 bool
203
Linus Torvalds1da177e2005-04-16 15:20:36 -0700204config GENERIC_ISA_DMA
205 bool
206
Linus Torvalds1da177e2005-04-16 15:20:36 -0700207config FIQ
208 bool
209
Rob Herring13a50452012-02-07 09:28:22 -0600210config NEED_RET_TO_USER
211 bool
212
Al Viro034d2f52005-12-19 16:27:59 -0500213config ARCH_MTD_XIP
214 bool
215
Laura Abbott0cd39aa2013-04-05 14:12:53 -0700216config ARCH_WANT_KMAP_ATOMIC_FLUSH
217 bool
218
Hyok S. Choic760fc12006-03-27 15:18:50 +0100219config VECTORS_BASE
220 hex
Hyok S. Choi6afd6fa2006-09-28 21:46:34 +0900221 default 0xffff0000 if MMU || CPU_HIGH_VECTOR
Hyok S. Choic760fc12006-03-27 15:18:50 +0100222 default DRAM_BASE if REMAP_VECTORS_TO_RAM
223 default 0x00000000
224 help
225 The base address of exception vectors.
226
Russell Kingdc21af92011-01-04 19:09:43 +0000227config ARM_PATCH_PHYS_VIRT
Russell Kingc1beced2011-08-10 10:23:45 +0100228 bool "Patch physical to virtual translations at runtime" if EMBEDDED
229 default y
Nicolas Pitreb511d752011-02-21 06:53:35 +0100230 depends on !XIP_KERNEL && MMU
Russell Kingdc21af92011-01-04 19:09:43 +0000231 depends on !ARCH_REALVIEW || !SPARSEMEM
232 help
Russell King111e9a52011-05-12 10:02:42 +0100233 Patch phys-to-virt and virt-to-phys translation functions at
234 boot and module load time according to the position of the
235 kernel in system memory.
Russell Kingdc21af92011-01-04 19:09:43 +0000236
Russell King111e9a52011-05-12 10:02:42 +0100237 This can only be used with non-XIP MMU kernels where the base
Nicolas Pitredaece592011-08-12 00:14:29 +0100238 of physical memory is at a 16MB boundary.
Russell Kingdc21af92011-01-04 19:09:43 +0000239
Russell Kingc1beced2011-08-10 10:23:45 +0100240 Only disable this option if you know that you do not require
241 this feature (eg, building a kernel for a single machine) and
242 you need to shrink the kernel to the minimal size.
243
Rob Herringc334bc12012-03-04 22:03:33 -0600244config NEED_MACH_IO_H
245 bool
246 help
247 Select this when mach/io.h is required to provide special
248 definitions for this platform. The need for mach/io.h should
249 be avoided when possible.
250
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400251config NEED_MACH_MEMORY_H
Nicolas Pitre1b9f95f2011-07-05 22:52:51 -0400252 bool
Russell King111e9a52011-05-12 10:02:42 +0100253 help
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400254 Select this when mach/memory.h is required to provide special
255 definitions for this platform. The need for mach/memory.h should
256 be avoided when possible.
Nicolas Pitre1b9f95f2011-07-05 22:52:51 -0400257
258config PHYS_OFFSET
Nicolas Pitre974c0722011-12-02 23:09:42 +0100259 hex "Physical address of main memory" if MMU
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400260 depends on !ARM_PATCH_PHYS_VIRT && !NEED_MACH_MEMORY_H
Nicolas Pitre974c0722011-12-02 23:09:42 +0100261 default DRAM_BASE if !MMU
Nicolas Pitre1b9f95f2011-07-05 22:52:51 -0400262 help
263 Please provide the physical address corresponding to the
264 location of main memory in your system.
Russell Kingcada3c02011-01-04 19:39:29 +0000265
Simon Glass87e040b2011-08-16 23:44:26 +0100266config GENERIC_BUG
267 def_bool y
268 depends on BUG
269
Greg Reid5d9616e2012-10-12 11:58:45 -0400270config GENERIC_TIME_VSYSCALL
271 bool "Enable gettimeofday updates"
272 depends on CPU_V7
273 help
274 Enables updating the kernel user helper area with the xtime struct
275 data for gettimeofday via kernel user helpers.
276
Greg Reidcf105492012-10-12 12:14:12 -0400277config ARM_USE_USER_ACCESSIBLE_TIMERS
278 bool "Enables mapping a timer counter page to user space"
279 depends on USE_USER_ACCESSIBLE_TIMERS && GENERIC_TIME_VSYSCALL
280 help
281 Enables ARM-specific user-accessible timers via a shared
282 memory page containing the cycle counter.
283
284config ARM_USER_ACCESSIBLE_TIMER_BASE
285 hex "Base address of user-accessible timer counter page"
286 default 0xfffef000
287 depends on ARM_USE_USER_ACCESSIBLE_TIMERS
288 help
289 Specify the base user-space virtual address where the user-accessible
290 timer counter page should be mapped by the kernel. User-space apps
291 will read directly from the page at this address.
292
Laura Abbott8c68a2a2013-08-09 16:45:33 -0700293config ARCH_RANDOM
294 bool "SOC specific random number generation"
295 help
296 Allow the kernel to use an architecture specific implementation for
297 random number generation
298
299 If unsure, say N
300
Linus Torvalds1da177e2005-04-16 15:20:36 -0700301source "init/Kconfig"
302
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700303source "kernel/Kconfig.freezer"
304
Linus Torvalds1da177e2005-04-16 15:20:36 -0700305menu "System Type"
306
Hyok S. Choi3c427972009-07-24 12:35:00 +0100307config MMU
308 bool "MMU-based Paged Memory Management Support"
309 default y
310 help
311 Select if you want MMU-based virtualised addressing space
312 support by paged memory management. If unsure, say 'Y'.
313
Russell Kingccf50e22010-03-15 19:03:06 +0000314#
315# The "ARM system type" choice list is ordered alphabetically by option
316# text. Please add new entries in the option alphabetic order.
317#
Linus Torvalds1da177e2005-04-16 15:20:36 -0700318choice
319 prompt "ARM system type"
Catalin Marinas6a0e2432006-03-07 14:42:27 +0000320 default ARCH_VERSATILE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700321
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100322config ARCH_INTEGRATOR
323 bool "ARM Ltd. Integrator family"
324 select ARM_AMBA
Ben Dooks89c52ed2009-07-30 23:23:24 +0100325 select ARCH_HAS_CPUFREQ
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100326 select CLKDEV_LOOKUP
Kyungmin Parkaa3831c2011-07-18 16:34:54 +0900327 select HAVE_MACH_CLKDEV
Linus Walleij9904f792011-12-09 10:29:23 +0100328 select HAVE_TCM
Russell Kingc5a0adb2010-01-16 20:16:10 +0000329 select ICST
Russell King13edd862010-01-15 21:49:23 +0000330 select GENERIC_CLOCKEVENTS
Russell Kingf4b8b312010-01-14 12:48:06 +0000331 select PLAT_VERSATILE
Russell Kingc41b16f2011-01-19 15:32:15 +0000332 select PLAT_VERSATILE_FPGA_IRQ
Rob Herringc334bc12012-03-04 22:03:33 -0600333 select NEED_MACH_IO_H
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400334 select NEED_MACH_MEMORY_H
Linus Walleij695436e2012-02-26 10:46:48 +0100335 select SPARSE_IRQ
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100336 help
337 Support for ARM's Integrator platform.
338
339config ARCH_REALVIEW
340 bool "ARM Ltd. RealView family"
341 select ARM_AMBA
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100342 select CLKDEV_LOOKUP
Kyungmin Parkaa3831c2011-07-18 16:34:54 +0900343 select HAVE_MACH_CLKDEV
Russell Kingc5a0adb2010-01-16 20:16:10 +0000344 select ICST
Catalin Marinasae30cea2008-02-04 17:26:55 +0100345 select GENERIC_CLOCKEVENTS
Russell Kingeb7fffa2009-07-05 22:41:31 +0100346 select ARCH_WANT_OPTIONAL_GPIOLIB
Russell Kingf4b8b312010-01-14 12:48:06 +0000347 select PLAT_VERSATILE
Russell King3cb5ee42011-01-18 20:13:20 +0000348 select PLAT_VERSATILE_CLCD
Russell Kinge3887712010-01-14 13:30:16 +0000349 select ARM_TIMER_SP804
Colin Tuckleyb56ba8a2010-02-24 15:23:10 +0100350 select GPIO_PL061 if GPIOLIB
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400351 select NEED_MACH_MEMORY_H
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100352 help
353 This enables support for ARM Ltd RealView boards.
354
355config ARCH_VERSATILE
356 bool "ARM Ltd. Versatile family"
357 select ARM_AMBA
358 select ARM_VIC
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100359 select CLKDEV_LOOKUP
Kyungmin Parkaa3831c2011-07-18 16:34:54 +0900360 select HAVE_MACH_CLKDEV
Russell Kingc5a0adb2010-01-16 20:16:10 +0000361 select ICST
Kevin Hilman89df1272007-03-08 20:30:38 +0100362 select GENERIC_CLOCKEVENTS
Russell Kingbbeddc42009-07-05 22:43:01 +0100363 select ARCH_WANT_OPTIONAL_GPIOLIB
Russell Kingf4b8b312010-01-14 12:48:06 +0000364 select PLAT_VERSATILE
Russell King3414ba82011-01-18 20:12:10 +0000365 select PLAT_VERSATILE_CLCD
Russell Kingc41b16f2011-01-19 15:32:15 +0000366 select PLAT_VERSATILE_FPGA_IRQ
Russell Kinge3887712010-01-14 13:30:16 +0000367 select ARM_TIMER_SP804
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100368 help
369 This enables support for ARM Ltd Versatile board.
370
Russell Kingceade892010-02-11 21:44:53 +0000371config ARCH_VEXPRESS
372 bool "ARM Ltd. Versatile Express family"
373 select ARCH_WANT_OPTIONAL_GPIOLIB
374 select ARM_AMBA
375 select ARM_TIMER_SP804
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100376 select CLKDEV_LOOKUP
Kyungmin Parkaa3831c2011-07-18 16:34:54 +0900377 select HAVE_MACH_CLKDEV
Russell Kingceade892010-02-11 21:44:53 +0000378 select GENERIC_CLOCKEVENTS
Russell Kingceade892010-02-11 21:44:53 +0000379 select HAVE_CLK
Nick Bowler95c34f82011-01-21 15:51:06 +0100380 select HAVE_PATA_PLATFORM
Russell Kingceade892010-02-11 21:44:53 +0000381 select ICST
Russell Kingba81f502012-02-15 11:55:22 +0000382 select NO_IOPORT
Russell Kingceade892010-02-11 21:44:53 +0000383 select PLAT_VERSATILE
Russell King0fb44b92011-01-18 20:13:51 +0000384 select PLAT_VERSATILE_CLCD
Russell Kingceade892010-02-11 21:44:53 +0000385 help
386 This enables support for the ARM Ltd Versatile Express boards.
387
Andrew Victor8fc5ffa2006-06-29 16:06:33 +0100388config ARCH_AT91
389 bool "Atmel AT91"
Ryan Mallonf373e8c2009-02-10 21:02:08 +0100390 select ARCH_REQUIRE_GPIOLIB
David Brownell93686ae2008-07-28 15:46:22 -0700391 select HAVE_CLK
Jean-Christophe PLAGNIOL-VILLARDbd602992011-02-02 07:27:07 +0100392 select CLKDEV_LOOKUP
Nicolas Ferree2615012011-11-22 22:26:09 +0100393 select IRQ_DOMAIN
Rob Herring1ac02d72012-04-04 17:48:04 -0500394 select NEED_MACH_IO_H if PCCARD
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100395 help
Andrew Victor2b3b3512008-01-24 15:10:39 +0100396 This enables support for systems based on the Atmel AT91RM9200,
Jean-Christophe PLAGNIOL-VILLARD9918cea2012-01-26 14:07:09 +0100397 AT91SAM9 processors.
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100398
Russell Kingccf50e22010-03-15 19:03:06 +0000399config ARCH_BCMRING
400 bool "Broadcom BCMRING"
401 depends on MMU
402 select CPU_V6
403 select ARM_AMBA
Russell King82d63732011-05-12 13:43:39 +0100404 select ARM_TIMER_SP804
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100405 select CLKDEV_LOOKUP
Russell Kingccf50e22010-03-15 19:03:06 +0000406 select GENERIC_CLOCKEVENTS
407 select ARCH_WANT_OPTIONAL_GPIOLIB
408 help
409 Support for Broadcom's BCMRing platform.
410
Rob Herring220e6cf2011-06-07 10:02:55 -0500411config ARCH_HIGHBANK
412 bool "Calxeda Highbank-based"
413 select ARCH_WANT_OPTIONAL_GPIOLIB
414 select ARM_AMBA
415 select ARM_GIC
416 select ARM_TIMER_SP804
Dave Martin22d80372011-12-12 16:17:34 +0000417 select CACHE_L2X0
Rob Herring220e6cf2011-06-07 10:02:55 -0500418 select CLKDEV_LOOKUP
419 select CPU_V7
420 select GENERIC_CLOCKEVENTS
421 select HAVE_ARM_SCU
Dave Martin3b556582011-12-07 15:38:04 +0000422 select HAVE_SMP
Rob Herringfdfa64a2012-01-03 14:44:31 -0600423 select SPARSE_IRQ
Rob Herring220e6cf2011-06-07 10:02:55 -0500424 select USE_OF
425 help
426 Support for the Calxeda Highbank SoC based boards.
427
Linus Torvalds1da177e2005-04-16 15:20:36 -0700428config ARCH_CLPS711X
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100429 bool "Cirrus Logic CLPS711x/EP721x-based"
Russell Kingc7508152008-10-26 10:55:14 +0000430 select CPU_ARM720T
John Stultz5cfc8ee2010-03-24 00:22:36 +0000431 select ARCH_USES_GETTIMEOFFSET
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400432 select NEED_MACH_MEMORY_H
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000433 help
434 Support for Cirrus Logic 711x/721x based boards.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700435
Anton Vorontsovd94f9442010-03-25 17:12:41 +0300436config ARCH_CNS3XXX
437 bool "Cavium Networks CNS3XXX family"
Imre Kaloz00d27112011-07-07 12:19:09 +0200438 select CPU_V6K
Anton Vorontsovd94f9442010-03-25 17:12:41 +0300439 select GENERIC_CLOCKEVENTS
440 select ARM_GIC
Dave Martince5ea9f2011-11-29 15:56:19 +0000441 select MIGHT_HAVE_CACHE_L2X0
Hans Ulli Kroll0b05da72010-12-02 12:32:15 +0100442 select MIGHT_HAVE_PCI
Anton Vorontsov5f32f7a2010-05-28 13:10:52 +0400443 select PCI_DOMAINS if PCI
Anton Vorontsovd94f9442010-03-25 17:12:41 +0300444 help
445 Support for Cavium Networks CNS3XXX platform.
446
Russell King788c9702009-04-26 14:21:59 +0100447config ARCH_GEMINI
448 bool "Cortina Systems Gemini"
449 select CPU_FA526
Russell King788c9702009-04-26 14:21:59 +0100450 select ARCH_REQUIRE_GPIOLIB
John Stultz5cfc8ee2010-03-24 00:22:36 +0000451 select ARCH_USES_GETTIMEOFFSET
Russell King788c9702009-04-26 14:21:59 +0100452 help
453 Support for the Cortina Systems Gemini family SoCs
454
Arnd Bergmann3a6cb8c2011-07-17 21:43:26 +0200455config ARCH_PRIMA2
456 bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform"
457 select CPU_V7
Arnd Bergmann3a6cb8c2011-07-17 21:43:26 +0200458 select NO_IOPORT
459 select GENERIC_CLOCKEVENTS
460 select CLKDEV_LOOKUP
461 select GENERIC_IRQ_CHIP
Dave Martince5ea9f2011-11-29 15:56:19 +0000462 select MIGHT_HAVE_CACHE_L2X0
Arnd Bergmann3a6cb8c2011-07-17 21:43:26 +0200463 select USE_OF
464 select ZONE_DMA
465 help
466 Support for CSR SiRFSoC ARM Cortex A9 Platform
467
Linus Torvalds1da177e2005-04-16 15:20:36 -0700468config ARCH_EBSA110
469 bool "EBSA-110"
Russell Kingc7508152008-10-26 10:55:14 +0000470 select CPU_SA110
Russell Kingf7e68bb2005-05-05 14:49:01 +0100471 select ISA
Russell Kingc5eb2a22007-03-03 11:54:19 +0000472 select NO_IOPORT
John Stultz5cfc8ee2010-03-24 00:22:36 +0000473 select ARCH_USES_GETTIMEOFFSET
Rob Herringc334bc12012-03-04 22:03:33 -0600474 select NEED_MACH_IO_H
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400475 select NEED_MACH_MEMORY_H
Linus Torvalds1da177e2005-04-16 15:20:36 -0700476 help
477 This is an evaluation board for the StrongARM processor available
Martin Michlmayrf6c89652006-02-08 21:09:07 +0000478 from Digital. It has limited hardware on-board, including an
Linus Torvalds1da177e2005-04-16 15:20:36 -0700479 Ethernet interface, two PCMCIA sockets, two serial ports and a
480 parallel port.
481
Lennert Buytenheke7736d42006-03-20 17:10:13 +0000482config ARCH_EP93XX
483 bool "EP93xx-based"
Russell Kingc7508152008-10-26 10:55:14 +0000484 select CPU_ARM920T
Lennert Buytenheke7736d42006-03-20 17:10:13 +0000485 select ARM_AMBA
486 select ARM_VIC
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100487 select CLKDEV_LOOKUP
Michael Buesch7444a722008-07-25 01:46:11 -0700488 select ARCH_REQUIRE_GPIOLIB
Mel Gormaneb335752009-05-13 17:34:48 +0100489 select ARCH_HAS_HOLES_MEMORYMODEL
John Stultz5cfc8ee2010-03-24 00:22:36 +0000490 select ARCH_USES_GETTIMEOFFSET
Arnd Bergmann5725aea2011-10-31 23:11:46 +0100491 select NEED_MACH_MEMORY_H
Lennert Buytenheke7736d42006-03-20 17:10:13 +0000492 help
493 This enables support for the Cirrus EP93xx series of CPUs.
494
Linus Torvalds1da177e2005-04-16 15:20:36 -0700495config ARCH_FOOTBRIDGE
496 bool "FootBridge"
Russell Kingc7508152008-10-26 10:55:14 +0000497 select CPU_SA110
Linus Torvalds1da177e2005-04-16 15:20:36 -0700498 select FOOTBRIDGE
Russell King4e8d7632011-01-28 21:00:39 +0000499 select GENERIC_CLOCKEVENTS
Arnd Bergmannd0ee9f42011-10-01 21:10:32 +0200500 select HAVE_IDE
Rob Herringc334bc12012-03-04 22:03:33 -0600501 select NEED_MACH_IO_H
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400502 select NEED_MACH_MEMORY_H
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000503 help
504 Support for systems based on the DC21285 companion chip
505 ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700506
Russell King788c9702009-04-26 14:21:59 +0100507config ARCH_MXC
508 bool "Freescale MXC/iMX-based"
Russell King788c9702009-04-26 14:21:59 +0100509 select GENERIC_CLOCKEVENTS
Russell King788c9702009-04-26 14:21:59 +0100510 select ARCH_REQUIRE_GPIOLIB
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100511 select CLKDEV_LOOKUP
Russell King234b6ce2011-05-08 14:09:47 +0100512 select CLKSRC_MMIO
Shawn Guo8b6c44f2011-06-07 13:59:14 +0800513 select GENERIC_IRQ_CHIP
Sascha Hauerffa2ea32011-09-20 14:31:24 +0200514 select MULTI_IRQ_HANDLER
Russell King788c9702009-04-26 14:21:59 +0100515 help
516 Support for Freescale MXC/iMX-based family of processors
517
Shawn Guo1d3f33d2010-12-13 20:55:03 +0800518config ARCH_MXS
519 bool "Freescale MXS-based"
520 select GENERIC_CLOCKEVENTS
521 select ARCH_REQUIRE_GPIOLIB
Sascha Hauerb9214b92011-01-13 16:59:25 +0100522 select CLKDEV_LOOKUP
Russell King5c61ddc2011-05-08 17:21:49 +0100523 select CLKSRC_MMIO
Shawn Guo6abda3e2011-12-20 16:12:34 +0800524 select HAVE_CLK_PREPARE
Shawn Guo1d3f33d2010-12-13 20:55:03 +0800525 help
526 Support for Freescale MXS-based family of processors
527
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100528config ARCH_NETX
529 bool "Hilscher NetX based"
Russell King234b6ce2011-05-08 14:09:47 +0100530 select CLKSRC_MMIO
Russell Kingc7508152008-10-26 10:55:14 +0000531 select CPU_ARM926T
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100532 select ARM_VIC
Uwe Kleine-König2fcfe6b2008-12-09 21:57:24 +0100533 select GENERIC_CLOCKEVENTS
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000534 help
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100535 This enables support for systems based on the Hilscher NetX Soc
536
537config ARCH_H720X
538 bool "Hynix HMS720x-based"
Russell Kingc7508152008-10-26 10:55:14 +0000539 select CPU_ARM720T
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100540 select ISA_DMA_API
John Stultz5cfc8ee2010-03-24 00:22:36 +0000541 select ARCH_USES_GETTIMEOFFSET
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100542 help
543 This enables support for systems based on the Hynix HMS720x
544
Russell King3b938be2007-05-12 11:25:44 +0100545config ARCH_IOP13XX
546 bool "IOP13xx-based"
547 depends on MMU
Russell Kingc7508152008-10-26 10:55:14 +0000548 select CPU_XSC3
Russell King3b938be2007-05-12 11:25:44 +0100549 select PLAT_IOP
550 select PCI
551 select ARCH_SUPPORTS_MSI
Lennert Buytenhek8d5796d2008-08-25 21:03:32 +0100552 select VMSPLIT_1G
Rob Herringc334bc12012-03-04 22:03:33 -0600553 select NEED_MACH_IO_H
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400554 select NEED_MACH_MEMORY_H
Rob Herring13a50452012-02-07 09:28:22 -0600555 select NEED_RET_TO_USER
Russell King3b938be2007-05-12 11:25:44 +0100556 help
557 Support for Intel's IOP13XX (XScale) family of processors.
558
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +0100559config ARCH_IOP32X
560 bool "IOP32x-based"
Russell Kinga4f7e762006-06-28 12:52:41 +0100561 depends on MMU
Russell Kingc7508152008-10-26 10:55:14 +0000562 select CPU_XSCALE
Rob Herringc334bc12012-03-04 22:03:33 -0600563 select NEED_MACH_IO_H
Rob Herring13a50452012-02-07 09:28:22 -0600564 select NEED_RET_TO_USER
Lennert Buytenhek7ae1f7e2006-09-18 23:12:53 +0100565 select PLAT_IOP
Russell Kingf7e68bb2005-05-05 14:49:01 +0100566 select PCI
Russell Kingbb2b1802008-07-26 15:36:03 +0100567 select ARCH_REQUIRE_GPIOLIB
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000568 help
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +0100569 Support for Intel's 80219 and IOP32X (XScale) family of
570 processors.
571
572config ARCH_IOP33X
573 bool "IOP33x-based"
574 depends on MMU
Russell Kingc7508152008-10-26 10:55:14 +0000575 select CPU_XSCALE
Rob Herringc334bc12012-03-04 22:03:33 -0600576 select NEED_MACH_IO_H
Rob Herring13a50452012-02-07 09:28:22 -0600577 select NEED_RET_TO_USER
Lennert Buytenhek7ae1f7e2006-09-18 23:12:53 +0100578 select PLAT_IOP
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +0100579 select PCI
Russell Kingbb2b1802008-07-26 15:36:03 +0100580 select ARCH_REQUIRE_GPIOLIB
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +0100581 help
582 Support for Intel's IOP33X (XScale) family of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700583
Russell King3b938be2007-05-12 11:25:44 +0100584config ARCH_IXP23XX
585 bool "IXP23XX-based"
Dan Williams588ef762007-02-13 17:12:04 +0100586 depends on MMU
Russell Kingc7508152008-10-26 10:55:14 +0000587 select CPU_XSC3
Russell King3b938be2007-05-12 11:25:44 +0100588 select PCI
John Stultz5cfc8ee2010-03-24 00:22:36 +0000589 select ARCH_USES_GETTIMEOFFSET
Rob Herringc334bc12012-03-04 22:03:33 -0600590 select NEED_MACH_IO_H
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400591 select NEED_MACH_MEMORY_H
Dan Williams285f5fa2006-12-07 02:59:39 +0100592 help
Russell King3b938be2007-05-12 11:25:44 +0100593 Support for Intel's IXP23xx (XScale) family of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700594
595config ARCH_IXP2000
596 bool "IXP2400/2800-based"
Russell Kinga4f7e762006-06-28 12:52:41 +0100597 depends on MMU
Russell Kingc7508152008-10-26 10:55:14 +0000598 select CPU_XSCALE
Russell Kingf7e68bb2005-05-05 14:49:01 +0100599 select PCI
John Stultz5cfc8ee2010-03-24 00:22:36 +0000600 select ARCH_USES_GETTIMEOFFSET
Rob Herringc334bc12012-03-04 22:03:33 -0600601 select NEED_MACH_IO_H
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400602 select NEED_MACH_MEMORY_H
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000603 help
604 Support for Intel's IXP2400/2800 (XScale) family of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700605
Russell King3b938be2007-05-12 11:25:44 +0100606config ARCH_IXP4XX
607 bool "IXP4xx-based"
Russell Kinga4f7e762006-06-28 12:52:41 +0100608 depends on MMU
Rob Herring58af4a22012-03-20 14:33:01 -0500609 select ARCH_HAS_DMA_SET_COHERENT_MASK
Russell King234b6ce2011-05-08 14:09:47 +0100610 select CLKSRC_MMIO
Russell Kingc7508152008-10-26 10:55:14 +0000611 select CPU_XSCALE
Milan Svoboda8858e9a2007-05-14 07:50:42 +0100612 select GENERIC_GPIO
Russell King3b938be2007-05-12 11:25:44 +0100613 select GENERIC_CLOCKEVENTS
Hans Ulli Kroll0b05da72010-12-02 12:32:15 +0100614 select MIGHT_HAVE_PCI
Rob Herringc334bc12012-03-04 22:03:33 -0600615 select NEED_MACH_IO_H
Russell King485bdde2008-10-17 14:00:43 +0100616 select DMABOUNCE if PCI
Lennert Buytenhekc4713072006-03-28 21:18:54 +0100617 help
Russell King3b938be2007-05-12 11:25:44 +0100618 Support for Intel's IXP4XX (XScale) family of processors.
Lennert Buytenhekc4713072006-03-28 21:18:54 +0100619
Saeed Bisharaedabd382009-08-06 15:12:43 +0300620config ARCH_DOVE
621 bool "Marvell Dove"
Konstantin Porotchkin7b769bb2011-04-07 13:49:41 +0300622 select CPU_V7
Saeed Bisharaedabd382009-08-06 15:12:43 +0300623 select PCI
Saeed Bisharaedabd382009-08-06 15:12:43 +0300624 select ARCH_REQUIRE_GPIOLIB
Saeed Bisharaedabd382009-08-06 15:12:43 +0300625 select GENERIC_CLOCKEVENTS
Rob Herringc334bc12012-03-04 22:03:33 -0600626 select NEED_MACH_IO_H
Saeed Bisharaedabd382009-08-06 15:12:43 +0300627 select PLAT_ORION
628 help
629 Support for the Marvell Dove SoC 88AP510
630
Saeed Bishara651c74c2008-06-22 22:45:06 +0200631config ARCH_KIRKWOOD
632 bool "Marvell Kirkwood"
Russell Kingc7508152008-10-26 10:55:14 +0000633 select CPU_FEROCEON
Saeed Bishara651c74c2008-06-22 22:45:06 +0200634 select PCI
Erik Benadaa8865652009-05-28 17:08:55 -0700635 select ARCH_REQUIRE_GPIOLIB
Saeed Bishara651c74c2008-06-22 22:45:06 +0200636 select GENERIC_CLOCKEVENTS
Rob Herringc334bc12012-03-04 22:03:33 -0600637 select NEED_MACH_IO_H
Saeed Bishara651c74c2008-06-22 22:45:06 +0200638 select PLAT_ORION
639 help
640 Support for the following Marvell Kirkwood series SoCs:
641 88F6180, 88F6192 and 88F6281.
642
Kevin Wells40805942010-07-27 08:49:04 -0700643config ARCH_LPC32XX
644 bool "NXP LPC32XX"
Russell King234b6ce2011-05-08 14:09:47 +0100645 select CLKSRC_MMIO
Kevin Wells40805942010-07-27 08:49:04 -0700646 select CPU_ARM926T
647 select ARCH_REQUIRE_GPIOLIB
648 select HAVE_IDE
649 select ARM_AMBA
650 select USB_ARCH_HAS_OHCI
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100651 select CLKDEV_LOOKUP
Kevin Wells40805942010-07-27 08:49:04 -0700652 select GENERIC_CLOCKEVENTS
653 help
654 Support for the NXP LPC32XX family of processors
655
Russell King788c9702009-04-26 14:21:59 +0100656config ARCH_MV78XX0
657 bool "Marvell MV78xx0"
658 select CPU_FEROCEON
659 select PCI
Erik Benadaa8865652009-05-28 17:08:55 -0700660 select ARCH_REQUIRE_GPIOLIB
Russell King788c9702009-04-26 14:21:59 +0100661 select GENERIC_CLOCKEVENTS
Rob Herringc334bc12012-03-04 22:03:33 -0600662 select NEED_MACH_IO_H
Russell King788c9702009-04-26 14:21:59 +0100663 select PLAT_ORION
664 help
665 Support for the following Marvell MV78xx0 series SoCs:
666 MV781x0, MV782x0.
667
668config ARCH_ORION5X
669 bool "Marvell Orion"
670 depends on MMU
671 select CPU_FEROCEON
672 select PCI
Erik Benadaa8865652009-05-28 17:08:55 -0700673 select ARCH_REQUIRE_GPIOLIB
Russell King788c9702009-04-26 14:21:59 +0100674 select GENERIC_CLOCKEVENTS
675 select PLAT_ORION
676 help
677 Support for the following Marvell Orion 5x series SoCs:
678 Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
679 Orion-2 (5281), Orion-1-90 (6183).
680
681config ARCH_MMP
Haojian Zhuang2f7e8fa2009-12-04 09:41:28 -0500682 bool "Marvell PXA168/910/MMP2"
Russell King788c9702009-04-26 14:21:59 +0100683 depends on MMU
Russell King788c9702009-04-26 14:21:59 +0100684 select ARCH_REQUIRE_GPIOLIB
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100685 select CLKDEV_LOOKUP
Russell King788c9702009-04-26 14:21:59 +0100686 select GENERIC_CLOCKEVENTS
Haojian Zhuang157d2642011-10-17 20:37:52 +0800687 select GPIO_PXA
Russell King788c9702009-04-26 14:21:59 +0100688 select TICK_ONESHOT
689 select PLAT_PXA
Haojian Zhuang0bd86962010-09-08 09:42:42 -0400690 select SPARSE_IRQ
Leo Yan3c7241b2011-08-15 11:09:52 +0800691 select GENERIC_ALLOCATOR
Russell King788c9702009-04-26 14:21:59 +0100692 help
Haojian Zhuang2f7e8fa2009-12-04 09:41:28 -0500693 Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
Russell King788c9702009-04-26 14:21:59 +0100694
Andrew Victorc53c9cf2007-05-11 21:01:28 +0100695config ARCH_KS8695
696 bool "Micrel/Kendin KS8695"
Russell Kingc7508152008-10-26 10:55:14 +0000697 select CPU_ARM922T
Hartley Sweeten98830bc2010-05-17 17:18:10 +0100698 select ARCH_REQUIRE_GPIOLIB
John Stultz5cfc8ee2010-03-24 00:22:36 +0000699 select ARCH_USES_GETTIMEOFFSET
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400700 select NEED_MACH_MEMORY_H
Andrew Victorc53c9cf2007-05-11 21:01:28 +0100701 help
702 Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
703 System-on-Chip devices.
704
Russell King788c9702009-04-26 14:21:59 +0100705config ARCH_W90X900
706 bool "Nuvoton W90X900 CPU"
707 select CPU_ARM926T
wanzongshunc52d3d62009-06-10 15:49:32 +0100708 select ARCH_REQUIRE_GPIOLIB
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100709 select CLKDEV_LOOKUP
Russell King6fa5d5f2011-05-08 15:34:39 +0100710 select CLKSRC_MMIO
wanzongshun58b53692009-08-14 15:36:44 +0100711 select GENERIC_CLOCKEVENTS
Lennert Buytenhek777f9be2008-06-22 22:45:02 +0200712 help
wanzongshuna8bc4ea2009-08-14 15:38:29 +0100713 Support for Nuvoton (Winbond logic dept.) ARM9 processor,
714 At present, the w90x900 has been renamed nuc900, regarding
715 the ARM series product line, you can login the following
716 link address to know more.
717
718 <http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/
719 ConsumerElectronicsIC/ARMMicrocontroller/ARMMicrocontroller>
Tzachi Perelstein585cf172007-10-23 15:14:41 -0400720
Erik Gillingc5f80062010-01-21 16:53:02 -0800721config ARCH_TEGRA
722 bool "NVIDIA Tegra"
Russell King40737232011-01-06 22:32:52 +0000723 select CLKDEV_LOOKUP
Russell King234b6ce2011-05-08 14:09:47 +0100724 select CLKSRC_MMIO
Erik Gillingc5f80062010-01-21 16:53:02 -0800725 select GENERIC_CLOCKEVENTS
726 select GENERIC_GPIO
727 select HAVE_CLK
Dave Martin3b556582011-12-07 15:38:04 +0000728 select HAVE_SMP
Dave Martince5ea9f2011-11-29 15:56:19 +0000729 select MIGHT_HAVE_CACHE_L2X0
Rob Herringc334bc12012-03-04 22:03:33 -0600730 select NEED_MACH_IO_H if PCI
Colin Cross7056d422010-04-22 20:30:13 -0700731 select ARCH_HAS_CPUFREQ
Erik Gillingc5f80062010-01-21 16:53:02 -0800732 help
733 This enables support for NVIDIA Tegra based systems (Tegra APX,
734 Tegra 6xx and Tegra 2 series).
735
Jamie Ilesaf756552011-07-25 17:36:42 +0100736config ARCH_PICOXCELL
737 bool "Picochip picoXcell"
738 select ARCH_REQUIRE_GPIOLIB
739 select ARM_PATCH_PHYS_VIRT
740 select ARM_VIC
741 select CPU_V6K
742 select DW_APB_TIMER
743 select GENERIC_CLOCKEVENTS
744 select GENERIC_GPIO
Jamie Ilesaf756552011-07-25 17:36:42 +0100745 select HAVE_TCM
746 select NO_IOPORT
Jamie Iles98e27a52011-12-12 20:17:37 +0000747 select SPARSE_IRQ
Jamie Ilesaf756552011-07-25 17:36:42 +0100748 select USE_OF
749 help
750 This enables support for systems based on the Picochip picoXcell
751 family of Femtocell devices. The picoxcell support requires device tree
752 for all boards.
753
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100754config ARCH_PNX4008
755 bool "Philips Nexperia PNX4008 Mobile"
Russell Kingc7508152008-10-26 10:55:14 +0000756 select CPU_ARM926T
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100757 select CLKDEV_LOOKUP
John Stultz5cfc8ee2010-03-24 00:22:36 +0000758 select ARCH_USES_GETTIMEOFFSET
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100759 help
760 This enables support for Philips PNX4008 mobile platform.
761
Linus Torvalds1da177e2005-04-16 15:20:36 -0700762config ARCH_PXA
eric miao2c8086a2007-09-11 19:13:17 -0700763 bool "PXA2xx/PXA3xx-based"
Russell Kinga4f7e762006-06-28 12:52:41 +0100764 depends on MMU
Al Viro034d2f52005-12-19 16:27:59 -0500765 select ARCH_MTD_XIP
Ben Dooks89c52ed2009-07-30 23:23:24 +0100766 select ARCH_HAS_CPUFREQ
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100767 select CLKDEV_LOOKUP
Russell King234b6ce2011-05-08 14:09:47 +0100768 select CLKSRC_MMIO
Michael Buesch7444a722008-07-25 01:46:11 -0700769 select ARCH_REQUIRE_GPIOLIB
Eric Miao981d0f32007-07-24 01:22:43 +0100770 select GENERIC_CLOCKEVENTS
Haojian Zhuang157d2642011-10-17 20:37:52 +0800771 select GPIO_PXA
Russell Kinga88264c2007-11-12 22:45:16 +0000772 select TICK_ONESHOT
Eric Miaobd5ce432009-01-20 12:06:01 +0800773 select PLAT_PXA
Haojian Zhuang6ac6b812010-08-20 15:23:59 +0800774 select SPARSE_IRQ
Eric Miao4e234cc2011-04-04 15:06:33 +0800775 select AUTO_ZRELADDR
Eric Miao8a97ae22011-05-18 21:30:04 +0800776 select MULTI_IRQ_HANDLER
Arnd Bergmann15e0d9e2011-10-01 21:09:39 +0200777 select ARM_CPU_SUSPEND if PM
Arnd Bergmannd0ee9f42011-10-01 21:10:32 +0200778 select HAVE_IDE
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000779 help
eric miao2c8086a2007-09-11 19:13:17 -0700780 Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700781
Russell King788c9702009-04-26 14:21:59 +0100782config ARCH_MSM
783 bool "Qualcomm MSM"
Steve Muckle4b536b82008-12-29 16:17:22 -0500784 select HAVE_CLK
Eric Miao49cbe782009-01-20 14:15:18 +0800785 select GENERIC_CLOCKEVENTS
Pavel Machek923a0812010-06-02 11:11:12 -0700786 select ARCH_REQUIRE_GPIOLIB
Stephen Boydbd323442011-02-23 09:37:42 -0800787 select CLKDEV_LOOKUP
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700788 select ARCH_HAS_CPUFREQ
789 select GENERIC_GPIO
790 select GENERIC_TIME
791 select GENERIC_ALLOCATOR
Jeff Ohlstein4e93ae12011-09-26 18:22:26 -0700792 select HAVE_SCHED_CLOCK
Stephen Boyd3bbf3462012-01-12 00:19:23 -0800793 select HAVE_CLK_PREPARE
Steve Mucklef132c6c2012-06-06 18:30:57 -0700794 select NEED_MACH_MEMORY_H
795 select NEED_MACH_IO_H
Abhimanyu Kapur440cdde2012-12-04 00:05:40 -0800796 select SOC_BUS
Eric Miao49cbe782009-01-20 14:15:18 +0800797 help
Daniel Walker4b53eb42010-01-01 15:11:43 -0800798 Support for Qualcomm MSM/QSD based systems. This runs on the
799 apps processor of the MSM/QSD and depends on a shared memory
800 interface to the modem processor which runs the baseband
801 stack and controls some vital subsystems
802 (clock and power control, etc).
Eric Miao49cbe782009-01-20 14:15:18 +0800803
Magnus Dammc793c1b2010-02-05 11:14:49 +0000804config ARCH_SHMOBILE
Paul Mundt6d72ad32010-11-16 16:10:20 +0900805 bool "Renesas SH-Mobile / R-Mobile"
806 select HAVE_CLK
Paul Mundt5e93c6b2011-01-07 10:29:26 +0900807 select CLKDEV_LOOKUP
Kyungmin Parkaa3831c2011-07-18 16:34:54 +0900808 select HAVE_MACH_CLKDEV
Dave Martin3b556582011-12-07 15:38:04 +0000809 select HAVE_SMP
Paul Mundt6d72ad32010-11-16 16:10:20 +0900810 select GENERIC_CLOCKEVENTS
Dave Martince5ea9f2011-11-29 15:56:19 +0000811 select MIGHT_HAVE_CACHE_L2X0
Paul Mundt6d72ad32010-11-16 16:10:20 +0900812 select NO_IOPORT
813 select SPARSE_IRQ
Magnus Damm60f14352010-12-28 08:26:52 +0000814 select MULTI_IRQ_HANDLER
Rafael J. Wysockie3e01092011-07-01 22:13:56 +0200815 select PM_GENERIC_DOMAINS if PM
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400816 select NEED_MACH_MEMORY_H
Magnus Dammc793c1b2010-02-05 11:14:49 +0000817 help
Paul Mundt6d72ad32010-11-16 16:10:20 +0900818 Support for Renesas's SH-Mobile and R-Mobile ARM platforms.
Magnus Dammc793c1b2010-02-05 11:14:49 +0000819
Linus Torvalds1da177e2005-04-16 15:20:36 -0700820config ARCH_RPC
821 bool "RiscPC"
822 select ARCH_ACORN
823 select FIQ
viro@ZenIV.linux.org.uka08b6b72005-09-06 01:48:42 +0100824 select ARCH_MAY_HAVE_PC_FDC
Ben Dooks341eb782008-07-01 14:16:49 +0100825 select HAVE_PATA_PLATFORM
Russell King065909b2006-01-04 15:44:16 +0000826 select ISA_DMA_API
Al Viro5ea81762007-02-11 15:41:31 +0000827 select NO_IOPORT
Russell King07f841b2008-10-01 17:11:06 +0100828 select ARCH_SPARSEMEM_ENABLE
John Stultz5cfc8ee2010-03-24 00:22:36 +0000829 select ARCH_USES_GETTIMEOFFSET
Arnd Bergmannd0ee9f42011-10-01 21:10:32 +0200830 select HAVE_IDE
Rob Herringc334bc12012-03-04 22:03:33 -0600831 select NEED_MACH_IO_H
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400832 select NEED_MACH_MEMORY_H
Linus Torvalds1da177e2005-04-16 15:20:36 -0700833 help
834 On the Acorn Risc-PC, Linux can support the internal IDE disk and
835 CD-ROM interface, serial and parallel port, and the floppy drive.
836
837config ARCH_SA1100
838 bool "SA1100-based"
Russell King234b6ce2011-05-08 14:09:47 +0100839 select CLKSRC_MMIO
Russell Kingc7508152008-10-26 10:55:14 +0000840 select CPU_SA1100
Russell Kingf7e68bb2005-05-05 14:49:01 +0100841 select ISA
Russell King05944d72006-11-30 20:43:51 +0000842 select ARCH_SPARSEMEM_ENABLE
Al Viro034d2f52005-12-19 16:27:59 -0500843 select ARCH_MTD_XIP
Ben Dooks89c52ed2009-07-30 23:23:24 +0100844 select ARCH_HAS_CPUFREQ
Russell King1937f5b2009-12-12 16:20:57 +0000845 select CPU_FREQ
Russell King3e238be2008-04-14 23:03:10 +0100846 select GENERIC_CLOCKEVENTS
Jett.Zhou4a8f8342011-11-30 14:32:36 +0800847 select CLKDEV_LOOKUP
Russell King3e238be2008-04-14 23:03:10 +0100848 select TICK_ONESHOT
Michael Buesch7444a722008-07-25 01:46:11 -0700849 select ARCH_REQUIRE_GPIOLIB
Arnd Bergmannd0ee9f42011-10-01 21:10:32 +0200850 select HAVE_IDE
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400851 select NEED_MACH_MEMORY_H
Russell King375dec92012-02-23 14:29:33 +0100852 select SPARSE_IRQ
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000853 help
854 Support for StrongARM 11x0 based boards.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700855
Kukjin Kimb130d5c2012-02-03 14:29:23 +0900856config ARCH_S3C24XX
857 bool "Samsung S3C24XX SoCs"
David Brownell0a938b92007-03-05 00:30:18 -0800858 select GENERIC_GPIO
Ben Dooks9d56c022009-07-30 23:23:25 +0100859 select ARCH_HAS_CPUFREQ
David Brownell9483a572008-07-23 21:26:48 -0700860 select HAVE_CLK
Thomas Abrahame83626f2011-06-14 19:12:26 +0900861 select CLKDEV_LOOKUP
John Stultz5cfc8ee2010-03-24 00:22:36 +0000862 select ARCH_USES_GETTIMEOFFSET
Kukjin Kim20676c12010-11-13 16:08:32 +0900863 select HAVE_S3C2410_I2C if I2C
Kukjin Kimb130d5c2012-02-03 14:29:23 +0900864 select HAVE_S3C_RTC if RTC_CLASS
865 select HAVE_S3C2410_WATCHDOG if WATCHDOG
Rob Herringc334bc12012-03-04 22:03:33 -0600866 select NEED_MACH_IO_H
Linus Torvalds1da177e2005-04-16 15:20:36 -0700867 help
Kukjin Kimb130d5c2012-02-03 14:29:23 +0900868 Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443
869 and S3C2450 SoCs based systems, such as the Simtec Electronics BAST
870 (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the
871 Samsung SMDK2410 development board (and derivatives).
Ben Dooks63b1f512010-04-30 16:32:26 +0900872
Ben Dooksa08ab632008-10-21 14:06:39 +0100873config ARCH_S3C64XX
874 bool "Samsung S3C64XX"
Ben Dooks89f1fa02010-01-29 09:02:17 +0000875 select PLAT_SAMSUNG
Ben Dooks89f0ce72010-01-26 15:49:15 +0900876 select CPU_V6
Ben Dooks89f0ce72010-01-26 15:49:15 +0900877 select ARM_VIC
Ben Dooksa08ab632008-10-21 14:06:39 +0100878 select HAVE_CLK
Mark Brown67003972011-10-11 08:57:11 +0900879 select HAVE_TCM
Thomas Abraham226e85f2011-06-14 19:12:26 +0900880 select CLKDEV_LOOKUP
Ben Dooks89f0ce72010-01-26 15:49:15 +0900881 select NO_IOPORT
John Stultz5cfc8ee2010-03-24 00:22:36 +0000882 select ARCH_USES_GETTIMEOFFSET
Ben Dooks89c52ed2009-07-30 23:23:24 +0100883 select ARCH_HAS_CPUFREQ
Ben Dooks89f0ce72010-01-26 15:49:15 +0900884 select ARCH_REQUIRE_GPIOLIB
885 select SAMSUNG_CLKSRC
886 select SAMSUNG_IRQ_VIC_TIMER
Ben Dooks89f0ce72010-01-26 15:49:15 +0900887 select S3C_GPIO_TRACK
Ben Dooks89f0ce72010-01-26 15:49:15 +0900888 select S3C_DEV_NAND
889 select USB_ARCH_HAS_OHCI
890 select SAMSUNG_GPIOLIB_4BIT
Kukjin Kim20676c12010-11-13 16:08:32 +0900891 select HAVE_S3C2410_I2C if I2C
Kyungmin Parkc39d8d52010-11-13 16:01:59 +0900892 select HAVE_S3C2410_WATCHDOG if WATCHDOG
Ben Dooksa08ab632008-10-21 14:06:39 +0100893 help
894 Samsung S3C64XX series based systems
895
Kukjin Kim49b7a492010-09-07 15:47:18 +0900896config ARCH_S5P64X0
897 bool "Samsung S5P6440 S5P6450"
Kukjin Kimc4ffccd2010-01-14 08:19:36 +0900898 select CPU_V6
899 select GENERIC_GPIO
900 select HAVE_CLK
Thomas Abrahamd8b22d22011-06-14 19:12:27 +0900901 select CLKDEV_LOOKUP
Chanwoo Choi0665ccc2011-07-18 15:07:14 +0900902 select CLKSRC_MMIO
Kyungmin Parkc39d8d52010-11-13 16:01:59 +0900903 select HAVE_S3C2410_WATCHDOG if WATCHDOG
Sangbeom Kim9e65bbf2011-03-12 08:05:19 +0900904 select GENERIC_CLOCKEVENTS
Kukjin Kim20676c12010-11-13 16:08:32 +0900905 select HAVE_S3C2410_I2C if I2C
Kukjin Kim754961a2010-11-13 16:11:46 +0900906 select HAVE_S3C_RTC if RTC_CLASS
Kukjin Kimc4ffccd2010-01-14 08:19:36 +0900907 help
Kukjin Kim49b7a492010-09-07 15:47:18 +0900908 Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,
909 SMDK6450.
Kukjin Kimc4ffccd2010-01-14 08:19:36 +0900910
Marek Szyprowskiacc84702010-05-20 07:51:08 +0200911config ARCH_S5PC100
912 bool "Samsung S5PC100"
Byungho Min5a7652f2009-06-23 21:39:42 +0900913 select GENERIC_GPIO
914 select HAVE_CLK
Thomas Abraham29e8eb02011-06-14 19:12:27 +0900915 select CLKDEV_LOOKUP
Byungho Min5a7652f2009-06-23 21:39:42 +0900916 select CPU_V7
Ben Dooks925c68c2010-05-20 20:48:28 +0900917 select ARCH_USES_GETTIMEOFFSET
Kukjin Kim20676c12010-11-13 16:08:32 +0900918 select HAVE_S3C2410_I2C if I2C
Kukjin Kim754961a2010-11-13 16:11:46 +0900919 select HAVE_S3C_RTC if RTC_CLASS
Kyungmin Parkc39d8d52010-11-13 16:01:59 +0900920 select HAVE_S3C2410_WATCHDOG if WATCHDOG
Byungho Min5a7652f2009-06-23 21:39:42 +0900921 help
Marek Szyprowskiacc84702010-05-20 07:51:08 +0200922 Samsung S5PC100 series based systems
Byungho Min5a7652f2009-06-23 21:39:42 +0900923
Kukjin Kim170f4e42010-02-24 16:40:44 +0900924config ARCH_S5PV210
925 bool "Samsung S5PV210/S5PC110"
926 select CPU_V7
Kyungmin Parkeecb6a82010-09-29 21:29:27 +0900927 select ARCH_SPARSEMEM_ENABLE
Kamil Debski0f75a962011-07-21 16:42:30 +0900928 select ARCH_HAS_HOLES_MEMORYMODEL
Kukjin Kim170f4e42010-02-24 16:40:44 +0900929 select GENERIC_GPIO
930 select HAVE_CLK
Thomas Abrahamb2a9dd42011-06-14 19:12:27 +0900931 select CLKDEV_LOOKUP
Chanwoo Choi0665ccc2011-07-18 15:07:14 +0900932 select CLKSRC_MMIO
Jaecheol Leed8144ae2010-10-12 09:23:19 +0900933 select ARCH_HAS_CPUFREQ
Sangbeom Kim9e65bbf2011-03-12 08:05:19 +0900934 select GENERIC_CLOCKEVENTS
Kukjin Kim20676c12010-11-13 16:08:32 +0900935 select HAVE_S3C2410_I2C if I2C
Kukjin Kim754961a2010-11-13 16:11:46 +0900936 select HAVE_S3C_RTC if RTC_CLASS
Kyungmin Parkc39d8d52010-11-13 16:01:59 +0900937 select HAVE_S3C2410_WATCHDOG if WATCHDOG
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400938 select NEED_MACH_MEMORY_H
Kukjin Kim170f4e42010-02-24 16:40:44 +0900939 help
940 Samsung S5PV210/S5PC110 series based systems
941
Kukjin Kim83014572011-11-06 13:54:56 +0900942config ARCH_EXYNOS
943 bool "SAMSUNG EXYNOS"
Changhwan Youncc0e72b2010-07-16 12:15:38 +0900944 select CPU_V7
Kyungmin Parkf567fa62010-09-29 21:33:29 +0900945 select ARCH_SPARSEMEM_ENABLE
Kamil Debski0f75a962011-07-21 16:42:30 +0900946 select ARCH_HAS_HOLES_MEMORYMODEL
Changhwan Youncc0e72b2010-07-16 12:15:38 +0900947 select GENERIC_GPIO
948 select HAVE_CLK
Thomas Abrahambadc4f22011-06-14 19:12:27 +0900949 select CLKDEV_LOOKUP
Sunyoung Kangb333fb12010-09-16 11:11:45 +0900950 select ARCH_HAS_CPUFREQ
Changhwan Youncc0e72b2010-07-16 12:15:38 +0900951 select GENERIC_CLOCKEVENTS
Kukjin Kim754961a2010-11-13 16:11:46 +0900952 select HAVE_S3C_RTC if RTC_CLASS
Kukjin Kim20676c12010-11-13 16:08:32 +0900953 select HAVE_S3C2410_I2C if I2C
Kyungmin Parkc39d8d52010-11-13 16:01:59 +0900954 select HAVE_S3C2410_WATCHDOG if WATCHDOG
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400955 select NEED_MACH_MEMORY_H
Changhwan Youncc0e72b2010-07-16 12:15:38 +0900956 help
Kukjin Kim83014572011-11-06 13:54:56 +0900957 Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5)
Changhwan Youncc0e72b2010-07-16 12:15:38 +0900958
Linus Torvalds1da177e2005-04-16 15:20:36 -0700959config ARCH_SHARK
960 bool "Shark"
Russell Kingc7508152008-10-26 10:55:14 +0000961 select CPU_SA110
Russell Kingf7e68bb2005-05-05 14:49:01 +0100962 select ISA
963 select ISA_DMA
Nicolas Pitre3bca1032008-10-07 20:14:55 +0100964 select ZONE_DMA
Russell Kingf7e68bb2005-05-05 14:49:01 +0100965 select PCI
John Stultz5cfc8ee2010-03-24 00:22:36 +0000966 select ARCH_USES_GETTIMEOFFSET
Nicolas Pitre0cdc8b92011-09-02 22:26:55 -0400967 select NEED_MACH_MEMORY_H
Rob Herringc334bc12012-03-04 22:03:33 -0600968 select NEED_MACH_IO_H
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000969 help
970 Support for the StrongARM based Digital DNARD machine, also known
971 as "Shark" (<http://www.shark-linux.de/shark.html>).
Linus Torvalds1da177e2005-04-16 15:20:36 -0700972
Linus Walleijd98aac72009-04-27 10:21:46 +0100973config ARCH_U300
974 bool "ST-Ericsson U300 Series"
975 depends on MMU
Russell King234b6ce2011-05-08 14:09:47 +0100976 select CLKSRC_MMIO
Linus Walleijd98aac72009-04-27 10:21:46 +0100977 select CPU_ARM926T
Linus Walleijbc581772009-09-15 17:30:37 +0100978 select HAVE_TCM
Linus Walleijd98aac72009-04-27 10:21:46 +0100979 select ARM_AMBA
Linus Walleij5485c1e2011-08-09 21:18:20 +0200980 select ARM_PATCH_PHYS_VIRT
Linus Walleijd98aac72009-04-27 10:21:46 +0100981 select ARM_VIC
Linus Walleijd98aac72009-04-27 10:21:46 +0100982 select GENERIC_CLOCKEVENTS
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100983 select CLKDEV_LOOKUP
Kyungmin Parkaa3831c2011-07-18 16:34:54 +0900984 select HAVE_MACH_CLKDEV
Linus Walleijd98aac72009-04-27 10:21:46 +0100985 select GENERIC_GPIO
Linus Walleijcc890cd2011-09-08 09:04:51 +0100986 select ARCH_REQUIRE_GPIOLIB
Linus Walleijd98aac72009-04-27 10:21:46 +0100987 help
988 Support for ST-Ericsson U300 series mobile platforms.
989
Russell Kingccf50e22010-03-15 19:03:06 +0000990config ARCH_U8500
991 bool "ST-Ericsson U8500 Series"
Arnd Bergmann67ae14f2012-02-25 12:48:49 -0700992 depends on MMU
Russell Kingccf50e22010-03-15 19:03:06 +0000993 select CPU_V7
994 select ARM_AMBA
Russell Kingccf50e22010-03-15 19:03:06 +0000995 select GENERIC_CLOCKEVENTS
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +0100996 select CLKDEV_LOOKUP
Rabin Vincent94bdc0e2010-03-03 04:54:37 +0100997 select ARCH_REQUIRE_GPIOLIB
Martin Persson7c1a70e2010-12-08 15:13:42 +0100998 select ARCH_HAS_CPUFREQ
Dave Martin3b556582011-12-07 15:38:04 +0000999 select HAVE_SMP
Dave Martince5ea9f2011-11-29 15:56:19 +00001000 select MIGHT_HAVE_CACHE_L2X0
Russell Kingccf50e22010-03-15 19:03:06 +00001001 help
1002 Support for ST-Ericsson's Ux500 architecture
1003
1004config ARCH_NOMADIK
1005 bool "STMicroelectronics Nomadik"
1006 select ARM_AMBA
1007 select ARM_VIC
1008 select CPU_ARM926T
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +01001009 select CLKDEV_LOOKUP
Russell Kingccf50e22010-03-15 19:03:06 +00001010 select GENERIC_CLOCKEVENTS
Dave Martince5ea9f2011-11-29 15:56:19 +00001011 select MIGHT_HAVE_CACHE_L2X0
Russell Kingccf50e22010-03-15 19:03:06 +00001012 select ARCH_REQUIRE_GPIOLIB
1013 help
1014 Support for the Nomadik platform by ST-Ericsson
1015
Kevin Hilman7c6337e2007-04-30 19:37:19 +01001016config ARCH_DAVINCI
1017 bool "TI DaVinci"
Kevin Hilman7c6337e2007-04-30 19:37:19 +01001018 select GENERIC_CLOCKEVENTS
David Brownelldce11152008-09-07 23:41:04 -07001019 select ARCH_REQUIRE_GPIOLIB
Nicolas Pitre3bca1032008-10-07 20:14:55 +01001020 select ZONE_DMA
Kevin Hilman9232fcc2009-04-08 14:49:38 -07001021 select HAVE_IDE
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +01001022 select CLKDEV_LOOKUP
David Brownell20e99692009-05-07 09:31:42 -07001023 select GENERIC_ALLOCATOR
Russell Kingdc7ad3b2011-05-22 10:01:21 +01001024 select GENERIC_IRQ_CHIP
Sekhar Noriae88e052009-11-19 15:34:01 +05301025 select ARCH_HAS_HOLES_MEMORYMODEL
Kevin Hilman7c6337e2007-04-30 19:37:19 +01001026 help
1027 Support for TI's DaVinci platform.
1028
Russell King3b938be2007-05-12 11:25:44 +01001029config ARCH_OMAP
1030 bool "TI OMAP"
David Brownell9483a572008-07-23 21:26:48 -07001031 select HAVE_CLK
Michael Buesch7444a722008-07-25 01:46:11 -07001032 select ARCH_REQUIRE_GPIOLIB
Ben Dooks89c52ed2009-07-30 23:23:24 +01001033 select ARCH_HAS_CPUFREQ
Russell King - ARM Linux354a1832011-07-10 23:05:34 -07001034 select CLKSRC_MMIO
Kevin Hilman06cad092007-10-18 23:04:43 -07001035 select GENERIC_CLOCKEVENTS
Sriram9af915d2010-01-29 14:20:05 -08001036 select ARCH_HAS_HOLES_MEMORYMODEL
Russell King3b938be2007-05-12 11:25:44 +01001037 help
Lennert Buytenhek6e457bb2010-09-22 20:40:57 +02001038 Support for TI's OMAP platform (OMAP1/2/3/4).
Russell King3b938be2007-05-12 11:25:44 +01001039
viresh kumarcee37e52010-04-01 12:31:05 +01001040config PLAT_SPEAR
1041 bool "ST SPEAr"
1042 select ARM_AMBA
1043 select ARCH_REQUIRE_GPIOLIB
Jean-Christop PLAGNIOL-VILLARD6d803ba2010-11-17 10:04:33 +01001044 select CLKDEV_LOOKUP
Russell Kingd6e15d72011-05-08 17:10:14 +01001045 select CLKSRC_MMIO
viresh kumarcee37e52010-04-01 12:31:05 +01001046 select GENERIC_CLOCKEVENTS
viresh kumarcee37e52010-04-01 12:31:05 +01001047 select HAVE_CLK
1048 help
1049 Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx).
1050
Alexey Charkov21f47fb2010-12-23 13:11:21 +01001051config ARCH_VT8500
1052 bool "VIA/WonderMedia 85xx"
1053 select CPU_ARM926T
1054 select GENERIC_GPIO
1055 select ARCH_HAS_CPUFREQ
1056 select GENERIC_CLOCKEVENTS
1057 select ARCH_REQUIRE_GPIOLIB
1058 select HAVE_PWM
1059 help
1060 Support for VIA/WonderMedia VT8500/WM85xx System-on-Chip.
Binghua Duan02c981c2011-07-08 17:40:12 +08001061
John Linnb85a3ef2011-06-20 11:47:27 -06001062config ARCH_ZYNQ
1063 bool "Xilinx Zynq ARM Cortex A9 Platform"
Binghua Duan02c981c2011-07-08 17:40:12 +08001064 select CPU_V7
Binghua Duan02c981c2011-07-08 17:40:12 +08001065 select GENERIC_CLOCKEVENTS
1066 select CLKDEV_LOOKUP
John Linnb85a3ef2011-06-20 11:47:27 -06001067 select ARM_GIC
1068 select ARM_AMBA
1069 select ICST
Dave Martince5ea9f2011-11-29 15:56:19 +00001070 select MIGHT_HAVE_CACHE_L2X0
Binghua Duan02c981c2011-07-08 17:40:12 +08001071 select USE_OF
Binghua Duan02c981c2011-07-08 17:40:12 +08001072 help
John Linnb85a3ef2011-06-20 11:47:27 -06001073 Support for Xilinx Zynq ARM Cortex A9 Platform
Linus Torvalds1da177e2005-04-16 15:20:36 -07001074endchoice
1075
Russell Kingccf50e22010-03-15 19:03:06 +00001076#
1077# This is sorted alphabetically by mach-* pathname. However, plat-*
1078# Kconfigs may be included either alphabetically (according to the
1079# plat- suffix) or along side the corresponding mach-* source.
1080#
Russell King95b8f202010-01-14 11:43:54 +00001081source "arch/arm/mach-at91/Kconfig"
1082
1083source "arch/arm/mach-bcmring/Kconfig"
1084
Linus Torvalds1da177e2005-04-16 15:20:36 -07001085source "arch/arm/mach-clps711x/Kconfig"
1086
Anton Vorontsovd94f9442010-03-25 17:12:41 +03001087source "arch/arm/mach-cns3xxx/Kconfig"
1088
Russell King95b8f202010-01-14 11:43:54 +00001089source "arch/arm/mach-davinci/Kconfig"
1090
1091source "arch/arm/mach-dove/Kconfig"
1092
Lennert Buytenheke7736d42006-03-20 17:10:13 +00001093source "arch/arm/mach-ep93xx/Kconfig"
1094
Linus Torvalds1da177e2005-04-16 15:20:36 -07001095source "arch/arm/mach-footbridge/Kconfig"
1096
Paulius Zaleckas59d3a192009-03-26 10:06:08 +02001097source "arch/arm/mach-gemini/Kconfig"
1098
Russell King95b8f202010-01-14 11:43:54 +00001099source "arch/arm/mach-h720x/Kconfig"
1100
Linus Torvalds1da177e2005-04-16 15:20:36 -07001101source "arch/arm/mach-integrator/Kconfig"
1102
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +01001103source "arch/arm/mach-iop32x/Kconfig"
1104
1105source "arch/arm/mach-iop33x/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001106
Dan Williams285f5fa2006-12-07 02:59:39 +01001107source "arch/arm/mach-iop13xx/Kconfig"
1108
Linus Torvalds1da177e2005-04-16 15:20:36 -07001109source "arch/arm/mach-ixp4xx/Kconfig"
1110
1111source "arch/arm/mach-ixp2000/Kconfig"
1112
Lennert Buytenhekc4713072006-03-28 21:18:54 +01001113source "arch/arm/mach-ixp23xx/Kconfig"
1114
Russell King95b8f202010-01-14 11:43:54 +00001115source "arch/arm/mach-kirkwood/Kconfig"
1116
1117source "arch/arm/mach-ks8695/Kconfig"
1118
Kevin Wells40805942010-07-27 08:49:04 -07001119source "arch/arm/mach-lpc32xx/Kconfig"
1120
Russell King95b8f202010-01-14 11:43:54 +00001121source "arch/arm/mach-msm/Kconfig"
1122
Stanislav Samsonov794d15b2008-06-22 22:45:10 +02001123source "arch/arm/mach-mv78xx0/Kconfig"
1124
Russell King95b8f202010-01-14 11:43:54 +00001125source "arch/arm/plat-mxc/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001126
Shawn Guo1d3f33d2010-12-13 20:55:03 +08001127source "arch/arm/mach-mxs/Kconfig"
1128
Russell King95b8f202010-01-14 11:43:54 +00001129source "arch/arm/mach-netx/Kconfig"
Eric Miao49cbe782009-01-20 14:15:18 +08001130
Russell King95b8f202010-01-14 11:43:54 +00001131source "arch/arm/mach-nomadik/Kconfig"
1132source "arch/arm/plat-nomadik/Kconfig"
1133
Tony Lindgrend48af152005-07-10 19:58:17 +01001134source "arch/arm/plat-omap/Kconfig"
1135
1136source "arch/arm/mach-omap1/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001137
Tony Lindgren1dbae812005-11-10 14:26:51 +00001138source "arch/arm/mach-omap2/Kconfig"
1139
Lennert Buytenhek9dd0b192008-03-27 14:51:41 -04001140source "arch/arm/mach-orion5x/Kconfig"
Tzachi Perelstein585cf172007-10-23 15:14:41 -04001141
Russell King95b8f202010-01-14 11:43:54 +00001142source "arch/arm/mach-pxa/Kconfig"
1143source "arch/arm/plat-pxa/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001144
Russell King95b8f202010-01-14 11:43:54 +00001145source "arch/arm/mach-mmp/Kconfig"
1146
1147source "arch/arm/mach-realview/Kconfig"
1148
1149source "arch/arm/mach-sa1100/Kconfig"
Saeed Bisharaedabd382009-08-06 15:12:43 +03001150
Ben Dookscf383672009-11-10 00:14:58 +00001151source "arch/arm/plat-samsung/Kconfig"
Ben Dooksa21765a2007-02-11 18:31:01 +01001152source "arch/arm/plat-s3c24xx/Kconfig"
Kukjin Kimc4ffccd2010-01-14 08:19:36 +09001153source "arch/arm/plat-s5p/Kconfig"
Ben Dooksa21765a2007-02-11 18:31:01 +01001154
viresh kumarcee37e52010-04-01 12:31:05 +01001155source "arch/arm/plat-spear/Kconfig"
Ben Dooksa21765a2007-02-11 18:31:01 +01001156
Kukjin Kim85fd6d62012-02-06 09:38:19 +09001157source "arch/arm/mach-s3c24xx/Kconfig"
Kukjin Kimb130d5c2012-02-03 14:29:23 +09001158if ARCH_S3C24XX
Ben Dooksa21765a2007-02-11 18:31:01 +01001159source "arch/arm/mach-s3c2412/Kconfig"
1160source "arch/arm/mach-s3c2440/Kconfig"
Ben Dooksa21765a2007-02-11 18:31:01 +01001161endif
Linus Torvalds1da177e2005-04-16 15:20:36 -07001162
Ben Dooksa08ab632008-10-21 14:06:39 +01001163if ARCH_S3C64XX
Ben Dooks431107e2010-01-26 10:11:04 +09001164source "arch/arm/mach-s3c64xx/Kconfig"
Ben Dooksa08ab632008-10-21 14:06:39 +01001165endif
1166
Kukjin Kim49b7a492010-09-07 15:47:18 +09001167source "arch/arm/mach-s5p64x0/Kconfig"
Kukjin Kimc4ffccd2010-01-14 08:19:36 +09001168
Byungho Min5a7652f2009-06-23 21:39:42 +09001169source "arch/arm/mach-s5pc100/Kconfig"
Byungho Min5a7652f2009-06-23 21:39:42 +09001170
Kukjin Kim170f4e42010-02-24 16:40:44 +09001171source "arch/arm/mach-s5pv210/Kconfig"
1172
Kukjin Kim83014572011-11-06 13:54:56 +09001173source "arch/arm/mach-exynos/Kconfig"
Changhwan Youncc0e72b2010-07-16 12:15:38 +09001174
Russell King882d01f2010-03-02 23:40:15 +00001175source "arch/arm/mach-shmobile/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001176
Erik Gillingc5f80062010-01-21 16:53:02 -08001177source "arch/arm/mach-tegra/Kconfig"
1178
Russell King95b8f202010-01-14 11:43:54 +00001179source "arch/arm/mach-u300/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001180
Russell King95b8f202010-01-14 11:43:54 +00001181source "arch/arm/mach-ux500/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001182
1183source "arch/arm/mach-versatile/Kconfig"
1184
Russell Kingceade892010-02-11 21:44:53 +00001185source "arch/arm/mach-vexpress/Kconfig"
Russell King420c34e2011-01-18 20:08:06 +00001186source "arch/arm/plat-versatile/Kconfig"
Russell Kingceade892010-02-11 21:44:53 +00001187
Alexey Charkov21f47fb2010-12-23 13:11:21 +01001188source "arch/arm/mach-vt8500/Kconfig"
1189
wanzongshun7ec80dd2008-12-03 03:55:38 +01001190source "arch/arm/mach-w90x900/Kconfig"
1191
Linus Torvalds1da177e2005-04-16 15:20:36 -07001192# Definitions to make life easier
1193config ARCH_ACORN
1194 bool
1195
Lennert Buytenhek7ae1f7e2006-09-18 23:12:53 +01001196config PLAT_IOP
1197 bool
Mikael Pettersson469d30442009-10-29 11:46:54 -07001198 select GENERIC_CLOCKEVENTS
Lennert Buytenhek7ae1f7e2006-09-18 23:12:53 +01001199
Lennert Buytenhek69b02f62008-03-27 14:51:39 -04001200config PLAT_ORION
1201 bool
Russell Kingbfe45e02011-05-08 15:33:30 +01001202 select CLKSRC_MMIO
Russell Kingdc7ad3b2011-05-22 10:01:21 +01001203 select GENERIC_IRQ_CHIP
Lennert Buytenhek69b02f62008-03-27 14:51:39 -04001204
Eric Miaobd5ce432009-01-20 12:06:01 +08001205config PLAT_PXA
1206 bool
1207
Russell Kingf4b8b312010-01-14 12:48:06 +00001208config PLAT_VERSATILE
1209 bool
1210
Russell Kinge3887712010-01-14 13:30:16 +00001211config ARM_TIMER_SP804
1212 bool
Russell Kingbfe45e02011-05-08 15:33:30 +01001213 select CLKSRC_MMIO
Rob Herringa7bf6162011-12-12 15:29:08 -06001214 select HAVE_SCHED_CLOCK
Russell Kinge3887712010-01-14 13:30:16 +00001215
Linus Torvalds1da177e2005-04-16 15:20:36 -07001216source arch/arm/mm/Kconfig
1217
Russell King958cab02011-12-11 10:04:00 +00001218config ARM_NR_BANKS
1219 int
1220 default 16 if ARCH_EP93XX
1221 default 8
1222
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001223config RESERVE_FIRST_PAGE
1224 bool
1225 default n
1226 help
1227 Reserve the first page at PHYS_OFFSET. The first
1228 physical page is used by many platforms for warm
1229 boot operations. Reserve this page so that it is
1230 not allocated by the kernel.
1231
Lennert Buytenhekafe4b252006-12-03 18:51:14 +01001232config IWMMXT
1233 bool "Enable iWMMXt support"
Haojian Zhuangef6c8442010-11-24 11:54:25 +08001234 depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4
1235 default y if PXA27x || PXA3xx || PXA95x || ARCH_MMP
Lennert Buytenhekafe4b252006-12-03 18:51:14 +01001236 help
1237 Enable support for iWMMXt context switching at run time if
1238 running on a CPU that supports it.
1239
Linus Torvalds1da177e2005-04-16 15:20:36 -07001240config XSCALE_PMU
1241 bool
Paul Bollebfc994b2011-10-30 12:51:41 +01001242 depends on CPU_XSCALE
Linus Torvalds1da177e2005-04-16 15:20:36 -07001243 default y
1244
Jamie Iles0f4f0672010-02-02 20:23:15 +01001245config CPU_HAS_PMU
Russell Kinge399b1a2011-01-17 15:08:32 +00001246 depends on (CPU_V6 || CPU_V6K || CPU_V7 || XSCALE_PMU) && \
Will Deacon8954bb02010-06-21 15:32:54 +01001247 (!ARCH_OMAP3 || OMAP3_EMU)
Jamie Iles0f4f0672010-02-02 20:23:15 +01001248 default y
1249 bool
1250
eric miao52108642010-12-13 09:42:34 +01001251config MULTI_IRQ_HANDLER
1252 bool
1253 help
1254 Allow each machine to specify it's own IRQ handler at run time.
1255
Hyok S. Choi3b93e7b2006-06-22 11:48:56 +01001256if !MMU
1257source "arch/arm/Kconfig-nommu"
1258endif
1259
Will Deaconf0c4b8d2012-04-20 17:20:08 +01001260config ARM_ERRATA_326103
1261 bool "ARM errata: FSR write bit incorrect on a SWP to read-only memory"
1262 depends on CPU_V6
1263 help
1264 Executing a SWP instruction to read-only memory does not set bit 11
1265 of the FSR on the ARM 1136 prior to r1p0. This causes the kernel to
1266 treat the access as a read, preventing a COW from occurring and
1267 causing the faulting task to livelock.
1268
Catalin Marinas9cba3cc2009-04-30 17:06:03 +01001269config ARM_ERRATA_411920
1270 bool "ARM errata: Invalidation of the Instruction Cache operation can fail"
Russell Kinge399b1a2011-01-17 15:08:32 +00001271 depends on CPU_V6 || CPU_V6K
Catalin Marinas9cba3cc2009-04-30 17:06:03 +01001272 help
1273 Invalidation of the Instruction Cache operation can
1274 fail. This erratum is present in 1136 (before r1p4), 1156 and 1176.
1275 It does not affect the MPCore. This option enables the ARM Ltd.
1276 recommended workaround.
1277
Catalin Marinas7ce236f2009-04-30 17:06:09 +01001278config ARM_ERRATA_430973
1279 bool "ARM errata: Stale prediction on replaced interworking branch"
1280 depends on CPU_V7
1281 help
1282 This option enables the workaround for the 430973 Cortex-A8
1283 (r1p0..r1p2) erratum. If a code sequence containing an ARM/Thumb
1284 interworking branch is replaced with another code sequence at the
1285 same virtual address, whether due to self-modifying code or virtual
1286 to physical address re-mapping, Cortex-A8 does not recover from the
1287 stale interworking branch prediction. This results in Cortex-A8
1288 executing the new code sequence in the incorrect ARM or Thumb state.
1289 The workaround enables the BTB/BTAC operations by setting ACTLR.IBE
1290 and also flushes the branch target cache at every context switch.
1291 Note that setting specific bits in the ACTLR register may not be
1292 available in non-secure mode.
1293
Catalin Marinas855c5512009-04-30 17:06:15 +01001294config ARM_ERRATA_458693
1295 bool "ARM errata: Processor deadlock when a false hazard is created"
1296 depends on CPU_V7
1297 help
1298 This option enables the workaround for the 458693 Cortex-A8 (r2p0)
1299 erratum. For very specific sequences of memory operations, it is
1300 possible for a hazard condition intended for a cache line to instead
1301 be incorrectly associated with a different cache line. This false
1302 hazard might then cause a processor deadlock. The workaround enables
1303 the L1 caching of the NEON accesses and disables the PLD instruction
1304 in the ACTLR register. Note that setting specific bits in the ACTLR
1305 register may not be available in non-secure mode.
1306
Catalin Marinas0516e462009-04-30 17:06:20 +01001307config ARM_ERRATA_460075
1308 bool "ARM errata: Data written to the L2 cache can be overwritten with stale data"
1309 depends on CPU_V7
1310 help
1311 This option enables the workaround for the 460075 Cortex-A8 (r2p0)
1312 erratum. Any asynchronous access to the L2 cache may encounter a
1313 situation in which recent store transactions to the L2 cache are lost
1314 and overwritten with stale memory contents from external memory. The
1315 workaround disables the write-allocate mode for the L2 cache via the
1316 ACTLR register. Note that setting specific bits in the ACTLR register
1317 may not be available in non-secure mode.
1318
Will Deacon9f050272010-09-14 09:51:43 +01001319config ARM_ERRATA_742230
1320 bool "ARM errata: DMB operation may be faulty"
1321 depends on CPU_V7 && SMP
1322 help
1323 This option enables the workaround for the 742230 Cortex-A9
1324 (r1p0..r2p2) erratum. Under rare circumstances, a DMB instruction
1325 between two write operations may not ensure the correct visibility
1326 ordering of the two writes. This workaround sets a specific bit in
1327 the diagnostic register of the Cortex-A9 which causes the DMB
1328 instruction to behave as a DSB, ensuring the correct behaviour of
1329 the two writes.
1330
Will Deacona672e992010-09-14 09:53:02 +01001331config ARM_ERRATA_742231
1332 bool "ARM errata: Incorrect hazard handling in the SCU may lead to data corruption"
1333 depends on CPU_V7 && SMP
1334 help
1335 This option enables the workaround for the 742231 Cortex-A9
1336 (r2p0..r2p2) erratum. Under certain conditions, specific to the
1337 Cortex-A9 MPCore micro-architecture, two CPUs working in SMP mode,
1338 accessing some data located in the same cache line, may get corrupted
1339 data due to bad handling of the address hazard when the line gets
1340 replaced from one of the CPUs at the same time as another CPU is
1341 accessing it. This workaround sets specific bits in the diagnostic
1342 register of the Cortex-A9 which reduces the linefill issuing
1343 capabilities of the processor.
1344
Santosh Shilimkar9e655822010-02-04 19:42:42 +01001345config PL310_ERRATA_588369
Will Deaconfa0ce402011-11-14 17:24:57 +01001346 bool "PL310 errata: Clean & Invalidate maintenance operations do not invalidate clean lines"
Santosh Shilimkar2839e062011-03-08 06:59:54 +01001347 depends on CACHE_L2X0
Santosh Shilimkar9e655822010-02-04 19:42:42 +01001348 help
1349 The PL310 L2 cache controller implements three types of Clean &
1350 Invalidate maintenance operations: by Physical Address
1351 (offset 0x7F0), by Index/Way (0x7F8) and by Way (0x7FC).
1352 They are architecturally defined to behave as the execution of a
1353 clean operation followed immediately by an invalidate operation,
1354 both performing to the same memory location. This functionality
1355 is not correctly implemented in PL310 as clean lines are not
Santosh Shilimkar2839e062011-03-08 06:59:54 +01001356 invalidated as a result of these operations.
Will Deaconcdf357f2010-08-05 11:20:51 +01001357
1358config ARM_ERRATA_720789
1359 bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID"
Dave Martine66dc742011-12-08 13:37:46 +01001360 depends on CPU_V7
Will Deaconcdf357f2010-08-05 11:20:51 +01001361 help
1362 This option enables the workaround for the 720789 Cortex-A9 (prior to
1363 r2p0) erratum. A faulty ASID can be sent to the other CPUs for the
1364 broadcasted CP15 TLB maintenance operations TLBIASIDIS and TLBIMVAIS.
1365 As a consequence of this erratum, some TLB entries which should be
1366 invalidated are not, resulting in an incoherency in the system page
1367 tables. The workaround changes the TLB flushing routines to invalidate
1368 entries regardless of the ASID.
Will Deacon475d92f2010-09-28 14:02:02 +01001369
Russell King1f0090a2011-03-16 23:35:25 +00001370config PL310_ERRATA_727915
Will Deaconfa0ce402011-11-14 17:24:57 +01001371 bool "PL310 errata: Background Clean & Invalidate by Way operation can cause data corruption"
Russell King1f0090a2011-03-16 23:35:25 +00001372 depends on CACHE_L2X0
1373 help
1374 PL310 implements the Clean & Invalidate by Way L2 cache maintenance
1375 operation (offset 0x7FC). This operation runs in background so that
1376 PL310 can handle normal accesses while it is in progress. Under very
1377 rare circumstances, due to this erratum, write data can be lost when
1378 PL310 treats a cacheable write transaction during a Clean &
1379 Invalidate by Way operation.
1380
Will Deacon475d92f2010-09-28 14:02:02 +01001381config ARM_ERRATA_743622
1382 bool "ARM errata: Faulty hazard checking in the Store Buffer may lead to data corruption"
1383 depends on CPU_V7
1384 help
1385 This option enables the workaround for the 743622 Cortex-A9
Will Deaconefbc74a2012-02-24 12:12:38 +01001386 (r2p*) erratum. Under very rare conditions, a faulty
Will Deacon475d92f2010-09-28 14:02:02 +01001387 optimisation in the Cortex-A9 Store Buffer may lead to data
1388 corruption. This workaround sets a specific bit in the diagnostic
1389 register of the Cortex-A9 which disables the Store Buffer
1390 optimisation, preventing the defect from occurring. This has no
1391 visible impact on the overall performance or power consumption of the
1392 processor.
1393
Will Deacon9a27c272011-02-18 16:36:35 +01001394config ARM_ERRATA_751472
1395 bool "ARM errata: Interrupted ICIALLUIS may prevent completion of broadcasted operation"
Dave Martinba90c512011-12-08 13:41:06 +01001396 depends on CPU_V7
Will Deacon9a27c272011-02-18 16:36:35 +01001397 help
1398 This option enables the workaround for the 751472 Cortex-A9 (prior
1399 to r3p0) erratum. An interrupted ICIALLUIS operation may prevent the
1400 completion of a following broadcasted operation if the second
1401 operation is received by a CPU before the ICIALLUIS has completed,
1402 potentially leading to corrupted entries in the cache or TLB.
1403
Will Deaconfa0ce402011-11-14 17:24:57 +01001404config PL310_ERRATA_753970
1405 bool "PL310 errata: cache sync operation may be faulty"
Srinidhi Kasagar885028e2011-02-17 07:03:51 +01001406 depends on CACHE_PL310
1407 help
1408 This option enables the workaround for the 753970 PL310 (r3p0) erratum.
1409
1410 Under some condition the effect of cache sync operation on
1411 the store buffer still remains when the operation completes.
1412 This means that the store buffer is always asked to drain and
1413 this prevents it from merging any further writes. The workaround
1414 is to replace the normal offset of cache sync operation (0x730)
1415 by another offset targeting an unmapped PL310 register 0x740.
1416 This has the same effect as the cache sync operation: store buffer
1417 drain and waiting for all buffers empty.
1418
Will Deaconfcbdc5f2011-02-28 18:15:16 +01001419config ARM_ERRATA_754322
1420 bool "ARM errata: possible faulty MMU translations following an ASID switch"
1421 depends on CPU_V7
1422 help
1423 This option enables the workaround for the 754322 Cortex-A9 (r2p*,
1424 r3p*) erratum. A speculative memory access may cause a page table walk
1425 which starts prior to an ASID switch but completes afterwards. This
1426 can populate the micro-TLB with a stale entry which may be hit with
1427 the new ASID. This workaround places two dsb instructions in the mm
1428 switching code so that no page table walks can cross the ASID switch.
1429
Will Deacon5dab26a2011-03-04 12:38:54 +01001430config ARM_ERRATA_754327
1431 bool "ARM errata: no automatic Store Buffer drain"
1432 depends on CPU_V7 && SMP
1433 help
1434 This option enables the workaround for the 754327 Cortex-A9 (prior to
1435 r2p0) erratum. The Store Buffer does not have any automatic draining
1436 mechanism and therefore a livelock may occur if an external agent
1437 continuously polls a memory location waiting to observe an update.
1438 This workaround defines cpu_relax() as smp_mb(), preventing correctly
1439 written polling loops from denying visibility of updates to memory.
1440
Catalin Marinas145e10e2011-08-15 11:04:41 +01001441config ARM_ERRATA_364296
1442 bool "ARM errata: Possible cache data corruption with hit-under-miss enabled"
1443 depends on CPU_V6 && !SMP
1444 help
1445 This options enables the workaround for the 364296 ARM1136
1446 r0p2 erratum (possible cache data corruption with
1447 hit-under-miss enabled). It sets the undocumented bit 31 in
1448 the auxiliary control register and the FI bit in the control
1449 register, thus disabling hit-under-miss without putting the
1450 processor into full low interrupt latency mode. ARM11MPCore
1451 is not affected.
1452
Will Deaconf630c1b2011-09-15 11:45:15 +01001453config ARM_ERRATA_764369
1454 bool "ARM errata: Data cache line maintenance operation by MVA may not succeed"
1455 depends on CPU_V7 && SMP
1456 help
1457 This option enables the workaround for erratum 764369
1458 affecting Cortex-A9 MPCore with two or more processors (all
1459 current revisions). Under certain timing circumstances, a data
1460 cache line maintenance operation by MVA targeting an Inner
1461 Shareable memory region may fail to proceed up to either the
1462 Point of Coherency or to the Point of Unification of the
1463 system. This workaround adds a DSB instruction before the
1464 relevant cache maintenance functions and sets a specific bit
1465 in the diagnostic control register of the SCU.
1466
Will Deacon11ed0ba2011-11-14 17:24:58 +01001467config PL310_ERRATA_769419
1468 bool "PL310 errata: no automatic Store Buffer drain"
1469 depends on CACHE_L2X0
1470 help
1471 On revisions of the PL310 prior to r3p2, the Store Buffer does
1472 not automatically drain. This can cause normal, non-cacheable
1473 writes to be retained when the memory system is idle, leading
1474 to suboptimal I/O performance for drivers using coherent DMA.
1475 This option adds a write barrier to the cpu_idle loop so that,
1476 on systems with an outer cache, the store buffer is drained
1477 explicitly.
1478
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001479config KSAPI
1480 tristate "KSAPI support (EXPERIMENTAL)"
1481 depends on ARCH_MSM_SCORPION || ARCH_MSM_KRAIT
1482 default n
1483 help
1484 KSAPI: Performance monitoring tool for linux.
1485 KSAPI records performance statistics for Snapdragon linux platform.
1486 It uses the /proc FS as a means to exchange configuration data and
1487 counter statistics. It can monitor the counter statistics for
1488 Scorpion processor supported hardware performance counters on a per
1489 thread basis or AXI counters on an overall system basis.
1490
Linus Torvalds1da177e2005-04-16 15:20:36 -07001491endmenu
1492
1493source "arch/arm/common/Kconfig"
1494
Linus Torvalds1da177e2005-04-16 15:20:36 -07001495menu "Bus support"
1496
1497config ARM_AMBA
1498 bool
1499
1500config ISA
1501 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001502 help
1503 Find out whether you have ISA slots on your motherboard. ISA is the
1504 name of a bus system, i.e. the way the CPU talks to the other stuff
1505 inside your box. Other bus systems are PCI, EISA, MicroChannel
1506 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
1507 newer boards don't support it. If you have ISA, say Y, otherwise N.
1508
Russell King065909b2006-01-04 15:44:16 +00001509# Select ISA DMA controller support
Linus Torvalds1da177e2005-04-16 15:20:36 -07001510config ISA_DMA
1511 bool
Russell King065909b2006-01-04 15:44:16 +00001512 select ISA_DMA_API
Linus Torvalds1da177e2005-04-16 15:20:36 -07001513
Russell King065909b2006-01-04 15:44:16 +00001514# Select ISA DMA interface
Al Viro5cae8412005-05-04 05:39:22 +01001515config ISA_DMA_API
1516 bool
Al Viro5cae8412005-05-04 05:39:22 +01001517
Linus Torvalds1da177e2005-04-16 15:20:36 -07001518config PCI
Hans Ulli Kroll0b05da72010-12-02 12:32:15 +01001519 bool "PCI support" if MIGHT_HAVE_PCI
Linus Torvalds1da177e2005-04-16 15:20:36 -07001520 help
1521 Find out whether you have a PCI motherboard. PCI is the name of a
1522 bus system, i.e. the way the CPU talks to the other stuff inside
1523 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
1524 VESA. If you have PCI, say Y, otherwise N.
1525
Anton Vorontsov52882172010-04-19 13:20:49 +01001526config PCI_DOMAINS
1527 bool
1528 depends on PCI
1529
Marcelo Roberto Jimenezb080ac82010-12-16 21:34:51 +01001530config PCI_NANOENGINE
1531 bool "BSE nanoEngine PCI support"
1532 depends on SA1100_NANOENGINE
1533 help
1534 Enable PCI on the BSE nanoEngine board.
1535
Matthew Wilcox36e23592007-07-10 10:54:40 -06001536config PCI_SYSCALL
1537 def_bool PCI
1538
Linus Torvalds1da177e2005-04-16 15:20:36 -07001539# Select the host bridge type
1540config PCI_HOST_VIA82C505
1541 bool
1542 depends on PCI && ARCH_SHARK
1543 default y
1544
Mike Rapoporta0113a92007-11-25 08:55:34 +01001545config PCI_HOST_ITE8152
1546 bool
1547 depends on PCI && MACH_ARMCORE
1548 default y
1549 select DMABOUNCE
1550
Linus Torvalds1da177e2005-04-16 15:20:36 -07001551source "drivers/pci/Kconfig"
1552
1553source "drivers/pcmcia/Kconfig"
1554
1555endmenu
1556
1557menu "Kernel Features"
1558
Kevin Hilman0567a0c2007-03-13 20:29:24 +01001559source "kernel/time/Kconfig"
1560
Dave Martin3b556582011-12-07 15:38:04 +00001561config HAVE_SMP
1562 bool
1563 help
1564 This option should be selected by machines which have an SMP-
1565 capable CPU.
1566
1567 The only effect of this option is to make the SMP-related
1568 options available to the user for configuration.
1569
Linus Torvalds1da177e2005-04-16 15:20:36 -07001570config SMP
Russell Kingbb2d8132011-05-12 09:52:02 +01001571 bool "Symmetric Multi-Processing"
Russell Kingfbb4dda2011-01-17 18:01:58 +00001572 depends on CPU_V6K || CPU_V7
Russell Kingbc282482009-05-17 18:58:34 +01001573 depends on GENERIC_CLOCKEVENTS
Dave Martin3b556582011-12-07 15:38:04 +00001574 depends on HAVE_SMP
Arnd Bergmann9934ebb2011-06-10 14:05:22 +00001575 depends on MMU
Jens Axboef6dd9fa52008-06-10 20:48:30 +02001576 select USE_GENERIC_SMP_HELPERS
Taniya Das2760d852011-10-12 18:03:15 +05301577 select HAVE_ARM_SCU
Linus Torvalds1da177e2005-04-16 15:20:36 -07001578 help
1579 This enables support for systems with more than one CPU. If you have
1580 a system with only one CPU, like most personal computers, say N. If
1581 you have a system with more than one CPU, say Y.
1582
1583 If you say N here, the kernel will run on single and multiprocessor
1584 machines, but will use only one CPU of a multiprocessor machine. If
1585 you say Y here, the kernel will run on many, but not all, single
1586 processor machines. On a single processor machine, the kernel will
1587 run faster if you say N here.
1588
Paul Bolle395cf962011-08-15 02:02:26 +02001589 See also <file:Documentation/x86/i386/IO-APIC.txt>,
Linus Torvalds1da177e2005-04-16 15:20:36 -07001590 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
Justin P. Mattock50a23e62010-10-16 10:36:23 -07001591 <http://tldp.org/HOWTO/SMP-HOWTO.html>.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001592
1593 If you don't know what to do here, say N.
1594
Russell Kingf00ec482010-09-04 10:47:48 +01001595config SMP_ON_UP
1596 bool "Allow booting SMP kernel on uniprocessor systems (EXPERIMENTAL)"
1597 depends on EXPERIMENTAL
Nicolas Pitre4d2692a2011-01-14 07:33:24 +01001598 depends on SMP && !XIP_KERNEL
Russell Kingf00ec482010-09-04 10:47:48 +01001599 default y
1600 help
1601 SMP kernels contain instructions which fail on non-SMP processors.
1602 Enabling this option allows the kernel to modify itself to make
1603 these instructions safe. Disabling it allows about 1K of space
1604 savings.
1605
1606 If you don't know what to do here, say Y.
1607
Vincent Guittotc9018aa2011-08-08 13:21:59 +01001608config ARM_CPU_TOPOLOGY
1609 bool "Support cpu topology definition"
1610 depends on SMP && CPU_V7
1611 default y
1612 help
1613 Support ARM cpu topology definition. The MPIDR register defines
1614 affinity between processors which is then used to describe the cpu
1615 topology of an ARM System.
1616
1617config SCHED_MC
1618 bool "Multi-core scheduler support"
1619 depends on ARM_CPU_TOPOLOGY
1620 help
1621 Multi-core scheduler support improves the CPU scheduler's decision
1622 making when dealing with multi-core CPU chips at a cost of slightly
1623 increased overhead in some places. If unsure say N here.
1624
1625config SCHED_SMT
1626 bool "SMT scheduler support"
1627 depends on ARM_CPU_TOPOLOGY
1628 help
1629 Improves the CPU scheduler's decision making when dealing with
1630 MultiThreading at a cost of slightly increased overhead in some
1631 places. If unsure say N here.
1632
Russell Kinga8cbcd92009-05-16 11:51:14 +01001633config HAVE_ARM_SCU
1634 bool
Russell Kinga8cbcd92009-05-16 11:51:14 +01001635 help
1636 This option enables support for the ARM system coherency unit
1637
Marc Zyngierf5b3b2b2011-11-07 14:28:33 -08001638config ARM_ARCH_TIMER
1639 bool "Architected timer support"
Marc Zyngierdf590cc2012-01-11 17:25:17 +00001640 depends on CPU_V7
Marc Zyngierf5b3b2b2011-11-07 14:28:33 -08001641 select TICK_ONESHOT
1642 help
1643 This option enables support for the ARM architected timer
1644
Russell Kingf32f4ce2009-05-16 12:14:21 +01001645config HAVE_ARM_TWD
1646 bool
1647 depends on SMP
Russell King15095bb2011-01-02 15:05:21 +00001648 select TICK_ONESHOT
Russell Kingf32f4ce2009-05-16 12:14:21 +01001649 help
1650 This options enables support for the ARM timer and watchdog unit
1651
Lennert Buytenhek8d5796d2008-08-25 21:03:32 +01001652choice
1653 prompt "Memory split"
1654 default VMSPLIT_3G
1655 help
1656 Select the desired split between kernel and user memory.
1657
1658 If you are not absolutely sure what you are doing, leave this
1659 option alone!
1660
1661 config VMSPLIT_3G
1662 bool "3G/1G user/kernel split"
1663 config VMSPLIT_2G
1664 bool "2G/2G user/kernel split"
1665 config VMSPLIT_1G
1666 bool "1G/3G user/kernel split"
1667endchoice
1668
1669config PAGE_OFFSET
1670 hex
1671 default 0x40000000 if VMSPLIT_1G
1672 default 0x80000000 if VMSPLIT_2G
1673 default 0xC0000000
1674
Linus Torvalds1da177e2005-04-16 15:20:36 -07001675config NR_CPUS
1676 int "Maximum number of CPUs (2-32)"
1677 range 2 32
1678 depends on SMP
1679 default "4"
1680
Russell Kinga054a812005-11-02 22:24:33 +00001681config HOTPLUG_CPU
1682 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
1683 depends on SMP && HOTPLUG && EXPERIMENTAL
1684 help
1685 Say Y here to experiment with turning CPUs off and on. CPUs
1686 can be controlled through /sys/devices/system/cpu.
1687
Russell King37ee16a2005-11-08 19:08:05 +00001688config LOCAL_TIMERS
1689 bool "Use local timer interrupts"
Russell King971acb92010-09-04 08:16:30 +01001690 depends on SMP
Russell King37ee16a2005-11-08 19:08:05 +00001691 default y
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001692 select HAVE_ARM_TWD if (!MSM_SMP && !EXYNOS4_MCT)
Russell King37ee16a2005-11-08 19:08:05 +00001693 help
1694 Enable support for local timers on SMP platforms, rather then the
1695 legacy IPI broadcast method. Local timers allows the system
1696 accounting to be spread across the timer interval, preventing a
1697 "thundering herd" at every timer tick.
1698
Peter De Schrijver (NVIDIA)44986ab2011-12-21 10:48:45 +01001699config ARCH_NR_GPIO
1700 int
Peter De Schrijver (NVIDIA)3dea19e2011-12-21 15:14:52 +01001701 default 1024 if ARCH_SHMOBILE || ARCH_TEGRA
Philippe Langlais70227a42012-02-13 10:51:22 +01001702 default 355 if ARCH_U8500
Paul Parsons9a01ec32012-02-27 01:58:45 +00001703 default 264 if MACH_H4700
Peter De Schrijver (NVIDIA)44986ab2011-12-21 10:48:45 +01001704 default 0
1705 help
1706 Maximum number of GPIOs in the system.
1707
1708 If unsure, leave the default value.
1709
Uwe Kleine-Königd45a3982009-08-13 20:38:17 +02001710source kernel/Kconfig.preempt
Linus Torvalds1da177e2005-04-16 15:20:36 -07001711
Russell Kingf8065812006-03-02 22:41:59 +00001712config HZ
1713 int
Kukjin Kimb130d5c2012-02-03 14:29:23 +09001714 default 200 if ARCH_EBSA110 || ARCH_S3C24XX || ARCH_S5P64X0 || \
Kukjin Kima73ddc62011-05-11 16:27:51 +09001715 ARCH_S5PV210 || ARCH_EXYNOS4
Russell Kingbfe65702006-03-04 11:01:53 +00001716 default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
David Brownell5248c652007-11-12 17:59:10 +01001717 default AT91_TIMER_HZ if ARCH_AT91
Magnus Damm5da3e712010-07-29 14:03:04 +01001718 default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
Russell Kingf8065812006-03-02 22:41:59 +00001719 default 100
1720
Catalin Marinas16c79652009-07-24 12:33:02 +01001721config THUMB2_KERNEL
Russell King4a50bfe2010-12-05 23:06:22 +00001722 bool "Compile the kernel in Thumb-2 mode (EXPERIMENTAL)"
Russell Kinge399b1a2011-01-17 15:08:32 +00001723 depends on CPU_V7 && !CPU_V6 && !CPU_V6K && EXPERIMENTAL
Catalin Marinas16c79652009-07-24 12:33:02 +01001724 select AEABI
1725 select ARM_ASM_UNIFIED
Arnd Bergmann89bace62011-06-10 14:12:21 +00001726 select ARM_UNWIND
Catalin Marinas16c79652009-07-24 12:33:02 +01001727 help
1728 By enabling this option, the kernel will be compiled in
1729 Thumb-2 mode. A compiler/assembler that understand the unified
1730 ARM-Thumb syntax is needed.
1731
1732 If unsure, say N.
1733
Dave Martin6f685c52011-03-03 11:41:12 +01001734config THUMB2_AVOID_R_ARM_THM_JUMP11
1735 bool "Work around buggy Thumb-2 short branch relocations in gas"
1736 depends on THUMB2_KERNEL && MODULES
1737 default y
1738 help
1739 Various binutils versions can resolve Thumb-2 branches to
1740 locally-defined, preemptible global symbols as short-range "b.n"
1741 branch instructions.
1742
1743 This is a problem, because there's no guarantee the final
1744 destination of the symbol, or any candidate locations for a
1745 trampoline, are within range of the branch. For this reason, the
1746 kernel does not support fixing up the R_ARM_THM_JUMP11 (102)
1747 relocation in modules at all, and it makes little sense to add
1748 support.
1749
1750 The symptom is that the kernel fails with an "unsupported
1751 relocation" error when loading some modules.
1752
1753 Until fixed tools are available, passing
1754 -fno-optimize-sibling-calls to gcc should prevent gcc generating
1755 code which hits this problem, at the cost of a bit of extra runtime
1756 stack usage in some cases.
1757
1758 The problem is described in more detail at:
1759 https://bugs.launchpad.net/binutils-linaro/+bug/725126
1760
1761 Only Thumb-2 kernels are affected.
1762
1763 Unless you are sure your tools don't have this problem, say Y.
1764
Catalin Marinas0becb082009-07-24 12:32:53 +01001765config ARM_ASM_UNIFIED
1766 bool
1767
Nicolas Pitre704bdda2006-01-14 16:33:50 +00001768config AEABI
1769 bool "Use the ARM EABI to compile the kernel"
1770 help
1771 This option allows for the kernel to be compiled using the latest
1772 ARM ABI (aka EABI). This is only useful if you are using a user
1773 space environment that is also compiled with EABI.
1774
1775 Since there are major incompatibilities between the legacy ABI and
1776 EABI, especially with regard to structure member alignment, this
1777 option also changes the kernel syscall calling convention to
1778 disambiguate both ABIs and allow for backward compatibility support
1779 (selected with CONFIG_OABI_COMPAT).
1780
1781 To use this you need GCC version 4.0.0 or later.
1782
Nicolas Pitre6c90c872006-01-14 16:37:15 +00001783config OABI_COMPAT
Russell Kinga73a3ff2006-02-08 21:09:55 +00001784 bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
Dave Martin9bc433a2011-02-11 16:41:20 +01001785 depends on AEABI && EXPERIMENTAL && !THUMB2_KERNEL
Jay Chokshi82024cc2012-12-14 16:02:42 -08001786 default y if !SMP
Nicolas Pitre6c90c872006-01-14 16:37:15 +00001787 help
1788 This option preserves the old syscall interface along with the
1789 new (ARM EABI) one. It also provides a compatibility layer to
1790 intercept syscalls that have structure arguments which layout
1791 in memory differs between the legacy ABI and the new ARM EABI
1792 (only for non "thumb" binaries). This option adds a tiny
1793 overhead to all syscalls and produces a slightly larger kernel.
1794 If you know you'll be using only pure EABI user space then you
1795 can say N here. If this option is not selected and you attempt
1796 to execute a legacy ABI binary then the result will be
1797 UNPREDICTABLE (in fact it can be predicted that it won't work
1798 at all). If in doubt say Y.
1799
Mel Gormaneb335752009-05-13 17:34:48 +01001800config ARCH_HAS_HOLES_MEMORYMODEL
Mel Gormane80d6a22008-08-14 11:10:14 +01001801 bool
Mel Gormane80d6a22008-08-14 11:10:14 +01001802
Russell King05944d72006-11-30 20:43:51 +00001803config ARCH_SPARSEMEM_ENABLE
1804 bool
1805
Russell King07a2f732008-10-01 21:39:58 +01001806config ARCH_SPARSEMEM_DEFAULT
1807 def_bool ARCH_SPARSEMEM_ENABLE
1808
Russell King05944d72006-11-30 20:43:51 +00001809config ARCH_SELECT_MEMORY_MODEL
Russell Kingbe370302010-05-07 17:40:33 +01001810 def_bool ARCH_SPARSEMEM_ENABLE
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07001811
Will Deacon7b7bf492011-05-19 13:21:14 +01001812config HAVE_ARCH_PFN_VALID
1813 def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM
1814
Nicolas Pitre053a96c2008-09-19 00:36:12 -04001815config HIGHMEM
Russell Kinge8db89a2011-05-12 09:53:05 +01001816 bool "High Memory Support"
1817 depends on MMU
Nicolas Pitre053a96c2008-09-19 00:36:12 -04001818 help
1819 The address space of ARM processors is only 4 Gigabytes large
1820 and it has to accommodate user address space, kernel address
1821 space as well as some memory mapped IO. That means that, if you
1822 have a large amount of physical memory and/or IO, not all of the
1823 memory can be "permanently mapped" by the kernel. The physical
1824 memory that is not permanently mapped is called "high memory".
1825
1826 Depending on the selected kernel/user memory split, minimum
1827 vmalloc space and actual amount of RAM, you may not need this
1828 option which should result in a slightly faster kernel.
1829
1830 If unsure, say n.
1831
Russell King65cec8e2009-08-17 20:02:06 +01001832config HIGHPTE
1833 bool "Allocate 2nd-level pagetables from highmem"
1834 depends on HIGHMEM
Russell King65cec8e2009-08-17 20:02:06 +01001835
Jamie Iles1b8873a2010-02-02 20:25:44 +01001836config HW_PERF_EVENTS
1837 bool "Enable hardware performance counter support for perf events"
Will Deaconfe166142010-04-30 11:37:51 +01001838 depends on PERF_EVENTS && CPU_HAS_PMU
Jamie Iles1b8873a2010-02-02 20:25:44 +01001839 default y
1840 help
1841 Enable hardware performance counter support for perf events. If
1842 disabled, perf events will use software events only.
1843
Dave Hansen3f22ab22005-06-23 00:07:43 -07001844source "mm/Kconfig"
1845
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001846config ARCH_MEMORY_PROBE
1847 def_bool n
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001848
1849config ARCH_MEMORY_REMOVE
1850 def_bool n
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07001851
Larry Basselb8d61022012-02-24 10:49:45 -08001852config ENABLE_DMM
1853 def_bool n
Larry Basselb8d61022012-02-24 10:49:45 -08001854
Larry Bassel150d5032011-09-20 14:32:13 -07001855config DONT_MAP_HOLE_AFTER_MEMBANK0
1856 def_bool n
Larry Bassel150d5032011-09-20 14:32:13 -07001857
Laura Abbott224d00c2012-03-30 13:16:07 -07001858config HOLES_IN_ZONE
1859 def_bool n
1860 depends on SPARSEMEM
1861
Magnus Dammc1b2d972010-07-05 10:00:11 +01001862config FORCE_MAX_ZONEORDER
1863 int "Maximum zone order" if ARCH_SHMOBILE
1864 range 11 64 if ARCH_SHMOBILE
1865 default "9" if SA1111
1866 default "11"
1867 help
1868 The kernel memory allocator divides physically contiguous memory
1869 blocks into "zones", where each zone is a power of two number of
1870 pages. This option selects the largest power of two that the kernel
1871 keeps in the memory allocator. If you need to allocate very large
1872 blocks of physically contiguous memory, then you may need to
1873 increase this value.
1874
1875 This config option is actually maximum order plus one. For example,
1876 a value of 11 means that the largest free memory block is 2^10 pages.
1877
Linus Torvalds1da177e2005-04-16 15:20:36 -07001878config LEDS
1879 bool "Timer and CPU usage LEDs"
Adrian Bunke055d5b2008-04-22 01:43:27 +01001880 depends on ARCH_CDB89712 || ARCH_EBSA110 || \
Sascha Hauer8c8fdbc2009-04-01 12:40:15 +02001881 ARCH_EBSA285 || ARCH_INTEGRATOR || \
Linus Torvalds1da177e2005-04-16 15:20:36 -07001882 ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
1883 ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
SAN People73a59c12006-01-09 17:05:41 +00001884 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
Jürgen Schindele25329672008-09-16 21:36:30 +01001885 ARCH_AT91 || ARCH_DAVINCI || \
Colin Tuckleyff3042f2009-05-30 13:56:13 +01001886 ARCH_KS8695 || MACH_RD88F5182 || ARCH_REALVIEW
Linus Torvalds1da177e2005-04-16 15:20:36 -07001887 help
1888 If you say Y here, the LEDs on your machine will be used
1889 to provide useful information about your current system status.
1890
1891 If you are compiling a kernel for a NetWinder or EBSA-285, you will
1892 be able to select which LEDs are active using the options below. If
1893 you are compiling a kernel for the EBSA-110 or the LART however, the
1894 red LED will simply flash regularly to indicate that the system is
1895 still functional. It is safe to say Y here if you have a CATS
1896 system, but the driver will do nothing.
1897
1898config LEDS_TIMER
1899 bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
David Brownelleebdf7d72007-04-02 12:48:10 -07001900 OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
1901 || MACH_OMAP_PERSEUS2
Linus Torvalds1da177e2005-04-16 15:20:36 -07001902 depends on LEDS
Kevin Hilman0567a0c2007-03-13 20:29:24 +01001903 depends on !GENERIC_CLOCKEVENTS
Linus Torvalds1da177e2005-04-16 15:20:36 -07001904 default y if ARCH_EBSA110
1905 help
1906 If you say Y here, one of the system LEDs (the green one on the
1907 NetWinder, the amber one on the EBSA285, or the red one on the LART)
1908 will flash regularly to indicate that the system is still
1909 operational. This is mainly useful to kernel hackers who are
1910 debugging unstable kernels.
1911
1912 The LART uses the same LED for both Timer LED and CPU usage LED
1913 functions. You may choose to use both, but the Timer LED function
1914 will overrule the CPU usage LED.
1915
1916config LEDS_CPU
1917 bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
David Brownelleebdf7d72007-04-02 12:48:10 -07001918 !ARCH_OMAP) \
1919 || OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
1920 || MACH_OMAP_PERSEUS2
Linus Torvalds1da177e2005-04-16 15:20:36 -07001921 depends on LEDS
1922 help
1923 If you say Y here, the red LED will be used to give a good real
1924 time indication of CPU usage, by lighting whenever the idle task
1925 is not currently executing.
1926
1927 The LART uses the same LED for both Timer LED and CPU usage LED
1928 functions. You may choose to use both, but the Timer LED function
1929 will overrule the CPU usage LED.
1930
1931config ALIGNMENT_TRAP
1932 bool
Hyok S. Choif12d0d72006-09-26 17:36:37 +09001933 depends on CPU_CP15_MMU
Linus Torvalds1da177e2005-04-16 15:20:36 -07001934 default y if !ARCH_EBSA110
Russell Kinge119bff2010-01-10 17:23:29 +00001935 select HAVE_PROC_CPU if PROC_FS
Linus Torvalds1da177e2005-04-16 15:20:36 -07001936 help
Matt LaPlante84eb8d02006-10-03 22:53:09 +02001937 ARM processors cannot fetch/store information which is not
Linus Torvalds1da177e2005-04-16 15:20:36 -07001938 naturally aligned on the bus, i.e., a 4 byte fetch must start at an
1939 address divisible by 4. On 32-bit ARM processors, these non-aligned
1940 fetch/store instructions will be emulated in software if you say
1941 here, which has a severe performance impact. This is necessary for
1942 correct operation of some network protocols. With an IP-only
1943 configuration it is safe to say N, otherwise say Y.
1944
Lennert Buytenhek39ec58f2009-03-09 14:30:09 -04001945config UACCESS_WITH_MEMCPY
1946 bool "Use kernel mem{cpy,set}() for {copy_to,clear}_user() (EXPERIMENTAL)"
1947 depends on MMU && EXPERIMENTAL
1948 default y if CPU_FEROCEON
1949 help
1950 Implement faster copy_to_user and clear_user methods for CPU
1951 cores where a 8-word STM instruction give significantly higher
1952 memory write throughput than a sequence of individual 32bit stores.
1953
1954 A possible side effect is a slight increase in scheduling latency
1955 between threads sharing the same address space if they invoke
1956 such copy operations with large buffers.
1957
1958 However, if the CPU data cache is using a write-allocate mode,
1959 this option is unlikely to provide any performance gain.
1960
Nicolas Pitre70c70d92010-08-26 15:08:35 -07001961config SECCOMP
1962 bool
1963 prompt "Enable seccomp to safely compute untrusted bytecode"
1964 ---help---
1965 This kernel feature is useful for number crunching applications
1966 that may need to compute untrusted bytecode during their
1967 execution. By using pipes or other transports made available to
1968 the process as file descriptors supporting the read/write
1969 syscalls, it's possible to isolate those applications in
1970 their own address space using seccomp. Once seccomp is
1971 enabled via prctl(PR_SET_SECCOMP), it cannot be disabled
1972 and the task is only allowed to execute a few safe syscalls
1973 defined by each seccomp mode.
1974
Nicolas Pitrec743f382010-05-24 23:55:42 -04001975config CC_STACKPROTECTOR
1976 bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
Russell King4a50bfe2010-12-05 23:06:22 +00001977 depends on EXPERIMENTAL
Nicolas Pitrec743f382010-05-24 23:55:42 -04001978 help
1979 This option turns on the -fstack-protector GCC feature. This
1980 feature puts, at the beginning of functions, a canary value on
1981 the stack just before the return address, and validates
1982 the value just before actually returning. Stack based buffer
1983 overflows (that need to overwrite this return address) now also
1984 overwrite the canary, which gets detected and the attack is then
1985 neutralized via a kernel panic.
1986 This feature requires gcc version 4.2 or above.
1987
Uwe Kleine-König73a65b32010-01-19 10:13:14 +01001988config DEPRECATED_PARAM_STRUCT
1989 bool "Provide old way to pass kernel parameters"
1990 help
1991 This was deprecated in 2001 and announced to live on for 5 years.
1992 Some old boot loaders still use this way.
1993
Dima Zavin2d1fe032011-08-23 15:56:50 -07001994config ARM_FLUSH_CONSOLE_ON_RESTART
1995 bool "Force flush the console on restart"
1996 help
1997 If the console is locked while the system is rebooted, the messages
1998 in the temporary logbuffer would not have propogated to all the
1999 console drivers. This option forces the console lock to be
2000 released if it failed to be acquired, which will cause all the
2001 pending messages to be flushed.
2002
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07002003config CP_ACCESS
2004 tristate "CP register access tool"
2005 default m
2006 help
2007 Provide support for Coprocessor register access using /sys
2008 interface. Read and write to CP registers from userspace
2009 through sysfs interface. A sys file (cp_rw) will be created under
Neil Leeder16661a62013-01-25 09:06:17 -05002010 /sys/devices/cpaccess/cpaccess0.
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07002011
2012 If unsure, say N.
2013
Linus Torvalds1da177e2005-04-16 15:20:36 -07002014endmenu
2015
2016menu "Boot options"
2017
Grant Likely9eb8f672011-04-28 14:27:20 -06002018config USE_OF
2019 bool "Flattened Device Tree support"
2020 select OF
2021 select OF_EARLY_FLATTREE
Grant Likely08a543a2011-07-26 03:19:06 -06002022 select IRQ_DOMAIN
Grant Likely9eb8f672011-04-28 14:27:20 -06002023 help
2024 Include support for flattened device tree machine descriptions.
2025
Colin Cross21b3b052013-04-17 16:58:36 -07002026config BUILD_ARM_APPENDED_DTB_IMAGE
2027 bool "Build a concatenated zImage/dtb by default"
2028 depends on OF
2029 help
2030 Enabling this option will cause a concatenated zImage and list of
2031 DTBs to be built by default (instead of a standalone zImage.)
2032 The image will built in arch/arm/boot/zImage-dtb
2033
2034config BUILD_ARM_APPENDED_DTB_IMAGE_NAMES
2035 string "Default dtb names"
2036 depends on BUILD_ARM_APPENDED_DTB_IMAGE
2037 help
2038 Space separated list of names of dtbs to append when
2039 building a concatenated zImage-dtb.
2040
Linus Torvalds1da177e2005-04-16 15:20:36 -07002041# Compressed boot loader in ROM. Yes, we really want to ask about
2042# TEXT and BSS so we preserve their values in the config files.
2043config ZBOOT_ROM_TEXT
2044 hex "Compressed ROM boot loader base address"
2045 default "0"
2046 help
2047 The physical address at which the ROM-able zImage is to be
2048 placed in the target. Platforms which normally make use of
2049 ROM-able zImage formats normally set this to a suitable
2050 value in their defconfig file.
2051
2052 If ZBOOT_ROM is not enabled, this has no effect.
2053
2054config ZBOOT_ROM_BSS
2055 hex "Compressed ROM boot loader BSS address"
2056 default "0"
2057 help
Dan Fandrichf8c440b2006-09-20 23:28:51 +01002058 The base address of an area of read/write memory in the target
2059 for the ROM-able zImage which must be available while the
2060 decompressor is running. It must be large enough to hold the
2061 entire decompressed kernel plus an additional 128 KiB.
2062 Platforms which normally make use of ROM-able zImage formats
2063 normally set this to a suitable value in their defconfig file.
Linus Torvalds1da177e2005-04-16 15:20:36 -07002064
2065 If ZBOOT_ROM is not enabled, this has no effect.
2066
2067config ZBOOT_ROM
2068 bool "Compressed boot loader in ROM/flash"
2069 depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
2070 help
2071 Say Y here if you intend to execute your compressed kernel image
2072 (zImage) directly from ROM or flash. If unsure, say N.
2073
Simon Horman090ab3f2011-04-26 06:29:53 +01002074choice
2075 prompt "Include SD/MMC loader in zImage (EXPERIMENTAL)"
2076 depends on ZBOOT_ROM && ARCH_SH7372 && EXPERIMENTAL
2077 default ZBOOT_ROM_NONE
2078 help
2079 Include experimental SD/MMC loading code in the ROM-able zImage.
2080 With this enabled it is possible to write the the ROM-able zImage
2081 kernel image to an MMC or SD card and boot the kernel straight
2082 from the reset vector. At reset the processor Mask ROM will load
2083 the first part of the the ROM-able zImage which in turn loads the
2084 rest the kernel image to RAM.
2085
2086config ZBOOT_ROM_NONE
2087 bool "No SD/MMC loader in zImage (EXPERIMENTAL)"
2088 help
2089 Do not load image from SD or MMC
2090
Simon Hormanf45b1142011-01-11 04:01:08 +01002091config ZBOOT_ROM_MMCIF
2092 bool "Include MMCIF loader in zImage (EXPERIMENTAL)"
Simon Hormanf45b1142011-01-11 04:01:08 +01002093 help
Simon Horman090ab3f2011-04-26 06:29:53 +01002094 Load image from MMCIF hardware block.
2095
2096config ZBOOT_ROM_SH_MOBILE_SDHI
2097 bool "Include SuperH Mobile SDHI loader in zImage (EXPERIMENTAL)"
2098 help
2099 Load image from SDHI hardware block
2100
2101endchoice
Simon Hormanf45b1142011-01-11 04:01:08 +01002102
John Bonesioe2a6a3a2011-05-27 18:45:50 -04002103config ARM_APPENDED_DTB
2104 bool "Use appended device tree blob to zImage (EXPERIMENTAL)"
2105 depends on OF && !ZBOOT_ROM && EXPERIMENTAL
2106 help
2107 With this option, the boot code will look for a device tree binary
2108 (DTB) appended to zImage
2109 (e.g. cat zImage <filename>.dtb > zImage_w_dtb).
2110
2111 This is meant as a backward compatibility convenience for those
2112 systems with a bootloader that can't be upgraded to accommodate
2113 the documented boot protocol using a device tree.
2114
2115 Beware that there is very little in terms of protection against
2116 this option being confused by leftover garbage in memory that might
2117 look like a DTB header after a reboot if no actual DTB is appended
2118 to zImage. Do not leave this option active in a production kernel
2119 if you don't intend to always append a DTB. Proper passing of the
2120 location into r2 of a bootloader provided DTB is always preferable
2121 to this option.
2122
Nicolas Pitreb90b9a32011-09-13 22:37:07 -04002123config ARM_ATAG_DTB_COMPAT
2124 bool "Supplement the appended DTB with traditional ATAG information"
2125 depends on ARM_APPENDED_DTB
2126 help
2127 Some old bootloaders can't be updated to a DTB capable one, yet
2128 they provide ATAGs with memory configuration, the ramdisk address,
2129 the kernel cmdline string, etc. Such information is dynamically
2130 provided by the bootloader and can't always be stored in a static
2131 DTB. To allow a device tree enabled kernel to be used with such
2132 bootloaders, this option allows zImage to extract the information
2133 from the ATAG list and store it at run time into the appended DTB.
2134
Linus Torvalds1da177e2005-04-16 15:20:36 -07002135config CMDLINE
2136 string "Default kernel command string"
2137 default ""
2138 help
2139 On some architectures (EBSA110 and CATS), there is currently no way
2140 for the boot loader to pass arguments to the kernel. For these
2141 architectures, you should supply some command-line options at build
2142 time by entering them here. As a minimum, you should specify the
2143 memory size and the root device (e.g., mem=64M root=/dev/nfs).
2144
Victor Boivie4394c122011-05-04 17:07:55 +01002145choice
2146 prompt "Kernel command line type" if CMDLINE != ""
2147 default CMDLINE_FROM_BOOTLOADER
2148
2149config CMDLINE_FROM_BOOTLOADER
2150 bool "Use bootloader kernel arguments if available"
2151 help
2152 Uses the command-line options passed by the boot loader. If
2153 the boot loader doesn't provide any, the default kernel command
2154 string provided in CMDLINE will be used.
2155
2156config CMDLINE_EXTEND
2157 bool "Extend bootloader kernel arguments"
2158 help
2159 The command-line arguments provided by the boot loader will be
2160 appended to the default kernel command string.
2161
Alexander Holler92d20402010-02-16 19:04:53 +01002162config CMDLINE_FORCE
2163 bool "Always use the default kernel command string"
Alexander Holler92d20402010-02-16 19:04:53 +01002164 help
2165 Always use the default kernel command string, even if the boot
2166 loader passes other arguments to the kernel.
2167 This is useful if you cannot or don't want to change the
2168 command-line options your boot loader passes to the kernel.
Victor Boivie4394c122011-05-04 17:07:55 +01002169endchoice
Alexander Holler92d20402010-02-16 19:04:53 +01002170
Linus Torvalds1da177e2005-04-16 15:20:36 -07002171config XIP_KERNEL
2172 bool "Kernel Execute-In-Place from ROM"
Catalin Marinas497b7e92011-11-22 17:30:32 +00002173 depends on !ZBOOT_ROM && !ARM_LPAE
Linus Torvalds1da177e2005-04-16 15:20:36 -07002174 help
2175 Execute-In-Place allows the kernel to run from non-volatile storage
2176 directly addressable by the CPU, such as NOR flash. This saves RAM
2177 space since the text section of the kernel is not loaded from flash
2178 to RAM. Read-write sections, such as the data section and stack,
2179 are still copied to RAM. The XIP kernel is not compressed since
2180 it has to run directly from flash, so it will take more space to
2181 store it. The flash address used to link the kernel object files,
2182 and for storing it, is configuration dependent. Therefore, if you
2183 say Y here, you must know the proper physical address where to
2184 store the kernel image depending on your own flash memory usage.
2185
2186 Also note that the make target becomes "make xipImage" rather than
2187 "make zImage" or "make Image". The final kernel binary to put in
2188 ROM memory will be arch/arm/boot/xipImage.
2189
2190 If unsure, say N.
2191
2192config XIP_PHYS_ADDR
2193 hex "XIP Kernel Physical Location"
2194 depends on XIP_KERNEL
2195 default "0x00080000"
2196 help
2197 This is the physical address in your flash memory the kernel will
2198 be linked for and stored to. This address is dependent on your
2199 own flash usage.
2200
Richard Purdiec587e4a2007-02-06 21:29:00 +01002201config KEXEC
2202 bool "Kexec system call (EXPERIMENTAL)"
Will Deacon02b73e22011-06-06 15:49:23 +01002203 depends on EXPERIMENTAL && (!SMP || HOTPLUG_CPU)
Richard Purdiec587e4a2007-02-06 21:29:00 +01002204 help
2205 kexec is a system call that implements the ability to shutdown your
2206 current kernel, and to start another kernel. It is like a reboot
Matt LaPlante01dd2fb2007-10-20 01:34:40 +02002207 but it is independent of the system firmware. And like a reboot
Richard Purdiec587e4a2007-02-06 21:29:00 +01002208 you can start any kernel with it, not just Linux.
2209
2210 It is an ongoing process to be certain the hardware in a machine
2211 is properly shutdown, so do not be surprised if this code does not
2212 initially work for you. It may help to enable device hotplugging
2213 support.
2214
Richard Purdie4cd9d6f2008-01-02 00:56:46 +01002215config ATAGS_PROC
2216 bool "Export atags in procfs"
Uli Luckasb98d7292008-02-22 16:45:18 +01002217 depends on KEXEC
2218 default y
Richard Purdie4cd9d6f2008-01-02 00:56:46 +01002219 help
2220 Should the atags used to boot the kernel be exported in an "atags"
2221 file in procfs. Useful with kexec.
2222
Mika Westerbergcb5d39b2010-11-18 19:14:52 +01002223config CRASH_DUMP
2224 bool "Build kdump crash kernel (EXPERIMENTAL)"
2225 depends on EXPERIMENTAL
2226 help
2227 Generate crash dump after being started by kexec. This should
2228 be normally only set in special crash dump kernels which are
2229 loaded in the main kernel with kexec-tools into a specially
2230 reserved region and then later executed after a crash by
2231 kdump/kexec. The crash dump kernel must be compiled to a
2232 memory address not used by the main kernel
2233
2234 For more details see Documentation/kdump/kdump.txt
2235
Eric Miaoe69edc792010-07-05 15:56:50 +02002236config AUTO_ZRELADDR
2237 bool "Auto calculation of the decompressed kernel image address"
2238 depends on !ZBOOT_ROM && !ARCH_U300
2239 help
2240 ZRELADDR is the physical address where the decompressed kernel
2241 image will be placed. If AUTO_ZRELADDR is selected, the address
2242 will be determined at run-time by masking the current IP with
2243 0xf8000000. This assumes the zImage being placed in the first 128MB
2244 from start of memory.
2245
Linus Torvalds1da177e2005-04-16 15:20:36 -07002246endmenu
2247
Russell Kingac9d7ef2008-08-18 17:26:00 +01002248menu "CPU Power Management"
Linus Torvalds1da177e2005-04-16 15:20:36 -07002249
Ben Dooks89c52ed2009-07-30 23:23:24 +01002250if ARCH_HAS_CPUFREQ
Linus Torvalds1da177e2005-04-16 15:20:36 -07002251
2252source "drivers/cpufreq/Kconfig"
2253
Yong Shen64f102b2010-10-21 21:18:59 +08002254config CPU_FREQ_IMX
2255 tristate "CPUfreq driver for i.MX CPUs"
2256 depends on ARCH_MXC && CPU_FREQ
2257 help
2258 This enables the CPUfreq driver for i.MX CPUs.
2259
Linus Torvalds1da177e2005-04-16 15:20:36 -07002260config CPU_FREQ_SA1100
2261 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002262
2263config CPU_FREQ_SA1110
2264 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07002265
2266config CPU_FREQ_INTEGRATOR
2267 tristate "CPUfreq driver for ARM Integrator CPUs"
2268 depends on ARCH_INTEGRATOR && CPU_FREQ
2269 default y
2270 help
2271 This enables the CPUfreq driver for ARM Integrator CPUs.
2272
2273 For details, take a look at <file:Documentation/cpu-freq>.
2274
2275 If in doubt, say Y.
2276
Russell King9e2697f2007-12-14 13:30:14 +00002277config CPU_FREQ_PXA
2278 bool
2279 depends on CPU_FREQ && ARCH_PXA && PXA25x
2280 default y
Arnd Bergmannca7d1562011-10-01 22:03:51 +02002281 select CPU_FREQ_TABLE
Russell King9e2697f2007-12-14 13:30:14 +00002282 select CPU_FREQ_DEFAULT_GOV_USERSPACE
2283
Ben Dooks9d56c022009-07-30 23:23:25 +01002284config CPU_FREQ_S3C
2285 bool
2286 help
2287 Internal configuration node for common cpufreq on Samsung SoC
2288
2289config CPU_FREQ_S3C24XX
Russell King4a50bfe2010-12-05 23:06:22 +00002290 bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)"
Kukjin Kimb130d5c2012-02-03 14:29:23 +09002291 depends on ARCH_S3C24XX && CPU_FREQ && EXPERIMENTAL
Ben Dooks9d56c022009-07-30 23:23:25 +01002292 select CPU_FREQ_S3C
2293 help
2294 This enables the CPUfreq driver for the Samsung S3C24XX family
2295 of CPUs.
2296
2297 For details, take a look at <file:Documentation/cpu-freq>.
2298
2299 If in doubt, say N.
2300
2301config CPU_FREQ_S3C24XX_PLL
Russell King4a50bfe2010-12-05 23:06:22 +00002302 bool "Support CPUfreq changing of PLL frequency (EXPERIMENTAL)"
Ben Dooks9d56c022009-07-30 23:23:25 +01002303 depends on CPU_FREQ_S3C24XX && EXPERIMENTAL
2304 help
2305 Compile in support for changing the PLL frequency from the
2306 S3C24XX series CPUfreq driver. The PLL takes time to settle
2307 after a frequency change, so by default it is not enabled.
2308
2309 This also means that the PLL tables for the selected CPU(s) will
2310 be built which may increase the size of the kernel image.
2311
2312config CPU_FREQ_S3C24XX_DEBUG
2313 bool "Debug CPUfreq Samsung driver core"
2314 depends on CPU_FREQ_S3C24XX
2315 help
2316 Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
2317
2318config CPU_FREQ_S3C24XX_IODEBUG
2319 bool "Debug CPUfreq Samsung driver IO timing"
2320 depends on CPU_FREQ_S3C24XX
2321 help
2322 Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
2323
Ben Dookse6d197a2009-07-30 23:23:42 +01002324config CPU_FREQ_S3C24XX_DEBUGFS
2325 bool "Export debugfs for CPUFreq"
2326 depends on CPU_FREQ_S3C24XX && DEBUG_FS
2327 help
2328 Export status information via debugfs.
2329
Linus Torvalds1da177e2005-04-16 15:20:36 -07002330endif
2331
Russell Kingac9d7ef2008-08-18 17:26:00 +01002332source "drivers/cpuidle/Kconfig"
2333
2334endmenu
2335
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -07002336config CPU_FREQ_MSM
2337 bool
2338 depends on CPU_FREQ && ARCH_MSM
2339 default y
2340 help
2341 This enables the CPUFreq driver for Qualcomm CPUs.
2342 If in doubt, say Y.
2343
Linus Torvalds1da177e2005-04-16 15:20:36 -07002344menu "Floating point emulation"
2345
2346comment "At least one emulation must be selected"
2347
2348config FPE_NWFPE
2349 bool "NWFPE math emulation"
Dave Martin593c2522010-12-13 21:56:03 +01002350 depends on (!AEABI || OABI_COMPAT) && !THUMB2_KERNEL
Linus Torvalds1da177e2005-04-16 15:20:36 -07002351 ---help---
2352 Say Y to include the NWFPE floating point emulator in the kernel.
2353 This is necessary to run most binaries. Linux does not currently
2354 support floating point hardware so you need to say Y here even if
2355 your machine has an FPA or floating point co-processor podule.
2356
2357 You may say N here if you are going to load the Acorn FPEmulator
2358 early in the bootup.
2359
2360config FPE_NWFPE_XP
2361 bool "Support extended precision"
Lennert Buytenhekbedf1422005-11-07 21:12:08 +00002362 depends on FPE_NWFPE
Linus Torvalds1da177e2005-04-16 15:20:36 -07002363 help
2364 Say Y to include 80-bit support in the kernel floating-point
2365 emulator. Otherwise, only 32 and 64-bit support is compiled in.
2366 Note that gcc does not generate 80-bit operations by default,
2367 so in most cases this option only enlarges the size of the
2368 floating point emulator without any good reason.
2369
2370 You almost surely want to say N here.
2371
2372config FPE_FASTFPE
2373 bool "FastFPE math emulation (EXPERIMENTAL)"
Nicolas Pitre8993a442006-01-14 16:36:50 +00002374 depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL
Linus Torvalds1da177e2005-04-16 15:20:36 -07002375 ---help---
2376 Say Y here to include the FAST floating point emulator in the kernel.
2377 This is an experimental much faster emulator which now also has full
2378 precision for the mantissa. It does not support any exceptions.
2379 It is very simple, and approximately 3-6 times faster than NWFPE.
2380
2381 It should be sufficient for most programs. It may be not suitable
2382 for scientific calculations, but you have to check this for yourself.
2383 If you do not feel you need a faster FP emulation you should better
2384 choose NWFPE.
2385
2386config VFP
2387 bool "VFP-format floating point maths"
Russell Kinge399b1a2011-01-17 15:08:32 +00002388 depends on CPU_V6 || CPU_V6K || CPU_ARM926T || CPU_V7 || CPU_FEROCEON
Linus Torvalds1da177e2005-04-16 15:20:36 -07002389 help
2390 Say Y to include VFP support code in the kernel. This is needed
2391 if your hardware includes a VFP unit.
2392
2393 Please see <file:Documentation/arm/VFP/release-notes.txt> for
2394 release notes and additional status information.
2395
2396 Say N if your target does not have VFP hardware.
2397
Catalin Marinas25ebee02007-09-25 15:22:24 +01002398config VFPv3
2399 bool
2400 depends on VFP
2401 default y if CPU_V7
2402
Catalin Marinasb5872db2008-01-10 19:16:17 +01002403config NEON
2404 bool "Advanced SIMD (NEON) Extension support"
2405 depends on VFPv3 && CPU_V7
2406 help
2407 Say Y to include support code for NEON, the ARMv7 Advanced SIMD
2408 Extension.
2409
Linus Torvalds1da177e2005-04-16 15:20:36 -07002410endmenu
2411
2412menu "Userspace binary formats"
2413
2414source "fs/Kconfig.binfmt"
2415
2416config ARTHUR
2417 tristate "RISC OS personality"
Nicolas Pitre704bdda2006-01-14 16:33:50 +00002418 depends on !AEABI
Linus Torvalds1da177e2005-04-16 15:20:36 -07002419 help
2420 Say Y here to include the kernel code necessary if you want to run
2421 Acorn RISC OS/Arthur binaries under Linux. This code is still very
2422 experimental; if this sounds frightening, say N and sleep in peace.
2423 You can also say M here to compile this support as a module (which
2424 will be called arthur).
2425
2426endmenu
2427
2428menu "Power management options"
2429
Russell Kingeceab4a2005-11-15 11:31:41 +00002430source "kernel/power/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -07002431
Johannes Bergf4cb5702007-12-08 02:14:00 +01002432config ARCH_SUSPEND_POSSIBLE
Steve Mucklef132c6c2012-06-06 18:30:57 -07002433 depends on !ARCH_S5PC100 && !ARCH_FSM9XXX
Russell King6a786182011-04-02 10:15:28 +01002434 depends on CPU_ARM920T || CPU_ARM926T || CPU_SA1100 || \
2435 CPU_V6 || CPU_V6K || CPU_V7 || CPU_XSC3 || CPU_XSCALE
Johannes Bergf4cb5702007-12-08 02:14:00 +01002436 def_bool y
2437
Arnd Bergmann15e0d9e2011-10-01 21:09:39 +02002438config ARM_CPU_SUSPEND
2439 def_bool PM_SLEEP
2440
Linus Torvalds1da177e2005-04-16 15:20:36 -07002441endmenu
2442
Sam Ravnborgd5950b42005-07-11 21:03:49 -07002443source "net/Kconfig"
2444
Uwe Kleine-Königac251502009-08-13 21:09:21 +02002445source "drivers/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -07002446
2447source "fs/Kconfig"
2448
Linus Torvalds1da177e2005-04-16 15:20:36 -07002449source "arch/arm/Kconfig.debug"
2450
2451source "security/Kconfig"
2452
2453source "crypto/Kconfig"
2454
2455source "lib/Kconfig"