blob: c0d444535611bf5c1c6d80140e0b89c66a134144 [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
Mike Frysingerbac7d892009-06-07 03:46:06 -04009 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -070010
11config FPU
Mike Frysingerbac7d892009-06-07 03:46:06 -040012 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -070013
14config RWSEM_GENERIC_SPINLOCK
Mike Frysingerbac7d892009-06-07 03:46:06 -040015 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070016
17config RWSEM_XCHGADD_ALGORITHM
Mike Frysingerbac7d892009-06-07 03:46:06 -040018 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -070019
20config BLACKFIN
Mike Frysingerbac7d892009-06-07 03:46:06 -040021 def_bool y
Mike Frysinger1ee76d72009-06-10 04:45:29 -040022 select HAVE_FUNCTION_GRAPH_TRACER
Mike Frysinger1c873be2009-06-09 07:25:09 -040023 select HAVE_FUNCTION_TRACER
Sam Ravnborgec7748b2008-02-09 10:46:40 +010024 select HAVE_IDE
Mike Frysinger538067c2009-06-07 03:47:01 -040025 select HAVE_KERNEL_GZIP
26 select HAVE_KERNEL_BZIP2
27 select HAVE_KERNEL_LZMA
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
Mike Frysingerddf9dda2009-06-13 07:42:58 -040031config GENERIC_CSUM
32 def_bool y
33
Mike Frysinger70f12562009-06-07 17:18:25 -040034config GENERIC_BUG
35 def_bool y
36 depends on BUG
37
Aubrey Lie3defff2007-05-21 18:09:11 +080038config ZONE_DMA
Mike Frysingerbac7d892009-06-07 03:46:06 -040039 def_bool y
Aubrey Lie3defff2007-05-21 18:09:11 +080040
Bryan Wu1394f032007-05-06 14:50:22 -070041config GENERIC_FIND_NEXT_BIT
Mike Frysingerbac7d892009-06-07 03:46:06 -040042 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070043
44config GENERIC_HWEIGHT
Mike Frysingerbac7d892009-06-07 03:46:06 -040045 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070046
47config GENERIC_HARDIRQS
Mike Frysingerbac7d892009-06-07 03:46:06 -040048 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070049
50config GENERIC_IRQ_PROBE
Mike Frysingerbac7d892009-06-07 03:46:06 -040051 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070052
Michael Hennerich796dada2009-09-30 07:54:40 +000053config GENERIC_HARDIRQS_NO__DO_IRQ
54 def_bool y
55
Michael Hennerichb2d15832007-07-24 15:46:36 +080056config GENERIC_GPIO
Mike Frysingerbac7d892009-06-07 03:46:06 -040057 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070058
59config FORCE_MAX_ZONEORDER
60 int
61 default "14"
62
63config GENERIC_CALIBRATE_DELAY
Mike Frysingerbac7d892009-06-07 03:46:06 -040064 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070065
Mike Frysinger6fa68e72009-06-08 18:45:01 -040066config LOCKDEP_SUPPORT
67 def_bool y
68
Mike Frysingerc7b412f2009-06-08 18:44:45 -040069config STACKTRACE_SUPPORT
70 def_bool y
71
Mike Frysinger8f860012009-06-08 12:49:48 -040072config TRACE_IRQFLAGS_SUPPORT
73 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070074
Bryan Wu1394f032007-05-06 14:50:22 -070075source "init/Kconfig"
Matt Helsleydc52ddc2008-10-18 20:27:21 -070076
Bryan Wu1394f032007-05-06 14:50:22 -070077source "kernel/Kconfig.preempt"
78
Matt Helsleydc52ddc2008-10-18 20:27:21 -070079source "kernel/Kconfig.freezer"
80
Bryan Wu1394f032007-05-06 14:50:22 -070081menu "Blackfin Processor Options"
82
83comment "Processor and Board Settings"
84
85choice
86 prompt "CPU"
87 default BF533
88
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080089config BF512
90 bool "BF512"
91 help
92 BF512 Processor Support.
93
94config BF514
95 bool "BF514"
96 help
97 BF514 Processor Support.
98
99config BF516
100 bool "BF516"
101 help
102 BF516 Processor Support.
103
104config BF518
105 bool "BF518"
106 help
107 BF518 Processor Support.
108
Michael Hennerich59003142007-10-21 16:54:27 +0800109config BF522
110 bool "BF522"
111 help
112 BF522 Processor Support.
113
Mike Frysinger1545a112007-12-24 16:54:48 +0800114config BF523
115 bool "BF523"
116 help
117 BF523 Processor Support.
118
119config BF524
120 bool "BF524"
121 help
122 BF524 Processor Support.
123
Michael Hennerich59003142007-10-21 16:54:27 +0800124config BF525
125 bool "BF525"
126 help
127 BF525 Processor Support.
128
Mike Frysinger1545a112007-12-24 16:54:48 +0800129config BF526
130 bool "BF526"
131 help
132 BF526 Processor Support.
133
Michael Hennerich59003142007-10-21 16:54:27 +0800134config BF527
135 bool "BF527"
136 help
137 BF527 Processor Support.
138
Bryan Wu1394f032007-05-06 14:50:22 -0700139config BF531
140 bool "BF531"
141 help
142 BF531 Processor Support.
143
144config BF532
145 bool "BF532"
146 help
147 BF532 Processor Support.
148
149config BF533
150 bool "BF533"
151 help
152 BF533 Processor Support.
153
154config BF534
155 bool "BF534"
156 help
157 BF534 Processor Support.
158
159config BF536
160 bool "BF536"
161 help
162 BF536 Processor Support.
163
164config BF537
165 bool "BF537"
166 help
167 BF537 Processor Support.
168
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800169config BF538
170 bool "BF538"
171 help
172 BF538 Processor Support.
173
174config BF539
175 bool "BF539"
176 help
177 BF539 Processor Support.
178
Roy Huang24a07a12007-07-12 22:41:45 +0800179config BF542
180 bool "BF542"
181 help
182 BF542 Processor Support.
183
Mike Frysinger2f89c062009-02-04 16:49:45 +0800184config BF542M
185 bool "BF542m"
186 help
187 BF542 Processor Support.
188
Roy Huang24a07a12007-07-12 22:41:45 +0800189config BF544
190 bool "BF544"
191 help
192 BF544 Processor Support.
193
Mike Frysinger2f89c062009-02-04 16:49:45 +0800194config BF544M
195 bool "BF544m"
196 help
197 BF544 Processor Support.
198
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800199config BF547
200 bool "BF547"
201 help
202 BF547 Processor Support.
203
Mike Frysinger2f89c062009-02-04 16:49:45 +0800204config BF547M
205 bool "BF547m"
206 help
207 BF547 Processor Support.
208
Roy Huang24a07a12007-07-12 22:41:45 +0800209config BF548
210 bool "BF548"
211 help
212 BF548 Processor Support.
213
Mike Frysinger2f89c062009-02-04 16:49:45 +0800214config BF548M
215 bool "BF548m"
216 help
217 BF548 Processor Support.
218
Roy Huang24a07a12007-07-12 22:41:45 +0800219config BF549
220 bool "BF549"
221 help
222 BF549 Processor Support.
223
Mike Frysinger2f89c062009-02-04 16:49:45 +0800224config BF549M
225 bool "BF549m"
226 help
227 BF549 Processor Support.
228
Bryan Wu1394f032007-05-06 14:50:22 -0700229config BF561
230 bool "BF561"
231 help
Mike Frysingercd88b4d2008-10-09 12:03:22 +0800232 BF561 Processor Support.
Bryan Wu1394f032007-05-06 14:50:22 -0700233
234endchoice
235
Graf Yang46fa5ee2009-01-07 23:14:39 +0800236config SMP
237 depends on BF561
john stultz10f03f12009-09-15 21:17:19 -0700238 select GENERIC_CLOCKEVENTS
Graf Yang46fa5ee2009-01-07 23:14:39 +0800239 bool "Symmetric multi-processing support"
240 ---help---
241 This enables support for systems with more than one CPU,
242 like the dual core BF561. If you have a system with only one
243 CPU, say N. If you have a system with more than one CPU, say Y.
244
245 If you don't know what to do here, say N.
246
247config NR_CPUS
248 int
249 depends on SMP
250 default 2 if BF561
251
252config IRQ_PER_CPU
253 bool
254 depends on SMP
255 default y
256
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800257config BF_REV_MIN
258 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800259 default 0 if (BF51x || BF52x || (BF54x && !BF54xM))
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800260 default 2 if (BF537 || BF536 || BF534)
Mike Frysinger2f89c062009-02-04 16:49:45 +0800261 default 3 if (BF561 || BF533 || BF532 || BF531 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800262 default 4 if (BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800263
264config BF_REV_MAX
265 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800266 default 2 if (BF51x || BF52x || (BF54x && !BF54xM))
267 default 3 if (BF537 || BF536 || BF534 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800268 default 5 if (BF561 || BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800269 default 6 if (BF533 || BF532 || BF531)
270
Bryan Wu1394f032007-05-06 14:50:22 -0700271choice
272 prompt "Silicon Rev"
Mike Frysingerf8b55652009-04-13 21:58:34 +0000273 default BF_REV_0_0 if (BF51x || BF52x)
274 default BF_REV_0_2 if (BF534 || BF536 || BF537 || (BF54x && !BF54xM))
Mike Frysinger2f89c062009-02-04 16:49:45 +0800275 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF54xM || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800276
277config BF_REV_0_0
278 bool "0.0"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800279 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Michael Hennerich59003142007-10-21 16:54:27 +0800280
281config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800282 bool "0.1"
Mike Frysinger3d15f302009-06-15 16:21:44 +0000283 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700284
285config BF_REV_0_2
286 bool "0.2"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800287 depends on (BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700288
289config BF_REV_0_3
290 bool "0.3"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800291 depends on (BF54xM || BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
Bryan Wu1394f032007-05-06 14:50:22 -0700292
293config BF_REV_0_4
294 bool "0.4"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800295 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700296
297config BF_REV_0_5
298 bool "0.5"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800299 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700300
Mike Frysinger49f72532008-10-09 12:06:27 +0800301config BF_REV_0_6
302 bool "0.6"
303 depends on (BF533 || BF532 || BF531)
304
Jie Zhangde3025f2007-06-25 18:04:12 +0800305config BF_REV_ANY
306 bool "any"
307
308config BF_REV_NONE
309 bool "none"
310
Bryan Wu1394f032007-05-06 14:50:22 -0700311endchoice
312
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800313config BF51x
314 bool
315 depends on (BF512 || BF514 || BF516 || BF518)
316 default y
317
Michael Hennerich59003142007-10-21 16:54:27 +0800318config BF52x
319 bool
Mike Frysinger1545a112007-12-24 16:54:48 +0800320 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
Michael Hennerich59003142007-10-21 16:54:27 +0800321 default y
322
Roy Huang24a07a12007-07-12 22:41:45 +0800323config BF53x
324 bool
325 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
326 default y
327
Mike Frysinger2f89c062009-02-04 16:49:45 +0800328config BF54xM
329 bool
330 depends on (BF542M || BF544M || BF547M || BF548M || BF549M)
331 default y
332
Roy Huang24a07a12007-07-12 22:41:45 +0800333config BF54x
334 bool
Mike Frysinger2f89c062009-02-04 16:49:45 +0800335 depends on (BF542 || BF544 || BF547 || BF548 || BF549 || BF54xM)
Roy Huang24a07a12007-07-12 22:41:45 +0800336 default y
337
Bryan Wu1394f032007-05-06 14:50:22 -0700338config MEM_GENERIC_BOARD
339 bool
340 depends on GENERIC_BOARD
341 default y
342
343config MEM_MT48LC64M4A2FB_7E
344 bool
345 depends on (BFIN533_STAMP)
346 default y
347
348config MEM_MT48LC16M16A2TG_75
349 bool
350 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000351 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM_E \
352 || BFIN537_BLUETECHNIX_CM_U || H8606_HVSISTEMAS \
353 || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700354 default y
355
356config MEM_MT48LC32M8A2_75
357 bool
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800358 depends on (BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700359 default y
360
361config MEM_MT48LC8M32B2B5_7
362 bool
363 depends on (BFIN561_BLUETECHNIX_CM)
364 default y
365
Michael Hennerich59003142007-10-21 16:54:27 +0800366config MEM_MT48LC32M16A2TG_75
367 bool
Graf Yangee48efb2009-06-18 04:32:04 +0000368 depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP)
Michael Hennerich59003142007-10-21 16:54:27 +0800369 default y
370
Sonic Zhang49345402009-01-07 23:14:38 +0800371config MEM_MT48LC32M8A2_75
372 bool
373 depends on (BFIN518F_EZBRD)
374 default y
375
Graf Yangee48efb2009-06-18 04:32:04 +0000376config MEM_MT48H32M16LFCJ_75
377 bool
378 depends on (BFIN526_EZBRD)
379 default y
380
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800381source "arch/blackfin/mach-bf518/Kconfig"
Michael Hennerich59003142007-10-21 16:54:27 +0800382source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700383source "arch/blackfin/mach-bf533/Kconfig"
384source "arch/blackfin/mach-bf561/Kconfig"
385source "arch/blackfin/mach-bf537/Kconfig"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800386source "arch/blackfin/mach-bf538/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800387source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700388
389menu "Board customizations"
390
391config CMDLINE_BOOL
392 bool "Default bootloader kernel arguments"
393
394config CMDLINE
395 string "Initial kernel command string"
396 depends on CMDLINE_BOOL
397 default "console=ttyBF0,57600"
398 help
399 If you don't have a boot loader capable of passing a command line string
400 to the kernel, you may specify one here. As a minimum, you should specify
401 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
402
Mike Frysinger5f004c22008-04-25 02:11:24 +0800403config BOOT_LOAD
404 hex "Kernel load address for booting"
405 default "0x1000"
406 range 0x1000 0x20000000
407 help
408 This option allows you to set the load address of the kernel.
409 This can be useful if you are on a board which has a small amount
410 of memory or you wish to reserve some memory at the beginning of
411 the address space.
412
413 Note that you need to keep this value above 4k (0x1000) as this
414 memory region is used to capture NULL pointer references as well
415 as some core kernel functions.
416
Michael Hennerich8cc71172008-10-13 14:45:06 +0800417config ROM_BASE
418 hex "Kernel ROM Base"
Mike Frysinger86249912008-11-18 17:48:22 +0800419 depends on ROMKERNEL
Michael Hennerich8cc71172008-10-13 14:45:06 +0800420 default "0x20040000"
421 range 0x20000000 0x20400000 if !(BF54x || BF561)
422 range 0x20000000 0x30000000 if (BF54x || BF561)
423 help
424
Robin Getzf16295e2007-08-03 18:07:17 +0800425comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700426
427config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800428 int "Frequency of the crystal on the board in Hz"
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800429 default "10000000" if BFIN532_IP0X
Mike Frysingerd0cb9b42009-06-11 21:52:35 +0000430 default "11059200" if BFIN533_STAMP
431 default "24576000" if PNAV10
432 default "25000000" # most people use this
433 default "27000000" if BFIN533_EZKIT
434 default "30000000" if BFIN561_EZKIT
Bryan Wu1394f032007-05-06 14:50:22 -0700435 help
436 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800437 Warning: This value should match the crystal on the board. Otherwise,
438 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700439
Robin Getzf16295e2007-08-03 18:07:17 +0800440config BFIN_KERNEL_CLOCK
441 bool "Re-program Clocks while Kernel boots?"
442 default n
443 help
444 This option decides if kernel clocks are re-programed from the
445 bootloader settings. If the clocks are not set, the SDRAM settings
446 are also not changed, and the Bootloader does 100% of the hardware
447 configuration.
448
449config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800450 bool "Bypass PLL"
451 depends on BFIN_KERNEL_CLOCK
452 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800453
454config CLKIN_HALF
455 bool "Half Clock In"
456 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
457 default n
458 help
459 If this is set the clock will be divided by 2, before it goes to the PLL.
460
461config VCO_MULT
462 int "VCO Multiplier"
463 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
464 range 1 64
465 default "22" if BFIN533_EZKIT
466 default "45" if BFIN533_STAMP
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800467 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800468 default "22" if BFIN533_BLUETECHNIX_CM
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000469 default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800470 default "20" if BFIN561_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800471 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
Robin Getzf16295e2007-08-03 18:07:17 +0800472 help
473 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
474 PLL Frequency = (Crystal Frequency) * (this setting)
475
476choice
477 prompt "Core Clock Divider"
478 depends on BFIN_KERNEL_CLOCK
479 default CCLK_DIV_1
480 help
481 This sets the frequency of the core. It can be 1, 2, 4 or 8
482 Core Frequency = (PLL frequency) / (this setting)
483
484config CCLK_DIV_1
485 bool "1"
486
487config CCLK_DIV_2
488 bool "2"
489
490config CCLK_DIV_4
491 bool "4"
492
493config CCLK_DIV_8
494 bool "8"
495endchoice
496
497config SCLK_DIV
498 int "System Clock Divider"
499 depends on BFIN_KERNEL_CLOCK
500 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800501 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800502 help
503 This sets the frequency of the system clock (including SDRAM or DDR).
504 This can be between 1 and 15
505 System Clock = (PLL frequency) / (this setting)
506
Mike Frysinger5f004c22008-04-25 02:11:24 +0800507choice
508 prompt "DDR SDRAM Chip Type"
509 depends on BFIN_KERNEL_CLOCK
510 depends on BF54x
511 default MEM_MT46V32M16_5B
512
513config MEM_MT46V32M16_6T
514 bool "MT46V32M16_6T"
515
516config MEM_MT46V32M16_5B
517 bool "MT46V32M16_5B"
518endchoice
519
Michael Hennerich73feb5c2009-01-07 23:14:39 +0800520choice
521 prompt "DDR/SDRAM Timing"
522 depends on BFIN_KERNEL_CLOCK
523 default BFIN_KERNEL_CLOCK_MEMINIT_CALC
524 help
525 This option allows you to specify Blackfin SDRAM/DDR Timing parameters
526 The calculated SDRAM timing parameters may not be 100%
527 accurate - This option is therefore marked experimental.
528
529config BFIN_KERNEL_CLOCK_MEMINIT_CALC
530 bool "Calculate Timings (EXPERIMENTAL)"
531 depends on EXPERIMENTAL
532
533config BFIN_KERNEL_CLOCK_MEMINIT_SPEC
534 bool "Provide accurate Timings based on target SCLK"
535 help
536 Please consult the Blackfin Hardware Reference Manuals as well
537 as the memory device datasheet.
538 http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram
539endchoice
540
541menu "Memory Init Control"
542 depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC
543
544config MEM_DDRCTL0
545 depends on BF54x
546 hex "DDRCTL0"
547 default 0x0
548
549config MEM_DDRCTL1
550 depends on BF54x
551 hex "DDRCTL1"
552 default 0x0
553
554config MEM_DDRCTL2
555 depends on BF54x
556 hex "DDRCTL2"
557 default 0x0
558
559config MEM_EBIU_DDRQUE
560 depends on BF54x
561 hex "DDRQUE"
562 default 0x0
563
564config MEM_SDRRC
565 depends on !BF54x
566 hex "SDRRC"
567 default 0x0
568
569config MEM_SDGCTL
570 depends on !BF54x
571 hex "SDGCTL"
572 default 0x0
573endmenu
574
Robin Getzf16295e2007-08-03 18:07:17 +0800575#
576# Max & Min Speeds for various Chips
577#
578config MAX_VCO_HZ
579 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800580 default 400000000 if BF512
581 default 400000000 if BF514
582 default 400000000 if BF516
583 default 400000000 if BF518
Mike Frysinger7b062632009-08-11 21:27:09 +0000584 default 400000000 if BF522
585 default 600000000 if BF523
Mike Frysinger1545a112007-12-24 16:54:48 +0800586 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800587 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800588 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800589 default 600000000 if BF527
590 default 400000000 if BF531
591 default 400000000 if BF532
592 default 750000000 if BF533
593 default 500000000 if BF534
594 default 400000000 if BF536
595 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800596 default 533333333 if BF538
597 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800598 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800599 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800600 default 600000000 if BF547
601 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800602 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800603 default 600000000 if BF561
604
605config MIN_VCO_HZ
606 int
607 default 50000000
608
609config MAX_SCLK_HZ
610 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800611 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800612
613config MIN_SCLK_HZ
614 int
615 default 27000000
616
617comment "Kernel Timer/Scheduler"
618
619source kernel/Kconfig.hz
620
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800621config GENERIC_TIME
john stultz10f03f12009-09-15 21:17:19 -0700622 def_bool y
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800623
624config GENERIC_CLOCKEVENTS
625 bool "Generic clock events"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800626 default y
627
Graf Yang1fa9be72009-05-15 11:01:59 +0000628choice
629 prompt "Kernel Tick Source"
630 depends on GENERIC_CLOCKEVENTS
631 default TICKSOURCE_CORETMR
632
633config TICKSOURCE_GPTMR0
634 bool "Gptimer0 (SCLK domain)"
635 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000636
637config TICKSOURCE_CORETMR
638 bool "Core timer (CCLK domain)"
639
640endchoice
641
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800642config CYCLES_CLOCKSOURCE
Graf Yang1fa9be72009-05-15 11:01:59 +0000643 bool "Use 'CYCLES' as a clocksource"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800644 depends on GENERIC_CLOCKEVENTS
645 depends on !BFIN_SCRATCH_REG_CYCLES
Graf Yang1fa9be72009-05-15 11:01:59 +0000646 depends on !SMP
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800647 help
648 If you say Y here, you will enable support for using the 'cycles'
649 registers as a clock source. Doing so means you will be unable to
650 safely write to the 'cycles' register during runtime. You will
651 still be able to read it (such as for performance monitoring), but
652 writing the registers will most likely crash the kernel.
653
Graf Yang1fa9be72009-05-15 11:01:59 +0000654config GPTMR0_CLOCKSOURCE
Graf Yange78feaa2009-09-14 04:41:00 +0000655 bool "Use GPTimer0 as a clocksource"
Mike Frysinger3aca47c2009-06-18 19:40:47 +0000656 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000657 depends on GENERIC_CLOCKEVENTS
658 depends on !TICKSOURCE_GPTMR0
659
john stultz10f03f12009-09-15 21:17:19 -0700660config ARCH_USES_GETTIMEOFFSET
661 depends on !GENERIC_CLOCKEVENTS
662 def_bool y
663
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800664source kernel/time/Kconfig
665
Mike Frysinger5f004c22008-04-25 02:11:24 +0800666comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800667
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800668choice
669 prompt "Blackfin Exception Scratch Register"
670 default BFIN_SCRATCH_REG_RETN
671 help
672 Select the resource to reserve for the Exception handler:
673 - RETN: Non-Maskable Interrupt (NMI)
674 - RETE: Exception Return (JTAG/ICE)
675 - CYCLES: Performance counter
676
677 If you are unsure, please select "RETN".
678
679config BFIN_SCRATCH_REG_RETN
680 bool "RETN"
681 help
682 Use the RETN register in the Blackfin exception handler
683 as a stack scratch register. This means you cannot
684 safely use NMI on the Blackfin while running Linux, but
685 you can debug the system with a JTAG ICE and use the
686 CYCLES performance registers.
687
688 If you are unsure, please select "RETN".
689
690config BFIN_SCRATCH_REG_RETE
691 bool "RETE"
692 help
693 Use the RETE register in the Blackfin exception handler
694 as a stack scratch register. This means you cannot
695 safely use a JTAG ICE while debugging a Blackfin board,
696 but you can safely use the CYCLES performance registers
697 and the NMI.
698
699 If you are unsure, please select "RETN".
700
701config BFIN_SCRATCH_REG_CYCLES
702 bool "CYCLES"
703 help
704 Use the CYCLES register in the Blackfin exception handler
705 as a stack scratch register. This means you cannot
706 safely use the CYCLES performance registers on a Blackfin
707 board at anytime, but you can debug the system with a JTAG
708 ICE and use the NMI.
709
710 If you are unsure, please select "RETN".
711
712endchoice
713
Bryan Wu1394f032007-05-06 14:50:22 -0700714endmenu
715
716
717menu "Blackfin Kernel Optimizations"
Graf Yang46fa5ee2009-01-07 23:14:39 +0800718 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700719
Bryan Wu1394f032007-05-06 14:50:22 -0700720comment "Memory Optimizations"
721
722config I_ENTRY_L1
723 bool "Locate interrupt entry code in L1 Memory"
724 default y
725 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200726 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
727 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700728
729config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200730 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700731 default y
732 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200733 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800734 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200735 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700736
737config DO_IRQ_L1
738 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
739 default y
740 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200741 If enabled, the frequently called do_irq dispatcher function is linked
742 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700743
744config CORE_TIMER_IRQ_L1
745 bool "Locate frequently called timer_interrupt() function in L1 Memory"
746 default y
747 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200748 If enabled, the frequently called timer_interrupt() function is linked
749 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700750
751config IDLE_L1
752 bool "Locate frequently idle function in L1 Memory"
753 default y
754 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200755 If enabled, the frequently called idle function is linked
756 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700757
758config SCHEDULE_L1
759 bool "Locate kernel schedule function in L1 Memory"
760 default y
761 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200762 If enabled, the frequently called kernel schedule is linked
763 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700764
765config ARITHMETIC_OPS_L1
766 bool "Locate kernel owned arithmetic functions in L1 Memory"
767 default y
768 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200769 If enabled, arithmetic functions are linked
770 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700771
772config ACCESS_OK_L1
773 bool "Locate access_ok function in L1 Memory"
774 default y
775 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200776 If enabled, the access_ok function is linked
777 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700778
779config MEMSET_L1
780 bool "Locate memset function in L1 Memory"
781 default y
782 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200783 If enabled, the memset function is linked
784 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700785
786config MEMCPY_L1
787 bool "Locate memcpy function in L1 Memory"
788 default y
789 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200790 If enabled, the memcpy function is linked
791 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700792
793config SYS_BFIN_SPINLOCK_L1
794 bool "Locate sys_bfin_spinlock function in L1 Memory"
795 default y
796 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200797 If enabled, sys_bfin_spinlock function is linked
798 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700799
800config IP_CHECKSUM_L1
801 bool "Locate IP Checksum function in L1 Memory"
802 default n
803 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200804 If enabled, the IP Checksum function is linked
805 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700806
807config CACHELINE_ALIGNED_L1
808 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800809 default y if !BF54x
810 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700811 depends on !BF531
812 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100813 If enabled, cacheline_aligned data is linked
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200814 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700815
816config SYSCALL_TAB_L1
817 bool "Locate Syscall Table L1 Data Memory"
818 default n
819 depends on !BF531
820 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200821 If enabled, the Syscall LUT is linked
822 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700823
824config CPLB_SWITCH_TAB_L1
825 bool "Locate CPLB Switch Tables L1 Data Memory"
826 default n
827 depends on !BF531
828 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200829 If enabled, the CPLB Switch Tables are linked
830 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700831
Graf Yangca87b7a2008-10-08 17:30:01 +0800832config APP_STACK_L1
833 bool "Support locating application stack in L1 Scratch Memory"
834 default y
835 help
836 If enabled the application stack can be located in L1
837 scratch memory (less latency).
838
839 Currently only works with FLAT binaries.
840
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800841config EXCEPTION_L1_SCRATCH
842 bool "Locate exception stack in L1 Scratch Memory"
843 default n
Graf Yangf82e0a02009-04-08 08:30:22 +0000844 depends on !APP_STACK_L1
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800845 help
846 Whenever an exception occurs, use the L1 Scratch memory for
847 stack storage. You cannot place the stacks of FLAT binaries
848 in L1 when using this option.
849
850 If you don't use L1 Scratch, then you should say Y here.
851
Robin Getz251383c2008-08-14 15:12:55 +0800852comment "Speed Optimizations"
853config BFIN_INS_LOWOVERHEAD
854 bool "ins[bwl] low overhead, higher interrupt latency"
855 default y
856 help
857 Reads on the Blackfin are speculative. In Blackfin terms, this means
858 they can be interrupted at any time (even after they have been issued
859 on to the external bus), and re-issued after the interrupt occurs.
860 For memory - this is not a big deal, since memory does not change if
861 it sees a read.
862
863 If a FIFO is sitting on the end of the read, it will see two reads,
864 when the core only sees one since the FIFO receives both the read
865 which is cancelled (and not delivered to the core) and the one which
866 is re-issued (which is delivered to the core).
867
868 To solve this, interrupts are turned off before reads occur to
869 I/O space. This option controls which the overhead/latency of
870 controlling interrupts during this time
871 "n" turns interrupts off every read
872 (higher overhead, but lower interrupt latency)
873 "y" turns interrupts off every loop
874 (low overhead, but longer interrupt latency)
875
876 default behavior is to leave this set to on (type "Y"). If you are experiencing
877 interrupt latency issues, it is safe and OK to turn this off.
878
Bryan Wu1394f032007-05-06 14:50:22 -0700879endmenu
880
Bryan Wu1394f032007-05-06 14:50:22 -0700881choice
882 prompt "Kernel executes from"
883 help
884 Choose the memory type that the kernel will be running in.
885
886config RAMKERNEL
887 bool "RAM"
888 help
889 The kernel will be resident in RAM when running.
890
891config ROMKERNEL
892 bool "ROM"
893 help
894 The kernel will be resident in FLASH/ROM when running.
895
896endchoice
897
898source "mm/Kconfig"
899
Mike Frysinger780431e2007-10-21 23:37:54 +0800900config BFIN_GPTIMERS
901 tristate "Enable Blackfin General Purpose Timers API"
902 default n
903 help
904 Enable support for the General Purpose Timers API. If you
905 are unsure, say N.
906
907 To compile this driver as a module, choose M here: the module
Pavel Machek4737f092009-06-05 00:44:53 +0200908 will be called gptimers.
Mike Frysinger780431e2007-10-21 23:37:54 +0800909
Bryan Wu1394f032007-05-06 14:50:22 -0700910choice
Mike Frysingerd292b002008-10-28 11:15:36 +0800911 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700912 default DMA_UNCACHED_1M
Cliff Cai86ad7932008-05-17 16:36:52 +0800913config DMA_UNCACHED_4M
914 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700915config DMA_UNCACHED_2M
916 bool "Enable 2M DMA region"
917config DMA_UNCACHED_1M
918 bool "Enable 1M DMA region"
919config DMA_UNCACHED_NONE
920 bool "Disable DMA region"
921endchoice
922
923
924comment "Cache Support"
Jie Zhang41ba6532009-06-16 09:48:33 +0000925
Robin Getz3bebca22007-10-10 23:55:26 +0800926config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700927 bool "Enable ICACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000928 default y
Jie Zhang41ba6532009-06-16 09:48:33 +0000929config BFIN_EXTMEM_ICACHEABLE
930 bool "Enable ICACHE for external memory"
931 depends on BFIN_ICACHE
932 default y
933config BFIN_L2_ICACHEABLE
934 bool "Enable ICACHE for L2 SRAM"
935 depends on BFIN_ICACHE
936 depends on BF54x || BF561
937 default n
938
Robin Getz3bebca22007-10-10 23:55:26 +0800939config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700940 bool "Enable DCACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000941 default y
Robin Getz3bebca22007-10-10 23:55:26 +0800942config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700943 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800944 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700945 default n
Jie Zhang41ba6532009-06-16 09:48:33 +0000946config BFIN_EXTMEM_DCACHEABLE
947 bool "Enable DCACHE for external memory"
Robin Getz3bebca22007-10-10 23:55:26 +0800948 depends on BFIN_DCACHE
Jie Zhang41ba6532009-06-16 09:48:33 +0000949 default y
Graf Yang5ba76672009-05-07 04:09:15 +0000950choice
Jie Zhang41ba6532009-06-16 09:48:33 +0000951 prompt "External memory DCACHE policy"
952 depends on BFIN_EXTMEM_DCACHEABLE
953 default BFIN_EXTMEM_WRITEBACK if !SMP
954 default BFIN_EXTMEM_WRITETHROUGH if SMP
955config BFIN_EXTMEM_WRITEBACK
Graf Yang5ba76672009-05-07 04:09:15 +0000956 bool "Write back"
957 depends on !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +0000958 help
959 Write Back Policy:
960 Cached data will be written back to SDRAM only when needed.
961 This can give a nice increase in performance, but beware of
962 broken drivers that do not properly invalidate/flush their
963 cache.
Graf Yang5ba76672009-05-07 04:09:15 +0000964
Jie Zhang41ba6532009-06-16 09:48:33 +0000965 Write Through Policy:
966 Cached data will always be written back to SDRAM when the
967 cache is updated. This is a completely safe setting, but
968 performance is worse than Write Back.
969
970 If you are unsure of the options and you want to be safe,
971 then go with Write Through.
972
973config BFIN_EXTMEM_WRITETHROUGH
Graf Yang5ba76672009-05-07 04:09:15 +0000974 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +0000975 help
976 Write Back Policy:
977 Cached data will be written back to SDRAM only when needed.
978 This can give a nice increase in performance, but beware of
979 broken drivers that do not properly invalidate/flush their
980 cache.
Graf Yang5ba76672009-05-07 04:09:15 +0000981
Jie Zhang41ba6532009-06-16 09:48:33 +0000982 Write Through Policy:
983 Cached data will always be written back to SDRAM when the
984 cache is updated. This is a completely safe setting, but
985 performance is worse than Write Back.
986
987 If you are unsure of the options and you want to be safe,
988 then go with Write Through.
Graf Yang5ba76672009-05-07 04:09:15 +0000989
990endchoice
Sonic Zhangf099f392008-10-09 14:11:57 +0800991
Jie Zhang41ba6532009-06-16 09:48:33 +0000992config BFIN_L2_DCACHEABLE
993 bool "Enable DCACHE for L2 SRAM"
994 depends on BFIN_DCACHE
Sonic Zhang9c954f82009-06-30 09:48:03 +0000995 depends on (BF54x || BF561) && !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +0000996 default n
997choice
998 prompt "L2 SRAM DCACHE policy"
999 depends on BFIN_L2_DCACHEABLE
1000 default BFIN_L2_WRITEBACK
1001config BFIN_L2_WRITEBACK
1002 bool "Write back"
Jie Zhang41ba6532009-06-16 09:48:33 +00001003
1004config BFIN_L2_WRITETHROUGH
1005 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001006endchoice
1007
1008
1009comment "Memory Protection Unit"
Bernd Schmidtb97b8a92008-01-27 18:39:16 +08001010config MPU
1011 bool "Enable the memory protection unit (EXPERIMENTAL)"
1012 default n
1013 help
1014 Use the processor's MPU to protect applications from accessing
1015 memory they do not own. This comes at a performance penalty
1016 and is recommended only for debugging.
1017
Matt LaPlante692105b2009-01-26 11:12:25 +01001018comment "Asynchronous Memory Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -07001019
Mike Frysingerddf416b2007-10-10 18:06:47 +08001020menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -07001021config C_AMCKEN
1022 bool "Enable CLKOUT"
1023 default y
1024
1025config C_CDPRIO
1026 bool "DMA has priority over core for ext. accesses"
1027 default n
1028
1029config C_B0PEN
1030 depends on BF561
1031 bool "Bank 0 16 bit packing enable"
1032 default y
1033
1034config C_B1PEN
1035 depends on BF561
1036 bool "Bank 1 16 bit packing enable"
1037 default y
1038
1039config C_B2PEN
1040 depends on BF561
1041 bool "Bank 2 16 bit packing enable"
1042 default y
1043
1044config C_B3PEN
1045 depends on BF561
1046 bool "Bank 3 16 bit packing enable"
1047 default n
1048
1049choice
Matt LaPlante692105b2009-01-26 11:12:25 +01001050 prompt "Enable Asynchronous Memory Banks"
Bryan Wu1394f032007-05-06 14:50:22 -07001051 default C_AMBEN_ALL
1052
1053config C_AMBEN
1054 bool "Disable All Banks"
1055
1056config C_AMBEN_B0
1057 bool "Enable Bank 0"
1058
1059config C_AMBEN_B0_B1
1060 bool "Enable Bank 0 & 1"
1061
1062config C_AMBEN_B0_B1_B2
1063 bool "Enable Bank 0 & 1 & 2"
1064
1065config C_AMBEN_ALL
1066 bool "Enable All Banks"
1067endchoice
1068endmenu
1069
1070menu "EBIU_AMBCTL Control"
1071config BANK_0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001072 hex "Bank 0 (AMBCTL0.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001073 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001074 help
1075 These are the low 16 bits of the EBIU_AMBCTL0 MMR which are
1076 used to control the Asynchronous Memory Bank 0 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001077
1078config BANK_1
Mike Frysingerc8342f82009-03-31 00:18:35 +00001079 hex "Bank 1 (AMBCTL0.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001080 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +08001081 default 0x5558 if BF54x
Mike Frysingerc8342f82009-03-31 00:18:35 +00001082 help
1083 These are the high 16 bits of the EBIU_AMBCTL0 MMR which are
1084 used to control the Asynchronous Memory Bank 1 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001085
1086config BANK_2
Mike Frysingerc8342f82009-03-31 00:18:35 +00001087 hex "Bank 2 (AMBCTL1.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001088 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001089 help
1090 These are the low 16 bits of the EBIU_AMBCTL1 MMR which are
1091 used to control the Asynchronous Memory Bank 2 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001092
1093config BANK_3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001094 hex "Bank 3 (AMBCTL1.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001095 default 0x99B3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001096 help
1097 These are the high 16 bits of the EBIU_AMBCTL1 MMR which are
1098 used to control the Asynchronous Memory Bank 3 settings.
1099
Bryan Wu1394f032007-05-06 14:50:22 -07001100endmenu
1101
Sonic Zhange40540b2007-11-21 23:49:52 +08001102config EBIU_MBSCTLVAL
1103 hex "EBIU Bank Select Control Register"
1104 depends on BF54x
1105 default 0
1106
1107config EBIU_MODEVAL
1108 hex "Flash Memory Mode Control Register"
1109 depends on BF54x
1110 default 1
1111
1112config EBIU_FCTLVAL
1113 hex "Flash Memory Bank Control Register"
1114 depends on BF54x
1115 default 6
Bryan Wu1394f032007-05-06 14:50:22 -07001116endmenu
1117
1118#############################################################################
1119menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1120
1121config PCI
1122 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +08001123 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -07001124 help
1125 Support for PCI bus.
1126
1127source "drivers/pci/Kconfig"
1128
1129config HOTPLUG
1130 bool "Support for hot-pluggable device"
1131 help
1132 Say Y here if you want to plug devices into your computer while
1133 the system is running, and be able to use them quickly. In many
1134 cases, the devices can likewise be unplugged at any time too.
1135
1136 One well known example of this is PCMCIA- or PC-cards, credit-card
1137 size devices such as network cards, modems or hard drives which are
1138 plugged into slots found on all modern laptop computers. Another
1139 example, used on modern desktops as well as laptops, is USB.
1140
Johannes Berga81792f2008-07-08 19:00:25 +02001141 Enable HOTPLUG and build a modular kernel. Get agent software
1142 (from <http://linux-hotplug.sourceforge.net/>) and install it.
Bryan Wu1394f032007-05-06 14:50:22 -07001143 Then your kernel will automatically call out to a user mode "policy
1144 agent" (/sbin/hotplug) to load modules and set up software needed
1145 to use devices as you hotplug them.
1146
1147source "drivers/pcmcia/Kconfig"
1148
1149source "drivers/pci/hotplug/Kconfig"
1150
1151endmenu
1152
1153menu "Executable file formats"
1154
1155source "fs/Kconfig.binfmt"
1156
1157endmenu
1158
1159menu "Power management options"
Graf Yangad461632009-08-07 03:52:54 +00001160 depends on !SMP
1161
Bryan Wu1394f032007-05-06 14:50:22 -07001162source "kernel/power/Kconfig"
1163
Johannes Bergf4cb5702007-12-08 02:14:00 +01001164config ARCH_SUSPEND_POSSIBLE
1165 def_bool y
Johannes Bergf4cb5702007-12-08 02:14:00 +01001166
Bryan Wu1394f032007-05-06 14:50:22 -07001167choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001168 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -07001169 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001170 default PM_BFIN_SLEEP_DEEPER
1171config PM_BFIN_SLEEP_DEEPER
1172 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001173 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001174 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1175 power dissipation by disabling the clock to the processor core (CCLK).
1176 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1177 to 0.85 V to provide the greatest power savings, while preserving the
1178 processor state.
1179 The PLL and system clock (SCLK) continue to operate at a very low
1180 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1181 the SDRAM is put into Self Refresh Mode. Typically an external event
1182 such as GPIO interrupt or RTC activity wakes up the processor.
1183 Various Peripherals such as UART, SPORT, PPI may not function as
1184 normal during Sleep Deeper, due to the reduced SCLK frequency.
1185 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001186
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001187 If unsure, select "Sleep Deeper".
1188
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001189config PM_BFIN_SLEEP
1190 bool "Sleep"
1191 help
1192 Sleep Mode (High Power Savings) - The sleep mode reduces power
1193 dissipation by disabling the clock to the processor core (CCLK).
1194 The PLL and system clock (SCLK), however, continue to operate in
1195 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001196 up the processor. When in the sleep mode, system DMA access to L1
1197 memory is not supported.
1198
1199 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001200endchoice
1201
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001202config PM_WAKEUP_BY_GPIO
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001203 bool "Allow Wakeup from Standby by GPIO"
Michael Hennerichff19fed2009-03-04 17:35:51 +08001204 depends on PM && !BF54x
Bryan Wu1394f032007-05-06 14:50:22 -07001205
1206config PM_WAKEUP_GPIO_NUMBER
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001207 int "GPIO number"
Bryan Wu1394f032007-05-06 14:50:22 -07001208 range 0 47
1209 depends on PM_WAKEUP_BY_GPIO
Mike Frysingerd1a33362008-11-18 17:48:22 +08001210 default 2
Bryan Wu1394f032007-05-06 14:50:22 -07001211
1212choice
1213 prompt "GPIO Polarity"
1214 depends on PM_WAKEUP_BY_GPIO
1215 default PM_WAKEUP_GPIO_POLAR_H
1216config PM_WAKEUP_GPIO_POLAR_H
1217 bool "Active High"
1218config PM_WAKEUP_GPIO_POLAR_L
1219 bool "Active Low"
1220config PM_WAKEUP_GPIO_POLAR_EDGE_F
1221 bool "Falling EDGE"
1222config PM_WAKEUP_GPIO_POLAR_EDGE_R
1223 bool "Rising EDGE"
1224config PM_WAKEUP_GPIO_POLAR_EDGE_B
1225 bool "Both EDGE"
1226endchoice
1227
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001228comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1229 depends on PM
1230
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001231config PM_BFIN_WAKE_PH6
1232 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001233 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001234 default n
1235 help
1236 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1237
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001238config PM_BFIN_WAKE_GP
1239 bool "Allow Wake-Up from GPIOs"
1240 depends on PM && BF54x
1241 default n
1242 help
1243 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Michael Hennerich19986282009-03-05 16:45:55 +08001244 (all processors, except ADSP-BF549). This option sets
1245 the general-purpose wake-up enable (GPWE) control bit to enable
1246 wake-up upon detection of an active low signal on the /GPW (PH7) pin.
1247 On ADSP-BF549 this option enables the the same functionality on the
1248 /MRXON pin also PH7.
1249
Bryan Wu1394f032007-05-06 14:50:22 -07001250endmenu
1251
Bryan Wu1394f032007-05-06 14:50:22 -07001252menu "CPU Frequency scaling"
Graf Yangad461632009-08-07 03:52:54 +00001253 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -07001254
1255source "drivers/cpufreq/Kconfig"
1256
Michael Hennerich5ad2ca52008-11-18 17:48:22 +08001257config BFIN_CPU_FREQ
1258 bool
1259 depends on CPU_FREQ
1260 select CPU_FREQ_TABLE
1261 default y
1262
Michael Hennerich14b03202008-05-07 11:41:26 +08001263config CPU_VOLTAGE
1264 bool "CPU Voltage scaling"
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001265 depends on EXPERIMENTAL
Michael Hennerich14b03202008-05-07 11:41:26 +08001266 depends on CPU_FREQ
1267 default n
1268 help
1269 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1270 This option violates the PLL BYPASS recommendation in the Blackfin Processor
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001271 manuals. There is a theoretical risk that during VDDINT transitions
Michael Hennerich14b03202008-05-07 11:41:26 +08001272 the PLL may unlock.
1273
Bryan Wu1394f032007-05-06 14:50:22 -07001274endmenu
1275
Bryan Wu1394f032007-05-06 14:50:22 -07001276source "net/Kconfig"
1277
1278source "drivers/Kconfig"
1279
1280source "fs/Kconfig"
1281
Mike Frysinger74ce8322007-11-21 23:50:49 +08001282source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001283
1284source "security/Kconfig"
1285
1286source "crypto/Kconfig"
1287
1288source "lib/Kconfig"