blob: 0d90ea58a0cb91223b611096ba99cfd444241511 [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
81endchoice
82
83choice
84 prompt "Processor family"
85 default CHIP_M32700
86
87config CHIP_M32700
88 bool "M32700 (Chaos)"
89
90config CHIP_M32102
91 bool "M32102"
92
93config CHIP_VDEC2
94 bool "VDEC2"
95
96config CHIP_OPSP
97 bool "OPSP"
98
99endchoice
100
101config MMU
102 bool "Support for memory management hardware"
103 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
104 default y
105
106config TLB_ENTRIES
107 int "TLB Entries"
108 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
109 default 32 if CHIP_M32700 || CHIP_OPSP
110 default 16 if CHIP_VDEC2
111
112
113config ISA_M32R
114 bool
115 depends on CHIP_M32102
116 default y
117
118config ISA_M32R2
119 bool
120 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
121 default y
122
123config ISA_DSP_LEVEL2
124 bool
125 depends on CHIP_M32700 || CHIP_OPSP
126 default y
127
128config ISA_DUAL_ISSUE
129 bool
130 depends on CHIP_M32700 || CHIP_OPSP
131 default y
132
133config BUS_CLOCK
134 int "Bus Clock [Hz] (integer)"
135 default "70000000" if PLAT_MAPPI
136 default "25000000" if PLAT_USRV
137 default "50000000" if PLAT_M32700UT
138 default "50000000" if PLAT_OPSPUT
139 default "33333333" if PLAT_OAKS32R
140 default "20000000" if PLAT_MAPPI2
141
142config TIMER_DIVIDE
143 int "Timer divider (integer)"
144 default "128"
145
146config CPU_LITTLE_ENDIAN
147 bool "Generate little endian code"
148 default n
149
150config MEMORY_START
151 hex "Physical memory start address (hex)"
152 default "08000000" if PLAT_MAPPI || PLAT_MAPPI2
153 default "08000000" if PLAT_USRV
154 default "08000000" if PLAT_M32700UT
155 default "08000000" if PLAT_OPSPUT
156 default "01000000" if PLAT_OAKS32R
157
158config MEMORY_SIZE
159 hex "Physical memory size (hex)"
160 default "04000000" if PLAT_MAPPI || PLAT_MAPPI2
161 default "02000000" if PLAT_USRV
162 default "01000000" if PLAT_M32700UT
163 default "01000000" if PLAT_OPSPUT
164 default "00800000" if PLAT_OAKS32R
165
166config NOHIGHMEM
167 bool
168 default y
169
170config DISCONTIGMEM
171 bool "Internal RAM Support"
172 depends on CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP
173 default y
174
175config IRAM_START
176 hex "Internal memory start address (hex)"
177 default "00f00000"
178 depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP) && DISCONTIGMEM
179
180config IRAM_SIZE
181 hex "Internal memory size (hex)"
182 depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP) && DISCONTIGMEM
183 default "00080000" if CHIP_M32700
184 default "00010000" if CHIP_M32102 || CHIP_OPSP
185 default "00008000" if CHIP_VDEC2
186
187#
188# Define implied options from the CPU selection here
189#
190
191config RWSEM_GENERIC_SPINLOCK
192 bool
193 depends on M32R
194 default y
195
196config RWSEM_XCHGADD_ALGORITHM
197 bool
198 default n
199
200config GENERIC_CALIBRATE_DELAY
201 bool
202 default y
203
204config PREEMPT
205 bool "Preemptible Kernel"
206 help
207 This option reduces the latency of the kernel when reacting to
208 real-time or interactive events by allowing a low priority process to
209 be preempted even if it is in kernel mode executing a system call.
210 This allows applications to run more reliably even when the system is
211 under load.
212
213 Say Y here if you are building a kernel for a desktop, embedded
214 or real-time system. Say N if you are unsure.
215
216config HAVE_DEC_LOCK
217 bool
218 depends on (SMP || PREEMPT)
219 default n
220
221config SMP
222 bool "Symmetric multi-processing support"
223 ---help---
224 This enables support for systems with more than one CPU. If you have
225 a system with only one CPU, like most personal computers, say N. If
226 you have a system with more than one CPU, say Y.
227
228 If you say N here, the kernel will run on single and multiprocessor
229 machines, but will use only one CPU of a multiprocessor machine. If
230 you say Y here, the kernel will run on many, but not all,
231 singleprocessor machines. On a singleprocessor machine, the kernel
232 will run faster if you say N here.
233
234 People using multiprocessor machines who say Y here should also say
235 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
236 Management" code will be disabled if you say Y here.
237
238 See also the <file:Documentation/smp.tex>,
239 <file:Documentation/smp.txt> and the SMP-HOWTO available at
240 <http://www.linuxdoc.org/docs.html#howto>.
241
242 If you don't know what to do here, say N.
243
244config CHIP_M32700_TS1
245 bool "Workaround code for the M32700 TS1 chip's bug"
246 depends on (CHIP_M32700 && SMP)
247 default n
248
249config NR_CPUS
250 int "Maximum number of CPUs (2-32)"
251 range 2 32
252 depends on SMP
253 default "2"
254 help
255 This allows you to specify the maximum number of CPUs which this
256 kernel will support. The maximum supported value is 32 and the
257 minimum value which makes sense is 2.
258
259 This is purely to save memory - each supported CPU adds
260 approximately eight kilobytes to the kernel image.
261
262# Common NUMA Features
263config NUMA
264 bool "Numa Memory Allocation Support"
265 depends on SMP
266 default n
267
268# turning this on wastes a bunch of space.
269# Summit needs it only when NUMA is on
270config BOOT_IOREMAP
271 bool
272 depends on NUMA
273 default n
274
275endmenu
276
277
278menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
279
280config PCI
281 bool "PCI support"
282 default n
283 help
284 Find out whether you have a PCI motherboard. PCI is the name of a
285 bus system, i.e. the way the CPU talks to the other stuff inside
286 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
287 VESA. If you have PCI, say Y, otherwise N.
288
289 The PCI-HOWTO, available from
290 <http://www.linuxdoc.org/docs.html#howto>, contains valuable
291 information about which PCI hardware does work under Linux and which
292 doesn't.
293
294choice
295 prompt "PCI access mode"
296 depends on PCI
297 default PCI_GOANY
298
299config PCI_GOBIOS
300 bool "BIOS"
301 ---help---
302 On PCI systems, the BIOS can be used to detect the PCI devices and
303 determine their configuration. However, some old PCI motherboards
304 have BIOS bugs and may crash if this is done. Also, some embedded
305 PCI-based systems don't have any BIOS at all. Linux can also try to
306 detect the PCI hardware directly without using the BIOS.
307
308 With this option, you can specify how Linux should detect the PCI
309 devices. If you choose "BIOS", the BIOS will be used, if you choose
310 "Direct", the BIOS won't be used, and if you choose "Any", the
311 kernel will try the direct access method and falls back to the BIOS
312 if that doesn't work. If unsure, go with the default, which is
313 "Any".
314
315config PCI_GODIRECT
316 bool "Direct"
317
318config PCI_GOANY
319 bool "Any"
320
321endchoice
322
323config PCI_BIOS
324 bool
325 depends on PCI && (PCI_GOBIOS || PCI_GOANY)
326 default y
327
328config PCI_DIRECT
329 bool
330 depends on PCI && (PCI_GODIRECT || PCI_GOANY)
331 default y
332
333source "drivers/pci/Kconfig"
334
335config ISA
336 bool "ISA support"
337 help
338 Find out whether you have ISA slots on your motherboard. ISA is the
339 name of a bus system, i.e. the way the CPU talks to the other stuff
340 inside your box. If you have ISA, say Y, otherwise N.
341
342source "drivers/pcmcia/Kconfig"
343
344source "drivers/pci/hotplug/Kconfig"
345
346endmenu
347
348
349menu "Executable file formats"
350
351source "fs/Kconfig.binfmt"
352
353endmenu
354
355source "drivers/Kconfig"
356
357source "fs/Kconfig"
358
359source "arch/m32r/oprofile/Kconfig"
360
361source "arch/m32r/Kconfig.debug"
362
363source "security/Kconfig"
364
365source "crypto/Kconfig"
366
367source "lib/Kconfig"