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