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