blob: 8f21b78b2e6f8b102ff04da18fc1be035a77b5aa [file] [log] [blame]
Bryan Wu1394f032007-05-06 14:50:22 -07001#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
Mike Frysinger53f8a252007-11-15 15:48:01 +08006mainmenu "Blackfin Kernel Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -07007
8config MMU
9 bool
10 default n
11
12config FPU
13 bool
14 default n
15
16config RWSEM_GENERIC_SPINLOCK
17 bool
18 default y
19
20config RWSEM_XCHGADD_ALGORITHM
21 bool
22 default n
23
24config BLACKFIN
25 bool
26 default y
Sam Ravnborgec7748b2008-02-09 10:46:40 +010027 select HAVE_IDE
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050028 select HAVE_OPROFILE
Bryan Wu1394f032007-05-06 14:50:22 -070029
Aubrey Lie3defff2007-05-21 18:09:11 +080030config ZONE_DMA
31 bool
32 default y
33
Bryan Wu1394f032007-05-06 14:50:22 -070034config GENERIC_FIND_NEXT_BIT
35 bool
36 default y
37
38config GENERIC_HWEIGHT
39 bool
40 default y
41
42config GENERIC_HARDIRQS
43 bool
44 default y
45
46config GENERIC_IRQ_PROBE
Mike Frysingere4e9a7a2007-11-15 20:39:34 +080047 bool
Bryan Wu1394f032007-05-06 14:50:22 -070048 default y
49
Michael Hennerichb2d15832007-07-24 15:46:36 +080050config GENERIC_GPIO
Bryan Wu1394f032007-05-06 14:50:22 -070051 bool
52 default y
53
54config FORCE_MAX_ZONEORDER
55 int
56 default "14"
57
58config GENERIC_CALIBRATE_DELAY
59 bool
60 default y
61
Mathieu Desnoyers7d2284b2008-01-15 12:42:02 -050062config HARDWARE_PM
63 def_bool y
64 depends on OPROFILE
65
Bryan Wu1394f032007-05-06 14:50:22 -070066source "init/Kconfig"
67source "kernel/Kconfig.preempt"
68
69menu "Blackfin Processor Options"
70
71comment "Processor and Board Settings"
72
73choice
74 prompt "CPU"
75 default BF533
76
Michael Hennerich59003142007-10-21 16:54:27 +080077config BF522
78 bool "BF522"
79 help
80 BF522 Processor Support.
81
Mike Frysinger1545a112007-12-24 16:54:48 +080082config BF523
83 bool "BF523"
84 help
85 BF523 Processor Support.
86
87config BF524
88 bool "BF524"
89 help
90 BF524 Processor Support.
91
Michael Hennerich59003142007-10-21 16:54:27 +080092config BF525
93 bool "BF525"
94 help
95 BF525 Processor Support.
96
Mike Frysinger1545a112007-12-24 16:54:48 +080097config BF526
98 bool "BF526"
99 help
100 BF526 Processor Support.
101
Michael Hennerich59003142007-10-21 16:54:27 +0800102config BF527
103 bool "BF527"
104 help
105 BF527 Processor Support.
106
Bryan Wu1394f032007-05-06 14:50:22 -0700107config BF531
108 bool "BF531"
109 help
110 BF531 Processor Support.
111
112config BF532
113 bool "BF532"
114 help
115 BF532 Processor Support.
116
117config BF533
118 bool "BF533"
119 help
120 BF533 Processor Support.
121
122config BF534
123 bool "BF534"
124 help
125 BF534 Processor Support.
126
127config BF536
128 bool "BF536"
129 help
130 BF536 Processor Support.
131
132config BF537
133 bool "BF537"
134 help
135 BF537 Processor Support.
136
Roy Huang24a07a12007-07-12 22:41:45 +0800137config BF542
138 bool "BF542"
139 help
140 BF542 Processor Support.
141
142config BF544
143 bool "BF544"
144 help
145 BF544 Processor Support.
146
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800147config BF547
148 bool "BF547"
149 help
150 BF547 Processor Support.
151
Roy Huang24a07a12007-07-12 22:41:45 +0800152config BF548
153 bool "BF548"
154 help
155 BF548 Processor Support.
156
157config BF549
158 bool "BF549"
159 help
160 BF549 Processor Support.
161
Bryan Wu1394f032007-05-06 14:50:22 -0700162config BF561
163 bool "BF561"
164 help
165 Not Supported Yet - Work in progress - BF561 Processor Support.
166
167endchoice
168
169choice
170 prompt "Silicon Rev"
Michael Hennerich59003142007-10-21 16:54:27 +0800171 default BF_REV_0_1 if BF527
Bryan Wu1394f032007-05-06 14:50:22 -0700172 default BF_REV_0_2 if BF537
173 default BF_REV_0_3 if BF533
Roy Huang24a07a12007-07-12 22:41:45 +0800174 default BF_REV_0_0 if BF549
175
176config BF_REV_0_0
177 bool "0.0"
Mike Frysingerd07f4382007-11-15 15:49:17 +0800178 depends on (BF52x || BF54x)
Michael Hennerich59003142007-10-21 16:54:27 +0800179
180config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800181 bool "0.1"
182 depends on (BF52x || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700183
184config BF_REV_0_2
185 bool "0.2"
186 depends on (BF537 || BF536 || BF534)
187
188config BF_REV_0_3
189 bool "0.3"
190 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
191
192config BF_REV_0_4
193 bool "0.4"
194 depends on (BF561 || BF533 || BF532 || BF531)
195
196config BF_REV_0_5
197 bool "0.5"
198 depends on (BF561 || BF533 || BF532 || BF531)
199
Jie Zhangde3025f2007-06-25 18:04:12 +0800200config BF_REV_ANY
201 bool "any"
202
203config BF_REV_NONE
204 bool "none"
205
Bryan Wu1394f032007-05-06 14:50:22 -0700206endchoice
207
Michael Hennerich59003142007-10-21 16:54:27 +0800208config BF52x
209 bool
Mike Frysinger1545a112007-12-24 16:54:48 +0800210 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
Michael Hennerich59003142007-10-21 16:54:27 +0800211 default y
212
Roy Huang24a07a12007-07-12 22:41:45 +0800213config BF53x
214 bool
215 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
216 default y
217
218config BF54x
219 bool
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800220 depends on (BF542 || BF544 || BF547 || BF548 || BF549)
Roy Huang24a07a12007-07-12 22:41:45 +0800221 default y
222
Bryan Wu1394f032007-05-06 14:50:22 -0700223config MEM_GENERIC_BOARD
224 bool
225 depends on GENERIC_BOARD
226 default y
227
228config MEM_MT48LC64M4A2FB_7E
229 bool
230 depends on (BFIN533_STAMP)
231 default y
232
233config MEM_MT48LC16M16A2TG_75
234 bool
235 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Javier Herreroab472a02007-10-29 16:14:44 +0800236 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
237 || H8606_HVSISTEMAS)
Bryan Wu1394f032007-05-06 14:50:22 -0700238 default y
239
240config MEM_MT48LC32M8A2_75
241 bool
242 depends on (BFIN537_STAMP || PNAV10)
243 default y
244
245config MEM_MT48LC8M32B2B5_7
246 bool
247 depends on (BFIN561_BLUETECHNIX_CM)
248 default y
249
Michael Hennerich59003142007-10-21 16:54:27 +0800250config MEM_MT48LC32M16A2TG_75
251 bool
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800252 depends on (BFIN527_EZKIT || BFIN532_IP0X)
Michael Hennerich59003142007-10-21 16:54:27 +0800253 default y
254
Michael Hennerich59003142007-10-21 16:54:27 +0800255source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700256source "arch/blackfin/mach-bf533/Kconfig"
257source "arch/blackfin/mach-bf561/Kconfig"
258source "arch/blackfin/mach-bf537/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800259source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700260
261menu "Board customizations"
262
263config CMDLINE_BOOL
264 bool "Default bootloader kernel arguments"
265
266config CMDLINE
267 string "Initial kernel command string"
268 depends on CMDLINE_BOOL
269 default "console=ttyBF0,57600"
270 help
271 If you don't have a boot loader capable of passing a command line string
272 to the kernel, you may specify one here. As a minimum, you should specify
273 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
274
Mike Frysinger5f004c22008-04-25 02:11:24 +0800275config BOOT_LOAD
276 hex "Kernel load address for booting"
277 default "0x1000"
278 range 0x1000 0x20000000
279 help
280 This option allows you to set the load address of the kernel.
281 This can be useful if you are on a board which has a small amount
282 of memory or you wish to reserve some memory at the beginning of
283 the address space.
284
285 Note that you need to keep this value above 4k (0x1000) as this
286 memory region is used to capture NULL pointer references as well
287 as some core kernel functions.
288
Robin Getzf16295e2007-08-03 18:07:17 +0800289comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700290
291config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800292 int "Frequency of the crystal on the board in Hz"
Bryan Wu1394f032007-05-06 14:50:22 -0700293 default "11059200" if BFIN533_STAMP
294 default "27000000" if BFIN533_EZKIT
Javier Herreroab472a02007-10-29 16:14:44 +0800295 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS)
Bryan Wu1394f032007-05-06 14:50:22 -0700296 default "30000000" if BFIN561_EZKIT
297 default "24576000" if PNAV10
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800298 default "10000000" if BFIN532_IP0X
Bryan Wu1394f032007-05-06 14:50:22 -0700299 help
300 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800301 Warning: This value should match the crystal on the board. Otherwise,
302 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700303
Robin Getzf16295e2007-08-03 18:07:17 +0800304config BFIN_KERNEL_CLOCK
305 bool "Re-program Clocks while Kernel boots?"
306 default n
307 help
308 This option decides if kernel clocks are re-programed from the
309 bootloader settings. If the clocks are not set, the SDRAM settings
310 are also not changed, and the Bootloader does 100% of the hardware
311 configuration.
312
313config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800314 bool "Bypass PLL"
315 depends on BFIN_KERNEL_CLOCK
316 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800317
318config CLKIN_HALF
319 bool "Half Clock In"
320 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
321 default n
322 help
323 If this is set the clock will be divided by 2, before it goes to the PLL.
324
325config VCO_MULT
326 int "VCO Multiplier"
327 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
328 range 1 64
329 default "22" if BFIN533_EZKIT
330 default "45" if BFIN533_STAMP
Michael Hennerichdb682542008-04-24 03:18:59 +0800331 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800332 default "22" if BFIN533_BLUETECHNIX_CM
333 default "20" if BFIN537_BLUETECHNIX_CM
334 default "20" if BFIN561_BLUETECHNIX_CM
335 default "20" if BFIN561_EZKIT
Javier Herreroab472a02007-10-29 16:14:44 +0800336 default "16" if H8606_HVSISTEMAS
Robin Getzf16295e2007-08-03 18:07:17 +0800337 help
338 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
339 PLL Frequency = (Crystal Frequency) * (this setting)
340
341choice
342 prompt "Core Clock Divider"
343 depends on BFIN_KERNEL_CLOCK
344 default CCLK_DIV_1
345 help
346 This sets the frequency of the core. It can be 1, 2, 4 or 8
347 Core Frequency = (PLL frequency) / (this setting)
348
349config CCLK_DIV_1
350 bool "1"
351
352config CCLK_DIV_2
353 bool "2"
354
355config CCLK_DIV_4
356 bool "4"
357
358config CCLK_DIV_8
359 bool "8"
360endchoice
361
362config SCLK_DIV
363 int "System Clock Divider"
364 depends on BFIN_KERNEL_CLOCK
365 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800366 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800367 help
368 This sets the frequency of the system clock (including SDRAM or DDR).
369 This can be between 1 and 15
370 System Clock = (PLL frequency) / (this setting)
371
Mike Frysingera086ee22008-04-25 02:04:05 +0800372config MAX_MEM_SIZE
373 int "Max SDRAM Memory Size in MBytes"
Michael Hennerich99d95bb2008-07-14 17:04:14 +0800374 depends on !MPU
Mike Frysingera086ee22008-04-25 02:04:05 +0800375 default 512
376 help
377 This is the max memory size that the kernel will create CPLB
378 tables for. Your system will not be able to handle any more.
379
Mike Frysinger5f004c22008-04-25 02:11:24 +0800380choice
381 prompt "DDR SDRAM Chip Type"
382 depends on BFIN_KERNEL_CLOCK
383 depends on BF54x
384 default MEM_MT46V32M16_5B
385
386config MEM_MT46V32M16_6T
387 bool "MT46V32M16_6T"
388
389config MEM_MT46V32M16_5B
390 bool "MT46V32M16_5B"
391endchoice
392
Robin Getzf16295e2007-08-03 18:07:17 +0800393#
394# Max & Min Speeds for various Chips
395#
396config MAX_VCO_HZ
397 int
398 default 600000000 if BF522
Mike Frysinger1545a112007-12-24 16:54:48 +0800399 default 400000000 if BF523
400 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800401 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800402 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800403 default 600000000 if BF527
404 default 400000000 if BF531
405 default 400000000 if BF532
406 default 750000000 if BF533
407 default 500000000 if BF534
408 default 400000000 if BF536
409 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800410 default 533333333 if BF538
411 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800412 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800413 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800414 default 600000000 if BF547
415 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800416 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800417 default 600000000 if BF561
418
419config MIN_VCO_HZ
420 int
421 default 50000000
422
423config MAX_SCLK_HZ
424 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800425 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800426
427config MIN_SCLK_HZ
428 int
429 default 27000000
430
431comment "Kernel Timer/Scheduler"
432
433source kernel/Kconfig.hz
434
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800435config GENERIC_TIME
436 bool "Generic time"
437 default y
438
439config GENERIC_CLOCKEVENTS
440 bool "Generic clock events"
441 depends on GENERIC_TIME
442 default y
443
444config CYCLES_CLOCKSOURCE
445 bool "Use 'CYCLES' as a clocksource (EXPERIMENTAL)"
446 depends on EXPERIMENTAL
447 depends on GENERIC_CLOCKEVENTS
448 depends on !BFIN_SCRATCH_REG_CYCLES
449 default n
450 help
451 If you say Y here, you will enable support for using the 'cycles'
452 registers as a clock source. Doing so means you will be unable to
453 safely write to the 'cycles' register during runtime. You will
454 still be able to read it (such as for performance monitoring), but
455 writing the registers will most likely crash the kernel.
456
457source kernel/time/Kconfig
458
Robin Getzf16295e2007-08-03 18:07:17 +0800459comment "Memory Setup"
460
Mike Frysinger5f004c22008-04-25 02:11:24 +0800461comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800462
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800463choice
464 prompt "Blackfin Exception Scratch Register"
465 default BFIN_SCRATCH_REG_RETN
466 help
467 Select the resource to reserve for the Exception handler:
468 - RETN: Non-Maskable Interrupt (NMI)
469 - RETE: Exception Return (JTAG/ICE)
470 - CYCLES: Performance counter
471
472 If you are unsure, please select "RETN".
473
474config BFIN_SCRATCH_REG_RETN
475 bool "RETN"
476 help
477 Use the RETN register in the Blackfin exception handler
478 as a stack scratch register. This means you cannot
479 safely use NMI on the Blackfin while running Linux, but
480 you can debug the system with a JTAG ICE and use the
481 CYCLES performance registers.
482
483 If you are unsure, please select "RETN".
484
485config BFIN_SCRATCH_REG_RETE
486 bool "RETE"
487 help
488 Use the RETE register in the Blackfin exception handler
489 as a stack scratch register. This means you cannot
490 safely use a JTAG ICE while debugging a Blackfin board,
491 but you can safely use the CYCLES performance registers
492 and the NMI.
493
494 If you are unsure, please select "RETN".
495
496config BFIN_SCRATCH_REG_CYCLES
497 bool "CYCLES"
498 help
499 Use the CYCLES register in the Blackfin exception handler
500 as a stack scratch register. This means you cannot
501 safely use the CYCLES performance registers on a Blackfin
502 board at anytime, but you can debug the system with a JTAG
503 ICE and use the NMI.
504
505 If you are unsure, please select "RETN".
506
507endchoice
508
Bryan Wu1394f032007-05-06 14:50:22 -0700509endmenu
510
511
512menu "Blackfin Kernel Optimizations"
513
Bryan Wu1394f032007-05-06 14:50:22 -0700514comment "Memory Optimizations"
515
516config I_ENTRY_L1
517 bool "Locate interrupt entry code in L1 Memory"
518 default y
519 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200520 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
521 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700522
523config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200524 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700525 default y
526 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200527 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800528 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200529 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700530
531config DO_IRQ_L1
532 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
533 default y
534 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200535 If enabled, the frequently called do_irq dispatcher function is linked
536 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700537
538config CORE_TIMER_IRQ_L1
539 bool "Locate frequently called timer_interrupt() function in L1 Memory"
540 default y
541 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200542 If enabled, the frequently called timer_interrupt() function is linked
543 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700544
545config IDLE_L1
546 bool "Locate frequently idle function in L1 Memory"
547 default y
548 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200549 If enabled, the frequently called idle function is linked
550 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700551
552config SCHEDULE_L1
553 bool "Locate kernel schedule function in L1 Memory"
554 default y
555 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200556 If enabled, the frequently called kernel schedule is linked
557 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700558
559config ARITHMETIC_OPS_L1
560 bool "Locate kernel owned arithmetic functions in L1 Memory"
561 default y
562 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200563 If enabled, arithmetic functions are linked
564 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700565
566config ACCESS_OK_L1
567 bool "Locate access_ok function in L1 Memory"
568 default y
569 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200570 If enabled, the access_ok function is linked
571 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700572
573config MEMSET_L1
574 bool "Locate memset function in L1 Memory"
575 default y
576 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200577 If enabled, the memset function is linked
578 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700579
580config MEMCPY_L1
581 bool "Locate memcpy function in L1 Memory"
582 default y
583 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200584 If enabled, the memcpy function is linked
585 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700586
587config SYS_BFIN_SPINLOCK_L1
588 bool "Locate sys_bfin_spinlock function in L1 Memory"
589 default y
590 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200591 If enabled, sys_bfin_spinlock function is linked
592 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700593
594config IP_CHECKSUM_L1
595 bool "Locate IP Checksum function in L1 Memory"
596 default n
597 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200598 If enabled, the IP Checksum function is linked
599 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700600
601config CACHELINE_ALIGNED_L1
602 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800603 default y if !BF54x
604 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700605 depends on !BF531
606 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200607 If enabled, cacheline_anligned data is linked
608 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700609
610config SYSCALL_TAB_L1
611 bool "Locate Syscall Table L1 Data Memory"
612 default n
613 depends on !BF531
614 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200615 If enabled, the Syscall LUT is linked
616 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700617
618config CPLB_SWITCH_TAB_L1
619 bool "Locate CPLB Switch Tables L1 Data Memory"
620 default n
621 depends on !BF531
622 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200623 If enabled, the CPLB Switch Tables are linked
624 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700625
626endmenu
627
628
629choice
630 prompt "Kernel executes from"
631 help
632 Choose the memory type that the kernel will be running in.
633
634config RAMKERNEL
635 bool "RAM"
636 help
637 The kernel will be resident in RAM when running.
638
639config ROMKERNEL
640 bool "ROM"
641 help
642 The kernel will be resident in FLASH/ROM when running.
643
644endchoice
645
646source "mm/Kconfig"
647
Mike Frysinger780431e2007-10-21 23:37:54 +0800648config BFIN_GPTIMERS
649 tristate "Enable Blackfin General Purpose Timers API"
650 default n
651 help
652 Enable support for the General Purpose Timers API. If you
653 are unsure, say N.
654
655 To compile this driver as a module, choose M here: the module
656 will be called gptimers.ko.
657
Bryan Wu1394f032007-05-06 14:50:22 -0700658config BFIN_DMA_5XX
659 bool "Enable DMA Support"
Michael Hennerich59003142007-10-21 16:54:27 +0800660 depends on (BF52x || BF53x || BF561 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700661 default y
662 help
663 DMA driver for BF5xx.
664
665choice
666 prompt "Uncached SDRAM region"
667 default DMA_UNCACHED_1M
Adrian Bunk247537b2007-09-26 20:02:52 +0200668 depends on BFIN_DMA_5XX
Cliff Cai86ad7932008-05-17 16:36:52 +0800669config DMA_UNCACHED_4M
670 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700671config DMA_UNCACHED_2M
672 bool "Enable 2M DMA region"
673config DMA_UNCACHED_1M
674 bool "Enable 1M DMA region"
675config DMA_UNCACHED_NONE
676 bool "Disable DMA region"
677endchoice
678
679
680comment "Cache Support"
Robin Getz3bebca22007-10-10 23:55:26 +0800681config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700682 bool "Enable ICACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800683config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700684 bool "Enable DCACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800685config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700686 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800687 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700688 default n
Robin Getz3bebca22007-10-10 23:55:26 +0800689config BFIN_ICACHE_LOCK
690 bool "Enable Instruction Cache Locking"
Bryan Wu1394f032007-05-06 14:50:22 -0700691
692choice
693 prompt "Policy"
Robin Getz3bebca22007-10-10 23:55:26 +0800694 depends on BFIN_DCACHE
695 default BFIN_WB
696config BFIN_WB
Bryan Wu1394f032007-05-06 14:50:22 -0700697 bool "Write back"
698 help
699 Write Back Policy:
700 Cached data will be written back to SDRAM only when needed.
701 This can give a nice increase in performance, but beware of
702 broken drivers that do not properly invalidate/flush their
703 cache.
704
705 Write Through Policy:
706 Cached data will always be written back to SDRAM when the
707 cache is updated. This is a completely safe setting, but
708 performance is worse than Write Back.
709
710 If you are unsure of the options and you want to be safe,
711 then go with Write Through.
712
Robin Getz3bebca22007-10-10 23:55:26 +0800713config BFIN_WT
Bryan Wu1394f032007-05-06 14:50:22 -0700714 bool "Write through"
715 help
716 Write Back Policy:
717 Cached data will be written back to SDRAM only when needed.
718 This can give a nice increase in performance, but beware of
719 broken drivers that do not properly invalidate/flush their
720 cache.
721
722 Write Through Policy:
723 Cached data will always be written back to SDRAM when the
724 cache is updated. This is a completely safe setting, but
725 performance is worse than Write Back.
726
727 If you are unsure of the options and you want to be safe,
728 then go with Write Through.
729
730endchoice
731
732config L1_MAX_PIECE
733 int "Set the max L1 SRAM pieces"
734 default 16
735 help
736 Set the max memory pieces for the L1 SRAM allocation algorithm.
737 Min value is 16. Max value is 1024.
738
Bernd Schmidtb97b8a92008-01-27 18:39:16 +0800739
740config MPU
741 bool "Enable the memory protection unit (EXPERIMENTAL)"
742 default n
743 help
744 Use the processor's MPU to protect applications from accessing
745 memory they do not own. This comes at a performance penalty
746 and is recommended only for debugging.
747
Bryan Wu1394f032007-05-06 14:50:22 -0700748comment "Asynchonous Memory Configuration"
749
Mike Frysingerddf416b2007-10-10 18:06:47 +0800750menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -0700751config C_AMCKEN
752 bool "Enable CLKOUT"
753 default y
754
755config C_CDPRIO
756 bool "DMA has priority over core for ext. accesses"
757 default n
758
759config C_B0PEN
760 depends on BF561
761 bool "Bank 0 16 bit packing enable"
762 default y
763
764config C_B1PEN
765 depends on BF561
766 bool "Bank 1 16 bit packing enable"
767 default y
768
769config C_B2PEN
770 depends on BF561
771 bool "Bank 2 16 bit packing enable"
772 default y
773
774config C_B3PEN
775 depends on BF561
776 bool "Bank 3 16 bit packing enable"
777 default n
778
779choice
780 prompt"Enable Asynchonous Memory Banks"
781 default C_AMBEN_ALL
782
783config C_AMBEN
784 bool "Disable All Banks"
785
786config C_AMBEN_B0
787 bool "Enable Bank 0"
788
789config C_AMBEN_B0_B1
790 bool "Enable Bank 0 & 1"
791
792config C_AMBEN_B0_B1_B2
793 bool "Enable Bank 0 & 1 & 2"
794
795config C_AMBEN_ALL
796 bool "Enable All Banks"
797endchoice
798endmenu
799
800menu "EBIU_AMBCTL Control"
801config BANK_0
802 hex "Bank 0"
803 default 0x7BB0
804
805config BANK_1
806 hex "Bank 1"
807 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +0800808 default 0x5558 if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700809
810config BANK_2
811 hex "Bank 2"
812 default 0x7BB0
813
814config BANK_3
815 hex "Bank 3"
816 default 0x99B3
817endmenu
818
Sonic Zhange40540b2007-11-21 23:49:52 +0800819config EBIU_MBSCTLVAL
820 hex "EBIU Bank Select Control Register"
821 depends on BF54x
822 default 0
823
824config EBIU_MODEVAL
825 hex "Flash Memory Mode Control Register"
826 depends on BF54x
827 default 1
828
829config EBIU_FCTLVAL
830 hex "Flash Memory Bank Control Register"
831 depends on BF54x
832 default 6
Bryan Wu1394f032007-05-06 14:50:22 -0700833endmenu
834
835#############################################################################
836menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
837
838config PCI
839 bool "PCI support"
840 help
841 Support for PCI bus.
842
843source "drivers/pci/Kconfig"
844
845config HOTPLUG
846 bool "Support for hot-pluggable device"
847 help
848 Say Y here if you want to plug devices into your computer while
849 the system is running, and be able to use them quickly. In many
850 cases, the devices can likewise be unplugged at any time too.
851
852 One well known example of this is PCMCIA- or PC-cards, credit-card
853 size devices such as network cards, modems or hard drives which are
854 plugged into slots found on all modern laptop computers. Another
855 example, used on modern desktops as well as laptops, is USB.
856
857 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
858 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
859 Then your kernel will automatically call out to a user mode "policy
860 agent" (/sbin/hotplug) to load modules and set up software needed
861 to use devices as you hotplug them.
862
863source "drivers/pcmcia/Kconfig"
864
865source "drivers/pci/hotplug/Kconfig"
866
867endmenu
868
869menu "Executable file formats"
870
871source "fs/Kconfig.binfmt"
872
873endmenu
874
875menu "Power management options"
876source "kernel/power/Kconfig"
877
Johannes Bergf4cb5702007-12-08 02:14:00 +0100878config ARCH_SUSPEND_POSSIBLE
879 def_bool y
880 depends on !SMP
881
Bryan Wu1394f032007-05-06 14:50:22 -0700882choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800883 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -0700884 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800885 default PM_BFIN_SLEEP_DEEPER
886config PM_BFIN_SLEEP_DEEPER
887 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -0700888 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800889 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
890 power dissipation by disabling the clock to the processor core (CCLK).
891 Furthermore, Standby sets the internal power supply voltage (VDDINT)
892 to 0.85 V to provide the greatest power savings, while preserving the
893 processor state.
894 The PLL and system clock (SCLK) continue to operate at a very low
895 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
896 the SDRAM is put into Self Refresh Mode. Typically an external event
897 such as GPIO interrupt or RTC activity wakes up the processor.
898 Various Peripherals such as UART, SPORT, PPI may not function as
899 normal during Sleep Deeper, due to the reduced SCLK frequency.
900 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -0700901
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800902 If unsure, select "Sleep Deeper".
903
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800904config PM_BFIN_SLEEP
905 bool "Sleep"
906 help
907 Sleep Mode (High Power Savings) - The sleep mode reduces power
908 dissipation by disabling the clock to the processor core (CCLK).
909 The PLL and system clock (SCLK), however, continue to operate in
910 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800911 up the processor. When in the sleep mode, system DMA access to L1
912 memory is not supported.
913
914 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -0700915endchoice
916
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800917config PM_WAKEUP_BY_GPIO
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800918 bool "Allow Wakeup from Standby by GPIO"
Bryan Wu1394f032007-05-06 14:50:22 -0700919
920config PM_WAKEUP_GPIO_NUMBER
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800921 int "GPIO number"
Bryan Wu1394f032007-05-06 14:50:22 -0700922 range 0 47
923 depends on PM_WAKEUP_BY_GPIO
924 default 2 if BFIN537_STAMP
925
926choice
927 prompt "GPIO Polarity"
928 depends on PM_WAKEUP_BY_GPIO
929 default PM_WAKEUP_GPIO_POLAR_H
930config PM_WAKEUP_GPIO_POLAR_H
931 bool "Active High"
932config PM_WAKEUP_GPIO_POLAR_L
933 bool "Active Low"
934config PM_WAKEUP_GPIO_POLAR_EDGE_F
935 bool "Falling EDGE"
936config PM_WAKEUP_GPIO_POLAR_EDGE_R
937 bool "Rising EDGE"
938config PM_WAKEUP_GPIO_POLAR_EDGE_B
939 bool "Both EDGE"
940endchoice
941
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800942comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
943 depends on PM
944
945config PM_BFIN_WAKE_RTC
946 bool "Allow Wake-Up from RESET and on-chip RTC"
947 depends on PM
948 default n
949 help
950 Enable RTC Wake-Up (Voltage Regulator Power-Up)
951
952config PM_BFIN_WAKE_PH6
953 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
954 depends on PM && (BF52x || BF534 || BF536 || BF537)
955 default n
956 help
957 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
958
959config PM_BFIN_WAKE_CAN
960 bool "Allow Wake-Up from on-chip CAN0/1"
961 depends on PM && (BF54x || BF534 || BF536 || BF537)
962 default n
963 help
964 Enable CAN0/1 Wake-Up (Voltage Regulator Power-Up)
965
966config PM_BFIN_WAKE_GP
967 bool "Allow Wake-Up from GPIOs"
968 depends on PM && BF54x
969 default n
970 help
971 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
972
973config PM_BFIN_WAKE_USB
974 bool "Allow Wake-Up from on-chip USB"
975 depends on PM && (BF54x || BF52x)
976 default n
977 help
978 Enable USB Wake-Up (Voltage Regulator Power-Up)
979
980config PM_BFIN_WAKE_KEYPAD
981 bool "Allow Wake-Up from on-chip Keypad"
982 depends on PM && BF54x
983 default n
984 help
985 Enable Keypad Wake-Up (Voltage Regulator Power-Up)
986
987config PM_BFIN_WAKE_ROTARY
988 bool "Allow Wake-Up from on-chip Rotary"
989 depends on PM && BF54x
990 default n
991 help
992 Enable Rotary Wake-Up (Voltage Regulator Power-Up)
993
Bryan Wu1394f032007-05-06 14:50:22 -0700994endmenu
995
Bryan Wu1394f032007-05-06 14:50:22 -0700996menu "CPU Frequency scaling"
997
998source "drivers/cpufreq/Kconfig"
999
Michael Hennerich14b03202008-05-07 11:41:26 +08001000config CPU_VOLTAGE
1001 bool "CPU Voltage scaling"
1002 depends on EXPERIMENTAL
1003 depends on CPU_FREQ
1004 default n
1005 help
1006 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1007 This option violates the PLL BYPASS recommendation in the Blackfin Processor
1008 manuals. There is a theoretical risk that during VDDINT transitions
1009 the PLL may unlock.
1010
Bryan Wu1394f032007-05-06 14:50:22 -07001011endmenu
1012
Bryan Wu1394f032007-05-06 14:50:22 -07001013source "net/Kconfig"
1014
1015source "drivers/Kconfig"
1016
1017source "fs/Kconfig"
1018
Mike Frysinger74ce8322007-11-21 23:50:49 +08001019source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001020
1021source "security/Kconfig"
1022
1023source "crypto/Kconfig"
1024
1025source "lib/Kconfig"