blob: d68cb0dc583a13f420d283420a84bd845b461ed3 [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 Frysinger8f860012009-06-08 12:49:48 -040058config TRACE_IRQFLAGS_SUPPORT
59 def_bool y
60
Bryan Wu1394f032007-05-06 14:50:22 -070061source "init/Kconfig"
Matt Helsleydc52ddc2008-10-18 20:27:21 -070062
Bryan Wu1394f032007-05-06 14:50:22 -070063source "kernel/Kconfig.preempt"
64
Matt Helsleydc52ddc2008-10-18 20:27:21 -070065source "kernel/Kconfig.freezer"
66
Bryan Wu1394f032007-05-06 14:50:22 -070067menu "Blackfin Processor Options"
68
69comment "Processor and Board Settings"
70
71choice
72 prompt "CPU"
73 default BF533
74
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080075config BF512
76 bool "BF512"
77 help
78 BF512 Processor Support.
79
80config BF514
81 bool "BF514"
82 help
83 BF514 Processor Support.
84
85config BF516
86 bool "BF516"
87 help
88 BF516 Processor Support.
89
90config BF518
91 bool "BF518"
92 help
93 BF518 Processor Support.
94
Michael Hennerich59003142007-10-21 16:54:27 +080095config BF522
96 bool "BF522"
97 help
98 BF522 Processor Support.
99
Mike Frysinger1545a112007-12-24 16:54:48 +0800100config BF523
101 bool "BF523"
102 help
103 BF523 Processor Support.
104
105config BF524
106 bool "BF524"
107 help
108 BF524 Processor Support.
109
Michael Hennerich59003142007-10-21 16:54:27 +0800110config BF525
111 bool "BF525"
112 help
113 BF525 Processor Support.
114
Mike Frysinger1545a112007-12-24 16:54:48 +0800115config BF526
116 bool "BF526"
117 help
118 BF526 Processor Support.
119
Michael Hennerich59003142007-10-21 16:54:27 +0800120config BF527
121 bool "BF527"
122 help
123 BF527 Processor Support.
124
Bryan Wu1394f032007-05-06 14:50:22 -0700125config BF531
126 bool "BF531"
127 help
128 BF531 Processor Support.
129
130config BF532
131 bool "BF532"
132 help
133 BF532 Processor Support.
134
135config BF533
136 bool "BF533"
137 help
138 BF533 Processor Support.
139
140config BF534
141 bool "BF534"
142 help
143 BF534 Processor Support.
144
145config BF536
146 bool "BF536"
147 help
148 BF536 Processor Support.
149
150config BF537
151 bool "BF537"
152 help
153 BF537 Processor Support.
154
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800155config BF538
156 bool "BF538"
157 help
158 BF538 Processor Support.
159
160config BF539
161 bool "BF539"
162 help
163 BF539 Processor Support.
164
Roy Huang24a07a12007-07-12 22:41:45 +0800165config BF542
166 bool "BF542"
167 help
168 BF542 Processor Support.
169
Mike Frysinger2f89c062009-02-04 16:49:45 +0800170config BF542M
171 bool "BF542m"
172 help
173 BF542 Processor Support.
174
Roy Huang24a07a12007-07-12 22:41:45 +0800175config BF544
176 bool "BF544"
177 help
178 BF544 Processor Support.
179
Mike Frysinger2f89c062009-02-04 16:49:45 +0800180config BF544M
181 bool "BF544m"
182 help
183 BF544 Processor Support.
184
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800185config BF547
186 bool "BF547"
187 help
188 BF547 Processor Support.
189
Mike Frysinger2f89c062009-02-04 16:49:45 +0800190config BF547M
191 bool "BF547m"
192 help
193 BF547 Processor Support.
194
Roy Huang24a07a12007-07-12 22:41:45 +0800195config BF548
196 bool "BF548"
197 help
198 BF548 Processor Support.
199
Mike Frysinger2f89c062009-02-04 16:49:45 +0800200config BF548M
201 bool "BF548m"
202 help
203 BF548 Processor Support.
204
Roy Huang24a07a12007-07-12 22:41:45 +0800205config BF549
206 bool "BF549"
207 help
208 BF549 Processor Support.
209
Mike Frysinger2f89c062009-02-04 16:49:45 +0800210config BF549M
211 bool "BF549m"
212 help
213 BF549 Processor Support.
214
Bryan Wu1394f032007-05-06 14:50:22 -0700215config BF561
216 bool "BF561"
217 help
Mike Frysingercd88b4d2008-10-09 12:03:22 +0800218 BF561 Processor Support.
Bryan Wu1394f032007-05-06 14:50:22 -0700219
220endchoice
221
Graf Yang46fa5ee2009-01-07 23:14:39 +0800222config SMP
223 depends on BF561
Graf Yang9b9bfde2009-05-27 09:58:35 +0000224 select GENERIC_TIME
Graf Yang46fa5ee2009-01-07 23:14:39 +0800225 bool "Symmetric multi-processing support"
226 ---help---
227 This enables support for systems with more than one CPU,
228 like the dual core BF561. If you have a system with only one
229 CPU, say N. If you have a system with more than one CPU, say Y.
230
231 If you don't know what to do here, say N.
232
233config NR_CPUS
234 int
235 depends on SMP
236 default 2 if BF561
237
238config IRQ_PER_CPU
239 bool
240 depends on SMP
241 default y
242
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800243config BF_REV_MIN
244 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800245 default 0 if (BF51x || BF52x || (BF54x && !BF54xM))
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800246 default 2 if (BF537 || BF536 || BF534)
Mike Frysinger2f89c062009-02-04 16:49:45 +0800247 default 3 if (BF561 || BF533 || BF532 || BF531 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800248 default 4 if (BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800249
250config BF_REV_MAX
251 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800252 default 2 if (BF51x || BF52x || (BF54x && !BF54xM))
253 default 3 if (BF537 || BF536 || BF534 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800254 default 5 if (BF561 || BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800255 default 6 if (BF533 || BF532 || BF531)
256
Bryan Wu1394f032007-05-06 14:50:22 -0700257choice
258 prompt "Silicon Rev"
Mike Frysingerf8b55652009-04-13 21:58:34 +0000259 default BF_REV_0_0 if (BF51x || BF52x)
260 default BF_REV_0_2 if (BF534 || BF536 || BF537 || (BF54x && !BF54xM))
Mike Frysinger2f89c062009-02-04 16:49:45 +0800261 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF54xM || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800262
263config BF_REV_0_0
264 bool "0.0"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800265 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Michael Hennerich59003142007-10-21 16:54:27 +0800266
267config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800268 bool "0.1"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800269 depends on (BF52x || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700270
271config BF_REV_0_2
272 bool "0.2"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800273 depends on (BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700274
275config BF_REV_0_3
276 bool "0.3"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800277 depends on (BF54xM || BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
Bryan Wu1394f032007-05-06 14:50:22 -0700278
279config BF_REV_0_4
280 bool "0.4"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800281 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700282
283config BF_REV_0_5
284 bool "0.5"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800285 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700286
Mike Frysinger49f72532008-10-09 12:06:27 +0800287config BF_REV_0_6
288 bool "0.6"
289 depends on (BF533 || BF532 || BF531)
290
Jie Zhangde3025f2007-06-25 18:04:12 +0800291config BF_REV_ANY
292 bool "any"
293
294config BF_REV_NONE
295 bool "none"
296
Bryan Wu1394f032007-05-06 14:50:22 -0700297endchoice
298
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800299config BF51x
300 bool
301 depends on (BF512 || BF514 || BF516 || BF518)
302 default y
303
Michael Hennerich59003142007-10-21 16:54:27 +0800304config BF52x
305 bool
Mike Frysinger1545a112007-12-24 16:54:48 +0800306 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
Michael Hennerich59003142007-10-21 16:54:27 +0800307 default y
308
Roy Huang24a07a12007-07-12 22:41:45 +0800309config BF53x
310 bool
311 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
312 default y
313
Mike Frysinger2f89c062009-02-04 16:49:45 +0800314config BF54xM
315 bool
316 depends on (BF542M || BF544M || BF547M || BF548M || BF549M)
317 default y
318
Roy Huang24a07a12007-07-12 22:41:45 +0800319config BF54x
320 bool
Mike Frysinger2f89c062009-02-04 16:49:45 +0800321 depends on (BF542 || BF544 || BF547 || BF548 || BF549 || BF54xM)
Roy Huang24a07a12007-07-12 22:41:45 +0800322 default y
323
Bryan Wu1394f032007-05-06 14:50:22 -0700324config MEM_GENERIC_BOARD
325 bool
326 depends on GENERIC_BOARD
327 default y
328
329config MEM_MT48LC64M4A2FB_7E
330 bool
331 depends on (BFIN533_STAMP)
332 default y
333
334config MEM_MT48LC16M16A2TG_75
335 bool
336 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Javier Herreroab472a02007-10-29 16:14:44 +0800337 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
Michael Hennerich9db144f2008-07-19 17:16:07 +0800338 || H8606_HVSISTEMAS || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700339 default y
340
341config MEM_MT48LC32M8A2_75
342 bool
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800343 depends on (BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700344 default y
345
346config MEM_MT48LC8M32B2B5_7
347 bool
348 depends on (BFIN561_BLUETECHNIX_CM)
349 default y
350
Michael Hennerich59003142007-10-21 16:54:27 +0800351config MEM_MT48LC32M16A2TG_75
352 bool
Michael Hennerich8cc71172008-10-13 14:45:06 +0800353 depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP || BFIN526_EZBRD)
Michael Hennerich59003142007-10-21 16:54:27 +0800354 default y
355
Sonic Zhang49345402009-01-07 23:14:38 +0800356config MEM_MT48LC32M8A2_75
357 bool
358 depends on (BFIN518F_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"
Bryan Wu1394f032007-05-06 14:50:22 -0700409 default "11059200" if BFIN533_STAMP
410 default "27000000" if BFIN533_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800411 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN538_EZKIT || BFIN518F-EZBRD)
Bryan Wu1394f032007-05-06 14:50:22 -0700412 default "30000000" if BFIN561_EZKIT
413 default "24576000" if PNAV10
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800414 default "10000000" if BFIN532_IP0X
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
Michael Hennerich9db144f2008-07-19 17:16:07 +0800449 default "20" if (BFIN537_BLUETECHNIX_CM || 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
Robin Getzf16295e2007-08-03 18:07:17 +0800564 default 600000000 if BF522
Mike Frysinger1545a112007-12-24 16:54:48 +0800565 default 400000000 if BF523
566 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
602 bool "Generic time"
603 default y
604
605config GENERIC_CLOCKEVENTS
606 bool "Generic clock events"
607 depends on GENERIC_TIME
608 default y
609
Graf Yang1fa9be72009-05-15 11:01:59 +0000610choice
611 prompt "Kernel Tick Source"
612 depends on GENERIC_CLOCKEVENTS
613 default TICKSOURCE_CORETMR
614
615config TICKSOURCE_GPTMR0
616 bool "Gptimer0 (SCLK domain)"
617 select BFIN_GPTIMERS
618 depends on !IPIPE
619
620config TICKSOURCE_CORETMR
621 bool "Core timer (CCLK domain)"
622
623endchoice
624
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800625config CYCLES_CLOCKSOURCE
Graf Yang1fa9be72009-05-15 11:01:59 +0000626 bool "Use 'CYCLES' as a clocksource"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800627 depends on GENERIC_CLOCKEVENTS
628 depends on !BFIN_SCRATCH_REG_CYCLES
Graf Yang1fa9be72009-05-15 11:01:59 +0000629 depends on !SMP
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800630 help
631 If you say Y here, you will enable support for using the 'cycles'
632 registers as a clock source. Doing so means you will be unable to
633 safely write to the 'cycles' register during runtime. You will
634 still be able to read it (such as for performance monitoring), but
635 writing the registers will most likely crash the kernel.
636
Graf Yang1fa9be72009-05-15 11:01:59 +0000637config GPTMR0_CLOCKSOURCE
638 bool "Use GPTimer0 as a clocksource (higher rating)"
639 depends on GENERIC_CLOCKEVENTS
640 depends on !TICKSOURCE_GPTMR0
641
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800642source kernel/time/Kconfig
643
Mike Frysinger5f004c22008-04-25 02:11:24 +0800644comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800645
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800646choice
647 prompt "Blackfin Exception Scratch Register"
648 default BFIN_SCRATCH_REG_RETN
649 help
650 Select the resource to reserve for the Exception handler:
651 - RETN: Non-Maskable Interrupt (NMI)
652 - RETE: Exception Return (JTAG/ICE)
653 - CYCLES: Performance counter
654
655 If you are unsure, please select "RETN".
656
657config BFIN_SCRATCH_REG_RETN
658 bool "RETN"
659 help
660 Use the RETN register in the Blackfin exception handler
661 as a stack scratch register. This means you cannot
662 safely use NMI on the Blackfin while running Linux, but
663 you can debug the system with a JTAG ICE and use the
664 CYCLES performance registers.
665
666 If you are unsure, please select "RETN".
667
668config BFIN_SCRATCH_REG_RETE
669 bool "RETE"
670 help
671 Use the RETE register in the Blackfin exception handler
672 as a stack scratch register. This means you cannot
673 safely use a JTAG ICE while debugging a Blackfin board,
674 but you can safely use the CYCLES performance registers
675 and the NMI.
676
677 If you are unsure, please select "RETN".
678
679config BFIN_SCRATCH_REG_CYCLES
680 bool "CYCLES"
681 help
682 Use the CYCLES register in the Blackfin exception handler
683 as a stack scratch register. This means you cannot
684 safely use the CYCLES performance registers on a Blackfin
685 board at anytime, but you can debug the system with a JTAG
686 ICE and use the NMI.
687
688 If you are unsure, please select "RETN".
689
690endchoice
691
Bryan Wu1394f032007-05-06 14:50:22 -0700692endmenu
693
694
695menu "Blackfin Kernel Optimizations"
Graf Yang46fa5ee2009-01-07 23:14:39 +0800696 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700697
Bryan Wu1394f032007-05-06 14:50:22 -0700698comment "Memory Optimizations"
699
700config I_ENTRY_L1
701 bool "Locate interrupt entry code in L1 Memory"
702 default y
703 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200704 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
705 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700706
707config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200708 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700709 default y
710 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200711 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800712 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200713 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700714
715config DO_IRQ_L1
716 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
717 default y
718 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200719 If enabled, the frequently called do_irq dispatcher function is linked
720 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700721
722config CORE_TIMER_IRQ_L1
723 bool "Locate frequently called timer_interrupt() function in L1 Memory"
724 default y
725 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200726 If enabled, the frequently called timer_interrupt() function is linked
727 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700728
729config IDLE_L1
730 bool "Locate frequently idle function in L1 Memory"
731 default y
732 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200733 If enabled, the frequently called idle function is linked
734 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700735
736config SCHEDULE_L1
737 bool "Locate kernel schedule function in L1 Memory"
738 default y
739 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200740 If enabled, the frequently called kernel schedule is linked
741 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700742
743config ARITHMETIC_OPS_L1
744 bool "Locate kernel owned arithmetic functions in L1 Memory"
745 default y
746 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200747 If enabled, arithmetic functions are linked
748 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700749
750config ACCESS_OK_L1
751 bool "Locate access_ok function in L1 Memory"
752 default y
753 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200754 If enabled, the access_ok function is linked
755 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700756
757config MEMSET_L1
758 bool "Locate memset function in L1 Memory"
759 default y
760 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200761 If enabled, the memset function is linked
762 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700763
764config MEMCPY_L1
765 bool "Locate memcpy function in L1 Memory"
766 default y
767 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200768 If enabled, the memcpy function is linked
769 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700770
771config SYS_BFIN_SPINLOCK_L1
772 bool "Locate sys_bfin_spinlock function in L1 Memory"
773 default y
774 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200775 If enabled, sys_bfin_spinlock function is linked
776 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700777
778config IP_CHECKSUM_L1
779 bool "Locate IP Checksum function in L1 Memory"
780 default n
781 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200782 If enabled, the IP Checksum function is linked
783 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700784
785config CACHELINE_ALIGNED_L1
786 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800787 default y if !BF54x
788 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700789 depends on !BF531
790 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100791 If enabled, cacheline_aligned data is linked
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200792 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700793
794config SYSCALL_TAB_L1
795 bool "Locate Syscall Table L1 Data Memory"
796 default n
797 depends on !BF531
798 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200799 If enabled, the Syscall LUT is linked
800 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700801
802config CPLB_SWITCH_TAB_L1
803 bool "Locate CPLB Switch Tables L1 Data Memory"
804 default n
805 depends on !BF531
806 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200807 If enabled, the CPLB Switch Tables are linked
808 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700809
Graf Yangca87b7a2008-10-08 17:30:01 +0800810config APP_STACK_L1
811 bool "Support locating application stack in L1 Scratch Memory"
812 default y
813 help
814 If enabled the application stack can be located in L1
815 scratch memory (less latency).
816
817 Currently only works with FLAT binaries.
818
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800819config EXCEPTION_L1_SCRATCH
820 bool "Locate exception stack in L1 Scratch Memory"
821 default n
Graf Yangf82e0a02009-04-08 08:30:22 +0000822 depends on !APP_STACK_L1
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800823 help
824 Whenever an exception occurs, use the L1 Scratch memory for
825 stack storage. You cannot place the stacks of FLAT binaries
826 in L1 when using this option.
827
828 If you don't use L1 Scratch, then you should say Y here.
829
Robin Getz251383c2008-08-14 15:12:55 +0800830comment "Speed Optimizations"
831config BFIN_INS_LOWOVERHEAD
832 bool "ins[bwl] low overhead, higher interrupt latency"
833 default y
834 help
835 Reads on the Blackfin are speculative. In Blackfin terms, this means
836 they can be interrupted at any time (even after they have been issued
837 on to the external bus), and re-issued after the interrupt occurs.
838 For memory - this is not a big deal, since memory does not change if
839 it sees a read.
840
841 If a FIFO is sitting on the end of the read, it will see two reads,
842 when the core only sees one since the FIFO receives both the read
843 which is cancelled (and not delivered to the core) and the one which
844 is re-issued (which is delivered to the core).
845
846 To solve this, interrupts are turned off before reads occur to
847 I/O space. This option controls which the overhead/latency of
848 controlling interrupts during this time
849 "n" turns interrupts off every read
850 (higher overhead, but lower interrupt latency)
851 "y" turns interrupts off every loop
852 (low overhead, but longer interrupt latency)
853
854 default behavior is to leave this set to on (type "Y"). If you are experiencing
855 interrupt latency issues, it is safe and OK to turn this off.
856
Bryan Wu1394f032007-05-06 14:50:22 -0700857endmenu
858
Bryan Wu1394f032007-05-06 14:50:22 -0700859choice
860 prompt "Kernel executes from"
861 help
862 Choose the memory type that the kernel will be running in.
863
864config RAMKERNEL
865 bool "RAM"
866 help
867 The kernel will be resident in RAM when running.
868
869config ROMKERNEL
870 bool "ROM"
871 help
872 The kernel will be resident in FLASH/ROM when running.
873
874endchoice
875
876source "mm/Kconfig"
877
Mike Frysinger780431e2007-10-21 23:37:54 +0800878config BFIN_GPTIMERS
879 tristate "Enable Blackfin General Purpose Timers API"
880 default n
881 help
882 Enable support for the General Purpose Timers API. If you
883 are unsure, say N.
884
885 To compile this driver as a module, choose M here: the module
886 will be called gptimers.ko.
887
Bryan Wu1394f032007-05-06 14:50:22 -0700888choice
Mike Frysingerd292b002008-10-28 11:15:36 +0800889 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700890 default DMA_UNCACHED_1M
Cliff Cai86ad7932008-05-17 16:36:52 +0800891config DMA_UNCACHED_4M
892 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700893config DMA_UNCACHED_2M
894 bool "Enable 2M DMA region"
895config DMA_UNCACHED_1M
896 bool "Enable 1M DMA region"
897config DMA_UNCACHED_NONE
898 bool "Disable DMA region"
899endchoice
900
901
902comment "Cache Support"
Robin Getz3bebca22007-10-10 23:55:26 +0800903config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700904 bool "Enable ICACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800905config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700906 bool "Enable DCACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800907config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700908 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800909 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700910 default n
Robin Getz3bebca22007-10-10 23:55:26 +0800911config BFIN_ICACHE_LOCK
912 bool "Enable Instruction Cache Locking"
Bryan Wu1394f032007-05-06 14:50:22 -0700913
914choice
Graf Yang5ba76672009-05-07 04:09:15 +0000915 prompt "External memory cache policy"
Robin Getz3bebca22007-10-10 23:55:26 +0800916 depends on BFIN_DCACHE
Graf Yang46fa5ee2009-01-07 23:14:39 +0800917 default BFIN_WB if !SMP
918 default BFIN_WT if SMP
Robin Getz3bebca22007-10-10 23:55:26 +0800919config BFIN_WB
Bryan Wu1394f032007-05-06 14:50:22 -0700920 bool "Write back"
Graf Yang46fa5ee2009-01-07 23:14:39 +0800921 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700922 help
923 Write Back Policy:
924 Cached data will be written back to SDRAM only when needed.
925 This can give a nice increase in performance, but beware of
926 broken drivers that do not properly invalidate/flush their
927 cache.
928
929 Write Through Policy:
930 Cached data will always be written back to SDRAM when the
931 cache is updated. This is a completely safe setting, but
932 performance is worse than Write Back.
933
934 If you are unsure of the options and you want to be safe,
935 then go with Write Through.
936
Robin Getz3bebca22007-10-10 23:55:26 +0800937config BFIN_WT
Bryan Wu1394f032007-05-06 14:50:22 -0700938 bool "Write through"
939 help
940 Write Back Policy:
941 Cached data will be written back to SDRAM only when needed.
942 This can give a nice increase in performance, but beware of
943 broken drivers that do not properly invalidate/flush their
944 cache.
945
946 Write Through Policy:
947 Cached data will always be written back to SDRAM when the
948 cache is updated. This is a completely safe setting, but
949 performance is worse than Write Back.
950
951 If you are unsure of the options and you want to be safe,
952 then go with Write Through.
953
954endchoice
955
Graf Yang5ba76672009-05-07 04:09:15 +0000956choice
957 prompt "L2 SRAM cache policy"
958 depends on (BF54x || BF561)
959 default BFIN_L2_WT
960config BFIN_L2_WB
961 bool "Write back"
962 depends on !SMP
963
964config BFIN_L2_WT
965 bool "Write through"
966 depends on !SMP
967
968config BFIN_L2_NOT_CACHED
969 bool "Not cached"
970
971endchoice
Sonic Zhangf099f392008-10-09 14:11:57 +0800972
Bernd Schmidtb97b8a92008-01-27 18:39:16 +0800973config MPU
974 bool "Enable the memory protection unit (EXPERIMENTAL)"
975 default n
976 help
977 Use the processor's MPU to protect applications from accessing
978 memory they do not own. This comes at a performance penalty
979 and is recommended only for debugging.
980
Matt LaPlante692105b2009-01-26 11:12:25 +0100981comment "Asynchronous Memory Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -0700982
Mike Frysingerddf416b2007-10-10 18:06:47 +0800983menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -0700984config C_AMCKEN
985 bool "Enable CLKOUT"
986 default y
987
988config C_CDPRIO
989 bool "DMA has priority over core for ext. accesses"
990 default n
991
992config C_B0PEN
993 depends on BF561
994 bool "Bank 0 16 bit packing enable"
995 default y
996
997config C_B1PEN
998 depends on BF561
999 bool "Bank 1 16 bit packing enable"
1000 default y
1001
1002config C_B2PEN
1003 depends on BF561
1004 bool "Bank 2 16 bit packing enable"
1005 default y
1006
1007config C_B3PEN
1008 depends on BF561
1009 bool "Bank 3 16 bit packing enable"
1010 default n
1011
1012choice
Matt LaPlante692105b2009-01-26 11:12:25 +01001013 prompt "Enable Asynchronous Memory Banks"
Bryan Wu1394f032007-05-06 14:50:22 -07001014 default C_AMBEN_ALL
1015
1016config C_AMBEN
1017 bool "Disable All Banks"
1018
1019config C_AMBEN_B0
1020 bool "Enable Bank 0"
1021
1022config C_AMBEN_B0_B1
1023 bool "Enable Bank 0 & 1"
1024
1025config C_AMBEN_B0_B1_B2
1026 bool "Enable Bank 0 & 1 & 2"
1027
1028config C_AMBEN_ALL
1029 bool "Enable All Banks"
1030endchoice
1031endmenu
1032
1033menu "EBIU_AMBCTL Control"
1034config BANK_0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001035 hex "Bank 0 (AMBCTL0.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001036 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001037 help
1038 These are the low 16 bits of the EBIU_AMBCTL0 MMR which are
1039 used to control the Asynchronous Memory Bank 0 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001040
1041config BANK_1
Mike Frysingerc8342f82009-03-31 00:18:35 +00001042 hex "Bank 1 (AMBCTL0.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001043 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +08001044 default 0x5558 if BF54x
Mike Frysingerc8342f82009-03-31 00:18:35 +00001045 help
1046 These are the high 16 bits of the EBIU_AMBCTL0 MMR which are
1047 used to control the Asynchronous Memory Bank 1 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001048
1049config BANK_2
Mike Frysingerc8342f82009-03-31 00:18:35 +00001050 hex "Bank 2 (AMBCTL1.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001051 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001052 help
1053 These are the low 16 bits of the EBIU_AMBCTL1 MMR which are
1054 used to control the Asynchronous Memory Bank 2 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001055
1056config BANK_3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001057 hex "Bank 3 (AMBCTL1.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001058 default 0x99B3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001059 help
1060 These are the high 16 bits of the EBIU_AMBCTL1 MMR which are
1061 used to control the Asynchronous Memory Bank 3 settings.
1062
Bryan Wu1394f032007-05-06 14:50:22 -07001063endmenu
1064
Sonic Zhange40540b2007-11-21 23:49:52 +08001065config EBIU_MBSCTLVAL
1066 hex "EBIU Bank Select Control Register"
1067 depends on BF54x
1068 default 0
1069
1070config EBIU_MODEVAL
1071 hex "Flash Memory Mode Control Register"
1072 depends on BF54x
1073 default 1
1074
1075config EBIU_FCTLVAL
1076 hex "Flash Memory Bank Control Register"
1077 depends on BF54x
1078 default 6
Bryan Wu1394f032007-05-06 14:50:22 -07001079endmenu
1080
1081#############################################################################
1082menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1083
1084config PCI
1085 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +08001086 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -07001087 help
1088 Support for PCI bus.
1089
1090source "drivers/pci/Kconfig"
1091
1092config HOTPLUG
1093 bool "Support for hot-pluggable device"
1094 help
1095 Say Y here if you want to plug devices into your computer while
1096 the system is running, and be able to use them quickly. In many
1097 cases, the devices can likewise be unplugged at any time too.
1098
1099 One well known example of this is PCMCIA- or PC-cards, credit-card
1100 size devices such as network cards, modems or hard drives which are
1101 plugged into slots found on all modern laptop computers. Another
1102 example, used on modern desktops as well as laptops, is USB.
1103
Johannes Berga81792f2008-07-08 19:00:25 +02001104 Enable HOTPLUG and build a modular kernel. Get agent software
1105 (from <http://linux-hotplug.sourceforge.net/>) and install it.
Bryan Wu1394f032007-05-06 14:50:22 -07001106 Then your kernel will automatically call out to a user mode "policy
1107 agent" (/sbin/hotplug) to load modules and set up software needed
1108 to use devices as you hotplug them.
1109
1110source "drivers/pcmcia/Kconfig"
1111
1112source "drivers/pci/hotplug/Kconfig"
1113
1114endmenu
1115
1116menu "Executable file formats"
1117
1118source "fs/Kconfig.binfmt"
1119
1120endmenu
1121
1122menu "Power management options"
1123source "kernel/power/Kconfig"
1124
Johannes Bergf4cb5702007-12-08 02:14:00 +01001125config ARCH_SUSPEND_POSSIBLE
1126 def_bool y
1127 depends on !SMP
1128
Bryan Wu1394f032007-05-06 14:50:22 -07001129choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001130 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -07001131 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001132 default PM_BFIN_SLEEP_DEEPER
1133config PM_BFIN_SLEEP_DEEPER
1134 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001135 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001136 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1137 power dissipation by disabling the clock to the processor core (CCLK).
1138 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1139 to 0.85 V to provide the greatest power savings, while preserving the
1140 processor state.
1141 The PLL and system clock (SCLK) continue to operate at a very low
1142 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1143 the SDRAM is put into Self Refresh Mode. Typically an external event
1144 such as GPIO interrupt or RTC activity wakes up the processor.
1145 Various Peripherals such as UART, SPORT, PPI may not function as
1146 normal during Sleep Deeper, due to the reduced SCLK frequency.
1147 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001148
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001149 If unsure, select "Sleep Deeper".
1150
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001151config PM_BFIN_SLEEP
1152 bool "Sleep"
1153 help
1154 Sleep Mode (High Power Savings) - The sleep mode reduces power
1155 dissipation by disabling the clock to the processor core (CCLK).
1156 The PLL and system clock (SCLK), however, continue to operate in
1157 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001158 up the processor. When in the sleep mode, system DMA access to L1
1159 memory is not supported.
1160
1161 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001162endchoice
1163
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001164config PM_WAKEUP_BY_GPIO
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001165 bool "Allow Wakeup from Standby by GPIO"
Michael Hennerichff19fed2009-03-04 17:35:51 +08001166 depends on PM && !BF54x
Bryan Wu1394f032007-05-06 14:50:22 -07001167
1168config PM_WAKEUP_GPIO_NUMBER
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001169 int "GPIO number"
Bryan Wu1394f032007-05-06 14:50:22 -07001170 range 0 47
1171 depends on PM_WAKEUP_BY_GPIO
Mike Frysingerd1a33362008-11-18 17:48:22 +08001172 default 2
Bryan Wu1394f032007-05-06 14:50:22 -07001173
1174choice
1175 prompt "GPIO Polarity"
1176 depends on PM_WAKEUP_BY_GPIO
1177 default PM_WAKEUP_GPIO_POLAR_H
1178config PM_WAKEUP_GPIO_POLAR_H
1179 bool "Active High"
1180config PM_WAKEUP_GPIO_POLAR_L
1181 bool "Active Low"
1182config PM_WAKEUP_GPIO_POLAR_EDGE_F
1183 bool "Falling EDGE"
1184config PM_WAKEUP_GPIO_POLAR_EDGE_R
1185 bool "Rising EDGE"
1186config PM_WAKEUP_GPIO_POLAR_EDGE_B
1187 bool "Both EDGE"
1188endchoice
1189
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001190comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1191 depends on PM
1192
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001193config PM_BFIN_WAKE_PH6
1194 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001195 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001196 default n
1197 help
1198 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1199
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001200config PM_BFIN_WAKE_GP
1201 bool "Allow Wake-Up from GPIOs"
1202 depends on PM && BF54x
1203 default n
1204 help
1205 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Michael Hennerich19986282009-03-05 16:45:55 +08001206 (all processors, except ADSP-BF549). This option sets
1207 the general-purpose wake-up enable (GPWE) control bit to enable
1208 wake-up upon detection of an active low signal on the /GPW (PH7) pin.
1209 On ADSP-BF549 this option enables the the same functionality on the
1210 /MRXON pin also PH7.
1211
Bryan Wu1394f032007-05-06 14:50:22 -07001212endmenu
1213
Bryan Wu1394f032007-05-06 14:50:22 -07001214menu "CPU Frequency scaling"
1215
1216source "drivers/cpufreq/Kconfig"
1217
Michael Hennerich5ad2ca52008-11-18 17:48:22 +08001218config BFIN_CPU_FREQ
1219 bool
1220 depends on CPU_FREQ
1221 select CPU_FREQ_TABLE
1222 default y
1223
Michael Hennerich14b03202008-05-07 11:41:26 +08001224config CPU_VOLTAGE
1225 bool "CPU Voltage scaling"
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001226 depends on EXPERIMENTAL
Michael Hennerich14b03202008-05-07 11:41:26 +08001227 depends on CPU_FREQ
1228 default n
1229 help
1230 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1231 This option violates the PLL BYPASS recommendation in the Blackfin Processor
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001232 manuals. There is a theoretical risk that during VDDINT transitions
Michael Hennerich14b03202008-05-07 11:41:26 +08001233 the PLL may unlock.
1234
Bryan Wu1394f032007-05-06 14:50:22 -07001235endmenu
1236
Bryan Wu1394f032007-05-06 14:50:22 -07001237source "net/Kconfig"
1238
1239source "drivers/Kconfig"
1240
1241source "fs/Kconfig"
1242
Mike Frysinger74ce8322007-11-21 23:50:49 +08001243source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001244
1245source "security/Kconfig"
1246
1247source "crypto/Kconfig"
1248
1249source "lib/Kconfig"