blob: b87634e75f20f6b4ac9cecb8068e430c27ba8885 [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 \
237 || H8606_HVSISTEMAS)
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
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800252 depends on (BFIN527_EZKIT || BFIN532_IP0X)
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
Robin Getzf16295e2007-08-03 18:07:17 +0800289comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700290
291config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800292 int "Frequency of the crystal on the board in Hz"
Bryan Wu1394f032007-05-06 14:50:22 -0700293 default "11059200" if BFIN533_STAMP
294 default "27000000" if BFIN533_EZKIT
Javier Herreroab472a02007-10-29 16:14:44 +0800295 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS)
Bryan Wu1394f032007-05-06 14:50:22 -0700296 default "30000000" if BFIN561_EZKIT
297 default "24576000" if PNAV10
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800298 default "10000000" if BFIN532_IP0X
Bryan Wu1394f032007-05-06 14:50:22 -0700299 help
300 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800301 Warning: This value should match the crystal on the board. Otherwise,
302 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700303
Robin Getzf16295e2007-08-03 18:07:17 +0800304config BFIN_KERNEL_CLOCK
305 bool "Re-program Clocks while Kernel boots?"
306 default n
307 help
308 This option decides if kernel clocks are re-programed from the
309 bootloader settings. If the clocks are not set, the SDRAM settings
310 are also not changed, and the Bootloader does 100% of the hardware
311 configuration.
312
Mike Frysingera086ee22008-04-25 02:04:05 +0800313config MEM_SIZE
314 int "SDRAM Memory Size in MBytes"
315 depends on BFIN_KERNEL_CLOCK
316 default 64
317
Mike Frysinger618835a2008-04-23 08:07:05 +0800318config MEM_ADD_WIDTH
319 int "Memory Address Width"
320 depends on BFIN_KERNEL_CLOCK
321 depends on (!BF54x)
Mike Frysinger5f004c22008-04-25 02:11:24 +0800322 range 8 11
Mike Frysinger618835a2008-04-23 08:07:05 +0800323 default 9 if BFIN533_EZKIT
324 default 9 if BFIN561_EZKIT
325 default 9 if H8606_HVSISTEMAS
326 default 10 if BFIN527_EZKIT
327 default 10 if BFIN537_STAMP
328 default 11 if BFIN533_STAMP
329 default 10 if PNAV10
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800330 default 10 if BFIN532_IP0X
Mike Frysinger618835a2008-04-23 08:07:05 +0800331
Robin Getzf16295e2007-08-03 18:07:17 +0800332config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800333 bool "Bypass PLL"
334 depends on BFIN_KERNEL_CLOCK
335 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800336
337config CLKIN_HALF
338 bool "Half Clock In"
339 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
340 default n
341 help
342 If this is set the clock will be divided by 2, before it goes to the PLL.
343
344config VCO_MULT
345 int "VCO Multiplier"
346 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
347 range 1 64
348 default "22" if BFIN533_EZKIT
349 default "45" if BFIN533_STAMP
Michael Hennerichdb682542008-04-24 03:18:59 +0800350 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800351 default "22" if BFIN533_BLUETECHNIX_CM
352 default "20" if BFIN537_BLUETECHNIX_CM
353 default "20" if BFIN561_BLUETECHNIX_CM
354 default "20" if BFIN561_EZKIT
Javier Herreroab472a02007-10-29 16:14:44 +0800355 default "16" if H8606_HVSISTEMAS
Robin Getzf16295e2007-08-03 18:07:17 +0800356 help
357 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
358 PLL Frequency = (Crystal Frequency) * (this setting)
359
360choice
361 prompt "Core Clock Divider"
362 depends on BFIN_KERNEL_CLOCK
363 default CCLK_DIV_1
364 help
365 This sets the frequency of the core. It can be 1, 2, 4 or 8
366 Core Frequency = (PLL frequency) / (this setting)
367
368config CCLK_DIV_1
369 bool "1"
370
371config CCLK_DIV_2
372 bool "2"
373
374config CCLK_DIV_4
375 bool "4"
376
377config CCLK_DIV_8
378 bool "8"
379endchoice
380
381config SCLK_DIV
382 int "System Clock Divider"
383 depends on BFIN_KERNEL_CLOCK
384 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800385 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800386 help
387 This sets the frequency of the system clock (including SDRAM or DDR).
388 This can be between 1 and 15
389 System Clock = (PLL frequency) / (this setting)
390
Mike Frysingera086ee22008-04-25 02:04:05 +0800391config MAX_MEM_SIZE
392 int "Max SDRAM Memory Size in MBytes"
393 depends on !BFIN_KERNEL_CLOCK && !MPU
394 default 512
395 help
396 This is the max memory size that the kernel will create CPLB
397 tables for. Your system will not be able to handle any more.
398
Mike Frysinger5f004c22008-04-25 02:11:24 +0800399choice
400 prompt "DDR SDRAM Chip Type"
401 depends on BFIN_KERNEL_CLOCK
402 depends on BF54x
403 default MEM_MT46V32M16_5B
404
405config MEM_MT46V32M16_6T
406 bool "MT46V32M16_6T"
407
408config MEM_MT46V32M16_5B
409 bool "MT46V32M16_5B"
410endchoice
411
Robin Getzf16295e2007-08-03 18:07:17 +0800412#
413# Max & Min Speeds for various Chips
414#
415config MAX_VCO_HZ
416 int
417 default 600000000 if BF522
Mike Frysinger1545a112007-12-24 16:54:48 +0800418 default 400000000 if BF523
419 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800420 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800421 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800422 default 600000000 if BF527
423 default 400000000 if BF531
424 default 400000000 if BF532
425 default 750000000 if BF533
426 default 500000000 if BF534
427 default 400000000 if BF536
428 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800429 default 533333333 if BF538
430 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800431 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800432 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800433 default 600000000 if BF547
434 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800435 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800436 default 600000000 if BF561
437
438config MIN_VCO_HZ
439 int
440 default 50000000
441
442config MAX_SCLK_HZ
443 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800444 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800445
446config MIN_SCLK_HZ
447 int
448 default 27000000
449
450comment "Kernel Timer/Scheduler"
451
452source kernel/Kconfig.hz
453
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800454config GENERIC_TIME
455 bool "Generic time"
456 default y
457
458config GENERIC_CLOCKEVENTS
459 bool "Generic clock events"
460 depends on GENERIC_TIME
461 default y
462
463config CYCLES_CLOCKSOURCE
464 bool "Use 'CYCLES' as a clocksource (EXPERIMENTAL)"
465 depends on EXPERIMENTAL
466 depends on GENERIC_CLOCKEVENTS
467 depends on !BFIN_SCRATCH_REG_CYCLES
468 default n
469 help
470 If you say Y here, you will enable support for using the 'cycles'
471 registers as a clock source. Doing so means you will be unable to
472 safely write to the 'cycles' register during runtime. You will
473 still be able to read it (such as for performance monitoring), but
474 writing the registers will most likely crash the kernel.
475
476source kernel/time/Kconfig
477
Robin Getzf16295e2007-08-03 18:07:17 +0800478comment "Memory Setup"
479
Mike Frysinger5f004c22008-04-25 02:11:24 +0800480comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800481
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800482choice
483 prompt "Blackfin Exception Scratch Register"
484 default BFIN_SCRATCH_REG_RETN
485 help
486 Select the resource to reserve for the Exception handler:
487 - RETN: Non-Maskable Interrupt (NMI)
488 - RETE: Exception Return (JTAG/ICE)
489 - CYCLES: Performance counter
490
491 If you are unsure, please select "RETN".
492
493config BFIN_SCRATCH_REG_RETN
494 bool "RETN"
495 help
496 Use the RETN register in the Blackfin exception handler
497 as a stack scratch register. This means you cannot
498 safely use NMI on the Blackfin while running Linux, but
499 you can debug the system with a JTAG ICE and use the
500 CYCLES performance registers.
501
502 If you are unsure, please select "RETN".
503
504config BFIN_SCRATCH_REG_RETE
505 bool "RETE"
506 help
507 Use the RETE register in the Blackfin exception handler
508 as a stack scratch register. This means you cannot
509 safely use a JTAG ICE while debugging a Blackfin board,
510 but you can safely use the CYCLES performance registers
511 and the NMI.
512
513 If you are unsure, please select "RETN".
514
515config BFIN_SCRATCH_REG_CYCLES
516 bool "CYCLES"
517 help
518 Use the CYCLES register in the Blackfin exception handler
519 as a stack scratch register. This means you cannot
520 safely use the CYCLES performance registers on a Blackfin
521 board at anytime, but you can debug the system with a JTAG
522 ICE and use the NMI.
523
524 If you are unsure, please select "RETN".
525
526endchoice
527
Bryan Wu1394f032007-05-06 14:50:22 -0700528endmenu
529
530
531menu "Blackfin Kernel Optimizations"
532
Bryan Wu1394f032007-05-06 14:50:22 -0700533comment "Memory Optimizations"
534
535config I_ENTRY_L1
536 bool "Locate interrupt entry code in L1 Memory"
537 default y
538 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200539 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
540 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700541
542config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200543 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700544 default y
545 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200546 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800547 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200548 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700549
550config DO_IRQ_L1
551 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
552 default y
553 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200554 If enabled, the frequently called do_irq dispatcher function is linked
555 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700556
557config CORE_TIMER_IRQ_L1
558 bool "Locate frequently called timer_interrupt() function in L1 Memory"
559 default y
560 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200561 If enabled, the frequently called timer_interrupt() function is linked
562 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700563
564config IDLE_L1
565 bool "Locate frequently idle function in L1 Memory"
566 default y
567 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200568 If enabled, the frequently called idle function is linked
569 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700570
571config SCHEDULE_L1
572 bool "Locate kernel schedule function in L1 Memory"
573 default y
574 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200575 If enabled, the frequently called kernel schedule is linked
576 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700577
578config ARITHMETIC_OPS_L1
579 bool "Locate kernel owned arithmetic functions in L1 Memory"
580 default y
581 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200582 If enabled, arithmetic functions are linked
583 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700584
585config ACCESS_OK_L1
586 bool "Locate access_ok function in L1 Memory"
587 default y
588 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200589 If enabled, the access_ok function is linked
590 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700591
592config MEMSET_L1
593 bool "Locate memset function in L1 Memory"
594 default y
595 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200596 If enabled, the memset function is linked
597 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700598
599config MEMCPY_L1
600 bool "Locate memcpy function in L1 Memory"
601 default y
602 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200603 If enabled, the memcpy function is linked
604 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700605
606config SYS_BFIN_SPINLOCK_L1
607 bool "Locate sys_bfin_spinlock function in L1 Memory"
608 default y
609 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200610 If enabled, sys_bfin_spinlock function is linked
611 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700612
613config IP_CHECKSUM_L1
614 bool "Locate IP Checksum function in L1 Memory"
615 default n
616 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200617 If enabled, the IP Checksum function is linked
618 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700619
620config CACHELINE_ALIGNED_L1
621 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800622 default y if !BF54x
623 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700624 depends on !BF531
625 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200626 If enabled, cacheline_anligned data is linked
627 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700628
629config SYSCALL_TAB_L1
630 bool "Locate Syscall Table L1 Data Memory"
631 default n
632 depends on !BF531
633 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200634 If enabled, the Syscall LUT is linked
635 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700636
637config CPLB_SWITCH_TAB_L1
638 bool "Locate CPLB Switch Tables L1 Data Memory"
639 default n
640 depends on !BF531
641 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200642 If enabled, the CPLB Switch Tables are linked
643 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700644
645endmenu
646
647
648choice
649 prompt "Kernel executes from"
650 help
651 Choose the memory type that the kernel will be running in.
652
653config RAMKERNEL
654 bool "RAM"
655 help
656 The kernel will be resident in RAM when running.
657
658config ROMKERNEL
659 bool "ROM"
660 help
661 The kernel will be resident in FLASH/ROM when running.
662
663endchoice
664
665source "mm/Kconfig"
666
Mike Frysinger780431e2007-10-21 23:37:54 +0800667config BFIN_GPTIMERS
668 tristate "Enable Blackfin General Purpose Timers API"
669 default n
670 help
671 Enable support for the General Purpose Timers API. If you
672 are unsure, say N.
673
674 To compile this driver as a module, choose M here: the module
675 will be called gptimers.ko.
676
Bryan Wu1394f032007-05-06 14:50:22 -0700677config BFIN_DMA_5XX
678 bool "Enable DMA Support"
Michael Hennerich59003142007-10-21 16:54:27 +0800679 depends on (BF52x || BF53x || BF561 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700680 default y
681 help
682 DMA driver for BF5xx.
683
684choice
685 prompt "Uncached SDRAM region"
686 default DMA_UNCACHED_1M
Adrian Bunk247537b2007-09-26 20:02:52 +0200687 depends on BFIN_DMA_5XX
Cliff Cai86ad7932008-05-17 16:36:52 +0800688config DMA_UNCACHED_4M
689 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700690config DMA_UNCACHED_2M
691 bool "Enable 2M DMA region"
692config DMA_UNCACHED_1M
693 bool "Enable 1M DMA region"
694config DMA_UNCACHED_NONE
695 bool "Disable DMA region"
696endchoice
697
698
699comment "Cache Support"
Robin Getz3bebca22007-10-10 23:55:26 +0800700config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700701 bool "Enable ICACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800702config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700703 bool "Enable DCACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800704config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700705 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800706 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700707 default n
Robin Getz3bebca22007-10-10 23:55:26 +0800708config BFIN_ICACHE_LOCK
709 bool "Enable Instruction Cache Locking"
Bryan Wu1394f032007-05-06 14:50:22 -0700710
711choice
712 prompt "Policy"
Robin Getz3bebca22007-10-10 23:55:26 +0800713 depends on BFIN_DCACHE
714 default BFIN_WB
715config BFIN_WB
Bryan Wu1394f032007-05-06 14:50:22 -0700716 bool "Write back"
717 help
718 Write Back Policy:
719 Cached data will be written back to SDRAM only when needed.
720 This can give a nice increase in performance, but beware of
721 broken drivers that do not properly invalidate/flush their
722 cache.
723
724 Write Through Policy:
725 Cached data will always be written back to SDRAM when the
726 cache is updated. This is a completely safe setting, but
727 performance is worse than Write Back.
728
729 If you are unsure of the options and you want to be safe,
730 then go with Write Through.
731
Robin Getz3bebca22007-10-10 23:55:26 +0800732config BFIN_WT
Bryan Wu1394f032007-05-06 14:50:22 -0700733 bool "Write through"
734 help
735 Write Back Policy:
736 Cached data will be written back to SDRAM only when needed.
737 This can give a nice increase in performance, but beware of
738 broken drivers that do not properly invalidate/flush their
739 cache.
740
741 Write Through Policy:
742 Cached data will always be written back to SDRAM when the
743 cache is updated. This is a completely safe setting, but
744 performance is worse than Write Back.
745
746 If you are unsure of the options and you want to be safe,
747 then go with Write Through.
748
749endchoice
750
751config L1_MAX_PIECE
752 int "Set the max L1 SRAM pieces"
753 default 16
754 help
755 Set the max memory pieces for the L1 SRAM allocation algorithm.
756 Min value is 16. Max value is 1024.
757
Bernd Schmidtb97b8a92008-01-27 18:39:16 +0800758
759config MPU
760 bool "Enable the memory protection unit (EXPERIMENTAL)"
761 default n
762 help
763 Use the processor's MPU to protect applications from accessing
764 memory they do not own. This comes at a performance penalty
765 and is recommended only for debugging.
766
Bryan Wu1394f032007-05-06 14:50:22 -0700767comment "Asynchonous Memory Configuration"
768
Mike Frysingerddf416b2007-10-10 18:06:47 +0800769menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -0700770config C_AMCKEN
771 bool "Enable CLKOUT"
772 default y
773
774config C_CDPRIO
775 bool "DMA has priority over core for ext. accesses"
776 default n
777
778config C_B0PEN
779 depends on BF561
780 bool "Bank 0 16 bit packing enable"
781 default y
782
783config C_B1PEN
784 depends on BF561
785 bool "Bank 1 16 bit packing enable"
786 default y
787
788config C_B2PEN
789 depends on BF561
790 bool "Bank 2 16 bit packing enable"
791 default y
792
793config C_B3PEN
794 depends on BF561
795 bool "Bank 3 16 bit packing enable"
796 default n
797
798choice
799 prompt"Enable Asynchonous Memory Banks"
800 default C_AMBEN_ALL
801
802config C_AMBEN
803 bool "Disable All Banks"
804
805config C_AMBEN_B0
806 bool "Enable Bank 0"
807
808config C_AMBEN_B0_B1
809 bool "Enable Bank 0 & 1"
810
811config C_AMBEN_B0_B1_B2
812 bool "Enable Bank 0 & 1 & 2"
813
814config C_AMBEN_ALL
815 bool "Enable All Banks"
816endchoice
817endmenu
818
819menu "EBIU_AMBCTL Control"
820config BANK_0
821 hex "Bank 0"
822 default 0x7BB0
823
824config BANK_1
825 hex "Bank 1"
826 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +0800827 default 0x5558 if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700828
829config BANK_2
830 hex "Bank 2"
831 default 0x7BB0
832
833config BANK_3
834 hex "Bank 3"
835 default 0x99B3
836endmenu
837
Sonic Zhange40540b2007-11-21 23:49:52 +0800838config EBIU_MBSCTLVAL
839 hex "EBIU Bank Select Control Register"
840 depends on BF54x
841 default 0
842
843config EBIU_MODEVAL
844 hex "Flash Memory Mode Control Register"
845 depends on BF54x
846 default 1
847
848config EBIU_FCTLVAL
849 hex "Flash Memory Bank Control Register"
850 depends on BF54x
851 default 6
Bryan Wu1394f032007-05-06 14:50:22 -0700852endmenu
853
854#############################################################################
855menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
856
857config PCI
858 bool "PCI support"
859 help
860 Support for PCI bus.
861
862source "drivers/pci/Kconfig"
863
864config HOTPLUG
865 bool "Support for hot-pluggable device"
866 help
867 Say Y here if you want to plug devices into your computer while
868 the system is running, and be able to use them quickly. In many
869 cases, the devices can likewise be unplugged at any time too.
870
871 One well known example of this is PCMCIA- or PC-cards, credit-card
872 size devices such as network cards, modems or hard drives which are
873 plugged into slots found on all modern laptop computers. Another
874 example, used on modern desktops as well as laptops, is USB.
875
876 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
877 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
878 Then your kernel will automatically call out to a user mode "policy
879 agent" (/sbin/hotplug) to load modules and set up software needed
880 to use devices as you hotplug them.
881
882source "drivers/pcmcia/Kconfig"
883
884source "drivers/pci/hotplug/Kconfig"
885
886endmenu
887
888menu "Executable file formats"
889
890source "fs/Kconfig.binfmt"
891
892endmenu
893
894menu "Power management options"
895source "kernel/power/Kconfig"
896
Johannes Bergf4cb5702007-12-08 02:14:00 +0100897config ARCH_SUSPEND_POSSIBLE
898 def_bool y
899 depends on !SMP
900
Bryan Wu1394f032007-05-06 14:50:22 -0700901choice
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800902 prompt "Default Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -0700903 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800904 default PM_BFIN_SLEEP_DEEPER
905config PM_BFIN_SLEEP_DEEPER
906 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -0700907 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800908 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
909 power dissipation by disabling the clock to the processor core (CCLK).
910 Furthermore, Standby sets the internal power supply voltage (VDDINT)
911 to 0.85 V to provide the greatest power savings, while preserving the
912 processor state.
913 The PLL and system clock (SCLK) continue to operate at a very low
914 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
915 the SDRAM is put into Self Refresh Mode. Typically an external event
916 such as GPIO interrupt or RTC activity wakes up the processor.
917 Various Peripherals such as UART, SPORT, PPI may not function as
918 normal during Sleep Deeper, due to the reduced SCLK frequency.
919 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -0700920
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800921config PM_BFIN_SLEEP
922 bool "Sleep"
923 help
924 Sleep Mode (High Power Savings) - The sleep mode reduces power
925 dissipation by disabling the clock to the processor core (CCLK).
926 The PLL and system clock (SCLK), however, continue to operate in
927 this mode. Typically an external event or RTC activity will wake
928 up the processor. When in the sleep mode,
929 system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -0700930endchoice
931
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800932config PM_WAKEUP_BY_GPIO
933 bool "Cause Wakeup Event by GPIO"
Bryan Wu1394f032007-05-06 14:50:22 -0700934
935config PM_WAKEUP_GPIO_NUMBER
936 int "Wakeup GPIO number"
937 range 0 47
938 depends on PM_WAKEUP_BY_GPIO
939 default 2 if BFIN537_STAMP
940
941choice
942 prompt "GPIO Polarity"
943 depends on PM_WAKEUP_BY_GPIO
944 default PM_WAKEUP_GPIO_POLAR_H
945config PM_WAKEUP_GPIO_POLAR_H
946 bool "Active High"
947config PM_WAKEUP_GPIO_POLAR_L
948 bool "Active Low"
949config PM_WAKEUP_GPIO_POLAR_EDGE_F
950 bool "Falling EDGE"
951config PM_WAKEUP_GPIO_POLAR_EDGE_R
952 bool "Rising EDGE"
953config PM_WAKEUP_GPIO_POLAR_EDGE_B
954 bool "Both EDGE"
955endchoice
956
957endmenu
958
Bryan Wu1394f032007-05-06 14:50:22 -0700959menu "CPU Frequency scaling"
960
961source "drivers/cpufreq/Kconfig"
962
Michael Hennerich14b03202008-05-07 11:41:26 +0800963config CPU_VOLTAGE
964 bool "CPU Voltage scaling"
965 depends on EXPERIMENTAL
966 depends on CPU_FREQ
967 default n
968 help
969 Say Y here if you want CPU voltage scaling according to the CPU frequency.
970 This option violates the PLL BYPASS recommendation in the Blackfin Processor
971 manuals. There is a theoretical risk that during VDDINT transitions
972 the PLL may unlock.
973
Bryan Wu1394f032007-05-06 14:50:22 -0700974endmenu
975
Bryan Wu1394f032007-05-06 14:50:22 -0700976source "net/Kconfig"
977
978source "drivers/Kconfig"
979
980source "fs/Kconfig"
981
Mike Frysinger74ce8322007-11-21 23:50:49 +0800982source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -0700983
984source "security/Kconfig"
985
986source "crypto/Kconfig"
987
988source "lib/Kconfig"