blob: 7b03f9241d660e0b4bdd875c42b6f908603108f7 [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
27
Aubrey Lie3defff2007-05-21 18:09:11 +080028config ZONE_DMA
29 bool
30 default y
31
Bryan Wu1394f032007-05-06 14:50:22 -070032config SEMAPHORE_SLEEPERS
33 bool
34 default y
35
36config GENERIC_FIND_NEXT_BIT
37 bool
38 default y
39
40config GENERIC_HWEIGHT
41 bool
42 default y
43
44config GENERIC_HARDIRQS
45 bool
46 default y
47
48config GENERIC_IRQ_PROBE
Mike Frysingere4e9a7a2007-11-15 20:39:34 +080049 bool
Bryan Wu1394f032007-05-06 14:50:22 -070050 default y
51
52config GENERIC_TIME
53 bool
54 default n
55
Michael Hennerichb2d15832007-07-24 15:46:36 +080056config GENERIC_GPIO
Bryan Wu1394f032007-05-06 14:50:22 -070057 bool
58 default y
59
60config FORCE_MAX_ZONEORDER
61 int
62 default "14"
63
64config GENERIC_CALIBRATE_DELAY
65 bool
66 default y
67
68config IRQCHIP_DEMUX_GPIO
69 bool
Michael Hennerich59003142007-10-21 16:54:27 +080070 depends on (BF52x || BF53x || BF561 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -070071 default y
72
73source "init/Kconfig"
74source "kernel/Kconfig.preempt"
75
76menu "Blackfin Processor Options"
77
78comment "Processor and Board Settings"
79
80choice
81 prompt "CPU"
82 default BF533
83
Michael Hennerich59003142007-10-21 16:54:27 +080084config BF522
85 bool "BF522"
86 help
87 BF522 Processor Support.
88
89config BF525
90 bool "BF525"
91 help
92 BF525 Processor Support.
93
94config BF527
95 bool "BF527"
96 help
97 BF527 Processor Support.
98
Bryan Wu1394f032007-05-06 14:50:22 -070099config BF531
100 bool "BF531"
101 help
102 BF531 Processor Support.
103
104config BF532
105 bool "BF532"
106 help
107 BF532 Processor Support.
108
109config BF533
110 bool "BF533"
111 help
112 BF533 Processor Support.
113
114config BF534
115 bool "BF534"
116 help
117 BF534 Processor Support.
118
119config BF536
120 bool "BF536"
121 help
122 BF536 Processor Support.
123
124config BF537
125 bool "BF537"
126 help
127 BF537 Processor Support.
128
Roy Huang24a07a12007-07-12 22:41:45 +0800129config BF542
130 bool "BF542"
131 help
132 BF542 Processor Support.
133
134config BF544
135 bool "BF544"
136 help
137 BF544 Processor Support.
138
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800139config BF547
140 bool "BF547"
141 help
142 BF547 Processor Support.
143
Roy Huang24a07a12007-07-12 22:41:45 +0800144config BF548
145 bool "BF548"
146 help
147 BF548 Processor Support.
148
149config BF549
150 bool "BF549"
151 help
152 BF549 Processor Support.
153
Bryan Wu1394f032007-05-06 14:50:22 -0700154config BF561
155 bool "BF561"
156 help
157 Not Supported Yet - Work in progress - BF561 Processor Support.
158
159endchoice
160
161choice
162 prompt "Silicon Rev"
Michael Hennerich59003142007-10-21 16:54:27 +0800163 default BF_REV_0_1 if BF527
Bryan Wu1394f032007-05-06 14:50:22 -0700164 default BF_REV_0_2 if BF537
165 default BF_REV_0_3 if BF533
Roy Huang24a07a12007-07-12 22:41:45 +0800166 default BF_REV_0_0 if BF549
167
168config BF_REV_0_0
169 bool "0.0"
Mike Frysingerd07f4382007-11-15 15:49:17 +0800170 depends on (BF52x || BF54x)
Michael Hennerich59003142007-10-21 16:54:27 +0800171
172config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800173 bool "0.1"
174 depends on (BF52x || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700175
176config BF_REV_0_2
177 bool "0.2"
178 depends on (BF537 || BF536 || BF534)
179
180config BF_REV_0_3
181 bool "0.3"
182 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
183
184config BF_REV_0_4
185 bool "0.4"
186 depends on (BF561 || BF533 || BF532 || BF531)
187
188config BF_REV_0_5
189 bool "0.5"
190 depends on (BF561 || BF533 || BF532 || BF531)
191
Jie Zhangde3025f2007-06-25 18:04:12 +0800192config BF_REV_ANY
193 bool "any"
194
195config BF_REV_NONE
196 bool "none"
197
Bryan Wu1394f032007-05-06 14:50:22 -0700198endchoice
199
Michael Hennerich59003142007-10-21 16:54:27 +0800200config BF52x
201 bool
202 depends on (BF522 || BF525 || BF527)
203 default y
204
Roy Huang24a07a12007-07-12 22:41:45 +0800205config BF53x
206 bool
207 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
208 default y
209
210config BF54x
211 bool
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800212 depends on (BF542 || BF544 || BF547 || BF548 || BF549)
Roy Huang24a07a12007-07-12 22:41:45 +0800213 default y
214
Bryan Wu1394f032007-05-06 14:50:22 -0700215config BFIN_DUAL_CORE
216 bool
217 depends on (BF561)
218 default y
219
220config BFIN_SINGLE_CORE
221 bool
222 depends on !BFIN_DUAL_CORE
223 default y
224
Bryan Wu1394f032007-05-06 14:50:22 -0700225config MEM_GENERIC_BOARD
226 bool
227 depends on GENERIC_BOARD
228 default y
229
230config MEM_MT48LC64M4A2FB_7E
231 bool
232 depends on (BFIN533_STAMP)
233 default y
234
235config MEM_MT48LC16M16A2TG_75
236 bool
237 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Javier Herreroab472a02007-10-29 16:14:44 +0800238 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
239 || H8606_HVSISTEMAS)
Bryan Wu1394f032007-05-06 14:50:22 -0700240 default y
241
242config MEM_MT48LC32M8A2_75
243 bool
244 depends on (BFIN537_STAMP || PNAV10)
245 default y
246
247config MEM_MT48LC8M32B2B5_7
248 bool
249 depends on (BFIN561_BLUETECHNIX_CM)
250 default y
251
Michael Hennerich59003142007-10-21 16:54:27 +0800252config MEM_MT48LC32M16A2TG_75
253 bool
254 depends on (BFIN527_EZKIT)
255 default y
256
Bryan Wu1394f032007-05-06 14:50:22 -0700257config BFIN_SHARED_FLASH_ENET
258 bool
259 depends on (BFIN533_STAMP)
260 default y
261
Michael Hennerich59003142007-10-21 16:54:27 +0800262source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700263source "arch/blackfin/mach-bf533/Kconfig"
264source "arch/blackfin/mach-bf561/Kconfig"
265source "arch/blackfin/mach-bf537/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800266source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700267
268menu "Board customizations"
269
270config CMDLINE_BOOL
271 bool "Default bootloader kernel arguments"
272
273config CMDLINE
274 string "Initial kernel command string"
275 depends on CMDLINE_BOOL
276 default "console=ttyBF0,57600"
277 help
278 If you don't have a boot loader capable of passing a command line string
279 to the kernel, you may specify one here. As a minimum, you should specify
280 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
281
Robin Getzf16295e2007-08-03 18:07:17 +0800282comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700283
284config CLKIN_HZ
285 int "Crystal Frequency in Hz"
286 default "11059200" if BFIN533_STAMP
287 default "27000000" if BFIN533_EZKIT
Javier Herreroab472a02007-10-29 16:14:44 +0800288 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS)
Bryan Wu1394f032007-05-06 14:50:22 -0700289 default "30000000" if BFIN561_EZKIT
290 default "24576000" if PNAV10
291 help
292 The frequency of CLKIN crystal oscillator on the board in Hz.
293
Robin Getzf16295e2007-08-03 18:07:17 +0800294config BFIN_KERNEL_CLOCK
295 bool "Re-program Clocks while Kernel boots?"
296 default n
297 help
298 This option decides if kernel clocks are re-programed from the
299 bootloader settings. If the clocks are not set, the SDRAM settings
300 are also not changed, and the Bootloader does 100% of the hardware
301 configuration.
302
303config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800304 bool "Bypass PLL"
305 depends on BFIN_KERNEL_CLOCK
306 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800307
308config CLKIN_HALF
309 bool "Half Clock In"
310 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
311 default n
312 help
313 If this is set the clock will be divided by 2, before it goes to the PLL.
314
315config VCO_MULT
316 int "VCO Multiplier"
317 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
318 range 1 64
319 default "22" if BFIN533_EZKIT
320 default "45" if BFIN533_STAMP
Michael Hennerich59003142007-10-21 16:54:27 +0800321 default "20" if (BFIN537_STAMP || BFIN527_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800322 default "22" if BFIN533_BLUETECHNIX_CM
323 default "20" if BFIN537_BLUETECHNIX_CM
324 default "20" if BFIN561_BLUETECHNIX_CM
325 default "20" if BFIN561_EZKIT
Javier Herreroab472a02007-10-29 16:14:44 +0800326 default "16" if H8606_HVSISTEMAS
Robin Getzf16295e2007-08-03 18:07:17 +0800327 help
328 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
329 PLL Frequency = (Crystal Frequency) * (this setting)
330
331choice
332 prompt "Core Clock Divider"
333 depends on BFIN_KERNEL_CLOCK
334 default CCLK_DIV_1
335 help
336 This sets the frequency of the core. It can be 1, 2, 4 or 8
337 Core Frequency = (PLL frequency) / (this setting)
338
339config CCLK_DIV_1
340 bool "1"
341
342config CCLK_DIV_2
343 bool "2"
344
345config CCLK_DIV_4
346 bool "4"
347
348config CCLK_DIV_8
349 bool "8"
350endchoice
351
352config SCLK_DIV
353 int "System Clock Divider"
354 depends on BFIN_KERNEL_CLOCK
355 range 1 15
356 default 5 if BFIN533_EZKIT
357 default 5 if BFIN533_STAMP
Michael Hennerich59003142007-10-21 16:54:27 +0800358 default 4 if (BFIN537_STAMP || BFIN527_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800359 default 5 if BFIN533_BLUETECHNIX_CM
360 default 4 if BFIN537_BLUETECHNIX_CM
361 default 4 if BFIN561_BLUETECHNIX_CM
362 default 5 if BFIN561_EZKIT
Javier Herreroab472a02007-10-29 16:14:44 +0800363 default 3 if H8606_HVSISTEMAS
Robin Getzf16295e2007-08-03 18:07:17 +0800364 help
365 This sets the frequency of the system clock (including SDRAM or DDR).
366 This can be between 1 and 15
367 System Clock = (PLL frequency) / (this setting)
368
369#
370# Max & Min Speeds for various Chips
371#
372config MAX_VCO_HZ
373 int
374 default 600000000 if BF522
375 default 600000000 if BF525
376 default 600000000 if BF527
377 default 400000000 if BF531
378 default 400000000 if BF532
379 default 750000000 if BF533
380 default 500000000 if BF534
381 default 400000000 if BF536
382 default 600000000 if BF537
383 default 533000000 if BF538
384 default 533000000 if BF539
385 default 600000000 if BF542
386 default 533000000 if BF544
387 default 533000000 if BF549
388 default 600000000 if BF561
389
390config MIN_VCO_HZ
391 int
392 default 50000000
393
394config MAX_SCLK_HZ
395 int
396 default 133000000
397
398config MIN_SCLK_HZ
399 int
400 default 27000000
401
402comment "Kernel Timer/Scheduler"
403
404source kernel/Kconfig.hz
405
406comment "Memory Setup"
407
Bryan Wu1394f032007-05-06 14:50:22 -0700408config MEM_SIZE
409 int "SDRAM Memory Size in MBytes"
410 default 32 if BFIN533_EZKIT
Michael Hennerich59003142007-10-21 16:54:27 +0800411 default 64 if BFIN527_EZKIT
Bryan Wu1394f032007-05-06 14:50:22 -0700412 default 64 if BFIN537_STAMP
413 default 64 if BFIN561_EZKIT
414 default 128 if BFIN533_STAMP
415 default 64 if PNAV10
Javier Herreroab472a02007-10-29 16:14:44 +0800416 default 32 if H8606_HVSISTEMAS
Bryan Wu1394f032007-05-06 14:50:22 -0700417
418config MEM_ADD_WIDTH
419 int "SDRAM Memory Address Width"
420 default 9 if BFIN533_EZKIT
421 default 9 if BFIN561_EZKIT
Javier Herreroab472a02007-10-29 16:14:44 +0800422 default 9 if H8606_HVSISTEMAS
Michael Hennerich59003142007-10-21 16:54:27 +0800423 default 10 if BFIN527_EZKIT
Bryan Wu1394f032007-05-06 14:50:22 -0700424 default 10 if BFIN537_STAMP
425 default 11 if BFIN533_STAMP
426 default 10 if PNAV10
427
428config ENET_FLASH_PIN
429 int "PF port/pin used for flash and ethernet sharing"
430 depends on (BFIN533_STAMP)
431 default 0
432 help
433 PF port/pin used for flash and ethernet sharing to allow other PF
434 pins to be used on other platforms without having to touch common
435 code.
436 For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
437
438config BOOT_LOAD
439 hex "Kernel load address for booting"
440 default "0x1000"
Mike Frysinger2d8f1612007-08-05 14:06:16 +0800441 range 0x1000 0x20000000
Bryan Wu1394f032007-05-06 14:50:22 -0700442 help
443 This option allows you to set the load address of the kernel.
444 This can be useful if you are on a board which has a small amount
445 of memory or you wish to reserve some memory at the beginning of
446 the address space.
447
Mike Frysinger2d8f1612007-08-05 14:06:16 +0800448 Note that you need to keep this value above 4k (0x1000) as this
449 memory region is used to capture NULL pointer references as well
450 as some core kernel functions.
Bryan Wu1394f032007-05-06 14:50:22 -0700451
452comment "LED Status Indicators"
453 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
454
455config BFIN_ALIVE_LED
456 bool "Enable Board Alive"
457 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
458 default n
459 help
460 Blink the LEDs you select when the kernel is running. Helps detect
461 a hung kernel.
462
463config BFIN_ALIVE_LED_NUM
464 int "LED"
465 depends on BFIN_ALIVE_LED
466 range 1 3 if BFIN533_STAMP
467 default "3" if BFIN533_STAMP
468 help
469 Select the LED (marked on the board) for you to blink.
470
471config BFIN_IDLE_LED
472 bool "Enable System Load/Idle LED"
473 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
474 default n
475 help
476 Blinks the LED you select when to determine kernel load.
477
478config BFIN_IDLE_LED_NUM
479 int "LED"
480 depends on BFIN_IDLE_LED
481 range 1 3 if BFIN533_STAMP
482 default "2" if BFIN533_STAMP
483 help
484 Select the LED (marked on the board) for you to blink.
485
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800486choice
487 prompt "Blackfin Exception Scratch Register"
488 default BFIN_SCRATCH_REG_RETN
489 help
490 Select the resource to reserve for the Exception handler:
491 - RETN: Non-Maskable Interrupt (NMI)
492 - RETE: Exception Return (JTAG/ICE)
493 - CYCLES: Performance counter
494
495 If you are unsure, please select "RETN".
496
497config BFIN_SCRATCH_REG_RETN
498 bool "RETN"
499 help
500 Use the RETN register in the Blackfin exception handler
501 as a stack scratch register. This means you cannot
502 safely use NMI on the Blackfin while running Linux, but
503 you can debug the system with a JTAG ICE and use the
504 CYCLES performance registers.
505
506 If you are unsure, please select "RETN".
507
508config BFIN_SCRATCH_REG_RETE
509 bool "RETE"
510 help
511 Use the RETE register in the Blackfin exception handler
512 as a stack scratch register. This means you cannot
513 safely use a JTAG ICE while debugging a Blackfin board,
514 but you can safely use the CYCLES performance registers
515 and the NMI.
516
517 If you are unsure, please select "RETN".
518
519config BFIN_SCRATCH_REG_CYCLES
520 bool "CYCLES"
521 help
522 Use the CYCLES register in the Blackfin exception handler
523 as a stack scratch register. This means you cannot
524 safely use the CYCLES performance registers on a Blackfin
525 board at anytime, but you can debug the system with a JTAG
526 ICE and use the NMI.
527
528 If you are unsure, please select "RETN".
529
530endchoice
531
Bryan Wu1394f032007-05-06 14:50:22 -0700532#
533# Sorry - but you need to put the hex address here -
534#
535
536# Flag Data register
537config BFIN_ALIVE_LED_PORT
538 hex
539 default 0xFFC00700 if (BFIN533_STAMP)
540
541# Peripheral Flag Direction Register
542config BFIN_ALIVE_LED_DPORT
543 hex
544 default 0xFFC00730 if (BFIN533_STAMP)
545
546config BFIN_ALIVE_LED_PIN
547 hex
548 default 0x04 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 1)
549 default 0x08 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 2)
550 default 0x10 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 3)
551
552config BFIN_IDLE_LED_PORT
553 hex
554 default 0xFFC00700 if (BFIN533_STAMP)
555
556# Peripheral Flag Direction Register
557config BFIN_IDLE_LED_DPORT
558 hex
559 default 0xFFC00730 if (BFIN533_STAMP)
560
561config BFIN_IDLE_LED_PIN
562 hex
563 default 0x04 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 1)
564 default 0x08 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 2)
565 default 0x10 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 3)
566
Bryan Wu1394f032007-05-06 14:50:22 -0700567endmenu
568
569
570menu "Blackfin Kernel Optimizations"
571
Bryan Wu1394f032007-05-06 14:50:22 -0700572comment "Memory Optimizations"
573
574config I_ENTRY_L1
575 bool "Locate interrupt entry code in L1 Memory"
576 default y
577 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200578 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
579 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700580
581config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200582 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700583 default y
584 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200585 If enabled, the entire ASM lowlevel exception and interrupt entry code
586 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
587 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700588
589config DO_IRQ_L1
590 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
591 default y
592 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200593 If enabled, the frequently called do_irq dispatcher function is linked
594 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700595
596config CORE_TIMER_IRQ_L1
597 bool "Locate frequently called timer_interrupt() function in L1 Memory"
598 default y
599 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200600 If enabled, the frequently called timer_interrupt() function is linked
601 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700602
603config IDLE_L1
604 bool "Locate frequently idle function in L1 Memory"
605 default y
606 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200607 If enabled, the frequently called idle function is linked
608 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700609
610config SCHEDULE_L1
611 bool "Locate kernel schedule function in L1 Memory"
612 default y
613 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200614 If enabled, the frequently called kernel schedule is linked
615 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700616
617config ARITHMETIC_OPS_L1
618 bool "Locate kernel owned arithmetic functions in L1 Memory"
619 default y
620 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200621 If enabled, arithmetic functions are linked
622 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700623
624config ACCESS_OK_L1
625 bool "Locate access_ok function in L1 Memory"
626 default y
627 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200628 If enabled, the access_ok function is linked
629 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700630
631config MEMSET_L1
632 bool "Locate memset function in L1 Memory"
633 default y
634 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200635 If enabled, the memset function is linked
636 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700637
638config MEMCPY_L1
639 bool "Locate memcpy function in L1 Memory"
640 default y
641 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200642 If enabled, the memcpy function is linked
643 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700644
645config SYS_BFIN_SPINLOCK_L1
646 bool "Locate sys_bfin_spinlock function in L1 Memory"
647 default y
648 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200649 If enabled, sys_bfin_spinlock function is linked
650 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700651
652config IP_CHECKSUM_L1
653 bool "Locate IP Checksum function in L1 Memory"
654 default n
655 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200656 If enabled, the IP Checksum function is linked
657 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700658
659config CACHELINE_ALIGNED_L1
660 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800661 default y if !BF54x
662 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700663 depends on !BF531
664 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200665 If enabled, cacheline_anligned data is linked
666 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700667
668config SYSCALL_TAB_L1
669 bool "Locate Syscall Table L1 Data Memory"
670 default n
671 depends on !BF531
672 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200673 If enabled, the Syscall LUT is linked
674 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700675
676config CPLB_SWITCH_TAB_L1
677 bool "Locate CPLB Switch Tables L1 Data Memory"
678 default n
679 depends on !BF531
680 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200681 If enabled, the CPLB Switch Tables are linked
682 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700683
684endmenu
685
686
687choice
688 prompt "Kernel executes from"
689 help
690 Choose the memory type that the kernel will be running in.
691
692config RAMKERNEL
693 bool "RAM"
694 help
695 The kernel will be resident in RAM when running.
696
697config ROMKERNEL
698 bool "ROM"
699 help
700 The kernel will be resident in FLASH/ROM when running.
701
702endchoice
703
704source "mm/Kconfig"
705
Bryan Wudb0fa202007-07-12 14:55:05 +0800706config LARGE_ALLOCS
707 bool "Allow allocating large blocks (> 1MB) of memory"
708 help
709 Allow the slab memory allocator to keep chains for very large
710 memory sizes - upto 32MB. You may need this if your system has
711 a lot of RAM, and you need to able to allocate very large
712 contiguous chunks. If unsure, say N.
713
Mike Frysinger780431e2007-10-21 23:37:54 +0800714config BFIN_GPTIMERS
715 tristate "Enable Blackfin General Purpose Timers API"
716 default n
717 help
718 Enable support for the General Purpose Timers API. If you
719 are unsure, say N.
720
721 To compile this driver as a module, choose M here: the module
722 will be called gptimers.ko.
723
Bryan Wu1394f032007-05-06 14:50:22 -0700724config BFIN_DMA_5XX
725 bool "Enable DMA Support"
Michael Hennerich59003142007-10-21 16:54:27 +0800726 depends on (BF52x || BF53x || BF561 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700727 default y
728 help
729 DMA driver for BF5xx.
730
731choice
732 prompt "Uncached SDRAM region"
733 default DMA_UNCACHED_1M
Adrian Bunk247537b2007-09-26 20:02:52 +0200734 depends on BFIN_DMA_5XX
Bryan Wu1394f032007-05-06 14:50:22 -0700735config DMA_UNCACHED_2M
736 bool "Enable 2M DMA region"
737config DMA_UNCACHED_1M
738 bool "Enable 1M DMA region"
739config DMA_UNCACHED_NONE
740 bool "Disable DMA region"
741endchoice
742
743
744comment "Cache Support"
Robin Getz3bebca22007-10-10 23:55:26 +0800745config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700746 bool "Enable ICACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800747config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700748 bool "Enable DCACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800749config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700750 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800751 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700752 default n
Robin Getz3bebca22007-10-10 23:55:26 +0800753config BFIN_ICACHE_LOCK
754 bool "Enable Instruction Cache Locking"
Bryan Wu1394f032007-05-06 14:50:22 -0700755
756choice
757 prompt "Policy"
Robin Getz3bebca22007-10-10 23:55:26 +0800758 depends on BFIN_DCACHE
759 default BFIN_WB
760config BFIN_WB
Bryan Wu1394f032007-05-06 14:50:22 -0700761 bool "Write back"
762 help
763 Write Back Policy:
764 Cached data will be written back to SDRAM only when needed.
765 This can give a nice increase in performance, but beware of
766 broken drivers that do not properly invalidate/flush their
767 cache.
768
769 Write Through Policy:
770 Cached data will always be written back to SDRAM when the
771 cache is updated. This is a completely safe setting, but
772 performance is worse than Write Back.
773
774 If you are unsure of the options and you want to be safe,
775 then go with Write Through.
776
Robin Getz3bebca22007-10-10 23:55:26 +0800777config BFIN_WT
Bryan Wu1394f032007-05-06 14:50:22 -0700778 bool "Write through"
779 help
780 Write Back Policy:
781 Cached data will be written back to SDRAM only when needed.
782 This can give a nice increase in performance, but beware of
783 broken drivers that do not properly invalidate/flush their
784 cache.
785
786 Write Through Policy:
787 Cached data will always be written back to SDRAM when the
788 cache is updated. This is a completely safe setting, but
789 performance is worse than Write Back.
790
791 If you are unsure of the options and you want to be safe,
792 then go with Write Through.
793
794endchoice
795
796config L1_MAX_PIECE
797 int "Set the max L1 SRAM pieces"
798 default 16
799 help
800 Set the max memory pieces for the L1 SRAM allocation algorithm.
801 Min value is 16. Max value is 1024.
802
Bryan Wu1394f032007-05-06 14:50:22 -0700803comment "Asynchonous Memory Configuration"
804
Mike Frysingerddf416b2007-10-10 18:06:47 +0800805menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -0700806config C_AMCKEN
807 bool "Enable CLKOUT"
808 default y
809
810config C_CDPRIO
811 bool "DMA has priority over core for ext. accesses"
Michael Hennerich9be343c2007-07-12 11:58:44 +0800812 depends on !BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700813 default n
814
815config C_B0PEN
816 depends on BF561
817 bool "Bank 0 16 bit packing enable"
818 default y
819
820config C_B1PEN
821 depends on BF561
822 bool "Bank 1 16 bit packing enable"
823 default y
824
825config C_B2PEN
826 depends on BF561
827 bool "Bank 2 16 bit packing enable"
828 default y
829
830config C_B3PEN
831 depends on BF561
832 bool "Bank 3 16 bit packing enable"
833 default n
834
835choice
836 prompt"Enable Asynchonous Memory Banks"
837 default C_AMBEN_ALL
838
839config C_AMBEN
840 bool "Disable All Banks"
841
842config C_AMBEN_B0
843 bool "Enable Bank 0"
844
845config C_AMBEN_B0_B1
846 bool "Enable Bank 0 & 1"
847
848config C_AMBEN_B0_B1_B2
849 bool "Enable Bank 0 & 1 & 2"
850
851config C_AMBEN_ALL
852 bool "Enable All Banks"
853endchoice
854endmenu
855
856menu "EBIU_AMBCTL Control"
857config BANK_0
858 hex "Bank 0"
859 default 0x7BB0
860
861config BANK_1
862 hex "Bank 1"
863 default 0x7BB0
864
865config BANK_2
866 hex "Bank 2"
867 default 0x7BB0
868
869config BANK_3
870 hex "Bank 3"
871 default 0x99B3
872endmenu
873
874endmenu
875
876#############################################################################
877menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
878
879config PCI
880 bool "PCI support"
881 help
882 Support for PCI bus.
883
884source "drivers/pci/Kconfig"
885
886config HOTPLUG
887 bool "Support for hot-pluggable device"
888 help
889 Say Y here if you want to plug devices into your computer while
890 the system is running, and be able to use them quickly. In many
891 cases, the devices can likewise be unplugged at any time too.
892
893 One well known example of this is PCMCIA- or PC-cards, credit-card
894 size devices such as network cards, modems or hard drives which are
895 plugged into slots found on all modern laptop computers. Another
896 example, used on modern desktops as well as laptops, is USB.
897
898 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
899 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
900 Then your kernel will automatically call out to a user mode "policy
901 agent" (/sbin/hotplug) to load modules and set up software needed
902 to use devices as you hotplug them.
903
904source "drivers/pcmcia/Kconfig"
905
906source "drivers/pci/hotplug/Kconfig"
907
908endmenu
909
910menu "Executable file formats"
911
912source "fs/Kconfig.binfmt"
913
914endmenu
915
916menu "Power management options"
917source "kernel/power/Kconfig"
918
919choice
920 prompt "Select PM Wakeup Event Source"
921 default PM_WAKEUP_GPIO_BY_SIC_IWR
922 depends on PM
923 help
924 If you have a GPIO already configured as input with the corresponding PORTx_MASK
925 bit set - "Specify Wakeup Event by SIC_IWR value"
926
927config PM_WAKEUP_GPIO_BY_SIC_IWR
928 bool "Specify Wakeup Event by SIC_IWR value"
929config PM_WAKEUP_BY_GPIO
930 bool "Cause Wakeup Event by GPIO"
931config PM_WAKEUP_GPIO_API
932 bool "Configure Wakeup Event by PM GPIO API"
933
934endchoice
935
936config PM_WAKEUP_SIC_IWR
937 hex "Wakeup Events (SIC_IWR)"
938 depends on PM_WAKEUP_GPIO_BY_SIC_IWR
939 default 0x80000000 if (BF537 || BF536 || BF534)
940 default 0x100000 if (BF533 || BF532 || BF531)
941
942config PM_WAKEUP_GPIO_NUMBER
943 int "Wakeup GPIO number"
944 range 0 47
945 depends on PM_WAKEUP_BY_GPIO
946 default 2 if BFIN537_STAMP
947
948choice
949 prompt "GPIO Polarity"
950 depends on PM_WAKEUP_BY_GPIO
951 default PM_WAKEUP_GPIO_POLAR_H
952config PM_WAKEUP_GPIO_POLAR_H
953 bool "Active High"
954config PM_WAKEUP_GPIO_POLAR_L
955 bool "Active Low"
956config PM_WAKEUP_GPIO_POLAR_EDGE_F
957 bool "Falling EDGE"
958config PM_WAKEUP_GPIO_POLAR_EDGE_R
959 bool "Rising EDGE"
960config PM_WAKEUP_GPIO_POLAR_EDGE_B
961 bool "Both EDGE"
962endchoice
963
964endmenu
965
Roy Huang24a07a12007-07-12 22:41:45 +0800966if (BF537 || BF533 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700967
968menu "CPU Frequency scaling"
969
970source "drivers/cpufreq/Kconfig"
971
972config CPU_FREQ
973 bool
974 default n
975 help
976 If you want to enable this option, you should select the
977 DPMC driver from Character Devices.
978endmenu
979
980endif
981
982source "net/Kconfig"
983
984source "drivers/Kconfig"
985
986source "fs/Kconfig"
987
Mathieu Desnoyers09caded2007-10-18 23:41:05 -0700988source "kernel/Kconfig.instrumentation"
Bryan Wu1394f032007-05-06 14:50:22 -0700989
Mike Frysinger74ce8322007-11-21 23:50:49 +0800990source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -0700991
992source "security/Kconfig"
993
994source "crypto/Kconfig"
995
996source "lib/Kconfig"