blob: e37e993431b966d60d101deff14d75ad02b08803 [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"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800742 depends on (BF52x || BF53x || BF561 || BF54x || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700743 default y
744 help
745 DMA driver for BF5xx.
746
747choice
748 prompt "Uncached SDRAM region"
749 default DMA_UNCACHED_1M
Adrian Bunk247537b2007-09-26 20:02:52 +0200750 depends on BFIN_DMA_5XX
Cliff Cai86ad7932008-05-17 16:36:52 +0800751config DMA_UNCACHED_4M
752 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700753config DMA_UNCACHED_2M
754 bool "Enable 2M DMA region"
755config DMA_UNCACHED_1M
756 bool "Enable 1M DMA region"
757config DMA_UNCACHED_NONE
758 bool "Disable DMA region"
759endchoice
760
761
762comment "Cache Support"
Robin Getz3bebca22007-10-10 23:55:26 +0800763config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700764 bool "Enable ICACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800765config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700766 bool "Enable DCACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800767config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700768 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800769 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700770 default n
Robin Getz3bebca22007-10-10 23:55:26 +0800771config BFIN_ICACHE_LOCK
772 bool "Enable Instruction Cache Locking"
Bryan Wu1394f032007-05-06 14:50:22 -0700773
774choice
775 prompt "Policy"
Robin Getz3bebca22007-10-10 23:55:26 +0800776 depends on BFIN_DCACHE
777 default BFIN_WB
778config BFIN_WB
Bryan Wu1394f032007-05-06 14:50:22 -0700779 bool "Write back"
780 help
781 Write Back Policy:
782 Cached data will be written back to SDRAM only when needed.
783 This can give a nice increase in performance, but beware of
784 broken drivers that do not properly invalidate/flush their
785 cache.
786
787 Write Through Policy:
788 Cached data will always be written back to SDRAM when the
789 cache is updated. This is a completely safe setting, but
790 performance is worse than Write Back.
791
792 If you are unsure of the options and you want to be safe,
793 then go with Write Through.
794
Robin Getz3bebca22007-10-10 23:55:26 +0800795config BFIN_WT
Bryan Wu1394f032007-05-06 14:50:22 -0700796 bool "Write through"
797 help
798 Write Back Policy:
799 Cached data will be written back to SDRAM only when needed.
800 This can give a nice increase in performance, but beware of
801 broken drivers that do not properly invalidate/flush their
802 cache.
803
804 Write Through Policy:
805 Cached data will always be written back to SDRAM when the
806 cache is updated. This is a completely safe setting, but
807 performance is worse than Write Back.
808
809 If you are unsure of the options and you want to be safe,
810 then go with Write Through.
811
812endchoice
813
Sonic Zhangf099f392008-10-09 14:11:57 +0800814config BFIN_L2_CACHEABLE
815 bool "Cache L2 SRAM"
816 depends on (BFIN_DCACHE || BFIN_ICACHE) && (BF54x || BF561)
817 default n
818 help
819 Select to make L2 SRAM cacheable in L1 data and instruction cache.
820
Bernd Schmidtb97b8a92008-01-27 18:39:16 +0800821config MPU
822 bool "Enable the memory protection unit (EXPERIMENTAL)"
823 default n
824 help
825 Use the processor's MPU to protect applications from accessing
826 memory they do not own. This comes at a performance penalty
827 and is recommended only for debugging.
828
Bryan Wu1394f032007-05-06 14:50:22 -0700829comment "Asynchonous Memory Configuration"
830
Mike Frysingerddf416b2007-10-10 18:06:47 +0800831menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -0700832config C_AMCKEN
833 bool "Enable CLKOUT"
834 default y
835
836config C_CDPRIO
837 bool "DMA has priority over core for ext. accesses"
838 default n
839
840config C_B0PEN
841 depends on BF561
842 bool "Bank 0 16 bit packing enable"
843 default y
844
845config C_B1PEN
846 depends on BF561
847 bool "Bank 1 16 bit packing enable"
848 default y
849
850config C_B2PEN
851 depends on BF561
852 bool "Bank 2 16 bit packing enable"
853 default y
854
855config C_B3PEN
856 depends on BF561
857 bool "Bank 3 16 bit packing enable"
858 default n
859
860choice
861 prompt"Enable Asynchonous Memory Banks"
862 default C_AMBEN_ALL
863
864config C_AMBEN
865 bool "Disable All Banks"
866
867config C_AMBEN_B0
868 bool "Enable Bank 0"
869
870config C_AMBEN_B0_B1
871 bool "Enable Bank 0 & 1"
872
873config C_AMBEN_B0_B1_B2
874 bool "Enable Bank 0 & 1 & 2"
875
876config C_AMBEN_ALL
877 bool "Enable All Banks"
878endchoice
879endmenu
880
881menu "EBIU_AMBCTL Control"
882config BANK_0
883 hex "Bank 0"
884 default 0x7BB0
885
886config BANK_1
887 hex "Bank 1"
888 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +0800889 default 0x5558 if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700890
891config BANK_2
892 hex "Bank 2"
893 default 0x7BB0
894
895config BANK_3
896 hex "Bank 3"
897 default 0x99B3
898endmenu
899
Sonic Zhange40540b2007-11-21 23:49:52 +0800900config EBIU_MBSCTLVAL
901 hex "EBIU Bank Select Control Register"
902 depends on BF54x
903 default 0
904
905config EBIU_MODEVAL
906 hex "Flash Memory Mode Control Register"
907 depends on BF54x
908 default 1
909
910config EBIU_FCTLVAL
911 hex "Flash Memory Bank Control Register"
912 depends on BF54x
913 default 6
Bryan Wu1394f032007-05-06 14:50:22 -0700914endmenu
915
916#############################################################################
917menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
918
919config PCI
920 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +0800921 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -0700922 help
923 Support for PCI bus.
924
925source "drivers/pci/Kconfig"
926
927config HOTPLUG
928 bool "Support for hot-pluggable device"
929 help
930 Say Y here if you want to plug devices into your computer while
931 the system is running, and be able to use them quickly. In many
932 cases, the devices can likewise be unplugged at any time too.
933
934 One well known example of this is PCMCIA- or PC-cards, credit-card
935 size devices such as network cards, modems or hard drives which are
936 plugged into slots found on all modern laptop computers. Another
937 example, used on modern desktops as well as laptops, is USB.
938
Johannes Berga81792f2008-07-08 19:00:25 +0200939 Enable HOTPLUG and build a modular kernel. Get agent software
940 (from <http://linux-hotplug.sourceforge.net/>) and install it.
Bryan Wu1394f032007-05-06 14:50:22 -0700941 Then your kernel will automatically call out to a user mode "policy
942 agent" (/sbin/hotplug) to load modules and set up software needed
943 to use devices as you hotplug them.
944
945source "drivers/pcmcia/Kconfig"
946
947source "drivers/pci/hotplug/Kconfig"
948
949endmenu
950
951menu "Executable file formats"
952
953source "fs/Kconfig.binfmt"
954
955endmenu
956
957menu "Power management options"
958source "kernel/power/Kconfig"
959
Johannes Bergf4cb5702007-12-08 02:14:00 +0100960config ARCH_SUSPEND_POSSIBLE
961 def_bool y
962 depends on !SMP
963
Bryan Wu1394f032007-05-06 14:50:22 -0700964choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800965 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -0700966 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800967 default PM_BFIN_SLEEP_DEEPER
968config PM_BFIN_SLEEP_DEEPER
969 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -0700970 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800971 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
972 power dissipation by disabling the clock to the processor core (CCLK).
973 Furthermore, Standby sets the internal power supply voltage (VDDINT)
974 to 0.85 V to provide the greatest power savings, while preserving the
975 processor state.
976 The PLL and system clock (SCLK) continue to operate at a very low
977 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
978 the SDRAM is put into Self Refresh Mode. Typically an external event
979 such as GPIO interrupt or RTC activity wakes up the processor.
980 Various Peripherals such as UART, SPORT, PPI may not function as
981 normal during Sleep Deeper, due to the reduced SCLK frequency.
982 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -0700983
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800984 If unsure, select "Sleep Deeper".
985
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800986config PM_BFIN_SLEEP
987 bool "Sleep"
988 help
989 Sleep Mode (High Power Savings) - The sleep mode reduces power
990 dissipation by disabling the clock to the processor core (CCLK).
991 The PLL and system clock (SCLK), however, continue to operate in
992 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800993 up the processor. When in the sleep mode, system DMA access to L1
994 memory is not supported.
995
996 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -0700997endchoice
998
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800999config PM_WAKEUP_BY_GPIO
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001000 bool "Allow Wakeup from Standby by GPIO"
Bryan Wu1394f032007-05-06 14:50:22 -07001001
1002config PM_WAKEUP_GPIO_NUMBER
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001003 int "GPIO number"
Bryan Wu1394f032007-05-06 14:50:22 -07001004 range 0 47
1005 depends on PM_WAKEUP_BY_GPIO
1006 default 2 if BFIN537_STAMP
1007
1008choice
1009 prompt "GPIO Polarity"
1010 depends on PM_WAKEUP_BY_GPIO
1011 default PM_WAKEUP_GPIO_POLAR_H
1012config PM_WAKEUP_GPIO_POLAR_H
1013 bool "Active High"
1014config PM_WAKEUP_GPIO_POLAR_L
1015 bool "Active Low"
1016config PM_WAKEUP_GPIO_POLAR_EDGE_F
1017 bool "Falling EDGE"
1018config PM_WAKEUP_GPIO_POLAR_EDGE_R
1019 bool "Rising EDGE"
1020config PM_WAKEUP_GPIO_POLAR_EDGE_B
1021 bool "Both EDGE"
1022endchoice
1023
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001024comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1025 depends on PM
1026
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001027config PM_BFIN_WAKE_PH6
1028 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
1029 depends on PM && (BF52x || BF534 || BF536 || BF537)
1030 default n
1031 help
1032 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1033
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001034config PM_BFIN_WAKE_GP
1035 bool "Allow Wake-Up from GPIOs"
1036 depends on PM && BF54x
1037 default n
1038 help
1039 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Bryan Wu1394f032007-05-06 14:50:22 -07001040endmenu
1041
Bryan Wu1394f032007-05-06 14:50:22 -07001042menu "CPU Frequency scaling"
1043
1044source "drivers/cpufreq/Kconfig"
1045
Michael Hennerich14b03202008-05-07 11:41:26 +08001046config CPU_VOLTAGE
1047 bool "CPU Voltage scaling"
1048 depends on EXPERIMENTAL
1049 depends on CPU_FREQ
1050 default n
1051 help
1052 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1053 This option violates the PLL BYPASS recommendation in the Blackfin Processor
1054 manuals. There is a theoretical risk that during VDDINT transitions
1055 the PLL may unlock.
1056
Bryan Wu1394f032007-05-06 14:50:22 -07001057endmenu
1058
Bryan Wu1394f032007-05-06 14:50:22 -07001059source "net/Kconfig"
1060
1061source "drivers/Kconfig"
1062
1063source "fs/Kconfig"
1064
Mike Frysinger74ce8322007-11-21 23:50:49 +08001065source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001066
1067source "security/Kconfig"
1068
1069source "crypto/Kconfig"
1070
1071source "lib/Kconfig"