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