blob: add87a5f64e947defcbed2acec182ee3f48e15ad [file] [log] [blame]
Bryan Wu1394f032007-05-06 14:50:22 -07001#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
Mike Frysinger53f8a252007-11-15 15:48:01 +08006mainmenu "Blackfin Kernel Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -07007
8config MMU
9 bool
10 default n
11
12config FPU
13 bool
14 default n
15
16config RWSEM_GENERIC_SPINLOCK
17 bool
18 default y
19
20config RWSEM_XCHGADD_ALGORITHM
21 bool
22 default n
23
24config BLACKFIN
25 bool
26 default y
Sam Ravnborgec7748b2008-02-09 10:46:40 +010027 select HAVE_IDE
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050028 select HAVE_OPROFILE
Bryan Wu1394f032007-05-06 14:50:22 -070029
Aubrey Lie3defff2007-05-21 18:09:11 +080030config ZONE_DMA
31 bool
32 default y
33
Bryan Wu1394f032007-05-06 14:50:22 -070034config GENERIC_FIND_NEXT_BIT
35 bool
36 default y
37
38config GENERIC_HWEIGHT
39 bool
40 default y
41
42config GENERIC_HARDIRQS
43 bool
44 default y
45
46config GENERIC_IRQ_PROBE
Mike Frysingere4e9a7a2007-11-15 20:39:34 +080047 bool
Bryan Wu1394f032007-05-06 14:50:22 -070048 default y
49
Michael Hennerichb2d15832007-07-24 15:46:36 +080050config GENERIC_GPIO
Bryan Wu1394f032007-05-06 14:50:22 -070051 bool
52 default y
53
54config FORCE_MAX_ZONEORDER
55 int
56 default "14"
57
58config GENERIC_CALIBRATE_DELAY
59 bool
60 default y
61
Mathieu Desnoyers7d2284b2008-01-15 12:42:02 -050062config HARDWARE_PM
63 def_bool y
64 depends on OPROFILE
65
Bryan Wu1394f032007-05-06 14:50:22 -070066source "init/Kconfig"
67source "kernel/Kconfig.preempt"
68
69menu "Blackfin Processor Options"
70
71comment "Processor and Board Settings"
72
73choice
74 prompt "CPU"
75 default BF533
76
Michael Hennerich59003142007-10-21 16:54:27 +080077config BF522
78 bool "BF522"
79 help
80 BF522 Processor Support.
81
Mike Frysinger1545a112007-12-24 16:54:48 +080082config BF523
83 bool "BF523"
84 help
85 BF523 Processor Support.
86
87config BF524
88 bool "BF524"
89 help
90 BF524 Processor Support.
91
Michael Hennerich59003142007-10-21 16:54:27 +080092config BF525
93 bool "BF525"
94 help
95 BF525 Processor Support.
96
Mike Frysinger1545a112007-12-24 16:54:48 +080097config BF526
98 bool "BF526"
99 help
100 BF526 Processor Support.
101
Michael Hennerich59003142007-10-21 16:54:27 +0800102config BF527
103 bool "BF527"
104 help
105 BF527 Processor Support.
106
Bryan Wu1394f032007-05-06 14:50:22 -0700107config BF531
108 bool "BF531"
109 help
110 BF531 Processor Support.
111
112config BF532
113 bool "BF532"
114 help
115 BF532 Processor Support.
116
117config BF533
118 bool "BF533"
119 help
120 BF533 Processor Support.
121
122config BF534
123 bool "BF534"
124 help
125 BF534 Processor Support.
126
127config BF536
128 bool "BF536"
129 help
130 BF536 Processor Support.
131
132config BF537
133 bool "BF537"
134 help
135 BF537 Processor Support.
136
Roy Huang24a07a12007-07-12 22:41:45 +0800137config BF542
138 bool "BF542"
139 help
140 BF542 Processor Support.
141
142config BF544
143 bool "BF544"
144 help
145 BF544 Processor Support.
146
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800147config BF547
148 bool "BF547"
149 help
150 BF547 Processor Support.
151
Roy Huang24a07a12007-07-12 22:41:45 +0800152config BF548
153 bool "BF548"
154 help
155 BF548 Processor Support.
156
157config BF549
158 bool "BF549"
159 help
160 BF549 Processor Support.
161
Bryan Wu1394f032007-05-06 14:50:22 -0700162config BF561
163 bool "BF561"
164 help
165 Not Supported Yet - Work in progress - BF561 Processor Support.
166
167endchoice
168
169choice
170 prompt "Silicon Rev"
Michael Hennerich59003142007-10-21 16:54:27 +0800171 default BF_REV_0_1 if BF527
Bryan Wu1394f032007-05-06 14:50:22 -0700172 default BF_REV_0_2 if BF537
173 default BF_REV_0_3 if BF533
Roy Huang24a07a12007-07-12 22:41:45 +0800174 default BF_REV_0_0 if BF549
175
176config BF_REV_0_0
177 bool "0.0"
Mike Frysingerd07f4382007-11-15 15:49:17 +0800178 depends on (BF52x || BF54x)
Michael Hennerich59003142007-10-21 16:54:27 +0800179
180config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800181 bool "0.1"
182 depends on (BF52x || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700183
184config BF_REV_0_2
185 bool "0.2"
186 depends on (BF537 || BF536 || BF534)
187
188config BF_REV_0_3
189 bool "0.3"
190 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
191
192config BF_REV_0_4
193 bool "0.4"
194 depends on (BF561 || BF533 || BF532 || BF531)
195
196config BF_REV_0_5
197 bool "0.5"
198 depends on (BF561 || BF533 || BF532 || BF531)
199
Jie Zhangde3025f2007-06-25 18:04:12 +0800200config BF_REV_ANY
201 bool "any"
202
203config BF_REV_NONE
204 bool "none"
205
Bryan Wu1394f032007-05-06 14:50:22 -0700206endchoice
207
Michael Hennerich59003142007-10-21 16:54:27 +0800208config BF52x
209 bool
Mike Frysinger1545a112007-12-24 16:54:48 +0800210 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
Michael Hennerich59003142007-10-21 16:54:27 +0800211 default y
212
Roy Huang24a07a12007-07-12 22:41:45 +0800213config BF53x
214 bool
215 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
216 default y
217
218config BF54x
219 bool
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800220 depends on (BF542 || BF544 || BF547 || BF548 || BF549)
Roy Huang24a07a12007-07-12 22:41:45 +0800221 default y
222
Bryan Wu1394f032007-05-06 14:50:22 -0700223config BFIN_DUAL_CORE
224 bool
225 depends on (BF561)
226 default y
227
228config BFIN_SINGLE_CORE
229 bool
230 depends on !BFIN_DUAL_CORE
231 default y
232
Bryan Wu1394f032007-05-06 14:50:22 -0700233config MEM_GENERIC_BOARD
234 bool
235 depends on GENERIC_BOARD
236 default y
237
238config MEM_MT48LC64M4A2FB_7E
239 bool
240 depends on (BFIN533_STAMP)
241 default y
242
243config MEM_MT48LC16M16A2TG_75
244 bool
245 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Javier Herreroab472a02007-10-29 16:14:44 +0800246 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
247 || H8606_HVSISTEMAS)
Bryan Wu1394f032007-05-06 14:50:22 -0700248 default y
249
250config MEM_MT48LC32M8A2_75
251 bool
252 depends on (BFIN537_STAMP || PNAV10)
253 default y
254
255config MEM_MT48LC8M32B2B5_7
256 bool
257 depends on (BFIN561_BLUETECHNIX_CM)
258 default y
259
Michael Hennerich59003142007-10-21 16:54:27 +0800260config MEM_MT48LC32M16A2TG_75
261 bool
262 depends on (BFIN527_EZKIT)
263 default y
264
Michael Hennerich59003142007-10-21 16:54:27 +0800265source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700266source "arch/blackfin/mach-bf533/Kconfig"
267source "arch/blackfin/mach-bf561/Kconfig"
268source "arch/blackfin/mach-bf537/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800269source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700270
271menu "Board customizations"
272
273config CMDLINE_BOOL
274 bool "Default bootloader kernel arguments"
275
276config CMDLINE
277 string "Initial kernel command string"
278 depends on CMDLINE_BOOL
279 default "console=ttyBF0,57600"
280 help
281 If you don't have a boot loader capable of passing a command line string
282 to the kernel, you may specify one here. As a minimum, you should specify
283 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
284
Robin Getzf16295e2007-08-03 18:07:17 +0800285comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700286
287config CLKIN_HZ
288 int "Crystal Frequency in Hz"
289 default "11059200" if BFIN533_STAMP
290 default "27000000" if BFIN533_EZKIT
Javier Herreroab472a02007-10-29 16:14:44 +0800291 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS)
Bryan Wu1394f032007-05-06 14:50:22 -0700292 default "30000000" if BFIN561_EZKIT
293 default "24576000" if PNAV10
294 help
295 The frequency of CLKIN crystal oscillator on the board in Hz.
296
Robin Getzf16295e2007-08-03 18:07:17 +0800297config BFIN_KERNEL_CLOCK
298 bool "Re-program Clocks while Kernel boots?"
299 default n
300 help
301 This option decides if kernel clocks are re-programed from the
302 bootloader settings. If the clocks are not set, the SDRAM settings
303 are also not changed, and the Bootloader does 100% of the hardware
304 configuration.
305
Mike Frysinger618835a2008-04-23 08:07:05 +0800306config MEM_ADD_WIDTH
307 int "Memory Address Width"
308 depends on BFIN_KERNEL_CLOCK
309 depends on (!BF54x)
310 default 9 if BFIN533_EZKIT
311 default 9 if BFIN561_EZKIT
312 default 9 if H8606_HVSISTEMAS
313 default 10 if BFIN527_EZKIT
314 default 10 if BFIN537_STAMP
315 default 11 if BFIN533_STAMP
316 default 10 if PNAV10
317
Robin Getzf16295e2007-08-03 18:07:17 +0800318config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800319 bool "Bypass PLL"
320 depends on BFIN_KERNEL_CLOCK
321 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800322
323config CLKIN_HALF
324 bool "Half Clock In"
325 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
326 default n
327 help
328 If this is set the clock will be divided by 2, before it goes to the PLL.
329
330config VCO_MULT
331 int "VCO Multiplier"
332 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
333 range 1 64
334 default "22" if BFIN533_EZKIT
335 default "45" if BFIN533_STAMP
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800336 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800337 default "22" if BFIN533_BLUETECHNIX_CM
338 default "20" if BFIN537_BLUETECHNIX_CM
339 default "20" if BFIN561_BLUETECHNIX_CM
340 default "20" if BFIN561_EZKIT
Javier Herreroab472a02007-10-29 16:14:44 +0800341 default "16" if H8606_HVSISTEMAS
Robin Getzf16295e2007-08-03 18:07:17 +0800342 help
343 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
344 PLL Frequency = (Crystal Frequency) * (this setting)
345
346choice
347 prompt "Core Clock Divider"
348 depends on BFIN_KERNEL_CLOCK
349 default CCLK_DIV_1
350 help
351 This sets the frequency of the core. It can be 1, 2, 4 or 8
352 Core Frequency = (PLL frequency) / (this setting)
353
354config CCLK_DIV_1
355 bool "1"
356
357config CCLK_DIV_2
358 bool "2"
359
360config CCLK_DIV_4
361 bool "4"
362
363config CCLK_DIV_8
364 bool "8"
365endchoice
366
367config SCLK_DIV
368 int "System Clock Divider"
369 depends on BFIN_KERNEL_CLOCK
370 range 1 15
371 default 5 if BFIN533_EZKIT
372 default 5 if BFIN533_STAMP
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800373 default 4 if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800374 default 5 if BFIN533_BLUETECHNIX_CM
375 default 4 if BFIN537_BLUETECHNIX_CM
376 default 4 if BFIN561_BLUETECHNIX_CM
377 default 5 if BFIN561_EZKIT
Javier Herreroab472a02007-10-29 16:14:44 +0800378 default 3 if H8606_HVSISTEMAS
Robin Getzf16295e2007-08-03 18:07:17 +0800379 help
380 This sets the frequency of the system clock (including SDRAM or DDR).
381 This can be between 1 and 15
382 System Clock = (PLL frequency) / (this setting)
383
384#
385# Max & Min Speeds for various Chips
386#
387config MAX_VCO_HZ
388 int
389 default 600000000 if BF522
Mike Frysinger1545a112007-12-24 16:54:48 +0800390 default 400000000 if BF523
391 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800392 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800393 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800394 default 600000000 if BF527
395 default 400000000 if BF531
396 default 400000000 if BF532
397 default 750000000 if BF533
398 default 500000000 if BF534
399 default 400000000 if BF536
400 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800401 default 533333333 if BF538
402 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800403 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800404 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800405 default 600000000 if BF547
406 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800407 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800408 default 600000000 if BF561
409
410config MIN_VCO_HZ
411 int
412 default 50000000
413
414config MAX_SCLK_HZ
415 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800416 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800417
418config MIN_SCLK_HZ
419 int
420 default 27000000
421
422comment "Kernel Timer/Scheduler"
423
424source kernel/Kconfig.hz
425
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800426config GENERIC_TIME
427 bool "Generic time"
428 default y
429
430config GENERIC_CLOCKEVENTS
431 bool "Generic clock events"
432 depends on GENERIC_TIME
433 default y
434
435config CYCLES_CLOCKSOURCE
436 bool "Use 'CYCLES' as a clocksource (EXPERIMENTAL)"
437 depends on EXPERIMENTAL
438 depends on GENERIC_CLOCKEVENTS
439 depends on !BFIN_SCRATCH_REG_CYCLES
440 default n
441 help
442 If you say Y here, you will enable support for using the 'cycles'
443 registers as a clock source. Doing so means you will be unable to
444 safely write to the 'cycles' register during runtime. You will
445 still be able to read it (such as for performance monitoring), but
446 writing the registers will most likely crash the kernel.
447
448source kernel/time/Kconfig
449
Robin Getzf16295e2007-08-03 18:07:17 +0800450comment "Memory Setup"
451
Bryan Wu1394f032007-05-06 14:50:22 -0700452config MEM_SIZE
453 int "SDRAM Memory Size in MBytes"
454 default 32 if BFIN533_EZKIT
Michael Hennerich59003142007-10-21 16:54:27 +0800455 default 64 if BFIN527_EZKIT
Bryan Wu1394f032007-05-06 14:50:22 -0700456 default 64 if BFIN537_STAMP
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800457 default 64 if BFIN548_EZKIT
Bryan Wu1394f032007-05-06 14:50:22 -0700458 default 64 if BFIN561_EZKIT
459 default 128 if BFIN533_STAMP
460 default 64 if PNAV10
Javier Herreroab472a02007-10-29 16:14:44 +0800461 default 32 if H8606_HVSISTEMAS
Bryan Wu1394f032007-05-06 14:50:22 -0700462
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800463choice
464 prompt "DDR SDRAM Chip Type"
465 depends on BFIN548_EZKIT
466 default MEM_MT46V32M16_5B
467
468config MEM_MT46V32M16_6T
469 bool "MT46V32M16_6T"
470
471config MEM_MT46V32M16_5B
472 bool "MT46V32M16_5B"
473endchoice
474
Bryan Wu1394f032007-05-06 14:50:22 -0700475config ENET_FLASH_PIN
476 int "PF port/pin used for flash and ethernet sharing"
477 depends on (BFIN533_STAMP)
478 default 0
479 help
480 PF port/pin used for flash and ethernet sharing to allow other PF
481 pins to be used on other platforms without having to touch common
482 code.
483 For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
484
485config BOOT_LOAD
486 hex "Kernel load address for booting"
487 default "0x1000"
Mike Frysinger2d8f1612007-08-05 14:06:16 +0800488 range 0x1000 0x20000000
Bryan Wu1394f032007-05-06 14:50:22 -0700489 help
490 This option allows you to set the load address of the kernel.
491 This can be useful if you are on a board which has a small amount
492 of memory or you wish to reserve some memory at the beginning of
493 the address space.
494
Mike Frysinger2d8f1612007-08-05 14:06:16 +0800495 Note that you need to keep this value above 4k (0x1000) as this
496 memory region is used to capture NULL pointer references as well
497 as some core kernel functions.
Bryan Wu1394f032007-05-06 14:50:22 -0700498
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800499choice
500 prompt "Blackfin Exception Scratch Register"
501 default BFIN_SCRATCH_REG_RETN
502 help
503 Select the resource to reserve for the Exception handler:
504 - RETN: Non-Maskable Interrupt (NMI)
505 - RETE: Exception Return (JTAG/ICE)
506 - CYCLES: Performance counter
507
508 If you are unsure, please select "RETN".
509
510config BFIN_SCRATCH_REG_RETN
511 bool "RETN"
512 help
513 Use the RETN register in the Blackfin exception handler
514 as a stack scratch register. This means you cannot
515 safely use NMI on the Blackfin while running Linux, but
516 you can debug the system with a JTAG ICE and use the
517 CYCLES performance registers.
518
519 If you are unsure, please select "RETN".
520
521config BFIN_SCRATCH_REG_RETE
522 bool "RETE"
523 help
524 Use the RETE register in the Blackfin exception handler
525 as a stack scratch register. This means you cannot
526 safely use a JTAG ICE while debugging a Blackfin board,
527 but you can safely use the CYCLES performance registers
528 and the NMI.
529
530 If you are unsure, please select "RETN".
531
532config BFIN_SCRATCH_REG_CYCLES
533 bool "CYCLES"
534 help
535 Use the CYCLES register in the Blackfin exception handler
536 as a stack scratch register. This means you cannot
537 safely use the CYCLES performance registers on a Blackfin
538 board at anytime, but you can debug the system with a JTAG
539 ICE and use the NMI.
540
541 If you are unsure, please select "RETN".
542
543endchoice
544
Bryan Wu1394f032007-05-06 14:50:22 -0700545endmenu
546
547
548menu "Blackfin Kernel Optimizations"
549
Bryan Wu1394f032007-05-06 14:50:22 -0700550comment "Memory Optimizations"
551
552config I_ENTRY_L1
553 bool "Locate interrupt entry code in L1 Memory"
554 default y
555 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200556 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
557 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700558
559config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200560 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700561 default y
562 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200563 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800564 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200565 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700566
567config DO_IRQ_L1
568 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
569 default y
570 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200571 If enabled, the frequently called do_irq dispatcher function is linked
572 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700573
574config CORE_TIMER_IRQ_L1
575 bool "Locate frequently called timer_interrupt() function in L1 Memory"
576 default y
577 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200578 If enabled, the frequently called timer_interrupt() function is linked
579 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700580
581config IDLE_L1
582 bool "Locate frequently idle function in L1 Memory"
583 default y
584 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200585 If enabled, the frequently called idle function is linked
586 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700587
588config SCHEDULE_L1
589 bool "Locate kernel schedule function in L1 Memory"
590 default y
591 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200592 If enabled, the frequently called kernel schedule is linked
593 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700594
595config ARITHMETIC_OPS_L1
596 bool "Locate kernel owned arithmetic functions in L1 Memory"
597 default y
598 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200599 If enabled, arithmetic functions are linked
600 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700601
602config ACCESS_OK_L1
603 bool "Locate access_ok function in L1 Memory"
604 default y
605 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200606 If enabled, the access_ok function is linked
607 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700608
609config MEMSET_L1
610 bool "Locate memset function in L1 Memory"
611 default y
612 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200613 If enabled, the memset function is linked
614 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700615
616config MEMCPY_L1
617 bool "Locate memcpy function in L1 Memory"
618 default y
619 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200620 If enabled, the memcpy function is linked
621 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700622
623config SYS_BFIN_SPINLOCK_L1
624 bool "Locate sys_bfin_spinlock function in L1 Memory"
625 default y
626 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200627 If enabled, sys_bfin_spinlock function is linked
628 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700629
630config IP_CHECKSUM_L1
631 bool "Locate IP Checksum function in L1 Memory"
632 default n
633 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200634 If enabled, the IP Checksum function is linked
635 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700636
637config CACHELINE_ALIGNED_L1
638 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800639 default y if !BF54x
640 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700641 depends on !BF531
642 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200643 If enabled, cacheline_anligned data is linked
644 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700645
646config SYSCALL_TAB_L1
647 bool "Locate Syscall Table L1 Data Memory"
648 default n
649 depends on !BF531
650 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200651 If enabled, the Syscall LUT is linked
652 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700653
654config CPLB_SWITCH_TAB_L1
655 bool "Locate CPLB Switch Tables L1 Data Memory"
656 default n
657 depends on !BF531
658 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200659 If enabled, the CPLB Switch Tables are linked
660 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700661
662endmenu
663
664
665choice
666 prompt "Kernel executes from"
667 help
668 Choose the memory type that the kernel will be running in.
669
670config RAMKERNEL
671 bool "RAM"
672 help
673 The kernel will be resident in RAM when running.
674
675config ROMKERNEL
676 bool "ROM"
677 help
678 The kernel will be resident in FLASH/ROM when running.
679
680endchoice
681
682source "mm/Kconfig"
683
Bryan Wudb0fa202007-07-12 14:55:05 +0800684config LARGE_ALLOCS
685 bool "Allow allocating large blocks (> 1MB) of memory"
686 help
687 Allow the slab memory allocator to keep chains for very large
688 memory sizes - upto 32MB. You may need this if your system has
689 a lot of RAM, and you need to able to allocate very large
690 contiguous chunks. If unsure, say N.
691
Mike Frysinger780431e2007-10-21 23:37:54 +0800692config BFIN_GPTIMERS
693 tristate "Enable Blackfin General Purpose Timers API"
694 default n
695 help
696 Enable support for the General Purpose Timers API. If you
697 are unsure, say N.
698
699 To compile this driver as a module, choose M here: the module
700 will be called gptimers.ko.
701
Bryan Wu1394f032007-05-06 14:50:22 -0700702config BFIN_DMA_5XX
703 bool "Enable DMA Support"
Michael Hennerich59003142007-10-21 16:54:27 +0800704 depends on (BF52x || BF53x || BF561 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700705 default y
706 help
707 DMA driver for BF5xx.
708
709choice
710 prompt "Uncached SDRAM region"
711 default DMA_UNCACHED_1M
Adrian Bunk247537b2007-09-26 20:02:52 +0200712 depends on BFIN_DMA_5XX
Bryan Wu1394f032007-05-06 14:50:22 -0700713config DMA_UNCACHED_2M
714 bool "Enable 2M DMA region"
715config DMA_UNCACHED_1M
716 bool "Enable 1M DMA region"
717config DMA_UNCACHED_NONE
718 bool "Disable DMA region"
719endchoice
720
721
722comment "Cache Support"
Robin Getz3bebca22007-10-10 23:55:26 +0800723config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700724 bool "Enable ICACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800725config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700726 bool "Enable DCACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800727config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700728 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800729 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700730 default n
Robin Getz3bebca22007-10-10 23:55:26 +0800731config BFIN_ICACHE_LOCK
732 bool "Enable Instruction Cache Locking"
Bryan Wu1394f032007-05-06 14:50:22 -0700733
734choice
735 prompt "Policy"
Robin Getz3bebca22007-10-10 23:55:26 +0800736 depends on BFIN_DCACHE
737 default BFIN_WB
738config BFIN_WB
Bryan Wu1394f032007-05-06 14:50:22 -0700739 bool "Write back"
740 help
741 Write Back Policy:
742 Cached data will be written back to SDRAM only when needed.
743 This can give a nice increase in performance, but beware of
744 broken drivers that do not properly invalidate/flush their
745 cache.
746
747 Write Through Policy:
748 Cached data will always be written back to SDRAM when the
749 cache is updated. This is a completely safe setting, but
750 performance is worse than Write Back.
751
752 If you are unsure of the options and you want to be safe,
753 then go with Write Through.
754
Robin Getz3bebca22007-10-10 23:55:26 +0800755config BFIN_WT
Bryan Wu1394f032007-05-06 14:50:22 -0700756 bool "Write through"
757 help
758 Write Back Policy:
759 Cached data will be written back to SDRAM only when needed.
760 This can give a nice increase in performance, but beware of
761 broken drivers that do not properly invalidate/flush their
762 cache.
763
764 Write Through Policy:
765 Cached data will always be written back to SDRAM when the
766 cache is updated. This is a completely safe setting, but
767 performance is worse than Write Back.
768
769 If you are unsure of the options and you want to be safe,
770 then go with Write Through.
771
772endchoice
773
774config L1_MAX_PIECE
775 int "Set the max L1 SRAM pieces"
776 default 16
777 help
778 Set the max memory pieces for the L1 SRAM allocation algorithm.
779 Min value is 16. Max value is 1024.
780
Bernd Schmidtb97b8a92008-01-27 18:39:16 +0800781
782config MPU
783 bool "Enable the memory protection unit (EXPERIMENTAL)"
784 default n
785 help
786 Use the processor's MPU to protect applications from accessing
787 memory they do not own. This comes at a performance penalty
788 and is recommended only for debugging.
789
Bryan Wu1394f032007-05-06 14:50:22 -0700790comment "Asynchonous Memory Configuration"
791
Mike Frysingerddf416b2007-10-10 18:06:47 +0800792menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -0700793config C_AMCKEN
794 bool "Enable CLKOUT"
795 default y
796
797config C_CDPRIO
798 bool "DMA has priority over core for ext. accesses"
799 default n
800
801config C_B0PEN
802 depends on BF561
803 bool "Bank 0 16 bit packing enable"
804 default y
805
806config C_B1PEN
807 depends on BF561
808 bool "Bank 1 16 bit packing enable"
809 default y
810
811config C_B2PEN
812 depends on BF561
813 bool "Bank 2 16 bit packing enable"
814 default y
815
816config C_B3PEN
817 depends on BF561
818 bool "Bank 3 16 bit packing enable"
819 default n
820
821choice
822 prompt"Enable Asynchonous Memory Banks"
823 default C_AMBEN_ALL
824
825config C_AMBEN
826 bool "Disable All Banks"
827
828config C_AMBEN_B0
829 bool "Enable Bank 0"
830
831config C_AMBEN_B0_B1
832 bool "Enable Bank 0 & 1"
833
834config C_AMBEN_B0_B1_B2
835 bool "Enable Bank 0 & 1 & 2"
836
837config C_AMBEN_ALL
838 bool "Enable All Banks"
839endchoice
840endmenu
841
842menu "EBIU_AMBCTL Control"
843config BANK_0
844 hex "Bank 0"
845 default 0x7BB0
846
847config BANK_1
848 hex "Bank 1"
849 default 0x7BB0
850
851config BANK_2
852 hex "Bank 2"
853 default 0x7BB0
854
855config BANK_3
856 hex "Bank 3"
857 default 0x99B3
858endmenu
859
Sonic Zhange40540b2007-11-21 23:49:52 +0800860config EBIU_MBSCTLVAL
861 hex "EBIU Bank Select Control Register"
862 depends on BF54x
863 default 0
864
865config EBIU_MODEVAL
866 hex "Flash Memory Mode Control Register"
867 depends on BF54x
868 default 1
869
870config EBIU_FCTLVAL
871 hex "Flash Memory Bank Control Register"
872 depends on BF54x
873 default 6
Bryan Wu1394f032007-05-06 14:50:22 -0700874endmenu
875
876#############################################################################
877menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
878
879config PCI
880 bool "PCI support"
881 help
882 Support for PCI bus.
883
884source "drivers/pci/Kconfig"
885
886config HOTPLUG
887 bool "Support for hot-pluggable device"
888 help
889 Say Y here if you want to plug devices into your computer while
890 the system is running, and be able to use them quickly. In many
891 cases, the devices can likewise be unplugged at any time too.
892
893 One well known example of this is PCMCIA- or PC-cards, credit-card
894 size devices such as network cards, modems or hard drives which are
895 plugged into slots found on all modern laptop computers. Another
896 example, used on modern desktops as well as laptops, is USB.
897
898 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
899 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
900 Then your kernel will automatically call out to a user mode "policy
901 agent" (/sbin/hotplug) to load modules and set up software needed
902 to use devices as you hotplug them.
903
904source "drivers/pcmcia/Kconfig"
905
906source "drivers/pci/hotplug/Kconfig"
907
908endmenu
909
910menu "Executable file formats"
911
912source "fs/Kconfig.binfmt"
913
914endmenu
915
916menu "Power management options"
917source "kernel/power/Kconfig"
918
Johannes Bergf4cb5702007-12-08 02:14:00 +0100919config ARCH_SUSPEND_POSSIBLE
920 def_bool y
921 depends on !SMP
922
Bryan Wu1394f032007-05-06 14:50:22 -0700923choice
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800924 prompt "Default Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -0700925 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800926 default PM_BFIN_SLEEP_DEEPER
927config PM_BFIN_SLEEP_DEEPER
928 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -0700929 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800930 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
931 power dissipation by disabling the clock to the processor core (CCLK).
932 Furthermore, Standby sets the internal power supply voltage (VDDINT)
933 to 0.85 V to provide the greatest power savings, while preserving the
934 processor state.
935 The PLL and system clock (SCLK) continue to operate at a very low
936 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
937 the SDRAM is put into Self Refresh Mode. Typically an external event
938 such as GPIO interrupt or RTC activity wakes up the processor.
939 Various Peripherals such as UART, SPORT, PPI may not function as
940 normal during Sleep Deeper, due to the reduced SCLK frequency.
941 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -0700942
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800943config PM_BFIN_SLEEP
944 bool "Sleep"
945 help
946 Sleep Mode (High Power Savings) - The sleep mode reduces power
947 dissipation by disabling the clock to the processor core (CCLK).
948 The PLL and system clock (SCLK), however, continue to operate in
949 this mode. Typically an external event or RTC activity will wake
950 up the processor. When in the sleep mode,
951 system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -0700952endchoice
953
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800954config PM_WAKEUP_BY_GPIO
955 bool "Cause Wakeup Event by GPIO"
Bryan Wu1394f032007-05-06 14:50:22 -0700956
957config PM_WAKEUP_GPIO_NUMBER
958 int "Wakeup GPIO number"
959 range 0 47
960 depends on PM_WAKEUP_BY_GPIO
961 default 2 if BFIN537_STAMP
962
963choice
964 prompt "GPIO Polarity"
965 depends on PM_WAKEUP_BY_GPIO
966 default PM_WAKEUP_GPIO_POLAR_H
967config PM_WAKEUP_GPIO_POLAR_H
968 bool "Active High"
969config PM_WAKEUP_GPIO_POLAR_L
970 bool "Active Low"
971config PM_WAKEUP_GPIO_POLAR_EDGE_F
972 bool "Falling EDGE"
973config PM_WAKEUP_GPIO_POLAR_EDGE_R
974 bool "Rising EDGE"
975config PM_WAKEUP_GPIO_POLAR_EDGE_B
976 bool "Both EDGE"
977endchoice
978
979endmenu
980
Roy Huang24a07a12007-07-12 22:41:45 +0800981if (BF537 || BF533 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700982
983menu "CPU Frequency scaling"
984
985source "drivers/cpufreq/Kconfig"
986
987config CPU_FREQ
988 bool
989 default n
990 help
991 If you want to enable this option, you should select the
992 DPMC driver from Character Devices.
993endmenu
994
995endif
996
997source "net/Kconfig"
998
999source "drivers/Kconfig"
1000
1001source "fs/Kconfig"
1002
Mike Frysinger74ce8322007-11-21 23:50:49 +08001003source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001004
1005source "security/Kconfig"
1006
1007source "crypto/Kconfig"
1008
1009source "lib/Kconfig"