• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
6mainmenu "Linux/M32R Kernel Configuration"
7
8config M32R
9	bool
10	default y
11	select HAVE_IDE
12	select HAVE_OPROFILE
13	select INIT_ALL_POSSIBLE
14
15config SBUS
16	bool
17
18config GENERIC_ISA_DMA
19	bool
20	default y
21
22config ZONE_DMA
23	bool
24	default y
25
26config GENERIC_HARDIRQS
27	bool
28	default y
29
30config GENERIC_IRQ_PROBE
31	bool
32	default y
33
34config NO_IOPORT
35	def_bool y
36
37config NO_DMA
38	def_bool y
39
40config HZ
41	int
42	default 100
43
44source "init/Kconfig"
45
46source "kernel/Kconfig.freezer"
47
48
49menu "Processor type and features"
50
51choice
52	prompt "Platform Type"
53	default PLAT_MAPPI
54
55config PLAT_MAPPI
56	bool "Mappi-I"
57	help
58	  The Mappi-I is an FPGA board for SOC (System-On-a-Chip) prototyping.
59	  You can operate a Linux system on this board by using an M32R
60	  softmacro core, which is a fully-synthesizable functional model
61	  described in Verilog-HDL.
62
63	  The Mappi-I board was the first platform, which had been used
64	  to port and develop a Linux system for the M32R processor.
65	  Currently, the Mappi-II, an heir to the Mappi-I, is available.
66
67config PLAT_USRV
68	bool "uServer"
69	select PLAT_HAS_INT1ICU
70
71config PLAT_M32700UT
72	bool "M32700UT"
73	select PLAT_HAS_INT0ICU
74	select PLAT_HAS_INT1ICU
75	select PLAT_HAS_INT2ICU
76	help
77	  The M3T-M32700UT is an evaluation board based on uT-Engine
78	  specification.  This board has an M32700 (Chaos) evaluation chip.
79	  You can say Y for SMP, because the M32700 is a single chip
80	  multiprocessor.
81
82config PLAT_OPSPUT
83	bool "OPSPUT"
84	select PLAT_HAS_INT0ICU
85	select PLAT_HAS_INT1ICU
86	select PLAT_HAS_INT2ICU
87	help
88	  The OPSPUT is an evaluation board based on uT-Engine
89	  specification.  This board has a OPSP-REP chip.
90
91config PLAT_OAKS32R
92	bool "OAKS32R"
93	help
94	  The OAKS32R is a tiny, inexpensive evaluation board.
95	  Please note that if you say Y here and choose chip "M32102",
96	  say N for MMU and select a no-MMU version kernel, otherwise
97	  a kernel with MMU support will not work, because the M32102
98	  is a microcontroller for embedded systems and it has no MMU.
99
100config PLAT_MAPPI2
101       bool "Mappi-II(M3A-ZA36/M3A-ZA52)"
102
103config PLAT_MAPPI3
104       bool "Mappi-III(M3A-2170)"
105
106config PLAT_M32104UT
107	bool "M32104UT"
108	select PLAT_HAS_INT1ICU
109	help
110	  The M3T-M32104UT is an reference board based on uT-Engine
111	  specification.  This board has a M32104 chip.
112
113endchoice
114
115choice
116	prompt "Processor family"
117	default CHIP_M32700
118
119config CHIP_M32700
120	bool "M32700 (Chaos)"
121
122config CHIP_M32102
123	bool "M32102"
124
125config CHIP_M32104
126	bool "M32104"
127	depends on PLAT_M32104UT
128
129config CHIP_VDEC2
130       bool "VDEC2"
131
132config CHIP_OPSP
133       bool "OPSP"
134
135endchoice
136
137config MMU
138	bool "Support for memory management hardware"
139	depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
140	default y
141
142config TLB_ENTRIES
143       int "TLB Entries"
144       depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
145       default 32 if CHIP_M32700 || CHIP_OPSP
146       default 16 if CHIP_VDEC2
147
148
149config ISA_M32R
150        bool
151	depends on CHIP_M32102 || CHIP_M32104
152	default y
153
154config ISA_M32R2
155	bool
156	depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
157	default y
158
159config ISA_DSP_LEVEL2
160	bool
161	depends on CHIP_M32700 || CHIP_OPSP
162	default y
163
164config ISA_DUAL_ISSUE
165	bool
166	depends on CHIP_M32700 || CHIP_OPSP
167	default y
168
169config PLAT_HAS_INT0ICU
170	bool
171	default n
172
173config PLAT_HAS_INT1ICU
174	bool
175	default n
176
177config PLAT_HAS_INT2ICU
178	bool
179	default n
180
181config BUS_CLOCK
182	int "Bus Clock [Hz] (integer)"
183	default "70000000" if PLAT_MAPPI
184	default "25000000" if PLAT_USRV
185	default "50000000" if PLAT_MAPPI3
186	default "50000000" if PLAT_M32700UT
187	default "50000000" if PLAT_OPSPUT
188	default "54000000" if PLAT_M32104UT
189	default "33333333" if PLAT_OAKS32R
190	default "20000000" if PLAT_MAPPI2
191
192config TIMER_DIVIDE
193	int "Timer divider (integer)"
194	default "128"
195
196config CPU_LITTLE_ENDIAN
197        bool "Generate little endian code"
198	default n
199
200config MEMORY_START
201	hex "Physical memory start address (hex)"
202	default "08000000" if PLAT_MAPPI || PLAT_MAPPI2 || PLAT_MAPPI3
203	default "08000000" if PLAT_USRV
204	default "08000000" if PLAT_M32700UT
205	default "08000000" if PLAT_OPSPUT
206	default "04000000" if PLAT_M32104UT
207	default "01000000" if PLAT_OAKS32R
208
209config MEMORY_SIZE
210	hex "Physical memory size (hex)"
211	default "08000000" if PLAT_MAPPI3
212	default "04000000" if PLAT_MAPPI || PLAT_MAPPI2
213	default "02000000" if PLAT_USRV
214	default "01000000" if PLAT_M32700UT
215	default "01000000" if PLAT_OPSPUT
216	default "01000000" if PLAT_M32104UT
217	default "00800000" if PLAT_OAKS32R
218
219config ARCH_DISCONTIGMEM_ENABLE
220	bool "Internal RAM Support"
221	depends on CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104
222	default y
223
224source "mm/Kconfig"
225
226config IRAM_START
227	hex "Internal memory start address (hex)"
228	default "00f00000" if !CHIP_M32104
229	default "00700000" if CHIP_M32104
230	depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
231
232config IRAM_SIZE
233	hex "Internal memory size (hex)"
234	depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM
235	default "00080000" if CHIP_M32700
236	default "00010000" if CHIP_M32102 || CHIP_OPSP || CHIP_M32104
237	default "00008000" if CHIP_VDEC2
238
239#
240# Define implied options from the CPU selection here
241#
242
243config GENERIC_LOCKBREAK
244	bool
245	default y
246	depends on SMP && PREEMPT
247
248config RWSEM_GENERIC_SPINLOCK
249	bool
250	depends on M32R
251	default y
252
253config RWSEM_XCHGADD_ALGORITHM
254	bool
255	default n
256
257config ARCH_HAS_ILOG2_U32
258	bool
259	default n
260
261config ARCH_HAS_ILOG2_U64
262	bool
263	default n
264
265config GENERIC_FIND_NEXT_BIT
266	bool
267	default y
268
269config GENERIC_HWEIGHT
270	bool
271	default y
272
273config GENERIC_CALIBRATE_DELAY
274	bool
275	default y
276
277config SCHED_OMIT_FRAME_POINTER
278        bool
279        default y
280
281config PREEMPT
282	bool "Preemptible Kernel"
283	help
284	  This option reduces the latency of the kernel when reacting to
285	  real-time or interactive events by allowing a low priority process to
286	  be preempted even if it is in kernel mode executing a system call.
287	  This allows applications to run more reliably even when the system is
288	  under load.
289
290	  Say Y here if you are building a kernel for a desktop, embedded
291	  or real-time system.  Say N if you are unsure.
292
293config SMP
294	bool "Symmetric multi-processing support"
295	select USE_GENERIC_SMP_HELPERS
296	---help---
297	  This enables support for systems with more than one CPU. If you have
298	  a system with only one CPU, like most personal computers, say N. If
299	  you have a system with more than one CPU, say Y.
300
301	  If you say N here, the kernel will run on single and multiprocessor
302	  machines, but will use only one CPU of a multiprocessor machine. If
303	  you say Y here, the kernel will run on many, but not all,
304	  singleprocessor machines. On a singleprocessor machine, the kernel
305	  will run faster if you say N here.
306
307	  People using multiprocessor machines who say Y here should also say
308	  Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
309	  Management" code will be disabled if you say Y here.
310
311	  See also the SMP-HOWTO available at
312	  <http://www.linuxdoc.org/docs.html#howto>.
313
314	  If you don't know what to do here, say N.
315
316config CHIP_M32700_TS1
317	bool "Workaround code for the M32700 TS1 chip's bug"
318	depends on (CHIP_M32700 && SMP)
319	default n
320
321config NR_CPUS
322	int "Maximum number of CPUs (2-32)"
323	range 2 32
324	depends on SMP
325	default "2"
326	help
327	  This allows you to specify the maximum number of CPUs which this
328	  kernel will support.  The maximum supported value is 32 and the
329	  minimum value which makes sense is 2.
330
331	  This is purely to save memory - each supported CPU adds
332	  approximately eight kilobytes to the kernel image.
333
334# Common NUMA Features
335config NUMA
336	bool "Numa Memory Allocation Support"
337	depends on SMP && BROKEN
338	default n
339
340config NODES_SHIFT
341	int
342	default "1"
343	depends on NEED_MULTIPLE_NODES
344
345# turning this on wastes a bunch of space.
346# Summit needs it only when NUMA is on
347config BOOT_IOREMAP
348	bool
349	depends on NUMA
350	default n
351
352endmenu
353
354
355menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
356
357config PCI
358	bool "PCI support"
359	depends on BROKEN
360	default n
361	help
362	  Find out whether you have a PCI motherboard. PCI is the name of a
363	  bus system, i.e. the way the CPU talks to the other stuff inside
364	  your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
365	  VESA. If you have PCI, say Y, otherwise N.
366
367choice
368	prompt "PCI access mode"
369	depends on PCI
370	default PCI_GOANY
371
372config PCI_GOBIOS
373	bool "BIOS"
374	---help---
375	  On PCI systems, the BIOS can be used to detect the PCI devices and
376	  determine their configuration. However, some old PCI motherboards
377	  have BIOS bugs and may crash if this is done. Also, some embedded
378	  PCI-based systems don't have any BIOS at all. Linux can also try to
379	  detect the PCI hardware directly without using the BIOS.
380
381	  With this option, you can specify how Linux should detect the PCI
382	  devices. If you choose "BIOS", the BIOS will be used, if you choose
383	  "Direct", the BIOS won't be used, and if you choose "Any", the
384	  kernel will try the direct access method and falls back to the BIOS
385	  if that doesn't work. If unsure, go with the default, which is
386	  "Any".
387
388config PCI_GODIRECT
389	bool "Direct"
390
391config PCI_GOANY
392	bool "Any"
393
394endchoice
395
396config PCI_BIOS
397	bool
398	depends on PCI && (PCI_GOBIOS || PCI_GOANY)
399	default y
400
401config PCI_DIRECT
402	bool
403 	depends on PCI && (PCI_GODIRECT || PCI_GOANY)
404	default y
405
406source "drivers/pci/Kconfig"
407
408config ISA
409	bool
410
411source "drivers/pcmcia/Kconfig"
412
413source "drivers/pci/hotplug/Kconfig"
414
415endmenu
416
417
418menu "Executable file formats"
419
420source "fs/Kconfig.binfmt"
421
422endmenu
423
424source "net/Kconfig"
425
426source "drivers/Kconfig"
427
428source "fs/Kconfig"
429
430source "arch/m32r/Kconfig.debug"
431
432source "security/Kconfig"
433
434source "crypto/Kconfig"
435
436source "lib/Kconfig"
437