blob: a18180f2d007aa3d5e70a5b9fa6da7a01ad7b60c [file] [log] [blame]
Alan Jenkins9e1b9b82009-11-07 21:03:54 +00001config SYMBOL_PREFIX
2 string
3 default "_"
4
Bryan Wu1394f032007-05-06 14:50:22 -07005config MMU
Mike Frysingerbac7d892009-06-07 03:46:06 -04006 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -07007
8config FPU
Mike Frysingerbac7d892009-06-07 03:46:06 -04009 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -070010
11config RWSEM_GENERIC_SPINLOCK
Mike Frysingerbac7d892009-06-07 03:46:06 -040012 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070013
14config RWSEM_XCHGADD_ALGORITHM
Mike Frysingerbac7d892009-06-07 03:46:06 -040015 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -070016
17config BLACKFIN
Mike Frysingerbac7d892009-06-07 03:46:06 -040018 def_bool y
Mike Frysinger652afdc2010-01-25 22:12:32 +000019 select HAVE_ARCH_KGDB
Mike Frysingere8f263d2010-01-26 07:33:53 +000020 select HAVE_ARCH_TRACEHOOK
Mike Frysingerf5074422010-07-21 09:13:02 -040021 select HAVE_DYNAMIC_FTRACE
22 select HAVE_FTRACE_MCOUNT_RECORD
Mike Frysinger1ee76d72009-06-10 04:45:29 -040023 select HAVE_FUNCTION_GRAPH_TRACER
Mike Frysinger1c873be2009-06-09 07:25:09 -040024 select HAVE_FUNCTION_TRACER
Mike Frysingeraebfef02010-01-22 07:35:20 -050025 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
Sam Ravnborgec7748b2008-02-09 10:46:40 +010026 select HAVE_IDE
Mike Frysinger7db79172011-05-06 11:47:52 -040027 select HAVE_IRQ_WORK
Barry Songd86bfb12010-01-07 04:11:17 +000028 select HAVE_KERNEL_GZIP if RAMKERNEL
29 select HAVE_KERNEL_BZIP2 if RAMKERNEL
30 select HAVE_KERNEL_LZMA if RAMKERNEL
Mike Frysinger67df6cc2010-07-19 05:37:54 +000031 select HAVE_KERNEL_LZO if RAMKERNEL
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050032 select HAVE_OPROFILE
Mike Frysinger7db79172011-05-06 11:47:52 -040033 select HAVE_PERF_EVENTS
Michael Hennericha4f0b32c2008-11-18 17:48:22 +080034 select ARCH_WANT_OPTIONAL_GPIOLIB
Thomas Gleixner7b028862011-01-19 20:29:58 +010035 select HAVE_GENERIC_HARDIRQS
Mike Frysingerbee18be2011-03-21 02:39:10 -040036 select GENERIC_ATOMIC64
Thomas Gleixner7b028862011-01-19 20:29:58 +010037 select GENERIC_IRQ_PROBE
38 select IRQ_PER_CPU if SMP
Bryan Wu1394f032007-05-06 14:50:22 -070039
Mike Frysingerddf9dda2009-06-13 07:42:58 -040040config GENERIC_CSUM
41 def_bool y
42
Mike Frysinger70f12562009-06-07 17:18:25 -040043config GENERIC_BUG
44 def_bool y
45 depends on BUG
46
Aubrey Lie3defff2007-05-21 18:09:11 +080047config ZONE_DMA
Mike Frysingerbac7d892009-06-07 03:46:06 -040048 def_bool y
Aubrey Lie3defff2007-05-21 18:09:11 +080049
Bryan Wu1394f032007-05-06 14:50:22 -070050config GENERIC_FIND_NEXT_BIT
Mike Frysingerbac7d892009-06-07 03:46:06 -040051 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070052
Michael Hennerichb2d15832007-07-24 15:46:36 +080053config GENERIC_GPIO
Mike Frysingerbac7d892009-06-07 03:46:06 -040054 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070055
56config FORCE_MAX_ZONEORDER
57 int
58 default "14"
59
60config GENERIC_CALIBRATE_DELAY
Mike Frysingerbac7d892009-06-07 03:46:06 -040061 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070062
Mike Frysinger6fa68e72009-06-08 18:45:01 -040063config LOCKDEP_SUPPORT
64 def_bool y
65
Mike Frysingerc7b412f2009-06-08 18:44:45 -040066config STACKTRACE_SUPPORT
67 def_bool y
68
Mike Frysinger8f860012009-06-08 12:49:48 -040069config TRACE_IRQFLAGS_SUPPORT
70 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070071
Bryan Wu1394f032007-05-06 14:50:22 -070072source "init/Kconfig"
Matt Helsleydc52ddc2008-10-18 20:27:21 -070073
Bryan Wu1394f032007-05-06 14:50:22 -070074source "kernel/Kconfig.preempt"
75
Matt Helsleydc52ddc2008-10-18 20:27:21 -070076source "kernel/Kconfig.freezer"
77
Bryan Wu1394f032007-05-06 14:50:22 -070078menu "Blackfin Processor Options"
79
80comment "Processor and Board Settings"
81
82choice
83 prompt "CPU"
84 default BF533
85
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080086config BF512
87 bool "BF512"
88 help
89 BF512 Processor Support.
90
91config BF514
92 bool "BF514"
93 help
94 BF514 Processor Support.
95
96config BF516
97 bool "BF516"
98 help
99 BF516 Processor Support.
100
101config BF518
102 bool "BF518"
103 help
104 BF518 Processor Support.
105
Michael Hennerich59003142007-10-21 16:54:27 +0800106config BF522
107 bool "BF522"
108 help
109 BF522 Processor Support.
110
Mike Frysinger1545a112007-12-24 16:54:48 +0800111config BF523
112 bool "BF523"
113 help
114 BF523 Processor Support.
115
116config BF524
117 bool "BF524"
118 help
119 BF524 Processor Support.
120
Michael Hennerich59003142007-10-21 16:54:27 +0800121config BF525
122 bool "BF525"
123 help
124 BF525 Processor Support.
125
Mike Frysinger1545a112007-12-24 16:54:48 +0800126config BF526
127 bool "BF526"
128 help
129 BF526 Processor Support.
130
Michael Hennerich59003142007-10-21 16:54:27 +0800131config BF527
132 bool "BF527"
133 help
134 BF527 Processor Support.
135
Bryan Wu1394f032007-05-06 14:50:22 -0700136config BF531
137 bool "BF531"
138 help
139 BF531 Processor Support.
140
141config BF532
142 bool "BF532"
143 help
144 BF532 Processor Support.
145
146config BF533
147 bool "BF533"
148 help
149 BF533 Processor Support.
150
151config BF534
152 bool "BF534"
153 help
154 BF534 Processor Support.
155
156config BF536
157 bool "BF536"
158 help
159 BF536 Processor Support.
160
161config BF537
162 bool "BF537"
163 help
164 BF537 Processor Support.
165
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800166config BF538
167 bool "BF538"
168 help
169 BF538 Processor Support.
170
171config BF539
172 bool "BF539"
173 help
174 BF539 Processor Support.
175
Mike Frysinger5df326a2009-11-16 23:49:41 +0000176config BF542_std
Roy Huang24a07a12007-07-12 22:41:45 +0800177 bool "BF542"
178 help
179 BF542 Processor Support.
180
Mike Frysinger2f89c062009-02-04 16:49:45 +0800181config BF542M
182 bool "BF542m"
183 help
184 BF542 Processor Support.
185
Mike Frysinger5df326a2009-11-16 23:49:41 +0000186config BF544_std
Roy Huang24a07a12007-07-12 22:41:45 +0800187 bool "BF544"
188 help
189 BF544 Processor Support.
190
Mike Frysinger2f89c062009-02-04 16:49:45 +0800191config BF544M
192 bool "BF544m"
193 help
194 BF544 Processor Support.
195
Mike Frysinger5df326a2009-11-16 23:49:41 +0000196config BF547_std
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800197 bool "BF547"
198 help
199 BF547 Processor Support.
200
Mike Frysinger2f89c062009-02-04 16:49:45 +0800201config BF547M
202 bool "BF547m"
203 help
204 BF547 Processor Support.
205
Mike Frysinger5df326a2009-11-16 23:49:41 +0000206config BF548_std
Roy Huang24a07a12007-07-12 22:41:45 +0800207 bool "BF548"
208 help
209 BF548 Processor Support.
210
Mike Frysinger2f89c062009-02-04 16:49:45 +0800211config BF548M
212 bool "BF548m"
213 help
214 BF548 Processor Support.
215
Mike Frysinger5df326a2009-11-16 23:49:41 +0000216config BF549_std
Roy Huang24a07a12007-07-12 22:41:45 +0800217 bool "BF549"
218 help
219 BF549 Processor Support.
220
Mike Frysinger2f89c062009-02-04 16:49:45 +0800221config BF549M
222 bool "BF549m"
223 help
224 BF549 Processor Support.
225
Bryan Wu1394f032007-05-06 14:50:22 -0700226config BF561
227 bool "BF561"
228 help
Mike Frysingercd88b4d2008-10-09 12:03:22 +0800229 BF561 Processor Support.
Bryan Wu1394f032007-05-06 14:50:22 -0700230
231endchoice
232
Graf Yang46fa5ee2009-01-07 23:14:39 +0800233config SMP
234 depends on BF561
Yi Li0d152c22009-12-28 10:21:49 +0000235 select TICKSOURCE_CORETMR
Graf Yang46fa5ee2009-01-07 23:14:39 +0800236 bool "Symmetric multi-processing support"
237 ---help---
238 This enables support for systems with more than one CPU,
239 like the dual core BF561. If you have a system with only one
240 CPU, say N. If you have a system with more than one CPU, say Y.
241
242 If you don't know what to do here, say N.
243
244config NR_CPUS
245 int
246 depends on SMP
247 default 2 if BF561
248
Graf Yang0b39db22009-12-28 11:13:51 +0000249config HOTPLUG_CPU
250 bool "Support for hot-pluggable CPUs"
251 depends on SMP && HOTPLUG
252 default y
253
Graf Yangead9b112009-12-14 08:01:08 +0000254config HAVE_LEGACY_PER_CPU_AREA
255 def_bool y
256 depends on SMP
257
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800258config BF_REV_MIN
259 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800260 default 0 if (BF51x || BF52x || (BF54x && !BF54xM))
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800261 default 2 if (BF537 || BF536 || BF534)
Mike Frysinger2f89c062009-02-04 16:49:45 +0800262 default 3 if (BF561 || BF533 || BF532 || BF531 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800263 default 4 if (BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800264
265config BF_REV_MAX
266 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800267 default 2 if (BF51x || BF52x || (BF54x && !BF54xM))
268 default 3 if (BF537 || BF536 || BF534 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800269 default 5 if (BF561 || BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800270 default 6 if (BF533 || BF532 || BF531)
271
Bryan Wu1394f032007-05-06 14:50:22 -0700272choice
273 prompt "Silicon Rev"
Mike Frysingerf8b55652009-04-13 21:58:34 +0000274 default BF_REV_0_0 if (BF51x || BF52x)
275 default BF_REV_0_2 if (BF534 || BF536 || BF537 || (BF54x && !BF54xM))
Mike Frysinger2f89c062009-02-04 16:49:45 +0800276 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF54xM || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800277
278config BF_REV_0_0
279 bool "0.0"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800280 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Michael Hennerich59003142007-10-21 16:54:27 +0800281
282config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800283 bool "0.1"
Mike Frysinger3d15f302009-06-15 16:21:44 +0000284 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700285
286config BF_REV_0_2
287 bool "0.2"
Mike Frysinger8060bb62010-08-16 16:18:12 +0000288 depends on (BF51x || BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700289
290config BF_REV_0_3
291 bool "0.3"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800292 depends on (BF54xM || BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
Bryan Wu1394f032007-05-06 14:50:22 -0700293
294config BF_REV_0_4
295 bool "0.4"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800296 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700297
298config BF_REV_0_5
299 bool "0.5"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800300 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700301
Mike Frysinger49f72532008-10-09 12:06:27 +0800302config BF_REV_0_6
303 bool "0.6"
304 depends on (BF533 || BF532 || BF531)
305
Jie Zhangde3025f2007-06-25 18:04:12 +0800306config BF_REV_ANY
307 bool "any"
308
309config BF_REV_NONE
310 bool "none"
311
Bryan Wu1394f032007-05-06 14:50:22 -0700312endchoice
313
Roy Huang24a07a12007-07-12 22:41:45 +0800314config BF53x
315 bool
316 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
317 default y
318
Bryan Wu1394f032007-05-06 14:50:22 -0700319config MEM_MT48LC64M4A2FB_7E
320 bool
321 depends on (BFIN533_STAMP)
322 default y
323
324config MEM_MT48LC16M16A2TG_75
325 bool
326 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000327 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM_E \
328 || BFIN537_BLUETECHNIX_CM_U || H8606_HVSISTEMAS \
329 || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700330 default y
331
332config MEM_MT48LC32M8A2_75
333 bool
Mike Frysinger084f9eb2010-05-20 04:26:54 +0000334 depends on (BFIN518F_EZBRD || BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700335 default y
336
337config MEM_MT48LC8M32B2B5_7
338 bool
339 depends on (BFIN561_BLUETECHNIX_CM)
340 default y
341
Michael Hennerich59003142007-10-21 16:54:27 +0800342config MEM_MT48LC32M16A2TG_75
343 bool
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000344 depends on (BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN532_IP0X || BLACKSTAMP || BFIN527_AD7160EVAL)
Michael Hennerich59003142007-10-21 16:54:27 +0800345 default y
346
Graf Yangee48efb2009-06-18 04:32:04 +0000347config MEM_MT48H32M16LFCJ_75
348 bool
349 depends on (BFIN526_EZBRD)
350 default y
351
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800352source "arch/blackfin/mach-bf518/Kconfig"
Michael Hennerich59003142007-10-21 16:54:27 +0800353source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700354source "arch/blackfin/mach-bf533/Kconfig"
355source "arch/blackfin/mach-bf561/Kconfig"
356source "arch/blackfin/mach-bf537/Kconfig"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800357source "arch/blackfin/mach-bf538/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800358source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700359
360menu "Board customizations"
361
362config CMDLINE_BOOL
363 bool "Default bootloader kernel arguments"
364
365config CMDLINE
366 string "Initial kernel command string"
367 depends on CMDLINE_BOOL
368 default "console=ttyBF0,57600"
369 help
370 If you don't have a boot loader capable of passing a command line string
371 to the kernel, you may specify one here. As a minimum, you should specify
372 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
373
Mike Frysinger5f004c22008-04-25 02:11:24 +0800374config BOOT_LOAD
375 hex "Kernel load address for booting"
376 default "0x1000"
377 range 0x1000 0x20000000
378 help
379 This option allows you to set the load address of the kernel.
380 This can be useful if you are on a board which has a small amount
381 of memory or you wish to reserve some memory at the beginning of
382 the address space.
383
384 Note that you need to keep this value above 4k (0x1000) as this
385 memory region is used to capture NULL pointer references as well
386 as some core kernel functions.
387
Michael Hennerich8cc71172008-10-13 14:45:06 +0800388config ROM_BASE
389 hex "Kernel ROM Base"
Mike Frysinger86249912008-11-18 17:48:22 +0800390 depends on ROMKERNEL
Barry Songd86bfb12010-01-07 04:11:17 +0000391 default "0x20040040"
Michael Hennerich8cc71172008-10-13 14:45:06 +0800392 range 0x20000000 0x20400000 if !(BF54x || BF561)
393 range 0x20000000 0x30000000 if (BF54x || BF561)
394 help
Barry Songd86bfb12010-01-07 04:11:17 +0000395 Make sure your ROM base does not include any file-header
396 information that is prepended to the kernel.
397
398 For example, the bootable U-Boot format (created with
399 mkimage) has a 64 byte header (0x40). So while the image
400 you write to flash might start at say 0x20080000, you have
401 to add 0x40 to get the kernel's ROM base as it will come
402 after the header.
Michael Hennerich8cc71172008-10-13 14:45:06 +0800403
Robin Getzf16295e2007-08-03 18:07:17 +0800404comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700405
406config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800407 int "Frequency of the crystal on the board in Hz"
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800408 default "10000000" if BFIN532_IP0X
Mike Frysingerd0cb9b42009-06-11 21:52:35 +0000409 default "11059200" if BFIN533_STAMP
410 default "24576000" if PNAV10
411 default "25000000" # most people use this
412 default "27000000" if BFIN533_EZKIT
413 default "30000000" if BFIN561_EZKIT
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000414 default "24000000" if BFIN527_AD7160EVAL
Bryan Wu1394f032007-05-06 14:50:22 -0700415 help
416 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800417 Warning: This value should match the crystal on the board. Otherwise,
418 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700419
Robin Getzf16295e2007-08-03 18:07:17 +0800420config BFIN_KERNEL_CLOCK
421 bool "Re-program Clocks while Kernel boots?"
422 default n
423 help
424 This option decides if kernel clocks are re-programed from the
425 bootloader settings. If the clocks are not set, the SDRAM settings
426 are also not changed, and the Bootloader does 100% of the hardware
427 configuration.
428
429config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800430 bool "Bypass PLL"
431 depends on BFIN_KERNEL_CLOCK
432 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800433
434config CLKIN_HALF
435 bool "Half Clock In"
436 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
437 default n
438 help
439 If this is set the clock will be divided by 2, before it goes to the PLL.
440
441config VCO_MULT
442 int "VCO Multiplier"
443 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
444 range 1 64
445 default "22" if BFIN533_EZKIT
446 default "45" if BFIN533_STAMP
Michael Hennerich6924dfb2009-12-07 13:41:28 +0000447 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800448 default "22" if BFIN533_BLUETECHNIX_CM
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000449 default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800450 default "20" if BFIN561_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800451 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000452 default "25" if BFIN527_AD7160EVAL
Robin Getzf16295e2007-08-03 18:07:17 +0800453 help
454 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
455 PLL Frequency = (Crystal Frequency) * (this setting)
456
457choice
458 prompt "Core Clock Divider"
459 depends on BFIN_KERNEL_CLOCK
460 default CCLK_DIV_1
461 help
462 This sets the frequency of the core. It can be 1, 2, 4 or 8
463 Core Frequency = (PLL frequency) / (this setting)
464
465config CCLK_DIV_1
466 bool "1"
467
468config CCLK_DIV_2
469 bool "2"
470
471config CCLK_DIV_4
472 bool "4"
473
474config CCLK_DIV_8
475 bool "8"
476endchoice
477
478config SCLK_DIV
479 int "System Clock Divider"
480 depends on BFIN_KERNEL_CLOCK
481 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800482 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800483 help
484 This sets the frequency of the system clock (including SDRAM or DDR).
485 This can be between 1 and 15
486 System Clock = (PLL frequency) / (this setting)
487
Mike Frysinger5f004c22008-04-25 02:11:24 +0800488choice
489 prompt "DDR SDRAM Chip Type"
490 depends on BFIN_KERNEL_CLOCK
491 depends on BF54x
492 default MEM_MT46V32M16_5B
493
494config MEM_MT46V32M16_6T
495 bool "MT46V32M16_6T"
496
497config MEM_MT46V32M16_5B
498 bool "MT46V32M16_5B"
499endchoice
500
Michael Hennerich73feb5c2009-01-07 23:14:39 +0800501choice
502 prompt "DDR/SDRAM Timing"
503 depends on BFIN_KERNEL_CLOCK
504 default BFIN_KERNEL_CLOCK_MEMINIT_CALC
505 help
506 This option allows you to specify Blackfin SDRAM/DDR Timing parameters
507 The calculated SDRAM timing parameters may not be 100%
508 accurate - This option is therefore marked experimental.
509
510config BFIN_KERNEL_CLOCK_MEMINIT_CALC
511 bool "Calculate Timings (EXPERIMENTAL)"
512 depends on EXPERIMENTAL
513
514config BFIN_KERNEL_CLOCK_MEMINIT_SPEC
515 bool "Provide accurate Timings based on target SCLK"
516 help
517 Please consult the Blackfin Hardware Reference Manuals as well
518 as the memory device datasheet.
519 http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram
520endchoice
521
522menu "Memory Init Control"
523 depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC
524
525config MEM_DDRCTL0
526 depends on BF54x
527 hex "DDRCTL0"
528 default 0x0
529
530config MEM_DDRCTL1
531 depends on BF54x
532 hex "DDRCTL1"
533 default 0x0
534
535config MEM_DDRCTL2
536 depends on BF54x
537 hex "DDRCTL2"
538 default 0x0
539
540config MEM_EBIU_DDRQUE
541 depends on BF54x
542 hex "DDRQUE"
543 default 0x0
544
545config MEM_SDRRC
546 depends on !BF54x
547 hex "SDRRC"
548 default 0x0
549
550config MEM_SDGCTL
551 depends on !BF54x
552 hex "SDGCTL"
553 default 0x0
554endmenu
555
Robin Getzf16295e2007-08-03 18:07:17 +0800556#
557# Max & Min Speeds for various Chips
558#
559config MAX_VCO_HZ
560 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800561 default 400000000 if BF512
562 default 400000000 if BF514
563 default 400000000 if BF516
564 default 400000000 if BF518
Mike Frysinger7b062632009-08-11 21:27:09 +0000565 default 400000000 if BF522
566 default 600000000 if BF523
Mike Frysinger1545a112007-12-24 16:54:48 +0800567 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800568 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800569 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800570 default 600000000 if BF527
571 default 400000000 if BF531
572 default 400000000 if BF532
573 default 750000000 if BF533
574 default 500000000 if BF534
575 default 400000000 if BF536
576 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800577 default 533333333 if BF538
578 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800579 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800580 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800581 default 600000000 if BF547
582 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800583 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800584 default 600000000 if BF561
585
586config MIN_VCO_HZ
587 int
588 default 50000000
589
590config MAX_SCLK_HZ
591 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800592 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800593
594config MIN_SCLK_HZ
595 int
596 default 27000000
597
598comment "Kernel Timer/Scheduler"
599
600source kernel/Kconfig.hz
601
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800602config GENERIC_CLOCKEVENTS
603 bool "Generic clock events"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800604 default y
605
Yi Li0d152c22009-12-28 10:21:49 +0000606menu "Clock event device"
Graf Yang1fa9be72009-05-15 11:01:59 +0000607 depends on GENERIC_CLOCKEVENTS
Graf Yang1fa9be72009-05-15 11:01:59 +0000608config TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000609 bool "GPTimer0"
610 depends on !SMP
Graf Yang1fa9be72009-05-15 11:01:59 +0000611 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000612
613config TICKSOURCE_CORETMR
Yi Li0d152c22009-12-28 10:21:49 +0000614 bool "Core timer"
615 default y
616endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000617
Yi Li0d152c22009-12-28 10:21:49 +0000618menu "Clock souce"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800619 depends on GENERIC_CLOCKEVENTS
Yi Li0d152c22009-12-28 10:21:49 +0000620config CYCLES_CLOCKSOURCE
621 bool "CYCLES"
622 default y
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800623 depends on !BFIN_SCRATCH_REG_CYCLES
Graf Yang1fa9be72009-05-15 11:01:59 +0000624 depends on !SMP
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800625 help
626 If you say Y here, you will enable support for using the 'cycles'
627 registers as a clock source. Doing so means you will be unable to
628 safely write to the 'cycles' register during runtime. You will
629 still be able to read it (such as for performance monitoring), but
630 writing the registers will most likely crash the kernel.
631
Graf Yang1fa9be72009-05-15 11:01:59 +0000632config GPTMR0_CLOCKSOURCE
Yi Li0d152c22009-12-28 10:21:49 +0000633 bool "GPTimer0"
Mike Frysinger3aca47c2009-06-18 19:40:47 +0000634 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000635 depends on !TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000636endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000637
john stultz10f03f12009-09-15 21:17:19 -0700638config ARCH_USES_GETTIMEOFFSET
639 depends on !GENERIC_CLOCKEVENTS
640 def_bool y
641
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800642source kernel/time/Kconfig
643
Mike Frysinger5f004c22008-04-25 02:11:24 +0800644comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800645
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800646choice
647 prompt "Blackfin Exception Scratch Register"
648 default BFIN_SCRATCH_REG_RETN
649 help
650 Select the resource to reserve for the Exception handler:
651 - RETN: Non-Maskable Interrupt (NMI)
652 - RETE: Exception Return (JTAG/ICE)
653 - CYCLES: Performance counter
654
655 If you are unsure, please select "RETN".
656
657config BFIN_SCRATCH_REG_RETN
658 bool "RETN"
659 help
660 Use the RETN register in the Blackfin exception handler
661 as a stack scratch register. This means you cannot
662 safely use NMI on the Blackfin while running Linux, but
663 you can debug the system with a JTAG ICE and use the
664 CYCLES performance registers.
665
666 If you are unsure, please select "RETN".
667
668config BFIN_SCRATCH_REG_RETE
669 bool "RETE"
670 help
671 Use the RETE register in the Blackfin exception handler
672 as a stack scratch register. This means you cannot
673 safely use a JTAG ICE while debugging a Blackfin board,
674 but you can safely use the CYCLES performance registers
675 and the NMI.
676
677 If you are unsure, please select "RETN".
678
679config BFIN_SCRATCH_REG_CYCLES
680 bool "CYCLES"
681 help
682 Use the CYCLES register in the Blackfin exception handler
683 as a stack scratch register. This means you cannot
684 safely use the CYCLES performance registers on a Blackfin
685 board at anytime, but you can debug the system with a JTAG
686 ICE and use the NMI.
687
688 If you are unsure, please select "RETN".
689
690endchoice
691
Bryan Wu1394f032007-05-06 14:50:22 -0700692endmenu
693
694
695menu "Blackfin Kernel Optimizations"
696
Bryan Wu1394f032007-05-06 14:50:22 -0700697comment "Memory Optimizations"
698
699config I_ENTRY_L1
700 bool "Locate interrupt entry code in L1 Memory"
701 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500702 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700703 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200704 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
705 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700706
707config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200708 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700709 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500710 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700711 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200712 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800713 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200714 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700715
716config DO_IRQ_L1
717 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
718 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500719 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700720 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200721 If enabled, the frequently called do_irq dispatcher function is linked
722 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700723
724config CORE_TIMER_IRQ_L1
725 bool "Locate frequently called timer_interrupt() function in L1 Memory"
726 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500727 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700728 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200729 If enabled, the frequently called timer_interrupt() function is linked
730 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700731
732config IDLE_L1
733 bool "Locate frequently idle function in L1 Memory"
734 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500735 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700736 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200737 If enabled, the frequently called idle function is linked
738 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700739
740config SCHEDULE_L1
741 bool "Locate kernel schedule function in L1 Memory"
742 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500743 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700744 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200745 If enabled, the frequently called kernel schedule is linked
746 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700747
748config ARITHMETIC_OPS_L1
749 bool "Locate kernel owned arithmetic functions in L1 Memory"
750 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500751 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700752 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200753 If enabled, arithmetic functions are linked
754 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700755
756config ACCESS_OK_L1
757 bool "Locate access_ok function in L1 Memory"
758 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500759 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700760 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200761 If enabled, the access_ok function is linked
762 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700763
764config MEMSET_L1
765 bool "Locate memset function in L1 Memory"
766 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500767 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700768 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200769 If enabled, the memset function is linked
770 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700771
772config MEMCPY_L1
773 bool "Locate memcpy function in L1 Memory"
774 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500775 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700776 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200777 If enabled, the memcpy function is linked
778 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700779
Robin Getz479ba602010-05-03 17:23:20 +0000780config STRCMP_L1
781 bool "locate strcmp function in L1 Memory"
782 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500783 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000784 help
785 If enabled, the strcmp function is linked
786 into L1 instruction memory (less latency).
787
788config STRNCMP_L1
789 bool "locate strncmp function in L1 Memory"
790 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500791 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000792 help
793 If enabled, the strncmp function is linked
794 into L1 instruction memory (less latency).
795
796config STRCPY_L1
797 bool "locate strcpy function in L1 Memory"
798 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500799 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000800 help
801 If enabled, the strcpy function is linked
802 into L1 instruction memory (less latency).
803
804config STRNCPY_L1
805 bool "locate strncpy function in L1 Memory"
806 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500807 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000808 help
809 If enabled, the strncpy function is linked
810 into L1 instruction memory (less latency).
811
Bryan Wu1394f032007-05-06 14:50:22 -0700812config SYS_BFIN_SPINLOCK_L1
813 bool "Locate sys_bfin_spinlock function in L1 Memory"
814 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500815 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700816 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200817 If enabled, sys_bfin_spinlock function is linked
818 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700819
820config IP_CHECKSUM_L1
821 bool "Locate IP Checksum function in L1 Memory"
822 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500823 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700824 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200825 If enabled, the IP Checksum function is linked
826 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700827
828config CACHELINE_ALIGNED_L1
829 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800830 default y if !BF54x
831 default n if BF54x
Mike Frysinger820b1272011-02-02 22:31:42 -0500832 depends on !SMP && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700833 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100834 If enabled, cacheline_aligned data is linked
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200835 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700836
837config SYSCALL_TAB_L1
838 bool "Locate Syscall Table L1 Data Memory"
839 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500840 depends on !SMP && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700841 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200842 If enabled, the Syscall LUT is linked
843 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700844
845config CPLB_SWITCH_TAB_L1
846 bool "Locate CPLB Switch Tables L1 Data Memory"
847 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500848 depends on !SMP && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700849 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200850 If enabled, the CPLB Switch Tables are linked
851 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700852
Mike Frysinger820b1272011-02-02 22:31:42 -0500853config ICACHE_FLUSH_L1
854 bool "Locate icache flush funcs in L1 Inst Memory"
Mike Frysinger74181292010-05-27 22:46:46 +0000855 default y
856 help
Mike Frysinger820b1272011-02-02 22:31:42 -0500857 If enabled, the Blackfin icache flushing functions are linked
Mike Frysinger74181292010-05-27 22:46:46 +0000858 into L1 instruction memory.
859
860 Note that this might be required to address anomalies, but
861 these functions are pretty small, so it shouldn't be too bad.
862 If you are using a processor affected by an anomaly, the build
863 system will double check for you and prevent it.
864
Mike Frysinger820b1272011-02-02 22:31:42 -0500865config DCACHE_FLUSH_L1
866 bool "Locate dcache flush funcs in L1 Inst Memory"
867 default y
868 depends on !SMP
869 help
870 If enabled, the Blackfin dcache flushing functions are linked
871 into L1 instruction memory.
872
Graf Yangca87b7a2008-10-08 17:30:01 +0800873config APP_STACK_L1
874 bool "Support locating application stack in L1 Scratch Memory"
875 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500876 depends on !SMP
Graf Yangca87b7a2008-10-08 17:30:01 +0800877 help
878 If enabled the application stack can be located in L1
879 scratch memory (less latency).
880
881 Currently only works with FLAT binaries.
882
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800883config EXCEPTION_L1_SCRATCH
884 bool "Locate exception stack in L1 Scratch Memory"
885 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500886 depends on !SMP && !APP_STACK_L1
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800887 help
888 Whenever an exception occurs, use the L1 Scratch memory for
889 stack storage. You cannot place the stacks of FLAT binaries
890 in L1 when using this option.
891
892 If you don't use L1 Scratch, then you should say Y here.
893
Robin Getz251383c2008-08-14 15:12:55 +0800894comment "Speed Optimizations"
895config BFIN_INS_LOWOVERHEAD
896 bool "ins[bwl] low overhead, higher interrupt latency"
897 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500898 depends on !SMP
Robin Getz251383c2008-08-14 15:12:55 +0800899 help
900 Reads on the Blackfin are speculative. In Blackfin terms, this means
901 they can be interrupted at any time (even after they have been issued
902 on to the external bus), and re-issued after the interrupt occurs.
903 For memory - this is not a big deal, since memory does not change if
904 it sees a read.
905
906 If a FIFO is sitting on the end of the read, it will see two reads,
907 when the core only sees one since the FIFO receives both the read
908 which is cancelled (and not delivered to the core) and the one which
909 is re-issued (which is delivered to the core).
910
911 To solve this, interrupts are turned off before reads occur to
912 I/O space. This option controls which the overhead/latency of
913 controlling interrupts during this time
914 "n" turns interrupts off every read
915 (higher overhead, but lower interrupt latency)
916 "y" turns interrupts off every loop
917 (low overhead, but longer interrupt latency)
918
919 default behavior is to leave this set to on (type "Y"). If you are experiencing
920 interrupt latency issues, it is safe and OK to turn this off.
921
Bryan Wu1394f032007-05-06 14:50:22 -0700922endmenu
923
Bryan Wu1394f032007-05-06 14:50:22 -0700924choice
925 prompt "Kernel executes from"
926 help
927 Choose the memory type that the kernel will be running in.
928
929config RAMKERNEL
930 bool "RAM"
931 help
932 The kernel will be resident in RAM when running.
933
934config ROMKERNEL
935 bool "ROM"
936 help
937 The kernel will be resident in FLASH/ROM when running.
938
939endchoice
940
Mike Frysinger56b4f072010-10-16 19:46:21 -0400941# Common code uses "ROMKERNEL" or "XIP_KERNEL", so define both
942config XIP_KERNEL
943 bool
944 default y
945 depends on ROMKERNEL
946
Bryan Wu1394f032007-05-06 14:50:22 -0700947source "mm/Kconfig"
948
Mike Frysinger780431e2007-10-21 23:37:54 +0800949config BFIN_GPTIMERS
950 tristate "Enable Blackfin General Purpose Timers API"
951 default n
952 help
953 Enable support for the General Purpose Timers API. If you
954 are unsure, say N.
955
956 To compile this driver as a module, choose M here: the module
Pavel Machek4737f092009-06-05 00:44:53 +0200957 will be called gptimers.
Mike Frysinger780431e2007-10-21 23:37:54 +0800958
Bryan Wu1394f032007-05-06 14:50:22 -0700959choice
Mike Frysingerd292b002008-10-28 11:15:36 +0800960 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700961 default DMA_UNCACHED_1M
Cliff Cai86ad7932008-05-17 16:36:52 +0800962config DMA_UNCACHED_4M
963 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700964config DMA_UNCACHED_2M
965 bool "Enable 2M DMA region"
966config DMA_UNCACHED_1M
967 bool "Enable 1M DMA region"
Barry Songc45c0652009-12-02 09:13:36 +0000968config DMA_UNCACHED_512K
969 bool "Enable 512K DMA region"
970config DMA_UNCACHED_256K
971 bool "Enable 256K DMA region"
972config DMA_UNCACHED_128K
973 bool "Enable 128K DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700974config DMA_UNCACHED_NONE
975 bool "Disable DMA region"
976endchoice
977
978
979comment "Cache Support"
Jie Zhang41ba6532009-06-16 09:48:33 +0000980
Robin Getz3bebca22007-10-10 23:55:26 +0800981config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700982 bool "Enable ICACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000983 default y
Jie Zhang41ba6532009-06-16 09:48:33 +0000984config BFIN_EXTMEM_ICACHEABLE
985 bool "Enable ICACHE for external memory"
986 depends on BFIN_ICACHE
987 default y
988config BFIN_L2_ICACHEABLE
989 bool "Enable ICACHE for L2 SRAM"
990 depends on BFIN_ICACHE
991 depends on BF54x || BF561
992 default n
993
Robin Getz3bebca22007-10-10 23:55:26 +0800994config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700995 bool "Enable DCACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000996 default y
Robin Getz3bebca22007-10-10 23:55:26 +0800997config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700998 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800999 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -07001000 default n
Jie Zhang41ba6532009-06-16 09:48:33 +00001001config BFIN_EXTMEM_DCACHEABLE
1002 bool "Enable DCACHE for external memory"
Robin Getz3bebca22007-10-10 23:55:26 +08001003 depends on BFIN_DCACHE
Jie Zhang41ba6532009-06-16 09:48:33 +00001004 default y
Graf Yang5ba76672009-05-07 04:09:15 +00001005choice
Jie Zhang41ba6532009-06-16 09:48:33 +00001006 prompt "External memory DCACHE policy"
1007 depends on BFIN_EXTMEM_DCACHEABLE
1008 default BFIN_EXTMEM_WRITEBACK if !SMP
1009 default BFIN_EXTMEM_WRITETHROUGH if SMP
1010config BFIN_EXTMEM_WRITEBACK
Graf Yang5ba76672009-05-07 04:09:15 +00001011 bool "Write back"
1012 depends on !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001013 help
1014 Write Back Policy:
1015 Cached data will be written back to SDRAM only when needed.
1016 This can give a nice increase in performance, but beware of
1017 broken drivers that do not properly invalidate/flush their
1018 cache.
Graf Yang5ba76672009-05-07 04:09:15 +00001019
Jie Zhang41ba6532009-06-16 09:48:33 +00001020 Write Through Policy:
1021 Cached data will always be written back to SDRAM when the
1022 cache is updated. This is a completely safe setting, but
1023 performance is worse than Write Back.
1024
1025 If you are unsure of the options and you want to be safe,
1026 then go with Write Through.
1027
1028config BFIN_EXTMEM_WRITETHROUGH
Graf Yang5ba76672009-05-07 04:09:15 +00001029 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001030 help
1031 Write Back Policy:
1032 Cached data will be written back to SDRAM only when needed.
1033 This can give a nice increase in performance, but beware of
1034 broken drivers that do not properly invalidate/flush their
1035 cache.
Graf Yang5ba76672009-05-07 04:09:15 +00001036
Jie Zhang41ba6532009-06-16 09:48:33 +00001037 Write Through Policy:
1038 Cached data will always be written back to SDRAM when the
1039 cache is updated. This is a completely safe setting, but
1040 performance is worse than Write Back.
1041
1042 If you are unsure of the options and you want to be safe,
1043 then go with Write Through.
Graf Yang5ba76672009-05-07 04:09:15 +00001044
1045endchoice
Sonic Zhangf099f392008-10-09 14:11:57 +08001046
Jie Zhang41ba6532009-06-16 09:48:33 +00001047config BFIN_L2_DCACHEABLE
1048 bool "Enable DCACHE for L2 SRAM"
1049 depends on BFIN_DCACHE
Sonic Zhang9c954f82009-06-30 09:48:03 +00001050 depends on (BF54x || BF561) && !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001051 default n
1052choice
1053 prompt "L2 SRAM DCACHE policy"
1054 depends on BFIN_L2_DCACHEABLE
1055 default BFIN_L2_WRITEBACK
1056config BFIN_L2_WRITEBACK
1057 bool "Write back"
Jie Zhang41ba6532009-06-16 09:48:33 +00001058
1059config BFIN_L2_WRITETHROUGH
1060 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001061endchoice
1062
1063
1064comment "Memory Protection Unit"
Bernd Schmidtb97b8a92008-01-27 18:39:16 +08001065config MPU
1066 bool "Enable the memory protection unit (EXPERIMENTAL)"
1067 default n
1068 help
1069 Use the processor's MPU to protect applications from accessing
1070 memory they do not own. This comes at a performance penalty
1071 and is recommended only for debugging.
1072
Matt LaPlante692105b2009-01-26 11:12:25 +01001073comment "Asynchronous Memory Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -07001074
Mike Frysingerddf416b2007-10-10 18:06:47 +08001075menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -07001076config C_AMCKEN
1077 bool "Enable CLKOUT"
1078 default y
1079
1080config C_CDPRIO
1081 bool "DMA has priority over core for ext. accesses"
1082 default n
1083
1084config C_B0PEN
1085 depends on BF561
1086 bool "Bank 0 16 bit packing enable"
1087 default y
1088
1089config C_B1PEN
1090 depends on BF561
1091 bool "Bank 1 16 bit packing enable"
1092 default y
1093
1094config C_B2PEN
1095 depends on BF561
1096 bool "Bank 2 16 bit packing enable"
1097 default y
1098
1099config C_B3PEN
1100 depends on BF561
1101 bool "Bank 3 16 bit packing enable"
1102 default n
1103
1104choice
Matt LaPlante692105b2009-01-26 11:12:25 +01001105 prompt "Enable Asynchronous Memory Banks"
Bryan Wu1394f032007-05-06 14:50:22 -07001106 default C_AMBEN_ALL
1107
1108config C_AMBEN
1109 bool "Disable All Banks"
1110
1111config C_AMBEN_B0
1112 bool "Enable Bank 0"
1113
1114config C_AMBEN_B0_B1
1115 bool "Enable Bank 0 & 1"
1116
1117config C_AMBEN_B0_B1_B2
1118 bool "Enable Bank 0 & 1 & 2"
1119
1120config C_AMBEN_ALL
1121 bool "Enable All Banks"
1122endchoice
1123endmenu
1124
1125menu "EBIU_AMBCTL Control"
1126config BANK_0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001127 hex "Bank 0 (AMBCTL0.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001128 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001129 help
1130 These are the low 16 bits of the EBIU_AMBCTL0 MMR which are
1131 used to control the Asynchronous Memory Bank 0 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001132
1133config BANK_1
Mike Frysingerc8342f82009-03-31 00:18:35 +00001134 hex "Bank 1 (AMBCTL0.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001135 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +08001136 default 0x5558 if BF54x
Mike Frysingerc8342f82009-03-31 00:18:35 +00001137 help
1138 These are the high 16 bits of the EBIU_AMBCTL0 MMR which are
1139 used to control the Asynchronous Memory Bank 1 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001140
1141config BANK_2
Mike Frysingerc8342f82009-03-31 00:18:35 +00001142 hex "Bank 2 (AMBCTL1.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001143 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001144 help
1145 These are the low 16 bits of the EBIU_AMBCTL1 MMR which are
1146 used to control the Asynchronous Memory Bank 2 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001147
1148config BANK_3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001149 hex "Bank 3 (AMBCTL1.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001150 default 0x99B3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001151 help
1152 These are the high 16 bits of the EBIU_AMBCTL1 MMR which are
1153 used to control the Asynchronous Memory Bank 3 settings.
1154
Bryan Wu1394f032007-05-06 14:50:22 -07001155endmenu
1156
Sonic Zhange40540b2007-11-21 23:49:52 +08001157config EBIU_MBSCTLVAL
1158 hex "EBIU Bank Select Control Register"
1159 depends on BF54x
1160 default 0
1161
1162config EBIU_MODEVAL
1163 hex "Flash Memory Mode Control Register"
1164 depends on BF54x
1165 default 1
1166
1167config EBIU_FCTLVAL
1168 hex "Flash Memory Bank Control Register"
1169 depends on BF54x
1170 default 6
Bryan Wu1394f032007-05-06 14:50:22 -07001171endmenu
1172
1173#############################################################################
1174menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1175
1176config PCI
1177 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +08001178 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -07001179 help
1180 Support for PCI bus.
1181
1182source "drivers/pci/Kconfig"
1183
Bryan Wu1394f032007-05-06 14:50:22 -07001184source "drivers/pcmcia/Kconfig"
1185
1186source "drivers/pci/hotplug/Kconfig"
1187
1188endmenu
1189
1190menu "Executable file formats"
1191
1192source "fs/Kconfig.binfmt"
1193
1194endmenu
1195
1196menu "Power management options"
Graf Yangad461632009-08-07 03:52:54 +00001197
Bryan Wu1394f032007-05-06 14:50:22 -07001198source "kernel/power/Kconfig"
1199
Johannes Bergf4cb5702007-12-08 02:14:00 +01001200config ARCH_SUSPEND_POSSIBLE
1201 def_bool y
Johannes Bergf4cb5702007-12-08 02:14:00 +01001202
Bryan Wu1394f032007-05-06 14:50:22 -07001203choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001204 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -07001205 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001206 default PM_BFIN_SLEEP_DEEPER
1207config PM_BFIN_SLEEP_DEEPER
1208 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001209 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001210 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1211 power dissipation by disabling the clock to the processor core (CCLK).
1212 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1213 to 0.85 V to provide the greatest power savings, while preserving the
1214 processor state.
1215 The PLL and system clock (SCLK) continue to operate at a very low
1216 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1217 the SDRAM is put into Self Refresh Mode. Typically an external event
1218 such as GPIO interrupt or RTC activity wakes up the processor.
1219 Various Peripherals such as UART, SPORT, PPI may not function as
1220 normal during Sleep Deeper, due to the reduced SCLK frequency.
1221 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001222
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001223 If unsure, select "Sleep Deeper".
1224
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001225config PM_BFIN_SLEEP
1226 bool "Sleep"
1227 help
1228 Sleep Mode (High Power Savings) - The sleep mode reduces power
1229 dissipation by disabling the clock to the processor core (CCLK).
1230 The PLL and system clock (SCLK), however, continue to operate in
1231 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001232 up the processor. When in the sleep mode, system DMA access to L1
1233 memory is not supported.
1234
1235 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001236endchoice
1237
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001238comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1239 depends on PM
1240
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001241config PM_BFIN_WAKE_PH6
1242 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001243 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001244 default n
1245 help
1246 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1247
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001248config PM_BFIN_WAKE_GP
1249 bool "Allow Wake-Up from GPIOs"
1250 depends on PM && BF54x
1251 default n
1252 help
1253 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Michael Hennerich19986282009-03-05 16:45:55 +08001254 (all processors, except ADSP-BF549). This option sets
1255 the general-purpose wake-up enable (GPWE) control bit to enable
1256 wake-up upon detection of an active low signal on the /GPW (PH7) pin.
1257 On ADSP-BF549 this option enables the the same functionality on the
1258 /MRXON pin also PH7.
1259
Bryan Wu1394f032007-05-06 14:50:22 -07001260endmenu
1261
Bryan Wu1394f032007-05-06 14:50:22 -07001262menu "CPU Frequency scaling"
1263
1264source "drivers/cpufreq/Kconfig"
1265
Michael Hennerich5ad2ca52008-11-18 17:48:22 +08001266config BFIN_CPU_FREQ
1267 bool
1268 depends on CPU_FREQ
1269 select CPU_FREQ_TABLE
1270 default y
1271
Michael Hennerich14b03202008-05-07 11:41:26 +08001272config CPU_VOLTAGE
1273 bool "CPU Voltage scaling"
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001274 depends on EXPERIMENTAL
Michael Hennerich14b03202008-05-07 11:41:26 +08001275 depends on CPU_FREQ
1276 default n
1277 help
1278 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1279 This option violates the PLL BYPASS recommendation in the Blackfin Processor
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001280 manuals. There is a theoretical risk that during VDDINT transitions
Michael Hennerich14b03202008-05-07 11:41:26 +08001281 the PLL may unlock.
1282
Bryan Wu1394f032007-05-06 14:50:22 -07001283endmenu
1284
Bryan Wu1394f032007-05-06 14:50:22 -07001285source "net/Kconfig"
1286
1287source "drivers/Kconfig"
1288
Mike Frysinger872d0242009-10-06 04:49:07 +00001289source "drivers/firmware/Kconfig"
1290
Bryan Wu1394f032007-05-06 14:50:22 -07001291source "fs/Kconfig"
1292
Mike Frysinger74ce8322007-11-21 23:50:49 +08001293source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001294
1295source "security/Kconfig"
1296
1297source "crypto/Kconfig"
1298
1299source "lib/Kconfig"