blob: eba22c219820fa51c77986c978d680d7deb0164f [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 MEM_GENERIC_BOARD
224 bool
225 depends on GENERIC_BOARD
226 default y
227
228config MEM_MT48LC64M4A2FB_7E
229 bool
230 depends on (BFIN533_STAMP)
231 default y
232
233config MEM_MT48LC16M16A2TG_75
234 bool
235 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Javier Herreroab472a02007-10-29 16:14:44 +0800236 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
237 || H8606_HVSISTEMAS)
Bryan Wu1394f032007-05-06 14:50:22 -0700238 default y
239
240config MEM_MT48LC32M8A2_75
241 bool
242 depends on (BFIN537_STAMP || PNAV10)
243 default y
244
245config MEM_MT48LC8M32B2B5_7
246 bool
247 depends on (BFIN561_BLUETECHNIX_CM)
248 default y
249
Michael Hennerich59003142007-10-21 16:54:27 +0800250config MEM_MT48LC32M16A2TG_75
251 bool
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800252 depends on (BFIN527_EZKIT || BFIN532_IP0X)
Michael Hennerich59003142007-10-21 16:54:27 +0800253 default y
254
Michael Hennerich59003142007-10-21 16:54:27 +0800255source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700256source "arch/blackfin/mach-bf533/Kconfig"
257source "arch/blackfin/mach-bf561/Kconfig"
258source "arch/blackfin/mach-bf537/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800259source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700260
261menu "Board customizations"
262
263config CMDLINE_BOOL
264 bool "Default bootloader kernel arguments"
265
266config CMDLINE
267 string "Initial kernel command string"
268 depends on CMDLINE_BOOL
269 default "console=ttyBF0,57600"
270 help
271 If you don't have a boot loader capable of passing a command line string
272 to the kernel, you may specify one here. As a minimum, you should specify
273 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
274
Mike Frysinger5f004c22008-04-25 02:11:24 +0800275config BOOT_LOAD
276 hex "Kernel load address for booting"
277 default "0x1000"
278 range 0x1000 0x20000000
279 help
280 This option allows you to set the load address of the kernel.
281 This can be useful if you are on a board which has a small amount
282 of memory or you wish to reserve some memory at the beginning of
283 the address space.
284
285 Note that you need to keep this value above 4k (0x1000) as this
286 memory region is used to capture NULL pointer references as well
287 as some core kernel functions.
288
Robin Getzf16295e2007-08-03 18:07:17 +0800289comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700290
291config CLKIN_HZ
292 int "Crystal Frequency in Hz"
293 default "11059200" if BFIN533_STAMP
294 default "27000000" if BFIN533_EZKIT
Javier Herreroab472a02007-10-29 16:14:44 +0800295 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS)
Bryan Wu1394f032007-05-06 14:50:22 -0700296 default "30000000" if BFIN561_EZKIT
297 default "24576000" if PNAV10
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800298 default "10000000" if BFIN532_IP0X
Bryan Wu1394f032007-05-06 14:50:22 -0700299 help
300 The frequency of CLKIN crystal oscillator on the board in Hz.
301
Robin Getzf16295e2007-08-03 18:07:17 +0800302config BFIN_KERNEL_CLOCK
303 bool "Re-program Clocks while Kernel boots?"
304 default n
305 help
306 This option decides if kernel clocks are re-programed from the
307 bootloader settings. If the clocks are not set, the SDRAM settings
308 are also not changed, and the Bootloader does 100% of the hardware
309 configuration.
310
Mike Frysingera086ee222008-04-25 02:04:05 +0800311config MEM_SIZE
312 int "SDRAM Memory Size in MBytes"
313 depends on BFIN_KERNEL_CLOCK
314 default 64
315
Mike Frysinger618835a2008-04-23 08:07:05 +0800316config MEM_ADD_WIDTH
317 int "Memory Address Width"
318 depends on BFIN_KERNEL_CLOCK
319 depends on (!BF54x)
Mike Frysinger5f004c22008-04-25 02:11:24 +0800320 range 8 11
Mike Frysinger618835a2008-04-23 08:07:05 +0800321 default 9 if BFIN533_EZKIT
322 default 9 if BFIN561_EZKIT
323 default 9 if H8606_HVSISTEMAS
324 default 10 if BFIN527_EZKIT
325 default 10 if BFIN537_STAMP
326 default 11 if BFIN533_STAMP
327 default 10 if PNAV10
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800328 default 10 if BFIN532_IP0X
Mike Frysinger618835a2008-04-23 08:07:05 +0800329
Robin Getzf16295e2007-08-03 18:07:17 +0800330config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800331 bool "Bypass PLL"
332 depends on BFIN_KERNEL_CLOCK
333 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800334
335config CLKIN_HALF
336 bool "Half Clock In"
337 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
338 default n
339 help
340 If this is set the clock will be divided by 2, before it goes to the PLL.
341
342config VCO_MULT
343 int "VCO Multiplier"
344 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
345 range 1 64
346 default "22" if BFIN533_EZKIT
347 default "45" if BFIN533_STAMP
Michael Hennerichdb682542008-04-24 03:18:59 +0800348 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800349 default "22" if BFIN533_BLUETECHNIX_CM
350 default "20" if BFIN537_BLUETECHNIX_CM
351 default "20" if BFIN561_BLUETECHNIX_CM
352 default "20" if BFIN561_EZKIT
Javier Herreroab472a02007-10-29 16:14:44 +0800353 default "16" if H8606_HVSISTEMAS
Robin Getzf16295e2007-08-03 18:07:17 +0800354 help
355 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
356 PLL Frequency = (Crystal Frequency) * (this setting)
357
358choice
359 prompt "Core Clock Divider"
360 depends on BFIN_KERNEL_CLOCK
361 default CCLK_DIV_1
362 help
363 This sets the frequency of the core. It can be 1, 2, 4 or 8
364 Core Frequency = (PLL frequency) / (this setting)
365
366config CCLK_DIV_1
367 bool "1"
368
369config CCLK_DIV_2
370 bool "2"
371
372config CCLK_DIV_4
373 bool "4"
374
375config CCLK_DIV_8
376 bool "8"
377endchoice
378
379config SCLK_DIV
380 int "System Clock Divider"
381 depends on BFIN_KERNEL_CLOCK
382 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800383 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800384 help
385 This sets the frequency of the system clock (including SDRAM or DDR).
386 This can be between 1 and 15
387 System Clock = (PLL frequency) / (this setting)
388
Mike Frysingera086ee222008-04-25 02:04:05 +0800389config MAX_MEM_SIZE
390 int "Max SDRAM Memory Size in MBytes"
391 depends on !BFIN_KERNEL_CLOCK && !MPU
392 default 512
393 help
394 This is the max memory size that the kernel will create CPLB
395 tables for. Your system will not be able to handle any more.
396
Mike Frysinger5f004c22008-04-25 02:11:24 +0800397choice
398 prompt "DDR SDRAM Chip Type"
399 depends on BFIN_KERNEL_CLOCK
400 depends on BF54x
401 default MEM_MT46V32M16_5B
402
403config MEM_MT46V32M16_6T
404 bool "MT46V32M16_6T"
405
406config MEM_MT46V32M16_5B
407 bool "MT46V32M16_5B"
408endchoice
409
Robin Getzf16295e2007-08-03 18:07:17 +0800410#
411# Max & Min Speeds for various Chips
412#
413config MAX_VCO_HZ
414 int
415 default 600000000 if BF522
Mike Frysinger1545a112007-12-24 16:54:48 +0800416 default 400000000 if BF523
417 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800418 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800419 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800420 default 600000000 if BF527
421 default 400000000 if BF531
422 default 400000000 if BF532
423 default 750000000 if BF533
424 default 500000000 if BF534
425 default 400000000 if BF536
426 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800427 default 533333333 if BF538
428 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800429 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800430 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800431 default 600000000 if BF547
432 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800433 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800434 default 600000000 if BF561
435
436config MIN_VCO_HZ
437 int
438 default 50000000
439
440config MAX_SCLK_HZ
441 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800442 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800443
444config MIN_SCLK_HZ
445 int
446 default 27000000
447
448comment "Kernel Timer/Scheduler"
449
450source kernel/Kconfig.hz
451
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800452config GENERIC_TIME
453 bool "Generic time"
454 default y
455
456config GENERIC_CLOCKEVENTS
457 bool "Generic clock events"
458 depends on GENERIC_TIME
459 default y
460
461config CYCLES_CLOCKSOURCE
462 bool "Use 'CYCLES' as a clocksource (EXPERIMENTAL)"
463 depends on EXPERIMENTAL
464 depends on GENERIC_CLOCKEVENTS
465 depends on !BFIN_SCRATCH_REG_CYCLES
466 default n
467 help
468 If you say Y here, you will enable support for using the 'cycles'
469 registers as a clock source. Doing so means you will be unable to
470 safely write to the 'cycles' register during runtime. You will
471 still be able to read it (such as for performance monitoring), but
472 writing the registers will most likely crash the kernel.
473
474source kernel/time/Kconfig
475
Robin Getzf16295e2007-08-03 18:07:17 +0800476comment "Memory Setup"
477
Mike Frysinger5f004c22008-04-25 02:11:24 +0800478comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800479
Bryan Wu1394f032007-05-06 14:50:22 -0700480config ENET_FLASH_PIN
481 int "PF port/pin used for flash and ethernet sharing"
482 depends on (BFIN533_STAMP)
483 default 0
484 help
485 PF port/pin used for flash and ethernet sharing to allow other PF
486 pins to be used on other platforms without having to touch common
487 code.
488 For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
489
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800490choice
491 prompt "Blackfin Exception Scratch Register"
492 default BFIN_SCRATCH_REG_RETN
493 help
494 Select the resource to reserve for the Exception handler:
495 - RETN: Non-Maskable Interrupt (NMI)
496 - RETE: Exception Return (JTAG/ICE)
497 - CYCLES: Performance counter
498
499 If you are unsure, please select "RETN".
500
501config BFIN_SCRATCH_REG_RETN
502 bool "RETN"
503 help
504 Use the RETN register in the Blackfin exception handler
505 as a stack scratch register. This means you cannot
506 safely use NMI on the Blackfin while running Linux, but
507 you can debug the system with a JTAG ICE and use the
508 CYCLES performance registers.
509
510 If you are unsure, please select "RETN".
511
512config BFIN_SCRATCH_REG_RETE
513 bool "RETE"
514 help
515 Use the RETE register in the Blackfin exception handler
516 as a stack scratch register. This means you cannot
517 safely use a JTAG ICE while debugging a Blackfin board,
518 but you can safely use the CYCLES performance registers
519 and the NMI.
520
521 If you are unsure, please select "RETN".
522
523config BFIN_SCRATCH_REG_CYCLES
524 bool "CYCLES"
525 help
526 Use the CYCLES register in the Blackfin exception handler
527 as a stack scratch register. This means you cannot
528 safely use the CYCLES performance registers on a Blackfin
529 board at anytime, but you can debug the system with a JTAG
530 ICE and use the NMI.
531
532 If you are unsure, please select "RETN".
533
534endchoice
535
Bryan Wu1394f032007-05-06 14:50:22 -0700536endmenu
537
538
539menu "Blackfin Kernel Optimizations"
540
Bryan Wu1394f032007-05-06 14:50:22 -0700541comment "Memory Optimizations"
542
543config I_ENTRY_L1
544 bool "Locate interrupt entry code in L1 Memory"
545 default y
546 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200547 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
548 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700549
550config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200551 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700552 default y
553 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200554 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800555 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200556 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700557
558config DO_IRQ_L1
559 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
560 default y
561 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200562 If enabled, the frequently called do_irq dispatcher function is linked
563 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700564
565config CORE_TIMER_IRQ_L1
566 bool "Locate frequently called timer_interrupt() function in L1 Memory"
567 default y
568 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200569 If enabled, the frequently called timer_interrupt() function is linked
570 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700571
572config IDLE_L1
573 bool "Locate frequently idle function in L1 Memory"
574 default y
575 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200576 If enabled, the frequently called idle function is linked
577 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700578
579config SCHEDULE_L1
580 bool "Locate kernel schedule function in L1 Memory"
581 default y
582 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200583 If enabled, the frequently called kernel schedule is linked
584 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700585
586config ARITHMETIC_OPS_L1
587 bool "Locate kernel owned arithmetic functions in L1 Memory"
588 default y
589 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200590 If enabled, arithmetic functions are linked
591 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700592
593config ACCESS_OK_L1
594 bool "Locate access_ok function in L1 Memory"
595 default y
596 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200597 If enabled, the access_ok function is linked
598 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700599
600config MEMSET_L1
601 bool "Locate memset function in L1 Memory"
602 default y
603 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200604 If enabled, the memset function is linked
605 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700606
607config MEMCPY_L1
608 bool "Locate memcpy function in L1 Memory"
609 default y
610 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200611 If enabled, the memcpy function is linked
612 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700613
614config SYS_BFIN_SPINLOCK_L1
615 bool "Locate sys_bfin_spinlock function in L1 Memory"
616 default y
617 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200618 If enabled, sys_bfin_spinlock function is linked
619 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700620
621config IP_CHECKSUM_L1
622 bool "Locate IP Checksum function in L1 Memory"
623 default n
624 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200625 If enabled, the IP Checksum function is linked
626 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700627
628config CACHELINE_ALIGNED_L1
629 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800630 default y if !BF54x
631 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700632 depends on !BF531
633 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200634 If enabled, cacheline_anligned data is linked
635 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700636
637config SYSCALL_TAB_L1
638 bool "Locate Syscall Table L1 Data Memory"
639 default n
640 depends on !BF531
641 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200642 If enabled, the Syscall LUT is linked
643 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700644
645config CPLB_SWITCH_TAB_L1
646 bool "Locate CPLB Switch Tables L1 Data Memory"
647 default n
648 depends on !BF531
649 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200650 If enabled, the CPLB Switch Tables are linked
651 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700652
653endmenu
654
655
656choice
657 prompt "Kernel executes from"
658 help
659 Choose the memory type that the kernel will be running in.
660
661config RAMKERNEL
662 bool "RAM"
663 help
664 The kernel will be resident in RAM when running.
665
666config ROMKERNEL
667 bool "ROM"
668 help
669 The kernel will be resident in FLASH/ROM when running.
670
671endchoice
672
673source "mm/Kconfig"
674
Mike Frysinger780431e2007-10-21 23:37:54 +0800675config BFIN_GPTIMERS
676 tristate "Enable Blackfin General Purpose Timers API"
677 default n
678 help
679 Enable support for the General Purpose Timers API. If you
680 are unsure, say N.
681
682 To compile this driver as a module, choose M here: the module
683 will be called gptimers.ko.
684
Bryan Wu1394f032007-05-06 14:50:22 -0700685config BFIN_DMA_5XX
686 bool "Enable DMA Support"
Michael Hennerich59003142007-10-21 16:54:27 +0800687 depends on (BF52x || BF53x || BF561 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700688 default y
689 help
690 DMA driver for BF5xx.
691
692choice
693 prompt "Uncached SDRAM region"
694 default DMA_UNCACHED_1M
Adrian Bunk247537b2007-09-26 20:02:52 +0200695 depends on BFIN_DMA_5XX
Bryan Wu1394f032007-05-06 14:50:22 -0700696config DMA_UNCACHED_2M
697 bool "Enable 2M DMA region"
698config DMA_UNCACHED_1M
699 bool "Enable 1M DMA region"
700config DMA_UNCACHED_NONE
701 bool "Disable DMA region"
702endchoice
703
704
705comment "Cache Support"
Robin Getz3bebca22007-10-10 23:55:26 +0800706config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700707 bool "Enable ICACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800708config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700709 bool "Enable DCACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800710config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700711 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800712 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700713 default n
Robin Getz3bebca22007-10-10 23:55:26 +0800714config BFIN_ICACHE_LOCK
715 bool "Enable Instruction Cache Locking"
Bryan Wu1394f032007-05-06 14:50:22 -0700716
717choice
718 prompt "Policy"
Robin Getz3bebca22007-10-10 23:55:26 +0800719 depends on BFIN_DCACHE
720 default BFIN_WB
721config BFIN_WB
Bryan Wu1394f032007-05-06 14:50:22 -0700722 bool "Write back"
723 help
724 Write Back Policy:
725 Cached data will be written back to SDRAM only when needed.
726 This can give a nice increase in performance, but beware of
727 broken drivers that do not properly invalidate/flush their
728 cache.
729
730 Write Through Policy:
731 Cached data will always be written back to SDRAM when the
732 cache is updated. This is a completely safe setting, but
733 performance is worse than Write Back.
734
735 If you are unsure of the options and you want to be safe,
736 then go with Write Through.
737
Robin Getz3bebca22007-10-10 23:55:26 +0800738config BFIN_WT
Bryan Wu1394f032007-05-06 14:50:22 -0700739 bool "Write through"
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
755endchoice
756
757config L1_MAX_PIECE
758 int "Set the max L1 SRAM pieces"
759 default 16
760 help
761 Set the max memory pieces for the L1 SRAM allocation algorithm.
762 Min value is 16. Max value is 1024.
763
Bernd Schmidtb97b8a92008-01-27 18:39:16 +0800764
765config MPU
766 bool "Enable the memory protection unit (EXPERIMENTAL)"
767 default n
768 help
769 Use the processor's MPU to protect applications from accessing
770 memory they do not own. This comes at a performance penalty
771 and is recommended only for debugging.
772
Bryan Wu1394f032007-05-06 14:50:22 -0700773comment "Asynchonous Memory Configuration"
774
Mike Frysingerddf416b2007-10-10 18:06:47 +0800775menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -0700776config C_AMCKEN
777 bool "Enable CLKOUT"
778 default y
779
780config C_CDPRIO
781 bool "DMA has priority over core for ext. accesses"
782 default n
783
784config C_B0PEN
785 depends on BF561
786 bool "Bank 0 16 bit packing enable"
787 default y
788
789config C_B1PEN
790 depends on BF561
791 bool "Bank 1 16 bit packing enable"
792 default y
793
794config C_B2PEN
795 depends on BF561
796 bool "Bank 2 16 bit packing enable"
797 default y
798
799config C_B3PEN
800 depends on BF561
801 bool "Bank 3 16 bit packing enable"
802 default n
803
804choice
805 prompt"Enable Asynchonous Memory Banks"
806 default C_AMBEN_ALL
807
808config C_AMBEN
809 bool "Disable All Banks"
810
811config C_AMBEN_B0
812 bool "Enable Bank 0"
813
814config C_AMBEN_B0_B1
815 bool "Enable Bank 0 & 1"
816
817config C_AMBEN_B0_B1_B2
818 bool "Enable Bank 0 & 1 & 2"
819
820config C_AMBEN_ALL
821 bool "Enable All Banks"
822endchoice
823endmenu
824
825menu "EBIU_AMBCTL Control"
826config BANK_0
827 hex "Bank 0"
828 default 0x7BB0
829
830config BANK_1
831 hex "Bank 1"
832 default 0x7BB0
833
834config BANK_2
835 hex "Bank 2"
836 default 0x7BB0
837
838config BANK_3
839 hex "Bank 3"
840 default 0x99B3
841endmenu
842
Sonic Zhange40540b2007-11-21 23:49:52 +0800843config EBIU_MBSCTLVAL
844 hex "EBIU Bank Select Control Register"
845 depends on BF54x
846 default 0
847
848config EBIU_MODEVAL
849 hex "Flash Memory Mode Control Register"
850 depends on BF54x
851 default 1
852
853config EBIU_FCTLVAL
854 hex "Flash Memory Bank Control Register"
855 depends on BF54x
856 default 6
Bryan Wu1394f032007-05-06 14:50:22 -0700857endmenu
858
859#############################################################################
860menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
861
862config PCI
863 bool "PCI support"
864 help
865 Support for PCI bus.
866
867source "drivers/pci/Kconfig"
868
869config HOTPLUG
870 bool "Support for hot-pluggable device"
871 help
872 Say Y here if you want to plug devices into your computer while
873 the system is running, and be able to use them quickly. In many
874 cases, the devices can likewise be unplugged at any time too.
875
876 One well known example of this is PCMCIA- or PC-cards, credit-card
877 size devices such as network cards, modems or hard drives which are
878 plugged into slots found on all modern laptop computers. Another
879 example, used on modern desktops as well as laptops, is USB.
880
881 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
882 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
883 Then your kernel will automatically call out to a user mode "policy
884 agent" (/sbin/hotplug) to load modules and set up software needed
885 to use devices as you hotplug them.
886
887source "drivers/pcmcia/Kconfig"
888
889source "drivers/pci/hotplug/Kconfig"
890
891endmenu
892
893menu "Executable file formats"
894
895source "fs/Kconfig.binfmt"
896
897endmenu
898
899menu "Power management options"
900source "kernel/power/Kconfig"
901
Johannes Bergf4cb5702007-12-08 02:14:00 +0100902config ARCH_SUSPEND_POSSIBLE
903 def_bool y
904 depends on !SMP
905
Bryan Wu1394f032007-05-06 14:50:22 -0700906choice
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800907 prompt "Default Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -0700908 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800909 default PM_BFIN_SLEEP_DEEPER
910config PM_BFIN_SLEEP_DEEPER
911 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -0700912 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800913 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
914 power dissipation by disabling the clock to the processor core (CCLK).
915 Furthermore, Standby sets the internal power supply voltage (VDDINT)
916 to 0.85 V to provide the greatest power savings, while preserving the
917 processor state.
918 The PLL and system clock (SCLK) continue to operate at a very low
919 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
920 the SDRAM is put into Self Refresh Mode. Typically an external event
921 such as GPIO interrupt or RTC activity wakes up the processor.
922 Various Peripherals such as UART, SPORT, PPI may not function as
923 normal during Sleep Deeper, due to the reduced SCLK frequency.
924 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -0700925
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800926config PM_BFIN_SLEEP
927 bool "Sleep"
928 help
929 Sleep Mode (High Power Savings) - The sleep mode reduces power
930 dissipation by disabling the clock to the processor core (CCLK).
931 The PLL and system clock (SCLK), however, continue to operate in
932 this mode. Typically an external event or RTC activity will wake
933 up the processor. When in the sleep mode,
934 system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -0700935endchoice
936
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800937config PM_WAKEUP_BY_GPIO
938 bool "Cause Wakeup Event by GPIO"
Bryan Wu1394f032007-05-06 14:50:22 -0700939
940config PM_WAKEUP_GPIO_NUMBER
941 int "Wakeup GPIO number"
942 range 0 47
943 depends on PM_WAKEUP_BY_GPIO
944 default 2 if BFIN537_STAMP
945
946choice
947 prompt "GPIO Polarity"
948 depends on PM_WAKEUP_BY_GPIO
949 default PM_WAKEUP_GPIO_POLAR_H
950config PM_WAKEUP_GPIO_POLAR_H
951 bool "Active High"
952config PM_WAKEUP_GPIO_POLAR_L
953 bool "Active Low"
954config PM_WAKEUP_GPIO_POLAR_EDGE_F
955 bool "Falling EDGE"
956config PM_WAKEUP_GPIO_POLAR_EDGE_R
957 bool "Rising EDGE"
958config PM_WAKEUP_GPIO_POLAR_EDGE_B
959 bool "Both EDGE"
960endchoice
961
962endmenu
963
Roy Huang24a07a12007-07-12 22:41:45 +0800964if (BF537 || BF533 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700965
966menu "CPU Frequency scaling"
967
968source "drivers/cpufreq/Kconfig"
969
970config CPU_FREQ
971 bool
972 default n
973 help
974 If you want to enable this option, you should select the
975 DPMC driver from Character Devices.
976endmenu
977
978endif
979
980source "net/Kconfig"
981
982source "drivers/Kconfig"
983
984source "fs/Kconfig"
985
Mike Frysinger74ce8322007-11-21 23:50:49 +0800986source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -0700987
988source "security/Kconfig"
989
990source "crypto/Kconfig"
991
992source "lib/Kconfig"