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