2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
6 mainmenu "Linux/M32R Kernel Configuration"
15 config GENERIC_ISA_DMA
23 config GENERIC_HARDIRQS
27 config GENERIC_IRQ_PROBE
37 menu "Processor type and features"
40 prompt "Platform Type"
46 The Mappi-I is an FPGA board for SOC (System-On-a-Chip) prototyping.
47 You can operate a Linux system on this board by using an M32R
48 softmacro core, which is a fully-synthesizable functional model
49 described in Verilog-HDL.
51 The Mappi-I board was the first platform, which had been used
52 to port and develop a Linux system for the M32R processor.
53 Currently, the Mappi-II, an heir to the Mappi-I, is available.
61 The M3T-M32700UT is an evaluation board based on uT-Engine
62 specification. This board has an M32700 (Chaos) evaluation chip.
63 You can say Y for SMP, because the M32700 is a single chip
69 The OPSPUT is an evaluation board based on uT-Engine
70 specification. This board has a OPSP-REP chip.
75 The OAKS32R is a tiny, inexpensive evaluation board.
76 Please note that if you say Y here and choose chip "M32102",
77 say N for MMU and select a no-MMU version kernel, otherwise
78 a kernel with MMU support will not work, because the M32102
79 is a microcontroller for embedded systems and it has no MMU.
82 bool "Mappi-II(M3A-ZA36/M3A-ZA52)"
85 bool "Mappi-III(M3A-2170)"
90 The M3T-M32104UT is an reference board based on uT-Engine
91 specification. This board has a M32104 chip.
96 prompt "Processor family"
100 bool "M32700 (Chaos)"
107 depends on PLAT_M32104UT
118 bool "Support for memory management hardware"
119 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
124 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
125 default 32 if CHIP_M32700 || CHIP_OPSP
126 default 16 if CHIP_VDEC2
131 depends on CHIP_M32102 || CHIP_M32104
136 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
139 config ISA_DSP_LEVEL2
141 depends on CHIP_M32700 || CHIP_OPSP
144 config ISA_DUAL_ISSUE
146 depends on CHIP_M32700 || CHIP_OPSP
150 int "Bus Clock [Hz] (integer)"
151 default "70000000" if PLAT_MAPPI
152 default "25000000" if PLAT_USRV
153 default "50000000" if PLAT_MAPPI3
154 default "50000000" if PLAT_M32700UT
155 default "50000000" if PLAT_OPSPUT
156 default "54000000" if PLAT_M32104UT
157 default "33333333" if PLAT_OAKS32R
158 default "20000000" if PLAT_MAPPI2
161 int "Timer divider (integer)"
164 config CPU_LITTLE_ENDIAN
165 bool "Generate little endian code"
169 hex "Physical memory start address (hex)"
170 default "08000000" if PLAT_MAPPI || PLAT_MAPPI2 || PLAT_MAPPI3
171 default "08000000" if PLAT_USRV
172 default "08000000" if PLAT_M32700UT
173 default "08000000" if PLAT_OPSPUT
174 default "04000000" if PLAT_M32104UT
175 default "01000000" if PLAT_OAKS32R
178 hex "Physical memory size (hex)"
179 default "08000000" if PLAT_MAPPI3
180 default "04000000" if PLAT_MAPPI || PLAT_MAPPI2
181 default "02000000" if PLAT_USRV
182 default "01000000" if PLAT_M32700UT
183 default "01000000" if PLAT_OPSPUT
184 default "01000000" if PLAT_M32104UT
185 default "00800000" if PLAT_OAKS32R
191 config ARCH_DISCONTIGMEM_ENABLE
192 bool "Internal RAM Support"
193 depends on CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104
199 hex "Internal memory start address (hex)"
200 default "00f00000" if !CHIP_M32104
201 default "00700000" if CHIP_M32104
202 depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
205 hex "Internal memory size (hex)"
206 depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
207 default "00080000" if CHIP_M32700
208 default "00010000" if CHIP_M32102 || CHIP_OPSP || CHIP_M32104
209 default "00008000" if CHIP_VDEC2
212 # Define implied options from the CPU selection here
215 config RWSEM_GENERIC_SPINLOCK
220 config RWSEM_XCHGADD_ALGORITHM
224 config ARCH_HAS_ILOG2_U32
228 config ARCH_HAS_ILOG2_U64
232 config GENERIC_FIND_NEXT_BIT
236 config GENERIC_HWEIGHT
240 config GENERIC_CALIBRATE_DELAY
244 config SCHED_NO_NO_OMIT_FRAME_POINTER
249 bool "Preemptible Kernel"
251 This option reduces the latency of the kernel when reacting to
252 real-time or interactive events by allowing a low priority process to
253 be preempted even if it is in kernel mode executing a system call.
254 This allows applications to run more reliably even when the system is
257 Say Y here if you are building a kernel for a desktop, embedded
258 or real-time system. Say N if you are unsure.
261 bool "Symmetric multi-processing support"
263 This enables support for systems with more than one CPU. If you have
264 a system with only one CPU, like most personal computers, say N. If
265 you have a system with more than one CPU, say Y.
267 If you say N here, the kernel will run on single and multiprocessor
268 machines, but will use only one CPU of a multiprocessor machine. If
269 you say Y here, the kernel will run on many, but not all,
270 singleprocessor machines. On a singleprocessor machine, the kernel
271 will run faster if you say N here.
273 People using multiprocessor machines who say Y here should also say
274 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
275 Management" code will be disabled if you say Y here.
277 See also the <file:Documentation/smp.txt>,
278 and the SMP-HOWTO available at
279 <http://www.linuxdoc.org/docs.html#howto>.
281 If you don't know what to do here, say N.
283 config CHIP_M32700_TS1
284 bool "Workaround code for the M32700 TS1 chip's bug"
285 depends on (CHIP_M32700 && SMP)
289 int "Maximum number of CPUs (2-32)"
294 This allows you to specify the maximum number of CPUs which this
295 kernel will support. The maximum supported value is 32 and the
296 minimum value which makes sense is 2.
298 This is purely to save memory - each supported CPU adds
299 approximately eight kilobytes to the kernel image.
301 # Common NUMA Features
303 bool "Numa Memory Allocation Support"
304 depends on SMP && BROKEN
310 depends on NEED_MULTIPLE_NODES
312 # turning this on wastes a bunch of space.
313 # Summit needs it only when NUMA is on
322 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
329 Find out whether you have a PCI motherboard. PCI is the name of a
330 bus system, i.e. the way the CPU talks to the other stuff inside
331 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
332 VESA. If you have PCI, say Y, otherwise N.
334 The PCI-HOWTO, available from
335 <http://www.linuxdoc.org/docs.html#howto>, contains valuable
336 information about which PCI hardware does work under Linux and which
340 prompt "PCI access mode"
347 On PCI systems, the BIOS can be used to detect the PCI devices and
348 determine their configuration. However, some old PCI motherboards
349 have BIOS bugs and may crash if this is done. Also, some embedded
350 PCI-based systems don't have any BIOS at all. Linux can also try to
351 detect the PCI hardware directly without using the BIOS.
353 With this option, you can specify how Linux should detect the PCI
354 devices. If you choose "BIOS", the BIOS will be used, if you choose
355 "Direct", the BIOS won't be used, and if you choose "Any", the
356 kernel will try the direct access method and falls back to the BIOS
357 if that doesn't work. If unsure, go with the default, which is
370 depends on PCI && (PCI_GOBIOS || PCI_GOANY)
375 depends on PCI && (PCI_GODIRECT || PCI_GOANY)
378 source "drivers/pci/Kconfig"
383 Find out whether you have ISA slots on your motherboard. ISA is the
384 name of a bus system, i.e. the way the CPU talks to the other stuff
385 inside your box. If you have ISA, say Y, otherwise N.
387 source "drivers/pcmcia/Kconfig"
389 source "drivers/pci/hotplug/Kconfig"
394 menu "Executable file formats"
396 source "fs/Kconfig.binfmt"
402 source "drivers/Kconfig"
406 source "arch/m32r/oprofile/Kconfig"
408 source "arch/m32r/Kconfig.debug"
410 source "security/Kconfig"
412 source "crypto/Kconfig"