blob: 7888551ed93992163438f5e0b56173b09d282a0e [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
6mainmenu "uClinux/Blackfin (w/o MMU) Kernel Configuration"
7
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
27
Aubrey Lie3defff2007-05-21 18:09:11 +080028config ZONE_DMA
29 bool
30 default y
31
Bryan Wu1394f032007-05-06 14:50:22 -070032config BFIN
33 bool
34 default y
35
36config SEMAPHORE_SLEEPERS
37 bool
38 default y
39
40config GENERIC_FIND_NEXT_BIT
41 bool
42 default y
43
44config GENERIC_HWEIGHT
45 bool
46 default y
47
48config GENERIC_HARDIRQS
49 bool
50 default y
51
52config GENERIC_IRQ_PROBE
53 bool
54 default y
55
56config GENERIC_TIME
57 bool
58 default n
59
Michael Hennerichb2d15832007-07-24 15:46:36 +080060config GENERIC_GPIO
Bryan Wu1394f032007-05-06 14:50:22 -070061 bool
62 default y
63
64config FORCE_MAX_ZONEORDER
65 int
66 default "14"
67
68config GENERIC_CALIBRATE_DELAY
69 bool
70 default y
71
72config IRQCHIP_DEMUX_GPIO
73 bool
Michael Hennerich59003142007-10-21 16:54:27 +080074 depends on (BF52x || BF53x || BF561 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -070075 default y
76
77source "init/Kconfig"
78source "kernel/Kconfig.preempt"
79
80menu "Blackfin Processor Options"
81
82comment "Processor and Board Settings"
83
84choice
85 prompt "CPU"
86 default BF533
87
Michael Hennerich59003142007-10-21 16:54:27 +080088config BF522
89 bool "BF522"
90 help
91 BF522 Processor Support.
92
93config BF525
94 bool "BF525"
95 help
96 BF525 Processor Support.
97
98config BF527
99 bool "BF527"
100 help
101 BF527 Processor Support.
102
Bryan Wu1394f032007-05-06 14:50:22 -0700103config BF531
104 bool "BF531"
105 help
106 BF531 Processor Support.
107
108config BF532
109 bool "BF532"
110 help
111 BF532 Processor Support.
112
113config BF533
114 bool "BF533"
115 help
116 BF533 Processor Support.
117
118config BF534
119 bool "BF534"
120 help
121 BF534 Processor Support.
122
123config BF536
124 bool "BF536"
125 help
126 BF536 Processor Support.
127
128config BF537
129 bool "BF537"
130 help
131 BF537 Processor Support.
132
Roy Huang24a07a12007-07-12 22:41:45 +0800133config BF542
134 bool "BF542"
135 help
136 BF542 Processor Support.
137
138config BF544
139 bool "BF544"
140 help
141 BF544 Processor Support.
142
143config BF548
144 bool "BF548"
145 help
146 BF548 Processor Support.
147
148config BF549
149 bool "BF549"
150 help
151 BF549 Processor Support.
152
Bryan Wu1394f032007-05-06 14:50:22 -0700153config BF561
154 bool "BF561"
155 help
156 Not Supported Yet - Work in progress - BF561 Processor Support.
157
158endchoice
159
160choice
161 prompt "Silicon Rev"
Michael Hennerich59003142007-10-21 16:54:27 +0800162 default BF_REV_0_1 if BF527
Bryan Wu1394f032007-05-06 14:50:22 -0700163 default BF_REV_0_2 if BF537
164 default BF_REV_0_3 if BF533
Roy Huang24a07a12007-07-12 22:41:45 +0800165 default BF_REV_0_0 if BF549
166
167config BF_REV_0_0
168 bool "0.0"
Michael Hennerich59003142007-10-21 16:54:27 +0800169 depends on (BF549 || BF527)
170
171config BF_REV_0_1
172 bool "0.2"
173 depends on (BF549 || BF527)
Bryan Wu1394f032007-05-06 14:50:22 -0700174
175config BF_REV_0_2
176 bool "0.2"
177 depends on (BF537 || BF536 || BF534)
178
179config BF_REV_0_3
180 bool "0.3"
181 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
182
183config BF_REV_0_4
184 bool "0.4"
185 depends on (BF561 || BF533 || BF532 || BF531)
186
187config BF_REV_0_5
188 bool "0.5"
189 depends on (BF561 || BF533 || BF532 || BF531)
190
Jie Zhangde3025f2007-06-25 18:04:12 +0800191config BF_REV_ANY
192 bool "any"
193
194config BF_REV_NONE
195 bool "none"
196
Bryan Wu1394f032007-05-06 14:50:22 -0700197endchoice
198
Michael Hennerich59003142007-10-21 16:54:27 +0800199config BF52x
200 bool
201 depends on (BF522 || BF525 || BF527)
202 default y
203
Roy Huang24a07a12007-07-12 22:41:45 +0800204config BF53x
205 bool
206 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
207 default y
208
209config BF54x
210 bool
211 depends on (BF542 || BF544 || BF548 || BF549)
212 default y
213
Bryan Wu1394f032007-05-06 14:50:22 -0700214config BFIN_DUAL_CORE
215 bool
216 depends on (BF561)
217 default y
218
219config BFIN_SINGLE_CORE
220 bool
221 depends on !BFIN_DUAL_CORE
222 default y
223
224choice
225 prompt "System type"
226 default BFIN533_STAMP
227 help
228 Do NOT change the board here. Please use the top level
229 configuration to ensure that all the other settings are
230 correct.
231
Michael Hennerich59003142007-10-21 16:54:27 +0800232config BFIN527_EZKIT
233 bool "BF527-EZKIT"
234 depends on (BF522 || BF525 || BF527)
235 help
236 BF533-EZKIT-LITE board Support.
237
Bryan Wu1394f032007-05-06 14:50:22 -0700238config BFIN533_EZKIT
239 bool "BF533-EZKIT"
240 depends on (BF533 || BF532 || BF531)
241 help
242 BF533-EZKIT-LITE board Support.
243
244config BFIN533_STAMP
245 bool "BF533-STAMP"
246 depends on (BF533 || BF532 || BF531)
247 help
248 BF533-STAMP board Support.
249
250config BFIN537_STAMP
251 bool "BF537-STAMP"
252 depends on (BF537 || BF536 || BF534)
253 help
254 BF537-STAMP board Support.
255
256config BFIN533_BLUETECHNIX_CM
257 bool "Bluetechnix CM-BF533"
258 depends on (BF533)
259 help
260 CM-BF533 support for EVAL- and DEV-Board.
261
262config BFIN537_BLUETECHNIX_CM
263 bool "Bluetechnix CM-BF537"
264 depends on (BF537)
265 help
266 CM-BF537 support for EVAL- and DEV-Board.
267
Roy Huang24a07a12007-07-12 22:41:45 +0800268config BFIN548_EZKIT
269 bool "BF548-EZKIT"
270 depends on (BF548 || BF549)
271 help
272 BFIN548-EZKIT board Support.
273
Bryan Wu1394f032007-05-06 14:50:22 -0700274config BFIN561_BLUETECHNIX_CM
Mike Frysinger0a290592007-05-21 18:09:21 +0800275 bool "Bluetechnix CM-BF561"
Bryan Wu1394f032007-05-06 14:50:22 -0700276 depends on (BF561)
277 help
278 CM-BF561 support for EVAL- and DEV-Board.
279
280config BFIN561_EZKIT
281 bool "BF561-EZKIT"
282 depends on (BF561)
283 help
284 BF561-EZKIT-LITE board Support.
285
Mike Frysinger0a290592007-05-21 18:09:21 +0800286config BFIN561_TEPLA
287 bool "BF561-TEPLA"
288 depends on (BF561)
289 help
290 BF561-TEPLA board Support.
291
Bryan Wu1394f032007-05-06 14:50:22 -0700292config PNAV10
293 bool "PNAV 1.0 board"
294 depends on (BF537)
295 help
296 PNAV 1.0 board Support.
297
298config GENERIC_BOARD
299 bool "Custom"
300 depends on (BF537 || BF536 \
301 || BF534 || BF561 || BF535 || BF533 || BF532 || BF531)
302 help
303 GENERIC or Custom board Support.
304
305endchoice
306
307config MEM_GENERIC_BOARD
308 bool
309 depends on GENERIC_BOARD
310 default y
311
312config MEM_MT48LC64M4A2FB_7E
313 bool
314 depends on (BFIN533_STAMP)
315 default y
316
317config MEM_MT48LC16M16A2TG_75
318 bool
319 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
320 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM)
321 default y
322
323config MEM_MT48LC32M8A2_75
324 bool
325 depends on (BFIN537_STAMP || PNAV10)
326 default y
327
328config MEM_MT48LC8M32B2B5_7
329 bool
330 depends on (BFIN561_BLUETECHNIX_CM)
331 default y
332
Michael Hennerich59003142007-10-21 16:54:27 +0800333config MEM_MT48LC32M16A2TG_75
334 bool
335 depends on (BFIN527_EZKIT)
336 default y
337
Bryan Wu1394f032007-05-06 14:50:22 -0700338config BFIN_SHARED_FLASH_ENET
339 bool
340 depends on (BFIN533_STAMP)
341 default y
342
Michael Hennerich59003142007-10-21 16:54:27 +0800343source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700344source "arch/blackfin/mach-bf533/Kconfig"
345source "arch/blackfin/mach-bf561/Kconfig"
346source "arch/blackfin/mach-bf537/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800347source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700348
349menu "Board customizations"
350
351config CMDLINE_BOOL
352 bool "Default bootloader kernel arguments"
353
354config CMDLINE
355 string "Initial kernel command string"
356 depends on CMDLINE_BOOL
357 default "console=ttyBF0,57600"
358 help
359 If you don't have a boot loader capable of passing a command line string
360 to the kernel, you may specify one here. As a minimum, you should specify
361 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
362
Robin Getzf16295e2007-08-03 18:07:17 +0800363comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700364
365config CLKIN_HZ
366 int "Crystal Frequency in Hz"
367 default "11059200" if BFIN533_STAMP
368 default "27000000" if BFIN533_EZKIT
Michael Hennerich59003142007-10-21 16:54:27 +0800369 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700370 default "30000000" if BFIN561_EZKIT
371 default "24576000" if PNAV10
372 help
373 The frequency of CLKIN crystal oscillator on the board in Hz.
374
Robin Getzf16295e2007-08-03 18:07:17 +0800375config BFIN_KERNEL_CLOCK
376 bool "Re-program Clocks while Kernel boots?"
377 default n
378 help
379 This option decides if kernel clocks are re-programed from the
380 bootloader settings. If the clocks are not set, the SDRAM settings
381 are also not changed, and the Bootloader does 100% of the hardware
382 configuration.
383
384config PLL_BYPASS
385 bool "Bypass PLL"
386 depends on BFIN_KERNEL_CLOCK
387 default n
388
389config CLKIN_HALF
390 bool "Half Clock In"
391 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
392 default n
393 help
394 If this is set the clock will be divided by 2, before it goes to the PLL.
395
396config VCO_MULT
397 int "VCO Multiplier"
398 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
399 range 1 64
400 default "22" if BFIN533_EZKIT
401 default "45" if BFIN533_STAMP
Michael Hennerich59003142007-10-21 16:54:27 +0800402 default "20" if (BFIN537_STAMP || BFIN527_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800403 default "22" if BFIN533_BLUETECHNIX_CM
404 default "20" if BFIN537_BLUETECHNIX_CM
405 default "20" if BFIN561_BLUETECHNIX_CM
406 default "20" if BFIN561_EZKIT
407 help
408 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
409 PLL Frequency = (Crystal Frequency) * (this setting)
410
411choice
412 prompt "Core Clock Divider"
413 depends on BFIN_KERNEL_CLOCK
414 default CCLK_DIV_1
415 help
416 This sets the frequency of the core. It can be 1, 2, 4 or 8
417 Core Frequency = (PLL frequency) / (this setting)
418
419config CCLK_DIV_1
420 bool "1"
421
422config CCLK_DIV_2
423 bool "2"
424
425config CCLK_DIV_4
426 bool "4"
427
428config CCLK_DIV_8
429 bool "8"
430endchoice
431
432config SCLK_DIV
433 int "System Clock Divider"
434 depends on BFIN_KERNEL_CLOCK
435 range 1 15
436 default 5 if BFIN533_EZKIT
437 default 5 if BFIN533_STAMP
Michael Hennerich59003142007-10-21 16:54:27 +0800438 default 4 if (BFIN537_STAMP || BFIN527_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800439 default 5 if BFIN533_BLUETECHNIX_CM
440 default 4 if BFIN537_BLUETECHNIX_CM
441 default 4 if BFIN561_BLUETECHNIX_CM
442 default 5 if BFIN561_EZKIT
443 help
444 This sets the frequency of the system clock (including SDRAM or DDR).
445 This can be between 1 and 15
446 System Clock = (PLL frequency) / (this setting)
447
448#
449# Max & Min Speeds for various Chips
450#
451config MAX_VCO_HZ
452 int
453 default 600000000 if BF522
454 default 600000000 if BF525
455 default 600000000 if BF527
456 default 400000000 if BF531
457 default 400000000 if BF532
458 default 750000000 if BF533
459 default 500000000 if BF534
460 default 400000000 if BF536
461 default 600000000 if BF537
462 default 533000000 if BF538
463 default 533000000 if BF539
464 default 600000000 if BF542
465 default 533000000 if BF544
466 default 533000000 if BF549
467 default 600000000 if BF561
468
469config MIN_VCO_HZ
470 int
471 default 50000000
472
473config MAX_SCLK_HZ
474 int
475 default 133000000
476
477config MIN_SCLK_HZ
478 int
479 default 27000000
480
481comment "Kernel Timer/Scheduler"
482
483source kernel/Kconfig.hz
484
485comment "Memory Setup"
486
Bryan Wu1394f032007-05-06 14:50:22 -0700487config MEM_SIZE
488 int "SDRAM Memory Size in MBytes"
489 default 32 if BFIN533_EZKIT
Michael Hennerich59003142007-10-21 16:54:27 +0800490 default 64 if BFIN527_EZKIT
Bryan Wu1394f032007-05-06 14:50:22 -0700491 default 64 if BFIN537_STAMP
492 default 64 if BFIN561_EZKIT
493 default 128 if BFIN533_STAMP
494 default 64 if PNAV10
495
496config MEM_ADD_WIDTH
497 int "SDRAM Memory Address Width"
498 default 9 if BFIN533_EZKIT
499 default 9 if BFIN561_EZKIT
Michael Hennerich59003142007-10-21 16:54:27 +0800500 default 10 if BFIN527_EZKIT
Bryan Wu1394f032007-05-06 14:50:22 -0700501 default 10 if BFIN537_STAMP
502 default 11 if BFIN533_STAMP
503 default 10 if PNAV10
504
505config ENET_FLASH_PIN
506 int "PF port/pin used for flash and ethernet sharing"
507 depends on (BFIN533_STAMP)
508 default 0
509 help
510 PF port/pin used for flash and ethernet sharing to allow other PF
511 pins to be used on other platforms without having to touch common
512 code.
513 For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
514
515config BOOT_LOAD
516 hex "Kernel load address for booting"
517 default "0x1000"
Mike Frysinger2d8f1612007-08-05 14:06:16 +0800518 range 0x1000 0x20000000
Bryan Wu1394f032007-05-06 14:50:22 -0700519 help
520 This option allows you to set the load address of the kernel.
521 This can be useful if you are on a board which has a small amount
522 of memory or you wish to reserve some memory at the beginning of
523 the address space.
524
Mike Frysinger2d8f1612007-08-05 14:06:16 +0800525 Note that you need to keep this value above 4k (0x1000) as this
526 memory region is used to capture NULL pointer references as well
527 as some core kernel functions.
Bryan Wu1394f032007-05-06 14:50:22 -0700528
529comment "LED Status Indicators"
530 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
531
532config BFIN_ALIVE_LED
533 bool "Enable Board Alive"
534 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
535 default n
536 help
537 Blink the LEDs you select when the kernel is running. Helps detect
538 a hung kernel.
539
540config BFIN_ALIVE_LED_NUM
541 int "LED"
542 depends on BFIN_ALIVE_LED
543 range 1 3 if BFIN533_STAMP
544 default "3" if BFIN533_STAMP
545 help
546 Select the LED (marked on the board) for you to blink.
547
548config BFIN_IDLE_LED
549 bool "Enable System Load/Idle LED"
550 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
551 default n
552 help
553 Blinks the LED you select when to determine kernel load.
554
555config BFIN_IDLE_LED_NUM
556 int "LED"
557 depends on BFIN_IDLE_LED
558 range 1 3 if BFIN533_STAMP
559 default "2" if BFIN533_STAMP
560 help
561 Select the LED (marked on the board) for you to blink.
562
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800563choice
564 prompt "Blackfin Exception Scratch Register"
565 default BFIN_SCRATCH_REG_RETN
566 help
567 Select the resource to reserve for the Exception handler:
568 - RETN: Non-Maskable Interrupt (NMI)
569 - RETE: Exception Return (JTAG/ICE)
570 - CYCLES: Performance counter
571
572 If you are unsure, please select "RETN".
573
574config BFIN_SCRATCH_REG_RETN
575 bool "RETN"
576 help
577 Use the RETN register in the Blackfin exception handler
578 as a stack scratch register. This means you cannot
579 safely use NMI on the Blackfin while running Linux, but
580 you can debug the system with a JTAG ICE and use the
581 CYCLES performance registers.
582
583 If you are unsure, please select "RETN".
584
585config BFIN_SCRATCH_REG_RETE
586 bool "RETE"
587 help
588 Use the RETE register in the Blackfin exception handler
589 as a stack scratch register. This means you cannot
590 safely use a JTAG ICE while debugging a Blackfin board,
591 but you can safely use the CYCLES performance registers
592 and the NMI.
593
594 If you are unsure, please select "RETN".
595
596config BFIN_SCRATCH_REG_CYCLES
597 bool "CYCLES"
598 help
599 Use the CYCLES register in the Blackfin exception handler
600 as a stack scratch register. This means you cannot
601 safely use the CYCLES performance registers on a Blackfin
602 board at anytime, but you can debug the system with a JTAG
603 ICE and use the NMI.
604
605 If you are unsure, please select "RETN".
606
607endchoice
608
Bryan Wu1394f032007-05-06 14:50:22 -0700609#
610# Sorry - but you need to put the hex address here -
611#
612
613# Flag Data register
614config BFIN_ALIVE_LED_PORT
615 hex
616 default 0xFFC00700 if (BFIN533_STAMP)
617
618# Peripheral Flag Direction Register
619config BFIN_ALIVE_LED_DPORT
620 hex
621 default 0xFFC00730 if (BFIN533_STAMP)
622
623config BFIN_ALIVE_LED_PIN
624 hex
625 default 0x04 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 1)
626 default 0x08 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 2)
627 default 0x10 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 3)
628
629config BFIN_IDLE_LED_PORT
630 hex
631 default 0xFFC00700 if (BFIN533_STAMP)
632
633# Peripheral Flag Direction Register
634config BFIN_IDLE_LED_DPORT
635 hex
636 default 0xFFC00730 if (BFIN533_STAMP)
637
638config BFIN_IDLE_LED_PIN
639 hex
640 default 0x04 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 1)
641 default 0x08 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 2)
642 default 0x10 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 3)
643
Bryan Wu1394f032007-05-06 14:50:22 -0700644endmenu
645
646
647menu "Blackfin Kernel Optimizations"
648
Bryan Wu1394f032007-05-06 14:50:22 -0700649comment "Memory Optimizations"
650
651config I_ENTRY_L1
652 bool "Locate interrupt entry code in L1 Memory"
653 default y
654 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200655 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
656 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700657
658config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200659 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700660 default y
661 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200662 If enabled, the entire ASM lowlevel exception and interrupt entry code
663 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
664 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700665
666config DO_IRQ_L1
667 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
668 default y
669 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200670 If enabled, the frequently called do_irq dispatcher function is linked
671 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700672
673config CORE_TIMER_IRQ_L1
674 bool "Locate frequently called timer_interrupt() function in L1 Memory"
675 default y
676 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200677 If enabled, the frequently called timer_interrupt() function is linked
678 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700679
680config IDLE_L1
681 bool "Locate frequently idle function in L1 Memory"
682 default y
683 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200684 If enabled, the frequently called idle function is linked
685 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700686
687config SCHEDULE_L1
688 bool "Locate kernel schedule function in L1 Memory"
689 default y
690 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200691 If enabled, the frequently called kernel schedule is linked
692 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700693
694config ARITHMETIC_OPS_L1
695 bool "Locate kernel owned arithmetic functions in L1 Memory"
696 default y
697 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200698 If enabled, arithmetic functions are linked
699 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700700
701config ACCESS_OK_L1
702 bool "Locate access_ok function in L1 Memory"
703 default y
704 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200705 If enabled, the access_ok function is linked
706 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700707
708config MEMSET_L1
709 bool "Locate memset function in L1 Memory"
710 default y
711 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200712 If enabled, the memset function is linked
713 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700714
715config MEMCPY_L1
716 bool "Locate memcpy function in L1 Memory"
717 default y
718 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200719 If enabled, the memcpy function is linked
720 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700721
722config SYS_BFIN_SPINLOCK_L1
723 bool "Locate sys_bfin_spinlock function in L1 Memory"
724 default y
725 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200726 If enabled, sys_bfin_spinlock function is linked
727 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700728
729config IP_CHECKSUM_L1
730 bool "Locate IP Checksum function in L1 Memory"
731 default n
732 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200733 If enabled, the IP Checksum function is linked
734 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700735
736config CACHELINE_ALIGNED_L1
737 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800738 default y if !BF54x
739 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700740 depends on !BF531
741 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200742 If enabled, cacheline_anligned data is linked
743 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700744
745config SYSCALL_TAB_L1
746 bool "Locate Syscall Table L1 Data Memory"
747 default n
748 depends on !BF531
749 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200750 If enabled, the Syscall LUT is linked
751 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700752
753config CPLB_SWITCH_TAB_L1
754 bool "Locate CPLB Switch Tables L1 Data Memory"
755 default n
756 depends on !BF531
757 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200758 If enabled, the CPLB Switch Tables are linked
759 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700760
761endmenu
762
763
764choice
765 prompt "Kernel executes from"
766 help
767 Choose the memory type that the kernel will be running in.
768
769config RAMKERNEL
770 bool "RAM"
771 help
772 The kernel will be resident in RAM when running.
773
774config ROMKERNEL
775 bool "ROM"
776 help
777 The kernel will be resident in FLASH/ROM when running.
778
779endchoice
780
781source "mm/Kconfig"
782
Bryan Wudb0fa202007-07-12 14:55:05 +0800783config LARGE_ALLOCS
784 bool "Allow allocating large blocks (> 1MB) of memory"
785 help
786 Allow the slab memory allocator to keep chains for very large
787 memory sizes - upto 32MB. You may need this if your system has
788 a lot of RAM, and you need to able to allocate very large
789 contiguous chunks. If unsure, say N.
790
Mike Frysinger780431e2007-10-21 23:37:54 +0800791config BFIN_GPTIMERS
792 tristate "Enable Blackfin General Purpose Timers API"
793 default n
794 help
795 Enable support for the General Purpose Timers API. If you
796 are unsure, say N.
797
798 To compile this driver as a module, choose M here: the module
799 will be called gptimers.ko.
800
Bryan Wu1394f032007-05-06 14:50:22 -0700801config BFIN_DMA_5XX
802 bool "Enable DMA Support"
Michael Hennerich59003142007-10-21 16:54:27 +0800803 depends on (BF52x || BF53x || BF561 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700804 default y
805 help
806 DMA driver for BF5xx.
807
808choice
809 prompt "Uncached SDRAM region"
810 default DMA_UNCACHED_1M
Adrian Bunk247537b2007-09-26 20:02:52 +0200811 depends on BFIN_DMA_5XX
Bryan Wu1394f032007-05-06 14:50:22 -0700812config DMA_UNCACHED_2M
813 bool "Enable 2M DMA region"
814config DMA_UNCACHED_1M
815 bool "Enable 1M DMA region"
816config DMA_UNCACHED_NONE
817 bool "Disable DMA region"
818endchoice
819
820
821comment "Cache Support"
Robin Getz3bebca22007-10-10 23:55:26 +0800822config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700823 bool "Enable ICACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800824config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700825 bool "Enable DCACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800826config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700827 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800828 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700829 default n
Robin Getz3bebca22007-10-10 23:55:26 +0800830config BFIN_ICACHE_LOCK
831 bool "Enable Instruction Cache Locking"
Bryan Wu1394f032007-05-06 14:50:22 -0700832
833choice
834 prompt "Policy"
Robin Getz3bebca22007-10-10 23:55:26 +0800835 depends on BFIN_DCACHE
836 default BFIN_WB
837config BFIN_WB
Bryan Wu1394f032007-05-06 14:50:22 -0700838 bool "Write back"
839 help
840 Write Back Policy:
841 Cached data will be written back to SDRAM only when needed.
842 This can give a nice increase in performance, but beware of
843 broken drivers that do not properly invalidate/flush their
844 cache.
845
846 Write Through Policy:
847 Cached data will always be written back to SDRAM when the
848 cache is updated. This is a completely safe setting, but
849 performance is worse than Write Back.
850
851 If you are unsure of the options and you want to be safe,
852 then go with Write Through.
853
Robin Getz3bebca22007-10-10 23:55:26 +0800854config BFIN_WT
Bryan Wu1394f032007-05-06 14:50:22 -0700855 bool "Write through"
856 help
857 Write Back Policy:
858 Cached data will be written back to SDRAM only when needed.
859 This can give a nice increase in performance, but beware of
860 broken drivers that do not properly invalidate/flush their
861 cache.
862
863 Write Through Policy:
864 Cached data will always be written back to SDRAM when the
865 cache is updated. This is a completely safe setting, but
866 performance is worse than Write Back.
867
868 If you are unsure of the options and you want to be safe,
869 then go with Write Through.
870
871endchoice
872
873config L1_MAX_PIECE
874 int "Set the max L1 SRAM pieces"
875 default 16
876 help
877 Set the max memory pieces for the L1 SRAM allocation algorithm.
878 Min value is 16. Max value is 1024.
879
Bryan Wu1394f032007-05-06 14:50:22 -0700880comment "Asynchonous Memory Configuration"
881
Mike Frysingerddf416b2007-10-10 18:06:47 +0800882menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -0700883config C_AMCKEN
884 bool "Enable CLKOUT"
885 default y
886
887config C_CDPRIO
888 bool "DMA has priority over core for ext. accesses"
Michael Hennerich9be343c2007-07-12 11:58:44 +0800889 depends on !BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700890 default n
891
892config C_B0PEN
893 depends on BF561
894 bool "Bank 0 16 bit packing enable"
895 default y
896
897config C_B1PEN
898 depends on BF561
899 bool "Bank 1 16 bit packing enable"
900 default y
901
902config C_B2PEN
903 depends on BF561
904 bool "Bank 2 16 bit packing enable"
905 default y
906
907config C_B3PEN
908 depends on BF561
909 bool "Bank 3 16 bit packing enable"
910 default n
911
912choice
913 prompt"Enable Asynchonous Memory Banks"
914 default C_AMBEN_ALL
915
916config C_AMBEN
917 bool "Disable All Banks"
918
919config C_AMBEN_B0
920 bool "Enable Bank 0"
921
922config C_AMBEN_B0_B1
923 bool "Enable Bank 0 & 1"
924
925config C_AMBEN_B0_B1_B2
926 bool "Enable Bank 0 & 1 & 2"
927
928config C_AMBEN_ALL
929 bool "Enable All Banks"
930endchoice
931endmenu
932
933menu "EBIU_AMBCTL Control"
934config BANK_0
935 hex "Bank 0"
936 default 0x7BB0
937
938config BANK_1
939 hex "Bank 1"
940 default 0x7BB0
941
942config BANK_2
943 hex "Bank 2"
944 default 0x7BB0
945
946config BANK_3
947 hex "Bank 3"
948 default 0x99B3
949endmenu
950
951endmenu
952
953#############################################################################
954menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
955
956config PCI
957 bool "PCI support"
958 help
959 Support for PCI bus.
960
961source "drivers/pci/Kconfig"
962
963config HOTPLUG
964 bool "Support for hot-pluggable device"
965 help
966 Say Y here if you want to plug devices into your computer while
967 the system is running, and be able to use them quickly. In many
968 cases, the devices can likewise be unplugged at any time too.
969
970 One well known example of this is PCMCIA- or PC-cards, credit-card
971 size devices such as network cards, modems or hard drives which are
972 plugged into slots found on all modern laptop computers. Another
973 example, used on modern desktops as well as laptops, is USB.
974
975 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
976 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
977 Then your kernel will automatically call out to a user mode "policy
978 agent" (/sbin/hotplug) to load modules and set up software needed
979 to use devices as you hotplug them.
980
981source "drivers/pcmcia/Kconfig"
982
983source "drivers/pci/hotplug/Kconfig"
984
985endmenu
986
987menu "Executable file formats"
988
989source "fs/Kconfig.binfmt"
990
991endmenu
992
993menu "Power management options"
994source "kernel/power/Kconfig"
995
996choice
997 prompt "Select PM Wakeup Event Source"
998 default PM_WAKEUP_GPIO_BY_SIC_IWR
999 depends on PM
1000 help
1001 If you have a GPIO already configured as input with the corresponding PORTx_MASK
1002 bit set - "Specify Wakeup Event by SIC_IWR value"
1003
1004config PM_WAKEUP_GPIO_BY_SIC_IWR
1005 bool "Specify Wakeup Event by SIC_IWR value"
1006config PM_WAKEUP_BY_GPIO
1007 bool "Cause Wakeup Event by GPIO"
1008config PM_WAKEUP_GPIO_API
1009 bool "Configure Wakeup Event by PM GPIO API"
1010
1011endchoice
1012
1013config PM_WAKEUP_SIC_IWR
1014 hex "Wakeup Events (SIC_IWR)"
1015 depends on PM_WAKEUP_GPIO_BY_SIC_IWR
1016 default 0x80000000 if (BF537 || BF536 || BF534)
1017 default 0x100000 if (BF533 || BF532 || BF531)
1018
1019config PM_WAKEUP_GPIO_NUMBER
1020 int "Wakeup GPIO number"
1021 range 0 47
1022 depends on PM_WAKEUP_BY_GPIO
1023 default 2 if BFIN537_STAMP
1024
1025choice
1026 prompt "GPIO Polarity"
1027 depends on PM_WAKEUP_BY_GPIO
1028 default PM_WAKEUP_GPIO_POLAR_H
1029config PM_WAKEUP_GPIO_POLAR_H
1030 bool "Active High"
1031config PM_WAKEUP_GPIO_POLAR_L
1032 bool "Active Low"
1033config PM_WAKEUP_GPIO_POLAR_EDGE_F
1034 bool "Falling EDGE"
1035config PM_WAKEUP_GPIO_POLAR_EDGE_R
1036 bool "Rising EDGE"
1037config PM_WAKEUP_GPIO_POLAR_EDGE_B
1038 bool "Both EDGE"
1039endchoice
1040
1041endmenu
1042
Roy Huang24a07a12007-07-12 22:41:45 +08001043if (BF537 || BF533 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -07001044
1045menu "CPU Frequency scaling"
1046
1047source "drivers/cpufreq/Kconfig"
1048
1049config CPU_FREQ
1050 bool
1051 default n
1052 help
1053 If you want to enable this option, you should select the
1054 DPMC driver from Character Devices.
1055endmenu
1056
1057endif
1058
1059source "net/Kconfig"
1060
1061source "drivers/Kconfig"
1062
1063source "fs/Kconfig"
1064
Mathieu Desnoyers09caded2007-10-18 23:41:05 -07001065source "kernel/Kconfig.instrumentation"
Bryan Wu1394f032007-05-06 14:50:22 -07001066
1067menu "Kernel hacking"
1068
1069source "lib/Kconfig.debug"
1070
1071config DEBUG_HWERR
1072 bool "Hardware error interrupt debugging"
1073 depends on DEBUG_KERNEL
1074 help
1075 When enabled, the hardware error interrupt is never disabled, and
1076 will happen immediately when an error condition occurs. This comes
1077 at a slight cost in code size, but is necessary if you are getting
1078 hardware error interrupts and need to know where they are coming
1079 from.
1080
1081config DEBUG_ICACHE_CHECK
Matt LaPlante01dd2fb2007-10-20 01:34:40 +02001082 bool "Check Instruction cache coherency"
Bryan Wu1394f032007-05-06 14:50:22 -07001083 depends on DEBUG_KERNEL
1084 depends on DEBUG_HWERR
1085 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +02001086 Say Y here if you are getting weird unexplained errors. This will
1087 ensure that icache is what SDRAM says it should be by doing a
1088 byte wise comparison between SDRAM and instruction cache. This
Bryan Wu1394f032007-05-06 14:50:22 -07001089 also relocates the irq_panic() function to L1 memory, (which is
1090 un-cached).
1091
Bryan Wu1394f032007-05-06 14:50:22 -07001092config DEBUG_HUNT_FOR_ZERO
1093 bool "Catch NULL pointer reads/writes"
1094 default y
1095 help
1096 Say Y here to catch reads/writes to anywhere in the memory range
1097 from 0x0000 - 0x0FFF (the first 4k) of memory. This is useful in
1098 catching common programming errors such as NULL pointer dereferences.
1099
1100 Misbehaving applications will be killed (generate a SEGV) while the
1101 kernel will trigger a panic.
1102
1103 Enabling this option will take up an extra entry in CPLB table.
1104 Otherwise, there is no extra overhead.
1105
Robin Getz518039b2007-07-25 11:03:28 +08001106config DEBUG_BFIN_HWTRACE_ON
1107 bool "Turn on Blackfin's Hardware Trace"
1108 default y
1109 help
1110 All Blackfins include a Trace Unit which stores a history of the last
1111 16 changes in program flow taken by the program sequencer. The history
1112 allows the user to recreate the program sequencer’s recent path. This
1113 can be handy when an application dies - we print out the execution
1114 path of how it got to the offending instruction.
1115
1116 By turning this off, you may save a tiny amount of power.
1117
1118choice
1119 prompt "Omit loop Tracing"
1120 default DEBUG_BFIN_HWTRACE_COMPRESSION_OFF
1121 depends on DEBUG_BFIN_HWTRACE_ON
1122 help
1123 The trace buffer can be configured to omit recording of changes in
1124 program flow that match either the last entry or one of the last
1125 two entries. Omitting one of these entries from the record prevents
1126 the trace buffer from overflowing because of any sort of loop (for, do
1127 while, etc) in the program.
1128
1129 Because zero-overhead Hardware loops are not recorded in the trace buffer,
1130 this feature can be used to prevent trace overflow from loops that
1131 are nested four deep.
1132
1133config DEBUG_BFIN_HWTRACE_COMPRESSION_OFF
1134 bool "Trace all Loops"
1135 help
1136 The trace buffer records all changes of flow
1137
1138config DEBUG_BFIN_HWTRACE_COMPRESSION_ONE
1139 bool "Compress single-level loops"
1140 help
1141 The trace buffer does not record single loops - helpful if trace
1142 is spinning on a while or do loop.
1143
1144config DEBUG_BFIN_HWTRACE_COMPRESSION_TWO
1145 bool "Compress two-level loops"
1146 help
1147 The trace buffer does not record loops two levels deep. Helpful if
1148 the trace is spinning in a nested loop
1149
1150endchoice
1151
1152config DEBUG_BFIN_HWTRACE_COMPRESSION
1153 int
1154 depends on DEBUG_BFIN_HWTRACE_ON
1155 default 0 if DEBUG_BFIN_HWTRACE_COMPRESSION_OFF
1156 default 1 if DEBUG_BFIN_HWTRACE_COMPRESSION_ONE
1157 default 2 if DEBUG_BFIN_HWTRACE_COMPRESSION_TWO
1158
1159
1160config DEBUG_BFIN_HWTRACE_EXPAND
1161 bool "Expand Trace Buffer greater than 16 entries"
1162 depends on DEBUG_BFIN_HWTRACE_ON
1163 default n
1164 help
1165 By selecting this option, every time the 16 hardware entries in
1166 the Blackfin's HW Trace buffer are full, the kernel will move them
1167 into a software buffer, for dumping when there is an issue. This
1168 has a great impact on performance, (an interrupt every 16 change of
1169 flows) and should normally be turned off, except in those nasty
1170 debugging sessions
1171
1172config DEBUG_BFIN_HWTRACE_EXPAND_LEN
1173 int "Size of Trace buffer (in power of 2k)"
1174 range 0 4
1175 depends on DEBUG_BFIN_HWTRACE_EXPAND
1176 default 1
1177 help
1178 This sets the size of the software buffer that the trace information
1179 is kept in.
1180 0 for (2^0) 1k, or 256 entries,
1181 1 for (2^1) 2k, or 512 entries,
1182 2 for (2^2) 4k, or 1024 entries,
1183 3 for (2^3) 8k, or 2048 entries,
1184 4 for (2^4) 16k, or 4096 entries
1185
Bryan Wu1394f032007-05-06 14:50:22 -07001186config DEBUG_BFIN_NO_KERN_HWTRACE
1187 bool "Trace user apps (turn off hwtrace in kernel)"
Robin Getz518039b2007-07-25 11:03:28 +08001188 depends on DEBUG_BFIN_HWTRACE_ON
Bryan Wu1394f032007-05-06 14:50:22 -07001189 default n
1190 help
1191 Some pieces of the kernel contain a lot of flow changes which can
1192 quickly fill up the hardware trace buffer. When debugging crashes,
1193 the hardware trace may indicate that the problem lies in kernel
1194 space when in reality an application is buggy.
1195
1196 Say Y here to disable hardware tracing in some known "jumpy" pieces
1197 of code so that the trace buffer will extend further back.
1198
Robin Getz0ae53642007-10-09 17:24:49 +08001199config EARLY_PRINTK
1200 bool "Early printk"
1201 default n
1202 help
1203 This option enables special console drivers which allow the kernel
1204 to print messages very early in the bootup process.
1205
1206 This is useful for kernel debugging when your machine crashes very
1207 early before the console code is initialized. After enabling this
1208 feature, you must add "earlyprintk=serial,uart0,57600" to the
1209 command line (bootargs). It is safe to say Y here in all cases, as
1210 all of this lives in the init section and is thrown away after the
1211 kernel boots completely.
1212
Bryan Wu1394f032007-05-06 14:50:22 -07001213config DUAL_CORE_TEST_MODULE
1214 tristate "Dual Core Test Module"
1215 depends on (BF561)
1216 default n
1217 help
1218 Say Y here to build-in dual core test module for dual core test.
1219
1220config CPLB_INFO
1221 bool "Display the CPLB information"
1222 help
1223 Display the CPLB information.
1224
1225config ACCESS_CHECK
1226 bool "Check the user pointer address"
1227 default y
1228 help
1229 Usually the pointer transfer from user space is checked to see if its
1230 address is in the kernel space.
1231
1232 Say N here to disable that check to improve the performance.
1233
1234endmenu
1235
1236source "security/Kconfig"
1237
1238source "crypto/Kconfig"
1239
1240source "lib/Kconfig"