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