blob: bf3d80f9738bf5ab6afc4c771f267e59109188a3 [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
Mark Brown7563bbf2012-04-15 10:52:54 +010034 select ARCH_HAVE_CUSTOM_GPIO_H
Michael Hennericha4f0b32c2008-11-18 17:48:22 +080035 select ARCH_WANT_OPTIONAL_GPIOLIB
Thomas Gleixner7b028862011-01-19 20:29:58 +010036 select HAVE_GENERIC_HARDIRQS
Mike Frysingerbee18be2011-03-21 02:39:10 -040037 select GENERIC_ATOMIC64
Thomas Gleixner7b028862011-01-19 20:29:58 +010038 select GENERIC_IRQ_PROBE
39 select IRQ_PER_CPU if SMP
Cong Wangd314d742012-03-23 15:01:51 -070040 select HAVE_NMI_WATCHDOG if NMI_WATCHDOG
Bryan Wu1394f032007-05-06 14:50:22 -070041
Mike Frysingerddf9dda2009-06-13 07:42:58 -040042config GENERIC_CSUM
43 def_bool y
44
Mike Frysinger70f12562009-06-07 17:18:25 -040045config GENERIC_BUG
46 def_bool y
47 depends on BUG
48
Aubrey Lie3defff2007-05-21 18:09:11 +080049config ZONE_DMA
Mike Frysingerbac7d892009-06-07 03:46:06 -040050 def_bool y
Aubrey Lie3defff2007-05-21 18:09:11 +080051
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
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800253config BF_REV_MIN
254 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800255 default 0 if (BF51x || BF52x || (BF54x && !BF54xM))
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800256 default 2 if (BF537 || BF536 || BF534)
Mike Frysinger2f89c062009-02-04 16:49:45 +0800257 default 3 if (BF561 || BF533 || BF532 || BF531 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800258 default 4 if (BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800259
260config BF_REV_MAX
261 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800262 default 2 if (BF51x || BF52x || (BF54x && !BF54xM))
263 default 3 if (BF537 || BF536 || BF534 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800264 default 5 if (BF561 || BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800265 default 6 if (BF533 || BF532 || BF531)
266
Bryan Wu1394f032007-05-06 14:50:22 -0700267choice
268 prompt "Silicon Rev"
Mike Frysingerf8b55652009-04-13 21:58:34 +0000269 default BF_REV_0_0 if (BF51x || BF52x)
270 default BF_REV_0_2 if (BF534 || BF536 || BF537 || (BF54x && !BF54xM))
Mike Frysinger2f89c062009-02-04 16:49:45 +0800271 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF54xM || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800272
273config BF_REV_0_0
274 bool "0.0"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800275 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Michael Hennerich59003142007-10-21 16:54:27 +0800276
277config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800278 bool "0.1"
Mike Frysinger3d15f302009-06-15 16:21:44 +0000279 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700280
281config BF_REV_0_2
282 bool "0.2"
Mike Frysinger8060bb62010-08-16 16:18:12 +0000283 depends on (BF51x || BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700284
285config BF_REV_0_3
286 bool "0.3"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800287 depends on (BF54xM || BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
Bryan Wu1394f032007-05-06 14:50:22 -0700288
289config BF_REV_0_4
290 bool "0.4"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800291 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700292
293config BF_REV_0_5
294 bool "0.5"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800295 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700296
Mike Frysinger49f72532008-10-09 12:06:27 +0800297config BF_REV_0_6
298 bool "0.6"
299 depends on (BF533 || BF532 || BF531)
300
Jie Zhangde3025f2007-06-25 18:04:12 +0800301config BF_REV_ANY
302 bool "any"
303
304config BF_REV_NONE
305 bool "none"
306
Bryan Wu1394f032007-05-06 14:50:22 -0700307endchoice
308
Roy Huang24a07a12007-07-12 22:41:45 +0800309config BF53x
310 bool
311 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
312 default y
313
Bryan Wu1394f032007-05-06 14:50:22 -0700314config MEM_MT48LC64M4A2FB_7E
315 bool
316 depends on (BFIN533_STAMP)
317 default y
318
319config MEM_MT48LC16M16A2TG_75
320 bool
321 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000322 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM_E \
323 || BFIN537_BLUETECHNIX_CM_U || H8606_HVSISTEMAS \
324 || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700325 default y
326
327config MEM_MT48LC32M8A2_75
328 bool
Mike Frysinger084f9eb2010-05-20 04:26:54 +0000329 depends on (BFIN518F_EZBRD || BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700330 default y
331
332config MEM_MT48LC8M32B2B5_7
333 bool
334 depends on (BFIN561_BLUETECHNIX_CM)
335 default y
336
Michael Hennerich59003142007-10-21 16:54:27 +0800337config MEM_MT48LC32M16A2TG_75
338 bool
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000339 depends on (BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN532_IP0X || BLACKSTAMP || BFIN527_AD7160EVAL)
Michael Hennerich59003142007-10-21 16:54:27 +0800340 default y
341
Graf Yangee48efb2009-06-18 04:32:04 +0000342config MEM_MT48H32M16LFCJ_75
343 bool
344 depends on (BFIN526_EZBRD)
345 default y
346
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800347source "arch/blackfin/mach-bf518/Kconfig"
Michael Hennerich59003142007-10-21 16:54:27 +0800348source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700349source "arch/blackfin/mach-bf533/Kconfig"
350source "arch/blackfin/mach-bf561/Kconfig"
351source "arch/blackfin/mach-bf537/Kconfig"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800352source "arch/blackfin/mach-bf538/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800353source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700354
355menu "Board customizations"
356
357config CMDLINE_BOOL
358 bool "Default bootloader kernel arguments"
359
360config CMDLINE
361 string "Initial kernel command string"
362 depends on CMDLINE_BOOL
363 default "console=ttyBF0,57600"
364 help
365 If you don't have a boot loader capable of passing a command line string
366 to the kernel, you may specify one here. As a minimum, you should specify
367 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
368
Mike Frysinger5f004c22008-04-25 02:11:24 +0800369config BOOT_LOAD
370 hex "Kernel load address for booting"
371 default "0x1000"
372 range 0x1000 0x20000000
373 help
374 This option allows you to set the load address of the kernel.
375 This can be useful if you are on a board which has a small amount
376 of memory or you wish to reserve some memory at the beginning of
377 the address space.
378
379 Note that you need to keep this value above 4k (0x1000) as this
380 memory region is used to capture NULL pointer references as well
381 as some core kernel functions.
382
Michael Hennerich8cc71172008-10-13 14:45:06 +0800383config ROM_BASE
384 hex "Kernel ROM Base"
Mike Frysinger86249912008-11-18 17:48:22 +0800385 depends on ROMKERNEL
Barry Songd86bfb12010-01-07 04:11:17 +0000386 default "0x20040040"
Michael Hennerich8cc71172008-10-13 14:45:06 +0800387 range 0x20000000 0x20400000 if !(BF54x || BF561)
388 range 0x20000000 0x30000000 if (BF54x || BF561)
389 help
Barry Songd86bfb12010-01-07 04:11:17 +0000390 Make sure your ROM base does not include any file-header
391 information that is prepended to the kernel.
392
393 For example, the bootable U-Boot format (created with
394 mkimage) has a 64 byte header (0x40). So while the image
395 you write to flash might start at say 0x20080000, you have
396 to add 0x40 to get the kernel's ROM base as it will come
397 after the header.
Michael Hennerich8cc71172008-10-13 14:45:06 +0800398
Robin Getzf16295e2007-08-03 18:07:17 +0800399comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700400
401config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800402 int "Frequency of the crystal on the board in Hz"
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800403 default "10000000" if BFIN532_IP0X
Mike Frysingerd0cb9b42009-06-11 21:52:35 +0000404 default "11059200" if BFIN533_STAMP
405 default "24576000" if PNAV10
406 default "25000000" # most people use this
407 default "27000000" if BFIN533_EZKIT
408 default "30000000" if BFIN561_EZKIT
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000409 default "24000000" if BFIN527_AD7160EVAL
Bryan Wu1394f032007-05-06 14:50:22 -0700410 help
411 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800412 Warning: This value should match the crystal on the board. Otherwise,
413 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700414
Robin Getzf16295e2007-08-03 18:07:17 +0800415config BFIN_KERNEL_CLOCK
416 bool "Re-program Clocks while Kernel boots?"
417 default n
418 help
419 This option decides if kernel clocks are re-programed from the
420 bootloader settings. If the clocks are not set, the SDRAM settings
421 are also not changed, and the Bootloader does 100% of the hardware
422 configuration.
423
424config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800425 bool "Bypass PLL"
426 depends on BFIN_KERNEL_CLOCK
427 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800428
429config CLKIN_HALF
430 bool "Half Clock In"
431 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
432 default n
433 help
434 If this is set the clock will be divided by 2, before it goes to the PLL.
435
436config VCO_MULT
437 int "VCO Multiplier"
438 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
439 range 1 64
440 default "22" if BFIN533_EZKIT
441 default "45" if BFIN533_STAMP
Michael Hennerich6924dfb2009-12-07 13:41:28 +0000442 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800443 default "22" if BFIN533_BLUETECHNIX_CM
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000444 default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800445 default "20" if BFIN561_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800446 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000447 default "25" if BFIN527_AD7160EVAL
Robin Getzf16295e2007-08-03 18:07:17 +0800448 help
449 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
450 PLL Frequency = (Crystal Frequency) * (this setting)
451
452choice
453 prompt "Core Clock Divider"
454 depends on BFIN_KERNEL_CLOCK
455 default CCLK_DIV_1
456 help
457 This sets the frequency of the core. It can be 1, 2, 4 or 8
458 Core Frequency = (PLL frequency) / (this setting)
459
460config CCLK_DIV_1
461 bool "1"
462
463config CCLK_DIV_2
464 bool "2"
465
466config CCLK_DIV_4
467 bool "4"
468
469config CCLK_DIV_8
470 bool "8"
471endchoice
472
473config SCLK_DIV
474 int "System Clock Divider"
475 depends on BFIN_KERNEL_CLOCK
476 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800477 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800478 help
479 This sets the frequency of the system clock (including SDRAM or DDR).
480 This can be between 1 and 15
481 System Clock = (PLL frequency) / (this setting)
482
Mike Frysinger5f004c22008-04-25 02:11:24 +0800483choice
484 prompt "DDR SDRAM Chip Type"
485 depends on BFIN_KERNEL_CLOCK
486 depends on BF54x
487 default MEM_MT46V32M16_5B
488
489config MEM_MT46V32M16_6T
490 bool "MT46V32M16_6T"
491
492config MEM_MT46V32M16_5B
493 bool "MT46V32M16_5B"
494endchoice
495
Michael Hennerich73feb5c2009-01-07 23:14:39 +0800496choice
497 prompt "DDR/SDRAM Timing"
498 depends on BFIN_KERNEL_CLOCK
499 default BFIN_KERNEL_CLOCK_MEMINIT_CALC
500 help
501 This option allows you to specify Blackfin SDRAM/DDR Timing parameters
502 The calculated SDRAM timing parameters may not be 100%
503 accurate - This option is therefore marked experimental.
504
505config BFIN_KERNEL_CLOCK_MEMINIT_CALC
506 bool "Calculate Timings (EXPERIMENTAL)"
507 depends on EXPERIMENTAL
508
509config BFIN_KERNEL_CLOCK_MEMINIT_SPEC
510 bool "Provide accurate Timings based on target SCLK"
511 help
512 Please consult the Blackfin Hardware Reference Manuals as well
513 as the memory device datasheet.
514 http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram
515endchoice
516
517menu "Memory Init Control"
518 depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC
519
520config MEM_DDRCTL0
521 depends on BF54x
522 hex "DDRCTL0"
523 default 0x0
524
525config MEM_DDRCTL1
526 depends on BF54x
527 hex "DDRCTL1"
528 default 0x0
529
530config MEM_DDRCTL2
531 depends on BF54x
532 hex "DDRCTL2"
533 default 0x0
534
535config MEM_EBIU_DDRQUE
536 depends on BF54x
537 hex "DDRQUE"
538 default 0x0
539
540config MEM_SDRRC
541 depends on !BF54x
542 hex "SDRRC"
543 default 0x0
544
545config MEM_SDGCTL
546 depends on !BF54x
547 hex "SDGCTL"
548 default 0x0
549endmenu
550
Robin Getzf16295e2007-08-03 18:07:17 +0800551#
552# Max & Min Speeds for various Chips
553#
554config MAX_VCO_HZ
555 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800556 default 400000000 if BF512
557 default 400000000 if BF514
558 default 400000000 if BF516
559 default 400000000 if BF518
Mike Frysinger7b062632009-08-11 21:27:09 +0000560 default 400000000 if BF522
561 default 600000000 if BF523
Mike Frysinger1545a112007-12-24 16:54:48 +0800562 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800563 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800564 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800565 default 600000000 if BF527
566 default 400000000 if BF531
567 default 400000000 if BF532
568 default 750000000 if BF533
569 default 500000000 if BF534
570 default 400000000 if BF536
571 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800572 default 533333333 if BF538
573 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800574 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800575 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800576 default 600000000 if BF547
577 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800578 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800579 default 600000000 if BF561
580
581config MIN_VCO_HZ
582 int
583 default 50000000
584
585config MAX_SCLK_HZ
586 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800587 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800588
589config MIN_SCLK_HZ
590 int
591 default 27000000
592
593comment "Kernel Timer/Scheduler"
594
595source kernel/Kconfig.hz
596
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800597config GENERIC_CLOCKEVENTS
598 bool "Generic clock events"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800599 default y
600
Yi Li0d152c22009-12-28 10:21:49 +0000601menu "Clock event device"
Graf Yang1fa9be72009-05-15 11:01:59 +0000602 depends on GENERIC_CLOCKEVENTS
Graf Yang1fa9be72009-05-15 11:01:59 +0000603config TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000604 bool "GPTimer0"
605 depends on !SMP
Graf Yang1fa9be72009-05-15 11:01:59 +0000606 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000607
608config TICKSOURCE_CORETMR
Yi Li0d152c22009-12-28 10:21:49 +0000609 bool "Core timer"
610 default y
611endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000612
Yi Li0d152c22009-12-28 10:21:49 +0000613menu "Clock souce"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800614 depends on GENERIC_CLOCKEVENTS
Yi Li0d152c22009-12-28 10:21:49 +0000615config CYCLES_CLOCKSOURCE
616 bool "CYCLES"
617 default y
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800618 depends on !BFIN_SCRATCH_REG_CYCLES
Graf Yang1fa9be72009-05-15 11:01:59 +0000619 depends on !SMP
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800620 help
621 If you say Y here, you will enable support for using the 'cycles'
622 registers as a clock source. Doing so means you will be unable to
623 safely write to the 'cycles' register during runtime. You will
624 still be able to read it (such as for performance monitoring), but
625 writing the registers will most likely crash the kernel.
626
Graf Yang1fa9be72009-05-15 11:01:59 +0000627config GPTMR0_CLOCKSOURCE
Yi Li0d152c22009-12-28 10:21:49 +0000628 bool "GPTimer0"
Mike Frysinger3aca47c2009-06-18 19:40:47 +0000629 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000630 depends on !TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000631endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000632
john stultz10f03f12009-09-15 21:17:19 -0700633config ARCH_USES_GETTIMEOFFSET
634 depends on !GENERIC_CLOCKEVENTS
635 def_bool y
636
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800637source kernel/time/Kconfig
638
Mike Frysinger5f004c22008-04-25 02:11:24 +0800639comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800640
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800641choice
642 prompt "Blackfin Exception Scratch Register"
643 default BFIN_SCRATCH_REG_RETN
644 help
645 Select the resource to reserve for the Exception handler:
646 - RETN: Non-Maskable Interrupt (NMI)
647 - RETE: Exception Return (JTAG/ICE)
648 - CYCLES: Performance counter
649
650 If you are unsure, please select "RETN".
651
652config BFIN_SCRATCH_REG_RETN
653 bool "RETN"
654 help
655 Use the RETN register in the Blackfin exception handler
656 as a stack scratch register. This means you cannot
657 safely use NMI on the Blackfin while running Linux, but
658 you can debug the system with a JTAG ICE and use the
659 CYCLES performance registers.
660
661 If you are unsure, please select "RETN".
662
663config BFIN_SCRATCH_REG_RETE
664 bool "RETE"
665 help
666 Use the RETE register in the Blackfin exception handler
667 as a stack scratch register. This means you cannot
668 safely use a JTAG ICE while debugging a Blackfin board,
669 but you can safely use the CYCLES performance registers
670 and the NMI.
671
672 If you are unsure, please select "RETN".
673
674config BFIN_SCRATCH_REG_CYCLES
675 bool "CYCLES"
676 help
677 Use the CYCLES register in the Blackfin exception handler
678 as a stack scratch register. This means you cannot
679 safely use the CYCLES performance registers on a Blackfin
680 board at anytime, but you can debug the system with a JTAG
681 ICE and use the NMI.
682
683 If you are unsure, please select "RETN".
684
685endchoice
686
Bryan Wu1394f032007-05-06 14:50:22 -0700687endmenu
688
689
690menu "Blackfin Kernel Optimizations"
691
Bryan Wu1394f032007-05-06 14:50:22 -0700692comment "Memory Optimizations"
693
694config I_ENTRY_L1
695 bool "Locate interrupt entry code in L1 Memory"
696 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500697 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700698 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200699 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
700 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700701
702config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200703 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700704 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500705 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700706 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200707 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800708 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200709 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700710
711config DO_IRQ_L1
712 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
713 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500714 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700715 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200716 If enabled, the frequently called do_irq dispatcher function is linked
717 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700718
719config CORE_TIMER_IRQ_L1
720 bool "Locate frequently called timer_interrupt() function in L1 Memory"
721 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500722 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700723 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200724 If enabled, the frequently called timer_interrupt() function is linked
725 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700726
727config IDLE_L1
728 bool "Locate frequently idle function in L1 Memory"
729 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500730 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700731 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200732 If enabled, the frequently called idle function is linked
733 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700734
735config SCHEDULE_L1
736 bool "Locate kernel schedule function in L1 Memory"
737 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500738 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700739 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200740 If enabled, the frequently called kernel schedule is linked
741 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700742
743config ARITHMETIC_OPS_L1
744 bool "Locate kernel owned arithmetic functions in L1 Memory"
745 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500746 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700747 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200748 If enabled, arithmetic functions are linked
749 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700750
751config ACCESS_OK_L1
752 bool "Locate access_ok function in L1 Memory"
753 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500754 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700755 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200756 If enabled, the access_ok function is linked
757 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700758
759config MEMSET_L1
760 bool "Locate memset function in L1 Memory"
761 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500762 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700763 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200764 If enabled, the memset function is linked
765 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700766
767config MEMCPY_L1
768 bool "Locate memcpy function in L1 Memory"
769 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500770 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700771 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200772 If enabled, the memcpy function is linked
773 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700774
Robin Getz479ba602010-05-03 17:23:20 +0000775config STRCMP_L1
776 bool "locate strcmp function in L1 Memory"
777 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500778 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000779 help
780 If enabled, the strcmp function is linked
781 into L1 instruction memory (less latency).
782
783config STRNCMP_L1
784 bool "locate strncmp function in L1 Memory"
785 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500786 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000787 help
788 If enabled, the strncmp function is linked
789 into L1 instruction memory (less latency).
790
791config STRCPY_L1
792 bool "locate strcpy function in L1 Memory"
793 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500794 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000795 help
796 If enabled, the strcpy function is linked
797 into L1 instruction memory (less latency).
798
799config STRNCPY_L1
800 bool "locate strncpy function in L1 Memory"
801 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500802 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000803 help
804 If enabled, the strncpy function is linked
805 into L1 instruction memory (less latency).
806
Bryan Wu1394f032007-05-06 14:50:22 -0700807config SYS_BFIN_SPINLOCK_L1
808 bool "Locate sys_bfin_spinlock function in L1 Memory"
809 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500810 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700811 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200812 If enabled, sys_bfin_spinlock function is linked
813 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700814
815config IP_CHECKSUM_L1
816 bool "Locate IP Checksum function in L1 Memory"
817 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500818 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700819 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200820 If enabled, the IP Checksum function is linked
821 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700822
823config CACHELINE_ALIGNED_L1
824 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800825 default y if !BF54x
826 default n if BF54x
Mike Frysinger95fc2d8f2012-03-28 11:43:02 +0800827 depends on !SMP && !BF531 && !CRC32
Bryan Wu1394f032007-05-06 14:50:22 -0700828 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100829 If enabled, cacheline_aligned data is linked
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200830 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700831
832config SYSCALL_TAB_L1
833 bool "Locate Syscall Table L1 Data Memory"
834 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500835 depends on !SMP && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700836 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200837 If enabled, the Syscall LUT is linked
838 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700839
840config CPLB_SWITCH_TAB_L1
841 bool "Locate CPLB Switch Tables L1 Data Memory"
842 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500843 depends on !SMP && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700844 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200845 If enabled, the CPLB Switch Tables are linked
846 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700847
Mike Frysinger820b1272011-02-02 22:31:42 -0500848config ICACHE_FLUSH_L1
849 bool "Locate icache flush funcs in L1 Inst Memory"
Mike Frysinger74181292010-05-27 22:46:46 +0000850 default y
851 help
Mike Frysinger820b1272011-02-02 22:31:42 -0500852 If enabled, the Blackfin icache flushing functions are linked
Mike Frysinger74181292010-05-27 22:46:46 +0000853 into L1 instruction memory.
854
855 Note that this might be required to address anomalies, but
856 these functions are pretty small, so it shouldn't be too bad.
857 If you are using a processor affected by an anomaly, the build
858 system will double check for you and prevent it.
859
Mike Frysinger820b1272011-02-02 22:31:42 -0500860config DCACHE_FLUSH_L1
861 bool "Locate dcache flush funcs in L1 Inst Memory"
862 default y
863 depends on !SMP
864 help
865 If enabled, the Blackfin dcache flushing functions are linked
866 into L1 instruction memory.
867
Graf Yangca87b7a2008-10-08 17:30:01 +0800868config APP_STACK_L1
869 bool "Support locating application stack in L1 Scratch Memory"
870 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500871 depends on !SMP
Graf Yangca87b7a2008-10-08 17:30:01 +0800872 help
873 If enabled the application stack can be located in L1
874 scratch memory (less latency).
875
876 Currently only works with FLAT binaries.
877
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800878config EXCEPTION_L1_SCRATCH
879 bool "Locate exception stack in L1 Scratch Memory"
880 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500881 depends on !SMP && !APP_STACK_L1
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800882 help
883 Whenever an exception occurs, use the L1 Scratch memory for
884 stack storage. You cannot place the stacks of FLAT binaries
885 in L1 when using this option.
886
887 If you don't use L1 Scratch, then you should say Y here.
888
Robin Getz251383c2008-08-14 15:12:55 +0800889comment "Speed Optimizations"
890config BFIN_INS_LOWOVERHEAD
891 bool "ins[bwl] low overhead, higher interrupt latency"
892 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500893 depends on !SMP
Robin Getz251383c2008-08-14 15:12:55 +0800894 help
895 Reads on the Blackfin are speculative. In Blackfin terms, this means
896 they can be interrupted at any time (even after they have been issued
897 on to the external bus), and re-issued after the interrupt occurs.
898 For memory - this is not a big deal, since memory does not change if
899 it sees a read.
900
901 If a FIFO is sitting on the end of the read, it will see two reads,
902 when the core only sees one since the FIFO receives both the read
903 which is cancelled (and not delivered to the core) and the one which
904 is re-issued (which is delivered to the core).
905
906 To solve this, interrupts are turned off before reads occur to
907 I/O space. This option controls which the overhead/latency of
908 controlling interrupts during this time
909 "n" turns interrupts off every read
910 (higher overhead, but lower interrupt latency)
911 "y" turns interrupts off every loop
912 (low overhead, but longer interrupt latency)
913
914 default behavior is to leave this set to on (type "Y"). If you are experiencing
915 interrupt latency issues, it is safe and OK to turn this off.
916
Bryan Wu1394f032007-05-06 14:50:22 -0700917endmenu
918
Bryan Wu1394f032007-05-06 14:50:22 -0700919choice
920 prompt "Kernel executes from"
921 help
922 Choose the memory type that the kernel will be running in.
923
924config RAMKERNEL
925 bool "RAM"
926 help
927 The kernel will be resident in RAM when running.
928
929config ROMKERNEL
930 bool "ROM"
931 help
932 The kernel will be resident in FLASH/ROM when running.
933
934endchoice
935
Mike Frysinger56b4f072010-10-16 19:46:21 -0400936# Common code uses "ROMKERNEL" or "XIP_KERNEL", so define both
937config XIP_KERNEL
938 bool
939 default y
940 depends on ROMKERNEL
941
Bryan Wu1394f032007-05-06 14:50:22 -0700942source "mm/Kconfig"
943
Mike Frysinger780431e2007-10-21 23:37:54 +0800944config BFIN_GPTIMERS
945 tristate "Enable Blackfin General Purpose Timers API"
946 default n
947 help
948 Enable support for the General Purpose Timers API. If you
949 are unsure, say N.
950
951 To compile this driver as a module, choose M here: the module
Pavel Machek4737f092009-06-05 00:44:53 +0200952 will be called gptimers.
Mike Frysinger780431e2007-10-21 23:37:54 +0800953
Mike Frysinger006669e2011-06-15 16:55:39 -0400954config HAVE_PWM
955 tristate "Enable PWM API support"
956 depends on BFIN_GPTIMERS
957 help
958 Enable support for the Pulse Width Modulation framework (as
959 found in linux/pwm.h).
960
961 To compile this driver as a module, choose M here: the module
962 will be called pwm.
963
Bryan Wu1394f032007-05-06 14:50:22 -0700964choice
Mike Frysingerd292b002008-10-28 11:15:36 +0800965 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700966 default DMA_UNCACHED_1M
Cliff Cai86ad7932008-05-17 16:36:52 +0800967config DMA_UNCACHED_4M
968 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700969config DMA_UNCACHED_2M
970 bool "Enable 2M DMA region"
971config DMA_UNCACHED_1M
972 bool "Enable 1M DMA region"
Barry Songc45c0652009-12-02 09:13:36 +0000973config DMA_UNCACHED_512K
974 bool "Enable 512K DMA region"
975config DMA_UNCACHED_256K
976 bool "Enable 256K DMA region"
977config DMA_UNCACHED_128K
978 bool "Enable 128K DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700979config DMA_UNCACHED_NONE
980 bool "Disable DMA region"
981endchoice
982
983
984comment "Cache Support"
Jie Zhang41ba6532009-06-16 09:48:33 +0000985
Robin Getz3bebca22007-10-10 23:55:26 +0800986config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700987 bool "Enable ICACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000988 default y
Jie Zhang41ba6532009-06-16 09:48:33 +0000989config BFIN_EXTMEM_ICACHEABLE
990 bool "Enable ICACHE for external memory"
991 depends on BFIN_ICACHE
992 default y
993config BFIN_L2_ICACHEABLE
994 bool "Enable ICACHE for L2 SRAM"
995 depends on BFIN_ICACHE
996 depends on BF54x || BF561
997 default n
998
Robin Getz3bebca22007-10-10 23:55:26 +0800999config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -07001000 bool "Enable DCACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +00001001 default y
Robin Getz3bebca22007-10-10 23:55:26 +08001002config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -07001003 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +08001004 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -07001005 default n
Jie Zhang41ba6532009-06-16 09:48:33 +00001006config BFIN_EXTMEM_DCACHEABLE
1007 bool "Enable DCACHE for external memory"
Robin Getz3bebca22007-10-10 23:55:26 +08001008 depends on BFIN_DCACHE
Jie Zhang41ba6532009-06-16 09:48:33 +00001009 default y
Graf Yang5ba76672009-05-07 04:09:15 +00001010choice
Jie Zhang41ba6532009-06-16 09:48:33 +00001011 prompt "External memory DCACHE policy"
1012 depends on BFIN_EXTMEM_DCACHEABLE
1013 default BFIN_EXTMEM_WRITEBACK if !SMP
1014 default BFIN_EXTMEM_WRITETHROUGH if SMP
1015config BFIN_EXTMEM_WRITEBACK
Graf Yang5ba76672009-05-07 04:09:15 +00001016 bool "Write back"
1017 depends on !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001018 help
1019 Write Back Policy:
1020 Cached data will be written back to SDRAM only when needed.
1021 This can give a nice increase in performance, but beware of
1022 broken drivers that do not properly invalidate/flush their
1023 cache.
Graf Yang5ba76672009-05-07 04:09:15 +00001024
Jie Zhang41ba6532009-06-16 09:48:33 +00001025 Write Through Policy:
1026 Cached data will always be written back to SDRAM when the
1027 cache is updated. This is a completely safe setting, but
1028 performance is worse than Write Back.
1029
1030 If you are unsure of the options and you want to be safe,
1031 then go with Write Through.
1032
1033config BFIN_EXTMEM_WRITETHROUGH
Graf Yang5ba76672009-05-07 04:09:15 +00001034 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001035 help
1036 Write Back Policy:
1037 Cached data will be written back to SDRAM only when needed.
1038 This can give a nice increase in performance, but beware of
1039 broken drivers that do not properly invalidate/flush their
1040 cache.
Graf Yang5ba76672009-05-07 04:09:15 +00001041
Jie Zhang41ba6532009-06-16 09:48:33 +00001042 Write Through Policy:
1043 Cached data will always be written back to SDRAM when the
1044 cache is updated. This is a completely safe setting, but
1045 performance is worse than Write Back.
1046
1047 If you are unsure of the options and you want to be safe,
1048 then go with Write Through.
Graf Yang5ba76672009-05-07 04:09:15 +00001049
1050endchoice
Sonic Zhangf099f392008-10-09 14:11:57 +08001051
Jie Zhang41ba6532009-06-16 09:48:33 +00001052config BFIN_L2_DCACHEABLE
1053 bool "Enable DCACHE for L2 SRAM"
1054 depends on BFIN_DCACHE
Sonic Zhang9c954f82009-06-30 09:48:03 +00001055 depends on (BF54x || BF561) && !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001056 default n
1057choice
1058 prompt "L2 SRAM DCACHE policy"
1059 depends on BFIN_L2_DCACHEABLE
1060 default BFIN_L2_WRITEBACK
1061config BFIN_L2_WRITEBACK
1062 bool "Write back"
Jie Zhang41ba6532009-06-16 09:48:33 +00001063
1064config BFIN_L2_WRITETHROUGH
1065 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001066endchoice
1067
1068
1069comment "Memory Protection Unit"
Bernd Schmidtb97b8a92008-01-27 18:39:16 +08001070config MPU
1071 bool "Enable the memory protection unit (EXPERIMENTAL)"
1072 default n
1073 help
1074 Use the processor's MPU to protect applications from accessing
1075 memory they do not own. This comes at a performance penalty
1076 and is recommended only for debugging.
1077
Matt LaPlante692105b2009-01-26 11:12:25 +01001078comment "Asynchronous Memory Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -07001079
Mike Frysingerddf416b2007-10-10 18:06:47 +08001080menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -07001081config C_AMCKEN
1082 bool "Enable CLKOUT"
1083 default y
1084
1085config C_CDPRIO
1086 bool "DMA has priority over core for ext. accesses"
1087 default n
1088
1089config C_B0PEN
1090 depends on BF561
1091 bool "Bank 0 16 bit packing enable"
1092 default y
1093
1094config C_B1PEN
1095 depends on BF561
1096 bool "Bank 1 16 bit packing enable"
1097 default y
1098
1099config C_B2PEN
1100 depends on BF561
1101 bool "Bank 2 16 bit packing enable"
1102 default y
1103
1104config C_B3PEN
1105 depends on BF561
1106 bool "Bank 3 16 bit packing enable"
1107 default n
1108
1109choice
Matt LaPlante692105b2009-01-26 11:12:25 +01001110 prompt "Enable Asynchronous Memory Banks"
Bryan Wu1394f032007-05-06 14:50:22 -07001111 default C_AMBEN_ALL
1112
1113config C_AMBEN
1114 bool "Disable All Banks"
1115
1116config C_AMBEN_B0
1117 bool "Enable Bank 0"
1118
1119config C_AMBEN_B0_B1
1120 bool "Enable Bank 0 & 1"
1121
1122config C_AMBEN_B0_B1_B2
1123 bool "Enable Bank 0 & 1 & 2"
1124
1125config C_AMBEN_ALL
1126 bool "Enable All Banks"
1127endchoice
1128endmenu
1129
1130menu "EBIU_AMBCTL Control"
1131config BANK_0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001132 hex "Bank 0 (AMBCTL0.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001133 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001134 help
1135 These are the low 16 bits of the EBIU_AMBCTL0 MMR which are
1136 used to control the Asynchronous Memory Bank 0 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001137
1138config BANK_1
Mike Frysingerc8342f82009-03-31 00:18:35 +00001139 hex "Bank 1 (AMBCTL0.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001140 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +08001141 default 0x5558 if BF54x
Mike Frysingerc8342f82009-03-31 00:18:35 +00001142 help
1143 These are the high 16 bits of the EBIU_AMBCTL0 MMR which are
1144 used to control the Asynchronous Memory Bank 1 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001145
1146config BANK_2
Mike Frysingerc8342f82009-03-31 00:18:35 +00001147 hex "Bank 2 (AMBCTL1.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001148 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001149 help
1150 These are the low 16 bits of the EBIU_AMBCTL1 MMR which are
1151 used to control the Asynchronous Memory Bank 2 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001152
1153config BANK_3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001154 hex "Bank 3 (AMBCTL1.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001155 default 0x99B3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001156 help
1157 These are the high 16 bits of the EBIU_AMBCTL1 MMR which are
1158 used to control the Asynchronous Memory Bank 3 settings.
1159
Bryan Wu1394f032007-05-06 14:50:22 -07001160endmenu
1161
Sonic Zhange40540b2007-11-21 23:49:52 +08001162config EBIU_MBSCTLVAL
1163 hex "EBIU Bank Select Control Register"
1164 depends on BF54x
1165 default 0
1166
1167config EBIU_MODEVAL
1168 hex "Flash Memory Mode Control Register"
1169 depends on BF54x
1170 default 1
1171
1172config EBIU_FCTLVAL
1173 hex "Flash Memory Bank Control Register"
1174 depends on BF54x
1175 default 6
Bryan Wu1394f032007-05-06 14:50:22 -07001176endmenu
1177
1178#############################################################################
1179menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1180
1181config PCI
1182 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +08001183 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -07001184 help
1185 Support for PCI bus.
1186
1187source "drivers/pci/Kconfig"
1188
Bryan Wu1394f032007-05-06 14:50:22 -07001189source "drivers/pcmcia/Kconfig"
1190
1191source "drivers/pci/hotplug/Kconfig"
1192
1193endmenu
1194
1195menu "Executable file formats"
1196
1197source "fs/Kconfig.binfmt"
1198
1199endmenu
1200
1201menu "Power management options"
Graf Yangad461632009-08-07 03:52:54 +00001202
Bryan Wu1394f032007-05-06 14:50:22 -07001203source "kernel/power/Kconfig"
1204
Johannes Bergf4cb5702007-12-08 02:14:00 +01001205config ARCH_SUSPEND_POSSIBLE
1206 def_bool y
Johannes Bergf4cb5702007-12-08 02:14:00 +01001207
Bryan Wu1394f032007-05-06 14:50:22 -07001208choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001209 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -07001210 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001211 default PM_BFIN_SLEEP_DEEPER
1212config PM_BFIN_SLEEP_DEEPER
1213 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001214 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001215 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1216 power dissipation by disabling the clock to the processor core (CCLK).
1217 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1218 to 0.85 V to provide the greatest power savings, while preserving the
1219 processor state.
1220 The PLL and system clock (SCLK) continue to operate at a very low
1221 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1222 the SDRAM is put into Self Refresh Mode. Typically an external event
1223 such as GPIO interrupt or RTC activity wakes up the processor.
1224 Various Peripherals such as UART, SPORT, PPI may not function as
1225 normal during Sleep Deeper, due to the reduced SCLK frequency.
1226 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001227
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001228 If unsure, select "Sleep Deeper".
1229
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001230config PM_BFIN_SLEEP
1231 bool "Sleep"
1232 help
1233 Sleep Mode (High Power Savings) - The sleep mode reduces power
1234 dissipation by disabling the clock to the processor core (CCLK).
1235 The PLL and system clock (SCLK), however, continue to operate in
1236 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001237 up the processor. When in the sleep mode, system DMA access to L1
1238 memory is not supported.
1239
1240 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001241endchoice
1242
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001243comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1244 depends on PM
1245
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001246config PM_BFIN_WAKE_PH6
1247 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001248 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001249 default n
1250 help
1251 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1252
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001253config PM_BFIN_WAKE_GP
1254 bool "Allow Wake-Up from GPIOs"
1255 depends on PM && BF54x
1256 default n
1257 help
1258 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Michael Hennerich19986282009-03-05 16:45:55 +08001259 (all processors, except ADSP-BF549). This option sets
1260 the general-purpose wake-up enable (GPWE) control bit to enable
1261 wake-up upon detection of an active low signal on the /GPW (PH7) pin.
1262 On ADSP-BF549 this option enables the the same functionality on the
1263 /MRXON pin also PH7.
1264
Bryan Wu1394f032007-05-06 14:50:22 -07001265endmenu
1266
Bryan Wu1394f032007-05-06 14:50:22 -07001267menu "CPU Frequency scaling"
1268
1269source "drivers/cpufreq/Kconfig"
1270
Michael Hennerich5ad2ca52008-11-18 17:48:22 +08001271config BFIN_CPU_FREQ
1272 bool
1273 depends on CPU_FREQ
1274 select CPU_FREQ_TABLE
1275 default y
1276
Michael Hennerich14b03202008-05-07 11:41:26 +08001277config CPU_VOLTAGE
1278 bool "CPU Voltage scaling"
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001279 depends on EXPERIMENTAL
Michael Hennerich14b03202008-05-07 11:41:26 +08001280 depends on CPU_FREQ
1281 default n
1282 help
1283 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1284 This option violates the PLL BYPASS recommendation in the Blackfin Processor
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001285 manuals. There is a theoretical risk that during VDDINT transitions
Michael Hennerich14b03202008-05-07 11:41:26 +08001286 the PLL may unlock.
1287
Bryan Wu1394f032007-05-06 14:50:22 -07001288endmenu
1289
Bryan Wu1394f032007-05-06 14:50:22 -07001290source "net/Kconfig"
1291
1292source "drivers/Kconfig"
1293
Mike Frysinger872d0242009-10-06 04:49:07 +00001294source "drivers/firmware/Kconfig"
1295
Bryan Wu1394f032007-05-06 14:50:22 -07001296source "fs/Kconfig"
1297
Mike Frysinger74ce8322007-11-21 23:50:49 +08001298source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001299
1300source "security/Kconfig"
1301
1302source "crypto/Kconfig"
1303
1304source "lib/Kconfig"