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