blob: 2dd1f300a5cfe8fe9c81758304f1575ed849fe72 [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
50config GENERIC_TIME
51 bool
52 default n
53
Michael Hennerichb2d15832007-07-24 15:46:36 +080054config GENERIC_GPIO
Bryan Wu1394f032007-05-06 14:50:22 -070055 bool
56 default y
57
58config FORCE_MAX_ZONEORDER
59 int
60 default "14"
61
62config GENERIC_CALIBRATE_DELAY
63 bool
64 default y
65
Mathieu Desnoyers7d2284b2008-01-15 12:42:02 -050066config HARDWARE_PM
67 def_bool y
68 depends on OPROFILE
69
Bryan Wu1394f032007-05-06 14:50:22 -070070source "init/Kconfig"
71source "kernel/Kconfig.preempt"
72
73menu "Blackfin Processor Options"
74
75comment "Processor and Board Settings"
76
77choice
78 prompt "CPU"
79 default BF533
80
Michael Hennerich59003142007-10-21 16:54:27 +080081config BF522
82 bool "BF522"
83 help
84 BF522 Processor Support.
85
Mike Frysinger1545a112007-12-24 16:54:48 +080086config BF523
87 bool "BF523"
88 help
89 BF523 Processor Support.
90
91config BF524
92 bool "BF524"
93 help
94 BF524 Processor Support.
95
Michael Hennerich59003142007-10-21 16:54:27 +080096config BF525
97 bool "BF525"
98 help
99 BF525 Processor Support.
100
Mike Frysinger1545a112007-12-24 16:54:48 +0800101config BF526
102 bool "BF526"
103 help
104 BF526 Processor Support.
105
Michael Hennerich59003142007-10-21 16:54:27 +0800106config BF527
107 bool "BF527"
108 help
109 BF527 Processor Support.
110
Bryan Wu1394f032007-05-06 14:50:22 -0700111config BF531
112 bool "BF531"
113 help
114 BF531 Processor Support.
115
116config BF532
117 bool "BF532"
118 help
119 BF532 Processor Support.
120
121config BF533
122 bool "BF533"
123 help
124 BF533 Processor Support.
125
126config BF534
127 bool "BF534"
128 help
129 BF534 Processor Support.
130
131config BF536
132 bool "BF536"
133 help
134 BF536 Processor Support.
135
136config BF537
137 bool "BF537"
138 help
139 BF537 Processor Support.
140
Roy Huang24a07a12007-07-12 22:41:45 +0800141config BF542
142 bool "BF542"
143 help
144 BF542 Processor Support.
145
146config BF544
147 bool "BF544"
148 help
149 BF544 Processor Support.
150
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800151config BF547
152 bool "BF547"
153 help
154 BF547 Processor Support.
155
Roy Huang24a07a12007-07-12 22:41:45 +0800156config BF548
157 bool "BF548"
158 help
159 BF548 Processor Support.
160
161config BF549
162 bool "BF549"
163 help
164 BF549 Processor Support.
165
Bryan Wu1394f032007-05-06 14:50:22 -0700166config BF561
167 bool "BF561"
168 help
169 Not Supported Yet - Work in progress - BF561 Processor Support.
170
171endchoice
172
173choice
174 prompt "Silicon Rev"
Michael Hennerich59003142007-10-21 16:54:27 +0800175 default BF_REV_0_1 if BF527
Bryan Wu1394f032007-05-06 14:50:22 -0700176 default BF_REV_0_2 if BF537
177 default BF_REV_0_3 if BF533
Roy Huang24a07a12007-07-12 22:41:45 +0800178 default BF_REV_0_0 if BF549
179
180config BF_REV_0_0
181 bool "0.0"
Mike Frysingerd07f4382007-11-15 15:49:17 +0800182 depends on (BF52x || BF54x)
Michael Hennerich59003142007-10-21 16:54:27 +0800183
184config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800185 bool "0.1"
186 depends on (BF52x || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700187
188config BF_REV_0_2
189 bool "0.2"
190 depends on (BF537 || BF536 || BF534)
191
192config BF_REV_0_3
193 bool "0.3"
194 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
195
196config BF_REV_0_4
197 bool "0.4"
198 depends on (BF561 || BF533 || BF532 || BF531)
199
200config BF_REV_0_5
201 bool "0.5"
202 depends on (BF561 || BF533 || BF532 || BF531)
203
Jie Zhangde3025f2007-06-25 18:04:12 +0800204config BF_REV_ANY
205 bool "any"
206
207config BF_REV_NONE
208 bool "none"
209
Bryan Wu1394f032007-05-06 14:50:22 -0700210endchoice
211
Michael Hennerich59003142007-10-21 16:54:27 +0800212config BF52x
213 bool
Mike Frysinger1545a112007-12-24 16:54:48 +0800214 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
Michael Hennerich59003142007-10-21 16:54:27 +0800215 default y
216
Roy Huang24a07a12007-07-12 22:41:45 +0800217config BF53x
218 bool
219 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
220 default y
221
222config BF54x
223 bool
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800224 depends on (BF542 || BF544 || BF547 || BF548 || BF549)
Roy Huang24a07a12007-07-12 22:41:45 +0800225 default y
226
Bryan Wu1394f032007-05-06 14:50:22 -0700227config BFIN_DUAL_CORE
228 bool
229 depends on (BF561)
230 default y
231
232config BFIN_SINGLE_CORE
233 bool
234 depends on !BFIN_DUAL_CORE
235 default y
236
Bryan Wu1394f032007-05-06 14:50:22 -0700237config MEM_GENERIC_BOARD
238 bool
239 depends on GENERIC_BOARD
240 default y
241
242config MEM_MT48LC64M4A2FB_7E
243 bool
244 depends on (BFIN533_STAMP)
245 default y
246
247config MEM_MT48LC16M16A2TG_75
248 bool
249 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Javier Herreroab472a02007-10-29 16:14:44 +0800250 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
251 || H8606_HVSISTEMAS)
Bryan Wu1394f032007-05-06 14:50:22 -0700252 default y
253
254config MEM_MT48LC32M8A2_75
255 bool
256 depends on (BFIN537_STAMP || PNAV10)
257 default y
258
259config MEM_MT48LC8M32B2B5_7
260 bool
261 depends on (BFIN561_BLUETECHNIX_CM)
262 default y
263
Michael Hennerich59003142007-10-21 16:54:27 +0800264config MEM_MT48LC32M16A2TG_75
265 bool
266 depends on (BFIN527_EZKIT)
267 default y
268
Michael Hennerich59003142007-10-21 16:54:27 +0800269source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700270source "arch/blackfin/mach-bf533/Kconfig"
271source "arch/blackfin/mach-bf561/Kconfig"
272source "arch/blackfin/mach-bf537/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800273source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700274
275menu "Board customizations"
276
277config CMDLINE_BOOL
278 bool "Default bootloader kernel arguments"
279
280config CMDLINE
281 string "Initial kernel command string"
282 depends on CMDLINE_BOOL
283 default "console=ttyBF0,57600"
284 help
285 If you don't have a boot loader capable of passing a command line string
286 to the kernel, you may specify one here. As a minimum, you should specify
287 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
288
Robin Getzf16295e2007-08-03 18:07:17 +0800289comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700290
291config CLKIN_HZ
292 int "Crystal Frequency in Hz"
293 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
298 help
299 The frequency of CLKIN crystal oscillator on the board in Hz.
300
Robin Getzf16295e2007-08-03 18:07:17 +0800301config BFIN_KERNEL_CLOCK
302 bool "Re-program Clocks while Kernel boots?"
303 default n
304 help
305 This option decides if kernel clocks are re-programed from the
306 bootloader settings. If the clocks are not set, the SDRAM settings
307 are also not changed, and the Bootloader does 100% of the hardware
308 configuration.
309
310config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800311 bool "Bypass PLL"
312 depends on BFIN_KERNEL_CLOCK
313 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800314
315config CLKIN_HALF
316 bool "Half Clock In"
317 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
318 default n
319 help
320 If this is set the clock will be divided by 2, before it goes to the PLL.
321
322config VCO_MULT
323 int "VCO Multiplier"
324 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
325 range 1 64
326 default "22" if BFIN533_EZKIT
327 default "45" if BFIN533_STAMP
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800328 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800329 default "22" if BFIN533_BLUETECHNIX_CM
330 default "20" if BFIN537_BLUETECHNIX_CM
331 default "20" if BFIN561_BLUETECHNIX_CM
332 default "20" if BFIN561_EZKIT
Javier Herreroab472a02007-10-29 16:14:44 +0800333 default "16" if H8606_HVSISTEMAS
Robin Getzf16295e2007-08-03 18:07:17 +0800334 help
335 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
336 PLL Frequency = (Crystal Frequency) * (this setting)
337
338choice
339 prompt "Core Clock Divider"
340 depends on BFIN_KERNEL_CLOCK
341 default CCLK_DIV_1
342 help
343 This sets the frequency of the core. It can be 1, 2, 4 or 8
344 Core Frequency = (PLL frequency) / (this setting)
345
346config CCLK_DIV_1
347 bool "1"
348
349config CCLK_DIV_2
350 bool "2"
351
352config CCLK_DIV_4
353 bool "4"
354
355config CCLK_DIV_8
356 bool "8"
357endchoice
358
359config SCLK_DIV
360 int "System Clock Divider"
361 depends on BFIN_KERNEL_CLOCK
362 range 1 15
363 default 5 if BFIN533_EZKIT
364 default 5 if BFIN533_STAMP
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800365 default 4 if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800366 default 5 if BFIN533_BLUETECHNIX_CM
367 default 4 if BFIN537_BLUETECHNIX_CM
368 default 4 if BFIN561_BLUETECHNIX_CM
369 default 5 if BFIN561_EZKIT
Javier Herreroab472a02007-10-29 16:14:44 +0800370 default 3 if H8606_HVSISTEMAS
Robin Getzf16295e2007-08-03 18:07:17 +0800371 help
372 This sets the frequency of the system clock (including SDRAM or DDR).
373 This can be between 1 and 15
374 System Clock = (PLL frequency) / (this setting)
375
376#
377# Max & Min Speeds for various Chips
378#
379config MAX_VCO_HZ
380 int
381 default 600000000 if BF522
Mike Frysinger1545a112007-12-24 16:54:48 +0800382 default 400000000 if BF523
383 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800384 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800385 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800386 default 600000000 if BF527
387 default 400000000 if BF531
388 default 400000000 if BF532
389 default 750000000 if BF533
390 default 500000000 if BF534
391 default 400000000 if BF536
392 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800393 default 533333333 if BF538
394 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800395 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800396 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800397 default 600000000 if BF547
398 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800399 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800400 default 600000000 if BF561
401
402config MIN_VCO_HZ
403 int
404 default 50000000
405
406config MAX_SCLK_HZ
407 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800408 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800409
410config MIN_SCLK_HZ
411 int
412 default 27000000
413
414comment "Kernel Timer/Scheduler"
415
416source kernel/Kconfig.hz
417
418comment "Memory Setup"
419
Bryan Wu1394f032007-05-06 14:50:22 -0700420config MEM_SIZE
421 int "SDRAM Memory Size in MBytes"
422 default 32 if BFIN533_EZKIT
Michael Hennerich59003142007-10-21 16:54:27 +0800423 default 64 if BFIN527_EZKIT
Bryan Wu1394f032007-05-06 14:50:22 -0700424 default 64 if BFIN537_STAMP
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800425 default 64 if BFIN548_EZKIT
Bryan Wu1394f032007-05-06 14:50:22 -0700426 default 64 if BFIN561_EZKIT
427 default 128 if BFIN533_STAMP
428 default 64 if PNAV10
Javier Herreroab472a02007-10-29 16:14:44 +0800429 default 32 if H8606_HVSISTEMAS
Bryan Wu1394f032007-05-06 14:50:22 -0700430
431config MEM_ADD_WIDTH
432 int "SDRAM Memory Address Width"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800433 depends on (!BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700434 default 9 if BFIN533_EZKIT
435 default 9 if BFIN561_EZKIT
Javier Herreroab472a02007-10-29 16:14:44 +0800436 default 9 if H8606_HVSISTEMAS
Michael Hennerich59003142007-10-21 16:54:27 +0800437 default 10 if BFIN527_EZKIT
Bryan Wu1394f032007-05-06 14:50:22 -0700438 default 10 if BFIN537_STAMP
439 default 11 if BFIN533_STAMP
440 default 10 if PNAV10
441
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800442
443choice
444 prompt "DDR SDRAM Chip Type"
445 depends on BFIN548_EZKIT
446 default MEM_MT46V32M16_5B
447
448config MEM_MT46V32M16_6T
449 bool "MT46V32M16_6T"
450
451config MEM_MT46V32M16_5B
452 bool "MT46V32M16_5B"
453endchoice
454
Bryan Wu1394f032007-05-06 14:50:22 -0700455config ENET_FLASH_PIN
456 int "PF port/pin used for flash and ethernet sharing"
457 depends on (BFIN533_STAMP)
458 default 0
459 help
460 PF port/pin used for flash and ethernet sharing to allow other PF
461 pins to be used on other platforms without having to touch common
462 code.
463 For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
464
465config BOOT_LOAD
466 hex "Kernel load address for booting"
467 default "0x1000"
Mike Frysinger2d8f1612007-08-05 14:06:16 +0800468 range 0x1000 0x20000000
Bryan Wu1394f032007-05-06 14:50:22 -0700469 help
470 This option allows you to set the load address of the kernel.
471 This can be useful if you are on a board which has a small amount
472 of memory or you wish to reserve some memory at the beginning of
473 the address space.
474
Mike Frysinger2d8f1612007-08-05 14:06:16 +0800475 Note that you need to keep this value above 4k (0x1000) as this
476 memory region is used to capture NULL pointer references as well
477 as some core kernel functions.
Bryan Wu1394f032007-05-06 14:50:22 -0700478
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800479choice
480 prompt "Blackfin Exception Scratch Register"
481 default BFIN_SCRATCH_REG_RETN
482 help
483 Select the resource to reserve for the Exception handler:
484 - RETN: Non-Maskable Interrupt (NMI)
485 - RETE: Exception Return (JTAG/ICE)
486 - CYCLES: Performance counter
487
488 If you are unsure, please select "RETN".
489
490config BFIN_SCRATCH_REG_RETN
491 bool "RETN"
492 help
493 Use the RETN register in the Blackfin exception handler
494 as a stack scratch register. This means you cannot
495 safely use NMI on the Blackfin while running Linux, but
496 you can debug the system with a JTAG ICE and use the
497 CYCLES performance registers.
498
499 If you are unsure, please select "RETN".
500
501config BFIN_SCRATCH_REG_RETE
502 bool "RETE"
503 help
504 Use the RETE register in the Blackfin exception handler
505 as a stack scratch register. This means you cannot
506 safely use a JTAG ICE while debugging a Blackfin board,
507 but you can safely use the CYCLES performance registers
508 and the NMI.
509
510 If you are unsure, please select "RETN".
511
512config BFIN_SCRATCH_REG_CYCLES
513 bool "CYCLES"
514 help
515 Use the CYCLES register in the Blackfin exception handler
516 as a stack scratch register. This means you cannot
517 safely use the CYCLES performance registers on a Blackfin
518 board at anytime, but you can debug the system with a JTAG
519 ICE and use the NMI.
520
521 If you are unsure, please select "RETN".
522
523endchoice
524
Bryan Wu1394f032007-05-06 14:50:22 -0700525endmenu
526
527
528menu "Blackfin Kernel Optimizations"
529
Bryan Wu1394f032007-05-06 14:50:22 -0700530comment "Memory Optimizations"
531
532config I_ENTRY_L1
533 bool "Locate interrupt entry code in L1 Memory"
534 default y
535 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200536 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
537 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700538
539config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200540 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700541 default y
542 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200543 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800544 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200545 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700546
547config DO_IRQ_L1
548 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
549 default y
550 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200551 If enabled, the frequently called do_irq dispatcher function is linked
552 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700553
554config CORE_TIMER_IRQ_L1
555 bool "Locate frequently called timer_interrupt() function in L1 Memory"
556 default y
557 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200558 If enabled, the frequently called timer_interrupt() function is linked
559 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700560
561config IDLE_L1
562 bool "Locate frequently idle function in L1 Memory"
563 default y
564 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200565 If enabled, the frequently called idle function is linked
566 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700567
568config SCHEDULE_L1
569 bool "Locate kernel schedule function in L1 Memory"
570 default y
571 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200572 If enabled, the frequently called kernel schedule is linked
573 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700574
575config ARITHMETIC_OPS_L1
576 bool "Locate kernel owned arithmetic functions in L1 Memory"
577 default y
578 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200579 If enabled, arithmetic functions are linked
580 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700581
582config ACCESS_OK_L1
583 bool "Locate access_ok function in L1 Memory"
584 default y
585 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200586 If enabled, the access_ok function is linked
587 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700588
589config MEMSET_L1
590 bool "Locate memset function in L1 Memory"
591 default y
592 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200593 If enabled, the memset function is linked
594 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700595
596config MEMCPY_L1
597 bool "Locate memcpy function in L1 Memory"
598 default y
599 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200600 If enabled, the memcpy function is linked
601 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700602
603config SYS_BFIN_SPINLOCK_L1
604 bool "Locate sys_bfin_spinlock function in L1 Memory"
605 default y
606 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200607 If enabled, sys_bfin_spinlock function is linked
608 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700609
610config IP_CHECKSUM_L1
611 bool "Locate IP Checksum function in L1 Memory"
612 default n
613 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200614 If enabled, the IP Checksum function is linked
615 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700616
617config CACHELINE_ALIGNED_L1
618 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800619 default y if !BF54x
620 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700621 depends on !BF531
622 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200623 If enabled, cacheline_anligned data is linked
624 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700625
626config SYSCALL_TAB_L1
627 bool "Locate Syscall Table L1 Data Memory"
628 default n
629 depends on !BF531
630 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200631 If enabled, the Syscall LUT is linked
632 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700633
634config CPLB_SWITCH_TAB_L1
635 bool "Locate CPLB Switch Tables L1 Data Memory"
636 default n
637 depends on !BF531
638 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200639 If enabled, the CPLB Switch Tables are linked
640 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700641
642endmenu
643
644
645choice
646 prompt "Kernel executes from"
647 help
648 Choose the memory type that the kernel will be running in.
649
650config RAMKERNEL
651 bool "RAM"
652 help
653 The kernel will be resident in RAM when running.
654
655config ROMKERNEL
656 bool "ROM"
657 help
658 The kernel will be resident in FLASH/ROM when running.
659
660endchoice
661
662source "mm/Kconfig"
663
Bryan Wudb0fa202007-07-12 14:55:05 +0800664config LARGE_ALLOCS
665 bool "Allow allocating large blocks (> 1MB) of memory"
666 help
667 Allow the slab memory allocator to keep chains for very large
668 memory sizes - upto 32MB. You may need this if your system has
669 a lot of RAM, and you need to able to allocate very large
670 contiguous chunks. If unsure, say N.
671
Mike Frysinger780431e2007-10-21 23:37:54 +0800672config BFIN_GPTIMERS
673 tristate "Enable Blackfin General Purpose Timers API"
674 default n
675 help
676 Enable support for the General Purpose Timers API. If you
677 are unsure, say N.
678
679 To compile this driver as a module, choose M here: the module
680 will be called gptimers.ko.
681
Bryan Wu1394f032007-05-06 14:50:22 -0700682config BFIN_DMA_5XX
683 bool "Enable DMA Support"
Michael Hennerich59003142007-10-21 16:54:27 +0800684 depends on (BF52x || BF53x || BF561 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700685 default y
686 help
687 DMA driver for BF5xx.
688
689choice
690 prompt "Uncached SDRAM region"
691 default DMA_UNCACHED_1M
Adrian Bunk247537b2007-09-26 20:02:52 +0200692 depends on BFIN_DMA_5XX
Bryan Wu1394f032007-05-06 14:50:22 -0700693config DMA_UNCACHED_2M
694 bool "Enable 2M DMA region"
695config DMA_UNCACHED_1M
696 bool "Enable 1M DMA region"
697config DMA_UNCACHED_NONE
698 bool "Disable DMA region"
699endchoice
700
701
702comment "Cache Support"
Robin Getz3bebca22007-10-10 23:55:26 +0800703config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700704 bool "Enable ICACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800705config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700706 bool "Enable DCACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800707config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700708 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800709 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700710 default n
Robin Getz3bebca22007-10-10 23:55:26 +0800711config BFIN_ICACHE_LOCK
712 bool "Enable Instruction Cache Locking"
Bryan Wu1394f032007-05-06 14:50:22 -0700713
714choice
715 prompt "Policy"
Robin Getz3bebca22007-10-10 23:55:26 +0800716 depends on BFIN_DCACHE
717 default BFIN_WB
718config BFIN_WB
Bryan Wu1394f032007-05-06 14:50:22 -0700719 bool "Write back"
720 help
721 Write Back Policy:
722 Cached data will be written back to SDRAM only when needed.
723 This can give a nice increase in performance, but beware of
724 broken drivers that do not properly invalidate/flush their
725 cache.
726
727 Write Through Policy:
728 Cached data will always be written back to SDRAM when the
729 cache is updated. This is a completely safe setting, but
730 performance is worse than Write Back.
731
732 If you are unsure of the options and you want to be safe,
733 then go with Write Through.
734
Robin Getz3bebca22007-10-10 23:55:26 +0800735config BFIN_WT
Bryan Wu1394f032007-05-06 14:50:22 -0700736 bool "Write through"
737 help
738 Write Back Policy:
739 Cached data will be written back to SDRAM only when needed.
740 This can give a nice increase in performance, but beware of
741 broken drivers that do not properly invalidate/flush their
742 cache.
743
744 Write Through Policy:
745 Cached data will always be written back to SDRAM when the
746 cache is updated. This is a completely safe setting, but
747 performance is worse than Write Back.
748
749 If you are unsure of the options and you want to be safe,
750 then go with Write Through.
751
752endchoice
753
754config L1_MAX_PIECE
755 int "Set the max L1 SRAM pieces"
756 default 16
757 help
758 Set the max memory pieces for the L1 SRAM allocation algorithm.
759 Min value is 16. Max value is 1024.
760
Bernd Schmidtb97b8a92008-01-27 18:39:16 +0800761
762config MPU
763 bool "Enable the memory protection unit (EXPERIMENTAL)"
764 default n
765 help
766 Use the processor's MPU to protect applications from accessing
767 memory they do not own. This comes at a performance penalty
768 and is recommended only for debugging.
769
Bryan Wu1394f032007-05-06 14:50:22 -0700770comment "Asynchonous Memory Configuration"
771
Mike Frysingerddf416b2007-10-10 18:06:47 +0800772menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -0700773config C_AMCKEN
774 bool "Enable CLKOUT"
775 default y
776
777config C_CDPRIO
778 bool "DMA has priority over core for ext. accesses"
779 default n
780
781config C_B0PEN
782 depends on BF561
783 bool "Bank 0 16 bit packing enable"
784 default y
785
786config C_B1PEN
787 depends on BF561
788 bool "Bank 1 16 bit packing enable"
789 default y
790
791config C_B2PEN
792 depends on BF561
793 bool "Bank 2 16 bit packing enable"
794 default y
795
796config C_B3PEN
797 depends on BF561
798 bool "Bank 3 16 bit packing enable"
799 default n
800
801choice
802 prompt"Enable Asynchonous Memory Banks"
803 default C_AMBEN_ALL
804
805config C_AMBEN
806 bool "Disable All Banks"
807
808config C_AMBEN_B0
809 bool "Enable Bank 0"
810
811config C_AMBEN_B0_B1
812 bool "Enable Bank 0 & 1"
813
814config C_AMBEN_B0_B1_B2
815 bool "Enable Bank 0 & 1 & 2"
816
817config C_AMBEN_ALL
818 bool "Enable All Banks"
819endchoice
820endmenu
821
822menu "EBIU_AMBCTL Control"
823config BANK_0
824 hex "Bank 0"
825 default 0x7BB0
826
827config BANK_1
828 hex "Bank 1"
829 default 0x7BB0
830
831config BANK_2
832 hex "Bank 2"
833 default 0x7BB0
834
835config BANK_3
836 hex "Bank 3"
837 default 0x99B3
838endmenu
839
Sonic Zhange40540b2007-11-21 23:49:52 +0800840config EBIU_MBSCTLVAL
841 hex "EBIU Bank Select Control Register"
842 depends on BF54x
843 default 0
844
845config EBIU_MODEVAL
846 hex "Flash Memory Mode Control Register"
847 depends on BF54x
848 default 1
849
850config EBIU_FCTLVAL
851 hex "Flash Memory Bank Control Register"
852 depends on BF54x
853 default 6
Bryan Wu1394f032007-05-06 14:50:22 -0700854endmenu
855
856#############################################################################
857menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
858
859config PCI
860 bool "PCI support"
861 help
862 Support for PCI bus.
863
864source "drivers/pci/Kconfig"
865
866config HOTPLUG
867 bool "Support for hot-pluggable device"
868 help
869 Say Y here if you want to plug devices into your computer while
870 the system is running, and be able to use them quickly. In many
871 cases, the devices can likewise be unplugged at any time too.
872
873 One well known example of this is PCMCIA- or PC-cards, credit-card
874 size devices such as network cards, modems or hard drives which are
875 plugged into slots found on all modern laptop computers. Another
876 example, used on modern desktops as well as laptops, is USB.
877
878 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
879 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
880 Then your kernel will automatically call out to a user mode "policy
881 agent" (/sbin/hotplug) to load modules and set up software needed
882 to use devices as you hotplug them.
883
884source "drivers/pcmcia/Kconfig"
885
886source "drivers/pci/hotplug/Kconfig"
887
888endmenu
889
890menu "Executable file formats"
891
892source "fs/Kconfig.binfmt"
893
894endmenu
895
896menu "Power management options"
897source "kernel/power/Kconfig"
898
Johannes Bergf4cb5702007-12-08 02:14:00 +0100899config ARCH_SUSPEND_POSSIBLE
900 def_bool y
901 depends on !SMP
902
Bryan Wu1394f032007-05-06 14:50:22 -0700903choice
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800904 prompt "Default Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -0700905 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800906 default PM_BFIN_SLEEP_DEEPER
907config PM_BFIN_SLEEP_DEEPER
908 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -0700909 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800910 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
911 power dissipation by disabling the clock to the processor core (CCLK).
912 Furthermore, Standby sets the internal power supply voltage (VDDINT)
913 to 0.85 V to provide the greatest power savings, while preserving the
914 processor state.
915 The PLL and system clock (SCLK) continue to operate at a very low
916 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
917 the SDRAM is put into Self Refresh Mode. Typically an external event
918 such as GPIO interrupt or RTC activity wakes up the processor.
919 Various Peripherals such as UART, SPORT, PPI may not function as
920 normal during Sleep Deeper, due to the reduced SCLK frequency.
921 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -0700922
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800923config PM_BFIN_SLEEP
924 bool "Sleep"
925 help
926 Sleep Mode (High Power Savings) - The sleep mode reduces power
927 dissipation by disabling the clock to the processor core (CCLK).
928 The PLL and system clock (SCLK), however, continue to operate in
929 this mode. Typically an external event or RTC activity will wake
930 up the processor. When in the sleep mode,
931 system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -0700932endchoice
933
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800934config PM_WAKEUP_BY_GPIO
935 bool "Cause Wakeup Event by GPIO"
Bryan Wu1394f032007-05-06 14:50:22 -0700936
937config PM_WAKEUP_GPIO_NUMBER
938 int "Wakeup GPIO number"
939 range 0 47
940 depends on PM_WAKEUP_BY_GPIO
941 default 2 if BFIN537_STAMP
942
943choice
944 prompt "GPIO Polarity"
945 depends on PM_WAKEUP_BY_GPIO
946 default PM_WAKEUP_GPIO_POLAR_H
947config PM_WAKEUP_GPIO_POLAR_H
948 bool "Active High"
949config PM_WAKEUP_GPIO_POLAR_L
950 bool "Active Low"
951config PM_WAKEUP_GPIO_POLAR_EDGE_F
952 bool "Falling EDGE"
953config PM_WAKEUP_GPIO_POLAR_EDGE_R
954 bool "Rising EDGE"
955config PM_WAKEUP_GPIO_POLAR_EDGE_B
956 bool "Both EDGE"
957endchoice
958
959endmenu
960
Roy Huang24a07a12007-07-12 22:41:45 +0800961if (BF537 || BF533 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700962
963menu "CPU Frequency scaling"
964
965source "drivers/cpufreq/Kconfig"
966
967config CPU_FREQ
968 bool
969 default n
970 help
971 If you want to enable this option, you should select the
972 DPMC driver from Character Devices.
973endmenu
974
975endif
976
977source "net/Kconfig"
978
979source "drivers/Kconfig"
980
981source "fs/Kconfig"
982
Mike Frysinger74ce8322007-11-21 23:50:49 +0800983source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -0700984
985source "security/Kconfig"
986
987source "crypto/Kconfig"
988
989source "lib/Kconfig"