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