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