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