blob: bc21de2e8fedc0ac3e2e4ca948224a722c961769 [file] [log] [blame]
Alan Jenkins9e1b9b82009-11-07 21:03:54 +00001config SYMBOL_PREFIX
2 string
3 default "_"
4
Bryan Wu1394f032007-05-06 14:50:22 -07005config MMU
Mike Frysingerbac7d892009-06-07 03:46:06 -04006 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -07007
8config FPU
Mike Frysingerbac7d892009-06-07 03:46:06 -04009 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -070010
11config RWSEM_GENERIC_SPINLOCK
Mike Frysingerbac7d892009-06-07 03:46:06 -040012 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070013
14config RWSEM_XCHGADD_ALGORITHM
Mike Frysingerbac7d892009-06-07 03:46:06 -040015 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -070016
17config BLACKFIN
Mike Frysingerbac7d892009-06-07 03:46:06 -040018 def_bool y
Mike Frysinger652afdc2010-01-25 22:12:32 +000019 select HAVE_ARCH_KGDB
Mike Frysingere8f263d2010-01-26 07:33:53 +000020 select HAVE_ARCH_TRACEHOOK
Mike Frysingerf5074422010-07-21 09:13:02 -040021 select HAVE_DYNAMIC_FTRACE
22 select HAVE_FTRACE_MCOUNT_RECORD
Mike Frysinger1ee76d72009-06-10 04:45:29 -040023 select HAVE_FUNCTION_GRAPH_TRACER
Mike Frysinger1c873be2009-06-09 07:25:09 -040024 select HAVE_FUNCTION_TRACER
Mike Frysingeraebfef02010-01-22 07:35:20 -050025 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
Sam Ravnborgec7748b2008-02-09 10:46:40 +010026 select HAVE_IDE
Mike Frysinger7db79172011-05-06 11:47:52 -040027 select HAVE_IRQ_WORK
Barry Songd86bfb12010-01-07 04:11:17 +000028 select HAVE_KERNEL_GZIP if RAMKERNEL
29 select HAVE_KERNEL_BZIP2 if RAMKERNEL
30 select HAVE_KERNEL_LZMA if RAMKERNEL
Mike Frysinger67df6cc2010-07-19 05:37:54 +000031 select HAVE_KERNEL_LZO if RAMKERNEL
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050032 select HAVE_OPROFILE
Mike Frysinger7db79172011-05-06 11:47:52 -040033 select HAVE_PERF_EVENTS
Michael Hennericha4f0b32c2008-11-18 17:48:22 +080034 select ARCH_WANT_OPTIONAL_GPIOLIB
Thomas Gleixner7b028862011-01-19 20:29:58 +010035 select HAVE_GENERIC_HARDIRQS
Mike Frysingerbee18be2011-03-21 02:39:10 -040036 select GENERIC_ATOMIC64
Thomas Gleixner7b028862011-01-19 20:29:58 +010037 select GENERIC_IRQ_PROBE
38 select IRQ_PER_CPU if SMP
Cong Wangd314d742012-03-23 15:01:51 -070039 select HAVE_NMI_WATCHDOG if NMI_WATCHDOG
Anna-Maria Gleixnerdfbaec02012-05-18 16:45:45 +000040 select ARCH_USES_GETTIMEOFFSET if !GENERIC_CLOCKEVENTS
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
Anna-Maria Gleixnerdfbaec02012-05-18 16:45:45 +0000597config SET_GENERIC_CLOCKEVENTS
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800598 bool "Generic clock events"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800599 default y
Anna-Maria Gleixnerdfbaec02012-05-18 16:45:45 +0000600 select GENERIC_CLOCKEVENTS
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800601
Yi Li0d152c22009-12-28 10:21:49 +0000602menu "Clock event device"
Graf Yang1fa9be72009-05-15 11:01:59 +0000603 depends on GENERIC_CLOCKEVENTS
Graf Yang1fa9be72009-05-15 11:01:59 +0000604config TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000605 bool "GPTimer0"
606 depends on !SMP
Graf Yang1fa9be72009-05-15 11:01:59 +0000607 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000608
609config TICKSOURCE_CORETMR
Yi Li0d152c22009-12-28 10:21:49 +0000610 bool "Core timer"
611 default y
612endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000613
Yi Li0d152c22009-12-28 10:21:49 +0000614menu "Clock souce"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800615 depends on GENERIC_CLOCKEVENTS
Yi Li0d152c22009-12-28 10:21:49 +0000616config CYCLES_CLOCKSOURCE
617 bool "CYCLES"
618 default y
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800619 depends on !BFIN_SCRATCH_REG_CYCLES
Graf Yang1fa9be72009-05-15 11:01:59 +0000620 depends on !SMP
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800621 help
622 If you say Y here, you will enable support for using the 'cycles'
623 registers as a clock source. Doing so means you will be unable to
624 safely write to the 'cycles' register during runtime. You will
625 still be able to read it (such as for performance monitoring), but
626 writing the registers will most likely crash the kernel.
627
Graf Yang1fa9be72009-05-15 11:01:59 +0000628config GPTMR0_CLOCKSOURCE
Yi Li0d152c22009-12-28 10:21:49 +0000629 bool "GPTimer0"
Mike Frysinger3aca47c2009-06-18 19:40:47 +0000630 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000631 depends on !TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000632endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000633
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800634source kernel/time/Kconfig
635
Mike Frysinger5f004c22008-04-25 02:11:24 +0800636comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800637
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800638choice
639 prompt "Blackfin Exception Scratch Register"
640 default BFIN_SCRATCH_REG_RETN
641 help
642 Select the resource to reserve for the Exception handler:
643 - RETN: Non-Maskable Interrupt (NMI)
644 - RETE: Exception Return (JTAG/ICE)
645 - CYCLES: Performance counter
646
647 If you are unsure, please select "RETN".
648
649config BFIN_SCRATCH_REG_RETN
650 bool "RETN"
651 help
652 Use the RETN register in the Blackfin exception handler
653 as a stack scratch register. This means you cannot
654 safely use NMI on the Blackfin while running Linux, but
655 you can debug the system with a JTAG ICE and use the
656 CYCLES performance registers.
657
658 If you are unsure, please select "RETN".
659
660config BFIN_SCRATCH_REG_RETE
661 bool "RETE"
662 help
663 Use the RETE register in the Blackfin exception handler
664 as a stack scratch register. This means you cannot
665 safely use a JTAG ICE while debugging a Blackfin board,
666 but you can safely use the CYCLES performance registers
667 and the NMI.
668
669 If you are unsure, please select "RETN".
670
671config BFIN_SCRATCH_REG_CYCLES
672 bool "CYCLES"
673 help
674 Use the CYCLES register in the Blackfin exception handler
675 as a stack scratch register. This means you cannot
676 safely use the CYCLES performance registers on a Blackfin
677 board at anytime, but you can debug the system with a JTAG
678 ICE and use the NMI.
679
680 If you are unsure, please select "RETN".
681
682endchoice
683
Bryan Wu1394f032007-05-06 14:50:22 -0700684endmenu
685
686
687menu "Blackfin Kernel Optimizations"
688
Bryan Wu1394f032007-05-06 14:50:22 -0700689comment "Memory Optimizations"
690
691config I_ENTRY_L1
692 bool "Locate interrupt entry code in L1 Memory"
693 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500694 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700695 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200696 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
697 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700698
699config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200700 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700701 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500702 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700703 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200704 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800705 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200706 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700707
708config DO_IRQ_L1
709 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
710 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500711 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700712 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200713 If enabled, the frequently called do_irq dispatcher function is linked
714 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700715
716config CORE_TIMER_IRQ_L1
717 bool "Locate frequently called timer_interrupt() function in L1 Memory"
718 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500719 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700720 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200721 If enabled, the frequently called timer_interrupt() function is linked
722 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700723
724config IDLE_L1
725 bool "Locate frequently idle function in L1 Memory"
726 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500727 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700728 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200729 If enabled, the frequently called idle function is linked
730 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700731
732config SCHEDULE_L1
733 bool "Locate kernel schedule function in L1 Memory"
734 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500735 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700736 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200737 If enabled, the frequently called kernel schedule is linked
738 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700739
740config ARITHMETIC_OPS_L1
741 bool "Locate kernel owned arithmetic functions in L1 Memory"
742 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500743 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700744 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200745 If enabled, arithmetic functions are linked
746 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700747
748config ACCESS_OK_L1
749 bool "Locate access_ok function in L1 Memory"
750 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500751 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700752 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200753 If enabled, the access_ok function is linked
754 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700755
756config MEMSET_L1
757 bool "Locate memset function in L1 Memory"
758 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500759 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700760 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200761 If enabled, the memset function is linked
762 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700763
764config MEMCPY_L1
765 bool "Locate memcpy function in L1 Memory"
766 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500767 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700768 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200769 If enabled, the memcpy function is linked
770 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700771
Robin Getz479ba602010-05-03 17:23:20 +0000772config STRCMP_L1
773 bool "locate strcmp function in L1 Memory"
774 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500775 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000776 help
777 If enabled, the strcmp function is linked
778 into L1 instruction memory (less latency).
779
780config STRNCMP_L1
781 bool "locate strncmp function in L1 Memory"
782 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500783 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000784 help
785 If enabled, the strncmp function is linked
786 into L1 instruction memory (less latency).
787
788config STRCPY_L1
789 bool "locate strcpy function in L1 Memory"
790 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500791 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000792 help
793 If enabled, the strcpy function is linked
794 into L1 instruction memory (less latency).
795
796config STRNCPY_L1
797 bool "locate strncpy function in L1 Memory"
798 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500799 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000800 help
801 If enabled, the strncpy function is linked
802 into L1 instruction memory (less latency).
803
Bryan Wu1394f032007-05-06 14:50:22 -0700804config SYS_BFIN_SPINLOCK_L1
805 bool "Locate sys_bfin_spinlock function in L1 Memory"
806 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500807 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700808 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200809 If enabled, sys_bfin_spinlock function is linked
810 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700811
812config IP_CHECKSUM_L1
813 bool "Locate IP Checksum function in L1 Memory"
814 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500815 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700816 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200817 If enabled, the IP Checksum function is linked
818 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700819
820config CACHELINE_ALIGNED_L1
821 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800822 default y if !BF54x
823 default n if BF54x
Mike Frysinger95fc2d8f2012-03-28 11:43:02 +0800824 depends on !SMP && !BF531 && !CRC32
Bryan Wu1394f032007-05-06 14:50:22 -0700825 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100826 If enabled, cacheline_aligned data is linked
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200827 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700828
829config SYSCALL_TAB_L1
830 bool "Locate Syscall Table L1 Data Memory"
831 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500832 depends on !SMP && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700833 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200834 If enabled, the Syscall LUT is linked
835 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700836
837config CPLB_SWITCH_TAB_L1
838 bool "Locate CPLB Switch Tables L1 Data Memory"
839 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500840 depends on !SMP && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700841 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200842 If enabled, the CPLB Switch Tables are linked
843 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700844
Mike Frysinger820b1272011-02-02 22:31:42 -0500845config ICACHE_FLUSH_L1
846 bool "Locate icache flush funcs in L1 Inst Memory"
Mike Frysinger74181292010-05-27 22:46:46 +0000847 default y
848 help
Mike Frysinger820b1272011-02-02 22:31:42 -0500849 If enabled, the Blackfin icache flushing functions are linked
Mike Frysinger74181292010-05-27 22:46:46 +0000850 into L1 instruction memory.
851
852 Note that this might be required to address anomalies, but
853 these functions are pretty small, so it shouldn't be too bad.
854 If you are using a processor affected by an anomaly, the build
855 system will double check for you and prevent it.
856
Mike Frysinger820b1272011-02-02 22:31:42 -0500857config DCACHE_FLUSH_L1
858 bool "Locate dcache flush funcs in L1 Inst Memory"
859 default y
860 depends on !SMP
861 help
862 If enabled, the Blackfin dcache flushing functions are linked
863 into L1 instruction memory.
864
Graf Yangca87b7a2008-10-08 17:30:01 +0800865config APP_STACK_L1
866 bool "Support locating application stack in L1 Scratch Memory"
867 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500868 depends on !SMP
Graf Yangca87b7a2008-10-08 17:30:01 +0800869 help
870 If enabled the application stack can be located in L1
871 scratch memory (less latency).
872
873 Currently only works with FLAT binaries.
874
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800875config EXCEPTION_L1_SCRATCH
876 bool "Locate exception stack in L1 Scratch Memory"
877 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500878 depends on !SMP && !APP_STACK_L1
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800879 help
880 Whenever an exception occurs, use the L1 Scratch memory for
881 stack storage. You cannot place the stacks of FLAT binaries
882 in L1 when using this option.
883
884 If you don't use L1 Scratch, then you should say Y here.
885
Robin Getz251383c2008-08-14 15:12:55 +0800886comment "Speed Optimizations"
887config BFIN_INS_LOWOVERHEAD
888 bool "ins[bwl] low overhead, higher interrupt latency"
889 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500890 depends on !SMP
Robin Getz251383c2008-08-14 15:12:55 +0800891 help
892 Reads on the Blackfin are speculative. In Blackfin terms, this means
893 they can be interrupted at any time (even after they have been issued
894 on to the external bus), and re-issued after the interrupt occurs.
895 For memory - this is not a big deal, since memory does not change if
896 it sees a read.
897
898 If a FIFO is sitting on the end of the read, it will see two reads,
899 when the core only sees one since the FIFO receives both the read
900 which is cancelled (and not delivered to the core) and the one which
901 is re-issued (which is delivered to the core).
902
903 To solve this, interrupts are turned off before reads occur to
904 I/O space. This option controls which the overhead/latency of
905 controlling interrupts during this time
906 "n" turns interrupts off every read
907 (higher overhead, but lower interrupt latency)
908 "y" turns interrupts off every loop
909 (low overhead, but longer interrupt latency)
910
911 default behavior is to leave this set to on (type "Y"). If you are experiencing
912 interrupt latency issues, it is safe and OK to turn this off.
913
Bryan Wu1394f032007-05-06 14:50:22 -0700914endmenu
915
Bryan Wu1394f032007-05-06 14:50:22 -0700916choice
917 prompt "Kernel executes from"
918 help
919 Choose the memory type that the kernel will be running in.
920
921config RAMKERNEL
922 bool "RAM"
923 help
924 The kernel will be resident in RAM when running.
925
926config ROMKERNEL
927 bool "ROM"
928 help
929 The kernel will be resident in FLASH/ROM when running.
930
931endchoice
932
Mike Frysinger56b4f072010-10-16 19:46:21 -0400933# Common code uses "ROMKERNEL" or "XIP_KERNEL", so define both
934config XIP_KERNEL
935 bool
936 default y
937 depends on ROMKERNEL
938
Bryan Wu1394f032007-05-06 14:50:22 -0700939source "mm/Kconfig"
940
Mike Frysinger780431e2007-10-21 23:37:54 +0800941config BFIN_GPTIMERS
942 tristate "Enable Blackfin General Purpose Timers API"
943 default n
944 help
945 Enable support for the General Purpose Timers API. If you
946 are unsure, say N.
947
948 To compile this driver as a module, choose M here: the module
Pavel Machek4737f092009-06-05 00:44:53 +0200949 will be called gptimers.
Mike Frysinger780431e2007-10-21 23:37:54 +0800950
Mike Frysinger006669e2011-06-15 16:55:39 -0400951config HAVE_PWM
952 tristate "Enable PWM API support"
953 depends on BFIN_GPTIMERS
954 help
955 Enable support for the Pulse Width Modulation framework (as
956 found in linux/pwm.h).
957
958 To compile this driver as a module, choose M here: the module
959 will be called pwm.
960
Bryan Wu1394f032007-05-06 14:50:22 -0700961choice
Mike Frysingerd292b002008-10-28 11:15:36 +0800962 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700963 default DMA_UNCACHED_1M
Cliff Cai86ad7932008-05-17 16:36:52 +0800964config DMA_UNCACHED_4M
965 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700966config DMA_UNCACHED_2M
967 bool "Enable 2M DMA region"
968config DMA_UNCACHED_1M
969 bool "Enable 1M DMA region"
Barry Songc45c0652009-12-02 09:13:36 +0000970config DMA_UNCACHED_512K
971 bool "Enable 512K DMA region"
972config DMA_UNCACHED_256K
973 bool "Enable 256K DMA region"
974config DMA_UNCACHED_128K
975 bool "Enable 128K DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700976config DMA_UNCACHED_NONE
977 bool "Disable DMA region"
978endchoice
979
980
981comment "Cache Support"
Jie Zhang41ba6532009-06-16 09:48:33 +0000982
Robin Getz3bebca22007-10-10 23:55:26 +0800983config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700984 bool "Enable ICACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000985 default y
Jie Zhang41ba6532009-06-16 09:48:33 +0000986config BFIN_EXTMEM_ICACHEABLE
987 bool "Enable ICACHE for external memory"
988 depends on BFIN_ICACHE
989 default y
990config BFIN_L2_ICACHEABLE
991 bool "Enable ICACHE for L2 SRAM"
992 depends on BFIN_ICACHE
993 depends on BF54x || BF561
994 default n
995
Robin Getz3bebca22007-10-10 23:55:26 +0800996config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700997 bool "Enable DCACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000998 default y
Robin Getz3bebca22007-10-10 23:55:26 +0800999config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -07001000 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +08001001 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -07001002 default n
Jie Zhang41ba6532009-06-16 09:48:33 +00001003config BFIN_EXTMEM_DCACHEABLE
1004 bool "Enable DCACHE for external memory"
Robin Getz3bebca22007-10-10 23:55:26 +08001005 depends on BFIN_DCACHE
Jie Zhang41ba6532009-06-16 09:48:33 +00001006 default y
Graf Yang5ba76672009-05-07 04:09:15 +00001007choice
Jie Zhang41ba6532009-06-16 09:48:33 +00001008 prompt "External memory DCACHE policy"
1009 depends on BFIN_EXTMEM_DCACHEABLE
1010 default BFIN_EXTMEM_WRITEBACK if !SMP
1011 default BFIN_EXTMEM_WRITETHROUGH if SMP
1012config BFIN_EXTMEM_WRITEBACK
Graf Yang5ba76672009-05-07 04:09:15 +00001013 bool "Write back"
1014 depends on !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001015 help
1016 Write Back Policy:
1017 Cached data will be written back to SDRAM only when needed.
1018 This can give a nice increase in performance, but beware of
1019 broken drivers that do not properly invalidate/flush their
1020 cache.
Graf Yang5ba76672009-05-07 04:09:15 +00001021
Jie Zhang41ba6532009-06-16 09:48:33 +00001022 Write Through Policy:
1023 Cached data will always be written back to SDRAM when the
1024 cache is updated. This is a completely safe setting, but
1025 performance is worse than Write Back.
1026
1027 If you are unsure of the options and you want to be safe,
1028 then go with Write Through.
1029
1030config BFIN_EXTMEM_WRITETHROUGH
Graf Yang5ba76672009-05-07 04:09:15 +00001031 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001032 help
1033 Write Back Policy:
1034 Cached data will be written back to SDRAM only when needed.
1035 This can give a nice increase in performance, but beware of
1036 broken drivers that do not properly invalidate/flush their
1037 cache.
Graf Yang5ba76672009-05-07 04:09:15 +00001038
Jie Zhang41ba6532009-06-16 09:48:33 +00001039 Write Through Policy:
1040 Cached data will always be written back to SDRAM when the
1041 cache is updated. This is a completely safe setting, but
1042 performance is worse than Write Back.
1043
1044 If you are unsure of the options and you want to be safe,
1045 then go with Write Through.
Graf Yang5ba76672009-05-07 04:09:15 +00001046
1047endchoice
Sonic Zhangf099f392008-10-09 14:11:57 +08001048
Jie Zhang41ba6532009-06-16 09:48:33 +00001049config BFIN_L2_DCACHEABLE
1050 bool "Enable DCACHE for L2 SRAM"
1051 depends on BFIN_DCACHE
Sonic Zhang9c954f82009-06-30 09:48:03 +00001052 depends on (BF54x || BF561) && !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001053 default n
1054choice
1055 prompt "L2 SRAM DCACHE policy"
1056 depends on BFIN_L2_DCACHEABLE
1057 default BFIN_L2_WRITEBACK
1058config BFIN_L2_WRITEBACK
1059 bool "Write back"
Jie Zhang41ba6532009-06-16 09:48:33 +00001060
1061config BFIN_L2_WRITETHROUGH
1062 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001063endchoice
1064
1065
1066comment "Memory Protection Unit"
Bernd Schmidtb97b8a92008-01-27 18:39:16 +08001067config MPU
1068 bool "Enable the memory protection unit (EXPERIMENTAL)"
1069 default n
1070 help
1071 Use the processor's MPU to protect applications from accessing
1072 memory they do not own. This comes at a performance penalty
1073 and is recommended only for debugging.
1074
Matt LaPlante692105b2009-01-26 11:12:25 +01001075comment "Asynchronous Memory Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -07001076
Mike Frysingerddf416b2007-10-10 18:06:47 +08001077menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -07001078config C_AMCKEN
1079 bool "Enable CLKOUT"
1080 default y
1081
1082config C_CDPRIO
1083 bool "DMA has priority over core for ext. accesses"
1084 default n
1085
1086config C_B0PEN
1087 depends on BF561
1088 bool "Bank 0 16 bit packing enable"
1089 default y
1090
1091config C_B1PEN
1092 depends on BF561
1093 bool "Bank 1 16 bit packing enable"
1094 default y
1095
1096config C_B2PEN
1097 depends on BF561
1098 bool "Bank 2 16 bit packing enable"
1099 default y
1100
1101config C_B3PEN
1102 depends on BF561
1103 bool "Bank 3 16 bit packing enable"
1104 default n
1105
1106choice
Matt LaPlante692105b2009-01-26 11:12:25 +01001107 prompt "Enable Asynchronous Memory Banks"
Bryan Wu1394f032007-05-06 14:50:22 -07001108 default C_AMBEN_ALL
1109
1110config C_AMBEN
1111 bool "Disable All Banks"
1112
1113config C_AMBEN_B0
1114 bool "Enable Bank 0"
1115
1116config C_AMBEN_B0_B1
1117 bool "Enable Bank 0 & 1"
1118
1119config C_AMBEN_B0_B1_B2
1120 bool "Enable Bank 0 & 1 & 2"
1121
1122config C_AMBEN_ALL
1123 bool "Enable All Banks"
1124endchoice
1125endmenu
1126
1127menu "EBIU_AMBCTL Control"
1128config BANK_0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001129 hex "Bank 0 (AMBCTL0.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001130 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001131 help
1132 These are the low 16 bits of the EBIU_AMBCTL0 MMR which are
1133 used to control the Asynchronous Memory Bank 0 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001134
1135config BANK_1
Mike Frysingerc8342f82009-03-31 00:18:35 +00001136 hex "Bank 1 (AMBCTL0.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001137 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +08001138 default 0x5558 if BF54x
Mike Frysingerc8342f82009-03-31 00:18:35 +00001139 help
1140 These are the high 16 bits of the EBIU_AMBCTL0 MMR which are
1141 used to control the Asynchronous Memory Bank 1 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001142
1143config BANK_2
Mike Frysingerc8342f82009-03-31 00:18:35 +00001144 hex "Bank 2 (AMBCTL1.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001145 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001146 help
1147 These are the low 16 bits of the EBIU_AMBCTL1 MMR which are
1148 used to control the Asynchronous Memory Bank 2 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001149
1150config BANK_3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001151 hex "Bank 3 (AMBCTL1.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001152 default 0x99B3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001153 help
1154 These are the high 16 bits of the EBIU_AMBCTL1 MMR which are
1155 used to control the Asynchronous Memory Bank 3 settings.
1156
Bryan Wu1394f032007-05-06 14:50:22 -07001157endmenu
1158
Sonic Zhange40540b2007-11-21 23:49:52 +08001159config EBIU_MBSCTLVAL
1160 hex "EBIU Bank Select Control Register"
1161 depends on BF54x
1162 default 0
1163
1164config EBIU_MODEVAL
1165 hex "Flash Memory Mode Control Register"
1166 depends on BF54x
1167 default 1
1168
1169config EBIU_FCTLVAL
1170 hex "Flash Memory Bank Control Register"
1171 depends on BF54x
1172 default 6
Bryan Wu1394f032007-05-06 14:50:22 -07001173endmenu
1174
1175#############################################################################
1176menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1177
1178config PCI
1179 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +08001180 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -07001181 help
1182 Support for PCI bus.
1183
1184source "drivers/pci/Kconfig"
1185
Bryan Wu1394f032007-05-06 14:50:22 -07001186source "drivers/pcmcia/Kconfig"
1187
1188source "drivers/pci/hotplug/Kconfig"
1189
1190endmenu
1191
1192menu "Executable file formats"
1193
1194source "fs/Kconfig.binfmt"
1195
1196endmenu
1197
1198menu "Power management options"
Graf Yangad461632009-08-07 03:52:54 +00001199
Bryan Wu1394f032007-05-06 14:50:22 -07001200source "kernel/power/Kconfig"
1201
Johannes Bergf4cb5702007-12-08 02:14:00 +01001202config ARCH_SUSPEND_POSSIBLE
1203 def_bool y
Johannes Bergf4cb5702007-12-08 02:14:00 +01001204
Bryan Wu1394f032007-05-06 14:50:22 -07001205choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001206 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -07001207 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001208 default PM_BFIN_SLEEP_DEEPER
1209config PM_BFIN_SLEEP_DEEPER
1210 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001211 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001212 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1213 power dissipation by disabling the clock to the processor core (CCLK).
1214 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1215 to 0.85 V to provide the greatest power savings, while preserving the
1216 processor state.
1217 The PLL and system clock (SCLK) continue to operate at a very low
1218 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1219 the SDRAM is put into Self Refresh Mode. Typically an external event
1220 such as GPIO interrupt or RTC activity wakes up the processor.
1221 Various Peripherals such as UART, SPORT, PPI may not function as
1222 normal during Sleep Deeper, due to the reduced SCLK frequency.
1223 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001224
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001225 If unsure, select "Sleep Deeper".
1226
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001227config PM_BFIN_SLEEP
1228 bool "Sleep"
1229 help
1230 Sleep Mode (High Power Savings) - The sleep mode reduces power
1231 dissipation by disabling the clock to the processor core (CCLK).
1232 The PLL and system clock (SCLK), however, continue to operate in
1233 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001234 up the processor. When in the sleep mode, system DMA access to L1
1235 memory is not supported.
1236
1237 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001238endchoice
1239
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001240comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1241 depends on PM
1242
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001243config PM_BFIN_WAKE_PH6
1244 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001245 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001246 default n
1247 help
1248 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1249
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001250config PM_BFIN_WAKE_GP
1251 bool "Allow Wake-Up from GPIOs"
1252 depends on PM && BF54x
1253 default n
1254 help
1255 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Michael Hennerich19986282009-03-05 16:45:55 +08001256 (all processors, except ADSP-BF549). This option sets
1257 the general-purpose wake-up enable (GPWE) control bit to enable
1258 wake-up upon detection of an active low signal on the /GPW (PH7) pin.
1259 On ADSP-BF549 this option enables the the same functionality on the
1260 /MRXON pin also PH7.
1261
Bryan Wu1394f032007-05-06 14:50:22 -07001262endmenu
1263
Bryan Wu1394f032007-05-06 14:50:22 -07001264menu "CPU Frequency scaling"
1265
1266source "drivers/cpufreq/Kconfig"
1267
Michael Hennerich5ad2ca52008-11-18 17:48:22 +08001268config BFIN_CPU_FREQ
1269 bool
1270 depends on CPU_FREQ
1271 select CPU_FREQ_TABLE
1272 default y
1273
Michael Hennerich14b03202008-05-07 11:41:26 +08001274config CPU_VOLTAGE
1275 bool "CPU Voltage scaling"
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001276 depends on EXPERIMENTAL
Michael Hennerich14b03202008-05-07 11:41:26 +08001277 depends on CPU_FREQ
1278 default n
1279 help
1280 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1281 This option violates the PLL BYPASS recommendation in the Blackfin Processor
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001282 manuals. There is a theoretical risk that during VDDINT transitions
Michael Hennerich14b03202008-05-07 11:41:26 +08001283 the PLL may unlock.
1284
Bryan Wu1394f032007-05-06 14:50:22 -07001285endmenu
1286
Bryan Wu1394f032007-05-06 14:50:22 -07001287source "net/Kconfig"
1288
1289source "drivers/Kconfig"
1290
Mike Frysinger872d0242009-10-06 04:49:07 +00001291source "drivers/firmware/Kconfig"
1292
Bryan Wu1394f032007-05-06 14:50:22 -07001293source "fs/Kconfig"
1294
Mike Frysinger74ce8322007-11-21 23:50:49 +08001295source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001296
1297source "security/Kconfig"
1298
1299source "crypto/Kconfig"
1300
1301source "lib/Kconfig"