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