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