blob: 42ca55a473779257a6ca3e626582b52fb307e8fc [file] [log] [blame]
David Howellsb920de12008-02-08 04:19:31 -08001#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
6mainmenu "Linux Kernel Configuration"
7
8config MN10300
9 def_bool y
David Howells58bafe72009-02-20 15:38:38 -080010 select HAVE_OPROFILE
David Howellsb920de12008-02-08 04:19:31 -080011
Akira Takeuchi22d42252010-10-27 17:28:38 +010012config AM33_2
13 def_bool n
14
15config AM33_3
16 def_bool n
17
18config AM34_2
19 def_bool n
Akira Takeuchi8fbbf7c2010-10-27 17:28:40 +010020 select MN10300_HAS_ATOMIC_OPS_UNIT
David Howellsb4784912010-10-27 17:28:46 +010021 select MN10300_HAS_CACHE_SNOOP
David Howellsb920de12008-02-08 04:19:31 -080022
Akira Takeuchi8f19e3d2010-10-27 17:28:48 +010023config ERRATUM_NEED_TO_RELOAD_MMUCTR
24 def_bool y if AM33_3 || AM34_2
25
David Howellsb920de12008-02-08 04:19:31 -080026config MMU
27 def_bool y
28
29config HIGHMEM
30 def_bool n
31
32config NUMA
33 def_bool n
34
35config UID16
36 def_bool y
37
38config RWSEM_GENERIC_SPINLOCK
39 def_bool y
40
41config RWSEM_XCHGADD_ALGORITHM
42 bool
43
44config GENERIC_HARDIRQS_NO__DO_IRQ
45 def_bool y
46
47config GENERIC_CALIBRATE_DELAY
48 def_bool y
49
John Stultzf7a56572010-03-03 19:57:17 -080050config GENERIC_CMOS_UPDATE
Akira Takeuchi368dd5a2010-10-27 17:28:55 +010051 def_bool n
John Stultzf7a56572010-03-03 19:57:17 -080052
David Howellsb920de12008-02-08 04:19:31 -080053config GENERIC_FIND_NEXT_BIT
54 def_bool y
55
56config GENERIC_HWEIGHT
57 def_bool y
58
Mark Salter730c1fa2010-10-27 17:28:57 +010059config GENERIC_TIME
60 def_bool y
61
62config GENERIC_CLOCKEVENTS
63 def_bool y
64
65config GENERIC_CLOCKEVENTS_BUILD
66 def_bool y
67 depends on GENERIC_CLOCKEVENTS
68
69config GENERIC_CLOCKEVENTS_BROADCAST
70 bool
71
72config CEVT_MN10300
73 def_bool y
74 depends on GENERIC_CLOCKEVENTS
75
76config CSRC_MN10300
77 def_bool y
78 depends on GENERIC_TIME
79
David Howellsb920de12008-02-08 04:19:31 -080080config GENERIC_BUG
81 def_bool y
82
83config QUICKLIST
84 def_bool y
85
86config ARCH_HAS_ILOG2_U32
87 def_bool y
88
David Howellsb920de12008-02-08 04:19:31 -080089# Use the generic interrupt handling code in kernel/irq/
90config GENERIC_HARDIRQS
91 def_bool y
92
93config HOTPLUG_CPU
94 def_bool n
95
David Howellsb920de12008-02-08 04:19:31 -080096mainmenu "Matsushita MN10300/AM33 Kernel Configuration"
97
98source "init/Kconfig"
99
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700100source "kernel/Kconfig.freezer"
101
David Howellsb920de12008-02-08 04:19:31 -0800102
103menu "Matsushita MN10300 system setup"
104
105choice
106 prompt "Unit type"
107 default MN10300_UNIT_ASB2303
108 help
109 This option specifies board for which the kernel will be
110 compiled. It affects the external peripherals catered for.
111
112config MN10300_UNIT_ASB2303
113 bool "ASB2303"
114
115config MN10300_UNIT_ASB2305
116 bool "ASB2305"
117
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100118config MN10300_UNIT_ASB2364
119 bool "ASB2364"
120
David Howellsb920de12008-02-08 04:19:31 -0800121endchoice
122
123choice
124 prompt "Processor support"
125 default MN10300_PROC_MN103E010
126 help
127 This option specifies the processor for which the kernel will be
128 compiled. It affects the on-chip peripherals catered for.
129
130config MN10300_PROC_MN103E010
131 bool "MN103E010"
132 depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
Akira Takeuchi22d42252010-10-27 17:28:38 +0100133 select AM33_2
David Howellsb920de12008-02-08 04:19:31 -0800134 select MN10300_PROC_HAS_TTYSM0
135 select MN10300_PROC_HAS_TTYSM1
136 select MN10300_PROC_HAS_TTYSM2
137
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100138config MN10300_PROC_MN2WS0050
139 bool "MN2WS0050"
140 depends on MN10300_UNIT_ASB2364
141 select AM34_2
142 select MN10300_PROC_HAS_TTYSM0
143 select MN10300_PROC_HAS_TTYSM1
144 select MN10300_PROC_HAS_TTYSM2
David Howellsb920de12008-02-08 04:19:31 -0800145
146endchoice
147
Akira Takeuchi8fbbf7c2010-10-27 17:28:40 +0100148config MN10300_HAS_ATOMIC_OPS_UNIT
149 def_bool n
150 help
151 This should be enabled if the processor has an atomic ops unit
152 capable of doing LL/SC equivalent operations.
153
David Howellsb920de12008-02-08 04:19:31 -0800154config FPU
155 bool "FPU present"
156 default y
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100157 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
David Howellsb920de12008-02-08 04:19:31 -0800158
Akira Takeuchi278d91c2010-10-27 17:28:52 +0100159config LAZY_SAVE_FPU
160 bool "Save FPU state lazily"
161 default y
162 depends on FPU && !SMP
163 help
164 Enable this to be lazy in the saving of the FPU state to the owning
165 task's thread struct. This is useful if most tasks on the system
166 don't use the FPU as only those tasks that use it will pass it
167 between them, and the state needn't be saved for a task that isn't
168 using it.
169
170 This can't be so easily used on SMP as the process that owns the FPU
171 state on a CPU may be currently running on another CPU, so for the
172 moment, it is disabled.
173
David Howells0bc42d72010-10-27 17:28:41 +0100174source "arch/mn10300/mm/Kconfig.cache"
David Howellsb920de12008-02-08 04:19:31 -0800175
Akira Takeuchia9bc60e2010-10-27 17:28:49 +0100176config MN10300_TLB_USE_PIDR
177 def_bool y
178
David Howellsb920de12008-02-08 04:19:31 -0800179menu "Memory layout options"
180
181config KERNEL_RAM_BASE_ADDRESS
182 hex "Base address of kernel RAM"
183 default "0x90000000"
184
185config INTERRUPT_VECTOR_BASE
186 hex "Base address of vector table"
187 default "0x90000000"
188 help
189 The base address of the vector table will be programmed into
190 the TBR register. It must be on 16MiB address boundary.
191
192config KERNEL_TEXT_ADDRESS
193 hex "Base address of kernel"
194 default "0x90001000"
195
196config KERNEL_ZIMAGE_BASE_ADDRESS
197 hex "Base address of compressed vmlinux image"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100198 default "0x50700000"
David Howellsb920de12008-02-08 04:19:31 -0800199
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100200config BOOT_STACK_OFFSET
201 hex
202 default "0xF00" if SMP
203 default "0xFF0" if !SMP
204
205config BOOT_STACK_SIZE
206 hex
207 depends on SMP
208 default "0x100"
David Howellsb920de12008-02-08 04:19:31 -0800209endmenu
210
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100211config SMP
212 bool "Symmetric multi-processing support"
213 default y
214 depends on MN10300_PROC_MN2WS0038 || MN10300_PROC_MN2WS0050
215 ---help---
216 This enables support for systems with more than one CPU. If you have
217 a system with only one CPU, like most personal computers, say N. If
218 you have a system with more than one CPU, say Y.
David Howellsb920de12008-02-08 04:19:31 -0800219
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100220 If you say N here, the kernel will run on single and multiprocessor
221 machines, but will use only one CPU of a multiprocessor machine. If
222 you say Y here, the kernel will run on many, but not all,
223 singleprocessor machines. On a singleprocessor machine, the kernel
224 will run faster if you say N here.
225
226 See also <file:Documentation/i386/IO-APIC.txt>,
227 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
228 <http://www.tldp.org/docs.html#howto>.
229
230 If you don't know what to do here, say N.
231
232config NR_CPUS
233 int
234 depends on SMP
235 default "2"
236
237config USE_GENERIC_SMP_HELPERS
238 bool
239 depends on SMP
240 default y
241
242source "kernel/Kconfig.preempt"
David Howellsb920de12008-02-08 04:19:31 -0800243
David Howellsb920de12008-02-08 04:19:31 -0800244config MN10300_CURRENT_IN_E2
245 bool "Hold current task address in E2 register"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100246 depends on !SMP
David Howellsb920de12008-02-08 04:19:31 -0800247 default y
248 help
249 This option removes the E2/R2 register from the set available to gcc
250 for normal use and instead uses it to store the address of the
251 current process's task_struct whilst in the kernel.
252
253 This means the kernel doesn't need to calculate the address each time
254 "current" is used (take SP, AND with mask and dereference pointer
255 just to get the address), and instead can just use E2+offset
256 addressing each time.
257
258 This has no effect on userspace.
259
260config MN10300_USING_JTAG
261 bool "Using JTAG to debug kernel"
262 default y
263 help
264 This options indicates that JTAG will be used to debug the kernel. It
265 suppresses the use of certain hardware debugging features, such as
266 single-stepping, which are taken over completely by the JTAG unit.
267
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100268source "kernel/Kconfig.hz"
Mark Salter730c1fa2010-10-27 17:28:57 +0100269source "kernel/time/Kconfig"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100270
David Howellsb920de12008-02-08 04:19:31 -0800271config MN10300_RTC
272 bool "Using MN10300 RTC"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100273 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
274 select GENERIC_CMOS_UPDATE
David Howellsb920de12008-02-08 04:19:31 -0800275 default n
276 help
David Howellsb920de12008-02-08 04:19:31 -0800277 This option enables support for the RTC, thus enabling time to be
278 tracked, even when system is powered down. This is available on-chip
279 on the MN103E010.
280
281config MN10300_WD_TIMER
282 bool "Using MN10300 watchdog timer"
283 default y
284 help
285 This options indicates that the watchdog timer will be used.
286
287config PCI
288 bool "Use PCI"
289 depends on MN10300_UNIT_ASB2305
290 default y
291 help
292 Some systems (such as the ASB2305) have PCI onboard. If you have one
293 of these boards and you wish to use the PCI facilities, say Y here.
294
295 The PCI-HOWTO, available from
296 <http://www.tldp.org/docs.html#howto>, contains valuable
297 information about which PCI hardware does work under Linux and which
298 doesn't.
299
300source "drivers/pci/Kconfig"
301
302source "drivers/pcmcia/Kconfig"
303
304menu "MN10300 internal serial options"
305
306config MN10300_PROC_HAS_TTYSM0
307 bool
308 default n
309
310config MN10300_PROC_HAS_TTYSM1
311 bool
312 default n
313
314config MN10300_PROC_HAS_TTYSM2
315 bool
316 default n
317
318config MN10300_TTYSM
319 bool "Support for ttySM serial ports"
320 depends on MN10300
321 default y
322 select SERIAL_CORE
323 help
324 This option enables support for the on-chip serial ports that the
325 MN10300 has available.
326
327config MN10300_TTYSM_CONSOLE
328 bool "Support for console on ttySM serial ports"
329 depends on MN10300_TTYSM
330 select SERIAL_CORE_CONSOLE
331 help
332 This option enables support for a console on the on-chip serial ports
333 that the MN10300 has available.
334
335#
336# /dev/ttySM0
337#
338config MN10300_TTYSM0
339 bool "Enable SIF0 (/dev/ttySM0)"
340 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
341 help
342 Enable access to SIF0 through /dev/ttySM0 or gdb-stub
343
344choice
345 prompt "Select the timer to supply the clock for SIF0"
346 default MN10300_TTYSM0_TIMER8
347 depends on MN10300_TTYSM0
348
349config MN10300_TTYSM0_TIMER8
350 bool "Use timer 8 (16-bit)"
351
352config MN10300_TTYSM0_TIMER2
353 bool "Use timer 2 (8-bit)"
354
355endchoice
356
357#
358# /dev/ttySM1
359#
360config MN10300_TTYSM1
361 bool "Enable SIF1 (/dev/ttySM1)"
362 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
363 help
364 Enable access to SIF1 through /dev/ttySM1 or gdb-stub
365
366choice
367 prompt "Select the timer to supply the clock for SIF1"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100368 default MN10300_TTYSM1_TIMER12 \
369 if !(AM33_2 || AM33_3)
370 default MN10300_TTYSM1_TIMER9 \
371 if AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800372 depends on MN10300_TTYSM1
373
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100374config MN10300_TTYSM1_TIMER12
375 bool "Use timer 12 (16-bit)"
376 depends on !(AM33_2 || AM33_3)
377
David Howellsb920de12008-02-08 04:19:31 -0800378config MN10300_TTYSM1_TIMER9
379 bool "Use timer 9 (16-bit)"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100380 depends on AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800381
382config MN10300_TTYSM1_TIMER3
383 bool "Use timer 3 (8-bit)"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100384 depends on AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800385
386endchoice
387
388#
389# /dev/ttySM2
390#
391config MN10300_TTYSM2
392 bool "Enable SIF2 (/dev/ttySM2)"
393 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
394 help
395 Enable access to SIF2 through /dev/ttySM2 or gdb-stub
396
397choice
398 prompt "Select the timer to supply the clock for SIF2"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100399 default MN10300_TTYSM2_TIMER3 \
400 if !(AM33_2 || AM33_3)
401 default MN10300_TTYSM2_TIMER10 \
402 if AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800403 depends on MN10300_TTYSM2
404
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100405config MN10300_TTYSM2_TIMER9
406 bool "Use timer 9 (16-bit)"
407 depends on !(AM33_2 || AM33_3)
408
409config MN10300_TTYSM2_TIMER1
410 bool "Use timer 1 (8-bit)"
411 depends on !(AM33_2 || AM33_3)
412
413config MN10300_TTYSM2_TIMER3
414 bool "Use timer 3 (8-bit)"
415 depends on !(AM33_2 || AM33_3)
416
David Howellsb920de12008-02-08 04:19:31 -0800417config MN10300_TTYSM2_TIMER10
418 bool "Use timer 10 (16-bit)"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100419 depends on AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800420
421endchoice
422
423config MN10300_TTYSM2_CTS
424 bool "Enable the use of the CTS line /dev/ttySM2"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100425 depends on MN10300_TTYSM2 && AM33_2
David Howellsb920de12008-02-08 04:19:31 -0800426
427endmenu
428
Akira Takeuchi37e4ec92010-10-27 17:28:54 +0100429menu "Interrupt request priority options"
430
431comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)"
432
433comment "____Non-maskable interrupt levels____"
434comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial"
435
436config GDBSTUB_IRQ_LEVEL
437 int "GDBSTUB interrupt priority"
438 depends on GDBSTUB
439 range 0 1 if LINUX_CLI_LEVEL = 2
440 range 0 2 if LINUX_CLI_LEVEL = 3
441 range 0 3 if LINUX_CLI_LEVEL = 4
442 range 0 4 if LINUX_CLI_LEVEL = 5
443 range 0 5 if LINUX_CLI_LEVEL = 6
444 default 0
445
446comment "The following must be set to a higher priority than local_irq_disable()"
447
448config MN10300_SERIAL_IRQ_LEVEL
449 int "MN10300 on-chip serial interrupt priority"
450 depends on MN10300_TTYSM
451 range 1 1 if LINUX_CLI_LEVEL = 2
452 range 1 2 if LINUX_CLI_LEVEL = 3
453 range 1 3 if LINUX_CLI_LEVEL = 4
454 range 1 4 if LINUX_CLI_LEVEL = 5
455 range 1 5 if LINUX_CLI_LEVEL = 6
456 default 1
457
458comment "-"
459comment "____Maskable interrupt levels____"
460
461config LINUX_CLI_LEVEL
462 int "The highest interrupt priority excluded by local_irq_disable() (2-6)"
463 range 2 6
464 default 2
465 help
466 local_irq_disable() doesn't actually disable maskable interrupts -
467 what it does is restrict the levels of interrupt which are permitted
468 (a lower level indicates a higher priority) by lowering the value in
469 EPSW.IM from 7. Any interrupt is permitted for which the level is
470 lower than EPSW.IM.
471
472 Certain interrupts, such as GDBSTUB and virtual MN10300 on-chip
473 serial DMA interrupts are allowed to interrupt normal disabled
474 sections.
475
476comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL"
477
478config TIMER_IRQ_LEVEL
479 int "Kernel timer interrupt priority"
480 range LINUX_CLI_LEVEL 6
481 default 4
482
483config PCI_IRQ_LEVEL
484 int "PCI interrupt priority"
485 depends on PCI
486 range LINUX_CLI_LEVEL 6
487 default 5
488
489config ETHERNET_IRQ_LEVEL
490 int "Ethernet interrupt priority"
491 depends on SMC91X || SMC911X || SMSC911X
492 range LINUX_CLI_LEVEL 6
493 default 6
494
495config EXT_SERIAL_IRQ_LEVEL
496 int "External serial port interrupt priority"
497 depends on SERIAL_8250
498 range LINUX_CLI_LEVEL 6
499 default 6
500
501endmenu
502
David Howellsb920de12008-02-08 04:19:31 -0800503source "mm/Kconfig"
504
505menu "Power management options"
506source kernel/power/Kconfig
507endmenu
508
509endmenu
510
511
512menu "Executable formats"
513
514source "fs/Kconfig.binfmt"
515
516endmenu
517
518source "net/Kconfig"
519
520source "drivers/Kconfig"
521
522source "fs/Kconfig"
523
524source "arch/mn10300/Kconfig.debug"
525
526source "security/Kconfig"
527
528source "crypto/Kconfig"
529
530source "lib/Kconfig"