blob: 365766a3d536025ad0692643edbad8ffb6fee0d5 [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
Akira Takeuchia5e03ca2010-10-27 17:29:00 +010096mainmenu "Panasonic MN10300/AM33 Kernel Configuration"
David Howellsb920de12008-02-08 04:19:31 -080097
98source "init/Kconfig"
99
Matt Helsleydc52ddc2008-10-18 20:27:21 -0700100source "kernel/Kconfig.freezer"
101
David Howellsb920de12008-02-08 04:19:31 -0800102
Akira Takeuchia5e03ca2010-10-27 17:29:00 +0100103menu "Panasonic MN10300 system setup"
David Howellsb920de12008-02-08 04:19:31 -0800104
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"
Akira Takeuchi62747cd2010-10-27 17:28:58 +0100120 select SMSC911X_ARCH_HOOKS if SMSC911X
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100121
David Howellsb920de12008-02-08 04:19:31 -0800122endchoice
123
124choice
125 prompt "Processor support"
126 default MN10300_PROC_MN103E010
127 help
128 This option specifies the processor for which the kernel will be
129 compiled. It affects the on-chip peripherals catered for.
130
131config MN10300_PROC_MN103E010
132 bool "MN103E010"
133 depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
Akira Takeuchi22d42252010-10-27 17:28:38 +0100134 select AM33_2
David Howellsb920de12008-02-08 04:19:31 -0800135 select MN10300_PROC_HAS_TTYSM0
136 select MN10300_PROC_HAS_TTYSM1
137 select MN10300_PROC_HAS_TTYSM2
138
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100139config MN10300_PROC_MN2WS0050
140 bool "MN2WS0050"
141 depends on MN10300_UNIT_ASB2364
142 select AM34_2
143 select MN10300_PROC_HAS_TTYSM0
144 select MN10300_PROC_HAS_TTYSM1
145 select MN10300_PROC_HAS_TTYSM2
David Howellsb920de12008-02-08 04:19:31 -0800146
147endchoice
148
Akira Takeuchi8fbbf7c2010-10-27 17:28:40 +0100149config MN10300_HAS_ATOMIC_OPS_UNIT
150 def_bool n
151 help
152 This should be enabled if the processor has an atomic ops unit
153 capable of doing LL/SC equivalent operations.
154
David Howellsb920de12008-02-08 04:19:31 -0800155config FPU
156 bool "FPU present"
157 default y
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100158 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
David Howellsb920de12008-02-08 04:19:31 -0800159
Akira Takeuchi278d91c2010-10-27 17:28:52 +0100160config LAZY_SAVE_FPU
161 bool "Save FPU state lazily"
162 default y
163 depends on FPU && !SMP
164 help
165 Enable this to be lazy in the saving of the FPU state to the owning
166 task's thread struct. This is useful if most tasks on the system
167 don't use the FPU as only those tasks that use it will pass it
168 between them, and the state needn't be saved for a task that isn't
169 using it.
170
171 This can't be so easily used on SMP as the process that owns the FPU
172 state on a CPU may be currently running on another CPU, so for the
173 moment, it is disabled.
174
David Howells0bc42d72010-10-27 17:28:41 +0100175source "arch/mn10300/mm/Kconfig.cache"
David Howellsb920de12008-02-08 04:19:31 -0800176
Akira Takeuchia9bc60e2010-10-27 17:28:49 +0100177config MN10300_TLB_USE_PIDR
178 def_bool y
179
David Howellsb920de12008-02-08 04:19:31 -0800180menu "Memory layout options"
181
182config KERNEL_RAM_BASE_ADDRESS
183 hex "Base address of kernel RAM"
184 default "0x90000000"
185
186config INTERRUPT_VECTOR_BASE
187 hex "Base address of vector table"
188 default "0x90000000"
189 help
190 The base address of the vector table will be programmed into
191 the TBR register. It must be on 16MiB address boundary.
192
193config KERNEL_TEXT_ADDRESS
194 hex "Base address of kernel"
195 default "0x90001000"
196
197config KERNEL_ZIMAGE_BASE_ADDRESS
198 hex "Base address of compressed vmlinux image"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100199 default "0x50700000"
David Howellsb920de12008-02-08 04:19:31 -0800200
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100201config BOOT_STACK_OFFSET
202 hex
203 default "0xF00" if SMP
204 default "0xFF0" if !SMP
205
206config BOOT_STACK_SIZE
207 hex
208 depends on SMP
209 default "0x100"
David Howellsb920de12008-02-08 04:19:31 -0800210endmenu
211
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100212config SMP
213 bool "Symmetric multi-processing support"
214 default y
215 depends on MN10300_PROC_MN2WS0038 || MN10300_PROC_MN2WS0050
216 ---help---
217 This enables support for systems with more than one CPU. If you have
218 a system with only one CPU, like most personal computers, say N. If
219 you have a system with more than one CPU, say Y.
David Howellsb920de12008-02-08 04:19:31 -0800220
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100221 If you say N here, the kernel will run on single and multiprocessor
222 machines, but will use only one CPU of a multiprocessor machine. If
223 you say Y here, the kernel will run on many, but not all,
224 singleprocessor machines. On a singleprocessor machine, the kernel
225 will run faster if you say N here.
226
227 See also <file:Documentation/i386/IO-APIC.txt>,
228 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
229 <http://www.tldp.org/docs.html#howto>.
230
231 If you don't know what to do here, say N.
232
233config NR_CPUS
234 int
235 depends on SMP
236 default "2"
237
238config USE_GENERIC_SMP_HELPERS
239 bool
240 depends on SMP
241 default y
242
243source "kernel/Kconfig.preempt"
David Howellsb920de12008-02-08 04:19:31 -0800244
David Howellsb920de12008-02-08 04:19:31 -0800245config MN10300_CURRENT_IN_E2
246 bool "Hold current task address in E2 register"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100247 depends on !SMP
David Howellsb920de12008-02-08 04:19:31 -0800248 default y
249 help
250 This option removes the E2/R2 register from the set available to gcc
251 for normal use and instead uses it to store the address of the
252 current process's task_struct whilst in the kernel.
253
254 This means the kernel doesn't need to calculate the address each time
255 "current" is used (take SP, AND with mask and dereference pointer
256 just to get the address), and instead can just use E2+offset
257 addressing each time.
258
259 This has no effect on userspace.
260
261config MN10300_USING_JTAG
262 bool "Using JTAG to debug kernel"
263 default y
264 help
265 This options indicates that JTAG will be used to debug the kernel. It
266 suppresses the use of certain hardware debugging features, such as
267 single-stepping, which are taken over completely by the JTAG unit.
268
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100269source "kernel/Kconfig.hz"
Mark Salter730c1fa2010-10-27 17:28:57 +0100270source "kernel/time/Kconfig"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100271
David Howellsb920de12008-02-08 04:19:31 -0800272config MN10300_RTC
273 bool "Using MN10300 RTC"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100274 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
275 select GENERIC_CMOS_UPDATE
David Howellsb920de12008-02-08 04:19:31 -0800276 default n
277 help
David Howellsb920de12008-02-08 04:19:31 -0800278 This option enables support for the RTC, thus enabling time to be
279 tracked, even when system is powered down. This is available on-chip
280 on the MN103E010.
281
282config MN10300_WD_TIMER
283 bool "Using MN10300 watchdog timer"
284 default y
285 help
286 This options indicates that the watchdog timer will be used.
287
288config PCI
289 bool "Use PCI"
290 depends on MN10300_UNIT_ASB2305
291 default y
292 help
293 Some systems (such as the ASB2305) have PCI onboard. If you have one
294 of these boards and you wish to use the PCI facilities, say Y here.
295
296 The PCI-HOWTO, available from
297 <http://www.tldp.org/docs.html#howto>, contains valuable
298 information about which PCI hardware does work under Linux and which
299 doesn't.
300
301source "drivers/pci/Kconfig"
302
303source "drivers/pcmcia/Kconfig"
304
305menu "MN10300 internal serial options"
306
307config MN10300_PROC_HAS_TTYSM0
308 bool
309 default n
310
311config MN10300_PROC_HAS_TTYSM1
312 bool
313 default n
314
315config MN10300_PROC_HAS_TTYSM2
316 bool
317 default n
318
319config MN10300_TTYSM
320 bool "Support for ttySM serial ports"
321 depends on MN10300
322 default y
323 select SERIAL_CORE
324 help
325 This option enables support for the on-chip serial ports that the
326 MN10300 has available.
327
328config MN10300_TTYSM_CONSOLE
329 bool "Support for console on ttySM serial ports"
330 depends on MN10300_TTYSM
331 select SERIAL_CORE_CONSOLE
332 help
333 This option enables support for a console on the on-chip serial ports
334 that the MN10300 has available.
335
336#
337# /dev/ttySM0
338#
339config MN10300_TTYSM0
340 bool "Enable SIF0 (/dev/ttySM0)"
341 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
342 help
343 Enable access to SIF0 through /dev/ttySM0 or gdb-stub
344
345choice
346 prompt "Select the timer to supply the clock for SIF0"
347 default MN10300_TTYSM0_TIMER8
348 depends on MN10300_TTYSM0
349
350config MN10300_TTYSM0_TIMER8
351 bool "Use timer 8 (16-bit)"
352
353config MN10300_TTYSM0_TIMER2
354 bool "Use timer 2 (8-bit)"
355
356endchoice
357
358#
359# /dev/ttySM1
360#
361config MN10300_TTYSM1
362 bool "Enable SIF1 (/dev/ttySM1)"
363 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
364 help
365 Enable access to SIF1 through /dev/ttySM1 or gdb-stub
366
367choice
368 prompt "Select the timer to supply the clock for SIF1"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100369 default MN10300_TTYSM1_TIMER12 \
370 if !(AM33_2 || AM33_3)
371 default MN10300_TTYSM1_TIMER9 \
372 if AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800373 depends on MN10300_TTYSM1
374
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100375config MN10300_TTYSM1_TIMER12
376 bool "Use timer 12 (16-bit)"
377 depends on !(AM33_2 || AM33_3)
378
David Howellsb920de12008-02-08 04:19:31 -0800379config MN10300_TTYSM1_TIMER9
380 bool "Use timer 9 (16-bit)"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100381 depends on AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800382
383config MN10300_TTYSM1_TIMER3
384 bool "Use timer 3 (8-bit)"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100385 depends on AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800386
387endchoice
388
389#
390# /dev/ttySM2
391#
392config MN10300_TTYSM2
393 bool "Enable SIF2 (/dev/ttySM2)"
394 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
395 help
396 Enable access to SIF2 through /dev/ttySM2 or gdb-stub
397
398choice
399 prompt "Select the timer to supply the clock for SIF2"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100400 default MN10300_TTYSM2_TIMER3 \
401 if !(AM33_2 || AM33_3)
402 default MN10300_TTYSM2_TIMER10 \
403 if AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800404 depends on MN10300_TTYSM2
405
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100406config MN10300_TTYSM2_TIMER9
407 bool "Use timer 9 (16-bit)"
408 depends on !(AM33_2 || AM33_3)
409
410config MN10300_TTYSM2_TIMER1
411 bool "Use timer 1 (8-bit)"
412 depends on !(AM33_2 || AM33_3)
413
414config MN10300_TTYSM2_TIMER3
415 bool "Use timer 3 (8-bit)"
416 depends on !(AM33_2 || AM33_3)
417
David Howellsb920de12008-02-08 04:19:31 -0800418config MN10300_TTYSM2_TIMER10
419 bool "Use timer 10 (16-bit)"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100420 depends on AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800421
422endchoice
423
424config MN10300_TTYSM2_CTS
425 bool "Enable the use of the CTS line /dev/ttySM2"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100426 depends on MN10300_TTYSM2 && AM33_2
David Howellsb920de12008-02-08 04:19:31 -0800427
428endmenu
429
Akira Takeuchi37e4ec92010-10-27 17:28:54 +0100430menu "Interrupt request priority options"
431
432comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)"
433
434comment "____Non-maskable interrupt levels____"
435comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial"
436
437config GDBSTUB_IRQ_LEVEL
438 int "GDBSTUB interrupt priority"
439 depends on GDBSTUB
440 range 0 1 if LINUX_CLI_LEVEL = 2
441 range 0 2 if LINUX_CLI_LEVEL = 3
442 range 0 3 if LINUX_CLI_LEVEL = 4
443 range 0 4 if LINUX_CLI_LEVEL = 5
444 range 0 5 if LINUX_CLI_LEVEL = 6
445 default 0
446
447comment "The following must be set to a higher priority than local_irq_disable()"
448
449config MN10300_SERIAL_IRQ_LEVEL
450 int "MN10300 on-chip serial interrupt priority"
451 depends on MN10300_TTYSM
452 range 1 1 if LINUX_CLI_LEVEL = 2
453 range 1 2 if LINUX_CLI_LEVEL = 3
454 range 1 3 if LINUX_CLI_LEVEL = 4
455 range 1 4 if LINUX_CLI_LEVEL = 5
456 range 1 5 if LINUX_CLI_LEVEL = 6
457 default 1
458
459comment "-"
460comment "____Maskable interrupt levels____"
461
462config LINUX_CLI_LEVEL
463 int "The highest interrupt priority excluded by local_irq_disable() (2-6)"
464 range 2 6
465 default 2
466 help
467 local_irq_disable() doesn't actually disable maskable interrupts -
468 what it does is restrict the levels of interrupt which are permitted
469 (a lower level indicates a higher priority) by lowering the value in
470 EPSW.IM from 7. Any interrupt is permitted for which the level is
471 lower than EPSW.IM.
472
473 Certain interrupts, such as GDBSTUB and virtual MN10300 on-chip
474 serial DMA interrupts are allowed to interrupt normal disabled
475 sections.
476
477comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL"
478
479config TIMER_IRQ_LEVEL
480 int "Kernel timer interrupt priority"
481 range LINUX_CLI_LEVEL 6
482 default 4
483
484config PCI_IRQ_LEVEL
485 int "PCI interrupt priority"
486 depends on PCI
487 range LINUX_CLI_LEVEL 6
488 default 5
489
490config ETHERNET_IRQ_LEVEL
491 int "Ethernet interrupt priority"
492 depends on SMC91X || SMC911X || SMSC911X
493 range LINUX_CLI_LEVEL 6
494 default 6
495
496config EXT_SERIAL_IRQ_LEVEL
497 int "External serial port interrupt priority"
498 depends on SERIAL_8250
499 range LINUX_CLI_LEVEL 6
500 default 6
501
502endmenu
503
David Howellsb920de12008-02-08 04:19:31 -0800504source "mm/Kconfig"
505
506menu "Power management options"
507source kernel/power/Kconfig
508endmenu
509
510endmenu
511
512
513menu "Executable formats"
514
515source "fs/Kconfig.binfmt"
516
517endmenu
518
519source "net/Kconfig"
520
521source "drivers/Kconfig"
522
523source "fs/Kconfig"
524
525source "arch/mn10300/Kconfig.debug"
526
527source "security/Kconfig"
528
529source "crypto/Kconfig"
530
531source "lib/Kconfig"