blob: 0777f3a8a1f37d6f93d707a3333be23c486492e2 [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
Bart Van Assche78445722017-01-20 13:04:06 -080021 select DMA_NOOP_OPS
Vladimir Murzin07c75d72017-06-28 10:16:57 +010022 select ARCH_NO_COHERENT_DMA_MMAP if !MMU
Linus Torvalds1da177e2005-04-16 15:20:36 -070023
24config SBUS
25 bool
26
Linus Torvalds1da177e2005-04-16 15:20:36 -070027config GENERIC_ISA_DMA
28 bool
29 default y
30
Christoph Lameter5ac6da62007-02-10 01:43:14 -080031config ZONE_DMA
32 bool
33 default y
34
Uwe Kleine-Königce816fa2014-04-07 15:39:19 -070035config NO_IOPORT_MAP
Al Viro5ea81762007-02-11 15:41:31 +000036 def_bool y
37
Dan Williams1b0fac42007-07-15 23:40:26 -070038config NO_DMA
Sudip Mukherjeeeb177262016-12-12 16:40:54 -080039 def_bool n
Dan Williams1b0fac42007-07-15 23:40:26 -070040
H. Peter Anvinbdc80782008-02-08 04:21:26 -080041config HZ
42 int
43 default 100
44
Linus Torvalds1da177e2005-04-16 15:20:36 -070045source "init/Kconfig"
46
Matt Helsleydc52ddc2008-10-18 20:27:21 -070047source "kernel/Kconfig.freezer"
48
Linus Torvalds1da177e2005-04-16 15:20:36 -070049
50menu "Processor type and features"
51
52choice
53 prompt "Platform Type"
54 default PLAT_MAPPI
55
56config PLAT_MAPPI
57 bool "Mappi-I"
58 help
59 The Mappi-I is an FPGA board for SOC (System-On-a-Chip) prototyping.
60 You can operate a Linux system on this board by using an M32R
61 softmacro core, which is a fully-synthesizable functional model
62 described in Verilog-HDL.
63
64 The Mappi-I board was the first platform, which had been used
65 to port and develop a Linux system for the M32R processor.
66 Currently, the Mappi-II, an heir to the Mappi-I, is available.
67
68config PLAT_USRV
69 bool "uServer"
Hirokazu Takatae070fb742007-08-17 17:22:15 +090070 select PLAT_HAS_INT1ICU
Linus Torvalds1da177e2005-04-16 15:20:36 -070071
72config PLAT_M32700UT
73 bool "M32700UT"
Hirokazu Takatae070fb742007-08-17 17:22:15 +090074 select PLAT_HAS_INT0ICU
75 select PLAT_HAS_INT1ICU
76 select PLAT_HAS_INT2ICU
Linus Torvalds1da177e2005-04-16 15:20:36 -070077 help
78 The M3T-M32700UT is an evaluation board based on uT-Engine
79 specification. This board has an M32700 (Chaos) evaluation chip.
80 You can say Y for SMP, because the M32700 is a single chip
81 multiprocessor.
82
83config PLAT_OPSPUT
84 bool "OPSPUT"
Hirokazu Takatae070fb742007-08-17 17:22:15 +090085 select PLAT_HAS_INT0ICU
86 select PLAT_HAS_INT1ICU
87 select PLAT_HAS_INT2ICU
Linus Torvalds1da177e2005-04-16 15:20:36 -070088 help
89 The OPSPUT is an evaluation board based on uT-Engine
90 specification. This board has a OPSP-REP chip.
91
92config PLAT_OAKS32R
93 bool "OAKS32R"
94 help
95 The OAKS32R is a tiny, inexpensive evaluation board.
96 Please note that if you say Y here and choose chip "M32102",
97 say N for MMU and select a no-MMU version kernel, otherwise
98 a kernel with MMU support will not work, because the M32102
99 is a microcontroller for embedded systems and it has no MMU.
100
101config PLAT_MAPPI2
102 bool "Mappi-II(M3A-ZA36/M3A-ZA52)"
103
Hirokazu Takata23680862005-06-21 17:16:10 -0700104config PLAT_MAPPI3
105 bool "Mappi-III(M3A-2170)"
106
Hirokazu Takata9287d952006-01-06 00:18:41 -0800107config PLAT_M32104UT
108 bool "M32104UT"
Hirokazu Takatae070fb742007-08-17 17:22:15 +0900109 select PLAT_HAS_INT1ICU
Hirokazu Takata9287d952006-01-06 00:18:41 -0800110 help
111 The M3T-M32104UT is an reference board based on uT-Engine
112 specification. This board has a M32104 chip.
113
Linus Torvalds1da177e2005-04-16 15:20:36 -0700114endchoice
115
116choice
117 prompt "Processor family"
118 default CHIP_M32700
119
120config CHIP_M32700
121 bool "M32700 (Chaos)"
122
123config CHIP_M32102
124 bool "M32102"
125
Hirokazu Takata9287d952006-01-06 00:18:41 -0800126config CHIP_M32104
127 bool "M32104"
128 depends on PLAT_M32104UT
129
Linus Torvalds1da177e2005-04-16 15:20:36 -0700130config CHIP_VDEC2
131 bool "VDEC2"
132
133config CHIP_OPSP
134 bool "OPSP"
135
136endchoice
137
138config MMU
139 bool "Support for memory management hardware"
140 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
141 default y
142
143config TLB_ENTRIES
144 int "TLB Entries"
145 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
146 default 32 if CHIP_M32700 || CHIP_OPSP
147 default 16 if CHIP_VDEC2
148
149
150config ISA_M32R
151 bool
Hirokazu Takata9287d952006-01-06 00:18:41 -0800152 depends on CHIP_M32102 || CHIP_M32104
Linus Torvalds1da177e2005-04-16 15:20:36 -0700153 default y
154
155config ISA_M32R2
156 bool
157 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
158 default y
159
160config ISA_DSP_LEVEL2
161 bool
162 depends on CHIP_M32700 || CHIP_OPSP
163 default y
164
165config ISA_DUAL_ISSUE
166 bool
167 depends on CHIP_M32700 || CHIP_OPSP
168 default y
169
Hirokazu Takatae070fb742007-08-17 17:22:15 +0900170config PLAT_HAS_INT0ICU
171 bool
172 default n
173
174config PLAT_HAS_INT1ICU
175 bool
176 default n
177
178config PLAT_HAS_INT2ICU
179 bool
180 default n
181
Linus Torvalds1da177e2005-04-16 15:20:36 -0700182config BUS_CLOCK
183 int "Bus Clock [Hz] (integer)"
184 default "70000000" if PLAT_MAPPI
185 default "25000000" if PLAT_USRV
Hirokazu Takata23680862005-06-21 17:16:10 -0700186 default "50000000" if PLAT_MAPPI3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700187 default "50000000" if PLAT_M32700UT
188 default "50000000" if PLAT_OPSPUT
Hirokazu Takata9287d952006-01-06 00:18:41 -0800189 default "54000000" if PLAT_M32104UT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700190 default "33333333" if PLAT_OAKS32R
191 default "20000000" if PLAT_MAPPI2
192
193config TIMER_DIVIDE
194 int "Timer divider (integer)"
195 default "128"
196
Sudip Mukherjee5bdfca62017-10-03 16:15:23 -0700197config CPU_BIG_ENDIAN
198 bool "Generate big endian code"
199 default n
200
Linus Torvalds1da177e2005-04-16 15:20:36 -0700201config CPU_LITTLE_ENDIAN
202 bool "Generate little endian code"
203 default n
204
205config MEMORY_START
206 hex "Physical memory start address (hex)"
Hirokazu Takata23680862005-06-21 17:16:10 -0700207 default "08000000" if PLAT_MAPPI || PLAT_MAPPI2 || PLAT_MAPPI3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700208 default "08000000" if PLAT_USRV
209 default "08000000" if PLAT_M32700UT
210 default "08000000" if PLAT_OPSPUT
Hirokazu Takata9287d952006-01-06 00:18:41 -0800211 default "04000000" if PLAT_M32104UT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700212 default "01000000" if PLAT_OAKS32R
213
214config MEMORY_SIZE
215 hex "Physical memory size (hex)"
Hirokazu Takata23680862005-06-21 17:16:10 -0700216 default "08000000" if PLAT_MAPPI3
Linus Torvalds1da177e2005-04-16 15:20:36 -0700217 default "04000000" if PLAT_MAPPI || PLAT_MAPPI2
218 default "02000000" if PLAT_USRV
219 default "01000000" if PLAT_M32700UT
220 default "01000000" if PLAT_OPSPUT
Hirokazu Takata9287d952006-01-06 00:18:41 -0800221 default "01000000" if PLAT_M32104UT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700222 default "00800000" if PLAT_OAKS32R
223
Dave Hansen3f22ab22005-06-23 00:07:43 -0700224config ARCH_DISCONTIGMEM_ENABLE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700225 bool "Internal RAM Support"
Hirokazu Takata9287d952006-01-06 00:18:41 -0800226 depends on CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104
Linus Torvalds1da177e2005-04-16 15:20:36 -0700227 default y
228
Dave Hansen3f22ab22005-06-23 00:07:43 -0700229source "mm/Kconfig"
230
Linus Torvalds1da177e2005-04-16 15:20:36 -0700231config IRAM_START
232 hex "Internal memory start address (hex)"
Hirokazu Takata9287d952006-01-06 00:18:41 -0800233 default "00f00000" if !CHIP_M32104
234 default "00700000" if CHIP_M32104
235 depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -0700236
237config IRAM_SIZE
238 hex "Internal memory size (hex)"
Hirokazu Takata9287d952006-01-06 00:18:41 -0800239 depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -0700240 default "00080000" if CHIP_M32700
Hirokazu Takata9287d952006-01-06 00:18:41 -0800241 default "00010000" if CHIP_M32102 || CHIP_OPSP || CHIP_M32104
Linus Torvalds1da177e2005-04-16 15:20:36 -0700242 default "00008000" if CHIP_VDEC2
243
244#
245# Define implied options from the CPU selection here
246#
247
Nick Piggin95c354f2008-01-30 13:31:20 +0100248config GENERIC_LOCKBREAK
249 bool
250 default y
251 depends on SMP && PREEMPT
252
Linus Torvalds1da177e2005-04-16 15:20:36 -0700253config RWSEM_GENERIC_SPINLOCK
254 bool
255 depends on M32R
256 default y
257
258config RWSEM_XCHGADD_ALGORITHM
259 bool
260 default n
261
David Howellsf0d1b0b2006-12-08 02:37:49 -0800262config ARCH_HAS_ILOG2_U32
263 bool
264 default n
265
266config ARCH_HAS_ILOG2_U64
267 bool
268 default n
269
Akinobu Mita6d9f9372006-03-26 01:39:26 -0800270config GENERIC_HWEIGHT
271 bool
272 default y
273
Linus Torvalds1da177e2005-04-16 15:20:36 -0700274config GENERIC_CALIBRATE_DELAY
275 bool
276 default y
277
Ingo Molnarae1e9132008-11-11 09:05:16 +0100278config SCHED_OMIT_FRAME_POINTER
Hirokazu Takata43c09ce2007-05-10 22:22:25 -0700279 bool
280 default y
281
Frederic Weisbeckerdab16ae2011-07-05 16:29:40 +0200282source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700283
Linus Torvalds1da177e2005-04-16 15:20:36 -0700284config SMP
285 bool "Symmetric multi-processing support"
Sudip Mukherjeeaf1ddcb2016-02-05 15:36:10 -0800286 depends on MMU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700287 ---help---
288 This enables support for systems with more than one CPU. If you have
Robert Graffham4a474152014-01-23 15:55:29 -0800289 a system with only one CPU, say N. If you have a system with more
290 than one CPU, say Y.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700291
Robert Graffham4a474152014-01-23 15:55:29 -0800292 If you say N here, the kernel will run on uni- and multiprocessor
Linus Torvalds1da177e2005-04-16 15:20:36 -0700293 machines, but will use only one CPU of a multiprocessor machine. If
294 you say Y here, the kernel will run on many, but not all,
Robert Graffham4a474152014-01-23 15:55:29 -0800295 uniprocessor machines. On a uniprocessor machine, the kernel
Linus Torvalds1da177e2005-04-16 15:20:36 -0700296 will run faster if you say N here.
297
298 People using multiprocessor machines who say Y here should also say
299 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
300 Management" code will be disabled if you say Y here.
301
Adrian Bunk03502fa2008-02-03 15:50:21 +0200302 See also the SMP-HOWTO available at
Justin P. Mattock50a23e62010-10-16 10:36:23 -0700303 <http://tldp.org/HOWTO/SMP-HOWTO.html>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700304
305 If you don't know what to do here, say N.
306
307config CHIP_M32700_TS1
308 bool "Workaround code for the M32700 TS1 chip's bug"
309 depends on (CHIP_M32700 && SMP)
310 default n
311
312config NR_CPUS
313 int "Maximum number of CPUs (2-32)"
314 range 2 32
315 depends on SMP
316 default "2"
317 help
318 This allows you to specify the maximum number of CPUs which this
319 kernel will support. The maximum supported value is 32 and the
320 minimum value which makes sense is 2.
321
322 This is purely to save memory - each supported CPU adds
323 approximately eight kilobytes to the kernel image.
324
325# Common NUMA Features
326config NUMA
327 bool "Numa Memory Allocation Support"
Al Viroc5596b22005-08-23 22:45:11 +0100328 depends on SMP && BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700329 default n
330
Yasunori Gotoc80d79d2006-04-10 22:53:53 -0700331config NODES_SHIFT
332 int
333 default "1"
334 depends on NEED_MULTIPLE_NODES
335
Linus Torvalds1da177e2005-04-16 15:20:36 -0700336endmenu
337
338
339menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
340
341config PCI
342 bool "PCI support"
Al Viroc3a0f772005-08-23 22:45:31 +0100343 depends on BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700344 default n
345 help
346 Find out whether you have a PCI motherboard. PCI is the name of a
347 bus system, i.e. the way the CPU talks to the other stuff inside
348 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
349 VESA. If you have PCI, say Y, otherwise N.
350
Linus Torvalds1da177e2005-04-16 15:20:36 -0700351choice
352 prompt "PCI access mode"
353 depends on PCI
354 default PCI_GOANY
355
356config PCI_GOBIOS
357 bool "BIOS"
358 ---help---
359 On PCI systems, the BIOS can be used to detect the PCI devices and
360 determine their configuration. However, some old PCI motherboards
361 have BIOS bugs and may crash if this is done. Also, some embedded
362 PCI-based systems don't have any BIOS at all. Linux can also try to
363 detect the PCI hardware directly without using the BIOS.
364
365 With this option, you can specify how Linux should detect the PCI
366 devices. If you choose "BIOS", the BIOS will be used, if you choose
367 "Direct", the BIOS won't be used, and if you choose "Any", the
368 kernel will try the direct access method and falls back to the BIOS
369 if that doesn't work. If unsure, go with the default, which is
370 "Any".
371
372config PCI_GODIRECT
373 bool "Direct"
374
375config PCI_GOANY
376 bool "Any"
377
378endchoice
379
380config PCI_BIOS
381 bool
382 depends on PCI && (PCI_GOBIOS || PCI_GOANY)
383 default y
384
385config PCI_DIRECT
386 bool
387 depends on PCI && (PCI_GODIRECT || PCI_GOANY)
388 default y
389
390source "drivers/pci/Kconfig"
391
392config ISA
Adrian Bunk1b20b092008-09-24 14:58:54 +0900393 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700394
395source "drivers/pcmcia/Kconfig"
396
Linus Torvalds1da177e2005-04-16 15:20:36 -0700397endmenu
398
399
400menu "Executable file formats"
401
402source "fs/Kconfig.binfmt"
403
404endmenu
405
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700406source "net/Kconfig"
407
Linus Torvalds1da177e2005-04-16 15:20:36 -0700408source "drivers/Kconfig"
409
410source "fs/Kconfig"
411
Linus Torvalds1da177e2005-04-16 15:20:36 -0700412source "arch/m32r/Kconfig.debug"
413
414source "security/Kconfig"
415
416source "crypto/Kconfig"
417
418source "lib/Kconfig"