Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus
[linux-2.6] / arch / mn10300 / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5
6 mainmenu "Linux Kernel Configuration"
7
8 config MN10300
9         def_bool y
10
11 config AM33
12         def_bool y
13
14 config MMU
15         def_bool y
16
17 config HIGHMEM
18         def_bool n
19
20 config NUMA
21         def_bool n
22
23 config UID16
24         def_bool y
25
26 config RWSEM_GENERIC_SPINLOCK
27         def_bool y
28
29 config RWSEM_XCHGADD_ALGORITHM
30         bool
31
32 config GENERIC_HARDIRQS_NO__DO_IRQ
33         def_bool y
34
35 config GENERIC_CALIBRATE_DELAY
36         def_bool y
37
38 config GENERIC_FIND_NEXT_BIT
39         def_bool y
40
41 config GENERIC_HWEIGHT
42         def_bool y
43
44 config GENERIC_TIME
45         def_bool y
46
47 config GENERIC_BUG
48         def_bool y
49
50 config QUICKLIST
51         def_bool y
52
53 config ARCH_HAS_ILOG2_U32
54         def_bool y
55
56 config ARCH_SUPPORTS_AOUT
57         def_bool n
58
59 # Use the generic interrupt handling code in kernel/irq/
60 config GENERIC_HARDIRQS
61         def_bool y
62
63 config HOTPLUG_CPU
64         def_bool n
65
66 config HZ
67         int
68         default 1000
69
70 mainmenu "Matsushita MN10300/AM33 Kernel Configuration"
71
72 source "init/Kconfig"
73
74
75 menu "Matsushita MN10300 system setup"
76
77 choice
78         prompt "Unit type"
79         default MN10300_UNIT_ASB2303
80         help
81           This option specifies board for which the kernel will be
82           compiled. It affects the external peripherals catered for.
83
84 config MN10300_UNIT_ASB2303
85         bool "ASB2303"
86
87 config MN10300_UNIT_ASB2305
88         bool "ASB2305"
89
90 endchoice
91
92 choice
93         prompt "Processor support"
94         default MN10300_PROC_MN103E010
95         help
96           This option specifies the processor for which the kernel will be
97           compiled. It affects the on-chip peripherals catered for.
98
99 config MN10300_PROC_MN103E010
100         bool "MN103E010"
101         depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
102         select MN10300_PROC_HAS_TTYSM0
103         select MN10300_PROC_HAS_TTYSM1
104         select MN10300_PROC_HAS_TTYSM2
105
106 endchoice
107
108 choice
109         prompt "Processor core support"
110         default MN10300_CPU_AM33V2
111         help
112           This option specifies the processor core for which the kernel will be
113           compiled. It affects the instruction set used.
114
115 config MN10300_CPU_AM33V2
116         bool "AM33v2"
117
118 endchoice
119
120 config FPU
121         bool "FPU present"
122         default y
123         depends on MN10300_PROC_MN103E010
124
125 choice
126         prompt "CPU Caching mode"
127         default MN10300_CACHE_WBACK
128         help
129           This option determines the caching mode for the kernel.
130
131           Write-Back caching mode involves the all reads and writes causing
132           the affected cacheline to be read into the cache first before being
133           operated upon. Memory is not then updated by a write until the cache
134           is filled and a cacheline needs to be displaced from the cache to
135           make room. Only at that point is it written back.
136
137           Write-Through caching only fetches cachelines from memory on a
138           read. Writes always get written directly to memory. If the affected
139           cacheline is also in cache, it will be updated too.
140
141           The final option is to turn of caching entirely.
142
143 config MN10300_CACHE_WBACK
144         bool "Write-Back"
145
146 config MN10300_CACHE_WTHRU
147         bool "Write-Through"
148
149 config MN10300_CACHE_DISABLED
150         bool "Disabled"
151
152 endchoice
153
154 menu "Memory layout options"
155
156 config KERNEL_RAM_BASE_ADDRESS
157         hex "Base address of kernel RAM"
158         default "0x90000000"
159
160 config INTERRUPT_VECTOR_BASE
161         hex "Base address of vector table"
162         default "0x90000000"
163         help
164           The base address of the vector table will be programmed into
165           the TBR register. It must be on 16MiB address boundary.
166
167 config KERNEL_TEXT_ADDRESS
168         hex "Base address of kernel"
169         default "0x90001000"
170
171 config KERNEL_ZIMAGE_BASE_ADDRESS
172         hex "Base address of compressed vmlinux image"
173         default "0x90700000"
174
175 endmenu
176
177 config PREEMPT
178         bool "Preemptible Kernel"
179         help
180           This option reduces the latency of the kernel when reacting to
181           real-time or interactive events by allowing a low priority process to
182           be preempted even if it is in kernel mode executing a system call.
183           This allows applications to run more reliably even when the system is
184           under load.
185
186           Say Y here if you are building a kernel for a desktop, embedded
187           or real-time system.  Say N if you are unsure.
188
189 config PREEMPT_BKL
190         bool "Preempt The Big Kernel Lock"
191         depends on PREEMPT
192         default y
193         help
194           This option reduces the latency of the kernel by making the
195           big kernel lock preemptible.
196
197           Say Y here if you are building a kernel for a desktop system.
198           Say N if you are unsure.
199
200 config MN10300_CURRENT_IN_E2
201         bool "Hold current task address in E2 register"
202         default y
203         help
204           This option removes the E2/R2 register from the set available to gcc
205           for normal use and instead uses it to store the address of the
206           current process's task_struct whilst in the kernel.
207
208           This means the kernel doesn't need to calculate the address each time
209           "current" is used (take SP, AND with mask and dereference pointer
210           just to get the address), and instead can just use E2+offset
211           addressing each time.
212
213           This has no effect on userspace.
214
215 config MN10300_USING_JTAG
216         bool "Using JTAG to debug kernel"
217         default y
218         help
219           This options indicates that JTAG will be used to debug the kernel. It
220           suppresses the use of certain hardware debugging features, such as
221           single-stepping, which are taken over completely by the JTAG unit.
222
223 config MN10300_RTC
224         bool "Using MN10300 RTC"
225         depends on MN10300_PROC_MN103E010
226         default n
227         help
228
229           This option enables support for the RTC, thus enabling time to be
230           tracked, even when system is powered down. This is available on-chip
231           on the MN103E010.
232
233 config MN10300_WD_TIMER
234         bool "Using MN10300 watchdog timer"
235         default y
236         help
237           This options indicates that the watchdog timer will be used.
238
239 config PCI
240         bool "Use PCI"
241         depends on MN10300_UNIT_ASB2305
242         default y
243         help
244           Some systems (such as the ASB2305) have PCI onboard. If you have one
245           of these boards and you wish to use the PCI facilities, say Y here.
246
247           The PCI-HOWTO, available from
248           <http://www.tldp.org/docs.html#howto>, contains valuable
249           information about which PCI hardware does work under Linux and which
250           doesn't.
251
252 source "drivers/pci/Kconfig"
253
254 source "drivers/pcmcia/Kconfig"
255
256 menu "MN10300 internal serial options"
257
258 config MN10300_PROC_HAS_TTYSM0
259         bool
260         default n
261
262 config MN10300_PROC_HAS_TTYSM1
263         bool
264         default n
265
266 config MN10300_PROC_HAS_TTYSM2
267         bool
268         default n
269
270 config MN10300_TTYSM
271         bool "Support for ttySM serial ports"
272         depends on MN10300
273         default y
274         select SERIAL_CORE
275         help
276           This option enables support for the on-chip serial ports that the
277           MN10300 has available.
278
279 config MN10300_TTYSM_CONSOLE
280         bool "Support for console on ttySM serial ports"
281         depends on MN10300_TTYSM
282         select SERIAL_CORE_CONSOLE
283         help
284           This option enables support for a console on the on-chip serial ports
285           that the MN10300 has available.
286
287 #
288 # /dev/ttySM0
289 #
290 config MN10300_TTYSM0
291         bool "Enable SIF0 (/dev/ttySM0)"
292         depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
293         help
294           Enable access to SIF0 through /dev/ttySM0 or gdb-stub
295
296 choice
297         prompt "Select the timer to supply the clock for SIF0"
298         default MN10300_TTYSM0_TIMER8
299         depends on MN10300_TTYSM0
300
301 config MN10300_TTYSM0_TIMER8
302         bool "Use timer 8 (16-bit)"
303
304 config MN10300_TTYSM0_TIMER2
305         bool "Use timer 2 (8-bit)"
306
307 endchoice
308
309 #
310 # /dev/ttySM1
311 #
312 config MN10300_TTYSM1
313         bool "Enable SIF1 (/dev/ttySM1)"
314         depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
315         help
316           Enable access to SIF1 through /dev/ttySM1 or gdb-stub
317
318 choice
319         prompt "Select the timer to supply the clock for SIF1"
320         default MN10300_TTYSM0_TIMER9
321         depends on MN10300_TTYSM1
322
323 config MN10300_TTYSM1_TIMER9
324         bool "Use timer 9 (16-bit)"
325
326 config MN10300_TTYSM1_TIMER3
327         bool "Use timer 3 (8-bit)"
328
329 endchoice
330
331 #
332 # /dev/ttySM2
333 #
334 config MN10300_TTYSM2
335         bool "Enable SIF2 (/dev/ttySM2)"
336         depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
337         help
338           Enable access to SIF2 through /dev/ttySM2 or gdb-stub
339
340 choice
341         prompt "Select the timer to supply the clock for SIF2"
342         default MN10300_TTYSM0_TIMER10
343         depends on MN10300_TTYSM2
344
345 config MN10300_TTYSM2_TIMER10
346         bool "Use timer 10 (16-bit)"
347
348 endchoice
349
350 config MN10300_TTYSM2_CTS
351         bool "Enable the use of the CTS line /dev/ttySM2"
352         depends on MN10300_TTYSM2
353
354 endmenu
355
356 source "mm/Kconfig"
357
358 menu "Power management options"
359 source kernel/power/Kconfig
360 endmenu
361
362 endmenu
363
364
365 menu "Executable formats"
366
367 source "fs/Kconfig.binfmt"
368
369 endmenu
370
371 source "net/Kconfig"
372
373 source "drivers/Kconfig"
374
375 source "fs/Kconfig"
376
377 source "arch/mn10300/Kconfig.debug"
378
379 source "security/Kconfig"
380
381 source "crypto/Kconfig"
382
383 source "lib/Kconfig"
384
385 source "arch/mn10300/oprofile/Kconfig"