blob: 004c06ce3198c8a645b2d87bda5e174a2cd00c26 [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
Michael Hennericha4f0b32c2008-11-18 17:48:22 +080029 select ARCH_WANT_OPTIONAL_GPIOLIB
Bryan Wu1394f032007-05-06 14:50:22 -070030
Aubrey Lie3defff2007-05-21 18:09:11 +080031config ZONE_DMA
32 bool
33 default y
34
Bryan Wu1394f032007-05-06 14:50:22 -070035config GENERIC_FIND_NEXT_BIT
36 bool
37 default y
38
39config GENERIC_HWEIGHT
40 bool
41 default y
42
43config GENERIC_HARDIRQS
44 bool
45 default y
46
47config GENERIC_IRQ_PROBE
Mike Frysingere4e9a7a2007-11-15 20:39:34 +080048 bool
Bryan Wu1394f032007-05-06 14:50:22 -070049 default y
50
Michael Hennerichb2d15832007-07-24 15:46:36 +080051config GENERIC_GPIO
Bryan Wu1394f032007-05-06 14:50:22 -070052 bool
53 default y
54
55config FORCE_MAX_ZONEORDER
56 int
57 default "14"
58
59config GENERIC_CALIBRATE_DELAY
60 bool
61 default y
62
Mathieu Desnoyers7d2284b2008-01-15 12:42:02 -050063config HARDWARE_PM
64 def_bool y
65 depends on OPROFILE
66
Bryan Wu1394f032007-05-06 14:50:22 -070067source "init/Kconfig"
Matt Helsleydc52ddc2008-10-18 20:27:21 -070068
Bryan Wu1394f032007-05-06 14:50:22 -070069source "kernel/Kconfig.preempt"
70
Matt Helsleydc52ddc2008-10-18 20:27:21 -070071source "kernel/Kconfig.freezer"
72
Bryan Wu1394f032007-05-06 14:50:22 -070073menu "Blackfin Processor Options"
74
75comment "Processor and Board Settings"
76
77choice
78 prompt "CPU"
79 default BF533
80
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080081config BF512
82 bool "BF512"
83 help
84 BF512 Processor Support.
85
86config BF514
87 bool "BF514"
88 help
89 BF514 Processor Support.
90
91config BF516
92 bool "BF516"
93 help
94 BF516 Processor Support.
95
96config BF518
97 bool "BF518"
98 help
99 BF518 Processor Support.
100
Michael Hennerich59003142007-10-21 16:54:27 +0800101config BF522
102 bool "BF522"
103 help
104 BF522 Processor Support.
105
Mike Frysinger1545a112007-12-24 16:54:48 +0800106config BF523
107 bool "BF523"
108 help
109 BF523 Processor Support.
110
111config BF524
112 bool "BF524"
113 help
114 BF524 Processor Support.
115
Michael Hennerich59003142007-10-21 16:54:27 +0800116config BF525
117 bool "BF525"
118 help
119 BF525 Processor Support.
120
Mike Frysinger1545a112007-12-24 16:54:48 +0800121config BF526
122 bool "BF526"
123 help
124 BF526 Processor Support.
125
Michael Hennerich59003142007-10-21 16:54:27 +0800126config BF527
127 bool "BF527"
128 help
129 BF527 Processor Support.
130
Bryan Wu1394f032007-05-06 14:50:22 -0700131config BF531
132 bool "BF531"
133 help
134 BF531 Processor Support.
135
136config BF532
137 bool "BF532"
138 help
139 BF532 Processor Support.
140
141config BF533
142 bool "BF533"
143 help
144 BF533 Processor Support.
145
146config BF534
147 bool "BF534"
148 help
149 BF534 Processor Support.
150
151config BF536
152 bool "BF536"
153 help
154 BF536 Processor Support.
155
156config BF537
157 bool "BF537"
158 help
159 BF537 Processor Support.
160
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800161config BF538
162 bool "BF538"
163 help
164 BF538 Processor Support.
165
166config BF539
167 bool "BF539"
168 help
169 BF539 Processor Support.
170
Roy Huang24a07a12007-07-12 22:41:45 +0800171config BF542
172 bool "BF542"
173 help
174 BF542 Processor Support.
175
176config BF544
177 bool "BF544"
178 help
179 BF544 Processor Support.
180
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800181config BF547
182 bool "BF547"
183 help
184 BF547 Processor Support.
185
Roy Huang24a07a12007-07-12 22:41:45 +0800186config BF548
187 bool "BF548"
188 help
189 BF548 Processor Support.
190
191config BF549
192 bool "BF549"
193 help
194 BF549 Processor Support.
195
Bryan Wu1394f032007-05-06 14:50:22 -0700196config BF561
197 bool "BF561"
198 help
Mike Frysingercd88b4d2008-10-09 12:03:22 +0800199 BF561 Processor Support.
Bryan Wu1394f032007-05-06 14:50:22 -0700200
201endchoice
202
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800203config BF_REV_MIN
204 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800205 default 0 if (BF51x || BF52x || BF54x)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800206 default 2 if (BF537 || BF536 || BF534)
207 default 3 if (BF561 ||BF533 || BF532 || BF531)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800208 default 4 if (BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800209
210config BF_REV_MAX
211 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800212 default 2 if (BF51x || BF52x || BF54x)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800213 default 3 if (BF537 || BF536 || BF534)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800214 default 5 if (BF561 || BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800215 default 6 if (BF533 || BF532 || BF531)
216
Bryan Wu1394f032007-05-06 14:50:22 -0700217choice
218 prompt "Silicon Rev"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800219 default BF_REV_0_1 if (BF51x || BF52x || BF54x)
Mike Frysinger46ce0d92008-10-09 12:05:31 +0800220 default BF_REV_0_2 if (BF534 || BF536 || BF537)
221 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800222
223config BF_REV_0_0
224 bool "0.0"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800225 depends on (BF51x || BF52x || BF54x)
Michael Hennerich59003142007-10-21 16:54:27 +0800226
227config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800228 bool "0.1"
229 depends on (BF52x || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700230
231config BF_REV_0_2
232 bool "0.2"
Mike Frysinger49f72532008-10-09 12:06:27 +0800233 depends on (BF52x || BF537 || BF536 || BF534 || BF54x)
Bryan Wu1394f032007-05-06 14:50:22 -0700234
235config BF_REV_0_3
236 bool "0.3"
237 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
238
239config BF_REV_0_4
240 bool "0.4"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800241 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700242
243config BF_REV_0_5
244 bool "0.5"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800245 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700246
Mike Frysinger49f72532008-10-09 12:06:27 +0800247config BF_REV_0_6
248 bool "0.6"
249 depends on (BF533 || BF532 || BF531)
250
Jie Zhangde3025f2007-06-25 18:04:12 +0800251config BF_REV_ANY
252 bool "any"
253
254config BF_REV_NONE
255 bool "none"
256
Bryan Wu1394f032007-05-06 14:50:22 -0700257endchoice
258
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800259config BF51x
260 bool
261 depends on (BF512 || BF514 || BF516 || BF518)
262 default y
263
Michael Hennerich59003142007-10-21 16:54:27 +0800264config BF52x
265 bool
Mike Frysinger1545a112007-12-24 16:54:48 +0800266 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
Michael Hennerich59003142007-10-21 16:54:27 +0800267 default y
268
Roy Huang24a07a12007-07-12 22:41:45 +0800269config BF53x
270 bool
271 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
272 default y
273
274config BF54x
275 bool
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800276 depends on (BF542 || BF544 || BF547 || BF548 || BF549)
Roy Huang24a07a12007-07-12 22:41:45 +0800277 default y
278
Bryan Wu1394f032007-05-06 14:50:22 -0700279config MEM_GENERIC_BOARD
280 bool
281 depends on GENERIC_BOARD
282 default y
283
284config MEM_MT48LC64M4A2FB_7E
285 bool
286 depends on (BFIN533_STAMP)
287 default y
288
289config MEM_MT48LC16M16A2TG_75
290 bool
291 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Javier Herreroab472a02007-10-29 16:14:44 +0800292 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
Michael Hennerich9db144f2008-07-19 17:16:07 +0800293 || H8606_HVSISTEMAS || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700294 default y
295
296config MEM_MT48LC32M8A2_75
297 bool
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800298 depends on (BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700299 default y
300
301config MEM_MT48LC8M32B2B5_7
302 bool
303 depends on (BFIN561_BLUETECHNIX_CM)
304 default y
305
Michael Hennerich59003142007-10-21 16:54:27 +0800306config MEM_MT48LC32M16A2TG_75
307 bool
Michael Hennerich8cc71172008-10-13 14:45:06 +0800308 depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP || BFIN526_EZBRD)
Michael Hennerich59003142007-10-21 16:54:27 +0800309 default y
310
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800311source "arch/blackfin/mach-bf518/Kconfig"
Michael Hennerich59003142007-10-21 16:54:27 +0800312source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700313source "arch/blackfin/mach-bf533/Kconfig"
314source "arch/blackfin/mach-bf561/Kconfig"
315source "arch/blackfin/mach-bf537/Kconfig"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800316source "arch/blackfin/mach-bf538/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800317source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700318
319menu "Board customizations"
320
321config CMDLINE_BOOL
322 bool "Default bootloader kernel arguments"
323
324config CMDLINE
325 string "Initial kernel command string"
326 depends on CMDLINE_BOOL
327 default "console=ttyBF0,57600"
328 help
329 If you don't have a boot loader capable of passing a command line string
330 to the kernel, you may specify one here. As a minimum, you should specify
331 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
332
Mike Frysinger5f004c22008-04-25 02:11:24 +0800333config BOOT_LOAD
334 hex "Kernel load address for booting"
335 default "0x1000"
336 range 0x1000 0x20000000
337 help
338 This option allows you to set the load address of the kernel.
339 This can be useful if you are on a board which has a small amount
340 of memory or you wish to reserve some memory at the beginning of
341 the address space.
342
343 Note that you need to keep this value above 4k (0x1000) as this
344 memory region is used to capture NULL pointer references as well
345 as some core kernel functions.
346
Michael Hennerich8cc71172008-10-13 14:45:06 +0800347config ROM_BASE
348 hex "Kernel ROM Base"
349 default "0x20040000"
350 range 0x20000000 0x20400000 if !(BF54x || BF561)
351 range 0x20000000 0x30000000 if (BF54x || BF561)
352 help
353
Robin Getzf16295e2007-08-03 18:07:17 +0800354comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700355
356config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800357 int "Frequency of the crystal on the board in Hz"
Bryan Wu1394f032007-05-06 14:50:22 -0700358 default "11059200" if BFIN533_STAMP
359 default "27000000" if BFIN533_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800360 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN538_EZKIT || BFIN518F-EZBRD)
Bryan Wu1394f032007-05-06 14:50:22 -0700361 default "30000000" if BFIN561_EZKIT
362 default "24576000" if PNAV10
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800363 default "10000000" if BFIN532_IP0X
Bryan Wu1394f032007-05-06 14:50:22 -0700364 help
365 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800366 Warning: This value should match the crystal on the board. Otherwise,
367 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700368
Robin Getzf16295e2007-08-03 18:07:17 +0800369config BFIN_KERNEL_CLOCK
370 bool "Re-program Clocks while Kernel boots?"
371 default n
372 help
373 This option decides if kernel clocks are re-programed from the
374 bootloader settings. If the clocks are not set, the SDRAM settings
375 are also not changed, and the Bootloader does 100% of the hardware
376 configuration.
377
378config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800379 bool "Bypass PLL"
380 depends on BFIN_KERNEL_CLOCK
381 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800382
383config CLKIN_HALF
384 bool "Half Clock In"
385 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
386 default n
387 help
388 If this is set the clock will be divided by 2, before it goes to the PLL.
389
390config VCO_MULT
391 int "VCO Multiplier"
392 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
393 range 1 64
394 default "22" if BFIN533_EZKIT
395 default "45" if BFIN533_STAMP
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800396 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800397 default "22" if BFIN533_BLUETECHNIX_CM
Michael Hennerich9db144f2008-07-19 17:16:07 +0800398 default "20" if (BFIN537_BLUETECHNIX_CM || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800399 default "20" if BFIN561_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800400 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
Robin Getzf16295e2007-08-03 18:07:17 +0800401 help
402 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
403 PLL Frequency = (Crystal Frequency) * (this setting)
404
405choice
406 prompt "Core Clock Divider"
407 depends on BFIN_KERNEL_CLOCK
408 default CCLK_DIV_1
409 help
410 This sets the frequency of the core. It can be 1, 2, 4 or 8
411 Core Frequency = (PLL frequency) / (this setting)
412
413config CCLK_DIV_1
414 bool "1"
415
416config CCLK_DIV_2
417 bool "2"
418
419config CCLK_DIV_4
420 bool "4"
421
422config CCLK_DIV_8
423 bool "8"
424endchoice
425
426config SCLK_DIV
427 int "System Clock Divider"
428 depends on BFIN_KERNEL_CLOCK
429 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800430 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800431 help
432 This sets the frequency of the system clock (including SDRAM or DDR).
433 This can be between 1 and 15
434 System Clock = (PLL frequency) / (this setting)
435
Mike Frysinger5f004c22008-04-25 02:11:24 +0800436choice
437 prompt "DDR SDRAM Chip Type"
438 depends on BFIN_KERNEL_CLOCK
439 depends on BF54x
440 default MEM_MT46V32M16_5B
441
442config MEM_MT46V32M16_6T
443 bool "MT46V32M16_6T"
444
445config MEM_MT46V32M16_5B
446 bool "MT46V32M16_5B"
447endchoice
448
Mike Frysinger7eb2c232008-10-08 17:39:02 +0800449config MAX_MEM_SIZE
450 int "Max SDRAM Memory Size in MBytes"
451 depends on !MPU
452 default 512
453 help
454 This is the max memory size that the kernel will create CPLB
455 tables for. Your system will not be able to handle any more.
456
Robin Getzf16295e2007-08-03 18:07:17 +0800457#
458# Max & Min Speeds for various Chips
459#
460config MAX_VCO_HZ
461 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800462 default 400000000 if BF512
463 default 400000000 if BF514
464 default 400000000 if BF516
465 default 400000000 if BF518
Robin Getzf16295e2007-08-03 18:07:17 +0800466 default 600000000 if BF522
Mike Frysinger1545a112007-12-24 16:54:48 +0800467 default 400000000 if BF523
468 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800469 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800470 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800471 default 600000000 if BF527
472 default 400000000 if BF531
473 default 400000000 if BF532
474 default 750000000 if BF533
475 default 500000000 if BF534
476 default 400000000 if BF536
477 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800478 default 533333333 if BF538
479 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800480 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800481 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800482 default 600000000 if BF547
483 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800484 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800485 default 600000000 if BF561
486
487config MIN_VCO_HZ
488 int
489 default 50000000
490
491config MAX_SCLK_HZ
492 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800493 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800494
495config MIN_SCLK_HZ
496 int
497 default 27000000
498
499comment "Kernel Timer/Scheduler"
500
501source kernel/Kconfig.hz
502
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800503config GENERIC_TIME
504 bool "Generic time"
505 default y
506
507config GENERIC_CLOCKEVENTS
508 bool "Generic clock events"
509 depends on GENERIC_TIME
510 default y
511
512config CYCLES_CLOCKSOURCE
513 bool "Use 'CYCLES' as a clocksource (EXPERIMENTAL)"
514 depends on EXPERIMENTAL
515 depends on GENERIC_CLOCKEVENTS
516 depends on !BFIN_SCRATCH_REG_CYCLES
517 default n
518 help
519 If you say Y here, you will enable support for using the 'cycles'
520 registers as a clock source. Doing so means you will be unable to
521 safely write to the 'cycles' register during runtime. You will
522 still be able to read it (such as for performance monitoring), but
523 writing the registers will most likely crash the kernel.
524
525source kernel/time/Kconfig
526
Mike Frysinger5f004c22008-04-25 02:11:24 +0800527comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800528
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800529choice
530 prompt "Blackfin Exception Scratch Register"
531 default BFIN_SCRATCH_REG_RETN
532 help
533 Select the resource to reserve for the Exception handler:
534 - RETN: Non-Maskable Interrupt (NMI)
535 - RETE: Exception Return (JTAG/ICE)
536 - CYCLES: Performance counter
537
538 If you are unsure, please select "RETN".
539
540config BFIN_SCRATCH_REG_RETN
541 bool "RETN"
542 help
543 Use the RETN register in the Blackfin exception handler
544 as a stack scratch register. This means you cannot
545 safely use NMI on the Blackfin while running Linux, but
546 you can debug the system with a JTAG ICE and use the
547 CYCLES performance registers.
548
549 If you are unsure, please select "RETN".
550
551config BFIN_SCRATCH_REG_RETE
552 bool "RETE"
553 help
554 Use the RETE register in the Blackfin exception handler
555 as a stack scratch register. This means you cannot
556 safely use a JTAG ICE while debugging a Blackfin board,
557 but you can safely use the CYCLES performance registers
558 and the NMI.
559
560 If you are unsure, please select "RETN".
561
562config BFIN_SCRATCH_REG_CYCLES
563 bool "CYCLES"
564 help
565 Use the CYCLES register in the Blackfin exception handler
566 as a stack scratch register. This means you cannot
567 safely use the CYCLES performance registers on a Blackfin
568 board at anytime, but you can debug the system with a JTAG
569 ICE and use the NMI.
570
571 If you are unsure, please select "RETN".
572
573endchoice
574
Bryan Wu1394f032007-05-06 14:50:22 -0700575endmenu
576
577
578menu "Blackfin Kernel Optimizations"
579
Bryan Wu1394f032007-05-06 14:50:22 -0700580comment "Memory Optimizations"
581
582config I_ENTRY_L1
583 bool "Locate interrupt entry code in L1 Memory"
584 default y
585 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200586 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
587 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700588
589config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200590 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700591 default y
592 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200593 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800594 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200595 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700596
597config DO_IRQ_L1
598 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
599 default y
600 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200601 If enabled, the frequently called do_irq dispatcher function is linked
602 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700603
604config CORE_TIMER_IRQ_L1
605 bool "Locate frequently called timer_interrupt() function in L1 Memory"
606 default y
607 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200608 If enabled, the frequently called timer_interrupt() function is linked
609 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700610
611config IDLE_L1
612 bool "Locate frequently idle function in L1 Memory"
613 default y
614 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200615 If enabled, the frequently called idle function is linked
616 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700617
618config SCHEDULE_L1
619 bool "Locate kernel schedule function in L1 Memory"
620 default y
621 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200622 If enabled, the frequently called kernel schedule is linked
623 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700624
625config ARITHMETIC_OPS_L1
626 bool "Locate kernel owned arithmetic functions in L1 Memory"
627 default y
628 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200629 If enabled, arithmetic functions are linked
630 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700631
632config ACCESS_OK_L1
633 bool "Locate access_ok function in L1 Memory"
634 default y
635 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200636 If enabled, the access_ok function is linked
637 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700638
639config MEMSET_L1
640 bool "Locate memset function in L1 Memory"
641 default y
642 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200643 If enabled, the memset function is linked
644 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700645
646config MEMCPY_L1
647 bool "Locate memcpy function in L1 Memory"
648 default y
649 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200650 If enabled, the memcpy function is linked
651 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700652
653config SYS_BFIN_SPINLOCK_L1
654 bool "Locate sys_bfin_spinlock function in L1 Memory"
655 default y
656 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200657 If enabled, sys_bfin_spinlock function is linked
658 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700659
660config IP_CHECKSUM_L1
661 bool "Locate IP Checksum function in L1 Memory"
662 default n
663 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200664 If enabled, the IP Checksum function is linked
665 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700666
667config CACHELINE_ALIGNED_L1
668 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800669 default y if !BF54x
670 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700671 depends on !BF531
672 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200673 If enabled, cacheline_anligned data is linked
674 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700675
676config SYSCALL_TAB_L1
677 bool "Locate Syscall Table L1 Data Memory"
678 default n
679 depends on !BF531
680 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200681 If enabled, the Syscall LUT is linked
682 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700683
684config CPLB_SWITCH_TAB_L1
685 bool "Locate CPLB Switch Tables L1 Data Memory"
686 default n
687 depends on !BF531
688 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200689 If enabled, the CPLB Switch Tables are linked
690 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700691
Graf Yangca87b7a2008-10-08 17:30:01 +0800692config APP_STACK_L1
693 bool "Support locating application stack in L1 Scratch Memory"
694 default y
695 help
696 If enabled the application stack can be located in L1
697 scratch memory (less latency).
698
699 Currently only works with FLAT binaries.
700
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800701config EXCEPTION_L1_SCRATCH
702 bool "Locate exception stack in L1 Scratch Memory"
703 default n
704 depends on !APP_STACK_L1 && !SYSCALL_TAB_L1
705 help
706 Whenever an exception occurs, use the L1 Scratch memory for
707 stack storage. You cannot place the stacks of FLAT binaries
708 in L1 when using this option.
709
710 If you don't use L1 Scratch, then you should say Y here.
711
Robin Getz251383c2008-08-14 15:12:55 +0800712comment "Speed Optimizations"
713config BFIN_INS_LOWOVERHEAD
714 bool "ins[bwl] low overhead, higher interrupt latency"
715 default y
716 help
717 Reads on the Blackfin are speculative. In Blackfin terms, this means
718 they can be interrupted at any time (even after they have been issued
719 on to the external bus), and re-issued after the interrupt occurs.
720 For memory - this is not a big deal, since memory does not change if
721 it sees a read.
722
723 If a FIFO is sitting on the end of the read, it will see two reads,
724 when the core only sees one since the FIFO receives both the read
725 which is cancelled (and not delivered to the core) and the one which
726 is re-issued (which is delivered to the core).
727
728 To solve this, interrupts are turned off before reads occur to
729 I/O space. This option controls which the overhead/latency of
730 controlling interrupts during this time
731 "n" turns interrupts off every read
732 (higher overhead, but lower interrupt latency)
733 "y" turns interrupts off every loop
734 (low overhead, but longer interrupt latency)
735
736 default behavior is to leave this set to on (type "Y"). If you are experiencing
737 interrupt latency issues, it is safe and OK to turn this off.
738
Bryan Wu1394f032007-05-06 14:50:22 -0700739endmenu
740
741
742choice
743 prompt "Kernel executes from"
744 help
745 Choose the memory type that the kernel will be running in.
746
747config RAMKERNEL
748 bool "RAM"
749 help
750 The kernel will be resident in RAM when running.
751
752config ROMKERNEL
753 bool "ROM"
754 help
755 The kernel will be resident in FLASH/ROM when running.
756
757endchoice
758
759source "mm/Kconfig"
760
Mike Frysinger780431e2007-10-21 23:37:54 +0800761config BFIN_GPTIMERS
762 tristate "Enable Blackfin General Purpose Timers API"
763 default n
764 help
765 Enable support for the General Purpose Timers API. If you
766 are unsure, say N.
767
768 To compile this driver as a module, choose M here: the module
769 will be called gptimers.ko.
770
Bryan Wu1394f032007-05-06 14:50:22 -0700771config BFIN_DMA_5XX
772 bool "Enable DMA Support"
Bryan Wu1394f032007-05-06 14:50:22 -0700773 default y
774 help
Mike Frysingerd292b002008-10-28 11:15:36 +0800775 DMA driver for Blackfin parts.
Bryan Wu1394f032007-05-06 14:50:22 -0700776
777choice
Mike Frysingerd292b002008-10-28 11:15:36 +0800778 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700779 default DMA_UNCACHED_1M
Adrian Bunk247537b2007-09-26 20:02:52 +0200780 depends on BFIN_DMA_5XX
Cliff Cai86ad7932008-05-17 16:36:52 +0800781config DMA_UNCACHED_4M
782 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700783config DMA_UNCACHED_2M
784 bool "Enable 2M DMA region"
785config DMA_UNCACHED_1M
786 bool "Enable 1M DMA region"
787config DMA_UNCACHED_NONE
788 bool "Disable DMA region"
789endchoice
790
791
792comment "Cache Support"
Robin Getz3bebca22007-10-10 23:55:26 +0800793config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700794 bool "Enable ICACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800795config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700796 bool "Enable DCACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800797config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700798 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800799 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700800 default n
Robin Getz3bebca22007-10-10 23:55:26 +0800801config BFIN_ICACHE_LOCK
802 bool "Enable Instruction Cache Locking"
Bryan Wu1394f032007-05-06 14:50:22 -0700803
804choice
805 prompt "Policy"
Robin Getz3bebca22007-10-10 23:55:26 +0800806 depends on BFIN_DCACHE
807 default BFIN_WB
808config BFIN_WB
Bryan Wu1394f032007-05-06 14:50:22 -0700809 bool "Write back"
810 help
811 Write Back Policy:
812 Cached data will be written back to SDRAM only when needed.
813 This can give a nice increase in performance, but beware of
814 broken drivers that do not properly invalidate/flush their
815 cache.
816
817 Write Through Policy:
818 Cached data will always be written back to SDRAM when the
819 cache is updated. This is a completely safe setting, but
820 performance is worse than Write Back.
821
822 If you are unsure of the options and you want to be safe,
823 then go with Write Through.
824
Robin Getz3bebca22007-10-10 23:55:26 +0800825config BFIN_WT
Bryan Wu1394f032007-05-06 14:50:22 -0700826 bool "Write through"
827 help
828 Write Back Policy:
829 Cached data will be written back to SDRAM only when needed.
830 This can give a nice increase in performance, but beware of
831 broken drivers that do not properly invalidate/flush their
832 cache.
833
834 Write Through Policy:
835 Cached data will always be written back to SDRAM when the
836 cache is updated. This is a completely safe setting, but
837 performance is worse than Write Back.
838
839 If you are unsure of the options and you want to be safe,
840 then go with Write Through.
841
842endchoice
843
Sonic Zhangf099f392008-10-09 14:11:57 +0800844config BFIN_L2_CACHEABLE
845 bool "Cache L2 SRAM"
846 depends on (BFIN_DCACHE || BFIN_ICACHE) && (BF54x || BF561)
847 default n
848 help
849 Select to make L2 SRAM cacheable in L1 data and instruction cache.
850
Bernd Schmidtb97b8a92008-01-27 18:39:16 +0800851config MPU
852 bool "Enable the memory protection unit (EXPERIMENTAL)"
853 default n
854 help
855 Use the processor's MPU to protect applications from accessing
856 memory they do not own. This comes at a performance penalty
857 and is recommended only for debugging.
858
Bryan Wu1394f032007-05-06 14:50:22 -0700859comment "Asynchonous Memory Configuration"
860
Mike Frysingerddf416b2007-10-10 18:06:47 +0800861menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -0700862config C_AMCKEN
863 bool "Enable CLKOUT"
864 default y
865
866config C_CDPRIO
867 bool "DMA has priority over core for ext. accesses"
868 default n
869
870config C_B0PEN
871 depends on BF561
872 bool "Bank 0 16 bit packing enable"
873 default y
874
875config C_B1PEN
876 depends on BF561
877 bool "Bank 1 16 bit packing enable"
878 default y
879
880config C_B2PEN
881 depends on BF561
882 bool "Bank 2 16 bit packing enable"
883 default y
884
885config C_B3PEN
886 depends on BF561
887 bool "Bank 3 16 bit packing enable"
888 default n
889
890choice
891 prompt"Enable Asynchonous Memory Banks"
892 default C_AMBEN_ALL
893
894config C_AMBEN
895 bool "Disable All Banks"
896
897config C_AMBEN_B0
898 bool "Enable Bank 0"
899
900config C_AMBEN_B0_B1
901 bool "Enable Bank 0 & 1"
902
903config C_AMBEN_B0_B1_B2
904 bool "Enable Bank 0 & 1 & 2"
905
906config C_AMBEN_ALL
907 bool "Enable All Banks"
908endchoice
909endmenu
910
911menu "EBIU_AMBCTL Control"
912config BANK_0
913 hex "Bank 0"
914 default 0x7BB0
915
916config BANK_1
917 hex "Bank 1"
918 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +0800919 default 0x5558 if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700920
921config BANK_2
922 hex "Bank 2"
923 default 0x7BB0
924
925config BANK_3
926 hex "Bank 3"
927 default 0x99B3
928endmenu
929
Sonic Zhange40540b2007-11-21 23:49:52 +0800930config EBIU_MBSCTLVAL
931 hex "EBIU Bank Select Control Register"
932 depends on BF54x
933 default 0
934
935config EBIU_MODEVAL
936 hex "Flash Memory Mode Control Register"
937 depends on BF54x
938 default 1
939
940config EBIU_FCTLVAL
941 hex "Flash Memory Bank Control Register"
942 depends on BF54x
943 default 6
Bryan Wu1394f032007-05-06 14:50:22 -0700944endmenu
945
946#############################################################################
947menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
948
949config PCI
950 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +0800951 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -0700952 help
953 Support for PCI bus.
954
955source "drivers/pci/Kconfig"
956
957config HOTPLUG
958 bool "Support for hot-pluggable device"
959 help
960 Say Y here if you want to plug devices into your computer while
961 the system is running, and be able to use them quickly. In many
962 cases, the devices can likewise be unplugged at any time too.
963
964 One well known example of this is PCMCIA- or PC-cards, credit-card
965 size devices such as network cards, modems or hard drives which are
966 plugged into slots found on all modern laptop computers. Another
967 example, used on modern desktops as well as laptops, is USB.
968
Johannes Berga81792f2008-07-08 19:00:25 +0200969 Enable HOTPLUG and build a modular kernel. Get agent software
970 (from <http://linux-hotplug.sourceforge.net/>) and install it.
Bryan Wu1394f032007-05-06 14:50:22 -0700971 Then your kernel will automatically call out to a user mode "policy
972 agent" (/sbin/hotplug) to load modules and set up software needed
973 to use devices as you hotplug them.
974
975source "drivers/pcmcia/Kconfig"
976
977source "drivers/pci/hotplug/Kconfig"
978
979endmenu
980
981menu "Executable file formats"
982
983source "fs/Kconfig.binfmt"
984
985endmenu
986
987menu "Power management options"
988source "kernel/power/Kconfig"
989
Johannes Bergf4cb5702007-12-08 02:14:00 +0100990config ARCH_SUSPEND_POSSIBLE
991 def_bool y
992 depends on !SMP
993
Bryan Wu1394f032007-05-06 14:50:22 -0700994choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +0800995 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -0700996 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800997 default PM_BFIN_SLEEP_DEEPER
998config PM_BFIN_SLEEP_DEEPER
999 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001000 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001001 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1002 power dissipation by disabling the clock to the processor core (CCLK).
1003 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1004 to 0.85 V to provide the greatest power savings, while preserving the
1005 processor state.
1006 The PLL and system clock (SCLK) continue to operate at a very low
1007 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1008 the SDRAM is put into Self Refresh Mode. Typically an external event
1009 such as GPIO interrupt or RTC activity wakes up the processor.
1010 Various Peripherals such as UART, SPORT, PPI may not function as
1011 normal during Sleep Deeper, due to the reduced SCLK frequency.
1012 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001013
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001014 If unsure, select "Sleep Deeper".
1015
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001016config PM_BFIN_SLEEP
1017 bool "Sleep"
1018 help
1019 Sleep Mode (High Power Savings) - The sleep mode reduces power
1020 dissipation by disabling the clock to the processor core (CCLK).
1021 The PLL and system clock (SCLK), however, continue to operate in
1022 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001023 up the processor. When in the sleep mode, system DMA access to L1
1024 memory is not supported.
1025
1026 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001027endchoice
1028
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001029config PM_WAKEUP_BY_GPIO
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001030 bool "Allow Wakeup from Standby by GPIO"
Bryan Wu1394f032007-05-06 14:50:22 -07001031
1032config PM_WAKEUP_GPIO_NUMBER
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001033 int "GPIO number"
Bryan Wu1394f032007-05-06 14:50:22 -07001034 range 0 47
1035 depends on PM_WAKEUP_BY_GPIO
1036 default 2 if BFIN537_STAMP
1037
1038choice
1039 prompt "GPIO Polarity"
1040 depends on PM_WAKEUP_BY_GPIO
1041 default PM_WAKEUP_GPIO_POLAR_H
1042config PM_WAKEUP_GPIO_POLAR_H
1043 bool "Active High"
1044config PM_WAKEUP_GPIO_POLAR_L
1045 bool "Active Low"
1046config PM_WAKEUP_GPIO_POLAR_EDGE_F
1047 bool "Falling EDGE"
1048config PM_WAKEUP_GPIO_POLAR_EDGE_R
1049 bool "Rising EDGE"
1050config PM_WAKEUP_GPIO_POLAR_EDGE_B
1051 bool "Both EDGE"
1052endchoice
1053
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001054comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1055 depends on PM
1056
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001057config PM_BFIN_WAKE_PH6
1058 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001059 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001060 default n
1061 help
1062 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1063
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001064config PM_BFIN_WAKE_GP
1065 bool "Allow Wake-Up from GPIOs"
1066 depends on PM && BF54x
1067 default n
1068 help
1069 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Bryan Wu1394f032007-05-06 14:50:22 -07001070endmenu
1071
Bryan Wu1394f032007-05-06 14:50:22 -07001072menu "CPU Frequency scaling"
1073
1074source "drivers/cpufreq/Kconfig"
1075
Michael Hennerich14b03202008-05-07 11:41:26 +08001076config CPU_VOLTAGE
1077 bool "CPU Voltage scaling"
1078 depends on EXPERIMENTAL
1079 depends on CPU_FREQ
1080 default n
1081 help
1082 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1083 This option violates the PLL BYPASS recommendation in the Blackfin Processor
1084 manuals. There is a theoretical risk that during VDDINT transitions
1085 the PLL may unlock.
1086
Bryan Wu1394f032007-05-06 14:50:22 -07001087endmenu
1088
Bryan Wu1394f032007-05-06 14:50:22 -07001089source "net/Kconfig"
1090
1091source "drivers/Kconfig"
1092
1093source "fs/Kconfig"
1094
Mike Frysinger74ce8322007-11-21 23:50:49 +08001095source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001096
1097source "security/Kconfig"
1098
1099source "crypto/Kconfig"
1100
1101source "lib/Kconfig"