blob: 9d936a3986c89c9cb1bd2f9029c7da11d63a12bb [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
165 Not Supported Yet - Work in progress - BF561 Processor Support.
166
167endchoice
168
169choice
170 prompt "Silicon Rev"
Michael Hennerich59003142007-10-21 16:54:27 +0800171 default BF_REV_0_1 if BF527
Bryan Wu1394f032007-05-06 14:50:22 -0700172 default BF_REV_0_2 if BF537
173 default BF_REV_0_3 if BF533
Roy Huang24a07a12007-07-12 22:41:45 +0800174 default BF_REV_0_0 if BF549
175
176config BF_REV_0_0
177 bool "0.0"
Mike Frysingerd07f4382007-11-15 15:49:17 +0800178 depends on (BF52x || BF54x)
Michael Hennerich59003142007-10-21 16:54:27 +0800179
180config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800181 bool "0.1"
182 depends on (BF52x || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700183
184config BF_REV_0_2
185 bool "0.2"
186 depends on (BF537 || BF536 || BF534)
187
188config BF_REV_0_3
189 bool "0.3"
190 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
191
192config BF_REV_0_4
193 bool "0.4"
194 depends on (BF561 || BF533 || BF532 || BF531)
195
196config BF_REV_0_5
197 bool "0.5"
198 depends on (BF561 || BF533 || BF532 || BF531)
199
Jie Zhangde3025f2007-06-25 18:04:12 +0800200config BF_REV_ANY
201 bool "any"
202
203config BF_REV_NONE
204 bool "none"
205
Bryan Wu1394f032007-05-06 14:50:22 -0700206endchoice
207
Michael Hennerich59003142007-10-21 16:54:27 +0800208config BF52x
209 bool
Mike Frysinger1545a112007-12-24 16:54:48 +0800210 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
Michael Hennerich59003142007-10-21 16:54:27 +0800211 default y
212
Roy Huang24a07a12007-07-12 22:41:45 +0800213config BF53x
214 bool
215 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
216 default y
217
218config BF54x
219 bool
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800220 depends on (BF542 || BF544 || BF547 || BF548 || BF549)
Roy Huang24a07a12007-07-12 22:41:45 +0800221 default y
222
Bryan Wu1394f032007-05-06 14:50:22 -0700223config MEM_GENERIC_BOARD
224 bool
225 depends on GENERIC_BOARD
226 default y
227
228config MEM_MT48LC64M4A2FB_7E
229 bool
230 depends on (BFIN533_STAMP)
231 default y
232
233config MEM_MT48LC16M16A2TG_75
234 bool
235 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Javier Herreroab472a02007-10-29 16:14:44 +0800236 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
Michael Hennerich9db144f2008-07-19 17:16:07 +0800237 || H8606_HVSISTEMAS || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700238 default y
239
240config MEM_MT48LC32M8A2_75
241 bool
242 depends on (BFIN537_STAMP || PNAV10)
243 default y
244
245config MEM_MT48LC8M32B2B5_7
246 bool
247 depends on (BFIN561_BLUETECHNIX_CM)
248 default y
249
Michael Hennerich59003142007-10-21 16:54:27 +0800250config MEM_MT48LC32M16A2TG_75
251 bool
Michael Hennerich8cc71172008-10-13 14:45:06 +0800252 depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP || BFIN526_EZBRD)
Michael Hennerich59003142007-10-21 16:54:27 +0800253 default y
254
Michael Hennerich59003142007-10-21 16:54:27 +0800255source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700256source "arch/blackfin/mach-bf533/Kconfig"
257source "arch/blackfin/mach-bf561/Kconfig"
258source "arch/blackfin/mach-bf537/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800259source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700260
261menu "Board customizations"
262
263config CMDLINE_BOOL
264 bool "Default bootloader kernel arguments"
265
266config CMDLINE
267 string "Initial kernel command string"
268 depends on CMDLINE_BOOL
269 default "console=ttyBF0,57600"
270 help
271 If you don't have a boot loader capable of passing a command line string
272 to the kernel, you may specify one here. As a minimum, you should specify
273 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
274
Mike Frysinger5f004c22008-04-25 02:11:24 +0800275config BOOT_LOAD
276 hex "Kernel load address for booting"
277 default "0x1000"
278 range 0x1000 0x20000000
279 help
280 This option allows you to set the load address of the kernel.
281 This can be useful if you are on a board which has a small amount
282 of memory or you wish to reserve some memory at the beginning of
283 the address space.
284
285 Note that you need to keep this value above 4k (0x1000) as this
286 memory region is used to capture NULL pointer references as well
287 as some core kernel functions.
288
Michael Hennerich8cc71172008-10-13 14:45:06 +0800289config ROM_BASE
290 hex "Kernel ROM Base"
291 default "0x20040000"
292 range 0x20000000 0x20400000 if !(BF54x || BF561)
293 range 0x20000000 0x30000000 if (BF54x || BF561)
294 help
295
Robin Getzf16295e2007-08-03 18:07:17 +0800296comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700297
298config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800299 int "Frequency of the crystal on the board in Hz"
Bryan Wu1394f032007-05-06 14:50:22 -0700300 default "11059200" if BFIN533_STAMP
301 default "27000000" if BFIN533_EZKIT
Michael Hennerich8cc71172008-10-13 14:45:06 +0800302 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD)
Bryan Wu1394f032007-05-06 14:50:22 -0700303 default "30000000" if BFIN561_EZKIT
304 default "24576000" if PNAV10
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800305 default "10000000" if BFIN532_IP0X
Bryan Wu1394f032007-05-06 14:50:22 -0700306 help
307 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800308 Warning: This value should match the crystal on the board. Otherwise,
309 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700310
Robin Getzf16295e2007-08-03 18:07:17 +0800311config BFIN_KERNEL_CLOCK
312 bool "Re-program Clocks while Kernel boots?"
313 default n
314 help
315 This option decides if kernel clocks are re-programed from the
316 bootloader settings. If the clocks are not set, the SDRAM settings
317 are also not changed, and the Bootloader does 100% of the hardware
318 configuration.
319
320config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800321 bool "Bypass PLL"
322 depends on BFIN_KERNEL_CLOCK
323 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800324
325config CLKIN_HALF
326 bool "Half Clock In"
327 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
328 default n
329 help
330 If this is set the clock will be divided by 2, before it goes to the PLL.
331
332config VCO_MULT
333 int "VCO Multiplier"
334 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
335 range 1 64
336 default "22" if BFIN533_EZKIT
337 default "45" if BFIN533_STAMP
Michael Hennerichdb682542008-04-24 03:18:59 +0800338 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800339 default "22" if BFIN533_BLUETECHNIX_CM
Michael Hennerich9db144f2008-07-19 17:16:07 +0800340 default "20" if (BFIN537_BLUETECHNIX_CM || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800341 default "20" if BFIN561_EZKIT
Michael Hennerich8cc71172008-10-13 14:45:06 +0800342 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD)
Robin Getzf16295e2007-08-03 18:07:17 +0800343 help
344 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
345 PLL Frequency = (Crystal Frequency) * (this setting)
346
347choice
348 prompt "Core Clock Divider"
349 depends on BFIN_KERNEL_CLOCK
350 default CCLK_DIV_1
351 help
352 This sets the frequency of the core. It can be 1, 2, 4 or 8
353 Core Frequency = (PLL frequency) / (this setting)
354
355config CCLK_DIV_1
356 bool "1"
357
358config CCLK_DIV_2
359 bool "2"
360
361config CCLK_DIV_4
362 bool "4"
363
364config CCLK_DIV_8
365 bool "8"
366endchoice
367
368config SCLK_DIV
369 int "System Clock Divider"
370 depends on BFIN_KERNEL_CLOCK
371 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800372 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800373 help
374 This sets the frequency of the system clock (including SDRAM or DDR).
375 This can be between 1 and 15
376 System Clock = (PLL frequency) / (this setting)
377
Mike Frysingera086ee22008-04-25 02:04:05 +0800378config MAX_MEM_SIZE
379 int "Max SDRAM Memory Size in MBytes"
Michael Hennerich99d95bb2008-07-14 17:04:14 +0800380 depends on !MPU
Mike Frysingera086ee22008-04-25 02:04:05 +0800381 default 512
382 help
383 This is the max memory size that the kernel will create CPLB
384 tables for. Your system will not be able to handle any more.
385
Mike Frysinger5f004c22008-04-25 02:11:24 +0800386choice
387 prompt "DDR SDRAM Chip Type"
388 depends on BFIN_KERNEL_CLOCK
389 depends on BF54x
390 default MEM_MT46V32M16_5B
391
392config MEM_MT46V32M16_6T
393 bool "MT46V32M16_6T"
394
395config MEM_MT46V32M16_5B
396 bool "MT46V32M16_5B"
397endchoice
398
Robin Getzf16295e2007-08-03 18:07:17 +0800399#
400# Max & Min Speeds for various Chips
401#
402config MAX_VCO_HZ
403 int
404 default 600000000 if BF522
Mike Frysinger1545a112007-12-24 16:54:48 +0800405 default 400000000 if BF523
406 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800407 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800408 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800409 default 600000000 if BF527
410 default 400000000 if BF531
411 default 400000000 if BF532
412 default 750000000 if BF533
413 default 500000000 if BF534
414 default 400000000 if BF536
415 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800416 default 533333333 if BF538
417 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800418 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800419 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800420 default 600000000 if BF547
421 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800422 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800423 default 600000000 if BF561
424
425config MIN_VCO_HZ
426 int
427 default 50000000
428
429config MAX_SCLK_HZ
430 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800431 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800432
433config MIN_SCLK_HZ
434 int
435 default 27000000
436
437comment "Kernel Timer/Scheduler"
438
439source kernel/Kconfig.hz
440
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800441config GENERIC_TIME
442 bool "Generic time"
443 default y
444
445config GENERIC_CLOCKEVENTS
446 bool "Generic clock events"
447 depends on GENERIC_TIME
448 default y
449
450config CYCLES_CLOCKSOURCE
451 bool "Use 'CYCLES' as a clocksource (EXPERIMENTAL)"
452 depends on EXPERIMENTAL
453 depends on GENERIC_CLOCKEVENTS
454 depends on !BFIN_SCRATCH_REG_CYCLES
455 default n
456 help
457 If you say Y here, you will enable support for using the 'cycles'
458 registers as a clock source. Doing so means you will be unable to
459 safely write to the 'cycles' register during runtime. You will
460 still be able to read it (such as for performance monitoring), but
461 writing the registers will most likely crash the kernel.
462
463source kernel/time/Kconfig
464
Robin Getzf16295e2007-08-03 18:07:17 +0800465comment "Memory Setup"
466
Mike Frysinger5f004c22008-04-25 02:11:24 +0800467comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800468
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800469choice
470 prompt "Blackfin Exception Scratch Register"
471 default BFIN_SCRATCH_REG_RETN
472 help
473 Select the resource to reserve for the Exception handler:
474 - RETN: Non-Maskable Interrupt (NMI)
475 - RETE: Exception Return (JTAG/ICE)
476 - CYCLES: Performance counter
477
478 If you are unsure, please select "RETN".
479
480config BFIN_SCRATCH_REG_RETN
481 bool "RETN"
482 help
483 Use the RETN register in the Blackfin exception handler
484 as a stack scratch register. This means you cannot
485 safely use NMI on the Blackfin while running Linux, but
486 you can debug the system with a JTAG ICE and use the
487 CYCLES performance registers.
488
489 If you are unsure, please select "RETN".
490
491config BFIN_SCRATCH_REG_RETE
492 bool "RETE"
493 help
494 Use the RETE register in the Blackfin exception handler
495 as a stack scratch register. This means you cannot
496 safely use a JTAG ICE while debugging a Blackfin board,
497 but you can safely use the CYCLES performance registers
498 and the NMI.
499
500 If you are unsure, please select "RETN".
501
502config BFIN_SCRATCH_REG_CYCLES
503 bool "CYCLES"
504 help
505 Use the CYCLES register in the Blackfin exception handler
506 as a stack scratch register. This means you cannot
507 safely use the CYCLES performance registers on a Blackfin
508 board at anytime, but you can debug the system with a JTAG
509 ICE and use the NMI.
510
511 If you are unsure, please select "RETN".
512
513endchoice
514
Bryan Wu1394f032007-05-06 14:50:22 -0700515endmenu
516
517
518menu "Blackfin Kernel Optimizations"
519
Bryan Wu1394f032007-05-06 14:50:22 -0700520comment "Memory Optimizations"
521
522config I_ENTRY_L1
523 bool "Locate interrupt entry code in L1 Memory"
524 default y
525 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200526 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
527 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700528
529config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200530 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700531 default y
532 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200533 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800534 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200535 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700536
537config DO_IRQ_L1
538 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
539 default y
540 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200541 If enabled, the frequently called do_irq dispatcher function is linked
542 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700543
544config CORE_TIMER_IRQ_L1
545 bool "Locate frequently called timer_interrupt() function in L1 Memory"
546 default y
547 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200548 If enabled, the frequently called timer_interrupt() function is linked
549 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700550
551config IDLE_L1
552 bool "Locate frequently idle function in L1 Memory"
553 default y
554 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200555 If enabled, the frequently called idle function is linked
556 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700557
558config SCHEDULE_L1
559 bool "Locate kernel schedule function in L1 Memory"
560 default y
561 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200562 If enabled, the frequently called kernel schedule is linked
563 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700564
565config ARITHMETIC_OPS_L1
566 bool "Locate kernel owned arithmetic functions in L1 Memory"
567 default y
568 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200569 If enabled, arithmetic functions are linked
570 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700571
572config ACCESS_OK_L1
573 bool "Locate access_ok function in L1 Memory"
574 default y
575 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200576 If enabled, the access_ok function is linked
577 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700578
579config MEMSET_L1
580 bool "Locate memset function in L1 Memory"
581 default y
582 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200583 If enabled, the memset function is linked
584 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700585
586config MEMCPY_L1
587 bool "Locate memcpy function in L1 Memory"
588 default y
589 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200590 If enabled, the memcpy function is linked
591 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700592
593config SYS_BFIN_SPINLOCK_L1
594 bool "Locate sys_bfin_spinlock function in L1 Memory"
595 default y
596 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200597 If enabled, sys_bfin_spinlock function is linked
598 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700599
600config IP_CHECKSUM_L1
601 bool "Locate IP Checksum function in L1 Memory"
602 default n
603 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200604 If enabled, the IP Checksum function is linked
605 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700606
607config CACHELINE_ALIGNED_L1
608 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800609 default y if !BF54x
610 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700611 depends on !BF531
612 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200613 If enabled, cacheline_anligned data is linked
614 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700615
616config SYSCALL_TAB_L1
617 bool "Locate Syscall Table L1 Data Memory"
618 default n
619 depends on !BF531
620 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200621 If enabled, the Syscall LUT is linked
622 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700623
624config CPLB_SWITCH_TAB_L1
625 bool "Locate CPLB Switch Tables L1 Data Memory"
626 default n
627 depends on !BF531
628 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200629 If enabled, the CPLB Switch Tables are linked
630 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700631
Graf Yangca87b7a2008-10-08 17:30:01 +0800632config APP_STACK_L1
633 bool "Support locating application stack in L1 Scratch Memory"
634 default y
635 help
636 If enabled the application stack can be located in L1
637 scratch memory (less latency).
638
639 Currently only works with FLAT binaries.
640
Robin Getz251383c2008-08-14 15:12:55 +0800641comment "Speed Optimizations"
642config BFIN_INS_LOWOVERHEAD
643 bool "ins[bwl] low overhead, higher interrupt latency"
644 default y
645 help
646 Reads on the Blackfin are speculative. In Blackfin terms, this means
647 they can be interrupted at any time (even after they have been issued
648 on to the external bus), and re-issued after the interrupt occurs.
649 For memory - this is not a big deal, since memory does not change if
650 it sees a read.
651
652 If a FIFO is sitting on the end of the read, it will see two reads,
653 when the core only sees one since the FIFO receives both the read
654 which is cancelled (and not delivered to the core) and the one which
655 is re-issued (which is delivered to the core).
656
657 To solve this, interrupts are turned off before reads occur to
658 I/O space. This option controls which the overhead/latency of
659 controlling interrupts during this time
660 "n" turns interrupts off every read
661 (higher overhead, but lower interrupt latency)
662 "y" turns interrupts off every loop
663 (low overhead, but longer interrupt latency)
664
665 default behavior is to leave this set to on (type "Y"). If you are experiencing
666 interrupt latency issues, it is safe and OK to turn this off.
667
Bryan Wu1394f032007-05-06 14:50:22 -0700668endmenu
669
670
671choice
672 prompt "Kernel executes from"
673 help
674 Choose the memory type that the kernel will be running in.
675
676config RAMKERNEL
677 bool "RAM"
678 help
679 The kernel will be resident in RAM when running.
680
681config ROMKERNEL
682 bool "ROM"
683 help
684 The kernel will be resident in FLASH/ROM when running.
685
686endchoice
687
688source "mm/Kconfig"
689
Mike Frysinger780431e2007-10-21 23:37:54 +0800690config BFIN_GPTIMERS
691 tristate "Enable Blackfin General Purpose Timers API"
692 default n
693 help
694 Enable support for the General Purpose Timers API. If you
695 are unsure, say N.
696
697 To compile this driver as a module, choose M here: the module
698 will be called gptimers.ko.
699
Bryan Wu1394f032007-05-06 14:50:22 -0700700config BFIN_DMA_5XX
701 bool "Enable DMA Support"
Michael Hennerich59003142007-10-21 16:54:27 +0800702 depends on (BF52x || BF53x || BF561 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700703 default y
704 help
705 DMA driver for BF5xx.
706
707choice
708 prompt "Uncached SDRAM region"
709 default DMA_UNCACHED_1M
Adrian Bunk247537b2007-09-26 20:02:52 +0200710 depends on BFIN_DMA_5XX
Cliff Cai86ad7932008-05-17 16:36:52 +0800711config DMA_UNCACHED_4M
712 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700713config DMA_UNCACHED_2M
714 bool "Enable 2M DMA region"
715config DMA_UNCACHED_1M
716 bool "Enable 1M DMA region"
717config DMA_UNCACHED_NONE
718 bool "Disable DMA region"
719endchoice
720
721
722comment "Cache Support"
Robin Getz3bebca22007-10-10 23:55:26 +0800723config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700724 bool "Enable ICACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800725config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700726 bool "Enable DCACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800727config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700728 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800729 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700730 default n
Robin Getz3bebca22007-10-10 23:55:26 +0800731config BFIN_ICACHE_LOCK
732 bool "Enable Instruction Cache Locking"
Bryan Wu1394f032007-05-06 14:50:22 -0700733
734choice
735 prompt "Policy"
Robin Getz3bebca22007-10-10 23:55:26 +0800736 depends on BFIN_DCACHE
737 default BFIN_WB
738config BFIN_WB
Bryan Wu1394f032007-05-06 14:50:22 -0700739 bool "Write back"
740 help
741 Write Back Policy:
742 Cached data will be written back to SDRAM only when needed.
743 This can give a nice increase in performance, but beware of
744 broken drivers that do not properly invalidate/flush their
745 cache.
746
747 Write Through Policy:
748 Cached data will always be written back to SDRAM when the
749 cache is updated. This is a completely safe setting, but
750 performance is worse than Write Back.
751
752 If you are unsure of the options and you want to be safe,
753 then go with Write Through.
754
Robin Getz3bebca22007-10-10 23:55:26 +0800755config BFIN_WT
Bryan Wu1394f032007-05-06 14:50:22 -0700756 bool "Write through"
757 help
758 Write Back Policy:
759 Cached data will be written back to SDRAM only when needed.
760 This can give a nice increase in performance, but beware of
761 broken drivers that do not properly invalidate/flush their
762 cache.
763
764 Write Through Policy:
765 Cached data will always be written back to SDRAM when the
766 cache is updated. This is a completely safe setting, but
767 performance is worse than Write Back.
768
769 If you are unsure of the options and you want to be safe,
770 then go with Write Through.
771
772endchoice
773
Bernd Schmidtb97b8a92008-01-27 18:39:16 +0800774config MPU
775 bool "Enable the memory protection unit (EXPERIMENTAL)"
776 default n
777 help
778 Use the processor's MPU to protect applications from accessing
779 memory they do not own. This comes at a performance penalty
780 and is recommended only for debugging.
781
Bryan Wu1394f032007-05-06 14:50:22 -0700782comment "Asynchonous Memory Configuration"
783
Mike Frysingerddf416b2007-10-10 18:06:47 +0800784menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -0700785config C_AMCKEN
786 bool "Enable CLKOUT"
787 default y
788
789config C_CDPRIO
790 bool "DMA has priority over core for ext. accesses"
791 default n
792
793config C_B0PEN
794 depends on BF561
795 bool "Bank 0 16 bit packing enable"
796 default y
797
798config C_B1PEN
799 depends on BF561
800 bool "Bank 1 16 bit packing enable"
801 default y
802
803config C_B2PEN
804 depends on BF561
805 bool "Bank 2 16 bit packing enable"
806 default y
807
808config C_B3PEN
809 depends on BF561
810 bool "Bank 3 16 bit packing enable"
811 default n
812
813choice
814 prompt"Enable Asynchonous Memory Banks"
815 default C_AMBEN_ALL
816
817config C_AMBEN
818 bool "Disable All Banks"
819
820config C_AMBEN_B0
821 bool "Enable Bank 0"
822
823config C_AMBEN_B0_B1
824 bool "Enable Bank 0 & 1"
825
826config C_AMBEN_B0_B1_B2
827 bool "Enable Bank 0 & 1 & 2"
828
829config C_AMBEN_ALL
830 bool "Enable All Banks"
831endchoice
832endmenu
833
834menu "EBIU_AMBCTL Control"
835config BANK_0
836 hex "Bank 0"
837 default 0x7BB0
838
839config BANK_1
840 hex "Bank 1"
841 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +0800842 default 0x5558 if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700843
844config BANK_2
845 hex "Bank 2"
846 default 0x7BB0
847
848config BANK_3
849 hex "Bank 3"
850 default 0x99B3
851endmenu
852
Sonic Zhange40540b2007-11-21 23:49:52 +0800853config EBIU_MBSCTLVAL
854 hex "EBIU Bank Select Control Register"
855 depends on BF54x
856 default 0
857
858config EBIU_MODEVAL
859 hex "Flash Memory Mode Control Register"
860 depends on BF54x
861 default 1
862
863config EBIU_FCTLVAL
864 hex "Flash Memory Bank Control Register"
865 depends on BF54x
866 default 6
Bryan Wu1394f032007-05-06 14:50:22 -0700867endmenu
868
869#############################################################################
870menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
871
872config PCI
873 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +0800874 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -0700875 help
876 Support for PCI bus.
877
878source "drivers/pci/Kconfig"
879
880config HOTPLUG
881 bool "Support for hot-pluggable device"
882 help
883 Say Y here if you want to plug devices into your computer while
884 the system is running, and be able to use them quickly. In many
885 cases, the devices can likewise be unplugged at any time too.
886
887 One well known example of this is PCMCIA- or PC-cards, credit-card
888 size devices such as network cards, modems or hard drives which are
889 plugged into slots found on all modern laptop computers. Another
890 example, used on modern desktops as well as laptops, is USB.
891
Johannes Berga81792f2008-07-08 19:00:25 +0200892 Enable HOTPLUG and build a modular kernel. Get agent software
893 (from <http://linux-hotplug.sourceforge.net/>) and install it.
Bryan Wu1394f032007-05-06 14:50:22 -0700894 Then your kernel will automatically call out to a user mode "policy
895 agent" (/sbin/hotplug) to load modules and set up software needed
896 to use devices as you hotplug them.
897
898source "drivers/pcmcia/Kconfig"
899
900source "drivers/pci/hotplug/Kconfig"
901
902endmenu
903
904menu "Executable file formats"
905
906source "fs/Kconfig.binfmt"
907
908endmenu
909
910menu "Power management options"
911source "kernel/power/Kconfig"
912
Johannes Bergf4cb5702007-12-08 02:14:00 +0100913config ARCH_SUSPEND_POSSIBLE
914 def_bool y
915 depends on !SMP
916
Bryan Wu1394f032007-05-06 14:50:22 -0700917choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800918 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -0700919 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800920 default PM_BFIN_SLEEP_DEEPER
921config PM_BFIN_SLEEP_DEEPER
922 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -0700923 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800924 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
925 power dissipation by disabling the clock to the processor core (CCLK).
926 Furthermore, Standby sets the internal power supply voltage (VDDINT)
927 to 0.85 V to provide the greatest power savings, while preserving the
928 processor state.
929 The PLL and system clock (SCLK) continue to operate at a very low
930 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
931 the SDRAM is put into Self Refresh Mode. Typically an external event
932 such as GPIO interrupt or RTC activity wakes up the processor.
933 Various Peripherals such as UART, SPORT, PPI may not function as
934 normal during Sleep Deeper, due to the reduced SCLK frequency.
935 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -0700936
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800937 If unsure, select "Sleep Deeper".
938
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800939config PM_BFIN_SLEEP
940 bool "Sleep"
941 help
942 Sleep Mode (High Power Savings) - The sleep mode reduces power
943 dissipation by disabling the clock to the processor core (CCLK).
944 The PLL and system clock (SCLK), however, continue to operate in
945 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800946 up the processor. When in the sleep mode, system DMA access to L1
947 memory is not supported.
948
949 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -0700950endchoice
951
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800952config PM_WAKEUP_BY_GPIO
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800953 bool "Allow Wakeup from Standby by GPIO"
Bryan Wu1394f032007-05-06 14:50:22 -0700954
955config PM_WAKEUP_GPIO_NUMBER
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800956 int "GPIO number"
Bryan Wu1394f032007-05-06 14:50:22 -0700957 range 0 47
958 depends on PM_WAKEUP_BY_GPIO
959 default 2 if BFIN537_STAMP
960
961choice
962 prompt "GPIO Polarity"
963 depends on PM_WAKEUP_BY_GPIO
964 default PM_WAKEUP_GPIO_POLAR_H
965config PM_WAKEUP_GPIO_POLAR_H
966 bool "Active High"
967config PM_WAKEUP_GPIO_POLAR_L
968 bool "Active Low"
969config PM_WAKEUP_GPIO_POLAR_EDGE_F
970 bool "Falling EDGE"
971config PM_WAKEUP_GPIO_POLAR_EDGE_R
972 bool "Rising EDGE"
973config PM_WAKEUP_GPIO_POLAR_EDGE_B
974 bool "Both EDGE"
975endchoice
976
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800977comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
978 depends on PM
979
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800980config PM_BFIN_WAKE_PH6
981 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
982 depends on PM && (BF52x || BF534 || BF536 || BF537)
983 default n
984 help
985 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
986
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800987config PM_BFIN_WAKE_GP
988 bool "Allow Wake-Up from GPIOs"
989 depends on PM && BF54x
990 default n
991 help
992 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Bryan Wu1394f032007-05-06 14:50:22 -0700993endmenu
994
Bryan Wu1394f032007-05-06 14:50:22 -0700995menu "CPU Frequency scaling"
996
997source "drivers/cpufreq/Kconfig"
998
Michael Hennerich14b03202008-05-07 11:41:26 +0800999config CPU_VOLTAGE
1000 bool "CPU Voltage scaling"
1001 depends on EXPERIMENTAL
1002 depends on CPU_FREQ
1003 default n
1004 help
1005 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1006 This option violates the PLL BYPASS recommendation in the Blackfin Processor
1007 manuals. There is a theoretical risk that during VDDINT transitions
1008 the PLL may unlock.
1009
Bryan Wu1394f032007-05-06 14:50:22 -07001010endmenu
1011
Bryan Wu1394f032007-05-06 14:50:22 -07001012source "net/Kconfig"
1013
1014source "drivers/Kconfig"
1015
1016source "fs/Kconfig"
1017
Mike Frysinger74ce8322007-11-21 23:50:49 +08001018source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001019
1020source "security/Kconfig"
1021
1022source "crypto/Kconfig"
1023
1024source "lib/Kconfig"