blob: d03fd638e9aa9ed2c52e0360731194e05657faeb [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
Sam Ravnborgec7748b2008-02-09 10:46:40 +010022 select HAVE_IDE
Mike Frysinger538067c2009-06-07 03:47:01 -040023 select HAVE_KERNEL_GZIP
24 select HAVE_KERNEL_BZIP2
25 select HAVE_KERNEL_LZMA
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050026 select HAVE_OPROFILE
Michael Hennericha4f0b32c2008-11-18 17:48:22 +080027 select ARCH_WANT_OPTIONAL_GPIOLIB
Bryan Wu1394f032007-05-06 14:50:22 -070028
Mike Frysinger70f12562009-06-07 17:18:25 -040029config GENERIC_BUG
30 def_bool y
31 depends on BUG
32
Aubrey Lie3defff2007-05-21 18:09:11 +080033config ZONE_DMA
Mike Frysingerbac7d892009-06-07 03:46:06 -040034 def_bool y
Aubrey Lie3defff2007-05-21 18:09:11 +080035
Bryan Wu1394f032007-05-06 14:50:22 -070036config GENERIC_FIND_NEXT_BIT
Mike Frysingerbac7d892009-06-07 03:46:06 -040037 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070038
39config GENERIC_HWEIGHT
Mike Frysingerbac7d892009-06-07 03:46:06 -040040 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070041
42config GENERIC_HARDIRQS
Mike Frysingerbac7d892009-06-07 03:46:06 -040043 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070044
45config GENERIC_IRQ_PROBE
Mike Frysingerbac7d892009-06-07 03:46:06 -040046 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070047
Michael Hennerichb2d15832007-07-24 15:46:36 +080048config GENERIC_GPIO
Mike Frysingerbac7d892009-06-07 03:46:06 -040049 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070050
51config FORCE_MAX_ZONEORDER
52 int
53 default "14"
54
55config GENERIC_CALIBRATE_DELAY
Mike Frysingerbac7d892009-06-07 03:46:06 -040056 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070057
Mike Frysinger6fa68e72009-06-08 18:45:01 -040058config LOCKDEP_SUPPORT
59 def_bool y
60
Mike Frysingerc7b412f2009-06-08 18:44:45 -040061config STACKTRACE_SUPPORT
62 def_bool y
63
Mike Frysinger8f860012009-06-08 12:49:48 -040064config TRACE_IRQFLAGS_SUPPORT
65 def_bool y
66
Bryan Wu1394f032007-05-06 14:50:22 -070067source "init/Kconfig"
Matt Helsleydc52ddc2008-10-18 20:27:21 -070068
Bryan Wu1394f032007-05-06 14:50:22 -070069source "kernel/Kconfig.preempt"
70
Matt Helsleydc52ddc2008-10-18 20:27:21 -070071source "kernel/Kconfig.freezer"
72
Bryan Wu1394f032007-05-06 14:50:22 -070073menu "Blackfin Processor Options"
74
75comment "Processor and Board Settings"
76
77choice
78 prompt "CPU"
79 default BF533
80
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080081config BF512
82 bool "BF512"
83 help
84 BF512 Processor Support.
85
86config BF514
87 bool "BF514"
88 help
89 BF514 Processor Support.
90
91config BF516
92 bool "BF516"
93 help
94 BF516 Processor Support.
95
96config BF518
97 bool "BF518"
98 help
99 BF518 Processor Support.
100
Michael Hennerich59003142007-10-21 16:54:27 +0800101config BF522
102 bool "BF522"
103 help
104 BF522 Processor Support.
105
Mike Frysinger1545a112007-12-24 16:54:48 +0800106config BF523
107 bool "BF523"
108 help
109 BF523 Processor Support.
110
111config BF524
112 bool "BF524"
113 help
114 BF524 Processor Support.
115
Michael Hennerich59003142007-10-21 16:54:27 +0800116config BF525
117 bool "BF525"
118 help
119 BF525 Processor Support.
120
Mike Frysinger1545a112007-12-24 16:54:48 +0800121config BF526
122 bool "BF526"
123 help
124 BF526 Processor Support.
125
Michael Hennerich59003142007-10-21 16:54:27 +0800126config BF527
127 bool "BF527"
128 help
129 BF527 Processor Support.
130
Bryan Wu1394f032007-05-06 14:50:22 -0700131config BF531
132 bool "BF531"
133 help
134 BF531 Processor Support.
135
136config BF532
137 bool "BF532"
138 help
139 BF532 Processor Support.
140
141config BF533
142 bool "BF533"
143 help
144 BF533 Processor Support.
145
146config BF534
147 bool "BF534"
148 help
149 BF534 Processor Support.
150
151config BF536
152 bool "BF536"
153 help
154 BF536 Processor Support.
155
156config BF537
157 bool "BF537"
158 help
159 BF537 Processor Support.
160
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800161config BF538
162 bool "BF538"
163 help
164 BF538 Processor Support.
165
166config BF539
167 bool "BF539"
168 help
169 BF539 Processor Support.
170
Roy Huang24a07a12007-07-12 22:41:45 +0800171config BF542
172 bool "BF542"
173 help
174 BF542 Processor Support.
175
Mike Frysinger2f89c062009-02-04 16:49:45 +0800176config BF542M
177 bool "BF542m"
178 help
179 BF542 Processor Support.
180
Roy Huang24a07a12007-07-12 22:41:45 +0800181config BF544
182 bool "BF544"
183 help
184 BF544 Processor Support.
185
Mike Frysinger2f89c062009-02-04 16:49:45 +0800186config BF544M
187 bool "BF544m"
188 help
189 BF544 Processor Support.
190
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800191config BF547
192 bool "BF547"
193 help
194 BF547 Processor Support.
195
Mike Frysinger2f89c062009-02-04 16:49:45 +0800196config BF547M
197 bool "BF547m"
198 help
199 BF547 Processor Support.
200
Roy Huang24a07a12007-07-12 22:41:45 +0800201config BF548
202 bool "BF548"
203 help
204 BF548 Processor Support.
205
Mike Frysinger2f89c062009-02-04 16:49:45 +0800206config BF548M
207 bool "BF548m"
208 help
209 BF548 Processor Support.
210
Roy Huang24a07a12007-07-12 22:41:45 +0800211config BF549
212 bool "BF549"
213 help
214 BF549 Processor Support.
215
Mike Frysinger2f89c062009-02-04 16:49:45 +0800216config BF549M
217 bool "BF549m"
218 help
219 BF549 Processor Support.
220
Bryan Wu1394f032007-05-06 14:50:22 -0700221config BF561
222 bool "BF561"
223 help
Mike Frysingercd88b4d2008-10-09 12:03:22 +0800224 BF561 Processor Support.
Bryan Wu1394f032007-05-06 14:50:22 -0700225
226endchoice
227
Graf Yang46fa5ee2009-01-07 23:14:39 +0800228config SMP
229 depends on BF561
Graf Yang9b9bfde2009-05-27 09:58:35 +0000230 select GENERIC_TIME
Graf Yang46fa5ee2009-01-07 23:14:39 +0800231 bool "Symmetric multi-processing support"
232 ---help---
233 This enables support for systems with more than one CPU,
234 like the dual core BF561. If you have a system with only one
235 CPU, say N. If you have a system with more than one CPU, say Y.
236
237 If you don't know what to do here, say N.
238
239config NR_CPUS
240 int
241 depends on SMP
242 default 2 if BF561
243
244config IRQ_PER_CPU
245 bool
246 depends on SMP
247 default y
248
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800249config BF_REV_MIN
250 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800251 default 0 if (BF51x || BF52x || (BF54x && !BF54xM))
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800252 default 2 if (BF537 || BF536 || BF534)
Mike Frysinger2f89c062009-02-04 16:49:45 +0800253 default 3 if (BF561 || BF533 || BF532 || BF531 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800254 default 4 if (BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800255
256config BF_REV_MAX
257 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800258 default 2 if (BF51x || BF52x || (BF54x && !BF54xM))
259 default 3 if (BF537 || BF536 || BF534 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800260 default 5 if (BF561 || BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800261 default 6 if (BF533 || BF532 || BF531)
262
Bryan Wu1394f032007-05-06 14:50:22 -0700263choice
264 prompt "Silicon Rev"
Mike Frysingerf8b55652009-04-13 21:58:34 +0000265 default BF_REV_0_0 if (BF51x || BF52x)
266 default BF_REV_0_2 if (BF534 || BF536 || BF537 || (BF54x && !BF54xM))
Mike Frysinger2f89c062009-02-04 16:49:45 +0800267 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF54xM || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800268
269config BF_REV_0_0
270 bool "0.0"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800271 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Michael Hennerich59003142007-10-21 16:54:27 +0800272
273config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800274 bool "0.1"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800275 depends on (BF52x || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700276
277config BF_REV_0_2
278 bool "0.2"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800279 depends on (BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700280
281config BF_REV_0_3
282 bool "0.3"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800283 depends on (BF54xM || BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
Bryan Wu1394f032007-05-06 14:50:22 -0700284
285config BF_REV_0_4
286 bool "0.4"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800287 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700288
289config BF_REV_0_5
290 bool "0.5"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800291 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700292
Mike Frysinger49f72532008-10-09 12:06:27 +0800293config BF_REV_0_6
294 bool "0.6"
295 depends on (BF533 || BF532 || BF531)
296
Jie Zhangde3025f2007-06-25 18:04:12 +0800297config BF_REV_ANY
298 bool "any"
299
300config BF_REV_NONE
301 bool "none"
302
Bryan Wu1394f032007-05-06 14:50:22 -0700303endchoice
304
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800305config BF51x
306 bool
307 depends on (BF512 || BF514 || BF516 || BF518)
308 default y
309
Michael Hennerich59003142007-10-21 16:54:27 +0800310config BF52x
311 bool
Mike Frysinger1545a112007-12-24 16:54:48 +0800312 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
Michael Hennerich59003142007-10-21 16:54:27 +0800313 default y
314
Roy Huang24a07a12007-07-12 22:41:45 +0800315config BF53x
316 bool
317 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
318 default y
319
Mike Frysinger2f89c062009-02-04 16:49:45 +0800320config BF54xM
321 bool
322 depends on (BF542M || BF544M || BF547M || BF548M || BF549M)
323 default y
324
Roy Huang24a07a12007-07-12 22:41:45 +0800325config BF54x
326 bool
Mike Frysinger2f89c062009-02-04 16:49:45 +0800327 depends on (BF542 || BF544 || BF547 || BF548 || BF549 || BF54xM)
Roy Huang24a07a12007-07-12 22:41:45 +0800328 default y
329
Bryan Wu1394f032007-05-06 14:50:22 -0700330config MEM_GENERIC_BOARD
331 bool
332 depends on GENERIC_BOARD
333 default y
334
335config MEM_MT48LC64M4A2FB_7E
336 bool
337 depends on (BFIN533_STAMP)
338 default y
339
340config MEM_MT48LC16M16A2TG_75
341 bool
342 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Javier Herreroab472a02007-10-29 16:14:44 +0800343 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
Michael Hennerich9db144f2008-07-19 17:16:07 +0800344 || H8606_HVSISTEMAS || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700345 default y
346
347config MEM_MT48LC32M8A2_75
348 bool
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800349 depends on (BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700350 default y
351
352config MEM_MT48LC8M32B2B5_7
353 bool
354 depends on (BFIN561_BLUETECHNIX_CM)
355 default y
356
Michael Hennerich59003142007-10-21 16:54:27 +0800357config MEM_MT48LC32M16A2TG_75
358 bool
Michael Hennerich8cc71172008-10-13 14:45:06 +0800359 depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP || BFIN526_EZBRD)
Michael Hennerich59003142007-10-21 16:54:27 +0800360 default y
361
Sonic Zhang49345402009-01-07 23:14:38 +0800362config MEM_MT48LC32M8A2_75
363 bool
364 depends on (BFIN518F_EZBRD)
365 default y
366
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800367source "arch/blackfin/mach-bf518/Kconfig"
Michael Hennerich59003142007-10-21 16:54:27 +0800368source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700369source "arch/blackfin/mach-bf533/Kconfig"
370source "arch/blackfin/mach-bf561/Kconfig"
371source "arch/blackfin/mach-bf537/Kconfig"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800372source "arch/blackfin/mach-bf538/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800373source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700374
375menu "Board customizations"
376
377config CMDLINE_BOOL
378 bool "Default bootloader kernel arguments"
379
380config CMDLINE
381 string "Initial kernel command string"
382 depends on CMDLINE_BOOL
383 default "console=ttyBF0,57600"
384 help
385 If you don't have a boot loader capable of passing a command line string
386 to the kernel, you may specify one here. As a minimum, you should specify
387 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
388
Mike Frysinger5f004c22008-04-25 02:11:24 +0800389config BOOT_LOAD
390 hex "Kernel load address for booting"
391 default "0x1000"
392 range 0x1000 0x20000000
393 help
394 This option allows you to set the load address of the kernel.
395 This can be useful if you are on a board which has a small amount
396 of memory or you wish to reserve some memory at the beginning of
397 the address space.
398
399 Note that you need to keep this value above 4k (0x1000) as this
400 memory region is used to capture NULL pointer references as well
401 as some core kernel functions.
402
Michael Hennerich8cc71172008-10-13 14:45:06 +0800403config ROM_BASE
404 hex "Kernel ROM Base"
Mike Frysinger86249912008-11-18 17:48:22 +0800405 depends on ROMKERNEL
Michael Hennerich8cc71172008-10-13 14:45:06 +0800406 default "0x20040000"
407 range 0x20000000 0x20400000 if !(BF54x || BF561)
408 range 0x20000000 0x30000000 if (BF54x || BF561)
409 help
410
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"
Bryan Wu1394f032007-05-06 14:50:22 -0700415 default "11059200" if BFIN533_STAMP
416 default "27000000" if BFIN533_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800417 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN538_EZKIT || BFIN518F-EZBRD)
Bryan Wu1394f032007-05-06 14:50:22 -0700418 default "30000000" if BFIN561_EZKIT
419 default "24576000" if PNAV10
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800420 default "10000000" if BFIN532_IP0X
Bryan Wu1394f032007-05-06 14:50:22 -0700421 help
422 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800423 Warning: This value should match the crystal on the board. Otherwise,
424 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700425
Robin Getzf16295e2007-08-03 18:07:17 +0800426config BFIN_KERNEL_CLOCK
427 bool "Re-program Clocks while Kernel boots?"
428 default n
429 help
430 This option decides if kernel clocks are re-programed from the
431 bootloader settings. If the clocks are not set, the SDRAM settings
432 are also not changed, and the Bootloader does 100% of the hardware
433 configuration.
434
435config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800436 bool "Bypass PLL"
437 depends on BFIN_KERNEL_CLOCK
438 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800439
440config CLKIN_HALF
441 bool "Half Clock In"
442 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
443 default n
444 help
445 If this is set the clock will be divided by 2, before it goes to the PLL.
446
447config VCO_MULT
448 int "VCO Multiplier"
449 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
450 range 1 64
451 default "22" if BFIN533_EZKIT
452 default "45" if BFIN533_STAMP
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800453 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800454 default "22" if BFIN533_BLUETECHNIX_CM
Michael Hennerich9db144f2008-07-19 17:16:07 +0800455 default "20" if (BFIN537_BLUETECHNIX_CM || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800456 default "20" if BFIN561_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800457 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
Robin Getzf16295e2007-08-03 18:07:17 +0800458 help
459 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
460 PLL Frequency = (Crystal Frequency) * (this setting)
461
462choice
463 prompt "Core Clock Divider"
464 depends on BFIN_KERNEL_CLOCK
465 default CCLK_DIV_1
466 help
467 This sets the frequency of the core. It can be 1, 2, 4 or 8
468 Core Frequency = (PLL frequency) / (this setting)
469
470config CCLK_DIV_1
471 bool "1"
472
473config CCLK_DIV_2
474 bool "2"
475
476config CCLK_DIV_4
477 bool "4"
478
479config CCLK_DIV_8
480 bool "8"
481endchoice
482
483config SCLK_DIV
484 int "System Clock Divider"
485 depends on BFIN_KERNEL_CLOCK
486 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800487 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800488 help
489 This sets the frequency of the system clock (including SDRAM or DDR).
490 This can be between 1 and 15
491 System Clock = (PLL frequency) / (this setting)
492
Mike Frysinger5f004c22008-04-25 02:11:24 +0800493choice
494 prompt "DDR SDRAM Chip Type"
495 depends on BFIN_KERNEL_CLOCK
496 depends on BF54x
497 default MEM_MT46V32M16_5B
498
499config MEM_MT46V32M16_6T
500 bool "MT46V32M16_6T"
501
502config MEM_MT46V32M16_5B
503 bool "MT46V32M16_5B"
504endchoice
505
Michael Hennerich73feb5c2009-01-07 23:14:39 +0800506choice
507 prompt "DDR/SDRAM Timing"
508 depends on BFIN_KERNEL_CLOCK
509 default BFIN_KERNEL_CLOCK_MEMINIT_CALC
510 help
511 This option allows you to specify Blackfin SDRAM/DDR Timing parameters
512 The calculated SDRAM timing parameters may not be 100%
513 accurate - This option is therefore marked experimental.
514
515config BFIN_KERNEL_CLOCK_MEMINIT_CALC
516 bool "Calculate Timings (EXPERIMENTAL)"
517 depends on EXPERIMENTAL
518
519config BFIN_KERNEL_CLOCK_MEMINIT_SPEC
520 bool "Provide accurate Timings based on target SCLK"
521 help
522 Please consult the Blackfin Hardware Reference Manuals as well
523 as the memory device datasheet.
524 http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram
525endchoice
526
527menu "Memory Init Control"
528 depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC
529
530config MEM_DDRCTL0
531 depends on BF54x
532 hex "DDRCTL0"
533 default 0x0
534
535config MEM_DDRCTL1
536 depends on BF54x
537 hex "DDRCTL1"
538 default 0x0
539
540config MEM_DDRCTL2
541 depends on BF54x
542 hex "DDRCTL2"
543 default 0x0
544
545config MEM_EBIU_DDRQUE
546 depends on BF54x
547 hex "DDRQUE"
548 default 0x0
549
550config MEM_SDRRC
551 depends on !BF54x
552 hex "SDRRC"
553 default 0x0
554
555config MEM_SDGCTL
556 depends on !BF54x
557 hex "SDGCTL"
558 default 0x0
559endmenu
560
Robin Getzf16295e2007-08-03 18:07:17 +0800561#
562# Max & Min Speeds for various Chips
563#
564config MAX_VCO_HZ
565 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800566 default 400000000 if BF512
567 default 400000000 if BF514
568 default 400000000 if BF516
569 default 400000000 if BF518
Robin Getzf16295e2007-08-03 18:07:17 +0800570 default 600000000 if BF522
Mike Frysinger1545a112007-12-24 16:54:48 +0800571 default 400000000 if BF523
572 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800573 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800574 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800575 default 600000000 if BF527
576 default 400000000 if BF531
577 default 400000000 if BF532
578 default 750000000 if BF533
579 default 500000000 if BF534
580 default 400000000 if BF536
581 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800582 default 533333333 if BF538
583 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800584 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800585 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800586 default 600000000 if BF547
587 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800588 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800589 default 600000000 if BF561
590
591config MIN_VCO_HZ
592 int
593 default 50000000
594
595config MAX_SCLK_HZ
596 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800597 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800598
599config MIN_SCLK_HZ
600 int
601 default 27000000
602
603comment "Kernel Timer/Scheduler"
604
605source kernel/Kconfig.hz
606
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800607config GENERIC_TIME
608 bool "Generic time"
609 default y
610
611config GENERIC_CLOCKEVENTS
612 bool "Generic clock events"
613 depends on GENERIC_TIME
614 default y
615
Graf Yang1fa9be72009-05-15 11:01:59 +0000616choice
617 prompt "Kernel Tick Source"
618 depends on GENERIC_CLOCKEVENTS
619 default TICKSOURCE_CORETMR
620
621config TICKSOURCE_GPTMR0
622 bool "Gptimer0 (SCLK domain)"
623 select BFIN_GPTIMERS
624 depends on !IPIPE
625
626config TICKSOURCE_CORETMR
627 bool "Core timer (CCLK domain)"
628
629endchoice
630
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800631config CYCLES_CLOCKSOURCE
Graf Yang1fa9be72009-05-15 11:01:59 +0000632 bool "Use 'CYCLES' as a clocksource"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800633 depends on GENERIC_CLOCKEVENTS
634 depends on !BFIN_SCRATCH_REG_CYCLES
Graf Yang1fa9be72009-05-15 11:01:59 +0000635 depends on !SMP
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800636 help
637 If you say Y here, you will enable support for using the 'cycles'
638 registers as a clock source. Doing so means you will be unable to
639 safely write to the 'cycles' register during runtime. You will
640 still be able to read it (such as for performance monitoring), but
641 writing the registers will most likely crash the kernel.
642
Graf Yang1fa9be72009-05-15 11:01:59 +0000643config GPTMR0_CLOCKSOURCE
644 bool "Use GPTimer0 as a clocksource (higher rating)"
645 depends on GENERIC_CLOCKEVENTS
646 depends on !TICKSOURCE_GPTMR0
647
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800648source kernel/time/Kconfig
649
Mike Frysinger5f004c22008-04-25 02:11:24 +0800650comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800651
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800652choice
653 prompt "Blackfin Exception Scratch Register"
654 default BFIN_SCRATCH_REG_RETN
655 help
656 Select the resource to reserve for the Exception handler:
657 - RETN: Non-Maskable Interrupt (NMI)
658 - RETE: Exception Return (JTAG/ICE)
659 - CYCLES: Performance counter
660
661 If you are unsure, please select "RETN".
662
663config BFIN_SCRATCH_REG_RETN
664 bool "RETN"
665 help
666 Use the RETN register in the Blackfin exception handler
667 as a stack scratch register. This means you cannot
668 safely use NMI on the Blackfin while running Linux, but
669 you can debug the system with a JTAG ICE and use the
670 CYCLES performance registers.
671
672 If you are unsure, please select "RETN".
673
674config BFIN_SCRATCH_REG_RETE
675 bool "RETE"
676 help
677 Use the RETE register in the Blackfin exception handler
678 as a stack scratch register. This means you cannot
679 safely use a JTAG ICE while debugging a Blackfin board,
680 but you can safely use the CYCLES performance registers
681 and the NMI.
682
683 If you are unsure, please select "RETN".
684
685config BFIN_SCRATCH_REG_CYCLES
686 bool "CYCLES"
687 help
688 Use the CYCLES register in the Blackfin exception handler
689 as a stack scratch register. This means you cannot
690 safely use the CYCLES performance registers on a Blackfin
691 board at anytime, but you can debug the system with a JTAG
692 ICE and use the NMI.
693
694 If you are unsure, please select "RETN".
695
696endchoice
697
Bryan Wu1394f032007-05-06 14:50:22 -0700698endmenu
699
700
701menu "Blackfin Kernel Optimizations"
Graf Yang46fa5ee2009-01-07 23:14:39 +0800702 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700703
Bryan Wu1394f032007-05-06 14:50:22 -0700704comment "Memory Optimizations"
705
706config I_ENTRY_L1
707 bool "Locate interrupt entry code in L1 Memory"
708 default y
709 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200710 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
711 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700712
713config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200714 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700715 default y
716 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200717 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800718 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200719 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700720
721config DO_IRQ_L1
722 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
723 default y
724 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200725 If enabled, the frequently called do_irq dispatcher function is linked
726 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700727
728config CORE_TIMER_IRQ_L1
729 bool "Locate frequently called timer_interrupt() function in L1 Memory"
730 default y
731 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200732 If enabled, the frequently called timer_interrupt() function is linked
733 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700734
735config IDLE_L1
736 bool "Locate frequently idle function in L1 Memory"
737 default y
738 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200739 If enabled, the frequently called idle function is linked
740 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700741
742config SCHEDULE_L1
743 bool "Locate kernel schedule function in L1 Memory"
744 default y
745 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200746 If enabled, the frequently called kernel schedule is linked
747 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700748
749config ARITHMETIC_OPS_L1
750 bool "Locate kernel owned arithmetic functions in L1 Memory"
751 default y
752 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200753 If enabled, arithmetic functions are linked
754 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700755
756config ACCESS_OK_L1
757 bool "Locate access_ok function in L1 Memory"
758 default y
759 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200760 If enabled, the access_ok function is linked
761 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700762
763config MEMSET_L1
764 bool "Locate memset function in L1 Memory"
765 default y
766 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200767 If enabled, the memset function is linked
768 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700769
770config MEMCPY_L1
771 bool "Locate memcpy function in L1 Memory"
772 default y
773 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200774 If enabled, the memcpy function is linked
775 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700776
777config SYS_BFIN_SPINLOCK_L1
778 bool "Locate sys_bfin_spinlock function in L1 Memory"
779 default y
780 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200781 If enabled, sys_bfin_spinlock function is linked
782 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700783
784config IP_CHECKSUM_L1
785 bool "Locate IP Checksum function in L1 Memory"
786 default n
787 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200788 If enabled, the IP Checksum function is linked
789 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700790
791config CACHELINE_ALIGNED_L1
792 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800793 default y if !BF54x
794 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700795 depends on !BF531
796 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100797 If enabled, cacheline_aligned data is linked
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200798 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700799
800config SYSCALL_TAB_L1
801 bool "Locate Syscall Table L1 Data Memory"
802 default n
803 depends on !BF531
804 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200805 If enabled, the Syscall LUT is linked
806 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700807
808config CPLB_SWITCH_TAB_L1
809 bool "Locate CPLB Switch Tables L1 Data Memory"
810 default n
811 depends on !BF531
812 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200813 If enabled, the CPLB Switch Tables are linked
814 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700815
Graf Yangca87b7a2008-10-08 17:30:01 +0800816config APP_STACK_L1
817 bool "Support locating application stack in L1 Scratch Memory"
818 default y
819 help
820 If enabled the application stack can be located in L1
821 scratch memory (less latency).
822
823 Currently only works with FLAT binaries.
824
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800825config EXCEPTION_L1_SCRATCH
826 bool "Locate exception stack in L1 Scratch Memory"
827 default n
Graf Yangf82e0a02009-04-08 08:30:22 +0000828 depends on !APP_STACK_L1
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800829 help
830 Whenever an exception occurs, use the L1 Scratch memory for
831 stack storage. You cannot place the stacks of FLAT binaries
832 in L1 when using this option.
833
834 If you don't use L1 Scratch, then you should say Y here.
835
Robin Getz251383c2008-08-14 15:12:55 +0800836comment "Speed Optimizations"
837config BFIN_INS_LOWOVERHEAD
838 bool "ins[bwl] low overhead, higher interrupt latency"
839 default y
840 help
841 Reads on the Blackfin are speculative. In Blackfin terms, this means
842 they can be interrupted at any time (even after they have been issued
843 on to the external bus), and re-issued after the interrupt occurs.
844 For memory - this is not a big deal, since memory does not change if
845 it sees a read.
846
847 If a FIFO is sitting on the end of the read, it will see two reads,
848 when the core only sees one since the FIFO receives both the read
849 which is cancelled (and not delivered to the core) and the one which
850 is re-issued (which is delivered to the core).
851
852 To solve this, interrupts are turned off before reads occur to
853 I/O space. This option controls which the overhead/latency of
854 controlling interrupts during this time
855 "n" turns interrupts off every read
856 (higher overhead, but lower interrupt latency)
857 "y" turns interrupts off every loop
858 (low overhead, but longer interrupt latency)
859
860 default behavior is to leave this set to on (type "Y"). If you are experiencing
861 interrupt latency issues, it is safe and OK to turn this off.
862
Bryan Wu1394f032007-05-06 14:50:22 -0700863endmenu
864
Bryan Wu1394f032007-05-06 14:50:22 -0700865choice
866 prompt "Kernel executes from"
867 help
868 Choose the memory type that the kernel will be running in.
869
870config RAMKERNEL
871 bool "RAM"
872 help
873 The kernel will be resident in RAM when running.
874
875config ROMKERNEL
876 bool "ROM"
877 help
878 The kernel will be resident in FLASH/ROM when running.
879
880endchoice
881
882source "mm/Kconfig"
883
Mike Frysinger780431e2007-10-21 23:37:54 +0800884config BFIN_GPTIMERS
885 tristate "Enable Blackfin General Purpose Timers API"
886 default n
887 help
888 Enable support for the General Purpose Timers API. If you
889 are unsure, say N.
890
891 To compile this driver as a module, choose M here: the module
892 will be called gptimers.ko.
893
Bryan Wu1394f032007-05-06 14:50:22 -0700894choice
Mike Frysingerd292b002008-10-28 11:15:36 +0800895 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700896 default DMA_UNCACHED_1M
Cliff Cai86ad7932008-05-17 16:36:52 +0800897config DMA_UNCACHED_4M
898 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700899config DMA_UNCACHED_2M
900 bool "Enable 2M DMA region"
901config DMA_UNCACHED_1M
902 bool "Enable 1M DMA region"
903config DMA_UNCACHED_NONE
904 bool "Disable DMA region"
905endchoice
906
907
908comment "Cache Support"
Robin Getz3bebca22007-10-10 23:55:26 +0800909config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700910 bool "Enable ICACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800911config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700912 bool "Enable DCACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800913config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700914 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800915 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700916 default n
Robin Getz3bebca22007-10-10 23:55:26 +0800917config BFIN_ICACHE_LOCK
918 bool "Enable Instruction Cache Locking"
Bryan Wu1394f032007-05-06 14:50:22 -0700919
920choice
Graf Yang5ba76672009-05-07 04:09:15 +0000921 prompt "External memory cache policy"
Robin Getz3bebca22007-10-10 23:55:26 +0800922 depends on BFIN_DCACHE
Graf Yang46fa5ee2009-01-07 23:14:39 +0800923 default BFIN_WB if !SMP
924 default BFIN_WT if SMP
Robin Getz3bebca22007-10-10 23:55:26 +0800925config BFIN_WB
Bryan Wu1394f032007-05-06 14:50:22 -0700926 bool "Write back"
Graf Yang46fa5ee2009-01-07 23:14:39 +0800927 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700928 help
929 Write Back Policy:
930 Cached data will be written back to SDRAM only when needed.
931 This can give a nice increase in performance, but beware of
932 broken drivers that do not properly invalidate/flush their
933 cache.
934
935 Write Through Policy:
936 Cached data will always be written back to SDRAM when the
937 cache is updated. This is a completely safe setting, but
938 performance is worse than Write Back.
939
940 If you are unsure of the options and you want to be safe,
941 then go with Write Through.
942
Robin Getz3bebca22007-10-10 23:55:26 +0800943config BFIN_WT
Bryan Wu1394f032007-05-06 14:50:22 -0700944 bool "Write through"
945 help
946 Write Back Policy:
947 Cached data will be written back to SDRAM only when needed.
948 This can give a nice increase in performance, but beware of
949 broken drivers that do not properly invalidate/flush their
950 cache.
951
952 Write Through Policy:
953 Cached data will always be written back to SDRAM when the
954 cache is updated. This is a completely safe setting, but
955 performance is worse than Write Back.
956
957 If you are unsure of the options and you want to be safe,
958 then go with Write Through.
959
960endchoice
961
Graf Yang5ba76672009-05-07 04:09:15 +0000962choice
963 prompt "L2 SRAM cache policy"
964 depends on (BF54x || BF561)
965 default BFIN_L2_WT
966config BFIN_L2_WB
967 bool "Write back"
968 depends on !SMP
969
970config BFIN_L2_WT
971 bool "Write through"
972 depends on !SMP
973
974config BFIN_L2_NOT_CACHED
975 bool "Not cached"
976
977endchoice
Sonic Zhangf099f392008-10-09 14:11:57 +0800978
Bernd Schmidtb97b8a92008-01-27 18:39:16 +0800979config MPU
980 bool "Enable the memory protection unit (EXPERIMENTAL)"
981 default n
982 help
983 Use the processor's MPU to protect applications from accessing
984 memory they do not own. This comes at a performance penalty
985 and is recommended only for debugging.
986
Matt LaPlante692105b2009-01-26 11:12:25 +0100987comment "Asynchronous Memory Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -0700988
Mike Frysingerddf416b2007-10-10 18:06:47 +0800989menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -0700990config C_AMCKEN
991 bool "Enable CLKOUT"
992 default y
993
994config C_CDPRIO
995 bool "DMA has priority over core for ext. accesses"
996 default n
997
998config C_B0PEN
999 depends on BF561
1000 bool "Bank 0 16 bit packing enable"
1001 default y
1002
1003config C_B1PEN
1004 depends on BF561
1005 bool "Bank 1 16 bit packing enable"
1006 default y
1007
1008config C_B2PEN
1009 depends on BF561
1010 bool "Bank 2 16 bit packing enable"
1011 default y
1012
1013config C_B3PEN
1014 depends on BF561
1015 bool "Bank 3 16 bit packing enable"
1016 default n
1017
1018choice
Matt LaPlante692105b2009-01-26 11:12:25 +01001019 prompt "Enable Asynchronous Memory Banks"
Bryan Wu1394f032007-05-06 14:50:22 -07001020 default C_AMBEN_ALL
1021
1022config C_AMBEN
1023 bool "Disable All Banks"
1024
1025config C_AMBEN_B0
1026 bool "Enable Bank 0"
1027
1028config C_AMBEN_B0_B1
1029 bool "Enable Bank 0 & 1"
1030
1031config C_AMBEN_B0_B1_B2
1032 bool "Enable Bank 0 & 1 & 2"
1033
1034config C_AMBEN_ALL
1035 bool "Enable All Banks"
1036endchoice
1037endmenu
1038
1039menu "EBIU_AMBCTL Control"
1040config BANK_0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001041 hex "Bank 0 (AMBCTL0.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001042 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001043 help
1044 These are the low 16 bits of the EBIU_AMBCTL0 MMR which are
1045 used to control the Asynchronous Memory Bank 0 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001046
1047config BANK_1
Mike Frysingerc8342f82009-03-31 00:18:35 +00001048 hex "Bank 1 (AMBCTL0.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001049 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +08001050 default 0x5558 if BF54x
Mike Frysingerc8342f82009-03-31 00:18:35 +00001051 help
1052 These are the high 16 bits of the EBIU_AMBCTL0 MMR which are
1053 used to control the Asynchronous Memory Bank 1 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001054
1055config BANK_2
Mike Frysingerc8342f82009-03-31 00:18:35 +00001056 hex "Bank 2 (AMBCTL1.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001057 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001058 help
1059 These are the low 16 bits of the EBIU_AMBCTL1 MMR which are
1060 used to control the Asynchronous Memory Bank 2 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001061
1062config BANK_3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001063 hex "Bank 3 (AMBCTL1.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001064 default 0x99B3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001065 help
1066 These are the high 16 bits of the EBIU_AMBCTL1 MMR which are
1067 used to control the Asynchronous Memory Bank 3 settings.
1068
Bryan Wu1394f032007-05-06 14:50:22 -07001069endmenu
1070
Sonic Zhange40540b2007-11-21 23:49:52 +08001071config EBIU_MBSCTLVAL
1072 hex "EBIU Bank Select Control Register"
1073 depends on BF54x
1074 default 0
1075
1076config EBIU_MODEVAL
1077 hex "Flash Memory Mode Control Register"
1078 depends on BF54x
1079 default 1
1080
1081config EBIU_FCTLVAL
1082 hex "Flash Memory Bank Control Register"
1083 depends on BF54x
1084 default 6
Bryan Wu1394f032007-05-06 14:50:22 -07001085endmenu
1086
1087#############################################################################
1088menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1089
1090config PCI
1091 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +08001092 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -07001093 help
1094 Support for PCI bus.
1095
1096source "drivers/pci/Kconfig"
1097
1098config HOTPLUG
1099 bool "Support for hot-pluggable device"
1100 help
1101 Say Y here if you want to plug devices into your computer while
1102 the system is running, and be able to use them quickly. In many
1103 cases, the devices can likewise be unplugged at any time too.
1104
1105 One well known example of this is PCMCIA- or PC-cards, credit-card
1106 size devices such as network cards, modems or hard drives which are
1107 plugged into slots found on all modern laptop computers. Another
1108 example, used on modern desktops as well as laptops, is USB.
1109
Johannes Berga81792f2008-07-08 19:00:25 +02001110 Enable HOTPLUG and build a modular kernel. Get agent software
1111 (from <http://linux-hotplug.sourceforge.net/>) and install it.
Bryan Wu1394f032007-05-06 14:50:22 -07001112 Then your kernel will automatically call out to a user mode "policy
1113 agent" (/sbin/hotplug) to load modules and set up software needed
1114 to use devices as you hotplug them.
1115
1116source "drivers/pcmcia/Kconfig"
1117
1118source "drivers/pci/hotplug/Kconfig"
1119
1120endmenu
1121
1122menu "Executable file formats"
1123
1124source "fs/Kconfig.binfmt"
1125
1126endmenu
1127
1128menu "Power management options"
1129source "kernel/power/Kconfig"
1130
Johannes Bergf4cb5702007-12-08 02:14:00 +01001131config ARCH_SUSPEND_POSSIBLE
1132 def_bool y
1133 depends on !SMP
1134
Bryan Wu1394f032007-05-06 14:50:22 -07001135choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001136 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -07001137 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001138 default PM_BFIN_SLEEP_DEEPER
1139config PM_BFIN_SLEEP_DEEPER
1140 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001141 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001142 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1143 power dissipation by disabling the clock to the processor core (CCLK).
1144 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1145 to 0.85 V to provide the greatest power savings, while preserving the
1146 processor state.
1147 The PLL and system clock (SCLK) continue to operate at a very low
1148 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1149 the SDRAM is put into Self Refresh Mode. Typically an external event
1150 such as GPIO interrupt or RTC activity wakes up the processor.
1151 Various Peripherals such as UART, SPORT, PPI may not function as
1152 normal during Sleep Deeper, due to the reduced SCLK frequency.
1153 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001154
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001155 If unsure, select "Sleep Deeper".
1156
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001157config PM_BFIN_SLEEP
1158 bool "Sleep"
1159 help
1160 Sleep Mode (High Power Savings) - The sleep mode reduces power
1161 dissipation by disabling the clock to the processor core (CCLK).
1162 The PLL and system clock (SCLK), however, continue to operate in
1163 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001164 up the processor. When in the sleep mode, system DMA access to L1
1165 memory is not supported.
1166
1167 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001168endchoice
1169
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001170config PM_WAKEUP_BY_GPIO
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001171 bool "Allow Wakeup from Standby by GPIO"
Michael Hennerichff19fed2009-03-04 17:35:51 +08001172 depends on PM && !BF54x
Bryan Wu1394f032007-05-06 14:50:22 -07001173
1174config PM_WAKEUP_GPIO_NUMBER
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001175 int "GPIO number"
Bryan Wu1394f032007-05-06 14:50:22 -07001176 range 0 47
1177 depends on PM_WAKEUP_BY_GPIO
Mike Frysingerd1a33362008-11-18 17:48:22 +08001178 default 2
Bryan Wu1394f032007-05-06 14:50:22 -07001179
1180choice
1181 prompt "GPIO Polarity"
1182 depends on PM_WAKEUP_BY_GPIO
1183 default PM_WAKEUP_GPIO_POLAR_H
1184config PM_WAKEUP_GPIO_POLAR_H
1185 bool "Active High"
1186config PM_WAKEUP_GPIO_POLAR_L
1187 bool "Active Low"
1188config PM_WAKEUP_GPIO_POLAR_EDGE_F
1189 bool "Falling EDGE"
1190config PM_WAKEUP_GPIO_POLAR_EDGE_R
1191 bool "Rising EDGE"
1192config PM_WAKEUP_GPIO_POLAR_EDGE_B
1193 bool "Both EDGE"
1194endchoice
1195
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001196comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1197 depends on PM
1198
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001199config PM_BFIN_WAKE_PH6
1200 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001201 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001202 default n
1203 help
1204 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1205
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001206config PM_BFIN_WAKE_GP
1207 bool "Allow Wake-Up from GPIOs"
1208 depends on PM && BF54x
1209 default n
1210 help
1211 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Michael Hennerich19986282009-03-05 16:45:55 +08001212 (all processors, except ADSP-BF549). This option sets
1213 the general-purpose wake-up enable (GPWE) control bit to enable
1214 wake-up upon detection of an active low signal on the /GPW (PH7) pin.
1215 On ADSP-BF549 this option enables the the same functionality on the
1216 /MRXON pin also PH7.
1217
Bryan Wu1394f032007-05-06 14:50:22 -07001218endmenu
1219
Bryan Wu1394f032007-05-06 14:50:22 -07001220menu "CPU Frequency scaling"
1221
1222source "drivers/cpufreq/Kconfig"
1223
Michael Hennerich5ad2ca52008-11-18 17:48:22 +08001224config BFIN_CPU_FREQ
1225 bool
1226 depends on CPU_FREQ
1227 select CPU_FREQ_TABLE
1228 default y
1229
Michael Hennerich14b03202008-05-07 11:41:26 +08001230config CPU_VOLTAGE
1231 bool "CPU Voltage scaling"
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001232 depends on EXPERIMENTAL
Michael Hennerich14b03202008-05-07 11:41:26 +08001233 depends on CPU_FREQ
1234 default n
1235 help
1236 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1237 This option violates the PLL BYPASS recommendation in the Blackfin Processor
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001238 manuals. There is a theoretical risk that during VDDINT transitions
Michael Hennerich14b03202008-05-07 11:41:26 +08001239 the PLL may unlock.
1240
Bryan Wu1394f032007-05-06 14:50:22 -07001241endmenu
1242
Bryan Wu1394f032007-05-06 14:50:22 -07001243source "net/Kconfig"
1244
1245source "drivers/Kconfig"
1246
1247source "fs/Kconfig"
1248
Mike Frysinger74ce8322007-11-21 23:50:49 +08001249source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001250
1251source "security/Kconfig"
1252
1253source "crypto/Kconfig"
1254
1255source "lib/Kconfig"