blob: d243e228512152d37b4340623cd56bdf1275f4e8 [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_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
931source "mm/Kconfig"
932
Mike Frysinger780431e2007-10-21 23:37:54 +0800933config BFIN_GPTIMERS
934 tristate "Enable Blackfin General Purpose Timers API"
935 default n
936 help
937 Enable support for the General Purpose Timers API. If you
938 are unsure, say N.
939
940 To compile this driver as a module, choose M here: the module
Pavel Machek4737f092009-06-05 00:44:53 +0200941 will be called gptimers.
Mike Frysinger780431e2007-10-21 23:37:54 +0800942
Bryan Wu1394f032007-05-06 14:50:22 -0700943choice
Mike Frysingerd292b002008-10-28 11:15:36 +0800944 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700945 default DMA_UNCACHED_1M
Cliff Cai86ad7932008-05-17 16:36:52 +0800946config DMA_UNCACHED_4M
947 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700948config DMA_UNCACHED_2M
949 bool "Enable 2M DMA region"
950config DMA_UNCACHED_1M
951 bool "Enable 1M DMA region"
Barry Songc45c0652009-12-02 09:13:36 +0000952config DMA_UNCACHED_512K
953 bool "Enable 512K DMA region"
954config DMA_UNCACHED_256K
955 bool "Enable 256K DMA region"
956config DMA_UNCACHED_128K
957 bool "Enable 128K DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700958config DMA_UNCACHED_NONE
959 bool "Disable DMA region"
960endchoice
961
962
963comment "Cache Support"
Jie Zhang41ba6532009-06-16 09:48:33 +0000964
Robin Getz3bebca22007-10-10 23:55:26 +0800965config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700966 bool "Enable ICACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000967 default y
Jie Zhang41ba6532009-06-16 09:48:33 +0000968config BFIN_EXTMEM_ICACHEABLE
969 bool "Enable ICACHE for external memory"
970 depends on BFIN_ICACHE
971 default y
972config BFIN_L2_ICACHEABLE
973 bool "Enable ICACHE for L2 SRAM"
974 depends on BFIN_ICACHE
975 depends on BF54x || BF561
976 default n
977
Robin Getz3bebca22007-10-10 23:55:26 +0800978config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700979 bool "Enable DCACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000980 default y
Robin Getz3bebca22007-10-10 23:55:26 +0800981config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700982 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800983 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700984 default n
Jie Zhang41ba6532009-06-16 09:48:33 +0000985config BFIN_EXTMEM_DCACHEABLE
986 bool "Enable DCACHE for external memory"
Robin Getz3bebca22007-10-10 23:55:26 +0800987 depends on BFIN_DCACHE
Jie Zhang41ba6532009-06-16 09:48:33 +0000988 default y
Graf Yang5ba76672009-05-07 04:09:15 +0000989choice
Jie Zhang41ba6532009-06-16 09:48:33 +0000990 prompt "External memory DCACHE policy"
991 depends on BFIN_EXTMEM_DCACHEABLE
992 default BFIN_EXTMEM_WRITEBACK if !SMP
993 default BFIN_EXTMEM_WRITETHROUGH if SMP
994config BFIN_EXTMEM_WRITEBACK
Graf Yang5ba76672009-05-07 04:09:15 +0000995 bool "Write back"
996 depends on !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +0000997 help
998 Write Back Policy:
999 Cached data will be written back to SDRAM only when needed.
1000 This can give a nice increase in performance, but beware of
1001 broken drivers that do not properly invalidate/flush their
1002 cache.
Graf Yang5ba76672009-05-07 04:09:15 +00001003
Jie Zhang41ba6532009-06-16 09:48:33 +00001004 Write Through Policy:
1005 Cached data will always be written back to SDRAM when the
1006 cache is updated. This is a completely safe setting, but
1007 performance is worse than Write Back.
1008
1009 If you are unsure of the options and you want to be safe,
1010 then go with Write Through.
1011
1012config BFIN_EXTMEM_WRITETHROUGH
Graf Yang5ba76672009-05-07 04:09:15 +00001013 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001014 help
1015 Write Back Policy:
1016 Cached data will be written back to SDRAM only when needed.
1017 This can give a nice increase in performance, but beware of
1018 broken drivers that do not properly invalidate/flush their
1019 cache.
Graf Yang5ba76672009-05-07 04:09:15 +00001020
Jie Zhang41ba6532009-06-16 09:48:33 +00001021 Write Through Policy:
1022 Cached data will always be written back to SDRAM when the
1023 cache is updated. This is a completely safe setting, but
1024 performance is worse than Write Back.
1025
1026 If you are unsure of the options and you want to be safe,
1027 then go with Write Through.
Graf Yang5ba76672009-05-07 04:09:15 +00001028
1029endchoice
Sonic Zhangf099f392008-10-09 14:11:57 +08001030
Jie Zhang41ba6532009-06-16 09:48:33 +00001031config BFIN_L2_DCACHEABLE
1032 bool "Enable DCACHE for L2 SRAM"
1033 depends on BFIN_DCACHE
Sonic Zhang9c954f82009-06-30 09:48:03 +00001034 depends on (BF54x || BF561) && !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001035 default n
1036choice
1037 prompt "L2 SRAM DCACHE policy"
1038 depends on BFIN_L2_DCACHEABLE
1039 default BFIN_L2_WRITEBACK
1040config BFIN_L2_WRITEBACK
1041 bool "Write back"
Jie Zhang41ba6532009-06-16 09:48:33 +00001042
1043config BFIN_L2_WRITETHROUGH
1044 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001045endchoice
1046
1047
1048comment "Memory Protection Unit"
Bernd Schmidtb97b8a92008-01-27 18:39:16 +08001049config MPU
1050 bool "Enable the memory protection unit (EXPERIMENTAL)"
1051 default n
1052 help
1053 Use the processor's MPU to protect applications from accessing
1054 memory they do not own. This comes at a performance penalty
1055 and is recommended only for debugging.
1056
Matt LaPlante692105b2009-01-26 11:12:25 +01001057comment "Asynchronous Memory Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -07001058
Mike Frysingerddf416b2007-10-10 18:06:47 +08001059menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -07001060config C_AMCKEN
1061 bool "Enable CLKOUT"
1062 default y
1063
1064config C_CDPRIO
1065 bool "DMA has priority over core for ext. accesses"
1066 default n
1067
1068config C_B0PEN
1069 depends on BF561
1070 bool "Bank 0 16 bit packing enable"
1071 default y
1072
1073config C_B1PEN
1074 depends on BF561
1075 bool "Bank 1 16 bit packing enable"
1076 default y
1077
1078config C_B2PEN
1079 depends on BF561
1080 bool "Bank 2 16 bit packing enable"
1081 default y
1082
1083config C_B3PEN
1084 depends on BF561
1085 bool "Bank 3 16 bit packing enable"
1086 default n
1087
1088choice
Matt LaPlante692105b2009-01-26 11:12:25 +01001089 prompt "Enable Asynchronous Memory Banks"
Bryan Wu1394f032007-05-06 14:50:22 -07001090 default C_AMBEN_ALL
1091
1092config C_AMBEN
1093 bool "Disable All Banks"
1094
1095config C_AMBEN_B0
1096 bool "Enable Bank 0"
1097
1098config C_AMBEN_B0_B1
1099 bool "Enable Bank 0 & 1"
1100
1101config C_AMBEN_B0_B1_B2
1102 bool "Enable Bank 0 & 1 & 2"
1103
1104config C_AMBEN_ALL
1105 bool "Enable All Banks"
1106endchoice
1107endmenu
1108
1109menu "EBIU_AMBCTL Control"
1110config BANK_0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001111 hex "Bank 0 (AMBCTL0.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001112 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001113 help
1114 These are the low 16 bits of the EBIU_AMBCTL0 MMR which are
1115 used to control the Asynchronous Memory Bank 0 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001116
1117config BANK_1
Mike Frysingerc8342f82009-03-31 00:18:35 +00001118 hex "Bank 1 (AMBCTL0.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001119 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +08001120 default 0x5558 if BF54x
Mike Frysingerc8342f82009-03-31 00:18:35 +00001121 help
1122 These are the high 16 bits of the EBIU_AMBCTL0 MMR which are
1123 used to control the Asynchronous Memory Bank 1 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001124
1125config BANK_2
Mike Frysingerc8342f82009-03-31 00:18:35 +00001126 hex "Bank 2 (AMBCTL1.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001127 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001128 help
1129 These are the low 16 bits of the EBIU_AMBCTL1 MMR which are
1130 used to control the Asynchronous Memory Bank 2 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001131
1132config BANK_3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001133 hex "Bank 3 (AMBCTL1.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001134 default 0x99B3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001135 help
1136 These are the high 16 bits of the EBIU_AMBCTL1 MMR which are
1137 used to control the Asynchronous Memory Bank 3 settings.
1138
Bryan Wu1394f032007-05-06 14:50:22 -07001139endmenu
1140
Sonic Zhange40540b2007-11-21 23:49:52 +08001141config EBIU_MBSCTLVAL
1142 hex "EBIU Bank Select Control Register"
1143 depends on BF54x
1144 default 0
1145
1146config EBIU_MODEVAL
1147 hex "Flash Memory Mode Control Register"
1148 depends on BF54x
1149 default 1
1150
1151config EBIU_FCTLVAL
1152 hex "Flash Memory Bank Control Register"
1153 depends on BF54x
1154 default 6
Bryan Wu1394f032007-05-06 14:50:22 -07001155endmenu
1156
1157#############################################################################
1158menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1159
1160config PCI
1161 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +08001162 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -07001163 help
1164 Support for PCI bus.
1165
1166source "drivers/pci/Kconfig"
1167
Bryan Wu1394f032007-05-06 14:50:22 -07001168source "drivers/pcmcia/Kconfig"
1169
1170source "drivers/pci/hotplug/Kconfig"
1171
1172endmenu
1173
1174menu "Executable file formats"
1175
1176source "fs/Kconfig.binfmt"
1177
1178endmenu
1179
1180menu "Power management options"
Graf Yangad461632009-08-07 03:52:54 +00001181
Bryan Wu1394f032007-05-06 14:50:22 -07001182source "kernel/power/Kconfig"
1183
Johannes Bergf4cb5702007-12-08 02:14:00 +01001184config ARCH_SUSPEND_POSSIBLE
1185 def_bool y
Johannes Bergf4cb5702007-12-08 02:14:00 +01001186
Bryan Wu1394f032007-05-06 14:50:22 -07001187choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001188 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -07001189 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001190 default PM_BFIN_SLEEP_DEEPER
1191config PM_BFIN_SLEEP_DEEPER
1192 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001193 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001194 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1195 power dissipation by disabling the clock to the processor core (CCLK).
1196 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1197 to 0.85 V to provide the greatest power savings, while preserving the
1198 processor state.
1199 The PLL and system clock (SCLK) continue to operate at a very low
1200 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1201 the SDRAM is put into Self Refresh Mode. Typically an external event
1202 such as GPIO interrupt or RTC activity wakes up the processor.
1203 Various Peripherals such as UART, SPORT, PPI may not function as
1204 normal during Sleep Deeper, due to the reduced SCLK frequency.
1205 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001206
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001207 If unsure, select "Sleep Deeper".
1208
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001209config PM_BFIN_SLEEP
1210 bool "Sleep"
1211 help
1212 Sleep Mode (High Power Savings) - The sleep mode reduces power
1213 dissipation by disabling the clock to the processor core (CCLK).
1214 The PLL and system clock (SCLK), however, continue to operate in
1215 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001216 up the processor. When in the sleep mode, system DMA access to L1
1217 memory is not supported.
1218
1219 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001220endchoice
1221
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001222comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1223 depends on PM
1224
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001225config PM_BFIN_WAKE_PH6
1226 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001227 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001228 default n
1229 help
1230 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1231
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001232config PM_BFIN_WAKE_GP
1233 bool "Allow Wake-Up from GPIOs"
1234 depends on PM && BF54x
1235 default n
1236 help
1237 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Michael Hennerich19986282009-03-05 16:45:55 +08001238 (all processors, except ADSP-BF549). This option sets
1239 the general-purpose wake-up enable (GPWE) control bit to enable
1240 wake-up upon detection of an active low signal on the /GPW (PH7) pin.
1241 On ADSP-BF549 this option enables the the same functionality on the
1242 /MRXON pin also PH7.
1243
Bryan Wu1394f032007-05-06 14:50:22 -07001244endmenu
1245
Bryan Wu1394f032007-05-06 14:50:22 -07001246menu "CPU Frequency scaling"
1247
1248source "drivers/cpufreq/Kconfig"
1249
Michael Hennerich5ad2ca52008-11-18 17:48:22 +08001250config BFIN_CPU_FREQ
1251 bool
1252 depends on CPU_FREQ
1253 select CPU_FREQ_TABLE
1254 default y
1255
Michael Hennerich14b03202008-05-07 11:41:26 +08001256config CPU_VOLTAGE
1257 bool "CPU Voltage scaling"
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001258 depends on EXPERIMENTAL
Michael Hennerich14b03202008-05-07 11:41:26 +08001259 depends on CPU_FREQ
1260 default n
1261 help
1262 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1263 This option violates the PLL BYPASS recommendation in the Blackfin Processor
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001264 manuals. There is a theoretical risk that during VDDINT transitions
Michael Hennerich14b03202008-05-07 11:41:26 +08001265 the PLL may unlock.
1266
Bryan Wu1394f032007-05-06 14:50:22 -07001267endmenu
1268
Bryan Wu1394f032007-05-06 14:50:22 -07001269source "net/Kconfig"
1270
1271source "drivers/Kconfig"
1272
Mike Frysinger872d0242009-10-06 04:49:07 +00001273source "drivers/firmware/Kconfig"
1274
Bryan Wu1394f032007-05-06 14:50:22 -07001275source "fs/Kconfig"
1276
Mike Frysinger74ce8322007-11-21 23:50:49 +08001277source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001278
1279source "security/Kconfig"
1280
1281source "crypto/Kconfig"
1282
1283source "lib/Kconfig"