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