blob: 8141b1e829270c4f0583b7b0fb479b4bf9ffd7ad [file] [log] [blame]
Bryan Wu1394f032007-05-06 14:50:22 -07001#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
Mike Frysinger53f8a252007-11-15 15:48:01 +08006mainmenu "Blackfin Kernel Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -07007
8config MMU
Mike Frysingerbac7d892009-06-07 03:46:06 -04009 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -070010
11config FPU
Mike Frysingerbac7d892009-06-07 03:46:06 -040012 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -070013
14config RWSEM_GENERIC_SPINLOCK
Mike Frysingerbac7d892009-06-07 03:46:06 -040015 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070016
17config RWSEM_XCHGADD_ALGORITHM
Mike Frysingerbac7d892009-06-07 03:46:06 -040018 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -070019
20config BLACKFIN
Mike Frysingerbac7d892009-06-07 03:46:06 -040021 def_bool y
Mike Frysinger1ee76d72009-06-10 04:45:29 -040022 select HAVE_FUNCTION_GRAPH_TRACER
Mike Frysinger1c873be2009-06-09 07:25:09 -040023 select HAVE_FUNCTION_TRACER
Sam Ravnborgec7748b2008-02-09 10:46:40 +010024 select HAVE_IDE
Mike Frysinger538067c2009-06-07 03:47:01 -040025 select HAVE_KERNEL_GZIP
26 select HAVE_KERNEL_BZIP2
27 select HAVE_KERNEL_LZMA
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050028 select HAVE_OPROFILE
Michael Hennericha4f0b32c2008-11-18 17:48:22 +080029 select ARCH_WANT_OPTIONAL_GPIOLIB
Bryan Wu1394f032007-05-06 14:50:22 -070030
Mike Frysingerddf9dda2009-06-13 07:42:58 -040031config GENERIC_CSUM
32 def_bool y
33
Mike Frysinger70f12562009-06-07 17:18:25 -040034config GENERIC_BUG
35 def_bool y
36 depends on BUG
37
Aubrey Lie3defff2007-05-21 18:09:11 +080038config ZONE_DMA
Mike Frysingerbac7d892009-06-07 03:46:06 -040039 def_bool y
Aubrey Lie3defff2007-05-21 18:09:11 +080040
Bryan Wu1394f032007-05-06 14:50:22 -070041config GENERIC_FIND_NEXT_BIT
Mike Frysingerbac7d892009-06-07 03:46:06 -040042 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070043
44config GENERIC_HWEIGHT
Mike Frysingerbac7d892009-06-07 03:46:06 -040045 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070046
47config GENERIC_HARDIRQS
Mike Frysingerbac7d892009-06-07 03:46:06 -040048 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070049
50config GENERIC_IRQ_PROBE
Mike Frysingerbac7d892009-06-07 03:46:06 -040051 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070052
Michael Hennerich796dada2009-09-30 07:54:40 +000053config GENERIC_HARDIRQS_NO__DO_IRQ
54 def_bool y
55
Michael Hennerichb2d15832007-07-24 15:46:36 +080056config GENERIC_GPIO
Mike Frysingerbac7d892009-06-07 03:46:06 -040057 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070058
59config FORCE_MAX_ZONEORDER
60 int
61 default "14"
62
63config GENERIC_CALIBRATE_DELAY
Mike Frysingerbac7d892009-06-07 03:46:06 -040064 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070065
Mike Frysinger6fa68e72009-06-08 18:45:01 -040066config LOCKDEP_SUPPORT
67 def_bool y
68
Mike Frysingerc7b412f2009-06-08 18:44:45 -040069config STACKTRACE_SUPPORT
70 def_bool y
71
Mike Frysinger8f860012009-06-08 12:49:48 -040072config TRACE_IRQFLAGS_SUPPORT
73 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070074
Bryan Wu1394f032007-05-06 14:50:22 -070075source "init/Kconfig"
Matt Helsleydc52ddc2008-10-18 20:27:21 -070076
Bryan Wu1394f032007-05-06 14:50:22 -070077source "kernel/Kconfig.preempt"
78
Matt Helsleydc52ddc2008-10-18 20:27:21 -070079source "kernel/Kconfig.freezer"
80
Bryan Wu1394f032007-05-06 14:50:22 -070081menu "Blackfin Processor Options"
82
83comment "Processor and Board Settings"
84
85choice
86 prompt "CPU"
87 default BF533
88
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080089config BF512
90 bool "BF512"
91 help
92 BF512 Processor Support.
93
94config BF514
95 bool "BF514"
96 help
97 BF514 Processor Support.
98
99config BF516
100 bool "BF516"
101 help
102 BF516 Processor Support.
103
104config BF518
105 bool "BF518"
106 help
107 BF518 Processor Support.
108
Michael Hennerich59003142007-10-21 16:54:27 +0800109config BF522
110 bool "BF522"
111 help
112 BF522 Processor Support.
113
Mike Frysinger1545a112007-12-24 16:54:48 +0800114config BF523
115 bool "BF523"
116 help
117 BF523 Processor Support.
118
119config BF524
120 bool "BF524"
121 help
122 BF524 Processor Support.
123
Michael Hennerich59003142007-10-21 16:54:27 +0800124config BF525
125 bool "BF525"
126 help
127 BF525 Processor Support.
128
Mike Frysinger1545a112007-12-24 16:54:48 +0800129config BF526
130 bool "BF526"
131 help
132 BF526 Processor Support.
133
Michael Hennerich59003142007-10-21 16:54:27 +0800134config BF527
135 bool "BF527"
136 help
137 BF527 Processor Support.
138
Bryan Wu1394f032007-05-06 14:50:22 -0700139config BF531
140 bool "BF531"
141 help
142 BF531 Processor Support.
143
144config BF532
145 bool "BF532"
146 help
147 BF532 Processor Support.
148
149config BF533
150 bool "BF533"
151 help
152 BF533 Processor Support.
153
154config BF534
155 bool "BF534"
156 help
157 BF534 Processor Support.
158
159config BF536
160 bool "BF536"
161 help
162 BF536 Processor Support.
163
164config BF537
165 bool "BF537"
166 help
167 BF537 Processor Support.
168
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800169config BF538
170 bool "BF538"
171 help
172 BF538 Processor Support.
173
174config BF539
175 bool "BF539"
176 help
177 BF539 Processor Support.
178
Mike Frysinger5df326a2009-11-16 23:49:41 +0000179config BF542_std
Roy Huang24a07a12007-07-12 22:41:45 +0800180 bool "BF542"
181 help
182 BF542 Processor Support.
183
Mike Frysinger2f89c062009-02-04 16:49:45 +0800184config BF542M
185 bool "BF542m"
186 help
187 BF542 Processor Support.
188
Mike Frysinger5df326a2009-11-16 23:49:41 +0000189config BF544_std
Roy Huang24a07a12007-07-12 22:41:45 +0800190 bool "BF544"
191 help
192 BF544 Processor Support.
193
Mike Frysinger2f89c062009-02-04 16:49:45 +0800194config BF544M
195 bool "BF544m"
196 help
197 BF544 Processor Support.
198
Mike Frysinger5df326a2009-11-16 23:49:41 +0000199config BF547_std
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800200 bool "BF547"
201 help
202 BF547 Processor Support.
203
Mike Frysinger2f89c062009-02-04 16:49:45 +0800204config BF547M
205 bool "BF547m"
206 help
207 BF547 Processor Support.
208
Mike Frysinger5df326a2009-11-16 23:49:41 +0000209config BF548_std
Roy Huang24a07a12007-07-12 22:41:45 +0800210 bool "BF548"
211 help
212 BF548 Processor Support.
213
Mike Frysinger2f89c062009-02-04 16:49:45 +0800214config BF548M
215 bool "BF548m"
216 help
217 BF548 Processor Support.
218
Mike Frysinger5df326a2009-11-16 23:49:41 +0000219config BF549_std
Roy Huang24a07a12007-07-12 22:41:45 +0800220 bool "BF549"
221 help
222 BF549 Processor Support.
223
Mike Frysinger2f89c062009-02-04 16:49:45 +0800224config BF549M
225 bool "BF549m"
226 help
227 BF549 Processor Support.
228
Bryan Wu1394f032007-05-06 14:50:22 -0700229config BF561
230 bool "BF561"
231 help
Mike Frysingercd88b4d2008-10-09 12:03:22 +0800232 BF561 Processor Support.
Bryan Wu1394f032007-05-06 14:50:22 -0700233
234endchoice
235
Graf Yang46fa5ee2009-01-07 23:14:39 +0800236config SMP
237 depends on BF561
john stultz10f03f12009-09-15 21:17:19 -0700238 select GENERIC_CLOCKEVENTS
Graf Yang46fa5ee2009-01-07 23:14:39 +0800239 bool "Symmetric multi-processing support"
240 ---help---
241 This enables support for systems with more than one CPU,
242 like the dual core BF561. If you have a system with only one
243 CPU, say N. If you have a system with more than one CPU, say Y.
244
245 If you don't know what to do here, say N.
246
247config NR_CPUS
248 int
249 depends on SMP
250 default 2 if BF561
251
252config IRQ_PER_CPU
253 bool
254 depends on SMP
255 default y
256
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800257config BF_REV_MIN
258 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800259 default 0 if (BF51x || BF52x || (BF54x && !BF54xM))
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800260 default 2 if (BF537 || BF536 || BF534)
Mike Frysinger2f89c062009-02-04 16:49:45 +0800261 default 3 if (BF561 || BF533 || BF532 || BF531 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800262 default 4 if (BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800263
264config BF_REV_MAX
265 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800266 default 2 if (BF51x || BF52x || (BF54x && !BF54xM))
267 default 3 if (BF537 || BF536 || BF534 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800268 default 5 if (BF561 || BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800269 default 6 if (BF533 || BF532 || BF531)
270
Bryan Wu1394f032007-05-06 14:50:22 -0700271choice
272 prompt "Silicon Rev"
Mike Frysingerf8b55652009-04-13 21:58:34 +0000273 default BF_REV_0_0 if (BF51x || BF52x)
274 default BF_REV_0_2 if (BF534 || BF536 || BF537 || (BF54x && !BF54xM))
Mike Frysinger2f89c062009-02-04 16:49:45 +0800275 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF54xM || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800276
277config BF_REV_0_0
278 bool "0.0"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800279 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Michael Hennerich59003142007-10-21 16:54:27 +0800280
281config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800282 bool "0.1"
Mike Frysinger3d15f302009-06-15 16:21:44 +0000283 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700284
285config BF_REV_0_2
286 bool "0.2"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800287 depends on (BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700288
289config BF_REV_0_3
290 bool "0.3"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800291 depends on (BF54xM || BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
Bryan Wu1394f032007-05-06 14:50:22 -0700292
293config BF_REV_0_4
294 bool "0.4"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800295 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700296
297config BF_REV_0_5
298 bool "0.5"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800299 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700300
Mike Frysinger49f72532008-10-09 12:06:27 +0800301config BF_REV_0_6
302 bool "0.6"
303 depends on (BF533 || BF532 || BF531)
304
Jie Zhangde3025f2007-06-25 18:04:12 +0800305config BF_REV_ANY
306 bool "any"
307
308config BF_REV_NONE
309 bool "none"
310
Bryan Wu1394f032007-05-06 14:50:22 -0700311endchoice
312
Roy Huang24a07a12007-07-12 22:41:45 +0800313config BF53x
314 bool
315 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
316 default y
317
Bryan Wu1394f032007-05-06 14:50:22 -0700318config MEM_GENERIC_BOARD
319 bool
320 depends on GENERIC_BOARD
321 default y
322
323config MEM_MT48LC64M4A2FB_7E
324 bool
325 depends on (BFIN533_STAMP)
326 default y
327
328config MEM_MT48LC16M16A2TG_75
329 bool
330 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000331 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM_E \
332 || BFIN537_BLUETECHNIX_CM_U || H8606_HVSISTEMAS \
333 || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700334 default y
335
336config MEM_MT48LC32M8A2_75
337 bool
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800338 depends on (BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700339 default y
340
341config MEM_MT48LC8M32B2B5_7
342 bool
343 depends on (BFIN561_BLUETECHNIX_CM)
344 default y
345
Michael Hennerich59003142007-10-21 16:54:27 +0800346config MEM_MT48LC32M16A2TG_75
347 bool
Graf Yangee48efb2009-06-18 04:32:04 +0000348 depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP)
Michael Hennerich59003142007-10-21 16:54:27 +0800349 default y
350
Sonic Zhang49345402009-01-07 23:14:38 +0800351config MEM_MT48LC32M8A2_75
352 bool
353 depends on (BFIN518F_EZBRD)
354 default y
355
Graf Yangee48efb2009-06-18 04:32:04 +0000356config MEM_MT48H32M16LFCJ_75
357 bool
358 depends on (BFIN526_EZBRD)
359 default y
360
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800361source "arch/blackfin/mach-bf518/Kconfig"
Michael Hennerich59003142007-10-21 16:54:27 +0800362source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700363source "arch/blackfin/mach-bf533/Kconfig"
364source "arch/blackfin/mach-bf561/Kconfig"
365source "arch/blackfin/mach-bf537/Kconfig"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800366source "arch/blackfin/mach-bf538/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800367source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700368
369menu "Board customizations"
370
371config CMDLINE_BOOL
372 bool "Default bootloader kernel arguments"
373
374config CMDLINE
375 string "Initial kernel command string"
376 depends on CMDLINE_BOOL
377 default "console=ttyBF0,57600"
378 help
379 If you don't have a boot loader capable of passing a command line string
380 to the kernel, you may specify one here. As a minimum, you should specify
381 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
382
Mike Frysinger5f004c22008-04-25 02:11:24 +0800383config BOOT_LOAD
384 hex "Kernel load address for booting"
385 default "0x1000"
386 range 0x1000 0x20000000
387 help
388 This option allows you to set the load address of the kernel.
389 This can be useful if you are on a board which has a small amount
390 of memory or you wish to reserve some memory at the beginning of
391 the address space.
392
393 Note that you need to keep this value above 4k (0x1000) as this
394 memory region is used to capture NULL pointer references as well
395 as some core kernel functions.
396
Michael Hennerich8cc71172008-10-13 14:45:06 +0800397config ROM_BASE
398 hex "Kernel ROM Base"
Mike Frysinger86249912008-11-18 17:48:22 +0800399 depends on ROMKERNEL
Michael Hennerich8cc71172008-10-13 14:45:06 +0800400 default "0x20040000"
401 range 0x20000000 0x20400000 if !(BF54x || BF561)
402 range 0x20000000 0x30000000 if (BF54x || BF561)
403 help
404
Robin Getzf16295e2007-08-03 18:07:17 +0800405comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700406
407config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800408 int "Frequency of the crystal on the board in Hz"
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800409 default "10000000" if BFIN532_IP0X
Mike Frysingerd0cb9b42009-06-11 21:52:35 +0000410 default "11059200" if BFIN533_STAMP
411 default "24576000" if PNAV10
412 default "25000000" # most people use this
413 default "27000000" if BFIN533_EZKIT
414 default "30000000" if BFIN561_EZKIT
Bryan Wu1394f032007-05-06 14:50:22 -0700415 help
416 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800417 Warning: This value should match the crystal on the board. Otherwise,
418 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700419
Robin Getzf16295e2007-08-03 18:07:17 +0800420config BFIN_KERNEL_CLOCK
421 bool "Re-program Clocks while Kernel boots?"
422 default n
423 help
424 This option decides if kernel clocks are re-programed from the
425 bootloader settings. If the clocks are not set, the SDRAM settings
426 are also not changed, and the Bootloader does 100% of the hardware
427 configuration.
428
429config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800430 bool "Bypass PLL"
431 depends on BFIN_KERNEL_CLOCK
432 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800433
434config CLKIN_HALF
435 bool "Half Clock In"
436 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
437 default n
438 help
439 If this is set the clock will be divided by 2, before it goes to the PLL.
440
441config VCO_MULT
442 int "VCO Multiplier"
443 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
444 range 1 64
445 default "22" if BFIN533_EZKIT
446 default "45" if BFIN533_STAMP
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800447 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800448 default "22" if BFIN533_BLUETECHNIX_CM
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000449 default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800450 default "20" if BFIN561_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800451 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
Robin Getzf16295e2007-08-03 18:07:17 +0800452 help
453 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
454 PLL Frequency = (Crystal Frequency) * (this setting)
455
456choice
457 prompt "Core Clock Divider"
458 depends on BFIN_KERNEL_CLOCK
459 default CCLK_DIV_1
460 help
461 This sets the frequency of the core. It can be 1, 2, 4 or 8
462 Core Frequency = (PLL frequency) / (this setting)
463
464config CCLK_DIV_1
465 bool "1"
466
467config CCLK_DIV_2
468 bool "2"
469
470config CCLK_DIV_4
471 bool "4"
472
473config CCLK_DIV_8
474 bool "8"
475endchoice
476
477config SCLK_DIV
478 int "System Clock Divider"
479 depends on BFIN_KERNEL_CLOCK
480 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800481 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800482 help
483 This sets the frequency of the system clock (including SDRAM or DDR).
484 This can be between 1 and 15
485 System Clock = (PLL frequency) / (this setting)
486
Mike Frysinger5f004c22008-04-25 02:11:24 +0800487choice
488 prompt "DDR SDRAM Chip Type"
489 depends on BFIN_KERNEL_CLOCK
490 depends on BF54x
491 default MEM_MT46V32M16_5B
492
493config MEM_MT46V32M16_6T
494 bool "MT46V32M16_6T"
495
496config MEM_MT46V32M16_5B
497 bool "MT46V32M16_5B"
498endchoice
499
Michael Hennerich73feb5c2009-01-07 23:14:39 +0800500choice
501 prompt "DDR/SDRAM Timing"
502 depends on BFIN_KERNEL_CLOCK
503 default BFIN_KERNEL_CLOCK_MEMINIT_CALC
504 help
505 This option allows you to specify Blackfin SDRAM/DDR Timing parameters
506 The calculated SDRAM timing parameters may not be 100%
507 accurate - This option is therefore marked experimental.
508
509config BFIN_KERNEL_CLOCK_MEMINIT_CALC
510 bool "Calculate Timings (EXPERIMENTAL)"
511 depends on EXPERIMENTAL
512
513config BFIN_KERNEL_CLOCK_MEMINIT_SPEC
514 bool "Provide accurate Timings based on target SCLK"
515 help
516 Please consult the Blackfin Hardware Reference Manuals as well
517 as the memory device datasheet.
518 http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram
519endchoice
520
521menu "Memory Init Control"
522 depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC
523
524config MEM_DDRCTL0
525 depends on BF54x
526 hex "DDRCTL0"
527 default 0x0
528
529config MEM_DDRCTL1
530 depends on BF54x
531 hex "DDRCTL1"
532 default 0x0
533
534config MEM_DDRCTL2
535 depends on BF54x
536 hex "DDRCTL2"
537 default 0x0
538
539config MEM_EBIU_DDRQUE
540 depends on BF54x
541 hex "DDRQUE"
542 default 0x0
543
544config MEM_SDRRC
545 depends on !BF54x
546 hex "SDRRC"
547 default 0x0
548
549config MEM_SDGCTL
550 depends on !BF54x
551 hex "SDGCTL"
552 default 0x0
553endmenu
554
Robin Getzf16295e2007-08-03 18:07:17 +0800555#
556# Max & Min Speeds for various Chips
557#
558config MAX_VCO_HZ
559 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800560 default 400000000 if BF512
561 default 400000000 if BF514
562 default 400000000 if BF516
563 default 400000000 if BF518
Mike Frysinger7b062632009-08-11 21:27:09 +0000564 default 400000000 if BF522
565 default 600000000 if BF523
Mike Frysinger1545a112007-12-24 16:54:48 +0800566 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800567 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800568 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800569 default 600000000 if BF527
570 default 400000000 if BF531
571 default 400000000 if BF532
572 default 750000000 if BF533
573 default 500000000 if BF534
574 default 400000000 if BF536
575 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800576 default 533333333 if BF538
577 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800578 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800579 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800580 default 600000000 if BF547
581 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800582 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800583 default 600000000 if BF561
584
585config MIN_VCO_HZ
586 int
587 default 50000000
588
589config MAX_SCLK_HZ
590 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800591 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800592
593config MIN_SCLK_HZ
594 int
595 default 27000000
596
597comment "Kernel Timer/Scheduler"
598
599source kernel/Kconfig.hz
600
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800601config GENERIC_TIME
john stultz10f03f12009-09-15 21:17:19 -0700602 def_bool y
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800603
604config GENERIC_CLOCKEVENTS
605 bool "Generic clock events"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800606 default y
607
Graf Yang1fa9be72009-05-15 11:01:59 +0000608choice
609 prompt "Kernel Tick Source"
610 depends on GENERIC_CLOCKEVENTS
611 default TICKSOURCE_CORETMR
612
613config TICKSOURCE_GPTMR0
614 bool "Gptimer0 (SCLK domain)"
615 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000616
617config TICKSOURCE_CORETMR
618 bool "Core timer (CCLK domain)"
619
620endchoice
621
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800622config CYCLES_CLOCKSOURCE
Graf Yang1fa9be72009-05-15 11:01:59 +0000623 bool "Use 'CYCLES' as a clocksource"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800624 depends on GENERIC_CLOCKEVENTS
625 depends on !BFIN_SCRATCH_REG_CYCLES
Graf Yang1fa9be72009-05-15 11:01:59 +0000626 depends on !SMP
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800627 help
628 If you say Y here, you will enable support for using the 'cycles'
629 registers as a clock source. Doing so means you will be unable to
630 safely write to the 'cycles' register during runtime. You will
631 still be able to read it (such as for performance monitoring), but
632 writing the registers will most likely crash the kernel.
633
Graf Yang1fa9be72009-05-15 11:01:59 +0000634config GPTMR0_CLOCKSOURCE
Graf Yange78feaa2009-09-14 04:41:00 +0000635 bool "Use GPTimer0 as a clocksource"
Mike Frysinger3aca47c2009-06-18 19:40:47 +0000636 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000637 depends on GENERIC_CLOCKEVENTS
638 depends on !TICKSOURCE_GPTMR0
639
john stultz10f03f12009-09-15 21:17:19 -0700640config ARCH_USES_GETTIMEOFFSET
641 depends on !GENERIC_CLOCKEVENTS
642 def_bool y
643
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800644source kernel/time/Kconfig
645
Mike Frysinger5f004c22008-04-25 02:11:24 +0800646comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800647
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800648choice
649 prompt "Blackfin Exception Scratch Register"
650 default BFIN_SCRATCH_REG_RETN
651 help
652 Select the resource to reserve for the Exception handler:
653 - RETN: Non-Maskable Interrupt (NMI)
654 - RETE: Exception Return (JTAG/ICE)
655 - CYCLES: Performance counter
656
657 If you are unsure, please select "RETN".
658
659config BFIN_SCRATCH_REG_RETN
660 bool "RETN"
661 help
662 Use the RETN register in the Blackfin exception handler
663 as a stack scratch register. This means you cannot
664 safely use NMI on the Blackfin while running Linux, but
665 you can debug the system with a JTAG ICE and use the
666 CYCLES performance registers.
667
668 If you are unsure, please select "RETN".
669
670config BFIN_SCRATCH_REG_RETE
671 bool "RETE"
672 help
673 Use the RETE register in the Blackfin exception handler
674 as a stack scratch register. This means you cannot
675 safely use a JTAG ICE while debugging a Blackfin board,
676 but you can safely use the CYCLES performance registers
677 and the NMI.
678
679 If you are unsure, please select "RETN".
680
681config BFIN_SCRATCH_REG_CYCLES
682 bool "CYCLES"
683 help
684 Use the CYCLES register in the Blackfin exception handler
685 as a stack scratch register. This means you cannot
686 safely use the CYCLES performance registers on a Blackfin
687 board at anytime, but you can debug the system with a JTAG
688 ICE and use the NMI.
689
690 If you are unsure, please select "RETN".
691
692endchoice
693
Bryan Wu1394f032007-05-06 14:50:22 -0700694endmenu
695
696
697menu "Blackfin Kernel Optimizations"
Graf Yang46fa5ee2009-01-07 23:14:39 +0800698 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700699
Bryan Wu1394f032007-05-06 14:50:22 -0700700comment "Memory Optimizations"
701
702config I_ENTRY_L1
703 bool "Locate interrupt entry code in L1 Memory"
704 default y
705 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200706 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
707 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700708
709config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200710 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700711 default y
712 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200713 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800714 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200715 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700716
717config DO_IRQ_L1
718 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
719 default y
720 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200721 If enabled, the frequently called do_irq dispatcher function is linked
722 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700723
724config CORE_TIMER_IRQ_L1
725 bool "Locate frequently called timer_interrupt() function in L1 Memory"
726 default y
727 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200728 If enabled, the frequently called timer_interrupt() function is linked
729 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700730
731config IDLE_L1
732 bool "Locate frequently idle function in L1 Memory"
733 default y
734 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200735 If enabled, the frequently called idle function is linked
736 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700737
738config SCHEDULE_L1
739 bool "Locate kernel schedule function in L1 Memory"
740 default y
741 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200742 If enabled, the frequently called kernel schedule is linked
743 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700744
745config ARITHMETIC_OPS_L1
746 bool "Locate kernel owned arithmetic functions in L1 Memory"
747 default y
748 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200749 If enabled, arithmetic functions are linked
750 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700751
752config ACCESS_OK_L1
753 bool "Locate access_ok function in L1 Memory"
754 default y
755 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200756 If enabled, the access_ok function is linked
757 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700758
759config MEMSET_L1
760 bool "Locate memset function in L1 Memory"
761 default y
762 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200763 If enabled, the memset function is linked
764 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700765
766config MEMCPY_L1
767 bool "Locate memcpy function in L1 Memory"
768 default y
769 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200770 If enabled, the memcpy function is linked
771 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700772
773config SYS_BFIN_SPINLOCK_L1
774 bool "Locate sys_bfin_spinlock function in L1 Memory"
775 default y
776 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200777 If enabled, sys_bfin_spinlock function is linked
778 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700779
780config IP_CHECKSUM_L1
781 bool "Locate IP Checksum function in L1 Memory"
782 default n
783 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200784 If enabled, the IP Checksum function is linked
785 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700786
787config CACHELINE_ALIGNED_L1
788 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800789 default y if !BF54x
790 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700791 depends on !BF531
792 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100793 If enabled, cacheline_aligned data is linked
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200794 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700795
796config SYSCALL_TAB_L1
797 bool "Locate Syscall Table L1 Data Memory"
798 default n
799 depends on !BF531
800 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200801 If enabled, the Syscall LUT is linked
802 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700803
804config CPLB_SWITCH_TAB_L1
805 bool "Locate CPLB Switch Tables L1 Data Memory"
806 default n
807 depends on !BF531
808 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200809 If enabled, the CPLB Switch Tables are linked
810 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700811
Graf Yangca87b7a2008-10-08 17:30:01 +0800812config APP_STACK_L1
813 bool "Support locating application stack in L1 Scratch Memory"
814 default y
815 help
816 If enabled the application stack can be located in L1
817 scratch memory (less latency).
818
819 Currently only works with FLAT binaries.
820
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800821config EXCEPTION_L1_SCRATCH
822 bool "Locate exception stack in L1 Scratch Memory"
823 default n
Graf Yangf82e0a02009-04-08 08:30:22 +0000824 depends on !APP_STACK_L1
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800825 help
826 Whenever an exception occurs, use the L1 Scratch memory for
827 stack storage. You cannot place the stacks of FLAT binaries
828 in L1 when using this option.
829
830 If you don't use L1 Scratch, then you should say Y here.
831
Robin Getz251383c2008-08-14 15:12:55 +0800832comment "Speed Optimizations"
833config BFIN_INS_LOWOVERHEAD
834 bool "ins[bwl] low overhead, higher interrupt latency"
835 default y
836 help
837 Reads on the Blackfin are speculative. In Blackfin terms, this means
838 they can be interrupted at any time (even after they have been issued
839 on to the external bus), and re-issued after the interrupt occurs.
840 For memory - this is not a big deal, since memory does not change if
841 it sees a read.
842
843 If a FIFO is sitting on the end of the read, it will see two reads,
844 when the core only sees one since the FIFO receives both the read
845 which is cancelled (and not delivered to the core) and the one which
846 is re-issued (which is delivered to the core).
847
848 To solve this, interrupts are turned off before reads occur to
849 I/O space. This option controls which the overhead/latency of
850 controlling interrupts during this time
851 "n" turns interrupts off every read
852 (higher overhead, but lower interrupt latency)
853 "y" turns interrupts off every loop
854 (low overhead, but longer interrupt latency)
855
856 default behavior is to leave this set to on (type "Y"). If you are experiencing
857 interrupt latency issues, it is safe and OK to turn this off.
858
Bryan Wu1394f032007-05-06 14:50:22 -0700859endmenu
860
Bryan Wu1394f032007-05-06 14:50:22 -0700861choice
862 prompt "Kernel executes from"
863 help
864 Choose the memory type that the kernel will be running in.
865
866config RAMKERNEL
867 bool "RAM"
868 help
869 The kernel will be resident in RAM when running.
870
871config ROMKERNEL
872 bool "ROM"
873 help
874 The kernel will be resident in FLASH/ROM when running.
875
876endchoice
877
878source "mm/Kconfig"
879
Mike Frysinger780431e2007-10-21 23:37:54 +0800880config BFIN_GPTIMERS
881 tristate "Enable Blackfin General Purpose Timers API"
882 default n
883 help
884 Enable support for the General Purpose Timers API. If you
885 are unsure, say N.
886
887 To compile this driver as a module, choose M here: the module
Pavel Machek4737f092009-06-05 00:44:53 +0200888 will be called gptimers.
Mike Frysinger780431e2007-10-21 23:37:54 +0800889
Bryan Wu1394f032007-05-06 14:50:22 -0700890choice
Mike Frysingerd292b002008-10-28 11:15:36 +0800891 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700892 default DMA_UNCACHED_1M
Cliff Cai86ad7932008-05-17 16:36:52 +0800893config DMA_UNCACHED_4M
894 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700895config DMA_UNCACHED_2M
896 bool "Enable 2M DMA region"
897config DMA_UNCACHED_1M
898 bool "Enable 1M DMA region"
Barry Songc45c0652009-12-02 09:13:36 +0000899config DMA_UNCACHED_512K
900 bool "Enable 512K DMA region"
901config DMA_UNCACHED_256K
902 bool "Enable 256K DMA region"
903config DMA_UNCACHED_128K
904 bool "Enable 128K DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700905config DMA_UNCACHED_NONE
906 bool "Disable DMA region"
907endchoice
908
909
910comment "Cache Support"
Jie Zhang41ba6532009-06-16 09:48:33 +0000911
Robin Getz3bebca22007-10-10 23:55:26 +0800912config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700913 bool "Enable ICACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000914 default y
Jie Zhang41ba6532009-06-16 09:48:33 +0000915config BFIN_EXTMEM_ICACHEABLE
916 bool "Enable ICACHE for external memory"
917 depends on BFIN_ICACHE
918 default y
919config BFIN_L2_ICACHEABLE
920 bool "Enable ICACHE for L2 SRAM"
921 depends on BFIN_ICACHE
922 depends on BF54x || BF561
923 default n
924
Robin Getz3bebca22007-10-10 23:55:26 +0800925config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700926 bool "Enable DCACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +0000927 default y
Robin Getz3bebca22007-10-10 23:55:26 +0800928config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700929 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800930 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700931 default n
Jie Zhang41ba6532009-06-16 09:48:33 +0000932config BFIN_EXTMEM_DCACHEABLE
933 bool "Enable DCACHE for external memory"
Robin Getz3bebca22007-10-10 23:55:26 +0800934 depends on BFIN_DCACHE
Jie Zhang41ba6532009-06-16 09:48:33 +0000935 default y
Graf Yang5ba76672009-05-07 04:09:15 +0000936choice
Jie Zhang41ba6532009-06-16 09:48:33 +0000937 prompt "External memory DCACHE policy"
938 depends on BFIN_EXTMEM_DCACHEABLE
939 default BFIN_EXTMEM_WRITEBACK if !SMP
940 default BFIN_EXTMEM_WRITETHROUGH if SMP
941config BFIN_EXTMEM_WRITEBACK
Graf Yang5ba76672009-05-07 04:09:15 +0000942 bool "Write back"
943 depends on !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +0000944 help
945 Write Back Policy:
946 Cached data will be written back to SDRAM only when needed.
947 This can give a nice increase in performance, but beware of
948 broken drivers that do not properly invalidate/flush their
949 cache.
Graf Yang5ba76672009-05-07 04:09:15 +0000950
Jie Zhang41ba6532009-06-16 09:48:33 +0000951 Write Through Policy:
952 Cached data will always be written back to SDRAM when the
953 cache is updated. This is a completely safe setting, but
954 performance is worse than Write Back.
955
956 If you are unsure of the options and you want to be safe,
957 then go with Write Through.
958
959config BFIN_EXTMEM_WRITETHROUGH
Graf Yang5ba76672009-05-07 04:09:15 +0000960 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +0000961 help
962 Write Back Policy:
963 Cached data will be written back to SDRAM only when needed.
964 This can give a nice increase in performance, but beware of
965 broken drivers that do not properly invalidate/flush their
966 cache.
Graf Yang5ba76672009-05-07 04:09:15 +0000967
Jie Zhang41ba6532009-06-16 09:48:33 +0000968 Write Through Policy:
969 Cached data will always be written back to SDRAM when the
970 cache is updated. This is a completely safe setting, but
971 performance is worse than Write Back.
972
973 If you are unsure of the options and you want to be safe,
974 then go with Write Through.
Graf Yang5ba76672009-05-07 04:09:15 +0000975
976endchoice
Sonic Zhangf099f392008-10-09 14:11:57 +0800977
Jie Zhang41ba6532009-06-16 09:48:33 +0000978config BFIN_L2_DCACHEABLE
979 bool "Enable DCACHE for L2 SRAM"
980 depends on BFIN_DCACHE
Sonic Zhang9c954f82009-06-30 09:48:03 +0000981 depends on (BF54x || BF561) && !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +0000982 default n
983choice
984 prompt "L2 SRAM DCACHE policy"
985 depends on BFIN_L2_DCACHEABLE
986 default BFIN_L2_WRITEBACK
987config BFIN_L2_WRITEBACK
988 bool "Write back"
Jie Zhang41ba6532009-06-16 09:48:33 +0000989
990config BFIN_L2_WRITETHROUGH
991 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +0000992endchoice
993
994
995comment "Memory Protection Unit"
Bernd Schmidtb97b8a92008-01-27 18:39:16 +0800996config MPU
997 bool "Enable the memory protection unit (EXPERIMENTAL)"
998 default n
999 help
1000 Use the processor's MPU to protect applications from accessing
1001 memory they do not own. This comes at a performance penalty
1002 and is recommended only for debugging.
1003
Matt LaPlante692105b2009-01-26 11:12:25 +01001004comment "Asynchronous Memory Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -07001005
Mike Frysingerddf416b2007-10-10 18:06:47 +08001006menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -07001007config C_AMCKEN
1008 bool "Enable CLKOUT"
1009 default y
1010
1011config C_CDPRIO
1012 bool "DMA has priority over core for ext. accesses"
1013 default n
1014
1015config C_B0PEN
1016 depends on BF561
1017 bool "Bank 0 16 bit packing enable"
1018 default y
1019
1020config C_B1PEN
1021 depends on BF561
1022 bool "Bank 1 16 bit packing enable"
1023 default y
1024
1025config C_B2PEN
1026 depends on BF561
1027 bool "Bank 2 16 bit packing enable"
1028 default y
1029
1030config C_B3PEN
1031 depends on BF561
1032 bool "Bank 3 16 bit packing enable"
1033 default n
1034
1035choice
Matt LaPlante692105b2009-01-26 11:12:25 +01001036 prompt "Enable Asynchronous Memory Banks"
Bryan Wu1394f032007-05-06 14:50:22 -07001037 default C_AMBEN_ALL
1038
1039config C_AMBEN
1040 bool "Disable All Banks"
1041
1042config C_AMBEN_B0
1043 bool "Enable Bank 0"
1044
1045config C_AMBEN_B0_B1
1046 bool "Enable Bank 0 & 1"
1047
1048config C_AMBEN_B0_B1_B2
1049 bool "Enable Bank 0 & 1 & 2"
1050
1051config C_AMBEN_ALL
1052 bool "Enable All Banks"
1053endchoice
1054endmenu
1055
1056menu "EBIU_AMBCTL Control"
1057config BANK_0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001058 hex "Bank 0 (AMBCTL0.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001059 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001060 help
1061 These are the low 16 bits of the EBIU_AMBCTL0 MMR which are
1062 used to control the Asynchronous Memory Bank 0 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001063
1064config BANK_1
Mike Frysingerc8342f82009-03-31 00:18:35 +00001065 hex "Bank 1 (AMBCTL0.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001066 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +08001067 default 0x5558 if BF54x
Mike Frysingerc8342f82009-03-31 00:18:35 +00001068 help
1069 These are the high 16 bits of the EBIU_AMBCTL0 MMR which are
1070 used to control the Asynchronous Memory Bank 1 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001071
1072config BANK_2
Mike Frysingerc8342f82009-03-31 00:18:35 +00001073 hex "Bank 2 (AMBCTL1.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001074 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001075 help
1076 These are the low 16 bits of the EBIU_AMBCTL1 MMR which are
1077 used to control the Asynchronous Memory Bank 2 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001078
1079config BANK_3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001080 hex "Bank 3 (AMBCTL1.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001081 default 0x99B3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001082 help
1083 These are the high 16 bits of the EBIU_AMBCTL1 MMR which are
1084 used to control the Asynchronous Memory Bank 3 settings.
1085
Bryan Wu1394f032007-05-06 14:50:22 -07001086endmenu
1087
Sonic Zhange40540b2007-11-21 23:49:52 +08001088config EBIU_MBSCTLVAL
1089 hex "EBIU Bank Select Control Register"
1090 depends on BF54x
1091 default 0
1092
1093config EBIU_MODEVAL
1094 hex "Flash Memory Mode Control Register"
1095 depends on BF54x
1096 default 1
1097
1098config EBIU_FCTLVAL
1099 hex "Flash Memory Bank Control Register"
1100 depends on BF54x
1101 default 6
Bryan Wu1394f032007-05-06 14:50:22 -07001102endmenu
1103
1104#############################################################################
1105menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1106
1107config PCI
1108 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +08001109 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -07001110 help
1111 Support for PCI bus.
1112
1113source "drivers/pci/Kconfig"
1114
1115config HOTPLUG
1116 bool "Support for hot-pluggable device"
1117 help
1118 Say Y here if you want to plug devices into your computer while
1119 the system is running, and be able to use them quickly. In many
1120 cases, the devices can likewise be unplugged at any time too.
1121
1122 One well known example of this is PCMCIA- or PC-cards, credit-card
1123 size devices such as network cards, modems or hard drives which are
1124 plugged into slots found on all modern laptop computers. Another
1125 example, used on modern desktops as well as laptops, is USB.
1126
Johannes Berga81792f2008-07-08 19:00:25 +02001127 Enable HOTPLUG and build a modular kernel. Get agent software
1128 (from <http://linux-hotplug.sourceforge.net/>) and install it.
Bryan Wu1394f032007-05-06 14:50:22 -07001129 Then your kernel will automatically call out to a user mode "policy
1130 agent" (/sbin/hotplug) to load modules and set up software needed
1131 to use devices as you hotplug them.
1132
1133source "drivers/pcmcia/Kconfig"
1134
1135source "drivers/pci/hotplug/Kconfig"
1136
1137endmenu
1138
1139menu "Executable file formats"
1140
1141source "fs/Kconfig.binfmt"
1142
1143endmenu
1144
1145menu "Power management options"
Graf Yangad461632009-08-07 03:52:54 +00001146 depends on !SMP
1147
Bryan Wu1394f032007-05-06 14:50:22 -07001148source "kernel/power/Kconfig"
1149
Johannes Bergf4cb5702007-12-08 02:14:00 +01001150config ARCH_SUSPEND_POSSIBLE
1151 def_bool y
Johannes Bergf4cb5702007-12-08 02:14:00 +01001152
Bryan Wu1394f032007-05-06 14:50:22 -07001153choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001154 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -07001155 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001156 default PM_BFIN_SLEEP_DEEPER
1157config PM_BFIN_SLEEP_DEEPER
1158 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001159 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001160 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1161 power dissipation by disabling the clock to the processor core (CCLK).
1162 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1163 to 0.85 V to provide the greatest power savings, while preserving the
1164 processor state.
1165 The PLL and system clock (SCLK) continue to operate at a very low
1166 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1167 the SDRAM is put into Self Refresh Mode. Typically an external event
1168 such as GPIO interrupt or RTC activity wakes up the processor.
1169 Various Peripherals such as UART, SPORT, PPI may not function as
1170 normal during Sleep Deeper, due to the reduced SCLK frequency.
1171 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001172
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001173 If unsure, select "Sleep Deeper".
1174
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001175config PM_BFIN_SLEEP
1176 bool "Sleep"
1177 help
1178 Sleep Mode (High Power Savings) - The sleep mode reduces power
1179 dissipation by disabling the clock to the processor core (CCLK).
1180 The PLL and system clock (SCLK), however, continue to operate in
1181 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001182 up the processor. When in the sleep mode, system DMA access to L1
1183 memory is not supported.
1184
1185 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001186endchoice
1187
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001188config PM_WAKEUP_BY_GPIO
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001189 bool "Allow Wakeup from Standby by GPIO"
Michael Hennerichff19fed2009-03-04 17:35:51 +08001190 depends on PM && !BF54x
Bryan Wu1394f032007-05-06 14:50:22 -07001191
1192config PM_WAKEUP_GPIO_NUMBER
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001193 int "GPIO number"
Bryan Wu1394f032007-05-06 14:50:22 -07001194 range 0 47
1195 depends on PM_WAKEUP_BY_GPIO
Mike Frysingerd1a33362008-11-18 17:48:22 +08001196 default 2
Bryan Wu1394f032007-05-06 14:50:22 -07001197
1198choice
1199 prompt "GPIO Polarity"
1200 depends on PM_WAKEUP_BY_GPIO
1201 default PM_WAKEUP_GPIO_POLAR_H
1202config PM_WAKEUP_GPIO_POLAR_H
1203 bool "Active High"
1204config PM_WAKEUP_GPIO_POLAR_L
1205 bool "Active Low"
1206config PM_WAKEUP_GPIO_POLAR_EDGE_F
1207 bool "Falling EDGE"
1208config PM_WAKEUP_GPIO_POLAR_EDGE_R
1209 bool "Rising EDGE"
1210config PM_WAKEUP_GPIO_POLAR_EDGE_B
1211 bool "Both EDGE"
1212endchoice
1213
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001214comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1215 depends on PM
1216
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001217config PM_BFIN_WAKE_PH6
1218 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001219 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001220 default n
1221 help
1222 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1223
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001224config PM_BFIN_WAKE_GP
1225 bool "Allow Wake-Up from GPIOs"
1226 depends on PM && BF54x
1227 default n
1228 help
1229 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Michael Hennerich19986282009-03-05 16:45:55 +08001230 (all processors, except ADSP-BF549). This option sets
1231 the general-purpose wake-up enable (GPWE) control bit to enable
1232 wake-up upon detection of an active low signal on the /GPW (PH7) pin.
1233 On ADSP-BF549 this option enables the the same functionality on the
1234 /MRXON pin also PH7.
1235
Bryan Wu1394f032007-05-06 14:50:22 -07001236endmenu
1237
Bryan Wu1394f032007-05-06 14:50:22 -07001238menu "CPU Frequency scaling"
Graf Yangad461632009-08-07 03:52:54 +00001239 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -07001240
1241source "drivers/cpufreq/Kconfig"
1242
Michael Hennerich5ad2ca52008-11-18 17:48:22 +08001243config BFIN_CPU_FREQ
1244 bool
1245 depends on CPU_FREQ
1246 select CPU_FREQ_TABLE
1247 default y
1248
Michael Hennerich14b03202008-05-07 11:41:26 +08001249config CPU_VOLTAGE
1250 bool "CPU Voltage scaling"
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001251 depends on EXPERIMENTAL
Michael Hennerich14b03202008-05-07 11:41:26 +08001252 depends on CPU_FREQ
1253 default n
1254 help
1255 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1256 This option violates the PLL BYPASS recommendation in the Blackfin Processor
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001257 manuals. There is a theoretical risk that during VDDINT transitions
Michael Hennerich14b03202008-05-07 11:41:26 +08001258 the PLL may unlock.
1259
Bryan Wu1394f032007-05-06 14:50:22 -07001260endmenu
1261
Bryan Wu1394f032007-05-06 14:50:22 -07001262source "net/Kconfig"
1263
1264source "drivers/Kconfig"
1265
Mike Frysinger872d0242009-10-06 04:49:07 +00001266source "drivers/firmware/Kconfig"
1267
Bryan Wu1394f032007-05-06 14:50:22 -07001268source "fs/Kconfig"
1269
Mike Frysinger74ce8322007-11-21 23:50:49 +08001270source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001271
1272source "security/Kconfig"
1273
1274source "crypto/Kconfig"
1275
1276source "lib/Kconfig"