blob: d4679ab55b969c3fe8bfc4f88dfef02d618e1877 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
6mainmenu "Linux/M32R Kernel Configuration"
7
8config M32R
9 bool
10 default y
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050011 select HAVE_OPROFILE
Linus Torvalds1da177e2005-04-16 15:20:36 -070012
13config SBUS
14 bool
15
Linus Torvalds1da177e2005-04-16 15:20:36 -070016config GENERIC_ISA_DMA
17 bool
18 default y
19
Christoph Lameter5ac6da62007-02-10 01:43:14 -080020config ZONE_DMA
21 bool
22 default y
23
Linus Torvalds1da177e2005-04-16 15:20:36 -070024config GENERIC_HARDIRQS
25 bool
26 default y
27
28config GENERIC_IRQ_PROBE
29 bool
30 default y
31
Al Viro5ea81762007-02-11 15:41:31 +000032config NO_IOPORT
33 def_bool y
34
Dan Williams1b0fac42007-07-15 23:40:26 -070035config NO_DMA
36 def_bool y
37
David Howellsb0b933c2008-02-08 04:19:27 -080038config ARCH_SUPPORTS_AOUT
39 def_bool y
40
H. Peter Anvinbdc80782008-02-08 04:21:26 -080041config HZ
42 int
43 default 100
44
Linus Torvalds1da177e2005-04-16 15:20:36 -070045source "init/Kconfig"
46
47
48menu "Processor type and features"
49
50choice
51 prompt "Platform Type"
52 default PLAT_MAPPI
53
54config PLAT_MAPPI
55 bool "Mappi-I"
56 help
57 The Mappi-I is an FPGA board for SOC (System-On-a-Chip) prototyping.
58 You can operate a Linux system on this board by using an M32R
59 softmacro core, which is a fully-synthesizable functional model
60 described in Verilog-HDL.
61
62 The Mappi-I board was the first platform, which had been used
63 to port and develop a Linux system for the M32R processor.
64 Currently, the Mappi-II, an heir to the Mappi-I, is available.
65
66config PLAT_USRV
67 bool "uServer"
Hirokazu Takatae070fb742007-08-17 17:22:15 +090068 select PLAT_HAS_INT1ICU
Linus Torvalds1da177e2005-04-16 15:20:36 -070069
70config PLAT_M32700UT
71 bool "M32700UT"
Hirokazu Takatae070fb742007-08-17 17:22:15 +090072 select PLAT_HAS_INT0ICU
73 select PLAT_HAS_INT1ICU
74 select PLAT_HAS_INT2ICU
Linus Torvalds1da177e2005-04-16 15:20:36 -070075 help
76 The M3T-M32700UT is an evaluation board based on uT-Engine
77 specification. This board has an M32700 (Chaos) evaluation chip.
78 You can say Y for SMP, because the M32700 is a single chip
79 multiprocessor.
80
81config PLAT_OPSPUT
82 bool "OPSPUT"
Hirokazu Takatae070fb742007-08-17 17:22:15 +090083 select PLAT_HAS_INT0ICU
84 select PLAT_HAS_INT1ICU
85 select PLAT_HAS_INT2ICU
Linus Torvalds1da177e2005-04-16 15:20:36 -070086 help
87 The OPSPUT is an evaluation board based on uT-Engine
88 specification. This board has a OPSP-REP chip.
89
90config PLAT_OAKS32R
91 bool "OAKS32R"
92 help
93 The OAKS32R is a tiny, inexpensive evaluation board.
94 Please note that if you say Y here and choose chip "M32102",
95 say N for MMU and select a no-MMU version kernel, otherwise
96 a kernel with MMU support will not work, because the M32102
97 is a microcontroller for embedded systems and it has no MMU.
98
99config PLAT_MAPPI2
100 bool "Mappi-II(M3A-ZA36/M3A-ZA52)"
101
Hirokazu Takata23680862005-06-21 17:16:10 -0700102config PLAT_MAPPI3
103 bool "Mappi-III(M3A-2170)"
104
Hirokazu Takata9287d952006-01-06 00:18:41 -0800105config PLAT_M32104UT
106 bool "M32104UT"
Hirokazu Takatae070fb742007-08-17 17:22:15 +0900107 select PLAT_HAS_INT1ICU
Hirokazu Takata9287d952006-01-06 00:18:41 -0800108 help
109 The M3T-M32104UT is an reference board based on uT-Engine
110 specification. This board has a M32104 chip.
111
Linus Torvalds1da177e2005-04-16 15:20:36 -0700112endchoice
113
114choice
115 prompt "Processor family"
116 default CHIP_M32700
117
118config CHIP_M32700
119 bool "M32700 (Chaos)"
120
121config CHIP_M32102
122 bool "M32102"
123
Hirokazu Takata9287d952006-01-06 00:18:41 -0800124config CHIP_M32104
125 bool "M32104"
126 depends on PLAT_M32104UT
127
Linus Torvalds1da177e2005-04-16 15:20:36 -0700128config CHIP_VDEC2
129 bool "VDEC2"
130
131config CHIP_OPSP
132 bool "OPSP"
133
134endchoice
135
136config MMU
137 bool "Support for memory management hardware"
138 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
139 default y
140
141config TLB_ENTRIES
142 int "TLB Entries"
143 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
144 default 32 if CHIP_M32700 || CHIP_OPSP
145 default 16 if CHIP_VDEC2
146
147
148config ISA_M32R
149 bool
Hirokazu Takata9287d952006-01-06 00:18:41 -0800150 depends on CHIP_M32102 || CHIP_M32104
Linus Torvalds1da177e2005-04-16 15:20:36 -0700151 default y
152
153config ISA_M32R2
154 bool
155 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
156 default y
157
158config ISA_DSP_LEVEL2
159 bool
160 depends on CHIP_M32700 || CHIP_OPSP
161 default y
162
163config ISA_DUAL_ISSUE
164 bool
165 depends on CHIP_M32700 || CHIP_OPSP
166 default y
167
Hirokazu Takatae070fb742007-08-17 17:22:15 +0900168config PLAT_HAS_INT0ICU
169 bool
170 default n
171
172config PLAT_HAS_INT1ICU
173 bool
174 default n
175
176config PLAT_HAS_INT2ICU
177 bool
178 default n
179
Linus Torvalds1da177e2005-04-16 15:20:36 -0700180config BUS_CLOCK
181 int "Bus Clock [Hz] (integer)"
182 default "70000000" if PLAT_MAPPI
183 default "25000000" if PLAT_USRV
Hirokazu Takata23680862005-06-21 17:16:10 -0700184 default "50000000" if PLAT_MAPPI3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700185 default "50000000" if PLAT_M32700UT
186 default "50000000" if PLAT_OPSPUT
Hirokazu Takata9287d952006-01-06 00:18:41 -0800187 default "54000000" if PLAT_M32104UT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700188 default "33333333" if PLAT_OAKS32R
189 default "20000000" if PLAT_MAPPI2
190
191config TIMER_DIVIDE
192 int "Timer divider (integer)"
193 default "128"
194
195config CPU_LITTLE_ENDIAN
196 bool "Generate little endian code"
197 default n
198
199config MEMORY_START
200 hex "Physical memory start address (hex)"
Hirokazu Takata23680862005-06-21 17:16:10 -0700201 default "08000000" if PLAT_MAPPI || PLAT_MAPPI2 || PLAT_MAPPI3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700202 default "08000000" if PLAT_USRV
203 default "08000000" if PLAT_M32700UT
204 default "08000000" if PLAT_OPSPUT
Hirokazu Takata9287d952006-01-06 00:18:41 -0800205 default "04000000" if PLAT_M32104UT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700206 default "01000000" if PLAT_OAKS32R
207
208config MEMORY_SIZE
209 hex "Physical memory size (hex)"
Hirokazu Takata23680862005-06-21 17:16:10 -0700210 default "08000000" if PLAT_MAPPI3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700211 default "04000000" if PLAT_MAPPI || PLAT_MAPPI2
212 default "02000000" if PLAT_USRV
213 default "01000000" if PLAT_M32700UT
214 default "01000000" if PLAT_OPSPUT
Hirokazu Takata9287d952006-01-06 00:18:41 -0800215 default "01000000" if PLAT_M32104UT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700216 default "00800000" if PLAT_OAKS32R
217
218config NOHIGHMEM
219 bool
220 default y
221
Dave Hansen3f22ab22005-06-23 00:07:43 -0700222config ARCH_DISCONTIGMEM_ENABLE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700223 bool "Internal RAM Support"
Hirokazu Takata9287d952006-01-06 00:18:41 -0800224 depends on CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104
Linus Torvalds1da177e2005-04-16 15:20:36 -0700225 default y
226
Dave Hansen3f22ab22005-06-23 00:07:43 -0700227source "mm/Kconfig"
228
Linus Torvalds1da177e2005-04-16 15:20:36 -0700229config IRAM_START
230 hex "Internal memory start address (hex)"
Hirokazu Takata9287d952006-01-06 00:18:41 -0800231 default "00f00000" if !CHIP_M32104
232 default "00700000" if CHIP_M32104
233 depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -0700234
235config IRAM_SIZE
236 hex "Internal memory size (hex)"
Hirokazu Takata9287d952006-01-06 00:18:41 -0800237 depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -0700238 default "00080000" if CHIP_M32700
Hirokazu Takata9287d952006-01-06 00:18:41 -0800239 default "00010000" if CHIP_M32102 || CHIP_OPSP || CHIP_M32104
Linus Torvalds1da177e2005-04-16 15:20:36 -0700240 default "00008000" if CHIP_VDEC2
241
242#
243# Define implied options from the CPU selection here
244#
245
Nick Piggin95c354f2008-01-30 13:31:20 +0100246config GENERIC_LOCKBREAK
247 bool
248 default y
249 depends on SMP && PREEMPT
250
Linus Torvalds1da177e2005-04-16 15:20:36 -0700251config RWSEM_GENERIC_SPINLOCK
252 bool
253 depends on M32R
254 default y
255
256config RWSEM_XCHGADD_ALGORITHM
257 bool
258 default n
259
David Howellsf0d1b0b2006-12-08 02:37:49 -0800260config ARCH_HAS_ILOG2_U32
261 bool
262 default n
263
264config ARCH_HAS_ILOG2_U64
265 bool
266 default n
267
Akinobu Mita6d9f9372006-03-26 01:39:26 -0800268config GENERIC_FIND_NEXT_BIT
269 bool
270 default y
271
272config GENERIC_HWEIGHT
273 bool
274 default y
275
Linus Torvalds1da177e2005-04-16 15:20:36 -0700276config GENERIC_CALIBRATE_DELAY
277 bool
278 default y
279
Hirokazu Takata43c09ce2007-05-10 22:22:25 -0700280config SCHED_NO_NO_OMIT_FRAME_POINTER
281 bool
282 default y
283
Linus Torvalds1da177e2005-04-16 15:20:36 -0700284config PREEMPT
285 bool "Preemptible Kernel"
286 help
287 This option reduces the latency of the kernel when reacting to
288 real-time or interactive events by allowing a low priority process to
289 be preempted even if it is in kernel mode executing a system call.
290 This allows applications to run more reliably even when the system is
291 under load.
292
293 Say Y here if you are building a kernel for a desktop, embedded
294 or real-time system. Say N if you are unsure.
295
Linus Torvalds1da177e2005-04-16 15:20:36 -0700296config SMP
297 bool "Symmetric multi-processing support"
298 ---help---
299 This enables support for systems with more than one CPU. If you have
300 a system with only one CPU, like most personal computers, say N. If
301 you have a system with more than one CPU, say Y.
302
303 If you say N here, the kernel will run on single and multiprocessor
304 machines, but will use only one CPU of a multiprocessor machine. If
305 you say Y here, the kernel will run on many, but not all,
306 singleprocessor machines. On a singleprocessor machine, the kernel
307 will run faster if you say N here.
308
309 People using multiprocessor machines who say Y here should also say
310 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
311 Management" code will be disabled if you say Y here.
312
Adrian Bunk03502fa2008-02-03 15:50:21 +0200313 See also the SMP-HOWTO available at
Linus Torvalds1da177e2005-04-16 15:20:36 -0700314 <http://www.linuxdoc.org/docs.html#howto>.
315
316 If you don't know what to do here, say N.
317
318config CHIP_M32700_TS1
319 bool "Workaround code for the M32700 TS1 chip's bug"
320 depends on (CHIP_M32700 && SMP)
321 default n
322
323config NR_CPUS
324 int "Maximum number of CPUs (2-32)"
325 range 2 32
326 depends on SMP
327 default "2"
328 help
329 This allows you to specify the maximum number of CPUs which this
330 kernel will support. The maximum supported value is 32 and the
331 minimum value which makes sense is 2.
332
333 This is purely to save memory - each supported CPU adds
334 approximately eight kilobytes to the kernel image.
335
336# Common NUMA Features
337config NUMA
338 bool "Numa Memory Allocation Support"
Al Viroc5596b22005-08-23 22:45:11 +0100339 depends on SMP && BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700340 default n
341
Yasunori Gotoc80d79d2006-04-10 22:53:53 -0700342config NODES_SHIFT
343 int
344 default "1"
345 depends on NEED_MULTIPLE_NODES
346
Linus Torvalds1da177e2005-04-16 15:20:36 -0700347# turning this on wastes a bunch of space.
348# Summit needs it only when NUMA is on
349config BOOT_IOREMAP
350 bool
351 depends on NUMA
352 default n
353
354endmenu
355
356
357menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
358
359config PCI
360 bool "PCI support"
Al Viroc3a0f772005-08-23 22:45:31 +0100361 depends on BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700362 default n
363 help
364 Find out whether you have a PCI motherboard. PCI is the name of a
365 bus system, i.e. the way the CPU talks to the other stuff inside
366 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
367 VESA. If you have PCI, say Y, otherwise N.
368
Linus Torvalds1da177e2005-04-16 15:20:36 -0700369choice
370 prompt "PCI access mode"
371 depends on PCI
372 default PCI_GOANY
373
374config PCI_GOBIOS
375 bool "BIOS"
376 ---help---
377 On PCI systems, the BIOS can be used to detect the PCI devices and
378 determine their configuration. However, some old PCI motherboards
379 have BIOS bugs and may crash if this is done. Also, some embedded
380 PCI-based systems don't have any BIOS at all. Linux can also try to
381 detect the PCI hardware directly without using the BIOS.
382
383 With this option, you can specify how Linux should detect the PCI
384 devices. If you choose "BIOS", the BIOS will be used, if you choose
385 "Direct", the BIOS won't be used, and if you choose "Any", the
386 kernel will try the direct access method and falls back to the BIOS
387 if that doesn't work. If unsure, go with the default, which is
388 "Any".
389
390config PCI_GODIRECT
391 bool "Direct"
392
393config PCI_GOANY
394 bool "Any"
395
396endchoice
397
398config PCI_BIOS
399 bool
400 depends on PCI && (PCI_GOBIOS || PCI_GOANY)
401 default y
402
403config PCI_DIRECT
404 bool
405 depends on PCI && (PCI_GODIRECT || PCI_GOANY)
406 default y
407
408source "drivers/pci/Kconfig"
409
410config ISA
411 bool "ISA support"
412 help
413 Find out whether you have ISA slots on your motherboard. ISA is the
414 name of a bus system, i.e. the way the CPU talks to the other stuff
415 inside your box. If you have ISA, say Y, otherwise N.
416
417source "drivers/pcmcia/Kconfig"
418
419source "drivers/pci/hotplug/Kconfig"
420
421endmenu
422
423
424menu "Executable file formats"
425
426source "fs/Kconfig.binfmt"
427
428endmenu
429
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700430source "net/Kconfig"
431
Linus Torvalds1da177e2005-04-16 15:20:36 -0700432source "drivers/Kconfig"
433
434source "fs/Kconfig"
435
Linus Torvalds1da177e2005-04-16 15:20:36 -0700436source "arch/m32r/Kconfig.debug"
437
438source "security/Kconfig"
439
440source "crypto/Kconfig"
441
442source "lib/Kconfig"