blob: d9a1cb7ec30a136456e480c2d54e620cc4cec590 [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 Frysinger8060bb62010-08-16 16:18:12 +0000303 depends on (BF51x || 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_MT48LC64M4A2FB_7E
335 bool
336 depends on (BFIN533_STAMP)
337 default y
338
339config MEM_MT48LC16M16A2TG_75
340 bool
341 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000342 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM_E \
343 || BFIN537_BLUETECHNIX_CM_U || H8606_HVSISTEMAS \
344 || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700345 default y
346
347config MEM_MT48LC32M8A2_75
348 bool
Mike Frysinger084f9eb2010-05-20 04:26:54 +0000349 depends on (BFIN518F_EZBRD || BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700350 default y
351
352config MEM_MT48LC8M32B2B5_7
353 bool
354 depends on (BFIN561_BLUETECHNIX_CM)
355 default y
356
Michael Hennerich59003142007-10-21 16:54:27 +0800357config MEM_MT48LC32M16A2TG_75
358 bool
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000359 depends on (BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN532_IP0X || BLACKSTAMP || BFIN527_AD7160EVAL)
Michael Hennerich59003142007-10-21 16:54:27 +0800360 default y
361
Graf Yangee48efb2009-06-18 04:32:04 +0000362config MEM_MT48H32M16LFCJ_75
363 bool
364 depends on (BFIN526_EZBRD)
365 default y
366
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800367source "arch/blackfin/mach-bf518/Kconfig"
Michael Hennerich59003142007-10-21 16:54:27 +0800368source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700369source "arch/blackfin/mach-bf533/Kconfig"
370source "arch/blackfin/mach-bf561/Kconfig"
371source "arch/blackfin/mach-bf537/Kconfig"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800372source "arch/blackfin/mach-bf538/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800373source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700374
375menu "Board customizations"
376
377config CMDLINE_BOOL
378 bool "Default bootloader kernel arguments"
379
380config CMDLINE
381 string "Initial kernel command string"
382 depends on CMDLINE_BOOL
383 default "console=ttyBF0,57600"
384 help
385 If you don't have a boot loader capable of passing a command line string
386 to the kernel, you may specify one here. As a minimum, you should specify
387 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
388
Mike Frysinger5f004c22008-04-25 02:11:24 +0800389config BOOT_LOAD
390 hex "Kernel load address for booting"
391 default "0x1000"
392 range 0x1000 0x20000000
393 help
394 This option allows you to set the load address of the kernel.
395 This can be useful if you are on a board which has a small amount
396 of memory or you wish to reserve some memory at the beginning of
397 the address space.
398
399 Note that you need to keep this value above 4k (0x1000) as this
400 memory region is used to capture NULL pointer references as well
401 as some core kernel functions.
402
Michael Hennerich8cc71172008-10-13 14:45:06 +0800403config ROM_BASE
404 hex "Kernel ROM Base"
Mike Frysinger86249912008-11-18 17:48:22 +0800405 depends on ROMKERNEL
Barry Songd86bfb12010-01-07 04:11:17 +0000406 default "0x20040040"
Michael Hennerich8cc71172008-10-13 14:45:06 +0800407 range 0x20000000 0x20400000 if !(BF54x || BF561)
408 range 0x20000000 0x30000000 if (BF54x || BF561)
409 help
Barry Songd86bfb12010-01-07 04:11:17 +0000410 Make sure your ROM base does not include any file-header
411 information that is prepended to the kernel.
412
413 For example, the bootable U-Boot format (created with
414 mkimage) has a 64 byte header (0x40). So while the image
415 you write to flash might start at say 0x20080000, you have
416 to add 0x40 to get the kernel's ROM base as it will come
417 after the header.
Michael Hennerich8cc71172008-10-13 14:45:06 +0800418
Robin Getzf16295e2007-08-03 18:07:17 +0800419comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700420
421config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800422 int "Frequency of the crystal on the board in Hz"
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800423 default "10000000" if BFIN532_IP0X
Mike Frysingerd0cb9b42009-06-11 21:52:35 +0000424 default "11059200" if BFIN533_STAMP
425 default "24576000" if PNAV10
426 default "25000000" # most people use this
427 default "27000000" if BFIN533_EZKIT
428 default "30000000" if BFIN561_EZKIT
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000429 default "24000000" if BFIN527_AD7160EVAL
Bryan Wu1394f032007-05-06 14:50:22 -0700430 help
431 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800432 Warning: This value should match the crystal on the board. Otherwise,
433 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700434
Robin Getzf16295e2007-08-03 18:07:17 +0800435config BFIN_KERNEL_CLOCK
436 bool "Re-program Clocks while Kernel boots?"
437 default n
438 help
439 This option decides if kernel clocks are re-programed from the
440 bootloader settings. If the clocks are not set, the SDRAM settings
441 are also not changed, and the Bootloader does 100% of the hardware
442 configuration.
443
444config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800445 bool "Bypass PLL"
446 depends on BFIN_KERNEL_CLOCK
447 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800448
449config CLKIN_HALF
450 bool "Half Clock In"
451 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
452 default n
453 help
454 If this is set the clock will be divided by 2, before it goes to the PLL.
455
456config VCO_MULT
457 int "VCO Multiplier"
458 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
459 range 1 64
460 default "22" if BFIN533_EZKIT
461 default "45" if BFIN533_STAMP
Michael Hennerich6924dfb2009-12-07 13:41:28 +0000462 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800463 default "22" if BFIN533_BLUETECHNIX_CM
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000464 default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800465 default "20" if BFIN561_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800466 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000467 default "25" if BFIN527_AD7160EVAL
Robin Getzf16295e2007-08-03 18:07:17 +0800468 help
469 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
470 PLL Frequency = (Crystal Frequency) * (this setting)
471
472choice
473 prompt "Core Clock Divider"
474 depends on BFIN_KERNEL_CLOCK
475 default CCLK_DIV_1
476 help
477 This sets the frequency of the core. It can be 1, 2, 4 or 8
478 Core Frequency = (PLL frequency) / (this setting)
479
480config CCLK_DIV_1
481 bool "1"
482
483config CCLK_DIV_2
484 bool "2"
485
486config CCLK_DIV_4
487 bool "4"
488
489config CCLK_DIV_8
490 bool "8"
491endchoice
492
493config SCLK_DIV
494 int "System Clock Divider"
495 depends on BFIN_KERNEL_CLOCK
496 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800497 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800498 help
499 This sets the frequency of the system clock (including SDRAM or DDR).
500 This can be between 1 and 15
501 System Clock = (PLL frequency) / (this setting)
502
Mike Frysinger5f004c22008-04-25 02:11:24 +0800503choice
504 prompt "DDR SDRAM Chip Type"
505 depends on BFIN_KERNEL_CLOCK
506 depends on BF54x
507 default MEM_MT46V32M16_5B
508
509config MEM_MT46V32M16_6T
510 bool "MT46V32M16_6T"
511
512config MEM_MT46V32M16_5B
513 bool "MT46V32M16_5B"
514endchoice
515
Michael Hennerich73feb5c2009-01-07 23:14:39 +0800516choice
517 prompt "DDR/SDRAM Timing"
518 depends on BFIN_KERNEL_CLOCK
519 default BFIN_KERNEL_CLOCK_MEMINIT_CALC
520 help
521 This option allows you to specify Blackfin SDRAM/DDR Timing parameters
522 The calculated SDRAM timing parameters may not be 100%
523 accurate - This option is therefore marked experimental.
524
525config BFIN_KERNEL_CLOCK_MEMINIT_CALC
526 bool "Calculate Timings (EXPERIMENTAL)"
527 depends on EXPERIMENTAL
528
529config BFIN_KERNEL_CLOCK_MEMINIT_SPEC
530 bool "Provide accurate Timings based on target SCLK"
531 help
532 Please consult the Blackfin Hardware Reference Manuals as well
533 as the memory device datasheet.
534 http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram
535endchoice
536
537menu "Memory Init Control"
538 depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC
539
540config MEM_DDRCTL0
541 depends on BF54x
542 hex "DDRCTL0"
543 default 0x0
544
545config MEM_DDRCTL1
546 depends on BF54x
547 hex "DDRCTL1"
548 default 0x0
549
550config MEM_DDRCTL2
551 depends on BF54x
552 hex "DDRCTL2"
553 default 0x0
554
555config MEM_EBIU_DDRQUE
556 depends on BF54x
557 hex "DDRQUE"
558 default 0x0
559
560config MEM_SDRRC
561 depends on !BF54x
562 hex "SDRRC"
563 default 0x0
564
565config MEM_SDGCTL
566 depends on !BF54x
567 hex "SDGCTL"
568 default 0x0
569endmenu
570
Robin Getzf16295e2007-08-03 18:07:17 +0800571#
572# Max & Min Speeds for various Chips
573#
574config MAX_VCO_HZ
575 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800576 default 400000000 if BF512
577 default 400000000 if BF514
578 default 400000000 if BF516
579 default 400000000 if BF518
Mike Frysinger7b062632009-08-11 21:27:09 +0000580 default 400000000 if BF522
581 default 600000000 if BF523
Mike Frysinger1545a112007-12-24 16:54:48 +0800582 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800583 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800584 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800585 default 600000000 if BF527
586 default 400000000 if BF531
587 default 400000000 if BF532
588 default 750000000 if BF533
589 default 500000000 if BF534
590 default 400000000 if BF536
591 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800592 default 533333333 if BF538
593 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800594 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800595 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800596 default 600000000 if BF547
597 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800598 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800599 default 600000000 if BF561
600
601config MIN_VCO_HZ
602 int
603 default 50000000
604
605config MAX_SCLK_HZ
606 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800607 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800608
609config MIN_SCLK_HZ
610 int
611 default 27000000
612
613comment "Kernel Timer/Scheduler"
614
615source kernel/Kconfig.hz
616
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800617config GENERIC_CLOCKEVENTS
618 bool "Generic clock events"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800619 default y
620
Yi Li0d152c22009-12-28 10:21:49 +0000621menu "Clock event device"
Graf Yang1fa9be72009-05-15 11:01:59 +0000622 depends on GENERIC_CLOCKEVENTS
Graf Yang1fa9be72009-05-15 11:01:59 +0000623config TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000624 bool "GPTimer0"
625 depends on !SMP
Graf Yang1fa9be72009-05-15 11:01:59 +0000626 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000627
628config TICKSOURCE_CORETMR
Yi Li0d152c22009-12-28 10:21:49 +0000629 bool "Core timer"
630 default y
631endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000632
Yi Li0d152c22009-12-28 10:21:49 +0000633menu "Clock souce"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800634 depends on GENERIC_CLOCKEVENTS
Yi Li0d152c22009-12-28 10:21:49 +0000635config CYCLES_CLOCKSOURCE
636 bool "CYCLES"
637 default y
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800638 depends on !BFIN_SCRATCH_REG_CYCLES
Graf Yang1fa9be72009-05-15 11:01:59 +0000639 depends on !SMP
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800640 help
641 If you say Y here, you will enable support for using the 'cycles'
642 registers as a clock source. Doing so means you will be unable to
643 safely write to the 'cycles' register during runtime. You will
644 still be able to read it (such as for performance monitoring), but
645 writing the registers will most likely crash the kernel.
646
Graf Yang1fa9be72009-05-15 11:01:59 +0000647config GPTMR0_CLOCKSOURCE
Yi Li0d152c22009-12-28 10:21:49 +0000648 bool "GPTimer0"
Mike Frysinger3aca47c2009-06-18 19:40:47 +0000649 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000650 depends on !TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000651endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000652
john stultz10f03f12009-09-15 21:17:19 -0700653config ARCH_USES_GETTIMEOFFSET
654 depends on !GENERIC_CLOCKEVENTS
655 def_bool y
656
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800657source kernel/time/Kconfig
658
Mike Frysinger5f004c22008-04-25 02:11:24 +0800659comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800660
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800661choice
662 prompt "Blackfin Exception Scratch Register"
663 default BFIN_SCRATCH_REG_RETN
664 help
665 Select the resource to reserve for the Exception handler:
666 - RETN: Non-Maskable Interrupt (NMI)
667 - RETE: Exception Return (JTAG/ICE)
668 - CYCLES: Performance counter
669
670 If you are unsure, please select "RETN".
671
672config BFIN_SCRATCH_REG_RETN
673 bool "RETN"
674 help
675 Use the RETN register in the Blackfin exception handler
676 as a stack scratch register. This means you cannot
677 safely use NMI on the Blackfin while running Linux, but
678 you can debug the system with a JTAG ICE and use the
679 CYCLES performance registers.
680
681 If you are unsure, please select "RETN".
682
683config BFIN_SCRATCH_REG_RETE
684 bool "RETE"
685 help
686 Use the RETE register in the Blackfin exception handler
687 as a stack scratch register. This means you cannot
688 safely use a JTAG ICE while debugging a Blackfin board,
689 but you can safely use the CYCLES performance registers
690 and the NMI.
691
692 If you are unsure, please select "RETN".
693
694config BFIN_SCRATCH_REG_CYCLES
695 bool "CYCLES"
696 help
697 Use the CYCLES register in the Blackfin exception handler
698 as a stack scratch register. This means you cannot
699 safely use the CYCLES performance registers on a Blackfin
700 board at anytime, but you can debug the system with a JTAG
701 ICE and use the NMI.
702
703 If you are unsure, please select "RETN".
704
705endchoice
706
Bryan Wu1394f032007-05-06 14:50:22 -0700707endmenu
708
709
710menu "Blackfin Kernel Optimizations"
Graf Yang46fa5ee2009-01-07 23:14:39 +0800711 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700712
Bryan Wu1394f032007-05-06 14:50:22 -0700713comment "Memory Optimizations"
714
715config I_ENTRY_L1
716 bool "Locate interrupt entry code in L1 Memory"
717 default y
718 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200719 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
720 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700721
722config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200723 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700724 default y
725 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200726 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800727 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200728 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700729
730config DO_IRQ_L1
731 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
732 default y
733 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200734 If enabled, the frequently called do_irq dispatcher function is linked
735 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700736
737config CORE_TIMER_IRQ_L1
738 bool "Locate frequently called timer_interrupt() function in L1 Memory"
739 default y
740 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200741 If enabled, the frequently called timer_interrupt() function is linked
742 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700743
744config IDLE_L1
745 bool "Locate frequently idle function in L1 Memory"
746 default y
747 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200748 If enabled, the frequently called idle function is linked
749 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700750
751config SCHEDULE_L1
752 bool "Locate kernel schedule function in L1 Memory"
753 default y
754 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200755 If enabled, the frequently called kernel schedule is linked
756 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700757
758config ARITHMETIC_OPS_L1
759 bool "Locate kernel owned arithmetic functions in L1 Memory"
760 default y
761 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200762 If enabled, arithmetic functions are linked
763 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700764
765config ACCESS_OK_L1
766 bool "Locate access_ok function in L1 Memory"
767 default y
768 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200769 If enabled, the access_ok function is linked
770 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700771
772config MEMSET_L1
773 bool "Locate memset function in L1 Memory"
774 default y
775 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200776 If enabled, the memset function is linked
777 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700778
779config MEMCPY_L1
780 bool "Locate memcpy function in L1 Memory"
781 default y
782 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200783 If enabled, the memcpy function is linked
784 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700785
Robin Getz479ba602010-05-03 17:23:20 +0000786config STRCMP_L1
787 bool "locate strcmp function in L1 Memory"
788 default y
789 help
790 If enabled, the strcmp function is linked
791 into L1 instruction memory (less latency).
792
793config STRNCMP_L1
794 bool "locate strncmp function in L1 Memory"
795 default y
796 help
797 If enabled, the strncmp function is linked
798 into L1 instruction memory (less latency).
799
800config STRCPY_L1
801 bool "locate strcpy function in L1 Memory"
802 default y
803 help
804 If enabled, the strcpy function is linked
805 into L1 instruction memory (less latency).
806
807config STRNCPY_L1
808 bool "locate strncpy function in L1 Memory"
809 default y
810 help
811 If enabled, the strncpy function is linked
812 into L1 instruction memory (less latency).
813
Bryan Wu1394f032007-05-06 14:50:22 -0700814config SYS_BFIN_SPINLOCK_L1
815 bool "Locate sys_bfin_spinlock function in L1 Memory"
816 default y
817 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200818 If enabled, sys_bfin_spinlock function is linked
819 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700820
821config IP_CHECKSUM_L1
822 bool "Locate IP Checksum function in L1 Memory"
823 default n
824 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200825 If enabled, the IP Checksum function is linked
826 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700827
828config CACHELINE_ALIGNED_L1
829 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800830 default y if !BF54x
831 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700832 depends on !BF531
833 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100834 If enabled, cacheline_aligned data is linked
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200835 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700836
837config SYSCALL_TAB_L1
838 bool "Locate Syscall Table L1 Data Memory"
839 default n
840 depends on !BF531
841 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200842 If enabled, the Syscall LUT is linked
843 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700844
845config CPLB_SWITCH_TAB_L1
846 bool "Locate CPLB Switch Tables L1 Data Memory"
847 default n
848 depends on !BF531
849 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200850 If enabled, the CPLB Switch Tables are linked
851 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700852
Mike Frysinger74181292010-05-27 22:46:46 +0000853config CACHE_FLUSH_L1
854 bool "Locate cache flush funcs in L1 Inst Memory"
855 default y
856 help
857 If enabled, the Blackfin cache flushing functions are linked
858 into L1 instruction memory.
859
860 Note that this might be required to address anomalies, but
861 these functions are pretty small, so it shouldn't be too bad.
862 If you are using a processor affected by an anomaly, the build
863 system will double check for you and prevent it.
864
Graf Yangca87b7a2008-10-08 17:30:01 +0800865config APP_STACK_L1
866 bool "Support locating application stack in L1 Scratch Memory"
867 default y
868 help
869 If enabled the application stack can be located in L1
870 scratch memory (less latency).
871
872 Currently only works with FLAT binaries.
873
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800874config EXCEPTION_L1_SCRATCH
875 bool "Locate exception stack in L1 Scratch Memory"
876 default n
Graf Yangf82e0a02009-04-08 08:30:22 +0000877 depends on !APP_STACK_L1
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800878 help
879 Whenever an exception occurs, use the L1 Scratch memory for
880 stack storage. You cannot place the stacks of FLAT binaries
881 in L1 when using this option.
882
883 If you don't use L1 Scratch, then you should say Y here.
884
Robin Getz251383c2008-08-14 15:12:55 +0800885comment "Speed Optimizations"
886config BFIN_INS_LOWOVERHEAD
887 bool "ins[bwl] low overhead, higher interrupt latency"
888 default y
889 help
890 Reads on the Blackfin are speculative. In Blackfin terms, this means
891 they can be interrupted at any time (even after they have been issued
892 on to the external bus), and re-issued after the interrupt occurs.
893 For memory - this is not a big deal, since memory does not change if
894 it sees a read.
895
896 If a FIFO is sitting on the end of the read, it will see two reads,
897 when the core only sees one since the FIFO receives both the read
898 which is cancelled (and not delivered to the core) and the one which
899 is re-issued (which is delivered to the core).
900
901 To solve this, interrupts are turned off before reads occur to
902 I/O space. This option controls which the overhead/latency of
903 controlling interrupts during this time
904 "n" turns interrupts off every read
905 (higher overhead, but lower interrupt latency)
906 "y" turns interrupts off every loop
907 (low overhead, but longer interrupt latency)
908
909 default behavior is to leave this set to on (type "Y"). If you are experiencing
910 interrupt latency issues, it is safe and OK to turn this off.
911
Bryan Wu1394f032007-05-06 14:50:22 -0700912endmenu
913
Bryan Wu1394f032007-05-06 14:50:22 -0700914choice
915 prompt "Kernel executes from"
916 help
917 Choose the memory type that the kernel will be running in.
918
919config RAMKERNEL
920 bool "RAM"
921 help
922 The kernel will be resident in RAM when running.
923
924config ROMKERNEL
925 bool "ROM"
926 help
927 The kernel will be resident in FLASH/ROM when running.
928
929endchoice
930
Mike Frysinger56b4f072010-10-16 19:46:21 -0400931# Common code uses "ROMKERNEL" or "XIP_KERNEL", so define both
932config XIP_KERNEL
933 bool
934 default y
935 depends on ROMKERNEL
936
Bryan Wu1394f032007-05-06 14:50:22 -0700937source "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"