blob: 672c21632f2fc8ca5bbc37e266395477a2150af7 [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
Barry Songd86bfb12010-01-07 04:11:17 +000027 select HAVE_KERNEL_GZIP if RAMKERNEL
28 select HAVE_KERNEL_BZIP2 if RAMKERNEL
29 select HAVE_KERNEL_LZMA if RAMKERNEL
Mike Frysinger67df6cc2010-07-19 05:37:54 +000030 select HAVE_KERNEL_LZO if RAMKERNEL
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050031 select HAVE_OPROFILE
Michael Hennericha4f0b32c2008-11-18 17:48:22 +080032 select ARCH_WANT_OPTIONAL_GPIOLIB
Thomas Gleixner7b028862011-01-19 20:29:58 +010033 select HAVE_GENERIC_HARDIRQS
Mike Frysingerbee18be2011-03-21 02:39:10 -040034 select GENERIC_ATOMIC64
Thomas Gleixner7b028862011-01-19 20:29:58 +010035 select GENERIC_IRQ_PROBE
36 select IRQ_PER_CPU if SMP
Thomas Gleixner1eb5efa02011-02-06 18:23:41 +000037 select GENERIC_HARDIRQS_NO_DEPRECATED
Bryan Wu1394f032007-05-06 14:50:22 -070038
Mike Frysingerddf9dda2009-06-13 07:42:58 -040039config GENERIC_CSUM
40 def_bool y
41
Mike Frysinger70f12562009-06-07 17:18:25 -040042config GENERIC_BUG
43 def_bool y
44 depends on BUG
45
Aubrey Lie3defff2007-05-21 18:09:11 +080046config ZONE_DMA
Mike Frysingerbac7d892009-06-07 03:46:06 -040047 def_bool y
Aubrey Lie3defff2007-05-21 18:09:11 +080048
Bryan Wu1394f032007-05-06 14:50:22 -070049config GENERIC_FIND_NEXT_BIT
Mike Frysingerbac7d892009-06-07 03:46:06 -040050 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070051
Michael Hennerichb2d15832007-07-24 15:46:36 +080052config GENERIC_GPIO
Mike Frysingerbac7d892009-06-07 03:46:06 -040053 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070054
55config FORCE_MAX_ZONEORDER
56 int
57 default "14"
58
59config GENERIC_CALIBRATE_DELAY
Mike Frysingerbac7d892009-06-07 03:46:06 -040060 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070061
Mike Frysinger6fa68e72009-06-08 18:45:01 -040062config LOCKDEP_SUPPORT
63 def_bool y
64
Mike Frysingerc7b412f2009-06-08 18:44:45 -040065config STACKTRACE_SUPPORT
66 def_bool y
67
Mike Frysinger8f860012009-06-08 12:49:48 -040068config TRACE_IRQFLAGS_SUPPORT
69 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070070
Bryan Wu1394f032007-05-06 14:50:22 -070071source "init/Kconfig"
Matt Helsleydc52ddc2008-10-18 20:27:21 -070072
Bryan Wu1394f032007-05-06 14:50:22 -070073source "kernel/Kconfig.preempt"
74
Matt Helsleydc52ddc2008-10-18 20:27:21 -070075source "kernel/Kconfig.freezer"
76
Bryan Wu1394f032007-05-06 14:50:22 -070077menu "Blackfin Processor Options"
78
79comment "Processor and Board Settings"
80
81choice
82 prompt "CPU"
83 default BF533
84
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080085config BF512
86 bool "BF512"
87 help
88 BF512 Processor Support.
89
90config BF514
91 bool "BF514"
92 help
93 BF514 Processor Support.
94
95config BF516
96 bool "BF516"
97 help
98 BF516 Processor Support.
99
100config BF518
101 bool "BF518"
102 help
103 BF518 Processor Support.
104
Michael Hennerich59003142007-10-21 16:54:27 +0800105config BF522
106 bool "BF522"
107 help
108 BF522 Processor Support.
109
Mike Frysinger1545a112007-12-24 16:54:48 +0800110config BF523
111 bool "BF523"
112 help
113 BF523 Processor Support.
114
115config BF524
116 bool "BF524"
117 help
118 BF524 Processor Support.
119
Michael Hennerich59003142007-10-21 16:54:27 +0800120config BF525
121 bool "BF525"
122 help
123 BF525 Processor Support.
124
Mike Frysinger1545a112007-12-24 16:54:48 +0800125config BF526
126 bool "BF526"
127 help
128 BF526 Processor Support.
129
Michael Hennerich59003142007-10-21 16:54:27 +0800130config BF527
131 bool "BF527"
132 help
133 BF527 Processor Support.
134
Bryan Wu1394f032007-05-06 14:50:22 -0700135config BF531
136 bool "BF531"
137 help
138 BF531 Processor Support.
139
140config BF532
141 bool "BF532"
142 help
143 BF532 Processor Support.
144
145config BF533
146 bool "BF533"
147 help
148 BF533 Processor Support.
149
150config BF534
151 bool "BF534"
152 help
153 BF534 Processor Support.
154
155config BF536
156 bool "BF536"
157 help
158 BF536 Processor Support.
159
160config BF537
161 bool "BF537"
162 help
163 BF537 Processor Support.
164
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800165config BF538
166 bool "BF538"
167 help
168 BF538 Processor Support.
169
170config BF539
171 bool "BF539"
172 help
173 BF539 Processor Support.
174
Mike Frysinger5df326a2009-11-16 23:49:41 +0000175config BF542_std
Roy Huang24a07a12007-07-12 22:41:45 +0800176 bool "BF542"
177 help
178 BF542 Processor Support.
179
Mike Frysinger2f89c062009-02-04 16:49:45 +0800180config BF542M
181 bool "BF542m"
182 help
183 BF542 Processor Support.
184
Mike Frysinger5df326a2009-11-16 23:49:41 +0000185config BF544_std
Roy Huang24a07a12007-07-12 22:41:45 +0800186 bool "BF544"
187 help
188 BF544 Processor Support.
189
Mike Frysinger2f89c062009-02-04 16:49:45 +0800190config BF544M
191 bool "BF544m"
192 help
193 BF544 Processor Support.
194
Mike Frysinger5df326a2009-11-16 23:49:41 +0000195config BF547_std
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800196 bool "BF547"
197 help
198 BF547 Processor Support.
199
Mike Frysinger2f89c062009-02-04 16:49:45 +0800200config BF547M
201 bool "BF547m"
202 help
203 BF547 Processor Support.
204
Mike Frysinger5df326a2009-11-16 23:49:41 +0000205config BF548_std
Roy Huang24a07a12007-07-12 22:41:45 +0800206 bool "BF548"
207 help
208 BF548 Processor Support.
209
Mike Frysinger2f89c062009-02-04 16:49:45 +0800210config BF548M
211 bool "BF548m"
212 help
213 BF548 Processor Support.
214
Mike Frysinger5df326a2009-11-16 23:49:41 +0000215config BF549_std
Roy Huang24a07a12007-07-12 22:41:45 +0800216 bool "BF549"
217 help
218 BF549 Processor Support.
219
Mike Frysinger2f89c062009-02-04 16:49:45 +0800220config BF549M
221 bool "BF549m"
222 help
223 BF549 Processor Support.
224
Bryan Wu1394f032007-05-06 14:50:22 -0700225config BF561
226 bool "BF561"
227 help
Mike Frysingercd88b4d2008-10-09 12:03:22 +0800228 BF561 Processor Support.
Bryan Wu1394f032007-05-06 14:50:22 -0700229
230endchoice
231
Graf Yang46fa5ee2009-01-07 23:14:39 +0800232config SMP
233 depends on BF561
Yi Li0d152c22009-12-28 10:21:49 +0000234 select TICKSOURCE_CORETMR
Graf Yang46fa5ee2009-01-07 23:14:39 +0800235 bool "Symmetric multi-processing support"
236 ---help---
237 This enables support for systems with more than one CPU,
238 like the dual core BF561. If you have a system with only one
239 CPU, say N. If you have a system with more than one CPU, say Y.
240
241 If you don't know what to do here, say N.
242
243config NR_CPUS
244 int
245 depends on SMP
246 default 2 if BF561
247
Graf Yang0b39db22009-12-28 11:13:51 +0000248config HOTPLUG_CPU
249 bool "Support for hot-pluggable CPUs"
250 depends on SMP && HOTPLUG
251 default y
252
Graf Yangead9b112009-12-14 08:01:08 +0000253config HAVE_LEGACY_PER_CPU_AREA
254 def_bool y
255 depends on SMP
256
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800257config BF_REV_MIN
258 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800259 default 0 if (BF51x || BF52x || (BF54x && !BF54xM))
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800260 default 2 if (BF537 || BF536 || BF534)
Mike Frysinger2f89c062009-02-04 16:49:45 +0800261 default 3 if (BF561 || BF533 || BF532 || BF531 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800262 default 4 if (BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800263
264config BF_REV_MAX
265 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800266 default 2 if (BF51x || BF52x || (BF54x && !BF54xM))
267 default 3 if (BF537 || BF536 || BF534 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800268 default 5 if (BF561 || BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800269 default 6 if (BF533 || BF532 || BF531)
270
Bryan Wu1394f032007-05-06 14:50:22 -0700271choice
272 prompt "Silicon Rev"
Mike Frysingerf8b55652009-04-13 21:58:34 +0000273 default BF_REV_0_0 if (BF51x || BF52x)
274 default BF_REV_0_2 if (BF534 || BF536 || BF537 || (BF54x && !BF54xM))
Mike Frysinger2f89c062009-02-04 16:49:45 +0800275 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF54xM || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800276
277config BF_REV_0_0
278 bool "0.0"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800279 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Michael Hennerich59003142007-10-21 16:54:27 +0800280
281config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800282 bool "0.1"
Mike Frysinger3d15f302009-06-15 16:21:44 +0000283 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700284
285config BF_REV_0_2
286 bool "0.2"
Mike Frysinger8060bb62010-08-16 16:18:12 +0000287 depends on (BF51x || BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700288
289config BF_REV_0_3
290 bool "0.3"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800291 depends on (BF54xM || BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
Bryan Wu1394f032007-05-06 14:50:22 -0700292
293config BF_REV_0_4
294 bool "0.4"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800295 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700296
297config BF_REV_0_5
298 bool "0.5"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800299 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700300
Mike Frysinger49f72532008-10-09 12:06:27 +0800301config BF_REV_0_6
302 bool "0.6"
303 depends on (BF533 || BF532 || BF531)
304
Jie Zhangde3025f2007-06-25 18:04:12 +0800305config BF_REV_ANY
306 bool "any"
307
308config BF_REV_NONE
309 bool "none"
310
Bryan Wu1394f032007-05-06 14:50:22 -0700311endchoice
312
Roy Huang24a07a12007-07-12 22:41:45 +0800313config BF53x
314 bool
315 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
316 default y
317
Bryan Wu1394f032007-05-06 14:50:22 -0700318config MEM_MT48LC64M4A2FB_7E
319 bool
320 depends on (BFIN533_STAMP)
321 default y
322
323config MEM_MT48LC16M16A2TG_75
324 bool
325 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000326 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM_E \
327 || BFIN537_BLUETECHNIX_CM_U || H8606_HVSISTEMAS \
328 || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700329 default y
330
331config MEM_MT48LC32M8A2_75
332 bool
Mike Frysinger084f9eb2010-05-20 04:26:54 +0000333 depends on (BFIN518F_EZBRD || BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700334 default y
335
336config MEM_MT48LC8M32B2B5_7
337 bool
338 depends on (BFIN561_BLUETECHNIX_CM)
339 default y
340
Michael Hennerich59003142007-10-21 16:54:27 +0800341config MEM_MT48LC32M16A2TG_75
342 bool
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000343 depends on (BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN532_IP0X || BLACKSTAMP || BFIN527_AD7160EVAL)
Michael Hennerich59003142007-10-21 16:54:27 +0800344 default y
345
Graf Yangee48efb2009-06-18 04:32:04 +0000346config MEM_MT48H32M16LFCJ_75
347 bool
348 depends on (BFIN526_EZBRD)
349 default y
350
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800351source "arch/blackfin/mach-bf518/Kconfig"
Michael Hennerich59003142007-10-21 16:54:27 +0800352source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700353source "arch/blackfin/mach-bf533/Kconfig"
354source "arch/blackfin/mach-bf561/Kconfig"
355source "arch/blackfin/mach-bf537/Kconfig"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800356source "arch/blackfin/mach-bf538/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800357source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700358
359menu "Board customizations"
360
361config CMDLINE_BOOL
362 bool "Default bootloader kernel arguments"
363
364config CMDLINE
365 string "Initial kernel command string"
366 depends on CMDLINE_BOOL
367 default "console=ttyBF0,57600"
368 help
369 If you don't have a boot loader capable of passing a command line string
370 to the kernel, you may specify one here. As a minimum, you should specify
371 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
372
Mike Frysinger5f004c22008-04-25 02:11:24 +0800373config BOOT_LOAD
374 hex "Kernel load address for booting"
375 default "0x1000"
376 range 0x1000 0x20000000
377 help
378 This option allows you to set the load address of the kernel.
379 This can be useful if you are on a board which has a small amount
380 of memory or you wish to reserve some memory at the beginning of
381 the address space.
382
383 Note that you need to keep this value above 4k (0x1000) as this
384 memory region is used to capture NULL pointer references as well
385 as some core kernel functions.
386
Michael Hennerich8cc71172008-10-13 14:45:06 +0800387config ROM_BASE
388 hex "Kernel ROM Base"
Mike Frysinger86249912008-11-18 17:48:22 +0800389 depends on ROMKERNEL
Barry Songd86bfb12010-01-07 04:11:17 +0000390 default "0x20040040"
Michael Hennerich8cc71172008-10-13 14:45:06 +0800391 range 0x20000000 0x20400000 if !(BF54x || BF561)
392 range 0x20000000 0x30000000 if (BF54x || BF561)
393 help
Barry Songd86bfb12010-01-07 04:11:17 +0000394 Make sure your ROM base does not include any file-header
395 information that is prepended to the kernel.
396
397 For example, the bootable U-Boot format (created with
398 mkimage) has a 64 byte header (0x40). So while the image
399 you write to flash might start at say 0x20080000, you have
400 to add 0x40 to get the kernel's ROM base as it will come
401 after the header.
Michael Hennerich8cc71172008-10-13 14:45:06 +0800402
Robin Getzf16295e2007-08-03 18:07:17 +0800403comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700404
405config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800406 int "Frequency of the crystal on the board in Hz"
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800407 default "10000000" if BFIN532_IP0X
Mike Frysingerd0cb9b42009-06-11 21:52:35 +0000408 default "11059200" if BFIN533_STAMP
409 default "24576000" if PNAV10
410 default "25000000" # most people use this
411 default "27000000" if BFIN533_EZKIT
412 default "30000000" if BFIN561_EZKIT
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000413 default "24000000" if BFIN527_AD7160EVAL
Bryan Wu1394f032007-05-06 14:50:22 -0700414 help
415 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800416 Warning: This value should match the crystal on the board. Otherwise,
417 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700418
Robin Getzf16295e2007-08-03 18:07:17 +0800419config BFIN_KERNEL_CLOCK
420 bool "Re-program Clocks while Kernel boots?"
421 default n
422 help
423 This option decides if kernel clocks are re-programed from the
424 bootloader settings. If the clocks are not set, the SDRAM settings
425 are also not changed, and the Bootloader does 100% of the hardware
426 configuration.
427
428config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800429 bool "Bypass PLL"
430 depends on BFIN_KERNEL_CLOCK
431 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800432
433config CLKIN_HALF
434 bool "Half Clock In"
435 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
436 default n
437 help
438 If this is set the clock will be divided by 2, before it goes to the PLL.
439
440config VCO_MULT
441 int "VCO Multiplier"
442 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
443 range 1 64
444 default "22" if BFIN533_EZKIT
445 default "45" if BFIN533_STAMP
Michael Hennerich6924dfb2009-12-07 13:41:28 +0000446 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800447 default "22" if BFIN533_BLUETECHNIX_CM
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000448 default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800449 default "20" if BFIN561_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800450 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000451 default "25" if BFIN527_AD7160EVAL
Robin Getzf16295e2007-08-03 18:07:17 +0800452 help
453 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
454 PLL Frequency = (Crystal Frequency) * (this setting)
455
456choice
457 prompt "Core Clock Divider"
458 depends on BFIN_KERNEL_CLOCK
459 default CCLK_DIV_1
460 help
461 This sets the frequency of the core. It can be 1, 2, 4 or 8
462 Core Frequency = (PLL frequency) / (this setting)
463
464config CCLK_DIV_1
465 bool "1"
466
467config CCLK_DIV_2
468 bool "2"
469
470config CCLK_DIV_4
471 bool "4"
472
473config CCLK_DIV_8
474 bool "8"
475endchoice
476
477config SCLK_DIV
478 int "System Clock Divider"
479 depends on BFIN_KERNEL_CLOCK
480 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800481 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800482 help
483 This sets the frequency of the system clock (including SDRAM or DDR).
484 This can be between 1 and 15
485 System Clock = (PLL frequency) / (this setting)
486
Mike Frysinger5f004c22008-04-25 02:11:24 +0800487choice
488 prompt "DDR SDRAM Chip Type"
489 depends on BFIN_KERNEL_CLOCK
490 depends on BF54x
491 default MEM_MT46V32M16_5B
492
493config MEM_MT46V32M16_6T
494 bool "MT46V32M16_6T"
495
496config MEM_MT46V32M16_5B
497 bool "MT46V32M16_5B"
498endchoice
499
Michael Hennerich73feb5c2009-01-07 23:14:39 +0800500choice
501 prompt "DDR/SDRAM Timing"
502 depends on BFIN_KERNEL_CLOCK
503 default BFIN_KERNEL_CLOCK_MEMINIT_CALC
504 help
505 This option allows you to specify Blackfin SDRAM/DDR Timing parameters
506 The calculated SDRAM timing parameters may not be 100%
507 accurate - This option is therefore marked experimental.
508
509config BFIN_KERNEL_CLOCK_MEMINIT_CALC
510 bool "Calculate Timings (EXPERIMENTAL)"
511 depends on EXPERIMENTAL
512
513config BFIN_KERNEL_CLOCK_MEMINIT_SPEC
514 bool "Provide accurate Timings based on target SCLK"
515 help
516 Please consult the Blackfin Hardware Reference Manuals as well
517 as the memory device datasheet.
518 http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram
519endchoice
520
521menu "Memory Init Control"
522 depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC
523
524config MEM_DDRCTL0
525 depends on BF54x
526 hex "DDRCTL0"
527 default 0x0
528
529config MEM_DDRCTL1
530 depends on BF54x
531 hex "DDRCTL1"
532 default 0x0
533
534config MEM_DDRCTL2
535 depends on BF54x
536 hex "DDRCTL2"
537 default 0x0
538
539config MEM_EBIU_DDRQUE
540 depends on BF54x
541 hex "DDRQUE"
542 default 0x0
543
544config MEM_SDRRC
545 depends on !BF54x
546 hex "SDRRC"
547 default 0x0
548
549config MEM_SDGCTL
550 depends on !BF54x
551 hex "SDGCTL"
552 default 0x0
553endmenu
554
Robin Getzf16295e2007-08-03 18:07:17 +0800555#
556# Max & Min Speeds for various Chips
557#
558config MAX_VCO_HZ
559 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800560 default 400000000 if BF512
561 default 400000000 if BF514
562 default 400000000 if BF516
563 default 400000000 if BF518
Mike Frysinger7b062632009-08-11 21:27:09 +0000564 default 400000000 if BF522
565 default 600000000 if BF523
Mike Frysinger1545a112007-12-24 16:54:48 +0800566 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800567 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800568 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800569 default 600000000 if BF527
570 default 400000000 if BF531
571 default 400000000 if BF532
572 default 750000000 if BF533
573 default 500000000 if BF534
574 default 400000000 if BF536
575 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800576 default 533333333 if BF538
577 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800578 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800579 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800580 default 600000000 if BF547
581 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800582 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800583 default 600000000 if BF561
584
585config MIN_VCO_HZ
586 int
587 default 50000000
588
589config MAX_SCLK_HZ
590 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800591 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800592
593config MIN_SCLK_HZ
594 int
595 default 27000000
596
597comment "Kernel Timer/Scheduler"
598
599source kernel/Kconfig.hz
600
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800601config GENERIC_CLOCKEVENTS
602 bool "Generic clock events"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800603 default y
604
Yi Li0d152c22009-12-28 10:21:49 +0000605menu "Clock event device"
Graf Yang1fa9be72009-05-15 11:01:59 +0000606 depends on GENERIC_CLOCKEVENTS
Graf Yang1fa9be72009-05-15 11:01:59 +0000607config TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000608 bool "GPTimer0"
609 depends on !SMP
Graf Yang1fa9be72009-05-15 11:01:59 +0000610 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000611
612config TICKSOURCE_CORETMR
Yi Li0d152c22009-12-28 10:21:49 +0000613 bool "Core timer"
614 default y
615endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000616
Yi Li0d152c22009-12-28 10:21:49 +0000617menu "Clock souce"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800618 depends on GENERIC_CLOCKEVENTS
Yi Li0d152c22009-12-28 10:21:49 +0000619config CYCLES_CLOCKSOURCE
620 bool "CYCLES"
621 default y
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800622 depends on !BFIN_SCRATCH_REG_CYCLES
Graf Yang1fa9be72009-05-15 11:01:59 +0000623 depends on !SMP
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800624 help
625 If you say Y here, you will enable support for using the 'cycles'
626 registers as a clock source. Doing so means you will be unable to
627 safely write to the 'cycles' register during runtime. You will
628 still be able to read it (such as for performance monitoring), but
629 writing the registers will most likely crash the kernel.
630
Graf Yang1fa9be72009-05-15 11:01:59 +0000631config GPTMR0_CLOCKSOURCE
Yi Li0d152c22009-12-28 10:21:49 +0000632 bool "GPTimer0"
Mike Frysinger3aca47c2009-06-18 19:40:47 +0000633 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000634 depends on !TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000635endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000636
john stultz10f03f12009-09-15 21:17:19 -0700637config ARCH_USES_GETTIMEOFFSET
638 depends on !GENERIC_CLOCKEVENTS
639 def_bool y
640
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800641source kernel/time/Kconfig
642
Mike Frysinger5f004c22008-04-25 02:11:24 +0800643comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800644
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800645choice
646 prompt "Blackfin Exception Scratch Register"
647 default BFIN_SCRATCH_REG_RETN
648 help
649 Select the resource to reserve for the Exception handler:
650 - RETN: Non-Maskable Interrupt (NMI)
651 - RETE: Exception Return (JTAG/ICE)
652 - CYCLES: Performance counter
653
654 If you are unsure, please select "RETN".
655
656config BFIN_SCRATCH_REG_RETN
657 bool "RETN"
658 help
659 Use the RETN register in the Blackfin exception handler
660 as a stack scratch register. This means you cannot
661 safely use NMI on the Blackfin while running Linux, but
662 you can debug the system with a JTAG ICE and use the
663 CYCLES performance registers.
664
665 If you are unsure, please select "RETN".
666
667config BFIN_SCRATCH_REG_RETE
668 bool "RETE"
669 help
670 Use the RETE register in the Blackfin exception handler
671 as a stack scratch register. This means you cannot
672 safely use a JTAG ICE while debugging a Blackfin board,
673 but you can safely use the CYCLES performance registers
674 and the NMI.
675
676 If you are unsure, please select "RETN".
677
678config BFIN_SCRATCH_REG_CYCLES
679 bool "CYCLES"
680 help
681 Use the CYCLES register in the Blackfin exception handler
682 as a stack scratch register. This means you cannot
683 safely use the CYCLES performance registers on a Blackfin
684 board at anytime, but you can debug the system with a JTAG
685 ICE and use the NMI.
686
687 If you are unsure, please select "RETN".
688
689endchoice
690
Bryan Wu1394f032007-05-06 14:50:22 -0700691endmenu
692
693
694menu "Blackfin Kernel Optimizations"
695
Bryan Wu1394f032007-05-06 14:50:22 -0700696comment "Memory Optimizations"
697
698config I_ENTRY_L1
699 bool "Locate interrupt entry code in L1 Memory"
700 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500701 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700702 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200703 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
704 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700705
706config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200707 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700708 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500709 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700710 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200711 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800712 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200713 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700714
715config DO_IRQ_L1
716 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
717 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500718 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700719 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200720 If enabled, the frequently called do_irq dispatcher function is linked
721 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700722
723config CORE_TIMER_IRQ_L1
724 bool "Locate frequently called timer_interrupt() function in L1 Memory"
725 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500726 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700727 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200728 If enabled, the frequently called timer_interrupt() function is linked
729 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700730
731config IDLE_L1
732 bool "Locate frequently idle function in L1 Memory"
733 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500734 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700735 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200736 If enabled, the frequently called idle function is linked
737 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700738
739config SCHEDULE_L1
740 bool "Locate kernel schedule function in L1 Memory"
741 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500742 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700743 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200744 If enabled, the frequently called kernel schedule is linked
745 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700746
747config ARITHMETIC_OPS_L1
748 bool "Locate kernel owned arithmetic functions in L1 Memory"
749 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500750 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700751 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200752 If enabled, arithmetic functions are linked
753 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700754
755config ACCESS_OK_L1
756 bool "Locate access_ok function in L1 Memory"
757 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500758 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700759 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200760 If enabled, the access_ok function is linked
761 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700762
763config MEMSET_L1
764 bool "Locate memset function in L1 Memory"
765 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500766 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700767 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200768 If enabled, the memset function is linked
769 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700770
771config MEMCPY_L1
772 bool "Locate memcpy function in L1 Memory"
773 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500774 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700775 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200776 If enabled, the memcpy function is linked
777 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700778
Robin Getz479ba602010-05-03 17:23:20 +0000779config STRCMP_L1
780 bool "locate strcmp function in L1 Memory"
781 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500782 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000783 help
784 If enabled, the strcmp function is linked
785 into L1 instruction memory (less latency).
786
787config STRNCMP_L1
788 bool "locate strncmp function in L1 Memory"
789 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500790 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000791 help
792 If enabled, the strncmp function is linked
793 into L1 instruction memory (less latency).
794
795config STRCPY_L1
796 bool "locate strcpy function in L1 Memory"
797 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500798 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000799 help
800 If enabled, the strcpy function is linked
801 into L1 instruction memory (less latency).
802
803config STRNCPY_L1
804 bool "locate strncpy function in L1 Memory"
805 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500806 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000807 help
808 If enabled, the strncpy function is linked
809 into L1 instruction memory (less latency).
810
Bryan Wu1394f032007-05-06 14:50:22 -0700811config SYS_BFIN_SPINLOCK_L1
812 bool "Locate sys_bfin_spinlock function in L1 Memory"
813 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500814 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700815 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200816 If enabled, sys_bfin_spinlock function is linked
817 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700818
819config IP_CHECKSUM_L1
820 bool "Locate IP Checksum function in L1 Memory"
821 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500822 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700823 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200824 If enabled, the IP Checksum function is linked
825 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700826
827config CACHELINE_ALIGNED_L1
828 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800829 default y if !BF54x
830 default n if BF54x
Mike Frysinger820b1272011-02-02 22:31:42 -0500831 depends on !SMP && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700832 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100833 If enabled, cacheline_aligned data is linked
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200834 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700835
836config SYSCALL_TAB_L1
837 bool "Locate Syscall Table L1 Data Memory"
838 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500839 depends on !SMP && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700840 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200841 If enabled, the Syscall LUT is linked
842 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700843
844config CPLB_SWITCH_TAB_L1
845 bool "Locate CPLB Switch Tables L1 Data Memory"
846 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500847 depends on !SMP && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700848 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200849 If enabled, the CPLB Switch Tables are linked
850 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700851
Mike Frysinger820b1272011-02-02 22:31:42 -0500852config ICACHE_FLUSH_L1
853 bool "Locate icache flush funcs in L1 Inst Memory"
Mike Frysinger74181292010-05-27 22:46:46 +0000854 default y
855 help
Mike Frysinger820b1272011-02-02 22:31:42 -0500856 If enabled, the Blackfin icache flushing functions are linked
Mike Frysinger74181292010-05-27 22:46:46 +0000857 into L1 instruction memory.
858
859 Note that this might be required to address anomalies, but
860 these functions are pretty small, so it shouldn't be too bad.
861 If you are using a processor affected by an anomaly, the build
862 system will double check for you and prevent it.
863
Mike Frysinger820b1272011-02-02 22:31:42 -0500864config DCACHE_FLUSH_L1
865 bool "Locate dcache flush funcs in L1 Inst Memory"
866 default y
867 depends on !SMP
868 help
869 If enabled, the Blackfin dcache flushing functions are linked
870 into L1 instruction memory.
871
Graf Yangca87b7a2008-10-08 17:30:01 +0800872config APP_STACK_L1
873 bool "Support locating application stack in L1 Scratch Memory"
874 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500875 depends on !SMP
Graf Yangca87b7a2008-10-08 17:30:01 +0800876 help
877 If enabled the application stack can be located in L1
878 scratch memory (less latency).
879
880 Currently only works with FLAT binaries.
881
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800882config EXCEPTION_L1_SCRATCH
883 bool "Locate exception stack in L1 Scratch Memory"
884 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500885 depends on !SMP && !APP_STACK_L1
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800886 help
887 Whenever an exception occurs, use the L1 Scratch memory for
888 stack storage. You cannot place the stacks of FLAT binaries
889 in L1 when using this option.
890
891 If you don't use L1 Scratch, then you should say Y here.
892
Robin Getz251383c2008-08-14 15:12:55 +0800893comment "Speed Optimizations"
894config BFIN_INS_LOWOVERHEAD
895 bool "ins[bwl] low overhead, higher interrupt latency"
896 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500897 depends on !SMP
Robin Getz251383c2008-08-14 15:12:55 +0800898 help
899 Reads on the Blackfin are speculative. In Blackfin terms, this means
900 they can be interrupted at any time (even after they have been issued
901 on to the external bus), and re-issued after the interrupt occurs.
902 For memory - this is not a big deal, since memory does not change if
903 it sees a read.
904
905 If a FIFO is sitting on the end of the read, it will see two reads,
906 when the core only sees one since the FIFO receives both the read
907 which is cancelled (and not delivered to the core) and the one which
908 is re-issued (which is delivered to the core).
909
910 To solve this, interrupts are turned off before reads occur to
911 I/O space. This option controls which the overhead/latency of
912 controlling interrupts during this time
913 "n" turns interrupts off every read
914 (higher overhead, but lower interrupt latency)
915 "y" turns interrupts off every loop
916 (low overhead, but longer interrupt latency)
917
918 default behavior is to leave this set to on (type "Y"). If you are experiencing
919 interrupt latency issues, it is safe and OK to turn this off.
920
Bryan Wu1394f032007-05-06 14:50:22 -0700921endmenu
922
Bryan Wu1394f032007-05-06 14:50:22 -0700923choice
924 prompt "Kernel executes from"
925 help
926 Choose the memory type that the kernel will be running in.
927
928config RAMKERNEL
929 bool "RAM"
930 help
931 The kernel will be resident in RAM when running.
932
933config ROMKERNEL
934 bool "ROM"
935 help
936 The kernel will be resident in FLASH/ROM when running.
937
938endchoice
939
Mike Frysinger56b4f072010-10-16 19:46:21 -0400940# Common code uses "ROMKERNEL" or "XIP_KERNEL", so define both
941config XIP_KERNEL
942 bool
943 default y
944 depends on ROMKERNEL
945
Bryan Wu1394f032007-05-06 14:50:22 -0700946source "mm/Kconfig"
947
Mike Frysinger780431e2007-10-21 23:37:54 +0800948config BFIN_GPTIMERS
949 tristate "Enable Blackfin General Purpose Timers API"
950 default n
951 help
952 Enable support for the General Purpose Timers API. If you
953 are unsure, say N.
954
955 To compile this driver as a module, choose M here: the module
Pavel Machek4737f092009-06-05 00:44:53 +0200956 will be called gptimers.
Mike Frysinger780431e2007-10-21 23:37:54 +0800957
Bryan Wu1394f032007-05-06 14:50:22 -0700958choice
Mike Frysingerd292b002008-10-28 11:15:36 +0800959 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700960 default DMA_UNCACHED_1M
Cliff Cai86ad7932008-05-17 16:36:52 +0800961config DMA_UNCACHED_4M
962 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700963config DMA_UNCACHED_2M
964 bool "Enable 2M DMA region"
965config DMA_UNCACHED_1M
966 bool "Enable 1M DMA region"
Barry Songc45c0652009-12-02 09:13:36 +0000967config DMA_UNCACHED_512K
968 bool "Enable 512K DMA region"
969config DMA_UNCACHED_256K
970 bool "Enable 256K DMA region"
971config DMA_UNCACHED_128K
972 bool "Enable 128K DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700973config DMA_UNCACHED_NONE
974 bool "Disable DMA region"
975endchoice
976
977
978comment "Cache Support"
Jie Zhang41ba6532009-06-16 09:48:33 +0000979
Robin Getz3bebca22007-10-10 23:55:26 +0800980config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700981 bool "Enable ICACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000982 default y
Jie Zhang41ba6532009-06-16 09:48:33 +0000983config BFIN_EXTMEM_ICACHEABLE
984 bool "Enable ICACHE for external memory"
985 depends on BFIN_ICACHE
986 default y
987config BFIN_L2_ICACHEABLE
988 bool "Enable ICACHE for L2 SRAM"
989 depends on BFIN_ICACHE
990 depends on BF54x || BF561
991 default n
992
Robin Getz3bebca22007-10-10 23:55:26 +0800993config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700994 bool "Enable DCACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000995 default y
Robin Getz3bebca22007-10-10 23:55:26 +0800996config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700997 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800998 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700999 default n
Jie Zhang41ba6532009-06-16 09:48:33 +00001000config BFIN_EXTMEM_DCACHEABLE
1001 bool "Enable DCACHE for external memory"
Robin Getz3bebca22007-10-10 23:55:26 +08001002 depends on BFIN_DCACHE
Jie Zhang41ba6532009-06-16 09:48:33 +00001003 default y
Graf Yang5ba76672009-05-07 04:09:15 +00001004choice
Jie Zhang41ba6532009-06-16 09:48:33 +00001005 prompt "External memory DCACHE policy"
1006 depends on BFIN_EXTMEM_DCACHEABLE
1007 default BFIN_EXTMEM_WRITEBACK if !SMP
1008 default BFIN_EXTMEM_WRITETHROUGH if SMP
1009config BFIN_EXTMEM_WRITEBACK
Graf Yang5ba76672009-05-07 04:09:15 +00001010 bool "Write back"
1011 depends on !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001012 help
1013 Write Back Policy:
1014 Cached data will be written back to SDRAM only when needed.
1015 This can give a nice increase in performance, but beware of
1016 broken drivers that do not properly invalidate/flush their
1017 cache.
Graf Yang5ba76672009-05-07 04:09:15 +00001018
Jie Zhang41ba6532009-06-16 09:48:33 +00001019 Write Through Policy:
1020 Cached data will always be written back to SDRAM when the
1021 cache is updated. This is a completely safe setting, but
1022 performance is worse than Write Back.
1023
1024 If you are unsure of the options and you want to be safe,
1025 then go with Write Through.
1026
1027config BFIN_EXTMEM_WRITETHROUGH
Graf Yang5ba76672009-05-07 04:09:15 +00001028 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001029 help
1030 Write Back Policy:
1031 Cached data will be written back to SDRAM only when needed.
1032 This can give a nice increase in performance, but beware of
1033 broken drivers that do not properly invalidate/flush their
1034 cache.
Graf Yang5ba76672009-05-07 04:09:15 +00001035
Jie Zhang41ba6532009-06-16 09:48:33 +00001036 Write Through Policy:
1037 Cached data will always be written back to SDRAM when the
1038 cache is updated. This is a completely safe setting, but
1039 performance is worse than Write Back.
1040
1041 If you are unsure of the options and you want to be safe,
1042 then go with Write Through.
Graf Yang5ba76672009-05-07 04:09:15 +00001043
1044endchoice
Sonic Zhangf099f392008-10-09 14:11:57 +08001045
Jie Zhang41ba6532009-06-16 09:48:33 +00001046config BFIN_L2_DCACHEABLE
1047 bool "Enable DCACHE for L2 SRAM"
1048 depends on BFIN_DCACHE
Sonic Zhang9c954f82009-06-30 09:48:03 +00001049 depends on (BF54x || BF561) && !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001050 default n
1051choice
1052 prompt "L2 SRAM DCACHE policy"
1053 depends on BFIN_L2_DCACHEABLE
1054 default BFIN_L2_WRITEBACK
1055config BFIN_L2_WRITEBACK
1056 bool "Write back"
Jie Zhang41ba6532009-06-16 09:48:33 +00001057
1058config BFIN_L2_WRITETHROUGH
1059 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001060endchoice
1061
1062
1063comment "Memory Protection Unit"
Bernd Schmidtb97b8a92008-01-27 18:39:16 +08001064config MPU
1065 bool "Enable the memory protection unit (EXPERIMENTAL)"
1066 default n
1067 help
1068 Use the processor's MPU to protect applications from accessing
1069 memory they do not own. This comes at a performance penalty
1070 and is recommended only for debugging.
1071
Matt LaPlante692105b2009-01-26 11:12:25 +01001072comment "Asynchronous Memory Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -07001073
Mike Frysingerddf416b2007-10-10 18:06:47 +08001074menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -07001075config C_AMCKEN
1076 bool "Enable CLKOUT"
1077 default y
1078
1079config C_CDPRIO
1080 bool "DMA has priority over core for ext. accesses"
1081 default n
1082
1083config C_B0PEN
1084 depends on BF561
1085 bool "Bank 0 16 bit packing enable"
1086 default y
1087
1088config C_B1PEN
1089 depends on BF561
1090 bool "Bank 1 16 bit packing enable"
1091 default y
1092
1093config C_B2PEN
1094 depends on BF561
1095 bool "Bank 2 16 bit packing enable"
1096 default y
1097
1098config C_B3PEN
1099 depends on BF561
1100 bool "Bank 3 16 bit packing enable"
1101 default n
1102
1103choice
Matt LaPlante692105b2009-01-26 11:12:25 +01001104 prompt "Enable Asynchronous Memory Banks"
Bryan Wu1394f032007-05-06 14:50:22 -07001105 default C_AMBEN_ALL
1106
1107config C_AMBEN
1108 bool "Disable All Banks"
1109
1110config C_AMBEN_B0
1111 bool "Enable Bank 0"
1112
1113config C_AMBEN_B0_B1
1114 bool "Enable Bank 0 & 1"
1115
1116config C_AMBEN_B0_B1_B2
1117 bool "Enable Bank 0 & 1 & 2"
1118
1119config C_AMBEN_ALL
1120 bool "Enable All Banks"
1121endchoice
1122endmenu
1123
1124menu "EBIU_AMBCTL Control"
1125config BANK_0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001126 hex "Bank 0 (AMBCTL0.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001127 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001128 help
1129 These are the low 16 bits of the EBIU_AMBCTL0 MMR which are
1130 used to control the Asynchronous Memory Bank 0 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001131
1132config BANK_1
Mike Frysingerc8342f82009-03-31 00:18:35 +00001133 hex "Bank 1 (AMBCTL0.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001134 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +08001135 default 0x5558 if BF54x
Mike Frysingerc8342f82009-03-31 00:18:35 +00001136 help
1137 These are the high 16 bits of the EBIU_AMBCTL0 MMR which are
1138 used to control the Asynchronous Memory Bank 1 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001139
1140config BANK_2
Mike Frysingerc8342f82009-03-31 00:18:35 +00001141 hex "Bank 2 (AMBCTL1.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001142 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001143 help
1144 These are the low 16 bits of the EBIU_AMBCTL1 MMR which are
1145 used to control the Asynchronous Memory Bank 2 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001146
1147config BANK_3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001148 hex "Bank 3 (AMBCTL1.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001149 default 0x99B3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001150 help
1151 These are the high 16 bits of the EBIU_AMBCTL1 MMR which are
1152 used to control the Asynchronous Memory Bank 3 settings.
1153
Bryan Wu1394f032007-05-06 14:50:22 -07001154endmenu
1155
Sonic Zhange40540b2007-11-21 23:49:52 +08001156config EBIU_MBSCTLVAL
1157 hex "EBIU Bank Select Control Register"
1158 depends on BF54x
1159 default 0
1160
1161config EBIU_MODEVAL
1162 hex "Flash Memory Mode Control Register"
1163 depends on BF54x
1164 default 1
1165
1166config EBIU_FCTLVAL
1167 hex "Flash Memory Bank Control Register"
1168 depends on BF54x
1169 default 6
Bryan Wu1394f032007-05-06 14:50:22 -07001170endmenu
1171
1172#############################################################################
1173menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1174
1175config PCI
1176 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +08001177 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -07001178 help
1179 Support for PCI bus.
1180
1181source "drivers/pci/Kconfig"
1182
Bryan Wu1394f032007-05-06 14:50:22 -07001183source "drivers/pcmcia/Kconfig"
1184
1185source "drivers/pci/hotplug/Kconfig"
1186
1187endmenu
1188
1189menu "Executable file formats"
1190
1191source "fs/Kconfig.binfmt"
1192
1193endmenu
1194
1195menu "Power management options"
Graf Yangad461632009-08-07 03:52:54 +00001196
Bryan Wu1394f032007-05-06 14:50:22 -07001197source "kernel/power/Kconfig"
1198
Johannes Bergf4cb5702007-12-08 02:14:00 +01001199config ARCH_SUSPEND_POSSIBLE
1200 def_bool y
Johannes Bergf4cb5702007-12-08 02:14:00 +01001201
Bryan Wu1394f032007-05-06 14:50:22 -07001202choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001203 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -07001204 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001205 default PM_BFIN_SLEEP_DEEPER
1206config PM_BFIN_SLEEP_DEEPER
1207 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001208 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001209 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1210 power dissipation by disabling the clock to the processor core (CCLK).
1211 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1212 to 0.85 V to provide the greatest power savings, while preserving the
1213 processor state.
1214 The PLL and system clock (SCLK) continue to operate at a very low
1215 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1216 the SDRAM is put into Self Refresh Mode. Typically an external event
1217 such as GPIO interrupt or RTC activity wakes up the processor.
1218 Various Peripherals such as UART, SPORT, PPI may not function as
1219 normal during Sleep Deeper, due to the reduced SCLK frequency.
1220 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001221
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001222 If unsure, select "Sleep Deeper".
1223
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001224config PM_BFIN_SLEEP
1225 bool "Sleep"
1226 help
1227 Sleep Mode (High Power Savings) - The sleep mode reduces power
1228 dissipation by disabling the clock to the processor core (CCLK).
1229 The PLL and system clock (SCLK), however, continue to operate in
1230 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001231 up the processor. When in the sleep mode, system DMA access to L1
1232 memory is not supported.
1233
1234 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001235endchoice
1236
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001237comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1238 depends on PM
1239
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001240config PM_BFIN_WAKE_PH6
1241 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001242 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001243 default n
1244 help
1245 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1246
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001247config PM_BFIN_WAKE_GP
1248 bool "Allow Wake-Up from GPIOs"
1249 depends on PM && BF54x
1250 default n
1251 help
1252 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Michael Hennerich19986282009-03-05 16:45:55 +08001253 (all processors, except ADSP-BF549). This option sets
1254 the general-purpose wake-up enable (GPWE) control bit to enable
1255 wake-up upon detection of an active low signal on the /GPW (PH7) pin.
1256 On ADSP-BF549 this option enables the the same functionality on the
1257 /MRXON pin also PH7.
1258
Bryan Wu1394f032007-05-06 14:50:22 -07001259endmenu
1260
Bryan Wu1394f032007-05-06 14:50:22 -07001261menu "CPU Frequency scaling"
1262
1263source "drivers/cpufreq/Kconfig"
1264
Michael Hennerich5ad2ca52008-11-18 17:48:22 +08001265config BFIN_CPU_FREQ
1266 bool
1267 depends on CPU_FREQ
1268 select CPU_FREQ_TABLE
1269 default y
1270
Michael Hennerich14b03202008-05-07 11:41:26 +08001271config CPU_VOLTAGE
1272 bool "CPU Voltage scaling"
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001273 depends on EXPERIMENTAL
Michael Hennerich14b03202008-05-07 11:41:26 +08001274 depends on CPU_FREQ
1275 default n
1276 help
1277 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1278 This option violates the PLL BYPASS recommendation in the Blackfin Processor
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001279 manuals. There is a theoretical risk that during VDDINT transitions
Michael Hennerich14b03202008-05-07 11:41:26 +08001280 the PLL may unlock.
1281
Bryan Wu1394f032007-05-06 14:50:22 -07001282endmenu
1283
Bryan Wu1394f032007-05-06 14:50:22 -07001284source "net/Kconfig"
1285
1286source "drivers/Kconfig"
1287
Mike Frysinger872d0242009-10-06 04:49:07 +00001288source "drivers/firmware/Kconfig"
1289
Bryan Wu1394f032007-05-06 14:50:22 -07001290source "fs/Kconfig"
1291
Mike Frysinger74ce8322007-11-21 23:50:49 +08001292source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001293
1294source "security/Kconfig"
1295
1296source "crypto/Kconfig"
1297
1298source "lib/Kconfig"