blob: c1269a1085e16fa12b7e5377500b7ef4da829a47 [file] [log] [blame]
Alan Jenkins9e1b9b82009-11-07 21:03:54 +00001config SYMBOL_PREFIX
2 string
3 default "_"
4
Bryan Wu1394f032007-05-06 14:50:22 -07005config MMU
Mike Frysingerbac7d892009-06-07 03:46:06 -04006 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -07007
8config FPU
Mike Frysingerbac7d892009-06-07 03:46:06 -04009 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -070010
11config RWSEM_GENERIC_SPINLOCK
Mike Frysingerbac7d892009-06-07 03:46:06 -040012 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070013
14config RWSEM_XCHGADD_ALGORITHM
Mike Frysingerbac7d892009-06-07 03:46:06 -040015 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -070016
17config BLACKFIN
Mike Frysingerbac7d892009-06-07 03:46:06 -040018 def_bool y
Mike Frysinger652afdc2010-01-25 22:12:32 +000019 select HAVE_ARCH_KGDB
Mike Frysingere8f263d2010-01-26 07:33:53 +000020 select HAVE_ARCH_TRACEHOOK
Mike Frysingerf5074422010-07-21 09:13:02 -040021 select HAVE_DYNAMIC_FTRACE
22 select HAVE_FTRACE_MCOUNT_RECORD
Mike Frysinger1ee76d72009-06-10 04:45:29 -040023 select HAVE_FUNCTION_GRAPH_TRACER
Mike Frysinger1c873be2009-06-09 07:25:09 -040024 select HAVE_FUNCTION_TRACER
Mike Frysingeraebfef02010-01-22 07:35:20 -050025 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
Sam Ravnborgec7748b2008-02-09 10:46:40 +010026 select HAVE_IDE
Mike Frysinger7db79172011-05-06 11:47:52 -040027 select HAVE_IRQ_WORK
Barry Songd86bfb12010-01-07 04:11:17 +000028 select HAVE_KERNEL_GZIP if RAMKERNEL
29 select HAVE_KERNEL_BZIP2 if RAMKERNEL
30 select HAVE_KERNEL_LZMA if RAMKERNEL
Mike Frysinger67df6cc2010-07-19 05:37:54 +000031 select HAVE_KERNEL_LZO if RAMKERNEL
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050032 select HAVE_OPROFILE
Mike Frysinger7db79172011-05-06 11:47:52 -040033 select HAVE_PERF_EVENTS
Michael Hennericha4f0b32c2008-11-18 17:48:22 +080034 select ARCH_WANT_OPTIONAL_GPIOLIB
Thomas Gleixner7b028862011-01-19 20:29:58 +010035 select HAVE_GENERIC_HARDIRQS
Mike Frysingerbee18be2011-03-21 02:39:10 -040036 select GENERIC_ATOMIC64
Thomas Gleixner7b028862011-01-19 20:29:58 +010037 select GENERIC_IRQ_PROBE
38 select IRQ_PER_CPU if SMP
Cong Wangd314d742012-03-23 15:01:51 -070039 select HAVE_NMI_WATCHDOG if NMI_WATCHDOG
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
Michael Hennerichb2d15832007-07-24 15:46:36 +080051config GENERIC_GPIO
Mike Frysingerbac7d892009-06-07 03:46:06 -040052 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070053
54config FORCE_MAX_ZONEORDER
55 int
56 default "14"
57
58config GENERIC_CALIBRATE_DELAY
Mike Frysingerbac7d892009-06-07 03:46:06 -040059 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070060
Mike Frysinger6fa68e72009-06-08 18:45:01 -040061config LOCKDEP_SUPPORT
62 def_bool y
63
Mike Frysingerc7b412f2009-06-08 18:44:45 -040064config STACKTRACE_SUPPORT
65 def_bool y
66
Mike Frysinger8f860012009-06-08 12:49:48 -040067config TRACE_IRQFLAGS_SUPPORT
68 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070069
Bryan Wu1394f032007-05-06 14:50:22 -070070source "init/Kconfig"
Matt Helsleydc52ddc2008-10-18 20:27:21 -070071
Bryan Wu1394f032007-05-06 14:50:22 -070072source "kernel/Kconfig.preempt"
73
Matt Helsleydc52ddc2008-10-18 20:27:21 -070074source "kernel/Kconfig.freezer"
75
Bryan Wu1394f032007-05-06 14:50:22 -070076menu "Blackfin Processor Options"
77
78comment "Processor and Board Settings"
79
80choice
81 prompt "CPU"
82 default BF533
83
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080084config BF512
85 bool "BF512"
86 help
87 BF512 Processor Support.
88
89config BF514
90 bool "BF514"
91 help
92 BF514 Processor Support.
93
94config BF516
95 bool "BF516"
96 help
97 BF516 Processor Support.
98
99config BF518
100 bool "BF518"
101 help
102 BF518 Processor Support.
103
Michael Hennerich59003142007-10-21 16:54:27 +0800104config BF522
105 bool "BF522"
106 help
107 BF522 Processor Support.
108
Mike Frysinger1545a112007-12-24 16:54:48 +0800109config BF523
110 bool "BF523"
111 help
112 BF523 Processor Support.
113
114config BF524
115 bool "BF524"
116 help
117 BF524 Processor Support.
118
Michael Hennerich59003142007-10-21 16:54:27 +0800119config BF525
120 bool "BF525"
121 help
122 BF525 Processor Support.
123
Mike Frysinger1545a112007-12-24 16:54:48 +0800124config BF526
125 bool "BF526"
126 help
127 BF526 Processor Support.
128
Michael Hennerich59003142007-10-21 16:54:27 +0800129config BF527
130 bool "BF527"
131 help
132 BF527 Processor Support.
133
Bryan Wu1394f032007-05-06 14:50:22 -0700134config BF531
135 bool "BF531"
136 help
137 BF531 Processor Support.
138
139config BF532
140 bool "BF532"
141 help
142 BF532 Processor Support.
143
144config BF533
145 bool "BF533"
146 help
147 BF533 Processor Support.
148
149config BF534
150 bool "BF534"
151 help
152 BF534 Processor Support.
153
154config BF536
155 bool "BF536"
156 help
157 BF536 Processor Support.
158
159config BF537
160 bool "BF537"
161 help
162 BF537 Processor Support.
163
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800164config BF538
165 bool "BF538"
166 help
167 BF538 Processor Support.
168
169config BF539
170 bool "BF539"
171 help
172 BF539 Processor Support.
173
Mike Frysinger5df326a2009-11-16 23:49:41 +0000174config BF542_std
Roy Huang24a07a12007-07-12 22:41:45 +0800175 bool "BF542"
176 help
177 BF542 Processor Support.
178
Mike Frysinger2f89c062009-02-04 16:49:45 +0800179config BF542M
180 bool "BF542m"
181 help
182 BF542 Processor Support.
183
Mike Frysinger5df326a2009-11-16 23:49:41 +0000184config BF544_std
Roy Huang24a07a12007-07-12 22:41:45 +0800185 bool "BF544"
186 help
187 BF544 Processor Support.
188
Mike Frysinger2f89c062009-02-04 16:49:45 +0800189config BF544M
190 bool "BF544m"
191 help
192 BF544 Processor Support.
193
Mike Frysinger5df326a2009-11-16 23:49:41 +0000194config BF547_std
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800195 bool "BF547"
196 help
197 BF547 Processor Support.
198
Mike Frysinger2f89c062009-02-04 16:49:45 +0800199config BF547M
200 bool "BF547m"
201 help
202 BF547 Processor Support.
203
Mike Frysinger5df326a2009-11-16 23:49:41 +0000204config BF548_std
Roy Huang24a07a12007-07-12 22:41:45 +0800205 bool "BF548"
206 help
207 BF548 Processor Support.
208
Mike Frysinger2f89c062009-02-04 16:49:45 +0800209config BF548M
210 bool "BF548m"
211 help
212 BF548 Processor Support.
213
Mike Frysinger5df326a2009-11-16 23:49:41 +0000214config BF549_std
Roy Huang24a07a12007-07-12 22:41:45 +0800215 bool "BF549"
216 help
217 BF549 Processor Support.
218
Mike Frysinger2f89c062009-02-04 16:49:45 +0800219config BF549M
220 bool "BF549m"
221 help
222 BF549 Processor Support.
223
Bryan Wu1394f032007-05-06 14:50:22 -0700224config BF561
225 bool "BF561"
226 help
Mike Frysingercd88b4d2008-10-09 12:03:22 +0800227 BF561 Processor Support.
Bryan Wu1394f032007-05-06 14:50:22 -0700228
229endchoice
230
Graf Yang46fa5ee2009-01-07 23:14:39 +0800231config SMP
232 depends on BF561
Yi Li0d152c22009-12-28 10:21:49 +0000233 select TICKSOURCE_CORETMR
Graf Yang46fa5ee2009-01-07 23:14:39 +0800234 bool "Symmetric multi-processing support"
235 ---help---
236 This enables support for systems with more than one CPU,
237 like the dual core BF561. If you have a system with only one
238 CPU, say N. If you have a system with more than one CPU, say Y.
239
240 If you don't know what to do here, say N.
241
242config NR_CPUS
243 int
244 depends on SMP
245 default 2 if BF561
246
Graf Yang0b39db22009-12-28 11:13:51 +0000247config HOTPLUG_CPU
248 bool "Support for hot-pluggable CPUs"
249 depends on SMP && HOTPLUG
250 default y
251
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800252config BF_REV_MIN
253 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800254 default 0 if (BF51x || BF52x || (BF54x && !BF54xM))
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800255 default 2 if (BF537 || BF536 || BF534)
Mike Frysinger2f89c062009-02-04 16:49:45 +0800256 default 3 if (BF561 || BF533 || BF532 || BF531 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800257 default 4 if (BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800258
259config BF_REV_MAX
260 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800261 default 2 if (BF51x || BF52x || (BF54x && !BF54xM))
262 default 3 if (BF537 || BF536 || BF534 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800263 default 5 if (BF561 || BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800264 default 6 if (BF533 || BF532 || BF531)
265
Bryan Wu1394f032007-05-06 14:50:22 -0700266choice
267 prompt "Silicon Rev"
Mike Frysingerf8b55652009-04-13 21:58:34 +0000268 default BF_REV_0_0 if (BF51x || BF52x)
269 default BF_REV_0_2 if (BF534 || BF536 || BF537 || (BF54x && !BF54xM))
Mike Frysinger2f89c062009-02-04 16:49:45 +0800270 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF54xM || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800271
272config BF_REV_0_0
273 bool "0.0"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800274 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Michael Hennerich59003142007-10-21 16:54:27 +0800275
276config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800277 bool "0.1"
Mike Frysinger3d15f302009-06-15 16:21:44 +0000278 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700279
280config BF_REV_0_2
281 bool "0.2"
Mike Frysinger8060bb62010-08-16 16:18:12 +0000282 depends on (BF51x || BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700283
284config BF_REV_0_3
285 bool "0.3"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800286 depends on (BF54xM || BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
Bryan Wu1394f032007-05-06 14:50:22 -0700287
288config BF_REV_0_4
289 bool "0.4"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800290 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700291
292config BF_REV_0_5
293 bool "0.5"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800294 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700295
Mike Frysinger49f72532008-10-09 12:06:27 +0800296config BF_REV_0_6
297 bool "0.6"
298 depends on (BF533 || BF532 || BF531)
299
Jie Zhangde3025f2007-06-25 18:04:12 +0800300config BF_REV_ANY
301 bool "any"
302
303config BF_REV_NONE
304 bool "none"
305
Bryan Wu1394f032007-05-06 14:50:22 -0700306endchoice
307
Roy Huang24a07a12007-07-12 22:41:45 +0800308config BF53x
309 bool
310 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
311 default y
312
Bryan Wu1394f032007-05-06 14:50:22 -0700313config MEM_MT48LC64M4A2FB_7E
314 bool
315 depends on (BFIN533_STAMP)
316 default y
317
318config MEM_MT48LC16M16A2TG_75
319 bool
320 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000321 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM_E \
322 || BFIN537_BLUETECHNIX_CM_U || H8606_HVSISTEMAS \
323 || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700324 default y
325
326config MEM_MT48LC32M8A2_75
327 bool
Mike Frysinger084f9eb2010-05-20 04:26:54 +0000328 depends on (BFIN518F_EZBRD || BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700329 default y
330
331config MEM_MT48LC8M32B2B5_7
332 bool
333 depends on (BFIN561_BLUETECHNIX_CM)
334 default y
335
Michael Hennerich59003142007-10-21 16:54:27 +0800336config MEM_MT48LC32M16A2TG_75
337 bool
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000338 depends on (BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN532_IP0X || BLACKSTAMP || BFIN527_AD7160EVAL)
Michael Hennerich59003142007-10-21 16:54:27 +0800339 default y
340
Graf Yangee48efb2009-06-18 04:32:04 +0000341config MEM_MT48H32M16LFCJ_75
342 bool
343 depends on (BFIN526_EZBRD)
344 default y
345
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800346source "arch/blackfin/mach-bf518/Kconfig"
Michael Hennerich59003142007-10-21 16:54:27 +0800347source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700348source "arch/blackfin/mach-bf533/Kconfig"
349source "arch/blackfin/mach-bf561/Kconfig"
350source "arch/blackfin/mach-bf537/Kconfig"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800351source "arch/blackfin/mach-bf538/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800352source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700353
354menu "Board customizations"
355
356config CMDLINE_BOOL
357 bool "Default bootloader kernel arguments"
358
359config CMDLINE
360 string "Initial kernel command string"
361 depends on CMDLINE_BOOL
362 default "console=ttyBF0,57600"
363 help
364 If you don't have a boot loader capable of passing a command line string
365 to the kernel, you may specify one here. As a minimum, you should specify
366 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
367
Mike Frysinger5f004c22008-04-25 02:11:24 +0800368config BOOT_LOAD
369 hex "Kernel load address for booting"
370 default "0x1000"
371 range 0x1000 0x20000000
372 help
373 This option allows you to set the load address of the kernel.
374 This can be useful if you are on a board which has a small amount
375 of memory or you wish to reserve some memory at the beginning of
376 the address space.
377
378 Note that you need to keep this value above 4k (0x1000) as this
379 memory region is used to capture NULL pointer references as well
380 as some core kernel functions.
381
Michael Hennerich8cc71172008-10-13 14:45:06 +0800382config ROM_BASE
383 hex "Kernel ROM Base"
Mike Frysinger86249912008-11-18 17:48:22 +0800384 depends on ROMKERNEL
Barry Songd86bfb12010-01-07 04:11:17 +0000385 default "0x20040040"
Michael Hennerich8cc71172008-10-13 14:45:06 +0800386 range 0x20000000 0x20400000 if !(BF54x || BF561)
387 range 0x20000000 0x30000000 if (BF54x || BF561)
388 help
Barry Songd86bfb12010-01-07 04:11:17 +0000389 Make sure your ROM base does not include any file-header
390 information that is prepended to the kernel.
391
392 For example, the bootable U-Boot format (created with
393 mkimage) has a 64 byte header (0x40). So while the image
394 you write to flash might start at say 0x20080000, you have
395 to add 0x40 to get the kernel's ROM base as it will come
396 after the header.
Michael Hennerich8cc71172008-10-13 14:45:06 +0800397
Robin Getzf16295e2007-08-03 18:07:17 +0800398comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700399
400config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800401 int "Frequency of the crystal on the board in Hz"
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800402 default "10000000" if BFIN532_IP0X
Mike Frysingerd0cb9b42009-06-11 21:52:35 +0000403 default "11059200" if BFIN533_STAMP
404 default "24576000" if PNAV10
405 default "25000000" # most people use this
406 default "27000000" if BFIN533_EZKIT
407 default "30000000" if BFIN561_EZKIT
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000408 default "24000000" if BFIN527_AD7160EVAL
Bryan Wu1394f032007-05-06 14:50:22 -0700409 help
410 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800411 Warning: This value should match the crystal on the board. Otherwise,
412 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700413
Robin Getzf16295e2007-08-03 18:07:17 +0800414config BFIN_KERNEL_CLOCK
415 bool "Re-program Clocks while Kernel boots?"
416 default n
417 help
418 This option decides if kernel clocks are re-programed from the
419 bootloader settings. If the clocks are not set, the SDRAM settings
420 are also not changed, and the Bootloader does 100% of the hardware
421 configuration.
422
423config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800424 bool "Bypass PLL"
425 depends on BFIN_KERNEL_CLOCK
426 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800427
428config CLKIN_HALF
429 bool "Half Clock In"
430 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
431 default n
432 help
433 If this is set the clock will be divided by 2, before it goes to the PLL.
434
435config VCO_MULT
436 int "VCO Multiplier"
437 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
438 range 1 64
439 default "22" if BFIN533_EZKIT
440 default "45" if BFIN533_STAMP
Michael Hennerich6924dfb2009-12-07 13:41:28 +0000441 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800442 default "22" if BFIN533_BLUETECHNIX_CM
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000443 default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800444 default "20" if BFIN561_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800445 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000446 default "25" if BFIN527_AD7160EVAL
Robin Getzf16295e2007-08-03 18:07:17 +0800447 help
448 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
449 PLL Frequency = (Crystal Frequency) * (this setting)
450
451choice
452 prompt "Core Clock Divider"
453 depends on BFIN_KERNEL_CLOCK
454 default CCLK_DIV_1
455 help
456 This sets the frequency of the core. It can be 1, 2, 4 or 8
457 Core Frequency = (PLL frequency) / (this setting)
458
459config CCLK_DIV_1
460 bool "1"
461
462config CCLK_DIV_2
463 bool "2"
464
465config CCLK_DIV_4
466 bool "4"
467
468config CCLK_DIV_8
469 bool "8"
470endchoice
471
472config SCLK_DIV
473 int "System Clock Divider"
474 depends on BFIN_KERNEL_CLOCK
475 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800476 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800477 help
478 This sets the frequency of the system clock (including SDRAM or DDR).
479 This can be between 1 and 15
480 System Clock = (PLL frequency) / (this setting)
481
Mike Frysinger5f004c22008-04-25 02:11:24 +0800482choice
483 prompt "DDR SDRAM Chip Type"
484 depends on BFIN_KERNEL_CLOCK
485 depends on BF54x
486 default MEM_MT46V32M16_5B
487
488config MEM_MT46V32M16_6T
489 bool "MT46V32M16_6T"
490
491config MEM_MT46V32M16_5B
492 bool "MT46V32M16_5B"
493endchoice
494
Michael Hennerich73feb5c2009-01-07 23:14:39 +0800495choice
496 prompt "DDR/SDRAM Timing"
497 depends on BFIN_KERNEL_CLOCK
498 default BFIN_KERNEL_CLOCK_MEMINIT_CALC
499 help
500 This option allows you to specify Blackfin SDRAM/DDR Timing parameters
501 The calculated SDRAM timing parameters may not be 100%
502 accurate - This option is therefore marked experimental.
503
504config BFIN_KERNEL_CLOCK_MEMINIT_CALC
505 bool "Calculate Timings (EXPERIMENTAL)"
506 depends on EXPERIMENTAL
507
508config BFIN_KERNEL_CLOCK_MEMINIT_SPEC
509 bool "Provide accurate Timings based on target SCLK"
510 help
511 Please consult the Blackfin Hardware Reference Manuals as well
512 as the memory device datasheet.
513 http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram
514endchoice
515
516menu "Memory Init Control"
517 depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC
518
519config MEM_DDRCTL0
520 depends on BF54x
521 hex "DDRCTL0"
522 default 0x0
523
524config MEM_DDRCTL1
525 depends on BF54x
526 hex "DDRCTL1"
527 default 0x0
528
529config MEM_DDRCTL2
530 depends on BF54x
531 hex "DDRCTL2"
532 default 0x0
533
534config MEM_EBIU_DDRQUE
535 depends on BF54x
536 hex "DDRQUE"
537 default 0x0
538
539config MEM_SDRRC
540 depends on !BF54x
541 hex "SDRRC"
542 default 0x0
543
544config MEM_SDGCTL
545 depends on !BF54x
546 hex "SDGCTL"
547 default 0x0
548endmenu
549
Robin Getzf16295e2007-08-03 18:07:17 +0800550#
551# Max & Min Speeds for various Chips
552#
553config MAX_VCO_HZ
554 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800555 default 400000000 if BF512
556 default 400000000 if BF514
557 default 400000000 if BF516
558 default 400000000 if BF518
Mike Frysinger7b062632009-08-11 21:27:09 +0000559 default 400000000 if BF522
560 default 600000000 if BF523
Mike Frysinger1545a112007-12-24 16:54:48 +0800561 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800562 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800563 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800564 default 600000000 if BF527
565 default 400000000 if BF531
566 default 400000000 if BF532
567 default 750000000 if BF533
568 default 500000000 if BF534
569 default 400000000 if BF536
570 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800571 default 533333333 if BF538
572 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800573 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800574 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800575 default 600000000 if BF547
576 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800577 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800578 default 600000000 if BF561
579
580config MIN_VCO_HZ
581 int
582 default 50000000
583
584config MAX_SCLK_HZ
585 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800586 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800587
588config MIN_SCLK_HZ
589 int
590 default 27000000
591
592comment "Kernel Timer/Scheduler"
593
594source kernel/Kconfig.hz
595
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800596config GENERIC_CLOCKEVENTS
597 bool "Generic clock events"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800598 default y
599
Yi Li0d152c22009-12-28 10:21:49 +0000600menu "Clock event device"
Graf Yang1fa9be72009-05-15 11:01:59 +0000601 depends on GENERIC_CLOCKEVENTS
Graf Yang1fa9be72009-05-15 11:01:59 +0000602config TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000603 bool "GPTimer0"
604 depends on !SMP
Graf Yang1fa9be72009-05-15 11:01:59 +0000605 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000606
607config TICKSOURCE_CORETMR
Yi Li0d152c22009-12-28 10:21:49 +0000608 bool "Core timer"
609 default y
610endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000611
Yi Li0d152c22009-12-28 10:21:49 +0000612menu "Clock souce"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800613 depends on GENERIC_CLOCKEVENTS
Yi Li0d152c22009-12-28 10:21:49 +0000614config CYCLES_CLOCKSOURCE
615 bool "CYCLES"
616 default y
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800617 depends on !BFIN_SCRATCH_REG_CYCLES
Graf Yang1fa9be72009-05-15 11:01:59 +0000618 depends on !SMP
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800619 help
620 If you say Y here, you will enable support for using the 'cycles'
621 registers as a clock source. Doing so means you will be unable to
622 safely write to the 'cycles' register during runtime. You will
623 still be able to read it (such as for performance monitoring), but
624 writing the registers will most likely crash the kernel.
625
Graf Yang1fa9be72009-05-15 11:01:59 +0000626config GPTMR0_CLOCKSOURCE
Yi Li0d152c22009-12-28 10:21:49 +0000627 bool "GPTimer0"
Mike Frysinger3aca47c2009-06-18 19:40:47 +0000628 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000629 depends on !TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000630endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000631
john stultz10f03f12009-09-15 21:17:19 -0700632config ARCH_USES_GETTIMEOFFSET
633 depends on !GENERIC_CLOCKEVENTS
634 def_bool y
635
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800636source kernel/time/Kconfig
637
Mike Frysinger5f004c22008-04-25 02:11:24 +0800638comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800639
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800640choice
641 prompt "Blackfin Exception Scratch Register"
642 default BFIN_SCRATCH_REG_RETN
643 help
644 Select the resource to reserve for the Exception handler:
645 - RETN: Non-Maskable Interrupt (NMI)
646 - RETE: Exception Return (JTAG/ICE)
647 - CYCLES: Performance counter
648
649 If you are unsure, please select "RETN".
650
651config BFIN_SCRATCH_REG_RETN
652 bool "RETN"
653 help
654 Use the RETN register in the Blackfin exception handler
655 as a stack scratch register. This means you cannot
656 safely use NMI on the Blackfin while running Linux, but
657 you can debug the system with a JTAG ICE and use the
658 CYCLES performance registers.
659
660 If you are unsure, please select "RETN".
661
662config BFIN_SCRATCH_REG_RETE
663 bool "RETE"
664 help
665 Use the RETE register in the Blackfin exception handler
666 as a stack scratch register. This means you cannot
667 safely use a JTAG ICE while debugging a Blackfin board,
668 but you can safely use the CYCLES performance registers
669 and the NMI.
670
671 If you are unsure, please select "RETN".
672
673config BFIN_SCRATCH_REG_CYCLES
674 bool "CYCLES"
675 help
676 Use the CYCLES register in the Blackfin exception handler
677 as a stack scratch register. This means you cannot
678 safely use the CYCLES performance registers on a Blackfin
679 board at anytime, but you can debug the system with a JTAG
680 ICE and use the NMI.
681
682 If you are unsure, please select "RETN".
683
684endchoice
685
Bryan Wu1394f032007-05-06 14:50:22 -0700686endmenu
687
688
689menu "Blackfin Kernel Optimizations"
690
Bryan Wu1394f032007-05-06 14:50:22 -0700691comment "Memory Optimizations"
692
693config I_ENTRY_L1
694 bool "Locate interrupt entry code in L1 Memory"
695 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500696 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700697 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200698 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
699 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700700
701config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200702 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700703 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500704 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700705 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200706 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800707 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200708 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700709
710config DO_IRQ_L1
711 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
712 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500713 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700714 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200715 If enabled, the frequently called do_irq dispatcher function is linked
716 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700717
718config CORE_TIMER_IRQ_L1
719 bool "Locate frequently called timer_interrupt() function in L1 Memory"
720 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500721 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700722 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200723 If enabled, the frequently called timer_interrupt() function is linked
724 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700725
726config IDLE_L1
727 bool "Locate frequently idle function in L1 Memory"
728 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500729 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700730 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200731 If enabled, the frequently called idle function is linked
732 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700733
734config SCHEDULE_L1
735 bool "Locate kernel schedule function in L1 Memory"
736 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500737 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700738 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200739 If enabled, the frequently called kernel schedule is linked
740 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700741
742config ARITHMETIC_OPS_L1
743 bool "Locate kernel owned arithmetic functions in L1 Memory"
744 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500745 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700746 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200747 If enabled, arithmetic functions are linked
748 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700749
750config ACCESS_OK_L1
751 bool "Locate access_ok function in L1 Memory"
752 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500753 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700754 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200755 If enabled, the access_ok function is linked
756 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700757
758config MEMSET_L1
759 bool "Locate memset function in L1 Memory"
760 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500761 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700762 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200763 If enabled, the memset function is linked
764 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700765
766config MEMCPY_L1
767 bool "Locate memcpy function in L1 Memory"
768 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500769 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700770 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200771 If enabled, the memcpy function is linked
772 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700773
Robin Getz479ba602010-05-03 17:23:20 +0000774config STRCMP_L1
775 bool "locate strcmp function in L1 Memory"
776 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500777 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000778 help
779 If enabled, the strcmp function is linked
780 into L1 instruction memory (less latency).
781
782config STRNCMP_L1
783 bool "locate strncmp function in L1 Memory"
784 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500785 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000786 help
787 If enabled, the strncmp function is linked
788 into L1 instruction memory (less latency).
789
790config STRCPY_L1
791 bool "locate strcpy function in L1 Memory"
792 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500793 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000794 help
795 If enabled, the strcpy function is linked
796 into L1 instruction memory (less latency).
797
798config STRNCPY_L1
799 bool "locate strncpy function in L1 Memory"
800 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500801 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000802 help
803 If enabled, the strncpy function is linked
804 into L1 instruction memory (less latency).
805
Bryan Wu1394f032007-05-06 14:50:22 -0700806config SYS_BFIN_SPINLOCK_L1
807 bool "Locate sys_bfin_spinlock function in L1 Memory"
808 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500809 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700810 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200811 If enabled, sys_bfin_spinlock function is linked
812 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700813
814config IP_CHECKSUM_L1
815 bool "Locate IP Checksum function in L1 Memory"
816 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500817 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700818 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200819 If enabled, the IP Checksum function is linked
820 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700821
822config CACHELINE_ALIGNED_L1
823 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800824 default y if !BF54x
825 default n if BF54x
Mike Frysinger820b1272011-02-02 22:31:42 -0500826 depends on !SMP && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700827 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100828 If enabled, cacheline_aligned data is linked
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200829 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700830
831config SYSCALL_TAB_L1
832 bool "Locate Syscall Table L1 Data Memory"
833 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500834 depends on !SMP && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700835 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200836 If enabled, the Syscall LUT is linked
837 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700838
839config CPLB_SWITCH_TAB_L1
840 bool "Locate CPLB Switch Tables L1 Data Memory"
841 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500842 depends on !SMP && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700843 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200844 If enabled, the CPLB Switch Tables are linked
845 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700846
Mike Frysinger820b1272011-02-02 22:31:42 -0500847config ICACHE_FLUSH_L1
848 bool "Locate icache flush funcs in L1 Inst Memory"
Mike Frysinger74181292010-05-27 22:46:46 +0000849 default y
850 help
Mike Frysinger820b1272011-02-02 22:31:42 -0500851 If enabled, the Blackfin icache flushing functions are linked
Mike Frysinger74181292010-05-27 22:46:46 +0000852 into L1 instruction memory.
853
854 Note that this might be required to address anomalies, but
855 these functions are pretty small, so it shouldn't be too bad.
856 If you are using a processor affected by an anomaly, the build
857 system will double check for you and prevent it.
858
Mike Frysinger820b1272011-02-02 22:31:42 -0500859config DCACHE_FLUSH_L1
860 bool "Locate dcache flush funcs in L1 Inst Memory"
861 default y
862 depends on !SMP
863 help
864 If enabled, the Blackfin dcache flushing functions are linked
865 into L1 instruction memory.
866
Graf Yangca87b7a2008-10-08 17:30:01 +0800867config APP_STACK_L1
868 bool "Support locating application stack in L1 Scratch Memory"
869 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500870 depends on !SMP
Graf Yangca87b7a2008-10-08 17:30:01 +0800871 help
872 If enabled the application stack can be located in L1
873 scratch memory (less latency).
874
875 Currently only works with FLAT binaries.
876
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800877config EXCEPTION_L1_SCRATCH
878 bool "Locate exception stack in L1 Scratch Memory"
879 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500880 depends on !SMP && !APP_STACK_L1
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800881 help
882 Whenever an exception occurs, use the L1 Scratch memory for
883 stack storage. You cannot place the stacks of FLAT binaries
884 in L1 when using this option.
885
886 If you don't use L1 Scratch, then you should say Y here.
887
Robin Getz251383c2008-08-14 15:12:55 +0800888comment "Speed Optimizations"
889config BFIN_INS_LOWOVERHEAD
890 bool "ins[bwl] low overhead, higher interrupt latency"
891 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500892 depends on !SMP
Robin Getz251383c2008-08-14 15:12:55 +0800893 help
894 Reads on the Blackfin are speculative. In Blackfin terms, this means
895 they can be interrupted at any time (even after they have been issued
896 on to the external bus), and re-issued after the interrupt occurs.
897 For memory - this is not a big deal, since memory does not change if
898 it sees a read.
899
900 If a FIFO is sitting on the end of the read, it will see two reads,
901 when the core only sees one since the FIFO receives both the read
902 which is cancelled (and not delivered to the core) and the one which
903 is re-issued (which is delivered to the core).
904
905 To solve this, interrupts are turned off before reads occur to
906 I/O space. This option controls which the overhead/latency of
907 controlling interrupts during this time
908 "n" turns interrupts off every read
909 (higher overhead, but lower interrupt latency)
910 "y" turns interrupts off every loop
911 (low overhead, but longer interrupt latency)
912
913 default behavior is to leave this set to on (type "Y"). If you are experiencing
914 interrupt latency issues, it is safe and OK to turn this off.
915
Bryan Wu1394f032007-05-06 14:50:22 -0700916endmenu
917
Bryan Wu1394f032007-05-06 14:50:22 -0700918choice
919 prompt "Kernel executes from"
920 help
921 Choose the memory type that the kernel will be running in.
922
923config RAMKERNEL
924 bool "RAM"
925 help
926 The kernel will be resident in RAM when running.
927
928config ROMKERNEL
929 bool "ROM"
930 help
931 The kernel will be resident in FLASH/ROM when running.
932
933endchoice
934
Mike Frysinger56b4f072010-10-16 19:46:21 -0400935# Common code uses "ROMKERNEL" or "XIP_KERNEL", so define both
936config XIP_KERNEL
937 bool
938 default y
939 depends on ROMKERNEL
940
Bryan Wu1394f032007-05-06 14:50:22 -0700941source "mm/Kconfig"
942
Mike Frysinger780431e2007-10-21 23:37:54 +0800943config BFIN_GPTIMERS
944 tristate "Enable Blackfin General Purpose Timers API"
945 default n
946 help
947 Enable support for the General Purpose Timers API. If you
948 are unsure, say N.
949
950 To compile this driver as a module, choose M here: the module
Pavel Machek4737f092009-06-05 00:44:53 +0200951 will be called gptimers.
Mike Frysinger780431e2007-10-21 23:37:54 +0800952
Mike Frysinger006669e2011-06-15 16:55:39 -0400953config HAVE_PWM
954 tristate "Enable PWM API support"
955 depends on BFIN_GPTIMERS
956 help
957 Enable support for the Pulse Width Modulation framework (as
958 found in linux/pwm.h).
959
960 To compile this driver as a module, choose M here: the module
961 will be called pwm.
962
Bryan Wu1394f032007-05-06 14:50:22 -0700963choice
Mike Frysingerd292b002008-10-28 11:15:36 +0800964 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700965 default DMA_UNCACHED_1M
Cliff Cai86ad7932008-05-17 16:36:52 +0800966config DMA_UNCACHED_4M
967 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700968config DMA_UNCACHED_2M
969 bool "Enable 2M DMA region"
970config DMA_UNCACHED_1M
971 bool "Enable 1M DMA region"
Barry Songc45c0652009-12-02 09:13:36 +0000972config DMA_UNCACHED_512K
973 bool "Enable 512K DMA region"
974config DMA_UNCACHED_256K
975 bool "Enable 256K DMA region"
976config DMA_UNCACHED_128K
977 bool "Enable 128K DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700978config DMA_UNCACHED_NONE
979 bool "Disable DMA region"
980endchoice
981
982
983comment "Cache Support"
Jie Zhang41ba6532009-06-16 09:48:33 +0000984
Robin Getz3bebca22007-10-10 23:55:26 +0800985config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700986 bool "Enable ICACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000987 default y
Jie Zhang41ba6532009-06-16 09:48:33 +0000988config BFIN_EXTMEM_ICACHEABLE
989 bool "Enable ICACHE for external memory"
990 depends on BFIN_ICACHE
991 default y
992config BFIN_L2_ICACHEABLE
993 bool "Enable ICACHE for L2 SRAM"
994 depends on BFIN_ICACHE
995 depends on BF54x || BF561
996 default n
997
Robin Getz3bebca22007-10-10 23:55:26 +0800998config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700999 bool "Enable DCACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +00001000 default y
Robin Getz3bebca22007-10-10 23:55:26 +08001001config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -07001002 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +08001003 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -07001004 default n
Jie Zhang41ba6532009-06-16 09:48:33 +00001005config BFIN_EXTMEM_DCACHEABLE
1006 bool "Enable DCACHE for external memory"
Robin Getz3bebca22007-10-10 23:55:26 +08001007 depends on BFIN_DCACHE
Jie Zhang41ba6532009-06-16 09:48:33 +00001008 default y
Graf Yang5ba76672009-05-07 04:09:15 +00001009choice
Jie Zhang41ba6532009-06-16 09:48:33 +00001010 prompt "External memory DCACHE policy"
1011 depends on BFIN_EXTMEM_DCACHEABLE
1012 default BFIN_EXTMEM_WRITEBACK if !SMP
1013 default BFIN_EXTMEM_WRITETHROUGH if SMP
1014config BFIN_EXTMEM_WRITEBACK
Graf Yang5ba76672009-05-07 04:09:15 +00001015 bool "Write back"
1016 depends on !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001017 help
1018 Write Back Policy:
1019 Cached data will be written back to SDRAM only when needed.
1020 This can give a nice increase in performance, but beware of
1021 broken drivers that do not properly invalidate/flush their
1022 cache.
Graf Yang5ba76672009-05-07 04:09:15 +00001023
Jie Zhang41ba6532009-06-16 09:48:33 +00001024 Write Through Policy:
1025 Cached data will always be written back to SDRAM when the
1026 cache is updated. This is a completely safe setting, but
1027 performance is worse than Write Back.
1028
1029 If you are unsure of the options and you want to be safe,
1030 then go with Write Through.
1031
1032config BFIN_EXTMEM_WRITETHROUGH
Graf Yang5ba76672009-05-07 04:09:15 +00001033 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001034 help
1035 Write Back Policy:
1036 Cached data will be written back to SDRAM only when needed.
1037 This can give a nice increase in performance, but beware of
1038 broken drivers that do not properly invalidate/flush their
1039 cache.
Graf Yang5ba76672009-05-07 04:09:15 +00001040
Jie Zhang41ba6532009-06-16 09:48:33 +00001041 Write Through Policy:
1042 Cached data will always be written back to SDRAM when the
1043 cache is updated. This is a completely safe setting, but
1044 performance is worse than Write Back.
1045
1046 If you are unsure of the options and you want to be safe,
1047 then go with Write Through.
Graf Yang5ba76672009-05-07 04:09:15 +00001048
1049endchoice
Sonic Zhangf099f392008-10-09 14:11:57 +08001050
Jie Zhang41ba6532009-06-16 09:48:33 +00001051config BFIN_L2_DCACHEABLE
1052 bool "Enable DCACHE for L2 SRAM"
1053 depends on BFIN_DCACHE
Sonic Zhang9c954f82009-06-30 09:48:03 +00001054 depends on (BF54x || BF561) && !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001055 default n
1056choice
1057 prompt "L2 SRAM DCACHE policy"
1058 depends on BFIN_L2_DCACHEABLE
1059 default BFIN_L2_WRITEBACK
1060config BFIN_L2_WRITEBACK
1061 bool "Write back"
Jie Zhang41ba6532009-06-16 09:48:33 +00001062
1063config BFIN_L2_WRITETHROUGH
1064 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001065endchoice
1066
1067
1068comment "Memory Protection Unit"
Bernd Schmidtb97b8a92008-01-27 18:39:16 +08001069config MPU
1070 bool "Enable the memory protection unit (EXPERIMENTAL)"
1071 default n
1072 help
1073 Use the processor's MPU to protect applications from accessing
1074 memory they do not own. This comes at a performance penalty
1075 and is recommended only for debugging.
1076
Matt LaPlante692105b2009-01-26 11:12:25 +01001077comment "Asynchronous Memory Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -07001078
Mike Frysingerddf416b2007-10-10 18:06:47 +08001079menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -07001080config C_AMCKEN
1081 bool "Enable CLKOUT"
1082 default y
1083
1084config C_CDPRIO
1085 bool "DMA has priority over core for ext. accesses"
1086 default n
1087
1088config C_B0PEN
1089 depends on BF561
1090 bool "Bank 0 16 bit packing enable"
1091 default y
1092
1093config C_B1PEN
1094 depends on BF561
1095 bool "Bank 1 16 bit packing enable"
1096 default y
1097
1098config C_B2PEN
1099 depends on BF561
1100 bool "Bank 2 16 bit packing enable"
1101 default y
1102
1103config C_B3PEN
1104 depends on BF561
1105 bool "Bank 3 16 bit packing enable"
1106 default n
1107
1108choice
Matt LaPlante692105b2009-01-26 11:12:25 +01001109 prompt "Enable Asynchronous Memory Banks"
Bryan Wu1394f032007-05-06 14:50:22 -07001110 default C_AMBEN_ALL
1111
1112config C_AMBEN
1113 bool "Disable All Banks"
1114
1115config C_AMBEN_B0
1116 bool "Enable Bank 0"
1117
1118config C_AMBEN_B0_B1
1119 bool "Enable Bank 0 & 1"
1120
1121config C_AMBEN_B0_B1_B2
1122 bool "Enable Bank 0 & 1 & 2"
1123
1124config C_AMBEN_ALL
1125 bool "Enable All Banks"
1126endchoice
1127endmenu
1128
1129menu "EBIU_AMBCTL Control"
1130config BANK_0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001131 hex "Bank 0 (AMBCTL0.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001132 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001133 help
1134 These are the low 16 bits of the EBIU_AMBCTL0 MMR which are
1135 used to control the Asynchronous Memory Bank 0 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001136
1137config BANK_1
Mike Frysingerc8342f82009-03-31 00:18:35 +00001138 hex "Bank 1 (AMBCTL0.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001139 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +08001140 default 0x5558 if BF54x
Mike Frysingerc8342f82009-03-31 00:18:35 +00001141 help
1142 These are the high 16 bits of the EBIU_AMBCTL0 MMR which are
1143 used to control the Asynchronous Memory Bank 1 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001144
1145config BANK_2
Mike Frysingerc8342f82009-03-31 00:18:35 +00001146 hex "Bank 2 (AMBCTL1.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001147 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001148 help
1149 These are the low 16 bits of the EBIU_AMBCTL1 MMR which are
1150 used to control the Asynchronous Memory Bank 2 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001151
1152config BANK_3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001153 hex "Bank 3 (AMBCTL1.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001154 default 0x99B3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001155 help
1156 These are the high 16 bits of the EBIU_AMBCTL1 MMR which are
1157 used to control the Asynchronous Memory Bank 3 settings.
1158
Bryan Wu1394f032007-05-06 14:50:22 -07001159endmenu
1160
Sonic Zhange40540b2007-11-21 23:49:52 +08001161config EBIU_MBSCTLVAL
1162 hex "EBIU Bank Select Control Register"
1163 depends on BF54x
1164 default 0
1165
1166config EBIU_MODEVAL
1167 hex "Flash Memory Mode Control Register"
1168 depends on BF54x
1169 default 1
1170
1171config EBIU_FCTLVAL
1172 hex "Flash Memory Bank Control Register"
1173 depends on BF54x
1174 default 6
Bryan Wu1394f032007-05-06 14:50:22 -07001175endmenu
1176
1177#############################################################################
1178menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1179
1180config PCI
1181 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +08001182 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -07001183 help
1184 Support for PCI bus.
1185
1186source "drivers/pci/Kconfig"
1187
Bryan Wu1394f032007-05-06 14:50:22 -07001188source "drivers/pcmcia/Kconfig"
1189
1190source "drivers/pci/hotplug/Kconfig"
1191
1192endmenu
1193
1194menu "Executable file formats"
1195
1196source "fs/Kconfig.binfmt"
1197
1198endmenu
1199
1200menu "Power management options"
Graf Yangad461632009-08-07 03:52:54 +00001201
Bryan Wu1394f032007-05-06 14:50:22 -07001202source "kernel/power/Kconfig"
1203
Johannes Bergf4cb5702007-12-08 02:14:00 +01001204config ARCH_SUSPEND_POSSIBLE
1205 def_bool y
Johannes Bergf4cb5702007-12-08 02:14:00 +01001206
Bryan Wu1394f032007-05-06 14:50:22 -07001207choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001208 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -07001209 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001210 default PM_BFIN_SLEEP_DEEPER
1211config PM_BFIN_SLEEP_DEEPER
1212 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001213 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001214 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1215 power dissipation by disabling the clock to the processor core (CCLK).
1216 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1217 to 0.85 V to provide the greatest power savings, while preserving the
1218 processor state.
1219 The PLL and system clock (SCLK) continue to operate at a very low
1220 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1221 the SDRAM is put into Self Refresh Mode. Typically an external event
1222 such as GPIO interrupt or RTC activity wakes up the processor.
1223 Various Peripherals such as UART, SPORT, PPI may not function as
1224 normal during Sleep Deeper, due to the reduced SCLK frequency.
1225 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001226
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001227 If unsure, select "Sleep Deeper".
1228
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001229config PM_BFIN_SLEEP
1230 bool "Sleep"
1231 help
1232 Sleep Mode (High Power Savings) - The sleep mode reduces power
1233 dissipation by disabling the clock to the processor core (CCLK).
1234 The PLL and system clock (SCLK), however, continue to operate in
1235 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001236 up the processor. When in the sleep mode, system DMA access to L1
1237 memory is not supported.
1238
1239 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001240endchoice
1241
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001242comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1243 depends on PM
1244
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001245config PM_BFIN_WAKE_PH6
1246 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001247 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001248 default n
1249 help
1250 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1251
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001252config PM_BFIN_WAKE_GP
1253 bool "Allow Wake-Up from GPIOs"
1254 depends on PM && BF54x
1255 default n
1256 help
1257 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Michael Hennerich19986282009-03-05 16:45:55 +08001258 (all processors, except ADSP-BF549). This option sets
1259 the general-purpose wake-up enable (GPWE) control bit to enable
1260 wake-up upon detection of an active low signal on the /GPW (PH7) pin.
1261 On ADSP-BF549 this option enables the the same functionality on the
1262 /MRXON pin also PH7.
1263
Bryan Wu1394f032007-05-06 14:50:22 -07001264endmenu
1265
Bryan Wu1394f032007-05-06 14:50:22 -07001266menu "CPU Frequency scaling"
1267
1268source "drivers/cpufreq/Kconfig"
1269
Michael Hennerich5ad2ca52008-11-18 17:48:22 +08001270config BFIN_CPU_FREQ
1271 bool
1272 depends on CPU_FREQ
1273 select CPU_FREQ_TABLE
1274 default y
1275
Michael Hennerich14b03202008-05-07 11:41:26 +08001276config CPU_VOLTAGE
1277 bool "CPU Voltage scaling"
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001278 depends on EXPERIMENTAL
Michael Hennerich14b03202008-05-07 11:41:26 +08001279 depends on CPU_FREQ
1280 default n
1281 help
1282 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1283 This option violates the PLL BYPASS recommendation in the Blackfin Processor
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001284 manuals. There is a theoretical risk that during VDDINT transitions
Michael Hennerich14b03202008-05-07 11:41:26 +08001285 the PLL may unlock.
1286
Bryan Wu1394f032007-05-06 14:50:22 -07001287endmenu
1288
Bryan Wu1394f032007-05-06 14:50:22 -07001289source "net/Kconfig"
1290
1291source "drivers/Kconfig"
1292
Mike Frysinger872d0242009-10-06 04:49:07 +00001293source "drivers/firmware/Kconfig"
1294
Bryan Wu1394f032007-05-06 14:50:22 -07001295source "fs/Kconfig"
1296
Mike Frysinger74ce8322007-11-21 23:50:49 +08001297source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001298
1299source "security/Kconfig"
1300
1301source "crypto/Kconfig"
1302
1303source "lib/Kconfig"