Blackfin arch: Functional power management support
[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
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 PLL_BYPASS
314         bool "Bypass PLL"
315         depends on BFIN_KERNEL_CLOCK
316         default n
317
318 config CLKIN_HALF
319         bool "Half Clock In"
320         depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
321         default n
322         help
323           If this is set the clock will be divided by 2, before it goes to the PLL.
324
325 config VCO_MULT
326         int "VCO Multiplier"
327         depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
328         range 1 64
329         default "22" if BFIN533_EZKIT
330         default "45" if BFIN533_STAMP
331         default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM)
332         default "22" if BFIN533_BLUETECHNIX_CM
333         default "20" if BFIN537_BLUETECHNIX_CM
334         default "20" if BFIN561_BLUETECHNIX_CM
335         default "20" if BFIN561_EZKIT
336         default "16" if H8606_HVSISTEMAS
337         help
338           This controls the frequency of the on-chip PLL. This can be between 1 and 64.
339           PLL Frequency = (Crystal Frequency) * (this setting)
340
341 choice
342         prompt "Core Clock Divider"
343         depends on BFIN_KERNEL_CLOCK
344         default CCLK_DIV_1
345         help
346           This sets the frequency of the core. It can be 1, 2, 4 or 8
347           Core Frequency = (PLL frequency) / (this setting)
348
349 config CCLK_DIV_1
350         bool "1"
351
352 config CCLK_DIV_2
353         bool "2"
354
355 config CCLK_DIV_4
356         bool "4"
357
358 config CCLK_DIV_8
359         bool "8"
360 endchoice
361
362 config SCLK_DIV
363         int "System Clock Divider"
364         depends on BFIN_KERNEL_CLOCK
365         range 1 15
366         default 5
367         help
368           This sets the frequency of the system clock (including SDRAM or DDR).
369           This can be between 1 and 15
370           System Clock = (PLL frequency) / (this setting)
371
372 config MAX_MEM_SIZE
373         int "Max SDRAM Memory Size in MBytes"
374         depends on !MPU
375         default 512
376         help
377           This is the max memory size that the kernel will create CPLB
378           tables for.  Your system will not be able to handle any more.
379
380 choice
381         prompt "DDR SDRAM Chip Type"
382         depends on BFIN_KERNEL_CLOCK
383         depends on BF54x
384         default MEM_MT46V32M16_5B
385
386 config MEM_MT46V32M16_6T
387         bool "MT46V32M16_6T"
388
389 config MEM_MT46V32M16_5B
390         bool "MT46V32M16_5B"
391 endchoice
392
393 #
394 # Max & Min Speeds for various Chips
395 #
396 config MAX_VCO_HZ
397         int
398         default 600000000 if BF522
399         default 400000000 if BF523
400         default 400000000 if BF524
401         default 600000000 if BF525
402         default 400000000 if BF526
403         default 600000000 if BF527
404         default 400000000 if BF531
405         default 400000000 if BF532
406         default 750000000 if BF533
407         default 500000000 if BF534
408         default 400000000 if BF536
409         default 600000000 if BF537
410         default 533333333 if BF538
411         default 533333333 if BF539
412         default 600000000 if BF542
413         default 533333333 if BF544
414         default 600000000 if BF547
415         default 600000000 if BF548
416         default 533333333 if BF549
417         default 600000000 if BF561
418
419 config MIN_VCO_HZ
420         int
421         default 50000000
422
423 config MAX_SCLK_HZ
424         int
425         default 133333333
426
427 config MIN_SCLK_HZ
428         int
429         default 27000000
430
431 comment "Kernel Timer/Scheduler"
432
433 source kernel/Kconfig.hz
434
435 config GENERIC_TIME
436         bool "Generic time"
437         default y
438
439 config GENERIC_CLOCKEVENTS
440         bool "Generic clock events"
441         depends on GENERIC_TIME
442         default y
443
444 config CYCLES_CLOCKSOURCE
445         bool "Use 'CYCLES' as a clocksource (EXPERIMENTAL)"
446         depends on EXPERIMENTAL
447         depends on GENERIC_CLOCKEVENTS
448         depends on !BFIN_SCRATCH_REG_CYCLES
449         default n
450         help
451           If you say Y here, you will enable support for using the 'cycles'
452           registers as a clock source.  Doing so means you will be unable to
453           safely write to the 'cycles' register during runtime.  You will
454           still be able to read it (such as for performance monitoring), but
455           writing the registers will most likely crash the kernel.
456
457 source kernel/time/Kconfig
458
459 comment "Memory Setup"
460
461 comment "Misc"
462
463 choice
464         prompt "Blackfin Exception Scratch Register"
465         default BFIN_SCRATCH_REG_RETN
466         help
467           Select the resource to reserve for the Exception handler:
468             - RETN: Non-Maskable Interrupt (NMI)
469             - RETE: Exception Return (JTAG/ICE)
470             - CYCLES: Performance counter
471
472           If you are unsure, please select "RETN".
473
474 config BFIN_SCRATCH_REG_RETN
475         bool "RETN"
476         help
477           Use the RETN register in the Blackfin exception handler
478           as a stack scratch register.  This means you cannot
479           safely use NMI on the Blackfin while running Linux, but
480           you can debug the system with a JTAG ICE and use the
481           CYCLES performance registers.
482
483           If you are unsure, please select "RETN".
484
485 config BFIN_SCRATCH_REG_RETE
486         bool "RETE"
487         help
488           Use the RETE register in the Blackfin exception handler
489           as a stack scratch register.  This means you cannot
490           safely use a JTAG ICE while debugging a Blackfin board,
491           but you can safely use the CYCLES performance registers
492           and the NMI.
493
494           If you are unsure, please select "RETN".
495
496 config BFIN_SCRATCH_REG_CYCLES
497         bool "CYCLES"
498         help
499           Use the CYCLES register in the Blackfin exception handler
500           as a stack scratch register.  This means you cannot
501           safely use the CYCLES performance registers on a Blackfin
502           board at anytime, but you can debug the system with a JTAG
503           ICE and use the NMI.
504
505           If you are unsure, please select "RETN".
506
507 endchoice
508
509 endmenu
510
511
512 menu "Blackfin Kernel Optimizations"
513
514 comment "Memory Optimizations"
515
516 config I_ENTRY_L1
517         bool "Locate interrupt entry code in L1 Memory"
518         default y
519         help
520           If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
521           into L1 instruction memory. (less latency)
522
523 config EXCPT_IRQ_SYSC_L1
524         bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
525         default y
526         help
527           If enabled, the entire ASM lowlevel exception and interrupt entry code
528           (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
529           (less latency)
530
531 config DO_IRQ_L1
532         bool "Locate frequently called do_irq dispatcher function in L1 Memory"
533         default y
534         help
535           If enabled, the frequently called do_irq dispatcher function is linked
536           into L1 instruction memory. (less latency)
537
538 config CORE_TIMER_IRQ_L1
539         bool "Locate frequently called timer_interrupt() function in L1 Memory"
540         default y
541         help
542           If enabled, the frequently called timer_interrupt() function is linked
543           into L1 instruction memory. (less latency)
544
545 config IDLE_L1
546         bool "Locate frequently idle function in L1 Memory"
547         default y
548         help
549           If enabled, the frequently called idle function is linked
550           into L1 instruction memory. (less latency)
551
552 config SCHEDULE_L1
553         bool "Locate kernel schedule function in L1 Memory"
554         default y
555         help
556           If enabled, the frequently called kernel schedule is linked
557           into L1 instruction memory. (less latency)
558
559 config ARITHMETIC_OPS_L1
560         bool "Locate kernel owned arithmetic functions in L1 Memory"
561         default y
562         help
563           If enabled, arithmetic functions are linked
564           into L1 instruction memory. (less latency)
565
566 config ACCESS_OK_L1
567         bool "Locate access_ok function in L1 Memory"
568         default y
569         help
570           If enabled, the access_ok function is linked
571           into L1 instruction memory. (less latency)
572
573 config MEMSET_L1
574         bool "Locate memset function in L1 Memory"
575         default y
576         help
577           If enabled, the memset function is linked
578           into L1 instruction memory. (less latency)
579
580 config MEMCPY_L1
581         bool "Locate memcpy function in L1 Memory"
582         default y
583         help
584           If enabled, the memcpy function is linked
585           into L1 instruction memory. (less latency)
586
587 config SYS_BFIN_SPINLOCK_L1
588         bool "Locate sys_bfin_spinlock function in L1 Memory"
589         default y
590         help
591           If enabled, sys_bfin_spinlock function is linked
592           into L1 instruction memory. (less latency)
593
594 config IP_CHECKSUM_L1
595         bool "Locate IP Checksum function in L1 Memory"
596         default n
597         help
598           If enabled, the IP Checksum function is linked
599           into L1 instruction memory. (less latency)
600
601 config CACHELINE_ALIGNED_L1
602         bool "Locate cacheline_aligned data to L1 Data Memory"
603         default y if !BF54x
604         default n if BF54x
605         depends on !BF531
606         help
607           If enabled, cacheline_anligned data is linked
608           into L1 data memory. (less latency)
609
610 config SYSCALL_TAB_L1
611         bool "Locate Syscall Table L1 Data Memory"
612         default n
613         depends on !BF531
614         help
615           If enabled, the Syscall LUT is linked
616           into L1 data memory. (less latency)
617
618 config CPLB_SWITCH_TAB_L1
619         bool "Locate CPLB Switch Tables L1 Data Memory"
620         default n
621         depends on !BF531
622         help
623           If enabled, the CPLB Switch Tables are linked
624           into L1 data memory. (less latency)
625
626 endmenu
627
628
629 choice
630         prompt "Kernel executes from"
631         help
632           Choose the memory type that the kernel will be running in.
633
634 config RAMKERNEL
635         bool "RAM"
636         help
637           The kernel will be resident in RAM when running.
638
639 config ROMKERNEL
640         bool "ROM"
641         help
642           The kernel will be resident in FLASH/ROM when running.
643
644 endchoice
645
646 source "mm/Kconfig"
647
648 config BFIN_GPTIMERS
649         tristate "Enable Blackfin General Purpose Timers API"
650         default n
651         help
652           Enable support for the General Purpose Timers API.  If you
653           are unsure, say N.
654
655           To compile this driver as a module, choose M here: the module
656           will be called gptimers.ko.
657
658 config BFIN_DMA_5XX
659         bool "Enable DMA Support"
660         depends on (BF52x || BF53x || BF561 || BF54x)
661         default y
662         help
663           DMA driver for BF5xx.
664
665 choice
666         prompt "Uncached SDRAM region"
667         default DMA_UNCACHED_1M
668         depends on BFIN_DMA_5XX
669 config DMA_UNCACHED_4M
670         bool "Enable 4M DMA region"
671 config DMA_UNCACHED_2M
672         bool "Enable 2M DMA region"
673 config DMA_UNCACHED_1M
674         bool "Enable 1M DMA region"
675 config DMA_UNCACHED_NONE
676         bool "Disable DMA region"
677 endchoice
678
679
680 comment "Cache Support"
681 config BFIN_ICACHE
682         bool "Enable ICACHE"
683 config BFIN_DCACHE
684         bool "Enable DCACHE"
685 config BFIN_DCACHE_BANKA
686         bool "Enable only 16k BankA DCACHE - BankB is SRAM"
687         depends on BFIN_DCACHE && !BF531
688         default n
689 config BFIN_ICACHE_LOCK
690         bool "Enable Instruction Cache Locking"
691
692 choice
693         prompt "Policy"
694         depends on BFIN_DCACHE
695         default BFIN_WB
696 config BFIN_WB
697         bool "Write back"
698         help
699           Write Back Policy:
700             Cached data will be written back to SDRAM only when needed.
701             This can give a nice increase in performance, but beware of
702             broken drivers that do not properly invalidate/flush their
703             cache.
704
705           Write Through Policy:
706             Cached data will always be written back to SDRAM when the
707             cache is updated.  This is a completely safe setting, but
708             performance is worse than Write Back.
709
710           If you are unsure of the options and you want to be safe,
711           then go with Write Through.
712
713 config BFIN_WT
714         bool "Write through"
715         help
716           Write Back Policy:
717             Cached data will be written back to SDRAM only when needed.
718             This can give a nice increase in performance, but beware of
719             broken drivers that do not properly invalidate/flush their
720             cache.
721
722           Write Through Policy:
723             Cached data will always be written back to SDRAM when the
724             cache is updated.  This is a completely safe setting, but
725             performance is worse than Write Back.
726
727           If you are unsure of the options and you want to be safe,
728           then go with Write Through.
729
730 endchoice
731
732 config L1_MAX_PIECE
733         int "Set the max L1 SRAM pieces"
734         default 16
735         help
736           Set the max memory pieces for the L1 SRAM allocation algorithm.
737           Min value is 16. Max value is 1024.
738
739
740 config MPU
741         bool "Enable the memory protection unit (EXPERIMENTAL)"
742         default n
743         help
744           Use the processor's MPU to protect applications from accessing
745           memory they do not own.  This comes at a performance penalty
746           and is recommended only for debugging.
747
748 comment "Asynchonous Memory Configuration"
749
750 menu "EBIU_AMGCTL Global Control"
751 config C_AMCKEN
752         bool "Enable CLKOUT"
753         default y
754
755 config C_CDPRIO
756         bool "DMA has priority over core for ext. accesses"
757         default n
758
759 config C_B0PEN
760         depends on BF561
761         bool "Bank 0 16 bit packing enable"
762         default y
763
764 config C_B1PEN
765         depends on BF561
766         bool "Bank 1 16 bit packing enable"
767         default y
768
769 config C_B2PEN
770         depends on BF561
771         bool "Bank 2 16 bit packing enable"
772         default y
773
774 config C_B3PEN
775         depends on BF561
776         bool "Bank 3 16 bit packing enable"
777         default n
778
779 choice
780         prompt"Enable Asynchonous Memory Banks"
781         default C_AMBEN_ALL
782
783 config C_AMBEN
784         bool "Disable All Banks"
785
786 config C_AMBEN_B0
787         bool "Enable Bank 0"
788
789 config C_AMBEN_B0_B1
790         bool "Enable Bank 0 & 1"
791
792 config C_AMBEN_B0_B1_B2
793         bool "Enable Bank 0 & 1 & 2"
794
795 config C_AMBEN_ALL
796         bool "Enable All Banks"
797 endchoice
798 endmenu
799
800 menu "EBIU_AMBCTL Control"
801 config BANK_0
802         hex "Bank 0"
803         default 0x7BB0
804
805 config BANK_1
806         hex "Bank 1"
807         default 0x7BB0
808         default 0x5558 if BF54x
809
810 config BANK_2
811         hex "Bank 2"
812         default 0x7BB0
813
814 config BANK_3
815         hex "Bank 3"
816         default 0x99B3
817 endmenu
818
819 config EBIU_MBSCTLVAL
820         hex "EBIU Bank Select Control Register"
821         depends on BF54x
822         default 0
823
824 config EBIU_MODEVAL
825         hex "Flash Memory Mode Control Register"
826         depends on BF54x
827         default 1
828
829 config EBIU_FCTLVAL
830         hex "Flash Memory Bank Control Register"
831         depends on BF54x
832         default 6
833 endmenu
834
835 #############################################################################
836 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
837
838 config PCI
839         bool "PCI support"
840         help
841           Support for PCI bus.
842
843 source "drivers/pci/Kconfig"
844
845 config HOTPLUG
846         bool "Support for hot-pluggable device"
847           help
848           Say Y here if you want to plug devices into your computer while
849           the system is running, and be able to use them quickly.  In many
850           cases, the devices can likewise be unplugged at any time too.
851
852           One well known example of this is PCMCIA- or PC-cards, credit-card
853           size devices such as network cards, modems or hard drives which are
854           plugged into slots found on all modern laptop computers.  Another
855           example, used on modern desktops as well as laptops, is USB.
856
857           Enable HOTPLUG and KMOD, and build a modular kernel.  Get agent
858           software (at <http://linux-hotplug.sourceforge.net/>) and install it.
859           Then your kernel will automatically call out to a user mode "policy
860           agent" (/sbin/hotplug) to load modules and set up software needed
861           to use devices as you hotplug them.
862
863 source "drivers/pcmcia/Kconfig"
864
865 source "drivers/pci/hotplug/Kconfig"
866
867 endmenu
868
869 menu "Executable file formats"
870
871 source "fs/Kconfig.binfmt"
872
873 endmenu
874
875 menu "Power management options"
876 source "kernel/power/Kconfig"
877
878 config ARCH_SUSPEND_POSSIBLE
879         def_bool y
880         depends on !SMP
881
882 choice
883         prompt "Standby Power Saving Mode"
884         depends on PM
885         default PM_BFIN_SLEEP_DEEPER
886 config  PM_BFIN_SLEEP_DEEPER
887         bool "Sleep Deeper"
888         help
889           Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
890           power dissipation by disabling the clock to the processor core (CCLK).
891           Furthermore, Standby sets the internal power supply voltage (VDDINT)
892           to 0.85 V to provide the greatest power savings, while preserving the
893           processor state.
894           The PLL and system clock (SCLK) continue to operate at a very low
895           frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
896           the SDRAM is put into Self Refresh Mode. Typically an external event
897           such as GPIO interrupt or RTC activity wakes up the processor.
898           Various Peripherals such as UART, SPORT, PPI may not function as
899           normal during Sleep Deeper, due to the reduced SCLK frequency.
900           When in the sleep mode, system DMA access to L1 memory is not supported.
901
902           If unsure, select "Sleep Deeper".
903
904 config  PM_BFIN_SLEEP
905         bool "Sleep"
906         help
907           Sleep Mode (High Power Savings) - The sleep mode reduces power
908           dissipation by disabling the clock to the processor core (CCLK).
909           The PLL and system clock (SCLK), however, continue to operate in
910           this mode. Typically an external event or RTC activity will wake
911           up the processor. When in the sleep mode, system DMA access to L1
912           memory is not supported.
913
914           If unsure, select "Sleep Deeper".
915 endchoice
916
917 config PM_WAKEUP_BY_GPIO
918         bool "Allow Wakeup from Standby by GPIO"
919
920 config PM_WAKEUP_GPIO_NUMBER
921         int "GPIO number"
922         range 0 47
923         depends on PM_WAKEUP_BY_GPIO
924         default 2 if BFIN537_STAMP
925
926 choice
927         prompt "GPIO Polarity"
928         depends on PM_WAKEUP_BY_GPIO
929         default PM_WAKEUP_GPIO_POLAR_H
930 config  PM_WAKEUP_GPIO_POLAR_H
931         bool "Active High"
932 config  PM_WAKEUP_GPIO_POLAR_L
933         bool "Active Low"
934 config  PM_WAKEUP_GPIO_POLAR_EDGE_F
935         bool "Falling EDGE"
936 config  PM_WAKEUP_GPIO_POLAR_EDGE_R
937         bool "Rising EDGE"
938 config  PM_WAKEUP_GPIO_POLAR_EDGE_B
939         bool "Both EDGE"
940 endchoice
941
942 comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
943         depends on PM
944
945 config PM_BFIN_WAKE_RTC
946         bool "Allow Wake-Up from RESET and on-chip RTC"
947         depends on PM
948         default n
949         help
950           Enable RTC Wake-Up (Voltage Regulator Power-Up)
951
952 config PM_BFIN_WAKE_PH6
953         bool "Allow Wake-Up from on-chip PHY or PH6 GP"
954         depends on PM && (BF52x || BF534 || BF536 || BF537)
955         default n
956         help
957           Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
958
959 config PM_BFIN_WAKE_CAN
960         bool "Allow Wake-Up from on-chip CAN0/1"
961         depends on PM && (BF54x || BF534 || BF536 || BF537)
962         default n
963         help
964           Enable CAN0/1 Wake-Up (Voltage Regulator Power-Up)
965
966 config PM_BFIN_WAKE_GP
967         bool "Allow Wake-Up from GPIOs"
968         depends on PM && BF54x
969         default n
970         help
971           Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
972
973 config PM_BFIN_WAKE_USB
974         bool "Allow Wake-Up from on-chip USB"
975         depends on PM && (BF54x || BF52x)
976         default n
977         help
978           Enable USB Wake-Up (Voltage Regulator Power-Up)
979
980 config PM_BFIN_WAKE_KEYPAD
981         bool "Allow Wake-Up from on-chip Keypad"
982         depends on PM && BF54x
983         default n
984         help
985           Enable Keypad Wake-Up (Voltage Regulator Power-Up)
986
987 config PM_BFIN_WAKE_ROTARY
988         bool "Allow Wake-Up from on-chip Rotary"
989         depends on PM && BF54x
990         default n
991         help
992           Enable Rotary Wake-Up (Voltage Regulator Power-Up)
993
994 endmenu
995
996 menu "CPU Frequency scaling"
997
998 source "drivers/cpufreq/Kconfig"
999
1000 config CPU_VOLTAGE
1001         bool "CPU Voltage scaling"
1002         depends on EXPERIMENTAL 
1003         depends on CPU_FREQ
1004         default n
1005         help
1006           Say Y here if you want CPU voltage scaling according to the CPU frequency.
1007           This option violates the PLL BYPASS recommendation in the Blackfin Processor
1008           manuals. There is a theoretical risk that during VDDINT transitions 
1009           the PLL may unlock.
1010
1011 endmenu
1012
1013 source "net/Kconfig"
1014
1015 source "drivers/Kconfig"
1016
1017 source "fs/Kconfig"
1018
1019 source "arch/blackfin/Kconfig.debug"
1020
1021 source "security/Kconfig"
1022
1023 source "crypto/Kconfig"
1024
1025 source "lib/Kconfig"