blob: 3123aa49ff790596faf2f9566dfcbbe052f6bee9 [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
Mike Frysingeraebfef02010-01-22 07:35:20 -050028 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
Sam Ravnborgec7748b2008-02-09 10:46:40 +010029 select HAVE_IDE
Barry Songd86bfb12010-01-07 04:11:17 +000030 select HAVE_KERNEL_GZIP if RAMKERNEL
31 select HAVE_KERNEL_BZIP2 if RAMKERNEL
32 select HAVE_KERNEL_LZMA if RAMKERNEL
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050033 select HAVE_OPROFILE
Michael Hennericha4f0b32c2008-11-18 17:48:22 +080034 select ARCH_WANT_OPTIONAL_GPIOLIB
Bryan Wu1394f032007-05-06 14:50:22 -070035
Mike Frysingerddf9dda2009-06-13 07:42:58 -040036config GENERIC_CSUM
37 def_bool y
38
Mike Frysinger70f12562009-06-07 17:18:25 -040039config GENERIC_BUG
40 def_bool y
41 depends on BUG
42
Aubrey Lie3defff2007-05-21 18:09:11 +080043config ZONE_DMA
Mike Frysingerbac7d892009-06-07 03:46:06 -040044 def_bool y
Aubrey Lie3defff2007-05-21 18:09:11 +080045
Bryan Wu1394f032007-05-06 14:50:22 -070046config GENERIC_FIND_NEXT_BIT
Mike Frysingerbac7d892009-06-07 03:46:06 -040047 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070048
Bryan Wu1394f032007-05-06 14:50:22 -070049config GENERIC_HARDIRQS
Mike Frysingerbac7d892009-06-07 03:46:06 -040050 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070051
52config GENERIC_IRQ_PROBE
Mike Frysingerbac7d892009-06-07 03:46:06 -040053 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070054
Michael Hennerich796dada2009-09-30 07:54:40 +000055config GENERIC_HARDIRQS_NO__DO_IRQ
56 def_bool y
57
Michael Hennerichb2d15832007-07-24 15:46:36 +080058config GENERIC_GPIO
Mike Frysingerbac7d892009-06-07 03:46:06 -040059 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070060
61config FORCE_MAX_ZONEORDER
62 int
63 default "14"
64
65config GENERIC_CALIBRATE_DELAY
Mike Frysingerbac7d892009-06-07 03:46:06 -040066 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070067
Mike Frysinger6fa68e72009-06-08 18:45:01 -040068config LOCKDEP_SUPPORT
69 def_bool y
70
Mike Frysingerc7b412f2009-06-08 18:44:45 -040071config STACKTRACE_SUPPORT
72 def_bool y
73
Mike Frysinger8f860012009-06-08 12:49:48 -040074config TRACE_IRQFLAGS_SUPPORT
75 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070076
Bryan Wu1394f032007-05-06 14:50:22 -070077source "init/Kconfig"
Matt Helsleydc52ddc2008-10-18 20:27:21 -070078
Bryan Wu1394f032007-05-06 14:50:22 -070079source "kernel/Kconfig.preempt"
80
Matt Helsleydc52ddc2008-10-18 20:27:21 -070081source "kernel/Kconfig.freezer"
82
Bryan Wu1394f032007-05-06 14:50:22 -070083menu "Blackfin Processor Options"
84
85comment "Processor and Board Settings"
86
87choice
88 prompt "CPU"
89 default BF533
90
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080091config BF512
92 bool "BF512"
93 help
94 BF512 Processor Support.
95
96config BF514
97 bool "BF514"
98 help
99 BF514 Processor Support.
100
101config BF516
102 bool "BF516"
103 help
104 BF516 Processor Support.
105
106config BF518
107 bool "BF518"
108 help
109 BF518 Processor Support.
110
Michael Hennerich59003142007-10-21 16:54:27 +0800111config BF522
112 bool "BF522"
113 help
114 BF522 Processor Support.
115
Mike Frysinger1545a112007-12-24 16:54:48 +0800116config BF523
117 bool "BF523"
118 help
119 BF523 Processor Support.
120
121config BF524
122 bool "BF524"
123 help
124 BF524 Processor Support.
125
Michael Hennerich59003142007-10-21 16:54:27 +0800126config BF525
127 bool "BF525"
128 help
129 BF525 Processor Support.
130
Mike Frysinger1545a112007-12-24 16:54:48 +0800131config BF526
132 bool "BF526"
133 help
134 BF526 Processor Support.
135
Michael Hennerich59003142007-10-21 16:54:27 +0800136config BF527
137 bool "BF527"
138 help
139 BF527 Processor Support.
140
Bryan Wu1394f032007-05-06 14:50:22 -0700141config BF531
142 bool "BF531"
143 help
144 BF531 Processor Support.
145
146config BF532
147 bool "BF532"
148 help
149 BF532 Processor Support.
150
151config BF533
152 bool "BF533"
153 help
154 BF533 Processor Support.
155
156config BF534
157 bool "BF534"
158 help
159 BF534 Processor Support.
160
161config BF536
162 bool "BF536"
163 help
164 BF536 Processor Support.
165
166config BF537
167 bool "BF537"
168 help
169 BF537 Processor Support.
170
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800171config BF538
172 bool "BF538"
173 help
174 BF538 Processor Support.
175
176config BF539
177 bool "BF539"
178 help
179 BF539 Processor Support.
180
Mike Frysinger5df326a2009-11-16 23:49:41 +0000181config BF542_std
Roy Huang24a07a12007-07-12 22:41:45 +0800182 bool "BF542"
183 help
184 BF542 Processor Support.
185
Mike Frysinger2f89c062009-02-04 16:49:45 +0800186config BF542M
187 bool "BF542m"
188 help
189 BF542 Processor Support.
190
Mike Frysinger5df326a2009-11-16 23:49:41 +0000191config BF544_std
Roy Huang24a07a12007-07-12 22:41:45 +0800192 bool "BF544"
193 help
194 BF544 Processor Support.
195
Mike Frysinger2f89c062009-02-04 16:49:45 +0800196config BF544M
197 bool "BF544m"
198 help
199 BF544 Processor Support.
200
Mike Frysinger5df326a2009-11-16 23:49:41 +0000201config BF547_std
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800202 bool "BF547"
203 help
204 BF547 Processor Support.
205
Mike Frysinger2f89c062009-02-04 16:49:45 +0800206config BF547M
207 bool "BF547m"
208 help
209 BF547 Processor Support.
210
Mike Frysinger5df326a2009-11-16 23:49:41 +0000211config BF548_std
Roy Huang24a07a12007-07-12 22:41:45 +0800212 bool "BF548"
213 help
214 BF548 Processor Support.
215
Mike Frysinger2f89c062009-02-04 16:49:45 +0800216config BF548M
217 bool "BF548m"
218 help
219 BF548 Processor Support.
220
Mike Frysinger5df326a2009-11-16 23:49:41 +0000221config BF549_std
Roy Huang24a07a12007-07-12 22:41:45 +0800222 bool "BF549"
223 help
224 BF549 Processor Support.
225
Mike Frysinger2f89c062009-02-04 16:49:45 +0800226config BF549M
227 bool "BF549m"
228 help
229 BF549 Processor Support.
230
Bryan Wu1394f032007-05-06 14:50:22 -0700231config BF561
232 bool "BF561"
233 help
Mike Frysingercd88b4d2008-10-09 12:03:22 +0800234 BF561 Processor Support.
Bryan Wu1394f032007-05-06 14:50:22 -0700235
236endchoice
237
Graf Yang46fa5ee2009-01-07 23:14:39 +0800238config SMP
239 depends on BF561
Yi Li0d152c22009-12-28 10:21:49 +0000240 select TICKSOURCE_CORETMR
Graf Yang46fa5ee2009-01-07 23:14:39 +0800241 bool "Symmetric multi-processing support"
242 ---help---
243 This enables support for systems with more than one CPU,
244 like the dual core BF561. If you have a system with only one
245 CPU, say N. If you have a system with more than one CPU, say Y.
246
247 If you don't know what to do here, say N.
248
249config NR_CPUS
250 int
251 depends on SMP
252 default 2 if BF561
253
Graf Yang0b39db22009-12-28 11:13:51 +0000254config HOTPLUG_CPU
255 bool "Support for hot-pluggable CPUs"
256 depends on SMP && HOTPLUG
257 default y
258
Graf Yang46fa5ee2009-01-07 23:14:39 +0800259config IRQ_PER_CPU
260 bool
261 depends on SMP
262 default y
263
Graf Yangead9b112009-12-14 08:01:08 +0000264config HAVE_LEGACY_PER_CPU_AREA
265 def_bool y
266 depends on SMP
267
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800268config BF_REV_MIN
269 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800270 default 0 if (BF51x || BF52x || (BF54x && !BF54xM))
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800271 default 2 if (BF537 || BF536 || BF534)
Mike Frysinger2f89c062009-02-04 16:49:45 +0800272 default 3 if (BF561 || BF533 || BF532 || BF531 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800273 default 4 if (BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800274
275config BF_REV_MAX
276 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800277 default 2 if (BF51x || BF52x || (BF54x && !BF54xM))
278 default 3 if (BF537 || BF536 || BF534 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800279 default 5 if (BF561 || BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800280 default 6 if (BF533 || BF532 || BF531)
281
Bryan Wu1394f032007-05-06 14:50:22 -0700282choice
283 prompt "Silicon Rev"
Mike Frysingerf8b55652009-04-13 21:58:34 +0000284 default BF_REV_0_0 if (BF51x || BF52x)
285 default BF_REV_0_2 if (BF534 || BF536 || BF537 || (BF54x && !BF54xM))
Mike Frysinger2f89c062009-02-04 16:49:45 +0800286 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF54xM || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800287
288config BF_REV_0_0
289 bool "0.0"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800290 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Michael Hennerich59003142007-10-21 16:54:27 +0800291
292config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800293 bool "0.1"
Mike Frysinger3d15f302009-06-15 16:21:44 +0000294 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700295
296config BF_REV_0_2
297 bool "0.2"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800298 depends on (BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700299
300config BF_REV_0_3
301 bool "0.3"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800302 depends on (BF54xM || BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
Bryan Wu1394f032007-05-06 14:50:22 -0700303
304config BF_REV_0_4
305 bool "0.4"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800306 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700307
308config BF_REV_0_5
309 bool "0.5"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800310 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700311
Mike Frysinger49f72532008-10-09 12:06:27 +0800312config BF_REV_0_6
313 bool "0.6"
314 depends on (BF533 || BF532 || BF531)
315
Jie Zhangde3025f2007-06-25 18:04:12 +0800316config BF_REV_ANY
317 bool "any"
318
319config BF_REV_NONE
320 bool "none"
321
Bryan Wu1394f032007-05-06 14:50:22 -0700322endchoice
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
Bryan Wu1394f032007-05-06 14:50:22 -0700329config MEM_GENERIC_BOARD
330 bool
331 depends on GENERIC_BOARD
332 default y
333
334config MEM_MT48LC64M4A2FB_7E
335 bool
336 depends on (BFIN533_STAMP)
337 default y
338
339config MEM_MT48LC16M16A2TG_75
340 bool
341 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000342 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM_E \
343 || BFIN537_BLUETECHNIX_CM_U || H8606_HVSISTEMAS \
344 || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700345 default y
346
347config MEM_MT48LC32M8A2_75
348 bool
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800349 depends on (BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700350 default y
351
352config MEM_MT48LC8M32B2B5_7
353 bool
354 depends on (BFIN561_BLUETECHNIX_CM)
355 default y
356
Michael Hennerich59003142007-10-21 16:54:27 +0800357config MEM_MT48LC32M16A2TG_75
358 bool
Michael Hennerich6924dfb2009-12-07 13:41:28 +0000359 depends on (BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN532_IP0X || BLACKSTAMP)
Michael Hennerich59003142007-10-21 16:54:27 +0800360 default y
361
Sonic Zhang49345402009-01-07 23:14:38 +0800362config MEM_MT48LC32M8A2_75
363 bool
364 depends on (BFIN518F_EZBRD)
365 default y
366
Graf Yangee48efb2009-06-18 04:32:04 +0000367config MEM_MT48H32M16LFCJ_75
368 bool
369 depends on (BFIN526_EZBRD)
370 default y
371
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800372source "arch/blackfin/mach-bf518/Kconfig"
Michael Hennerich59003142007-10-21 16:54:27 +0800373source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700374source "arch/blackfin/mach-bf533/Kconfig"
375source "arch/blackfin/mach-bf561/Kconfig"
376source "arch/blackfin/mach-bf537/Kconfig"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800377source "arch/blackfin/mach-bf538/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800378source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700379
380menu "Board customizations"
381
382config CMDLINE_BOOL
383 bool "Default bootloader kernel arguments"
384
385config CMDLINE
386 string "Initial kernel command string"
387 depends on CMDLINE_BOOL
388 default "console=ttyBF0,57600"
389 help
390 If you don't have a boot loader capable of passing a command line string
391 to the kernel, you may specify one here. As a minimum, you should specify
392 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
393
Mike Frysinger5f004c22008-04-25 02:11:24 +0800394config BOOT_LOAD
395 hex "Kernel load address for booting"
396 default "0x1000"
397 range 0x1000 0x20000000
398 help
399 This option allows you to set the load address of the kernel.
400 This can be useful if you are on a board which has a small amount
401 of memory or you wish to reserve some memory at the beginning of
402 the address space.
403
404 Note that you need to keep this value above 4k (0x1000) as this
405 memory region is used to capture NULL pointer references as well
406 as some core kernel functions.
407
Michael Hennerich8cc71172008-10-13 14:45:06 +0800408config ROM_BASE
409 hex "Kernel ROM Base"
Mike Frysinger86249912008-11-18 17:48:22 +0800410 depends on ROMKERNEL
Barry Songd86bfb12010-01-07 04:11:17 +0000411 default "0x20040040"
Michael Hennerich8cc71172008-10-13 14:45:06 +0800412 range 0x20000000 0x20400000 if !(BF54x || BF561)
413 range 0x20000000 0x30000000 if (BF54x || BF561)
414 help
Barry Songd86bfb12010-01-07 04:11:17 +0000415 Make sure your ROM base does not include any file-header
416 information that is prepended to the kernel.
417
418 For example, the bootable U-Boot format (created with
419 mkimage) has a 64 byte header (0x40). So while the image
420 you write to flash might start at say 0x20080000, you have
421 to add 0x40 to get the kernel's ROM base as it will come
422 after the header.
Michael Hennerich8cc71172008-10-13 14:45:06 +0800423
Robin Getzf16295e2007-08-03 18:07:17 +0800424comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700425
426config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800427 int "Frequency of the crystal on the board in Hz"
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800428 default "10000000" if BFIN532_IP0X
Mike Frysingerd0cb9b42009-06-11 21:52:35 +0000429 default "11059200" if BFIN533_STAMP
430 default "24576000" if PNAV10
431 default "25000000" # most people use this
432 default "27000000" if BFIN533_EZKIT
433 default "30000000" if BFIN561_EZKIT
Bryan Wu1394f032007-05-06 14:50:22 -0700434 help
435 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800436 Warning: This value should match the crystal on the board. Otherwise,
437 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700438
Robin Getzf16295e2007-08-03 18:07:17 +0800439config BFIN_KERNEL_CLOCK
440 bool "Re-program Clocks while Kernel boots?"
441 default n
442 help
443 This option decides if kernel clocks are re-programed from the
444 bootloader settings. If the clocks are not set, the SDRAM settings
445 are also not changed, and the Bootloader does 100% of the hardware
446 configuration.
447
448config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800449 bool "Bypass PLL"
450 depends on BFIN_KERNEL_CLOCK
451 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800452
453config CLKIN_HALF
454 bool "Half Clock In"
455 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
456 default n
457 help
458 If this is set the clock will be divided by 2, before it goes to the PLL.
459
460config VCO_MULT
461 int "VCO Multiplier"
462 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
463 range 1 64
464 default "22" if BFIN533_EZKIT
465 default "45" if BFIN533_STAMP
Michael Hennerich6924dfb2009-12-07 13:41:28 +0000466 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800467 default "22" if BFIN533_BLUETECHNIX_CM
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000468 default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800469 default "20" if BFIN561_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800470 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
Robin Getzf16295e2007-08-03 18:07:17 +0800471 help
472 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
473 PLL Frequency = (Crystal Frequency) * (this setting)
474
475choice
476 prompt "Core Clock Divider"
477 depends on BFIN_KERNEL_CLOCK
478 default CCLK_DIV_1
479 help
480 This sets the frequency of the core. It can be 1, 2, 4 or 8
481 Core Frequency = (PLL frequency) / (this setting)
482
483config CCLK_DIV_1
484 bool "1"
485
486config CCLK_DIV_2
487 bool "2"
488
489config CCLK_DIV_4
490 bool "4"
491
492config CCLK_DIV_8
493 bool "8"
494endchoice
495
496config SCLK_DIV
497 int "System Clock Divider"
498 depends on BFIN_KERNEL_CLOCK
499 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800500 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800501 help
502 This sets the frequency of the system clock (including SDRAM or DDR).
503 This can be between 1 and 15
504 System Clock = (PLL frequency) / (this setting)
505
Mike Frysinger5f004c22008-04-25 02:11:24 +0800506choice
507 prompt "DDR SDRAM Chip Type"
508 depends on BFIN_KERNEL_CLOCK
509 depends on BF54x
510 default MEM_MT46V32M16_5B
511
512config MEM_MT46V32M16_6T
513 bool "MT46V32M16_6T"
514
515config MEM_MT46V32M16_5B
516 bool "MT46V32M16_5B"
517endchoice
518
Michael Hennerich73feb5c2009-01-07 23:14:39 +0800519choice
520 prompt "DDR/SDRAM Timing"
521 depends on BFIN_KERNEL_CLOCK
522 default BFIN_KERNEL_CLOCK_MEMINIT_CALC
523 help
524 This option allows you to specify Blackfin SDRAM/DDR Timing parameters
525 The calculated SDRAM timing parameters may not be 100%
526 accurate - This option is therefore marked experimental.
527
528config BFIN_KERNEL_CLOCK_MEMINIT_CALC
529 bool "Calculate Timings (EXPERIMENTAL)"
530 depends on EXPERIMENTAL
531
532config BFIN_KERNEL_CLOCK_MEMINIT_SPEC
533 bool "Provide accurate Timings based on target SCLK"
534 help
535 Please consult the Blackfin Hardware Reference Manuals as well
536 as the memory device datasheet.
537 http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram
538endchoice
539
540menu "Memory Init Control"
541 depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC
542
543config MEM_DDRCTL0
544 depends on BF54x
545 hex "DDRCTL0"
546 default 0x0
547
548config MEM_DDRCTL1
549 depends on BF54x
550 hex "DDRCTL1"
551 default 0x0
552
553config MEM_DDRCTL2
554 depends on BF54x
555 hex "DDRCTL2"
556 default 0x0
557
558config MEM_EBIU_DDRQUE
559 depends on BF54x
560 hex "DDRQUE"
561 default 0x0
562
563config MEM_SDRRC
564 depends on !BF54x
565 hex "SDRRC"
566 default 0x0
567
568config MEM_SDGCTL
569 depends on !BF54x
570 hex "SDGCTL"
571 default 0x0
572endmenu
573
Robin Getzf16295e2007-08-03 18:07:17 +0800574#
575# Max & Min Speeds for various Chips
576#
577config MAX_VCO_HZ
578 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800579 default 400000000 if BF512
580 default 400000000 if BF514
581 default 400000000 if BF516
582 default 400000000 if BF518
Mike Frysinger7b062632009-08-11 21:27:09 +0000583 default 400000000 if BF522
584 default 600000000 if BF523
Mike Frysinger1545a112007-12-24 16:54:48 +0800585 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800586 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800587 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800588 default 600000000 if BF527
589 default 400000000 if BF531
590 default 400000000 if BF532
591 default 750000000 if BF533
592 default 500000000 if BF534
593 default 400000000 if BF536
594 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800595 default 533333333 if BF538
596 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800597 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800598 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800599 default 600000000 if BF547
600 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800601 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800602 default 600000000 if BF561
603
604config MIN_VCO_HZ
605 int
606 default 50000000
607
608config MAX_SCLK_HZ
609 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800610 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800611
612config MIN_SCLK_HZ
613 int
614 default 27000000
615
616comment "Kernel Timer/Scheduler"
617
618source kernel/Kconfig.hz
619
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800620config GENERIC_TIME
john stultz10f03f12009-09-15 21:17:19 -0700621 def_bool y
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800622
623config GENERIC_CLOCKEVENTS
624 bool "Generic clock events"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800625 default y
626
Yi Li0d152c22009-12-28 10:21:49 +0000627menu "Clock event device"
Graf Yang1fa9be72009-05-15 11:01:59 +0000628 depends on GENERIC_CLOCKEVENTS
Graf Yang1fa9be72009-05-15 11:01:59 +0000629config TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000630 bool "GPTimer0"
631 depends on !SMP
Graf Yang1fa9be72009-05-15 11:01:59 +0000632 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000633
634config TICKSOURCE_CORETMR
Yi Li0d152c22009-12-28 10:21:49 +0000635 bool "Core timer"
636 default y
637endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000638
Yi Li0d152c22009-12-28 10:21:49 +0000639menu "Clock souce"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800640 depends on GENERIC_CLOCKEVENTS
Yi Li0d152c22009-12-28 10:21:49 +0000641config CYCLES_CLOCKSOURCE
642 bool "CYCLES"
643 default y
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800644 depends on !BFIN_SCRATCH_REG_CYCLES
Graf Yang1fa9be72009-05-15 11:01:59 +0000645 depends on !SMP
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800646 help
647 If you say Y here, you will enable support for using the 'cycles'
648 registers as a clock source. Doing so means you will be unable to
649 safely write to the 'cycles' register during runtime. You will
650 still be able to read it (such as for performance monitoring), but
651 writing the registers will most likely crash the kernel.
652
Graf Yang1fa9be72009-05-15 11:01:59 +0000653config GPTMR0_CLOCKSOURCE
Yi Li0d152c22009-12-28 10:21:49 +0000654 bool "GPTimer0"
Mike Frysinger3aca47c2009-06-18 19:40:47 +0000655 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000656 depends on !TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000657endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000658
john stultz10f03f12009-09-15 21:17:19 -0700659config ARCH_USES_GETTIMEOFFSET
660 depends on !GENERIC_CLOCKEVENTS
661 def_bool y
662
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800663source kernel/time/Kconfig
664
Mike Frysinger5f004c22008-04-25 02:11:24 +0800665comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800666
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800667choice
668 prompt "Blackfin Exception Scratch Register"
669 default BFIN_SCRATCH_REG_RETN
670 help
671 Select the resource to reserve for the Exception handler:
672 - RETN: Non-Maskable Interrupt (NMI)
673 - RETE: Exception Return (JTAG/ICE)
674 - CYCLES: Performance counter
675
676 If you are unsure, please select "RETN".
677
678config BFIN_SCRATCH_REG_RETN
679 bool "RETN"
680 help
681 Use the RETN register in the Blackfin exception handler
682 as a stack scratch register. This means you cannot
683 safely use NMI on the Blackfin while running Linux, but
684 you can debug the system with a JTAG ICE and use the
685 CYCLES performance registers.
686
687 If you are unsure, please select "RETN".
688
689config BFIN_SCRATCH_REG_RETE
690 bool "RETE"
691 help
692 Use the RETE register in the Blackfin exception handler
693 as a stack scratch register. This means you cannot
694 safely use a JTAG ICE while debugging a Blackfin board,
695 but you can safely use the CYCLES performance registers
696 and the NMI.
697
698 If you are unsure, please select "RETN".
699
700config BFIN_SCRATCH_REG_CYCLES
701 bool "CYCLES"
702 help
703 Use the CYCLES register in the Blackfin exception handler
704 as a stack scratch register. This means you cannot
705 safely use the CYCLES performance registers on a Blackfin
706 board at anytime, but you can debug the system with a JTAG
707 ICE and use the NMI.
708
709 If you are unsure, please select "RETN".
710
711endchoice
712
Bryan Wu1394f032007-05-06 14:50:22 -0700713endmenu
714
715
716menu "Blackfin Kernel Optimizations"
Graf Yang46fa5ee2009-01-07 23:14:39 +0800717 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700718
Bryan Wu1394f032007-05-06 14:50:22 -0700719comment "Memory Optimizations"
720
721config I_ENTRY_L1
722 bool "Locate interrupt entry code in L1 Memory"
723 default y
724 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200725 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
726 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700727
728config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200729 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700730 default y
731 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200732 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800733 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200734 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700735
736config DO_IRQ_L1
737 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
738 default y
739 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200740 If enabled, the frequently called do_irq dispatcher function is linked
741 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700742
743config CORE_TIMER_IRQ_L1
744 bool "Locate frequently called timer_interrupt() function in L1 Memory"
745 default y
746 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200747 If enabled, the frequently called timer_interrupt() function is linked
748 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700749
750config IDLE_L1
751 bool "Locate frequently idle function in L1 Memory"
752 default y
753 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200754 If enabled, the frequently called idle function is linked
755 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700756
757config SCHEDULE_L1
758 bool "Locate kernel schedule function in L1 Memory"
759 default y
760 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200761 If enabled, the frequently called kernel schedule is linked
762 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700763
764config ARITHMETIC_OPS_L1
765 bool "Locate kernel owned arithmetic functions in L1 Memory"
766 default y
767 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200768 If enabled, arithmetic functions are linked
769 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700770
771config ACCESS_OK_L1
772 bool "Locate access_ok function in L1 Memory"
773 default y
774 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200775 If enabled, the access_ok function is linked
776 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700777
778config MEMSET_L1
779 bool "Locate memset function in L1 Memory"
780 default y
781 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200782 If enabled, the memset function is linked
783 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700784
785config MEMCPY_L1
786 bool "Locate memcpy function in L1 Memory"
787 default y
788 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200789 If enabled, the memcpy function is linked
790 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700791
792config SYS_BFIN_SPINLOCK_L1
793 bool "Locate sys_bfin_spinlock function in L1 Memory"
794 default y
795 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200796 If enabled, sys_bfin_spinlock function is linked
797 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700798
799config IP_CHECKSUM_L1
800 bool "Locate IP Checksum function in L1 Memory"
801 default n
802 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200803 If enabled, the IP Checksum function is linked
804 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700805
806config CACHELINE_ALIGNED_L1
807 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800808 default y if !BF54x
809 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700810 depends on !BF531
811 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100812 If enabled, cacheline_aligned data is linked
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200813 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700814
815config SYSCALL_TAB_L1
816 bool "Locate Syscall Table L1 Data Memory"
817 default n
818 depends on !BF531
819 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200820 If enabled, the Syscall LUT is linked
821 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700822
823config CPLB_SWITCH_TAB_L1
824 bool "Locate CPLB Switch Tables L1 Data Memory"
825 default n
826 depends on !BF531
827 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200828 If enabled, the CPLB Switch Tables are linked
829 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700830
Graf Yangca87b7a2008-10-08 17:30:01 +0800831config APP_STACK_L1
832 bool "Support locating application stack in L1 Scratch Memory"
833 default y
834 help
835 If enabled the application stack can be located in L1
836 scratch memory (less latency).
837
838 Currently only works with FLAT binaries.
839
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800840config EXCEPTION_L1_SCRATCH
841 bool "Locate exception stack in L1 Scratch Memory"
842 default n
Graf Yangf82e0a02009-04-08 08:30:22 +0000843 depends on !APP_STACK_L1
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800844 help
845 Whenever an exception occurs, use the L1 Scratch memory for
846 stack storage. You cannot place the stacks of FLAT binaries
847 in L1 when using this option.
848
849 If you don't use L1 Scratch, then you should say Y here.
850
Robin Getz251383c2008-08-14 15:12:55 +0800851comment "Speed Optimizations"
852config BFIN_INS_LOWOVERHEAD
853 bool "ins[bwl] low overhead, higher interrupt latency"
854 default y
855 help
856 Reads on the Blackfin are speculative. In Blackfin terms, this means
857 they can be interrupted at any time (even after they have been issued
858 on to the external bus), and re-issued after the interrupt occurs.
859 For memory - this is not a big deal, since memory does not change if
860 it sees a read.
861
862 If a FIFO is sitting on the end of the read, it will see two reads,
863 when the core only sees one since the FIFO receives both the read
864 which is cancelled (and not delivered to the core) and the one which
865 is re-issued (which is delivered to the core).
866
867 To solve this, interrupts are turned off before reads occur to
868 I/O space. This option controls which the overhead/latency of
869 controlling interrupts during this time
870 "n" turns interrupts off every read
871 (higher overhead, but lower interrupt latency)
872 "y" turns interrupts off every loop
873 (low overhead, but longer interrupt latency)
874
875 default behavior is to leave this set to on (type "Y"). If you are experiencing
876 interrupt latency issues, it is safe and OK to turn this off.
877
Bryan Wu1394f032007-05-06 14:50:22 -0700878endmenu
879
Bryan Wu1394f032007-05-06 14:50:22 -0700880choice
881 prompt "Kernel executes from"
882 help
883 Choose the memory type that the kernel will be running in.
884
885config RAMKERNEL
886 bool "RAM"
887 help
888 The kernel will be resident in RAM when running.
889
890config ROMKERNEL
891 bool "ROM"
892 help
893 The kernel will be resident in FLASH/ROM when running.
894
895endchoice
896
897source "mm/Kconfig"
898
Mike Frysinger780431e2007-10-21 23:37:54 +0800899config BFIN_GPTIMERS
900 tristate "Enable Blackfin General Purpose Timers API"
901 default n
902 help
903 Enable support for the General Purpose Timers API. If you
904 are unsure, say N.
905
906 To compile this driver as a module, choose M here: the module
Pavel Machek4737f092009-06-05 00:44:53 +0200907 will be called gptimers.
Mike Frysinger780431e2007-10-21 23:37:54 +0800908
Bryan Wu1394f032007-05-06 14:50:22 -0700909choice
Mike Frysingerd292b002008-10-28 11:15:36 +0800910 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700911 default DMA_UNCACHED_1M
Cliff Cai86ad7932008-05-17 16:36:52 +0800912config DMA_UNCACHED_4M
913 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700914config DMA_UNCACHED_2M
915 bool "Enable 2M DMA region"
916config DMA_UNCACHED_1M
917 bool "Enable 1M DMA region"
Barry Songc45c0652009-12-02 09:13:36 +0000918config DMA_UNCACHED_512K
919 bool "Enable 512K DMA region"
920config DMA_UNCACHED_256K
921 bool "Enable 256K DMA region"
922config DMA_UNCACHED_128K
923 bool "Enable 128K DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700924config DMA_UNCACHED_NONE
925 bool "Disable DMA region"
926endchoice
927
928
929comment "Cache Support"
Jie Zhang41ba6532009-06-16 09:48:33 +0000930
Robin Getz3bebca22007-10-10 23:55:26 +0800931config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700932 bool "Enable ICACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000933 default y
Jie Zhang41ba6532009-06-16 09:48:33 +0000934config BFIN_EXTMEM_ICACHEABLE
935 bool "Enable ICACHE for external memory"
936 depends on BFIN_ICACHE
937 default y
938config BFIN_L2_ICACHEABLE
939 bool "Enable ICACHE for L2 SRAM"
940 depends on BFIN_ICACHE
941 depends on BF54x || BF561
942 default n
943
Robin Getz3bebca22007-10-10 23:55:26 +0800944config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700945 bool "Enable DCACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000946 default y
Robin Getz3bebca22007-10-10 23:55:26 +0800947config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700948 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800949 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700950 default n
Jie Zhang41ba6532009-06-16 09:48:33 +0000951config BFIN_EXTMEM_DCACHEABLE
952 bool "Enable DCACHE for external memory"
Robin Getz3bebca22007-10-10 23:55:26 +0800953 depends on BFIN_DCACHE
Jie Zhang41ba6532009-06-16 09:48:33 +0000954 default y
Graf Yang5ba76672009-05-07 04:09:15 +0000955choice
Jie Zhang41ba6532009-06-16 09:48:33 +0000956 prompt "External memory DCACHE policy"
957 depends on BFIN_EXTMEM_DCACHEABLE
958 default BFIN_EXTMEM_WRITEBACK if !SMP
959 default BFIN_EXTMEM_WRITETHROUGH if SMP
960config BFIN_EXTMEM_WRITEBACK
Graf Yang5ba76672009-05-07 04:09:15 +0000961 bool "Write back"
962 depends on !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +0000963 help
964 Write Back Policy:
965 Cached data will be written back to SDRAM only when needed.
966 This can give a nice increase in performance, but beware of
967 broken drivers that do not properly invalidate/flush their
968 cache.
Graf Yang5ba76672009-05-07 04:09:15 +0000969
Jie Zhang41ba6532009-06-16 09:48:33 +0000970 Write Through Policy:
971 Cached data will always be written back to SDRAM when the
972 cache is updated. This is a completely safe setting, but
973 performance is worse than Write Back.
974
975 If you are unsure of the options and you want to be safe,
976 then go with Write Through.
977
978config BFIN_EXTMEM_WRITETHROUGH
Graf Yang5ba76672009-05-07 04:09:15 +0000979 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +0000980 help
981 Write Back Policy:
982 Cached data will be written back to SDRAM only when needed.
983 This can give a nice increase in performance, but beware of
984 broken drivers that do not properly invalidate/flush their
985 cache.
Graf Yang5ba76672009-05-07 04:09:15 +0000986
Jie Zhang41ba6532009-06-16 09:48:33 +0000987 Write Through Policy:
988 Cached data will always be written back to SDRAM when the
989 cache is updated. This is a completely safe setting, but
990 performance is worse than Write Back.
991
992 If you are unsure of the options and you want to be safe,
993 then go with Write Through.
Graf Yang5ba76672009-05-07 04:09:15 +0000994
995endchoice
Sonic Zhangf099f392008-10-09 14:11:57 +0800996
Jie Zhang41ba6532009-06-16 09:48:33 +0000997config BFIN_L2_DCACHEABLE
998 bool "Enable DCACHE for L2 SRAM"
999 depends on BFIN_DCACHE
Sonic Zhang9c954f82009-06-30 09:48:03 +00001000 depends on (BF54x || BF561) && !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001001 default n
1002choice
1003 prompt "L2 SRAM DCACHE policy"
1004 depends on BFIN_L2_DCACHEABLE
1005 default BFIN_L2_WRITEBACK
1006config BFIN_L2_WRITEBACK
1007 bool "Write back"
Jie Zhang41ba6532009-06-16 09:48:33 +00001008
1009config BFIN_L2_WRITETHROUGH
1010 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001011endchoice
1012
1013
1014comment "Memory Protection Unit"
Bernd Schmidtb97b8a92008-01-27 18:39:16 +08001015config MPU
1016 bool "Enable the memory protection unit (EXPERIMENTAL)"
1017 default n
1018 help
1019 Use the processor's MPU to protect applications from accessing
1020 memory they do not own. This comes at a performance penalty
1021 and is recommended only for debugging.
1022
Matt LaPlante692105b2009-01-26 11:12:25 +01001023comment "Asynchronous Memory Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -07001024
Mike Frysingerddf416b2007-10-10 18:06:47 +08001025menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -07001026config C_AMCKEN
1027 bool "Enable CLKOUT"
1028 default y
1029
1030config C_CDPRIO
1031 bool "DMA has priority over core for ext. accesses"
1032 default n
1033
1034config C_B0PEN
1035 depends on BF561
1036 bool "Bank 0 16 bit packing enable"
1037 default y
1038
1039config C_B1PEN
1040 depends on BF561
1041 bool "Bank 1 16 bit packing enable"
1042 default y
1043
1044config C_B2PEN
1045 depends on BF561
1046 bool "Bank 2 16 bit packing enable"
1047 default y
1048
1049config C_B3PEN
1050 depends on BF561
1051 bool "Bank 3 16 bit packing enable"
1052 default n
1053
1054choice
Matt LaPlante692105b2009-01-26 11:12:25 +01001055 prompt "Enable Asynchronous Memory Banks"
Bryan Wu1394f032007-05-06 14:50:22 -07001056 default C_AMBEN_ALL
1057
1058config C_AMBEN
1059 bool "Disable All Banks"
1060
1061config C_AMBEN_B0
1062 bool "Enable Bank 0"
1063
1064config C_AMBEN_B0_B1
1065 bool "Enable Bank 0 & 1"
1066
1067config C_AMBEN_B0_B1_B2
1068 bool "Enable Bank 0 & 1 & 2"
1069
1070config C_AMBEN_ALL
1071 bool "Enable All Banks"
1072endchoice
1073endmenu
1074
1075menu "EBIU_AMBCTL Control"
1076config BANK_0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001077 hex "Bank 0 (AMBCTL0.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001078 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001079 help
1080 These are the low 16 bits of the EBIU_AMBCTL0 MMR which are
1081 used to control the Asynchronous Memory Bank 0 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001082
1083config BANK_1
Mike Frysingerc8342f82009-03-31 00:18:35 +00001084 hex "Bank 1 (AMBCTL0.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001085 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +08001086 default 0x5558 if BF54x
Mike Frysingerc8342f82009-03-31 00:18:35 +00001087 help
1088 These are the high 16 bits of the EBIU_AMBCTL0 MMR which are
1089 used to control the Asynchronous Memory Bank 1 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001090
1091config BANK_2
Mike Frysingerc8342f82009-03-31 00:18:35 +00001092 hex "Bank 2 (AMBCTL1.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001093 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001094 help
1095 These are the low 16 bits of the EBIU_AMBCTL1 MMR which are
1096 used to control the Asynchronous Memory Bank 2 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001097
1098config BANK_3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001099 hex "Bank 3 (AMBCTL1.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001100 default 0x99B3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001101 help
1102 These are the high 16 bits of the EBIU_AMBCTL1 MMR which are
1103 used to control the Asynchronous Memory Bank 3 settings.
1104
Bryan Wu1394f032007-05-06 14:50:22 -07001105endmenu
1106
Sonic Zhange40540b2007-11-21 23:49:52 +08001107config EBIU_MBSCTLVAL
1108 hex "EBIU Bank Select Control Register"
1109 depends on BF54x
1110 default 0
1111
1112config EBIU_MODEVAL
1113 hex "Flash Memory Mode Control Register"
1114 depends on BF54x
1115 default 1
1116
1117config EBIU_FCTLVAL
1118 hex "Flash Memory Bank Control Register"
1119 depends on BF54x
1120 default 6
Bryan Wu1394f032007-05-06 14:50:22 -07001121endmenu
1122
1123#############################################################################
1124menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1125
1126config PCI
1127 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +08001128 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -07001129 help
1130 Support for PCI bus.
1131
1132source "drivers/pci/Kconfig"
1133
Bryan Wu1394f032007-05-06 14:50:22 -07001134source "drivers/pcmcia/Kconfig"
1135
1136source "drivers/pci/hotplug/Kconfig"
1137
1138endmenu
1139
1140menu "Executable file formats"
1141
1142source "fs/Kconfig.binfmt"
1143
1144endmenu
1145
1146menu "Power management options"
Graf Yangad461632009-08-07 03:52:54 +00001147
Bryan Wu1394f032007-05-06 14:50:22 -07001148source "kernel/power/Kconfig"
1149
Johannes Bergf4cb5702007-12-08 02:14:00 +01001150config ARCH_SUSPEND_POSSIBLE
1151 def_bool y
Johannes Bergf4cb5702007-12-08 02:14:00 +01001152
Bryan Wu1394f032007-05-06 14:50:22 -07001153choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001154 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -07001155 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001156 default PM_BFIN_SLEEP_DEEPER
1157config PM_BFIN_SLEEP_DEEPER
1158 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001159 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001160 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1161 power dissipation by disabling the clock to the processor core (CCLK).
1162 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1163 to 0.85 V to provide the greatest power savings, while preserving the
1164 processor state.
1165 The PLL and system clock (SCLK) continue to operate at a very low
1166 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1167 the SDRAM is put into Self Refresh Mode. Typically an external event
1168 such as GPIO interrupt or RTC activity wakes up the processor.
1169 Various Peripherals such as UART, SPORT, PPI may not function as
1170 normal during Sleep Deeper, due to the reduced SCLK frequency.
1171 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001172
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001173 If unsure, select "Sleep Deeper".
1174
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001175config PM_BFIN_SLEEP
1176 bool "Sleep"
1177 help
1178 Sleep Mode (High Power Savings) - The sleep mode reduces power
1179 dissipation by disabling the clock to the processor core (CCLK).
1180 The PLL and system clock (SCLK), however, continue to operate in
1181 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001182 up the processor. When in the sleep mode, system DMA access to L1
1183 memory is not supported.
1184
1185 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001186endchoice
1187
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001188config PM_WAKEUP_BY_GPIO
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001189 bool "Allow Wakeup from Standby by GPIO"
Michael Hennerichff19fed2009-03-04 17:35:51 +08001190 depends on PM && !BF54x
Bryan Wu1394f032007-05-06 14:50:22 -07001191
1192config PM_WAKEUP_GPIO_NUMBER
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001193 int "GPIO number"
Bryan Wu1394f032007-05-06 14:50:22 -07001194 range 0 47
1195 depends on PM_WAKEUP_BY_GPIO
Mike Frysingerd1a33362008-11-18 17:48:22 +08001196 default 2
Bryan Wu1394f032007-05-06 14:50:22 -07001197
1198choice
1199 prompt "GPIO Polarity"
1200 depends on PM_WAKEUP_BY_GPIO
1201 default PM_WAKEUP_GPIO_POLAR_H
1202config PM_WAKEUP_GPIO_POLAR_H
1203 bool "Active High"
1204config PM_WAKEUP_GPIO_POLAR_L
1205 bool "Active Low"
1206config PM_WAKEUP_GPIO_POLAR_EDGE_F
1207 bool "Falling EDGE"
1208config PM_WAKEUP_GPIO_POLAR_EDGE_R
1209 bool "Rising EDGE"
1210config PM_WAKEUP_GPIO_POLAR_EDGE_B
1211 bool "Both EDGE"
1212endchoice
1213
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001214comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1215 depends on PM
1216
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001217config PM_BFIN_WAKE_PH6
1218 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001219 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001220 default n
1221 help
1222 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1223
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001224config PM_BFIN_WAKE_GP
1225 bool "Allow Wake-Up from GPIOs"
1226 depends on PM && BF54x
1227 default n
1228 help
1229 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Michael Hennerich19986282009-03-05 16:45:55 +08001230 (all processors, except ADSP-BF549). This option sets
1231 the general-purpose wake-up enable (GPWE) control bit to enable
1232 wake-up upon detection of an active low signal on the /GPW (PH7) pin.
1233 On ADSP-BF549 this option enables the the same functionality on the
1234 /MRXON pin also PH7.
1235
Bryan Wu1394f032007-05-06 14:50:22 -07001236endmenu
1237
Bryan Wu1394f032007-05-06 14:50:22 -07001238menu "CPU Frequency scaling"
Graf Yangad461632009-08-07 03:52:54 +00001239 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -07001240
1241source "drivers/cpufreq/Kconfig"
1242
Michael Hennerich5ad2ca52008-11-18 17:48:22 +08001243config BFIN_CPU_FREQ
1244 bool
1245 depends on CPU_FREQ
1246 select CPU_FREQ_TABLE
1247 default y
1248
Michael Hennerich14b03202008-05-07 11:41:26 +08001249config CPU_VOLTAGE
1250 bool "CPU Voltage scaling"
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001251 depends on EXPERIMENTAL
Michael Hennerich14b03202008-05-07 11:41:26 +08001252 depends on CPU_FREQ
1253 default n
1254 help
1255 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1256 This option violates the PLL BYPASS recommendation in the Blackfin Processor
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001257 manuals. There is a theoretical risk that during VDDINT transitions
Michael Hennerich14b03202008-05-07 11:41:26 +08001258 the PLL may unlock.
1259
Bryan Wu1394f032007-05-06 14:50:22 -07001260endmenu
1261
Bryan Wu1394f032007-05-06 14:50:22 -07001262source "net/Kconfig"
1263
1264source "drivers/Kconfig"
1265
Mike Frysinger872d0242009-10-06 04:49:07 +00001266source "drivers/firmware/Kconfig"
1267
Bryan Wu1394f032007-05-06 14:50:22 -07001268source "fs/Kconfig"
1269
Mike Frysinger74ce8322007-11-21 23:50:49 +08001270source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001271
1272source "security/Kconfig"
1273
1274source "crypto/Kconfig"
1275
1276source "lib/Kconfig"