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