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