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