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