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