1f550d4dd5d0952de6e0567663cb04e5d53b4e81
[linux-3.10.git] / arch / m32r / Kconfig
1 config M32R
2         bool
3         default y
4         select HAVE_IDE
5         select HAVE_OPROFILE
6         select INIT_ALL_POSSIBLE
7         select HAVE_KERNEL_GZIP
8         select HAVE_KERNEL_BZIP2
9         select HAVE_KERNEL_LZMA
10         select ARCH_WANT_IPC_PARSE_VERSION
11         select HAVE_DEBUG_BUGVERBOSE
12         select HAVE_GENERIC_HARDIRQS
13         select GENERIC_IRQ_PROBE
14         select GENERIC_IRQ_SHOW
15         select GENERIC_ATOMIC64
16         select ARCH_USES_GETTIMEOFFSET
17         select MODULES_USE_ELF_RELA
18         select GENERIC_SIGALTSTACK
19
20 config SBUS
21         bool
22
23 config GENERIC_ISA_DMA
24         bool
25         default y
26
27 config ZONE_DMA
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 config HZ
38         int
39         default 100
40
41 source "init/Kconfig"
42
43 source "kernel/Kconfig.freezer"
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_HWEIGHT
263         bool
264         default y
265
266 config GENERIC_CALIBRATE_DELAY
267         bool
268         default y
269
270 config SCHED_OMIT_FRAME_POINTER
271         bool
272         default y
273
274 source "kernel/Kconfig.preempt"
275
276 config SMP
277         bool "Symmetric multi-processing support"
278         select USE_GENERIC_SMP_HELPERS
279         ---help---
280           This enables support for systems with more than one CPU. If you have
281           a system with only one CPU, like most personal computers, say N. If
282           you have a system with more than one CPU, say Y.
283
284           If you say N here, the kernel will run on single and multiprocessor
285           machines, but will use only one CPU of a multiprocessor machine. If
286           you say Y here, the kernel will run on many, but not all,
287           singleprocessor machines. On a singleprocessor machine, the kernel
288           will run faster if you say N here.
289
290           People using multiprocessor machines who say Y here should also say
291           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
292           Management" code will be disabled if you say Y here.
293
294           See also the SMP-HOWTO available at
295           <http://tldp.org/HOWTO/SMP-HOWTO.html>.
296
297           If you don't know what to do here, say N.
298
299 config CHIP_M32700_TS1
300         bool "Workaround code for the M32700 TS1 chip's bug"
301         depends on (CHIP_M32700 && SMP)
302         default n
303
304 config NR_CPUS
305         int "Maximum number of CPUs (2-32)"
306         range 2 32
307         depends on SMP
308         default "2"
309         help
310           This allows you to specify the maximum number of CPUs which this
311           kernel will support.  The maximum supported value is 32 and the
312           minimum value which makes sense is 2.
313
314           This is purely to save memory - each supported CPU adds
315           approximately eight kilobytes to the kernel image.
316
317 # Common NUMA Features
318 config NUMA
319         bool "Numa Memory Allocation Support"
320         depends on SMP && BROKEN
321         default n
322
323 config NODES_SHIFT
324         int
325         default "1"
326         depends on NEED_MULTIPLE_NODES
327
328 endmenu
329
330
331 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
332
333 config PCI
334         bool "PCI support"
335         depends on BROKEN
336         default n
337         help
338           Find out whether you have a PCI motherboard. PCI is the name of a
339           bus system, i.e. the way the CPU talks to the other stuff inside
340           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
341           VESA. If you have PCI, say Y, otherwise N.
342
343 choice
344         prompt "PCI access mode"
345         depends on PCI
346         default PCI_GOANY
347
348 config PCI_GOBIOS
349         bool "BIOS"
350         ---help---
351           On PCI systems, the BIOS can be used to detect the PCI devices and
352           determine their configuration. However, some old PCI motherboards
353           have BIOS bugs and may crash if this is done. Also, some embedded
354           PCI-based systems don't have any BIOS at all. Linux can also try to
355           detect the PCI hardware directly without using the BIOS.
356
357           With this option, you can specify how Linux should detect the PCI
358           devices. If you choose "BIOS", the BIOS will be used, if you choose
359           "Direct", the BIOS won't be used, and if you choose "Any", the
360           kernel will try the direct access method and falls back to the BIOS
361           if that doesn't work. If unsure, go with the default, which is
362           "Any".
363
364 config PCI_GODIRECT
365         bool "Direct"
366
367 config PCI_GOANY
368         bool "Any"
369
370 endchoice
371
372 config PCI_BIOS
373         bool
374         depends on PCI && (PCI_GOBIOS || PCI_GOANY)
375         default y
376
377 config PCI_DIRECT
378         bool
379         depends on PCI && (PCI_GODIRECT || PCI_GOANY)
380         default y
381
382 source "drivers/pci/Kconfig"
383
384 config ISA
385         bool
386
387 source "drivers/pcmcia/Kconfig"
388
389 source "drivers/pci/hotplug/Kconfig"
390
391 endmenu
392
393
394 menu "Executable file formats"
395
396 source "fs/Kconfig.binfmt"
397
398 endmenu
399
400 source "net/Kconfig"
401
402 source "drivers/Kconfig"
403
404 source "fs/Kconfig"
405
406 source "arch/m32r/Kconfig.debug"
407
408 source "security/Kconfig"
409
410 source "crypto/Kconfig"
411
412 source "lib/Kconfig"