blob: 498398d915c1d46b6d3c83429bd8bc25c7255b67 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
Linus Torvalds1da177e2005-04-16 15:20:36 -07002config M32R
3 bool
4 default y
Sam Ravnborgec7748b2008-02-09 10:46:40 +01005 select HAVE_IDE
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -05006 select HAVE_OPROFILE
Rusty Russell98a79d62008-12-13 21:19:41 +10307 select INIT_ALL_POSSIBLE
Hirokazu Takata337214e2009-10-15 09:21:56 +09008 select HAVE_KERNEL_GZIP
9 select HAVE_KERNEL_BZIP2
10 select HAVE_KERNEL_LZMA
Will Deaconc1d7e012012-07-30 14:42:46 -070011 select ARCH_WANT_IPC_PARSE_VERSION
Catalin Marinas9b2a60c2012-10-08 16:28:13 -070012 select HAVE_DEBUG_BUGVERBOSE
Stephen Rothwell4febd952013-03-07 15:48:16 +110013 select VIRT_TO_BUS
Thomas Gleixner0e155b22011-01-19 19:17:10 +010014 select GENERIC_IRQ_PROBE
Thomas Gleixner4bdab7e2011-03-24 19:24:55 +010015 select GENERIC_IRQ_SHOW
Steven Rostedtabcefec2011-10-13 10:40:16 -040016 select GENERIC_ATOMIC64
Dan Williams21266be2015-11-19 18:19:29 -080017 select ARCH_HAS_DEVMEM_IS_ALLOWED
Anna-Maria Gleixner97a1c1e2012-05-18 16:45:48 +000018 select ARCH_USES_GETTIMEOFFSET
David Howells786d35d2012-09-28 14:31:03 +093019 select MODULES_USE_ELF_RELA
Dave Hansend1a1dc02013-07-01 13:04:42 -070020 select HAVE_DEBUG_STACKOVERFLOW
Zhaoxiu Zengfff7fb02016-05-20 17:03:57 -070021 select CPU_NO_EFFICIENT_FFS
Bart Van Assche78445722017-01-20 13:04:06 -080022 select DMA_NOOP_OPS
Vladimir Murzin07c75d72017-06-28 10:16:57 +010023 select ARCH_NO_COHERENT_DMA_MMAP if !MMU
Linus Torvalds1da177e2005-04-16 15:20:36 -070024
25config SBUS
26 bool
27
Linus Torvalds1da177e2005-04-16 15:20:36 -070028config GENERIC_ISA_DMA
29 bool
30 default y
31
Christoph Lameter5ac6da62007-02-10 01:43:14 -080032config ZONE_DMA
33 bool
34 default y
35
Uwe Kleine-Königce816fa2014-04-07 15:39:19 -070036config NO_IOPORT_MAP
Al Viro5ea81762007-02-11 15:41:31 +000037 def_bool y
38
Dan Williams1b0fac42007-07-15 23:40:26 -070039config NO_DMA
Sudip Mukherjeeeb177262016-12-12 16:40:54 -080040 def_bool n
Dan Williams1b0fac42007-07-15 23:40:26 -070041
H. Peter Anvinbdc80782008-02-08 04:21:26 -080042config HZ
43 int
44 default 100
45
Linus Torvalds1da177e2005-04-16 15:20:36 -070046source "init/Kconfig"
47
Matt Helsleydc52ddc2008-10-18 20:27:21 -070048source "kernel/Kconfig.freezer"
49
Linus Torvalds1da177e2005-04-16 15:20:36 -070050
51menu "Processor type and features"
52
53choice
54 prompt "Platform Type"
55 default PLAT_MAPPI
56
57config PLAT_MAPPI
58 bool "Mappi-I"
59 help
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.
64
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.
68
69config PLAT_USRV
70 bool "uServer"
Hirokazu Takatae070fb742007-08-17 17:22:15 +090071 select PLAT_HAS_INT1ICU
Linus Torvalds1da177e2005-04-16 15:20:36 -070072
73config PLAT_M32700UT
74 bool "M32700UT"
Hirokazu Takatae070fb742007-08-17 17:22:15 +090075 select PLAT_HAS_INT0ICU
76 select PLAT_HAS_INT1ICU
77 select PLAT_HAS_INT2ICU
Linus Torvalds1da177e2005-04-16 15:20:36 -070078 help
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
82 multiprocessor.
83
84config PLAT_OPSPUT
85 bool "OPSPUT"
Hirokazu Takatae070fb742007-08-17 17:22:15 +090086 select PLAT_HAS_INT0ICU
87 select PLAT_HAS_INT1ICU
88 select PLAT_HAS_INT2ICU
Linus Torvalds1da177e2005-04-16 15:20:36 -070089 help
90 The OPSPUT is an evaluation board based on uT-Engine
91 specification. This board has a OPSP-REP chip.
92
93config PLAT_OAKS32R
94 bool "OAKS32R"
95 help
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.
101
102config PLAT_MAPPI2
103 bool "Mappi-II(M3A-ZA36/M3A-ZA52)"
104
Hirokazu Takata23680862005-06-21 17:16:10 -0700105config PLAT_MAPPI3
106 bool "Mappi-III(M3A-2170)"
107
Hirokazu Takata9287d952006-01-06 00:18:41 -0800108config PLAT_M32104UT
109 bool "M32104UT"
Hirokazu Takatae070fb742007-08-17 17:22:15 +0900110 select PLAT_HAS_INT1ICU
Hirokazu Takata9287d952006-01-06 00:18:41 -0800111 help
112 The M3T-M32104UT is an reference board based on uT-Engine
113 specification. This board has a M32104 chip.
114
Linus Torvalds1da177e2005-04-16 15:20:36 -0700115endchoice
116
117choice
118 prompt "Processor family"
119 default CHIP_M32700
120
121config CHIP_M32700
122 bool "M32700 (Chaos)"
123
124config CHIP_M32102
125 bool "M32102"
126
Hirokazu Takata9287d952006-01-06 00:18:41 -0800127config CHIP_M32104
128 bool "M32104"
129 depends on PLAT_M32104UT
130
Linus Torvalds1da177e2005-04-16 15:20:36 -0700131config CHIP_VDEC2
132 bool "VDEC2"
133
134config CHIP_OPSP
135 bool "OPSP"
136
137endchoice
138
139config MMU
140 bool "Support for memory management hardware"
141 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
142 default y
143
144config TLB_ENTRIES
145 int "TLB Entries"
146 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
147 default 32 if CHIP_M32700 || CHIP_OPSP
148 default 16 if CHIP_VDEC2
149
150
151config ISA_M32R
152 bool
Hirokazu Takata9287d952006-01-06 00:18:41 -0800153 depends on CHIP_M32102 || CHIP_M32104
Linus Torvalds1da177e2005-04-16 15:20:36 -0700154 default y
155
156config ISA_M32R2
157 bool
158 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
159 default y
160
161config ISA_DSP_LEVEL2
162 bool
163 depends on CHIP_M32700 || CHIP_OPSP
164 default y
165
166config ISA_DUAL_ISSUE
167 bool
168 depends on CHIP_M32700 || CHIP_OPSP
169 default y
170
Hirokazu Takatae070fb742007-08-17 17:22:15 +0900171config PLAT_HAS_INT0ICU
172 bool
173 default n
174
175config PLAT_HAS_INT1ICU
176 bool
177 default n
178
179config PLAT_HAS_INT2ICU
180 bool
181 default n
182
Linus Torvalds1da177e2005-04-16 15:20:36 -0700183config BUS_CLOCK
184 int "Bus Clock [Hz] (integer)"
185 default "70000000" if PLAT_MAPPI
186 default "25000000" if PLAT_USRV
Hirokazu Takata23680862005-06-21 17:16:10 -0700187 default "50000000" if PLAT_MAPPI3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700188 default "50000000" if PLAT_M32700UT
189 default "50000000" if PLAT_OPSPUT
Hirokazu Takata9287d952006-01-06 00:18:41 -0800190 default "54000000" if PLAT_M32104UT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700191 default "33333333" if PLAT_OAKS32R
192 default "20000000" if PLAT_MAPPI2
193
194config TIMER_DIVIDE
195 int "Timer divider (integer)"
196 default "128"
197
Sudip Mukherjee5bdfca62017-10-03 16:15:23 -0700198config CPU_BIG_ENDIAN
Geert Uytterhoevenc95f1212017-11-15 17:31:18 -0800199 bool
200 default !CPU_LITTLE_ENDIAN
Sudip Mukherjee5bdfca62017-10-03 16:15:23 -0700201
Linus Torvalds1da177e2005-04-16 15:20:36 -0700202config CPU_LITTLE_ENDIAN
203 bool "Generate little endian code"
204 default n
205
206config MEMORY_START
207 hex "Physical memory start address (hex)"
Hirokazu Takata23680862005-06-21 17:16:10 -0700208 default "08000000" if PLAT_MAPPI || PLAT_MAPPI2 || PLAT_MAPPI3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700209 default "08000000" if PLAT_USRV
210 default "08000000" if PLAT_M32700UT
211 default "08000000" if PLAT_OPSPUT
Hirokazu Takata9287d952006-01-06 00:18:41 -0800212 default "04000000" if PLAT_M32104UT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700213 default "01000000" if PLAT_OAKS32R
214
215config MEMORY_SIZE
216 hex "Physical memory size (hex)"
Hirokazu Takata23680862005-06-21 17:16:10 -0700217 default "08000000" if PLAT_MAPPI3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700218 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
Hirokazu Takata9287d952006-01-06 00:18:41 -0800222 default "01000000" if PLAT_M32104UT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700223 default "00800000" if PLAT_OAKS32R
224
Dave Hansen3f22ab22005-06-23 00:07:43 -0700225config ARCH_DISCONTIGMEM_ENABLE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700226 bool "Internal RAM Support"
Hirokazu Takata9287d952006-01-06 00:18:41 -0800227 depends on CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104
Linus Torvalds1da177e2005-04-16 15:20:36 -0700228 default y
229
Dave Hansen3f22ab22005-06-23 00:07:43 -0700230source "mm/Kconfig"
231
Linus Torvalds1da177e2005-04-16 15:20:36 -0700232config IRAM_START
233 hex "Internal memory start address (hex)"
Hirokazu Takata9287d952006-01-06 00:18:41 -0800234 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
Linus Torvalds1da177e2005-04-16 15:20:36 -0700237
238config IRAM_SIZE
239 hex "Internal memory size (hex)"
Hirokazu Takata9287d952006-01-06 00:18:41 -0800240 depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -0700241 default "00080000" if CHIP_M32700
Hirokazu Takata9287d952006-01-06 00:18:41 -0800242 default "00010000" if CHIP_M32102 || CHIP_OPSP || CHIP_M32104
Linus Torvalds1da177e2005-04-16 15:20:36 -0700243 default "00008000" if CHIP_VDEC2
244
245#
246# Define implied options from the CPU selection here
247#
248
Nick Piggin95c354f2008-01-30 13:31:20 +0100249config GENERIC_LOCKBREAK
250 bool
251 default y
252 depends on SMP && PREEMPT
253
Linus Torvalds1da177e2005-04-16 15:20:36 -0700254config RWSEM_GENERIC_SPINLOCK
255 bool
256 depends on M32R
257 default y
258
259config RWSEM_XCHGADD_ALGORITHM
260 bool
261 default n
262
David Howellsf0d1b0b2006-12-08 02:37:49 -0800263config ARCH_HAS_ILOG2_U32
264 bool
265 default n
266
267config ARCH_HAS_ILOG2_U64
268 bool
269 default n
270
Akinobu Mita6d9f9372006-03-26 01:39:26 -0800271config GENERIC_HWEIGHT
272 bool
273 default y
274
Linus Torvalds1da177e2005-04-16 15:20:36 -0700275config GENERIC_CALIBRATE_DELAY
276 bool
277 default y
278
Ingo Molnarae1e9132008-11-11 09:05:16 +0100279config SCHED_OMIT_FRAME_POINTER
Hirokazu Takata43c09ce2007-05-10 22:22:25 -0700280 bool
281 default y
282
Frederic Weisbeckerdab16ae2011-07-05 16:29:40 +0200283source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700284
Linus Torvalds1da177e2005-04-16 15:20:36 -0700285config SMP
286 bool "Symmetric multi-processing support"
Sudip Mukherjeeaf1ddcb2016-02-05 15:36:10 -0800287 depends on MMU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700288 ---help---
289 This enables support for systems with more than one CPU. If you have
Robert Graffham4a474152014-01-23 15:55:29 -0800290 a system with only one CPU, say N. If you have a system with more
291 than one CPU, say Y.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700292
Robert Graffham4a474152014-01-23 15:55:29 -0800293 If you say N here, the kernel will run on uni- and multiprocessor
Linus Torvalds1da177e2005-04-16 15:20:36 -0700294 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,
Robert Graffham4a474152014-01-23 15:55:29 -0800296 uniprocessor machines. On a uniprocessor machine, the kernel
Linus Torvalds1da177e2005-04-16 15:20:36 -0700297 will run faster if you say N here.
298
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.
302
Adrian Bunk03502fa2008-02-03 15:50:21 +0200303 See also the SMP-HOWTO available at
Justin P. Mattock50a23e62010-10-16 10:36:23 -0700304 <http://tldp.org/HOWTO/SMP-HOWTO.html>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700305
306 If you don't know what to do here, say N.
307
308config CHIP_M32700_TS1
309 bool "Workaround code for the M32700 TS1 chip's bug"
310 depends on (CHIP_M32700 && SMP)
311 default n
312
313config NR_CPUS
314 int "Maximum number of CPUs (2-32)"
315 range 2 32
316 depends on SMP
317 default "2"
318 help
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.
322
323 This is purely to save memory - each supported CPU adds
324 approximately eight kilobytes to the kernel image.
325
326# Common NUMA Features
327config NUMA
328 bool "Numa Memory Allocation Support"
Al Viroc5596b22005-08-23 22:45:11 +0100329 depends on SMP && BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700330 default n
331
Yasunori Gotoc80d79d2006-04-10 22:53:53 -0700332config NODES_SHIFT
333 int
334 default "1"
335 depends on NEED_MULTIPLE_NODES
336
Linus Torvalds1da177e2005-04-16 15:20:36 -0700337endmenu
338
339
340menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
341
342config PCI
343 bool "PCI support"
Al Viroc3a0f772005-08-23 22:45:31 +0100344 depends on BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700345 default n
346 help
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.
351
Linus Torvalds1da177e2005-04-16 15:20:36 -0700352choice
353 prompt "PCI access mode"
354 depends on PCI
355 default PCI_GOANY
356
357config PCI_GOBIOS
358 bool "BIOS"
359 ---help---
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.
365
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
371 "Any".
372
373config PCI_GODIRECT
374 bool "Direct"
375
376config PCI_GOANY
377 bool "Any"
378
379endchoice
380
381config PCI_BIOS
382 bool
383 depends on PCI && (PCI_GOBIOS || PCI_GOANY)
384 default y
385
386config PCI_DIRECT
387 bool
388 depends on PCI && (PCI_GODIRECT || PCI_GOANY)
389 default y
390
391source "drivers/pci/Kconfig"
392
393config ISA
Adrian Bunk1b20b092008-09-24 14:58:54 +0900394 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700395
396source "drivers/pcmcia/Kconfig"
397
Linus Torvalds1da177e2005-04-16 15:20:36 -0700398endmenu
399
400
401menu "Executable file formats"
402
403source "fs/Kconfig.binfmt"
404
405endmenu
406
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700407source "net/Kconfig"
408
Linus Torvalds1da177e2005-04-16 15:20:36 -0700409source "drivers/Kconfig"
410
411source "fs/Kconfig"
412
Linus Torvalds1da177e2005-04-16 15:20:36 -0700413source "arch/m32r/Kconfig.debug"
414
415source "security/Kconfig"
416
417source "crypto/Kconfig"
418
419source "lib/Kconfig"