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