MN10300: Change "Matsushita" to "Panasonic".
[deliverable/linux.git] / arch / mn10300 / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5
6 mainmenu "Linux Kernel Configuration"
7
8 config MN10300
9 def_bool y
10 select HAVE_OPROFILE
11
12 config AM33_2
13 def_bool n
14
15 config AM33_3
16 def_bool n
17
18 config AM34_2
19 def_bool n
20 select MN10300_HAS_ATOMIC_OPS_UNIT
21 select MN10300_HAS_CACHE_SNOOP
22
23 config ERRATUM_NEED_TO_RELOAD_MMUCTR
24 def_bool y if AM33_3 || AM34_2
25
26 config MMU
27 def_bool y
28
29 config HIGHMEM
30 def_bool n
31
32 config NUMA
33 def_bool n
34
35 config UID16
36 def_bool y
37
38 config RWSEM_GENERIC_SPINLOCK
39 def_bool y
40
41 config RWSEM_XCHGADD_ALGORITHM
42 bool
43
44 config GENERIC_HARDIRQS_NO__DO_IRQ
45 def_bool y
46
47 config GENERIC_CALIBRATE_DELAY
48 def_bool y
49
50 config GENERIC_CMOS_UPDATE
51 def_bool n
52
53 config GENERIC_FIND_NEXT_BIT
54 def_bool y
55
56 config GENERIC_HWEIGHT
57 def_bool y
58
59 config GENERIC_TIME
60 def_bool y
61
62 config GENERIC_CLOCKEVENTS
63 def_bool y
64
65 config GENERIC_CLOCKEVENTS_BUILD
66 def_bool y
67 depends on GENERIC_CLOCKEVENTS
68
69 config GENERIC_CLOCKEVENTS_BROADCAST
70 bool
71
72 config CEVT_MN10300
73 def_bool y
74 depends on GENERIC_CLOCKEVENTS
75
76 config CSRC_MN10300
77 def_bool y
78 depends on GENERIC_TIME
79
80 config GENERIC_BUG
81 def_bool y
82
83 config QUICKLIST
84 def_bool y
85
86 config ARCH_HAS_ILOG2_U32
87 def_bool y
88
89 # Use the generic interrupt handling code in kernel/irq/
90 config GENERIC_HARDIRQS
91 def_bool y
92
93 config HOTPLUG_CPU
94 def_bool n
95
96 mainmenu "Panasonic MN10300/AM33 Kernel Configuration"
97
98 source "init/Kconfig"
99
100 source "kernel/Kconfig.freezer"
101
102
103 menu "Panasonic MN10300 system setup"
104
105 choice
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
112 config MN10300_UNIT_ASB2303
113 bool "ASB2303"
114
115 config MN10300_UNIT_ASB2305
116 bool "ASB2305"
117
118 config MN10300_UNIT_ASB2364
119 bool "ASB2364"
120 select SMSC911X_ARCH_HOOKS if SMSC911X
121
122 endchoice
123
124 choice
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
131 config MN10300_PROC_MN103E010
132 bool "MN103E010"
133 depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
134 select AM33_2
135 select MN10300_PROC_HAS_TTYSM0
136 select MN10300_PROC_HAS_TTYSM1
137 select MN10300_PROC_HAS_TTYSM2
138
139 config 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
146
147 endchoice
148
149 config 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
155 config FPU
156 bool "FPU present"
157 default y
158 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
159
160 config 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
175 source "arch/mn10300/mm/Kconfig.cache"
176
177 config MN10300_TLB_USE_PIDR
178 def_bool y
179
180 menu "Memory layout options"
181
182 config KERNEL_RAM_BASE_ADDRESS
183 hex "Base address of kernel RAM"
184 default "0x90000000"
185
186 config 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
193 config KERNEL_TEXT_ADDRESS
194 hex "Base address of kernel"
195 default "0x90001000"
196
197 config KERNEL_ZIMAGE_BASE_ADDRESS
198 hex "Base address of compressed vmlinux image"
199 default "0x50700000"
200
201 config BOOT_STACK_OFFSET
202 hex
203 default "0xF00" if SMP
204 default "0xFF0" if !SMP
205
206 config BOOT_STACK_SIZE
207 hex
208 depends on SMP
209 default "0x100"
210 endmenu
211
212 config 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.
220
221 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
233 config NR_CPUS
234 int
235 depends on SMP
236 default "2"
237
238 config USE_GENERIC_SMP_HELPERS
239 bool
240 depends on SMP
241 default y
242
243 source "kernel/Kconfig.preempt"
244
245 config MN10300_CURRENT_IN_E2
246 bool "Hold current task address in E2 register"
247 depends on !SMP
248 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
261 config 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
269 source "kernel/Kconfig.hz"
270 source "kernel/time/Kconfig"
271
272 config MN10300_RTC
273 bool "Using MN10300 RTC"
274 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
275 select GENERIC_CMOS_UPDATE
276 default n
277 help
278 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
282 config 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
288 config 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
301 source "drivers/pci/Kconfig"
302
303 source "drivers/pcmcia/Kconfig"
304
305 menu "MN10300 internal serial options"
306
307 config MN10300_PROC_HAS_TTYSM0
308 bool
309 default n
310
311 config MN10300_PROC_HAS_TTYSM1
312 bool
313 default n
314
315 config MN10300_PROC_HAS_TTYSM2
316 bool
317 default n
318
319 config 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
328 config 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 #
339 config 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
345 choice
346 prompt "Select the timer to supply the clock for SIF0"
347 default MN10300_TTYSM0_TIMER8
348 depends on MN10300_TTYSM0
349
350 config MN10300_TTYSM0_TIMER8
351 bool "Use timer 8 (16-bit)"
352
353 config MN10300_TTYSM0_TIMER2
354 bool "Use timer 2 (8-bit)"
355
356 endchoice
357
358 #
359 # /dev/ttySM1
360 #
361 config 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
367 choice
368 prompt "Select the timer to supply the clock for SIF1"
369 default MN10300_TTYSM1_TIMER12 \
370 if !(AM33_2 || AM33_3)
371 default MN10300_TTYSM1_TIMER9 \
372 if AM33_2 || AM33_3
373 depends on MN10300_TTYSM1
374
375 config MN10300_TTYSM1_TIMER12
376 bool "Use timer 12 (16-bit)"
377 depends on !(AM33_2 || AM33_3)
378
379 config MN10300_TTYSM1_TIMER9
380 bool "Use timer 9 (16-bit)"
381 depends on AM33_2 || AM33_3
382
383 config MN10300_TTYSM1_TIMER3
384 bool "Use timer 3 (8-bit)"
385 depends on AM33_2 || AM33_3
386
387 endchoice
388
389 #
390 # /dev/ttySM2
391 #
392 config 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
398 choice
399 prompt "Select the timer to supply the clock for SIF2"
400 default MN10300_TTYSM2_TIMER3 \
401 if !(AM33_2 || AM33_3)
402 default MN10300_TTYSM2_TIMER10 \
403 if AM33_2 || AM33_3
404 depends on MN10300_TTYSM2
405
406 config MN10300_TTYSM2_TIMER9
407 bool "Use timer 9 (16-bit)"
408 depends on !(AM33_2 || AM33_3)
409
410 config MN10300_TTYSM2_TIMER1
411 bool "Use timer 1 (8-bit)"
412 depends on !(AM33_2 || AM33_3)
413
414 config MN10300_TTYSM2_TIMER3
415 bool "Use timer 3 (8-bit)"
416 depends on !(AM33_2 || AM33_3)
417
418 config MN10300_TTYSM2_TIMER10
419 bool "Use timer 10 (16-bit)"
420 depends on AM33_2 || AM33_3
421
422 endchoice
423
424 config MN10300_TTYSM2_CTS
425 bool "Enable the use of the CTS line /dev/ttySM2"
426 depends on MN10300_TTYSM2 && AM33_2
427
428 endmenu
429
430 menu "Interrupt request priority options"
431
432 comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)"
433
434 comment "____Non-maskable interrupt levels____"
435 comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial"
436
437 config 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
447 comment "The following must be set to a higher priority than local_irq_disable()"
448
449 config 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
459 comment "-"
460 comment "____Maskable interrupt levels____"
461
462 config 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
477 comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL"
478
479 config TIMER_IRQ_LEVEL
480 int "Kernel timer interrupt priority"
481 range LINUX_CLI_LEVEL 6
482 default 4
483
484 config PCI_IRQ_LEVEL
485 int "PCI interrupt priority"
486 depends on PCI
487 range LINUX_CLI_LEVEL 6
488 default 5
489
490 config ETHERNET_IRQ_LEVEL
491 int "Ethernet interrupt priority"
492 depends on SMC91X || SMC911X || SMSC911X
493 range LINUX_CLI_LEVEL 6
494 default 6
495
496 config 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
502 endmenu
503
504 source "mm/Kconfig"
505
506 menu "Power management options"
507 source kernel/power/Kconfig
508 endmenu
509
510 endmenu
511
512
513 menu "Executable formats"
514
515 source "fs/Kconfig.binfmt"
516
517 endmenu
518
519 source "net/Kconfig"
520
521 source "drivers/Kconfig"
522
523 source "fs/Kconfig"
524
525 source "arch/mn10300/Kconfig.debug"
526
527 source "security/Kconfig"
528
529 source "crypto/Kconfig"
530
531 source "lib/Kconfig"
This page took 0.04793 seconds and 6 git commands to generate.