xref: /linux/arch/arm/Kconfig (revision 7c6337e225364870e9bf02a3ae277d9fdea483f8)
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
1171da177e4SLinus Torvaldsconfig GENERIC_BUST_SPINLOCK
1181da177e4SLinus Torvalds	bool
1191da177e4SLinus Torvalds
120a08b6b79Sviro@ZenIV.linux.org.ukconfig ARCH_MAY_HAVE_PC_FDC
121a08b6b79Sviro@ZenIV.linux.org.uk	bool
122a08b6b79Sviro@ZenIV.linux.org.uk
1235ac6da66SChristoph Lameterconfig ZONE_DMA
1245ac6da66SChristoph Lameter	bool
1255ac6da66SChristoph Lameter	default y
1265ac6da66SChristoph Lameter
1271da177e4SLinus Torvaldsconfig GENERIC_ISA_DMA
1281da177e4SLinus Torvalds	bool
1291da177e4SLinus Torvalds
1301da177e4SLinus Torvaldsconfig FIQ
1311da177e4SLinus Torvalds	bool
1321da177e4SLinus Torvalds
133034d2f5aSAl Viroconfig ARCH_MTD_XIP
134034d2f5aSAl Viro	bool
135034d2f5aSAl Viro
136c760fc19SHyok S. Choiconfig VECTORS_BASE
137c760fc19SHyok S. Choi	hex
1386afd6faeSHyok S. Choi	default 0xffff0000 if MMU || CPU_HIGH_VECTOR
139c760fc19SHyok S. Choi	default DRAM_BASE if REMAP_VECTORS_TO_RAM
140c760fc19SHyok S. Choi	default 0x00000000
141c760fc19SHyok S. Choi	help
142c760fc19SHyok S. Choi	  The base address of exception vectors.
143c760fc19SHyok S. Choi
1441da177e4SLinus Torvaldssource "init/Kconfig"
1451da177e4SLinus Torvalds
1461da177e4SLinus Torvaldsmenu "System Type"
1471da177e4SLinus Torvalds
1481da177e4SLinus Torvaldschoice
1491da177e4SLinus Torvalds	prompt "ARM system type"
1506a0e2430SCatalin Marinas	default ARCH_VERSATILE
1511da177e4SLinus Torvalds
1524af6fee1SDeepak Saxenaconfig ARCH_AAEC2000
1534af6fee1SDeepak Saxena	bool "Agilent AAEC-2000 based"
1544af6fee1SDeepak Saxena	select ARM_AMBA
1554af6fee1SDeepak Saxena	help
1564af6fee1SDeepak Saxena	  This enables support for systems based on the Agilent AAEC-2000
1574af6fee1SDeepak Saxena
1584af6fee1SDeepak Saxenaconfig ARCH_INTEGRATOR
1594af6fee1SDeepak Saxena	bool "ARM Ltd. Integrator family"
1604af6fee1SDeepak Saxena	select ARM_AMBA
1614af6fee1SDeepak Saxena	select ICST525
1624af6fee1SDeepak Saxena	help
1634af6fee1SDeepak Saxena	  Support for ARM's Integrator platform.
1644af6fee1SDeepak Saxena
1654af6fee1SDeepak Saxenaconfig ARCH_REALVIEW
1664af6fee1SDeepak Saxena	bool "ARM Ltd. RealView family"
1674af6fee1SDeepak Saxena	select ARM_AMBA
1684af6fee1SDeepak Saxena	select ICST307
1694af6fee1SDeepak Saxena	help
1704af6fee1SDeepak Saxena	  This enables support for ARM Ltd RealView boards.
1714af6fee1SDeepak Saxena
1724af6fee1SDeepak Saxenaconfig ARCH_VERSATILE
1734af6fee1SDeepak Saxena	bool "ARM Ltd. Versatile family"
1744af6fee1SDeepak Saxena	select ARM_AMBA
1754af6fee1SDeepak Saxena	select ARM_VIC
1764af6fee1SDeepak Saxena	select ICST307
177b49c87c2SKevin Hilman	select GENERIC_TIME
17889df1272SKevin Hilman	select GENERIC_CLOCKEVENTS
1794af6fee1SDeepak Saxena	help
1804af6fee1SDeepak Saxena	  This enables support for ARM Ltd Versatile board.
1814af6fee1SDeepak Saxena
1828fc5ffa0SAndrew Victorconfig ARCH_AT91
1838fc5ffa0SAndrew Victor	bool "Atmel AT91"
1840a938b97SDavid Brownell	select GENERIC_GPIO
1854af6fee1SDeepak Saxena	help
1868fc5ffa0SAndrew Victor	  This enables support for systems based on the Atmel AT91RM9200
1878fc5ffa0SAndrew Victor	  and AT91SAM9xxx processors.
1884af6fee1SDeepak Saxena
1891da177e4SLinus Torvaldsconfig ARCH_CLPS7500
1904af6fee1SDeepak Saxena	bool "Cirrus CL-PS7500FE"
1911da177e4SLinus Torvalds	select TIMER_ACORN
192f7e68bbfSRussell King	select ISA
193e4169889SRussell King	select NO_IOPORT
194f999b8bdSMartin Michlmayr	help
195f999b8bdSMartin Michlmayr	  Support for the Cirrus Logic PS7500FE system-on-a-chip.
1961da177e4SLinus Torvalds
1971da177e4SLinus Torvaldsconfig ARCH_CLPS711X
1984af6fee1SDeepak Saxena	bool "Cirrus Logic CLPS711x/EP721x-based"
199f999b8bdSMartin Michlmayr	help
200f999b8bdSMartin Michlmayr	  Support for Cirrus Logic 711x/721x based boards.
2011da177e4SLinus Torvalds
2021da177e4SLinus Torvaldsconfig ARCH_CO285
2031da177e4SLinus Torvalds	bool "Co-EBSA285"
2041da177e4SLinus Torvalds	select FOOTBRIDGE
2051da177e4SLinus Torvalds	select FOOTBRIDGE_ADDIN
206f999b8bdSMartin Michlmayr	help
207f999b8bdSMartin Michlmayr	  Support for Intel's EBSA285 companion chip.
2081da177e4SLinus Torvalds
2091da177e4SLinus Torvaldsconfig ARCH_EBSA110
2101da177e4SLinus Torvalds	bool "EBSA-110"
211f7e68bbfSRussell King	select ISA
212c5eb2a2bSRussell King	select NO_IOPORT
2131da177e4SLinus Torvalds	help
2141da177e4SLinus Torvalds	  This is an evaluation board for the StrongARM processor available
215f6c8965aSMartin Michlmayr	  from Digital. It has limited hardware on-board, including an
2161da177e4SLinus Torvalds	  Ethernet interface, two PCMCIA sockets, two serial ports and a
2171da177e4SLinus Torvalds	  parallel port.
2181da177e4SLinus Torvalds
219e7736d47SLennert Buytenhekconfig ARCH_EP93XX
220e7736d47SLennert Buytenhek	bool "EP93xx-based"
221e7736d47SLennert Buytenhek	select ARM_AMBA
222e7736d47SLennert Buytenhek	select ARM_VIC
223e7736d47SLennert Buytenhek	help
224e7736d47SLennert Buytenhek	  This enables support for the Cirrus EP93xx series of CPUs.
225e7736d47SLennert Buytenhek
2261da177e4SLinus Torvaldsconfig ARCH_FOOTBRIDGE
2271da177e4SLinus Torvalds	bool "FootBridge"
2281da177e4SLinus Torvalds	select FOOTBRIDGE
229f999b8bdSMartin Michlmayr	help
230f999b8bdSMartin Michlmayr	  Support for systems based on the DC21285 companion chip
231f999b8bdSMartin Michlmayr	  ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
2321da177e4SLinus Torvalds
2334af6fee1SDeepak Saxenaconfig ARCH_NETX
2344af6fee1SDeepak Saxena	bool "Hilscher NetX based"
2354af6fee1SDeepak Saxena	select ARM_VIC
236f999b8bdSMartin Michlmayr	help
2374af6fee1SDeepak Saxena	  This enables support for systems based on the Hilscher NetX Soc
2384af6fee1SDeepak Saxena
2394af6fee1SDeepak Saxenaconfig ARCH_H720X
2404af6fee1SDeepak Saxena	bool "Hynix HMS720x-based"
2414af6fee1SDeepak Saxena	select ISA_DMA_API
2424af6fee1SDeepak Saxena	help
2434af6fee1SDeepak Saxena	  This enables support for systems based on the Hynix HMS720x
2444af6fee1SDeepak Saxena
2454af6fee1SDeepak Saxenaconfig ARCH_IMX
2464af6fee1SDeepak Saxena	bool "IMX"
2474af6fee1SDeepak Saxena	help
2484af6fee1SDeepak Saxena	  Support for Motorola's i.MX family of processors (MX1, MXL).
2491da177e4SLinus Torvalds
2503f7e5815SLennert Buytenhekconfig ARCH_IOP32X
2513f7e5815SLennert Buytenhek	bool "IOP32x-based"
252a4f7e763SRussell King	depends on MMU
2537ae1f7ecSLennert Buytenhek	select PLAT_IOP
254f7e68bbfSRussell King	select PCI
255f999b8bdSMartin Michlmayr	help
2563f7e5815SLennert Buytenhek	  Support for Intel's 80219 and IOP32X (XScale) family of
2573f7e5815SLennert Buytenhek	  processors.
2583f7e5815SLennert Buytenhek
2593f7e5815SLennert Buytenhekconfig ARCH_IOP33X
2603f7e5815SLennert Buytenhek	bool "IOP33x-based"
2613f7e5815SLennert Buytenhek	depends on MMU
2627ae1f7ecSLennert Buytenhek	select PLAT_IOP
2633f7e5815SLennert Buytenhek	select PCI
2643f7e5815SLennert Buytenhek	help
2653f7e5815SLennert Buytenhek	  Support for Intel's IOP33X (XScale) family of processors.
2661da177e4SLinus Torvalds
267285f5fa7SDan Williamsconfig ARCH_IOP13XX
268285f5fa7SDan Williams	bool "IOP13xx-based"
269588ef769SDan Williams	depends on MMU
270588ef769SDan Williams	select PLAT_IOP
271285f5fa7SDan Williams	select PCI
272f282b970SDan Williams	select ARCH_SUPPORTS_MSI
273285f5fa7SDan Williams	help
274285f5fa7SDan Williams	  Support for Intel's IOP13XX (XScale) family of processors.
275285f5fa7SDan Williams
2761da177e4SLinus Torvaldsconfig ARCH_IXP4XX
2771da177e4SLinus Torvalds	bool "IXP4xx-based"
278a4f7e763SRussell King	depends on MMU
27984904d0eSKevin Hilman	select GENERIC_TIME
280e32f1502SKevin Hilman	select GENERIC_CLOCKEVENTS
281f999b8bdSMartin Michlmayr	help
282f999b8bdSMartin Michlmayr	  Support for Intel's IXP4XX (XScale) family of processors.
2831da177e4SLinus Torvalds
2841da177e4SLinus Torvaldsconfig ARCH_IXP2000
2851da177e4SLinus Torvalds	bool "IXP2400/2800-based"
286a4f7e763SRussell King	depends on MMU
287f7e68bbfSRussell King	select PCI
288f999b8bdSMartin Michlmayr	help
289f999b8bdSMartin Michlmayr	  Support for Intel's IXP2400/2800 (XScale) family of processors.
2901da177e4SLinus Torvalds
291c4713074SLennert Buytenhekconfig ARCH_IXP23XX
292c4713074SLennert Buytenhek 	bool "IXP23XX-based"
293a4f7e763SRussell King	depends on MMU
294c4713074SLennert Buytenhek 	select PCI
295c4713074SLennert Buytenhek	help
296c4713074SLennert Buytenhek	  Support for Intel's IXP23xx (XScale) family of processors.
297c4713074SLennert Buytenhek
2981da177e4SLinus Torvaldsconfig ARCH_L7200
2991da177e4SLinus Torvalds	bool "LinkUp-L7200"
3001da177e4SLinus Torvalds	select FIQ
3011da177e4SLinus Torvalds	help
3021da177e4SLinus Torvalds	  Say Y here if you intend to run this kernel on a LinkUp Systems
3031da177e4SLinus Torvalds	  L7200 Software Development Board which uses an ARM720T processor.
3041da177e4SLinus Torvalds	  Information on this board can be obtained at:
3051da177e4SLinus Torvalds
3061da177e4SLinus Torvalds	  <http://www.linkupsys.com/>
3071da177e4SLinus Torvalds
3081da177e4SLinus Torvalds	  If you have any questions or comments about the Linux kernel port
3091da177e4SLinus Torvalds	  to this board, send e-mail to <sjhill@cotw.com>.
3101da177e4SLinus Torvalds
3119918cda5SUwe Kleine-Königconfig ARCH_NS9XXX
3129918cda5SUwe Kleine-König	bool "NetSilicon NS9xxx"
3139918cda5SUwe Kleine-König	help
3149918cda5SUwe Kleine-König	  Say Y here if you intend to run this kernel on a NetSilicon NS9xxx
3159918cda5SUwe Kleine-König	  System.
3169918cda5SUwe Kleine-König
3179918cda5SUwe Kleine-König	  <http://www.digi.com/products/microprocessors/index.jsp>
3189918cda5SUwe Kleine-König
3194af6fee1SDeepak Saxenaconfig ARCH_PNX4008
3204af6fee1SDeepak Saxena	bool "Philips Nexperia PNX4008 Mobile"
3214af6fee1SDeepak Saxena	help
3224af6fee1SDeepak Saxena	  This enables support for Philips PNX4008 mobile platform.
3234af6fee1SDeepak Saxena
3241da177e4SLinus Torvaldsconfig ARCH_PXA
3251da177e4SLinus Torvalds	bool "PXA2xx-based"
326a4f7e763SRussell King	depends on MMU
327034d2f5aSAl Viro	select ARCH_MTD_XIP
3280a938b97SDavid Brownell	select GENERIC_GPIO
32945cf5eefSNicolas Pitre	select GENERIC_TIME
330f999b8bdSMartin Michlmayr	help
331f999b8bdSMartin Michlmayr	  Support for Intel's PXA2XX processor line.
3321da177e4SLinus Torvalds
3331da177e4SLinus Torvaldsconfig ARCH_RPC
3341da177e4SLinus Torvalds	bool "RiscPC"
3351da177e4SLinus Torvalds	select ARCH_ACORN
3361da177e4SLinus Torvalds	select FIQ
3371da177e4SLinus Torvalds	select TIMER_ACORN
338a08b6b79Sviro@ZenIV.linux.org.uk	select ARCH_MAY_HAVE_PC_FDC
339065909b9SRussell King	select ISA_DMA_API
3405ea81769SAl Viro	select NO_IOPORT
3411da177e4SLinus Torvalds	help
3421da177e4SLinus Torvalds	  On the Acorn Risc-PC, Linux can support the internal IDE disk and
3431da177e4SLinus Torvalds	  CD-ROM interface, serial and parallel port, and the floppy drive.
3441da177e4SLinus Torvalds
3451da177e4SLinus Torvaldsconfig ARCH_SA1100
3461da177e4SLinus Torvalds	bool "SA1100-based"
347f7e68bbfSRussell King	select ISA
3483cd9e19eSRussell King	select ARCH_DISCONTIGMEM_ENABLE
349034d2f5aSAl Viro	select ARCH_MTD_XIP
3500a938b97SDavid Brownell	select GENERIC_GPIO
351f999b8bdSMartin Michlmayr	help
352f999b8bdSMartin Michlmayr	  Support for StrongARM 11x0 based boards.
3531da177e4SLinus Torvalds
3541da177e4SLinus Torvaldsconfig ARCH_S3C2410
355e4d06e39SBen Dooks	bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443"
3560a938b97SDavid Brownell	select GENERIC_GPIO
35725ff0a65SDavid Brownell	select GENERIC_TIME
3581da177e4SLinus Torvalds	help
3591da177e4SLinus Torvalds	  Samsung S3C2410X CPU based systems, such as the Simtec Electronics
3601da177e4SLinus Torvalds	  BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
361f6c8965aSMartin Michlmayr	  the Samsung SMDK2410 development board (and derivatives).
3621da177e4SLinus Torvalds
3631da177e4SLinus Torvaldsconfig ARCH_SHARK
3641da177e4SLinus Torvalds	bool "Shark"
365f7e68bbfSRussell King	select ISA
366f7e68bbfSRussell King	select ISA_DMA
367f7e68bbfSRussell King	select PCI
368f999b8bdSMartin Michlmayr	help
369f999b8bdSMartin Michlmayr	  Support for the StrongARM based Digital DNARD machine, also known
370f999b8bdSMartin Michlmayr	  as "Shark" (<http://www.shark-linux.de/shark.html>).
3711da177e4SLinus Torvalds
3721da177e4SLinus Torvaldsconfig ARCH_LH7A40X
3731da177e4SLinus Torvalds	bool "Sharp LH7A40X"
3741da177e4SLinus Torvalds	help
3751da177e4SLinus Torvalds	  Say Y here for systems based on one of the Sharp LH7A40X
3761da177e4SLinus Torvalds	  System on a Chip processors.  These CPUs include an ARM922T
3771da177e4SLinus Torvalds	  core with a wide array of integrated devices for
3781da177e4SLinus Torvalds	  hand-held and low-power applications.
3791da177e4SLinus Torvalds
3801da177e4SLinus Torvaldsconfig ARCH_OMAP
3811da177e4SLinus Torvalds	bool "TI OMAP"
3820a938b97SDavid Brownell	select GENERIC_GPIO
383075192aeSKevin Hilman	select GENERIC_TIME
384f999b8bdSMartin Michlmayr	help
385f999b8bdSMartin Michlmayr	  Support for TI's OMAP platform (OMAP1 and OMAP2).
3861da177e4SLinus Torvalds
387*7c6337e2SKevin Hilmanconfig ARCH_DAVINCI
388*7c6337e2SKevin Hilman	bool "TI DaVinci"
389*7c6337e2SKevin Hilman	select GENERIC_TIME
390*7c6337e2SKevin Hilman	select GENERIC_CLOCKEVENTS
391*7c6337e2SKevin Hilman	help
392*7c6337e2SKevin Hilman	  Support for TI's DaVinci platform.
393*7c6337e2SKevin Hilman
3941da177e4SLinus Torvaldsendchoice
3951da177e4SLinus Torvalds
3961da177e4SLinus Torvaldssource "arch/arm/mach-clps711x/Kconfig"
3971da177e4SLinus Torvalds
398e7736d47SLennert Buytenheksource "arch/arm/mach-ep93xx/Kconfig"
399e7736d47SLennert Buytenhek
4001da177e4SLinus Torvaldssource "arch/arm/mach-footbridge/Kconfig"
4011da177e4SLinus Torvalds
4021da177e4SLinus Torvaldssource "arch/arm/mach-integrator/Kconfig"
4031da177e4SLinus Torvalds
4043f7e5815SLennert Buytenheksource "arch/arm/mach-iop32x/Kconfig"
4053f7e5815SLennert Buytenhek
4063f7e5815SLennert Buytenheksource "arch/arm/mach-iop33x/Kconfig"
4071da177e4SLinus Torvalds
408285f5fa7SDan Williamssource "arch/arm/mach-iop13xx/Kconfig"
409285f5fa7SDan Williams
4101da177e4SLinus Torvaldssource "arch/arm/mach-ixp4xx/Kconfig"
4111da177e4SLinus Torvalds
4121da177e4SLinus Torvaldssource "arch/arm/mach-ixp2000/Kconfig"
4131da177e4SLinus Torvalds
414c4713074SLennert Buytenheksource "arch/arm/mach-ixp23xx/Kconfig"
415c4713074SLennert Buytenhek
4161da177e4SLinus Torvaldssource "arch/arm/mach-pxa/Kconfig"
4171da177e4SLinus Torvalds
4181da177e4SLinus Torvaldssource "arch/arm/mach-sa1100/Kconfig"
4191da177e4SLinus Torvalds
420d48af15eSTony Lindgrensource "arch/arm/plat-omap/Kconfig"
421d48af15eSTony Lindgren
422d48af15eSTony Lindgrensource "arch/arm/mach-omap1/Kconfig"
4231da177e4SLinus Torvalds
4241dbae815STony Lindgrensource "arch/arm/mach-omap2/Kconfig"
4251dbae815STony Lindgren
426a21765a7SBen Dookssource "arch/arm/plat-s3c24xx/Kconfig"
427a21765a7SBen Dooks
428a21765a7SBen Dooksif ARCH_S3C2410
429a21765a7SBen Dookssource "arch/arm/mach-s3c2400/Kconfig"
4301da177e4SLinus Torvaldssource "arch/arm/mach-s3c2410/Kconfig"
431a21765a7SBen Dookssource "arch/arm/mach-s3c2412/Kconfig"
432a21765a7SBen Dookssource "arch/arm/mach-s3c2440/Kconfig"
433a21765a7SBen Dookssource "arch/arm/mach-s3c2442/Kconfig"
434e4d06e39SBen Dookssource "arch/arm/mach-s3c2443/Kconfig"
435a21765a7SBen Dooksendif
4361da177e4SLinus Torvalds
4371da177e4SLinus Torvaldssource "arch/arm/mach-lh7a40x/Kconfig"
4381da177e4SLinus Torvalds
4391da177e4SLinus Torvaldssource "arch/arm/mach-imx/Kconfig"
4401da177e4SLinus Torvalds
4411da177e4SLinus Torvaldssource "arch/arm/mach-h720x/Kconfig"
4421da177e4SLinus Torvalds
4431da177e4SLinus Torvaldssource "arch/arm/mach-versatile/Kconfig"
4441da177e4SLinus Torvalds
445038c5b60SBellido Nicolassource "arch/arm/mach-aaec2000/Kconfig"
446038c5b60SBellido Nicolas
4478ad68bbfSCatalin Marinassource "arch/arm/mach-realview/Kconfig"
4488ad68bbfSCatalin Marinas
4499d041268SAndrew Victorsource "arch/arm/mach-at91/Kconfig"
45073a59c1cSSAN People
451bb6d8c88SSascha Hauersource "arch/arm/mach-netx/Kconfig"
452bb6d8c88SSascha Hauer
4539918cda5SUwe Kleine-Königsource "arch/arm/mach-ns9xxx/Kconfig"
4549918cda5SUwe Kleine-König
455*7c6337e2SKevin Hilmansource "arch/arm/mach-davinci/Kconfig"
456*7c6337e2SKevin Hilman
4571da177e4SLinus Torvalds# Definitions to make life easier
4581da177e4SLinus Torvaldsconfig ARCH_ACORN
4591da177e4SLinus Torvalds	bool
4601da177e4SLinus Torvalds
4617ae1f7ecSLennert Buytenhekconfig PLAT_IOP
4627ae1f7ecSLennert Buytenhek	bool
4637ae1f7ecSLennert Buytenhek
4641da177e4SLinus Torvaldssource arch/arm/mm/Kconfig
4651da177e4SLinus Torvalds
466afe4b25eSLennert Buytenhekconfig IWMMXT
467afe4b25eSLennert Buytenhek	bool "Enable iWMMXt support"
4686340aa61SRobert P. J. Day	depends on CPU_XSCALE || CPU_XSC3
469afe4b25eSLennert Buytenhek	default y if PXA27x
470afe4b25eSLennert Buytenhek	help
471afe4b25eSLennert Buytenhek	  Enable support for iWMMXt context switching at run time if
472afe4b25eSLennert Buytenhek	  running on a CPU that supports it.
473afe4b25eSLennert Buytenhek
4741da177e4SLinus Torvalds#  bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
4751da177e4SLinus Torvaldsconfig XSCALE_PMU
4761da177e4SLinus Torvalds	bool
4771da177e4SLinus Torvalds	depends on CPU_XSCALE && !XSCALE_PMU_TIMER
4781da177e4SLinus Torvalds	default y
4791da177e4SLinus Torvalds
4803b93e7b0SHyok S. Choiif !MMU
4813b93e7b0SHyok S. Choisource "arch/arm/Kconfig-nommu"
4823b93e7b0SHyok S. Choiendif
4833b93e7b0SHyok S. Choi
4841da177e4SLinus Torvaldsendmenu
4851da177e4SLinus Torvalds
4861da177e4SLinus Torvaldssource "arch/arm/common/Kconfig"
4871da177e4SLinus Torvalds
4881da177e4SLinus Torvaldsconfig FORCE_MAX_ZONEORDER
4891da177e4SLinus Torvalds	int
4901da177e4SLinus Torvalds	depends on SA1111
4911da177e4SLinus Torvalds	default "9"
4921da177e4SLinus Torvalds
4931da177e4SLinus Torvaldsmenu "Bus support"
4941da177e4SLinus Torvalds
4951da177e4SLinus Torvaldsconfig ARM_AMBA
4961da177e4SLinus Torvalds	bool
4971da177e4SLinus Torvalds
4981da177e4SLinus Torvaldsconfig ISA
4991da177e4SLinus Torvalds	bool
5001da177e4SLinus Torvalds	help
5011da177e4SLinus Torvalds	  Find out whether you have ISA slots on your motherboard.  ISA is the
5021da177e4SLinus Torvalds	  name of a bus system, i.e. the way the CPU talks to the other stuff
5031da177e4SLinus Torvalds	  inside your box.  Other bus systems are PCI, EISA, MicroChannel
5041da177e4SLinus Torvalds	  (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
5051da177e4SLinus Torvalds	  newer boards don't support it.  If you have ISA, say Y, otherwise N.
5061da177e4SLinus Torvalds
507065909b9SRussell King# Select ISA DMA controller support
5081da177e4SLinus Torvaldsconfig ISA_DMA
5091da177e4SLinus Torvalds	bool
510065909b9SRussell King	select ISA_DMA_API
5111da177e4SLinus Torvalds
512065909b9SRussell King# Select ISA DMA interface
5135cae841bSAl Viroconfig ISA_DMA_API
5145cae841bSAl Viro	bool
5155cae841bSAl Viro
5161da177e4SLinus Torvaldsconfig PCI
51768939121SMilan Svoboda	bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX
5181da177e4SLinus Torvalds	help
5191da177e4SLinus Torvalds	  Find out whether you have a PCI motherboard. PCI is the name of a
5201da177e4SLinus Torvalds	  bus system, i.e. the way the CPU talks to the other stuff inside
5211da177e4SLinus Torvalds	  your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
5221da177e4SLinus Torvalds	  VESA. If you have PCI, say Y, otherwise N.
5231da177e4SLinus Torvalds
5241da177e4SLinus Torvalds	  The PCI-HOWTO, available from
5251da177e4SLinus Torvalds	  <http://www.tldp.org/docs.html#howto>, contains valuable
5261da177e4SLinus Torvalds	  information about which PCI hardware does work under Linux and which
5271da177e4SLinus Torvalds	  doesn't.
5281da177e4SLinus Torvalds
5291da177e4SLinus Torvalds# Select the host bridge type
5301da177e4SLinus Torvaldsconfig PCI_HOST_VIA82C505
5311da177e4SLinus Torvalds	bool
5321da177e4SLinus Torvalds	depends on PCI && ARCH_SHARK
5331da177e4SLinus Torvalds	default y
5341da177e4SLinus Torvalds
5351da177e4SLinus Torvaldssource "drivers/pci/Kconfig"
5361da177e4SLinus Torvalds
5371da177e4SLinus Torvaldssource "drivers/pcmcia/Kconfig"
5381da177e4SLinus Torvalds
5391da177e4SLinus Torvaldsendmenu
5401da177e4SLinus Torvalds
5411da177e4SLinus Torvaldsmenu "Kernel Features"
5421da177e4SLinus Torvalds
5430567a0c0SKevin Hilmansource "kernel/time/Kconfig"
5440567a0c0SKevin Hilman
5451da177e4SLinus Torvaldsconfig SMP
5461da177e4SLinus Torvalds	bool "Symmetric Multi-Processing (EXPERIMENTAL)"
547f6db449cSRussell King	depends on EXPERIMENTAL && REALVIEW_MPCORE
5481da177e4SLinus Torvalds	help
5491da177e4SLinus Torvalds	  This enables support for systems with more than one CPU. If you have
5501da177e4SLinus Torvalds	  a system with only one CPU, like most personal computers, say N. If
5511da177e4SLinus Torvalds	  you have a system with more than one CPU, say Y.
5521da177e4SLinus Torvalds
5531da177e4SLinus Torvalds	  If you say N here, the kernel will run on single and multiprocessor
5541da177e4SLinus Torvalds	  machines, but will use only one CPU of a multiprocessor machine. If
5551da177e4SLinus Torvalds	  you say Y here, the kernel will run on many, but not all, single
5561da177e4SLinus Torvalds	  processor machines. On a single processor machine, the kernel will
5571da177e4SLinus Torvalds	  run faster if you say N here.
5581da177e4SLinus Torvalds
55912c62c2eSArthur Othieno	  See also the <file:Documentation/smp.txt>,
56012c62c2eSArthur Othieno	  <file:Documentation/i386/IO-APIC.txt>,
5611da177e4SLinus Torvalds	  <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
5621da177e4SLinus Torvalds	  <http://www.linuxdoc.org/docs.html#howto>.
5631da177e4SLinus Torvalds
5641da177e4SLinus Torvalds	  If you don't know what to do here, say N.
5651da177e4SLinus Torvalds
5661da177e4SLinus Torvaldsconfig NR_CPUS
5671da177e4SLinus Torvalds	int "Maximum number of CPUs (2-32)"
5681da177e4SLinus Torvalds	range 2 32
5691da177e4SLinus Torvalds	depends on SMP
5701da177e4SLinus Torvalds	default "4"
5711da177e4SLinus Torvalds
572a054a811SRussell Kingconfig HOTPLUG_CPU
573a054a811SRussell King	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
574a054a811SRussell King	depends on SMP && HOTPLUG && EXPERIMENTAL
575a054a811SRussell King	help
576a054a811SRussell King	  Say Y here to experiment with turning CPUs off and on.  CPUs
577a054a811SRussell King	  can be controlled through /sys/devices/system/cpu.
578a054a811SRussell King
57937ee16aeSRussell Kingconfig LOCAL_TIMERS
58037ee16aeSRussell King	bool "Use local timer interrupts"
5812a98beb6SRussell King	depends on SMP && REALVIEW_MPCORE
58237ee16aeSRussell King	default y
58337ee16aeSRussell King	help
58437ee16aeSRussell King	  Enable support for local timers on SMP platforms, rather then the
58537ee16aeSRussell King	  legacy IPI broadcast method.  Local timers allows the system
58637ee16aeSRussell King	  accounting to be spread across the timer interval, preventing a
58737ee16aeSRussell King	  "thundering herd" at every timer tick.
58837ee16aeSRussell King
5891da177e4SLinus Torvaldsconfig PREEMPT
5901da177e4SLinus Torvalds	bool "Preemptible Kernel (EXPERIMENTAL)"
5911da177e4SLinus Torvalds	depends on EXPERIMENTAL
5921da177e4SLinus Torvalds	help
5931da177e4SLinus Torvalds	  This option reduces the latency of the kernel when reacting to
5941da177e4SLinus Torvalds	  real-time or interactive events by allowing a low priority process to
5951da177e4SLinus Torvalds	  be preempted even if it is in kernel mode executing a system call.
5961da177e4SLinus Torvalds	  This allows applications to run more reliably even when the system is
5971da177e4SLinus Torvalds	  under load.
5981da177e4SLinus Torvalds
5991da177e4SLinus Torvalds	  Say Y here if you are building a kernel for a desktop, embedded
6001da177e4SLinus Torvalds	  or real-time system.  Say N if you are unsure.
6011da177e4SLinus Torvalds
6028749af68SRussell Kingconfig NO_IDLE_HZ
6038749af68SRussell King	bool "Dynamic tick timer"
6040567a0c0SKevin Hilman	depends on !GENERIC_CLOCKEVENTS
6058749af68SRussell King	help
6068749af68SRussell King	  Select this option if you want to disable continuous timer ticks
6078749af68SRussell King	  and have them programmed to occur as required. This option saves
6088749af68SRussell King	  power as the system can remain in idle state for longer.
6098749af68SRussell King
6108749af68SRussell King	  By default dynamic tick is disabled during the boot, and can be
6118749af68SRussell King	  manually enabled with:
6128749af68SRussell King
6138749af68SRussell King	    echo 1 > /sys/devices/system/timer/timer0/dyn_tick
6148749af68SRussell King
6158749af68SRussell King	  Alternatively, if you want dynamic tick automatically enabled
6168749af68SRussell King	  during boot, pass "dyntick=enable" via the kernel command string.
6178749af68SRussell King
618f2be64b3STony Lindgren	  Please note that dynamic tick may affect the accuracy of
619f2be64b3STony Lindgren	  timekeeping on some platforms depending on the implementation.
620569d2c34SNicolas Pitre	  Currently at least OMAP, PXA2xx and SA11x0 platforms are known
621569d2c34SNicolas Pitre	  to have accurate timekeeping with dynamic tick.
622f2be64b3STony Lindgren
623f8065813SRussell Kingconfig HZ
624f8065813SRussell King	int
625f8065813SRussell King	default 128 if ARCH_L7200
626f8065813SRussell King	default 200 if ARCH_EBSA110 || ARCH_S3C2410
627bfe65704SRussell King	default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
628f8065813SRussell King	default 100
629f8065813SRussell King
630704bdda0SNicolas Pitreconfig AEABI
631704bdda0SNicolas Pitre	bool "Use the ARM EABI to compile the kernel"
632704bdda0SNicolas Pitre	help
633704bdda0SNicolas Pitre	  This option allows for the kernel to be compiled using the latest
634704bdda0SNicolas Pitre	  ARM ABI (aka EABI).  This is only useful if you are using a user
635704bdda0SNicolas Pitre	  space environment that is also compiled with EABI.
636704bdda0SNicolas Pitre
637704bdda0SNicolas Pitre	  Since there are major incompatibilities between the legacy ABI and
638704bdda0SNicolas Pitre	  EABI, especially with regard to structure member alignment, this
639704bdda0SNicolas Pitre	  option also changes the kernel syscall calling convention to
640704bdda0SNicolas Pitre	  disambiguate both ABIs and allow for backward compatibility support
641704bdda0SNicolas Pitre	  (selected with CONFIG_OABI_COMPAT).
642704bdda0SNicolas Pitre
643704bdda0SNicolas Pitre	  To use this you need GCC version 4.0.0 or later.
644704bdda0SNicolas Pitre
6456c90c872SNicolas Pitreconfig OABI_COMPAT
646a73a3ff1SRussell King	bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
64761c484d4SNicolas Pitre	depends on AEABI && EXPERIMENTAL
6486c90c872SNicolas Pitre	default y
6496c90c872SNicolas Pitre	help
6506c90c872SNicolas Pitre	  This option preserves the old syscall interface along with the
6516c90c872SNicolas Pitre	  new (ARM EABI) one. It also provides a compatibility layer to
6526c90c872SNicolas Pitre	  intercept syscalls that have structure arguments which layout
6536c90c872SNicolas Pitre	  in memory differs between the legacy ABI and the new ARM EABI
6546c90c872SNicolas Pitre	  (only for non "thumb" binaries). This option adds a tiny
6556c90c872SNicolas Pitre	  overhead to all syscalls and produces a slightly larger kernel.
6566c90c872SNicolas Pitre	  If you know you'll be using only pure EABI user space then you
6576c90c872SNicolas Pitre	  can say N here. If this option is not selected and you attempt
6586c90c872SNicolas Pitre	  to execute a legacy ABI binary then the result will be
6596c90c872SNicolas Pitre	  UNPREDICTABLE (in fact it can be predicted that it won't work
6606c90c872SNicolas Pitre	  at all). If in doubt say Y.
6616c90c872SNicolas Pitre
6623f22ab27SDave Hansenconfig ARCH_DISCONTIGMEM_ENABLE
6631da177e4SLinus Torvalds	bool
664f7e68bbfSRussell King	default (ARCH_LH7A40X && !LH7A40X_CONTIGMEM)
6651da177e4SLinus Torvalds	help
6661da177e4SLinus Torvalds	  Say Y to support efficient handling of discontiguous physical memory,
6671da177e4SLinus Torvalds	  for architectures which are either NUMA (Non-Uniform Memory Access)
6681da177e4SLinus Torvalds	  or have huge holes in the physical address space for other reasons.
6691da177e4SLinus Torvalds	  See <file:Documentation/vm/numa> for more.
6701da177e4SLinus Torvalds
671c80d79d7SYasunori Gotoconfig NODES_SHIFT
672c80d79d7SYasunori Goto	int
673c80d79d7SYasunori Goto	default "4" if ARCH_LH7A40X
674c80d79d7SYasunori Goto	default "2"
675c80d79d7SYasunori Goto	depends on NEED_MULTIPLE_NODES
676c80d79d7SYasunori Goto
6773f22ab27SDave Hansensource "mm/Kconfig"
6783f22ab27SDave Hansen
6791da177e4SLinus Torvaldsconfig LEDS
6801da177e4SLinus Torvalds	bool "Timer and CPU usage LEDs"
6811da177e4SLinus Torvalds	depends on ARCH_CDB89712 || ARCH_CO285 || ARCH_EBSA110 || \
6821da177e4SLinus Torvalds		   ARCH_EBSA285 || ARCH_IMX || ARCH_INTEGRATOR || \
6831da177e4SLinus Torvalds		   ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
6841da177e4SLinus Torvalds		   ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
68573a59c1cSSAN People		   ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
686*7c6337e2SKevin Hilman		   ARCH_AT91 || MACH_TRIZEPS4 || ARCH_DAVINCI
6871da177e4SLinus Torvalds	help
6881da177e4SLinus Torvalds	  If you say Y here, the LEDs on your machine will be used
6891da177e4SLinus Torvalds	  to provide useful information about your current system status.
6901da177e4SLinus Torvalds
6911da177e4SLinus Torvalds	  If you are compiling a kernel for a NetWinder or EBSA-285, you will
6921da177e4SLinus Torvalds	  be able to select which LEDs are active using the options below. If
6931da177e4SLinus Torvalds	  you are compiling a kernel for the EBSA-110 or the LART however, the
6941da177e4SLinus Torvalds	  red LED will simply flash regularly to indicate that the system is
6951da177e4SLinus Torvalds	  still functional. It is safe to say Y here if you have a CATS
6961da177e4SLinus Torvalds	  system, but the driver will do nothing.
6971da177e4SLinus Torvalds
6981da177e4SLinus Torvaldsconfig LEDS_TIMER
6991da177e4SLinus Torvalds	bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
7001da177e4SLinus Torvalds			    MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
7011da177e4SLinus Torvalds	depends on LEDS
7020567a0c0SKevin Hilman	depends on !GENERIC_CLOCKEVENTS
7031da177e4SLinus Torvalds	default y if ARCH_EBSA110
7041da177e4SLinus Torvalds	help
7051da177e4SLinus Torvalds	  If you say Y here, one of the system LEDs (the green one on the
7061da177e4SLinus Torvalds	  NetWinder, the amber one on the EBSA285, or the red one on the LART)
7071da177e4SLinus Torvalds	  will flash regularly to indicate that the system is still
7081da177e4SLinus Torvalds	  operational. This is mainly useful to kernel hackers who are
7091da177e4SLinus Torvalds	  debugging unstable kernels.
7101da177e4SLinus Torvalds
7111da177e4SLinus Torvalds	  The LART uses the same LED for both Timer LED and CPU usage LED
7121da177e4SLinus Torvalds	  functions. You may choose to use both, but the Timer LED function
7131da177e4SLinus Torvalds	  will overrule the CPU usage LED.
7141da177e4SLinus Torvalds
7151da177e4SLinus Torvaldsconfig LEDS_CPU
7161da177e4SLinus Torvalds	bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
7171da177e4SLinus Torvalds			!ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
7181da177e4SLinus Torvalds	depends on LEDS
7191da177e4SLinus Torvalds	help
7201da177e4SLinus Torvalds	  If you say Y here, the red LED will be used to give a good real
7211da177e4SLinus Torvalds	  time indication of CPU usage, by lighting whenever the idle task
7221da177e4SLinus Torvalds	  is not currently executing.
7231da177e4SLinus Torvalds
7241da177e4SLinus Torvalds	  The LART uses the same LED for both Timer LED and CPU usage LED
7251da177e4SLinus Torvalds	  functions. You may choose to use both, but the Timer LED function
7261da177e4SLinus Torvalds	  will overrule the CPU usage LED.
7271da177e4SLinus Torvalds
7281da177e4SLinus Torvaldsconfig ALIGNMENT_TRAP
7291da177e4SLinus Torvalds	bool
730f12d0d7cSHyok S. Choi	depends on CPU_CP15_MMU
7311da177e4SLinus Torvalds	default y if !ARCH_EBSA110
7321da177e4SLinus Torvalds	help
7331da177e4SLinus Torvalds	  ARM processors cannot fetch/store information which is not
7341da177e4SLinus Torvalds	  naturally aligned on the bus, i.e., a 4 byte fetch must start at an
7351da177e4SLinus Torvalds	  address divisible by 4. On 32-bit ARM processors, these non-aligned
7361da177e4SLinus Torvalds	  fetch/store instructions will be emulated in software if you say
7371da177e4SLinus Torvalds	  here, which has a severe performance impact. This is necessary for
7381da177e4SLinus Torvalds	  correct operation of some network protocols. With an IP-only
7391da177e4SLinus Torvalds	  configuration it is safe to say N, otherwise say Y.
7401da177e4SLinus Torvalds
7411da177e4SLinus Torvaldsendmenu
7421da177e4SLinus Torvalds
7431da177e4SLinus Torvaldsmenu "Boot options"
7441da177e4SLinus Torvalds
7451da177e4SLinus Torvalds# Compressed boot loader in ROM.  Yes, we really want to ask about
7461da177e4SLinus Torvalds# TEXT and BSS so we preserve their values in the config files.
7471da177e4SLinus Torvaldsconfig ZBOOT_ROM_TEXT
7481da177e4SLinus Torvalds	hex "Compressed ROM boot loader base address"
7491da177e4SLinus Torvalds	default "0"
7501da177e4SLinus Torvalds	help
7511da177e4SLinus Torvalds	  The physical address at which the ROM-able zImage is to be
7521da177e4SLinus Torvalds	  placed in the target.  Platforms which normally make use of
7531da177e4SLinus Torvalds	  ROM-able zImage formats normally set this to a suitable
7541da177e4SLinus Torvalds	  value in their defconfig file.
7551da177e4SLinus Torvalds
7561da177e4SLinus Torvalds	  If ZBOOT_ROM is not enabled, this has no effect.
7571da177e4SLinus Torvalds
7581da177e4SLinus Torvaldsconfig ZBOOT_ROM_BSS
7591da177e4SLinus Torvalds	hex "Compressed ROM boot loader BSS address"
7601da177e4SLinus Torvalds	default "0"
7611da177e4SLinus Torvalds	help
762f8c440b2SDan Fandrich	  The base address of an area of read/write memory in the target
763f8c440b2SDan Fandrich	  for the ROM-able zImage which must be available while the
764f8c440b2SDan Fandrich	  decompressor is running. It must be large enough to hold the
765f8c440b2SDan Fandrich	  entire decompressed kernel plus an additional 128 KiB.
766f8c440b2SDan Fandrich	  Platforms which normally make use of ROM-able zImage formats
767f8c440b2SDan Fandrich	  normally set this to a suitable value in their defconfig file.
7681da177e4SLinus Torvalds
7691da177e4SLinus Torvalds	  If ZBOOT_ROM is not enabled, this has no effect.
7701da177e4SLinus Torvalds
7711da177e4SLinus Torvaldsconfig ZBOOT_ROM
7721da177e4SLinus Torvalds	bool "Compressed boot loader in ROM/flash"
7731da177e4SLinus Torvalds	depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
7741da177e4SLinus Torvalds	help
7751da177e4SLinus Torvalds	  Say Y here if you intend to execute your compressed kernel image
7761da177e4SLinus Torvalds	  (zImage) directly from ROM or flash.  If unsure, say N.
7771da177e4SLinus Torvalds
7781da177e4SLinus Torvaldsconfig CMDLINE
7791da177e4SLinus Torvalds	string "Default kernel command string"
7801da177e4SLinus Torvalds	default ""
7811da177e4SLinus Torvalds	help
7821da177e4SLinus Torvalds	  On some architectures (EBSA110 and CATS), there is currently no way
7831da177e4SLinus Torvalds	  for the boot loader to pass arguments to the kernel. For these
7841da177e4SLinus Torvalds	  architectures, you should supply some command-line options at build
7851da177e4SLinus Torvalds	  time by entering them here. As a minimum, you should specify the
7861da177e4SLinus Torvalds	  memory size and the root device (e.g., mem=64M root=/dev/nfs).
7871da177e4SLinus Torvalds
7881da177e4SLinus Torvaldsconfig XIP_KERNEL
7891da177e4SLinus Torvalds	bool "Kernel Execute-In-Place from ROM"
7901da177e4SLinus Torvalds	depends on !ZBOOT_ROM
7911da177e4SLinus Torvalds	help
7921da177e4SLinus Torvalds	  Execute-In-Place allows the kernel to run from non-volatile storage
7931da177e4SLinus Torvalds	  directly addressable by the CPU, such as NOR flash. This saves RAM
7941da177e4SLinus Torvalds	  space since the text section of the kernel is not loaded from flash
7951da177e4SLinus Torvalds	  to RAM.  Read-write sections, such as the data section and stack,
7961da177e4SLinus Torvalds	  are still copied to RAM.  The XIP kernel is not compressed since
7971da177e4SLinus Torvalds	  it has to run directly from flash, so it will take more space to
7981da177e4SLinus Torvalds	  store it.  The flash address used to link the kernel object files,
7991da177e4SLinus Torvalds	  and for storing it, is configuration dependent. Therefore, if you
8001da177e4SLinus Torvalds	  say Y here, you must know the proper physical address where to
8011da177e4SLinus Torvalds	  store the kernel image depending on your own flash memory usage.
8021da177e4SLinus Torvalds
8031da177e4SLinus Torvalds	  Also note that the make target becomes "make xipImage" rather than
8041da177e4SLinus Torvalds	  "make zImage" or "make Image".  The final kernel binary to put in
8051da177e4SLinus Torvalds	  ROM memory will be arch/arm/boot/xipImage.
8061da177e4SLinus Torvalds
8071da177e4SLinus Torvalds	  If unsure, say N.
8081da177e4SLinus Torvalds
8091da177e4SLinus Torvaldsconfig XIP_PHYS_ADDR
8101da177e4SLinus Torvalds	hex "XIP Kernel Physical Location"
8111da177e4SLinus Torvalds	depends on XIP_KERNEL
8121da177e4SLinus Torvalds	default "0x00080000"
8131da177e4SLinus Torvalds	help
8141da177e4SLinus Torvalds	  This is the physical address in your flash memory the kernel will
8151da177e4SLinus Torvalds	  be linked for and stored to.  This address is dependent on your
8161da177e4SLinus Torvalds	  own flash usage.
8171da177e4SLinus Torvalds
818c587e4a6SRichard Purdieconfig KEXEC
819c587e4a6SRichard Purdie	bool "Kexec system call (EXPERIMENTAL)"
820c587e4a6SRichard Purdie	depends on EXPERIMENTAL
821c587e4a6SRichard Purdie	help
822c587e4a6SRichard Purdie	  kexec is a system call that implements the ability to shutdown your
823c587e4a6SRichard Purdie	  current kernel, and to start another kernel.  It is like a reboot
824c587e4a6SRichard Purdie	  but it is indepedent of the system firmware.   And like a reboot
825c587e4a6SRichard Purdie	  you can start any kernel with it, not just Linux.
826c587e4a6SRichard Purdie
827c587e4a6SRichard Purdie	  It is an ongoing process to be certain the hardware in a machine
828c587e4a6SRichard Purdie	  is properly shutdown, so do not be surprised if this code does not
829c587e4a6SRichard Purdie	  initially work for you.  It may help to enable device hotplugging
830c587e4a6SRichard Purdie	  support.
831c587e4a6SRichard Purdie
8321da177e4SLinus Torvaldsendmenu
8331da177e4SLinus Torvalds
8343c8cd0ccSPavel Pisaif (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_IMX )
8351da177e4SLinus Torvalds
8361da177e4SLinus Torvaldsmenu "CPU Frequency scaling"
8371da177e4SLinus Torvalds
8381da177e4SLinus Torvaldssource "drivers/cpufreq/Kconfig"
8391da177e4SLinus Torvalds
8401da177e4SLinus Torvaldsconfig CPU_FREQ_SA1100
8411da177e4SLinus Torvalds	bool
84207c6d48fSVincent Sanders	depends on CPU_FREQ && (SA1100_H3100 || SA1100_H3600 || SA1100_H3800 || SA1100_LART || SA1100_PLEB || SA1100_BADGE4 || SA1100_HACKKIT)
8431da177e4SLinus Torvalds	default y
8441da177e4SLinus Torvalds
8451da177e4SLinus Torvaldsconfig CPU_FREQ_SA1110
8461da177e4SLinus Torvalds	bool
8471da177e4SLinus Torvalds	depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3)
8481da177e4SLinus Torvalds	default y
8491da177e4SLinus Torvalds
8501da177e4SLinus Torvaldsconfig CPU_FREQ_INTEGRATOR
8511da177e4SLinus Torvalds	tristate "CPUfreq driver for ARM Integrator CPUs"
8521da177e4SLinus Torvalds	depends on ARCH_INTEGRATOR && CPU_FREQ
8531da177e4SLinus Torvalds	default y
8541da177e4SLinus Torvalds	help
8551da177e4SLinus Torvalds	  This enables the CPUfreq driver for ARM Integrator CPUs.
8561da177e4SLinus Torvalds
8571da177e4SLinus Torvalds	  For details, take a look at <file:Documentation/cpu-freq>.
8581da177e4SLinus Torvalds
8591da177e4SLinus Torvalds	  If in doubt, say Y.
8601da177e4SLinus Torvalds
8613c8cd0ccSPavel Pisaconfig CPU_FREQ_IMX
8623c8cd0ccSPavel Pisa	tristate "CPUfreq driver for i.MX CPUs"
8633c8cd0ccSPavel Pisa	depends on ARCH_IMX && CPU_FREQ
8643c8cd0ccSPavel Pisa	default n
8653c8cd0ccSPavel Pisa	help
8663c8cd0ccSPavel Pisa	  This enables the CPUfreq driver for i.MX CPUs.
8673c8cd0ccSPavel Pisa
8683c8cd0ccSPavel Pisa	  If in doubt, say N.
8693c8cd0ccSPavel Pisa
8701da177e4SLinus Torvaldsendmenu
8711da177e4SLinus Torvalds
8721da177e4SLinus Torvaldsendif
8731da177e4SLinus Torvalds
8741da177e4SLinus Torvaldsmenu "Floating point emulation"
8751da177e4SLinus Torvalds
8761da177e4SLinus Torvaldscomment "At least one emulation must be selected"
8771da177e4SLinus Torvalds
8781da177e4SLinus Torvaldsconfig FPE_NWFPE
8791da177e4SLinus Torvalds	bool "NWFPE math emulation"
8808993a44cSNicolas Pitre	depends on !AEABI || OABI_COMPAT
8811da177e4SLinus Torvalds	---help---
8821da177e4SLinus Torvalds	  Say Y to include the NWFPE floating point emulator in the kernel.
8831da177e4SLinus Torvalds	  This is necessary to run most binaries. Linux does not currently
8841da177e4SLinus Torvalds	  support floating point hardware so you need to say Y here even if
8851da177e4SLinus Torvalds	  your machine has an FPA or floating point co-processor podule.
8861da177e4SLinus Torvalds
8871da177e4SLinus Torvalds	  You may say N here if you are going to load the Acorn FPEmulator
8881da177e4SLinus Torvalds	  early in the bootup.
8891da177e4SLinus Torvalds
8901da177e4SLinus Torvaldsconfig FPE_NWFPE_XP
8911da177e4SLinus Torvalds	bool "Support extended precision"
892bedf142bSLennert Buytenhek	depends on FPE_NWFPE
8931da177e4SLinus Torvalds	help
8941da177e4SLinus Torvalds	  Say Y to include 80-bit support in the kernel floating-point
8951da177e4SLinus Torvalds	  emulator.  Otherwise, only 32 and 64-bit support is compiled in.
8961da177e4SLinus Torvalds	  Note that gcc does not generate 80-bit operations by default,
8971da177e4SLinus Torvalds	  so in most cases this option only enlarges the size of the
8981da177e4SLinus Torvalds	  floating point emulator without any good reason.
8991da177e4SLinus Torvalds
9001da177e4SLinus Torvalds	  You almost surely want to say N here.
9011da177e4SLinus Torvalds
9021da177e4SLinus Torvaldsconfig FPE_FASTFPE
9031da177e4SLinus Torvalds	bool "FastFPE math emulation (EXPERIMENTAL)"
9048993a44cSNicolas Pitre	depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL
9051da177e4SLinus Torvalds	---help---
9061da177e4SLinus Torvalds	  Say Y here to include the FAST floating point emulator in the kernel.
9071da177e4SLinus Torvalds	  This is an experimental much faster emulator which now also has full
9081da177e4SLinus Torvalds	  precision for the mantissa.  It does not support any exceptions.
9091da177e4SLinus Torvalds	  It is very simple, and approximately 3-6 times faster than NWFPE.
9101da177e4SLinus Torvalds
9111da177e4SLinus Torvalds	  It should be sufficient for most programs.  It may be not suitable
9121da177e4SLinus Torvalds	  for scientific calculations, but you have to check this for yourself.
9131da177e4SLinus Torvalds	  If you do not feel you need a faster FP emulation you should better
9141da177e4SLinus Torvalds	  choose NWFPE.
9151da177e4SLinus Torvalds
9161da177e4SLinus Torvaldsconfig VFP
9171da177e4SLinus Torvalds	bool "VFP-format floating point maths"
9181da177e4SLinus Torvalds	depends on CPU_V6 || CPU_ARM926T
9191da177e4SLinus Torvalds	help
9201da177e4SLinus Torvalds	  Say Y to include VFP support code in the kernel. This is needed
9211da177e4SLinus Torvalds	  if your hardware includes a VFP unit.
9221da177e4SLinus Torvalds
9231da177e4SLinus Torvalds	  Please see <file:Documentation/arm/VFP/release-notes.txt> for
9241da177e4SLinus Torvalds	  release notes and additional status information.
9251da177e4SLinus Torvalds
9261da177e4SLinus Torvalds	  Say N if your target does not have VFP hardware.
9271da177e4SLinus Torvalds
9281da177e4SLinus Torvaldsendmenu
9291da177e4SLinus Torvalds
9301da177e4SLinus Torvaldsmenu "Userspace binary formats"
9311da177e4SLinus Torvalds
9321da177e4SLinus Torvaldssource "fs/Kconfig.binfmt"
9331da177e4SLinus Torvalds
9341da177e4SLinus Torvaldsconfig ARTHUR
9351da177e4SLinus Torvalds	tristate "RISC OS personality"
936704bdda0SNicolas Pitre	depends on !AEABI
9371da177e4SLinus Torvalds	help
9381da177e4SLinus Torvalds	  Say Y here to include the kernel code necessary if you want to run
9391da177e4SLinus Torvalds	  Acorn RISC OS/Arthur binaries under Linux. This code is still very
9401da177e4SLinus Torvalds	  experimental; if this sounds frightening, say N and sleep in peace.
9411da177e4SLinus Torvalds	  You can also say M here to compile this support as a module (which
9421da177e4SLinus Torvalds	  will be called arthur).
9431da177e4SLinus Torvalds
9441da177e4SLinus Torvaldsendmenu
9451da177e4SLinus Torvalds
9461da177e4SLinus Torvaldsmenu "Power management options"
9471da177e4SLinus Torvalds
948eceab4acSRussell Kingsource "kernel/power/Kconfig"
9491da177e4SLinus Torvalds
9501da177e4SLinus Torvaldsendmenu
9511da177e4SLinus Torvalds
952d5950b43SSam Ravnborgsource "net/Kconfig"
953d5950b43SSam Ravnborg
9541da177e4SLinus Torvaldsmenu "Device Drivers"
9551da177e4SLinus Torvalds
9561da177e4SLinus Torvaldssource "drivers/base/Kconfig"
9571da177e4SLinus Torvalds
958c35bf4a5SPavel Macheksource "drivers/connector/Kconfig"
959c35bf4a5SPavel Machek
960f12d0d7cSHyok S. Choiif ALIGNMENT_TRAP || !CPU_CP15_MMU
9611da177e4SLinus Torvaldssource "drivers/mtd/Kconfig"
9621da177e4SLinus Torvaldsendif
9631da177e4SLinus Torvalds
9641da177e4SLinus Torvaldssource "drivers/parport/Kconfig"
9651da177e4SLinus Torvalds
9661da177e4SLinus Torvaldssource "drivers/pnp/Kconfig"
9671da177e4SLinus Torvalds
9681da177e4SLinus Torvaldssource "drivers/block/Kconfig"
9691da177e4SLinus Torvalds
9701da177e4SLinus Torvaldssource "drivers/acorn/block/Kconfig"
9711da177e4SLinus Torvalds
9723f7e5815SLennert Buytenhekif PCMCIA || ARCH_CLPS7500 || ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX \
973bb011b8eSDavid Brownell	|| ARCH_L7200 || ARCH_LH7A40X || ARCH_PXA || ARCH_RPC \
974c4713074SLennert Buytenhek	|| ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE \
975c4713074SLennert Buytenhek	|| ARCH_IXP23XX
9761da177e4SLinus Torvaldssource "drivers/ide/Kconfig"
9771da177e4SLinus Torvaldsendif
9781da177e4SLinus Torvalds
9791da177e4SLinus Torvaldssource "drivers/scsi/Kconfig"
9801da177e4SLinus Torvalds
981eb370f0bSMartin Michlmayrsource "drivers/ata/Kconfig"
982eb370f0bSMartin Michlmayr
9831da177e4SLinus Torvaldssource "drivers/md/Kconfig"
9841da177e4SLinus Torvalds
9851da177e4SLinus Torvaldssource "drivers/message/fusion/Kconfig"
9861da177e4SLinus Torvalds
9871da177e4SLinus Torvaldssource "drivers/ieee1394/Kconfig"
9881da177e4SLinus Torvalds
9891da177e4SLinus Torvaldssource "drivers/message/i2o/Kconfig"
9901da177e4SLinus Torvalds
991d5950b43SSam Ravnborgsource "drivers/net/Kconfig"
9921da177e4SLinus Torvalds
9931da177e4SLinus Torvaldssource "drivers/isdn/Kconfig"
9941da177e4SLinus Torvalds
9951da177e4SLinus Torvalds# input before char - char/joystick depends on it. As does USB.
9961da177e4SLinus Torvalds
9971da177e4SLinus Torvaldssource "drivers/input/Kconfig"
9981da177e4SLinus Torvalds
9991da177e4SLinus Torvaldssource "drivers/char/Kconfig"
10001da177e4SLinus Torvalds
10011da177e4SLinus Torvaldssource "drivers/i2c/Kconfig"
10021da177e4SLinus Torvalds
10038ae12a0dSDavid Brownellsource "drivers/spi/Kconfig"
10048ae12a0dSDavid Brownell
100504916c0eSAlessandro Zummosource "drivers/w1/Kconfig"
100604916c0eSAlessandro Zummo
1007ad2f931dSJean Delvaresource "drivers/hwmon/Kconfig"
1008ad2f931dSJean Delvare
10091da177e4SLinus Torvalds#source "drivers/l3/Kconfig"
10101da177e4SLinus Torvalds
10111da177e4SLinus Torvaldssource "drivers/misc/Kconfig"
10121da177e4SLinus Torvalds
1013a4e137abSRussell Kingsource "drivers/mfd/Kconfig"
1014a4e137abSRussell King
1015c72a1d60SRichard Purdiesource "drivers/leds/Kconfig"
1016c72a1d60SRichard Purdie
10171da177e4SLinus Torvaldssource "drivers/media/Kconfig"
10181da177e4SLinus Torvalds
10191da177e4SLinus Torvaldssource "drivers/video/Kconfig"
10201da177e4SLinus Torvalds
10211da177e4SLinus Torvaldssource "sound/Kconfig"
10221da177e4SLinus Torvalds
1023c2dade51SSascha Hauersource "drivers/hid/Kconfig"
1024c2dade51SSascha Hauer
10251da177e4SLinus Torvaldssource "drivers/usb/Kconfig"
10261da177e4SLinus Torvalds
10271da177e4SLinus Torvaldssource "drivers/mmc/Kconfig"
10281da177e4SLinus Torvalds
102912b824fbSAlessandro Zummosource "drivers/rtc/Kconfig"
103012b824fbSAlessandro Zummo
10311da177e4SLinus Torvaldsendmenu
10321da177e4SLinus Torvalds
10331da177e4SLinus Torvaldssource "fs/Kconfig"
10341da177e4SLinus Torvalds
10351da177e4SLinus Torvaldssource "arch/arm/oprofile/Kconfig"
10361da177e4SLinus Torvalds
10371da177e4SLinus Torvaldssource "arch/arm/Kconfig.debug"
10381da177e4SLinus Torvalds
10391da177e4SLinus Torvaldssource "security/Kconfig"
10401da177e4SLinus Torvalds
10411da177e4SLinus Torvaldssource "crypto/Kconfig"
10421da177e4SLinus Torvalds
10431da177e4SLinus Torvaldssource "lib/Kconfig"
1044