blob: d227a6988d6b14b0bb3119d43ef4ed553fd231d3 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001config M32R
2 bool
3 default y
Sam Ravnborgec7748b2008-02-09 10:46:40 +01004 select HAVE_IDE
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -05005 select HAVE_OPROFILE
Rusty Russell98a79d62008-12-13 21:19:41 +10306 select INIT_ALL_POSSIBLE
Hirokazu Takata337214e2009-10-15 09:21:56 +09007 select HAVE_KERNEL_GZIP
8 select HAVE_KERNEL_BZIP2
9 select HAVE_KERNEL_LZMA
Will Deaconc1d7e012012-07-30 14:42:46 -070010 select ARCH_WANT_IPC_PARSE_VERSION
Catalin Marinas9b2a60c2012-10-08 16:28:13 -070011 select HAVE_DEBUG_BUGVERBOSE
Stephen Rothwell4febd952013-03-07 15:48:16 +110012 select VIRT_TO_BUS
Thomas Gleixner0e155b22011-01-19 19:17:10 +010013 select GENERIC_IRQ_PROBE
Thomas Gleixner4bdab7e2011-03-24 19:24:55 +010014 select GENERIC_IRQ_SHOW
Steven Rostedtabcefec2011-10-13 10:40:16 -040015 select GENERIC_ATOMIC64
Dan Williams21266be2015-11-19 18:19:29 -080016 select ARCH_HAS_DEVMEM_IS_ALLOWED
Anna-Maria Gleixner97a1c1e2012-05-18 16:45:48 +000017 select ARCH_USES_GETTIMEOFFSET
David Howells786d35d2012-09-28 14:31:03 +093018 select MODULES_USE_ELF_RELA
Dave Hansend1a1dc02013-07-01 13:04:42 -070019 select HAVE_DEBUG_STACKOVERFLOW
Zhaoxiu Zengfff7fb02016-05-20 17:03:57 -070020 select CPU_NO_EFFICIENT_FFS
Linus Torvalds1da177e2005-04-16 15:20:36 -070021
22config SBUS
23 bool
24
Linus Torvalds1da177e2005-04-16 15:20:36 -070025config GENERIC_ISA_DMA
26 bool
27 default y
28
Christoph Lameter5ac6da62007-02-10 01:43:14 -080029config ZONE_DMA
30 bool
31 default y
32
Uwe Kleine-Königce816fa2014-04-07 15:39:19 -070033config NO_IOPORT_MAP
Al Viro5ea81762007-02-11 15:41:31 +000034 def_bool y
35
Dan Williams1b0fac42007-07-15 23:40:26 -070036config NO_DMA
Sudip Mukherjeeeb177262016-12-12 16:40:54 -080037 def_bool n
Dan Williams1b0fac42007-07-15 23:40:26 -070038
H. Peter Anvinbdc80782008-02-08 04:21:26 -080039config HZ
40 int
41 default 100
42
Linus Torvalds1da177e2005-04-16 15:20:36 -070043source "init/Kconfig"
44
Matt Helsleydc52ddc2008-10-18 20:27:21 -070045source "kernel/Kconfig.freezer"
46
Linus Torvalds1da177e2005-04-16 15:20:36 -070047
48menu "Processor type and features"
49
50choice
51 prompt "Platform Type"
52 default PLAT_MAPPI
53
54config PLAT_MAPPI
55 bool "Mappi-I"
56 help
57 The Mappi-I is an FPGA board for SOC (System-On-a-Chip) prototyping.
58 You can operate a Linux system on this board by using an M32R
59 softmacro core, which is a fully-synthesizable functional model
60 described in Verilog-HDL.
61
62 The Mappi-I board was the first platform, which had been used
63 to port and develop a Linux system for the M32R processor.
64 Currently, the Mappi-II, an heir to the Mappi-I, is available.
65
66config PLAT_USRV
67 bool "uServer"
Hirokazu Takatae070fb742007-08-17 17:22:15 +090068 select PLAT_HAS_INT1ICU
Linus Torvalds1da177e2005-04-16 15:20:36 -070069
70config PLAT_M32700UT
71 bool "M32700UT"
Hirokazu Takatae070fb742007-08-17 17:22:15 +090072 select PLAT_HAS_INT0ICU
73 select PLAT_HAS_INT1ICU
74 select PLAT_HAS_INT2ICU
Linus Torvalds1da177e2005-04-16 15:20:36 -070075 help
76 The M3T-M32700UT is an evaluation board based on uT-Engine
77 specification. This board has an M32700 (Chaos) evaluation chip.
78 You can say Y for SMP, because the M32700 is a single chip
79 multiprocessor.
80
81config PLAT_OPSPUT
82 bool "OPSPUT"
Hirokazu Takatae070fb742007-08-17 17:22:15 +090083 select PLAT_HAS_INT0ICU
84 select PLAT_HAS_INT1ICU
85 select PLAT_HAS_INT2ICU
Linus Torvalds1da177e2005-04-16 15:20:36 -070086 help
87 The OPSPUT is an evaluation board based on uT-Engine
88 specification. This board has a OPSP-REP chip.
89
90config PLAT_OAKS32R
91 bool "OAKS32R"
92 help
93 The OAKS32R is a tiny, inexpensive evaluation board.
94 Please note that if you say Y here and choose chip "M32102",
95 say N for MMU and select a no-MMU version kernel, otherwise
96 a kernel with MMU support will not work, because the M32102
97 is a microcontroller for embedded systems and it has no MMU.
98
99config PLAT_MAPPI2
100 bool "Mappi-II(M3A-ZA36/M3A-ZA52)"
101
Hirokazu Takata23680862005-06-21 17:16:10 -0700102config PLAT_MAPPI3
103 bool "Mappi-III(M3A-2170)"
104
Hirokazu Takata9287d952006-01-06 00:18:41 -0800105config PLAT_M32104UT
106 bool "M32104UT"
Hirokazu Takatae070fb742007-08-17 17:22:15 +0900107 select PLAT_HAS_INT1ICU
Hirokazu Takata9287d952006-01-06 00:18:41 -0800108 help
109 The M3T-M32104UT is an reference board based on uT-Engine
110 specification. This board has a M32104 chip.
111
Linus Torvalds1da177e2005-04-16 15:20:36 -0700112endchoice
113
114choice
115 prompt "Processor family"
116 default CHIP_M32700
117
118config CHIP_M32700
119 bool "M32700 (Chaos)"
120
121config CHIP_M32102
122 bool "M32102"
123
Hirokazu Takata9287d952006-01-06 00:18:41 -0800124config CHIP_M32104
125 bool "M32104"
126 depends on PLAT_M32104UT
127
Linus Torvalds1da177e2005-04-16 15:20:36 -0700128config CHIP_VDEC2
129 bool "VDEC2"
130
131config CHIP_OPSP
132 bool "OPSP"
133
134endchoice
135
136config MMU
137 bool "Support for memory management hardware"
138 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
139 default y
140
141config TLB_ENTRIES
142 int "TLB Entries"
143 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
144 default 32 if CHIP_M32700 || CHIP_OPSP
145 default 16 if CHIP_VDEC2
146
147
148config ISA_M32R
149 bool
Hirokazu Takata9287d952006-01-06 00:18:41 -0800150 depends on CHIP_M32102 || CHIP_M32104
Linus Torvalds1da177e2005-04-16 15:20:36 -0700151 default y
152
153config ISA_M32R2
154 bool
155 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
156 default y
157
158config ISA_DSP_LEVEL2
159 bool
160 depends on CHIP_M32700 || CHIP_OPSP
161 default y
162
163config ISA_DUAL_ISSUE
164 bool
165 depends on CHIP_M32700 || CHIP_OPSP
166 default y
167
Hirokazu Takatae070fb742007-08-17 17:22:15 +0900168config PLAT_HAS_INT0ICU
169 bool
170 default n
171
172config PLAT_HAS_INT1ICU
173 bool
174 default n
175
176config PLAT_HAS_INT2ICU
177 bool
178 default n
179
Linus Torvalds1da177e2005-04-16 15:20:36 -0700180config BUS_CLOCK
181 int "Bus Clock [Hz] (integer)"
182 default "70000000" if PLAT_MAPPI
183 default "25000000" if PLAT_USRV
Hirokazu Takata23680862005-06-21 17:16:10 -0700184 default "50000000" if PLAT_MAPPI3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700185 default "50000000" if PLAT_M32700UT
186 default "50000000" if PLAT_OPSPUT
Hirokazu Takata9287d952006-01-06 00:18:41 -0800187 default "54000000" if PLAT_M32104UT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700188 default "33333333" if PLAT_OAKS32R
189 default "20000000" if PLAT_MAPPI2
190
191config TIMER_DIVIDE
192 int "Timer divider (integer)"
193 default "128"
194
195config CPU_LITTLE_ENDIAN
196 bool "Generate little endian code"
197 default n
198
199config MEMORY_START
200 hex "Physical memory start address (hex)"
Hirokazu Takata23680862005-06-21 17:16:10 -0700201 default "08000000" if PLAT_MAPPI || PLAT_MAPPI2 || PLAT_MAPPI3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700202 default "08000000" if PLAT_USRV
203 default "08000000" if PLAT_M32700UT
204 default "08000000" if PLAT_OPSPUT
Hirokazu Takata9287d952006-01-06 00:18:41 -0800205 default "04000000" if PLAT_M32104UT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700206 default "01000000" if PLAT_OAKS32R
207
208config MEMORY_SIZE
209 hex "Physical memory size (hex)"
Hirokazu Takata23680862005-06-21 17:16:10 -0700210 default "08000000" if PLAT_MAPPI3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700211 default "04000000" if PLAT_MAPPI || PLAT_MAPPI2
212 default "02000000" if PLAT_USRV
213 default "01000000" if PLAT_M32700UT
214 default "01000000" if PLAT_OPSPUT
Hirokazu Takata9287d952006-01-06 00:18:41 -0800215 default "01000000" if PLAT_M32104UT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700216 default "00800000" if PLAT_OAKS32R
217
Dave Hansen3f22ab22005-06-23 00:07:43 -0700218config ARCH_DISCONTIGMEM_ENABLE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700219 bool "Internal RAM Support"
Hirokazu Takata9287d952006-01-06 00:18:41 -0800220 depends on CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104
Linus Torvalds1da177e2005-04-16 15:20:36 -0700221 default y
222
Dave Hansen3f22ab22005-06-23 00:07:43 -0700223source "mm/Kconfig"
224
Linus Torvalds1da177e2005-04-16 15:20:36 -0700225config IRAM_START
226 hex "Internal memory start address (hex)"
Hirokazu Takata9287d952006-01-06 00:18:41 -0800227 default "00f00000" if !CHIP_M32104
228 default "00700000" if CHIP_M32104
229 depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -0700230
231config IRAM_SIZE
232 hex "Internal memory size (hex)"
Hirokazu Takata9287d952006-01-06 00:18:41 -0800233 depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -0700234 default "00080000" if CHIP_M32700
Hirokazu Takata9287d952006-01-06 00:18:41 -0800235 default "00010000" if CHIP_M32102 || CHIP_OPSP || CHIP_M32104
Linus Torvalds1da177e2005-04-16 15:20:36 -0700236 default "00008000" if CHIP_VDEC2
237
238#
239# Define implied options from the CPU selection here
240#
241
Nick Piggin95c354f2008-01-30 13:31:20 +0100242config GENERIC_LOCKBREAK
243 bool
244 default y
245 depends on SMP && PREEMPT
246
Linus Torvalds1da177e2005-04-16 15:20:36 -0700247config RWSEM_GENERIC_SPINLOCK
248 bool
249 depends on M32R
250 default y
251
252config RWSEM_XCHGADD_ALGORITHM
253 bool
254 default n
255
David Howellsf0d1b0b2006-12-08 02:37:49 -0800256config ARCH_HAS_ILOG2_U32
257 bool
258 default n
259
260config ARCH_HAS_ILOG2_U64
261 bool
262 default n
263
Akinobu Mita6d9f9372006-03-26 01:39:26 -0800264config GENERIC_HWEIGHT
265 bool
266 default y
267
Linus Torvalds1da177e2005-04-16 15:20:36 -0700268config GENERIC_CALIBRATE_DELAY
269 bool
270 default y
271
Ingo Molnarae1e9132008-11-11 09:05:16 +0100272config SCHED_OMIT_FRAME_POINTER
Hirokazu Takata43c09ce2007-05-10 22:22:25 -0700273 bool
274 default y
275
Frederic Weisbeckerdab16ae2011-07-05 16:29:40 +0200276source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700277
Linus Torvalds1da177e2005-04-16 15:20:36 -0700278config SMP
279 bool "Symmetric multi-processing support"
Sudip Mukherjeeaf1ddcb2016-02-05 15:36:10 -0800280 depends on MMU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700281 ---help---
282 This enables support for systems with more than one CPU. If you have
Robert Graffham4a474152014-01-23 15:55:29 -0800283 a system with only one CPU, say N. If you have a system with more
284 than one CPU, say Y.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700285
Robert Graffham4a474152014-01-23 15:55:29 -0800286 If you say N here, the kernel will run on uni- and multiprocessor
Linus Torvalds1da177e2005-04-16 15:20:36 -0700287 machines, but will use only one CPU of a multiprocessor machine. If
288 you say Y here, the kernel will run on many, but not all,
Robert Graffham4a474152014-01-23 15:55:29 -0800289 uniprocessor machines. On a uniprocessor machine, the kernel
Linus Torvalds1da177e2005-04-16 15:20:36 -0700290 will run faster if you say N here.
291
292 People using multiprocessor machines who say Y here should also say
293 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
294 Management" code will be disabled if you say Y here.
295
Adrian Bunk03502fa2008-02-03 15:50:21 +0200296 See also the SMP-HOWTO available at
Justin P. Mattock50a23e62010-10-16 10:36:23 -0700297 <http://tldp.org/HOWTO/SMP-HOWTO.html>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700298
299 If you don't know what to do here, say N.
300
301config CHIP_M32700_TS1
302 bool "Workaround code for the M32700 TS1 chip's bug"
303 depends on (CHIP_M32700 && SMP)
304 default n
305
306config NR_CPUS
307 int "Maximum number of CPUs (2-32)"
308 range 2 32
309 depends on SMP
310 default "2"
311 help
312 This allows you to specify the maximum number of CPUs which this
313 kernel will support. The maximum supported value is 32 and the
314 minimum value which makes sense is 2.
315
316 This is purely to save memory - each supported CPU adds
317 approximately eight kilobytes to the kernel image.
318
319# Common NUMA Features
320config NUMA
321 bool "Numa Memory Allocation Support"
Al Viroc5596b22005-08-23 22:45:11 +0100322 depends on SMP && BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700323 default n
324
Yasunori Gotoc80d79d2006-04-10 22:53:53 -0700325config NODES_SHIFT
326 int
327 default "1"
328 depends on NEED_MULTIPLE_NODES
329
Linus Torvalds1da177e2005-04-16 15:20:36 -0700330endmenu
331
332
333menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
334
335config PCI
336 bool "PCI support"
Al Viroc3a0f772005-08-23 22:45:31 +0100337 depends on BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700338 default n
339 help
340 Find out whether you have a PCI motherboard. PCI is the name of a
341 bus system, i.e. the way the CPU talks to the other stuff inside
342 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
343 VESA. If you have PCI, say Y, otherwise N.
344
Linus Torvalds1da177e2005-04-16 15:20:36 -0700345choice
346 prompt "PCI access mode"
347 depends on PCI
348 default PCI_GOANY
349
350config PCI_GOBIOS
351 bool "BIOS"
352 ---help---
353 On PCI systems, the BIOS can be used to detect the PCI devices and
354 determine their configuration. However, some old PCI motherboards
355 have BIOS bugs and may crash if this is done. Also, some embedded
356 PCI-based systems don't have any BIOS at all. Linux can also try to
357 detect the PCI hardware directly without using the BIOS.
358
359 With this option, you can specify how Linux should detect the PCI
360 devices. If you choose "BIOS", the BIOS will be used, if you choose
361 "Direct", the BIOS won't be used, and if you choose "Any", the
362 kernel will try the direct access method and falls back to the BIOS
363 if that doesn't work. If unsure, go with the default, which is
364 "Any".
365
366config PCI_GODIRECT
367 bool "Direct"
368
369config PCI_GOANY
370 bool "Any"
371
372endchoice
373
374config PCI_BIOS
375 bool
376 depends on PCI && (PCI_GOBIOS || PCI_GOANY)
377 default y
378
379config PCI_DIRECT
380 bool
381 depends on PCI && (PCI_GODIRECT || PCI_GOANY)
382 default y
383
384source "drivers/pci/Kconfig"
385
386config ISA
Adrian Bunk1b20b092008-09-24 14:58:54 +0900387 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700388
389source "drivers/pcmcia/Kconfig"
390
Linus Torvalds1da177e2005-04-16 15:20:36 -0700391endmenu
392
393
394menu "Executable file formats"
395
396source "fs/Kconfig.binfmt"
397
398endmenu
399
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700400source "net/Kconfig"
401
Linus Torvalds1da177e2005-04-16 15:20:36 -0700402source "drivers/Kconfig"
403
404source "fs/Kconfig"
405
Linus Torvalds1da177e2005-04-16 15:20:36 -0700406source "arch/m32r/Kconfig.debug"
407
408source "security/Kconfig"
409
410source "crypto/Kconfig"
411
412source "lib/Kconfig"