blob: 2180433213b7d892e9718911c0344a46bd9e3c9c [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
Alan Jenkins9e1b9b82009-11-07 21:03:54 +00008config SYMBOL_PREFIX
9 string
10 default "_"
11
Bryan Wu1394f032007-05-06 14:50:22 -070012config MMU
Mike Frysingerbac7d892009-06-07 03:46:06 -040013 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -070014
15config FPU
Mike Frysingerbac7d892009-06-07 03:46:06 -040016 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -070017
18config RWSEM_GENERIC_SPINLOCK
Mike Frysingerbac7d892009-06-07 03:46:06 -040019 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070020
21config RWSEM_XCHGADD_ALGORITHM
Mike Frysingerbac7d892009-06-07 03:46:06 -040022 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -070023
24config BLACKFIN
Mike Frysingerbac7d892009-06-07 03:46:06 -040025 def_bool y
Mike Frysinger1ee76d72009-06-10 04:45:29 -040026 select HAVE_FUNCTION_GRAPH_TRACER
Mike Frysinger1c873be2009-06-09 07:25:09 -040027 select HAVE_FUNCTION_TRACER
Sam Ravnborgec7748b2008-02-09 10:46:40 +010028 select HAVE_IDE
Mike Frysinger538067c2009-06-07 03:47:01 -040029 select HAVE_KERNEL_GZIP
30 select HAVE_KERNEL_BZIP2
31 select HAVE_KERNEL_LZMA
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050032 select HAVE_OPROFILE
Michael Hennericha4f0b322008-11-18 17:48:22 +080033 select ARCH_WANT_OPTIONAL_GPIOLIB
Bryan Wu1394f032007-05-06 14:50:22 -070034
Mike Frysinger70f12562009-06-07 17:18:25 -040035config GENERIC_BUG
36 def_bool y
37 depends on BUG
38
Aubrey Lie3defff2007-05-21 18:09:11 +080039config ZONE_DMA
Mike Frysingerbac7d892009-06-07 03:46:06 -040040 def_bool y
Aubrey Lie3defff2007-05-21 18:09:11 +080041
Bryan Wu1394f032007-05-06 14:50:22 -070042config GENERIC_FIND_NEXT_BIT
Mike Frysingerbac7d892009-06-07 03:46:06 -040043 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070044
45config GENERIC_HWEIGHT
Mike Frysingerbac7d892009-06-07 03:46:06 -040046 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070047
48config GENERIC_HARDIRQS
Mike Frysingerbac7d892009-06-07 03:46:06 -040049 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070050
51config GENERIC_IRQ_PROBE
Mike Frysingerbac7d892009-06-07 03:46:06 -040052 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070053
Michael Hennerich796dada2009-09-30 07:54:40 +000054config GENERIC_HARDIRQS_NO__DO_IRQ
55 def_bool y
56
Michael Hennerichb2d15832007-07-24 15:46:36 +080057config GENERIC_GPIO
Mike Frysingerbac7d892009-06-07 03:46:06 -040058 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070059
60config FORCE_MAX_ZONEORDER
61 int
62 default "14"
63
64config GENERIC_CALIBRATE_DELAY
Mike Frysingerbac7d892009-06-07 03:46:06 -040065 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070066
Mike Frysinger6fa68e72009-06-08 18:45:01 -040067config LOCKDEP_SUPPORT
68 def_bool y
69
Mike Frysingerc7b412f2009-06-08 18:44:45 -040070config STACKTRACE_SUPPORT
71 def_bool y
72
Mike Frysinger8f860012009-06-08 12:49:48 -040073config TRACE_IRQFLAGS_SUPPORT
74 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070075
Bryan Wu1394f032007-05-06 14:50:22 -070076source "init/Kconfig"
Matt Helsleydc52ddc2008-10-18 20:27:21 -070077
Bryan Wu1394f032007-05-06 14:50:22 -070078source "kernel/Kconfig.preempt"
79
Matt Helsleydc52ddc2008-10-18 20:27:21 -070080source "kernel/Kconfig.freezer"
81
Bryan Wu1394f032007-05-06 14:50:22 -070082menu "Blackfin Processor Options"
83
84comment "Processor and Board Settings"
85
86choice
87 prompt "CPU"
88 default BF533
89
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080090config BF512
91 bool "BF512"
92 help
93 BF512 Processor Support.
94
95config BF514
96 bool "BF514"
97 help
98 BF514 Processor Support.
99
100config BF516
101 bool "BF516"
102 help
103 BF516 Processor Support.
104
105config BF518
106 bool "BF518"
107 help
108 BF518 Processor Support.
109
Michael Hennerich59003142007-10-21 16:54:27 +0800110config BF522
111 bool "BF522"
112 help
113 BF522 Processor Support.
114
Mike Frysinger1545a112007-12-24 16:54:48 +0800115config BF523
116 bool "BF523"
117 help
118 BF523 Processor Support.
119
120config BF524
121 bool "BF524"
122 help
123 BF524 Processor Support.
124
Michael Hennerich59003142007-10-21 16:54:27 +0800125config BF525
126 bool "BF525"
127 help
128 BF525 Processor Support.
129
Mike Frysinger1545a112007-12-24 16:54:48 +0800130config BF526
131 bool "BF526"
132 help
133 BF526 Processor Support.
134
Michael Hennerich59003142007-10-21 16:54:27 +0800135config BF527
136 bool "BF527"
137 help
138 BF527 Processor Support.
139
Bryan Wu1394f032007-05-06 14:50:22 -0700140config BF531
141 bool "BF531"
142 help
143 BF531 Processor Support.
144
145config BF532
146 bool "BF532"
147 help
148 BF532 Processor Support.
149
150config BF533
151 bool "BF533"
152 help
153 BF533 Processor Support.
154
155config BF534
156 bool "BF534"
157 help
158 BF534 Processor Support.
159
160config BF536
161 bool "BF536"
162 help
163 BF536 Processor Support.
164
165config BF537
166 bool "BF537"
167 help
168 BF537 Processor Support.
169
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800170config BF538
171 bool "BF538"
172 help
173 BF538 Processor Support.
174
175config BF539
176 bool "BF539"
177 help
178 BF539 Processor Support.
179
Roy Huang24a07a12007-07-12 22:41:45 +0800180config BF542
181 bool "BF542"
182 help
183 BF542 Processor Support.
184
Mike Frysinger2f89c062009-02-04 16:49:45 +0800185config BF542M
186 bool "BF542m"
187 help
188 BF542 Processor Support.
189
Roy Huang24a07a12007-07-12 22:41:45 +0800190config BF544
191 bool "BF544"
192 help
193 BF544 Processor Support.
194
Mike Frysinger2f89c062009-02-04 16:49:45 +0800195config BF544M
196 bool "BF544m"
197 help
198 BF544 Processor Support.
199
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800200config BF547
201 bool "BF547"
202 help
203 BF547 Processor Support.
204
Mike Frysinger2f89c062009-02-04 16:49:45 +0800205config BF547M
206 bool "BF547m"
207 help
208 BF547 Processor Support.
209
Roy Huang24a07a12007-07-12 22:41:45 +0800210config BF548
211 bool "BF548"
212 help
213 BF548 Processor Support.
214
Mike Frysinger2f89c062009-02-04 16:49:45 +0800215config BF548M
216 bool "BF548m"
217 help
218 BF548 Processor Support.
219
Roy Huang24a07a12007-07-12 22:41:45 +0800220config BF549
221 bool "BF549"
222 help
223 BF549 Processor Support.
224
Mike Frysinger2f89c062009-02-04 16:49:45 +0800225config BF549M
226 bool "BF549m"
227 help
228 BF549 Processor Support.
229
Bryan Wu1394f032007-05-06 14:50:22 -0700230config BF561
231 bool "BF561"
232 help
Mike Frysingercd88b4d2008-10-09 12:03:22 +0800233 BF561 Processor Support.
Bryan Wu1394f032007-05-06 14:50:22 -0700234
235endchoice
236
Graf Yang46fa5ee2009-01-07 23:14:39 +0800237config SMP
238 depends on BF561
john stultz10f03f12009-09-15 21:17:19 -0700239 select GENERIC_CLOCKEVENTS
Graf Yang46fa5ee2009-01-07 23:14:39 +0800240 bool "Symmetric multi-processing support"
241 ---help---
242 This enables support for systems with more than one CPU,
243 like the dual core BF561. If you have a system with only one
244 CPU, say N. If you have a system with more than one CPU, say Y.
245
246 If you don't know what to do here, say N.
247
248config NR_CPUS
249 int
250 depends on SMP
251 default 2 if BF561
252
253config IRQ_PER_CPU
254 bool
255 depends on SMP
256 default y
257
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800258config BF_REV_MIN
259 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800260 default 0 if (BF51x || BF52x || (BF54x && !BF54xM))
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800261 default 2 if (BF537 || BF536 || BF534)
Mike Frysinger2f89c062009-02-04 16:49:45 +0800262 default 3 if (BF561 || BF533 || BF532 || BF531 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800263 default 4 if (BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800264
265config BF_REV_MAX
266 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800267 default 2 if (BF51x || BF52x || (BF54x && !BF54xM))
268 default 3 if (BF537 || BF536 || BF534 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800269 default 5 if (BF561 || BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800270 default 6 if (BF533 || BF532 || BF531)
271
Bryan Wu1394f032007-05-06 14:50:22 -0700272choice
273 prompt "Silicon Rev"
Mike Frysingerf8b55652009-04-13 21:58:34 +0000274 default BF_REV_0_0 if (BF51x || BF52x)
275 default BF_REV_0_2 if (BF534 || BF536 || BF537 || (BF54x && !BF54xM))
Mike Frysinger2f89c062009-02-04 16:49:45 +0800276 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF54xM || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800277
278config BF_REV_0_0
279 bool "0.0"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800280 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Michael Hennerich59003142007-10-21 16:54:27 +0800281
282config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800283 bool "0.1"
Mike Frysinger3d15f302009-06-15 16:21:44 +0000284 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700285
286config BF_REV_0_2
287 bool "0.2"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800288 depends on (BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700289
290config BF_REV_0_3
291 bool "0.3"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800292 depends on (BF54xM || BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
Bryan Wu1394f032007-05-06 14:50:22 -0700293
294config BF_REV_0_4
295 bool "0.4"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800296 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700297
298config BF_REV_0_5
299 bool "0.5"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800300 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700301
Mike Frysinger49f72532008-10-09 12:06:27 +0800302config BF_REV_0_6
303 bool "0.6"
304 depends on (BF533 || BF532 || BF531)
305
Jie Zhangde3025f2007-06-25 18:04:12 +0800306config BF_REV_ANY
307 bool "any"
308
309config BF_REV_NONE
310 bool "none"
311
Bryan Wu1394f032007-05-06 14:50:22 -0700312endchoice
313
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800314config BF51x
315 bool
316 depends on (BF512 || BF514 || BF516 || BF518)
317 default y
318
Michael Hennerich59003142007-10-21 16:54:27 +0800319config BF52x
320 bool
Mike Frysinger1545a112007-12-24 16:54:48 +0800321 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
Michael Hennerich59003142007-10-21 16:54:27 +0800322 default y
323
Roy Huang24a07a12007-07-12 22:41:45 +0800324config BF53x
325 bool
326 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
327 default y
328
Mike Frysinger2f89c062009-02-04 16:49:45 +0800329config BF54xM
330 bool
331 depends on (BF542M || BF544M || BF547M || BF548M || BF549M)
332 default y
333
Roy Huang24a07a12007-07-12 22:41:45 +0800334config BF54x
335 bool
Mike Frysinger2f89c062009-02-04 16:49:45 +0800336 depends on (BF542 || BF544 || BF547 || BF548 || BF549 || BF54xM)
Roy Huang24a07a12007-07-12 22:41:45 +0800337 default y
338
Bryan Wu1394f032007-05-06 14:50:22 -0700339config MEM_GENERIC_BOARD
340 bool
341 depends on GENERIC_BOARD
342 default y
343
344config MEM_MT48LC64M4A2FB_7E
345 bool
346 depends on (BFIN533_STAMP)
347 default y
348
349config MEM_MT48LC16M16A2TG_75
350 bool
351 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000352 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM_E \
353 || BFIN537_BLUETECHNIX_CM_U || H8606_HVSISTEMAS \
354 || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700355 default y
356
357config MEM_MT48LC32M8A2_75
358 bool
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800359 depends on (BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700360 default y
361
362config MEM_MT48LC8M32B2B5_7
363 bool
364 depends on (BFIN561_BLUETECHNIX_CM)
365 default y
366
Michael Hennerich59003142007-10-21 16:54:27 +0800367config MEM_MT48LC32M16A2TG_75
368 bool
Graf Yangee48efb2009-06-18 04:32:04 +0000369 depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP)
Michael Hennerich59003142007-10-21 16:54:27 +0800370 default y
371
Sonic Zhang49345402009-01-07 23:14:38 +0800372config MEM_MT48LC32M8A2_75
373 bool
374 depends on (BFIN518F_EZBRD)
375 default y
376
Graf Yangee48efb2009-06-18 04:32:04 +0000377config MEM_MT48H32M16LFCJ_75
378 bool
379 depends on (BFIN526_EZBRD)
380 default y
381
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800382source "arch/blackfin/mach-bf518/Kconfig"
Michael Hennerich59003142007-10-21 16:54:27 +0800383source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700384source "arch/blackfin/mach-bf533/Kconfig"
385source "arch/blackfin/mach-bf561/Kconfig"
386source "arch/blackfin/mach-bf537/Kconfig"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800387source "arch/blackfin/mach-bf538/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800388source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700389
390menu "Board customizations"
391
392config CMDLINE_BOOL
393 bool "Default bootloader kernel arguments"
394
395config CMDLINE
396 string "Initial kernel command string"
397 depends on CMDLINE_BOOL
398 default "console=ttyBF0,57600"
399 help
400 If you don't have a boot loader capable of passing a command line string
401 to the kernel, you may specify one here. As a minimum, you should specify
402 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
403
Mike Frysinger5f004c22008-04-25 02:11:24 +0800404config BOOT_LOAD
405 hex "Kernel load address for booting"
406 default "0x1000"
407 range 0x1000 0x20000000
408 help
409 This option allows you to set the load address of the kernel.
410 This can be useful if you are on a board which has a small amount
411 of memory or you wish to reserve some memory at the beginning of
412 the address space.
413
414 Note that you need to keep this value above 4k (0x1000) as this
415 memory region is used to capture NULL pointer references as well
416 as some core kernel functions.
417
Michael Hennerich8cc71172008-10-13 14:45:06 +0800418config ROM_BASE
419 hex "Kernel ROM Base"
Mike Frysinger86249912008-11-18 17:48:22 +0800420 depends on ROMKERNEL
Michael Hennerich8cc71172008-10-13 14:45:06 +0800421 default "0x20040000"
422 range 0x20000000 0x20400000 if !(BF54x || BF561)
423 range 0x20000000 0x30000000 if (BF54x || BF561)
424 help
425
Robin Getzf16295e2007-08-03 18:07:17 +0800426comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700427
428config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800429 int "Frequency of the crystal on the board in Hz"
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800430 default "10000000" if BFIN532_IP0X
Mike Frysingerd0cb9b42009-06-11 21:52:35 +0000431 default "11059200" if BFIN533_STAMP
432 default "24576000" if PNAV10
433 default "25000000" # most people use this
434 default "27000000" if BFIN533_EZKIT
435 default "30000000" if BFIN561_EZKIT
Bryan Wu1394f032007-05-06 14:50:22 -0700436 help
437 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800438 Warning: This value should match the crystal on the board. Otherwise,
439 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700440
Robin Getzf16295e2007-08-03 18:07:17 +0800441config BFIN_KERNEL_CLOCK
442 bool "Re-program Clocks while Kernel boots?"
443 default n
444 help
445 This option decides if kernel clocks are re-programed from the
446 bootloader settings. If the clocks are not set, the SDRAM settings
447 are also not changed, and the Bootloader does 100% of the hardware
448 configuration.
449
450config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800451 bool "Bypass PLL"
452 depends on BFIN_KERNEL_CLOCK
453 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800454
455config CLKIN_HALF
456 bool "Half Clock In"
457 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
458 default n
459 help
460 If this is set the clock will be divided by 2, before it goes to the PLL.
461
462config VCO_MULT
463 int "VCO Multiplier"
464 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
465 range 1 64
466 default "22" if BFIN533_EZKIT
467 default "45" if BFIN533_STAMP
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800468 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800469 default "22" if BFIN533_BLUETECHNIX_CM
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000470 default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800471 default "20" if BFIN561_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800472 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
Robin Getzf16295e2007-08-03 18:07:17 +0800473 help
474 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
475 PLL Frequency = (Crystal Frequency) * (this setting)
476
477choice
478 prompt "Core Clock Divider"
479 depends on BFIN_KERNEL_CLOCK
480 default CCLK_DIV_1
481 help
482 This sets the frequency of the core. It can be 1, 2, 4 or 8
483 Core Frequency = (PLL frequency) / (this setting)
484
485config CCLK_DIV_1
486 bool "1"
487
488config CCLK_DIV_2
489 bool "2"
490
491config CCLK_DIV_4
492 bool "4"
493
494config CCLK_DIV_8
495 bool "8"
496endchoice
497
498config SCLK_DIV
499 int "System Clock Divider"
500 depends on BFIN_KERNEL_CLOCK
501 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800502 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800503 help
504 This sets the frequency of the system clock (including SDRAM or DDR).
505 This can be between 1 and 15
506 System Clock = (PLL frequency) / (this setting)
507
Mike Frysinger5f004c22008-04-25 02:11:24 +0800508choice
509 prompt "DDR SDRAM Chip Type"
510 depends on BFIN_KERNEL_CLOCK
511 depends on BF54x
512 default MEM_MT46V32M16_5B
513
514config MEM_MT46V32M16_6T
515 bool "MT46V32M16_6T"
516
517config MEM_MT46V32M16_5B
518 bool "MT46V32M16_5B"
519endchoice
520
Michael Hennerich73feb5c2009-01-07 23:14:39 +0800521choice
522 prompt "DDR/SDRAM Timing"
523 depends on BFIN_KERNEL_CLOCK
524 default BFIN_KERNEL_CLOCK_MEMINIT_CALC
525 help
526 This option allows you to specify Blackfin SDRAM/DDR Timing parameters
527 The calculated SDRAM timing parameters may not be 100%
528 accurate - This option is therefore marked experimental.
529
530config BFIN_KERNEL_CLOCK_MEMINIT_CALC
531 bool "Calculate Timings (EXPERIMENTAL)"
532 depends on EXPERIMENTAL
533
534config BFIN_KERNEL_CLOCK_MEMINIT_SPEC
535 bool "Provide accurate Timings based on target SCLK"
536 help
537 Please consult the Blackfin Hardware Reference Manuals as well
538 as the memory device datasheet.
539 http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram
540endchoice
541
542menu "Memory Init Control"
543 depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC
544
545config MEM_DDRCTL0
546 depends on BF54x
547 hex "DDRCTL0"
548 default 0x0
549
550config MEM_DDRCTL1
551 depends on BF54x
552 hex "DDRCTL1"
553 default 0x0
554
555config MEM_DDRCTL2
556 depends on BF54x
557 hex "DDRCTL2"
558 default 0x0
559
560config MEM_EBIU_DDRQUE
561 depends on BF54x
562 hex "DDRQUE"
563 default 0x0
564
565config MEM_SDRRC
566 depends on !BF54x
567 hex "SDRRC"
568 default 0x0
569
570config MEM_SDGCTL
571 depends on !BF54x
572 hex "SDGCTL"
573 default 0x0
574endmenu
575
Robin Getzf16295e2007-08-03 18:07:17 +0800576#
577# Max & Min Speeds for various Chips
578#
579config MAX_VCO_HZ
580 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800581 default 400000000 if BF512
582 default 400000000 if BF514
583 default 400000000 if BF516
584 default 400000000 if BF518
Mike Frysinger7b062632009-08-11 21:27:09 +0000585 default 400000000 if BF522
586 default 600000000 if BF523
Mike Frysinger1545a112007-12-24 16:54:48 +0800587 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800588 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800589 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800590 default 600000000 if BF527
591 default 400000000 if BF531
592 default 400000000 if BF532
593 default 750000000 if BF533
594 default 500000000 if BF534
595 default 400000000 if BF536
596 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800597 default 533333333 if BF538
598 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800599 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800600 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800601 default 600000000 if BF547
602 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800603 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800604 default 600000000 if BF561
605
606config MIN_VCO_HZ
607 int
608 default 50000000
609
610config MAX_SCLK_HZ
611 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800612 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800613
614config MIN_SCLK_HZ
615 int
616 default 27000000
617
618comment "Kernel Timer/Scheduler"
619
620source kernel/Kconfig.hz
621
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800622config GENERIC_TIME
john stultz10f03f12009-09-15 21:17:19 -0700623 def_bool y
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800624
625config GENERIC_CLOCKEVENTS
626 bool "Generic clock events"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800627 default y
628
Graf Yang1fa9be72009-05-15 11:01:59 +0000629choice
630 prompt "Kernel Tick Source"
631 depends on GENERIC_CLOCKEVENTS
632 default TICKSOURCE_CORETMR
633
634config TICKSOURCE_GPTMR0
635 bool "Gptimer0 (SCLK domain)"
636 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000637
638config TICKSOURCE_CORETMR
639 bool "Core timer (CCLK domain)"
640
641endchoice
642
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800643config CYCLES_CLOCKSOURCE
Graf Yang1fa9be72009-05-15 11:01:59 +0000644 bool "Use 'CYCLES' as a clocksource"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800645 depends on GENERIC_CLOCKEVENTS
646 depends on !BFIN_SCRATCH_REG_CYCLES
Graf Yang1fa9be72009-05-15 11:01:59 +0000647 depends on !SMP
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800648 help
649 If you say Y here, you will enable support for using the 'cycles'
650 registers as a clock source. Doing so means you will be unable to
651 safely write to the 'cycles' register during runtime. You will
652 still be able to read it (such as for performance monitoring), but
653 writing the registers will most likely crash the kernel.
654
Graf Yang1fa9be72009-05-15 11:01:59 +0000655config GPTMR0_CLOCKSOURCE
Graf Yange78feaa2009-09-14 04:41:00 +0000656 bool "Use GPTimer0 as a clocksource"
Mike Frysinger3aca47c2009-06-18 19:40:47 +0000657 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000658 depends on GENERIC_CLOCKEVENTS
659 depends on !TICKSOURCE_GPTMR0
660
john stultz10f03f12009-09-15 21:17:19 -0700661config ARCH_USES_GETTIMEOFFSET
662 depends on !GENERIC_CLOCKEVENTS
663 def_bool y
664
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800665source kernel/time/Kconfig
666
Mike Frysinger5f004c22008-04-25 02:11:24 +0800667comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800668
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800669choice
670 prompt "Blackfin Exception Scratch Register"
671 default BFIN_SCRATCH_REG_RETN
672 help
673 Select the resource to reserve for the Exception handler:
674 - RETN: Non-Maskable Interrupt (NMI)
675 - RETE: Exception Return (JTAG/ICE)
676 - CYCLES: Performance counter
677
678 If you are unsure, please select "RETN".
679
680config BFIN_SCRATCH_REG_RETN
681 bool "RETN"
682 help
683 Use the RETN register in the Blackfin exception handler
684 as a stack scratch register. This means you cannot
685 safely use NMI on the Blackfin while running Linux, but
686 you can debug the system with a JTAG ICE and use the
687 CYCLES performance registers.
688
689 If you are unsure, please select "RETN".
690
691config BFIN_SCRATCH_REG_RETE
692 bool "RETE"
693 help
694 Use the RETE register in the Blackfin exception handler
695 as a stack scratch register. This means you cannot
696 safely use a JTAG ICE while debugging a Blackfin board,
697 but you can safely use the CYCLES performance registers
698 and the NMI.
699
700 If you are unsure, please select "RETN".
701
702config BFIN_SCRATCH_REG_CYCLES
703 bool "CYCLES"
704 help
705 Use the CYCLES register in the Blackfin exception handler
706 as a stack scratch register. This means you cannot
707 safely use the CYCLES performance registers on a Blackfin
708 board at anytime, but you can debug the system with a JTAG
709 ICE and use the NMI.
710
711 If you are unsure, please select "RETN".
712
713endchoice
714
Bryan Wu1394f032007-05-06 14:50:22 -0700715endmenu
716
717
718menu "Blackfin Kernel Optimizations"
Graf Yang46fa5ee2009-01-07 23:14:39 +0800719 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700720
Bryan Wu1394f032007-05-06 14:50:22 -0700721comment "Memory Optimizations"
722
723config I_ENTRY_L1
724 bool "Locate interrupt entry code in L1 Memory"
725 default y
726 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200727 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
728 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700729
730config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200731 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700732 default y
733 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200734 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800735 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200736 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700737
738config DO_IRQ_L1
739 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
740 default y
741 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200742 If enabled, the frequently called do_irq dispatcher function is linked
743 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700744
745config CORE_TIMER_IRQ_L1
746 bool "Locate frequently called timer_interrupt() function in L1 Memory"
747 default y
748 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200749 If enabled, the frequently called timer_interrupt() function is linked
750 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700751
752config IDLE_L1
753 bool "Locate frequently idle function in L1 Memory"
754 default y
755 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200756 If enabled, the frequently called idle function is linked
757 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700758
759config SCHEDULE_L1
760 bool "Locate kernel schedule function in L1 Memory"
761 default y
762 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200763 If enabled, the frequently called kernel schedule is linked
764 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700765
766config ARITHMETIC_OPS_L1
767 bool "Locate kernel owned arithmetic functions in L1 Memory"
768 default y
769 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200770 If enabled, arithmetic functions are linked
771 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700772
773config ACCESS_OK_L1
774 bool "Locate access_ok function in L1 Memory"
775 default y
776 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200777 If enabled, the access_ok function is linked
778 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700779
780config MEMSET_L1
781 bool "Locate memset function in L1 Memory"
782 default y
783 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200784 If enabled, the memset function is linked
785 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700786
787config MEMCPY_L1
788 bool "Locate memcpy function in L1 Memory"
789 default y
790 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200791 If enabled, the memcpy function is linked
792 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700793
794config SYS_BFIN_SPINLOCK_L1
795 bool "Locate sys_bfin_spinlock function in L1 Memory"
796 default y
797 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200798 If enabled, sys_bfin_spinlock function is linked
799 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700800
801config IP_CHECKSUM_L1
802 bool "Locate IP Checksum function in L1 Memory"
803 default n
804 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200805 If enabled, the IP Checksum function is linked
806 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700807
808config CACHELINE_ALIGNED_L1
809 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800810 default y if !BF54x
811 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700812 depends on !BF531
813 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100814 If enabled, cacheline_aligned data is linked
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200815 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700816
817config SYSCALL_TAB_L1
818 bool "Locate Syscall Table L1 Data Memory"
819 default n
820 depends on !BF531
821 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200822 If enabled, the Syscall LUT is linked
823 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700824
825config CPLB_SWITCH_TAB_L1
826 bool "Locate CPLB Switch Tables L1 Data Memory"
827 default n
828 depends on !BF531
829 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200830 If enabled, the CPLB Switch Tables are linked
831 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700832
Graf Yangca87b7a2008-10-08 17:30:01 +0800833config APP_STACK_L1
834 bool "Support locating application stack in L1 Scratch Memory"
835 default y
836 help
837 If enabled the application stack can be located in L1
838 scratch memory (less latency).
839
840 Currently only works with FLAT binaries.
841
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800842config EXCEPTION_L1_SCRATCH
843 bool "Locate exception stack in L1 Scratch Memory"
844 default n
Graf Yangf82e0a02009-04-08 08:30:22 +0000845 depends on !APP_STACK_L1
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800846 help
847 Whenever an exception occurs, use the L1 Scratch memory for
848 stack storage. You cannot place the stacks of FLAT binaries
849 in L1 when using this option.
850
851 If you don't use L1 Scratch, then you should say Y here.
852
Robin Getz251383c2008-08-14 15:12:55 +0800853comment "Speed Optimizations"
854config BFIN_INS_LOWOVERHEAD
855 bool "ins[bwl] low overhead, higher interrupt latency"
856 default y
857 help
858 Reads on the Blackfin are speculative. In Blackfin terms, this means
859 they can be interrupted at any time (even after they have been issued
860 on to the external bus), and re-issued after the interrupt occurs.
861 For memory - this is not a big deal, since memory does not change if
862 it sees a read.
863
864 If a FIFO is sitting on the end of the read, it will see two reads,
865 when the core only sees one since the FIFO receives both the read
866 which is cancelled (and not delivered to the core) and the one which
867 is re-issued (which is delivered to the core).
868
869 To solve this, interrupts are turned off before reads occur to
870 I/O space. This option controls which the overhead/latency of
871 controlling interrupts during this time
872 "n" turns interrupts off every read
873 (higher overhead, but lower interrupt latency)
874 "y" turns interrupts off every loop
875 (low overhead, but longer interrupt latency)
876
877 default behavior is to leave this set to on (type "Y"). If you are experiencing
878 interrupt latency issues, it is safe and OK to turn this off.
879
Bryan Wu1394f032007-05-06 14:50:22 -0700880endmenu
881
Bryan Wu1394f032007-05-06 14:50:22 -0700882choice
883 prompt "Kernel executes from"
884 help
885 Choose the memory type that the kernel will be running in.
886
887config RAMKERNEL
888 bool "RAM"
889 help
890 The kernel will be resident in RAM when running.
891
892config ROMKERNEL
893 bool "ROM"
894 help
895 The kernel will be resident in FLASH/ROM when running.
896
897endchoice
898
899source "mm/Kconfig"
900
Mike Frysinger780431e2007-10-21 23:37:54 +0800901config BFIN_GPTIMERS
902 tristate "Enable Blackfin General Purpose Timers API"
903 default n
904 help
905 Enable support for the General Purpose Timers API. If you
906 are unsure, say N.
907
908 To compile this driver as a module, choose M here: the module
Pavel Machek4737f092009-06-05 00:44:53 +0200909 will be called gptimers.
Mike Frysinger780431e2007-10-21 23:37:54 +0800910
Bryan Wu1394f032007-05-06 14:50:22 -0700911choice
Mike Frysingerd292b002008-10-28 11:15:36 +0800912 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700913 default DMA_UNCACHED_1M
Cliff Cai86ad7932008-05-17 16:36:52 +0800914config DMA_UNCACHED_4M
915 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700916config DMA_UNCACHED_2M
917 bool "Enable 2M DMA region"
918config DMA_UNCACHED_1M
919 bool "Enable 1M DMA region"
920config DMA_UNCACHED_NONE
921 bool "Disable DMA region"
922endchoice
923
924
925comment "Cache Support"
Jie Zhang41ba6532009-06-16 09:48:33 +0000926
Robin Getz3bebca22007-10-10 23:55:26 +0800927config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700928 bool "Enable ICACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000929 default y
Jie Zhang41ba6532009-06-16 09:48:33 +0000930config BFIN_EXTMEM_ICACHEABLE
931 bool "Enable ICACHE for external memory"
932 depends on BFIN_ICACHE
933 default y
934config BFIN_L2_ICACHEABLE
935 bool "Enable ICACHE for L2 SRAM"
936 depends on BFIN_ICACHE
937 depends on BF54x || BF561
938 default n
939
Robin Getz3bebca22007-10-10 23:55:26 +0800940config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700941 bool "Enable DCACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000942 default y
Robin Getz3bebca22007-10-10 23:55:26 +0800943config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700944 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800945 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700946 default n
Jie Zhang41ba6532009-06-16 09:48:33 +0000947config BFIN_EXTMEM_DCACHEABLE
948 bool "Enable DCACHE for external memory"
Robin Getz3bebca22007-10-10 23:55:26 +0800949 depends on BFIN_DCACHE
Jie Zhang41ba6532009-06-16 09:48:33 +0000950 default y
Graf Yang5ba76672009-05-07 04:09:15 +0000951choice
Jie Zhang41ba6532009-06-16 09:48:33 +0000952 prompt "External memory DCACHE policy"
953 depends on BFIN_EXTMEM_DCACHEABLE
954 default BFIN_EXTMEM_WRITEBACK if !SMP
955 default BFIN_EXTMEM_WRITETHROUGH if SMP
956config BFIN_EXTMEM_WRITEBACK
Graf Yang5ba76672009-05-07 04:09:15 +0000957 bool "Write back"
958 depends on !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +0000959 help
960 Write Back Policy:
961 Cached data will be written back to SDRAM only when needed.
962 This can give a nice increase in performance, but beware of
963 broken drivers that do not properly invalidate/flush their
964 cache.
Graf Yang5ba76672009-05-07 04:09:15 +0000965
Jie Zhang41ba6532009-06-16 09:48:33 +0000966 Write Through Policy:
967 Cached data will always be written back to SDRAM when the
968 cache is updated. This is a completely safe setting, but
969 performance is worse than Write Back.
970
971 If you are unsure of the options and you want to be safe,
972 then go with Write Through.
973
974config BFIN_EXTMEM_WRITETHROUGH
Graf Yang5ba76672009-05-07 04:09:15 +0000975 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +0000976 help
977 Write Back Policy:
978 Cached data will be written back to SDRAM only when needed.
979 This can give a nice increase in performance, but beware of
980 broken drivers that do not properly invalidate/flush their
981 cache.
Graf Yang5ba76672009-05-07 04:09:15 +0000982
Jie Zhang41ba6532009-06-16 09:48:33 +0000983 Write Through Policy:
984 Cached data will always be written back to SDRAM when the
985 cache is updated. This is a completely safe setting, but
986 performance is worse than Write Back.
987
988 If you are unsure of the options and you want to be safe,
989 then go with Write Through.
Graf Yang5ba76672009-05-07 04:09:15 +0000990
991endchoice
Sonic Zhangf099f392008-10-09 14:11:57 +0800992
Jie Zhang41ba6532009-06-16 09:48:33 +0000993config BFIN_L2_DCACHEABLE
994 bool "Enable DCACHE for L2 SRAM"
995 depends on BFIN_DCACHE
Sonic Zhang9c954f82009-06-30 09:48:03 +0000996 depends on (BF54x || BF561) && !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +0000997 default n
998choice
999 prompt "L2 SRAM DCACHE policy"
1000 depends on BFIN_L2_DCACHEABLE
1001 default BFIN_L2_WRITEBACK
1002config BFIN_L2_WRITEBACK
1003 bool "Write back"
Jie Zhang41ba6532009-06-16 09:48:33 +00001004
1005config BFIN_L2_WRITETHROUGH
1006 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001007endchoice
1008
1009
1010comment "Memory Protection Unit"
Bernd Schmidtb97b8a92008-01-27 18:39:16 +08001011config MPU
1012 bool "Enable the memory protection unit (EXPERIMENTAL)"
1013 default n
1014 help
1015 Use the processor's MPU to protect applications from accessing
1016 memory they do not own. This comes at a performance penalty
1017 and is recommended only for debugging.
1018
Matt LaPlante692105b2009-01-26 11:12:25 +01001019comment "Asynchronous Memory Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -07001020
Mike Frysingerddf416b2007-10-10 18:06:47 +08001021menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -07001022config C_AMCKEN
1023 bool "Enable CLKOUT"
1024 default y
1025
1026config C_CDPRIO
1027 bool "DMA has priority over core for ext. accesses"
1028 default n
1029
1030config C_B0PEN
1031 depends on BF561
1032 bool "Bank 0 16 bit packing enable"
1033 default y
1034
1035config C_B1PEN
1036 depends on BF561
1037 bool "Bank 1 16 bit packing enable"
1038 default y
1039
1040config C_B2PEN
1041 depends on BF561
1042 bool "Bank 2 16 bit packing enable"
1043 default y
1044
1045config C_B3PEN
1046 depends on BF561
1047 bool "Bank 3 16 bit packing enable"
1048 default n
1049
1050choice
Matt LaPlante692105b2009-01-26 11:12:25 +01001051 prompt "Enable Asynchronous Memory Banks"
Bryan Wu1394f032007-05-06 14:50:22 -07001052 default C_AMBEN_ALL
1053
1054config C_AMBEN
1055 bool "Disable All Banks"
1056
1057config C_AMBEN_B0
1058 bool "Enable Bank 0"
1059
1060config C_AMBEN_B0_B1
1061 bool "Enable Bank 0 & 1"
1062
1063config C_AMBEN_B0_B1_B2
1064 bool "Enable Bank 0 & 1 & 2"
1065
1066config C_AMBEN_ALL
1067 bool "Enable All Banks"
1068endchoice
1069endmenu
1070
1071menu "EBIU_AMBCTL Control"
1072config BANK_0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001073 hex "Bank 0 (AMBCTL0.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001074 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001075 help
1076 These are the low 16 bits of the EBIU_AMBCTL0 MMR which are
1077 used to control the Asynchronous Memory Bank 0 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001078
1079config BANK_1
Mike Frysingerc8342f82009-03-31 00:18:35 +00001080 hex "Bank 1 (AMBCTL0.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001081 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +08001082 default 0x5558 if BF54x
Mike Frysingerc8342f82009-03-31 00:18:35 +00001083 help
1084 These are the high 16 bits of the EBIU_AMBCTL0 MMR which are
1085 used to control the Asynchronous Memory Bank 1 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001086
1087config BANK_2
Mike Frysingerc8342f82009-03-31 00:18:35 +00001088 hex "Bank 2 (AMBCTL1.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001089 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001090 help
1091 These are the low 16 bits of the EBIU_AMBCTL1 MMR which are
1092 used to control the Asynchronous Memory Bank 2 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001093
1094config BANK_3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001095 hex "Bank 3 (AMBCTL1.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001096 default 0x99B3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001097 help
1098 These are the high 16 bits of the EBIU_AMBCTL1 MMR which are
1099 used to control the Asynchronous Memory Bank 3 settings.
1100
Bryan Wu1394f032007-05-06 14:50:22 -07001101endmenu
1102
Sonic Zhange40540b2007-11-21 23:49:52 +08001103config EBIU_MBSCTLVAL
1104 hex "EBIU Bank Select Control Register"
1105 depends on BF54x
1106 default 0
1107
1108config EBIU_MODEVAL
1109 hex "Flash Memory Mode Control Register"
1110 depends on BF54x
1111 default 1
1112
1113config EBIU_FCTLVAL
1114 hex "Flash Memory Bank Control Register"
1115 depends on BF54x
1116 default 6
Bryan Wu1394f032007-05-06 14:50:22 -07001117endmenu
1118
1119#############################################################################
1120menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1121
1122config PCI
1123 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +08001124 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -07001125 help
1126 Support for PCI bus.
1127
1128source "drivers/pci/Kconfig"
1129
1130config HOTPLUG
1131 bool "Support for hot-pluggable device"
1132 help
1133 Say Y here if you want to plug devices into your computer while
1134 the system is running, and be able to use them quickly. In many
1135 cases, the devices can likewise be unplugged at any time too.
1136
1137 One well known example of this is PCMCIA- or PC-cards, credit-card
1138 size devices such as network cards, modems or hard drives which are
1139 plugged into slots found on all modern laptop computers. Another
1140 example, used on modern desktops as well as laptops, is USB.
1141
Johannes Berga81792f2008-07-08 19:00:25 +02001142 Enable HOTPLUG and build a modular kernel. Get agent software
1143 (from <http://linux-hotplug.sourceforge.net/>) and install it.
Bryan Wu1394f032007-05-06 14:50:22 -07001144 Then your kernel will automatically call out to a user mode "policy
1145 agent" (/sbin/hotplug) to load modules and set up software needed
1146 to use devices as you hotplug them.
1147
1148source "drivers/pcmcia/Kconfig"
1149
1150source "drivers/pci/hotplug/Kconfig"
1151
1152endmenu
1153
1154menu "Executable file formats"
1155
1156source "fs/Kconfig.binfmt"
1157
1158endmenu
1159
1160menu "Power management options"
Graf Yangad461632009-08-07 03:52:54 +00001161 depends on !SMP
1162
Bryan Wu1394f032007-05-06 14:50:22 -07001163source "kernel/power/Kconfig"
1164
Johannes Bergf4cb5702007-12-08 02:14:00 +01001165config ARCH_SUSPEND_POSSIBLE
1166 def_bool y
Johannes Bergf4cb5702007-12-08 02:14:00 +01001167
Bryan Wu1394f032007-05-06 14:50:22 -07001168choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001169 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -07001170 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001171 default PM_BFIN_SLEEP_DEEPER
1172config PM_BFIN_SLEEP_DEEPER
1173 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001174 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001175 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1176 power dissipation by disabling the clock to the processor core (CCLK).
1177 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1178 to 0.85 V to provide the greatest power savings, while preserving the
1179 processor state.
1180 The PLL and system clock (SCLK) continue to operate at a very low
1181 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1182 the SDRAM is put into Self Refresh Mode. Typically an external event
1183 such as GPIO interrupt or RTC activity wakes up the processor.
1184 Various Peripherals such as UART, SPORT, PPI may not function as
1185 normal during Sleep Deeper, due to the reduced SCLK frequency.
1186 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001187
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001188 If unsure, select "Sleep Deeper".
1189
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001190config PM_BFIN_SLEEP
1191 bool "Sleep"
1192 help
1193 Sleep Mode (High Power Savings) - The sleep mode reduces power
1194 dissipation by disabling the clock to the processor core (CCLK).
1195 The PLL and system clock (SCLK), however, continue to operate in
1196 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001197 up the processor. When in the sleep mode, system DMA access to L1
1198 memory is not supported.
1199
1200 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001201endchoice
1202
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001203config PM_WAKEUP_BY_GPIO
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001204 bool "Allow Wakeup from Standby by GPIO"
Michael Hennerichff19fed2009-03-04 17:35:51 +08001205 depends on PM && !BF54x
Bryan Wu1394f032007-05-06 14:50:22 -07001206
1207config PM_WAKEUP_GPIO_NUMBER
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001208 int "GPIO number"
Bryan Wu1394f032007-05-06 14:50:22 -07001209 range 0 47
1210 depends on PM_WAKEUP_BY_GPIO
Mike Frysingerd1a33362008-11-18 17:48:22 +08001211 default 2
Bryan Wu1394f032007-05-06 14:50:22 -07001212
1213choice
1214 prompt "GPIO Polarity"
1215 depends on PM_WAKEUP_BY_GPIO
1216 default PM_WAKEUP_GPIO_POLAR_H
1217config PM_WAKEUP_GPIO_POLAR_H
1218 bool "Active High"
1219config PM_WAKEUP_GPIO_POLAR_L
1220 bool "Active Low"
1221config PM_WAKEUP_GPIO_POLAR_EDGE_F
1222 bool "Falling EDGE"
1223config PM_WAKEUP_GPIO_POLAR_EDGE_R
1224 bool "Rising EDGE"
1225config PM_WAKEUP_GPIO_POLAR_EDGE_B
1226 bool "Both EDGE"
1227endchoice
1228
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001229comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1230 depends on PM
1231
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001232config PM_BFIN_WAKE_PH6
1233 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001234 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001235 default n
1236 help
1237 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1238
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001239config PM_BFIN_WAKE_GP
1240 bool "Allow Wake-Up from GPIOs"
1241 depends on PM && BF54x
1242 default n
1243 help
1244 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Michael Hennerich19986282009-03-05 16:45:55 +08001245 (all processors, except ADSP-BF549). This option sets
1246 the general-purpose wake-up enable (GPWE) control bit to enable
1247 wake-up upon detection of an active low signal on the /GPW (PH7) pin.
1248 On ADSP-BF549 this option enables the the same functionality on the
1249 /MRXON pin also PH7.
1250
Bryan Wu1394f032007-05-06 14:50:22 -07001251endmenu
1252
Bryan Wu1394f032007-05-06 14:50:22 -07001253menu "CPU Frequency scaling"
Graf Yangad461632009-08-07 03:52:54 +00001254 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -07001255
1256source "drivers/cpufreq/Kconfig"
1257
Michael Hennerich5ad2ca52008-11-18 17:48:22 +08001258config BFIN_CPU_FREQ
1259 bool
1260 depends on CPU_FREQ
1261 select CPU_FREQ_TABLE
1262 default y
1263
Michael Hennerich14b03202008-05-07 11:41:26 +08001264config CPU_VOLTAGE
1265 bool "CPU Voltage scaling"
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001266 depends on EXPERIMENTAL
Michael Hennerich14b03202008-05-07 11:41:26 +08001267 depends on CPU_FREQ
1268 default n
1269 help
1270 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1271 This option violates the PLL BYPASS recommendation in the Blackfin Processor
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001272 manuals. There is a theoretical risk that during VDDINT transitions
Michael Hennerich14b03202008-05-07 11:41:26 +08001273 the PLL may unlock.
1274
Bryan Wu1394f032007-05-06 14:50:22 -07001275endmenu
1276
Bryan Wu1394f032007-05-06 14:50:22 -07001277source "net/Kconfig"
1278
1279source "drivers/Kconfig"
1280
1281source "fs/Kconfig"
1282
Mike Frysinger74ce8322007-11-21 23:50:49 +08001283source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001284
1285source "security/Kconfig"
1286
1287source "crypto/Kconfig"
1288
1289source "lib/Kconfig"