blob: 369050d9f9f43485e7a7fbb3e06298b802c7a22c [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
252 depends on (BFIN527_EZKIT)
253 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
Robin Getzf16295e2007-08-03 18:07:17 +0800275comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700276
277config CLKIN_HZ
278 int "Crystal Frequency in Hz"
279 default "11059200" if BFIN533_STAMP
280 default "27000000" if BFIN533_EZKIT
Javier Herreroab472a02007-10-29 16:14:44 +0800281 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS)
Bryan Wu1394f032007-05-06 14:50:22 -0700282 default "30000000" if BFIN561_EZKIT
283 default "24576000" if PNAV10
284 help
285 The frequency of CLKIN crystal oscillator on the board in Hz.
286
Robin Getzf16295e2007-08-03 18:07:17 +0800287config BFIN_KERNEL_CLOCK
288 bool "Re-program Clocks while Kernel boots?"
289 default n
290 help
291 This option decides if kernel clocks are re-programed from the
292 bootloader settings. If the clocks are not set, the SDRAM settings
293 are also not changed, and the Bootloader does 100% of the hardware
294 configuration.
295
Mike Frysinger618835a2008-04-23 08:07:05 +0800296config MEM_ADD_WIDTH
297 int "Memory Address Width"
298 depends on BFIN_KERNEL_CLOCK
299 depends on (!BF54x)
300 default 9 if BFIN533_EZKIT
301 default 9 if BFIN561_EZKIT
302 default 9 if H8606_HVSISTEMAS
303 default 10 if BFIN527_EZKIT
304 default 10 if BFIN537_STAMP
305 default 11 if BFIN533_STAMP
306 default 10 if PNAV10
307
Robin Getzf16295e2007-08-03 18:07:17 +0800308config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800309 bool "Bypass PLL"
310 depends on BFIN_KERNEL_CLOCK
311 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800312
313config CLKIN_HALF
314 bool "Half Clock In"
315 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
316 default n
317 help
318 If this is set the clock will be divided by 2, before it goes to the PLL.
319
320config VCO_MULT
321 int "VCO Multiplier"
322 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
323 range 1 64
324 default "22" if BFIN533_EZKIT
325 default "45" if BFIN533_STAMP
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800326 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800327 default "22" if BFIN533_BLUETECHNIX_CM
328 default "20" if BFIN537_BLUETECHNIX_CM
329 default "20" if BFIN561_BLUETECHNIX_CM
330 default "20" if BFIN561_EZKIT
Javier Herreroab472a02007-10-29 16:14:44 +0800331 default "16" if H8606_HVSISTEMAS
Robin Getzf16295e2007-08-03 18:07:17 +0800332 help
333 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
334 PLL Frequency = (Crystal Frequency) * (this setting)
335
336choice
337 prompt "Core Clock Divider"
338 depends on BFIN_KERNEL_CLOCK
339 default CCLK_DIV_1
340 help
341 This sets the frequency of the core. It can be 1, 2, 4 or 8
342 Core Frequency = (PLL frequency) / (this setting)
343
344config CCLK_DIV_1
345 bool "1"
346
347config CCLK_DIV_2
348 bool "2"
349
350config CCLK_DIV_4
351 bool "4"
352
353config CCLK_DIV_8
354 bool "8"
355endchoice
356
357config SCLK_DIV
358 int "System Clock Divider"
359 depends on BFIN_KERNEL_CLOCK
360 range 1 15
361 default 5 if BFIN533_EZKIT
362 default 5 if BFIN533_STAMP
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800363 default 4 if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800364 default 5 if BFIN533_BLUETECHNIX_CM
365 default 4 if BFIN537_BLUETECHNIX_CM
366 default 4 if BFIN561_BLUETECHNIX_CM
367 default 5 if BFIN561_EZKIT
Javier Herreroab472a02007-10-29 16:14:44 +0800368 default 3 if H8606_HVSISTEMAS
Robin Getzf16295e2007-08-03 18:07:17 +0800369 help
370 This sets the frequency of the system clock (including SDRAM or DDR).
371 This can be between 1 and 15
372 System Clock = (PLL frequency) / (this setting)
373
374#
375# Max & Min Speeds for various Chips
376#
377config MAX_VCO_HZ
378 int
379 default 600000000 if BF522
Mike Frysinger1545a112007-12-24 16:54:48 +0800380 default 400000000 if BF523
381 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800382 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800383 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800384 default 600000000 if BF527
385 default 400000000 if BF531
386 default 400000000 if BF532
387 default 750000000 if BF533
388 default 500000000 if BF534
389 default 400000000 if BF536
390 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800391 default 533333333 if BF538
392 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800393 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800394 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800395 default 600000000 if BF547
396 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800397 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800398 default 600000000 if BF561
399
400config MIN_VCO_HZ
401 int
402 default 50000000
403
404config MAX_SCLK_HZ
405 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800406 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800407
408config MIN_SCLK_HZ
409 int
410 default 27000000
411
412comment "Kernel Timer/Scheduler"
413
414source kernel/Kconfig.hz
415
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800416config GENERIC_TIME
417 bool "Generic time"
418 default y
419
420config GENERIC_CLOCKEVENTS
421 bool "Generic clock events"
422 depends on GENERIC_TIME
423 default y
424
425config CYCLES_CLOCKSOURCE
426 bool "Use 'CYCLES' as a clocksource (EXPERIMENTAL)"
427 depends on EXPERIMENTAL
428 depends on GENERIC_CLOCKEVENTS
429 depends on !BFIN_SCRATCH_REG_CYCLES
430 default n
431 help
432 If you say Y here, you will enable support for using the 'cycles'
433 registers as a clock source. Doing so means you will be unable to
434 safely write to the 'cycles' register during runtime. You will
435 still be able to read it (such as for performance monitoring), but
436 writing the registers will most likely crash the kernel.
437
438source kernel/time/Kconfig
439
Robin Getzf16295e2007-08-03 18:07:17 +0800440comment "Memory Setup"
441
Bryan Wu1394f032007-05-06 14:50:22 -0700442config MEM_SIZE
443 int "SDRAM Memory Size in MBytes"
444 default 32 if BFIN533_EZKIT
Michael Hennerich59003142007-10-21 16:54:27 +0800445 default 64 if BFIN527_EZKIT
Bryan Wu1394f032007-05-06 14:50:22 -0700446 default 64 if BFIN537_STAMP
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800447 default 64 if BFIN548_EZKIT
Bryan Wu1394f032007-05-06 14:50:22 -0700448 default 64 if BFIN561_EZKIT
449 default 128 if BFIN533_STAMP
450 default 64 if PNAV10
Javier Herreroab472a02007-10-29 16:14:44 +0800451 default 32 if H8606_HVSISTEMAS
Bryan Wu1394f032007-05-06 14:50:22 -0700452
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800453choice
454 prompt "DDR SDRAM Chip Type"
455 depends on BFIN548_EZKIT
456 default MEM_MT46V32M16_5B
457
458config MEM_MT46V32M16_6T
459 bool "MT46V32M16_6T"
460
461config MEM_MT46V32M16_5B
462 bool "MT46V32M16_5B"
463endchoice
464
Bryan Wu1394f032007-05-06 14:50:22 -0700465config ENET_FLASH_PIN
466 int "PF port/pin used for flash and ethernet sharing"
467 depends on (BFIN533_STAMP)
468 default 0
469 help
470 PF port/pin used for flash and ethernet sharing to allow other PF
471 pins to be used on other platforms without having to touch common
472 code.
473 For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
474
475config BOOT_LOAD
476 hex "Kernel load address for booting"
477 default "0x1000"
Mike Frysinger2d8f1612007-08-05 14:06:16 +0800478 range 0x1000 0x20000000
Bryan Wu1394f032007-05-06 14:50:22 -0700479 help
480 This option allows you to set the load address of the kernel.
481 This can be useful if you are on a board which has a small amount
482 of memory or you wish to reserve some memory at the beginning of
483 the address space.
484
Mike Frysinger2d8f1612007-08-05 14:06:16 +0800485 Note that you need to keep this value above 4k (0x1000) as this
486 memory region is used to capture NULL pointer references as well
487 as some core kernel functions.
Bryan Wu1394f032007-05-06 14:50:22 -0700488
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800489choice
490 prompt "Blackfin Exception Scratch Register"
491 default BFIN_SCRATCH_REG_RETN
492 help
493 Select the resource to reserve for the Exception handler:
494 - RETN: Non-Maskable Interrupt (NMI)
495 - RETE: Exception Return (JTAG/ICE)
496 - CYCLES: Performance counter
497
498 If you are unsure, please select "RETN".
499
500config BFIN_SCRATCH_REG_RETN
501 bool "RETN"
502 help
503 Use the RETN register in the Blackfin exception handler
504 as a stack scratch register. This means you cannot
505 safely use NMI on the Blackfin while running Linux, but
506 you can debug the system with a JTAG ICE and use the
507 CYCLES performance registers.
508
509 If you are unsure, please select "RETN".
510
511config BFIN_SCRATCH_REG_RETE
512 bool "RETE"
513 help
514 Use the RETE register in the Blackfin exception handler
515 as a stack scratch register. This means you cannot
516 safely use a JTAG ICE while debugging a Blackfin board,
517 but you can safely use the CYCLES performance registers
518 and the NMI.
519
520 If you are unsure, please select "RETN".
521
522config BFIN_SCRATCH_REG_CYCLES
523 bool "CYCLES"
524 help
525 Use the CYCLES register in the Blackfin exception handler
526 as a stack scratch register. This means you cannot
527 safely use the CYCLES performance registers on a Blackfin
528 board at anytime, but you can debug the system with a JTAG
529 ICE and use the NMI.
530
531 If you are unsure, please select "RETN".
532
533endchoice
534
Bryan Wu1394f032007-05-06 14:50:22 -0700535endmenu
536
537
538menu "Blackfin Kernel Optimizations"
539
Bryan Wu1394f032007-05-06 14:50:22 -0700540comment "Memory Optimizations"
541
542config I_ENTRY_L1
543 bool "Locate interrupt entry code in L1 Memory"
544 default y
545 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200546 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
547 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700548
549config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200550 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700551 default y
552 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200553 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800554 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200555 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700556
557config DO_IRQ_L1
558 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
559 default y
560 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200561 If enabled, the frequently called do_irq dispatcher function is linked
562 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700563
564config CORE_TIMER_IRQ_L1
565 bool "Locate frequently called timer_interrupt() function in L1 Memory"
566 default y
567 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200568 If enabled, the frequently called timer_interrupt() function is linked
569 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700570
571config IDLE_L1
572 bool "Locate frequently idle function in L1 Memory"
573 default y
574 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200575 If enabled, the frequently called idle function is linked
576 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700577
578config SCHEDULE_L1
579 bool "Locate kernel schedule function in L1 Memory"
580 default y
581 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200582 If enabled, the frequently called kernel schedule is linked
583 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700584
585config ARITHMETIC_OPS_L1
586 bool "Locate kernel owned arithmetic functions in L1 Memory"
587 default y
588 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200589 If enabled, arithmetic functions are linked
590 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700591
592config ACCESS_OK_L1
593 bool "Locate access_ok function in L1 Memory"
594 default y
595 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200596 If enabled, the access_ok function is linked
597 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700598
599config MEMSET_L1
600 bool "Locate memset function in L1 Memory"
601 default y
602 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200603 If enabled, the memset function is linked
604 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700605
606config MEMCPY_L1
607 bool "Locate memcpy function in L1 Memory"
608 default y
609 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200610 If enabled, the memcpy function is linked
611 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700612
613config SYS_BFIN_SPINLOCK_L1
614 bool "Locate sys_bfin_spinlock function in L1 Memory"
615 default y
616 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200617 If enabled, sys_bfin_spinlock function is linked
618 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700619
620config IP_CHECKSUM_L1
621 bool "Locate IP Checksum function in L1 Memory"
622 default n
623 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200624 If enabled, the IP Checksum function is linked
625 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700626
627config CACHELINE_ALIGNED_L1
628 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800629 default y if !BF54x
630 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700631 depends on !BF531
632 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200633 If enabled, cacheline_anligned data is linked
634 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700635
636config SYSCALL_TAB_L1
637 bool "Locate Syscall Table L1 Data Memory"
638 default n
639 depends on !BF531
640 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200641 If enabled, the Syscall LUT is linked
642 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700643
644config CPLB_SWITCH_TAB_L1
645 bool "Locate CPLB Switch Tables L1 Data Memory"
646 default n
647 depends on !BF531
648 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200649 If enabled, the CPLB Switch Tables are linked
650 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700651
652endmenu
653
654
655choice
656 prompt "Kernel executes from"
657 help
658 Choose the memory type that the kernel will be running in.
659
660config RAMKERNEL
661 bool "RAM"
662 help
663 The kernel will be resident in RAM when running.
664
665config ROMKERNEL
666 bool "ROM"
667 help
668 The kernel will be resident in FLASH/ROM when running.
669
670endchoice
671
672source "mm/Kconfig"
673
Mike Frysinger780431e2007-10-21 23:37:54 +0800674config BFIN_GPTIMERS
675 tristate "Enable Blackfin General Purpose Timers API"
676 default n
677 help
678 Enable support for the General Purpose Timers API. If you
679 are unsure, say N.
680
681 To compile this driver as a module, choose M here: the module
682 will be called gptimers.ko.
683
Bryan Wu1394f032007-05-06 14:50:22 -0700684config BFIN_DMA_5XX
685 bool "Enable DMA Support"
Michael Hennerich59003142007-10-21 16:54:27 +0800686 depends on (BF52x || BF53x || BF561 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700687 default y
688 help
689 DMA driver for BF5xx.
690
691choice
692 prompt "Uncached SDRAM region"
693 default DMA_UNCACHED_1M
Adrian Bunk247537b2007-09-26 20:02:52 +0200694 depends on BFIN_DMA_5XX
Bryan Wu1394f032007-05-06 14:50:22 -0700695config DMA_UNCACHED_2M
696 bool "Enable 2M DMA region"
697config DMA_UNCACHED_1M
698 bool "Enable 1M DMA region"
699config DMA_UNCACHED_NONE
700 bool "Disable DMA region"
701endchoice
702
703
704comment "Cache Support"
Robin Getz3bebca22007-10-10 23:55:26 +0800705config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700706 bool "Enable ICACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800707config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700708 bool "Enable DCACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800709config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700710 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800711 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700712 default n
Robin Getz3bebca22007-10-10 23:55:26 +0800713config BFIN_ICACHE_LOCK
714 bool "Enable Instruction Cache Locking"
Bryan Wu1394f032007-05-06 14:50:22 -0700715
716choice
717 prompt "Policy"
Robin Getz3bebca22007-10-10 23:55:26 +0800718 depends on BFIN_DCACHE
719 default BFIN_WB
720config BFIN_WB
Bryan Wu1394f032007-05-06 14:50:22 -0700721 bool "Write back"
722 help
723 Write Back Policy:
724 Cached data will be written back to SDRAM only when needed.
725 This can give a nice increase in performance, but beware of
726 broken drivers that do not properly invalidate/flush their
727 cache.
728
729 Write Through Policy:
730 Cached data will always be written back to SDRAM when the
731 cache is updated. This is a completely safe setting, but
732 performance is worse than Write Back.
733
734 If you are unsure of the options and you want to be safe,
735 then go with Write Through.
736
Robin Getz3bebca22007-10-10 23:55:26 +0800737config BFIN_WT
Bryan Wu1394f032007-05-06 14:50:22 -0700738 bool "Write through"
739 help
740 Write Back Policy:
741 Cached data will be written back to SDRAM only when needed.
742 This can give a nice increase in performance, but beware of
743 broken drivers that do not properly invalidate/flush their
744 cache.
745
746 Write Through Policy:
747 Cached data will always be written back to SDRAM when the
748 cache is updated. This is a completely safe setting, but
749 performance is worse than Write Back.
750
751 If you are unsure of the options and you want to be safe,
752 then go with Write Through.
753
754endchoice
755
756config L1_MAX_PIECE
757 int "Set the max L1 SRAM pieces"
758 default 16
759 help
760 Set the max memory pieces for the L1 SRAM allocation algorithm.
761 Min value is 16. Max value is 1024.
762
Bernd Schmidtb97b8a92008-01-27 18:39:16 +0800763
764config MPU
765 bool "Enable the memory protection unit (EXPERIMENTAL)"
766 default n
767 help
768 Use the processor's MPU to protect applications from accessing
769 memory they do not own. This comes at a performance penalty
770 and is recommended only for debugging.
771
Bryan Wu1394f032007-05-06 14:50:22 -0700772comment "Asynchonous Memory Configuration"
773
Mike Frysingerddf416b2007-10-10 18:06:47 +0800774menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -0700775config C_AMCKEN
776 bool "Enable CLKOUT"
777 default y
778
779config C_CDPRIO
780 bool "DMA has priority over core for ext. accesses"
781 default n
782
783config C_B0PEN
784 depends on BF561
785 bool "Bank 0 16 bit packing enable"
786 default y
787
788config C_B1PEN
789 depends on BF561
790 bool "Bank 1 16 bit packing enable"
791 default y
792
793config C_B2PEN
794 depends on BF561
795 bool "Bank 2 16 bit packing enable"
796 default y
797
798config C_B3PEN
799 depends on BF561
800 bool "Bank 3 16 bit packing enable"
801 default n
802
803choice
804 prompt"Enable Asynchonous Memory Banks"
805 default C_AMBEN_ALL
806
807config C_AMBEN
808 bool "Disable All Banks"
809
810config C_AMBEN_B0
811 bool "Enable Bank 0"
812
813config C_AMBEN_B0_B1
814 bool "Enable Bank 0 & 1"
815
816config C_AMBEN_B0_B1_B2
817 bool "Enable Bank 0 & 1 & 2"
818
819config C_AMBEN_ALL
820 bool "Enable All Banks"
821endchoice
822endmenu
823
824menu "EBIU_AMBCTL Control"
825config BANK_0
826 hex "Bank 0"
827 default 0x7BB0
828
829config BANK_1
830 hex "Bank 1"
831 default 0x7BB0
832
833config BANK_2
834 hex "Bank 2"
835 default 0x7BB0
836
837config BANK_3
838 hex "Bank 3"
839 default 0x99B3
840endmenu
841
Sonic Zhange40540b2007-11-21 23:49:52 +0800842config EBIU_MBSCTLVAL
843 hex "EBIU Bank Select Control Register"
844 depends on BF54x
845 default 0
846
847config EBIU_MODEVAL
848 hex "Flash Memory Mode Control Register"
849 depends on BF54x
850 default 1
851
852config EBIU_FCTLVAL
853 hex "Flash Memory Bank Control Register"
854 depends on BF54x
855 default 6
Bryan Wu1394f032007-05-06 14:50:22 -0700856endmenu
857
858#############################################################################
859menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
860
861config PCI
862 bool "PCI support"
863 help
864 Support for PCI bus.
865
866source "drivers/pci/Kconfig"
867
868config HOTPLUG
869 bool "Support for hot-pluggable device"
870 help
871 Say Y here if you want to plug devices into your computer while
872 the system is running, and be able to use them quickly. In many
873 cases, the devices can likewise be unplugged at any time too.
874
875 One well known example of this is PCMCIA- or PC-cards, credit-card
876 size devices such as network cards, modems or hard drives which are
877 plugged into slots found on all modern laptop computers. Another
878 example, used on modern desktops as well as laptops, is USB.
879
880 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
881 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
882 Then your kernel will automatically call out to a user mode "policy
883 agent" (/sbin/hotplug) to load modules and set up software needed
884 to use devices as you hotplug them.
885
886source "drivers/pcmcia/Kconfig"
887
888source "drivers/pci/hotplug/Kconfig"
889
890endmenu
891
892menu "Executable file formats"
893
894source "fs/Kconfig.binfmt"
895
896endmenu
897
898menu "Power management options"
899source "kernel/power/Kconfig"
900
Johannes Bergf4cb5702007-12-08 02:14:00 +0100901config ARCH_SUSPEND_POSSIBLE
902 def_bool y
903 depends on !SMP
904
Bryan Wu1394f032007-05-06 14:50:22 -0700905choice
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800906 prompt "Default Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -0700907 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800908 default PM_BFIN_SLEEP_DEEPER
909config PM_BFIN_SLEEP_DEEPER
910 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -0700911 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800912 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
913 power dissipation by disabling the clock to the processor core (CCLK).
914 Furthermore, Standby sets the internal power supply voltage (VDDINT)
915 to 0.85 V to provide the greatest power savings, while preserving the
916 processor state.
917 The PLL and system clock (SCLK) continue to operate at a very low
918 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
919 the SDRAM is put into Self Refresh Mode. Typically an external event
920 such as GPIO interrupt or RTC activity wakes up the processor.
921 Various Peripherals such as UART, SPORT, PPI may not function as
922 normal during Sleep Deeper, due to the reduced SCLK frequency.
923 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -0700924
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800925config PM_BFIN_SLEEP
926 bool "Sleep"
927 help
928 Sleep Mode (High Power Savings) - The sleep mode reduces power
929 dissipation by disabling the clock to the processor core (CCLK).
930 The PLL and system clock (SCLK), however, continue to operate in
931 this mode. Typically an external event or RTC activity will wake
932 up the processor. When in the sleep mode,
933 system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -0700934endchoice
935
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800936config PM_WAKEUP_BY_GPIO
937 bool "Cause Wakeup Event by GPIO"
Bryan Wu1394f032007-05-06 14:50:22 -0700938
939config PM_WAKEUP_GPIO_NUMBER
940 int "Wakeup GPIO number"
941 range 0 47
942 depends on PM_WAKEUP_BY_GPIO
943 default 2 if BFIN537_STAMP
944
945choice
946 prompt "GPIO Polarity"
947 depends on PM_WAKEUP_BY_GPIO
948 default PM_WAKEUP_GPIO_POLAR_H
949config PM_WAKEUP_GPIO_POLAR_H
950 bool "Active High"
951config PM_WAKEUP_GPIO_POLAR_L
952 bool "Active Low"
953config PM_WAKEUP_GPIO_POLAR_EDGE_F
954 bool "Falling EDGE"
955config PM_WAKEUP_GPIO_POLAR_EDGE_R
956 bool "Rising EDGE"
957config PM_WAKEUP_GPIO_POLAR_EDGE_B
958 bool "Both EDGE"
959endchoice
960
961endmenu
962
Roy Huang24a07a12007-07-12 22:41:45 +0800963if (BF537 || BF533 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700964
965menu "CPU Frequency scaling"
966
967source "drivers/cpufreq/Kconfig"
968
969config CPU_FREQ
970 bool
971 default n
972 help
973 If you want to enable this option, you should select the
974 DPMC driver from Character Devices.
975endmenu
976
977endif
978
979source "net/Kconfig"
980
981source "drivers/Kconfig"
982
983source "fs/Kconfig"
984
Mike Frysinger74ce8322007-11-21 23:50:49 +0800985source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -0700986
987source "security/Kconfig"
988
989source "crypto/Kconfig"
990
991source "lib/Kconfig"