blob: 243bfa23fd5863c0d8198d61352b2c0a8db9812a [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
Thomas Gleixnerb169c902011-01-19 20:36:02 +01004 select GENERIC_HARDIRQS
David Howellsb920de12008-02-08 04:19:31 -08005
Akira Takeuchi22d42252010-10-27 17:28:38 +01006config AM33_2
7 def_bool n
8
9config AM33_3
10 def_bool n
11
12config AM34_2
13 def_bool n
Akira Takeuchi8fbbf7c2010-10-27 17:28:40 +010014 select MN10300_HAS_ATOMIC_OPS_UNIT
David Howellsb4784912010-10-27 17:28:46 +010015 select MN10300_HAS_CACHE_SNOOP
David Howellsb920de12008-02-08 04:19:31 -080016
Akira Takeuchi8f19e3d2010-10-27 17:28:48 +010017config ERRATUM_NEED_TO_RELOAD_MMUCTR
18 def_bool y if AM33_3 || AM34_2
19
David Howellsb920de12008-02-08 04:19:31 -080020config MMU
21 def_bool y
22
23config HIGHMEM
24 def_bool n
25
26config NUMA
27 def_bool n
28
29config UID16
30 def_bool y
31
32config RWSEM_GENERIC_SPINLOCK
33 def_bool y
34
35config RWSEM_XCHGADD_ALGORITHM
36 bool
37
David Howellsb920de12008-02-08 04:19:31 -080038config GENERIC_CALIBRATE_DELAY
39 def_bool y
40
John Stultzf7a56572010-03-03 19:57:17 -080041config GENERIC_CMOS_UPDATE
Akira Takeuchi368dd5a2010-10-27 17:28:55 +010042 def_bool n
John Stultzf7a56572010-03-03 19:57:17 -080043
David Howellsb920de12008-02-08 04:19:31 -080044config GENERIC_FIND_NEXT_BIT
45 def_bool y
46
47config GENERIC_HWEIGHT
48 def_bool y
49
Mark Salter730c1fa2010-10-27 17:28:57 +010050config GENERIC_TIME
51 def_bool y
52
53config GENERIC_CLOCKEVENTS
54 def_bool y
55
56config GENERIC_CLOCKEVENTS_BUILD
57 def_bool y
58 depends on GENERIC_CLOCKEVENTS
59
60config GENERIC_CLOCKEVENTS_BROADCAST
61 bool
62
63config CEVT_MN10300
64 def_bool y
65 depends on GENERIC_CLOCKEVENTS
66
67config CSRC_MN10300
68 def_bool y
69 depends on GENERIC_TIME
70
David Howellsb920de12008-02-08 04:19:31 -080071config GENERIC_BUG
72 def_bool y
73
74config QUICKLIST
75 def_bool y
76
77config ARCH_HAS_ILOG2_U32
78 def_bool y
79
David Howellsb920de12008-02-08 04:19:31 -080080config HOTPLUG_CPU
81 def_bool n
82
David Howellsb920de12008-02-08 04:19:31 -080083source "init/Kconfig"
84
Matt Helsleydc52ddc2008-10-18 20:27:21 -070085source "kernel/Kconfig.freezer"
86
David Howellsb920de12008-02-08 04:19:31 -080087
Akira Takeuchia5e03ca2010-10-27 17:29:00 +010088menu "Panasonic MN10300 system setup"
David Howellsb920de12008-02-08 04:19:31 -080089
90choice
91 prompt "Unit type"
92 default MN10300_UNIT_ASB2303
93 help
94 This option specifies board for which the kernel will be
95 compiled. It affects the external peripherals catered for.
96
97config MN10300_UNIT_ASB2303
98 bool "ASB2303"
99
100config MN10300_UNIT_ASB2305
101 bool "ASB2305"
102
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100103config MN10300_UNIT_ASB2364
104 bool "ASB2364"
Akira Takeuchi62747cd2010-10-27 17:28:58 +0100105 select SMSC911X_ARCH_HOOKS if SMSC911X
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100106
David Howellsb920de12008-02-08 04:19:31 -0800107endchoice
108
109choice
110 prompt "Processor support"
111 default MN10300_PROC_MN103E010
112 help
113 This option specifies the processor for which the kernel will be
114 compiled. It affects the on-chip peripherals catered for.
115
116config MN10300_PROC_MN103E010
117 bool "MN103E010"
118 depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
Akira Takeuchi22d42252010-10-27 17:28:38 +0100119 select AM33_2
David Howellsb920de12008-02-08 04:19:31 -0800120 select MN10300_PROC_HAS_TTYSM0
121 select MN10300_PROC_HAS_TTYSM1
122 select MN10300_PROC_HAS_TTYSM2
123
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100124config MN10300_PROC_MN2WS0050
125 bool "MN2WS0050"
126 depends on MN10300_UNIT_ASB2364
127 select AM34_2
128 select MN10300_PROC_HAS_TTYSM0
129 select MN10300_PROC_HAS_TTYSM1
130 select MN10300_PROC_HAS_TTYSM2
David Howellsb920de12008-02-08 04:19:31 -0800131
132endchoice
133
Akira Takeuchi8fbbf7c2010-10-27 17:28:40 +0100134config MN10300_HAS_ATOMIC_OPS_UNIT
135 def_bool n
136 help
137 This should be enabled if the processor has an atomic ops unit
138 capable of doing LL/SC equivalent operations.
139
David Howellsb920de12008-02-08 04:19:31 -0800140config FPU
141 bool "FPU present"
142 default y
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100143 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
David Howellsb920de12008-02-08 04:19:31 -0800144
Akira Takeuchi278d91c2010-10-27 17:28:52 +0100145config LAZY_SAVE_FPU
146 bool "Save FPU state lazily"
147 default y
148 depends on FPU && !SMP
149 help
150 Enable this to be lazy in the saving of the FPU state to the owning
151 task's thread struct. This is useful if most tasks on the system
152 don't use the FPU as only those tasks that use it will pass it
153 between them, and the state needn't be saved for a task that isn't
154 using it.
155
156 This can't be so easily used on SMP as the process that owns the FPU
157 state on a CPU may be currently running on another CPU, so for the
158 moment, it is disabled.
159
David Howells0bc42d72010-10-27 17:28:41 +0100160source "arch/mn10300/mm/Kconfig.cache"
David Howellsb920de12008-02-08 04:19:31 -0800161
Akira Takeuchia9bc60e2010-10-27 17:28:49 +0100162config MN10300_TLB_USE_PIDR
163 def_bool y
164
David Howellsb920de12008-02-08 04:19:31 -0800165menu "Memory layout options"
166
167config KERNEL_RAM_BASE_ADDRESS
168 hex "Base address of kernel RAM"
169 default "0x90000000"
170
171config INTERRUPT_VECTOR_BASE
172 hex "Base address of vector table"
173 default "0x90000000"
174 help
175 The base address of the vector table will be programmed into
176 the TBR register. It must be on 16MiB address boundary.
177
178config KERNEL_TEXT_ADDRESS
179 hex "Base address of kernel"
180 default "0x90001000"
181
182config KERNEL_ZIMAGE_BASE_ADDRESS
183 hex "Base address of compressed vmlinux image"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100184 default "0x50700000"
David Howellsb920de12008-02-08 04:19:31 -0800185
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100186config BOOT_STACK_OFFSET
187 hex
188 default "0xF00" if SMP
189 default "0xFF0" if !SMP
190
191config BOOT_STACK_SIZE
192 hex
193 depends on SMP
194 default "0x100"
David Howellsb920de12008-02-08 04:19:31 -0800195endmenu
196
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100197config SMP
198 bool "Symmetric multi-processing support"
199 default y
Amerigo Wang351f8f82011-01-12 16:59:39 -0800200 select USE_GENERIC_SMP_HELPERS
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100201 depends on MN10300_PROC_MN2WS0038 || MN10300_PROC_MN2WS0050
202 ---help---
203 This enables support for systems with more than one CPU. If you have
204 a system with only one CPU, like most personal computers, say N. If
205 you have a system with more than one CPU, say Y.
David Howellsb920de12008-02-08 04:19:31 -0800206
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100207 If you say N here, the kernel will run on single and multiprocessor
208 machines, but will use only one CPU of a multiprocessor machine. If
209 you say Y here, the kernel will run on many, but not all,
210 singleprocessor machines. On a singleprocessor machine, the kernel
211 will run faster if you say N here.
212
213 See also <file:Documentation/i386/IO-APIC.txt>,
214 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
215 <http://www.tldp.org/docs.html#howto>.
216
217 If you don't know what to do here, say N.
218
219config NR_CPUS
220 int
221 depends on SMP
222 default "2"
223
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100224source "kernel/Kconfig.preempt"
David Howellsb920de12008-02-08 04:19:31 -0800225
David Howellsb920de12008-02-08 04:19:31 -0800226config MN10300_CURRENT_IN_E2
227 bool "Hold current task address in E2 register"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100228 depends on !SMP
David Howellsb920de12008-02-08 04:19:31 -0800229 default y
230 help
231 This option removes the E2/R2 register from the set available to gcc
232 for normal use and instead uses it to store the address of the
233 current process's task_struct whilst in the kernel.
234
235 This means the kernel doesn't need to calculate the address each time
236 "current" is used (take SP, AND with mask and dereference pointer
237 just to get the address), and instead can just use E2+offset
238 addressing each time.
239
240 This has no effect on userspace.
241
242config MN10300_USING_JTAG
243 bool "Using JTAG to debug kernel"
244 default y
245 help
246 This options indicates that JTAG will be used to debug the kernel. It
247 suppresses the use of certain hardware debugging features, such as
248 single-stepping, which are taken over completely by the JTAG unit.
249
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100250source "kernel/Kconfig.hz"
Mark Salter730c1fa2010-10-27 17:28:57 +0100251source "kernel/time/Kconfig"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100252
David Howellsb920de12008-02-08 04:19:31 -0800253config MN10300_RTC
254 bool "Using MN10300 RTC"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100255 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
256 select GENERIC_CMOS_UPDATE
David Howellsb920de12008-02-08 04:19:31 -0800257 default n
258 help
David Howellsb920de12008-02-08 04:19:31 -0800259 This option enables support for the RTC, thus enabling time to be
260 tracked, even when system is powered down. This is available on-chip
261 on the MN103E010.
262
263config MN10300_WD_TIMER
264 bool "Using MN10300 watchdog timer"
265 default y
266 help
267 This options indicates that the watchdog timer will be used.
268
269config PCI
270 bool "Use PCI"
271 depends on MN10300_UNIT_ASB2305
272 default y
273 help
274 Some systems (such as the ASB2305) have PCI onboard. If you have one
275 of these boards and you wish to use the PCI facilities, say Y here.
276
277 The PCI-HOWTO, available from
278 <http://www.tldp.org/docs.html#howto>, contains valuable
279 information about which PCI hardware does work under Linux and which
280 doesn't.
281
282source "drivers/pci/Kconfig"
283
284source "drivers/pcmcia/Kconfig"
285
286menu "MN10300 internal serial options"
287
288config MN10300_PROC_HAS_TTYSM0
289 bool
290 default n
291
292config MN10300_PROC_HAS_TTYSM1
293 bool
294 default n
295
296config MN10300_PROC_HAS_TTYSM2
297 bool
298 default n
299
300config MN10300_TTYSM
301 bool "Support for ttySM serial ports"
302 depends on MN10300
303 default y
304 select SERIAL_CORE
305 help
306 This option enables support for the on-chip serial ports that the
307 MN10300 has available.
308
309config MN10300_TTYSM_CONSOLE
310 bool "Support for console on ttySM serial ports"
311 depends on MN10300_TTYSM
312 select SERIAL_CORE_CONSOLE
313 help
314 This option enables support for a console on the on-chip serial ports
315 that the MN10300 has available.
316
317#
318# /dev/ttySM0
319#
320config MN10300_TTYSM0
321 bool "Enable SIF0 (/dev/ttySM0)"
322 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
323 help
324 Enable access to SIF0 through /dev/ttySM0 or gdb-stub
325
326choice
327 prompt "Select the timer to supply the clock for SIF0"
328 default MN10300_TTYSM0_TIMER8
329 depends on MN10300_TTYSM0
330
331config MN10300_TTYSM0_TIMER8
332 bool "Use timer 8 (16-bit)"
333
334config MN10300_TTYSM0_TIMER2
335 bool "Use timer 2 (8-bit)"
336
337endchoice
338
339#
340# /dev/ttySM1
341#
342config MN10300_TTYSM1
343 bool "Enable SIF1 (/dev/ttySM1)"
344 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
345 help
346 Enable access to SIF1 through /dev/ttySM1 or gdb-stub
347
348choice
349 prompt "Select the timer to supply the clock for SIF1"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100350 default MN10300_TTYSM1_TIMER12 \
351 if !(AM33_2 || AM33_3)
352 default MN10300_TTYSM1_TIMER9 \
353 if AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800354 depends on MN10300_TTYSM1
355
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100356config MN10300_TTYSM1_TIMER12
357 bool "Use timer 12 (16-bit)"
358 depends on !(AM33_2 || AM33_3)
359
David Howellsb920de12008-02-08 04:19:31 -0800360config MN10300_TTYSM1_TIMER9
361 bool "Use timer 9 (16-bit)"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100362 depends on AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800363
364config MN10300_TTYSM1_TIMER3
365 bool "Use timer 3 (8-bit)"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100366 depends on AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800367
368endchoice
369
370#
371# /dev/ttySM2
372#
373config MN10300_TTYSM2
374 bool "Enable SIF2 (/dev/ttySM2)"
375 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
376 help
377 Enable access to SIF2 through /dev/ttySM2 or gdb-stub
378
379choice
380 prompt "Select the timer to supply the clock for SIF2"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100381 default MN10300_TTYSM2_TIMER3 \
382 if !(AM33_2 || AM33_3)
383 default MN10300_TTYSM2_TIMER10 \
384 if AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800385 depends on MN10300_TTYSM2
386
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100387config MN10300_TTYSM2_TIMER9
388 bool "Use timer 9 (16-bit)"
389 depends on !(AM33_2 || AM33_3)
390
391config MN10300_TTYSM2_TIMER1
392 bool "Use timer 1 (8-bit)"
393 depends on !(AM33_2 || AM33_3)
394
395config MN10300_TTYSM2_TIMER3
396 bool "Use timer 3 (8-bit)"
397 depends on !(AM33_2 || AM33_3)
398
David Howellsb920de12008-02-08 04:19:31 -0800399config MN10300_TTYSM2_TIMER10
400 bool "Use timer 10 (16-bit)"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100401 depends on AM33_2 || AM33_3
David Howellsb920de12008-02-08 04:19:31 -0800402
403endchoice
404
405config MN10300_TTYSM2_CTS
406 bool "Enable the use of the CTS line /dev/ttySM2"
Akira Takeuchi368dd5a2010-10-27 17:28:55 +0100407 depends on MN10300_TTYSM2 && AM33_2
David Howellsb920de12008-02-08 04:19:31 -0800408
409endmenu
410
Akira Takeuchi37e4ec92010-10-27 17:28:54 +0100411menu "Interrupt request priority options"
412
413comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)"
414
415comment "____Non-maskable interrupt levels____"
416comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial"
417
418config GDBSTUB_IRQ_LEVEL
419 int "GDBSTUB interrupt priority"
420 depends on GDBSTUB
421 range 0 1 if LINUX_CLI_LEVEL = 2
422 range 0 2 if LINUX_CLI_LEVEL = 3
423 range 0 3 if LINUX_CLI_LEVEL = 4
424 range 0 4 if LINUX_CLI_LEVEL = 5
425 range 0 5 if LINUX_CLI_LEVEL = 6
426 default 0
427
428comment "The following must be set to a higher priority than local_irq_disable()"
429
430config MN10300_SERIAL_IRQ_LEVEL
431 int "MN10300 on-chip serial interrupt priority"
432 depends on MN10300_TTYSM
433 range 1 1 if LINUX_CLI_LEVEL = 2
434 range 1 2 if LINUX_CLI_LEVEL = 3
435 range 1 3 if LINUX_CLI_LEVEL = 4
436 range 1 4 if LINUX_CLI_LEVEL = 5
437 range 1 5 if LINUX_CLI_LEVEL = 6
438 default 1
439
440comment "-"
441comment "____Maskable interrupt levels____"
442
443config LINUX_CLI_LEVEL
444 int "The highest interrupt priority excluded by local_irq_disable() (2-6)"
445 range 2 6
446 default 2
447 help
448 local_irq_disable() doesn't actually disable maskable interrupts -
449 what it does is restrict the levels of interrupt which are permitted
450 (a lower level indicates a higher priority) by lowering the value in
451 EPSW.IM from 7. Any interrupt is permitted for which the level is
452 lower than EPSW.IM.
453
454 Certain interrupts, such as GDBSTUB and virtual MN10300 on-chip
455 serial DMA interrupts are allowed to interrupt normal disabled
456 sections.
457
458comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL"
459
460config TIMER_IRQ_LEVEL
461 int "Kernel timer interrupt priority"
462 range LINUX_CLI_LEVEL 6
463 default 4
464
465config PCI_IRQ_LEVEL
466 int "PCI interrupt priority"
467 depends on PCI
468 range LINUX_CLI_LEVEL 6
469 default 5
470
471config ETHERNET_IRQ_LEVEL
472 int "Ethernet interrupt priority"
473 depends on SMC91X || SMC911X || SMSC911X
474 range LINUX_CLI_LEVEL 6
475 default 6
476
477config EXT_SERIAL_IRQ_LEVEL
478 int "External serial port interrupt priority"
479 depends on SERIAL_8250
480 range LINUX_CLI_LEVEL 6
481 default 6
482
483endmenu
484
David Howellsb920de12008-02-08 04:19:31 -0800485source "mm/Kconfig"
486
487menu "Power management options"
488source kernel/power/Kconfig
489endmenu
490
491endmenu
492
493
494menu "Executable formats"
495
496source "fs/Kconfig.binfmt"
497
498endmenu
499
500source "net/Kconfig"
501
502source "drivers/Kconfig"
503
504source "fs/Kconfig"
505
506source "arch/mn10300/Kconfig.debug"
507
508source "security/Kconfig"
509
510source "crypto/Kconfig"
511
512source "lib/Kconfig"