blob: 04247ba31d69d0bad5d5ef92866c855aac144094 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
6mainmenu "Linux Kernel Configuration"
7
8config ARM
9 bool
10 default y
David Woodhousee17c6d52008-06-17 12:19:34 +010011 select HAVE_AOUT
Adrian Bunk2064c942008-04-28 23:44:43 +020012 select HAVE_IDE
Alessandro Zummo12b824f2006-03-27 01:16:35 -080013 select RTC_LIB
Ralf Baechle75e71532007-02-09 17:08:58 +000014 select SYS_SUPPORTS_APM_EMULATION
Will Deacon24b44a62010-01-20 19:05:07 +010015 select GENERIC_ATOMIC64 if (!CPU_32v6K)
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050016 select HAVE_OPROFILE
Jason Wessel5cbad0e2008-02-20 13:33:40 -060017 select HAVE_ARCH_KGDB
Mathieu Desnoyers3f550092008-02-02 15:10:35 -050018 select HAVE_KPROBES if (!XIP_KERNEL)
Ananth N Mavinakayanahalli9edddaa2008-03-04 14:28:37 -080019 select HAVE_KRETPROBES if (HAVE_KPROBES)
Steven Rostedt606576c2008-10-06 19:06:12 -040020 select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)
Dmitry Baryshkov1fe53262008-07-18 13:30:14 +040021 select HAVE_GENERIC_DMA_COHERENT
Albin Tonnerree7db7b42010-01-08 14:42:43 -080022 select HAVE_KERNEL_GZIP
23 select HAVE_KERNEL_LZO
Linus Torvalds1da177e2005-04-16 15:20:36 -070024 help
25 The ARM series is a line of low-power-consumption RISC chip designs
Martin Michlmayrf6c89652006-02-08 21:09:07 +000026 licensed by ARM Ltd and targeted at embedded applications and
Linus Torvalds1da177e2005-04-16 15:20:36 -070027 handhelds such as the Compaq IPAQ. ARM-based PCs are no longer
Martin Michlmayrf6c89652006-02-08 21:09:07 +000028 manufactured, but legacy ARM-based PC hardware remains popular in
Linus Torvalds1da177e2005-04-16 15:20:36 -070029 Europe. There is an ARM Linux project with a web page at
30 <http://www.arm.linux.org.uk/>.
31
Russell King1a189b92008-04-13 21:41:55 +010032config HAVE_PWM
33 bool
34
Ralf Baechle75e71532007-02-09 17:08:58 +000035config SYS_SUPPORTS_APM_EMULATION
36 bool
37
David Brownell0a938b92007-03-05 00:30:18 -080038config GENERIC_GPIO
39 bool
David Brownell0a938b92007-03-05 00:30:18 -080040
Kevin Hilman746140c2006-09-22 00:16:30 +010041config GENERIC_TIME
42 bool
Kevin Hilman746140c2006-09-22 00:16:30 +010043
Kevin Hilman0567a0c2007-03-13 20:29:24 +010044config GENERIC_CLOCKEVENTS
45 bool
Kevin Hilman0567a0c2007-03-13 20:29:24 +010046
Catalin Marinasa8655e82008-02-04 17:30:57 +010047config GENERIC_CLOCKEVENTS_BROADCAST
48 bool
49 depends on GENERIC_CLOCKEVENTS
50 default y if SMP && !LOCAL_TIMERS
51
Linus Walleijbc581772009-09-15 17:30:37 +010052config HAVE_TCM
53 bool
54 select GENERIC_ALLOCATOR
55
Russell Kinge119bff2010-01-10 17:23:29 +000056config HAVE_PROC_CPU
57 bool
58
Al Viro5ea81762007-02-11 15:41:31 +000059config NO_IOPORT
60 bool
Al Viro5ea81762007-02-11 15:41:31 +000061
Linus Torvalds1da177e2005-04-16 15:20:36 -070062config EISA
63 bool
64 ---help---
65 The Extended Industry Standard Architecture (EISA) bus was
66 developed as an open alternative to the IBM MicroChannel bus.
67
68 The EISA bus provided some of the features of the IBM MicroChannel
69 bus while maintaining backward compatibility with cards made for
70 the older ISA bus. The EISA bus saw limited use between 1988 and
71 1995 when it was made obsolete by the PCI bus.
72
73 Say Y here if you are building a kernel for an EISA-based machine.
74
75 Otherwise, say N.
76
77config SBUS
78 bool
79
80config MCA
81 bool
82 help
83 MicroChannel Architecture is found in some IBM PS/2 machines and
84 laptops. It is a bus system similar to PCI or ISA. See
85 <file:Documentation/mca.txt> (and especially the web page given
86 there) before attempting to build an MCA bus kernel.
87
Thomas Gleixner4a2581a2006-07-01 22:30:09 +010088config GENERIC_HARDIRQS
89 bool
90 default y
91
Russell Kingf16fb1e2007-04-28 09:59:37 +010092config STACKTRACE_SUPPORT
93 bool
94 default y
95
Nicolas Pitref76e9152008-04-24 01:31:46 -040096config HAVE_LATENCYTOP_SUPPORT
97 bool
98 depends on !SMP
99 default y
100
Russell Kingf16fb1e2007-04-28 09:59:37 +0100101config LOCKDEP_SUPPORT
102 bool
103 default y
104
Russell King7ad1bcb2006-08-27 12:07:02 +0100105config TRACE_IRQFLAGS_SUPPORT
106 bool
107 default y
108
Thomas Gleixner4a2581a2006-07-01 22:30:09 +0100109config HARDIRQS_SW_RESEND
110 bool
111 default y
112
113config GENERIC_IRQ_PROBE
114 bool
115 default y
116
Nick Piggin95c354f2008-01-30 13:31:20 +0100117config GENERIC_LOCKBREAK
118 bool
119 default y
120 depends on SMP && PREEMPT
121
Linus Torvalds1da177e2005-04-16 15:20:36 -0700122config RWSEM_GENERIC_SPINLOCK
123 bool
124 default y
125
126config RWSEM_XCHGADD_ALGORITHM
127 bool
128
David Howellsf0d1b0b2006-12-08 02:37:49 -0800129config ARCH_HAS_ILOG2_U32
130 bool
David Howellsf0d1b0b2006-12-08 02:37:49 -0800131
132config ARCH_HAS_ILOG2_U64
133 bool
David Howellsf0d1b0b2006-12-08 02:37:49 -0800134
Ben Dooks89c52ed2009-07-30 23:23:24 +0100135config ARCH_HAS_CPUFREQ
136 bool
137 help
138 Internal node to signify that the ARCH has CPUFREQ support
139 and that the relevant menu configurations are displayed for
140 it.
141
Akinobu Mitab89c3b12006-03-26 01:39:19 -0800142config GENERIC_HWEIGHT
143 bool
144 default y
145
Linus Torvalds1da177e2005-04-16 15:20:36 -0700146config GENERIC_CALIBRATE_DELAY
147 bool
148 default y
149
viro@ZenIV.linux.org.uka08b6b72005-09-06 01:48:42 +0100150config ARCH_MAY_HAVE_PC_FDC
151 bool
152
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800153config ZONE_DMA
154 bool
Christoph Lameter5ac6da62007-02-10 01:43:14 -0800155
Linus Torvalds1da177e2005-04-16 15:20:36 -0700156config GENERIC_ISA_DMA
157 bool
158
Linus Torvalds1da177e2005-04-16 15:20:36 -0700159config FIQ
160 bool
161
Al Viro034d2f52005-12-19 16:27:59 -0500162config ARCH_MTD_XIP
163 bool
164
Paulius Zaleckas60a752e2008-06-25 13:33:14 +0100165config GENERIC_HARDIRQS_NO__DO_IRQ
Paulius Zaleckas60a752e2008-06-25 13:33:14 +0100166 def_bool y
167
Kukjin Kimd6d502f2010-02-22 00:02:59 +0100168config ARM_L1_CACHE_SHIFT_6
169 bool
170 help
171 Setting ARM L1 cache line size to 64 Bytes.
172
Mathieu Desnoyersc0ffa3a2008-02-02 15:10:32 -0500173if OPROFILE
174
175config OPROFILE_ARMV6
176 def_bool y
177 depends on CPU_V6 && !SMP
178 select OPROFILE_ARM11_CORE
179
180config OPROFILE_MPCORE
181 def_bool y
182 depends on CPU_V6 && SMP
183 select OPROFILE_ARM11_CORE
184
185config OPROFILE_ARM11_CORE
186 bool
187
Jean PIHETd7ac4e22008-08-12 19:07:39 +0100188config OPROFILE_ARMV7
189 def_bool y
190 depends on CPU_V7 && !SMP
191 bool
192
Mathieu Desnoyersc0ffa3a2008-02-02 15:10:32 -0500193endif
194
Hyok S. Choic760fc12006-03-27 15:18:50 +0100195config VECTORS_BASE
196 hex
Hyok S. Choi6afd6fa2006-09-28 21:46:34 +0900197 default 0xffff0000 if MMU || CPU_HIGH_VECTOR
Hyok S. Choic760fc12006-03-27 15:18:50 +0100198 default DRAM_BASE if REMAP_VECTORS_TO_RAM
199 default 0x00000000
200 help
201 The base address of exception vectors.
202
Linus Torvalds1da177e2005-04-16 15:20:36 -0700203source "init/Kconfig"
204
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700205source "kernel/Kconfig.freezer"
206
Linus Torvalds1da177e2005-04-16 15:20:36 -0700207menu "System Type"
208
Hyok S. Choi3c427972009-07-24 12:35:00 +0100209config MMU
210 bool "MMU-based Paged Memory Management Support"
211 default y
212 help
213 Select if you want MMU-based virtualised addressing space
214 support by paged memory management. If unsure, say 'Y'.
215
Linus Torvalds1da177e2005-04-16 15:20:36 -0700216choice
217 prompt "ARM system type"
Catalin Marinas6a0e2432006-03-07 14:42:27 +0000218 default ARCH_VERSATILE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700219
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100220config ARCH_AAEC2000
221 bool "Agilent AAEC-2000 based"
Russell Kingc7508152008-10-26 10:55:14 +0000222 select CPU_ARM920T
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100223 select ARM_AMBA
David Brownell9483a572008-07-23 21:26:48 -0700224 select HAVE_CLK
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100225 help
226 This enables support for systems based on the Agilent AAEC-2000
227
228config ARCH_INTEGRATOR
229 bool "ARM Ltd. Integrator family"
230 select ARM_AMBA
Ben Dooks89c52ed2009-07-30 23:23:24 +0100231 select ARCH_HAS_CPUFREQ
David Brownell9483a572008-07-23 21:26:48 -0700232 select HAVE_CLK
Russell Kingd72fbdf2008-11-08 20:08:08 +0000233 select COMMON_CLKDEV
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100234 select ICST525
235 help
236 Support for ARM's Integrator platform.
237
238config ARCH_REALVIEW
239 bool "ARM Ltd. RealView family"
240 select ARM_AMBA
David Brownell9483a572008-07-23 21:26:48 -0700241 select HAVE_CLK
Russell Kingcf30fb42008-11-08 20:05:55 +0000242 select COMMON_CLKDEV
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100243 select ICST307
Catalin Marinas85802af2008-02-04 17:24:54 +0100244 select GENERIC_TIME
Catalin Marinasae30cea2008-02-04 17:26:55 +0100245 select GENERIC_CLOCKEVENTS
Russell Kingeb7fffa2009-07-05 22:41:31 +0100246 select ARCH_WANT_OPTIONAL_GPIOLIB
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100247 help
248 This enables support for ARM Ltd RealView boards.
249
250config ARCH_VERSATILE
251 bool "ARM Ltd. Versatile family"
252 select ARM_AMBA
253 select ARM_VIC
David Brownell9483a572008-07-23 21:26:48 -0700254 select HAVE_CLK
Russell King71a06da2008-11-08 20:13:53 +0000255 select COMMON_CLKDEV
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100256 select ICST307
Kevin Hilmanb49c87c2007-03-08 20:25:13 +0100257 select GENERIC_TIME
Kevin Hilman89df1272007-03-08 20:30:38 +0100258 select GENERIC_CLOCKEVENTS
Russell Kingbbeddc42009-07-05 22:43:01 +0100259 select ARCH_WANT_OPTIONAL_GPIOLIB
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100260 help
261 This enables support for ARM Ltd Versatile board.
262
Andrew Victor8fc5ffa2006-06-29 16:06:33 +0100263config ARCH_AT91
264 bool "Atmel AT91"
David Brownell0a938b92007-03-05 00:30:18 -0800265 select GENERIC_GPIO
Ryan Mallonf373e8c2009-02-10 21:02:08 +0100266 select ARCH_REQUIRE_GPIOLIB
David Brownell93686ae2008-07-28 15:46:22 -0700267 select HAVE_CLK
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100268 help
Andrew Victor2b3b3512008-01-24 15:10:39 +0100269 This enables support for systems based on the Atmel AT91RM9200,
270 AT91SAM9 and AT91CAP9 processors.
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100271
Linus Torvalds1da177e2005-04-16 15:20:36 -0700272config ARCH_CLPS711X
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100273 bool "Cirrus Logic CLPS711x/EP721x-based"
Russell Kingc7508152008-10-26 10:55:14 +0000274 select CPU_ARM720T
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000275 help
276 Support for Cirrus Logic 711x/721x based boards.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700277
Russell King788c9702009-04-26 14:21:59 +0100278config ARCH_GEMINI
279 bool "Cortina Systems Gemini"
280 select CPU_FA526
281 select GENERIC_GPIO
282 select ARCH_REQUIRE_GPIOLIB
283 help
284 Support for the Cortina Systems Gemini family SoCs
285
Linus Torvalds1da177e2005-04-16 15:20:36 -0700286config ARCH_EBSA110
287 bool "EBSA-110"
Russell Kingc7508152008-10-26 10:55:14 +0000288 select CPU_SA110
Russell Kingf7e68bb2005-05-05 14:49:01 +0100289 select ISA
Russell Kingc5eb2a22007-03-03 11:54:19 +0000290 select NO_IOPORT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700291 help
292 This is an evaluation board for the StrongARM processor available
Martin Michlmayrf6c89652006-02-08 21:09:07 +0000293 from Digital. It has limited hardware on-board, including an
Linus Torvalds1da177e2005-04-16 15:20:36 -0700294 Ethernet interface, two PCMCIA sockets, two serial ports and a
295 parallel port.
296
Lennert Buytenheke7736d42006-03-20 17:10:13 +0000297config ARCH_EP93XX
298 bool "EP93xx-based"
Russell Kingc7508152008-10-26 10:55:14 +0000299 select CPU_ARM920T
Lennert Buytenheke7736d42006-03-20 17:10:13 +0000300 select ARM_AMBA
301 select ARM_VIC
Herbert Valerio Riedel4e9f9fd2007-11-26 18:41:02 +0100302 select GENERIC_GPIO
David Brownell9483a572008-07-23 21:26:48 -0700303 select HAVE_CLK
Russell Kingae696fd2008-11-30 17:11:49 +0000304 select COMMON_CLKDEV
Michael Buesch7444a722008-07-25 01:46:11 -0700305 select ARCH_REQUIRE_GPIOLIB
Mel Gormaneb335752009-05-13 17:34:48 +0100306 select ARCH_HAS_HOLES_MEMORYMODEL
Lennert Buytenheke7736d42006-03-20 17:10:13 +0000307 help
308 This enables support for the Cirrus EP93xx series of CPUs.
309
Linus Torvalds1da177e2005-04-16 15:20:36 -0700310config ARCH_FOOTBRIDGE
311 bool "FootBridge"
Russell Kingc7508152008-10-26 10:55:14 +0000312 select CPU_SA110
Linus Torvalds1da177e2005-04-16 15:20:36 -0700313 select FOOTBRIDGE
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000314 help
315 Support for systems based on the DC21285 companion chip
316 ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700317
Russell King788c9702009-04-26 14:21:59 +0100318config ARCH_MXC
319 bool "Freescale MXC/iMX-based"
320 select GENERIC_TIME
321 select GENERIC_CLOCKEVENTS
322 select ARCH_MTD_XIP
323 select GENERIC_GPIO
324 select ARCH_REQUIRE_GPIOLIB
Russell Kinga2ab67f2009-05-23 20:57:31 +0100325 select HAVE_CLK
Russell King788c9702009-04-26 14:21:59 +0100326 help
327 Support for Freescale MXC/iMX-based family of processors
328
dmitry pervushin7bd0f2f2009-04-27 10:35:04 +0100329config ARCH_STMP3XXX
330 bool "Freescale STMP3xxx"
331 select CPU_ARM926T
332 select HAVE_CLK
333 select COMMON_CLKDEV
334 select ARCH_REQUIRE_GPIOLIB
335 select GENERIC_TIME
336 select GENERIC_CLOCKEVENTS
337 select GENERIC_GPIO
338 select USB_ARCH_HAS_EHCI
339 help
340 Support for systems based on the Freescale 3xxx CPUs.
341
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100342config ARCH_NETX
343 bool "Hilscher NetX based"
Russell Kingc7508152008-10-26 10:55:14 +0000344 select CPU_ARM926T
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100345 select ARM_VIC
Uwe Kleine-König2fcfe6b2008-12-09 21:57:24 +0100346 select GENERIC_CLOCKEVENTS
Uwe Kleine-König21edecd2008-12-09 21:57:23 +0100347 select GENERIC_TIME
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000348 help
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100349 This enables support for systems based on the Hilscher NetX Soc
350
351config ARCH_H720X
352 bool "Hynix HMS720x-based"
Russell Kingc7508152008-10-26 10:55:14 +0000353 select CPU_ARM720T
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100354 select ISA_DMA_API
355 help
356 This enables support for systems based on the Hynix HMS720x
357
Alessandro Rubini28ad94e2009-07-02 19:06:47 +0100358config ARCH_NOMADIK
359 bool "STMicroelectronics Nomadik"
360 select ARM_AMBA
361 select ARM_VIC
362 select CPU_ARM926T
363 select HAVE_CLK
364 select COMMON_CLKDEV
365 select GENERIC_TIME
366 select GENERIC_CLOCKEVENTS
Alessandro Rubini2ec1d352009-07-02 15:29:12 +0100367 select GENERIC_GPIO
368 select ARCH_REQUIRE_GPIOLIB
Alessandro Rubini28ad94e2009-07-02 19:06:47 +0100369 help
370 Support for the Nomadik platform by ST-Ericsson
371
Russell King3b938be2007-05-12 11:25:44 +0100372config ARCH_IOP13XX
373 bool "IOP13xx-based"
374 depends on MMU
Russell Kingc7508152008-10-26 10:55:14 +0000375 select CPU_XSC3
Russell King3b938be2007-05-12 11:25:44 +0100376 select PLAT_IOP
377 select PCI
378 select ARCH_SUPPORTS_MSI
Lennert Buytenhek8d5796d2008-08-25 21:03:32 +0100379 select VMSPLIT_1G
Russell King3b938be2007-05-12 11:25:44 +0100380 help
381 Support for Intel's IOP13XX (XScale) family of processors.
382
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +0100383config ARCH_IOP32X
384 bool "IOP32x-based"
Russell Kinga4f7e762006-06-28 12:52:41 +0100385 depends on MMU
Russell Kingc7508152008-10-26 10:55:14 +0000386 select CPU_XSCALE
Lennert Buytenhek7ae1f7e2006-09-18 23:12:53 +0100387 select PLAT_IOP
Russell Kingf7e68bb2005-05-05 14:49:01 +0100388 select PCI
Arnaud Patard63f385c2008-07-08 23:07:48 +0100389 select GENERIC_GPIO
Russell Kingbb2b1802008-07-26 15:36:03 +0100390 select ARCH_REQUIRE_GPIOLIB
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000391 help
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +0100392 Support for Intel's 80219 and IOP32X (XScale) family of
393 processors.
394
395config ARCH_IOP33X
396 bool "IOP33x-based"
397 depends on MMU
Russell Kingc7508152008-10-26 10:55:14 +0000398 select CPU_XSCALE
Lennert Buytenhek7ae1f7e2006-09-18 23:12:53 +0100399 select PLAT_IOP
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +0100400 select PCI
Arnaud Patard63f385c2008-07-08 23:07:48 +0100401 select GENERIC_GPIO
Russell Kingbb2b1802008-07-26 15:36:03 +0100402 select ARCH_REQUIRE_GPIOLIB
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +0100403 help
404 Support for Intel's IOP33X (XScale) family of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700405
Russell King3b938be2007-05-12 11:25:44 +0100406config ARCH_IXP23XX
407 bool "IXP23XX-based"
Dan Williams588ef762007-02-13 17:12:04 +0100408 depends on MMU
Russell Kingc7508152008-10-26 10:55:14 +0000409 select CPU_XSC3
Russell King3b938be2007-05-12 11:25:44 +0100410 select PCI
Dan Williams285f5fa2006-12-07 02:59:39 +0100411 help
Russell King3b938be2007-05-12 11:25:44 +0100412 Support for Intel's IXP23xx (XScale) family of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700413
414config ARCH_IXP2000
415 bool "IXP2400/2800-based"
Russell Kinga4f7e762006-06-28 12:52:41 +0100416 depends on MMU
Russell Kingc7508152008-10-26 10:55:14 +0000417 select CPU_XSCALE
Russell Kingf7e68bb2005-05-05 14:49:01 +0100418 select PCI
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000419 help
420 Support for Intel's IXP2400/2800 (XScale) family of processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700421
Russell King3b938be2007-05-12 11:25:44 +0100422config ARCH_IXP4XX
423 bool "IXP4xx-based"
Russell Kinga4f7e762006-06-28 12:52:41 +0100424 depends on MMU
Russell Kingc7508152008-10-26 10:55:14 +0000425 select CPU_XSCALE
Milan Svoboda8858e9a2007-05-14 07:50:42 +0100426 select GENERIC_GPIO
Russell King3b938be2007-05-12 11:25:44 +0100427 select GENERIC_TIME
428 select GENERIC_CLOCKEVENTS
Russell King485bdde2008-10-17 14:00:43 +0100429 select DMABOUNCE if PCI
Lennert Buytenhekc4713072006-03-28 21:18:54 +0100430 help
Russell King3b938be2007-05-12 11:25:44 +0100431 Support for Intel's IXP4XX (XScale) family of processors.
Lennert Buytenhekc4713072006-03-28 21:18:54 +0100432
Linus Torvalds1da177e2005-04-16 15:20:36 -0700433config ARCH_L7200
434 bool "LinkUp-L7200"
Russell Kingc7508152008-10-26 10:55:14 +0000435 select CPU_ARM720T
Linus Torvalds1da177e2005-04-16 15:20:36 -0700436 select FIQ
437 help
438 Say Y here if you intend to run this kernel on a LinkUp Systems
439 L7200 Software Development Board which uses an ARM720T processor.
440 Information on this board can be obtained at:
441
442 <http://www.linkupsys.com/>
443
444 If you have any questions or comments about the Linux kernel port
445 to this board, send e-mail to <sjhill@cotw.com>.
446
Saeed Bisharaedabd382009-08-06 15:12:43 +0300447config ARCH_DOVE
448 bool "Marvell Dove"
449 select PCI
450 select GENERIC_GPIO
451 select ARCH_REQUIRE_GPIOLIB
452 select GENERIC_TIME
453 select GENERIC_CLOCKEVENTS
454 select PLAT_ORION
455 help
456 Support for the Marvell Dove SoC 88AP510
457
Saeed Bishara651c74c2008-06-22 22:45:06 +0200458config ARCH_KIRKWOOD
459 bool "Marvell Kirkwood"
Russell Kingc7508152008-10-26 10:55:14 +0000460 select CPU_FEROCEON
Saeed Bishara651c74c2008-06-22 22:45:06 +0200461 select PCI
Lennert Buytenhek4c213432008-10-20 01:51:04 +0200462 select GENERIC_GPIO
Erik Benadaa8865652009-05-28 17:08:55 -0700463 select ARCH_REQUIRE_GPIOLIB
Saeed Bishara651c74c2008-06-22 22:45:06 +0200464 select GENERIC_TIME
465 select GENERIC_CLOCKEVENTS
466 select PLAT_ORION
467 help
468 Support for the following Marvell Kirkwood series SoCs:
469 88F6180, 88F6192 and 88F6281.
470
Russell King788c9702009-04-26 14:21:59 +0100471config ARCH_LOKI
472 bool "Marvell Loki (88RC8480)"
473 select CPU_FEROCEON
474 select GENERIC_TIME
475 select GENERIC_CLOCKEVENTS
476 select PLAT_ORION
477 help
478 Support for the Marvell Loki (88RC8480) SoC.
479
480config ARCH_MV78XX0
481 bool "Marvell MV78xx0"
482 select CPU_FEROCEON
483 select PCI
484 select GENERIC_GPIO
Erik Benadaa8865652009-05-28 17:08:55 -0700485 select ARCH_REQUIRE_GPIOLIB
Russell King788c9702009-04-26 14:21:59 +0100486 select GENERIC_TIME
487 select GENERIC_CLOCKEVENTS
488 select PLAT_ORION
489 help
490 Support for the following Marvell MV78xx0 series SoCs:
491 MV781x0, MV782x0.
492
493config ARCH_ORION5X
494 bool "Marvell Orion"
495 depends on MMU
496 select CPU_FEROCEON
497 select PCI
498 select GENERIC_GPIO
Erik Benadaa8865652009-05-28 17:08:55 -0700499 select ARCH_REQUIRE_GPIOLIB
Russell King788c9702009-04-26 14:21:59 +0100500 select GENERIC_TIME
501 select GENERIC_CLOCKEVENTS
502 select PLAT_ORION
503 help
504 Support for the following Marvell Orion 5x series SoCs:
505 Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
506 Orion-2 (5281), Orion-1-90 (6183).
507
508config ARCH_MMP
509 bool "Marvell PXA168/910"
510 depends on MMU
511 select GENERIC_GPIO
512 select ARCH_REQUIRE_GPIOLIB
513 select HAVE_CLK
514 select COMMON_CLKDEV
515 select GENERIC_TIME
516 select GENERIC_CLOCKEVENTS
517 select TICK_ONESHOT
518 select PLAT_PXA
519 help
520 Support for Marvell's PXA168/910 processor line.
521
Andrew Victorc53c9cf2007-05-11 21:01:28 +0100522config ARCH_KS8695
523 bool "Micrel/Kendin KS8695"
Russell Kingc7508152008-10-26 10:55:14 +0000524 select CPU_ARM922T
Andrew Victor8a87a992007-05-14 14:30:15 +0100525 select GENERIC_GPIO
Daniel Silverstone72880ad2008-12-13 20:44:12 +0000526 select ARCH_REQUIRE_GPIOLIB
Andrew Victorc53c9cf2007-05-11 21:01:28 +0100527 help
528 Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
529 System-on-Chip devices.
530
Uwe Kleine-König9918cda2007-02-16 15:36:55 +0100531config ARCH_NS9XXX
532 bool "NetSilicon NS9xxx"
Russell Kingc7508152008-10-26 10:55:14 +0000533 select CPU_ARM926T
Uwe Kleine-König689f2a02007-09-30 20:35:09 +0100534 select GENERIC_GPIO
Uwe Kleine-Königcef59752007-09-30 20:35:48 +0100535 select GENERIC_TIME
Uwe Kleine-Königc0bb87f2007-09-30 20:36:00 +0100536 select GENERIC_CLOCKEVENTS
David Brownell9483a572008-07-23 21:26:48 -0700537 select HAVE_CLK
Uwe Kleine-König9918cda2007-02-16 15:36:55 +0100538 help
539 Say Y here if you intend to run this kernel on a NetSilicon NS9xxx
540 System.
541
542 <http://www.digi.com/products/microprocessors/index.jsp>
543
Russell King788c9702009-04-26 14:21:59 +0100544config ARCH_W90X900
545 bool "Nuvoton W90X900 CPU"
546 select CPU_ARM926T
wanzongshunc52d3d62009-06-10 15:49:32 +0100547 select ARCH_REQUIRE_GPIOLIB
548 select GENERIC_GPIO
wanzongshund2c24192009-07-14 15:09:54 +0100549 select HAVE_CLK
wanzongshun0e4a34b2009-06-10 15:50:44 +0100550 select COMMON_CLKDEV
wanzongshun58b53692009-08-14 15:36:44 +0100551 select GENERIC_TIME
552 select GENERIC_CLOCKEVENTS
Lennert Buytenhek777f9be2008-06-22 22:45:02 +0200553 help
wanzongshuna8bc4ea2009-08-14 15:38:29 +0100554 Support for Nuvoton (Winbond logic dept.) ARM9 processor,
555 At present, the w90x900 has been renamed nuc900, regarding
556 the ARM series product line, you can login the following
557 link address to know more.
558
559 <http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/
560 ConsumerElectronicsIC/ARMMicrocontroller/ARMMicrocontroller>
Tzachi Perelstein585cf172007-10-23 15:14:41 -0400561
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100562config ARCH_PNX4008
563 bool "Philips Nexperia PNX4008 Mobile"
Russell Kingc7508152008-10-26 10:55:14 +0000564 select CPU_ARM926T
David Brownell9483a572008-07-23 21:26:48 -0700565 select HAVE_CLK
Deepak Saxena4af6fee2006-06-20 21:30:44 +0100566 help
567 This enables support for Philips PNX4008 mobile platform.
568
Linus Torvalds1da177e2005-04-16 15:20:36 -0700569config ARCH_PXA
eric miao2c8086a2007-09-11 19:13:17 -0700570 bool "PXA2xx/PXA3xx-based"
Russell Kinga4f7e762006-06-28 12:52:41 +0100571 depends on MMU
Al Viro034d2f52005-12-19 16:27:59 -0500572 select ARCH_MTD_XIP
Ben Dooks89c52ed2009-07-30 23:23:24 +0100573 select ARCH_HAS_CPUFREQ
David Brownell0a938b92007-03-05 00:30:18 -0800574 select GENERIC_GPIO
David Brownell9483a572008-07-23 21:26:48 -0700575 select HAVE_CLK
Russell King8c3abc72008-11-08 20:25:21 +0000576 select COMMON_CLKDEV
Michael Buesch7444a722008-07-25 01:46:11 -0700577 select ARCH_REQUIRE_GPIOLIB
Nicolas Pitre45cf5ee2007-02-05 22:37:07 +0100578 select GENERIC_TIME
Eric Miao981d0f32007-07-24 01:22:43 +0100579 select GENERIC_CLOCKEVENTS
Russell Kinga88264c2007-11-12 22:45:16 +0000580 select TICK_ONESHOT
Eric Miaobd5ce432009-01-20 12:06:01 +0800581 select PLAT_PXA
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000582 help
eric miao2c8086a2007-09-11 19:13:17 -0700583 Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700584
Russell King788c9702009-04-26 14:21:59 +0100585config ARCH_MSM
586 bool "Qualcomm MSM"
587 select CPU_V6
Eric Miao49cbe782009-01-20 14:15:18 +0800588 select GENERIC_TIME
589 select GENERIC_CLOCKEVENTS
Eric Miao49cbe782009-01-20 14:15:18 +0800590 help
Russell King788c9702009-04-26 14:21:59 +0100591 Support for Qualcomm MSM7K based systems. This runs on the ARM11
592 apps processor of the MSM7K and depends on a shared memory
593 interface to the ARM9 modem processor which runs the baseband stack
594 and controls some vital subsystems (clock and power control, etc).
Eric Miao49cbe782009-01-20 14:15:18 +0800595
Linus Torvalds1da177e2005-04-16 15:20:36 -0700596config ARCH_RPC
597 bool "RiscPC"
598 select ARCH_ACORN
599 select FIQ
600 select TIMER_ACORN
viro@ZenIV.linux.org.uka08b6b72005-09-06 01:48:42 +0100601 select ARCH_MAY_HAVE_PC_FDC
Ben Dooks341eb782008-07-01 14:16:49 +0100602 select HAVE_PATA_PLATFORM
Russell King065909b2006-01-04 15:44:16 +0000603 select ISA_DMA_API
Al Viro5ea81762007-02-11 15:41:31 +0000604 select NO_IOPORT
Russell King07f841b2008-10-01 17:11:06 +0100605 select ARCH_SPARSEMEM_ENABLE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700606 help
607 On the Acorn Risc-PC, Linux can support the internal IDE disk and
608 CD-ROM interface, serial and parallel port, and the floppy drive.
609
610config ARCH_SA1100
611 bool "SA1100-based"
Russell Kingc7508152008-10-26 10:55:14 +0000612 select CPU_SA1100
Russell Kingf7e68bb2005-05-05 14:49:01 +0100613 select ISA
Russell King05944d72006-11-30 20:43:51 +0000614 select ARCH_SPARSEMEM_ENABLE
Al Viro034d2f52005-12-19 16:27:59 -0500615 select ARCH_MTD_XIP
Ben Dooks89c52ed2009-07-30 23:23:24 +0100616 select ARCH_HAS_CPUFREQ
Russell King1937f5b2009-12-12 16:20:57 +0000617 select CPU_FREQ
David Brownell0a938b92007-03-05 00:30:18 -0800618 select GENERIC_GPIO
Russell Kingd142b6e72007-11-12 21:55:12 +0000619 select GENERIC_TIME
Russell King3e238be2008-04-14 23:03:10 +0100620 select GENERIC_CLOCKEVENTS
David Brownell9483a572008-07-23 21:26:48 -0700621 select HAVE_CLK
Russell King3e238be2008-04-14 23:03:10 +0100622 select TICK_ONESHOT
Michael Buesch7444a722008-07-25 01:46:11 -0700623 select ARCH_REQUIRE_GPIOLIB
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000624 help
625 Support for StrongARM 11x0 based boards.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700626
627config ARCH_S3C2410
Ben Dookse4d06e32007-02-16 12:12:31 +0100628 bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443"
David Brownell0a938b92007-03-05 00:30:18 -0800629 select GENERIC_GPIO
Ben Dooks9d56c022009-07-30 23:23:25 +0100630 select ARCH_HAS_CPUFREQ
David Brownell9483a572008-07-23 21:26:48 -0700631 select HAVE_CLK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700632 help
633 Samsung S3C2410X CPU based systems, such as the Simtec Electronics
634 BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
Martin Michlmayrf6c89652006-02-08 21:09:07 +0000635 the Samsung SMDK2410 development board (and derivatives).
Linus Torvalds1da177e2005-04-16 15:20:36 -0700636
Ben Dooksa08ab632008-10-21 14:06:39 +0100637config ARCH_S3C64XX
638 bool "Samsung S3C64XX"
639 select GENERIC_GPIO
640 select HAVE_CLK
Ben Dooks89c52ed2009-07-30 23:23:24 +0100641 select ARCH_HAS_CPUFREQ
Ben Dooksa08ab632008-10-21 14:06:39 +0100642 help
643 Samsung S3C64XX series based systems
644
Byungho Min5a7652f2009-06-23 21:39:42 +0900645config ARCH_S5PC1XX
646 bool "Samsung S5PC1XX"
647 select GENERIC_GPIO
648 select HAVE_CLK
649 select CPU_V7
Kukjin Kimd6d502f2010-02-22 00:02:59 +0100650 select ARM_L1_CACHE_SHIFT_6
Byungho Min5a7652f2009-06-23 21:39:42 +0900651 help
652 Samsung S5PC1XX series based systems
653
Linus Torvalds1da177e2005-04-16 15:20:36 -0700654config ARCH_SHARK
655 bool "Shark"
Russell Kingc7508152008-10-26 10:55:14 +0000656 select CPU_SA110
Russell Kingf7e68bb2005-05-05 14:49:01 +0100657 select ISA
658 select ISA_DMA
Nicolas Pitre3bca1032008-10-07 20:14:55 +0100659 select ZONE_DMA
Russell Kingf7e68bb2005-05-05 14:49:01 +0100660 select PCI
Martin Michlmayrf999b8b2006-02-08 21:09:05 +0000661 help
662 Support for the StrongARM based Digital DNARD machine, also known
663 as "Shark" (<http://www.shark-linux.de/shark.html>).
Linus Torvalds1da177e2005-04-16 15:20:36 -0700664
665config ARCH_LH7A40X
666 bool "Sharp LH7A40X"
Russell Kingc7508152008-10-26 10:55:14 +0000667 select CPU_ARM922T
Russell King4ba3f7c2008-10-01 21:38:23 +0100668 select ARCH_DISCONTIGMEM_ENABLE if !LH7A40X_CONTIGMEM
669 select ARCH_SPARSEMEM_ENABLE if !LH7A40X_CONTIGMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -0700670 help
671 Say Y here for systems based on one of the Sharp LH7A40X
672 System on a Chip processors. These CPUs include an ARM922T
673 core with a wide array of integrated devices for
674 hand-held and low-power applications.
675
Linus Walleijd98aac72009-04-27 10:21:46 +0100676config ARCH_U300
677 bool "ST-Ericsson U300 Series"
678 depends on MMU
679 select CPU_ARM926T
Linus Walleijbc581772009-09-15 17:30:37 +0100680 select HAVE_TCM
Linus Walleijd98aac72009-04-27 10:21:46 +0100681 select ARM_AMBA
682 select ARM_VIC
683 select GENERIC_TIME
684 select GENERIC_CLOCKEVENTS
685 select HAVE_CLK
686 select COMMON_CLKDEV
687 select GENERIC_GPIO
688 help
689 Support for ST-Ericsson U300 series mobile platforms.
690
Kevin Hilman7c6337e2007-04-30 19:37:19 +0100691config ARCH_DAVINCI
692 bool "TI DaVinci"
Russell Kingc7508152008-10-26 10:55:14 +0000693 select CPU_ARM926T
Kevin Hilman7c6337e2007-04-30 19:37:19 +0100694 select GENERIC_TIME
695 select GENERIC_CLOCKEVENTS
Vladimir Barinov3d9edf02007-07-10 13:03:43 +0100696 select GENERIC_GPIO
David Brownelldce11152008-09-07 23:41:04 -0700697 select ARCH_REQUIRE_GPIOLIB
David Brownell9483a572008-07-23 21:26:48 -0700698 select HAVE_CLK
Nicolas Pitre3bca1032008-10-07 20:14:55 +0100699 select ZONE_DMA
Kevin Hilman9232fcc2009-04-08 14:49:38 -0700700 select HAVE_IDE
Kevin Hilmanc5b736d2009-03-20 17:29:01 -0700701 select COMMON_CLKDEV
David Brownell20e99692009-05-07 09:31:42 -0700702 select GENERIC_ALLOCATOR
Sekhar Noriae88e052009-11-19 15:34:01 +0530703 select ARCH_HAS_HOLES_MEMORYMODEL
Kevin Hilman7c6337e2007-04-30 19:37:19 +0100704 help
705 Support for TI's DaVinci platform.
706
Russell King3b938be2007-05-12 11:25:44 +0100707config ARCH_OMAP
708 bool "TI OMAP"
709 select GENERIC_GPIO
David Brownell9483a572008-07-23 21:26:48 -0700710 select HAVE_CLK
Michael Buesch7444a722008-07-25 01:46:11 -0700711 select ARCH_REQUIRE_GPIOLIB
Ben Dooks89c52ed2009-07-30 23:23:24 +0100712 select ARCH_HAS_CPUFREQ
Russell King3b938be2007-05-12 11:25:44 +0100713 select GENERIC_TIME
Kevin Hilman06cad092007-10-18 23:04:43 -0700714 select GENERIC_CLOCKEVENTS
Russell King3b938be2007-05-12 11:25:44 +0100715 help
716 Support for TI's OMAP platform (OMAP1 and OMAP2).
717
Leo Chen6288e282009-08-07 19:46:15 +0100718config ARCH_BCMRING
719 bool "Broadcom BCMRING"
720 depends on MMU
721 select CPU_V6
722 select ARM_AMBA
723 select COMMON_CLKDEV
724 select GENERIC_TIME
725 select GENERIC_CLOCKEVENTS
726 select ARCH_WANT_OPTIONAL_GPIOLIB
727 help
728 Support for Broadcom's BCMRing platform.
729
Srinidhi Kasagar850265e2009-11-28 08:24:47 +0100730config ARCH_U8500
731 bool "ST-Ericsson U8500 Series"
732 select CPU_V7
733 select ARM_AMBA
734 select GENERIC_TIME
735 select GENERIC_CLOCKEVENTS
736 select COMMON_CLKDEV
737 help
738 Support for ST-Ericsson's Ux500 architecture
739
Linus Torvalds1da177e2005-04-16 15:20:36 -0700740endchoice
741
742source "arch/arm/mach-clps711x/Kconfig"
743
Lennert Buytenheke7736d42006-03-20 17:10:13 +0000744source "arch/arm/mach-ep93xx/Kconfig"
745
Linus Torvalds1da177e2005-04-16 15:20:36 -0700746source "arch/arm/mach-footbridge/Kconfig"
747
Paulius Zaleckas59d3a192009-03-26 10:06:08 +0200748source "arch/arm/mach-gemini/Kconfig"
749
Linus Torvalds1da177e2005-04-16 15:20:36 -0700750source "arch/arm/mach-integrator/Kconfig"
751
Lennert Buytenhek3f7e5812006-09-18 23:10:26 +0100752source "arch/arm/mach-iop32x/Kconfig"
753
754source "arch/arm/mach-iop33x/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700755
Dan Williams285f5fa2006-12-07 02:59:39 +0100756source "arch/arm/mach-iop13xx/Kconfig"
757
Linus Torvalds1da177e2005-04-16 15:20:36 -0700758source "arch/arm/mach-ixp4xx/Kconfig"
759
760source "arch/arm/mach-ixp2000/Kconfig"
761
Lennert Buytenhekc4713072006-03-28 21:18:54 +0100762source "arch/arm/mach-ixp23xx/Kconfig"
763
Lennert Buytenhek777f9be2008-06-22 22:45:02 +0200764source "arch/arm/mach-loki/Kconfig"
765
Stanislav Samsonov794d15b2008-06-22 22:45:10 +0200766source "arch/arm/mach-mv78xx0/Kconfig"
767
Linus Torvalds1da177e2005-04-16 15:20:36 -0700768source "arch/arm/mach-pxa/Kconfig"
Eric Miaobd5ce432009-01-20 12:06:01 +0800769source "arch/arm/plat-pxa/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700770
Eric Miao49cbe782009-01-20 14:15:18 +0800771source "arch/arm/mach-mmp/Kconfig"
772
Linus Torvalds1da177e2005-04-16 15:20:36 -0700773source "arch/arm/mach-sa1100/Kconfig"
774
Tony Lindgrend48af152005-07-10 19:58:17 +0100775source "arch/arm/plat-omap/Kconfig"
776
777source "arch/arm/mach-omap1/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700778
Tony Lindgren1dbae812005-11-10 14:26:51 +0000779source "arch/arm/mach-omap2/Kconfig"
780
Lennert Buytenhek9dd0b192008-03-27 14:51:41 -0400781source "arch/arm/mach-orion5x/Kconfig"
Tzachi Perelstein585cf172007-10-23 15:14:41 -0400782
Saeed Bishara651c74c2008-06-22 22:45:06 +0200783source "arch/arm/mach-kirkwood/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700784
Saeed Bisharaedabd382009-08-06 15:12:43 +0300785source "arch/arm/mach-dove/Kconfig"
786
Ben Dookscf383672009-11-10 00:14:58 +0000787source "arch/arm/plat-samsung/Kconfig"
Ben Dooksa21765a2007-02-11 18:31:01 +0100788source "arch/arm/plat-s3c24xx/Kconfig"
Ben Dooksa08ab632008-10-21 14:06:39 +0100789source "arch/arm/plat-s3c64xx/Kconfig"
Ben Dooksd58153d2007-07-22 16:07:09 +0100790source "arch/arm/plat-s3c/Kconfig"
Byungho Min5a7652f2009-06-23 21:39:42 +0900791source "arch/arm/plat-s5pc1xx/Kconfig"
Ben Dooksa21765a2007-02-11 18:31:01 +0100792
793if ARCH_S3C2410
794source "arch/arm/mach-s3c2400/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700795source "arch/arm/mach-s3c2410/Kconfig"
Ben Dooksa21765a2007-02-11 18:31:01 +0100796source "arch/arm/mach-s3c2412/Kconfig"
797source "arch/arm/mach-s3c2440/Kconfig"
798source "arch/arm/mach-s3c2442/Kconfig"
Ben Dookse4d06e32007-02-16 12:12:31 +0100799source "arch/arm/mach-s3c2443/Kconfig"
Ben Dooksa21765a2007-02-11 18:31:01 +0100800endif
Linus Torvalds1da177e2005-04-16 15:20:36 -0700801
Ben Dooksa08ab632008-10-21 14:06:39 +0100802if ARCH_S3C64XX
803source "arch/arm/mach-s3c6400/Kconfig"
804source "arch/arm/mach-s3c6410/Kconfig"
805endif
806
dmitry pervushin7bd0f2f2009-04-27 10:35:04 +0100807source "arch/arm/plat-stmp3xxx/Kconfig"
808
Byungho Min5a7652f2009-06-23 21:39:42 +0900809if ARCH_S5PC1XX
810source "arch/arm/mach-s5pc100/Kconfig"
811endif
812
Linus Torvalds1da177e2005-04-16 15:20:36 -0700813source "arch/arm/mach-lh7a40x/Kconfig"
814
Linus Torvalds1da177e2005-04-16 15:20:36 -0700815source "arch/arm/mach-h720x/Kconfig"
816
817source "arch/arm/mach-versatile/Kconfig"
818
Bellido Nicolas038c5b62005-06-20 18:51:05 +0100819source "arch/arm/mach-aaec2000/Kconfig"
820
Catalin Marinas8ad68bb2005-10-31 14:25:02 +0000821source "arch/arm/mach-realview/Kconfig"
822
Andrew Victor9d041262007-02-05 11:42:07 +0100823source "arch/arm/mach-at91/Kconfig"
SAN People73a59c12006-01-09 17:05:41 +0000824
Quinn Jensen52c543f2007-07-09 22:06:53 +0100825source "arch/arm/plat-mxc/Kconfig"
826
Alessandro Rubini28ad94e2009-07-02 19:06:47 +0100827source "arch/arm/mach-nomadik/Kconfig"
Srinidhi Kasagar59b559d2009-11-12 06:20:54 +0100828source "arch/arm/plat-nomadik/Kconfig"
Alessandro Rubini28ad94e2009-07-02 19:06:47 +0100829
Sascha Hauerbb6d8c82006-06-19 15:27:53 +0100830source "arch/arm/mach-netx/Kconfig"
831
Uwe Kleine-König9918cda2007-02-16 15:36:55 +0100832source "arch/arm/mach-ns9xxx/Kconfig"
833
Kevin Hilman7c6337e2007-04-30 19:37:19 +0100834source "arch/arm/mach-davinci/Kconfig"
835
Andrew Victorc53c9cf2007-05-11 21:01:28 +0100836source "arch/arm/mach-ks8695/Kconfig"
837
Brian Swetland9e73c842007-11-26 04:12:13 -0800838source "arch/arm/mach-msm/Kconfig"
839
Linus Walleijd98aac72009-04-27 10:21:46 +0100840source "arch/arm/mach-u300/Kconfig"
841
wanzongshun7ec80dd2008-12-03 03:55:38 +0100842source "arch/arm/mach-w90x900/Kconfig"
843
Leo Chen6288e282009-08-07 19:46:15 +0100844source "arch/arm/mach-bcmring/Kconfig"
845
Srinidhi Kasagar850265e2009-11-28 08:24:47 +0100846source "arch/arm/mach-ux500/Kconfig"
847
Linus Torvalds1da177e2005-04-16 15:20:36 -0700848# Definitions to make life easier
849config ARCH_ACORN
850 bool
851
Lennert Buytenhek7ae1f7e2006-09-18 23:12:53 +0100852config PLAT_IOP
853 bool
Mikael Pettersson469d30442009-10-29 11:46:54 -0700854 select GENERIC_CLOCKEVENTS
Mikael Pettersson980f2292009-10-29 11:46:55 -0700855 select GENERIC_TIME
Lennert Buytenhek7ae1f7e2006-09-18 23:12:53 +0100856
Lennert Buytenhek69b02f62008-03-27 14:51:39 -0400857config PLAT_ORION
858 bool
859
Eric Miaobd5ce432009-01-20 12:06:01 +0800860config PLAT_PXA
861 bool
862
Linus Torvalds1da177e2005-04-16 15:20:36 -0700863source arch/arm/mm/Kconfig
864
Lennert Buytenhekafe4b252006-12-03 18:51:14 +0100865config IWMMXT
866 bool "Enable iWMMXt support"
Eric Miao40305a52009-02-26 09:34:35 +0800867 depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK
868 default y if PXA27x || PXA3xx || ARCH_MMP
Lennert Buytenhekafe4b252006-12-03 18:51:14 +0100869 help
870 Enable support for iWMMXt context switching at run time if
871 running on a CPU that supports it.
872
Linus Torvalds1da177e2005-04-16 15:20:36 -0700873# bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
874config XSCALE_PMU
875 bool
876 depends on CPU_XSCALE && !XSCALE_PMU_TIMER
877 default y
878
Hyok S. Choi3b93e7b2006-06-22 11:48:56 +0100879if !MMU
880source "arch/arm/Kconfig-nommu"
881endif
882
Catalin Marinas9cba3cc2009-04-30 17:06:03 +0100883config ARM_ERRATA_411920
884 bool "ARM errata: Invalidation of the Instruction Cache operation can fail"
885 depends on CPU_V6 && !SMP
886 help
887 Invalidation of the Instruction Cache operation can
888 fail. This erratum is present in 1136 (before r1p4), 1156 and 1176.
889 It does not affect the MPCore. This option enables the ARM Ltd.
890 recommended workaround.
891
Catalin Marinas7ce236fc2009-04-30 17:06:09 +0100892config ARM_ERRATA_430973
893 bool "ARM errata: Stale prediction on replaced interworking branch"
894 depends on CPU_V7
895 help
896 This option enables the workaround for the 430973 Cortex-A8
897 (r1p0..r1p2) erratum. If a code sequence containing an ARM/Thumb
898 interworking branch is replaced with another code sequence at the
899 same virtual address, whether due to self-modifying code or virtual
900 to physical address re-mapping, Cortex-A8 does not recover from the
901 stale interworking branch prediction. This results in Cortex-A8
902 executing the new code sequence in the incorrect ARM or Thumb state.
903 The workaround enables the BTB/BTAC operations by setting ACTLR.IBE
904 and also flushes the branch target cache at every context switch.
905 Note that setting specific bits in the ACTLR register may not be
906 available in non-secure mode.
907
Catalin Marinas855c5512009-04-30 17:06:15 +0100908config ARM_ERRATA_458693
909 bool "ARM errata: Processor deadlock when a false hazard is created"
910 depends on CPU_V7
911 help
912 This option enables the workaround for the 458693 Cortex-A8 (r2p0)
913 erratum. For very specific sequences of memory operations, it is
914 possible for a hazard condition intended for a cache line to instead
915 be incorrectly associated with a different cache line. This false
916 hazard might then cause a processor deadlock. The workaround enables
917 the L1 caching of the NEON accesses and disables the PLD instruction
918 in the ACTLR register. Note that setting specific bits in the ACTLR
919 register may not be available in non-secure mode.
920
Catalin Marinas0516e462009-04-30 17:06:20 +0100921config ARM_ERRATA_460075
922 bool "ARM errata: Data written to the L2 cache can be overwritten with stale data"
923 depends on CPU_V7
924 help
925 This option enables the workaround for the 460075 Cortex-A8 (r2p0)
926 erratum. Any asynchronous access to the L2 cache may encounter a
927 situation in which recent store transactions to the L2 cache are lost
928 and overwritten with stale memory contents from external memory. The
929 workaround disables the write-allocate mode for the L2 cache via the
930 ACTLR register. Note that setting specific bits in the ACTLR register
931 may not be available in non-secure mode.
932
Santosh Shilimkar9e655822010-02-04 19:42:42 +0100933config PL310_ERRATA_588369
934 bool "Clean & Invalidate maintenance operations do not invalidate clean lines"
935 depends on CACHE_L2X0 && ARCH_OMAP4
936 help
937 The PL310 L2 cache controller implements three types of Clean &
938 Invalidate maintenance operations: by Physical Address
939 (offset 0x7F0), by Index/Way (0x7F8) and by Way (0x7FC).
940 They are architecturally defined to behave as the execution of a
941 clean operation followed immediately by an invalidate operation,
942 both performing to the same memory location. This functionality
943 is not correctly implemented in PL310 as clean lines are not
944 invalidated as a result of these operations. Note that this errata
945 uses Texas Instrument's secure monitor api.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700946endmenu
947
948source "arch/arm/common/Kconfig"
949
950config FORCE_MAX_ZONEORDER
951 int
952 depends on SA1111
953 default "9"
954
955menu "Bus support"
956
957config ARM_AMBA
958 bool
959
960config ISA
961 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700962 help
963 Find out whether you have ISA slots on your motherboard. ISA is the
964 name of a bus system, i.e. the way the CPU talks to the other stuff
965 inside your box. Other bus systems are PCI, EISA, MicroChannel
966 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
967 newer boards don't support it. If you have ISA, say Y, otherwise N.
968
Russell King065909b2006-01-04 15:44:16 +0000969# Select ISA DMA controller support
Linus Torvalds1da177e2005-04-16 15:20:36 -0700970config ISA_DMA
971 bool
Russell King065909b2006-01-04 15:44:16 +0000972 select ISA_DMA_API
Linus Torvalds1da177e2005-04-16 15:20:36 -0700973
Russell King065909b2006-01-04 15:44:16 +0000974# Select ISA DMA interface
Al Viro5cae8412005-05-04 05:39:22 +0100975config ISA_DMA_API
976 bool
Al Viro5cae8412005-05-04 05:39:22 +0100977
Linus Torvalds1da177e2005-04-16 15:20:36 -0700978config PCI
Mike Rapoporta0113a92007-11-25 08:55:34 +0100979 bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700980 help
981 Find out whether you have a PCI motherboard. PCI is the name of a
982 bus system, i.e. the way the CPU talks to the other stuff inside
983 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
984 VESA. If you have PCI, say Y, otherwise N.
985
Matthew Wilcox36e23592007-07-10 10:54:40 -0600986config PCI_SYSCALL
987 def_bool PCI
988
Linus Torvalds1da177e2005-04-16 15:20:36 -0700989# Select the host bridge type
990config PCI_HOST_VIA82C505
991 bool
992 depends on PCI && ARCH_SHARK
993 default y
994
Mike Rapoporta0113a92007-11-25 08:55:34 +0100995config PCI_HOST_ITE8152
996 bool
997 depends on PCI && MACH_ARMCORE
998 default y
999 select DMABOUNCE
1000
Linus Torvalds1da177e2005-04-16 15:20:36 -07001001source "drivers/pci/Kconfig"
1002
1003source "drivers/pcmcia/Kconfig"
1004
1005endmenu
1006
1007menu "Kernel Features"
1008
Kevin Hilman0567a0c2007-03-13 20:29:24 +01001009source "kernel/time/Kconfig"
1010
Linus Torvalds1da177e2005-04-16 15:20:36 -07001011config SMP
1012 bool "Symmetric Multi-Processing (EXPERIMENTAL)"
Russell King42578c82009-06-11 15:35:00 +01001013 depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP ||\
Srinidhi Kasagar850265e2009-11-28 08:24:47 +01001014 MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || ARCH_U8500)
Russell Kingbc282482009-05-17 18:58:34 +01001015 depends on GENERIC_CLOCKEVENTS
Jens Axboef6dd9fa2008-06-10 20:48:30 +02001016 select USE_GENERIC_SMP_HELPERS
Srinidhi Kasagar850265e2009-11-28 08:24:47 +01001017 select HAVE_ARM_SCU if (ARCH_REALVIEW || ARCH_OMAP4 || ARCH_U8500)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001018 help
1019 This enables support for systems with more than one CPU. If you have
1020 a system with only one CPU, like most personal computers, say N. If
1021 you have a system with more than one CPU, say Y.
1022
1023 If you say N here, the kernel will run on single and multiprocessor
1024 machines, but will use only one CPU of a multiprocessor machine. If
1025 you say Y here, the kernel will run on many, but not all, single
1026 processor machines. On a single processor machine, the kernel will
1027 run faster if you say N here.
1028
Adrian Bunk03502fa2008-02-03 15:50:21 +02001029 See also <file:Documentation/i386/IO-APIC.txt>,
Linus Torvalds1da177e2005-04-16 15:20:36 -07001030 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
1031 <http://www.linuxdoc.org/docs.html#howto>.
1032
1033 If you don't know what to do here, say N.
1034
Russell Kinga8cbcd92009-05-16 11:51:14 +01001035config HAVE_ARM_SCU
1036 bool
1037 depends on SMP
1038 help
1039 This option enables support for the ARM system coherency unit
1040
Russell Kingf32f4ce2009-05-16 12:14:21 +01001041config HAVE_ARM_TWD
1042 bool
1043 depends on SMP
1044 help
1045 This options enables support for the ARM timer and watchdog unit
1046
Lennert Buytenhek8d5796d2008-08-25 21:03:32 +01001047choice
1048 prompt "Memory split"
1049 default VMSPLIT_3G
1050 help
1051 Select the desired split between kernel and user memory.
1052
1053 If you are not absolutely sure what you are doing, leave this
1054 option alone!
1055
1056 config VMSPLIT_3G
1057 bool "3G/1G user/kernel split"
1058 config VMSPLIT_2G
1059 bool "2G/2G user/kernel split"
1060 config VMSPLIT_1G
1061 bool "1G/3G user/kernel split"
1062endchoice
1063
1064config PAGE_OFFSET
1065 hex
1066 default 0x40000000 if VMSPLIT_1G
1067 default 0x80000000 if VMSPLIT_2G
1068 default 0xC0000000
1069
Linus Torvalds1da177e2005-04-16 15:20:36 -07001070config NR_CPUS
1071 int "Maximum number of CPUs (2-32)"
1072 range 2 32
1073 depends on SMP
1074 default "4"
1075
Russell Kinga054a812005-11-02 22:24:33 +00001076config HOTPLUG_CPU
1077 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
1078 depends on SMP && HOTPLUG && EXPERIMENTAL
1079 help
1080 Say Y here to experiment with turning CPUs off and on. CPUs
1081 can be controlled through /sys/devices/system/cpu.
1082
Russell King37ee16a2005-11-08 19:08:05 +00001083config LOCAL_TIMERS
1084 bool "Use local timer interrupts"
Russell King42578c82009-06-11 15:35:00 +01001085 depends on SMP && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || \
Srinidhi Kasagar850265e2009-11-28 08:24:47 +01001086 REALVIEW_EB_A9MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || ARCH_U8500)
Russell King37ee16a2005-11-08 19:08:05 +00001087 default y
Srinidhi Kasagar850265e2009-11-28 08:24:47 +01001088 select HAVE_ARM_TWD if (ARCH_REALVIEW || ARCH_OMAP4 || ARCH_U8500)
Russell King37ee16a2005-11-08 19:08:05 +00001089 help
1090 Enable support for local timers on SMP platforms, rather then the
1091 legacy IPI broadcast method. Local timers allows the system
1092 accounting to be spread across the timer interval, preventing a
1093 "thundering herd" at every timer tick.
1094
Uwe Kleine-Königd45a3982009-08-13 20:38:17 +02001095source kernel/Kconfig.preempt
Linus Torvalds1da177e2005-04-16 15:20:36 -07001096
Russell Kingf8065812006-03-02 22:41:59 +00001097config HZ
1098 int
1099 default 128 if ARCH_L7200
1100 default 200 if ARCH_EBSA110 || ARCH_S3C2410
Russell Kingbfe65702006-03-04 11:01:53 +00001101 default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
David Brownell5248c652007-11-12 17:59:10 +01001102 default AT91_TIMER_HZ if ARCH_AT91
Russell Kingf8065812006-03-02 22:41:59 +00001103 default 100
1104
Catalin Marinas16c79652009-07-24 12:33:02 +01001105config THUMB2_KERNEL
1106 bool "Compile the kernel in Thumb-2 mode"
1107 depends on CPU_V7 && EXPERIMENTAL
1108 select AEABI
1109 select ARM_ASM_UNIFIED
1110 help
1111 By enabling this option, the kernel will be compiled in
1112 Thumb-2 mode. A compiler/assembler that understand the unified
1113 ARM-Thumb syntax is needed.
1114
1115 If unsure, say N.
1116
Catalin Marinas0becb082009-07-24 12:32:53 +01001117config ARM_ASM_UNIFIED
1118 bool
1119
Nicolas Pitre704bdda2006-01-14 16:33:50 +00001120config AEABI
1121 bool "Use the ARM EABI to compile the kernel"
1122 help
1123 This option allows for the kernel to be compiled using the latest
1124 ARM ABI (aka EABI). This is only useful if you are using a user
1125 space environment that is also compiled with EABI.
1126
1127 Since there are major incompatibilities between the legacy ABI and
1128 EABI, especially with regard to structure member alignment, this
1129 option also changes the kernel syscall calling convention to
1130 disambiguate both ABIs and allow for backward compatibility support
1131 (selected with CONFIG_OABI_COMPAT).
1132
1133 To use this you need GCC version 4.0.0 or later.
1134
Nicolas Pitre6c90c872006-01-14 16:37:15 +00001135config OABI_COMPAT
Russell Kinga73a3ff2006-02-08 21:09:55 +00001136 bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
Nicolas Pitre61c484d2006-02-08 21:09:08 +00001137 depends on AEABI && EXPERIMENTAL
Nicolas Pitre6c90c872006-01-14 16:37:15 +00001138 default y
1139 help
1140 This option preserves the old syscall interface along with the
1141 new (ARM EABI) one. It also provides a compatibility layer to
1142 intercept syscalls that have structure arguments which layout
1143 in memory differs between the legacy ABI and the new ARM EABI
1144 (only for non "thumb" binaries). This option adds a tiny
1145 overhead to all syscalls and produces a slightly larger kernel.
1146 If you know you'll be using only pure EABI user space then you
1147 can say N here. If this option is not selected and you attempt
1148 to execute a legacy ABI binary then the result will be
1149 UNPREDICTABLE (in fact it can be predicted that it won't work
1150 at all). If in doubt say Y.
1151
Mel Gormaneb335752009-05-13 17:34:48 +01001152config ARCH_HAS_HOLES_MEMORYMODEL
Mel Gormane80d6a22008-08-14 11:10:14 +01001153 bool
Mel Gormane80d6a22008-08-14 11:10:14 +01001154
Russell King07a2f732008-10-01 21:39:58 +01001155# Discontigmem is deprecated
Dave Hansen3f22ab22005-06-23 00:07:43 -07001156config ARCH_DISCONTIGMEM_ENABLE
Linus Torvalds1da177e2005-04-16 15:20:36 -07001157 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001158
Russell King05944d72006-11-30 20:43:51 +00001159config ARCH_SPARSEMEM_ENABLE
1160 bool
1161
Russell King07a2f732008-10-01 21:39:58 +01001162config ARCH_SPARSEMEM_DEFAULT
1163 def_bool ARCH_SPARSEMEM_ENABLE
1164
Russell King05944d72006-11-30 20:43:51 +00001165config ARCH_SELECT_MEMORY_MODEL
Russell King07a2f732008-10-01 21:39:58 +01001166 def_bool ARCH_DISCONTIGMEM_ENABLE && ARCH_SPARSEMEM_ENABLE
Russell King05944d72006-11-30 20:43:51 +00001167
Yasunori Gotoc80d79d2006-04-10 22:53:53 -07001168config NODES_SHIFT
1169 int
1170 default "4" if ARCH_LH7A40X
1171 default "2"
1172 depends on NEED_MULTIPLE_NODES
1173
Nicolas Pitre053a96c2008-09-19 00:36:12 -04001174config HIGHMEM
1175 bool "High Memory Support (EXPERIMENTAL)"
1176 depends on MMU && EXPERIMENTAL
1177 help
1178 The address space of ARM processors is only 4 Gigabytes large
1179 and it has to accommodate user address space, kernel address
1180 space as well as some memory mapped IO. That means that, if you
1181 have a large amount of physical memory and/or IO, not all of the
1182 memory can be "permanently mapped" by the kernel. The physical
1183 memory that is not permanently mapped is called "high memory".
1184
1185 Depending on the selected kernel/user memory split, minimum
1186 vmalloc space and actual amount of RAM, you may not need this
1187 option which should result in a slightly faster kernel.
1188
1189 If unsure, say n.
1190
Russell King65cec8e2009-08-17 20:02:06 +01001191config HIGHPTE
1192 bool "Allocate 2nd-level pagetables from highmem"
1193 depends on HIGHMEM
1194 depends on !OUTER_CACHE
1195
Dave Hansen3f22ab22005-06-23 00:07:43 -07001196source "mm/Kconfig"
1197
Linus Torvalds1da177e2005-04-16 15:20:36 -07001198config LEDS
1199 bool "Timer and CPU usage LEDs"
Adrian Bunke055d5bf2008-04-22 01:43:27 +01001200 depends on ARCH_CDB89712 || ARCH_EBSA110 || \
Sascha Hauer8c8fdbc2009-04-01 12:40:15 +02001201 ARCH_EBSA285 || ARCH_INTEGRATOR || \
Linus Torvalds1da177e2005-04-16 15:20:36 -07001202 ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
1203 ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
SAN People73a59c12006-01-09 17:05:41 +00001204 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
Jürgen Schindele25329672008-09-16 21:36:30 +01001205 ARCH_AT91 || ARCH_DAVINCI || \
Colin Tuckleyff3042fb2009-05-30 13:56:13 +01001206 ARCH_KS8695 || MACH_RD88F5182 || ARCH_REALVIEW
Linus Torvalds1da177e2005-04-16 15:20:36 -07001207 help
1208 If you say Y here, the LEDs on your machine will be used
1209 to provide useful information about your current system status.
1210
1211 If you are compiling a kernel for a NetWinder or EBSA-285, you will
1212 be able to select which LEDs are active using the options below. If
1213 you are compiling a kernel for the EBSA-110 or the LART however, the
1214 red LED will simply flash regularly to indicate that the system is
1215 still functional. It is safe to say Y here if you have a CATS
1216 system, but the driver will do nothing.
1217
1218config LEDS_TIMER
1219 bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
David Brownelleebdf7d72007-04-02 12:48:10 -07001220 OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
1221 || MACH_OMAP_PERSEUS2
Linus Torvalds1da177e2005-04-16 15:20:36 -07001222 depends on LEDS
Kevin Hilman0567a0c2007-03-13 20:29:24 +01001223 depends on !GENERIC_CLOCKEVENTS
Linus Torvalds1da177e2005-04-16 15:20:36 -07001224 default y if ARCH_EBSA110
1225 help
1226 If you say Y here, one of the system LEDs (the green one on the
1227 NetWinder, the amber one on the EBSA285, or the red one on the LART)
1228 will flash regularly to indicate that the system is still
1229 operational. This is mainly useful to kernel hackers who are
1230 debugging unstable kernels.
1231
1232 The LART uses the same LED for both Timer LED and CPU usage LED
1233 functions. You may choose to use both, but the Timer LED function
1234 will overrule the CPU usage LED.
1235
1236config LEDS_CPU
1237 bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
David Brownelleebdf7d72007-04-02 12:48:10 -07001238 !ARCH_OMAP) \
1239 || OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
1240 || MACH_OMAP_PERSEUS2
Linus Torvalds1da177e2005-04-16 15:20:36 -07001241 depends on LEDS
1242 help
1243 If you say Y here, the red LED will be used to give a good real
1244 time indication of CPU usage, by lighting whenever the idle task
1245 is not currently executing.
1246
1247 The LART uses the same LED for both Timer LED and CPU usage LED
1248 functions. You may choose to use both, but the Timer LED function
1249 will overrule the CPU usage LED.
1250
1251config ALIGNMENT_TRAP
1252 bool
Hyok S. Choif12d0d72006-09-26 17:36:37 +09001253 depends on CPU_CP15_MMU
Linus Torvalds1da177e2005-04-16 15:20:36 -07001254 default y if !ARCH_EBSA110
Russell Kinge119bff2010-01-10 17:23:29 +00001255 select HAVE_PROC_CPU if PROC_FS
Linus Torvalds1da177e2005-04-16 15:20:36 -07001256 help
Matt LaPlante84eb8d02006-10-03 22:53:09 +02001257 ARM processors cannot fetch/store information which is not
Linus Torvalds1da177e2005-04-16 15:20:36 -07001258 naturally aligned on the bus, i.e., a 4 byte fetch must start at an
1259 address divisible by 4. On 32-bit ARM processors, these non-aligned
1260 fetch/store instructions will be emulated in software if you say
1261 here, which has a severe performance impact. This is necessary for
1262 correct operation of some network protocols. With an IP-only
1263 configuration it is safe to say N, otherwise say Y.
1264
Lennert Buytenhek39ec58f2009-03-09 14:30:09 -04001265config UACCESS_WITH_MEMCPY
1266 bool "Use kernel mem{cpy,set}() for {copy_to,clear}_user() (EXPERIMENTAL)"
1267 depends on MMU && EXPERIMENTAL
1268 default y if CPU_FEROCEON
1269 help
1270 Implement faster copy_to_user and clear_user methods for CPU
1271 cores where a 8-word STM instruction give significantly higher
1272 memory write throughput than a sequence of individual 32bit stores.
1273
1274 A possible side effect is a slight increase in scheduling latency
1275 between threads sharing the same address space if they invoke
1276 such copy operations with large buffers.
1277
1278 However, if the CPU data cache is using a write-allocate mode,
1279 this option is unlikely to provide any performance gain.
1280
Linus Torvalds1da177e2005-04-16 15:20:36 -07001281endmenu
1282
1283menu "Boot options"
1284
1285# Compressed boot loader in ROM. Yes, we really want to ask about
1286# TEXT and BSS so we preserve their values in the config files.
1287config ZBOOT_ROM_TEXT
1288 hex "Compressed ROM boot loader base address"
1289 default "0"
1290 help
1291 The physical address at which the ROM-able zImage is to be
1292 placed in the target. Platforms which normally make use of
1293 ROM-able zImage formats normally set this to a suitable
1294 value in their defconfig file.
1295
1296 If ZBOOT_ROM is not enabled, this has no effect.
1297
1298config ZBOOT_ROM_BSS
1299 hex "Compressed ROM boot loader BSS address"
1300 default "0"
1301 help
Dan Fandrichf8c440b2006-09-20 23:28:51 +01001302 The base address of an area of read/write memory in the target
1303 for the ROM-able zImage which must be available while the
1304 decompressor is running. It must be large enough to hold the
1305 entire decompressed kernel plus an additional 128 KiB.
1306 Platforms which normally make use of ROM-able zImage formats
1307 normally set this to a suitable value in their defconfig file.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001308
1309 If ZBOOT_ROM is not enabled, this has no effect.
1310
1311config ZBOOT_ROM
1312 bool "Compressed boot loader in ROM/flash"
1313 depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
1314 help
1315 Say Y here if you intend to execute your compressed kernel image
1316 (zImage) directly from ROM or flash. If unsure, say N.
1317
1318config CMDLINE
1319 string "Default kernel command string"
1320 default ""
1321 help
1322 On some architectures (EBSA110 and CATS), there is currently no way
1323 for the boot loader to pass arguments to the kernel. For these
1324 architectures, you should supply some command-line options at build
1325 time by entering them here. As a minimum, you should specify the
1326 memory size and the root device (e.g., mem=64M root=/dev/nfs).
1327
1328config XIP_KERNEL
1329 bool "Kernel Execute-In-Place from ROM"
1330 depends on !ZBOOT_ROM
1331 help
1332 Execute-In-Place allows the kernel to run from non-volatile storage
1333 directly addressable by the CPU, such as NOR flash. This saves RAM
1334 space since the text section of the kernel is not loaded from flash
1335 to RAM. Read-write sections, such as the data section and stack,
1336 are still copied to RAM. The XIP kernel is not compressed since
1337 it has to run directly from flash, so it will take more space to
1338 store it. The flash address used to link the kernel object files,
1339 and for storing it, is configuration dependent. Therefore, if you
1340 say Y here, you must know the proper physical address where to
1341 store the kernel image depending on your own flash memory usage.
1342
1343 Also note that the make target becomes "make xipImage" rather than
1344 "make zImage" or "make Image". The final kernel binary to put in
1345 ROM memory will be arch/arm/boot/xipImage.
1346
1347 If unsure, say N.
1348
1349config XIP_PHYS_ADDR
1350 hex "XIP Kernel Physical Location"
1351 depends on XIP_KERNEL
1352 default "0x00080000"
1353 help
1354 This is the physical address in your flash memory the kernel will
1355 be linked for and stored to. This address is dependent on your
1356 own flash usage.
1357
Richard Purdiec587e4a2007-02-06 21:29:00 +01001358config KEXEC
1359 bool "Kexec system call (EXPERIMENTAL)"
1360 depends on EXPERIMENTAL
1361 help
1362 kexec is a system call that implements the ability to shutdown your
1363 current kernel, and to start another kernel. It is like a reboot
Matt LaPlante01dd2fb2007-10-20 01:34:40 +02001364 but it is independent of the system firmware. And like a reboot
Richard Purdiec587e4a2007-02-06 21:29:00 +01001365 you can start any kernel with it, not just Linux.
1366
1367 It is an ongoing process to be certain the hardware in a machine
1368 is properly shutdown, so do not be surprised if this code does not
1369 initially work for you. It may help to enable device hotplugging
1370 support.
1371
Richard Purdie4cd9d6f2008-01-02 00:56:46 +01001372config ATAGS_PROC
1373 bool "Export atags in procfs"
Uli Luckasb98d7292008-02-22 16:45:18 +01001374 depends on KEXEC
1375 default y
Richard Purdie4cd9d6f2008-01-02 00:56:46 +01001376 help
1377 Should the atags used to boot the kernel be exported in an "atags"
1378 file in procfs. Useful with kexec.
1379
Linus Torvalds1da177e2005-04-16 15:20:36 -07001380endmenu
1381
Russell Kingac9d7ef2008-08-18 17:26:00 +01001382menu "CPU Power Management"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001383
Ben Dooks89c52ed2009-07-30 23:23:24 +01001384if ARCH_HAS_CPUFREQ
Linus Torvalds1da177e2005-04-16 15:20:36 -07001385
1386source "drivers/cpufreq/Kconfig"
1387
1388config CPU_FREQ_SA1100
1389 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001390
1391config CPU_FREQ_SA1110
1392 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -07001393
1394config CPU_FREQ_INTEGRATOR
1395 tristate "CPUfreq driver for ARM Integrator CPUs"
1396 depends on ARCH_INTEGRATOR && CPU_FREQ
1397 default y
1398 help
1399 This enables the CPUfreq driver for ARM Integrator CPUs.
1400
1401 For details, take a look at <file:Documentation/cpu-freq>.
1402
1403 If in doubt, say Y.
1404
Russell King9e2697f2007-12-14 13:30:14 +00001405config CPU_FREQ_PXA
1406 bool
1407 depends on CPU_FREQ && ARCH_PXA && PXA25x
1408 default y
1409 select CPU_FREQ_DEFAULT_GOV_USERSPACE
1410
Mark Brownb3748dd2009-06-15 11:23:20 +01001411config CPU_FREQ_S3C64XX
1412 bool "CPUfreq support for Samsung S3C64XX CPUs"
1413 depends on CPU_FREQ && CPU_S3C6410
1414
Ben Dooks9d56c022009-07-30 23:23:25 +01001415config CPU_FREQ_S3C
1416 bool
1417 help
1418 Internal configuration node for common cpufreq on Samsung SoC
1419
1420config CPU_FREQ_S3C24XX
1421 bool "CPUfreq driver for Samsung S3C24XX series CPUs"
1422 depends on ARCH_S3C2410 && CPU_FREQ && EXPERIMENTAL
1423 select CPU_FREQ_S3C
1424 help
1425 This enables the CPUfreq driver for the Samsung S3C24XX family
1426 of CPUs.
1427
1428 For details, take a look at <file:Documentation/cpu-freq>.
1429
1430 If in doubt, say N.
1431
1432config CPU_FREQ_S3C24XX_PLL
1433 bool "Support CPUfreq changing of PLL frequency"
1434 depends on CPU_FREQ_S3C24XX && EXPERIMENTAL
1435 help
1436 Compile in support for changing the PLL frequency from the
1437 S3C24XX series CPUfreq driver. The PLL takes time to settle
1438 after a frequency change, so by default it is not enabled.
1439
1440 This also means that the PLL tables for the selected CPU(s) will
1441 be built which may increase the size of the kernel image.
1442
1443config CPU_FREQ_S3C24XX_DEBUG
1444 bool "Debug CPUfreq Samsung driver core"
1445 depends on CPU_FREQ_S3C24XX
1446 help
1447 Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
1448
1449config CPU_FREQ_S3C24XX_IODEBUG
1450 bool "Debug CPUfreq Samsung driver IO timing"
1451 depends on CPU_FREQ_S3C24XX
1452 help
1453 Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
1454
Ben Dookse6d197a2009-07-30 23:23:42 +01001455config CPU_FREQ_S3C24XX_DEBUGFS
1456 bool "Export debugfs for CPUFreq"
1457 depends on CPU_FREQ_S3C24XX && DEBUG_FS
1458 help
1459 Export status information via debugfs.
1460
Linus Torvalds1da177e2005-04-16 15:20:36 -07001461endif
1462
Russell Kingac9d7ef2008-08-18 17:26:00 +01001463source "drivers/cpuidle/Kconfig"
1464
1465endmenu
1466
Linus Torvalds1da177e2005-04-16 15:20:36 -07001467menu "Floating point emulation"
1468
1469comment "At least one emulation must be selected"
1470
1471config FPE_NWFPE
1472 bool "NWFPE math emulation"
Nicolas Pitre8993a442006-01-14 16:36:50 +00001473 depends on !AEABI || OABI_COMPAT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001474 ---help---
1475 Say Y to include the NWFPE floating point emulator in the kernel.
1476 This is necessary to run most binaries. Linux does not currently
1477 support floating point hardware so you need to say Y here even if
1478 your machine has an FPA or floating point co-processor podule.
1479
1480 You may say N here if you are going to load the Acorn FPEmulator
1481 early in the bootup.
1482
1483config FPE_NWFPE_XP
1484 bool "Support extended precision"
Lennert Buytenhekbedf1422005-11-07 21:12:08 +00001485 depends on FPE_NWFPE
Linus Torvalds1da177e2005-04-16 15:20:36 -07001486 help
1487 Say Y to include 80-bit support in the kernel floating-point
1488 emulator. Otherwise, only 32 and 64-bit support is compiled in.
1489 Note that gcc does not generate 80-bit operations by default,
1490 so in most cases this option only enlarges the size of the
1491 floating point emulator without any good reason.
1492
1493 You almost surely want to say N here.
1494
1495config FPE_FASTFPE
1496 bool "FastFPE math emulation (EXPERIMENTAL)"
Nicolas Pitre8993a442006-01-14 16:36:50 +00001497 depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL
Linus Torvalds1da177e2005-04-16 15:20:36 -07001498 ---help---
1499 Say Y here to include the FAST floating point emulator in the kernel.
1500 This is an experimental much faster emulator which now also has full
1501 precision for the mantissa. It does not support any exceptions.
1502 It is very simple, and approximately 3-6 times faster than NWFPE.
1503
1504 It should be sufficient for most programs. It may be not suitable
1505 for scientific calculations, but you have to check this for yourself.
1506 If you do not feel you need a faster FP emulation you should better
1507 choose NWFPE.
1508
1509config VFP
1510 bool "VFP-format floating point maths"
Russell Kingc00d4ff2008-01-28 13:21:30 +00001511 depends on CPU_V6 || CPU_ARM926T || CPU_V7 || CPU_FEROCEON
Linus Torvalds1da177e2005-04-16 15:20:36 -07001512 help
1513 Say Y to include VFP support code in the kernel. This is needed
1514 if your hardware includes a VFP unit.
1515
1516 Please see <file:Documentation/arm/VFP/release-notes.txt> for
1517 release notes and additional status information.
1518
1519 Say N if your target does not have VFP hardware.
1520
Catalin Marinas25ebee02007-09-25 15:22:24 +01001521config VFPv3
1522 bool
1523 depends on VFP
1524 default y if CPU_V7
1525
Catalin Marinasb5872db2008-01-10 19:16:17 +01001526config NEON
1527 bool "Advanced SIMD (NEON) Extension support"
1528 depends on VFPv3 && CPU_V7
1529 help
1530 Say Y to include support code for NEON, the ARMv7 Advanced SIMD
1531 Extension.
1532
Linus Torvalds1da177e2005-04-16 15:20:36 -07001533endmenu
1534
1535menu "Userspace binary formats"
1536
1537source "fs/Kconfig.binfmt"
1538
1539config ARTHUR
1540 tristate "RISC OS personality"
Nicolas Pitre704bdda2006-01-14 16:33:50 +00001541 depends on !AEABI
Linus Torvalds1da177e2005-04-16 15:20:36 -07001542 help
1543 Say Y here to include the kernel code necessary if you want to run
1544 Acorn RISC OS/Arthur binaries under Linux. This code is still very
1545 experimental; if this sounds frightening, say N and sleep in peace.
1546 You can also say M here to compile this support as a module (which
1547 will be called arthur).
1548
1549endmenu
1550
1551menu "Power management options"
1552
Russell Kingeceab4a2005-11-15 11:31:41 +00001553source "kernel/power/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001554
Johannes Bergf4cb5702007-12-08 02:14:00 +01001555config ARCH_SUSPEND_POSSIBLE
1556 def_bool y
1557
Linus Torvalds1da177e2005-04-16 15:20:36 -07001558endmenu
1559
Sam Ravnborgd5950b42005-07-11 21:03:49 -07001560source "net/Kconfig"
1561
Uwe Kleine-Königac251502009-08-13 21:09:21 +02001562source "drivers/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001563
1564source "fs/Kconfig"
1565
Linus Torvalds1da177e2005-04-16 15:20:36 -07001566source "arch/arm/Kconfig.debug"
1567
1568source "security/Kconfig"
1569
1570source "crypto/Kconfig"
1571
1572source "lib/Kconfig"