xref: /linux/arch/arm/Kconfig (revision 3b938be69e46b64a516b6e3ed6d93c40c091f22c)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# For a description of the syntax of this configuration file,
31da177e4SLinus Torvalds# see Documentation/kbuild/kconfig-language.txt.
41da177e4SLinus Torvalds#
51da177e4SLinus Torvalds
61da177e4SLinus Torvaldsmainmenu "Linux Kernel Configuration"
71da177e4SLinus Torvalds
81da177e4SLinus Torvaldsconfig ARM
91da177e4SLinus Torvalds	bool
101da177e4SLinus Torvalds	default y
1112b824fbSAlessandro Zummo	select RTC_LIB
1275e7153aSRalf Baechle	select SYS_SUPPORTS_APM_EMULATION
131da177e4SLinus Torvalds	help
141da177e4SLinus Torvalds	  The ARM series is a line of low-power-consumption RISC chip designs
15f6c8965aSMartin Michlmayr	  licensed by ARM Ltd and targeted at embedded applications and
161da177e4SLinus Torvalds	  handhelds such as the Compaq IPAQ.  ARM-based PCs are no longer
171da177e4SLinus Torvalds	  manufactured, but legacy ARM-based PC hardware remains popular in
181da177e4SLinus Torvalds	  Europe.  There is an ARM Linux project with a web page at
191da177e4SLinus Torvalds	  <http://www.arm.linux.org.uk/>.
201da177e4SLinus Torvalds
2175e7153aSRalf Baechleconfig SYS_SUPPORTS_APM_EMULATION
2275e7153aSRalf Baechle	bool
2375e7153aSRalf Baechle
240a938b97SDavid Brownellconfig GENERIC_GPIO
250a938b97SDavid Brownell	bool
260a938b97SDavid Brownell	default n
270a938b97SDavid Brownell
28746140c7SKevin Hilmanconfig GENERIC_TIME
29746140c7SKevin Hilman	bool
30746140c7SKevin Hilman	default n
31746140c7SKevin Hilman
320567a0c0SKevin Hilmanconfig GENERIC_CLOCKEVENTS
330567a0c0SKevin Hilman	bool
340567a0c0SKevin Hilman	default n
350567a0c0SKevin Hilman
361da177e4SLinus Torvaldsconfig MMU
371da177e4SLinus Torvalds	bool
381da177e4SLinus Torvalds	default y
391da177e4SLinus Torvalds
405ea81769SAl Viroconfig NO_IOPORT
415ea81769SAl Viro	bool
425ea81769SAl Viro	default n
435ea81769SAl Viro
441da177e4SLinus Torvaldsconfig EISA
451da177e4SLinus Torvalds	bool
461da177e4SLinus Torvalds	---help---
471da177e4SLinus Torvalds	  The Extended Industry Standard Architecture (EISA) bus was
481da177e4SLinus Torvalds	  developed as an open alternative to the IBM MicroChannel bus.
491da177e4SLinus Torvalds
501da177e4SLinus Torvalds	  The EISA bus provided some of the features of the IBM MicroChannel
511da177e4SLinus Torvalds	  bus while maintaining backward compatibility with cards made for
521da177e4SLinus Torvalds	  the older ISA bus.  The EISA bus saw limited use between 1988 and
531da177e4SLinus Torvalds	  1995 when it was made obsolete by the PCI bus.
541da177e4SLinus Torvalds
551da177e4SLinus Torvalds	  Say Y here if you are building a kernel for an EISA-based machine.
561da177e4SLinus Torvalds
571da177e4SLinus Torvalds	  Otherwise, say N.
581da177e4SLinus Torvalds
591da177e4SLinus Torvaldsconfig SBUS
601da177e4SLinus Torvalds	bool
611da177e4SLinus Torvalds
621da177e4SLinus Torvaldsconfig MCA
631da177e4SLinus Torvalds	bool
641da177e4SLinus Torvalds	help
651da177e4SLinus Torvalds	  MicroChannel Architecture is found in some IBM PS/2 machines and
661da177e4SLinus Torvalds	  laptops.  It is a bus system similar to PCI or ISA. See
671da177e4SLinus Torvalds	  <file:Documentation/mca.txt> (and especially the web page given
681da177e4SLinus Torvalds	  there) before attempting to build an MCA bus kernel.
691da177e4SLinus Torvalds
704a2581a0SThomas Gleixnerconfig GENERIC_HARDIRQS
714a2581a0SThomas Gleixner	bool
724a2581a0SThomas Gleixner	default y
734a2581a0SThomas Gleixner
74f16fb1ecSRussell Kingconfig STACKTRACE_SUPPORT
75f16fb1ecSRussell King	bool
76f16fb1ecSRussell King	default y
77f16fb1ecSRussell King
78f16fb1ecSRussell Kingconfig LOCKDEP_SUPPORT
79f16fb1ecSRussell King	bool
80f16fb1ecSRussell King	default y
81f16fb1ecSRussell King
827ad1bcb2SRussell Kingconfig TRACE_IRQFLAGS_SUPPORT
837ad1bcb2SRussell King	bool
847ad1bcb2SRussell King	default y
857ad1bcb2SRussell King
864a2581a0SThomas Gleixnerconfig HARDIRQS_SW_RESEND
874a2581a0SThomas Gleixner	bool
884a2581a0SThomas Gleixner	default y
894a2581a0SThomas Gleixner
904a2581a0SThomas Gleixnerconfig GENERIC_IRQ_PROBE
914a2581a0SThomas Gleixner	bool
924a2581a0SThomas Gleixner	default y
934a2581a0SThomas Gleixner
941da177e4SLinus Torvaldsconfig RWSEM_GENERIC_SPINLOCK
951da177e4SLinus Torvalds	bool
961da177e4SLinus Torvalds	default y
971da177e4SLinus Torvalds
981da177e4SLinus Torvaldsconfig RWSEM_XCHGADD_ALGORITHM
991da177e4SLinus Torvalds	bool
1001da177e4SLinus Torvalds
101f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U32
102f0d1b0b3SDavid Howells	bool
103f0d1b0b3SDavid Howells	default n
104f0d1b0b3SDavid Howells
105f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U64
106f0d1b0b3SDavid Howells	bool
107f0d1b0b3SDavid Howells	default n
108f0d1b0b3SDavid Howells
109b89c3b16SAkinobu Mitaconfig GENERIC_HWEIGHT
110b89c3b16SAkinobu Mita	bool
111b89c3b16SAkinobu Mita	default y
112b89c3b16SAkinobu Mita
1131da177e4SLinus Torvaldsconfig GENERIC_CALIBRATE_DELAY
1141da177e4SLinus Torvalds	bool
1151da177e4SLinus Torvalds	default y
1161da177e4SLinus Torvalds
117a08b6b79Sviro@ZenIV.linux.org.ukconfig ARCH_MAY_HAVE_PC_FDC
118a08b6b79Sviro@ZenIV.linux.org.uk	bool
119a08b6b79Sviro@ZenIV.linux.org.uk
1205ac6da66SChristoph Lameterconfig ZONE_DMA
1215ac6da66SChristoph Lameter	bool
1225ac6da66SChristoph Lameter	default y
1235ac6da66SChristoph Lameter
1241da177e4SLinus Torvaldsconfig GENERIC_ISA_DMA
1251da177e4SLinus Torvalds	bool
1261da177e4SLinus Torvalds
1271da177e4SLinus Torvaldsconfig FIQ
1281da177e4SLinus Torvalds	bool
1291da177e4SLinus Torvalds
130034d2f5aSAl Viroconfig ARCH_MTD_XIP
131034d2f5aSAl Viro	bool
132034d2f5aSAl Viro
133c760fc19SHyok S. Choiconfig VECTORS_BASE
134c760fc19SHyok S. Choi	hex
1356afd6faeSHyok S. Choi	default 0xffff0000 if MMU || CPU_HIGH_VECTOR
136c760fc19SHyok S. Choi	default DRAM_BASE if REMAP_VECTORS_TO_RAM
137c760fc19SHyok S. Choi	default 0x00000000
138c760fc19SHyok S. Choi	help
139c760fc19SHyok S. Choi	  The base address of exception vectors.
140c760fc19SHyok S. Choi
1411da177e4SLinus Torvaldssource "init/Kconfig"
1421da177e4SLinus Torvalds
1431da177e4SLinus Torvaldsmenu "System Type"
1441da177e4SLinus Torvalds
1451da177e4SLinus Torvaldschoice
1461da177e4SLinus Torvalds	prompt "ARM system type"
1476a0e2430SCatalin Marinas	default ARCH_VERSATILE
1481da177e4SLinus Torvalds
1494af6fee1SDeepak Saxenaconfig ARCH_AAEC2000
1504af6fee1SDeepak Saxena	bool "Agilent AAEC-2000 based"
1514af6fee1SDeepak Saxena	select ARM_AMBA
1524af6fee1SDeepak Saxena	help
1534af6fee1SDeepak Saxena	  This enables support for systems based on the Agilent AAEC-2000
1544af6fee1SDeepak Saxena
1554af6fee1SDeepak Saxenaconfig ARCH_INTEGRATOR
1564af6fee1SDeepak Saxena	bool "ARM Ltd. Integrator family"
1574af6fee1SDeepak Saxena	select ARM_AMBA
1584af6fee1SDeepak Saxena	select ICST525
1594af6fee1SDeepak Saxena	help
1604af6fee1SDeepak Saxena	  Support for ARM's Integrator platform.
1614af6fee1SDeepak Saxena
1624af6fee1SDeepak Saxenaconfig ARCH_REALVIEW
1634af6fee1SDeepak Saxena	bool "ARM Ltd. RealView family"
1644af6fee1SDeepak Saxena	select ARM_AMBA
1654af6fee1SDeepak Saxena	select ICST307
1664af6fee1SDeepak Saxena	help
1674af6fee1SDeepak Saxena	  This enables support for ARM Ltd RealView boards.
1684af6fee1SDeepak Saxena
1694af6fee1SDeepak Saxenaconfig ARCH_VERSATILE
1704af6fee1SDeepak Saxena	bool "ARM Ltd. Versatile family"
1714af6fee1SDeepak Saxena	select ARM_AMBA
1724af6fee1SDeepak Saxena	select ARM_VIC
1734af6fee1SDeepak Saxena	select ICST307
174b49c87c2SKevin Hilman	select GENERIC_TIME
17589df1272SKevin Hilman	select GENERIC_CLOCKEVENTS
1764af6fee1SDeepak Saxena	help
1774af6fee1SDeepak Saxena	  This enables support for ARM Ltd Versatile board.
1784af6fee1SDeepak Saxena
1798fc5ffa0SAndrew Victorconfig ARCH_AT91
1808fc5ffa0SAndrew Victor	bool "Atmel AT91"
1810a938b97SDavid Brownell	select GENERIC_GPIO
1824af6fee1SDeepak Saxena	help
1838fc5ffa0SAndrew Victor	  This enables support for systems based on the Atmel AT91RM9200
1848fc5ffa0SAndrew Victor	  and AT91SAM9xxx processors.
1854af6fee1SDeepak Saxena
1861da177e4SLinus Torvaldsconfig ARCH_CLPS7500
1874af6fee1SDeepak Saxena	bool "Cirrus CL-PS7500FE"
1881da177e4SLinus Torvalds	select TIMER_ACORN
189f7e68bbfSRussell King	select ISA
190e4169889SRussell King	select NO_IOPORT
191f999b8bdSMartin Michlmayr	help
192f999b8bdSMartin Michlmayr	  Support for the Cirrus Logic PS7500FE system-on-a-chip.
1931da177e4SLinus Torvalds
1941da177e4SLinus Torvaldsconfig ARCH_CLPS711X
1954af6fee1SDeepak Saxena	bool "Cirrus Logic CLPS711x/EP721x-based"
196f999b8bdSMartin Michlmayr	help
197f999b8bdSMartin Michlmayr	  Support for Cirrus Logic 711x/721x based boards.
1981da177e4SLinus Torvalds
1991da177e4SLinus Torvaldsconfig ARCH_CO285
2001da177e4SLinus Torvalds	bool "Co-EBSA285"
2011da177e4SLinus Torvalds	select FOOTBRIDGE
2021da177e4SLinus Torvalds	select FOOTBRIDGE_ADDIN
203f999b8bdSMartin Michlmayr	help
204f999b8bdSMartin Michlmayr	  Support for Intel's EBSA285 companion chip.
2051da177e4SLinus Torvalds
2061da177e4SLinus Torvaldsconfig ARCH_EBSA110
2071da177e4SLinus Torvalds	bool "EBSA-110"
208f7e68bbfSRussell King	select ISA
209c5eb2a2bSRussell King	select NO_IOPORT
2101da177e4SLinus Torvalds	help
2111da177e4SLinus Torvalds	  This is an evaluation board for the StrongARM processor available
212f6c8965aSMartin Michlmayr	  from Digital. It has limited hardware on-board, including an
2131da177e4SLinus Torvalds	  Ethernet interface, two PCMCIA sockets, two serial ports and a
2141da177e4SLinus Torvalds	  parallel port.
2151da177e4SLinus Torvalds
216e7736d47SLennert Buytenhekconfig ARCH_EP93XX
217e7736d47SLennert Buytenhek	bool "EP93xx-based"
218e7736d47SLennert Buytenhek	select ARM_AMBA
219e7736d47SLennert Buytenhek	select ARM_VIC
220e7736d47SLennert Buytenhek	help
221e7736d47SLennert Buytenhek	  This enables support for the Cirrus EP93xx series of CPUs.
222e7736d47SLennert Buytenhek
2231da177e4SLinus Torvaldsconfig ARCH_FOOTBRIDGE
2241da177e4SLinus Torvalds	bool "FootBridge"
2251da177e4SLinus Torvalds	select FOOTBRIDGE
226f999b8bdSMartin Michlmayr	help
227f999b8bdSMartin Michlmayr	  Support for systems based on the DC21285 companion chip
228f999b8bdSMartin Michlmayr	  ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
2291da177e4SLinus Torvalds
2304af6fee1SDeepak Saxenaconfig ARCH_NETX
2314af6fee1SDeepak Saxena	bool "Hilscher NetX based"
2324af6fee1SDeepak Saxena	select ARM_VIC
233f999b8bdSMartin Michlmayr	help
2344af6fee1SDeepak Saxena	  This enables support for systems based on the Hilscher NetX Soc
2354af6fee1SDeepak Saxena
2364af6fee1SDeepak Saxenaconfig ARCH_H720X
2374af6fee1SDeepak Saxena	bool "Hynix HMS720x-based"
2384af6fee1SDeepak Saxena	select ISA_DMA_API
2394af6fee1SDeepak Saxena	help
2404af6fee1SDeepak Saxena	  This enables support for systems based on the Hynix HMS720x
2414af6fee1SDeepak Saxena
2424af6fee1SDeepak Saxenaconfig ARCH_IMX
2434af6fee1SDeepak Saxena	bool "IMX"
2444af6fee1SDeepak Saxena	help
2454af6fee1SDeepak Saxena	  Support for Motorola's i.MX family of processors (MX1, MXL).
2461da177e4SLinus Torvalds
247*3b938be6SRussell Kingconfig ARCH_IOP13XX
248*3b938be6SRussell King	bool "IOP13xx-based"
249*3b938be6SRussell King	depends on MMU
250*3b938be6SRussell King	select PLAT_IOP
251*3b938be6SRussell King	select PCI
252*3b938be6SRussell King	select ARCH_SUPPORTS_MSI
253*3b938be6SRussell King	help
254*3b938be6SRussell King	  Support for Intel's IOP13XX (XScale) family of processors.
255*3b938be6SRussell King
2563f7e5815SLennert Buytenhekconfig ARCH_IOP32X
2573f7e5815SLennert Buytenhek	bool "IOP32x-based"
258a4f7e763SRussell King	depends on MMU
2597ae1f7ecSLennert Buytenhek	select PLAT_IOP
260f7e68bbfSRussell King	select PCI
261f999b8bdSMartin Michlmayr	help
2623f7e5815SLennert Buytenhek	  Support for Intel's 80219 and IOP32X (XScale) family of
2633f7e5815SLennert Buytenhek	  processors.
2643f7e5815SLennert Buytenhek
2653f7e5815SLennert Buytenhekconfig ARCH_IOP33X
2663f7e5815SLennert Buytenhek	bool "IOP33x-based"
2673f7e5815SLennert Buytenhek	depends on MMU
2687ae1f7ecSLennert Buytenhek	select PLAT_IOP
2693f7e5815SLennert Buytenhek	select PCI
2703f7e5815SLennert Buytenhek	help
2713f7e5815SLennert Buytenhek	  Support for Intel's IOP33X (XScale) family of processors.
2721da177e4SLinus Torvalds
273*3b938be6SRussell Kingconfig ARCH_IXP23XX
274*3b938be6SRussell King 	bool "IXP23XX-based"
275588ef769SDan Williams	depends on MMU
276285f5fa7SDan Williams 	select PCI
277285f5fa7SDan Williams	help
278*3b938be6SRussell King	  Support for Intel's IXP23xx (XScale) family of processors.
2791da177e4SLinus Torvalds
2801da177e4SLinus Torvaldsconfig ARCH_IXP2000
2811da177e4SLinus Torvalds	bool "IXP2400/2800-based"
282a4f7e763SRussell King	depends on MMU
283f7e68bbfSRussell King	select PCI
284f999b8bdSMartin Michlmayr	help
285f999b8bdSMartin Michlmayr	  Support for Intel's IXP2400/2800 (XScale) family of processors.
2861da177e4SLinus Torvalds
287*3b938be6SRussell Kingconfig ARCH_IXP4XX
288*3b938be6SRussell King	bool "IXP4xx-based"
289a4f7e763SRussell King	depends on MMU
290*3b938be6SRussell King	select GENERIC_TIME
291*3b938be6SRussell King	select GENERIC_CLOCKEVENTS
292c4713074SLennert Buytenhek	help
293*3b938be6SRussell King	  Support for Intel's IXP4XX (XScale) family of processors.
294c4713074SLennert Buytenhek
2951da177e4SLinus Torvaldsconfig ARCH_L7200
2961da177e4SLinus Torvalds	bool "LinkUp-L7200"
2971da177e4SLinus Torvalds	select FIQ
2981da177e4SLinus Torvalds	help
2991da177e4SLinus Torvalds	  Say Y here if you intend to run this kernel on a LinkUp Systems
3001da177e4SLinus Torvalds	  L7200 Software Development Board which uses an ARM720T processor.
3011da177e4SLinus Torvalds	  Information on this board can be obtained at:
3021da177e4SLinus Torvalds
3031da177e4SLinus Torvalds	  <http://www.linkupsys.com/>
3041da177e4SLinus Torvalds
3051da177e4SLinus Torvalds	  If you have any questions or comments about the Linux kernel port
3061da177e4SLinus Torvalds	  to this board, send e-mail to <sjhill@cotw.com>.
3071da177e4SLinus Torvalds
308c53c9cf6SAndrew Victorconfig ARCH_KS8695
309c53c9cf6SAndrew Victor	bool "Micrel/Kendin KS8695"
310c53c9cf6SAndrew Victor	help
311c53c9cf6SAndrew Victor	  Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
312c53c9cf6SAndrew Victor	  System-on-Chip devices.
313c53c9cf6SAndrew Victor
3149918cda5SUwe Kleine-Königconfig ARCH_NS9XXX
3159918cda5SUwe Kleine-König	bool "NetSilicon NS9xxx"
3169918cda5SUwe Kleine-König	help
3179918cda5SUwe Kleine-König	  Say Y here if you intend to run this kernel on a NetSilicon NS9xxx
3189918cda5SUwe Kleine-König	  System.
3199918cda5SUwe Kleine-König
3209918cda5SUwe Kleine-König	  <http://www.digi.com/products/microprocessors/index.jsp>
3219918cda5SUwe Kleine-König
3224af6fee1SDeepak Saxenaconfig ARCH_PNX4008
3234af6fee1SDeepak Saxena	bool "Philips Nexperia PNX4008 Mobile"
3244af6fee1SDeepak Saxena	help
3254af6fee1SDeepak Saxena	  This enables support for Philips PNX4008 mobile platform.
3264af6fee1SDeepak Saxena
3271da177e4SLinus Torvaldsconfig ARCH_PXA
3281da177e4SLinus Torvalds	bool "PXA2xx-based"
329a4f7e763SRussell King	depends on MMU
330034d2f5aSAl Viro	select ARCH_MTD_XIP
3310a938b97SDavid Brownell	select GENERIC_GPIO
33245cf5eefSNicolas Pitre	select GENERIC_TIME
333f999b8bdSMartin Michlmayr	help
334f999b8bdSMartin Michlmayr	  Support for Intel's PXA2XX processor line.
3351da177e4SLinus Torvalds
3361da177e4SLinus Torvaldsconfig ARCH_RPC
3371da177e4SLinus Torvalds	bool "RiscPC"
3381da177e4SLinus Torvalds	select ARCH_ACORN
3391da177e4SLinus Torvalds	select FIQ
3401da177e4SLinus Torvalds	select TIMER_ACORN
341a08b6b79Sviro@ZenIV.linux.org.uk	select ARCH_MAY_HAVE_PC_FDC
342065909b9SRussell King	select ISA_DMA_API
3435ea81769SAl Viro	select NO_IOPORT
3441da177e4SLinus Torvalds	help
3451da177e4SLinus Torvalds	  On the Acorn Risc-PC, Linux can support the internal IDE disk and
3461da177e4SLinus Torvalds	  CD-ROM interface, serial and parallel port, and the floppy drive.
3471da177e4SLinus Torvalds
3481da177e4SLinus Torvaldsconfig ARCH_SA1100
3491da177e4SLinus Torvalds	bool "SA1100-based"
350f7e68bbfSRussell King	select ISA
3513cd9e19eSRussell King	select ARCH_DISCONTIGMEM_ENABLE
352034d2f5aSAl Viro	select ARCH_MTD_XIP
3530a938b97SDavid Brownell	select GENERIC_GPIO
354f999b8bdSMartin Michlmayr	help
355f999b8bdSMartin Michlmayr	  Support for StrongARM 11x0 based boards.
3561da177e4SLinus Torvalds
3571da177e4SLinus Torvaldsconfig ARCH_S3C2410
358e4d06e39SBen Dooks	bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443"
3590a938b97SDavid Brownell	select GENERIC_GPIO
36025ff0a65SDavid Brownell	select GENERIC_TIME
3611da177e4SLinus Torvalds	help
3621da177e4SLinus Torvalds	  Samsung S3C2410X CPU based systems, such as the Simtec Electronics
3631da177e4SLinus Torvalds	  BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
364f6c8965aSMartin Michlmayr	  the Samsung SMDK2410 development board (and derivatives).
3651da177e4SLinus Torvalds
3661da177e4SLinus Torvaldsconfig ARCH_SHARK
3671da177e4SLinus Torvalds	bool "Shark"
368f7e68bbfSRussell King	select ISA
369f7e68bbfSRussell King	select ISA_DMA
370f7e68bbfSRussell King	select PCI
371f999b8bdSMartin Michlmayr	help
372f999b8bdSMartin Michlmayr	  Support for the StrongARM based Digital DNARD machine, also known
373f999b8bdSMartin Michlmayr	  as "Shark" (<http://www.shark-linux.de/shark.html>).
3741da177e4SLinus Torvalds
3751da177e4SLinus Torvaldsconfig ARCH_LH7A40X
3761da177e4SLinus Torvalds	bool "Sharp LH7A40X"
3771da177e4SLinus Torvalds	help
3781da177e4SLinus Torvalds	  Say Y here for systems based on one of the Sharp LH7A40X
3791da177e4SLinus Torvalds	  System on a Chip processors.  These CPUs include an ARM922T
3801da177e4SLinus Torvalds	  core with a wide array of integrated devices for
3811da177e4SLinus Torvalds	  hand-held and low-power applications.
3821da177e4SLinus Torvalds
3837c6337e2SKevin Hilmanconfig ARCH_DAVINCI
3847c6337e2SKevin Hilman	bool "TI DaVinci"
3857c6337e2SKevin Hilman	select GENERIC_TIME
3867c6337e2SKevin Hilman	select GENERIC_CLOCKEVENTS
3877c6337e2SKevin Hilman	help
3887c6337e2SKevin Hilman	  Support for TI's DaVinci platform.
3897c6337e2SKevin Hilman
390*3b938be6SRussell Kingconfig ARCH_OMAP
391*3b938be6SRussell King	bool "TI OMAP"
392*3b938be6SRussell King	select GENERIC_GPIO
393*3b938be6SRussell King	select GENERIC_TIME
394*3b938be6SRussell King	help
395*3b938be6SRussell King	  Support for TI's OMAP platform (OMAP1 and OMAP2).
396*3b938be6SRussell King
3971da177e4SLinus Torvaldsendchoice
3981da177e4SLinus Torvalds
3991da177e4SLinus Torvaldssource "arch/arm/mach-clps711x/Kconfig"
4001da177e4SLinus Torvalds
401e7736d47SLennert Buytenheksource "arch/arm/mach-ep93xx/Kconfig"
402e7736d47SLennert Buytenhek
4031da177e4SLinus Torvaldssource "arch/arm/mach-footbridge/Kconfig"
4041da177e4SLinus Torvalds
4051da177e4SLinus Torvaldssource "arch/arm/mach-integrator/Kconfig"
4061da177e4SLinus Torvalds
4073f7e5815SLennert Buytenheksource "arch/arm/mach-iop32x/Kconfig"
4083f7e5815SLennert Buytenhek
4093f7e5815SLennert Buytenheksource "arch/arm/mach-iop33x/Kconfig"
4101da177e4SLinus Torvalds
411285f5fa7SDan Williamssource "arch/arm/mach-iop13xx/Kconfig"
412285f5fa7SDan Williams
4131da177e4SLinus Torvaldssource "arch/arm/mach-ixp4xx/Kconfig"
4141da177e4SLinus Torvalds
4151da177e4SLinus Torvaldssource "arch/arm/mach-ixp2000/Kconfig"
4161da177e4SLinus Torvalds
417c4713074SLennert Buytenheksource "arch/arm/mach-ixp23xx/Kconfig"
418c4713074SLennert Buytenhek
4191da177e4SLinus Torvaldssource "arch/arm/mach-pxa/Kconfig"
4201da177e4SLinus Torvalds
4211da177e4SLinus Torvaldssource "arch/arm/mach-sa1100/Kconfig"
4221da177e4SLinus Torvalds
423d48af15eSTony Lindgrensource "arch/arm/plat-omap/Kconfig"
424d48af15eSTony Lindgren
425d48af15eSTony Lindgrensource "arch/arm/mach-omap1/Kconfig"
4261da177e4SLinus Torvalds
4271dbae815STony Lindgrensource "arch/arm/mach-omap2/Kconfig"
4281dbae815STony Lindgren
429a21765a7SBen Dookssource "arch/arm/plat-s3c24xx/Kconfig"
430a21765a7SBen Dooks
431a21765a7SBen Dooksif ARCH_S3C2410
432a21765a7SBen Dookssource "arch/arm/mach-s3c2400/Kconfig"
4331da177e4SLinus Torvaldssource "arch/arm/mach-s3c2410/Kconfig"
434a21765a7SBen Dookssource "arch/arm/mach-s3c2412/Kconfig"
435a21765a7SBen Dookssource "arch/arm/mach-s3c2440/Kconfig"
436a21765a7SBen Dookssource "arch/arm/mach-s3c2442/Kconfig"
437e4d06e39SBen Dookssource "arch/arm/mach-s3c2443/Kconfig"
438a21765a7SBen Dooksendif
4391da177e4SLinus Torvalds
4401da177e4SLinus Torvaldssource "arch/arm/mach-lh7a40x/Kconfig"
4411da177e4SLinus Torvalds
4421da177e4SLinus Torvaldssource "arch/arm/mach-imx/Kconfig"
4431da177e4SLinus Torvalds
4441da177e4SLinus Torvaldssource "arch/arm/mach-h720x/Kconfig"
4451da177e4SLinus Torvalds
4461da177e4SLinus Torvaldssource "arch/arm/mach-versatile/Kconfig"
4471da177e4SLinus Torvalds
448038c5b60SBellido Nicolassource "arch/arm/mach-aaec2000/Kconfig"
449038c5b60SBellido Nicolas
4508ad68bbfSCatalin Marinassource "arch/arm/mach-realview/Kconfig"
4518ad68bbfSCatalin Marinas
4529d041268SAndrew Victorsource "arch/arm/mach-at91/Kconfig"
45373a59c1cSSAN People
454bb6d8c88SSascha Hauersource "arch/arm/mach-netx/Kconfig"
455bb6d8c88SSascha Hauer
4569918cda5SUwe Kleine-Königsource "arch/arm/mach-ns9xxx/Kconfig"
4579918cda5SUwe Kleine-König
4587c6337e2SKevin Hilmansource "arch/arm/mach-davinci/Kconfig"
4597c6337e2SKevin Hilman
460c53c9cf6SAndrew Victorsource "arch/arm/mach-ks8695/Kconfig"
461c53c9cf6SAndrew Victor
4621da177e4SLinus Torvalds# Definitions to make life easier
4631da177e4SLinus Torvaldsconfig ARCH_ACORN
4641da177e4SLinus Torvalds	bool
4651da177e4SLinus Torvalds
4667ae1f7ecSLennert Buytenhekconfig PLAT_IOP
4677ae1f7ecSLennert Buytenhek	bool
4687ae1f7ecSLennert Buytenhek
4691da177e4SLinus Torvaldssource arch/arm/mm/Kconfig
4701da177e4SLinus Torvalds
471afe4b25eSLennert Buytenhekconfig IWMMXT
472afe4b25eSLennert Buytenhek	bool "Enable iWMMXt support"
4736340aa61SRobert P. J. Day	depends on CPU_XSCALE || CPU_XSC3
474afe4b25eSLennert Buytenhek	default y if PXA27x
475afe4b25eSLennert Buytenhek	help
476afe4b25eSLennert Buytenhek	  Enable support for iWMMXt context switching at run time if
477afe4b25eSLennert Buytenhek	  running on a CPU that supports it.
478afe4b25eSLennert Buytenhek
4791da177e4SLinus Torvalds#  bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
4801da177e4SLinus Torvaldsconfig XSCALE_PMU
4811da177e4SLinus Torvalds	bool
4821da177e4SLinus Torvalds	depends on CPU_XSCALE && !XSCALE_PMU_TIMER
4831da177e4SLinus Torvalds	default y
4841da177e4SLinus Torvalds
4853b93e7b0SHyok S. Choiif !MMU
4863b93e7b0SHyok S. Choisource "arch/arm/Kconfig-nommu"
4873b93e7b0SHyok S. Choiendif
4883b93e7b0SHyok S. Choi
4891da177e4SLinus Torvaldsendmenu
4901da177e4SLinus Torvalds
4911da177e4SLinus Torvaldssource "arch/arm/common/Kconfig"
4921da177e4SLinus Torvalds
4931da177e4SLinus Torvaldsconfig FORCE_MAX_ZONEORDER
4941da177e4SLinus Torvalds	int
4951da177e4SLinus Torvalds	depends on SA1111
4961da177e4SLinus Torvalds	default "9"
4971da177e4SLinus Torvalds
4981da177e4SLinus Torvaldsmenu "Bus support"
4991da177e4SLinus Torvalds
5001da177e4SLinus Torvaldsconfig ARM_AMBA
5011da177e4SLinus Torvalds	bool
5021da177e4SLinus Torvalds
5031da177e4SLinus Torvaldsconfig ISA
5041da177e4SLinus Torvalds	bool
5051da177e4SLinus Torvalds	help
5061da177e4SLinus Torvalds	  Find out whether you have ISA slots on your motherboard.  ISA is the
5071da177e4SLinus Torvalds	  name of a bus system, i.e. the way the CPU talks to the other stuff
5081da177e4SLinus Torvalds	  inside your box.  Other bus systems are PCI, EISA, MicroChannel
5091da177e4SLinus Torvalds	  (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
5101da177e4SLinus Torvalds	  newer boards don't support it.  If you have ISA, say Y, otherwise N.
5111da177e4SLinus Torvalds
512065909b9SRussell King# Select ISA DMA controller support
5131da177e4SLinus Torvaldsconfig ISA_DMA
5141da177e4SLinus Torvalds	bool
515065909b9SRussell King	select ISA_DMA_API
5161da177e4SLinus Torvalds
517065909b9SRussell King# Select ISA DMA interface
5185cae841bSAl Viroconfig ISA_DMA_API
5195cae841bSAl Viro	bool
5205cae841bSAl Viro
5211da177e4SLinus Torvaldsconfig PCI
522c53c9cf6SAndrew Victor	bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695
5231da177e4SLinus Torvalds	help
5241da177e4SLinus Torvalds	  Find out whether you have a PCI motherboard. PCI is the name of a
5251da177e4SLinus Torvalds	  bus system, i.e. the way the CPU talks to the other stuff inside
5261da177e4SLinus Torvalds	  your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
5271da177e4SLinus Torvalds	  VESA. If you have PCI, say Y, otherwise N.
5281da177e4SLinus Torvalds
5291da177e4SLinus Torvalds	  The PCI-HOWTO, available from
5301da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>, contains valuable
5311da177e4SLinus Torvalds	  information about which PCI hardware does work under Linux and which
5321da177e4SLinus Torvalds	  doesn't.
5331da177e4SLinus Torvalds
5341da177e4SLinus Torvalds# Select the host bridge type
5351da177e4SLinus Torvaldsconfig PCI_HOST_VIA82C505
5361da177e4SLinus Torvalds	bool
5371da177e4SLinus Torvalds	depends on PCI && ARCH_SHARK
5381da177e4SLinus Torvalds	default y
5391da177e4SLinus Torvalds
5401da177e4SLinus Torvaldssource "drivers/pci/Kconfig"
5411da177e4SLinus Torvalds
5421da177e4SLinus Torvaldssource "drivers/pcmcia/Kconfig"
5431da177e4SLinus Torvalds
5441da177e4SLinus Torvaldsendmenu
5451da177e4SLinus Torvalds
5461da177e4SLinus Torvaldsmenu "Kernel Features"
5471da177e4SLinus Torvalds
5480567a0c0SKevin Hilmansource "kernel/time/Kconfig"
5490567a0c0SKevin Hilman
5501da177e4SLinus Torvaldsconfig SMP
5511da177e4SLinus Torvalds	bool "Symmetric Multi-Processing (EXPERIMENTAL)"
552f6db449cSRussell King	depends on EXPERIMENTAL && REALVIEW_MPCORE
5531da177e4SLinus Torvalds	help
5541da177e4SLinus Torvalds	  This enables support for systems with more than one CPU. If you have
5551da177e4SLinus Torvalds	  a system with only one CPU, like most personal computers, say N. If
5561da177e4SLinus Torvalds	  you have a system with more than one CPU, say Y.
5571da177e4SLinus Torvalds
5581da177e4SLinus Torvalds	  If you say N here, the kernel will run on single and multiprocessor
5591da177e4SLinus Torvalds	  machines, but will use only one CPU of a multiprocessor machine. If
5601da177e4SLinus Torvalds	  you say Y here, the kernel will run on many, but not all, single
5611da177e4SLinus Torvalds	  processor machines. On a single processor machine, the kernel will
5621da177e4SLinus Torvalds	  run faster if you say N here.
5631da177e4SLinus Torvalds
56412c62c2eSArthur Othieno	  See also the <file:Documentation/smp.txt>,
56512c62c2eSArthur Othieno	  <file:Documentation/i386/IO-APIC.txt>,
5661da177e4SLinus Torvalds	  <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
5671da177e4SLinus Torvalds	  <http://www.linuxdoc.org/docs.html#howto>.
5681da177e4SLinus Torvalds
5691da177e4SLinus Torvalds	  If you don't know what to do here, say N.
5701da177e4SLinus Torvalds
5711da177e4SLinus Torvaldsconfig NR_CPUS
5721da177e4SLinus Torvalds	int "Maximum number of CPUs (2-32)"
5731da177e4SLinus Torvalds	range 2 32
5741da177e4SLinus Torvalds	depends on SMP
5751da177e4SLinus Torvalds	default "4"
5761da177e4SLinus Torvalds
577a054a811SRussell Kingconfig HOTPLUG_CPU
578a054a811SRussell King	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
579a054a811SRussell King	depends on SMP && HOTPLUG && EXPERIMENTAL
580a054a811SRussell King	help
581a054a811SRussell King	  Say Y here to experiment with turning CPUs off and on.  CPUs
582a054a811SRussell King	  can be controlled through /sys/devices/system/cpu.
583a054a811SRussell King
58437ee16aeSRussell Kingconfig LOCAL_TIMERS
58537ee16aeSRussell King	bool "Use local timer interrupts"
5862a98beb6SRussell King	depends on SMP && REALVIEW_MPCORE
58737ee16aeSRussell King	default y
58837ee16aeSRussell King	help
58937ee16aeSRussell King	  Enable support for local timers on SMP platforms, rather then the
59037ee16aeSRussell King	  legacy IPI broadcast method.  Local timers allows the system
59137ee16aeSRussell King	  accounting to be spread across the timer interval, preventing a
59237ee16aeSRussell King	  "thundering herd" at every timer tick.
59337ee16aeSRussell King
5941da177e4SLinus Torvaldsconfig PREEMPT
5951da177e4SLinus Torvalds	bool "Preemptible Kernel (EXPERIMENTAL)"
5961da177e4SLinus Torvalds	depends on EXPERIMENTAL
5971da177e4SLinus Torvalds	help
5981da177e4SLinus Torvalds	  This option reduces the latency of the kernel when reacting to
5991da177e4SLinus Torvalds	  real-time or interactive events by allowing a low priority process to
6001da177e4SLinus Torvalds	  be preempted even if it is in kernel mode executing a system call.
6011da177e4SLinus Torvalds	  This allows applications to run more reliably even when the system is
6021da177e4SLinus Torvalds	  under load.
6031da177e4SLinus Torvalds
6041da177e4SLinus Torvalds	  Say Y here if you are building a kernel for a desktop, embedded
6051da177e4SLinus Torvalds	  or real-time system.  Say N if you are unsure.
6061da177e4SLinus Torvalds
6078749af68SRussell Kingconfig NO_IDLE_HZ
6088749af68SRussell King	bool "Dynamic tick timer"
6090567a0c0SKevin Hilman	depends on !GENERIC_CLOCKEVENTS
6108749af68SRussell King	help
6118749af68SRussell King	  Select this option if you want to disable continuous timer ticks
6128749af68SRussell King	  and have them programmed to occur as required. This option saves
6138749af68SRussell King	  power as the system can remain in idle state for longer.
6148749af68SRussell King
6158749af68SRussell King	  By default dynamic tick is disabled during the boot, and can be
6168749af68SRussell King	  manually enabled with:
6178749af68SRussell King
6188749af68SRussell King	    echo 1 > /sys/devices/system/timer/timer0/dyn_tick
6198749af68SRussell King
6208749af68SRussell King	  Alternatively, if you want dynamic tick automatically enabled
6218749af68SRussell King	  during boot, pass "dyntick=enable" via the kernel command string.
6228749af68SRussell King
623f2be64b3STony Lindgren	  Please note that dynamic tick may affect the accuracy of
624f2be64b3STony Lindgren	  timekeeping on some platforms depending on the implementation.
625569d2c34SNicolas Pitre	  Currently at least OMAP, PXA2xx and SA11x0 platforms are known
626569d2c34SNicolas Pitre	  to have accurate timekeeping with dynamic tick.
627f2be64b3STony Lindgren
628f8065813SRussell Kingconfig HZ
629f8065813SRussell King	int
630f8065813SRussell King	default 128 if ARCH_L7200
631f8065813SRussell King	default 200 if ARCH_EBSA110 || ARCH_S3C2410
632bfe65704SRussell King	default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
633f8065813SRussell King	default 100
634f8065813SRussell King
635704bdda0SNicolas Pitreconfig AEABI
636704bdda0SNicolas Pitre	bool "Use the ARM EABI to compile the kernel"
637704bdda0SNicolas Pitre	help
638704bdda0SNicolas Pitre	  This option allows for the kernel to be compiled using the latest
639704bdda0SNicolas Pitre	  ARM ABI (aka EABI).  This is only useful if you are using a user
640704bdda0SNicolas Pitre	  space environment that is also compiled with EABI.
641704bdda0SNicolas Pitre
642704bdda0SNicolas Pitre	  Since there are major incompatibilities between the legacy ABI and
643704bdda0SNicolas Pitre	  EABI, especially with regard to structure member alignment, this
644704bdda0SNicolas Pitre	  option also changes the kernel syscall calling convention to
645704bdda0SNicolas Pitre	  disambiguate both ABIs and allow for backward compatibility support
646704bdda0SNicolas Pitre	  (selected with CONFIG_OABI_COMPAT).
647704bdda0SNicolas Pitre
648704bdda0SNicolas Pitre	  To use this you need GCC version 4.0.0 or later.
649704bdda0SNicolas Pitre
6506c90c872SNicolas Pitreconfig OABI_COMPAT
651a73a3ff1SRussell King	bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
65261c484d4SNicolas Pitre	depends on AEABI && EXPERIMENTAL
6536c90c872SNicolas Pitre	default y
6546c90c872SNicolas Pitre	help
6556c90c872SNicolas Pitre	  This option preserves the old syscall interface along with the
6566c90c872SNicolas Pitre	  new (ARM EABI) one. It also provides a compatibility layer to
6576c90c872SNicolas Pitre	  intercept syscalls that have structure arguments which layout
6586c90c872SNicolas Pitre	  in memory differs between the legacy ABI and the new ARM EABI
6596c90c872SNicolas Pitre	  (only for non "thumb" binaries). This option adds a tiny
6606c90c872SNicolas Pitre	  overhead to all syscalls and produces a slightly larger kernel.
6616c90c872SNicolas Pitre	  If you know you'll be using only pure EABI user space then you
6626c90c872SNicolas Pitre	  can say N here. If this option is not selected and you attempt
6636c90c872SNicolas Pitre	  to execute a legacy ABI binary then the result will be
6646c90c872SNicolas Pitre	  UNPREDICTABLE (in fact it can be predicted that it won't work
6656c90c872SNicolas Pitre	  at all). If in doubt say Y.
6666c90c872SNicolas Pitre
6673f22ab27SDave Hansenconfig ARCH_DISCONTIGMEM_ENABLE
6681da177e4SLinus Torvalds	bool
669f7e68bbfSRussell King	default (ARCH_LH7A40X && !LH7A40X_CONTIGMEM)
6701da177e4SLinus Torvalds	help
6711da177e4SLinus Torvalds	  Say Y to support efficient handling of discontiguous physical memory,
6721da177e4SLinus Torvalds	  for architectures which are either NUMA (Non-Uniform Memory Access)
6731da177e4SLinus Torvalds	  or have huge holes in the physical address space for other reasons.
6741da177e4SLinus Torvalds	  See <file:Documentation/vm/numa> for more.
6751da177e4SLinus Torvalds
676c80d79d7SYasunori Gotoconfig NODES_SHIFT
677c80d79d7SYasunori Goto	int
678c80d79d7SYasunori Goto	default "4" if ARCH_LH7A40X
679c80d79d7SYasunori Goto	default "2"
680c80d79d7SYasunori Goto	depends on NEED_MULTIPLE_NODES
681c80d79d7SYasunori Goto
6823f22ab27SDave Hansensource "mm/Kconfig"
6833f22ab27SDave Hansen
6841da177e4SLinus Torvaldsconfig LEDS
6851da177e4SLinus Torvalds	bool "Timer and CPU usage LEDs"
6861da177e4SLinus Torvalds	depends on ARCH_CDB89712 || ARCH_CO285 || ARCH_EBSA110 || \
6871da177e4SLinus Torvalds		   ARCH_EBSA285 || ARCH_IMX || ARCH_INTEGRATOR || \
6881da177e4SLinus Torvalds		   ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
6891da177e4SLinus Torvalds		   ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
69073a59c1cSSAN People		   ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
691c53c9cf6SAndrew Victor		   ARCH_AT91 || MACH_TRIZEPS4 || ARCH_DAVINCI || \
692c53c9cf6SAndrew Victor		   ARCH_KS8695
6931da177e4SLinus Torvalds	help
6941da177e4SLinus Torvalds	  If you say Y here, the LEDs on your machine will be used
6951da177e4SLinus Torvalds	  to provide useful information about your current system status.
6961da177e4SLinus Torvalds
6971da177e4SLinus Torvalds	  If you are compiling a kernel for a NetWinder or EBSA-285, you will
6981da177e4SLinus Torvalds	  be able to select which LEDs are active using the options below. If
6991da177e4SLinus Torvalds	  you are compiling a kernel for the EBSA-110 or the LART however, the
7001da177e4SLinus Torvalds	  red LED will simply flash regularly to indicate that the system is
7011da177e4SLinus Torvalds	  still functional. It is safe to say Y here if you have a CATS
7021da177e4SLinus Torvalds	  system, but the driver will do nothing.
7031da177e4SLinus Torvalds
7041da177e4SLinus Torvaldsconfig LEDS_TIMER
7051da177e4SLinus Torvalds	bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
7061da177e4SLinus Torvalds			    MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
7071da177e4SLinus Torvalds	depends on LEDS
7080567a0c0SKevin Hilman	depends on !GENERIC_CLOCKEVENTS
7091da177e4SLinus Torvalds	default y if ARCH_EBSA110
7101da177e4SLinus Torvalds	help
7111da177e4SLinus Torvalds	  If you say Y here, one of the system LEDs (the green one on the
7121da177e4SLinus Torvalds	  NetWinder, the amber one on the EBSA285, or the red one on the LART)
7131da177e4SLinus Torvalds	  will flash regularly to indicate that the system is still
7141da177e4SLinus Torvalds	  operational. This is mainly useful to kernel hackers who are
7151da177e4SLinus Torvalds	  debugging unstable kernels.
7161da177e4SLinus Torvalds
7171da177e4SLinus Torvalds	  The LART uses the same LED for both Timer LED and CPU usage LED
7181da177e4SLinus Torvalds	  functions. You may choose to use both, but the Timer LED function
7191da177e4SLinus Torvalds	  will overrule the CPU usage LED.
7201da177e4SLinus Torvalds
7211da177e4SLinus Torvaldsconfig LEDS_CPU
7221da177e4SLinus Torvalds	bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
7231da177e4SLinus Torvalds			!ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
7241da177e4SLinus Torvalds	depends on LEDS
7251da177e4SLinus Torvalds	help
7261da177e4SLinus Torvalds	  If you say Y here, the red LED will be used to give a good real
7271da177e4SLinus Torvalds	  time indication of CPU usage, by lighting whenever the idle task
7281da177e4SLinus Torvalds	  is not currently executing.
7291da177e4SLinus Torvalds
7301da177e4SLinus Torvalds	  The LART uses the same LED for both Timer LED and CPU usage LED
7311da177e4SLinus Torvalds	  functions. You may choose to use both, but the Timer LED function
7321da177e4SLinus Torvalds	  will overrule the CPU usage LED.
7331da177e4SLinus Torvalds
7341da177e4SLinus Torvaldsconfig ALIGNMENT_TRAP
7351da177e4SLinus Torvalds	bool
736f12d0d7cSHyok S. Choi	depends on CPU_CP15_MMU
7371da177e4SLinus Torvalds	default y if !ARCH_EBSA110
7381da177e4SLinus Torvalds	help
7391da177e4SLinus Torvalds	  ARM processors cannot fetch/store information which is not
7401da177e4SLinus Torvalds	  naturally aligned on the bus, i.e., a 4 byte fetch must start at an
7411da177e4SLinus Torvalds	  address divisible by 4. On 32-bit ARM processors, these non-aligned
7421da177e4SLinus Torvalds	  fetch/store instructions will be emulated in software if you say
7431da177e4SLinus Torvalds	  here, which has a severe performance impact. This is necessary for
7441da177e4SLinus Torvalds	  correct operation of some network protocols. With an IP-only
7451da177e4SLinus Torvalds	  configuration it is safe to say N, otherwise say Y.
7461da177e4SLinus Torvalds
7471da177e4SLinus Torvaldsendmenu
7481da177e4SLinus Torvalds
7491da177e4SLinus Torvaldsmenu "Boot options"
7501da177e4SLinus Torvalds
7511da177e4SLinus Torvalds# Compressed boot loader in ROM.  Yes, we really want to ask about
7521da177e4SLinus Torvalds# TEXT and BSS so we preserve their values in the config files.
7531da177e4SLinus Torvaldsconfig ZBOOT_ROM_TEXT
7541da177e4SLinus Torvalds	hex "Compressed ROM boot loader base address"
7551da177e4SLinus Torvalds	default "0"
7561da177e4SLinus Torvalds	help
7571da177e4SLinus Torvalds	  The physical address at which the ROM-able zImage is to be
7581da177e4SLinus Torvalds	  placed in the target.  Platforms which normally make use of
7591da177e4SLinus Torvalds	  ROM-able zImage formats normally set this to a suitable
7601da177e4SLinus Torvalds	  value in their defconfig file.
7611da177e4SLinus Torvalds
7621da177e4SLinus Torvalds	  If ZBOOT_ROM is not enabled, this has no effect.
7631da177e4SLinus Torvalds
7641da177e4SLinus Torvaldsconfig ZBOOT_ROM_BSS
7651da177e4SLinus Torvalds	hex "Compressed ROM boot loader BSS address"
7661da177e4SLinus Torvalds	default "0"
7671da177e4SLinus Torvalds	help
768f8c440b2SDan Fandrich	  The base address of an area of read/write memory in the target
769f8c440b2SDan Fandrich	  for the ROM-able zImage which must be available while the
770f8c440b2SDan Fandrich	  decompressor is running. It must be large enough to hold the
771f8c440b2SDan Fandrich	  entire decompressed kernel plus an additional 128 KiB.
772f8c440b2SDan Fandrich	  Platforms which normally make use of ROM-able zImage formats
773f8c440b2SDan Fandrich	  normally set this to a suitable value in their defconfig file.
7741da177e4SLinus Torvalds
7751da177e4SLinus Torvalds	  If ZBOOT_ROM is not enabled, this has no effect.
7761da177e4SLinus Torvalds
7771da177e4SLinus Torvaldsconfig ZBOOT_ROM
7781da177e4SLinus Torvalds	bool "Compressed boot loader in ROM/flash"
7791da177e4SLinus Torvalds	depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
7801da177e4SLinus Torvalds	help
7811da177e4SLinus Torvalds	  Say Y here if you intend to execute your compressed kernel image
7821da177e4SLinus Torvalds	  (zImage) directly from ROM or flash.  If unsure, say N.
7831da177e4SLinus Torvalds
7841da177e4SLinus Torvaldsconfig CMDLINE
7851da177e4SLinus Torvalds	string "Default kernel command string"
7861da177e4SLinus Torvalds	default ""
7871da177e4SLinus Torvalds	help
7881da177e4SLinus Torvalds	  On some architectures (EBSA110 and CATS), there is currently no way
7891da177e4SLinus Torvalds	  for the boot loader to pass arguments to the kernel. For these
7901da177e4SLinus Torvalds	  architectures, you should supply some command-line options at build
7911da177e4SLinus Torvalds	  time by entering them here. As a minimum, you should specify the
7921da177e4SLinus Torvalds	  memory size and the root device (e.g., mem=64M root=/dev/nfs).
7931da177e4SLinus Torvalds
7941da177e4SLinus Torvaldsconfig XIP_KERNEL
7951da177e4SLinus Torvalds	bool "Kernel Execute-In-Place from ROM"
7961da177e4SLinus Torvalds	depends on !ZBOOT_ROM
7971da177e4SLinus Torvalds	help
7981da177e4SLinus Torvalds	  Execute-In-Place allows the kernel to run from non-volatile storage
7991da177e4SLinus Torvalds	  directly addressable by the CPU, such as NOR flash. This saves RAM
8001da177e4SLinus Torvalds	  space since the text section of the kernel is not loaded from flash
8011da177e4SLinus Torvalds	  to RAM.  Read-write sections, such as the data section and stack,
8021da177e4SLinus Torvalds	  are still copied to RAM.  The XIP kernel is not compressed since
8031da177e4SLinus Torvalds	  it has to run directly from flash, so it will take more space to
8041da177e4SLinus Torvalds	  store it.  The flash address used to link the kernel object files,
8051da177e4SLinus Torvalds	  and for storing it, is configuration dependent. Therefore, if you
8061da177e4SLinus Torvalds	  say Y here, you must know the proper physical address where to
8071da177e4SLinus Torvalds	  store the kernel image depending on your own flash memory usage.
8081da177e4SLinus Torvalds
8091da177e4SLinus Torvalds	  Also note that the make target becomes "make xipImage" rather than
8101da177e4SLinus Torvalds	  "make zImage" or "make Image".  The final kernel binary to put in
8111da177e4SLinus Torvalds	  ROM memory will be arch/arm/boot/xipImage.
8121da177e4SLinus Torvalds
8131da177e4SLinus Torvalds	  If unsure, say N.
8141da177e4SLinus Torvalds
8151da177e4SLinus Torvaldsconfig XIP_PHYS_ADDR
8161da177e4SLinus Torvalds	hex "XIP Kernel Physical Location"
8171da177e4SLinus Torvalds	depends on XIP_KERNEL
8181da177e4SLinus Torvalds	default "0x00080000"
8191da177e4SLinus Torvalds	help
8201da177e4SLinus Torvalds	  This is the physical address in your flash memory the kernel will
8211da177e4SLinus Torvalds	  be linked for and stored to.  This address is dependent on your
8221da177e4SLinus Torvalds	  own flash usage.
8231da177e4SLinus Torvalds
824c587e4a6SRichard Purdieconfig KEXEC
825c587e4a6SRichard Purdie	bool "Kexec system call (EXPERIMENTAL)"
826c587e4a6SRichard Purdie	depends on EXPERIMENTAL
827c587e4a6SRichard Purdie	help
828c587e4a6SRichard Purdie	  kexec is a system call that implements the ability to shutdown your
829c587e4a6SRichard Purdie	  current kernel, and to start another kernel.  It is like a reboot
830c587e4a6SRichard Purdie	  but it is indepedent of the system firmware.   And like a reboot
831c587e4a6SRichard Purdie	  you can start any kernel with it, not just Linux.
832c587e4a6SRichard Purdie
833c587e4a6SRichard Purdie	  It is an ongoing process to be certain the hardware in a machine
834c587e4a6SRichard Purdie	  is properly shutdown, so do not be surprised if this code does not
835c587e4a6SRichard Purdie	  initially work for you.  It may help to enable device hotplugging
836c587e4a6SRichard Purdie	  support.
837c587e4a6SRichard Purdie
8381da177e4SLinus Torvaldsendmenu
8391da177e4SLinus Torvalds
8403c8cd0ccSPavel Pisaif (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_IMX )
8411da177e4SLinus Torvalds
8421da177e4SLinus Torvaldsmenu "CPU Frequency scaling"
8431da177e4SLinus Torvalds
8441da177e4SLinus Torvaldssource "drivers/cpufreq/Kconfig"
8451da177e4SLinus Torvalds
8461da177e4SLinus Torvaldsconfig CPU_FREQ_SA1100
8471da177e4SLinus Torvalds	bool
84807c6d48fSVincent Sanders	depends on CPU_FREQ && (SA1100_H3100 || SA1100_H3600 || SA1100_H3800 || SA1100_LART || SA1100_PLEB || SA1100_BADGE4 || SA1100_HACKKIT)
8491da177e4SLinus Torvalds	default y
8501da177e4SLinus Torvalds
8511da177e4SLinus Torvaldsconfig CPU_FREQ_SA1110
8521da177e4SLinus Torvalds	bool
8531da177e4SLinus Torvalds	depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3)
8541da177e4SLinus Torvalds	default y
8551da177e4SLinus Torvalds
8561da177e4SLinus Torvaldsconfig CPU_FREQ_INTEGRATOR
8571da177e4SLinus Torvalds	tristate "CPUfreq driver for ARM Integrator CPUs"
8581da177e4SLinus Torvalds	depends on ARCH_INTEGRATOR && CPU_FREQ
8591da177e4SLinus Torvalds	default y
8601da177e4SLinus Torvalds	help
8611da177e4SLinus Torvalds	  This enables the CPUfreq driver for ARM Integrator CPUs.
8621da177e4SLinus Torvalds
8631da177e4SLinus Torvalds	  For details, take a look at <file:Documentation/cpu-freq>.
8641da177e4SLinus Torvalds
8651da177e4SLinus Torvalds	  If in doubt, say Y.
8661da177e4SLinus Torvalds
8673c8cd0ccSPavel Pisaconfig CPU_FREQ_IMX
8683c8cd0ccSPavel Pisa	tristate "CPUfreq driver for i.MX CPUs"
8693c8cd0ccSPavel Pisa	depends on ARCH_IMX && CPU_FREQ
8703c8cd0ccSPavel Pisa	default n
8713c8cd0ccSPavel Pisa	help
8723c8cd0ccSPavel Pisa	  This enables the CPUfreq driver for i.MX CPUs.
8733c8cd0ccSPavel Pisa
8743c8cd0ccSPavel Pisa	  If in doubt, say N.
8753c8cd0ccSPavel Pisa
8761da177e4SLinus Torvaldsendmenu
8771da177e4SLinus Torvalds
8781da177e4SLinus Torvaldsendif
8791da177e4SLinus Torvalds
8801da177e4SLinus Torvaldsmenu "Floating point emulation"
8811da177e4SLinus Torvalds
8821da177e4SLinus Torvaldscomment "At least one emulation must be selected"
8831da177e4SLinus Torvalds
8841da177e4SLinus Torvaldsconfig FPE_NWFPE
8851da177e4SLinus Torvalds	bool "NWFPE math emulation"
8868993a44cSNicolas Pitre	depends on !AEABI || OABI_COMPAT
8871da177e4SLinus Torvalds	---help---
8881da177e4SLinus Torvalds	  Say Y to include the NWFPE floating point emulator in the kernel.
8891da177e4SLinus Torvalds	  This is necessary to run most binaries. Linux does not currently
8901da177e4SLinus Torvalds	  support floating point hardware so you need to say Y here even if
8911da177e4SLinus Torvalds	  your machine has an FPA or floating point co-processor podule.
8921da177e4SLinus Torvalds
8931da177e4SLinus Torvalds	  You may say N here if you are going to load the Acorn FPEmulator
8941da177e4SLinus Torvalds	  early in the bootup.
8951da177e4SLinus Torvalds
8961da177e4SLinus Torvaldsconfig FPE_NWFPE_XP
8971da177e4SLinus Torvalds	bool "Support extended precision"
898bedf142bSLennert Buytenhek	depends on FPE_NWFPE
8991da177e4SLinus Torvalds	help
9001da177e4SLinus Torvalds	  Say Y to include 80-bit support in the kernel floating-point
9011da177e4SLinus Torvalds	  emulator.  Otherwise, only 32 and 64-bit support is compiled in.
9021da177e4SLinus Torvalds	  Note that gcc does not generate 80-bit operations by default,
9031da177e4SLinus Torvalds	  so in most cases this option only enlarges the size of the
9041da177e4SLinus Torvalds	  floating point emulator without any good reason.
9051da177e4SLinus Torvalds
9061da177e4SLinus Torvalds	  You almost surely want to say N here.
9071da177e4SLinus Torvalds
9081da177e4SLinus Torvaldsconfig FPE_FASTFPE
9091da177e4SLinus Torvalds	bool "FastFPE math emulation (EXPERIMENTAL)"
9108993a44cSNicolas Pitre	depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL
9111da177e4SLinus Torvalds	---help---
9121da177e4SLinus Torvalds	  Say Y here to include the FAST floating point emulator in the kernel.
9131da177e4SLinus Torvalds	  This is an experimental much faster emulator which now also has full
9141da177e4SLinus Torvalds	  precision for the mantissa.  It does not support any exceptions.
9151da177e4SLinus Torvalds	  It is very simple, and approximately 3-6 times faster than NWFPE.
9161da177e4SLinus Torvalds
9171da177e4SLinus Torvalds	  It should be sufficient for most programs.  It may be not suitable
9181da177e4SLinus Torvalds	  for scientific calculations, but you have to check this for yourself.
9191da177e4SLinus Torvalds	  If you do not feel you need a faster FP emulation you should better
9201da177e4SLinus Torvalds	  choose NWFPE.
9211da177e4SLinus Torvalds
9221da177e4SLinus Torvaldsconfig VFP
9231da177e4SLinus Torvalds	bool "VFP-format floating point maths"
9241da177e4SLinus Torvalds	depends on CPU_V6 || CPU_ARM926T
9251da177e4SLinus Torvalds	help
9261da177e4SLinus Torvalds	  Say Y to include VFP support code in the kernel. This is needed
9271da177e4SLinus Torvalds	  if your hardware includes a VFP unit.
9281da177e4SLinus Torvalds
9291da177e4SLinus Torvalds	  Please see <file:Documentation/arm/VFP/release-notes.txt> for
9301da177e4SLinus Torvalds	  release notes and additional status information.
9311da177e4SLinus Torvalds
9321da177e4SLinus Torvalds	  Say N if your target does not have VFP hardware.
9331da177e4SLinus Torvalds
9341da177e4SLinus Torvaldsendmenu
9351da177e4SLinus Torvalds
9361da177e4SLinus Torvaldsmenu "Userspace binary formats"
9371da177e4SLinus Torvalds
9381da177e4SLinus Torvaldssource "fs/Kconfig.binfmt"
9391da177e4SLinus Torvalds
9401da177e4SLinus Torvaldsconfig ARTHUR
9411da177e4SLinus Torvalds	tristate "RISC OS personality"
942704bdda0SNicolas Pitre	depends on !AEABI
9431da177e4SLinus Torvalds	help
9441da177e4SLinus Torvalds	  Say Y here to include the kernel code necessary if you want to run
9451da177e4SLinus Torvalds	  Acorn RISC OS/Arthur binaries under Linux. This code is still very
9461da177e4SLinus Torvalds	  experimental; if this sounds frightening, say N and sleep in peace.
9471da177e4SLinus Torvalds	  You can also say M here to compile this support as a module (which
9481da177e4SLinus Torvalds	  will be called arthur).
9491da177e4SLinus Torvalds
9501da177e4SLinus Torvaldsendmenu
9511da177e4SLinus Torvalds
9521da177e4SLinus Torvaldsmenu "Power management options"
9531da177e4SLinus Torvalds
954eceab4acSRussell Kingsource "kernel/power/Kconfig"
9551da177e4SLinus Torvalds
9561da177e4SLinus Torvaldsendmenu
9571da177e4SLinus Torvalds
958d5950b43SSam Ravnborgsource "net/Kconfig"
959d5950b43SSam Ravnborg
9601da177e4SLinus Torvaldsmenu "Device Drivers"
9611da177e4SLinus Torvalds
9621da177e4SLinus Torvaldssource "drivers/base/Kconfig"
9631da177e4SLinus Torvalds
964c35bf4a5SPavel Macheksource "drivers/connector/Kconfig"
965c35bf4a5SPavel Machek
966f12d0d7cSHyok S. Choiif ALIGNMENT_TRAP || !CPU_CP15_MMU
9671da177e4SLinus Torvaldssource "drivers/mtd/Kconfig"
9681da177e4SLinus Torvaldsendif
9691da177e4SLinus Torvalds
9701da177e4SLinus Torvaldssource "drivers/parport/Kconfig"
9711da177e4SLinus Torvalds
9721da177e4SLinus Torvaldssource "drivers/pnp/Kconfig"
9731da177e4SLinus Torvalds
9741da177e4SLinus Torvaldssource "drivers/block/Kconfig"
9751da177e4SLinus Torvalds
9761da177e4SLinus Torvaldssource "drivers/acorn/block/Kconfig"
9771da177e4SLinus Torvalds
9783f7e5815SLennert Buytenhekif PCMCIA || ARCH_CLPS7500 || ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX \
979bb011b8eSDavid Brownell	|| ARCH_L7200 || ARCH_LH7A40X || ARCH_PXA || ARCH_RPC \
980c4713074SLennert Buytenhek	|| ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE \
981c4713074SLennert Buytenhek	|| ARCH_IXP23XX
9821da177e4SLinus Torvaldssource "drivers/ide/Kconfig"
9831da177e4SLinus Torvaldsendif
9841da177e4SLinus Torvalds
9851da177e4SLinus Torvaldssource "drivers/scsi/Kconfig"
9861da177e4SLinus Torvalds
987eb370f0bSMartin Michlmayrsource "drivers/ata/Kconfig"
988eb370f0bSMartin Michlmayr
9891da177e4SLinus Torvaldssource "drivers/md/Kconfig"
9901da177e4SLinus Torvalds
9911da177e4SLinus Torvaldssource "drivers/message/fusion/Kconfig"
9921da177e4SLinus Torvalds
9931da177e4SLinus Torvaldssource "drivers/ieee1394/Kconfig"
9941da177e4SLinus Torvalds
9951da177e4SLinus Torvaldssource "drivers/message/i2o/Kconfig"
9961da177e4SLinus Torvalds
997d5950b43SSam Ravnborgsource "drivers/net/Kconfig"
9981da177e4SLinus Torvalds
9991da177e4SLinus Torvaldssource "drivers/isdn/Kconfig"
10001da177e4SLinus Torvalds
10011da177e4SLinus Torvalds# input before char - char/joystick depends on it. As does USB.
10021da177e4SLinus Torvalds
10031da177e4SLinus Torvaldssource "drivers/input/Kconfig"
10041da177e4SLinus Torvalds
10051da177e4SLinus Torvaldssource "drivers/char/Kconfig"
10061da177e4SLinus Torvalds
10071da177e4SLinus Torvaldssource "drivers/i2c/Kconfig"
10081da177e4SLinus Torvalds
10098ae12a0dSDavid Brownellsource "drivers/spi/Kconfig"
10108ae12a0dSDavid Brownell
101104916c0eSAlessandro Zummosource "drivers/w1/Kconfig"
101204916c0eSAlessandro Zummo
1013ad2f931dSJean Delvaresource "drivers/hwmon/Kconfig"
1014ad2f931dSJean Delvare
10151da177e4SLinus Torvalds#source "drivers/l3/Kconfig"
10161da177e4SLinus Torvalds
10171da177e4SLinus Torvaldssource "drivers/misc/Kconfig"
10181da177e4SLinus Torvalds
1019a4e137abSRussell Kingsource "drivers/mfd/Kconfig"
1020a4e137abSRussell King
1021c72a1d60SRichard Purdiesource "drivers/leds/Kconfig"
1022c72a1d60SRichard Purdie
10231da177e4SLinus Torvaldssource "drivers/media/Kconfig"
10241da177e4SLinus Torvalds
10251da177e4SLinus Torvaldssource "drivers/video/Kconfig"
10261da177e4SLinus Torvalds
10271da177e4SLinus Torvaldssource "sound/Kconfig"
10281da177e4SLinus Torvalds
1029c2dade51SSascha Hauersource "drivers/hid/Kconfig"
1030c2dade51SSascha Hauer
10311da177e4SLinus Torvaldssource "drivers/usb/Kconfig"
10321da177e4SLinus Torvalds
10331da177e4SLinus Torvaldssource "drivers/mmc/Kconfig"
10341da177e4SLinus Torvalds
103512b824fbSAlessandro Zummosource "drivers/rtc/Kconfig"
103612b824fbSAlessandro Zummo
10371da177e4SLinus Torvaldsendmenu
10381da177e4SLinus Torvalds
10391da177e4SLinus Torvaldssource "fs/Kconfig"
10401da177e4SLinus Torvalds
10411da177e4SLinus Torvaldssource "arch/arm/oprofile/Kconfig"
10421da177e4SLinus Torvalds
10431da177e4SLinus Torvaldssource "arch/arm/Kconfig.debug"
10441da177e4SLinus Torvalds
10451da177e4SLinus Torvaldssource "security/Kconfig"
10461da177e4SLinus Torvalds
10471da177e4SLinus Torvaldssource "crypto/Kconfig"
10481da177e4SLinus Torvalds
10491da177e4SLinus Torvaldssource "lib/Kconfig"
1050