blob: 5a097c46bc4613e6857640cb3bdea0c417ec4ba2 [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 \
Michael Hennerich9db144f2008-07-19 17:16:07 +0800237 || H8606_HVSISTEMAS || BFIN527_BLUETECHNIX_CM)
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
Michael Hennerich9db144f2008-07-19 17:16:07 +0800333 default "20" if (BFIN537_BLUETECHNIX_CM || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800334 default "20" if BFIN561_EZKIT
Javier Herreroab472a02007-10-29 16:14:44 +0800335 default "16" if H8606_HVSISTEMAS
Robin Getzf16295e2007-08-03 18:07:17 +0800336 help
337 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
338 PLL Frequency = (Crystal Frequency) * (this setting)
339
340choice
341 prompt "Core Clock Divider"
342 depends on BFIN_KERNEL_CLOCK
343 default CCLK_DIV_1
344 help
345 This sets the frequency of the core. It can be 1, 2, 4 or 8
346 Core Frequency = (PLL frequency) / (this setting)
347
348config CCLK_DIV_1
349 bool "1"
350
351config CCLK_DIV_2
352 bool "2"
353
354config CCLK_DIV_4
355 bool "4"
356
357config CCLK_DIV_8
358 bool "8"
359endchoice
360
361config SCLK_DIV
362 int "System Clock Divider"
363 depends on BFIN_KERNEL_CLOCK
364 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800365 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800366 help
367 This sets the frequency of the system clock (including SDRAM or DDR).
368 This can be between 1 and 15
369 System Clock = (PLL frequency) / (this setting)
370
Mike Frysingera086ee22008-04-25 02:04:05 +0800371config MAX_MEM_SIZE
372 int "Max SDRAM Memory Size in MBytes"
Michael Hennerich99d95bb2008-07-14 17:04:14 +0800373 depends on !MPU
Mike Frysingera086ee22008-04-25 02:04:05 +0800374 default 512
375 help
376 This is the max memory size that the kernel will create CPLB
377 tables for. Your system will not be able to handle any more.
378
Mike Frysinger5f004c22008-04-25 02:11:24 +0800379choice
380 prompt "DDR SDRAM Chip Type"
381 depends on BFIN_KERNEL_CLOCK
382 depends on BF54x
383 default MEM_MT46V32M16_5B
384
385config MEM_MT46V32M16_6T
386 bool "MT46V32M16_6T"
387
388config MEM_MT46V32M16_5B
389 bool "MT46V32M16_5B"
390endchoice
391
Robin Getzf16295e2007-08-03 18:07:17 +0800392#
393# Max & Min Speeds for various Chips
394#
395config MAX_VCO_HZ
396 int
397 default 600000000 if BF522
Mike Frysinger1545a112007-12-24 16:54:48 +0800398 default 400000000 if BF523
399 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800400 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800401 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800402 default 600000000 if BF527
403 default 400000000 if BF531
404 default 400000000 if BF532
405 default 750000000 if BF533
406 default 500000000 if BF534
407 default 400000000 if BF536
408 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800409 default 533333333 if BF538
410 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800411 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800412 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800413 default 600000000 if BF547
414 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800415 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800416 default 600000000 if BF561
417
418config MIN_VCO_HZ
419 int
420 default 50000000
421
422config MAX_SCLK_HZ
423 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800424 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800425
426config MIN_SCLK_HZ
427 int
428 default 27000000
429
430comment "Kernel Timer/Scheduler"
431
432source kernel/Kconfig.hz
433
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800434config GENERIC_TIME
435 bool "Generic time"
436 default y
437
438config GENERIC_CLOCKEVENTS
439 bool "Generic clock events"
440 depends on GENERIC_TIME
441 default y
442
443config CYCLES_CLOCKSOURCE
444 bool "Use 'CYCLES' as a clocksource (EXPERIMENTAL)"
445 depends on EXPERIMENTAL
446 depends on GENERIC_CLOCKEVENTS
447 depends on !BFIN_SCRATCH_REG_CYCLES
448 default n
449 help
450 If you say Y here, you will enable support for using the 'cycles'
451 registers as a clock source. Doing so means you will be unable to
452 safely write to the 'cycles' register during runtime. You will
453 still be able to read it (such as for performance monitoring), but
454 writing the registers will most likely crash the kernel.
455
456source kernel/time/Kconfig
457
Robin Getzf16295e2007-08-03 18:07:17 +0800458comment "Memory Setup"
459
Mike Frysinger5f004c22008-04-25 02:11:24 +0800460comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800461
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800462choice
463 prompt "Blackfin Exception Scratch Register"
464 default BFIN_SCRATCH_REG_RETN
465 help
466 Select the resource to reserve for the Exception handler:
467 - RETN: Non-Maskable Interrupt (NMI)
468 - RETE: Exception Return (JTAG/ICE)
469 - CYCLES: Performance counter
470
471 If you are unsure, please select "RETN".
472
473config BFIN_SCRATCH_REG_RETN
474 bool "RETN"
475 help
476 Use the RETN register in the Blackfin exception handler
477 as a stack scratch register. This means you cannot
478 safely use NMI on the Blackfin while running Linux, but
479 you can debug the system with a JTAG ICE and use the
480 CYCLES performance registers.
481
482 If you are unsure, please select "RETN".
483
484config BFIN_SCRATCH_REG_RETE
485 bool "RETE"
486 help
487 Use the RETE register in the Blackfin exception handler
488 as a stack scratch register. This means you cannot
489 safely use a JTAG ICE while debugging a Blackfin board,
490 but you can safely use the CYCLES performance registers
491 and the NMI.
492
493 If you are unsure, please select "RETN".
494
495config BFIN_SCRATCH_REG_CYCLES
496 bool "CYCLES"
497 help
498 Use the CYCLES register in the Blackfin exception handler
499 as a stack scratch register. This means you cannot
500 safely use the CYCLES performance registers on a Blackfin
501 board at anytime, but you can debug the system with a JTAG
502 ICE and use the NMI.
503
504 If you are unsure, please select "RETN".
505
506endchoice
507
Bryan Wu1394f032007-05-06 14:50:22 -0700508endmenu
509
510
511menu "Blackfin Kernel Optimizations"
512
Bryan Wu1394f032007-05-06 14:50:22 -0700513comment "Memory Optimizations"
514
515config I_ENTRY_L1
516 bool "Locate interrupt entry code in L1 Memory"
517 default y
518 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200519 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
520 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700521
522config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200523 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700524 default y
525 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200526 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800527 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200528 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700529
530config DO_IRQ_L1
531 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
532 default y
533 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200534 If enabled, the frequently called do_irq dispatcher function is linked
535 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700536
537config CORE_TIMER_IRQ_L1
538 bool "Locate frequently called timer_interrupt() function in L1 Memory"
539 default y
540 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200541 If enabled, the frequently called timer_interrupt() function is linked
542 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700543
544config IDLE_L1
545 bool "Locate frequently idle function in L1 Memory"
546 default y
547 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200548 If enabled, the frequently called idle function is linked
549 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700550
551config SCHEDULE_L1
552 bool "Locate kernel schedule function in L1 Memory"
553 default y
554 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200555 If enabled, the frequently called kernel schedule is linked
556 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700557
558config ARITHMETIC_OPS_L1
559 bool "Locate kernel owned arithmetic functions in L1 Memory"
560 default y
561 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200562 If enabled, arithmetic functions are linked
563 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700564
565config ACCESS_OK_L1
566 bool "Locate access_ok function in L1 Memory"
567 default y
568 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200569 If enabled, the access_ok function is linked
570 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700571
572config MEMSET_L1
573 bool "Locate memset function in L1 Memory"
574 default y
575 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200576 If enabled, the memset function is linked
577 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700578
579config MEMCPY_L1
580 bool "Locate memcpy function in L1 Memory"
581 default y
582 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200583 If enabled, the memcpy function is linked
584 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700585
586config SYS_BFIN_SPINLOCK_L1
587 bool "Locate sys_bfin_spinlock function in L1 Memory"
588 default y
589 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200590 If enabled, sys_bfin_spinlock function is linked
591 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700592
593config IP_CHECKSUM_L1
594 bool "Locate IP Checksum function in L1 Memory"
595 default n
596 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200597 If enabled, the IP Checksum function is linked
598 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700599
600config CACHELINE_ALIGNED_L1
601 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800602 default y if !BF54x
603 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700604 depends on !BF531
605 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200606 If enabled, cacheline_anligned data is linked
607 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700608
609config SYSCALL_TAB_L1
610 bool "Locate Syscall Table L1 Data Memory"
611 default n
612 depends on !BF531
613 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200614 If enabled, the Syscall LUT is linked
615 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700616
617config CPLB_SWITCH_TAB_L1
618 bool "Locate CPLB Switch Tables L1 Data Memory"
619 default n
620 depends on !BF531
621 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200622 If enabled, the CPLB Switch Tables are linked
623 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700624
625endmenu
626
627
628choice
629 prompt "Kernel executes from"
630 help
631 Choose the memory type that the kernel will be running in.
632
633config RAMKERNEL
634 bool "RAM"
635 help
636 The kernel will be resident in RAM when running.
637
638config ROMKERNEL
639 bool "ROM"
640 help
641 The kernel will be resident in FLASH/ROM when running.
642
643endchoice
644
645source "mm/Kconfig"
646
Mike Frysinger780431e2007-10-21 23:37:54 +0800647config BFIN_GPTIMERS
648 tristate "Enable Blackfin General Purpose Timers API"
649 default n
650 help
651 Enable support for the General Purpose Timers API. If you
652 are unsure, say N.
653
654 To compile this driver as a module, choose M here: the module
655 will be called gptimers.ko.
656
Bryan Wu1394f032007-05-06 14:50:22 -0700657config BFIN_DMA_5XX
658 bool "Enable DMA Support"
Michael Hennerich59003142007-10-21 16:54:27 +0800659 depends on (BF52x || BF53x || BF561 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700660 default y
661 help
662 DMA driver for BF5xx.
663
664choice
665 prompt "Uncached SDRAM region"
666 default DMA_UNCACHED_1M
Adrian Bunk247537b2007-09-26 20:02:52 +0200667 depends on BFIN_DMA_5XX
Cliff Cai86ad7932008-05-17 16:36:52 +0800668config DMA_UNCACHED_4M
669 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700670config DMA_UNCACHED_2M
671 bool "Enable 2M DMA region"
672config DMA_UNCACHED_1M
673 bool "Enable 1M DMA region"
674config DMA_UNCACHED_NONE
675 bool "Disable DMA region"
676endchoice
677
678
679comment "Cache Support"
Robin Getz3bebca22007-10-10 23:55:26 +0800680config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700681 bool "Enable ICACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800682config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700683 bool "Enable DCACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800684config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700685 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800686 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700687 default n
Robin Getz3bebca22007-10-10 23:55:26 +0800688config BFIN_ICACHE_LOCK
689 bool "Enable Instruction Cache Locking"
Bryan Wu1394f032007-05-06 14:50:22 -0700690
691choice
692 prompt "Policy"
Robin Getz3bebca22007-10-10 23:55:26 +0800693 depends on BFIN_DCACHE
694 default BFIN_WB
695config BFIN_WB
Bryan Wu1394f032007-05-06 14:50:22 -0700696 bool "Write back"
697 help
698 Write Back Policy:
699 Cached data will be written back to SDRAM only when needed.
700 This can give a nice increase in performance, but beware of
701 broken drivers that do not properly invalidate/flush their
702 cache.
703
704 Write Through Policy:
705 Cached data will always be written back to SDRAM when the
706 cache is updated. This is a completely safe setting, but
707 performance is worse than Write Back.
708
709 If you are unsure of the options and you want to be safe,
710 then go with Write Through.
711
Robin Getz3bebca22007-10-10 23:55:26 +0800712config BFIN_WT
Bryan Wu1394f032007-05-06 14:50:22 -0700713 bool "Write through"
714 help
715 Write Back Policy:
716 Cached data will be written back to SDRAM only when needed.
717 This can give a nice increase in performance, but beware of
718 broken drivers that do not properly invalidate/flush their
719 cache.
720
721 Write Through Policy:
722 Cached data will always be written back to SDRAM when the
723 cache is updated. This is a completely safe setting, but
724 performance is worse than Write Back.
725
726 If you are unsure of the options and you want to be safe,
727 then go with Write Through.
728
729endchoice
730
Bernd Schmidtb97b8a92008-01-27 18:39:16 +0800731config MPU
732 bool "Enable the memory protection unit (EXPERIMENTAL)"
733 default n
734 help
735 Use the processor's MPU to protect applications from accessing
736 memory they do not own. This comes at a performance penalty
737 and is recommended only for debugging.
738
Bryan Wu1394f032007-05-06 14:50:22 -0700739comment "Asynchonous Memory Configuration"
740
Mike Frysingerddf416b2007-10-10 18:06:47 +0800741menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -0700742config C_AMCKEN
743 bool "Enable CLKOUT"
744 default y
745
746config C_CDPRIO
747 bool "DMA has priority over core for ext. accesses"
748 default n
749
750config C_B0PEN
751 depends on BF561
752 bool "Bank 0 16 bit packing enable"
753 default y
754
755config C_B1PEN
756 depends on BF561
757 bool "Bank 1 16 bit packing enable"
758 default y
759
760config C_B2PEN
761 depends on BF561
762 bool "Bank 2 16 bit packing enable"
763 default y
764
765config C_B3PEN
766 depends on BF561
767 bool "Bank 3 16 bit packing enable"
768 default n
769
770choice
771 prompt"Enable Asynchonous Memory Banks"
772 default C_AMBEN_ALL
773
774config C_AMBEN
775 bool "Disable All Banks"
776
777config C_AMBEN_B0
778 bool "Enable Bank 0"
779
780config C_AMBEN_B0_B1
781 bool "Enable Bank 0 & 1"
782
783config C_AMBEN_B0_B1_B2
784 bool "Enable Bank 0 & 1 & 2"
785
786config C_AMBEN_ALL
787 bool "Enable All Banks"
788endchoice
789endmenu
790
791menu "EBIU_AMBCTL Control"
792config BANK_0
793 hex "Bank 0"
794 default 0x7BB0
795
796config BANK_1
797 hex "Bank 1"
798 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +0800799 default 0x5558 if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700800
801config BANK_2
802 hex "Bank 2"
803 default 0x7BB0
804
805config BANK_3
806 hex "Bank 3"
807 default 0x99B3
808endmenu
809
Sonic Zhange40540b2007-11-21 23:49:52 +0800810config EBIU_MBSCTLVAL
811 hex "EBIU Bank Select Control Register"
812 depends on BF54x
813 default 0
814
815config EBIU_MODEVAL
816 hex "Flash Memory Mode Control Register"
817 depends on BF54x
818 default 1
819
820config EBIU_FCTLVAL
821 hex "Flash Memory Bank Control Register"
822 depends on BF54x
823 default 6
Bryan Wu1394f032007-05-06 14:50:22 -0700824endmenu
825
826#############################################################################
827menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
828
829config PCI
830 bool "PCI support"
831 help
832 Support for PCI bus.
833
834source "drivers/pci/Kconfig"
835
836config HOTPLUG
837 bool "Support for hot-pluggable device"
838 help
839 Say Y here if you want to plug devices into your computer while
840 the system is running, and be able to use them quickly. In many
841 cases, the devices can likewise be unplugged at any time too.
842
843 One well known example of this is PCMCIA- or PC-cards, credit-card
844 size devices such as network cards, modems or hard drives which are
845 plugged into slots found on all modern laptop computers. Another
846 example, used on modern desktops as well as laptops, is USB.
847
Johannes Berga81792f2008-07-08 19:00:25 +0200848 Enable HOTPLUG and build a modular kernel. Get agent software
849 (from <http://linux-hotplug.sourceforge.net/>) and install it.
Bryan Wu1394f032007-05-06 14:50:22 -0700850 Then your kernel will automatically call out to a user mode "policy
851 agent" (/sbin/hotplug) to load modules and set up software needed
852 to use devices as you hotplug them.
853
854source "drivers/pcmcia/Kconfig"
855
856source "drivers/pci/hotplug/Kconfig"
857
858endmenu
859
860menu "Executable file formats"
861
862source "fs/Kconfig.binfmt"
863
864endmenu
865
866menu "Power management options"
867source "kernel/power/Kconfig"
868
Johannes Bergf4cb5702007-12-08 02:14:00 +0100869config ARCH_SUSPEND_POSSIBLE
870 def_bool y
871 depends on !SMP
872
Bryan Wu1394f032007-05-06 14:50:22 -0700873choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800874 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -0700875 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800876 default PM_BFIN_SLEEP_DEEPER
877config PM_BFIN_SLEEP_DEEPER
878 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -0700879 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800880 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
881 power dissipation by disabling the clock to the processor core (CCLK).
882 Furthermore, Standby sets the internal power supply voltage (VDDINT)
883 to 0.85 V to provide the greatest power savings, while preserving the
884 processor state.
885 The PLL and system clock (SCLK) continue to operate at a very low
886 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
887 the SDRAM is put into Self Refresh Mode. Typically an external event
888 such as GPIO interrupt or RTC activity wakes up the processor.
889 Various Peripherals such as UART, SPORT, PPI may not function as
890 normal during Sleep Deeper, due to the reduced SCLK frequency.
891 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -0700892
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800893 If unsure, select "Sleep Deeper".
894
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800895config PM_BFIN_SLEEP
896 bool "Sleep"
897 help
898 Sleep Mode (High Power Savings) - The sleep mode reduces power
899 dissipation by disabling the clock to the processor core (CCLK).
900 The PLL and system clock (SCLK), however, continue to operate in
901 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800902 up the processor. When in the sleep mode, system DMA access to L1
903 memory is not supported.
904
905 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -0700906endchoice
907
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800908config PM_WAKEUP_BY_GPIO
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800909 bool "Allow Wakeup from Standby by GPIO"
Bryan Wu1394f032007-05-06 14:50:22 -0700910
911config PM_WAKEUP_GPIO_NUMBER
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800912 int "GPIO number"
Bryan Wu1394f032007-05-06 14:50:22 -0700913 range 0 47
914 depends on PM_WAKEUP_BY_GPIO
915 default 2 if BFIN537_STAMP
916
917choice
918 prompt "GPIO Polarity"
919 depends on PM_WAKEUP_BY_GPIO
920 default PM_WAKEUP_GPIO_POLAR_H
921config PM_WAKEUP_GPIO_POLAR_H
922 bool "Active High"
923config PM_WAKEUP_GPIO_POLAR_L
924 bool "Active Low"
925config PM_WAKEUP_GPIO_POLAR_EDGE_F
926 bool "Falling EDGE"
927config PM_WAKEUP_GPIO_POLAR_EDGE_R
928 bool "Rising EDGE"
929config PM_WAKEUP_GPIO_POLAR_EDGE_B
930 bool "Both EDGE"
931endchoice
932
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800933comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
934 depends on PM
935
936config PM_BFIN_WAKE_RTC
937 bool "Allow Wake-Up from RESET and on-chip RTC"
938 depends on PM
939 default n
940 help
941 Enable RTC Wake-Up (Voltage Regulator Power-Up)
942
943config PM_BFIN_WAKE_PH6
944 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
945 depends on PM && (BF52x || BF534 || BF536 || BF537)
946 default n
947 help
948 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
949
950config PM_BFIN_WAKE_CAN
951 bool "Allow Wake-Up from on-chip CAN0/1"
952 depends on PM && (BF54x || BF534 || BF536 || BF537)
953 default n
954 help
955 Enable CAN0/1 Wake-Up (Voltage Regulator Power-Up)
956
957config PM_BFIN_WAKE_GP
958 bool "Allow Wake-Up from GPIOs"
959 depends on PM && BF54x
960 default n
961 help
962 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
963
964config PM_BFIN_WAKE_USB
965 bool "Allow Wake-Up from on-chip USB"
966 depends on PM && (BF54x || BF52x)
967 default n
968 help
969 Enable USB Wake-Up (Voltage Regulator Power-Up)
970
971config PM_BFIN_WAKE_KEYPAD
972 bool "Allow Wake-Up from on-chip Keypad"
973 depends on PM && BF54x
974 default n
975 help
976 Enable Keypad Wake-Up (Voltage Regulator Power-Up)
977
978config PM_BFIN_WAKE_ROTARY
979 bool "Allow Wake-Up from on-chip Rotary"
980 depends on PM && BF54x
981 default n
982 help
983 Enable Rotary Wake-Up (Voltage Regulator Power-Up)
984
Bryan Wu1394f032007-05-06 14:50:22 -0700985endmenu
986
Bryan Wu1394f032007-05-06 14:50:22 -0700987menu "CPU Frequency scaling"
988
989source "drivers/cpufreq/Kconfig"
990
Michael Hennerich14b03202008-05-07 11:41:26 +0800991config CPU_VOLTAGE
992 bool "CPU Voltage scaling"
993 depends on EXPERIMENTAL
994 depends on CPU_FREQ
995 default n
996 help
997 Say Y here if you want CPU voltage scaling according to the CPU frequency.
998 This option violates the PLL BYPASS recommendation in the Blackfin Processor
999 manuals. There is a theoretical risk that during VDDINT transitions
1000 the PLL may unlock.
1001
Bryan Wu1394f032007-05-06 14:50:22 -07001002endmenu
1003
Bryan Wu1394f032007-05-06 14:50:22 -07001004source "net/Kconfig"
1005
1006source "drivers/Kconfig"
1007
1008source "fs/Kconfig"
1009
Mike Frysinger74ce8322007-11-21 23:50:49 +08001010source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001011
1012source "security/Kconfig"
1013
1014source "crypto/Kconfig"
1015
1016source "lib/Kconfig"