blob: 383e7ecda923bb6b552b85301eeb240822df7fea [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"
Bob Liu7c141c12012-05-17 17:15:40 +0800438 depends on BFIN_KERNEL_CLOCK && (!BF60x)
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800439 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)
Bob Liu7c141c12012-05-17 17:15:40 +0800457 default "20" if (BFIN561_EZKIT || BF609)
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
Bob Liu7c141c12012-05-17 17:15:40 +0800489 default 4
Robin Getzf16295e2007-08-03 18:07:17 +0800490 help
Bob Liu7c141c12012-05-17 17:15:40 +0800491 This sets the frequency of the system clock (including SDRAM or DDR) on
492 !BF60x else it set the clock for system buses and provides the
493 source from which SCLK0 and SCLK1 are derived.
Robin Getzf16295e2007-08-03 18:07:17 +0800494 This can be between 1 and 15
495 System Clock = (PLL frequency) / (this setting)
496
Bob Liu7c141c12012-05-17 17:15:40 +0800497config SCLK0_DIV
498 int "System Clock0 Divider"
499 depends on BFIN_KERNEL_CLOCK && BF60x
500 range 1 15
501 default 1
502 help
503 This sets the frequency of the system clock0 for PVP and all other
504 peripherals not clocked by SCLK1.
505 This can be between 1 and 15
506 System Clock0 = (System Clock) / (this setting)
507
508config SCLK1_DIV
509 int "System Clock1 Divider"
510 depends on BFIN_KERNEL_CLOCK && BF60x
511 range 1 15
512 default 1
513 help
514 This sets the frequency of the system clock1 (including SPORT, SPI and ACM).
515 This can be between 1 and 15
516 System Clock1 = (System Clock) / (this setting)
517
518config DCLK_DIV
519 int "DDR Clock Divider"
520 depends on BFIN_KERNEL_CLOCK && BF60x
521 range 1 15
522 default 2
523 help
524 This sets the frequency of the DDR memory.
525 This can be between 1 and 15
526 DDR Clock = (PLL frequency) / (this setting)
527
Mike Frysinger5f004c22008-04-25 02:11:24 +0800528choice
529 prompt "DDR SDRAM Chip Type"
530 depends on BFIN_KERNEL_CLOCK
531 depends on BF54x
532 default MEM_MT46V32M16_5B
533
534config MEM_MT46V32M16_6T
535 bool "MT46V32M16_6T"
536
537config MEM_MT46V32M16_5B
538 bool "MT46V32M16_5B"
539endchoice
540
Michael Hennerich73feb5c2009-01-07 23:14:39 +0800541choice
542 prompt "DDR/SDRAM Timing"
Bob Liu7c141c12012-05-17 17:15:40 +0800543 depends on BFIN_KERNEL_CLOCK && !BF60x
Michael Hennerich73feb5c2009-01-07 23:14:39 +0800544 default BFIN_KERNEL_CLOCK_MEMINIT_CALC
545 help
546 This option allows you to specify Blackfin SDRAM/DDR Timing parameters
547 The calculated SDRAM timing parameters may not be 100%
548 accurate - This option is therefore marked experimental.
549
550config BFIN_KERNEL_CLOCK_MEMINIT_CALC
551 bool "Calculate Timings (EXPERIMENTAL)"
552 depends on EXPERIMENTAL
553
554config BFIN_KERNEL_CLOCK_MEMINIT_SPEC
555 bool "Provide accurate Timings based on target SCLK"
556 help
557 Please consult the Blackfin Hardware Reference Manuals as well
558 as the memory device datasheet.
559 http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram
560endchoice
561
562menu "Memory Init Control"
563 depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC
564
565config MEM_DDRCTL0
566 depends on BF54x
567 hex "DDRCTL0"
568 default 0x0
569
570config MEM_DDRCTL1
571 depends on BF54x
572 hex "DDRCTL1"
573 default 0x0
574
575config MEM_DDRCTL2
576 depends on BF54x
577 hex "DDRCTL2"
578 default 0x0
579
580config MEM_EBIU_DDRQUE
581 depends on BF54x
582 hex "DDRQUE"
583 default 0x0
584
585config MEM_SDRRC
586 depends on !BF54x
587 hex "SDRRC"
588 default 0x0
589
590config MEM_SDGCTL
591 depends on !BF54x
592 hex "SDGCTL"
593 default 0x0
594endmenu
595
Robin Getzf16295e2007-08-03 18:07:17 +0800596#
597# Max & Min Speeds for various Chips
598#
599config MAX_VCO_HZ
600 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800601 default 400000000 if BF512
602 default 400000000 if BF514
603 default 400000000 if BF516
604 default 400000000 if BF518
Mike Frysinger7b062632009-08-11 21:27:09 +0000605 default 400000000 if BF522
606 default 600000000 if BF523
Mike Frysinger1545a112007-12-24 16:54:48 +0800607 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800608 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800609 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800610 default 600000000 if BF527
611 default 400000000 if BF531
612 default 400000000 if BF532
613 default 750000000 if BF533
614 default 500000000 if BF534
615 default 400000000 if BF536
616 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800617 default 533333333 if BF538
618 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800619 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800620 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800621 default 600000000 if BF547
622 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800623 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800624 default 600000000 if BF561
Bob Liu7c141c12012-05-17 17:15:40 +0800625 default 800000000 if BF609
Robin Getzf16295e2007-08-03 18:07:17 +0800626
627config MIN_VCO_HZ
628 int
629 default 50000000
630
631config MAX_SCLK_HZ
632 int
Bob Liu7c141c12012-05-17 17:15:40 +0800633 default 200000000 if BF609
Robin Getzf72eecb2007-11-21 16:29:20 +0800634 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800635
636config MIN_SCLK_HZ
637 int
638 default 27000000
639
640comment "Kernel Timer/Scheduler"
641
642source kernel/Kconfig.hz
643
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800644config GENERIC_CLOCKEVENTS
645 bool "Generic clock events"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800646 default y
647
Yi Li0d152c22009-12-28 10:21:49 +0000648menu "Clock event device"
Graf Yang1fa9be72009-05-15 11:01:59 +0000649 depends on GENERIC_CLOCKEVENTS
Graf Yang1fa9be72009-05-15 11:01:59 +0000650config TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000651 bool "GPTimer0"
652 depends on !SMP
Graf Yang1fa9be72009-05-15 11:01:59 +0000653 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000654
655config TICKSOURCE_CORETMR
Yi Li0d152c22009-12-28 10:21:49 +0000656 bool "Core timer"
657 default y
658endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000659
Yi Li0d152c22009-12-28 10:21:49 +0000660menu "Clock souce"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800661 depends on GENERIC_CLOCKEVENTS
Yi Li0d152c22009-12-28 10:21:49 +0000662config CYCLES_CLOCKSOURCE
663 bool "CYCLES"
664 default y
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800665 depends on !BFIN_SCRATCH_REG_CYCLES
Graf Yang1fa9be72009-05-15 11:01:59 +0000666 depends on !SMP
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800667 help
668 If you say Y here, you will enable support for using the 'cycles'
669 registers as a clock source. Doing so means you will be unable to
670 safely write to the 'cycles' register during runtime. You will
671 still be able to read it (such as for performance monitoring), but
672 writing the registers will most likely crash the kernel.
673
Graf Yang1fa9be72009-05-15 11:01:59 +0000674config GPTMR0_CLOCKSOURCE
Yi Li0d152c22009-12-28 10:21:49 +0000675 bool "GPTimer0"
Mike Frysinger3aca47c2009-06-18 19:40:47 +0000676 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000677 depends on !TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000678endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000679
john stultz10f03f12009-09-15 21:17:19 -0700680config ARCH_USES_GETTIMEOFFSET
681 depends on !GENERIC_CLOCKEVENTS
682 def_bool y
683
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800684source kernel/time/Kconfig
685
Mike Frysinger5f004c22008-04-25 02:11:24 +0800686comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800687
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800688choice
689 prompt "Blackfin Exception Scratch Register"
690 default BFIN_SCRATCH_REG_RETN
691 help
692 Select the resource to reserve for the Exception handler:
693 - RETN: Non-Maskable Interrupt (NMI)
694 - RETE: Exception Return (JTAG/ICE)
695 - CYCLES: Performance counter
696
697 If you are unsure, please select "RETN".
698
699config BFIN_SCRATCH_REG_RETN
700 bool "RETN"
701 help
702 Use the RETN register in the Blackfin exception handler
703 as a stack scratch register. This means you cannot
704 safely use NMI on the Blackfin while running Linux, but
705 you can debug the system with a JTAG ICE and use the
706 CYCLES performance registers.
707
708 If you are unsure, please select "RETN".
709
710config BFIN_SCRATCH_REG_RETE
711 bool "RETE"
712 help
713 Use the RETE register in the Blackfin exception handler
714 as a stack scratch register. This means you cannot
715 safely use a JTAG ICE while debugging a Blackfin board,
716 but you can safely use the CYCLES performance registers
717 and the NMI.
718
719 If you are unsure, please select "RETN".
720
721config BFIN_SCRATCH_REG_CYCLES
722 bool "CYCLES"
723 help
724 Use the CYCLES register in the Blackfin exception handler
725 as a stack scratch register. This means you cannot
726 safely use the CYCLES performance registers on a Blackfin
727 board at anytime, but you can debug the system with a JTAG
728 ICE and use the NMI.
729
730 If you are unsure, please select "RETN".
731
732endchoice
733
Bryan Wu1394f032007-05-06 14:50:22 -0700734endmenu
735
736
737menu "Blackfin Kernel Optimizations"
738
Bryan Wu1394f032007-05-06 14:50:22 -0700739comment "Memory Optimizations"
740
741config I_ENTRY_L1
742 bool "Locate interrupt entry code in L1 Memory"
743 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500744 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700745 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200746 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
747 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700748
749config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200750 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700751 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500752 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700753 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200754 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800755 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200756 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700757
758config DO_IRQ_L1
759 bool "Locate frequently called do_irq dispatcher 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 frequently called do_irq dispatcher function is linked
764 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700765
766config CORE_TIMER_IRQ_L1
767 bool "Locate frequently called timer_interrupt() 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 frequently called timer_interrupt() function is linked
772 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700773
774config IDLE_L1
775 bool "Locate frequently idle function in L1 Memory"
776 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500777 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700778 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200779 If enabled, the frequently called idle function is linked
780 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700781
782config SCHEDULE_L1
783 bool "Locate kernel schedule function in L1 Memory"
784 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500785 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700786 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200787 If enabled, the frequently called kernel schedule is linked
788 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700789
790config ARITHMETIC_OPS_L1
791 bool "Locate kernel owned arithmetic functions in L1 Memory"
792 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500793 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700794 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200795 If enabled, arithmetic functions are linked
796 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700797
798config ACCESS_OK_L1
799 bool "Locate access_ok function in L1 Memory"
800 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500801 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700802 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200803 If enabled, the access_ok function is linked
804 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700805
806config MEMSET_L1
807 bool "Locate memset 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, the memset function is linked
812 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700813
814config MEMCPY_L1
815 bool "Locate memcpy function in L1 Memory"
816 default y
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 memcpy function is linked
820 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700821
Robin Getz479ba602010-05-03 17:23:20 +0000822config STRCMP_L1
823 bool "locate strcmp function in L1 Memory"
824 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500825 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000826 help
827 If enabled, the strcmp function is linked
828 into L1 instruction memory (less latency).
829
830config STRNCMP_L1
831 bool "locate strncmp function in L1 Memory"
832 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500833 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000834 help
835 If enabled, the strncmp function is linked
836 into L1 instruction memory (less latency).
837
838config STRCPY_L1
839 bool "locate strcpy function in L1 Memory"
840 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500841 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000842 help
843 If enabled, the strcpy function is linked
844 into L1 instruction memory (less latency).
845
846config STRNCPY_L1
847 bool "locate strncpy function in L1 Memory"
848 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500849 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000850 help
851 If enabled, the strncpy function is linked
852 into L1 instruction memory (less latency).
853
Bryan Wu1394f032007-05-06 14:50:22 -0700854config SYS_BFIN_SPINLOCK_L1
855 bool "Locate sys_bfin_spinlock function in L1 Memory"
856 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500857 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700858 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200859 If enabled, sys_bfin_spinlock function is linked
860 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700861
862config IP_CHECKSUM_L1
863 bool "Locate IP Checksum function in L1 Memory"
864 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500865 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700866 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200867 If enabled, the IP Checksum function is linked
868 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700869
870config CACHELINE_ALIGNED_L1
871 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800872 default y if !BF54x
873 default n if BF54x
Mike Frysinger95fc2d8f2012-03-28 11:43:02 +0800874 depends on !SMP && !BF531 && !CRC32
Bryan Wu1394f032007-05-06 14:50:22 -0700875 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100876 If enabled, cacheline_aligned data is linked
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200877 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700878
879config SYSCALL_TAB_L1
880 bool "Locate Syscall Table L1 Data Memory"
881 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500882 depends on !SMP && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700883 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200884 If enabled, the Syscall LUT is linked
885 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700886
887config CPLB_SWITCH_TAB_L1
888 bool "Locate CPLB Switch Tables L1 Data Memory"
889 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500890 depends on !SMP && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700891 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200892 If enabled, the CPLB Switch Tables are linked
893 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700894
Mike Frysinger820b1272011-02-02 22:31:42 -0500895config ICACHE_FLUSH_L1
896 bool "Locate icache flush funcs in L1 Inst Memory"
Mike Frysinger74181292010-05-27 22:46:46 +0000897 default y
898 help
Mike Frysinger820b1272011-02-02 22:31:42 -0500899 If enabled, the Blackfin icache flushing functions are linked
Mike Frysinger74181292010-05-27 22:46:46 +0000900 into L1 instruction memory.
901
902 Note that this might be required to address anomalies, but
903 these functions are pretty small, so it shouldn't be too bad.
904 If you are using a processor affected by an anomaly, the build
905 system will double check for you and prevent it.
906
Mike Frysinger820b1272011-02-02 22:31:42 -0500907config DCACHE_FLUSH_L1
908 bool "Locate dcache flush funcs in L1 Inst Memory"
909 default y
910 depends on !SMP
911 help
912 If enabled, the Blackfin dcache flushing functions are linked
913 into L1 instruction memory.
914
Graf Yangca87b7a2008-10-08 17:30:01 +0800915config APP_STACK_L1
916 bool "Support locating application stack in L1 Scratch Memory"
917 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500918 depends on !SMP
Graf Yangca87b7a2008-10-08 17:30:01 +0800919 help
920 If enabled the application stack can be located in L1
921 scratch memory (less latency).
922
923 Currently only works with FLAT binaries.
924
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800925config EXCEPTION_L1_SCRATCH
926 bool "Locate exception stack in L1 Scratch Memory"
927 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500928 depends on !SMP && !APP_STACK_L1
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800929 help
930 Whenever an exception occurs, use the L1 Scratch memory for
931 stack storage. You cannot place the stacks of FLAT binaries
932 in L1 when using this option.
933
934 If you don't use L1 Scratch, then you should say Y here.
935
Robin Getz251383c2008-08-14 15:12:55 +0800936comment "Speed Optimizations"
937config BFIN_INS_LOWOVERHEAD
938 bool "ins[bwl] low overhead, higher interrupt latency"
939 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500940 depends on !SMP
Robin Getz251383c2008-08-14 15:12:55 +0800941 help
942 Reads on the Blackfin are speculative. In Blackfin terms, this means
943 they can be interrupted at any time (even after they have been issued
944 on to the external bus), and re-issued after the interrupt occurs.
945 For memory - this is not a big deal, since memory does not change if
946 it sees a read.
947
948 If a FIFO is sitting on the end of the read, it will see two reads,
949 when the core only sees one since the FIFO receives both the read
950 which is cancelled (and not delivered to the core) and the one which
951 is re-issued (which is delivered to the core).
952
953 To solve this, interrupts are turned off before reads occur to
954 I/O space. This option controls which the overhead/latency of
955 controlling interrupts during this time
956 "n" turns interrupts off every read
957 (higher overhead, but lower interrupt latency)
958 "y" turns interrupts off every loop
959 (low overhead, but longer interrupt latency)
960
961 default behavior is to leave this set to on (type "Y"). If you are experiencing
962 interrupt latency issues, it is safe and OK to turn this off.
963
Bryan Wu1394f032007-05-06 14:50:22 -0700964endmenu
965
Bryan Wu1394f032007-05-06 14:50:22 -0700966choice
967 prompt "Kernel executes from"
968 help
969 Choose the memory type that the kernel will be running in.
970
971config RAMKERNEL
972 bool "RAM"
973 help
974 The kernel will be resident in RAM when running.
975
976config ROMKERNEL
977 bool "ROM"
978 help
979 The kernel will be resident in FLASH/ROM when running.
980
981endchoice
982
Mike Frysinger56b4f072010-10-16 19:46:21 -0400983# Common code uses "ROMKERNEL" or "XIP_KERNEL", so define both
984config XIP_KERNEL
985 bool
986 default y
987 depends on ROMKERNEL
988
Bryan Wu1394f032007-05-06 14:50:22 -0700989source "mm/Kconfig"
990
Mike Frysinger780431e2007-10-21 23:37:54 +0800991config BFIN_GPTIMERS
992 tristate "Enable Blackfin General Purpose Timers API"
993 default n
994 help
995 Enable support for the General Purpose Timers API. If you
996 are unsure, say N.
997
998 To compile this driver as a module, choose M here: the module
Pavel Machek4737f092009-06-05 00:44:53 +0200999 will be called gptimers.
Mike Frysinger780431e2007-10-21 23:37:54 +08001000
Mike Frysinger006669e2011-06-15 16:55:39 -04001001config HAVE_PWM
1002 tristate "Enable PWM API support"
1003 depends on BFIN_GPTIMERS
1004 help
1005 Enable support for the Pulse Width Modulation framework (as
1006 found in linux/pwm.h).
1007
1008 To compile this driver as a module, choose M here: the module
1009 will be called pwm.
1010
Bryan Wu1394f032007-05-06 14:50:22 -07001011choice
Mike Frysingerd292b002008-10-28 11:15:36 +08001012 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -07001013 default DMA_UNCACHED_1M
Cliff Cai86ad7932008-05-17 16:36:52 +08001014config DMA_UNCACHED_4M
1015 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -07001016config DMA_UNCACHED_2M
1017 bool "Enable 2M DMA region"
1018config DMA_UNCACHED_1M
1019 bool "Enable 1M DMA region"
Barry Songc45c0652009-12-02 09:13:36 +00001020config DMA_UNCACHED_512K
1021 bool "Enable 512K DMA region"
1022config DMA_UNCACHED_256K
1023 bool "Enable 256K DMA region"
1024config DMA_UNCACHED_128K
1025 bool "Enable 128K DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -07001026config DMA_UNCACHED_NONE
1027 bool "Disable DMA region"
1028endchoice
1029
1030
1031comment "Cache Support"
Jie Zhang41ba6532009-06-16 09:48:33 +00001032
Robin Getz3bebca22007-10-10 23:55:26 +08001033config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -07001034 bool "Enable ICACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +00001035 default y
Jie Zhang41ba6532009-06-16 09:48:33 +00001036config BFIN_EXTMEM_ICACHEABLE
1037 bool "Enable ICACHE for external memory"
1038 depends on BFIN_ICACHE
1039 default y
1040config BFIN_L2_ICACHEABLE
1041 bool "Enable ICACHE for L2 SRAM"
1042 depends on BFIN_ICACHE
1043 depends on BF54x || BF561
1044 default n
1045
Robin Getz3bebca22007-10-10 23:55:26 +08001046config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -07001047 bool "Enable DCACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +00001048 default y
Robin Getz3bebca22007-10-10 23:55:26 +08001049config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -07001050 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +08001051 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -07001052 default n
Jie Zhang41ba6532009-06-16 09:48:33 +00001053config BFIN_EXTMEM_DCACHEABLE
1054 bool "Enable DCACHE for external memory"
Robin Getz3bebca22007-10-10 23:55:26 +08001055 depends on BFIN_DCACHE
Jie Zhang41ba6532009-06-16 09:48:33 +00001056 default y
Graf Yang5ba76672009-05-07 04:09:15 +00001057choice
Jie Zhang41ba6532009-06-16 09:48:33 +00001058 prompt "External memory DCACHE policy"
1059 depends on BFIN_EXTMEM_DCACHEABLE
1060 default BFIN_EXTMEM_WRITEBACK if !SMP
1061 default BFIN_EXTMEM_WRITETHROUGH if SMP
1062config BFIN_EXTMEM_WRITEBACK
Graf Yang5ba76672009-05-07 04:09:15 +00001063 bool "Write back"
1064 depends on !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001065 help
1066 Write Back Policy:
1067 Cached data will be written back to SDRAM only when needed.
1068 This can give a nice increase in performance, but beware of
1069 broken drivers that do not properly invalidate/flush their
1070 cache.
Graf Yang5ba76672009-05-07 04:09:15 +00001071
Jie Zhang41ba6532009-06-16 09:48:33 +00001072 Write Through Policy:
1073 Cached data will always be written back to SDRAM when the
1074 cache is updated. This is a completely safe setting, but
1075 performance is worse than Write Back.
1076
1077 If you are unsure of the options and you want to be safe,
1078 then go with Write Through.
1079
1080config BFIN_EXTMEM_WRITETHROUGH
Graf Yang5ba76672009-05-07 04:09:15 +00001081 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001082 help
1083 Write Back Policy:
1084 Cached data will be written back to SDRAM only when needed.
1085 This can give a nice increase in performance, but beware of
1086 broken drivers that do not properly invalidate/flush their
1087 cache.
Graf Yang5ba76672009-05-07 04:09:15 +00001088
Jie Zhang41ba6532009-06-16 09:48:33 +00001089 Write Through Policy:
1090 Cached data will always be written back to SDRAM when the
1091 cache is updated. This is a completely safe setting, but
1092 performance is worse than Write Back.
1093
1094 If you are unsure of the options and you want to be safe,
1095 then go with Write Through.
Graf Yang5ba76672009-05-07 04:09:15 +00001096
1097endchoice
Sonic Zhangf099f392008-10-09 14:11:57 +08001098
Jie Zhang41ba6532009-06-16 09:48:33 +00001099config BFIN_L2_DCACHEABLE
1100 bool "Enable DCACHE for L2 SRAM"
1101 depends on BFIN_DCACHE
Bob Liub5affb02012-05-16 17:37:24 +08001102 depends on (BF54x || BF561 || BF60x) && !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001103 default n
1104choice
1105 prompt "L2 SRAM DCACHE policy"
1106 depends on BFIN_L2_DCACHEABLE
1107 default BFIN_L2_WRITEBACK
1108config BFIN_L2_WRITEBACK
1109 bool "Write back"
Jie Zhang41ba6532009-06-16 09:48:33 +00001110
1111config BFIN_L2_WRITETHROUGH
1112 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001113endchoice
1114
1115
1116comment "Memory Protection Unit"
Bernd Schmidtb97b8a92008-01-27 18:39:16 +08001117config MPU
1118 bool "Enable the memory protection unit (EXPERIMENTAL)"
1119 default n
1120 help
1121 Use the processor's MPU to protect applications from accessing
1122 memory they do not own. This comes at a performance penalty
1123 and is recommended only for debugging.
1124
Matt LaPlante692105b2009-01-26 11:12:25 +01001125comment "Asynchronous Memory Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -07001126
Mike Frysingerddf416b2007-10-10 18:06:47 +08001127menu "EBIU_AMGCTL Global Control"
Bob Liub5affb02012-05-16 17:37:24 +08001128 depends on !BF60x
Bryan Wu1394f032007-05-06 14:50:22 -07001129config C_AMCKEN
1130 bool "Enable CLKOUT"
1131 default y
1132
1133config C_CDPRIO
1134 bool "DMA has priority over core for ext. accesses"
1135 default n
1136
1137config C_B0PEN
1138 depends on BF561
1139 bool "Bank 0 16 bit packing enable"
1140 default y
1141
1142config C_B1PEN
1143 depends on BF561
1144 bool "Bank 1 16 bit packing enable"
1145 default y
1146
1147config C_B2PEN
1148 depends on BF561
1149 bool "Bank 2 16 bit packing enable"
1150 default y
1151
1152config C_B3PEN
1153 depends on BF561
1154 bool "Bank 3 16 bit packing enable"
1155 default n
1156
1157choice
Matt LaPlante692105b2009-01-26 11:12:25 +01001158 prompt "Enable Asynchronous Memory Banks"
Bryan Wu1394f032007-05-06 14:50:22 -07001159 default C_AMBEN_ALL
1160
1161config C_AMBEN
1162 bool "Disable All Banks"
1163
1164config C_AMBEN_B0
1165 bool "Enable Bank 0"
1166
1167config C_AMBEN_B0_B1
1168 bool "Enable Bank 0 & 1"
1169
1170config C_AMBEN_B0_B1_B2
1171 bool "Enable Bank 0 & 1 & 2"
1172
1173config C_AMBEN_ALL
1174 bool "Enable All Banks"
1175endchoice
1176endmenu
1177
1178menu "EBIU_AMBCTL Control"
Bob Liub5affb02012-05-16 17:37:24 +08001179 depends on !BF60x
Bryan Wu1394f032007-05-06 14:50:22 -07001180config BANK_0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001181 hex "Bank 0 (AMBCTL0.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001182 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001183 help
1184 These are the low 16 bits of the EBIU_AMBCTL0 MMR which are
1185 used to control the Asynchronous Memory Bank 0 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001186
1187config BANK_1
Mike Frysingerc8342f82009-03-31 00:18:35 +00001188 hex "Bank 1 (AMBCTL0.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001189 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +08001190 default 0x5558 if BF54x
Mike Frysingerc8342f82009-03-31 00:18:35 +00001191 help
1192 These are the high 16 bits of the EBIU_AMBCTL0 MMR which are
1193 used to control the Asynchronous Memory Bank 1 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001194
1195config BANK_2
Mike Frysingerc8342f82009-03-31 00:18:35 +00001196 hex "Bank 2 (AMBCTL1.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001197 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001198 help
1199 These are the low 16 bits of the EBIU_AMBCTL1 MMR which are
1200 used to control the Asynchronous Memory Bank 2 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001201
1202config BANK_3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001203 hex "Bank 3 (AMBCTL1.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001204 default 0x99B3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001205 help
1206 These are the high 16 bits of the EBIU_AMBCTL1 MMR which are
1207 used to control the Asynchronous Memory Bank 3 settings.
1208
Bryan Wu1394f032007-05-06 14:50:22 -07001209endmenu
1210
Sonic Zhange40540b2007-11-21 23:49:52 +08001211config EBIU_MBSCTLVAL
1212 hex "EBIU Bank Select Control Register"
1213 depends on BF54x
1214 default 0
1215
1216config EBIU_MODEVAL
1217 hex "Flash Memory Mode Control Register"
1218 depends on BF54x
1219 default 1
1220
1221config EBIU_FCTLVAL
1222 hex "Flash Memory Bank Control Register"
1223 depends on BF54x
1224 default 6
Bryan Wu1394f032007-05-06 14:50:22 -07001225endmenu
1226
1227#############################################################################
1228menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1229
1230config PCI
1231 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +08001232 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -07001233 help
1234 Support for PCI bus.
1235
1236source "drivers/pci/Kconfig"
1237
Bryan Wu1394f032007-05-06 14:50:22 -07001238source "drivers/pcmcia/Kconfig"
1239
1240source "drivers/pci/hotplug/Kconfig"
1241
1242endmenu
1243
1244menu "Executable file formats"
1245
1246source "fs/Kconfig.binfmt"
1247
1248endmenu
1249
1250menu "Power management options"
Graf Yangad461632009-08-07 03:52:54 +00001251
Bryan Wu1394f032007-05-06 14:50:22 -07001252source "kernel/power/Kconfig"
1253
Johannes Bergf4cb5702007-12-08 02:14:00 +01001254config ARCH_SUSPEND_POSSIBLE
1255 def_bool y
Johannes Bergf4cb5702007-12-08 02:14:00 +01001256
Bryan Wu1394f032007-05-06 14:50:22 -07001257choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001258 prompt "Standby Power Saving Mode"
Steven Miao0fbd88c2012-05-17 17:29:54 +08001259 depends on PM && !BF60x
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001260 default PM_BFIN_SLEEP_DEEPER
1261config PM_BFIN_SLEEP_DEEPER
1262 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001263 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001264 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1265 power dissipation by disabling the clock to the processor core (CCLK).
1266 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1267 to 0.85 V to provide the greatest power savings, while preserving the
1268 processor state.
1269 The PLL and system clock (SCLK) continue to operate at a very low
1270 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1271 the SDRAM is put into Self Refresh Mode. Typically an external event
1272 such as GPIO interrupt or RTC activity wakes up the processor.
1273 Various Peripherals such as UART, SPORT, PPI may not function as
1274 normal during Sleep Deeper, due to the reduced SCLK frequency.
1275 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001276
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001277 If unsure, select "Sleep Deeper".
1278
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001279config PM_BFIN_SLEEP
1280 bool "Sleep"
1281 help
1282 Sleep Mode (High Power Savings) - The sleep mode reduces power
1283 dissipation by disabling the clock to the processor core (CCLK).
1284 The PLL and system clock (SCLK), however, continue to operate in
1285 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001286 up the processor. When in the sleep mode, system DMA access to L1
1287 memory is not supported.
1288
1289 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001290endchoice
1291
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001292comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1293 depends on PM
1294
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001295config PM_BFIN_WAKE_PH6
1296 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001297 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001298 default n
1299 help
1300 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1301
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001302config PM_BFIN_WAKE_GP
1303 bool "Allow Wake-Up from GPIOs"
1304 depends on PM && BF54x
1305 default n
1306 help
1307 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Michael Hennerich19986282009-03-05 16:45:55 +08001308 (all processors, except ADSP-BF549). This option sets
1309 the general-purpose wake-up enable (GPWE) control bit to enable
1310 wake-up upon detection of an active low signal on the /GPW (PH7) pin.
1311 On ADSP-BF549 this option enables the the same functionality on the
1312 /MRXON pin also PH7.
1313
Steven Miao0fbd88c2012-05-17 17:29:54 +08001314config PM_BFIN_WAKE_PA15
1315 bool "Allow Wake-Up from PA15"
1316 depends on PM && BF60x
1317 default n
1318 help
1319 Enable PA15 Wake-Up
1320
1321config PM_BFIN_WAKE_PA15_POL
1322 int "Wake-up priority"
1323 depends on PM_BFIN_WAKE_PA15
1324 default 0
1325 help
1326 Wake-Up priority 0(low) 1(high)
1327
1328config PM_BFIN_WAKE_PB15
1329 bool "Allow Wake-Up from PB15"
1330 depends on PM && BF60x
1331 default n
1332 help
1333 Enable PB15 Wake-Up
1334
1335config PM_BFIN_WAKE_PB15_POL
1336 int "Wake-up priority"
1337 depends on PM_BFIN_WAKE_PB15
1338 default 0
1339 help
1340 Wake-Up priority 0(low) 1(high)
1341
1342config PM_BFIN_WAKE_PC15
1343 bool "Allow Wake-Up from PC15"
1344 depends on PM && BF60x
1345 default n
1346 help
1347 Enable PC15 Wake-Up
1348
1349config PM_BFIN_WAKE_PC15_POL
1350 int "Wake-up priority"
1351 depends on PM_BFIN_WAKE_PC15
1352 default 0
1353 help
1354 Wake-Up priority 0(low) 1(high)
1355
1356config PM_BFIN_WAKE_PD06
1357 bool "Allow Wake-Up from PD06(ETH0_PHYINT)"
1358 depends on PM && BF60x
1359 default n
1360 help
1361 Enable PD06(ETH0_PHYINT) Wake-up
1362
1363config PM_BFIN_WAKE_PD06_POL
1364 int "Wake-up priority"
1365 depends on PM_BFIN_WAKE_PD06
1366 default 0
1367 help
1368 Wake-Up priority 0(low) 1(high)
1369
1370config PM_BFIN_WAKE_PE12
1371 bool "Allow Wake-Up from PE12(ETH1_PHYINT, PUSH BUTTON)"
1372 depends on PM && BF60x
1373 default n
1374 help
1375 Enable PE12(ETH1_PHYINT, PUSH BUTTON) Wake-up
1376
1377config PM_BFIN_WAKE_PE12_POL
1378 int "Wake-up priority"
1379 depends on PM_BFIN_WAKE_PE12
1380 default 0
1381 help
1382 Wake-Up priority 0(low) 1(high)
1383
1384config PM_BFIN_WAKE_PG04
1385 bool "Allow Wake-Up from PG04(CAN0_RX)"
1386 depends on PM && BF60x
1387 default n
1388 help
1389 Enable PG04(CAN0_RX) Wake-up
1390
1391config PM_BFIN_WAKE_PG04_POL
1392 int "Wake-up priority"
1393 depends on PM_BFIN_WAKE_PG04
1394 default 0
1395 help
1396 Wake-Up priority 0(low) 1(high)
1397
1398config PM_BFIN_WAKE_PG13
1399 bool "Allow Wake-Up from PG13"
1400 depends on PM && BF60x
1401 default n
1402 help
1403 Enable PG13 Wake-Up
1404
1405config PM_BFIN_WAKE_PG13_POL
1406 int "Wake-up priority"
1407 depends on PM_BFIN_WAKE_PG13
1408 default 0
1409 help
1410 Wake-Up priority 0(low) 1(high)
1411
1412config PM_BFIN_WAKE_USB
1413 bool "Allow Wake-Up from (USB)"
1414 depends on PM && BF60x
1415 default n
1416 help
1417 Enable (USB) Wake-up
1418
1419config PM_BFIN_WAKE_USB_POL
1420 int "Wake-up priority"
1421 depends on PM_BFIN_WAKE_USB
1422 default 0
1423 help
1424 Wake-Up priority 0(low) 1(high)
1425
Bryan Wu1394f032007-05-06 14:50:22 -07001426endmenu
1427
Bryan Wu1394f032007-05-06 14:50:22 -07001428menu "CPU Frequency scaling"
1429
1430source "drivers/cpufreq/Kconfig"
1431
Michael Hennerich5ad2ca52008-11-18 17:48:22 +08001432config BFIN_CPU_FREQ
1433 bool
1434 depends on CPU_FREQ
1435 select CPU_FREQ_TABLE
1436 default y
1437
Michael Hennerich14b03202008-05-07 11:41:26 +08001438config CPU_VOLTAGE
1439 bool "CPU Voltage scaling"
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001440 depends on EXPERIMENTAL
Michael Hennerich14b03202008-05-07 11:41:26 +08001441 depends on CPU_FREQ
1442 default n
1443 help
1444 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1445 This option violates the PLL BYPASS recommendation in the Blackfin Processor
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001446 manuals. There is a theoretical risk that during VDDINT transitions
Michael Hennerich14b03202008-05-07 11:41:26 +08001447 the PLL may unlock.
1448
Bryan Wu1394f032007-05-06 14:50:22 -07001449endmenu
1450
Bryan Wu1394f032007-05-06 14:50:22 -07001451source "net/Kconfig"
1452
1453source "drivers/Kconfig"
1454
Mike Frysinger872d0242009-10-06 04:49:07 +00001455source "drivers/firmware/Kconfig"
1456
Bryan Wu1394f032007-05-06 14:50:22 -07001457source "fs/Kconfig"
1458
Mike Frysinger74ce8322007-11-21 23:50:49 +08001459source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001460
1461source "security/Kconfig"
1462
1463source "crypto/Kconfig"
1464
1465source "lib/Kconfig"