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