blob: b5027f575e028555686a98048617cb07c0d4d948 [file] [log] [blame]
Bryan Wu1394f032007-05-06 14:50:22 -07001#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
Mike Frysinger53f8a252007-11-15 15:48:01 +08006mainmenu "Blackfin Kernel Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -07007
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
Sam Ravnborgec7748b2008-02-09 10:46:40 +010027 select HAVE_IDE
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050028 select HAVE_OPROFILE
Bryan Wu1394f032007-05-06 14:50:22 -070029
Aubrey Lie3defff2007-05-21 18:09:11 +080030config ZONE_DMA
31 bool
32 default y
33
Bryan Wu1394f032007-05-06 14:50:22 -070034config 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
Mike Frysingere4e9a7a2007-11-15 20:39:34 +080047 bool
Bryan Wu1394f032007-05-06 14:50:22 -070048 default y
49
Michael Hennerichb2d15832007-07-24 15:46:36 +080050config GENERIC_GPIO
Bryan Wu1394f032007-05-06 14:50:22 -070051 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
Mathieu Desnoyers7d2284b2008-01-15 12:42:02 -050062config HARDWARE_PM
63 def_bool y
64 depends on OPROFILE
65
Bryan Wu1394f032007-05-06 14:50:22 -070066source "init/Kconfig"
67source "kernel/Kconfig.preempt"
68
69menu "Blackfin Processor Options"
70
71comment "Processor and Board Settings"
72
73choice
74 prompt "CPU"
75 default BF533
76
Michael Hennerich59003142007-10-21 16:54:27 +080077config BF522
78 bool "BF522"
79 help
80 BF522 Processor Support.
81
Mike Frysinger1545a112007-12-24 16:54:48 +080082config BF523
83 bool "BF523"
84 help
85 BF523 Processor Support.
86
87config BF524
88 bool "BF524"
89 help
90 BF524 Processor Support.
91
Michael Hennerich59003142007-10-21 16:54:27 +080092config BF525
93 bool "BF525"
94 help
95 BF525 Processor Support.
96
Mike Frysinger1545a112007-12-24 16:54:48 +080097config BF526
98 bool "BF526"
99 help
100 BF526 Processor Support.
101
Michael Hennerich59003142007-10-21 16:54:27 +0800102config BF527
103 bool "BF527"
104 help
105 BF527 Processor Support.
106
Bryan Wu1394f032007-05-06 14:50:22 -0700107config BF531
108 bool "BF531"
109 help
110 BF531 Processor Support.
111
112config BF532
113 bool "BF532"
114 help
115 BF532 Processor Support.
116
117config BF533
118 bool "BF533"
119 help
120 BF533 Processor Support.
121
122config BF534
123 bool "BF534"
124 help
125 BF534 Processor Support.
126
127config BF536
128 bool "BF536"
129 help
130 BF536 Processor Support.
131
132config BF537
133 bool "BF537"
134 help
135 BF537 Processor Support.
136
Roy Huang24a07a12007-07-12 22:41:45 +0800137config BF542
138 bool "BF542"
139 help
140 BF542 Processor Support.
141
142config BF544
143 bool "BF544"
144 help
145 BF544 Processor Support.
146
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800147config BF547
148 bool "BF547"
149 help
150 BF547 Processor Support.
151
Roy Huang24a07a12007-07-12 22:41:45 +0800152config BF548
153 bool "BF548"
154 help
155 BF548 Processor Support.
156
157config BF549
158 bool "BF549"
159 help
160 BF549 Processor Support.
161
Bryan Wu1394f032007-05-06 14:50:22 -0700162config BF561
163 bool "BF561"
164 help
Mike Frysingercd88b4d2008-10-09 12:03:22 +0800165 BF561 Processor Support.
Bryan Wu1394f032007-05-06 14:50:22 -0700166
167endchoice
168
169choice
170 prompt "Silicon Rev"
Mike Frysinger46ce0d92008-10-09 12:05:31 +0800171 default BF_REV_0_1 if (BF52x || BF54x)
172 default BF_REV_0_2 if (BF534 || BF536 || BF537)
173 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800174
175config BF_REV_0_0
176 bool "0.0"
Mike Frysingerd07f4382007-11-15 15:49:17 +0800177 depends on (BF52x || BF54x)
Michael Hennerich59003142007-10-21 16:54:27 +0800178
179config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800180 bool "0.1"
181 depends on (BF52x || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700182
183config BF_REV_0_2
184 bool "0.2"
185 depends on (BF537 || BF536 || BF534)
186
187config BF_REV_0_3
188 bool "0.3"
189 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
190
191config BF_REV_0_4
192 bool "0.4"
193 depends on (BF561 || BF533 || BF532 || BF531)
194
195config BF_REV_0_5
196 bool "0.5"
197 depends on (BF561 || BF533 || BF532 || BF531)
198
Jie Zhangde3025f2007-06-25 18:04:12 +0800199config BF_REV_ANY
200 bool "any"
201
202config BF_REV_NONE
203 bool "none"
204
Bryan Wu1394f032007-05-06 14:50:22 -0700205endchoice
206
Michael Hennerich59003142007-10-21 16:54:27 +0800207config BF52x
208 bool
Mike Frysinger1545a112007-12-24 16:54:48 +0800209 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
Michael Hennerich59003142007-10-21 16:54:27 +0800210 default y
211
Roy Huang24a07a12007-07-12 22:41:45 +0800212config BF53x
213 bool
214 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
215 default y
216
217config BF54x
218 bool
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800219 depends on (BF542 || BF544 || BF547 || BF548 || BF549)
Roy Huang24a07a12007-07-12 22:41:45 +0800220 default y
221
Bryan Wu1394f032007-05-06 14:50:22 -0700222config MEM_GENERIC_BOARD
223 bool
224 depends on GENERIC_BOARD
225 default y
226
227config MEM_MT48LC64M4A2FB_7E
228 bool
229 depends on (BFIN533_STAMP)
230 default y
231
232config MEM_MT48LC16M16A2TG_75
233 bool
234 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Javier Herreroab472a02007-10-29 16:14:44 +0800235 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
Michael Hennerich9db144f2008-07-19 17:16:07 +0800236 || H8606_HVSISTEMAS || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700237 default y
238
239config MEM_MT48LC32M8A2_75
240 bool
241 depends on (BFIN537_STAMP || PNAV10)
242 default y
243
244config MEM_MT48LC8M32B2B5_7
245 bool
246 depends on (BFIN561_BLUETECHNIX_CM)
247 default y
248
Michael Hennerich59003142007-10-21 16:54:27 +0800249config MEM_MT48LC32M16A2TG_75
250 bool
Michael Hennerich8cc71172008-10-13 14:45:06 +0800251 depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP || BFIN526_EZBRD)
Michael Hennerich59003142007-10-21 16:54:27 +0800252 default y
253
Michael Hennerich59003142007-10-21 16:54:27 +0800254source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700255source "arch/blackfin/mach-bf533/Kconfig"
256source "arch/blackfin/mach-bf561/Kconfig"
257source "arch/blackfin/mach-bf537/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800258source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700259
260menu "Board customizations"
261
262config CMDLINE_BOOL
263 bool "Default bootloader kernel arguments"
264
265config CMDLINE
266 string "Initial kernel command string"
267 depends on CMDLINE_BOOL
268 default "console=ttyBF0,57600"
269 help
270 If you don't have a boot loader capable of passing a command line string
271 to the kernel, you may specify one here. As a minimum, you should specify
272 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
273
Mike Frysinger5f004c22008-04-25 02:11:24 +0800274config BOOT_LOAD
275 hex "Kernel load address for booting"
276 default "0x1000"
277 range 0x1000 0x20000000
278 help
279 This option allows you to set the load address of the kernel.
280 This can be useful if you are on a board which has a small amount
281 of memory or you wish to reserve some memory at the beginning of
282 the address space.
283
284 Note that you need to keep this value above 4k (0x1000) as this
285 memory region is used to capture NULL pointer references as well
286 as some core kernel functions.
287
Michael Hennerich8cc71172008-10-13 14:45:06 +0800288config ROM_BASE
289 hex "Kernel ROM Base"
290 default "0x20040000"
291 range 0x20000000 0x20400000 if !(BF54x || BF561)
292 range 0x20000000 0x30000000 if (BF54x || BF561)
293 help
294
Robin Getzf16295e2007-08-03 18:07:17 +0800295comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700296
297config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800298 int "Frequency of the crystal on the board in Hz"
Bryan Wu1394f032007-05-06 14:50:22 -0700299 default "11059200" if BFIN533_STAMP
300 default "27000000" if BFIN533_EZKIT
Michael Hennerich8cc71172008-10-13 14:45:06 +0800301 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD)
Bryan Wu1394f032007-05-06 14:50:22 -0700302 default "30000000" if BFIN561_EZKIT
303 default "24576000" if PNAV10
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800304 default "10000000" if BFIN532_IP0X
Bryan Wu1394f032007-05-06 14:50:22 -0700305 help
306 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800307 Warning: This value should match the crystal on the board. Otherwise,
308 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700309
Robin Getzf16295e2007-08-03 18:07:17 +0800310config BFIN_KERNEL_CLOCK
311 bool "Re-program Clocks while Kernel boots?"
312 default n
313 help
314 This option decides if kernel clocks are re-programed from the
315 bootloader settings. If the clocks are not set, the SDRAM settings
316 are also not changed, and the Bootloader does 100% of the hardware
317 configuration.
318
319config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800320 bool "Bypass PLL"
321 depends on BFIN_KERNEL_CLOCK
322 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800323
324config CLKIN_HALF
325 bool "Half Clock In"
326 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
327 default n
328 help
329 If this is set the clock will be divided by 2, before it goes to the PLL.
330
331config VCO_MULT
332 int "VCO Multiplier"
333 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
334 range 1 64
335 default "22" if BFIN533_EZKIT
336 default "45" if BFIN533_STAMP
Michael Hennerichdb682542008-04-24 03:18:59 +0800337 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800338 default "22" if BFIN533_BLUETECHNIX_CM
Michael Hennerich9db144f2008-07-19 17:16:07 +0800339 default "20" if (BFIN537_BLUETECHNIX_CM || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800340 default "20" if BFIN561_EZKIT
Michael Hennerich8cc71172008-10-13 14:45:06 +0800341 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD)
Robin Getzf16295e2007-08-03 18:07:17 +0800342 help
343 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
344 PLL Frequency = (Crystal Frequency) * (this setting)
345
346choice
347 prompt "Core Clock Divider"
348 depends on BFIN_KERNEL_CLOCK
349 default CCLK_DIV_1
350 help
351 This sets the frequency of the core. It can be 1, 2, 4 or 8
352 Core Frequency = (PLL frequency) / (this setting)
353
354config CCLK_DIV_1
355 bool "1"
356
357config CCLK_DIV_2
358 bool "2"
359
360config CCLK_DIV_4
361 bool "4"
362
363config CCLK_DIV_8
364 bool "8"
365endchoice
366
367config SCLK_DIV
368 int "System Clock Divider"
369 depends on BFIN_KERNEL_CLOCK
370 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800371 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800372 help
373 This sets the frequency of the system clock (including SDRAM or DDR).
374 This can be between 1 and 15
375 System Clock = (PLL frequency) / (this setting)
376
Mike Frysinger5f004c22008-04-25 02:11:24 +0800377choice
378 prompt "DDR SDRAM Chip Type"
379 depends on BFIN_KERNEL_CLOCK
380 depends on BF54x
381 default MEM_MT46V32M16_5B
382
383config MEM_MT46V32M16_6T
384 bool "MT46V32M16_6T"
385
386config MEM_MT46V32M16_5B
387 bool "MT46V32M16_5B"
388endchoice
389
Mike Frysinger7eb2c232008-10-08 17:39:02 +0800390config MAX_MEM_SIZE
391 int "Max SDRAM Memory Size in MBytes"
392 depends on !MPU
393 default 512
394 help
395 This is the max memory size that the kernel will create CPLB
396 tables for. Your system will not be able to handle any more.
397
Robin Getzf16295e2007-08-03 18:07:17 +0800398#
399# Max & Min Speeds for various Chips
400#
401config MAX_VCO_HZ
402 int
403 default 600000000 if BF522
Mike Frysinger1545a112007-12-24 16:54:48 +0800404 default 400000000 if BF523
405 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800406 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800407 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800408 default 600000000 if BF527
409 default 400000000 if BF531
410 default 400000000 if BF532
411 default 750000000 if BF533
412 default 500000000 if BF534
413 default 400000000 if BF536
414 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800415 default 533333333 if BF538
416 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800417 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800418 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800419 default 600000000 if BF547
420 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800421 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800422 default 600000000 if BF561
423
424config MIN_VCO_HZ
425 int
426 default 50000000
427
428config MAX_SCLK_HZ
429 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800430 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800431
432config MIN_SCLK_HZ
433 int
434 default 27000000
435
436comment "Kernel Timer/Scheduler"
437
438source kernel/Kconfig.hz
439
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800440config GENERIC_TIME
441 bool "Generic time"
442 default y
443
444config GENERIC_CLOCKEVENTS
445 bool "Generic clock events"
446 depends on GENERIC_TIME
447 default y
448
449config CYCLES_CLOCKSOURCE
450 bool "Use 'CYCLES' as a clocksource (EXPERIMENTAL)"
451 depends on EXPERIMENTAL
452 depends on GENERIC_CLOCKEVENTS
453 depends on !BFIN_SCRATCH_REG_CYCLES
454 default n
455 help
456 If you say Y here, you will enable support for using the 'cycles'
457 registers as a clock source. Doing so means you will be unable to
458 safely write to the 'cycles' register during runtime. You will
459 still be able to read it (such as for performance monitoring), but
460 writing the registers will most likely crash the kernel.
461
462source kernel/time/Kconfig
463
Mike Frysinger5f004c22008-04-25 02:11:24 +0800464comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800465
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800466choice
467 prompt "Blackfin Exception Scratch Register"
468 default BFIN_SCRATCH_REG_RETN
469 help
470 Select the resource to reserve for the Exception handler:
471 - RETN: Non-Maskable Interrupt (NMI)
472 - RETE: Exception Return (JTAG/ICE)
473 - CYCLES: Performance counter
474
475 If you are unsure, please select "RETN".
476
477config BFIN_SCRATCH_REG_RETN
478 bool "RETN"
479 help
480 Use the RETN register in the Blackfin exception handler
481 as a stack scratch register. This means you cannot
482 safely use NMI on the Blackfin while running Linux, but
483 you can debug the system with a JTAG ICE and use the
484 CYCLES performance registers.
485
486 If you are unsure, please select "RETN".
487
488config BFIN_SCRATCH_REG_RETE
489 bool "RETE"
490 help
491 Use the RETE register in the Blackfin exception handler
492 as a stack scratch register. This means you cannot
493 safely use a JTAG ICE while debugging a Blackfin board,
494 but you can safely use the CYCLES performance registers
495 and the NMI.
496
497 If you are unsure, please select "RETN".
498
499config BFIN_SCRATCH_REG_CYCLES
500 bool "CYCLES"
501 help
502 Use the CYCLES register in the Blackfin exception handler
503 as a stack scratch register. This means you cannot
504 safely use the CYCLES performance registers on a Blackfin
505 board at anytime, but you can debug the system with a JTAG
506 ICE and use the NMI.
507
508 If you are unsure, please select "RETN".
509
510endchoice
511
Bryan Wu1394f032007-05-06 14:50:22 -0700512endmenu
513
514
515menu "Blackfin Kernel Optimizations"
516
Bryan Wu1394f032007-05-06 14:50:22 -0700517comment "Memory Optimizations"
518
519config I_ENTRY_L1
520 bool "Locate interrupt entry code in L1 Memory"
521 default y
522 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200523 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
524 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700525
526config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200527 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700528 default y
529 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200530 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800531 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200532 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700533
534config DO_IRQ_L1
535 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
536 default y
537 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200538 If enabled, the frequently called do_irq dispatcher function is linked
539 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700540
541config CORE_TIMER_IRQ_L1
542 bool "Locate frequently called timer_interrupt() function in L1 Memory"
543 default y
544 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200545 If enabled, the frequently called timer_interrupt() function is linked
546 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700547
548config IDLE_L1
549 bool "Locate frequently idle function in L1 Memory"
550 default y
551 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200552 If enabled, the frequently called idle function is linked
553 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700554
555config SCHEDULE_L1
556 bool "Locate kernel schedule function in L1 Memory"
557 default y
558 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200559 If enabled, the frequently called kernel schedule is linked
560 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700561
562config ARITHMETIC_OPS_L1
563 bool "Locate kernel owned arithmetic functions in L1 Memory"
564 default y
565 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200566 If enabled, arithmetic functions are linked
567 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700568
569config ACCESS_OK_L1
570 bool "Locate access_ok function in L1 Memory"
571 default y
572 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200573 If enabled, the access_ok function is linked
574 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700575
576config MEMSET_L1
577 bool "Locate memset function in L1 Memory"
578 default y
579 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200580 If enabled, the memset function is linked
581 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700582
583config MEMCPY_L1
584 bool "Locate memcpy function in L1 Memory"
585 default y
586 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200587 If enabled, the memcpy function is linked
588 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700589
590config SYS_BFIN_SPINLOCK_L1
591 bool "Locate sys_bfin_spinlock function in L1 Memory"
592 default y
593 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200594 If enabled, sys_bfin_spinlock function is linked
595 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700596
597config IP_CHECKSUM_L1
598 bool "Locate IP Checksum function in L1 Memory"
599 default n
600 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200601 If enabled, the IP Checksum function is linked
602 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700603
604config CACHELINE_ALIGNED_L1
605 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800606 default y if !BF54x
607 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700608 depends on !BF531
609 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200610 If enabled, cacheline_anligned data is linked
611 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700612
613config SYSCALL_TAB_L1
614 bool "Locate Syscall Table L1 Data Memory"
615 default n
616 depends on !BF531
617 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200618 If enabled, the Syscall LUT is linked
619 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700620
621config CPLB_SWITCH_TAB_L1
622 bool "Locate CPLB Switch Tables L1 Data Memory"
623 default n
624 depends on !BF531
625 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200626 If enabled, the CPLB Switch Tables are linked
627 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700628
Graf Yangca87b7a2008-10-08 17:30:01 +0800629config APP_STACK_L1
630 bool "Support locating application stack in L1 Scratch Memory"
631 default y
632 help
633 If enabled the application stack can be located in L1
634 scratch memory (less latency).
635
636 Currently only works with FLAT binaries.
637
Robin Getz251383c2008-08-14 15:12:55 +0800638comment "Speed Optimizations"
639config BFIN_INS_LOWOVERHEAD
640 bool "ins[bwl] low overhead, higher interrupt latency"
641 default y
642 help
643 Reads on the Blackfin are speculative. In Blackfin terms, this means
644 they can be interrupted at any time (even after they have been issued
645 on to the external bus), and re-issued after the interrupt occurs.
646 For memory - this is not a big deal, since memory does not change if
647 it sees a read.
648
649 If a FIFO is sitting on the end of the read, it will see two reads,
650 when the core only sees one since the FIFO receives both the read
651 which is cancelled (and not delivered to the core) and the one which
652 is re-issued (which is delivered to the core).
653
654 To solve this, interrupts are turned off before reads occur to
655 I/O space. This option controls which the overhead/latency of
656 controlling interrupts during this time
657 "n" turns interrupts off every read
658 (higher overhead, but lower interrupt latency)
659 "y" turns interrupts off every loop
660 (low overhead, but longer interrupt latency)
661
662 default behavior is to leave this set to on (type "Y"). If you are experiencing
663 interrupt latency issues, it is safe and OK to turn this off.
664
Bryan Wu1394f032007-05-06 14:50:22 -0700665endmenu
666
667
668choice
669 prompt "Kernel executes from"
670 help
671 Choose the memory type that the kernel will be running in.
672
673config RAMKERNEL
674 bool "RAM"
675 help
676 The kernel will be resident in RAM when running.
677
678config ROMKERNEL
679 bool "ROM"
680 help
681 The kernel will be resident in FLASH/ROM when running.
682
683endchoice
684
685source "mm/Kconfig"
686
Mike Frysinger780431e2007-10-21 23:37:54 +0800687config BFIN_GPTIMERS
688 tristate "Enable Blackfin General Purpose Timers API"
689 default n
690 help
691 Enable support for the General Purpose Timers API. If you
692 are unsure, say N.
693
694 To compile this driver as a module, choose M here: the module
695 will be called gptimers.ko.
696
Bryan Wu1394f032007-05-06 14:50:22 -0700697config BFIN_DMA_5XX
698 bool "Enable DMA Support"
Michael Hennerich59003142007-10-21 16:54:27 +0800699 depends on (BF52x || BF53x || BF561 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700700 default y
701 help
702 DMA driver for BF5xx.
703
704choice
705 prompt "Uncached SDRAM region"
706 default DMA_UNCACHED_1M
Adrian Bunk247537b2007-09-26 20:02:52 +0200707 depends on BFIN_DMA_5XX
Cliff Cai86ad7932008-05-17 16:36:52 +0800708config DMA_UNCACHED_4M
709 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700710config DMA_UNCACHED_2M
711 bool "Enable 2M DMA region"
712config DMA_UNCACHED_1M
713 bool "Enable 1M DMA region"
714config DMA_UNCACHED_NONE
715 bool "Disable DMA region"
716endchoice
717
718
719comment "Cache Support"
Robin Getz3bebca22007-10-10 23:55:26 +0800720config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700721 bool "Enable ICACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800722config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700723 bool "Enable DCACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800724config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700725 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800726 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700727 default n
Robin Getz3bebca22007-10-10 23:55:26 +0800728config BFIN_ICACHE_LOCK
729 bool "Enable Instruction Cache Locking"
Bryan Wu1394f032007-05-06 14:50:22 -0700730
731choice
732 prompt "Policy"
Robin Getz3bebca22007-10-10 23:55:26 +0800733 depends on BFIN_DCACHE
734 default BFIN_WB
735config BFIN_WB
Bryan Wu1394f032007-05-06 14:50:22 -0700736 bool "Write back"
737 help
738 Write Back Policy:
739 Cached data will be written back to SDRAM only when needed.
740 This can give a nice increase in performance, but beware of
741 broken drivers that do not properly invalidate/flush their
742 cache.
743
744 Write Through Policy:
745 Cached data will always be written back to SDRAM when the
746 cache is updated. This is a completely safe setting, but
747 performance is worse than Write Back.
748
749 If you are unsure of the options and you want to be safe,
750 then go with Write Through.
751
Robin Getz3bebca22007-10-10 23:55:26 +0800752config BFIN_WT
Bryan Wu1394f032007-05-06 14:50:22 -0700753 bool "Write through"
754 help
755 Write Back Policy:
756 Cached data will be written back to SDRAM only when needed.
757 This can give a nice increase in performance, but beware of
758 broken drivers that do not properly invalidate/flush their
759 cache.
760
761 Write Through Policy:
762 Cached data will always be written back to SDRAM when the
763 cache is updated. This is a completely safe setting, but
764 performance is worse than Write Back.
765
766 If you are unsure of the options and you want to be safe,
767 then go with Write Through.
768
769endchoice
770
Bernd Schmidtb97b8a92008-01-27 18:39:16 +0800771config MPU
772 bool "Enable the memory protection unit (EXPERIMENTAL)"
773 default n
774 help
775 Use the processor's MPU to protect applications from accessing
776 memory they do not own. This comes at a performance penalty
777 and is recommended only for debugging.
778
Bryan Wu1394f032007-05-06 14:50:22 -0700779comment "Asynchonous Memory Configuration"
780
Mike Frysingerddf416b2007-10-10 18:06:47 +0800781menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -0700782config C_AMCKEN
783 bool "Enable CLKOUT"
784 default y
785
786config C_CDPRIO
787 bool "DMA has priority over core for ext. accesses"
788 default n
789
790config C_B0PEN
791 depends on BF561
792 bool "Bank 0 16 bit packing enable"
793 default y
794
795config C_B1PEN
796 depends on BF561
797 bool "Bank 1 16 bit packing enable"
798 default y
799
800config C_B2PEN
801 depends on BF561
802 bool "Bank 2 16 bit packing enable"
803 default y
804
805config C_B3PEN
806 depends on BF561
807 bool "Bank 3 16 bit packing enable"
808 default n
809
810choice
811 prompt"Enable Asynchonous Memory Banks"
812 default C_AMBEN_ALL
813
814config C_AMBEN
815 bool "Disable All Banks"
816
817config C_AMBEN_B0
818 bool "Enable Bank 0"
819
820config C_AMBEN_B0_B1
821 bool "Enable Bank 0 & 1"
822
823config C_AMBEN_B0_B1_B2
824 bool "Enable Bank 0 & 1 & 2"
825
826config C_AMBEN_ALL
827 bool "Enable All Banks"
828endchoice
829endmenu
830
831menu "EBIU_AMBCTL Control"
832config BANK_0
833 hex "Bank 0"
834 default 0x7BB0
835
836config BANK_1
837 hex "Bank 1"
838 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +0800839 default 0x5558 if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700840
841config BANK_2
842 hex "Bank 2"
843 default 0x7BB0
844
845config BANK_3
846 hex "Bank 3"
847 default 0x99B3
848endmenu
849
Sonic Zhange40540b2007-11-21 23:49:52 +0800850config EBIU_MBSCTLVAL
851 hex "EBIU Bank Select Control Register"
852 depends on BF54x
853 default 0
854
855config EBIU_MODEVAL
856 hex "Flash Memory Mode Control Register"
857 depends on BF54x
858 default 1
859
860config EBIU_FCTLVAL
861 hex "Flash Memory Bank Control Register"
862 depends on BF54x
863 default 6
Bryan Wu1394f032007-05-06 14:50:22 -0700864endmenu
865
866#############################################################################
867menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
868
869config PCI
870 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +0800871 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -0700872 help
873 Support for PCI bus.
874
875source "drivers/pci/Kconfig"
876
877config HOTPLUG
878 bool "Support for hot-pluggable device"
879 help
880 Say Y here if you want to plug devices into your computer while
881 the system is running, and be able to use them quickly. In many
882 cases, the devices can likewise be unplugged at any time too.
883
884 One well known example of this is PCMCIA- or PC-cards, credit-card
885 size devices such as network cards, modems or hard drives which are
886 plugged into slots found on all modern laptop computers. Another
887 example, used on modern desktops as well as laptops, is USB.
888
Johannes Berga81792f2008-07-08 19:00:25 +0200889 Enable HOTPLUG and build a modular kernel. Get agent software
890 (from <http://linux-hotplug.sourceforge.net/>) and install it.
Bryan Wu1394f032007-05-06 14:50:22 -0700891 Then your kernel will automatically call out to a user mode "policy
892 agent" (/sbin/hotplug) to load modules and set up software needed
893 to use devices as you hotplug them.
894
895source "drivers/pcmcia/Kconfig"
896
897source "drivers/pci/hotplug/Kconfig"
898
899endmenu
900
901menu "Executable file formats"
902
903source "fs/Kconfig.binfmt"
904
905endmenu
906
907menu "Power management options"
908source "kernel/power/Kconfig"
909
Johannes Bergf4cb5702007-12-08 02:14:00 +0100910config ARCH_SUSPEND_POSSIBLE
911 def_bool y
912 depends on !SMP
913
Bryan Wu1394f032007-05-06 14:50:22 -0700914choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800915 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -0700916 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800917 default PM_BFIN_SLEEP_DEEPER
918config PM_BFIN_SLEEP_DEEPER
919 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -0700920 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800921 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
922 power dissipation by disabling the clock to the processor core (CCLK).
923 Furthermore, Standby sets the internal power supply voltage (VDDINT)
924 to 0.85 V to provide the greatest power savings, while preserving the
925 processor state.
926 The PLL and system clock (SCLK) continue to operate at a very low
927 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
928 the SDRAM is put into Self Refresh Mode. Typically an external event
929 such as GPIO interrupt or RTC activity wakes up the processor.
930 Various Peripherals such as UART, SPORT, PPI may not function as
931 normal during Sleep Deeper, due to the reduced SCLK frequency.
932 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -0700933
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800934 If unsure, select "Sleep Deeper".
935
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800936config PM_BFIN_SLEEP
937 bool "Sleep"
938 help
939 Sleep Mode (High Power Savings) - The sleep mode reduces power
940 dissipation by disabling the clock to the processor core (CCLK).
941 The PLL and system clock (SCLK), however, continue to operate in
942 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800943 up the processor. When in the sleep mode, system DMA access to L1
944 memory is not supported.
945
946 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -0700947endchoice
948
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800949config PM_WAKEUP_BY_GPIO
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800950 bool "Allow Wakeup from Standby by GPIO"
Bryan Wu1394f032007-05-06 14:50:22 -0700951
952config PM_WAKEUP_GPIO_NUMBER
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800953 int "GPIO number"
Bryan Wu1394f032007-05-06 14:50:22 -0700954 range 0 47
955 depends on PM_WAKEUP_BY_GPIO
956 default 2 if BFIN537_STAMP
957
958choice
959 prompt "GPIO Polarity"
960 depends on PM_WAKEUP_BY_GPIO
961 default PM_WAKEUP_GPIO_POLAR_H
962config PM_WAKEUP_GPIO_POLAR_H
963 bool "Active High"
964config PM_WAKEUP_GPIO_POLAR_L
965 bool "Active Low"
966config PM_WAKEUP_GPIO_POLAR_EDGE_F
967 bool "Falling EDGE"
968config PM_WAKEUP_GPIO_POLAR_EDGE_R
969 bool "Rising EDGE"
970config PM_WAKEUP_GPIO_POLAR_EDGE_B
971 bool "Both EDGE"
972endchoice
973
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800974comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
975 depends on PM
976
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800977config PM_BFIN_WAKE_PH6
978 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
979 depends on PM && (BF52x || BF534 || BF536 || BF537)
980 default n
981 help
982 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
983
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800984config PM_BFIN_WAKE_GP
985 bool "Allow Wake-Up from GPIOs"
986 depends on PM && BF54x
987 default n
988 help
989 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Bryan Wu1394f032007-05-06 14:50:22 -0700990endmenu
991
Bryan Wu1394f032007-05-06 14:50:22 -0700992menu "CPU Frequency scaling"
993
994source "drivers/cpufreq/Kconfig"
995
Michael Hennerich14b03202008-05-07 11:41:26 +0800996config CPU_VOLTAGE
997 bool "CPU Voltage scaling"
998 depends on EXPERIMENTAL
999 depends on CPU_FREQ
1000 default n
1001 help
1002 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1003 This option violates the PLL BYPASS recommendation in the Blackfin Processor
1004 manuals. There is a theoretical risk that during VDDINT transitions
1005 the PLL may unlock.
1006
Bryan Wu1394f032007-05-06 14:50:22 -07001007endmenu
1008
Bryan Wu1394f032007-05-06 14:50:22 -07001009source "net/Kconfig"
1010
1011source "drivers/Kconfig"
1012
1013source "fs/Kconfig"
1014
Mike Frysinger74ce8322007-11-21 23:50:49 +08001015source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001016
1017source "security/Kconfig"
1018
1019source "crypto/Kconfig"
1020
1021source "lib/Kconfig"