blob: be54e36e8b69702424b3a6ec4ad93d40626993c4 [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
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800140config BF538
141 bool "BF538"
142 help
143 BF538 Processor Support.
144
145config BF539
146 bool "BF539"
147 help
148 BF539 Processor Support.
149
Roy Huang24a07a12007-07-12 22:41:45 +0800150config BF542
151 bool "BF542"
152 help
153 BF542 Processor Support.
154
155config BF544
156 bool "BF544"
157 help
158 BF544 Processor Support.
159
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800160config BF547
161 bool "BF547"
162 help
163 BF547 Processor Support.
164
Roy Huang24a07a12007-07-12 22:41:45 +0800165config BF548
166 bool "BF548"
167 help
168 BF548 Processor Support.
169
170config BF549
171 bool "BF549"
172 help
173 BF549 Processor Support.
174
Bryan Wu1394f032007-05-06 14:50:22 -0700175config BF561
176 bool "BF561"
177 help
Mike Frysingercd88b4d2008-10-09 12:03:22 +0800178 BF561 Processor Support.
Bryan Wu1394f032007-05-06 14:50:22 -0700179
180endchoice
181
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800182config BF_REV_MIN
183 int
184 default 0 if (BF52x || BF54x)
185 default 2 if (BF537 || BF536 || BF534)
186 default 3 if (BF561 ||BF533 || BF532 || BF531)
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800187 default 4 if (BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800188
189config BF_REV_MAX
190 int
191 default 2 if (BF52x || BF54x)
192 default 3 if (BF537 || BF536 || BF534)
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800193 default 5 if (BF561|| BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800194 default 6 if (BF533 || BF532 || BF531)
195
Bryan Wu1394f032007-05-06 14:50:22 -0700196choice
197 prompt "Silicon Rev"
Mike Frysinger46ce0d92008-10-09 12:05:31 +0800198 default BF_REV_0_1 if (BF52x || BF54x)
199 default BF_REV_0_2 if (BF534 || BF536 || BF537)
200 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800201
202config BF_REV_0_0
203 bool "0.0"
Mike Frysingerd07f4382007-11-15 15:49:17 +0800204 depends on (BF52x || BF54x)
Michael Hennerich59003142007-10-21 16:54:27 +0800205
206config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800207 bool "0.1"
208 depends on (BF52x || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700209
210config BF_REV_0_2
211 bool "0.2"
Mike Frysinger49f72532008-10-09 12:06:27 +0800212 depends on (BF52x || BF537 || BF536 || BF534 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700213
214config BF_REV_0_3
215 bool "0.3"
216 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
217
218config BF_REV_0_4
219 bool "0.4"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800220 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700221
222config BF_REV_0_5
223 bool "0.5"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800224 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700225
Mike Frysinger49f72532008-10-09 12:06:27 +0800226config BF_REV_0_6
227 bool "0.6"
228 depends on (BF533 || BF532 || BF531)
229
Jie Zhangde3025f2007-06-25 18:04:12 +0800230config BF_REV_ANY
231 bool "any"
232
233config BF_REV_NONE
234 bool "none"
235
Bryan Wu1394f032007-05-06 14:50:22 -0700236endchoice
237
Michael Hennerich59003142007-10-21 16:54:27 +0800238config BF52x
239 bool
Mike Frysinger1545a112007-12-24 16:54:48 +0800240 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
Michael Hennerich59003142007-10-21 16:54:27 +0800241 default y
242
Roy Huang24a07a12007-07-12 22:41:45 +0800243config BF53x
244 bool
245 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
246 default y
247
248config BF54x
249 bool
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800250 depends on (BF542 || BF544 || BF547 || BF548 || BF549)
Roy Huang24a07a12007-07-12 22:41:45 +0800251 default y
252
Bryan Wu1394f032007-05-06 14:50:22 -0700253config MEM_GENERIC_BOARD
254 bool
255 depends on GENERIC_BOARD
256 default y
257
258config MEM_MT48LC64M4A2FB_7E
259 bool
260 depends on (BFIN533_STAMP)
261 default y
262
263config MEM_MT48LC16M16A2TG_75
264 bool
265 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Javier Herreroab472a02007-10-29 16:14:44 +0800266 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
Michael Hennerich9db144f2008-07-19 17:16:07 +0800267 || H8606_HVSISTEMAS || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700268 default y
269
270config MEM_MT48LC32M8A2_75
271 bool
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800272 depends on (BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700273 default y
274
275config MEM_MT48LC8M32B2B5_7
276 bool
277 depends on (BFIN561_BLUETECHNIX_CM)
278 default y
279
Michael Hennerich59003142007-10-21 16:54:27 +0800280config MEM_MT48LC32M16A2TG_75
281 bool
Michael Hennerich8cc71172008-10-13 14:45:06 +0800282 depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP || BFIN526_EZBRD)
Michael Hennerich59003142007-10-21 16:54:27 +0800283 default y
284
Michael Hennerich59003142007-10-21 16:54:27 +0800285source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700286source "arch/blackfin/mach-bf533/Kconfig"
287source "arch/blackfin/mach-bf561/Kconfig"
288source "arch/blackfin/mach-bf537/Kconfig"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800289source "arch/blackfin/mach-bf538/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800290source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700291
292menu "Board customizations"
293
294config CMDLINE_BOOL
295 bool "Default bootloader kernel arguments"
296
297config CMDLINE
298 string "Initial kernel command string"
299 depends on CMDLINE_BOOL
300 default "console=ttyBF0,57600"
301 help
302 If you don't have a boot loader capable of passing a command line string
303 to the kernel, you may specify one here. As a minimum, you should specify
304 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
305
Mike Frysinger5f004c22008-04-25 02:11:24 +0800306config BOOT_LOAD
307 hex "Kernel load address for booting"
308 default "0x1000"
309 range 0x1000 0x20000000
310 help
311 This option allows you to set the load address of the kernel.
312 This can be useful if you are on a board which has a small amount
313 of memory or you wish to reserve some memory at the beginning of
314 the address space.
315
316 Note that you need to keep this value above 4k (0x1000) as this
317 memory region is used to capture NULL pointer references as well
318 as some core kernel functions.
319
Michael Hennerich8cc71172008-10-13 14:45:06 +0800320config ROM_BASE
321 hex "Kernel ROM Base"
322 default "0x20040000"
323 range 0x20000000 0x20400000 if !(BF54x || BF561)
324 range 0x20000000 0x30000000 if (BF54x || BF561)
325 help
326
Robin Getzf16295e2007-08-03 18:07:17 +0800327comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700328
329config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800330 int "Frequency of the crystal on the board in Hz"
Bryan Wu1394f032007-05-06 14:50:22 -0700331 default "11059200" if BFIN533_STAMP
332 default "27000000" if BFIN533_EZKIT
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800333 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700334 default "30000000" if BFIN561_EZKIT
335 default "24576000" if PNAV10
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800336 default "10000000" if BFIN532_IP0X
Bryan Wu1394f032007-05-06 14:50:22 -0700337 help
338 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800339 Warning: This value should match the crystal on the board. Otherwise,
340 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700341
Robin Getzf16295e2007-08-03 18:07:17 +0800342config BFIN_KERNEL_CLOCK
343 bool "Re-program Clocks while Kernel boots?"
344 default n
345 help
346 This option decides if kernel clocks are re-programed from the
347 bootloader settings. If the clocks are not set, the SDRAM settings
348 are also not changed, and the Bootloader does 100% of the hardware
349 configuration.
350
351config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800352 bool "Bypass PLL"
353 depends on BFIN_KERNEL_CLOCK
354 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800355
356config CLKIN_HALF
357 bool "Half Clock In"
358 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
359 default n
360 help
361 If this is set the clock will be divided by 2, before it goes to the PLL.
362
363config VCO_MULT
364 int "VCO Multiplier"
365 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
366 range 1 64
367 default "22" if BFIN533_EZKIT
368 default "45" if BFIN533_STAMP
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800369 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800370 default "22" if BFIN533_BLUETECHNIX_CM
Michael Hennerich9db144f2008-07-19 17:16:07 +0800371 default "20" if (BFIN537_BLUETECHNIX_CM || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800372 default "20" if BFIN561_EZKIT
Michael Hennerich8cc71172008-10-13 14:45:06 +0800373 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD)
Robin Getzf16295e2007-08-03 18:07:17 +0800374 help
375 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
376 PLL Frequency = (Crystal Frequency) * (this setting)
377
378choice
379 prompt "Core Clock Divider"
380 depends on BFIN_KERNEL_CLOCK
381 default CCLK_DIV_1
382 help
383 This sets the frequency of the core. It can be 1, 2, 4 or 8
384 Core Frequency = (PLL frequency) / (this setting)
385
386config CCLK_DIV_1
387 bool "1"
388
389config CCLK_DIV_2
390 bool "2"
391
392config CCLK_DIV_4
393 bool "4"
394
395config CCLK_DIV_8
396 bool "8"
397endchoice
398
399config SCLK_DIV
400 int "System Clock Divider"
401 depends on BFIN_KERNEL_CLOCK
402 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800403 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800404 help
405 This sets the frequency of the system clock (including SDRAM or DDR).
406 This can be between 1 and 15
407 System Clock = (PLL frequency) / (this setting)
408
Mike Frysinger5f004c22008-04-25 02:11:24 +0800409choice
410 prompt "DDR SDRAM Chip Type"
411 depends on BFIN_KERNEL_CLOCK
412 depends on BF54x
413 default MEM_MT46V32M16_5B
414
415config MEM_MT46V32M16_6T
416 bool "MT46V32M16_6T"
417
418config MEM_MT46V32M16_5B
419 bool "MT46V32M16_5B"
420endchoice
421
Mike Frysinger7eb2c232008-10-08 17:39:02 +0800422config MAX_MEM_SIZE
423 int "Max SDRAM Memory Size in MBytes"
424 depends on !MPU
425 default 512
426 help
427 This is the max memory size that the kernel will create CPLB
428 tables for. Your system will not be able to handle any more.
429
Robin Getzf16295e2007-08-03 18:07:17 +0800430#
431# Max & Min Speeds for various Chips
432#
433config MAX_VCO_HZ
434 int
435 default 600000000 if BF522
Mike Frysinger1545a112007-12-24 16:54:48 +0800436 default 400000000 if BF523
437 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800438 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800439 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800440 default 600000000 if BF527
441 default 400000000 if BF531
442 default 400000000 if BF532
443 default 750000000 if BF533
444 default 500000000 if BF534
445 default 400000000 if BF536
446 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800447 default 533333333 if BF538
448 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800449 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800450 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800451 default 600000000 if BF547
452 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800453 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800454 default 600000000 if BF561
455
456config MIN_VCO_HZ
457 int
458 default 50000000
459
460config MAX_SCLK_HZ
461 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800462 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800463
464config MIN_SCLK_HZ
465 int
466 default 27000000
467
468comment "Kernel Timer/Scheduler"
469
470source kernel/Kconfig.hz
471
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800472config GENERIC_TIME
473 bool "Generic time"
474 default y
475
476config GENERIC_CLOCKEVENTS
477 bool "Generic clock events"
478 depends on GENERIC_TIME
479 default y
480
481config CYCLES_CLOCKSOURCE
482 bool "Use 'CYCLES' as a clocksource (EXPERIMENTAL)"
483 depends on EXPERIMENTAL
484 depends on GENERIC_CLOCKEVENTS
485 depends on !BFIN_SCRATCH_REG_CYCLES
486 default n
487 help
488 If you say Y here, you will enable support for using the 'cycles'
489 registers as a clock source. Doing so means you will be unable to
490 safely write to the 'cycles' register during runtime. You will
491 still be able to read it (such as for performance monitoring), but
492 writing the registers will most likely crash the kernel.
493
494source kernel/time/Kconfig
495
Mike Frysinger5f004c22008-04-25 02:11:24 +0800496comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800497
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800498choice
499 prompt "Blackfin Exception Scratch Register"
500 default BFIN_SCRATCH_REG_RETN
501 help
502 Select the resource to reserve for the Exception handler:
503 - RETN: Non-Maskable Interrupt (NMI)
504 - RETE: Exception Return (JTAG/ICE)
505 - CYCLES: Performance counter
506
507 If you are unsure, please select "RETN".
508
509config BFIN_SCRATCH_REG_RETN
510 bool "RETN"
511 help
512 Use the RETN register in the Blackfin exception handler
513 as a stack scratch register. This means you cannot
514 safely use NMI on the Blackfin while running Linux, but
515 you can debug the system with a JTAG ICE and use the
516 CYCLES performance registers.
517
518 If you are unsure, please select "RETN".
519
520config BFIN_SCRATCH_REG_RETE
521 bool "RETE"
522 help
523 Use the RETE register in the Blackfin exception handler
524 as a stack scratch register. This means you cannot
525 safely use a JTAG ICE while debugging a Blackfin board,
526 but you can safely use the CYCLES performance registers
527 and the NMI.
528
529 If you are unsure, please select "RETN".
530
531config BFIN_SCRATCH_REG_CYCLES
532 bool "CYCLES"
533 help
534 Use the CYCLES register in the Blackfin exception handler
535 as a stack scratch register. This means you cannot
536 safely use the CYCLES performance registers on a Blackfin
537 board at anytime, but you can debug the system with a JTAG
538 ICE and use the NMI.
539
540 If you are unsure, please select "RETN".
541
542endchoice
543
Bryan Wu1394f032007-05-06 14:50:22 -0700544endmenu
545
546
547menu "Blackfin Kernel Optimizations"
548
Bryan Wu1394f032007-05-06 14:50:22 -0700549comment "Memory Optimizations"
550
551config I_ENTRY_L1
552 bool "Locate interrupt entry code in L1 Memory"
553 default y
554 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200555 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
556 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700557
558config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200559 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700560 default y
561 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200562 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800563 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200564 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700565
566config DO_IRQ_L1
567 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
568 default y
569 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200570 If enabled, the frequently called do_irq dispatcher function is linked
571 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700572
573config CORE_TIMER_IRQ_L1
574 bool "Locate frequently called timer_interrupt() function in L1 Memory"
575 default y
576 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200577 If enabled, the frequently called timer_interrupt() function is linked
578 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700579
580config IDLE_L1
581 bool "Locate frequently idle function in L1 Memory"
582 default y
583 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200584 If enabled, the frequently called idle function is linked
585 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700586
587config SCHEDULE_L1
588 bool "Locate kernel schedule function in L1 Memory"
589 default y
590 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200591 If enabled, the frequently called kernel schedule is linked
592 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700593
594config ARITHMETIC_OPS_L1
595 bool "Locate kernel owned arithmetic functions in L1 Memory"
596 default y
597 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200598 If enabled, arithmetic functions are linked
599 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700600
601config ACCESS_OK_L1
602 bool "Locate access_ok function in L1 Memory"
603 default y
604 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200605 If enabled, the access_ok function is linked
606 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700607
608config MEMSET_L1
609 bool "Locate memset function in L1 Memory"
610 default y
611 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200612 If enabled, the memset function is linked
613 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700614
615config MEMCPY_L1
616 bool "Locate memcpy function in L1 Memory"
617 default y
618 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200619 If enabled, the memcpy function is linked
620 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700621
622config SYS_BFIN_SPINLOCK_L1
623 bool "Locate sys_bfin_spinlock function in L1 Memory"
624 default y
625 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200626 If enabled, sys_bfin_spinlock function is linked
627 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700628
629config IP_CHECKSUM_L1
630 bool "Locate IP Checksum function in L1 Memory"
631 default n
632 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200633 If enabled, the IP Checksum function is linked
634 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700635
636config CACHELINE_ALIGNED_L1
637 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800638 default y if !BF54x
639 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700640 depends on !BF531
641 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200642 If enabled, cacheline_anligned data is linked
643 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700644
645config SYSCALL_TAB_L1
646 bool "Locate Syscall Table L1 Data Memory"
647 default n
648 depends on !BF531
649 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200650 If enabled, the Syscall LUT is linked
651 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700652
653config CPLB_SWITCH_TAB_L1
654 bool "Locate CPLB Switch Tables L1 Data Memory"
655 default n
656 depends on !BF531
657 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200658 If enabled, the CPLB Switch Tables are linked
659 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700660
Graf Yangca87b7a2008-10-08 17:30:01 +0800661config APP_STACK_L1
662 bool "Support locating application stack in L1 Scratch Memory"
663 default y
664 help
665 If enabled the application stack can be located in L1
666 scratch memory (less latency).
667
668 Currently only works with FLAT binaries.
669
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800670config EXCEPTION_L1_SCRATCH
671 bool "Locate exception stack in L1 Scratch Memory"
672 default n
673 depends on !APP_STACK_L1 && !SYSCALL_TAB_L1
674 help
675 Whenever an exception occurs, use the L1 Scratch memory for
676 stack storage. You cannot place the stacks of FLAT binaries
677 in L1 when using this option.
678
679 If you don't use L1 Scratch, then you should say Y here.
680
Robin Getz251383c2008-08-14 15:12:55 +0800681comment "Speed Optimizations"
682config BFIN_INS_LOWOVERHEAD
683 bool "ins[bwl] low overhead, higher interrupt latency"
684 default y
685 help
686 Reads on the Blackfin are speculative. In Blackfin terms, this means
687 they can be interrupted at any time (even after they have been issued
688 on to the external bus), and re-issued after the interrupt occurs.
689 For memory - this is not a big deal, since memory does not change if
690 it sees a read.
691
692 If a FIFO is sitting on the end of the read, it will see two reads,
693 when the core only sees one since the FIFO receives both the read
694 which is cancelled (and not delivered to the core) and the one which
695 is re-issued (which is delivered to the core).
696
697 To solve this, interrupts are turned off before reads occur to
698 I/O space. This option controls which the overhead/latency of
699 controlling interrupts during this time
700 "n" turns interrupts off every read
701 (higher overhead, but lower interrupt latency)
702 "y" turns interrupts off every loop
703 (low overhead, but longer interrupt latency)
704
705 default behavior is to leave this set to on (type "Y"). If you are experiencing
706 interrupt latency issues, it is safe and OK to turn this off.
707
Bryan Wu1394f032007-05-06 14:50:22 -0700708endmenu
709
710
711choice
712 prompt "Kernel executes from"
713 help
714 Choose the memory type that the kernel will be running in.
715
716config RAMKERNEL
717 bool "RAM"
718 help
719 The kernel will be resident in RAM when running.
720
721config ROMKERNEL
722 bool "ROM"
723 help
724 The kernel will be resident in FLASH/ROM when running.
725
726endchoice
727
728source "mm/Kconfig"
729
Mike Frysinger780431e2007-10-21 23:37:54 +0800730config BFIN_GPTIMERS
731 tristate "Enable Blackfin General Purpose Timers API"
732 default n
733 help
734 Enable support for the General Purpose Timers API. If you
735 are unsure, say N.
736
737 To compile this driver as a module, choose M here: the module
738 will be called gptimers.ko.
739
Bryan Wu1394f032007-05-06 14:50:22 -0700740config BFIN_DMA_5XX
741 bool "Enable DMA Support"
Bryan Wu1394f032007-05-06 14:50:22 -0700742 default y
743 help
Mike Frysingerd292b002008-10-28 11:15:36 +0800744 DMA driver for Blackfin parts.
Bryan Wu1394f032007-05-06 14:50:22 -0700745
746choice
Mike Frysingerd292b002008-10-28 11:15:36 +0800747 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700748 default DMA_UNCACHED_1M
Adrian Bunk247537b2007-09-26 20:02:52 +0200749 depends on BFIN_DMA_5XX
Cliff Cai86ad7932008-05-17 16:36:52 +0800750config DMA_UNCACHED_4M
751 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700752config DMA_UNCACHED_2M
753 bool "Enable 2M DMA region"
754config DMA_UNCACHED_1M
755 bool "Enable 1M DMA region"
756config DMA_UNCACHED_NONE
757 bool "Disable DMA region"
758endchoice
759
760
761comment "Cache Support"
Robin Getz3bebca22007-10-10 23:55:26 +0800762config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700763 bool "Enable ICACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800764config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700765 bool "Enable DCACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800766config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700767 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800768 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700769 default n
Robin Getz3bebca22007-10-10 23:55:26 +0800770config BFIN_ICACHE_LOCK
771 bool "Enable Instruction Cache Locking"
Bryan Wu1394f032007-05-06 14:50:22 -0700772
773choice
774 prompt "Policy"
Robin Getz3bebca22007-10-10 23:55:26 +0800775 depends on BFIN_DCACHE
776 default BFIN_WB
777config BFIN_WB
Bryan Wu1394f032007-05-06 14:50:22 -0700778 bool "Write back"
779 help
780 Write Back Policy:
781 Cached data will be written back to SDRAM only when needed.
782 This can give a nice increase in performance, but beware of
783 broken drivers that do not properly invalidate/flush their
784 cache.
785
786 Write Through Policy:
787 Cached data will always be written back to SDRAM when the
788 cache is updated. This is a completely safe setting, but
789 performance is worse than Write Back.
790
791 If you are unsure of the options and you want to be safe,
792 then go with Write Through.
793
Robin Getz3bebca22007-10-10 23:55:26 +0800794config BFIN_WT
Bryan Wu1394f032007-05-06 14:50:22 -0700795 bool "Write through"
796 help
797 Write Back Policy:
798 Cached data will be written back to SDRAM only when needed.
799 This can give a nice increase in performance, but beware of
800 broken drivers that do not properly invalidate/flush their
801 cache.
802
803 Write Through Policy:
804 Cached data will always be written back to SDRAM when the
805 cache is updated. This is a completely safe setting, but
806 performance is worse than Write Back.
807
808 If you are unsure of the options and you want to be safe,
809 then go with Write Through.
810
811endchoice
812
Sonic Zhangf099f392008-10-09 14:11:57 +0800813config BFIN_L2_CACHEABLE
814 bool "Cache L2 SRAM"
815 depends on (BFIN_DCACHE || BFIN_ICACHE) && (BF54x || BF561)
816 default n
817 help
818 Select to make L2 SRAM cacheable in L1 data and instruction cache.
819
Bernd Schmidtb97b8a92008-01-27 18:39:16 +0800820config MPU
821 bool "Enable the memory protection unit (EXPERIMENTAL)"
822 default n
823 help
824 Use the processor's MPU to protect applications from accessing
825 memory they do not own. This comes at a performance penalty
826 and is recommended only for debugging.
827
Bryan Wu1394f032007-05-06 14:50:22 -0700828comment "Asynchonous Memory Configuration"
829
Mike Frysingerddf416b2007-10-10 18:06:47 +0800830menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -0700831config C_AMCKEN
832 bool "Enable CLKOUT"
833 default y
834
835config C_CDPRIO
836 bool "DMA has priority over core for ext. accesses"
837 default n
838
839config C_B0PEN
840 depends on BF561
841 bool "Bank 0 16 bit packing enable"
842 default y
843
844config C_B1PEN
845 depends on BF561
846 bool "Bank 1 16 bit packing enable"
847 default y
848
849config C_B2PEN
850 depends on BF561
851 bool "Bank 2 16 bit packing enable"
852 default y
853
854config C_B3PEN
855 depends on BF561
856 bool "Bank 3 16 bit packing enable"
857 default n
858
859choice
860 prompt"Enable Asynchonous Memory Banks"
861 default C_AMBEN_ALL
862
863config C_AMBEN
864 bool "Disable All Banks"
865
866config C_AMBEN_B0
867 bool "Enable Bank 0"
868
869config C_AMBEN_B0_B1
870 bool "Enable Bank 0 & 1"
871
872config C_AMBEN_B0_B1_B2
873 bool "Enable Bank 0 & 1 & 2"
874
875config C_AMBEN_ALL
876 bool "Enable All Banks"
877endchoice
878endmenu
879
880menu "EBIU_AMBCTL Control"
881config BANK_0
882 hex "Bank 0"
883 default 0x7BB0
884
885config BANK_1
886 hex "Bank 1"
887 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +0800888 default 0x5558 if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700889
890config BANK_2
891 hex "Bank 2"
892 default 0x7BB0
893
894config BANK_3
895 hex "Bank 3"
896 default 0x99B3
897endmenu
898
Sonic Zhange40540b2007-11-21 23:49:52 +0800899config EBIU_MBSCTLVAL
900 hex "EBIU Bank Select Control Register"
901 depends on BF54x
902 default 0
903
904config EBIU_MODEVAL
905 hex "Flash Memory Mode Control Register"
906 depends on BF54x
907 default 1
908
909config EBIU_FCTLVAL
910 hex "Flash Memory Bank Control Register"
911 depends on BF54x
912 default 6
Bryan Wu1394f032007-05-06 14:50:22 -0700913endmenu
914
915#############################################################################
916menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
917
918config PCI
919 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +0800920 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -0700921 help
922 Support for PCI bus.
923
924source "drivers/pci/Kconfig"
925
926config HOTPLUG
927 bool "Support for hot-pluggable device"
928 help
929 Say Y here if you want to plug devices into your computer while
930 the system is running, and be able to use them quickly. In many
931 cases, the devices can likewise be unplugged at any time too.
932
933 One well known example of this is PCMCIA- or PC-cards, credit-card
934 size devices such as network cards, modems or hard drives which are
935 plugged into slots found on all modern laptop computers. Another
936 example, used on modern desktops as well as laptops, is USB.
937
Johannes Berga81792f2008-07-08 19:00:25 +0200938 Enable HOTPLUG and build a modular kernel. Get agent software
939 (from <http://linux-hotplug.sourceforge.net/>) and install it.
Bryan Wu1394f032007-05-06 14:50:22 -0700940 Then your kernel will automatically call out to a user mode "policy
941 agent" (/sbin/hotplug) to load modules and set up software needed
942 to use devices as you hotplug them.
943
944source "drivers/pcmcia/Kconfig"
945
946source "drivers/pci/hotplug/Kconfig"
947
948endmenu
949
950menu "Executable file formats"
951
952source "fs/Kconfig.binfmt"
953
954endmenu
955
956menu "Power management options"
957source "kernel/power/Kconfig"
958
Johannes Bergf4cb5702007-12-08 02:14:00 +0100959config ARCH_SUSPEND_POSSIBLE
960 def_bool y
961 depends on !SMP
962
Bryan Wu1394f032007-05-06 14:50:22 -0700963choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800964 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -0700965 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800966 default PM_BFIN_SLEEP_DEEPER
967config PM_BFIN_SLEEP_DEEPER
968 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -0700969 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800970 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
971 power dissipation by disabling the clock to the processor core (CCLK).
972 Furthermore, Standby sets the internal power supply voltage (VDDINT)
973 to 0.85 V to provide the greatest power savings, while preserving the
974 processor state.
975 The PLL and system clock (SCLK) continue to operate at a very low
976 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
977 the SDRAM is put into Self Refresh Mode. Typically an external event
978 such as GPIO interrupt or RTC activity wakes up the processor.
979 Various Peripherals such as UART, SPORT, PPI may not function as
980 normal during Sleep Deeper, due to the reduced SCLK frequency.
981 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -0700982
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800983 If unsure, select "Sleep Deeper".
984
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800985config PM_BFIN_SLEEP
986 bool "Sleep"
987 help
988 Sleep Mode (High Power Savings) - The sleep mode reduces power
989 dissipation by disabling the clock to the processor core (CCLK).
990 The PLL and system clock (SCLK), however, continue to operate in
991 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800992 up the processor. When in the sleep mode, system DMA access to L1
993 memory is not supported.
994
995 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -0700996endchoice
997
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800998config PM_WAKEUP_BY_GPIO
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800999 bool "Allow Wakeup from Standby by GPIO"
Bryan Wu1394f032007-05-06 14:50:22 -07001000
1001config PM_WAKEUP_GPIO_NUMBER
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001002 int "GPIO number"
Bryan Wu1394f032007-05-06 14:50:22 -07001003 range 0 47
1004 depends on PM_WAKEUP_BY_GPIO
1005 default 2 if BFIN537_STAMP
1006
1007choice
1008 prompt "GPIO Polarity"
1009 depends on PM_WAKEUP_BY_GPIO
1010 default PM_WAKEUP_GPIO_POLAR_H
1011config PM_WAKEUP_GPIO_POLAR_H
1012 bool "Active High"
1013config PM_WAKEUP_GPIO_POLAR_L
1014 bool "Active Low"
1015config PM_WAKEUP_GPIO_POLAR_EDGE_F
1016 bool "Falling EDGE"
1017config PM_WAKEUP_GPIO_POLAR_EDGE_R
1018 bool "Rising EDGE"
1019config PM_WAKEUP_GPIO_POLAR_EDGE_B
1020 bool "Both EDGE"
1021endchoice
1022
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001023comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1024 depends on PM
1025
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001026config PM_BFIN_WAKE_PH6
1027 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
1028 depends on PM && (BF52x || BF534 || BF536 || BF537)
1029 default n
1030 help
1031 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1032
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001033config PM_BFIN_WAKE_GP
1034 bool "Allow Wake-Up from GPIOs"
1035 depends on PM && BF54x
1036 default n
1037 help
1038 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Bryan Wu1394f032007-05-06 14:50:22 -07001039endmenu
1040
Bryan Wu1394f032007-05-06 14:50:22 -07001041menu "CPU Frequency scaling"
1042
1043source "drivers/cpufreq/Kconfig"
1044
Michael Hennerich14b03202008-05-07 11:41:26 +08001045config CPU_VOLTAGE
1046 bool "CPU Voltage scaling"
1047 depends on EXPERIMENTAL
1048 depends on CPU_FREQ
1049 default n
1050 help
1051 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1052 This option violates the PLL BYPASS recommendation in the Blackfin Processor
1053 manuals. There is a theoretical risk that during VDDINT transitions
1054 the PLL may unlock.
1055
Bryan Wu1394f032007-05-06 14:50:22 -07001056endmenu
1057
Bryan Wu1394f032007-05-06 14:50:22 -07001058source "net/Kconfig"
1059
1060source "drivers/Kconfig"
1061
1062source "fs/Kconfig"
1063
Mike Frysinger74ce8322007-11-21 23:50:49 +08001064source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001065
1066source "security/Kconfig"
1067
1068source "crypto/Kconfig"
1069
1070source "lib/Kconfig"