blob: 8ed41cf2b08d217a4c40ee3cf174d8cb6c7898bd [file] [log] [blame]
David Howellsb920de12008-02-08 04:19:31 -08001config MN10300
2 def_bool y
David Howells58bafe72009-02-20 15:38:38 -08003 select HAVE_OPROFILE
David Howellsb920de12008-02-08 04:19:31 -08004
Akira Takeuchi22d42252010-10-27 17:28:38 +01005config AM33_2
6 def_bool n
7
8config AM33_3
9 def_bool n
10
11config AM34_2
12 def_bool n
Akira Takeuchi8fbbf7c2010-10-27 17:28:40 +010013 select MN10300_HAS_ATOMIC_OPS_UNIT
David Howellsb4784912010-10-27 17:28:46 +010014 select MN10300_HAS_CACHE_SNOOP
David Howellsb920de12008-02-08 04:19:31 -080015
Akira Takeuchi8f19e3d2010-10-27 17:28:48 +010016config ERRATUM_NEED_TO_RELOAD_MMUCTR
17 def_bool y if AM33_3 || AM34_2
18
David Howellsb920de12008-02-08 04:19:31 -080019config MMU
20 def_bool y
21
22config HIGHMEM
23 def_bool n
24
25config NUMA
26 def_bool n
27
28config UID16
29 def_bool y
30
31config RWSEM_GENERIC_SPINLOCK
32 def_bool y
33
34config RWSEM_XCHGADD_ALGORITHM
35 bool
36
37config GENERIC_HARDIRQS_NO__DO_IRQ
38 def_bool y
39
40config GENERIC_CALIBRATE_DELAY
41 def_bool y
42
John Stultzf7a56572010-03-03 19:57:17 -080043config GENERIC_CMOS_UPDATE
Akira Takeuchi368dd5a2010-10-27 17:28:55 +010044 def_bool n
John Stultzf7a56572010-03-03 19:57:17 -080045
David Howellsb920de12008-02-08 04:19:31 -080046config GENERIC_FIND_NEXT_BIT
47 def_bool y
48
49config GENERIC_HWEIGHT
50 def_bool y
51
Mark Salter730c1fa2010-10-27 17:28:57 +010052config GENERIC_TIME
53 def_bool y
54
55config GENERIC_CLOCKEVENTS
56 def_bool y
57
58config GENERIC_CLOCKEVENTS_BUILD
59 def_bool y
60 depends on GENERIC_CLOCKEVENTS
61
62config GENERIC_CLOCKEVENTS_BROADCAST
63 bool
64
65config CEVT_MN10300
66 def_bool y
67 depends on GENERIC_CLOCKEVENTS
68
69config CSRC_MN10300
70 def_bool y
71 depends on GENERIC_TIME
72
David Howellsb920de12008-02-08 04:19:31 -080073config GENERIC_BUG
74 def_bool y
75
76config QUICKLIST
77 def_bool y
78
79config ARCH_HAS_ILOG2_U32
80 def_bool y
81
David Howellsb920de12008-02-08 04:19:31 -080082# Use the generic interrupt handling code in kernel/irq/
83config GENERIC_HARDIRQS
84 def_bool y
85
86config HOTPLUG_CPU
87 def_bool n
88
David Howellsb920de12008-02-08 04:19:31 -080089source "init/Kconfig"
90
Matt Helsleydc52ddc2008-10-18 20:27:21 -070091source "kernel/Kconfig.freezer"
92
David Howellsb920de12008-02-08 04:19:31 -080093
Akira Takeuchia5e03ca2010-10-27 17:29:00 +010094menu "Panasonic MN10300 system setup"
David Howellsb920de12008-02-08 04:19:31 -080095
96choice
97 prompt "Unit type"
98 default MN10300_UNIT_ASB2303
99 help
100 This option specifies board for which the kernel will be
101 compiled. It affects the external peripherals catered for.
102
103config MN10300_UNIT_ASB2303
104 bool "ASB2303"
105
106config MN10300_UNIT_ASB2305
107 bool "ASB2305"
108
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100109config MN10300_UNIT_ASB2364
110 bool "ASB2364"
Akira Takeuchi62747cd2010-10-27 17:28:58 +0100111 select SMSC911X_ARCH_HOOKS if SMSC911X
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100112
David Howellsb920de12008-02-08 04:19:31 -0800113endchoice
114
115choice
116 prompt "Processor support"
117 default MN10300_PROC_MN103E010
118 help
119 This option specifies the processor for which the kernel will be
120 compiled. It affects the on-chip peripherals catered for.
121
122config MN10300_PROC_MN103E010
123 bool "MN103E010"
124 depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
Akira Takeuchi22d42252010-10-27 17:28:38 +0100125 select AM33_2
David Howellsb920de12008-02-08 04:19:31 -0800126 select MN10300_PROC_HAS_TTYSM0
127 select MN10300_PROC_HAS_TTYSM1
128 select MN10300_PROC_HAS_TTYSM2
129
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100130config MN10300_PROC_MN2WS0050
131 bool "MN2WS0050"
132 depends on MN10300_UNIT_ASB2364
133 select AM34_2
134 select MN10300_PROC_HAS_TTYSM0
135 select MN10300_PROC_HAS_TTYSM1
136 select MN10300_PROC_HAS_TTYSM2
David Howellsb920de12008-02-08 04:19:31 -0800137
138endchoice
139
Akira Takeuchi8fbbf7c2010-10-27 17:28:40 +0100140config MN10300_HAS_ATOMIC_OPS_UNIT
141 def_bool n
142 help
143 This should be enabled if the processor has an atomic ops unit
144 capable of doing LL/SC equivalent operations.
145
David Howellsb920de12008-02-08 04:19:31 -0800146config FPU
147 bool "FPU present"
148 default y
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100149 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
David Howellsb920de12008-02-08 04:19:31 -0800150
Akira Takeuchi278d91c2010-10-27 17:28:52 +0100151config LAZY_SAVE_FPU
152 bool "Save FPU state lazily"
153 default y
154 depends on FPU && !SMP
155 help
156 Enable this to be lazy in the saving of the FPU state to the owning
157 task's thread struct. This is useful if most tasks on the system
158 don't use the FPU as only those tasks that use it will pass it
159 between them, and the state needn't be saved for a task that isn't
160 using it.
161
162 This can't be so easily used on SMP as the process that owns the FPU
163 state on a CPU may be currently running on another CPU, so for the
164 moment, it is disabled.
165
David Howells0bc42d72010-10-27 17:28:41 +0100166source "arch/mn10300/mm/Kconfig.cache"
David Howellsb920de12008-02-08 04:19:31 -0800167
Akira Takeuchia9bc60e2010-10-27 17:28:49 +0100168config MN10300_TLB_USE_PIDR
169 def_bool y
170
David Howellsb920de12008-02-08 04:19:31 -0800171menu "Memory layout options"
172
173config KERNEL_RAM_BASE_ADDRESS
174 hex "Base address of kernel RAM"
175 default "0x90000000"
176
177config INTERRUPT_VECTOR_BASE
178 hex "Base address of vector table"
179 default "0x90000000"
180 help
181 The base address of the vector table will be programmed into
182 the TBR register. It must be on 16MiB address boundary.
183
184config KERNEL_TEXT_ADDRESS
185 hex "Base address of kernel"
186 default "0x90001000"
187
188config KERNEL_ZIMAGE_BASE_ADDRESS
189 hex "Base address of compressed vmlinux image"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100190 default "0x50700000"
David Howellsb920de12008-02-08 04:19:31 -0800191
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100192config BOOT_STACK_OFFSET
193 hex
194 default "0xF00" if SMP
195 default "0xFF0" if !SMP
196
197config BOOT_STACK_SIZE
198 hex
199 depends on SMP
200 default "0x100"
David Howellsb920de12008-02-08 04:19:31 -0800201endmenu
202
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100203config SMP
204 bool "Symmetric multi-processing support"
205 default y
Amerigo Wang351f8f82011-01-12 16:59:39 -0800206 select USE_GENERIC_SMP_HELPERS
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100207 depends on MN10300_PROC_MN2WS0038 || MN10300_PROC_MN2WS0050
208 ---help---
209 This enables support for systems with more than one CPU. If you have
210 a system with only one CPU, like most personal computers, say N. If
211 you have a system with more than one CPU, say Y.
David Howellsb920de12008-02-08 04:19:31 -0800212
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100213 If you say N here, the kernel will run on single and multiprocessor
214 machines, but will use only one CPU of a multiprocessor machine. If
215 you say Y here, the kernel will run on many, but not all,
216 singleprocessor machines. On a singleprocessor machine, the kernel
217 will run faster if you say N here.
218
219 See also <file:Documentation/i386/IO-APIC.txt>,
220 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
221 <http://www.tldp.org/docs.html#howto>.
222
223 If you don't know what to do here, say N.
224
225config NR_CPUS
226 int
227 depends on SMP
228 default "2"
229
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100230source "kernel/Kconfig.preempt"
David Howellsb920de12008-02-08 04:19:31 -0800231
David Howellsb920de12008-02-08 04:19:31 -0800232config MN10300_CURRENT_IN_E2
233 bool "Hold current task address in E2 register"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100234 depends on !SMP
David Howellsb920de12008-02-08 04:19:31 -0800235 default y
236 help
237 This option removes the E2/R2 register from the set available to gcc
238 for normal use and instead uses it to store the address of the
239 current process's task_struct whilst in the kernel.
240
241 This means the kernel doesn't need to calculate the address each time
242 "current" is used (take SP, AND with mask and dereference pointer
243 just to get the address), and instead can just use E2+offset
244 addressing each time.
245
246 This has no effect on userspace.
247
248config MN10300_USING_JTAG
249 bool "Using JTAG to debug kernel"
250 default y
251 help
252 This options indicates that JTAG will be used to debug the kernel. It
253 suppresses the use of certain hardware debugging features, such as
254 single-stepping, which are taken over completely by the JTAG unit.
255
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100256source "kernel/Kconfig.hz"
Mark Salter730c1fa2010-10-27 17:28:57 +0100257source "kernel/time/Kconfig"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100258
David Howellsb920de12008-02-08 04:19:31 -0800259config MN10300_RTC
260 bool "Using MN10300 RTC"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100261 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
262 select GENERIC_CMOS_UPDATE
David Howellsb920de12008-02-08 04:19:31 -0800263 default n
264 help
David Howellsb920de12008-02-08 04:19:31 -0800265 This option enables support for the RTC, thus enabling time to be
266 tracked, even when system is powered down. This is available on-chip
267 on the MN103E010.
268
269config MN10300_WD_TIMER
270 bool "Using MN10300 watchdog timer"
271 default y
272 help
273 This options indicates that the watchdog timer will be used.
274
275config PCI
276 bool "Use PCI"
277 depends on MN10300_UNIT_ASB2305
278 default y
279 help
280 Some systems (such as the ASB2305) have PCI onboard. If you have one
281 of these boards and you wish to use the PCI facilities, say Y here.
282
283 The PCI-HOWTO, available from
284 <http://www.tldp.org/docs.html#howto>, contains valuable
285 information about which PCI hardware does work under Linux and which
286 doesn't.
287
288source "drivers/pci/Kconfig"
289
290source "drivers/pcmcia/Kconfig"
291
292menu "MN10300 internal serial options"
293
294config MN10300_PROC_HAS_TTYSM0
295 bool
296 default n
297
298config MN10300_PROC_HAS_TTYSM1
299 bool
300 default n
301
302config MN10300_PROC_HAS_TTYSM2
303 bool
304 default n
305
306config MN10300_TTYSM
307 bool "Support for ttySM serial ports"
308 depends on MN10300
309 default y
310 select SERIAL_CORE
311 help
312 This option enables support for the on-chip serial ports that the
313 MN10300 has available.
314
315config MN10300_TTYSM_CONSOLE
316 bool "Support for console on ttySM serial ports"
317 depends on MN10300_TTYSM
318 select SERIAL_CORE_CONSOLE
319 help
320 This option enables support for a console on the on-chip serial ports
321 that the MN10300 has available.
322
323#
324# /dev/ttySM0
325#
326config MN10300_TTYSM0
327 bool "Enable SIF0 (/dev/ttySM0)"
328 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
329 help
330 Enable access to SIF0 through /dev/ttySM0 or gdb-stub
331
332choice
333 prompt "Select the timer to supply the clock for SIF0"
334 default MN10300_TTYSM0_TIMER8
335 depends on MN10300_TTYSM0
336
337config MN10300_TTYSM0_TIMER8
338 bool "Use timer 8 (16-bit)"
339
340config MN10300_TTYSM0_TIMER2
341 bool "Use timer 2 (8-bit)"
342
343endchoice
344
345#
346# /dev/ttySM1
347#
348config MN10300_TTYSM1
349 bool "Enable SIF1 (/dev/ttySM1)"
350 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
351 help
352 Enable access to SIF1 through /dev/ttySM1 or gdb-stub
353
354choice
355 prompt "Select the timer to supply the clock for SIF1"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100356 default MN10300_TTYSM1_TIMER12 \
357 if !(AM33_2 || AM33_3)
358 default MN10300_TTYSM1_TIMER9 \
359 if AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800360 depends on MN10300_TTYSM1
361
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100362config MN10300_TTYSM1_TIMER12
363 bool "Use timer 12 (16-bit)"
364 depends on !(AM33_2 || AM33_3)
365
David Howellsb920de12008-02-08 04:19:31 -0800366config MN10300_TTYSM1_TIMER9
367 bool "Use timer 9 (16-bit)"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100368 depends on AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800369
370config MN10300_TTYSM1_TIMER3
371 bool "Use timer 3 (8-bit)"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100372 depends on AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800373
374endchoice
375
376#
377# /dev/ttySM2
378#
379config MN10300_TTYSM2
380 bool "Enable SIF2 (/dev/ttySM2)"
381 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
382 help
383 Enable access to SIF2 through /dev/ttySM2 or gdb-stub
384
385choice
386 prompt "Select the timer to supply the clock for SIF2"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100387 default MN10300_TTYSM2_TIMER3 \
388 if !(AM33_2 || AM33_3)
389 default MN10300_TTYSM2_TIMER10 \
390 if AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800391 depends on MN10300_TTYSM2
392
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100393config MN10300_TTYSM2_TIMER9
394 bool "Use timer 9 (16-bit)"
395 depends on !(AM33_2 || AM33_3)
396
397config MN10300_TTYSM2_TIMER1
398 bool "Use timer 1 (8-bit)"
399 depends on !(AM33_2 || AM33_3)
400
401config MN10300_TTYSM2_TIMER3
402 bool "Use timer 3 (8-bit)"
403 depends on !(AM33_2 || AM33_3)
404
David Howellsb920de12008-02-08 04:19:31 -0800405config MN10300_TTYSM2_TIMER10
406 bool "Use timer 10 (16-bit)"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100407 depends on AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800408
409endchoice
410
411config MN10300_TTYSM2_CTS
412 bool "Enable the use of the CTS line /dev/ttySM2"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100413 depends on MN10300_TTYSM2 && AM33_2
David Howellsb920de12008-02-08 04:19:31 -0800414
415endmenu
416
Akira Takeuchi37e4ec92010-10-27 17:28:54 +0100417menu "Interrupt request priority options"
418
419comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)"
420
421comment "____Non-maskable interrupt levels____"
422comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial"
423
424config GDBSTUB_IRQ_LEVEL
425 int "GDBSTUB interrupt priority"
426 depends on GDBSTUB
427 range 0 1 if LINUX_CLI_LEVEL = 2
428 range 0 2 if LINUX_CLI_LEVEL = 3
429 range 0 3 if LINUX_CLI_LEVEL = 4
430 range 0 4 if LINUX_CLI_LEVEL = 5
431 range 0 5 if LINUX_CLI_LEVEL = 6
432 default 0
433
434comment "The following must be set to a higher priority than local_irq_disable()"
435
436config MN10300_SERIAL_IRQ_LEVEL
437 int "MN10300 on-chip serial interrupt priority"
438 depends on MN10300_TTYSM
439 range 1 1 if LINUX_CLI_LEVEL = 2
440 range 1 2 if LINUX_CLI_LEVEL = 3
441 range 1 3 if LINUX_CLI_LEVEL = 4
442 range 1 4 if LINUX_CLI_LEVEL = 5
443 range 1 5 if LINUX_CLI_LEVEL = 6
444 default 1
445
446comment "-"
447comment "____Maskable interrupt levels____"
448
449config LINUX_CLI_LEVEL
450 int "The highest interrupt priority excluded by local_irq_disable() (2-6)"
451 range 2 6
452 default 2
453 help
454 local_irq_disable() doesn't actually disable maskable interrupts -
455 what it does is restrict the levels of interrupt which are permitted
456 (a lower level indicates a higher priority) by lowering the value in
457 EPSW.IM from 7. Any interrupt is permitted for which the level is
458 lower than EPSW.IM.
459
460 Certain interrupts, such as GDBSTUB and virtual MN10300 on-chip
461 serial DMA interrupts are allowed to interrupt normal disabled
462 sections.
463
464comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL"
465
466config TIMER_IRQ_LEVEL
467 int "Kernel timer interrupt priority"
468 range LINUX_CLI_LEVEL 6
469 default 4
470
471config PCI_IRQ_LEVEL
472 int "PCI interrupt priority"
473 depends on PCI
474 range LINUX_CLI_LEVEL 6
475 default 5
476
477config ETHERNET_IRQ_LEVEL
478 int "Ethernet interrupt priority"
479 depends on SMC91X || SMC911X || SMSC911X
480 range LINUX_CLI_LEVEL 6
481 default 6
482
483config EXT_SERIAL_IRQ_LEVEL
484 int "External serial port interrupt priority"
485 depends on SERIAL_8250
486 range LINUX_CLI_LEVEL 6
487 default 6
488
489endmenu
490
David Howellsb920de12008-02-08 04:19:31 -0800491source "mm/Kconfig"
492
493menu "Power management options"
494source kernel/power/Kconfig
495endmenu
496
497endmenu
498
499
500menu "Executable formats"
501
502source "fs/Kconfig.binfmt"
503
504endmenu
505
506source "net/Kconfig"
507
508source "drivers/Kconfig"
509
510source "fs/Kconfig"
511
512source "arch/mn10300/Kconfig.debug"
513
514source "security/Kconfig"
515
516source "crypto/Kconfig"
517
518source "lib/Kconfig"