Blackfin arch: dma code: cannot simply OR the ndsize
[deliverable/linux.git] / arch / blackfin / Kconfig
CommitLineData
1394f032
BW
1#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
53f8a252 6mainmenu "Blackfin Kernel Configuration"
1394f032
BW
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
ec7748b5 27 select HAVE_IDE
42d4b839 28 select HAVE_OPROFILE
a4f0b32c 29 select ARCH_WANT_OPTIONAL_GPIOLIB
1394f032 30
e3defffe
AL
31config ZONE_DMA
32 bool
33 default y
34
1394f032
BW
35config GENERIC_FIND_NEXT_BIT
36 bool
37 default y
38
39config GENERIC_HWEIGHT
40 bool
41 default y
42
43config GENERIC_HARDIRQS
44 bool
45 default y
46
47config GENERIC_IRQ_PROBE
e4e9a7ad 48 bool
1394f032
BW
49 default y
50
b2d1583f 51config GENERIC_GPIO
1394f032
BW
52 bool
53 default y
54
55config FORCE_MAX_ZONEORDER
56 int
57 default "14"
58
59config GENERIC_CALIBRATE_DELAY
60 bool
61 default y
62
1394f032 63source "init/Kconfig"
dc52ddc0 64
1394f032
BW
65source "kernel/Kconfig.preempt"
66
dc52ddc0
MH
67source "kernel/Kconfig.freezer"
68
1394f032
BW
69menu "Blackfin Processor Options"
70
71comment "Processor and Board Settings"
72
73choice
74 prompt "CPU"
75 default BF533
76
2f6f4bcd
BW
77config BF512
78 bool "BF512"
79 help
80 BF512 Processor Support.
81
82config BF514
83 bool "BF514"
84 help
85 BF514 Processor Support.
86
87config BF516
88 bool "BF516"
89 help
90 BF516 Processor Support.
91
92config BF518
93 bool "BF518"
94 help
95 BF518 Processor Support.
96
59003145
MH
97config BF522
98 bool "BF522"
99 help
100 BF522 Processor Support.
101
1545a111
MF
102config BF523
103 bool "BF523"
104 help
105 BF523 Processor Support.
106
107config BF524
108 bool "BF524"
109 help
110 BF524 Processor Support.
111
59003145
MH
112config BF525
113 bool "BF525"
114 help
115 BF525 Processor Support.
116
1545a111
MF
117config BF526
118 bool "BF526"
119 help
120 BF526 Processor Support.
121
59003145
MH
122config BF527
123 bool "BF527"
124 help
125 BF527 Processor Support.
126
1394f032
BW
127config BF531
128 bool "BF531"
129 help
130 BF531 Processor Support.
131
132config BF532
133 bool "BF532"
134 help
135 BF532 Processor Support.
136
137config BF533
138 bool "BF533"
139 help
140 BF533 Processor Support.
141
142config BF534
143 bool "BF534"
144 help
145 BF534 Processor Support.
146
147config BF536
148 bool "BF536"
149 help
150 BF536 Processor Support.
151
152config BF537
153 bool "BF537"
154 help
155 BF537 Processor Support.
156
dc26aec2
MH
157config BF538
158 bool "BF538"
159 help
160 BF538 Processor Support.
161
162config BF539
163 bool "BF539"
164 help
165 BF539 Processor Support.
166
24a07a12
RH
167config BF542
168 bool "BF542"
169 help
170 BF542 Processor Support.
171
172config BF544
173 bool "BF544"
174 help
175 BF544 Processor Support.
176
7c7fd170
MF
177config BF547
178 bool "BF547"
179 help
180 BF547 Processor Support.
181
24a07a12
RH
182config BF548
183 bool "BF548"
184 help
185 BF548 Processor Support.
186
187config BF549
188 bool "BF549"
189 help
190 BF549 Processor Support.
191
1394f032
BW
192config BF561
193 bool "BF561"
194 help
cd88b4dc 195 BF561 Processor Support.
1394f032
BW
196
197endchoice
198
46fa5eec
GY
199config SMP
200 depends on BF561
201 bool "Symmetric multi-processing support"
202 ---help---
203 This enables support for systems with more than one CPU,
204 like the dual core BF561. If you have a system with only one
205 CPU, say N. If you have a system with more than one CPU, say Y.
206
207 If you don't know what to do here, say N.
208
209config NR_CPUS
210 int
211 depends on SMP
212 default 2 if BF561
213
214config IRQ_PER_CPU
215 bool
216 depends on SMP
217 default y
218
219config TICK_SOURCE_SYSTMR0
220 bool
221 select BFIN_GPTIMERS
222 depends on SMP
223 default y
224
0c0497c2
MF
225config BF_REV_MIN
226 int
2f6f4bcd 227 default 0 if (BF51x || BF52x || BF54x)
0c0497c2
MF
228 default 2 if (BF537 || BF536 || BF534)
229 default 3 if (BF561 ||BF533 || BF532 || BF531)
2f6f4bcd 230 default 4 if (BF538 || BF539)
0c0497c2
MF
231
232config BF_REV_MAX
233 int
2f6f4bcd 234 default 2 if (BF51x || BF52x || BF54x)
0c0497c2 235 default 3 if (BF537 || BF536 || BF534)
2f6f4bcd 236 default 5 if (BF561 || BF538 || BF539)
0c0497c2
MF
237 default 6 if (BF533 || BF532 || BF531)
238
1394f032
BW
239choice
240 prompt "Silicon Rev"
2f6f4bcd 241 default BF_REV_0_1 if (BF51x || BF52x || BF54x)
46ce0d9a
MF
242 default BF_REV_0_2 if (BF534 || BF536 || BF537)
243 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF561)
24a07a12
RH
244
245config BF_REV_0_0
246 bool "0.0"
2f6f4bcd 247 depends on (BF51x || BF52x || BF54x)
59003145
MH
248
249config BF_REV_0_1
d07f4380
MF
250 bool "0.1"
251 depends on (BF52x || BF54x)
1394f032
BW
252
253config BF_REV_0_2
254 bool "0.2"
49f7253c 255 depends on (BF52x || BF537 || BF536 || BF534 || BF54x)
1394f032
BW
256
257config BF_REV_0_3
258 bool "0.3"
259 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
260
261config BF_REV_0_4
262 bool "0.4"
dc26aec2 263 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
1394f032
BW
264
265config BF_REV_0_5
266 bool "0.5"
dc26aec2 267 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
1394f032 268
49f7253c
MF
269config BF_REV_0_6
270 bool "0.6"
271 depends on (BF533 || BF532 || BF531)
272
de3025f4
JZ
273config BF_REV_ANY
274 bool "any"
275
276config BF_REV_NONE
277 bool "none"
278
1394f032
BW
279endchoice
280
2f6f4bcd
BW
281config BF51x
282 bool
283 depends on (BF512 || BF514 || BF516 || BF518)
284 default y
285
59003145
MH
286config BF52x
287 bool
1545a111 288 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
59003145
MH
289 default y
290
24a07a12
RH
291config BF53x
292 bool
293 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
294 default y
295
296config BF54x
297 bool
7c7fd170 298 depends on (BF542 || BF544 || BF547 || BF548 || BF549)
24a07a12
RH
299 default y
300
1394f032
BW
301config MEM_GENERIC_BOARD
302 bool
303 depends on GENERIC_BOARD
304 default y
305
306config MEM_MT48LC64M4A2FB_7E
307 bool
308 depends on (BFIN533_STAMP)
309 default y
310
311config MEM_MT48LC16M16A2TG_75
312 bool
313 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
ab472a04 314 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
9db144fe 315 || H8606_HVSISTEMAS || BFIN527_BLUETECHNIX_CM)
1394f032
BW
316 default y
317
318config MEM_MT48LC32M8A2_75
319 bool
dc26aec2 320 depends on (BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
1394f032
BW
321 default y
322
323config MEM_MT48LC8M32B2B5_7
324 bool
325 depends on (BFIN561_BLUETECHNIX_CM)
326 default y
327
59003145
MH
328config MEM_MT48LC32M16A2TG_75
329 bool
8cc7117e 330 depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP || BFIN526_EZBRD)
59003145
MH
331 default y
332
2f6f4bcd 333source "arch/blackfin/mach-bf518/Kconfig"
59003145 334source "arch/blackfin/mach-bf527/Kconfig"
1394f032
BW
335source "arch/blackfin/mach-bf533/Kconfig"
336source "arch/blackfin/mach-bf561/Kconfig"
337source "arch/blackfin/mach-bf537/Kconfig"
dc26aec2 338source "arch/blackfin/mach-bf538/Kconfig"
24a07a12 339source "arch/blackfin/mach-bf548/Kconfig"
1394f032
BW
340
341menu "Board customizations"
342
343config CMDLINE_BOOL
344 bool "Default bootloader kernel arguments"
345
346config CMDLINE
347 string "Initial kernel command string"
348 depends on CMDLINE_BOOL
349 default "console=ttyBF0,57600"
350 help
351 If you don't have a boot loader capable of passing a command line string
352 to the kernel, you may specify one here. As a minimum, you should specify
353 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
354
5f004c20
MF
355config BOOT_LOAD
356 hex "Kernel load address for booting"
357 default "0x1000"
358 range 0x1000 0x20000000
359 help
360 This option allows you to set the load address of the kernel.
361 This can be useful if you are on a board which has a small amount
362 of memory or you wish to reserve some memory at the beginning of
363 the address space.
364
365 Note that you need to keep this value above 4k (0x1000) as this
366 memory region is used to capture NULL pointer references as well
367 as some core kernel functions.
368
8cc7117e
MH
369config ROM_BASE
370 hex "Kernel ROM Base"
86249911 371 depends on ROMKERNEL
8cc7117e
MH
372 default "0x20040000"
373 range 0x20000000 0x20400000 if !(BF54x || BF561)
374 range 0x20000000 0x30000000 if (BF54x || BF561)
375 help
376
f16295e7 377comment "Clock/PLL Setup"
1394f032
BW
378
379config CLKIN_HZ
2fb6cb41 380 int "Frequency of the crystal on the board in Hz"
1394f032
BW
381 default "11059200" if BFIN533_STAMP
382 default "27000000" if BFIN533_EZKIT
2f6f4bcd 383 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN538_EZKIT || BFIN518F-EZBRD)
1394f032
BW
384 default "30000000" if BFIN561_EZKIT
385 default "24576000" if PNAV10
5d1617b2 386 default "10000000" if BFIN532_IP0X
1394f032
BW
387 help
388 The frequency of CLKIN crystal oscillator on the board in Hz.
2fb6cb41
SZ
389 Warning: This value should match the crystal on the board. Otherwise,
390 peripherals won't work properly.
1394f032 391
f16295e7
RG
392config BFIN_KERNEL_CLOCK
393 bool "Re-program Clocks while Kernel boots?"
394 default n
395 help
396 This option decides if kernel clocks are re-programed from the
397 bootloader settings. If the clocks are not set, the SDRAM settings
398 are also not changed, and the Bootloader does 100% of the hardware
399 configuration.
400
401config PLL_BYPASS
e4e9a7ad
MF
402 bool "Bypass PLL"
403 depends on BFIN_KERNEL_CLOCK
404 default n
f16295e7
RG
405
406config CLKIN_HALF
407 bool "Half Clock In"
408 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
409 default n
410 help
411 If this is set the clock will be divided by 2, before it goes to the PLL.
412
413config VCO_MULT
414 int "VCO Multiplier"
415 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
416 range 1 64
417 default "22" if BFIN533_EZKIT
418 default "45" if BFIN533_STAMP
dc26aec2 419 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
f16295e7 420 default "22" if BFIN533_BLUETECHNIX_CM
9db144fe 421 default "20" if (BFIN537_BLUETECHNIX_CM || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
f16295e7 422 default "20" if BFIN561_EZKIT
2f6f4bcd 423 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
f16295e7
RG
424 help
425 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
426 PLL Frequency = (Crystal Frequency) * (this setting)
427
428choice
429 prompt "Core Clock Divider"
430 depends on BFIN_KERNEL_CLOCK
431 default CCLK_DIV_1
432 help
433 This sets the frequency of the core. It can be 1, 2, 4 or 8
434 Core Frequency = (PLL frequency) / (this setting)
435
436config CCLK_DIV_1
437 bool "1"
438
439config CCLK_DIV_2
440 bool "2"
441
442config CCLK_DIV_4
443 bool "4"
444
445config CCLK_DIV_8
446 bool "8"
447endchoice
448
449config SCLK_DIV
450 int "System Clock Divider"
451 depends on BFIN_KERNEL_CLOCK
452 range 1 15
5f004c20 453 default 5
f16295e7
RG
454 help
455 This sets the frequency of the system clock (including SDRAM or DDR).
456 This can be between 1 and 15
457 System Clock = (PLL frequency) / (this setting)
458
5f004c20
MF
459choice
460 prompt "DDR SDRAM Chip Type"
461 depends on BFIN_KERNEL_CLOCK
462 depends on BF54x
463 default MEM_MT46V32M16_5B
464
465config MEM_MT46V32M16_6T
466 bool "MT46V32M16_6T"
467
468config MEM_MT46V32M16_5B
469 bool "MT46V32M16_5B"
470endchoice
471
73feb5c0
MH
472choice
473 prompt "DDR/SDRAM Timing"
474 depends on BFIN_KERNEL_CLOCK
475 default BFIN_KERNEL_CLOCK_MEMINIT_CALC
476 help
477 This option allows you to specify Blackfin SDRAM/DDR Timing parameters
478 The calculated SDRAM timing parameters may not be 100%
479 accurate - This option is therefore marked experimental.
480
481config BFIN_KERNEL_CLOCK_MEMINIT_CALC
482 bool "Calculate Timings (EXPERIMENTAL)"
483 depends on EXPERIMENTAL
484
485config BFIN_KERNEL_CLOCK_MEMINIT_SPEC
486 bool "Provide accurate Timings based on target SCLK"
487 help
488 Please consult the Blackfin Hardware Reference Manuals as well
489 as the memory device datasheet.
490 http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram
491endchoice
492
493menu "Memory Init Control"
494 depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC
495
496config MEM_DDRCTL0
497 depends on BF54x
498 hex "DDRCTL0"
499 default 0x0
500
501config MEM_DDRCTL1
502 depends on BF54x
503 hex "DDRCTL1"
504 default 0x0
505
506config MEM_DDRCTL2
507 depends on BF54x
508 hex "DDRCTL2"
509 default 0x0
510
511config MEM_EBIU_DDRQUE
512 depends on BF54x
513 hex "DDRQUE"
514 default 0x0
515
516config MEM_SDRRC
517 depends on !BF54x
518 hex "SDRRC"
519 default 0x0
520
521config MEM_SDGCTL
522 depends on !BF54x
523 hex "SDGCTL"
524 default 0x0
525endmenu
526
7eb2c23f
MF
527config MAX_MEM_SIZE
528 int "Max SDRAM Memory Size in MBytes"
529 depends on !MPU
530 default 512
531 help
532 This is the max memory size that the kernel will create CPLB
533 tables for. Your system will not be able to handle any more.
534
f16295e7
RG
535#
536# Max & Min Speeds for various Chips
537#
538config MAX_VCO_HZ
539 int
2f6f4bcd
BW
540 default 400000000 if BF512
541 default 400000000 if BF514
542 default 400000000 if BF516
543 default 400000000 if BF518
f16295e7 544 default 600000000 if BF522
1545a111
MF
545 default 400000000 if BF523
546 default 400000000 if BF524
f16295e7 547 default 600000000 if BF525
1545a111 548 default 400000000 if BF526
f16295e7
RG
549 default 600000000 if BF527
550 default 400000000 if BF531
551 default 400000000 if BF532
552 default 750000000 if BF533
553 default 500000000 if BF534
554 default 400000000 if BF536
555 default 600000000 if BF537
f72eecb9
RG
556 default 533333333 if BF538
557 default 533333333 if BF539
f16295e7 558 default 600000000 if BF542
f72eecb9 559 default 533333333 if BF544
1545a111
MF
560 default 600000000 if BF547
561 default 600000000 if BF548
f72eecb9 562 default 533333333 if BF549
f16295e7
RG
563 default 600000000 if BF561
564
565config MIN_VCO_HZ
566 int
567 default 50000000
568
569config MAX_SCLK_HZ
570 int
f72eecb9 571 default 133333333
f16295e7
RG
572
573config MIN_SCLK_HZ
574 int
575 default 27000000
576
577comment "Kernel Timer/Scheduler"
578
579source kernel/Kconfig.hz
580
8b5f79f9
VM
581config GENERIC_TIME
582 bool "Generic time"
46fa5eec 583 depends on !SMP
8b5f79f9
VM
584 default y
585
586config GENERIC_CLOCKEVENTS
587 bool "Generic clock events"
588 depends on GENERIC_TIME
589 default y
590
591config CYCLES_CLOCKSOURCE
592 bool "Use 'CYCLES' as a clocksource (EXPERIMENTAL)"
593 depends on EXPERIMENTAL
594 depends on GENERIC_CLOCKEVENTS
595 depends on !BFIN_SCRATCH_REG_CYCLES
596 default n
597 help
598 If you say Y here, you will enable support for using the 'cycles'
599 registers as a clock source. Doing so means you will be unable to
600 safely write to the 'cycles' register during runtime. You will
601 still be able to read it (such as for performance monitoring), but
602 writing the registers will most likely crash the kernel.
603
604source kernel/time/Kconfig
605
5f004c20 606comment "Misc"
971d5bc4 607
f0b5d12f
MF
608choice
609 prompt "Blackfin Exception Scratch Register"
610 default BFIN_SCRATCH_REG_RETN
611 help
612 Select the resource to reserve for the Exception handler:
613 - RETN: Non-Maskable Interrupt (NMI)
614 - RETE: Exception Return (JTAG/ICE)
615 - CYCLES: Performance counter
616
617 If you are unsure, please select "RETN".
618
619config BFIN_SCRATCH_REG_RETN
620 bool "RETN"
621 help
622 Use the RETN register in the Blackfin exception handler
623 as a stack scratch register. This means you cannot
624 safely use NMI on the Blackfin while running Linux, but
625 you can debug the system with a JTAG ICE and use the
626 CYCLES performance registers.
627
628 If you are unsure, please select "RETN".
629
630config BFIN_SCRATCH_REG_RETE
631 bool "RETE"
632 help
633 Use the RETE register in the Blackfin exception handler
634 as a stack scratch register. This means you cannot
635 safely use a JTAG ICE while debugging a Blackfin board,
636 but you can safely use the CYCLES performance registers
637 and the NMI.
638
639 If you are unsure, please select "RETN".
640
641config BFIN_SCRATCH_REG_CYCLES
642 bool "CYCLES"
643 help
644 Use the CYCLES register in the Blackfin exception handler
645 as a stack scratch register. This means you cannot
646 safely use the CYCLES performance registers on a Blackfin
647 board at anytime, but you can debug the system with a JTAG
648 ICE and use the NMI.
649
650 If you are unsure, please select "RETN".
651
652endchoice
653
1394f032
BW
654endmenu
655
656
657menu "Blackfin Kernel Optimizations"
46fa5eec 658 depends on !SMP
1394f032 659
1394f032
BW
660comment "Memory Optimizations"
661
662config I_ENTRY_L1
663 bool "Locate interrupt entry code in L1 Memory"
664 default y
665 help
01dd2fbf
ML
666 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
667 into L1 instruction memory. (less latency)
1394f032
BW
668
669config EXCPT_IRQ_SYSC_L1
01dd2fbf 670 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
1394f032
BW
671 default y
672 help
01dd2fbf 673 If enabled, the entire ASM lowlevel exception and interrupt entry code
cfefe3c6 674 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
01dd2fbf 675 (less latency)
1394f032
BW
676
677config DO_IRQ_L1
678 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
679 default y
680 help
01dd2fbf
ML
681 If enabled, the frequently called do_irq dispatcher function is linked
682 into L1 instruction memory. (less latency)
1394f032
BW
683
684config CORE_TIMER_IRQ_L1
685 bool "Locate frequently called timer_interrupt() function in L1 Memory"
686 default y
687 help
01dd2fbf
ML
688 If enabled, the frequently called timer_interrupt() function is linked
689 into L1 instruction memory. (less latency)
1394f032
BW
690
691config IDLE_L1
692 bool "Locate frequently idle function in L1 Memory"
693 default y
694 help
01dd2fbf
ML
695 If enabled, the frequently called idle function is linked
696 into L1 instruction memory. (less latency)
1394f032
BW
697
698config SCHEDULE_L1
699 bool "Locate kernel schedule function in L1 Memory"
700 default y
701 help
01dd2fbf
ML
702 If enabled, the frequently called kernel schedule is linked
703 into L1 instruction memory. (less latency)
1394f032
BW
704
705config ARITHMETIC_OPS_L1
706 bool "Locate kernel owned arithmetic functions in L1 Memory"
707 default y
708 help
01dd2fbf
ML
709 If enabled, arithmetic functions are linked
710 into L1 instruction memory. (less latency)
1394f032
BW
711
712config ACCESS_OK_L1
713 bool "Locate access_ok function in L1 Memory"
714 default y
715 help
01dd2fbf
ML
716 If enabled, the access_ok function is linked
717 into L1 instruction memory. (less latency)
1394f032
BW
718
719config MEMSET_L1
720 bool "Locate memset function in L1 Memory"
721 default y
722 help
01dd2fbf
ML
723 If enabled, the memset function is linked
724 into L1 instruction memory. (less latency)
1394f032
BW
725
726config MEMCPY_L1
727 bool "Locate memcpy function in L1 Memory"
728 default y
729 help
01dd2fbf
ML
730 If enabled, the memcpy function is linked
731 into L1 instruction memory. (less latency)
1394f032
BW
732
733config SYS_BFIN_SPINLOCK_L1
734 bool "Locate sys_bfin_spinlock function in L1 Memory"
735 default y
736 help
01dd2fbf
ML
737 If enabled, sys_bfin_spinlock function is linked
738 into L1 instruction memory. (less latency)
1394f032
BW
739
740config IP_CHECKSUM_L1
741 bool "Locate IP Checksum function in L1 Memory"
742 default n
743 help
01dd2fbf
ML
744 If enabled, the IP Checksum function is linked
745 into L1 instruction memory. (less latency)
1394f032
BW
746
747config CACHELINE_ALIGNED_L1
748 bool "Locate cacheline_aligned data to L1 Data Memory"
157cc5aa
MH
749 default y if !BF54x
750 default n if BF54x
1394f032
BW
751 depends on !BF531
752 help
01dd2fbf
ML
753 If enabled, cacheline_anligned data is linked
754 into L1 data memory. (less latency)
1394f032
BW
755
756config SYSCALL_TAB_L1
757 bool "Locate Syscall Table L1 Data Memory"
758 default n
759 depends on !BF531
760 help
01dd2fbf
ML
761 If enabled, the Syscall LUT is linked
762 into L1 data memory. (less latency)
1394f032
BW
763
764config CPLB_SWITCH_TAB_L1
765 bool "Locate CPLB Switch Tables L1 Data Memory"
766 default n
767 depends on !BF531
768 help
01dd2fbf
ML
769 If enabled, the CPLB Switch Tables are linked
770 into L1 data memory. (less latency)
1394f032 771
ca87b7ad
GY
772config APP_STACK_L1
773 bool "Support locating application stack in L1 Scratch Memory"
774 default y
775 help
776 If enabled the application stack can be located in L1
777 scratch memory (less latency).
778
779 Currently only works with FLAT binaries.
780
6ad2b84c
MF
781config EXCEPTION_L1_SCRATCH
782 bool "Locate exception stack in L1 Scratch Memory"
783 default n
784 depends on !APP_STACK_L1 && !SYSCALL_TAB_L1
785 help
786 Whenever an exception occurs, use the L1 Scratch memory for
787 stack storage. You cannot place the stacks of FLAT binaries
788 in L1 when using this option.
789
790 If you don't use L1 Scratch, then you should say Y here.
791
251383c7
RG
792comment "Speed Optimizations"
793config BFIN_INS_LOWOVERHEAD
794 bool "ins[bwl] low overhead, higher interrupt latency"
795 default y
796 help
797 Reads on the Blackfin are speculative. In Blackfin terms, this means
798 they can be interrupted at any time (even after they have been issued
799 on to the external bus), and re-issued after the interrupt occurs.
800 For memory - this is not a big deal, since memory does not change if
801 it sees a read.
802
803 If a FIFO is sitting on the end of the read, it will see two reads,
804 when the core only sees one since the FIFO receives both the read
805 which is cancelled (and not delivered to the core) and the one which
806 is re-issued (which is delivered to the core).
807
808 To solve this, interrupts are turned off before reads occur to
809 I/O space. This option controls which the overhead/latency of
810 controlling interrupts during this time
811 "n" turns interrupts off every read
812 (higher overhead, but lower interrupt latency)
813 "y" turns interrupts off every loop
814 (low overhead, but longer interrupt latency)
815
816 default behavior is to leave this set to on (type "Y"). If you are experiencing
817 interrupt latency issues, it is safe and OK to turn this off.
818
1394f032
BW
819endmenu
820
1394f032
BW
821choice
822 prompt "Kernel executes from"
823 help
824 Choose the memory type that the kernel will be running in.
825
826config RAMKERNEL
827 bool "RAM"
828 help
829 The kernel will be resident in RAM when running.
830
831config ROMKERNEL
832 bool "ROM"
833 help
834 The kernel will be resident in FLASH/ROM when running.
835
836endchoice
837
838source "mm/Kconfig"
839
780431e3
MF
840config BFIN_GPTIMERS
841 tristate "Enable Blackfin General Purpose Timers API"
842 default n
843 help
844 Enable support for the General Purpose Timers API. If you
845 are unsure, say N.
846
847 To compile this driver as a module, choose M here: the module
848 will be called gptimers.ko.
849
1394f032 850choice
d292b000 851 prompt "Uncached DMA region"
1394f032 852 default DMA_UNCACHED_1M
86ad7932
CC
853config DMA_UNCACHED_4M
854 bool "Enable 4M DMA region"
1394f032
BW
855config DMA_UNCACHED_2M
856 bool "Enable 2M DMA region"
857config DMA_UNCACHED_1M
858 bool "Enable 1M DMA region"
859config DMA_UNCACHED_NONE
860 bool "Disable DMA region"
861endchoice
862
863
864comment "Cache Support"
3bebca2d 865config BFIN_ICACHE
1394f032 866 bool "Enable ICACHE"
3bebca2d 867config BFIN_DCACHE
1394f032 868 bool "Enable DCACHE"
3bebca2d 869config BFIN_DCACHE_BANKA
1394f032 870 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
3bebca2d 871 depends on BFIN_DCACHE && !BF531
1394f032 872 default n
3bebca2d
RG
873config BFIN_ICACHE_LOCK
874 bool "Enable Instruction Cache Locking"
1394f032
BW
875
876choice
877 prompt "Policy"
3bebca2d 878 depends on BFIN_DCACHE
46fa5eec
GY
879 default BFIN_WB if !SMP
880 default BFIN_WT if SMP
3bebca2d 881config BFIN_WB
1394f032 882 bool "Write back"
46fa5eec 883 depends on !SMP
1394f032
BW
884 help
885 Write Back Policy:
886 Cached data will be written back to SDRAM only when needed.
887 This can give a nice increase in performance, but beware of
888 broken drivers that do not properly invalidate/flush their
889 cache.
890
891 Write Through Policy:
892 Cached data will always be written back to SDRAM when the
893 cache is updated. This is a completely safe setting, but
894 performance is worse than Write Back.
895
896 If you are unsure of the options and you want to be safe,
897 then go with Write Through.
898
3bebca2d 899config BFIN_WT
1394f032
BW
900 bool "Write through"
901 help
902 Write Back Policy:
903 Cached data will be written back to SDRAM only when needed.
904 This can give a nice increase in performance, but beware of
905 broken drivers that do not properly invalidate/flush their
906 cache.
907
908 Write Through Policy:
909 Cached data will always be written back to SDRAM when the
910 cache is updated. This is a completely safe setting, but
911 performance is worse than Write Back.
912
913 If you are unsure of the options and you want to be safe,
914 then go with Write Through.
915
916endchoice
917
f099f39a
SZ
918config BFIN_L2_CACHEABLE
919 bool "Cache L2 SRAM"
94106e0f 920 depends on (BFIN_DCACHE || BFIN_ICACHE) && (BF54x || (BF561 && !SMP))
f099f39a
SZ
921 default n
922 help
923 Select to make L2 SRAM cacheable in L1 data and instruction cache.
924
b97b8a99
BS
925config MPU
926 bool "Enable the memory protection unit (EXPERIMENTAL)"
927 default n
928 help
929 Use the processor's MPU to protect applications from accessing
930 memory they do not own. This comes at a performance penalty
931 and is recommended only for debugging.
932
1394f032
BW
933comment "Asynchonous Memory Configuration"
934
ddf416b2 935menu "EBIU_AMGCTL Global Control"
1394f032
BW
936config C_AMCKEN
937 bool "Enable CLKOUT"
938 default y
939
940config C_CDPRIO
941 bool "DMA has priority over core for ext. accesses"
942 default n
943
944config C_B0PEN
945 depends on BF561
946 bool "Bank 0 16 bit packing enable"
947 default y
948
949config C_B1PEN
950 depends on BF561
951 bool "Bank 1 16 bit packing enable"
952 default y
953
954config C_B2PEN
955 depends on BF561
956 bool "Bank 2 16 bit packing enable"
957 default y
958
959config C_B3PEN
960 depends on BF561
961 bool "Bank 3 16 bit packing enable"
962 default n
963
964choice
965 prompt"Enable Asynchonous Memory Banks"
966 default C_AMBEN_ALL
967
968config C_AMBEN
969 bool "Disable All Banks"
970
971config C_AMBEN_B0
972 bool "Enable Bank 0"
973
974config C_AMBEN_B0_B1
975 bool "Enable Bank 0 & 1"
976
977config C_AMBEN_B0_B1_B2
978 bool "Enable Bank 0 & 1 & 2"
979
980config C_AMBEN_ALL
981 bool "Enable All Banks"
982endchoice
983endmenu
984
985menu "EBIU_AMBCTL Control"
986config BANK_0
987 hex "Bank 0"
988 default 0x7BB0
989
990config BANK_1
991 hex "Bank 1"
992 default 0x7BB0
197fba56 993 default 0x5558 if BF54x
1394f032
BW
994
995config BANK_2
996 hex "Bank 2"
997 default 0x7BB0
998
999config BANK_3
1000 hex "Bank 3"
1001 default 0x99B3
1002endmenu
1003
e40540b3
SZ
1004config EBIU_MBSCTLVAL
1005 hex "EBIU Bank Select Control Register"
1006 depends on BF54x
1007 default 0
1008
1009config EBIU_MODEVAL
1010 hex "Flash Memory Mode Control Register"
1011 depends on BF54x
1012 default 1
1013
1014config EBIU_FCTLVAL
1015 hex "Flash Memory Bank Control Register"
1016 depends on BF54x
1017 default 6
f994607a
GY
1018
1019config HARDWARE_PM
1020 bool "OProfile use hardware porformance monitor"
3e706cfc 1021 depends on OPROFILE=y
f994607a
GY
1022 default n
1023
1394f032
BW
1024endmenu
1025
1026#############################################################################
1027menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1028
1029config PCI
1030 bool "PCI support"
a95ca3b2 1031 depends on BROKEN
1394f032
BW
1032 help
1033 Support for PCI bus.
1034
1035source "drivers/pci/Kconfig"
1036
1037config HOTPLUG
1038 bool "Support for hot-pluggable device"
1039 help
1040 Say Y here if you want to plug devices into your computer while
1041 the system is running, and be able to use them quickly. In many
1042 cases, the devices can likewise be unplugged at any time too.
1043
1044 One well known example of this is PCMCIA- or PC-cards, credit-card
1045 size devices such as network cards, modems or hard drives which are
1046 plugged into slots found on all modern laptop computers. Another
1047 example, used on modern desktops as well as laptops, is USB.
1048
a81792f6
JB
1049 Enable HOTPLUG and build a modular kernel. Get agent software
1050 (from <http://linux-hotplug.sourceforge.net/>) and install it.
1394f032
BW
1051 Then your kernel will automatically call out to a user mode "policy
1052 agent" (/sbin/hotplug) to load modules and set up software needed
1053 to use devices as you hotplug them.
1054
1055source "drivers/pcmcia/Kconfig"
1056
1057source "drivers/pci/hotplug/Kconfig"
1058
1059endmenu
1060
1061menu "Executable file formats"
1062
1063source "fs/Kconfig.binfmt"
1064
1065endmenu
1066
1067menu "Power management options"
1068source "kernel/power/Kconfig"
1069
f4cb5700
JB
1070config ARCH_SUSPEND_POSSIBLE
1071 def_bool y
1072 depends on !SMP
1073
1394f032 1074choice
1efc80b5 1075 prompt "Standby Power Saving Mode"
1394f032 1076 depends on PM
cfefe3c6
MH
1077 default PM_BFIN_SLEEP_DEEPER
1078config PM_BFIN_SLEEP_DEEPER
1079 bool "Sleep Deeper"
1080 help
1081 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1082 power dissipation by disabling the clock to the processor core (CCLK).
1083 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1084 to 0.85 V to provide the greatest power savings, while preserving the
1085 processor state.
1086 The PLL and system clock (SCLK) continue to operate at a very low
1087 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1088 the SDRAM is put into Self Refresh Mode. Typically an external event
1089 such as GPIO interrupt or RTC activity wakes up the processor.
1090 Various Peripherals such as UART, SPORT, PPI may not function as
1091 normal during Sleep Deeper, due to the reduced SCLK frequency.
1092 When in the sleep mode, system DMA access to L1 memory is not supported.
1093
1efc80b5
MH
1094 If unsure, select "Sleep Deeper".
1095
cfefe3c6
MH
1096config PM_BFIN_SLEEP
1097 bool "Sleep"
1098 help
1099 Sleep Mode (High Power Savings) - The sleep mode reduces power
1100 dissipation by disabling the clock to the processor core (CCLK).
1101 The PLL and system clock (SCLK), however, continue to operate in
1102 this mode. Typically an external event or RTC activity will wake
1efc80b5
MH
1103 up the processor. When in the sleep mode, system DMA access to L1
1104 memory is not supported.
1105
1106 If unsure, select "Sleep Deeper".
cfefe3c6 1107endchoice
1394f032 1108
1394f032 1109config PM_WAKEUP_BY_GPIO
1efc80b5 1110 bool "Allow Wakeup from Standby by GPIO"
1394f032
BW
1111
1112config PM_WAKEUP_GPIO_NUMBER
1efc80b5 1113 int "GPIO number"
1394f032
BW
1114 range 0 47
1115 depends on PM_WAKEUP_BY_GPIO
d1a3336e 1116 default 2
1394f032
BW
1117
1118choice
1119 prompt "GPIO Polarity"
1120 depends on PM_WAKEUP_BY_GPIO
1121 default PM_WAKEUP_GPIO_POLAR_H
1122config PM_WAKEUP_GPIO_POLAR_H
1123 bool "Active High"
1124config PM_WAKEUP_GPIO_POLAR_L
1125 bool "Active Low"
1126config PM_WAKEUP_GPIO_POLAR_EDGE_F
1127 bool "Falling EDGE"
1128config PM_WAKEUP_GPIO_POLAR_EDGE_R
1129 bool "Rising EDGE"
1130config PM_WAKEUP_GPIO_POLAR_EDGE_B
1131 bool "Both EDGE"
1132endchoice
1133
1efc80b5
MH
1134comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1135 depends on PM
1136
1efc80b5
MH
1137config PM_BFIN_WAKE_PH6
1138 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
2f6f4bcd 1139 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
1efc80b5
MH
1140 default n
1141 help
1142 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1143
1efc80b5
MH
1144config PM_BFIN_WAKE_GP
1145 bool "Allow Wake-Up from GPIOs"
1146 depends on PM && BF54x
1147 default n
1148 help
1149 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
1394f032
BW
1150endmenu
1151
1394f032
BW
1152menu "CPU Frequency scaling"
1153
1154source "drivers/cpufreq/Kconfig"
1155
5ad2ca5f
MH
1156config BFIN_CPU_FREQ
1157 bool
1158 depends on CPU_FREQ
1159 select CPU_FREQ_TABLE
1160 default y
1161
14b03204
MH
1162config CPU_VOLTAGE
1163 bool "CPU Voltage scaling"
73feb5c0 1164 depends on EXPERIMENTAL
14b03204
MH
1165 depends on CPU_FREQ
1166 default n
1167 help
1168 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1169 This option violates the PLL BYPASS recommendation in the Blackfin Processor
73feb5c0 1170 manuals. There is a theoretical risk that during VDDINT transitions
14b03204
MH
1171 the PLL may unlock.
1172
1394f032
BW
1173endmenu
1174
1394f032
BW
1175source "net/Kconfig"
1176
1177source "drivers/Kconfig"
1178
1179source "fs/Kconfig"
1180
74ce8322 1181source "arch/blackfin/Kconfig.debug"
1394f032
BW
1182
1183source "security/Kconfig"
1184
1185source "crypto/Kconfig"
1186
1187source "lib/Kconfig"
This page took 0.321836 seconds and 5 git commands to generate.