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