blob: 23bae9a3f7875a7c34095578d2ee20664627363d [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
Bob Liub5affb02012-05-16 17:37:24 +0800229config BF609
230 bool "BF609"
231 select CLKDEV_LOOKUP
232 help
233 BF609 Processor Support.
234
Bryan Wu1394f032007-05-06 14:50:22 -0700235endchoice
236
Graf Yang46fa5ee2009-01-07 23:14:39 +0800237config SMP
238 depends on BF561
Yi Li0d152c22009-12-28 10:21:49 +0000239 select TICKSOURCE_CORETMR
Graf Yang46fa5ee2009-01-07 23:14:39 +0800240 bool "Symmetric multi-processing support"
241 ---help---
242 This enables support for systems with more than one CPU,
243 like the dual core BF561. If you have a system with only one
244 CPU, say N. If you have a system with more than one CPU, say Y.
245
246 If you don't know what to do here, say N.
247
248config NR_CPUS
249 int
250 depends on SMP
251 default 2 if BF561
252
Graf Yang0b39db22009-12-28 11:13:51 +0000253config HOTPLUG_CPU
254 bool "Support for hot-pluggable CPUs"
255 depends on SMP && HOTPLUG
256 default y
257
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800258config BF_REV_MIN
259 int
Bob Liub5affb02012-05-16 17:37:24 +0800260 default 0 if (BF51x || BF52x || (BF54x && !BF54xM)) || BF60x
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800261 default 2 if (BF537 || BF536 || BF534)
Mike Frysinger2f89c062009-02-04 16:49:45 +0800262 default 3 if (BF561 || BF533 || BF532 || BF531 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800263 default 4 if (BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800264
265config BF_REV_MAX
266 int
Bob Liub5affb02012-05-16 17:37:24 +0800267 default 2 if (BF51x || BF52x || (BF54x && !BF54xM)) || BF60x
Mike Frysinger2f89c062009-02-04 16:49:45 +0800268 default 3 if (BF537 || BF536 || BF534 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800269 default 5 if (BF561 || BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800270 default 6 if (BF533 || BF532 || BF531)
271
Bryan Wu1394f032007-05-06 14:50:22 -0700272choice
273 prompt "Silicon Rev"
Bob Liub5affb02012-05-16 17:37:24 +0800274 default BF_REV_0_0 if (BF51x || BF52x || BF60x)
Mike Frysingerf8b55652009-04-13 21:58:34 +0000275 default BF_REV_0_2 if (BF534 || BF536 || BF537 || (BF54x && !BF54xM))
Mike Frysinger2f89c062009-02-04 16:49:45 +0800276 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF54xM || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800277
278config BF_REV_0_0
279 bool "0.0"
Bob Liub5affb02012-05-16 17:37:24 +0800280 depends on (BF51x || BF52x || (BF54x && !BF54xM) || BF60x)
Michael Hennerich59003142007-10-21 16:54:27 +0800281
282config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800283 bool "0.1"
Mike Frysinger3d15f302009-06-15 16:21:44 +0000284 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700285
286config BF_REV_0_2
287 bool "0.2"
Mike Frysinger8060bb62010-08-16 16:18:12 +0000288 depends on (BF51x || BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700289
290config BF_REV_0_3
291 bool "0.3"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800292 depends on (BF54xM || BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
Bryan Wu1394f032007-05-06 14:50:22 -0700293
294config BF_REV_0_4
295 bool "0.4"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800296 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700297
298config BF_REV_0_5
299 bool "0.5"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800300 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700301
Mike Frysinger49f72532008-10-09 12:06:27 +0800302config BF_REV_0_6
303 bool "0.6"
304 depends on (BF533 || BF532 || BF531)
305
Jie Zhangde3025f2007-06-25 18:04:12 +0800306config BF_REV_ANY
307 bool "any"
308
309config BF_REV_NONE
310 bool "none"
311
Bryan Wu1394f032007-05-06 14:50:22 -0700312endchoice
313
Roy Huang24a07a12007-07-12 22:41:45 +0800314config BF53x
315 bool
316 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
317 default y
318
Bryan Wu1394f032007-05-06 14:50:22 -0700319config MEM_MT48LC64M4A2FB_7E
320 bool
321 depends on (BFIN533_STAMP)
322 default y
323
324config MEM_MT48LC16M16A2TG_75
325 bool
326 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000327 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM_E \
328 || BFIN537_BLUETECHNIX_CM_U || H8606_HVSISTEMAS \
329 || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700330 default y
331
332config MEM_MT48LC32M8A2_75
333 bool
Mike Frysinger084f9eb2010-05-20 04:26:54 +0000334 depends on (BFIN518F_EZBRD || BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700335 default y
336
337config MEM_MT48LC8M32B2B5_7
338 bool
339 depends on (BFIN561_BLUETECHNIX_CM)
340 default y
341
Michael Hennerich59003142007-10-21 16:54:27 +0800342config MEM_MT48LC32M16A2TG_75
343 bool
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000344 depends on (BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN532_IP0X || BLACKSTAMP || BFIN527_AD7160EVAL)
Michael Hennerich59003142007-10-21 16:54:27 +0800345 default y
346
Graf Yangee48efb2009-06-18 04:32:04 +0000347config MEM_MT48H32M16LFCJ_75
348 bool
349 depends on (BFIN526_EZBRD)
350 default y
351
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800352source "arch/blackfin/mach-bf518/Kconfig"
Michael Hennerich59003142007-10-21 16:54:27 +0800353source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700354source "arch/blackfin/mach-bf533/Kconfig"
355source "arch/blackfin/mach-bf561/Kconfig"
356source "arch/blackfin/mach-bf537/Kconfig"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800357source "arch/blackfin/mach-bf538/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800358source "arch/blackfin/mach-bf548/Kconfig"
Bob Liub5affb02012-05-16 17:37:24 +0800359source "arch/blackfin/mach-bf609/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700360
361menu "Board customizations"
362
363config CMDLINE_BOOL
364 bool "Default bootloader kernel arguments"
365
366config CMDLINE
367 string "Initial kernel command string"
368 depends on CMDLINE_BOOL
369 default "console=ttyBF0,57600"
370 help
371 If you don't have a boot loader capable of passing a command line string
372 to the kernel, you may specify one here. As a minimum, you should specify
373 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
374
Mike Frysinger5f004c22008-04-25 02:11:24 +0800375config BOOT_LOAD
376 hex "Kernel load address for booting"
377 default "0x1000"
378 range 0x1000 0x20000000
379 help
380 This option allows you to set the load address of the kernel.
381 This can be useful if you are on a board which has a small amount
382 of memory or you wish to reserve some memory at the beginning of
383 the address space.
384
385 Note that you need to keep this value above 4k (0x1000) as this
386 memory region is used to capture NULL pointer references as well
387 as some core kernel functions.
388
Bob Liub5affb02012-05-16 17:37:24 +0800389config PHY_RAM_BASE_ADDRESS
390 hex "Physical RAM Base"
391 default 0x0
392 help
393 set BF609 FPGA physical SRAM base address
394
Michael Hennerich8cc71172008-10-13 14:45:06 +0800395config ROM_BASE
396 hex "Kernel ROM Base"
Mike Frysinger86249912008-11-18 17:48:22 +0800397 depends on ROMKERNEL
Barry Songd86bfb12010-01-07 04:11:17 +0000398 default "0x20040040"
Michael Hennerich8cc71172008-10-13 14:45:06 +0800399 range 0x20000000 0x20400000 if !(BF54x || BF561)
400 range 0x20000000 0x30000000 if (BF54x || BF561)
401 help
Barry Songd86bfb12010-01-07 04:11:17 +0000402 Make sure your ROM base does not include any file-header
403 information that is prepended to the kernel.
404
405 For example, the bootable U-Boot format (created with
406 mkimage) has a 64 byte header (0x40). So while the image
407 you write to flash might start at say 0x20080000, you have
408 to add 0x40 to get the kernel's ROM base as it will come
409 after the header.
Michael Hennerich8cc71172008-10-13 14:45:06 +0800410
Robin Getzf16295e2007-08-03 18:07:17 +0800411comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700412
413config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800414 int "Frequency of the crystal on the board in Hz"
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800415 default "10000000" if BFIN532_IP0X
Mike Frysingerd0cb9b42009-06-11 21:52:35 +0000416 default "11059200" if BFIN533_STAMP
417 default "24576000" if PNAV10
418 default "25000000" # most people use this
419 default "27000000" if BFIN533_EZKIT
420 default "30000000" if BFIN561_EZKIT
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000421 default "24000000" if BFIN527_AD7160EVAL
Bryan Wu1394f032007-05-06 14:50:22 -0700422 help
423 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800424 Warning: This value should match the crystal on the board. Otherwise,
425 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700426
Robin Getzf16295e2007-08-03 18:07:17 +0800427config BFIN_KERNEL_CLOCK
428 bool "Re-program Clocks while Kernel boots?"
429 default n
430 help
431 This option decides if kernel clocks are re-programed from the
432 bootloader settings. If the clocks are not set, the SDRAM settings
433 are also not changed, and the Bootloader does 100% of the hardware
434 configuration.
435
436config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800437 bool "Bypass PLL"
438 depends on BFIN_KERNEL_CLOCK
439 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800440
441config CLKIN_HALF
442 bool "Half Clock In"
443 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
444 default n
445 help
446 If this is set the clock will be divided by 2, before it goes to the PLL.
447
448config VCO_MULT
449 int "VCO Multiplier"
450 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
451 range 1 64
452 default "22" if BFIN533_EZKIT
453 default "45" if BFIN533_STAMP
Michael Hennerich6924dfb2009-12-07 13:41:28 +0000454 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800455 default "22" if BFIN533_BLUETECHNIX_CM
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000456 default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800457 default "20" if BFIN561_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800458 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000459 default "25" if BFIN527_AD7160EVAL
Robin Getzf16295e2007-08-03 18:07:17 +0800460 help
461 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
462 PLL Frequency = (Crystal Frequency) * (this setting)
463
464choice
465 prompt "Core Clock Divider"
466 depends on BFIN_KERNEL_CLOCK
467 default CCLK_DIV_1
468 help
469 This sets the frequency of the core. It can be 1, 2, 4 or 8
470 Core Frequency = (PLL frequency) / (this setting)
471
472config CCLK_DIV_1
473 bool "1"
474
475config CCLK_DIV_2
476 bool "2"
477
478config CCLK_DIV_4
479 bool "4"
480
481config CCLK_DIV_8
482 bool "8"
483endchoice
484
485config SCLK_DIV
486 int "System Clock Divider"
487 depends on BFIN_KERNEL_CLOCK
488 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800489 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800490 help
491 This sets the frequency of the system clock (including SDRAM or DDR).
492 This can be between 1 and 15
493 System Clock = (PLL frequency) / (this setting)
494
Mike Frysinger5f004c22008-04-25 02:11:24 +0800495choice
496 prompt "DDR SDRAM Chip Type"
497 depends on BFIN_KERNEL_CLOCK
498 depends on BF54x
499 default MEM_MT46V32M16_5B
500
501config MEM_MT46V32M16_6T
502 bool "MT46V32M16_6T"
503
504config MEM_MT46V32M16_5B
505 bool "MT46V32M16_5B"
506endchoice
507
Michael Hennerich73feb5c2009-01-07 23:14:39 +0800508choice
509 prompt "DDR/SDRAM Timing"
510 depends on BFIN_KERNEL_CLOCK
511 default BFIN_KERNEL_CLOCK_MEMINIT_CALC
512 help
513 This option allows you to specify Blackfin SDRAM/DDR Timing parameters
514 The calculated SDRAM timing parameters may not be 100%
515 accurate - This option is therefore marked experimental.
516
517config BFIN_KERNEL_CLOCK_MEMINIT_CALC
518 bool "Calculate Timings (EXPERIMENTAL)"
519 depends on EXPERIMENTAL
520
521config BFIN_KERNEL_CLOCK_MEMINIT_SPEC
522 bool "Provide accurate Timings based on target SCLK"
523 help
524 Please consult the Blackfin Hardware Reference Manuals as well
525 as the memory device datasheet.
526 http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram
527endchoice
528
529menu "Memory Init Control"
530 depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC
531
532config MEM_DDRCTL0
533 depends on BF54x
534 hex "DDRCTL0"
535 default 0x0
536
537config MEM_DDRCTL1
538 depends on BF54x
539 hex "DDRCTL1"
540 default 0x0
541
542config MEM_DDRCTL2
543 depends on BF54x
544 hex "DDRCTL2"
545 default 0x0
546
547config MEM_EBIU_DDRQUE
548 depends on BF54x
549 hex "DDRQUE"
550 default 0x0
551
552config MEM_SDRRC
553 depends on !BF54x
554 hex "SDRRC"
555 default 0x0
556
557config MEM_SDGCTL
558 depends on !BF54x
559 hex "SDGCTL"
560 default 0x0
561endmenu
562
Robin Getzf16295e2007-08-03 18:07:17 +0800563#
564# Max & Min Speeds for various Chips
565#
566config MAX_VCO_HZ
567 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800568 default 400000000 if BF512
569 default 400000000 if BF514
570 default 400000000 if BF516
571 default 400000000 if BF518
Mike Frysinger7b062632009-08-11 21:27:09 +0000572 default 400000000 if BF522
573 default 600000000 if BF523
Mike Frysinger1545a112007-12-24 16:54:48 +0800574 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800575 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800576 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800577 default 600000000 if BF527
578 default 400000000 if BF531
579 default 400000000 if BF532
580 default 750000000 if BF533
581 default 500000000 if BF534
582 default 400000000 if BF536
583 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800584 default 533333333 if BF538
585 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800586 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800587 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800588 default 600000000 if BF547
589 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800590 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800591 default 600000000 if BF561
592
593config MIN_VCO_HZ
594 int
595 default 50000000
596
597config MAX_SCLK_HZ
598 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800599 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800600
601config MIN_SCLK_HZ
602 int
603 default 27000000
604
605comment "Kernel Timer/Scheduler"
606
607source kernel/Kconfig.hz
608
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800609config GENERIC_CLOCKEVENTS
610 bool "Generic clock events"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800611 default y
612
Yi Li0d152c22009-12-28 10:21:49 +0000613menu "Clock event device"
Graf Yang1fa9be72009-05-15 11:01:59 +0000614 depends on GENERIC_CLOCKEVENTS
Graf Yang1fa9be72009-05-15 11:01:59 +0000615config TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000616 bool "GPTimer0"
617 depends on !SMP
Graf Yang1fa9be72009-05-15 11:01:59 +0000618 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000619
620config TICKSOURCE_CORETMR
Yi Li0d152c22009-12-28 10:21:49 +0000621 bool "Core timer"
622 default y
623endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000624
Yi Li0d152c22009-12-28 10:21:49 +0000625menu "Clock souce"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800626 depends on GENERIC_CLOCKEVENTS
Yi Li0d152c22009-12-28 10:21:49 +0000627config CYCLES_CLOCKSOURCE
628 bool "CYCLES"
629 default y
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800630 depends on !BFIN_SCRATCH_REG_CYCLES
Graf Yang1fa9be72009-05-15 11:01:59 +0000631 depends on !SMP
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800632 help
633 If you say Y here, you will enable support for using the 'cycles'
634 registers as a clock source. Doing so means you will be unable to
635 safely write to the 'cycles' register during runtime. You will
636 still be able to read it (such as for performance monitoring), but
637 writing the registers will most likely crash the kernel.
638
Graf Yang1fa9be72009-05-15 11:01:59 +0000639config GPTMR0_CLOCKSOURCE
Yi Li0d152c22009-12-28 10:21:49 +0000640 bool "GPTimer0"
Mike Frysinger3aca47c2009-06-18 19:40:47 +0000641 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000642 depends on !TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000643endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000644
john stultz10f03f12009-09-15 21:17:19 -0700645config ARCH_USES_GETTIMEOFFSET
646 depends on !GENERIC_CLOCKEVENTS
647 def_bool y
648
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800649source kernel/time/Kconfig
650
Mike Frysinger5f004c22008-04-25 02:11:24 +0800651comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800652
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800653choice
654 prompt "Blackfin Exception Scratch Register"
655 default BFIN_SCRATCH_REG_RETN
656 help
657 Select the resource to reserve for the Exception handler:
658 - RETN: Non-Maskable Interrupt (NMI)
659 - RETE: Exception Return (JTAG/ICE)
660 - CYCLES: Performance counter
661
662 If you are unsure, please select "RETN".
663
664config BFIN_SCRATCH_REG_RETN
665 bool "RETN"
666 help
667 Use the RETN register in the Blackfin exception handler
668 as a stack scratch register. This means you cannot
669 safely use NMI on the Blackfin while running Linux, but
670 you can debug the system with a JTAG ICE and use the
671 CYCLES performance registers.
672
673 If you are unsure, please select "RETN".
674
675config BFIN_SCRATCH_REG_RETE
676 bool "RETE"
677 help
678 Use the RETE register in the Blackfin exception handler
679 as a stack scratch register. This means you cannot
680 safely use a JTAG ICE while debugging a Blackfin board,
681 but you can safely use the CYCLES performance registers
682 and the NMI.
683
684 If you are unsure, please select "RETN".
685
686config BFIN_SCRATCH_REG_CYCLES
687 bool "CYCLES"
688 help
689 Use the CYCLES register in the Blackfin exception handler
690 as a stack scratch register. This means you cannot
691 safely use the CYCLES performance registers on a Blackfin
692 board at anytime, but you can debug the system with a JTAG
693 ICE and use the NMI.
694
695 If you are unsure, please select "RETN".
696
697endchoice
698
Bryan Wu1394f032007-05-06 14:50:22 -0700699endmenu
700
701
702menu "Blackfin Kernel Optimizations"
703
Bryan Wu1394f032007-05-06 14:50:22 -0700704comment "Memory Optimizations"
705
706config I_ENTRY_L1
707 bool "Locate interrupt entry code in L1 Memory"
708 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500709 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700710 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200711 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
712 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700713
714config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200715 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700716 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500717 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700718 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200719 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800720 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200721 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700722
723config DO_IRQ_L1
724 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
725 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500726 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700727 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200728 If enabled, the frequently called do_irq dispatcher function is linked
729 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700730
731config CORE_TIMER_IRQ_L1
732 bool "Locate frequently called timer_interrupt() function in L1 Memory"
733 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500734 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700735 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200736 If enabled, the frequently called timer_interrupt() function is linked
737 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700738
739config IDLE_L1
740 bool "Locate frequently idle function in L1 Memory"
741 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500742 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700743 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200744 If enabled, the frequently called idle function is linked
745 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700746
747config SCHEDULE_L1
748 bool "Locate kernel schedule function in L1 Memory"
749 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500750 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700751 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200752 If enabled, the frequently called kernel schedule is linked
753 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700754
755config ARITHMETIC_OPS_L1
756 bool "Locate kernel owned arithmetic functions in L1 Memory"
757 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500758 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700759 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200760 If enabled, arithmetic functions are linked
761 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700762
763config ACCESS_OK_L1
764 bool "Locate access_ok function in L1 Memory"
765 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500766 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700767 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200768 If enabled, the access_ok function is linked
769 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700770
771config MEMSET_L1
772 bool "Locate memset function in L1 Memory"
773 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500774 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700775 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
Mike Frysinger820b1272011-02-02 22:31:42 -0500782 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700783 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200784 If enabled, the memcpy function is linked
785 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700786
Robin Getz479ba602010-05-03 17:23:20 +0000787config STRCMP_L1
788 bool "locate strcmp function in L1 Memory"
789 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500790 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000791 help
792 If enabled, the strcmp function is linked
793 into L1 instruction memory (less latency).
794
795config STRNCMP_L1
796 bool "locate strncmp function in L1 Memory"
797 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500798 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000799 help
800 If enabled, the strncmp function is linked
801 into L1 instruction memory (less latency).
802
803config STRCPY_L1
804 bool "locate strcpy function in L1 Memory"
805 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500806 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000807 help
808 If enabled, the strcpy function is linked
809 into L1 instruction memory (less latency).
810
811config STRNCPY_L1
812 bool "locate strncpy function in L1 Memory"
813 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500814 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000815 help
816 If enabled, the strncpy function is linked
817 into L1 instruction memory (less latency).
818
Bryan Wu1394f032007-05-06 14:50:22 -0700819config SYS_BFIN_SPINLOCK_L1
820 bool "Locate sys_bfin_spinlock function in L1 Memory"
821 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500822 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700823 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200824 If enabled, sys_bfin_spinlock function is linked
825 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700826
827config IP_CHECKSUM_L1
828 bool "Locate IP Checksum function in L1 Memory"
829 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500830 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700831 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200832 If enabled, the IP Checksum function is linked
833 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700834
835config CACHELINE_ALIGNED_L1
836 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800837 default y if !BF54x
838 default n if BF54x
Mike Frysinger95fc2d82012-03-28 11:43:02 +0800839 depends on !SMP && !BF531 && !CRC32
Bryan Wu1394f032007-05-06 14:50:22 -0700840 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100841 If enabled, cacheline_aligned data is linked
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200842 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700843
844config SYSCALL_TAB_L1
845 bool "Locate Syscall Table L1 Data Memory"
846 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500847 depends on !SMP && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700848 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200849 If enabled, the Syscall LUT is linked
850 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700851
852config CPLB_SWITCH_TAB_L1
853 bool "Locate CPLB Switch Tables L1 Data Memory"
854 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500855 depends on !SMP && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700856 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200857 If enabled, the CPLB Switch Tables are linked
858 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700859
Mike Frysinger820b1272011-02-02 22:31:42 -0500860config ICACHE_FLUSH_L1
861 bool "Locate icache flush funcs in L1 Inst Memory"
Mike Frysinger74181292010-05-27 22:46:46 +0000862 default y
863 help
Mike Frysinger820b1272011-02-02 22:31:42 -0500864 If enabled, the Blackfin icache flushing functions are linked
Mike Frysinger74181292010-05-27 22:46:46 +0000865 into L1 instruction memory.
866
867 Note that this might be required to address anomalies, but
868 these functions are pretty small, so it shouldn't be too bad.
869 If you are using a processor affected by an anomaly, the build
870 system will double check for you and prevent it.
871
Mike Frysinger820b1272011-02-02 22:31:42 -0500872config DCACHE_FLUSH_L1
873 bool "Locate dcache flush funcs in L1 Inst Memory"
874 default y
875 depends on !SMP
876 help
877 If enabled, the Blackfin dcache flushing functions are linked
878 into L1 instruction memory.
879
Graf Yangca87b7a2008-10-08 17:30:01 +0800880config APP_STACK_L1
881 bool "Support locating application stack in L1 Scratch Memory"
882 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500883 depends on !SMP
Graf Yangca87b7a2008-10-08 17:30:01 +0800884 help
885 If enabled the application stack can be located in L1
886 scratch memory (less latency).
887
888 Currently only works with FLAT binaries.
889
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800890config EXCEPTION_L1_SCRATCH
891 bool "Locate exception stack in L1 Scratch Memory"
892 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500893 depends on !SMP && !APP_STACK_L1
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800894 help
895 Whenever an exception occurs, use the L1 Scratch memory for
896 stack storage. You cannot place the stacks of FLAT binaries
897 in L1 when using this option.
898
899 If you don't use L1 Scratch, then you should say Y here.
900
Robin Getz251383c2008-08-14 15:12:55 +0800901comment "Speed Optimizations"
902config BFIN_INS_LOWOVERHEAD
903 bool "ins[bwl] low overhead, higher interrupt latency"
904 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500905 depends on !SMP
Robin Getz251383c2008-08-14 15:12:55 +0800906 help
907 Reads on the Blackfin are speculative. In Blackfin terms, this means
908 they can be interrupted at any time (even after they have been issued
909 on to the external bus), and re-issued after the interrupt occurs.
910 For memory - this is not a big deal, since memory does not change if
911 it sees a read.
912
913 If a FIFO is sitting on the end of the read, it will see two reads,
914 when the core only sees one since the FIFO receives both the read
915 which is cancelled (and not delivered to the core) and the one which
916 is re-issued (which is delivered to the core).
917
918 To solve this, interrupts are turned off before reads occur to
919 I/O space. This option controls which the overhead/latency of
920 controlling interrupts during this time
921 "n" turns interrupts off every read
922 (higher overhead, but lower interrupt latency)
923 "y" turns interrupts off every loop
924 (low overhead, but longer interrupt latency)
925
926 default behavior is to leave this set to on (type "Y"). If you are experiencing
927 interrupt latency issues, it is safe and OK to turn this off.
928
Bryan Wu1394f032007-05-06 14:50:22 -0700929endmenu
930
Bryan Wu1394f032007-05-06 14:50:22 -0700931choice
932 prompt "Kernel executes from"
933 help
934 Choose the memory type that the kernel will be running in.
935
936config RAMKERNEL
937 bool "RAM"
938 help
939 The kernel will be resident in RAM when running.
940
941config ROMKERNEL
942 bool "ROM"
943 help
944 The kernel will be resident in FLASH/ROM when running.
945
946endchoice
947
Mike Frysinger56b4f072010-10-16 19:46:21 -0400948# Common code uses "ROMKERNEL" or "XIP_KERNEL", so define both
949config XIP_KERNEL
950 bool
951 default y
952 depends on ROMKERNEL
953
Bryan Wu1394f032007-05-06 14:50:22 -0700954source "mm/Kconfig"
955
Mike Frysinger780431e2007-10-21 23:37:54 +0800956config BFIN_GPTIMERS
957 tristate "Enable Blackfin General Purpose Timers API"
958 default n
959 help
960 Enable support for the General Purpose Timers API. If you
961 are unsure, say N.
962
963 To compile this driver as a module, choose M here: the module
Pavel Machek4737f092009-06-05 00:44:53 +0200964 will be called gptimers.
Mike Frysinger780431e2007-10-21 23:37:54 +0800965
Mike Frysinger006669e2011-06-15 16:55:39 -0400966config HAVE_PWM
967 tristate "Enable PWM API support"
968 depends on BFIN_GPTIMERS
969 help
970 Enable support for the Pulse Width Modulation framework (as
971 found in linux/pwm.h).
972
973 To compile this driver as a module, choose M here: the module
974 will be called pwm.
975
Bryan Wu1394f032007-05-06 14:50:22 -0700976choice
Mike Frysingerd292b002008-10-28 11:15:36 +0800977 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700978 default DMA_UNCACHED_1M
Cliff Cai86ad7932008-05-17 16:36:52 +0800979config DMA_UNCACHED_4M
980 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700981config DMA_UNCACHED_2M
982 bool "Enable 2M DMA region"
983config DMA_UNCACHED_1M
984 bool "Enable 1M DMA region"
Barry Songc45c0652009-12-02 09:13:36 +0000985config DMA_UNCACHED_512K
986 bool "Enable 512K DMA region"
987config DMA_UNCACHED_256K
988 bool "Enable 256K DMA region"
989config DMA_UNCACHED_128K
990 bool "Enable 128K DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700991config DMA_UNCACHED_NONE
992 bool "Disable DMA region"
993endchoice
994
995
996comment "Cache Support"
Jie Zhang41ba6532009-06-16 09:48:33 +0000997
Robin Getz3bebca22007-10-10 23:55:26 +0800998config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700999 bool "Enable ICACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +00001000 default y
Jie Zhang41ba6532009-06-16 09:48:33 +00001001config BFIN_EXTMEM_ICACHEABLE
1002 bool "Enable ICACHE for external memory"
1003 depends on BFIN_ICACHE
1004 default y
1005config BFIN_L2_ICACHEABLE
1006 bool "Enable ICACHE for L2 SRAM"
1007 depends on BFIN_ICACHE
1008 depends on BF54x || BF561
1009 default n
1010
Robin Getz3bebca22007-10-10 23:55:26 +08001011config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -07001012 bool "Enable DCACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +00001013 default y
Robin Getz3bebca22007-10-10 23:55:26 +08001014config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -07001015 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +08001016 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -07001017 default n
Jie Zhang41ba6532009-06-16 09:48:33 +00001018config BFIN_EXTMEM_DCACHEABLE
1019 bool "Enable DCACHE for external memory"
Robin Getz3bebca22007-10-10 23:55:26 +08001020 depends on BFIN_DCACHE
Jie Zhang41ba6532009-06-16 09:48:33 +00001021 default y
Graf Yang5ba76672009-05-07 04:09:15 +00001022choice
Jie Zhang41ba6532009-06-16 09:48:33 +00001023 prompt "External memory DCACHE policy"
1024 depends on BFIN_EXTMEM_DCACHEABLE
1025 default BFIN_EXTMEM_WRITEBACK if !SMP
1026 default BFIN_EXTMEM_WRITETHROUGH if SMP
1027config BFIN_EXTMEM_WRITEBACK
Graf Yang5ba76672009-05-07 04:09:15 +00001028 bool "Write back"
1029 depends on !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001030 help
1031 Write Back Policy:
1032 Cached data will be written back to SDRAM only when needed.
1033 This can give a nice increase in performance, but beware of
1034 broken drivers that do not properly invalidate/flush their
1035 cache.
Graf Yang5ba76672009-05-07 04:09:15 +00001036
Jie Zhang41ba6532009-06-16 09:48:33 +00001037 Write Through Policy:
1038 Cached data will always be written back to SDRAM when the
1039 cache is updated. This is a completely safe setting, but
1040 performance is worse than Write Back.
1041
1042 If you are unsure of the options and you want to be safe,
1043 then go with Write Through.
1044
1045config BFIN_EXTMEM_WRITETHROUGH
Graf Yang5ba76672009-05-07 04:09:15 +00001046 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001047 help
1048 Write Back Policy:
1049 Cached data will be written back to SDRAM only when needed.
1050 This can give a nice increase in performance, but beware of
1051 broken drivers that do not properly invalidate/flush their
1052 cache.
Graf Yang5ba76672009-05-07 04:09:15 +00001053
Jie Zhang41ba6532009-06-16 09:48:33 +00001054 Write Through Policy:
1055 Cached data will always be written back to SDRAM when the
1056 cache is updated. This is a completely safe setting, but
1057 performance is worse than Write Back.
1058
1059 If you are unsure of the options and you want to be safe,
1060 then go with Write Through.
Graf Yang5ba76672009-05-07 04:09:15 +00001061
1062endchoice
Sonic Zhangf099f392008-10-09 14:11:57 +08001063
Jie Zhang41ba6532009-06-16 09:48:33 +00001064config BFIN_L2_DCACHEABLE
1065 bool "Enable DCACHE for L2 SRAM"
1066 depends on BFIN_DCACHE
Bob Liub5affb02012-05-16 17:37:24 +08001067 depends on (BF54x || BF561 || BF60x) && !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001068 default n
1069choice
1070 prompt "L2 SRAM DCACHE policy"
1071 depends on BFIN_L2_DCACHEABLE
1072 default BFIN_L2_WRITEBACK
1073config BFIN_L2_WRITEBACK
1074 bool "Write back"
Jie Zhang41ba6532009-06-16 09:48:33 +00001075
1076config BFIN_L2_WRITETHROUGH
1077 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001078endchoice
1079
1080
1081comment "Memory Protection Unit"
Bernd Schmidtb97b8a92008-01-27 18:39:16 +08001082config MPU
1083 bool "Enable the memory protection unit (EXPERIMENTAL)"
1084 default n
1085 help
1086 Use the processor's MPU to protect applications from accessing
1087 memory they do not own. This comes at a performance penalty
1088 and is recommended only for debugging.
1089
Matt LaPlante692105b2009-01-26 11:12:25 +01001090comment "Asynchronous Memory Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -07001091
Mike Frysingerddf416b2007-10-10 18:06:47 +08001092menu "EBIU_AMGCTL Global Control"
Bob Liub5affb02012-05-16 17:37:24 +08001093 depends on !BF60x
Bryan Wu1394f032007-05-06 14:50:22 -07001094config C_AMCKEN
1095 bool "Enable CLKOUT"
1096 default y
1097
1098config C_CDPRIO
1099 bool "DMA has priority over core for ext. accesses"
1100 default n
1101
1102config C_B0PEN
1103 depends on BF561
1104 bool "Bank 0 16 bit packing enable"
1105 default y
1106
1107config C_B1PEN
1108 depends on BF561
1109 bool "Bank 1 16 bit packing enable"
1110 default y
1111
1112config C_B2PEN
1113 depends on BF561
1114 bool "Bank 2 16 bit packing enable"
1115 default y
1116
1117config C_B3PEN
1118 depends on BF561
1119 bool "Bank 3 16 bit packing enable"
1120 default n
1121
1122choice
Matt LaPlante692105b2009-01-26 11:12:25 +01001123 prompt "Enable Asynchronous Memory Banks"
Bryan Wu1394f032007-05-06 14:50:22 -07001124 default C_AMBEN_ALL
1125
1126config C_AMBEN
1127 bool "Disable All Banks"
1128
1129config C_AMBEN_B0
1130 bool "Enable Bank 0"
1131
1132config C_AMBEN_B0_B1
1133 bool "Enable Bank 0 & 1"
1134
1135config C_AMBEN_B0_B1_B2
1136 bool "Enable Bank 0 & 1 & 2"
1137
1138config C_AMBEN_ALL
1139 bool "Enable All Banks"
1140endchoice
1141endmenu
1142
1143menu "EBIU_AMBCTL Control"
Bob Liub5affb02012-05-16 17:37:24 +08001144 depends on !BF60x
Bryan Wu1394f032007-05-06 14:50:22 -07001145config BANK_0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001146 hex "Bank 0 (AMBCTL0.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_AMBCTL0 MMR which are
1150 used to control the Asynchronous Memory Bank 0 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001151
1152config BANK_1
Mike Frysingerc8342f82009-03-31 00:18:35 +00001153 hex "Bank 1 (AMBCTL0.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001154 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +08001155 default 0x5558 if BF54x
Mike Frysingerc8342f82009-03-31 00:18:35 +00001156 help
1157 These are the high 16 bits of the EBIU_AMBCTL0 MMR which are
1158 used to control the Asynchronous Memory Bank 1 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001159
1160config BANK_2
Mike Frysingerc8342f82009-03-31 00:18:35 +00001161 hex "Bank 2 (AMBCTL1.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001162 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001163 help
1164 These are the low 16 bits of the EBIU_AMBCTL1 MMR which are
1165 used to control the Asynchronous Memory Bank 2 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001166
1167config BANK_3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001168 hex "Bank 3 (AMBCTL1.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001169 default 0x99B3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001170 help
1171 These are the high 16 bits of the EBIU_AMBCTL1 MMR which are
1172 used to control the Asynchronous Memory Bank 3 settings.
1173
Bryan Wu1394f032007-05-06 14:50:22 -07001174endmenu
1175
Sonic Zhange40540b2007-11-21 23:49:52 +08001176config EBIU_MBSCTLVAL
1177 hex "EBIU Bank Select Control Register"
1178 depends on BF54x
1179 default 0
1180
1181config EBIU_MODEVAL
1182 hex "Flash Memory Mode Control Register"
1183 depends on BF54x
1184 default 1
1185
1186config EBIU_FCTLVAL
1187 hex "Flash Memory Bank Control Register"
1188 depends on BF54x
1189 default 6
Bryan Wu1394f032007-05-06 14:50:22 -07001190endmenu
1191
1192#############################################################################
1193menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1194
1195config PCI
1196 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +08001197 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -07001198 help
1199 Support for PCI bus.
1200
1201source "drivers/pci/Kconfig"
1202
Bryan Wu1394f032007-05-06 14:50:22 -07001203source "drivers/pcmcia/Kconfig"
1204
1205source "drivers/pci/hotplug/Kconfig"
1206
1207endmenu
1208
1209menu "Executable file formats"
1210
1211source "fs/Kconfig.binfmt"
1212
1213endmenu
1214
1215menu "Power management options"
Graf Yangad461632009-08-07 03:52:54 +00001216
Bryan Wu1394f032007-05-06 14:50:22 -07001217source "kernel/power/Kconfig"
1218
Johannes Bergf4cb5702007-12-08 02:14:00 +01001219config ARCH_SUSPEND_POSSIBLE
1220 def_bool y
Johannes Bergf4cb5702007-12-08 02:14:00 +01001221
Bryan Wu1394f032007-05-06 14:50:22 -07001222choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001223 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -07001224 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001225 default PM_BFIN_SLEEP_DEEPER
1226config PM_BFIN_SLEEP_DEEPER
1227 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001228 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001229 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1230 power dissipation by disabling the clock to the processor core (CCLK).
1231 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1232 to 0.85 V to provide the greatest power savings, while preserving the
1233 processor state.
1234 The PLL and system clock (SCLK) continue to operate at a very low
1235 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1236 the SDRAM is put into Self Refresh Mode. Typically an external event
1237 such as GPIO interrupt or RTC activity wakes up the processor.
1238 Various Peripherals such as UART, SPORT, PPI may not function as
1239 normal during Sleep Deeper, due to the reduced SCLK frequency.
1240 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001241
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001242 If unsure, select "Sleep Deeper".
1243
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001244config PM_BFIN_SLEEP
1245 bool "Sleep"
1246 help
1247 Sleep Mode (High Power Savings) - The sleep mode reduces power
1248 dissipation by disabling the clock to the processor core (CCLK).
1249 The PLL and system clock (SCLK), however, continue to operate in
1250 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001251 up the processor. When in the sleep mode, system DMA access to L1
1252 memory is not supported.
1253
1254 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001255endchoice
1256
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001257comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1258 depends on PM
1259
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001260config PM_BFIN_WAKE_PH6
1261 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001262 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001263 default n
1264 help
1265 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1266
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001267config PM_BFIN_WAKE_GP
1268 bool "Allow Wake-Up from GPIOs"
1269 depends on PM && BF54x
1270 default n
1271 help
1272 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Michael Hennerich19986282009-03-05 16:45:55 +08001273 (all processors, except ADSP-BF549). This option sets
1274 the general-purpose wake-up enable (GPWE) control bit to enable
1275 wake-up upon detection of an active low signal on the /GPW (PH7) pin.
1276 On ADSP-BF549 this option enables the the same functionality on the
1277 /MRXON pin also PH7.
1278
Bryan Wu1394f032007-05-06 14:50:22 -07001279endmenu
1280
Bryan Wu1394f032007-05-06 14:50:22 -07001281menu "CPU Frequency scaling"
1282
1283source "drivers/cpufreq/Kconfig"
1284
Michael Hennerich5ad2ca52008-11-18 17:48:22 +08001285config BFIN_CPU_FREQ
1286 bool
1287 depends on CPU_FREQ
1288 select CPU_FREQ_TABLE
1289 default y
1290
Michael Hennerich14b03202008-05-07 11:41:26 +08001291config CPU_VOLTAGE
1292 bool "CPU Voltage scaling"
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001293 depends on EXPERIMENTAL
Michael Hennerich14b03202008-05-07 11:41:26 +08001294 depends on CPU_FREQ
1295 default n
1296 help
1297 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1298 This option violates the PLL BYPASS recommendation in the Blackfin Processor
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001299 manuals. There is a theoretical risk that during VDDINT transitions
Michael Hennerich14b03202008-05-07 11:41:26 +08001300 the PLL may unlock.
1301
Bryan Wu1394f032007-05-06 14:50:22 -07001302endmenu
1303
Bryan Wu1394f032007-05-06 14:50:22 -07001304source "net/Kconfig"
1305
1306source "drivers/Kconfig"
1307
Mike Frysinger872d0242009-10-06 04:49:07 +00001308source "drivers/firmware/Kconfig"
1309
Bryan Wu1394f032007-05-06 14:50:22 -07001310source "fs/Kconfig"
1311
Mike Frysinger74ce8322007-11-21 23:50:49 +08001312source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001313
1314source "security/Kconfig"
1315
1316source "crypto/Kconfig"
1317
1318source "lib/Kconfig"