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