1 # SPDX-License-Identifier: GPL-2.0
7 select INIT_ALL_POSSIBLE
8 select HAVE_KERNEL_GZIP
9 select HAVE_KERNEL_BZIP2
10 select HAVE_KERNEL_LZMA
11 select ARCH_WANT_IPC_PARSE_VERSION
12 select HAVE_DEBUG_BUGVERBOSE
14 select GENERIC_IRQ_PROBE
15 select GENERIC_IRQ_SHOW
16 select GENERIC_ATOMIC64
17 select ARCH_HAS_DEVMEM_IS_ALLOWED
18 select ARCH_USES_GETTIMEOFFSET
19 select MODULES_USE_ELF_RELA
20 select HAVE_DEBUG_STACKOVERFLOW
21 select CPU_NO_EFFICIENT_FFS
23 select ARCH_NO_COHERENT_DMA_MMAP if !MMU
28 config GENERIC_ISA_DMA
48 source "kernel/Kconfig.freezer"
51 menu "Processor type and features"
54 prompt "Platform Type"
60 The Mappi-I is an FPGA board for SOC (System-On-a-Chip) prototyping.
61 You can operate a Linux system on this board by using an M32R
62 softmacro core, which is a fully-synthesizable functional model
63 described in Verilog-HDL.
65 The Mappi-I board was the first platform, which had been used
66 to port and develop a Linux system for the M32R processor.
67 Currently, the Mappi-II, an heir to the Mappi-I, is available.
71 select PLAT_HAS_INT1ICU
75 select PLAT_HAS_INT0ICU
76 select PLAT_HAS_INT1ICU
77 select PLAT_HAS_INT2ICU
79 The M3T-M32700UT is an evaluation board based on uT-Engine
80 specification. This board has an M32700 (Chaos) evaluation chip.
81 You can say Y for SMP, because the M32700 is a single chip
86 select PLAT_HAS_INT0ICU
87 select PLAT_HAS_INT1ICU
88 select PLAT_HAS_INT2ICU
90 The OPSPUT is an evaluation board based on uT-Engine
91 specification. This board has a OPSP-REP chip.
96 The OAKS32R is a tiny, inexpensive evaluation board.
97 Please note that if you say Y here and choose chip "M32102",
98 say N for MMU and select a no-MMU version kernel, otherwise
99 a kernel with MMU support will not work, because the M32102
100 is a microcontroller for embedded systems and it has no MMU.
103 bool "Mappi-II(M3A-ZA36/M3A-ZA52)"
106 bool "Mappi-III(M3A-2170)"
110 select PLAT_HAS_INT1ICU
112 The M3T-M32104UT is an reference board based on uT-Engine
113 specification. This board has a M32104 chip.
118 prompt "Processor family"
122 bool "M32700 (Chaos)"
129 depends on PLAT_M32104UT
140 bool "Support for memory management hardware"
141 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
146 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
147 default 32 if CHIP_M32700 || CHIP_OPSP
148 default 16 if CHIP_VDEC2
153 depends on CHIP_M32102 || CHIP_M32104
158 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
161 config ISA_DSP_LEVEL2
163 depends on CHIP_M32700 || CHIP_OPSP
166 config ISA_DUAL_ISSUE
168 depends on CHIP_M32700 || CHIP_OPSP
171 config PLAT_HAS_INT0ICU
175 config PLAT_HAS_INT1ICU
179 config PLAT_HAS_INT2ICU
184 int "Bus Clock [Hz] (integer)"
185 default "70000000" if PLAT_MAPPI
186 default "25000000" if PLAT_USRV
187 default "50000000" if PLAT_MAPPI3
188 default "50000000" if PLAT_M32700UT
189 default "50000000" if PLAT_OPSPUT
190 default "54000000" if PLAT_M32104UT
191 default "33333333" if PLAT_OAKS32R
192 default "20000000" if PLAT_MAPPI2
195 int "Timer divider (integer)"
198 config CPU_BIG_ENDIAN
200 default !CPU_LITTLE_ENDIAN
202 config CPU_LITTLE_ENDIAN
203 bool "Generate little endian code"
207 hex "Physical memory start address (hex)"
208 default "08000000" if PLAT_MAPPI || PLAT_MAPPI2 || PLAT_MAPPI3
209 default "08000000" if PLAT_USRV
210 default "08000000" if PLAT_M32700UT
211 default "08000000" if PLAT_OPSPUT
212 default "04000000" if PLAT_M32104UT
213 default "01000000" if PLAT_OAKS32R
216 hex "Physical memory size (hex)"
217 default "08000000" if PLAT_MAPPI3
218 default "04000000" if PLAT_MAPPI || PLAT_MAPPI2
219 default "02000000" if PLAT_USRV
220 default "01000000" if PLAT_M32700UT
221 default "01000000" if PLAT_OPSPUT
222 default "01000000" if PLAT_M32104UT
223 default "00800000" if PLAT_OAKS32R
225 config ARCH_DISCONTIGMEM_ENABLE
226 bool "Internal RAM Support"
227 depends on CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104
233 hex "Internal memory start address (hex)"
234 default "00f00000" if !CHIP_M32104
235 default "00700000" if CHIP_M32104
236 depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
239 hex "Internal memory size (hex)"
240 depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
241 default "00080000" if CHIP_M32700
242 default "00010000" if CHIP_M32102 || CHIP_OPSP || CHIP_M32104
243 default "00008000" if CHIP_VDEC2
246 # Define implied options from the CPU selection here
249 config GENERIC_LOCKBREAK
252 depends on SMP && PREEMPT
254 config RWSEM_GENERIC_SPINLOCK
259 config RWSEM_XCHGADD_ALGORITHM
263 config ARCH_HAS_ILOG2_U32
267 config ARCH_HAS_ILOG2_U64
271 config GENERIC_HWEIGHT
275 config GENERIC_CALIBRATE_DELAY
279 config SCHED_OMIT_FRAME_POINTER
283 source "kernel/Kconfig.preempt"
286 bool "Symmetric multi-processing support"
289 This enables support for systems with more than one CPU. If you have
290 a system with only one CPU, say N. If you have a system with more
293 If you say N here, the kernel will run on uni- and multiprocessor
294 machines, but will use only one CPU of a multiprocessor machine. If
295 you say Y here, the kernel will run on many, but not all,
296 uniprocessor machines. On a uniprocessor machine, the kernel
297 will run faster if you say N here.
299 People using multiprocessor machines who say Y here should also say
300 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
301 Management" code will be disabled if you say Y here.
303 See also the SMP-HOWTO available at
304 <http://tldp.org/HOWTO/SMP-HOWTO.html>.
306 If you don't know what to do here, say N.
308 config CHIP_M32700_TS1
309 bool "Workaround code for the M32700 TS1 chip's bug"
310 depends on (CHIP_M32700 && SMP)
314 int "Maximum number of CPUs (2-32)"
319 This allows you to specify the maximum number of CPUs which this
320 kernel will support. The maximum supported value is 32 and the
321 minimum value which makes sense is 2.
323 This is purely to save memory - each supported CPU adds
324 approximately eight kilobytes to the kernel image.
326 # Common NUMA Features
328 bool "Numa Memory Allocation Support"
329 depends on SMP && BROKEN
335 depends on NEED_MULTIPLE_NODES
340 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
347 Find out whether you have a PCI motherboard. PCI is the name of a
348 bus system, i.e. the way the CPU talks to the other stuff inside
349 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
350 VESA. If you have PCI, say Y, otherwise N.
353 prompt "PCI access mode"
360 On PCI systems, the BIOS can be used to detect the PCI devices and
361 determine their configuration. However, some old PCI motherboards
362 have BIOS bugs and may crash if this is done. Also, some embedded
363 PCI-based systems don't have any BIOS at all. Linux can also try to
364 detect the PCI hardware directly without using the BIOS.
366 With this option, you can specify how Linux should detect the PCI
367 devices. If you choose "BIOS", the BIOS will be used, if you choose
368 "Direct", the BIOS won't be used, and if you choose "Any", the
369 kernel will try the direct access method and falls back to the BIOS
370 if that doesn't work. If unsure, go with the default, which is
383 depends on PCI && (PCI_GOBIOS || PCI_GOANY)
388 depends on PCI && (PCI_GODIRECT || PCI_GOANY)
391 source "drivers/pci/Kconfig"
396 source "drivers/pcmcia/Kconfig"
401 menu "Executable file formats"
403 source "fs/Kconfig.binfmt"
409 source "drivers/Kconfig"
413 source "arch/m32r/Kconfig.debug"
415 source "security/Kconfig"
417 source "crypto/Kconfig"