blob: 10bdd8de0253e009a61ba8728c92101ced15d712 [file] [log] [blame]
Bryan Wu1394f032007-05-06 14:50:22 -07001#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
Mike Frysinger53f8a252007-11-15 15:48:01 +08006mainmenu "Blackfin Kernel Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -07007
Alan Jenkins9e1b9b82009-11-07 21:03:54 +00008config SYMBOL_PREFIX
9 string
10 default "_"
11
Bryan Wu1394f032007-05-06 14:50:22 -070012config MMU
Mike Frysingerbac7d892009-06-07 03:46:06 -040013 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -070014
15config FPU
Mike Frysingerbac7d892009-06-07 03:46:06 -040016 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -070017
18config RWSEM_GENERIC_SPINLOCK
Mike Frysingerbac7d892009-06-07 03:46:06 -040019 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070020
21config RWSEM_XCHGADD_ALGORITHM
Mike Frysingerbac7d892009-06-07 03:46:06 -040022 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -070023
24config BLACKFIN
Mike Frysingerbac7d892009-06-07 03:46:06 -040025 def_bool y
Mike Frysinger652afdc2010-01-25 22:12:32 +000026 select HAVE_ARCH_KGDB
Mike Frysingere8f263d2010-01-26 07:33:53 +000027 select HAVE_ARCH_TRACEHOOK
Mike Frysingerf5074422010-07-21 09:13:02 -040028 select HAVE_DYNAMIC_FTRACE
29 select HAVE_FTRACE_MCOUNT_RECORD
Mike Frysinger1ee76d72009-06-10 04:45:29 -040030 select HAVE_FUNCTION_GRAPH_TRACER
Mike Frysinger1c873be2009-06-09 07:25:09 -040031 select HAVE_FUNCTION_TRACER
Mike Frysingeraebfef02010-01-22 07:35:20 -050032 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
Sam Ravnborgec7748b2008-02-09 10:46:40 +010033 select HAVE_IDE
Barry Songd86bfb12010-01-07 04:11:17 +000034 select HAVE_KERNEL_GZIP if RAMKERNEL
35 select HAVE_KERNEL_BZIP2 if RAMKERNEL
36 select HAVE_KERNEL_LZMA if RAMKERNEL
Mike Frysinger67df6cc2010-07-19 05:37:54 +000037 select HAVE_KERNEL_LZO if RAMKERNEL
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050038 select HAVE_OPROFILE
Michael Hennericha4f0b32c2008-11-18 17:48:22 +080039 select ARCH_WANT_OPTIONAL_GPIOLIB
Bryan Wu1394f032007-05-06 14:50:22 -070040
Mike Frysingerddf9dda2009-06-13 07:42:58 -040041config GENERIC_CSUM
42 def_bool y
43
Mike Frysinger70f12562009-06-07 17:18:25 -040044config GENERIC_BUG
45 def_bool y
46 depends on BUG
47
Aubrey Lie3defff2007-05-21 18:09:11 +080048config ZONE_DMA
Mike Frysingerbac7d892009-06-07 03:46:06 -040049 def_bool y
Aubrey Lie3defff2007-05-21 18:09:11 +080050
Bryan Wu1394f032007-05-06 14:50:22 -070051config GENERIC_FIND_NEXT_BIT
Mike Frysingerbac7d892009-06-07 03:46:06 -040052 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070053
Bryan Wu1394f032007-05-06 14:50:22 -070054config GENERIC_HARDIRQS
Mike Frysingerbac7d892009-06-07 03:46:06 -040055 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070056
57config GENERIC_IRQ_PROBE
Mike Frysingerbac7d892009-06-07 03:46:06 -040058 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070059
Michael Hennerich796dada2009-09-30 07:54:40 +000060config GENERIC_HARDIRQS_NO__DO_IRQ
61 def_bool y
62
Michael Hennerichb2d15832007-07-24 15:46:36 +080063config GENERIC_GPIO
Mike Frysingerbac7d892009-06-07 03:46:06 -040064 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070065
66config FORCE_MAX_ZONEORDER
67 int
68 default "14"
69
70config GENERIC_CALIBRATE_DELAY
Mike Frysingerbac7d892009-06-07 03:46:06 -040071 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070072
Mike Frysinger6fa68e72009-06-08 18:45:01 -040073config LOCKDEP_SUPPORT
74 def_bool y
75
Mike Frysingerc7b412f2009-06-08 18:44:45 -040076config STACKTRACE_SUPPORT
77 def_bool y
78
Mike Frysinger8f860012009-06-08 12:49:48 -040079config TRACE_IRQFLAGS_SUPPORT
80 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070081
Bryan Wu1394f032007-05-06 14:50:22 -070082source "init/Kconfig"
Matt Helsleydc52ddc2008-10-18 20:27:21 -070083
Bryan Wu1394f032007-05-06 14:50:22 -070084source "kernel/Kconfig.preempt"
85
Matt Helsleydc52ddc2008-10-18 20:27:21 -070086source "kernel/Kconfig.freezer"
87
Bryan Wu1394f032007-05-06 14:50:22 -070088menu "Blackfin Processor Options"
89
90comment "Processor and Board Settings"
91
92choice
93 prompt "CPU"
94 default BF533
95
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080096config BF512
97 bool "BF512"
98 help
99 BF512 Processor Support.
100
101config BF514
102 bool "BF514"
103 help
104 BF514 Processor Support.
105
106config BF516
107 bool "BF516"
108 help
109 BF516 Processor Support.
110
111config BF518
112 bool "BF518"
113 help
114 BF518 Processor Support.
115
Michael Hennerich59003142007-10-21 16:54:27 +0800116config BF522
117 bool "BF522"
118 help
119 BF522 Processor Support.
120
Mike Frysinger1545a112007-12-24 16:54:48 +0800121config BF523
122 bool "BF523"
123 help
124 BF523 Processor Support.
125
126config BF524
127 bool "BF524"
128 help
129 BF524 Processor Support.
130
Michael Hennerich59003142007-10-21 16:54:27 +0800131config BF525
132 bool "BF525"
133 help
134 BF525 Processor Support.
135
Mike Frysinger1545a112007-12-24 16:54:48 +0800136config BF526
137 bool "BF526"
138 help
139 BF526 Processor Support.
140
Michael Hennerich59003142007-10-21 16:54:27 +0800141config BF527
142 bool "BF527"
143 help
144 BF527 Processor Support.
145
Bryan Wu1394f032007-05-06 14:50:22 -0700146config BF531
147 bool "BF531"
148 help
149 BF531 Processor Support.
150
151config BF532
152 bool "BF532"
153 help
154 BF532 Processor Support.
155
156config BF533
157 bool "BF533"
158 help
159 BF533 Processor Support.
160
161config BF534
162 bool "BF534"
163 help
164 BF534 Processor Support.
165
166config BF536
167 bool "BF536"
168 help
169 BF536 Processor Support.
170
171config BF537
172 bool "BF537"
173 help
174 BF537 Processor Support.
175
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800176config BF538
177 bool "BF538"
178 help
179 BF538 Processor Support.
180
181config BF539
182 bool "BF539"
183 help
184 BF539 Processor Support.
185
Mike Frysinger5df326a2009-11-16 23:49:41 +0000186config BF542_std
Roy Huang24a07a12007-07-12 22:41:45 +0800187 bool "BF542"
188 help
189 BF542 Processor Support.
190
Mike Frysinger2f89c062009-02-04 16:49:45 +0800191config BF542M
192 bool "BF542m"
193 help
194 BF542 Processor Support.
195
Mike Frysinger5df326a2009-11-16 23:49:41 +0000196config BF544_std
Roy Huang24a07a12007-07-12 22:41:45 +0800197 bool "BF544"
198 help
199 BF544 Processor Support.
200
Mike Frysinger2f89c062009-02-04 16:49:45 +0800201config BF544M
202 bool "BF544m"
203 help
204 BF544 Processor Support.
205
Mike Frysinger5df326a2009-11-16 23:49:41 +0000206config BF547_std
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800207 bool "BF547"
208 help
209 BF547 Processor Support.
210
Mike Frysinger2f89c062009-02-04 16:49:45 +0800211config BF547M
212 bool "BF547m"
213 help
214 BF547 Processor Support.
215
Mike Frysinger5df326a2009-11-16 23:49:41 +0000216config BF548_std
Roy Huang24a07a12007-07-12 22:41:45 +0800217 bool "BF548"
218 help
219 BF548 Processor Support.
220
Mike Frysinger2f89c062009-02-04 16:49:45 +0800221config BF548M
222 bool "BF548m"
223 help
224 BF548 Processor Support.
225
Mike Frysinger5df326a2009-11-16 23:49:41 +0000226config BF549_std
Roy Huang24a07a12007-07-12 22:41:45 +0800227 bool "BF549"
228 help
229 BF549 Processor Support.
230
Mike Frysinger2f89c062009-02-04 16:49:45 +0800231config BF549M
232 bool "BF549m"
233 help
234 BF549 Processor Support.
235
Bryan Wu1394f032007-05-06 14:50:22 -0700236config BF561
237 bool "BF561"
238 help
Mike Frysingercd88b4d2008-10-09 12:03:22 +0800239 BF561 Processor Support.
Bryan Wu1394f032007-05-06 14:50:22 -0700240
241endchoice
242
Graf Yang46fa5ee2009-01-07 23:14:39 +0800243config SMP
244 depends on BF561
Yi Li0d152c22009-12-28 10:21:49 +0000245 select TICKSOURCE_CORETMR
Graf Yang46fa5ee2009-01-07 23:14:39 +0800246 bool "Symmetric multi-processing support"
247 ---help---
248 This enables support for systems with more than one CPU,
249 like the dual core BF561. If you have a system with only one
250 CPU, say N. If you have a system with more than one CPU, say Y.
251
252 If you don't know what to do here, say N.
253
254config NR_CPUS
255 int
256 depends on SMP
257 default 2 if BF561
258
Graf Yang0b39db22009-12-28 11:13:51 +0000259config HOTPLUG_CPU
260 bool "Support for hot-pluggable CPUs"
261 depends on SMP && HOTPLUG
262 default y
263
Graf Yang46fa5ee2009-01-07 23:14:39 +0800264config IRQ_PER_CPU
265 bool
266 depends on SMP
267 default y
268
Graf Yangead9b112009-12-14 08:01:08 +0000269config HAVE_LEGACY_PER_CPU_AREA
270 def_bool y
271 depends on SMP
272
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800273config BF_REV_MIN
274 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800275 default 0 if (BF51x || BF52x || (BF54x && !BF54xM))
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800276 default 2 if (BF537 || BF536 || BF534)
Mike Frysinger2f89c062009-02-04 16:49:45 +0800277 default 3 if (BF561 || BF533 || BF532 || BF531 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800278 default 4 if (BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800279
280config BF_REV_MAX
281 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800282 default 2 if (BF51x || BF52x || (BF54x && !BF54xM))
283 default 3 if (BF537 || BF536 || BF534 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800284 default 5 if (BF561 || BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800285 default 6 if (BF533 || BF532 || BF531)
286
Bryan Wu1394f032007-05-06 14:50:22 -0700287choice
288 prompt "Silicon Rev"
Mike Frysingerf8b55652009-04-13 21:58:34 +0000289 default BF_REV_0_0 if (BF51x || BF52x)
290 default BF_REV_0_2 if (BF534 || BF536 || BF537 || (BF54x && !BF54xM))
Mike Frysinger2f89c062009-02-04 16:49:45 +0800291 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF54xM || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800292
293config BF_REV_0_0
294 bool "0.0"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800295 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Michael Hennerich59003142007-10-21 16:54:27 +0800296
297config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800298 bool "0.1"
Mike Frysinger3d15f302009-06-15 16:21:44 +0000299 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700300
301config BF_REV_0_2
302 bool "0.2"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800303 depends on (BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700304
305config BF_REV_0_3
306 bool "0.3"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800307 depends on (BF54xM || BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
Bryan Wu1394f032007-05-06 14:50:22 -0700308
309config BF_REV_0_4
310 bool "0.4"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800311 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700312
313config BF_REV_0_5
314 bool "0.5"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800315 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700316
Mike Frysinger49f72532008-10-09 12:06:27 +0800317config BF_REV_0_6
318 bool "0.6"
319 depends on (BF533 || BF532 || BF531)
320
Jie Zhangde3025f2007-06-25 18:04:12 +0800321config BF_REV_ANY
322 bool "any"
323
324config BF_REV_NONE
325 bool "none"
326
Bryan Wu1394f032007-05-06 14:50:22 -0700327endchoice
328
Roy Huang24a07a12007-07-12 22:41:45 +0800329config BF53x
330 bool
331 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
332 default y
333
Bryan Wu1394f032007-05-06 14:50:22 -0700334config MEM_GENERIC_BOARD
335 bool
336 depends on GENERIC_BOARD
337 default y
338
339config MEM_MT48LC64M4A2FB_7E
340 bool
341 depends on (BFIN533_STAMP)
342 default y
343
344config MEM_MT48LC16M16A2TG_75
345 bool
346 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000347 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM_E \
348 || BFIN537_BLUETECHNIX_CM_U || H8606_HVSISTEMAS \
349 || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700350 default y
351
352config MEM_MT48LC32M8A2_75
353 bool
Mike Frysinger084f9eb2010-05-20 04:26:54 +0000354 depends on (BFIN518F_EZBRD || BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700355 default y
356
357config MEM_MT48LC8M32B2B5_7
358 bool
359 depends on (BFIN561_BLUETECHNIX_CM)
360 default y
361
Michael Hennerich59003142007-10-21 16:54:27 +0800362config MEM_MT48LC32M16A2TG_75
363 bool
Michael Hennerich6924dfb2009-12-07 13:41:28 +0000364 depends on (BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN532_IP0X || BLACKSTAMP)
Michael Hennerich59003142007-10-21 16:54:27 +0800365 default y
366
Graf Yangee48efb2009-06-18 04:32:04 +0000367config MEM_MT48H32M16LFCJ_75
368 bool
369 depends on (BFIN526_EZBRD)
370 default y
371
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800372source "arch/blackfin/mach-bf518/Kconfig"
Michael Hennerich59003142007-10-21 16:54:27 +0800373source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700374source "arch/blackfin/mach-bf533/Kconfig"
375source "arch/blackfin/mach-bf561/Kconfig"
376source "arch/blackfin/mach-bf537/Kconfig"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800377source "arch/blackfin/mach-bf538/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800378source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700379
380menu "Board customizations"
381
382config CMDLINE_BOOL
383 bool "Default bootloader kernel arguments"
384
385config CMDLINE
386 string "Initial kernel command string"
387 depends on CMDLINE_BOOL
388 default "console=ttyBF0,57600"
389 help
390 If you don't have a boot loader capable of passing a command line string
391 to the kernel, you may specify one here. As a minimum, you should specify
392 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
393
Mike Frysinger5f004c22008-04-25 02:11:24 +0800394config BOOT_LOAD
395 hex "Kernel load address for booting"
396 default "0x1000"
397 range 0x1000 0x20000000
398 help
399 This option allows you to set the load address of the kernel.
400 This can be useful if you are on a board which has a small amount
401 of memory or you wish to reserve some memory at the beginning of
402 the address space.
403
404 Note that you need to keep this value above 4k (0x1000) as this
405 memory region is used to capture NULL pointer references as well
406 as some core kernel functions.
407
Michael Hennerich8cc71172008-10-13 14:45:06 +0800408config ROM_BASE
409 hex "Kernel ROM Base"
Mike Frysinger86249912008-11-18 17:48:22 +0800410 depends on ROMKERNEL
Barry Songd86bfb12010-01-07 04:11:17 +0000411 default "0x20040040"
Michael Hennerich8cc71172008-10-13 14:45:06 +0800412 range 0x20000000 0x20400000 if !(BF54x || BF561)
413 range 0x20000000 0x30000000 if (BF54x || BF561)
414 help
Barry Songd86bfb12010-01-07 04:11:17 +0000415 Make sure your ROM base does not include any file-header
416 information that is prepended to the kernel.
417
418 For example, the bootable U-Boot format (created with
419 mkimage) has a 64 byte header (0x40). So while the image
420 you write to flash might start at say 0x20080000, you have
421 to add 0x40 to get the kernel's ROM base as it will come
422 after the header.
Michael Hennerich8cc71172008-10-13 14:45:06 +0800423
Robin Getzf16295e2007-08-03 18:07:17 +0800424comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700425
426config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800427 int "Frequency of the crystal on the board in Hz"
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800428 default "10000000" if BFIN532_IP0X
Mike Frysingerd0cb9b42009-06-11 21:52:35 +0000429 default "11059200" if BFIN533_STAMP
430 default "24576000" if PNAV10
431 default "25000000" # most people use this
432 default "27000000" if BFIN533_EZKIT
433 default "30000000" if BFIN561_EZKIT
Bryan Wu1394f032007-05-06 14:50:22 -0700434 help
435 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800436 Warning: This value should match the crystal on the board. Otherwise,
437 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700438
Robin Getzf16295e2007-08-03 18:07:17 +0800439config BFIN_KERNEL_CLOCK
440 bool "Re-program Clocks while Kernel boots?"
441 default n
442 help
443 This option decides if kernel clocks are re-programed from the
444 bootloader settings. If the clocks are not set, the SDRAM settings
445 are also not changed, and the Bootloader does 100% of the hardware
446 configuration.
447
448config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800449 bool "Bypass PLL"
450 depends on BFIN_KERNEL_CLOCK
451 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800452
453config CLKIN_HALF
454 bool "Half Clock In"
455 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
456 default n
457 help
458 If this is set the clock will be divided by 2, before it goes to the PLL.
459
460config VCO_MULT
461 int "VCO Multiplier"
462 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
463 range 1 64
464 default "22" if BFIN533_EZKIT
465 default "45" if BFIN533_STAMP
Michael Hennerich6924dfb2009-12-07 13:41:28 +0000466 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800467 default "22" if BFIN533_BLUETECHNIX_CM
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000468 default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800469 default "20" if BFIN561_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800470 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
Robin Getzf16295e2007-08-03 18:07:17 +0800471 help
472 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
473 PLL Frequency = (Crystal Frequency) * (this setting)
474
475choice
476 prompt "Core Clock Divider"
477 depends on BFIN_KERNEL_CLOCK
478 default CCLK_DIV_1
479 help
480 This sets the frequency of the core. It can be 1, 2, 4 or 8
481 Core Frequency = (PLL frequency) / (this setting)
482
483config CCLK_DIV_1
484 bool "1"
485
486config CCLK_DIV_2
487 bool "2"
488
489config CCLK_DIV_4
490 bool "4"
491
492config CCLK_DIV_8
493 bool "8"
494endchoice
495
496config SCLK_DIV
497 int "System Clock Divider"
498 depends on BFIN_KERNEL_CLOCK
499 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800500 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800501 help
502 This sets the frequency of the system clock (including SDRAM or DDR).
503 This can be between 1 and 15
504 System Clock = (PLL frequency) / (this setting)
505
Mike Frysinger5f004c22008-04-25 02:11:24 +0800506choice
507 prompt "DDR SDRAM Chip Type"
508 depends on BFIN_KERNEL_CLOCK
509 depends on BF54x
510 default MEM_MT46V32M16_5B
511
512config MEM_MT46V32M16_6T
513 bool "MT46V32M16_6T"
514
515config MEM_MT46V32M16_5B
516 bool "MT46V32M16_5B"
517endchoice
518
Michael Hennerich73feb5c2009-01-07 23:14:39 +0800519choice
520 prompt "DDR/SDRAM Timing"
521 depends on BFIN_KERNEL_CLOCK
522 default BFIN_KERNEL_CLOCK_MEMINIT_CALC
523 help
524 This option allows you to specify Blackfin SDRAM/DDR Timing parameters
525 The calculated SDRAM timing parameters may not be 100%
526 accurate - This option is therefore marked experimental.
527
528config BFIN_KERNEL_CLOCK_MEMINIT_CALC
529 bool "Calculate Timings (EXPERIMENTAL)"
530 depends on EXPERIMENTAL
531
532config BFIN_KERNEL_CLOCK_MEMINIT_SPEC
533 bool "Provide accurate Timings based on target SCLK"
534 help
535 Please consult the Blackfin Hardware Reference Manuals as well
536 as the memory device datasheet.
537 http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram
538endchoice
539
540menu "Memory Init Control"
541 depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC
542
543config MEM_DDRCTL0
544 depends on BF54x
545 hex "DDRCTL0"
546 default 0x0
547
548config MEM_DDRCTL1
549 depends on BF54x
550 hex "DDRCTL1"
551 default 0x0
552
553config MEM_DDRCTL2
554 depends on BF54x
555 hex "DDRCTL2"
556 default 0x0
557
558config MEM_EBIU_DDRQUE
559 depends on BF54x
560 hex "DDRQUE"
561 default 0x0
562
563config MEM_SDRRC
564 depends on !BF54x
565 hex "SDRRC"
566 default 0x0
567
568config MEM_SDGCTL
569 depends on !BF54x
570 hex "SDGCTL"
571 default 0x0
572endmenu
573
Robin Getzf16295e2007-08-03 18:07:17 +0800574#
575# Max & Min Speeds for various Chips
576#
577config MAX_VCO_HZ
578 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800579 default 400000000 if BF512
580 default 400000000 if BF514
581 default 400000000 if BF516
582 default 400000000 if BF518
Mike Frysinger7b062632009-08-11 21:27:09 +0000583 default 400000000 if BF522
584 default 600000000 if BF523
Mike Frysinger1545a112007-12-24 16:54:48 +0800585 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800586 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800587 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800588 default 600000000 if BF527
589 default 400000000 if BF531
590 default 400000000 if BF532
591 default 750000000 if BF533
592 default 500000000 if BF534
593 default 400000000 if BF536
594 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800595 default 533333333 if BF538
596 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800597 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800598 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800599 default 600000000 if BF547
600 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800601 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800602 default 600000000 if BF561
603
604config MIN_VCO_HZ
605 int
606 default 50000000
607
608config MAX_SCLK_HZ
609 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800610 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800611
612config MIN_SCLK_HZ
613 int
614 default 27000000
615
616comment "Kernel Timer/Scheduler"
617
618source kernel/Kconfig.hz
619
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800620config GENERIC_TIME
john stultz10f03f12009-09-15 21:17:19 -0700621 def_bool y
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800622
623config GENERIC_CLOCKEVENTS
624 bool "Generic clock events"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800625 default y
626
Yi Li0d152c22009-12-28 10:21:49 +0000627menu "Clock event device"
Graf Yang1fa9be72009-05-15 11:01:59 +0000628 depends on GENERIC_CLOCKEVENTS
Graf Yang1fa9be72009-05-15 11:01:59 +0000629config TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000630 bool "GPTimer0"
631 depends on !SMP
Graf Yang1fa9be72009-05-15 11:01:59 +0000632 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000633
634config TICKSOURCE_CORETMR
Yi Li0d152c22009-12-28 10:21:49 +0000635 bool "Core timer"
636 default y
637endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000638
Yi Li0d152c22009-12-28 10:21:49 +0000639menu "Clock souce"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800640 depends on GENERIC_CLOCKEVENTS
Yi Li0d152c22009-12-28 10:21:49 +0000641config CYCLES_CLOCKSOURCE
642 bool "CYCLES"
643 default y
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800644 depends on !BFIN_SCRATCH_REG_CYCLES
Graf Yang1fa9be72009-05-15 11:01:59 +0000645 depends on !SMP
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800646 help
647 If you say Y here, you will enable support for using the 'cycles'
648 registers as a clock source. Doing so means you will be unable to
649 safely write to the 'cycles' register during runtime. You will
650 still be able to read it (such as for performance monitoring), but
651 writing the registers will most likely crash the kernel.
652
Graf Yang1fa9be72009-05-15 11:01:59 +0000653config GPTMR0_CLOCKSOURCE
Yi Li0d152c22009-12-28 10:21:49 +0000654 bool "GPTimer0"
Mike Frysinger3aca47c2009-06-18 19:40:47 +0000655 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000656 depends on !TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000657endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000658
john stultz10f03f12009-09-15 21:17:19 -0700659config ARCH_USES_GETTIMEOFFSET
660 depends on !GENERIC_CLOCKEVENTS
661 def_bool y
662
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800663source kernel/time/Kconfig
664
Mike Frysinger5f004c22008-04-25 02:11:24 +0800665comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800666
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800667choice
668 prompt "Blackfin Exception Scratch Register"
669 default BFIN_SCRATCH_REG_RETN
670 help
671 Select the resource to reserve for the Exception handler:
672 - RETN: Non-Maskable Interrupt (NMI)
673 - RETE: Exception Return (JTAG/ICE)
674 - CYCLES: Performance counter
675
676 If you are unsure, please select "RETN".
677
678config BFIN_SCRATCH_REG_RETN
679 bool "RETN"
680 help
681 Use the RETN register in the Blackfin exception handler
682 as a stack scratch register. This means you cannot
683 safely use NMI on the Blackfin while running Linux, but
684 you can debug the system with a JTAG ICE and use the
685 CYCLES performance registers.
686
687 If you are unsure, please select "RETN".
688
689config BFIN_SCRATCH_REG_RETE
690 bool "RETE"
691 help
692 Use the RETE register in the Blackfin exception handler
693 as a stack scratch register. This means you cannot
694 safely use a JTAG ICE while debugging a Blackfin board,
695 but you can safely use the CYCLES performance registers
696 and the NMI.
697
698 If you are unsure, please select "RETN".
699
700config BFIN_SCRATCH_REG_CYCLES
701 bool "CYCLES"
702 help
703 Use the CYCLES register in the Blackfin exception handler
704 as a stack scratch register. This means you cannot
705 safely use the CYCLES performance registers on a Blackfin
706 board at anytime, but you can debug the system with a JTAG
707 ICE and use the NMI.
708
709 If you are unsure, please select "RETN".
710
711endchoice
712
Bryan Wu1394f032007-05-06 14:50:22 -0700713endmenu
714
715
716menu "Blackfin Kernel Optimizations"
Graf Yang46fa5ee2009-01-07 23:14:39 +0800717 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700718
Bryan Wu1394f032007-05-06 14:50:22 -0700719comment "Memory Optimizations"
720
721config I_ENTRY_L1
722 bool "Locate interrupt entry code in L1 Memory"
723 default y
724 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200725 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
726 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700727
728config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200729 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700730 default y
731 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200732 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800733 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200734 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700735
736config DO_IRQ_L1
737 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
738 default y
739 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200740 If enabled, the frequently called do_irq dispatcher function is linked
741 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700742
743config CORE_TIMER_IRQ_L1
744 bool "Locate frequently called timer_interrupt() function in L1 Memory"
745 default y
746 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200747 If enabled, the frequently called timer_interrupt() function is linked
748 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700749
750config IDLE_L1
751 bool "Locate frequently idle function in L1 Memory"
752 default y
753 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200754 If enabled, the frequently called idle function is linked
755 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700756
757config SCHEDULE_L1
758 bool "Locate kernel schedule function in L1 Memory"
759 default y
760 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200761 If enabled, the frequently called kernel schedule is linked
762 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700763
764config ARITHMETIC_OPS_L1
765 bool "Locate kernel owned arithmetic functions in L1 Memory"
766 default y
767 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200768 If enabled, arithmetic functions are linked
769 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700770
771config ACCESS_OK_L1
772 bool "Locate access_ok function in L1 Memory"
773 default y
774 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200775 If enabled, the access_ok function is linked
776 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700777
778config MEMSET_L1
779 bool "Locate memset function in L1 Memory"
780 default y
781 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200782 If enabled, the memset function is linked
783 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700784
785config MEMCPY_L1
786 bool "Locate memcpy function in L1 Memory"
787 default y
788 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200789 If enabled, the memcpy function is linked
790 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700791
Robin Getz479ba602010-05-03 17:23:20 +0000792config STRCMP_L1
793 bool "locate strcmp function in L1 Memory"
794 default y
795 help
796 If enabled, the strcmp function is linked
797 into L1 instruction memory (less latency).
798
799config STRNCMP_L1
800 bool "locate strncmp function in L1 Memory"
801 default y
802 help
803 If enabled, the strncmp function is linked
804 into L1 instruction memory (less latency).
805
806config STRCPY_L1
807 bool "locate strcpy function in L1 Memory"
808 default y
809 help
810 If enabled, the strcpy function is linked
811 into L1 instruction memory (less latency).
812
813config STRNCPY_L1
814 bool "locate strncpy function in L1 Memory"
815 default y
816 help
817 If enabled, the strncpy function is linked
818 into L1 instruction memory (less latency).
819
Bryan Wu1394f032007-05-06 14:50:22 -0700820config SYS_BFIN_SPINLOCK_L1
821 bool "Locate sys_bfin_spinlock function in L1 Memory"
822 default y
823 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200824 If enabled, sys_bfin_spinlock function is linked
825 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700826
827config IP_CHECKSUM_L1
828 bool "Locate IP Checksum function in L1 Memory"
829 default n
830 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200831 If enabled, the IP Checksum function is linked
832 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700833
834config CACHELINE_ALIGNED_L1
835 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800836 default y if !BF54x
837 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700838 depends on !BF531
839 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100840 If enabled, cacheline_aligned data is linked
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200841 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700842
843config SYSCALL_TAB_L1
844 bool "Locate Syscall Table L1 Data Memory"
845 default n
846 depends on !BF531
847 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200848 If enabled, the Syscall LUT is linked
849 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700850
851config CPLB_SWITCH_TAB_L1
852 bool "Locate CPLB Switch Tables L1 Data Memory"
853 default n
854 depends on !BF531
855 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200856 If enabled, the CPLB Switch Tables are linked
857 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700858
Mike Frysinger74181292010-05-27 22:46:46 +0000859config CACHE_FLUSH_L1
860 bool "Locate cache flush funcs in L1 Inst Memory"
861 default y
862 help
863 If enabled, the Blackfin cache flushing functions are linked
864 into L1 instruction memory.
865
866 Note that this might be required to address anomalies, but
867 these functions are pretty small, so it shouldn't be too bad.
868 If you are using a processor affected by an anomaly, the build
869 system will double check for you and prevent it.
870
Graf Yangca87b7a2008-10-08 17:30:01 +0800871config APP_STACK_L1
872 bool "Support locating application stack in L1 Scratch Memory"
873 default y
874 help
875 If enabled the application stack can be located in L1
876 scratch memory (less latency).
877
878 Currently only works with FLAT binaries.
879
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800880config EXCEPTION_L1_SCRATCH
881 bool "Locate exception stack in L1 Scratch Memory"
882 default n
Graf Yangf82e0a02009-04-08 08:30:22 +0000883 depends on !APP_STACK_L1
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800884 help
885 Whenever an exception occurs, use the L1 Scratch memory for
886 stack storage. You cannot place the stacks of FLAT binaries
887 in L1 when using this option.
888
889 If you don't use L1 Scratch, then you should say Y here.
890
Robin Getz251383c2008-08-14 15:12:55 +0800891comment "Speed Optimizations"
892config BFIN_INS_LOWOVERHEAD
893 bool "ins[bwl] low overhead, higher interrupt latency"
894 default y
895 help
896 Reads on the Blackfin are speculative. In Blackfin terms, this means
897 they can be interrupted at any time (even after they have been issued
898 on to the external bus), and re-issued after the interrupt occurs.
899 For memory - this is not a big deal, since memory does not change if
900 it sees a read.
901
902 If a FIFO is sitting on the end of the read, it will see two reads,
903 when the core only sees one since the FIFO receives both the read
904 which is cancelled (and not delivered to the core) and the one which
905 is re-issued (which is delivered to the core).
906
907 To solve this, interrupts are turned off before reads occur to
908 I/O space. This option controls which the overhead/latency of
909 controlling interrupts during this time
910 "n" turns interrupts off every read
911 (higher overhead, but lower interrupt latency)
912 "y" turns interrupts off every loop
913 (low overhead, but longer interrupt latency)
914
915 default behavior is to leave this set to on (type "Y"). If you are experiencing
916 interrupt latency issues, it is safe and OK to turn this off.
917
Bryan Wu1394f032007-05-06 14:50:22 -0700918endmenu
919
Bryan Wu1394f032007-05-06 14:50:22 -0700920choice
921 prompt "Kernel executes from"
922 help
923 Choose the memory type that the kernel will be running in.
924
925config RAMKERNEL
926 bool "RAM"
927 help
928 The kernel will be resident in RAM when running.
929
930config ROMKERNEL
931 bool "ROM"
932 help
933 The kernel will be resident in FLASH/ROM when running.
934
935endchoice
936
937source "mm/Kconfig"
938
Mike Frysinger780431e2007-10-21 23:37:54 +0800939config BFIN_GPTIMERS
940 tristate "Enable Blackfin General Purpose Timers API"
941 default n
942 help
943 Enable support for the General Purpose Timers API. If you
944 are unsure, say N.
945
946 To compile this driver as a module, choose M here: the module
Pavel Machek4737f092009-06-05 00:44:53 +0200947 will be called gptimers.
Mike Frysinger780431e2007-10-21 23:37:54 +0800948
Bryan Wu1394f032007-05-06 14:50:22 -0700949choice
Mike Frysingerd292b002008-10-28 11:15:36 +0800950 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700951 default DMA_UNCACHED_1M
Cliff Cai86ad7932008-05-17 16:36:52 +0800952config DMA_UNCACHED_4M
953 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700954config DMA_UNCACHED_2M
955 bool "Enable 2M DMA region"
956config DMA_UNCACHED_1M
957 bool "Enable 1M DMA region"
Barry Songc45c0652009-12-02 09:13:36 +0000958config DMA_UNCACHED_512K
959 bool "Enable 512K DMA region"
960config DMA_UNCACHED_256K
961 bool "Enable 256K DMA region"
962config DMA_UNCACHED_128K
963 bool "Enable 128K DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700964config DMA_UNCACHED_NONE
965 bool "Disable DMA region"
966endchoice
967
968
969comment "Cache Support"
Jie Zhang41ba6532009-06-16 09:48:33 +0000970
Robin Getz3bebca22007-10-10 23:55:26 +0800971config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700972 bool "Enable ICACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000973 default y
Jie Zhang41ba6532009-06-16 09:48:33 +0000974config BFIN_EXTMEM_ICACHEABLE
975 bool "Enable ICACHE for external memory"
976 depends on BFIN_ICACHE
977 default y
978config BFIN_L2_ICACHEABLE
979 bool "Enable ICACHE for L2 SRAM"
980 depends on BFIN_ICACHE
981 depends on BF54x || BF561
982 default n
983
Robin Getz3bebca22007-10-10 23:55:26 +0800984config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700985 bool "Enable DCACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000986 default y
Robin Getz3bebca22007-10-10 23:55:26 +0800987config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700988 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800989 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700990 default n
Jie Zhang41ba6532009-06-16 09:48:33 +0000991config BFIN_EXTMEM_DCACHEABLE
992 bool "Enable DCACHE for external memory"
Robin Getz3bebca22007-10-10 23:55:26 +0800993 depends on BFIN_DCACHE
Jie Zhang41ba6532009-06-16 09:48:33 +0000994 default y
Graf Yang5ba76672009-05-07 04:09:15 +0000995choice
Jie Zhang41ba6532009-06-16 09:48:33 +0000996 prompt "External memory DCACHE policy"
997 depends on BFIN_EXTMEM_DCACHEABLE
998 default BFIN_EXTMEM_WRITEBACK if !SMP
999 default BFIN_EXTMEM_WRITETHROUGH if SMP
1000config BFIN_EXTMEM_WRITEBACK
Graf Yang5ba76672009-05-07 04:09:15 +00001001 bool "Write back"
1002 depends on !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001003 help
1004 Write Back Policy:
1005 Cached data will be written back to SDRAM only when needed.
1006 This can give a nice increase in performance, but beware of
1007 broken drivers that do not properly invalidate/flush their
1008 cache.
Graf Yang5ba76672009-05-07 04:09:15 +00001009
Jie Zhang41ba6532009-06-16 09:48:33 +00001010 Write Through Policy:
1011 Cached data will always be written back to SDRAM when the
1012 cache is updated. This is a completely safe setting, but
1013 performance is worse than Write Back.
1014
1015 If you are unsure of the options and you want to be safe,
1016 then go with Write Through.
1017
1018config BFIN_EXTMEM_WRITETHROUGH
Graf Yang5ba76672009-05-07 04:09:15 +00001019 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001020 help
1021 Write Back Policy:
1022 Cached data will be written back to SDRAM only when needed.
1023 This can give a nice increase in performance, but beware of
1024 broken drivers that do not properly invalidate/flush their
1025 cache.
Graf Yang5ba76672009-05-07 04:09:15 +00001026
Jie Zhang41ba6532009-06-16 09:48:33 +00001027 Write Through Policy:
1028 Cached data will always be written back to SDRAM when the
1029 cache is updated. This is a completely safe setting, but
1030 performance is worse than Write Back.
1031
1032 If you are unsure of the options and you want to be safe,
1033 then go with Write Through.
Graf Yang5ba76672009-05-07 04:09:15 +00001034
1035endchoice
Sonic Zhangf099f392008-10-09 14:11:57 +08001036
Jie Zhang41ba6532009-06-16 09:48:33 +00001037config BFIN_L2_DCACHEABLE
1038 bool "Enable DCACHE for L2 SRAM"
1039 depends on BFIN_DCACHE
Sonic Zhang9c954f82009-06-30 09:48:03 +00001040 depends on (BF54x || BF561) && !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001041 default n
1042choice
1043 prompt "L2 SRAM DCACHE policy"
1044 depends on BFIN_L2_DCACHEABLE
1045 default BFIN_L2_WRITEBACK
1046config BFIN_L2_WRITEBACK
1047 bool "Write back"
Jie Zhang41ba6532009-06-16 09:48:33 +00001048
1049config BFIN_L2_WRITETHROUGH
1050 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001051endchoice
1052
1053
1054comment "Memory Protection Unit"
Bernd Schmidtb97b8a92008-01-27 18:39:16 +08001055config MPU
1056 bool "Enable the memory protection unit (EXPERIMENTAL)"
1057 default n
1058 help
1059 Use the processor's MPU to protect applications from accessing
1060 memory they do not own. This comes at a performance penalty
1061 and is recommended only for debugging.
1062
Matt LaPlante692105b2009-01-26 11:12:25 +01001063comment "Asynchronous Memory Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -07001064
Mike Frysingerddf416b2007-10-10 18:06:47 +08001065menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -07001066config C_AMCKEN
1067 bool "Enable CLKOUT"
1068 default y
1069
1070config C_CDPRIO
1071 bool "DMA has priority over core for ext. accesses"
1072 default n
1073
1074config C_B0PEN
1075 depends on BF561
1076 bool "Bank 0 16 bit packing enable"
1077 default y
1078
1079config C_B1PEN
1080 depends on BF561
1081 bool "Bank 1 16 bit packing enable"
1082 default y
1083
1084config C_B2PEN
1085 depends on BF561
1086 bool "Bank 2 16 bit packing enable"
1087 default y
1088
1089config C_B3PEN
1090 depends on BF561
1091 bool "Bank 3 16 bit packing enable"
1092 default n
1093
1094choice
Matt LaPlante692105b2009-01-26 11:12:25 +01001095 prompt "Enable Asynchronous Memory Banks"
Bryan Wu1394f032007-05-06 14:50:22 -07001096 default C_AMBEN_ALL
1097
1098config C_AMBEN
1099 bool "Disable All Banks"
1100
1101config C_AMBEN_B0
1102 bool "Enable Bank 0"
1103
1104config C_AMBEN_B0_B1
1105 bool "Enable Bank 0 & 1"
1106
1107config C_AMBEN_B0_B1_B2
1108 bool "Enable Bank 0 & 1 & 2"
1109
1110config C_AMBEN_ALL
1111 bool "Enable All Banks"
1112endchoice
1113endmenu
1114
1115menu "EBIU_AMBCTL Control"
1116config BANK_0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001117 hex "Bank 0 (AMBCTL0.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001118 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001119 help
1120 These are the low 16 bits of the EBIU_AMBCTL0 MMR which are
1121 used to control the Asynchronous Memory Bank 0 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001122
1123config BANK_1
Mike Frysingerc8342f82009-03-31 00:18:35 +00001124 hex "Bank 1 (AMBCTL0.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001125 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +08001126 default 0x5558 if BF54x
Mike Frysingerc8342f82009-03-31 00:18:35 +00001127 help
1128 These are the high 16 bits of the EBIU_AMBCTL0 MMR which are
1129 used to control the Asynchronous Memory Bank 1 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001130
1131config BANK_2
Mike Frysingerc8342f82009-03-31 00:18:35 +00001132 hex "Bank 2 (AMBCTL1.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_AMBCTL1 MMR which are
1136 used to control the Asynchronous Memory Bank 2 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001137
1138config BANK_3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001139 hex "Bank 3 (AMBCTL1.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001140 default 0x99B3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001141 help
1142 These are the high 16 bits of the EBIU_AMBCTL1 MMR which are
1143 used to control the Asynchronous Memory Bank 3 settings.
1144
Bryan Wu1394f032007-05-06 14:50:22 -07001145endmenu
1146
Sonic Zhange40540b2007-11-21 23:49:52 +08001147config EBIU_MBSCTLVAL
1148 hex "EBIU Bank Select Control Register"
1149 depends on BF54x
1150 default 0
1151
1152config EBIU_MODEVAL
1153 hex "Flash Memory Mode Control Register"
1154 depends on BF54x
1155 default 1
1156
1157config EBIU_FCTLVAL
1158 hex "Flash Memory Bank Control Register"
1159 depends on BF54x
1160 default 6
Bryan Wu1394f032007-05-06 14:50:22 -07001161endmenu
1162
1163#############################################################################
1164menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1165
1166config PCI
1167 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +08001168 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -07001169 help
1170 Support for PCI bus.
1171
1172source "drivers/pci/Kconfig"
1173
Bryan Wu1394f032007-05-06 14:50:22 -07001174source "drivers/pcmcia/Kconfig"
1175
1176source "drivers/pci/hotplug/Kconfig"
1177
1178endmenu
1179
1180menu "Executable file formats"
1181
1182source "fs/Kconfig.binfmt"
1183
1184endmenu
1185
1186menu "Power management options"
Graf Yangad461632009-08-07 03:52:54 +00001187
Bryan Wu1394f032007-05-06 14:50:22 -07001188source "kernel/power/Kconfig"
1189
Johannes Bergf4cb5702007-12-08 02:14:00 +01001190config ARCH_SUSPEND_POSSIBLE
1191 def_bool y
Johannes Bergf4cb5702007-12-08 02:14:00 +01001192
Bryan Wu1394f032007-05-06 14:50:22 -07001193choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001194 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -07001195 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001196 default PM_BFIN_SLEEP_DEEPER
1197config PM_BFIN_SLEEP_DEEPER
1198 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001199 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001200 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1201 power dissipation by disabling the clock to the processor core (CCLK).
1202 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1203 to 0.85 V to provide the greatest power savings, while preserving the
1204 processor state.
1205 The PLL and system clock (SCLK) continue to operate at a very low
1206 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1207 the SDRAM is put into Self Refresh Mode. Typically an external event
1208 such as GPIO interrupt or RTC activity wakes up the processor.
1209 Various Peripherals such as UART, SPORT, PPI may not function as
1210 normal during Sleep Deeper, due to the reduced SCLK frequency.
1211 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001212
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001213 If unsure, select "Sleep Deeper".
1214
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001215config PM_BFIN_SLEEP
1216 bool "Sleep"
1217 help
1218 Sleep Mode (High Power Savings) - The sleep mode reduces power
1219 dissipation by disabling the clock to the processor core (CCLK).
1220 The PLL and system clock (SCLK), however, continue to operate in
1221 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001222 up the processor. When in the sleep mode, system DMA access to L1
1223 memory is not supported.
1224
1225 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001226endchoice
1227
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001228comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1229 depends on PM
1230
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001231config PM_BFIN_WAKE_PH6
1232 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001233 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001234 default n
1235 help
1236 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1237
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001238config PM_BFIN_WAKE_GP
1239 bool "Allow Wake-Up from GPIOs"
1240 depends on PM && BF54x
1241 default n
1242 help
1243 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Michael Hennerich19986282009-03-05 16:45:55 +08001244 (all processors, except ADSP-BF549). This option sets
1245 the general-purpose wake-up enable (GPWE) control bit to enable
1246 wake-up upon detection of an active low signal on the /GPW (PH7) pin.
1247 On ADSP-BF549 this option enables the the same functionality on the
1248 /MRXON pin also PH7.
1249
Bryan Wu1394f032007-05-06 14:50:22 -07001250endmenu
1251
Bryan Wu1394f032007-05-06 14:50:22 -07001252menu "CPU Frequency scaling"
1253
1254source "drivers/cpufreq/Kconfig"
1255
Michael Hennerich5ad2ca52008-11-18 17:48:22 +08001256config BFIN_CPU_FREQ
1257 bool
1258 depends on CPU_FREQ
1259 select CPU_FREQ_TABLE
1260 default y
1261
Michael Hennerich14b03202008-05-07 11:41:26 +08001262config CPU_VOLTAGE
1263 bool "CPU Voltage scaling"
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001264 depends on EXPERIMENTAL
Michael Hennerich14b03202008-05-07 11:41:26 +08001265 depends on CPU_FREQ
1266 default n
1267 help
1268 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1269 This option violates the PLL BYPASS recommendation in the Blackfin Processor
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001270 manuals. There is a theoretical risk that during VDDINT transitions
Michael Hennerich14b03202008-05-07 11:41:26 +08001271 the PLL may unlock.
1272
Bryan Wu1394f032007-05-06 14:50:22 -07001273endmenu
1274
Bryan Wu1394f032007-05-06 14:50:22 -07001275source "net/Kconfig"
1276
1277source "drivers/Kconfig"
1278
Mike Frysinger872d0242009-10-06 04:49:07 +00001279source "drivers/firmware/Kconfig"
1280
Bryan Wu1394f032007-05-06 14:50:22 -07001281source "fs/Kconfig"
1282
Mike Frysinger74ce8322007-11-21 23:50:49 +08001283source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001284
1285source "security/Kconfig"
1286
1287source "crypto/Kconfig"
1288
1289source "lib/Kconfig"