blob: 1f075be7717f96322a1f1353c85919c4237425bb [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 Hennericha4f0b32c2008-11-18 17:48:22 +080033 select ARCH_WANT_OPTIONAL_GPIOLIB
Bryan Wu1394f032007-05-06 14:50:22 -070034
Mike Frysingerddf9dda2009-06-13 07:42:58 -040035config GENERIC_CSUM
36 def_bool y
37
Mike Frysinger70f12562009-06-07 17:18:25 -040038config GENERIC_BUG
39 def_bool y
40 depends on BUG
41
Aubrey Lie3defff2007-05-21 18:09:11 +080042config ZONE_DMA
Mike Frysingerbac7d892009-06-07 03:46:06 -040043 def_bool y
Aubrey Lie3defff2007-05-21 18:09:11 +080044
Bryan Wu1394f032007-05-06 14:50:22 -070045config GENERIC_FIND_NEXT_BIT
Mike Frysingerbac7d892009-06-07 03:46:06 -040046 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070047
48config GENERIC_HWEIGHT
Mike Frysingerbac7d892009-06-07 03:46:06 -040049 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070050
51config GENERIC_HARDIRQS
Mike Frysingerbac7d892009-06-07 03:46:06 -040052 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070053
54config GENERIC_IRQ_PROBE
Mike Frysingerbac7d892009-06-07 03:46:06 -040055 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070056
Michael Hennerich796dada2009-09-30 07:54:40 +000057config GENERIC_HARDIRQS_NO__DO_IRQ
58 def_bool y
59
Michael Hennerichb2d15832007-07-24 15:46:36 +080060config GENERIC_GPIO
Mike Frysingerbac7d892009-06-07 03:46:06 -040061 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070062
63config FORCE_MAX_ZONEORDER
64 int
65 default "14"
66
67config GENERIC_CALIBRATE_DELAY
Mike Frysingerbac7d892009-06-07 03:46:06 -040068 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070069
Mike Frysinger6fa68e72009-06-08 18:45:01 -040070config LOCKDEP_SUPPORT
71 def_bool y
72
Mike Frysingerc7b412f2009-06-08 18:44:45 -040073config STACKTRACE_SUPPORT
74 def_bool y
75
Mike Frysinger8f860012009-06-08 12:49:48 -040076config TRACE_IRQFLAGS_SUPPORT
77 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070078
Bryan Wu1394f032007-05-06 14:50:22 -070079source "init/Kconfig"
Matt Helsleydc52ddc2008-10-18 20:27:21 -070080
Bryan Wu1394f032007-05-06 14:50:22 -070081source "kernel/Kconfig.preempt"
82
Matt Helsleydc52ddc2008-10-18 20:27:21 -070083source "kernel/Kconfig.freezer"
84
Bryan Wu1394f032007-05-06 14:50:22 -070085menu "Blackfin Processor Options"
86
87comment "Processor and Board Settings"
88
89choice
90 prompt "CPU"
91 default BF533
92
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080093config BF512
94 bool "BF512"
95 help
96 BF512 Processor Support.
97
98config BF514
99 bool "BF514"
100 help
101 BF514 Processor Support.
102
103config BF516
104 bool "BF516"
105 help
106 BF516 Processor Support.
107
108config BF518
109 bool "BF518"
110 help
111 BF518 Processor Support.
112
Michael Hennerich59003142007-10-21 16:54:27 +0800113config BF522
114 bool "BF522"
115 help
116 BF522 Processor Support.
117
Mike Frysinger1545a112007-12-24 16:54:48 +0800118config BF523
119 bool "BF523"
120 help
121 BF523 Processor Support.
122
123config BF524
124 bool "BF524"
125 help
126 BF524 Processor Support.
127
Michael Hennerich59003142007-10-21 16:54:27 +0800128config BF525
129 bool "BF525"
130 help
131 BF525 Processor Support.
132
Mike Frysinger1545a112007-12-24 16:54:48 +0800133config BF526
134 bool "BF526"
135 help
136 BF526 Processor Support.
137
Michael Hennerich59003142007-10-21 16:54:27 +0800138config BF527
139 bool "BF527"
140 help
141 BF527 Processor Support.
142
Bryan Wu1394f032007-05-06 14:50:22 -0700143config BF531
144 bool "BF531"
145 help
146 BF531 Processor Support.
147
148config BF532
149 bool "BF532"
150 help
151 BF532 Processor Support.
152
153config BF533
154 bool "BF533"
155 help
156 BF533 Processor Support.
157
158config BF534
159 bool "BF534"
160 help
161 BF534 Processor Support.
162
163config BF536
164 bool "BF536"
165 help
166 BF536 Processor Support.
167
168config BF537
169 bool "BF537"
170 help
171 BF537 Processor Support.
172
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800173config BF538
174 bool "BF538"
175 help
176 BF538 Processor Support.
177
178config BF539
179 bool "BF539"
180 help
181 BF539 Processor Support.
182
Mike Frysinger5df326a2009-11-16 23:49:41 +0000183config BF542_std
Roy Huang24a07a12007-07-12 22:41:45 +0800184 bool "BF542"
185 help
186 BF542 Processor Support.
187
Mike Frysinger2f89c062009-02-04 16:49:45 +0800188config BF542M
189 bool "BF542m"
190 help
191 BF542 Processor Support.
192
Mike Frysinger5df326a2009-11-16 23:49:41 +0000193config BF544_std
Roy Huang24a07a12007-07-12 22:41:45 +0800194 bool "BF544"
195 help
196 BF544 Processor Support.
197
Mike Frysinger2f89c062009-02-04 16:49:45 +0800198config BF544M
199 bool "BF544m"
200 help
201 BF544 Processor Support.
202
Mike Frysinger5df326a2009-11-16 23:49:41 +0000203config BF547_std
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800204 bool "BF547"
205 help
206 BF547 Processor Support.
207
Mike Frysinger2f89c062009-02-04 16:49:45 +0800208config BF547M
209 bool "BF547m"
210 help
211 BF547 Processor Support.
212
Mike Frysinger5df326a2009-11-16 23:49:41 +0000213config BF548_std
Roy Huang24a07a12007-07-12 22:41:45 +0800214 bool "BF548"
215 help
216 BF548 Processor Support.
217
Mike Frysinger2f89c062009-02-04 16:49:45 +0800218config BF548M
219 bool "BF548m"
220 help
221 BF548 Processor Support.
222
Mike Frysinger5df326a2009-11-16 23:49:41 +0000223config BF549_std
Roy Huang24a07a12007-07-12 22:41:45 +0800224 bool "BF549"
225 help
226 BF549 Processor Support.
227
Mike Frysinger2f89c062009-02-04 16:49:45 +0800228config BF549M
229 bool "BF549m"
230 help
231 BF549 Processor Support.
232
Bryan Wu1394f032007-05-06 14:50:22 -0700233config BF561
234 bool "BF561"
235 help
Mike Frysingercd88b4d2008-10-09 12:03:22 +0800236 BF561 Processor Support.
Bryan Wu1394f032007-05-06 14:50:22 -0700237
238endchoice
239
Graf Yang46fa5ee2009-01-07 23:14:39 +0800240config SMP
241 depends on BF561
john stultz10f03f12009-09-15 21:17:19 -0700242 select GENERIC_CLOCKEVENTS
Graf Yang46fa5ee2009-01-07 23:14:39 +0800243 bool "Symmetric multi-processing support"
244 ---help---
245 This enables support for systems with more than one CPU,
246 like the dual core BF561. If you have a system with only one
247 CPU, say N. If you have a system with more than one CPU, say Y.
248
249 If you don't know what to do here, say N.
250
251config NR_CPUS
252 int
253 depends on SMP
254 default 2 if BF561
255
256config IRQ_PER_CPU
257 bool
258 depends on SMP
259 default y
260
Graf Yangead9b112009-12-14 08:01:08 +0000261config HAVE_LEGACY_PER_CPU_AREA
262 def_bool y
263 depends on SMP
264
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800265config BF_REV_MIN
266 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800267 default 0 if (BF51x || BF52x || (BF54x && !BF54xM))
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800268 default 2 if (BF537 || BF536 || BF534)
Mike Frysinger2f89c062009-02-04 16:49:45 +0800269 default 3 if (BF561 || BF533 || BF532 || BF531 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800270 default 4 if (BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800271
272config BF_REV_MAX
273 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800274 default 2 if (BF51x || BF52x || (BF54x && !BF54xM))
275 default 3 if (BF537 || BF536 || BF534 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800276 default 5 if (BF561 || BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800277 default 6 if (BF533 || BF532 || BF531)
278
Bryan Wu1394f032007-05-06 14:50:22 -0700279choice
280 prompt "Silicon Rev"
Mike Frysingerf8b55652009-04-13 21:58:34 +0000281 default BF_REV_0_0 if (BF51x || BF52x)
282 default BF_REV_0_2 if (BF534 || BF536 || BF537 || (BF54x && !BF54xM))
Mike Frysinger2f89c062009-02-04 16:49:45 +0800283 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF54xM || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800284
285config BF_REV_0_0
286 bool "0.0"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800287 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Michael Hennerich59003142007-10-21 16:54:27 +0800288
289config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800290 bool "0.1"
Mike Frysinger3d15f302009-06-15 16:21:44 +0000291 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700292
293config BF_REV_0_2
294 bool "0.2"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800295 depends on (BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700296
297config BF_REV_0_3
298 bool "0.3"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800299 depends on (BF54xM || BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
Bryan Wu1394f032007-05-06 14:50:22 -0700300
301config BF_REV_0_4
302 bool "0.4"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800303 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700304
305config BF_REV_0_5
306 bool "0.5"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800307 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700308
Mike Frysinger49f72532008-10-09 12:06:27 +0800309config BF_REV_0_6
310 bool "0.6"
311 depends on (BF533 || BF532 || BF531)
312
Jie Zhangde3025f2007-06-25 18:04:12 +0800313config BF_REV_ANY
314 bool "any"
315
316config BF_REV_NONE
317 bool "none"
318
Bryan Wu1394f032007-05-06 14:50:22 -0700319endchoice
320
Roy Huang24a07a12007-07-12 22:41:45 +0800321config BF53x
322 bool
323 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
324 default y
325
Bryan Wu1394f032007-05-06 14:50:22 -0700326config MEM_GENERIC_BOARD
327 bool
328 depends on GENERIC_BOARD
329 default y
330
331config MEM_MT48LC64M4A2FB_7E
332 bool
333 depends on (BFIN533_STAMP)
334 default y
335
336config MEM_MT48LC16M16A2TG_75
337 bool
338 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000339 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM_E \
340 || BFIN537_BLUETECHNIX_CM_U || H8606_HVSISTEMAS \
341 || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700342 default y
343
344config MEM_MT48LC32M8A2_75
345 bool
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800346 depends on (BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700347 default y
348
349config MEM_MT48LC8M32B2B5_7
350 bool
351 depends on (BFIN561_BLUETECHNIX_CM)
352 default y
353
Michael Hennerich59003142007-10-21 16:54:27 +0800354config MEM_MT48LC32M16A2TG_75
355 bool
Michael Hennerich6924dfb2009-12-07 13:41:28 +0000356 depends on (BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN532_IP0X || BLACKSTAMP)
Michael Hennerich59003142007-10-21 16:54:27 +0800357 default y
358
Sonic Zhang49345402009-01-07 23:14:38 +0800359config MEM_MT48LC32M8A2_75
360 bool
361 depends on (BFIN518F_EZBRD)
362 default y
363
Graf Yangee48efb2009-06-18 04:32:04 +0000364config MEM_MT48H32M16LFCJ_75
365 bool
366 depends on (BFIN526_EZBRD)
367 default y
368
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800369source "arch/blackfin/mach-bf518/Kconfig"
Michael Hennerich59003142007-10-21 16:54:27 +0800370source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700371source "arch/blackfin/mach-bf533/Kconfig"
372source "arch/blackfin/mach-bf561/Kconfig"
373source "arch/blackfin/mach-bf537/Kconfig"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800374source "arch/blackfin/mach-bf538/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800375source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700376
377menu "Board customizations"
378
379config CMDLINE_BOOL
380 bool "Default bootloader kernel arguments"
381
382config CMDLINE
383 string "Initial kernel command string"
384 depends on CMDLINE_BOOL
385 default "console=ttyBF0,57600"
386 help
387 If you don't have a boot loader capable of passing a command line string
388 to the kernel, you may specify one here. As a minimum, you should specify
389 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
390
Mike Frysinger5f004c22008-04-25 02:11:24 +0800391config BOOT_LOAD
392 hex "Kernel load address for booting"
393 default "0x1000"
394 range 0x1000 0x20000000
395 help
396 This option allows you to set the load address of the kernel.
397 This can be useful if you are on a board which has a small amount
398 of memory or you wish to reserve some memory at the beginning of
399 the address space.
400
401 Note that you need to keep this value above 4k (0x1000) as this
402 memory region is used to capture NULL pointer references as well
403 as some core kernel functions.
404
Michael Hennerich8cc71172008-10-13 14:45:06 +0800405config ROM_BASE
406 hex "Kernel ROM Base"
Mike Frysinger86249912008-11-18 17:48:22 +0800407 depends on ROMKERNEL
Michael Hennerich8cc71172008-10-13 14:45:06 +0800408 default "0x20040000"
409 range 0x20000000 0x20400000 if !(BF54x || BF561)
410 range 0x20000000 0x30000000 if (BF54x || BF561)
411 help
412
Robin Getzf16295e2007-08-03 18:07:17 +0800413comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700414
415config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800416 int "Frequency of the crystal on the board in Hz"
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800417 default "10000000" if BFIN532_IP0X
Mike Frysingerd0cb9b42009-06-11 21:52:35 +0000418 default "11059200" if BFIN533_STAMP
419 default "24576000" if PNAV10
420 default "25000000" # most people use this
421 default "27000000" if BFIN533_EZKIT
422 default "30000000" if BFIN561_EZKIT
Bryan Wu1394f032007-05-06 14:50:22 -0700423 help
424 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800425 Warning: This value should match the crystal on the board. Otherwise,
426 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700427
Robin Getzf16295e2007-08-03 18:07:17 +0800428config BFIN_KERNEL_CLOCK
429 bool "Re-program Clocks while Kernel boots?"
430 default n
431 help
432 This option decides if kernel clocks are re-programed from the
433 bootloader settings. If the clocks are not set, the SDRAM settings
434 are also not changed, and the Bootloader does 100% of the hardware
435 configuration.
436
437config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800438 bool "Bypass PLL"
439 depends on BFIN_KERNEL_CLOCK
440 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800441
442config CLKIN_HALF
443 bool "Half Clock In"
444 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
445 default n
446 help
447 If this is set the clock will be divided by 2, before it goes to the PLL.
448
449config VCO_MULT
450 int "VCO Multiplier"
451 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
452 range 1 64
453 default "22" if BFIN533_EZKIT
454 default "45" if BFIN533_STAMP
Michael Hennerich6924dfb2009-12-07 13:41:28 +0000455 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800456 default "22" if BFIN533_BLUETECHNIX_CM
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000457 default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800458 default "20" if BFIN561_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800459 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
Robin Getzf16295e2007-08-03 18:07:17 +0800460 help
461 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
462 PLL Frequency = (Crystal Frequency) * (this setting)
463
464choice
465 prompt "Core Clock Divider"
466 depends on BFIN_KERNEL_CLOCK
467 default CCLK_DIV_1
468 help
469 This sets the frequency of the core. It can be 1, 2, 4 or 8
470 Core Frequency = (PLL frequency) / (this setting)
471
472config CCLK_DIV_1
473 bool "1"
474
475config CCLK_DIV_2
476 bool "2"
477
478config CCLK_DIV_4
479 bool "4"
480
481config CCLK_DIV_8
482 bool "8"
483endchoice
484
485config SCLK_DIV
486 int "System Clock Divider"
487 depends on BFIN_KERNEL_CLOCK
488 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800489 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800490 help
491 This sets the frequency of the system clock (including SDRAM or DDR).
492 This can be between 1 and 15
493 System Clock = (PLL frequency) / (this setting)
494
Mike Frysinger5f004c22008-04-25 02:11:24 +0800495choice
496 prompt "DDR SDRAM Chip Type"
497 depends on BFIN_KERNEL_CLOCK
498 depends on BF54x
499 default MEM_MT46V32M16_5B
500
501config MEM_MT46V32M16_6T
502 bool "MT46V32M16_6T"
503
504config MEM_MT46V32M16_5B
505 bool "MT46V32M16_5B"
506endchoice
507
Michael Hennerich73feb5c2009-01-07 23:14:39 +0800508choice
509 prompt "DDR/SDRAM Timing"
510 depends on BFIN_KERNEL_CLOCK
511 default BFIN_KERNEL_CLOCK_MEMINIT_CALC
512 help
513 This option allows you to specify Blackfin SDRAM/DDR Timing parameters
514 The calculated SDRAM timing parameters may not be 100%
515 accurate - This option is therefore marked experimental.
516
517config BFIN_KERNEL_CLOCK_MEMINIT_CALC
518 bool "Calculate Timings (EXPERIMENTAL)"
519 depends on EXPERIMENTAL
520
521config BFIN_KERNEL_CLOCK_MEMINIT_SPEC
522 bool "Provide accurate Timings based on target SCLK"
523 help
524 Please consult the Blackfin Hardware Reference Manuals as well
525 as the memory device datasheet.
526 http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram
527endchoice
528
529menu "Memory Init Control"
530 depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC
531
532config MEM_DDRCTL0
533 depends on BF54x
534 hex "DDRCTL0"
535 default 0x0
536
537config MEM_DDRCTL1
538 depends on BF54x
539 hex "DDRCTL1"
540 default 0x0
541
542config MEM_DDRCTL2
543 depends on BF54x
544 hex "DDRCTL2"
545 default 0x0
546
547config MEM_EBIU_DDRQUE
548 depends on BF54x
549 hex "DDRQUE"
550 default 0x0
551
552config MEM_SDRRC
553 depends on !BF54x
554 hex "SDRRC"
555 default 0x0
556
557config MEM_SDGCTL
558 depends on !BF54x
559 hex "SDGCTL"
560 default 0x0
561endmenu
562
Robin Getzf16295e2007-08-03 18:07:17 +0800563#
564# Max & Min Speeds for various Chips
565#
566config MAX_VCO_HZ
567 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800568 default 400000000 if BF512
569 default 400000000 if BF514
570 default 400000000 if BF516
571 default 400000000 if BF518
Mike Frysinger7b062632009-08-11 21:27:09 +0000572 default 400000000 if BF522
573 default 600000000 if BF523
Mike Frysinger1545a112007-12-24 16:54:48 +0800574 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800575 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800576 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800577 default 600000000 if BF527
578 default 400000000 if BF531
579 default 400000000 if BF532
580 default 750000000 if BF533
581 default 500000000 if BF534
582 default 400000000 if BF536
583 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800584 default 533333333 if BF538
585 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800586 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800587 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800588 default 600000000 if BF547
589 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800590 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800591 default 600000000 if BF561
592
593config MIN_VCO_HZ
594 int
595 default 50000000
596
597config MAX_SCLK_HZ
598 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800599 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800600
601config MIN_SCLK_HZ
602 int
603 default 27000000
604
605comment "Kernel Timer/Scheduler"
606
607source kernel/Kconfig.hz
608
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800609config GENERIC_TIME
john stultz10f03f12009-09-15 21:17:19 -0700610 def_bool y
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800611
612config GENERIC_CLOCKEVENTS
613 bool "Generic clock events"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800614 default y
615
Graf Yang1fa9be72009-05-15 11:01:59 +0000616choice
617 prompt "Kernel Tick Source"
618 depends on GENERIC_CLOCKEVENTS
619 default TICKSOURCE_CORETMR
620
621config TICKSOURCE_GPTMR0
622 bool "Gptimer0 (SCLK domain)"
623 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000624
625config TICKSOURCE_CORETMR
626 bool "Core timer (CCLK domain)"
627
628endchoice
629
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800630config CYCLES_CLOCKSOURCE
Graf Yang1fa9be72009-05-15 11:01:59 +0000631 bool "Use 'CYCLES' as a clocksource"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800632 depends on GENERIC_CLOCKEVENTS
633 depends on !BFIN_SCRATCH_REG_CYCLES
Graf Yang1fa9be72009-05-15 11:01:59 +0000634 depends on !SMP
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800635 help
636 If you say Y here, you will enable support for using the 'cycles'
637 registers as a clock source. Doing so means you will be unable to
638 safely write to the 'cycles' register during runtime. You will
639 still be able to read it (such as for performance monitoring), but
640 writing the registers will most likely crash the kernel.
641
Graf Yang1fa9be72009-05-15 11:01:59 +0000642config GPTMR0_CLOCKSOURCE
Graf Yange78feaa2009-09-14 04:41:00 +0000643 bool "Use GPTimer0 as a clocksource"
Mike Frysinger3aca47c2009-06-18 19:40:47 +0000644 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000645 depends on GENERIC_CLOCKEVENTS
646 depends on !TICKSOURCE_GPTMR0
647
john stultz10f03f12009-09-15 21:17:19 -0700648config ARCH_USES_GETTIMEOFFSET
649 depends on !GENERIC_CLOCKEVENTS
650 def_bool y
651
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800652source kernel/time/Kconfig
653
Mike Frysinger5f004c22008-04-25 02:11:24 +0800654comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800655
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800656choice
657 prompt "Blackfin Exception Scratch Register"
658 default BFIN_SCRATCH_REG_RETN
659 help
660 Select the resource to reserve for the Exception handler:
661 - RETN: Non-Maskable Interrupt (NMI)
662 - RETE: Exception Return (JTAG/ICE)
663 - CYCLES: Performance counter
664
665 If you are unsure, please select "RETN".
666
667config BFIN_SCRATCH_REG_RETN
668 bool "RETN"
669 help
670 Use the RETN register in the Blackfin exception handler
671 as a stack scratch register. This means you cannot
672 safely use NMI on the Blackfin while running Linux, but
673 you can debug the system with a JTAG ICE and use the
674 CYCLES performance registers.
675
676 If you are unsure, please select "RETN".
677
678config BFIN_SCRATCH_REG_RETE
679 bool "RETE"
680 help
681 Use the RETE register in the Blackfin exception handler
682 as a stack scratch register. This means you cannot
683 safely use a JTAG ICE while debugging a Blackfin board,
684 but you can safely use the CYCLES performance registers
685 and the NMI.
686
687 If you are unsure, please select "RETN".
688
689config BFIN_SCRATCH_REG_CYCLES
690 bool "CYCLES"
691 help
692 Use the CYCLES register in the Blackfin exception handler
693 as a stack scratch register. This means you cannot
694 safely use the CYCLES performance registers on a Blackfin
695 board at anytime, but you can debug the system with a JTAG
696 ICE and use the NMI.
697
698 If you are unsure, please select "RETN".
699
700endchoice
701
Bryan Wu1394f032007-05-06 14:50:22 -0700702endmenu
703
704
705menu "Blackfin Kernel Optimizations"
Graf Yang46fa5ee2009-01-07 23:14:39 +0800706 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700707
Bryan Wu1394f032007-05-06 14:50:22 -0700708comment "Memory Optimizations"
709
710config I_ENTRY_L1
711 bool "Locate interrupt entry code in L1 Memory"
712 default y
713 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200714 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
715 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700716
717config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200718 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700719 default y
720 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200721 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800722 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200723 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700724
725config DO_IRQ_L1
726 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
727 default y
728 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200729 If enabled, the frequently called do_irq dispatcher function is linked
730 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700731
732config CORE_TIMER_IRQ_L1
733 bool "Locate frequently called timer_interrupt() function in L1 Memory"
734 default y
735 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200736 If enabled, the frequently called timer_interrupt() function is linked
737 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700738
739config IDLE_L1
740 bool "Locate frequently idle function in L1 Memory"
741 default y
742 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200743 If enabled, the frequently called idle function is linked
744 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700745
746config SCHEDULE_L1
747 bool "Locate kernel schedule function in L1 Memory"
748 default y
749 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200750 If enabled, the frequently called kernel schedule is linked
751 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700752
753config ARITHMETIC_OPS_L1
754 bool "Locate kernel owned arithmetic functions in L1 Memory"
755 default y
756 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200757 If enabled, arithmetic functions are linked
758 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700759
760config ACCESS_OK_L1
761 bool "Locate access_ok function in L1 Memory"
762 default y
763 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200764 If enabled, the access_ok function is linked
765 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700766
767config MEMSET_L1
768 bool "Locate memset function in L1 Memory"
769 default y
770 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200771 If enabled, the memset function is linked
772 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700773
774config MEMCPY_L1
775 bool "Locate memcpy function in L1 Memory"
776 default y
777 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200778 If enabled, the memcpy function is linked
779 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700780
781config SYS_BFIN_SPINLOCK_L1
782 bool "Locate sys_bfin_spinlock function in L1 Memory"
783 default y
784 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200785 If enabled, sys_bfin_spinlock function is linked
786 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700787
788config IP_CHECKSUM_L1
789 bool "Locate IP Checksum function in L1 Memory"
790 default n
791 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200792 If enabled, the IP Checksum function is linked
793 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700794
795config CACHELINE_ALIGNED_L1
796 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800797 default y if !BF54x
798 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700799 depends on !BF531
800 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100801 If enabled, cacheline_aligned data is linked
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200802 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700803
804config SYSCALL_TAB_L1
805 bool "Locate Syscall Table L1 Data Memory"
806 default n
807 depends on !BF531
808 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200809 If enabled, the Syscall LUT is linked
810 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700811
812config CPLB_SWITCH_TAB_L1
813 bool "Locate CPLB Switch Tables L1 Data Memory"
814 default n
815 depends on !BF531
816 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200817 If enabled, the CPLB Switch Tables are linked
818 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700819
Graf Yangca87b7a2008-10-08 17:30:01 +0800820config APP_STACK_L1
821 bool "Support locating application stack in L1 Scratch Memory"
822 default y
823 help
824 If enabled the application stack can be located in L1
825 scratch memory (less latency).
826
827 Currently only works with FLAT binaries.
828
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800829config EXCEPTION_L1_SCRATCH
830 bool "Locate exception stack in L1 Scratch Memory"
831 default n
Graf Yangf82e0a02009-04-08 08:30:22 +0000832 depends on !APP_STACK_L1
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800833 help
834 Whenever an exception occurs, use the L1 Scratch memory for
835 stack storage. You cannot place the stacks of FLAT binaries
836 in L1 when using this option.
837
838 If you don't use L1 Scratch, then you should say Y here.
839
Robin Getz251383c2008-08-14 15:12:55 +0800840comment "Speed Optimizations"
841config BFIN_INS_LOWOVERHEAD
842 bool "ins[bwl] low overhead, higher interrupt latency"
843 default y
844 help
845 Reads on the Blackfin are speculative. In Blackfin terms, this means
846 they can be interrupted at any time (even after they have been issued
847 on to the external bus), and re-issued after the interrupt occurs.
848 For memory - this is not a big deal, since memory does not change if
849 it sees a read.
850
851 If a FIFO is sitting on the end of the read, it will see two reads,
852 when the core only sees one since the FIFO receives both the read
853 which is cancelled (and not delivered to the core) and the one which
854 is re-issued (which is delivered to the core).
855
856 To solve this, interrupts are turned off before reads occur to
857 I/O space. This option controls which the overhead/latency of
858 controlling interrupts during this time
859 "n" turns interrupts off every read
860 (higher overhead, but lower interrupt latency)
861 "y" turns interrupts off every loop
862 (low overhead, but longer interrupt latency)
863
864 default behavior is to leave this set to on (type "Y"). If you are experiencing
865 interrupt latency issues, it is safe and OK to turn this off.
866
Bryan Wu1394f032007-05-06 14:50:22 -0700867endmenu
868
Bryan Wu1394f032007-05-06 14:50:22 -0700869choice
870 prompt "Kernel executes from"
871 help
872 Choose the memory type that the kernel will be running in.
873
874config RAMKERNEL
875 bool "RAM"
876 help
877 The kernel will be resident in RAM when running.
878
879config ROMKERNEL
880 bool "ROM"
881 help
882 The kernel will be resident in FLASH/ROM when running.
883
884endchoice
885
886source "mm/Kconfig"
887
Mike Frysinger780431e2007-10-21 23:37:54 +0800888config BFIN_GPTIMERS
889 tristate "Enable Blackfin General Purpose Timers API"
890 default n
891 help
892 Enable support for the General Purpose Timers API. If you
893 are unsure, say N.
894
895 To compile this driver as a module, choose M here: the module
Pavel Machek4737f092009-06-05 00:44:53 +0200896 will be called gptimers.
Mike Frysinger780431e2007-10-21 23:37:54 +0800897
Bryan Wu1394f032007-05-06 14:50:22 -0700898choice
Mike Frysingerd292b002008-10-28 11:15:36 +0800899 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700900 default DMA_UNCACHED_1M
Cliff Cai86ad7932008-05-17 16:36:52 +0800901config DMA_UNCACHED_4M
902 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700903config DMA_UNCACHED_2M
904 bool "Enable 2M DMA region"
905config DMA_UNCACHED_1M
906 bool "Enable 1M DMA region"
Barry Songc45c0652009-12-02 09:13:36 +0000907config DMA_UNCACHED_512K
908 bool "Enable 512K DMA region"
909config DMA_UNCACHED_256K
910 bool "Enable 256K DMA region"
911config DMA_UNCACHED_128K
912 bool "Enable 128K DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700913config DMA_UNCACHED_NONE
914 bool "Disable DMA region"
915endchoice
916
917
918comment "Cache Support"
Jie Zhang41ba6532009-06-16 09:48:33 +0000919
Robin Getz3bebca22007-10-10 23:55:26 +0800920config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700921 bool "Enable ICACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000922 default y
Jie Zhang41ba6532009-06-16 09:48:33 +0000923config BFIN_EXTMEM_ICACHEABLE
924 bool "Enable ICACHE for external memory"
925 depends on BFIN_ICACHE
926 default y
927config BFIN_L2_ICACHEABLE
928 bool "Enable ICACHE for L2 SRAM"
929 depends on BFIN_ICACHE
930 depends on BF54x || BF561
931 default n
932
Robin Getz3bebca22007-10-10 23:55:26 +0800933config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700934 bool "Enable DCACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000935 default y
Robin Getz3bebca22007-10-10 23:55:26 +0800936config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700937 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800938 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700939 default n
Jie Zhang41ba6532009-06-16 09:48:33 +0000940config BFIN_EXTMEM_DCACHEABLE
941 bool "Enable DCACHE for external memory"
Robin Getz3bebca22007-10-10 23:55:26 +0800942 depends on BFIN_DCACHE
Jie Zhang41ba6532009-06-16 09:48:33 +0000943 default y
Graf Yang5ba76672009-05-07 04:09:15 +0000944choice
Jie Zhang41ba6532009-06-16 09:48:33 +0000945 prompt "External memory DCACHE policy"
946 depends on BFIN_EXTMEM_DCACHEABLE
947 default BFIN_EXTMEM_WRITEBACK if !SMP
948 default BFIN_EXTMEM_WRITETHROUGH if SMP
949config BFIN_EXTMEM_WRITEBACK
Graf Yang5ba76672009-05-07 04:09:15 +0000950 bool "Write back"
951 depends on !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +0000952 help
953 Write Back Policy:
954 Cached data will be written back to SDRAM only when needed.
955 This can give a nice increase in performance, but beware of
956 broken drivers that do not properly invalidate/flush their
957 cache.
Graf Yang5ba76672009-05-07 04:09:15 +0000958
Jie Zhang41ba6532009-06-16 09:48:33 +0000959 Write Through Policy:
960 Cached data will always be written back to SDRAM when the
961 cache is updated. This is a completely safe setting, but
962 performance is worse than Write Back.
963
964 If you are unsure of the options and you want to be safe,
965 then go with Write Through.
966
967config BFIN_EXTMEM_WRITETHROUGH
Graf Yang5ba76672009-05-07 04:09:15 +0000968 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +0000969 help
970 Write Back Policy:
971 Cached data will be written back to SDRAM only when needed.
972 This can give a nice increase in performance, but beware of
973 broken drivers that do not properly invalidate/flush their
974 cache.
Graf Yang5ba76672009-05-07 04:09:15 +0000975
Jie Zhang41ba6532009-06-16 09:48:33 +0000976 Write Through Policy:
977 Cached data will always be written back to SDRAM when the
978 cache is updated. This is a completely safe setting, but
979 performance is worse than Write Back.
980
981 If you are unsure of the options and you want to be safe,
982 then go with Write Through.
Graf Yang5ba76672009-05-07 04:09:15 +0000983
984endchoice
Sonic Zhangf099f392008-10-09 14:11:57 +0800985
Jie Zhang41ba6532009-06-16 09:48:33 +0000986config BFIN_L2_DCACHEABLE
987 bool "Enable DCACHE for L2 SRAM"
988 depends on BFIN_DCACHE
Sonic Zhang9c954f82009-06-30 09:48:03 +0000989 depends on (BF54x || BF561) && !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +0000990 default n
991choice
992 prompt "L2 SRAM DCACHE policy"
993 depends on BFIN_L2_DCACHEABLE
994 default BFIN_L2_WRITEBACK
995config BFIN_L2_WRITEBACK
996 bool "Write back"
Jie Zhang41ba6532009-06-16 09:48:33 +0000997
998config BFIN_L2_WRITETHROUGH
999 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001000endchoice
1001
1002
1003comment "Memory Protection Unit"
Bernd Schmidtb97b8a92008-01-27 18:39:16 +08001004config MPU
1005 bool "Enable the memory protection unit (EXPERIMENTAL)"
1006 default n
1007 help
1008 Use the processor's MPU to protect applications from accessing
1009 memory they do not own. This comes at a performance penalty
1010 and is recommended only for debugging.
1011
Matt LaPlante692105b2009-01-26 11:12:25 +01001012comment "Asynchronous Memory Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -07001013
Mike Frysingerddf416b2007-10-10 18:06:47 +08001014menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -07001015config C_AMCKEN
1016 bool "Enable CLKOUT"
1017 default y
1018
1019config C_CDPRIO
1020 bool "DMA has priority over core for ext. accesses"
1021 default n
1022
1023config C_B0PEN
1024 depends on BF561
1025 bool "Bank 0 16 bit packing enable"
1026 default y
1027
1028config C_B1PEN
1029 depends on BF561
1030 bool "Bank 1 16 bit packing enable"
1031 default y
1032
1033config C_B2PEN
1034 depends on BF561
1035 bool "Bank 2 16 bit packing enable"
1036 default y
1037
1038config C_B3PEN
1039 depends on BF561
1040 bool "Bank 3 16 bit packing enable"
1041 default n
1042
1043choice
Matt LaPlante692105b2009-01-26 11:12:25 +01001044 prompt "Enable Asynchronous Memory Banks"
Bryan Wu1394f032007-05-06 14:50:22 -07001045 default C_AMBEN_ALL
1046
1047config C_AMBEN
1048 bool "Disable All Banks"
1049
1050config C_AMBEN_B0
1051 bool "Enable Bank 0"
1052
1053config C_AMBEN_B0_B1
1054 bool "Enable Bank 0 & 1"
1055
1056config C_AMBEN_B0_B1_B2
1057 bool "Enable Bank 0 & 1 & 2"
1058
1059config C_AMBEN_ALL
1060 bool "Enable All Banks"
1061endchoice
1062endmenu
1063
1064menu "EBIU_AMBCTL Control"
1065config BANK_0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001066 hex "Bank 0 (AMBCTL0.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001067 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001068 help
1069 These are the low 16 bits of the EBIU_AMBCTL0 MMR which are
1070 used to control the Asynchronous Memory Bank 0 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001071
1072config BANK_1
Mike Frysingerc8342f82009-03-31 00:18:35 +00001073 hex "Bank 1 (AMBCTL0.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001074 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +08001075 default 0x5558 if BF54x
Mike Frysingerc8342f82009-03-31 00:18:35 +00001076 help
1077 These are the high 16 bits of the EBIU_AMBCTL0 MMR which are
1078 used to control the Asynchronous Memory Bank 1 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001079
1080config BANK_2
Mike Frysingerc8342f82009-03-31 00:18:35 +00001081 hex "Bank 2 (AMBCTL1.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001082 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001083 help
1084 These are the low 16 bits of the EBIU_AMBCTL1 MMR which are
1085 used to control the Asynchronous Memory Bank 2 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001086
1087config BANK_3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001088 hex "Bank 3 (AMBCTL1.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001089 default 0x99B3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001090 help
1091 These are the high 16 bits of the EBIU_AMBCTL1 MMR which are
1092 used to control the Asynchronous Memory Bank 3 settings.
1093
Bryan Wu1394f032007-05-06 14:50:22 -07001094endmenu
1095
Sonic Zhange40540b2007-11-21 23:49:52 +08001096config EBIU_MBSCTLVAL
1097 hex "EBIU Bank Select Control Register"
1098 depends on BF54x
1099 default 0
1100
1101config EBIU_MODEVAL
1102 hex "Flash Memory Mode Control Register"
1103 depends on BF54x
1104 default 1
1105
1106config EBIU_FCTLVAL
1107 hex "Flash Memory Bank Control Register"
1108 depends on BF54x
1109 default 6
Bryan Wu1394f032007-05-06 14:50:22 -07001110endmenu
1111
1112#############################################################################
1113menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1114
1115config PCI
1116 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +08001117 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -07001118 help
1119 Support for PCI bus.
1120
1121source "drivers/pci/Kconfig"
1122
1123config HOTPLUG
1124 bool "Support for hot-pluggable device"
1125 help
1126 Say Y here if you want to plug devices into your computer while
1127 the system is running, and be able to use them quickly. In many
1128 cases, the devices can likewise be unplugged at any time too.
1129
1130 One well known example of this is PCMCIA- or PC-cards, credit-card
1131 size devices such as network cards, modems or hard drives which are
1132 plugged into slots found on all modern laptop computers. Another
1133 example, used on modern desktops as well as laptops, is USB.
1134
Johannes Berga81792f2008-07-08 19:00:25 +02001135 Enable HOTPLUG and build a modular kernel. Get agent software
1136 (from <http://linux-hotplug.sourceforge.net/>) and install it.
Bryan Wu1394f032007-05-06 14:50:22 -07001137 Then your kernel will automatically call out to a user mode "policy
1138 agent" (/sbin/hotplug) to load modules and set up software needed
1139 to use devices as you hotplug them.
1140
1141source "drivers/pcmcia/Kconfig"
1142
1143source "drivers/pci/hotplug/Kconfig"
1144
1145endmenu
1146
1147menu "Executable file formats"
1148
1149source "fs/Kconfig.binfmt"
1150
1151endmenu
1152
1153menu "Power management options"
Graf Yangad461632009-08-07 03:52:54 +00001154 depends on !SMP
1155
Bryan Wu1394f032007-05-06 14:50:22 -07001156source "kernel/power/Kconfig"
1157
Johannes Bergf4cb5702007-12-08 02:14:00 +01001158config ARCH_SUSPEND_POSSIBLE
1159 def_bool y
Johannes Bergf4cb5702007-12-08 02:14:00 +01001160
Bryan Wu1394f032007-05-06 14:50:22 -07001161choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001162 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -07001163 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001164 default PM_BFIN_SLEEP_DEEPER
1165config PM_BFIN_SLEEP_DEEPER
1166 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001167 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001168 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1169 power dissipation by disabling the clock to the processor core (CCLK).
1170 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1171 to 0.85 V to provide the greatest power savings, while preserving the
1172 processor state.
1173 The PLL and system clock (SCLK) continue to operate at a very low
1174 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1175 the SDRAM is put into Self Refresh Mode. Typically an external event
1176 such as GPIO interrupt or RTC activity wakes up the processor.
1177 Various Peripherals such as UART, SPORT, PPI may not function as
1178 normal during Sleep Deeper, due to the reduced SCLK frequency.
1179 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001180
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001181 If unsure, select "Sleep Deeper".
1182
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001183config PM_BFIN_SLEEP
1184 bool "Sleep"
1185 help
1186 Sleep Mode (High Power Savings) - The sleep mode reduces power
1187 dissipation by disabling the clock to the processor core (CCLK).
1188 The PLL and system clock (SCLK), however, continue to operate in
1189 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001190 up the processor. When in the sleep mode, system DMA access to L1
1191 memory is not supported.
1192
1193 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001194endchoice
1195
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001196config PM_WAKEUP_BY_GPIO
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001197 bool "Allow Wakeup from Standby by GPIO"
Michael Hennerichff19fed2009-03-04 17:35:51 +08001198 depends on PM && !BF54x
Bryan Wu1394f032007-05-06 14:50:22 -07001199
1200config PM_WAKEUP_GPIO_NUMBER
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001201 int "GPIO number"
Bryan Wu1394f032007-05-06 14:50:22 -07001202 range 0 47
1203 depends on PM_WAKEUP_BY_GPIO
Mike Frysingerd1a33362008-11-18 17:48:22 +08001204 default 2
Bryan Wu1394f032007-05-06 14:50:22 -07001205
1206choice
1207 prompt "GPIO Polarity"
1208 depends on PM_WAKEUP_BY_GPIO
1209 default PM_WAKEUP_GPIO_POLAR_H
1210config PM_WAKEUP_GPIO_POLAR_H
1211 bool "Active High"
1212config PM_WAKEUP_GPIO_POLAR_L
1213 bool "Active Low"
1214config PM_WAKEUP_GPIO_POLAR_EDGE_F
1215 bool "Falling EDGE"
1216config PM_WAKEUP_GPIO_POLAR_EDGE_R
1217 bool "Rising EDGE"
1218config PM_WAKEUP_GPIO_POLAR_EDGE_B
1219 bool "Both EDGE"
1220endchoice
1221
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001222comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1223 depends on PM
1224
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001225config PM_BFIN_WAKE_PH6
1226 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001227 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001228 default n
1229 help
1230 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1231
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001232config PM_BFIN_WAKE_GP
1233 bool "Allow Wake-Up from GPIOs"
1234 depends on PM && BF54x
1235 default n
1236 help
1237 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Michael Hennerich19986282009-03-05 16:45:55 +08001238 (all processors, except ADSP-BF549). This option sets
1239 the general-purpose wake-up enable (GPWE) control bit to enable
1240 wake-up upon detection of an active low signal on the /GPW (PH7) pin.
1241 On ADSP-BF549 this option enables the the same functionality on the
1242 /MRXON pin also PH7.
1243
Bryan Wu1394f032007-05-06 14:50:22 -07001244endmenu
1245
Bryan Wu1394f032007-05-06 14:50:22 -07001246menu "CPU Frequency scaling"
Graf Yangad461632009-08-07 03:52:54 +00001247 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -07001248
1249source "drivers/cpufreq/Kconfig"
1250
Michael Hennerich5ad2ca52008-11-18 17:48:22 +08001251config BFIN_CPU_FREQ
1252 bool
1253 depends on CPU_FREQ
1254 select CPU_FREQ_TABLE
1255 default y
1256
Michael Hennerich14b03202008-05-07 11:41:26 +08001257config CPU_VOLTAGE
1258 bool "CPU Voltage scaling"
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001259 depends on EXPERIMENTAL
Michael Hennerich14b03202008-05-07 11:41:26 +08001260 depends on CPU_FREQ
1261 default n
1262 help
1263 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1264 This option violates the PLL BYPASS recommendation in the Blackfin Processor
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001265 manuals. There is a theoretical risk that during VDDINT transitions
Michael Hennerich14b03202008-05-07 11:41:26 +08001266 the PLL may unlock.
1267
Bryan Wu1394f032007-05-06 14:50:22 -07001268endmenu
1269
Bryan Wu1394f032007-05-06 14:50:22 -07001270source "net/Kconfig"
1271
1272source "drivers/Kconfig"
1273
Mike Frysinger872d0242009-10-06 04:49:07 +00001274source "drivers/firmware/Kconfig"
1275
Bryan Wu1394f032007-05-06 14:50:22 -07001276source "fs/Kconfig"
1277
Mike Frysinger74ce8322007-11-21 23:50:49 +08001278source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001279
1280source "security/Kconfig"
1281
1282source "crypto/Kconfig"
1283
1284source "lib/Kconfig"