blob: 29e71ed6b8a7fb9c5e4b8381244a4c3d5b1d47db [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"
Matt Helsleydc52ddc2008-10-18 20:27:21 -070067
Bryan Wu1394f032007-05-06 14:50:22 -070068source "kernel/Kconfig.preempt"
69
Matt Helsleydc52ddc2008-10-18 20:27:21 -070070source "kernel/Kconfig.freezer"
71
Bryan Wu1394f032007-05-06 14:50:22 -070072menu "Blackfin Processor Options"
73
74comment "Processor and Board Settings"
75
76choice
77 prompt "CPU"
78 default BF533
79
Michael Hennerich59003142007-10-21 16:54:27 +080080config BF522
81 bool "BF522"
82 help
83 BF522 Processor Support.
84
Mike Frysinger1545a112007-12-24 16:54:48 +080085config BF523
86 bool "BF523"
87 help
88 BF523 Processor Support.
89
90config BF524
91 bool "BF524"
92 help
93 BF524 Processor Support.
94
Michael Hennerich59003142007-10-21 16:54:27 +080095config BF525
96 bool "BF525"
97 help
98 BF525 Processor Support.
99
Mike Frysinger1545a112007-12-24 16:54:48 +0800100config BF526
101 bool "BF526"
102 help
103 BF526 Processor Support.
104
Michael Hennerich59003142007-10-21 16:54:27 +0800105config BF527
106 bool "BF527"
107 help
108 BF527 Processor Support.
109
Bryan Wu1394f032007-05-06 14:50:22 -0700110config BF531
111 bool "BF531"
112 help
113 BF531 Processor Support.
114
115config BF532
116 bool "BF532"
117 help
118 BF532 Processor Support.
119
120config BF533
121 bool "BF533"
122 help
123 BF533 Processor Support.
124
125config BF534
126 bool "BF534"
127 help
128 BF534 Processor Support.
129
130config BF536
131 bool "BF536"
132 help
133 BF536 Processor Support.
134
135config BF537
136 bool "BF537"
137 help
138 BF537 Processor Support.
139
Roy Huang24a07a12007-07-12 22:41:45 +0800140config BF542
141 bool "BF542"
142 help
143 BF542 Processor Support.
144
145config BF544
146 bool "BF544"
147 help
148 BF544 Processor Support.
149
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800150config BF547
151 bool "BF547"
152 help
153 BF547 Processor Support.
154
Roy Huang24a07a12007-07-12 22:41:45 +0800155config BF548
156 bool "BF548"
157 help
158 BF548 Processor Support.
159
160config BF549
161 bool "BF549"
162 help
163 BF549 Processor Support.
164
Bryan Wu1394f032007-05-06 14:50:22 -0700165config BF561
166 bool "BF561"
167 help
Mike Frysingercd88b4d2008-10-09 12:03:22 +0800168 BF561 Processor Support.
Bryan Wu1394f032007-05-06 14:50:22 -0700169
170endchoice
171
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800172config BF_REV_MIN
173 int
174 default 0 if (BF52x || BF54x)
175 default 2 if (BF537 || BF536 || BF534)
176 default 3 if (BF561 ||BF533 || BF532 || BF531)
177
178config BF_REV_MAX
179 int
180 default 2 if (BF52x || BF54x)
181 default 3 if (BF537 || BF536 || BF534)
182 default 5 if (BF561)
183 default 6 if (BF533 || BF532 || BF531)
184
Bryan Wu1394f032007-05-06 14:50:22 -0700185choice
186 prompt "Silicon Rev"
Mike Frysinger46ce0d92008-10-09 12:05:31 +0800187 default BF_REV_0_1 if (BF52x || BF54x)
188 default BF_REV_0_2 if (BF534 || BF536 || BF537)
189 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800190
191config BF_REV_0_0
192 bool "0.0"
Mike Frysingerd07f4382007-11-15 15:49:17 +0800193 depends on (BF52x || BF54x)
Michael Hennerich59003142007-10-21 16:54:27 +0800194
195config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800196 bool "0.1"
197 depends on (BF52x || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700198
199config BF_REV_0_2
200 bool "0.2"
Mike Frysinger49f72532008-10-09 12:06:27 +0800201 depends on (BF52x || BF537 || BF536 || BF534 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700202
203config BF_REV_0_3
204 bool "0.3"
205 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
206
207config BF_REV_0_4
208 bool "0.4"
209 depends on (BF561 || BF533 || BF532 || BF531)
210
211config BF_REV_0_5
212 bool "0.5"
213 depends on (BF561 || BF533 || BF532 || BF531)
214
Mike Frysinger49f72532008-10-09 12:06:27 +0800215config BF_REV_0_6
216 bool "0.6"
217 depends on (BF533 || BF532 || BF531)
218
Jie Zhangde3025f2007-06-25 18:04:12 +0800219config BF_REV_ANY
220 bool "any"
221
222config BF_REV_NONE
223 bool "none"
224
Bryan Wu1394f032007-05-06 14:50:22 -0700225endchoice
226
Michael Hennerich59003142007-10-21 16:54:27 +0800227config BF52x
228 bool
Mike Frysinger1545a112007-12-24 16:54:48 +0800229 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
Michael Hennerich59003142007-10-21 16:54:27 +0800230 default y
231
Roy Huang24a07a12007-07-12 22:41:45 +0800232config BF53x
233 bool
234 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
235 default y
236
237config BF54x
238 bool
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800239 depends on (BF542 || BF544 || BF547 || BF548 || BF549)
Roy Huang24a07a12007-07-12 22:41:45 +0800240 default y
241
Bryan Wu1394f032007-05-06 14:50:22 -0700242config MEM_GENERIC_BOARD
243 bool
244 depends on GENERIC_BOARD
245 default y
246
247config MEM_MT48LC64M4A2FB_7E
248 bool
249 depends on (BFIN533_STAMP)
250 default y
251
252config MEM_MT48LC16M16A2TG_75
253 bool
254 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Javier Herreroab472a02007-10-29 16:14:44 +0800255 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
Michael Hennerich9db144f2008-07-19 17:16:07 +0800256 || H8606_HVSISTEMAS || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700257 default y
258
259config MEM_MT48LC32M8A2_75
260 bool
261 depends on (BFIN537_STAMP || PNAV10)
262 default y
263
264config MEM_MT48LC8M32B2B5_7
265 bool
266 depends on (BFIN561_BLUETECHNIX_CM)
267 default y
268
Michael Hennerich59003142007-10-21 16:54:27 +0800269config MEM_MT48LC32M16A2TG_75
270 bool
Michael Hennerich8cc71172008-10-13 14:45:06 +0800271 depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP || BFIN526_EZBRD)
Michael Hennerich59003142007-10-21 16:54:27 +0800272 default y
273
Michael Hennerich59003142007-10-21 16:54:27 +0800274source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700275source "arch/blackfin/mach-bf533/Kconfig"
276source "arch/blackfin/mach-bf561/Kconfig"
277source "arch/blackfin/mach-bf537/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800278source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700279
280menu "Board customizations"
281
282config CMDLINE_BOOL
283 bool "Default bootloader kernel arguments"
284
285config CMDLINE
286 string "Initial kernel command string"
287 depends on CMDLINE_BOOL
288 default "console=ttyBF0,57600"
289 help
290 If you don't have a boot loader capable of passing a command line string
291 to the kernel, you may specify one here. As a minimum, you should specify
292 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
293
Mike Frysinger5f004c22008-04-25 02:11:24 +0800294config BOOT_LOAD
295 hex "Kernel load address for booting"
296 default "0x1000"
297 range 0x1000 0x20000000
298 help
299 This option allows you to set the load address of the kernel.
300 This can be useful if you are on a board which has a small amount
301 of memory or you wish to reserve some memory at the beginning of
302 the address space.
303
304 Note that you need to keep this value above 4k (0x1000) as this
305 memory region is used to capture NULL pointer references as well
306 as some core kernel functions.
307
Michael Hennerich8cc71172008-10-13 14:45:06 +0800308config ROM_BASE
309 hex "Kernel ROM Base"
310 default "0x20040000"
311 range 0x20000000 0x20400000 if !(BF54x || BF561)
312 range 0x20000000 0x30000000 if (BF54x || BF561)
313 help
314
Robin Getzf16295e2007-08-03 18:07:17 +0800315comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700316
317config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800318 int "Frequency of the crystal on the board in Hz"
Bryan Wu1394f032007-05-06 14:50:22 -0700319 default "11059200" if BFIN533_STAMP
320 default "27000000" if BFIN533_EZKIT
Michael Hennerich8cc71172008-10-13 14:45:06 +0800321 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD)
Bryan Wu1394f032007-05-06 14:50:22 -0700322 default "30000000" if BFIN561_EZKIT
323 default "24576000" if PNAV10
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800324 default "10000000" if BFIN532_IP0X
Bryan Wu1394f032007-05-06 14:50:22 -0700325 help
326 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800327 Warning: This value should match the crystal on the board. Otherwise,
328 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700329
Robin Getzf16295e2007-08-03 18:07:17 +0800330config BFIN_KERNEL_CLOCK
331 bool "Re-program Clocks while Kernel boots?"
332 default n
333 help
334 This option decides if kernel clocks are re-programed from the
335 bootloader settings. If the clocks are not set, the SDRAM settings
336 are also not changed, and the Bootloader does 100% of the hardware
337 configuration.
338
339config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800340 bool "Bypass PLL"
341 depends on BFIN_KERNEL_CLOCK
342 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800343
344config CLKIN_HALF
345 bool "Half Clock In"
346 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
347 default n
348 help
349 If this is set the clock will be divided by 2, before it goes to the PLL.
350
351config VCO_MULT
352 int "VCO Multiplier"
353 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
354 range 1 64
355 default "22" if BFIN533_EZKIT
356 default "45" if BFIN533_STAMP
Michael Hennerichdb682542008-04-24 03:18:59 +0800357 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800358 default "22" if BFIN533_BLUETECHNIX_CM
Michael Hennerich9db144f2008-07-19 17:16:07 +0800359 default "20" if (BFIN537_BLUETECHNIX_CM || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800360 default "20" if BFIN561_EZKIT
Michael Hennerich8cc71172008-10-13 14:45:06 +0800361 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD)
Robin Getzf16295e2007-08-03 18:07:17 +0800362 help
363 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
364 PLL Frequency = (Crystal Frequency) * (this setting)
365
366choice
367 prompt "Core Clock Divider"
368 depends on BFIN_KERNEL_CLOCK
369 default CCLK_DIV_1
370 help
371 This sets the frequency of the core. It can be 1, 2, 4 or 8
372 Core Frequency = (PLL frequency) / (this setting)
373
374config CCLK_DIV_1
375 bool "1"
376
377config CCLK_DIV_2
378 bool "2"
379
380config CCLK_DIV_4
381 bool "4"
382
383config CCLK_DIV_8
384 bool "8"
385endchoice
386
387config SCLK_DIV
388 int "System Clock Divider"
389 depends on BFIN_KERNEL_CLOCK
390 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800391 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800392 help
393 This sets the frequency of the system clock (including SDRAM or DDR).
394 This can be between 1 and 15
395 System Clock = (PLL frequency) / (this setting)
396
Mike Frysinger5f004c22008-04-25 02:11:24 +0800397choice
398 prompt "DDR SDRAM Chip Type"
399 depends on BFIN_KERNEL_CLOCK
400 depends on BF54x
401 default MEM_MT46V32M16_5B
402
403config MEM_MT46V32M16_6T
404 bool "MT46V32M16_6T"
405
406config MEM_MT46V32M16_5B
407 bool "MT46V32M16_5B"
408endchoice
409
Mike Frysinger7eb2c232008-10-08 17:39:02 +0800410config MAX_MEM_SIZE
411 int "Max SDRAM Memory Size in MBytes"
412 depends on !MPU
413 default 512
414 help
415 This is the max memory size that the kernel will create CPLB
416 tables for. Your system will not be able to handle any more.
417
Robin Getzf16295e2007-08-03 18:07:17 +0800418#
419# Max & Min Speeds for various Chips
420#
421config MAX_VCO_HZ
422 int
423 default 600000000 if BF522
Mike Frysinger1545a112007-12-24 16:54:48 +0800424 default 400000000 if BF523
425 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800426 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800427 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800428 default 600000000 if BF527
429 default 400000000 if BF531
430 default 400000000 if BF532
431 default 750000000 if BF533
432 default 500000000 if BF534
433 default 400000000 if BF536
434 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800435 default 533333333 if BF538
436 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800437 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800438 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800439 default 600000000 if BF547
440 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800441 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800442 default 600000000 if BF561
443
444config MIN_VCO_HZ
445 int
446 default 50000000
447
448config MAX_SCLK_HZ
449 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800450 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800451
452config MIN_SCLK_HZ
453 int
454 default 27000000
455
456comment "Kernel Timer/Scheduler"
457
458source kernel/Kconfig.hz
459
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800460config GENERIC_TIME
461 bool "Generic time"
462 default y
463
464config GENERIC_CLOCKEVENTS
465 bool "Generic clock events"
466 depends on GENERIC_TIME
467 default y
468
469config CYCLES_CLOCKSOURCE
470 bool "Use 'CYCLES' as a clocksource (EXPERIMENTAL)"
471 depends on EXPERIMENTAL
472 depends on GENERIC_CLOCKEVENTS
473 depends on !BFIN_SCRATCH_REG_CYCLES
474 default n
475 help
476 If you say Y here, you will enable support for using the 'cycles'
477 registers as a clock source. Doing so means you will be unable to
478 safely write to the 'cycles' register during runtime. You will
479 still be able to read it (such as for performance monitoring), but
480 writing the registers will most likely crash the kernel.
481
482source kernel/time/Kconfig
483
Mike Frysinger5f004c22008-04-25 02:11:24 +0800484comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800485
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 -0700532endmenu
533
534
535menu "Blackfin Kernel Optimizations"
536
Bryan Wu1394f032007-05-06 14:50:22 -0700537comment "Memory Optimizations"
538
539config I_ENTRY_L1
540 bool "Locate interrupt entry code in L1 Memory"
541 default y
542 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200543 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
544 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700545
546config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200547 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700548 default y
549 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200550 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800551 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200552 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700553
554config DO_IRQ_L1
555 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
556 default y
557 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200558 If enabled, the frequently called do_irq dispatcher function is linked
559 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700560
561config CORE_TIMER_IRQ_L1
562 bool "Locate frequently called timer_interrupt() function in L1 Memory"
563 default y
564 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200565 If enabled, the frequently called timer_interrupt() function is linked
566 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700567
568config IDLE_L1
569 bool "Locate frequently idle function in L1 Memory"
570 default y
571 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200572 If enabled, the frequently called idle function is linked
573 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700574
575config SCHEDULE_L1
576 bool "Locate kernel schedule function in L1 Memory"
577 default y
578 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200579 If enabled, the frequently called kernel schedule is linked
580 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700581
582config ARITHMETIC_OPS_L1
583 bool "Locate kernel owned arithmetic functions in L1 Memory"
584 default y
585 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200586 If enabled, arithmetic functions are linked
587 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700588
589config ACCESS_OK_L1
590 bool "Locate access_ok function in L1 Memory"
591 default y
592 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200593 If enabled, the access_ok function is linked
594 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700595
596config MEMSET_L1
597 bool "Locate memset function in L1 Memory"
598 default y
599 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200600 If enabled, the memset function is linked
601 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700602
603config MEMCPY_L1
604 bool "Locate memcpy function in L1 Memory"
605 default y
606 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200607 If enabled, the memcpy function is linked
608 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700609
610config SYS_BFIN_SPINLOCK_L1
611 bool "Locate sys_bfin_spinlock function in L1 Memory"
612 default y
613 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200614 If enabled, sys_bfin_spinlock function is linked
615 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700616
617config IP_CHECKSUM_L1
618 bool "Locate IP Checksum function in L1 Memory"
619 default n
620 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200621 If enabled, the IP Checksum function is linked
622 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700623
624config CACHELINE_ALIGNED_L1
625 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800626 default y if !BF54x
627 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700628 depends on !BF531
629 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200630 If enabled, cacheline_anligned data is linked
631 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700632
633config SYSCALL_TAB_L1
634 bool "Locate Syscall Table L1 Data Memory"
635 default n
636 depends on !BF531
637 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200638 If enabled, the Syscall LUT is linked
639 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700640
641config CPLB_SWITCH_TAB_L1
642 bool "Locate CPLB Switch Tables L1 Data Memory"
643 default n
644 depends on !BF531
645 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200646 If enabled, the CPLB Switch Tables are linked
647 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700648
Graf Yangca87b7a2008-10-08 17:30:01 +0800649config APP_STACK_L1
650 bool "Support locating application stack in L1 Scratch Memory"
651 default y
652 help
653 If enabled the application stack can be located in L1
654 scratch memory (less latency).
655
656 Currently only works with FLAT binaries.
657
Robin Getz251383c2008-08-14 15:12:55 +0800658comment "Speed Optimizations"
659config BFIN_INS_LOWOVERHEAD
660 bool "ins[bwl] low overhead, higher interrupt latency"
661 default y
662 help
663 Reads on the Blackfin are speculative. In Blackfin terms, this means
664 they can be interrupted at any time (even after they have been issued
665 on to the external bus), and re-issued after the interrupt occurs.
666 For memory - this is not a big deal, since memory does not change if
667 it sees a read.
668
669 If a FIFO is sitting on the end of the read, it will see two reads,
670 when the core only sees one since the FIFO receives both the read
671 which is cancelled (and not delivered to the core) and the one which
672 is re-issued (which is delivered to the core).
673
674 To solve this, interrupts are turned off before reads occur to
675 I/O space. This option controls which the overhead/latency of
676 controlling interrupts during this time
677 "n" turns interrupts off every read
678 (higher overhead, but lower interrupt latency)
679 "y" turns interrupts off every loop
680 (low overhead, but longer interrupt latency)
681
682 default behavior is to leave this set to on (type "Y"). If you are experiencing
683 interrupt latency issues, it is safe and OK to turn this off.
684
Bryan Wu1394f032007-05-06 14:50:22 -0700685endmenu
686
687
688choice
689 prompt "Kernel executes from"
690 help
691 Choose the memory type that the kernel will be running in.
692
693config RAMKERNEL
694 bool "RAM"
695 help
696 The kernel will be resident in RAM when running.
697
698config ROMKERNEL
699 bool "ROM"
700 help
701 The kernel will be resident in FLASH/ROM when running.
702
703endchoice
704
705source "mm/Kconfig"
706
Mike Frysinger780431e2007-10-21 23:37:54 +0800707config BFIN_GPTIMERS
708 tristate "Enable Blackfin General Purpose Timers API"
709 default n
710 help
711 Enable support for the General Purpose Timers API. If you
712 are unsure, say N.
713
714 To compile this driver as a module, choose M here: the module
715 will be called gptimers.ko.
716
Bryan Wu1394f032007-05-06 14:50:22 -0700717config BFIN_DMA_5XX
718 bool "Enable DMA Support"
Michael Hennerich59003142007-10-21 16:54:27 +0800719 depends on (BF52x || BF53x || BF561 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700720 default y
721 help
722 DMA driver for BF5xx.
723
724choice
725 prompt "Uncached SDRAM region"
726 default DMA_UNCACHED_1M
Adrian Bunk247537b2007-09-26 20:02:52 +0200727 depends on BFIN_DMA_5XX
Cliff Cai86ad7932008-05-17 16:36:52 +0800728config DMA_UNCACHED_4M
729 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700730config DMA_UNCACHED_2M
731 bool "Enable 2M DMA region"
732config DMA_UNCACHED_1M
733 bool "Enable 1M DMA region"
734config DMA_UNCACHED_NONE
735 bool "Disable DMA region"
736endchoice
737
738
739comment "Cache Support"
Robin Getz3bebca22007-10-10 23:55:26 +0800740config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700741 bool "Enable ICACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800742config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700743 bool "Enable DCACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800744config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700745 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800746 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700747 default n
Robin Getz3bebca22007-10-10 23:55:26 +0800748config BFIN_ICACHE_LOCK
749 bool "Enable Instruction Cache Locking"
Bryan Wu1394f032007-05-06 14:50:22 -0700750
751choice
752 prompt "Policy"
Robin Getz3bebca22007-10-10 23:55:26 +0800753 depends on BFIN_DCACHE
754 default BFIN_WB
755config BFIN_WB
Bryan Wu1394f032007-05-06 14:50:22 -0700756 bool "Write back"
757 help
758 Write Back Policy:
759 Cached data will be written back to SDRAM only when needed.
760 This can give a nice increase in performance, but beware of
761 broken drivers that do not properly invalidate/flush their
762 cache.
763
764 Write Through Policy:
765 Cached data will always be written back to SDRAM when the
766 cache is updated. This is a completely safe setting, but
767 performance is worse than Write Back.
768
769 If you are unsure of the options and you want to be safe,
770 then go with Write Through.
771
Robin Getz3bebca22007-10-10 23:55:26 +0800772config BFIN_WT
Bryan Wu1394f032007-05-06 14:50:22 -0700773 bool "Write through"
774 help
775 Write Back Policy:
776 Cached data will be written back to SDRAM only when needed.
777 This can give a nice increase in performance, but beware of
778 broken drivers that do not properly invalidate/flush their
779 cache.
780
781 Write Through Policy:
782 Cached data will always be written back to SDRAM when the
783 cache is updated. This is a completely safe setting, but
784 performance is worse than Write Back.
785
786 If you are unsure of the options and you want to be safe,
787 then go with Write Through.
788
789endchoice
790
Sonic Zhangf099f392008-10-09 14:11:57 +0800791config BFIN_L2_CACHEABLE
792 bool "Cache L2 SRAM"
793 depends on (BFIN_DCACHE || BFIN_ICACHE) && (BF54x || BF561)
794 default n
795 help
796 Select to make L2 SRAM cacheable in L1 data and instruction cache.
797
Bernd Schmidtb97b8a92008-01-27 18:39:16 +0800798config MPU
799 bool "Enable the memory protection unit (EXPERIMENTAL)"
800 default n
801 help
802 Use the processor's MPU to protect applications from accessing
803 memory they do not own. This comes at a performance penalty
804 and is recommended only for debugging.
805
Bryan Wu1394f032007-05-06 14:50:22 -0700806comment "Asynchonous Memory Configuration"
807
Mike Frysingerddf416b2007-10-10 18:06:47 +0800808menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -0700809config C_AMCKEN
810 bool "Enable CLKOUT"
811 default y
812
813config C_CDPRIO
814 bool "DMA has priority over core for ext. accesses"
815 default n
816
817config C_B0PEN
818 depends on BF561
819 bool "Bank 0 16 bit packing enable"
820 default y
821
822config C_B1PEN
823 depends on BF561
824 bool "Bank 1 16 bit packing enable"
825 default y
826
827config C_B2PEN
828 depends on BF561
829 bool "Bank 2 16 bit packing enable"
830 default y
831
832config C_B3PEN
833 depends on BF561
834 bool "Bank 3 16 bit packing enable"
835 default n
836
837choice
838 prompt"Enable Asynchonous Memory Banks"
839 default C_AMBEN_ALL
840
841config C_AMBEN
842 bool "Disable All Banks"
843
844config C_AMBEN_B0
845 bool "Enable Bank 0"
846
847config C_AMBEN_B0_B1
848 bool "Enable Bank 0 & 1"
849
850config C_AMBEN_B0_B1_B2
851 bool "Enable Bank 0 & 1 & 2"
852
853config C_AMBEN_ALL
854 bool "Enable All Banks"
855endchoice
856endmenu
857
858menu "EBIU_AMBCTL Control"
859config BANK_0
860 hex "Bank 0"
861 default 0x7BB0
862
863config BANK_1
864 hex "Bank 1"
865 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +0800866 default 0x5558 if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700867
868config BANK_2
869 hex "Bank 2"
870 default 0x7BB0
871
872config BANK_3
873 hex "Bank 3"
874 default 0x99B3
875endmenu
876
Sonic Zhange40540b2007-11-21 23:49:52 +0800877config EBIU_MBSCTLVAL
878 hex "EBIU Bank Select Control Register"
879 depends on BF54x
880 default 0
881
882config EBIU_MODEVAL
883 hex "Flash Memory Mode Control Register"
884 depends on BF54x
885 default 1
886
887config EBIU_FCTLVAL
888 hex "Flash Memory Bank Control Register"
889 depends on BF54x
890 default 6
Bryan Wu1394f032007-05-06 14:50:22 -0700891endmenu
892
893#############################################################################
894menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
895
896config PCI
897 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +0800898 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -0700899 help
900 Support for PCI bus.
901
902source "drivers/pci/Kconfig"
903
904config HOTPLUG
905 bool "Support for hot-pluggable device"
906 help
907 Say Y here if you want to plug devices into your computer while
908 the system is running, and be able to use them quickly. In many
909 cases, the devices can likewise be unplugged at any time too.
910
911 One well known example of this is PCMCIA- or PC-cards, credit-card
912 size devices such as network cards, modems or hard drives which are
913 plugged into slots found on all modern laptop computers. Another
914 example, used on modern desktops as well as laptops, is USB.
915
Johannes Berga81792f2008-07-08 19:00:25 +0200916 Enable HOTPLUG and build a modular kernel. Get agent software
917 (from <http://linux-hotplug.sourceforge.net/>) and install it.
Bryan Wu1394f032007-05-06 14:50:22 -0700918 Then your kernel will automatically call out to a user mode "policy
919 agent" (/sbin/hotplug) to load modules and set up software needed
920 to use devices as you hotplug them.
921
922source "drivers/pcmcia/Kconfig"
923
924source "drivers/pci/hotplug/Kconfig"
925
926endmenu
927
928menu "Executable file formats"
929
930source "fs/Kconfig.binfmt"
931
932endmenu
933
934menu "Power management options"
935source "kernel/power/Kconfig"
936
Johannes Bergf4cb5702007-12-08 02:14:00 +0100937config ARCH_SUSPEND_POSSIBLE
938 def_bool y
939 depends on !SMP
940
Bryan Wu1394f032007-05-06 14:50:22 -0700941choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800942 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -0700943 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800944 default PM_BFIN_SLEEP_DEEPER
945config PM_BFIN_SLEEP_DEEPER
946 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -0700947 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800948 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
949 power dissipation by disabling the clock to the processor core (CCLK).
950 Furthermore, Standby sets the internal power supply voltage (VDDINT)
951 to 0.85 V to provide the greatest power savings, while preserving the
952 processor state.
953 The PLL and system clock (SCLK) continue to operate at a very low
954 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
955 the SDRAM is put into Self Refresh Mode. Typically an external event
956 such as GPIO interrupt or RTC activity wakes up the processor.
957 Various Peripherals such as UART, SPORT, PPI may not function as
958 normal during Sleep Deeper, due to the reduced SCLK frequency.
959 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -0700960
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800961 If unsure, select "Sleep Deeper".
962
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800963config PM_BFIN_SLEEP
964 bool "Sleep"
965 help
966 Sleep Mode (High Power Savings) - The sleep mode reduces power
967 dissipation by disabling the clock to the processor core (CCLK).
968 The PLL and system clock (SCLK), however, continue to operate in
969 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800970 up the processor. When in the sleep mode, system DMA access to L1
971 memory is not supported.
972
973 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -0700974endchoice
975
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800976config PM_WAKEUP_BY_GPIO
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800977 bool "Allow Wakeup from Standby by GPIO"
Bryan Wu1394f032007-05-06 14:50:22 -0700978
979config PM_WAKEUP_GPIO_NUMBER
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800980 int "GPIO number"
Bryan Wu1394f032007-05-06 14:50:22 -0700981 range 0 47
982 depends on PM_WAKEUP_BY_GPIO
983 default 2 if BFIN537_STAMP
984
985choice
986 prompt "GPIO Polarity"
987 depends on PM_WAKEUP_BY_GPIO
988 default PM_WAKEUP_GPIO_POLAR_H
989config PM_WAKEUP_GPIO_POLAR_H
990 bool "Active High"
991config PM_WAKEUP_GPIO_POLAR_L
992 bool "Active Low"
993config PM_WAKEUP_GPIO_POLAR_EDGE_F
994 bool "Falling EDGE"
995config PM_WAKEUP_GPIO_POLAR_EDGE_R
996 bool "Rising EDGE"
997config PM_WAKEUP_GPIO_POLAR_EDGE_B
998 bool "Both EDGE"
999endchoice
1000
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001001comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1002 depends on PM
1003
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001004config PM_BFIN_WAKE_PH6
1005 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
1006 depends on PM && (BF52x || BF534 || BF536 || BF537)
1007 default n
1008 help
1009 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1010
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001011config PM_BFIN_WAKE_GP
1012 bool "Allow Wake-Up from GPIOs"
1013 depends on PM && BF54x
1014 default n
1015 help
1016 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Bryan Wu1394f032007-05-06 14:50:22 -07001017endmenu
1018
Bryan Wu1394f032007-05-06 14:50:22 -07001019menu "CPU Frequency scaling"
1020
1021source "drivers/cpufreq/Kconfig"
1022
Michael Hennerich14b03202008-05-07 11:41:26 +08001023config CPU_VOLTAGE
1024 bool "CPU Voltage scaling"
1025 depends on EXPERIMENTAL
1026 depends on CPU_FREQ
1027 default n
1028 help
1029 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1030 This option violates the PLL BYPASS recommendation in the Blackfin Processor
1031 manuals. There is a theoretical risk that during VDDINT transitions
1032 the PLL may unlock.
1033
Bryan Wu1394f032007-05-06 14:50:22 -07001034endmenu
1035
Bryan Wu1394f032007-05-06 14:50:22 -07001036source "net/Kconfig"
1037
1038source "drivers/Kconfig"
1039
1040source "fs/Kconfig"
1041
Mike Frysinger74ce8322007-11-21 23:50:49 +08001042source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001043
1044source "security/Kconfig"
1045
1046source "crypto/Kconfig"
1047
1048source "lib/Kconfig"