]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - arch/mn10300/Kconfig
ARM: S3C64XX: Reduce output of s3c64xx_dma_init1()
[mirror_ubuntu-artful-kernel.git] / arch / mn10300 / Kconfig
CommitLineData
b920de1b
DH
1config MN10300
2 def_bool y
58bafe72 3 select HAVE_OPROFILE
b169c908 4 select GENERIC_HARDIRQS
b920de1b 5
22d4225f
AT
6config AM33_2
7 def_bool n
8
9config AM33_3
10 def_bool n
11
12config AM34_2
13 def_bool n
8fbbf7c7 14 select MN10300_HAS_ATOMIC_OPS_UNIT
b478491f 15 select MN10300_HAS_CACHE_SNOOP
b920de1b 16
8f19e3da
AT
17config ERRATUM_NEED_TO_RELOAD_MMUCTR
18 def_bool y if AM33_3 || AM34_2
19
b920de1b
DH
20config 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
b920de1b
DH
38config GENERIC_CALIBRATE_DELAY
39 def_bool y
40
f7a56575 41config GENERIC_CMOS_UPDATE
368dd5ac 42 def_bool n
f7a56575 43
b920de1b
DH
44config GENERIC_FIND_NEXT_BIT
45 def_bool y
46
47config GENERIC_HWEIGHT
48 def_bool y
49
730c1fad
MS
50config 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
b920de1b
DH
71config GENERIC_BUG
72 def_bool y
73
74config QUICKLIST
75 def_bool y
76
77config ARCH_HAS_ILOG2_U32
78 def_bool y
79
b920de1b
DH
80config HOTPLUG_CPU
81 def_bool n
82
b920de1b
DH
83source "init/Kconfig"
84
dc52ddc0
MH
85source "kernel/Kconfig.freezer"
86
b920de1b 87
a5e03ca2 88menu "Panasonic MN10300 system setup"
b920de1b
DH
89
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
368dd5ac
AT
103config MN10300_UNIT_ASB2364
104 bool "ASB2364"
62747cd2 105 select SMSC911X_ARCH_HOOKS if SMSC911X
368dd5ac 106
b920de1b
DH
107endchoice
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
22d4225f 119 select AM33_2
b920de1b
DH
120 select MN10300_PROC_HAS_TTYSM0
121 select MN10300_PROC_HAS_TTYSM1
122 select MN10300_PROC_HAS_TTYSM2
123
368dd5ac
AT
124config 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
b920de1b
DH
131
132endchoice
133
8fbbf7c7
AT
134config 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
b920de1b
DH
140config FPU
141 bool "FPU present"
142 default y
368dd5ac 143 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
b920de1b 144
278d91c4
AT
145config 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
0bc42d7f 160source "arch/mn10300/mm/Kconfig.cache"
b920de1b 161
a9bc60eb
AT
162config MN10300_TLB_USE_PIDR
163 def_bool y
164
b920de1b
DH
165menu "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"
368dd5ac
AT
184 default "0x50700000"
185
186config BOOT_STACK_OFFSET
187 hex
188 default "0xF00" if SMP
189 default "0xFF0" if !SMP
b920de1b 190
368dd5ac
AT
191config BOOT_STACK_SIZE
192 hex
193 depends on SMP
194 default "0x100"
b920de1b
DH
195endmenu
196
368dd5ac
AT
197config SMP
198 bool "Symmetric multi-processing support"
199 default y
351f8f8e 200 select USE_GENERIC_SMP_HELPERS
368dd5ac
AT
201 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.
206
207 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>.
b920de1b 216
368dd5ac
AT
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
368dd5ac 224source "kernel/Kconfig.preempt"
b920de1b 225
b920de1b
DH
226config MN10300_CURRENT_IN_E2
227 bool "Hold current task address in E2 register"
368dd5ac 228 depends on !SMP
b920de1b
DH
229 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
368dd5ac 250source "kernel/Kconfig.hz"
730c1fad 251source "kernel/time/Kconfig"
368dd5ac 252
b920de1b
DH
253config MN10300_RTC
254 bool "Using MN10300 RTC"
368dd5ac
AT
255 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
256 select GENERIC_CMOS_UPDATE
b920de1b
DH
257 default n
258 help
b920de1b
DH
259 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"
368dd5ac
AT
350 default MN10300_TTYSM1_TIMER12 \
351 if !(AM33_2 || AM33_3)
352 default MN10300_TTYSM1_TIMER9 \
353 if AM33_2 || AM33_3
b920de1b
DH
354 depends on MN10300_TTYSM1
355
368dd5ac
AT
356config MN10300_TTYSM1_TIMER12
357 bool "Use timer 12 (16-bit)"
358 depends on !(AM33_2 || AM33_3)
359
b920de1b
DH
360config MN10300_TTYSM1_TIMER9
361 bool "Use timer 9 (16-bit)"
368dd5ac 362 depends on AM33_2 || AM33_3
b920de1b
DH
363
364config MN10300_TTYSM1_TIMER3
365 bool "Use timer 3 (8-bit)"
368dd5ac 366 depends on AM33_2 || AM33_3
b920de1b
DH
367
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"
368dd5ac
AT
381 default MN10300_TTYSM2_TIMER3 \
382 if !(AM33_2 || AM33_3)
383 default MN10300_TTYSM2_TIMER10 \
384 if AM33_2 || AM33_3
b920de1b
DH
385 depends on MN10300_TTYSM2
386
368dd5ac
AT
387config 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
b920de1b
DH
399config MN10300_TTYSM2_TIMER10
400 bool "Use timer 10 (16-bit)"
368dd5ac 401 depends on AM33_2 || AM33_3
b920de1b
DH
402
403endchoice
404
405config MN10300_TTYSM2_CTS
406 bool "Enable the use of the CTS line /dev/ttySM2"
368dd5ac 407 depends on MN10300_TTYSM2 && AM33_2
b920de1b
DH
408
409endmenu
410
37e4ec96
AT
411menu "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
b920de1b
DH
485source "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"