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