blob: 81e27816aaf81b57332231239b4c2efe442a9bde [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
David Howellsb920de12008-02-08 04:19:31 -080059config GENERIC_BUG
60 def_bool y
61
62config QUICKLIST
63 def_bool y
64
65config ARCH_HAS_ILOG2_U32
66 def_bool y
67
David Howellsb920de12008-02-08 04:19:31 -080068# Use the generic interrupt handling code in kernel/irq/
69config GENERIC_HARDIRQS
70 def_bool y
71
72config HOTPLUG_CPU
73 def_bool n
74
David Howellsb920de12008-02-08 04:19:31 -080075mainmenu "Matsushita MN10300/AM33 Kernel Configuration"
76
77source "init/Kconfig"
78
Matt Helsleydc52ddc2008-10-18 20:27:21 -070079source "kernel/Kconfig.freezer"
80
David Howellsb920de12008-02-08 04:19:31 -080081
82menu "Matsushita MN10300 system setup"
83
84choice
85 prompt "Unit type"
86 default MN10300_UNIT_ASB2303
87 help
88 This option specifies board for which the kernel will be
89 compiled. It affects the external peripherals catered for.
90
91config MN10300_UNIT_ASB2303
92 bool "ASB2303"
93
94config MN10300_UNIT_ASB2305
95 bool "ASB2305"
96
Akira Takeuchi368dd5a2010-10-27 17:28:55 +010097config MN10300_UNIT_ASB2364
98 bool "ASB2364"
99
David Howellsb920de12008-02-08 04:19:31 -0800100endchoice
101
102choice
103 prompt "Processor support"
104 default MN10300_PROC_MN103E010
105 help
106 This option specifies the processor for which the kernel will be
107 compiled. It affects the on-chip peripherals catered for.
108
109config MN10300_PROC_MN103E010
110 bool "MN103E010"
111 depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
Akira Takeuchi22d42252010-10-27 17:28:38 +0100112 select AM33_2
David Howellsb920de12008-02-08 04:19:31 -0800113 select MN10300_PROC_HAS_TTYSM0
114 select MN10300_PROC_HAS_TTYSM1
115 select MN10300_PROC_HAS_TTYSM2
116
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100117config MN10300_PROC_MN2WS0050
118 bool "MN2WS0050"
119 depends on MN10300_UNIT_ASB2364
120 select AM34_2
121 select MN10300_PROC_HAS_TTYSM0
122 select MN10300_PROC_HAS_TTYSM1
123 select MN10300_PROC_HAS_TTYSM2
David Howellsb920de12008-02-08 04:19:31 -0800124
125endchoice
126
Akira Takeuchi8fbbf7c2010-10-27 17:28:40 +0100127config MN10300_HAS_ATOMIC_OPS_UNIT
128 def_bool n
129 help
130 This should be enabled if the processor has an atomic ops unit
131 capable of doing LL/SC equivalent operations.
132
David Howellsb920de12008-02-08 04:19:31 -0800133config FPU
134 bool "FPU present"
135 default y
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100136 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
David Howellsb920de12008-02-08 04:19:31 -0800137
Akira Takeuchi278d91c2010-10-27 17:28:52 +0100138config LAZY_SAVE_FPU
139 bool "Save FPU state lazily"
140 default y
141 depends on FPU && !SMP
142 help
143 Enable this to be lazy in the saving of the FPU state to the owning
144 task's thread struct. This is useful if most tasks on the system
145 don't use the FPU as only those tasks that use it will pass it
146 between them, and the state needn't be saved for a task that isn't
147 using it.
148
149 This can't be so easily used on SMP as the process that owns the FPU
150 state on a CPU may be currently running on another CPU, so for the
151 moment, it is disabled.
152
David Howells0bc42d72010-10-27 17:28:41 +0100153source "arch/mn10300/mm/Kconfig.cache"
David Howellsb920de12008-02-08 04:19:31 -0800154
Akira Takeuchia9bc60e2010-10-27 17:28:49 +0100155config MN10300_TLB_USE_PIDR
156 def_bool y
157
David Howellsb920de12008-02-08 04:19:31 -0800158menu "Memory layout options"
159
160config KERNEL_RAM_BASE_ADDRESS
161 hex "Base address of kernel RAM"
162 default "0x90000000"
163
164config INTERRUPT_VECTOR_BASE
165 hex "Base address of vector table"
166 default "0x90000000"
167 help
168 The base address of the vector table will be programmed into
169 the TBR register. It must be on 16MiB address boundary.
170
171config KERNEL_TEXT_ADDRESS
172 hex "Base address of kernel"
173 default "0x90001000"
174
175config KERNEL_ZIMAGE_BASE_ADDRESS
176 hex "Base address of compressed vmlinux image"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100177 default "0x50700000"
David Howellsb920de12008-02-08 04:19:31 -0800178
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100179config BOOT_STACK_OFFSET
180 hex
181 default "0xF00" if SMP
182 default "0xFF0" if !SMP
183
184config BOOT_STACK_SIZE
185 hex
186 depends on SMP
187 default "0x100"
David Howellsb920de12008-02-08 04:19:31 -0800188endmenu
189
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100190config SMP
191 bool "Symmetric multi-processing support"
192 default y
193 depends on MN10300_PROC_MN2WS0038 || MN10300_PROC_MN2WS0050
194 ---help---
195 This enables support for systems with more than one CPU. If you have
196 a system with only one CPU, like most personal computers, say N. If
197 you have a system with more than one CPU, say Y.
David Howellsb920de12008-02-08 04:19:31 -0800198
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100199 If you say N here, the kernel will run on single and multiprocessor
200 machines, but will use only one CPU of a multiprocessor machine. If
201 you say Y here, the kernel will run on many, but not all,
202 singleprocessor machines. On a singleprocessor machine, the kernel
203 will run faster if you say N here.
204
205 See also <file:Documentation/i386/IO-APIC.txt>,
206 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
207 <http://www.tldp.org/docs.html#howto>.
208
209 If you don't know what to do here, say N.
210
211config NR_CPUS
212 int
213 depends on SMP
214 default "2"
215
216config USE_GENERIC_SMP_HELPERS
217 bool
218 depends on SMP
219 default y
220
221source "kernel/Kconfig.preempt"
David Howellsb920de12008-02-08 04:19:31 -0800222
David Howellsb920de12008-02-08 04:19:31 -0800223config MN10300_CURRENT_IN_E2
224 bool "Hold current task address in E2 register"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100225 depends on !SMP
David Howellsb920de12008-02-08 04:19:31 -0800226 default y
227 help
228 This option removes the E2/R2 register from the set available to gcc
229 for normal use and instead uses it to store the address of the
230 current process's task_struct whilst in the kernel.
231
232 This means the kernel doesn't need to calculate the address each time
233 "current" is used (take SP, AND with mask and dereference pointer
234 just to get the address), and instead can just use E2+offset
235 addressing each time.
236
237 This has no effect on userspace.
238
239config MN10300_USING_JTAG
240 bool "Using JTAG to debug kernel"
241 default y
242 help
243 This options indicates that JTAG will be used to debug the kernel. It
244 suppresses the use of certain hardware debugging features, such as
245 single-stepping, which are taken over completely by the JTAG unit.
246
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100247source "kernel/Kconfig.hz"
248
David Howellsb920de12008-02-08 04:19:31 -0800249config MN10300_RTC
250 bool "Using MN10300 RTC"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100251 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
252 select GENERIC_CMOS_UPDATE
David Howellsb920de12008-02-08 04:19:31 -0800253 default n
254 help
David Howellsb920de12008-02-08 04:19:31 -0800255 This option enables support for the RTC, thus enabling time to be
256 tracked, even when system is powered down. This is available on-chip
257 on the MN103E010.
258
259config MN10300_WD_TIMER
260 bool "Using MN10300 watchdog timer"
261 default y
262 help
263 This options indicates that the watchdog timer will be used.
264
265config PCI
266 bool "Use PCI"
267 depends on MN10300_UNIT_ASB2305
268 default y
269 help
270 Some systems (such as the ASB2305) have PCI onboard. If you have one
271 of these boards and you wish to use the PCI facilities, say Y here.
272
273 The PCI-HOWTO, available from
274 <http://www.tldp.org/docs.html#howto>, contains valuable
275 information about which PCI hardware does work under Linux and which
276 doesn't.
277
278source "drivers/pci/Kconfig"
279
280source "drivers/pcmcia/Kconfig"
281
282menu "MN10300 internal serial options"
283
284config MN10300_PROC_HAS_TTYSM0
285 bool
286 default n
287
288config MN10300_PROC_HAS_TTYSM1
289 bool
290 default n
291
292config MN10300_PROC_HAS_TTYSM2
293 bool
294 default n
295
296config MN10300_TTYSM
297 bool "Support for ttySM serial ports"
298 depends on MN10300
299 default y
300 select SERIAL_CORE
301 help
302 This option enables support for the on-chip serial ports that the
303 MN10300 has available.
304
305config MN10300_TTYSM_CONSOLE
306 bool "Support for console on ttySM serial ports"
307 depends on MN10300_TTYSM
308 select SERIAL_CORE_CONSOLE
309 help
310 This option enables support for a console on the on-chip serial ports
311 that the MN10300 has available.
312
313#
314# /dev/ttySM0
315#
316config MN10300_TTYSM0
317 bool "Enable SIF0 (/dev/ttySM0)"
318 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
319 help
320 Enable access to SIF0 through /dev/ttySM0 or gdb-stub
321
322choice
323 prompt "Select the timer to supply the clock for SIF0"
324 default MN10300_TTYSM0_TIMER8
325 depends on MN10300_TTYSM0
326
327config MN10300_TTYSM0_TIMER8
328 bool "Use timer 8 (16-bit)"
329
330config MN10300_TTYSM0_TIMER2
331 bool "Use timer 2 (8-bit)"
332
333endchoice
334
335#
336# /dev/ttySM1
337#
338config MN10300_TTYSM1
339 bool "Enable SIF1 (/dev/ttySM1)"
340 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
341 help
342 Enable access to SIF1 through /dev/ttySM1 or gdb-stub
343
344choice
345 prompt "Select the timer to supply the clock for SIF1"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100346 default MN10300_TTYSM1_TIMER12 \
347 if !(AM33_2 || AM33_3)
348 default MN10300_TTYSM1_TIMER9 \
349 if AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800350 depends on MN10300_TTYSM1
351
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100352config MN10300_TTYSM1_TIMER12
353 bool "Use timer 12 (16-bit)"
354 depends on !(AM33_2 || AM33_3)
355
David Howellsb920de12008-02-08 04:19:31 -0800356config MN10300_TTYSM1_TIMER9
357 bool "Use timer 9 (16-bit)"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100358 depends on AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800359
360config MN10300_TTYSM1_TIMER3
361 bool "Use timer 3 (8-bit)"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100362 depends on AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800363
364endchoice
365
366#
367# /dev/ttySM2
368#
369config MN10300_TTYSM2
370 bool "Enable SIF2 (/dev/ttySM2)"
371 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
372 help
373 Enable access to SIF2 through /dev/ttySM2 or gdb-stub
374
375choice
376 prompt "Select the timer to supply the clock for SIF2"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100377 default MN10300_TTYSM2_TIMER3 \
378 if !(AM33_2 || AM33_3)
379 default MN10300_TTYSM2_TIMER10 \
380 if AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800381 depends on MN10300_TTYSM2
382
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100383config MN10300_TTYSM2_TIMER9
384 bool "Use timer 9 (16-bit)"
385 depends on !(AM33_2 || AM33_3)
386
387config MN10300_TTYSM2_TIMER1
388 bool "Use timer 1 (8-bit)"
389 depends on !(AM33_2 || AM33_3)
390
391config MN10300_TTYSM2_TIMER3
392 bool "Use timer 3 (8-bit)"
393 depends on !(AM33_2 || AM33_3)
394
David Howellsb920de12008-02-08 04:19:31 -0800395config MN10300_TTYSM2_TIMER10
396 bool "Use timer 10 (16-bit)"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100397 depends on AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800398
399endchoice
400
401config MN10300_TTYSM2_CTS
402 bool "Enable the use of the CTS line /dev/ttySM2"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100403 depends on MN10300_TTYSM2 && AM33_2
David Howellsb920de12008-02-08 04:19:31 -0800404
405endmenu
406
Akira Takeuchi37e4ec92010-10-27 17:28:54 +0100407menu "Interrupt request priority options"
408
409comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)"
410
411comment "____Non-maskable interrupt levels____"
412comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial"
413
414config GDBSTUB_IRQ_LEVEL
415 int "GDBSTUB interrupt priority"
416 depends on GDBSTUB
417 range 0 1 if LINUX_CLI_LEVEL = 2
418 range 0 2 if LINUX_CLI_LEVEL = 3
419 range 0 3 if LINUX_CLI_LEVEL = 4
420 range 0 4 if LINUX_CLI_LEVEL = 5
421 range 0 5 if LINUX_CLI_LEVEL = 6
422 default 0
423
424comment "The following must be set to a higher priority than local_irq_disable()"
425
426config MN10300_SERIAL_IRQ_LEVEL
427 int "MN10300 on-chip serial interrupt priority"
428 depends on MN10300_TTYSM
429 range 1 1 if LINUX_CLI_LEVEL = 2
430 range 1 2 if LINUX_CLI_LEVEL = 3
431 range 1 3 if LINUX_CLI_LEVEL = 4
432 range 1 4 if LINUX_CLI_LEVEL = 5
433 range 1 5 if LINUX_CLI_LEVEL = 6
434 default 1
435
436comment "-"
437comment "____Maskable interrupt levels____"
438
439config LINUX_CLI_LEVEL
440 int "The highest interrupt priority excluded by local_irq_disable() (2-6)"
441 range 2 6
442 default 2
443 help
444 local_irq_disable() doesn't actually disable maskable interrupts -
445 what it does is restrict the levels of interrupt which are permitted
446 (a lower level indicates a higher priority) by lowering the value in
447 EPSW.IM from 7. Any interrupt is permitted for which the level is
448 lower than EPSW.IM.
449
450 Certain interrupts, such as GDBSTUB and virtual MN10300 on-chip
451 serial DMA interrupts are allowed to interrupt normal disabled
452 sections.
453
454comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL"
455
456config TIMER_IRQ_LEVEL
457 int "Kernel timer interrupt priority"
458 range LINUX_CLI_LEVEL 6
459 default 4
460
461config PCI_IRQ_LEVEL
462 int "PCI interrupt priority"
463 depends on PCI
464 range LINUX_CLI_LEVEL 6
465 default 5
466
467config ETHERNET_IRQ_LEVEL
468 int "Ethernet interrupt priority"
469 depends on SMC91X || SMC911X || SMSC911X
470 range LINUX_CLI_LEVEL 6
471 default 6
472
473config EXT_SERIAL_IRQ_LEVEL
474 int "External serial port interrupt priority"
475 depends on SERIAL_8250
476 range LINUX_CLI_LEVEL 6
477 default 6
478
479endmenu
480
David Howellsb920de12008-02-08 04:19:31 -0800481source "mm/Kconfig"
482
483menu "Power management options"
484source kernel/power/Kconfig
485endmenu
486
487endmenu
488
489
490menu "Executable formats"
491
492source "fs/Kconfig.binfmt"
493
494endmenu
495
496source "net/Kconfig"
497
498source "drivers/Kconfig"
499
500source "fs/Kconfig"
501
502source "arch/mn10300/Kconfig.debug"
503
504source "security/Kconfig"
505
506source "crypto/Kconfig"
507
508source "lib/Kconfig"