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