blob: a0a16e6e4a4ef383e350a1a1ccc867fa0cc25021 [file] [log] [blame]
David Howellsb920de12008-02-08 04:19:31 -08001#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
6mainmenu "Linux Kernel Configuration"
7
8config MN10300
9 def_bool y
David Howells58bafe72009-02-20 15:38:38 -080010 select HAVE_OPROFILE
David Howellsb920de12008-02-08 04:19:31 -080011
Akira Takeuchi22d42252010-10-27 17:28:38 +010012config AM33_2
13 def_bool n
14
15config AM33_3
16 def_bool n
17
18config AM34_2
19 def_bool n
Akira Takeuchi8fbbf7c2010-10-27 17:28:40 +010020 select MN10300_HAS_ATOMIC_OPS_UNIT
David Howellsb4784912010-10-27 17:28:46 +010021 select MN10300_HAS_CACHE_SNOOP
David Howellsb920de12008-02-08 04:19:31 -080022
Akira Takeuchi8f19e3d2010-10-27 17:28:48 +010023config ERRATUM_NEED_TO_RELOAD_MMUCTR
24 def_bool y if AM33_3 || AM34_2
25
David Howellsb920de12008-02-08 04:19:31 -080026config MMU
27 def_bool y
28
29config HIGHMEM
30 def_bool n
31
32config NUMA
33 def_bool n
34
35config UID16
36 def_bool y
37
38config RWSEM_GENERIC_SPINLOCK
39 def_bool y
40
41config RWSEM_XCHGADD_ALGORITHM
42 bool
43
44config GENERIC_HARDIRQS_NO__DO_IRQ
45 def_bool y
46
47config GENERIC_CALIBRATE_DELAY
48 def_bool y
49
John Stultzf7a56572010-03-03 19:57:17 -080050config GENERIC_CMOS_UPDATE
51 def_bool y
52
David Howellsb920de12008-02-08 04:19:31 -080053config GENERIC_FIND_NEXT_BIT
54 def_bool y
55
56config GENERIC_HWEIGHT
57 def_bool y
58
David Howellsb920de12008-02-08 04:19:31 -080059config GENERIC_BUG
60 def_bool y
61
62config QUICKLIST
63 def_bool y
64
65config ARCH_HAS_ILOG2_U32
66 def_bool y
67
David Howellsb920de12008-02-08 04:19:31 -080068# Use the generic interrupt handling code in kernel/irq/
69config GENERIC_HARDIRQS
70 def_bool y
71
72config HOTPLUG_CPU
73 def_bool n
74
David Howells860f7be2008-02-23 15:23:28 -080075config HZ
76 int
77 default 1000
78
David Howellsb920de12008-02-08 04:19:31 -080079mainmenu "Matsushita MN10300/AM33 Kernel Configuration"
80
81source "init/Kconfig"
82
Matt Helsleydc52ddc2008-10-18 20:27:21 -070083source "kernel/Kconfig.freezer"
84
David Howellsb920de12008-02-08 04:19:31 -080085
86menu "Matsushita MN10300 system setup"
87
88choice
89 prompt "Unit type"
90 default MN10300_UNIT_ASB2303
91 help
92 This option specifies board for which the kernel will be
93 compiled. It affects the external peripherals catered for.
94
95config MN10300_UNIT_ASB2303
96 bool "ASB2303"
97
98config MN10300_UNIT_ASB2305
99 bool "ASB2305"
100
101endchoice
102
103choice
104 prompt "Processor support"
105 default MN10300_PROC_MN103E010
106 help
107 This option specifies the processor for which the kernel will be
108 compiled. It affects the on-chip peripherals catered for.
109
110config MN10300_PROC_MN103E010
111 bool "MN103E010"
112 depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
Akira Takeuchi22d42252010-10-27 17:28:38 +0100113 select AM33_2
David Howellsb920de12008-02-08 04:19:31 -0800114 select MN10300_PROC_HAS_TTYSM0
115 select MN10300_PROC_HAS_TTYSM1
116 select MN10300_PROC_HAS_TTYSM2
117
118endchoice
119
120choice
121 prompt "Processor core support"
122 default MN10300_CPU_AM33V2
123 help
124 This option specifies the processor core for which the kernel will be
125 compiled. It affects the instruction set used.
126
127config MN10300_CPU_AM33V2
128 bool "AM33v2"
129
130endchoice
131
Akira Takeuchi8fbbf7c2010-10-27 17:28:40 +0100132config MN10300_HAS_ATOMIC_OPS_UNIT
133 def_bool n
134 help
135 This should be enabled if the processor has an atomic ops unit
136 capable of doing LL/SC equivalent operations.
137
David Howellsb920de12008-02-08 04:19:31 -0800138config FPU
139 bool "FPU present"
140 default y
141 depends on MN10300_PROC_MN103E010
142
Akira Takeuchi278d91c2010-10-27 17:28:52 +0100143config LAZY_SAVE_FPU
144 bool "Save FPU state lazily"
145 default y
146 depends on FPU && !SMP
147 help
148 Enable this to be lazy in the saving of the FPU state to the owning
149 task's thread struct. This is useful if most tasks on the system
150 don't use the FPU as only those tasks that use it will pass it
151 between them, and the state needn't be saved for a task that isn't
152 using it.
153
154 This can't be so easily used on SMP as the process that owns the FPU
155 state on a CPU may be currently running on another CPU, so for the
156 moment, it is disabled.
157
David Howells0bc42d72010-10-27 17:28:41 +0100158source "arch/mn10300/mm/Kconfig.cache"
David Howellsb920de12008-02-08 04:19:31 -0800159
Akira Takeuchia9bc60e2010-10-27 17:28:49 +0100160config MN10300_TLB_USE_PIDR
161 def_bool y
162
David Howellsb920de12008-02-08 04:19:31 -0800163menu "Memory layout options"
164
165config KERNEL_RAM_BASE_ADDRESS
166 hex "Base address of kernel RAM"
167 default "0x90000000"
168
169config INTERRUPT_VECTOR_BASE
170 hex "Base address of vector table"
171 default "0x90000000"
172 help
173 The base address of the vector table will be programmed into
174 the TBR register. It must be on 16MiB address boundary.
175
176config KERNEL_TEXT_ADDRESS
177 hex "Base address of kernel"
178 default "0x90001000"
179
180config KERNEL_ZIMAGE_BASE_ADDRESS
181 hex "Base address of compressed vmlinux image"
182 default "0x90700000"
183
184endmenu
185
186config PREEMPT
187 bool "Preemptible Kernel"
188 help
189 This option reduces the latency of the kernel when reacting to
190 real-time or interactive events by allowing a low priority process to
191 be preempted even if it is in kernel mode executing a system call.
192 This allows applications to run more reliably even when the system is
193 under load.
194
195 Say Y here if you are building a kernel for a desktop, embedded
196 or real-time system. Say N if you are unsure.
197
David Howellsb920de12008-02-08 04:19:31 -0800198config MN10300_CURRENT_IN_E2
199 bool "Hold current task address in E2 register"
200 default y
201 help
202 This option removes the E2/R2 register from the set available to gcc
203 for normal use and instead uses it to store the address of the
204 current process's task_struct whilst in the kernel.
205
206 This means the kernel doesn't need to calculate the address each time
207 "current" is used (take SP, AND with mask and dereference pointer
208 just to get the address), and instead can just use E2+offset
209 addressing each time.
210
211 This has no effect on userspace.
212
213config MN10300_USING_JTAG
214 bool "Using JTAG to debug kernel"
215 default y
216 help
217 This options indicates that JTAG will be used to debug the kernel. It
218 suppresses the use of certain hardware debugging features, such as
219 single-stepping, which are taken over completely by the JTAG unit.
220
221config MN10300_RTC
222 bool "Using MN10300 RTC"
223 depends on MN10300_PROC_MN103E010
224 default n
225 help
226
227 This option enables support for the RTC, thus enabling time to be
228 tracked, even when system is powered down. This is available on-chip
229 on the MN103E010.
230
231config MN10300_WD_TIMER
232 bool "Using MN10300 watchdog timer"
233 default y
234 help
235 This options indicates that the watchdog timer will be used.
236
237config PCI
238 bool "Use PCI"
239 depends on MN10300_UNIT_ASB2305
240 default y
241 help
242 Some systems (such as the ASB2305) have PCI onboard. If you have one
243 of these boards and you wish to use the PCI facilities, say Y here.
244
245 The PCI-HOWTO, available from
246 <http://www.tldp.org/docs.html#howto>, contains valuable
247 information about which PCI hardware does work under Linux and which
248 doesn't.
249
250source "drivers/pci/Kconfig"
251
252source "drivers/pcmcia/Kconfig"
253
254menu "MN10300 internal serial options"
255
256config MN10300_PROC_HAS_TTYSM0
257 bool
258 default n
259
260config MN10300_PROC_HAS_TTYSM1
261 bool
262 default n
263
264config MN10300_PROC_HAS_TTYSM2
265 bool
266 default n
267
268config MN10300_TTYSM
269 bool "Support for ttySM serial ports"
270 depends on MN10300
271 default y
272 select SERIAL_CORE
273 help
274 This option enables support for the on-chip serial ports that the
275 MN10300 has available.
276
277config MN10300_TTYSM_CONSOLE
278 bool "Support for console on ttySM serial ports"
279 depends on MN10300_TTYSM
280 select SERIAL_CORE_CONSOLE
281 help
282 This option enables support for a console on the on-chip serial ports
283 that the MN10300 has available.
284
285#
286# /dev/ttySM0
287#
288config MN10300_TTYSM0
289 bool "Enable SIF0 (/dev/ttySM0)"
290 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
291 help
292 Enable access to SIF0 through /dev/ttySM0 or gdb-stub
293
294choice
295 prompt "Select the timer to supply the clock for SIF0"
296 default MN10300_TTYSM0_TIMER8
297 depends on MN10300_TTYSM0
298
299config MN10300_TTYSM0_TIMER8
300 bool "Use timer 8 (16-bit)"
301
302config MN10300_TTYSM0_TIMER2
303 bool "Use timer 2 (8-bit)"
304
305endchoice
306
307#
308# /dev/ttySM1
309#
310config MN10300_TTYSM1
311 bool "Enable SIF1 (/dev/ttySM1)"
312 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
313 help
314 Enable access to SIF1 through /dev/ttySM1 or gdb-stub
315
316choice
317 prompt "Select the timer to supply the clock for SIF1"
318 default MN10300_TTYSM0_TIMER9
319 depends on MN10300_TTYSM1
320
321config MN10300_TTYSM1_TIMER9
322 bool "Use timer 9 (16-bit)"
323
324config MN10300_TTYSM1_TIMER3
325 bool "Use timer 3 (8-bit)"
326
327endchoice
328
329#
330# /dev/ttySM2
331#
332config MN10300_TTYSM2
333 bool "Enable SIF2 (/dev/ttySM2)"
334 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
335 help
336 Enable access to SIF2 through /dev/ttySM2 or gdb-stub
337
338choice
339 prompt "Select the timer to supply the clock for SIF2"
340 default MN10300_TTYSM0_TIMER10
341 depends on MN10300_TTYSM2
342
343config MN10300_TTYSM2_TIMER10
344 bool "Use timer 10 (16-bit)"
345
346endchoice
347
348config MN10300_TTYSM2_CTS
349 bool "Enable the use of the CTS line /dev/ttySM2"
350 depends on MN10300_TTYSM2
351
352endmenu
353
Akira Takeuchi37e4ec92010-10-27 17:28:54 +0100354menu "Interrupt request priority options"
355
356comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)"
357
358comment "____Non-maskable interrupt levels____"
359comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial"
360
361config GDBSTUB_IRQ_LEVEL
362 int "GDBSTUB interrupt priority"
363 depends on GDBSTUB
364 range 0 1 if LINUX_CLI_LEVEL = 2
365 range 0 2 if LINUX_CLI_LEVEL = 3
366 range 0 3 if LINUX_CLI_LEVEL = 4
367 range 0 4 if LINUX_CLI_LEVEL = 5
368 range 0 5 if LINUX_CLI_LEVEL = 6
369 default 0
370
371comment "The following must be set to a higher priority than local_irq_disable()"
372
373config MN10300_SERIAL_IRQ_LEVEL
374 int "MN10300 on-chip serial interrupt priority"
375 depends on MN10300_TTYSM
376 range 1 1 if LINUX_CLI_LEVEL = 2
377 range 1 2 if LINUX_CLI_LEVEL = 3
378 range 1 3 if LINUX_CLI_LEVEL = 4
379 range 1 4 if LINUX_CLI_LEVEL = 5
380 range 1 5 if LINUX_CLI_LEVEL = 6
381 default 1
382
383comment "-"
384comment "____Maskable interrupt levels____"
385
386config LINUX_CLI_LEVEL
387 int "The highest interrupt priority excluded by local_irq_disable() (2-6)"
388 range 2 6
389 default 2
390 help
391 local_irq_disable() doesn't actually disable maskable interrupts -
392 what it does is restrict the levels of interrupt which are permitted
393 (a lower level indicates a higher priority) by lowering the value in
394 EPSW.IM from 7. Any interrupt is permitted for which the level is
395 lower than EPSW.IM.
396
397 Certain interrupts, such as GDBSTUB and virtual MN10300 on-chip
398 serial DMA interrupts are allowed to interrupt normal disabled
399 sections.
400
401comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL"
402
403config TIMER_IRQ_LEVEL
404 int "Kernel timer interrupt priority"
405 range LINUX_CLI_LEVEL 6
406 default 4
407
408config PCI_IRQ_LEVEL
409 int "PCI interrupt priority"
410 depends on PCI
411 range LINUX_CLI_LEVEL 6
412 default 5
413
414config ETHERNET_IRQ_LEVEL
415 int "Ethernet interrupt priority"
416 depends on SMC91X || SMC911X || SMSC911X
417 range LINUX_CLI_LEVEL 6
418 default 6
419
420config EXT_SERIAL_IRQ_LEVEL
421 int "External serial port interrupt priority"
422 depends on SERIAL_8250
423 range LINUX_CLI_LEVEL 6
424 default 6
425
426endmenu
427
David Howellsb920de12008-02-08 04:19:31 -0800428source "mm/Kconfig"
429
430menu "Power management options"
431source kernel/power/Kconfig
432endmenu
433
434endmenu
435
436
437menu "Executable formats"
438
439source "fs/Kconfig.binfmt"
440
441endmenu
442
443source "net/Kconfig"
444
445source "drivers/Kconfig"
446
447source "fs/Kconfig"
448
449source "arch/mn10300/Kconfig.debug"
450
451source "security/Kconfig"
452
453source "crypto/Kconfig"
454
455source "lib/Kconfig"