blob: 77ec14fcc61003e2b72c18050712d4197db9f59b [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 Frysingerc7b412f2009-06-08 18:44:45 -040058config STACKTRACE_SUPPORT
59 def_bool y
60
Mike Frysinger8f860012009-06-08 12:49:48 -040061config TRACE_IRQFLAGS_SUPPORT
62 def_bool y
63
Bryan Wu1394f032007-05-06 14:50:22 -070064source "init/Kconfig"
Matt Helsleydc52ddc2008-10-18 20:27:21 -070065
Bryan Wu1394f032007-05-06 14:50:22 -070066source "kernel/Kconfig.preempt"
67
Matt Helsleydc52ddc2008-10-18 20:27:21 -070068source "kernel/Kconfig.freezer"
69
Bryan Wu1394f032007-05-06 14:50:22 -070070menu "Blackfin Processor Options"
71
72comment "Processor and Board Settings"
73
74choice
75 prompt "CPU"
76 default BF533
77
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080078config BF512
79 bool "BF512"
80 help
81 BF512 Processor Support.
82
83config BF514
84 bool "BF514"
85 help
86 BF514 Processor Support.
87
88config BF516
89 bool "BF516"
90 help
91 BF516 Processor Support.
92
93config BF518
94 bool "BF518"
95 help
96 BF518 Processor Support.
97
Michael Hennerich59003142007-10-21 16:54:27 +080098config BF522
99 bool "BF522"
100 help
101 BF522 Processor Support.
102
Mike Frysinger1545a112007-12-24 16:54:48 +0800103config BF523
104 bool "BF523"
105 help
106 BF523 Processor Support.
107
108config BF524
109 bool "BF524"
110 help
111 BF524 Processor Support.
112
Michael Hennerich59003142007-10-21 16:54:27 +0800113config BF525
114 bool "BF525"
115 help
116 BF525 Processor Support.
117
Mike Frysinger1545a112007-12-24 16:54:48 +0800118config BF526
119 bool "BF526"
120 help
121 BF526 Processor Support.
122
Michael Hennerich59003142007-10-21 16:54:27 +0800123config BF527
124 bool "BF527"
125 help
126 BF527 Processor Support.
127
Bryan Wu1394f032007-05-06 14:50:22 -0700128config BF531
129 bool "BF531"
130 help
131 BF531 Processor Support.
132
133config BF532
134 bool "BF532"
135 help
136 BF532 Processor Support.
137
138config BF533
139 bool "BF533"
140 help
141 BF533 Processor Support.
142
143config BF534
144 bool "BF534"
145 help
146 BF534 Processor Support.
147
148config BF536
149 bool "BF536"
150 help
151 BF536 Processor Support.
152
153config BF537
154 bool "BF537"
155 help
156 BF537 Processor Support.
157
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800158config BF538
159 bool "BF538"
160 help
161 BF538 Processor Support.
162
163config BF539
164 bool "BF539"
165 help
166 BF539 Processor Support.
167
Roy Huang24a07a12007-07-12 22:41:45 +0800168config BF542
169 bool "BF542"
170 help
171 BF542 Processor Support.
172
Mike Frysinger2f89c062009-02-04 16:49:45 +0800173config BF542M
174 bool "BF542m"
175 help
176 BF542 Processor Support.
177
Roy Huang24a07a12007-07-12 22:41:45 +0800178config BF544
179 bool "BF544"
180 help
181 BF544 Processor Support.
182
Mike Frysinger2f89c062009-02-04 16:49:45 +0800183config BF544M
184 bool "BF544m"
185 help
186 BF544 Processor Support.
187
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800188config BF547
189 bool "BF547"
190 help
191 BF547 Processor Support.
192
Mike Frysinger2f89c062009-02-04 16:49:45 +0800193config BF547M
194 bool "BF547m"
195 help
196 BF547 Processor Support.
197
Roy Huang24a07a12007-07-12 22:41:45 +0800198config BF548
199 bool "BF548"
200 help
201 BF548 Processor Support.
202
Mike Frysinger2f89c062009-02-04 16:49:45 +0800203config BF548M
204 bool "BF548m"
205 help
206 BF548 Processor Support.
207
Roy Huang24a07a12007-07-12 22:41:45 +0800208config BF549
209 bool "BF549"
210 help
211 BF549 Processor Support.
212
Mike Frysinger2f89c062009-02-04 16:49:45 +0800213config BF549M
214 bool "BF549m"
215 help
216 BF549 Processor Support.
217
Bryan Wu1394f032007-05-06 14:50:22 -0700218config BF561
219 bool "BF561"
220 help
Mike Frysingercd88b4d2008-10-09 12:03:22 +0800221 BF561 Processor Support.
Bryan Wu1394f032007-05-06 14:50:22 -0700222
223endchoice
224
Graf Yang46fa5ee2009-01-07 23:14:39 +0800225config SMP
226 depends on BF561
Graf Yang9b9bfde2009-05-27 09:58:35 +0000227 select GENERIC_TIME
Graf Yang46fa5ee2009-01-07 23:14:39 +0800228 bool "Symmetric multi-processing support"
229 ---help---
230 This enables support for systems with more than one CPU,
231 like the dual core BF561. If you have a system with only one
232 CPU, say N. If you have a system with more than one CPU, say Y.
233
234 If you don't know what to do here, say N.
235
236config NR_CPUS
237 int
238 depends on SMP
239 default 2 if BF561
240
241config IRQ_PER_CPU
242 bool
243 depends on SMP
244 default y
245
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800246config BF_REV_MIN
247 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800248 default 0 if (BF51x || BF52x || (BF54x && !BF54xM))
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800249 default 2 if (BF537 || BF536 || BF534)
Mike Frysinger2f89c062009-02-04 16:49:45 +0800250 default 3 if (BF561 || BF533 || BF532 || BF531 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800251 default 4 if (BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800252
253config BF_REV_MAX
254 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800255 default 2 if (BF51x || BF52x || (BF54x && !BF54xM))
256 default 3 if (BF537 || BF536 || BF534 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800257 default 5 if (BF561 || BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800258 default 6 if (BF533 || BF532 || BF531)
259
Bryan Wu1394f032007-05-06 14:50:22 -0700260choice
261 prompt "Silicon Rev"
Mike Frysingerf8b55652009-04-13 21:58:34 +0000262 default BF_REV_0_0 if (BF51x || BF52x)
263 default BF_REV_0_2 if (BF534 || BF536 || BF537 || (BF54x && !BF54xM))
Mike Frysinger2f89c062009-02-04 16:49:45 +0800264 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF54xM || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800265
266config BF_REV_0_0
267 bool "0.0"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800268 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Michael Hennerich59003142007-10-21 16:54:27 +0800269
270config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800271 bool "0.1"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800272 depends on (BF52x || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700273
274config BF_REV_0_2
275 bool "0.2"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800276 depends on (BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700277
278config BF_REV_0_3
279 bool "0.3"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800280 depends on (BF54xM || BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
Bryan Wu1394f032007-05-06 14:50:22 -0700281
282config BF_REV_0_4
283 bool "0.4"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800284 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700285
286config BF_REV_0_5
287 bool "0.5"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800288 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700289
Mike Frysinger49f72532008-10-09 12:06:27 +0800290config BF_REV_0_6
291 bool "0.6"
292 depends on (BF533 || BF532 || BF531)
293
Jie Zhangde3025f2007-06-25 18:04:12 +0800294config BF_REV_ANY
295 bool "any"
296
297config BF_REV_NONE
298 bool "none"
299
Bryan Wu1394f032007-05-06 14:50:22 -0700300endchoice
301
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800302config BF51x
303 bool
304 depends on (BF512 || BF514 || BF516 || BF518)
305 default y
306
Michael Hennerich59003142007-10-21 16:54:27 +0800307config BF52x
308 bool
Mike Frysinger1545a112007-12-24 16:54:48 +0800309 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
Michael Hennerich59003142007-10-21 16:54:27 +0800310 default y
311
Roy Huang24a07a12007-07-12 22:41:45 +0800312config BF53x
313 bool
314 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
315 default y
316
Mike Frysinger2f89c062009-02-04 16:49:45 +0800317config BF54xM
318 bool
319 depends on (BF542M || BF544M || BF547M || BF548M || BF549M)
320 default y
321
Roy Huang24a07a12007-07-12 22:41:45 +0800322config BF54x
323 bool
Mike Frysinger2f89c062009-02-04 16:49:45 +0800324 depends on (BF542 || BF544 || BF547 || BF548 || BF549 || BF54xM)
Roy Huang24a07a12007-07-12 22:41:45 +0800325 default y
326
Bryan Wu1394f032007-05-06 14:50:22 -0700327config MEM_GENERIC_BOARD
328 bool
329 depends on GENERIC_BOARD
330 default y
331
332config MEM_MT48LC64M4A2FB_7E
333 bool
334 depends on (BFIN533_STAMP)
335 default y
336
337config MEM_MT48LC16M16A2TG_75
338 bool
339 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Javier Herreroab472a02007-10-29 16:14:44 +0800340 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
Michael Hennerich9db144f2008-07-19 17:16:07 +0800341 || H8606_HVSISTEMAS || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700342 default y
343
344config MEM_MT48LC32M8A2_75
345 bool
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800346 depends on (BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700347 default y
348
349config MEM_MT48LC8M32B2B5_7
350 bool
351 depends on (BFIN561_BLUETECHNIX_CM)
352 default y
353
Michael Hennerich59003142007-10-21 16:54:27 +0800354config MEM_MT48LC32M16A2TG_75
355 bool
Michael Hennerich8cc71172008-10-13 14:45:06 +0800356 depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP || BFIN526_EZBRD)
Michael Hennerich59003142007-10-21 16:54:27 +0800357 default y
358
Sonic Zhang49345402009-01-07 23:14:38 +0800359config MEM_MT48LC32M8A2_75
360 bool
361 depends on (BFIN518F_EZBRD)
362 default y
363
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800364source "arch/blackfin/mach-bf518/Kconfig"
Michael Hennerich59003142007-10-21 16:54:27 +0800365source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700366source "arch/blackfin/mach-bf533/Kconfig"
367source "arch/blackfin/mach-bf561/Kconfig"
368source "arch/blackfin/mach-bf537/Kconfig"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800369source "arch/blackfin/mach-bf538/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800370source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700371
372menu "Board customizations"
373
374config CMDLINE_BOOL
375 bool "Default bootloader kernel arguments"
376
377config CMDLINE
378 string "Initial kernel command string"
379 depends on CMDLINE_BOOL
380 default "console=ttyBF0,57600"
381 help
382 If you don't have a boot loader capable of passing a command line string
383 to the kernel, you may specify one here. As a minimum, you should specify
384 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
385
Mike Frysinger5f004c22008-04-25 02:11:24 +0800386config BOOT_LOAD
387 hex "Kernel load address for booting"
388 default "0x1000"
389 range 0x1000 0x20000000
390 help
391 This option allows you to set the load address of the kernel.
392 This can be useful if you are on a board which has a small amount
393 of memory or you wish to reserve some memory at the beginning of
394 the address space.
395
396 Note that you need to keep this value above 4k (0x1000) as this
397 memory region is used to capture NULL pointer references as well
398 as some core kernel functions.
399
Michael Hennerich8cc71172008-10-13 14:45:06 +0800400config ROM_BASE
401 hex "Kernel ROM Base"
Mike Frysinger86249912008-11-18 17:48:22 +0800402 depends on ROMKERNEL
Michael Hennerich8cc71172008-10-13 14:45:06 +0800403 default "0x20040000"
404 range 0x20000000 0x20400000 if !(BF54x || BF561)
405 range 0x20000000 0x30000000 if (BF54x || BF561)
406 help
407
Robin Getzf16295e2007-08-03 18:07:17 +0800408comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700409
410config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800411 int "Frequency of the crystal on the board in Hz"
Bryan Wu1394f032007-05-06 14:50:22 -0700412 default "11059200" if BFIN533_STAMP
413 default "27000000" if BFIN533_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800414 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN538_EZKIT || BFIN518F-EZBRD)
Bryan Wu1394f032007-05-06 14:50:22 -0700415 default "30000000" if BFIN561_EZKIT
416 default "24576000" if PNAV10
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800417 default "10000000" if BFIN532_IP0X
Bryan Wu1394f032007-05-06 14:50:22 -0700418 help
419 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800420 Warning: This value should match the crystal on the board. Otherwise,
421 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700422
Robin Getzf16295e2007-08-03 18:07:17 +0800423config BFIN_KERNEL_CLOCK
424 bool "Re-program Clocks while Kernel boots?"
425 default n
426 help
427 This option decides if kernel clocks are re-programed from the
428 bootloader settings. If the clocks are not set, the SDRAM settings
429 are also not changed, and the Bootloader does 100% of the hardware
430 configuration.
431
432config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800433 bool "Bypass PLL"
434 depends on BFIN_KERNEL_CLOCK
435 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800436
437config CLKIN_HALF
438 bool "Half Clock In"
439 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
440 default n
441 help
442 If this is set the clock will be divided by 2, before it goes to the PLL.
443
444config VCO_MULT
445 int "VCO Multiplier"
446 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
447 range 1 64
448 default "22" if BFIN533_EZKIT
449 default "45" if BFIN533_STAMP
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800450 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800451 default "22" if BFIN533_BLUETECHNIX_CM
Michael Hennerich9db144f2008-07-19 17:16:07 +0800452 default "20" if (BFIN537_BLUETECHNIX_CM || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800453 default "20" if BFIN561_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800454 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
Robin Getzf16295e2007-08-03 18:07:17 +0800455 help
456 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
457 PLL Frequency = (Crystal Frequency) * (this setting)
458
459choice
460 prompt "Core Clock Divider"
461 depends on BFIN_KERNEL_CLOCK
462 default CCLK_DIV_1
463 help
464 This sets the frequency of the core. It can be 1, 2, 4 or 8
465 Core Frequency = (PLL frequency) / (this setting)
466
467config CCLK_DIV_1
468 bool "1"
469
470config CCLK_DIV_2
471 bool "2"
472
473config CCLK_DIV_4
474 bool "4"
475
476config CCLK_DIV_8
477 bool "8"
478endchoice
479
480config SCLK_DIV
481 int "System Clock Divider"
482 depends on BFIN_KERNEL_CLOCK
483 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800484 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800485 help
486 This sets the frequency of the system clock (including SDRAM or DDR).
487 This can be between 1 and 15
488 System Clock = (PLL frequency) / (this setting)
489
Mike Frysinger5f004c22008-04-25 02:11:24 +0800490choice
491 prompt "DDR SDRAM Chip Type"
492 depends on BFIN_KERNEL_CLOCK
493 depends on BF54x
494 default MEM_MT46V32M16_5B
495
496config MEM_MT46V32M16_6T
497 bool "MT46V32M16_6T"
498
499config MEM_MT46V32M16_5B
500 bool "MT46V32M16_5B"
501endchoice
502
Michael Hennerich73feb5c2009-01-07 23:14:39 +0800503choice
504 prompt "DDR/SDRAM Timing"
505 depends on BFIN_KERNEL_CLOCK
506 default BFIN_KERNEL_CLOCK_MEMINIT_CALC
507 help
508 This option allows you to specify Blackfin SDRAM/DDR Timing parameters
509 The calculated SDRAM timing parameters may not be 100%
510 accurate - This option is therefore marked experimental.
511
512config BFIN_KERNEL_CLOCK_MEMINIT_CALC
513 bool "Calculate Timings (EXPERIMENTAL)"
514 depends on EXPERIMENTAL
515
516config BFIN_KERNEL_CLOCK_MEMINIT_SPEC
517 bool "Provide accurate Timings based on target SCLK"
518 help
519 Please consult the Blackfin Hardware Reference Manuals as well
520 as the memory device datasheet.
521 http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram
522endchoice
523
524menu "Memory Init Control"
525 depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC
526
527config MEM_DDRCTL0
528 depends on BF54x
529 hex "DDRCTL0"
530 default 0x0
531
532config MEM_DDRCTL1
533 depends on BF54x
534 hex "DDRCTL1"
535 default 0x0
536
537config MEM_DDRCTL2
538 depends on BF54x
539 hex "DDRCTL2"
540 default 0x0
541
542config MEM_EBIU_DDRQUE
543 depends on BF54x
544 hex "DDRQUE"
545 default 0x0
546
547config MEM_SDRRC
548 depends on !BF54x
549 hex "SDRRC"
550 default 0x0
551
552config MEM_SDGCTL
553 depends on !BF54x
554 hex "SDGCTL"
555 default 0x0
556endmenu
557
Robin Getzf16295e2007-08-03 18:07:17 +0800558#
559# Max & Min Speeds for various Chips
560#
561config MAX_VCO_HZ
562 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800563 default 400000000 if BF512
564 default 400000000 if BF514
565 default 400000000 if BF516
566 default 400000000 if BF518
Robin Getzf16295e2007-08-03 18:07:17 +0800567 default 600000000 if BF522
Mike Frysinger1545a112007-12-24 16:54:48 +0800568 default 400000000 if BF523
569 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800570 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800571 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800572 default 600000000 if BF527
573 default 400000000 if BF531
574 default 400000000 if BF532
575 default 750000000 if BF533
576 default 500000000 if BF534
577 default 400000000 if BF536
578 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800579 default 533333333 if BF538
580 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800581 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800582 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800583 default 600000000 if BF547
584 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800585 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800586 default 600000000 if BF561
587
588config MIN_VCO_HZ
589 int
590 default 50000000
591
592config MAX_SCLK_HZ
593 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800594 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800595
596config MIN_SCLK_HZ
597 int
598 default 27000000
599
600comment "Kernel Timer/Scheduler"
601
602source kernel/Kconfig.hz
603
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800604config GENERIC_TIME
605 bool "Generic time"
606 default y
607
608config GENERIC_CLOCKEVENTS
609 bool "Generic clock events"
610 depends on GENERIC_TIME
611 default y
612
Graf Yang1fa9be72009-05-15 11:01:59 +0000613choice
614 prompt "Kernel Tick Source"
615 depends on GENERIC_CLOCKEVENTS
616 default TICKSOURCE_CORETMR
617
618config TICKSOURCE_GPTMR0
619 bool "Gptimer0 (SCLK domain)"
620 select BFIN_GPTIMERS
621 depends on !IPIPE
622
623config TICKSOURCE_CORETMR
624 bool "Core timer (CCLK domain)"
625
626endchoice
627
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800628config CYCLES_CLOCKSOURCE
Graf Yang1fa9be72009-05-15 11:01:59 +0000629 bool "Use 'CYCLES' as a clocksource"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800630 depends on GENERIC_CLOCKEVENTS
631 depends on !BFIN_SCRATCH_REG_CYCLES
Graf Yang1fa9be72009-05-15 11:01:59 +0000632 depends on !SMP
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800633 help
634 If you say Y here, you will enable support for using the 'cycles'
635 registers as a clock source. Doing so means you will be unable to
636 safely write to the 'cycles' register during runtime. You will
637 still be able to read it (such as for performance monitoring), but
638 writing the registers will most likely crash the kernel.
639
Graf Yang1fa9be72009-05-15 11:01:59 +0000640config GPTMR0_CLOCKSOURCE
641 bool "Use GPTimer0 as a clocksource (higher rating)"
642 depends on GENERIC_CLOCKEVENTS
643 depends on !TICKSOURCE_GPTMR0
644
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800645source kernel/time/Kconfig
646
Mike Frysinger5f004c22008-04-25 02:11:24 +0800647comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800648
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800649choice
650 prompt "Blackfin Exception Scratch Register"
651 default BFIN_SCRATCH_REG_RETN
652 help
653 Select the resource to reserve for the Exception handler:
654 - RETN: Non-Maskable Interrupt (NMI)
655 - RETE: Exception Return (JTAG/ICE)
656 - CYCLES: Performance counter
657
658 If you are unsure, please select "RETN".
659
660config BFIN_SCRATCH_REG_RETN
661 bool "RETN"
662 help
663 Use the RETN register in the Blackfin exception handler
664 as a stack scratch register. This means you cannot
665 safely use NMI on the Blackfin while running Linux, but
666 you can debug the system with a JTAG ICE and use the
667 CYCLES performance registers.
668
669 If you are unsure, please select "RETN".
670
671config BFIN_SCRATCH_REG_RETE
672 bool "RETE"
673 help
674 Use the RETE register in the Blackfin exception handler
675 as a stack scratch register. This means you cannot
676 safely use a JTAG ICE while debugging a Blackfin board,
677 but you can safely use the CYCLES performance registers
678 and the NMI.
679
680 If you are unsure, please select "RETN".
681
682config BFIN_SCRATCH_REG_CYCLES
683 bool "CYCLES"
684 help
685 Use the CYCLES register in the Blackfin exception handler
686 as a stack scratch register. This means you cannot
687 safely use the CYCLES performance registers on a Blackfin
688 board at anytime, but you can debug the system with a JTAG
689 ICE and use the NMI.
690
691 If you are unsure, please select "RETN".
692
693endchoice
694
Bryan Wu1394f032007-05-06 14:50:22 -0700695endmenu
696
697
698menu "Blackfin Kernel Optimizations"
Graf Yang46fa5ee2009-01-07 23:14:39 +0800699 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700700
Bryan Wu1394f032007-05-06 14:50:22 -0700701comment "Memory Optimizations"
702
703config I_ENTRY_L1
704 bool "Locate interrupt entry code in L1 Memory"
705 default y
706 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200707 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
708 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700709
710config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200711 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700712 default y
713 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200714 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800715 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200716 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700717
718config DO_IRQ_L1
719 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
720 default y
721 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200722 If enabled, the frequently called do_irq dispatcher function is linked
723 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700724
725config CORE_TIMER_IRQ_L1
726 bool "Locate frequently called timer_interrupt() function in L1 Memory"
727 default y
728 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200729 If enabled, the frequently called timer_interrupt() function is linked
730 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700731
732config IDLE_L1
733 bool "Locate frequently idle function in L1 Memory"
734 default y
735 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200736 If enabled, the frequently called idle function is linked
737 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700738
739config SCHEDULE_L1
740 bool "Locate kernel schedule function in L1 Memory"
741 default y
742 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200743 If enabled, the frequently called kernel schedule is linked
744 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700745
746config ARITHMETIC_OPS_L1
747 bool "Locate kernel owned arithmetic functions in L1 Memory"
748 default y
749 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200750 If enabled, arithmetic functions are linked
751 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700752
753config ACCESS_OK_L1
754 bool "Locate access_ok function in L1 Memory"
755 default y
756 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200757 If enabled, the access_ok function is linked
758 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700759
760config MEMSET_L1
761 bool "Locate memset function in L1 Memory"
762 default y
763 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200764 If enabled, the memset function is linked
765 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700766
767config MEMCPY_L1
768 bool "Locate memcpy function in L1 Memory"
769 default y
770 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200771 If enabled, the memcpy function is linked
772 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700773
774config SYS_BFIN_SPINLOCK_L1
775 bool "Locate sys_bfin_spinlock function in L1 Memory"
776 default y
777 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200778 If enabled, sys_bfin_spinlock function is linked
779 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700780
781config IP_CHECKSUM_L1
782 bool "Locate IP Checksum function in L1 Memory"
783 default n
784 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200785 If enabled, the IP Checksum function is linked
786 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700787
788config CACHELINE_ALIGNED_L1
789 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800790 default y if !BF54x
791 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700792 depends on !BF531
793 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100794 If enabled, cacheline_aligned data is linked
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200795 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700796
797config SYSCALL_TAB_L1
798 bool "Locate Syscall Table L1 Data Memory"
799 default n
800 depends on !BF531
801 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200802 If enabled, the Syscall LUT is linked
803 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700804
805config CPLB_SWITCH_TAB_L1
806 bool "Locate CPLB Switch Tables L1 Data Memory"
807 default n
808 depends on !BF531
809 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200810 If enabled, the CPLB Switch Tables are linked
811 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700812
Graf Yangca87b7a2008-10-08 17:30:01 +0800813config APP_STACK_L1
814 bool "Support locating application stack in L1 Scratch Memory"
815 default y
816 help
817 If enabled the application stack can be located in L1
818 scratch memory (less latency).
819
820 Currently only works with FLAT binaries.
821
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800822config EXCEPTION_L1_SCRATCH
823 bool "Locate exception stack in L1 Scratch Memory"
824 default n
Graf Yangf82e0a02009-04-08 08:30:22 +0000825 depends on !APP_STACK_L1
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800826 help
827 Whenever an exception occurs, use the L1 Scratch memory for
828 stack storage. You cannot place the stacks of FLAT binaries
829 in L1 when using this option.
830
831 If you don't use L1 Scratch, then you should say Y here.
832
Robin Getz251383c2008-08-14 15:12:55 +0800833comment "Speed Optimizations"
834config BFIN_INS_LOWOVERHEAD
835 bool "ins[bwl] low overhead, higher interrupt latency"
836 default y
837 help
838 Reads on the Blackfin are speculative. In Blackfin terms, this means
839 they can be interrupted at any time (even after they have been issued
840 on to the external bus), and re-issued after the interrupt occurs.
841 For memory - this is not a big deal, since memory does not change if
842 it sees a read.
843
844 If a FIFO is sitting on the end of the read, it will see two reads,
845 when the core only sees one since the FIFO receives both the read
846 which is cancelled (and not delivered to the core) and the one which
847 is re-issued (which is delivered to the core).
848
849 To solve this, interrupts are turned off before reads occur to
850 I/O space. This option controls which the overhead/latency of
851 controlling interrupts during this time
852 "n" turns interrupts off every read
853 (higher overhead, but lower interrupt latency)
854 "y" turns interrupts off every loop
855 (low overhead, but longer interrupt latency)
856
857 default behavior is to leave this set to on (type "Y"). If you are experiencing
858 interrupt latency issues, it is safe and OK to turn this off.
859
Bryan Wu1394f032007-05-06 14:50:22 -0700860endmenu
861
Bryan Wu1394f032007-05-06 14:50:22 -0700862choice
863 prompt "Kernel executes from"
864 help
865 Choose the memory type that the kernel will be running in.
866
867config RAMKERNEL
868 bool "RAM"
869 help
870 The kernel will be resident in RAM when running.
871
872config ROMKERNEL
873 bool "ROM"
874 help
875 The kernel will be resident in FLASH/ROM when running.
876
877endchoice
878
879source "mm/Kconfig"
880
Mike Frysinger780431e2007-10-21 23:37:54 +0800881config BFIN_GPTIMERS
882 tristate "Enable Blackfin General Purpose Timers API"
883 default n
884 help
885 Enable support for the General Purpose Timers API. If you
886 are unsure, say N.
887
888 To compile this driver as a module, choose M here: the module
889 will be called gptimers.ko.
890
Bryan Wu1394f032007-05-06 14:50:22 -0700891choice
Mike Frysingerd292b002008-10-28 11:15:36 +0800892 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700893 default DMA_UNCACHED_1M
Cliff Cai86ad7932008-05-17 16:36:52 +0800894config DMA_UNCACHED_4M
895 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700896config DMA_UNCACHED_2M
897 bool "Enable 2M DMA region"
898config DMA_UNCACHED_1M
899 bool "Enable 1M DMA region"
900config DMA_UNCACHED_NONE
901 bool "Disable DMA region"
902endchoice
903
904
905comment "Cache Support"
Robin Getz3bebca22007-10-10 23:55:26 +0800906config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700907 bool "Enable ICACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800908config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700909 bool "Enable DCACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800910config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700911 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800912 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700913 default n
Robin Getz3bebca22007-10-10 23:55:26 +0800914config BFIN_ICACHE_LOCK
915 bool "Enable Instruction Cache Locking"
Bryan Wu1394f032007-05-06 14:50:22 -0700916
917choice
Graf Yang5ba76672009-05-07 04:09:15 +0000918 prompt "External memory cache policy"
Robin Getz3bebca22007-10-10 23:55:26 +0800919 depends on BFIN_DCACHE
Graf Yang46fa5ee2009-01-07 23:14:39 +0800920 default BFIN_WB if !SMP
921 default BFIN_WT if SMP
Robin Getz3bebca22007-10-10 23:55:26 +0800922config BFIN_WB
Bryan Wu1394f032007-05-06 14:50:22 -0700923 bool "Write back"
Graf Yang46fa5ee2009-01-07 23:14:39 +0800924 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700925 help
926 Write Back Policy:
927 Cached data will be written back to SDRAM only when needed.
928 This can give a nice increase in performance, but beware of
929 broken drivers that do not properly invalidate/flush their
930 cache.
931
932 Write Through Policy:
933 Cached data will always be written back to SDRAM when the
934 cache is updated. This is a completely safe setting, but
935 performance is worse than Write Back.
936
937 If you are unsure of the options and you want to be safe,
938 then go with Write Through.
939
Robin Getz3bebca22007-10-10 23:55:26 +0800940config BFIN_WT
Bryan Wu1394f032007-05-06 14:50:22 -0700941 bool "Write through"
942 help
943 Write Back Policy:
944 Cached data will be written back to SDRAM only when needed.
945 This can give a nice increase in performance, but beware of
946 broken drivers that do not properly invalidate/flush their
947 cache.
948
949 Write Through Policy:
950 Cached data will always be written back to SDRAM when the
951 cache is updated. This is a completely safe setting, but
952 performance is worse than Write Back.
953
954 If you are unsure of the options and you want to be safe,
955 then go with Write Through.
956
957endchoice
958
Graf Yang5ba76672009-05-07 04:09:15 +0000959choice
960 prompt "L2 SRAM cache policy"
961 depends on (BF54x || BF561)
962 default BFIN_L2_WT
963config BFIN_L2_WB
964 bool "Write back"
965 depends on !SMP
966
967config BFIN_L2_WT
968 bool "Write through"
969 depends on !SMP
970
971config BFIN_L2_NOT_CACHED
972 bool "Not cached"
973
974endchoice
Sonic Zhangf099f392008-10-09 14:11:57 +0800975
Bernd Schmidtb97b8a92008-01-27 18:39:16 +0800976config MPU
977 bool "Enable the memory protection unit (EXPERIMENTAL)"
978 default n
979 help
980 Use the processor's MPU to protect applications from accessing
981 memory they do not own. This comes at a performance penalty
982 and is recommended only for debugging.
983
Matt LaPlante692105b2009-01-26 11:12:25 +0100984comment "Asynchronous Memory Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -0700985
Mike Frysingerddf416b2007-10-10 18:06:47 +0800986menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -0700987config C_AMCKEN
988 bool "Enable CLKOUT"
989 default y
990
991config C_CDPRIO
992 bool "DMA has priority over core for ext. accesses"
993 default n
994
995config C_B0PEN
996 depends on BF561
997 bool "Bank 0 16 bit packing enable"
998 default y
999
1000config C_B1PEN
1001 depends on BF561
1002 bool "Bank 1 16 bit packing enable"
1003 default y
1004
1005config C_B2PEN
1006 depends on BF561
1007 bool "Bank 2 16 bit packing enable"
1008 default y
1009
1010config C_B3PEN
1011 depends on BF561
1012 bool "Bank 3 16 bit packing enable"
1013 default n
1014
1015choice
Matt LaPlante692105b2009-01-26 11:12:25 +01001016 prompt "Enable Asynchronous Memory Banks"
Bryan Wu1394f032007-05-06 14:50:22 -07001017 default C_AMBEN_ALL
1018
1019config C_AMBEN
1020 bool "Disable All Banks"
1021
1022config C_AMBEN_B0
1023 bool "Enable Bank 0"
1024
1025config C_AMBEN_B0_B1
1026 bool "Enable Bank 0 & 1"
1027
1028config C_AMBEN_B0_B1_B2
1029 bool "Enable Bank 0 & 1 & 2"
1030
1031config C_AMBEN_ALL
1032 bool "Enable All Banks"
1033endchoice
1034endmenu
1035
1036menu "EBIU_AMBCTL Control"
1037config BANK_0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001038 hex "Bank 0 (AMBCTL0.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001039 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001040 help
1041 These are the low 16 bits of the EBIU_AMBCTL0 MMR which are
1042 used to control the Asynchronous Memory Bank 0 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001043
1044config BANK_1
Mike Frysingerc8342f82009-03-31 00:18:35 +00001045 hex "Bank 1 (AMBCTL0.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001046 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +08001047 default 0x5558 if BF54x
Mike Frysingerc8342f82009-03-31 00:18:35 +00001048 help
1049 These are the high 16 bits of the EBIU_AMBCTL0 MMR which are
1050 used to control the Asynchronous Memory Bank 1 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001051
1052config BANK_2
Mike Frysingerc8342f82009-03-31 00:18:35 +00001053 hex "Bank 2 (AMBCTL1.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001054 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001055 help
1056 These are the low 16 bits of the EBIU_AMBCTL1 MMR which are
1057 used to control the Asynchronous Memory Bank 2 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001058
1059config BANK_3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001060 hex "Bank 3 (AMBCTL1.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001061 default 0x99B3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001062 help
1063 These are the high 16 bits of the EBIU_AMBCTL1 MMR which are
1064 used to control the Asynchronous Memory Bank 3 settings.
1065
Bryan Wu1394f032007-05-06 14:50:22 -07001066endmenu
1067
Sonic Zhange40540b2007-11-21 23:49:52 +08001068config EBIU_MBSCTLVAL
1069 hex "EBIU Bank Select Control Register"
1070 depends on BF54x
1071 default 0
1072
1073config EBIU_MODEVAL
1074 hex "Flash Memory Mode Control Register"
1075 depends on BF54x
1076 default 1
1077
1078config EBIU_FCTLVAL
1079 hex "Flash Memory Bank Control Register"
1080 depends on BF54x
1081 default 6
Bryan Wu1394f032007-05-06 14:50:22 -07001082endmenu
1083
1084#############################################################################
1085menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1086
1087config PCI
1088 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +08001089 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -07001090 help
1091 Support for PCI bus.
1092
1093source "drivers/pci/Kconfig"
1094
1095config HOTPLUG
1096 bool "Support for hot-pluggable device"
1097 help
1098 Say Y here if you want to plug devices into your computer while
1099 the system is running, and be able to use them quickly. In many
1100 cases, the devices can likewise be unplugged at any time too.
1101
1102 One well known example of this is PCMCIA- or PC-cards, credit-card
1103 size devices such as network cards, modems or hard drives which are
1104 plugged into slots found on all modern laptop computers. Another
1105 example, used on modern desktops as well as laptops, is USB.
1106
Johannes Berga81792f2008-07-08 19:00:25 +02001107 Enable HOTPLUG and build a modular kernel. Get agent software
1108 (from <http://linux-hotplug.sourceforge.net/>) and install it.
Bryan Wu1394f032007-05-06 14:50:22 -07001109 Then your kernel will automatically call out to a user mode "policy
1110 agent" (/sbin/hotplug) to load modules and set up software needed
1111 to use devices as you hotplug them.
1112
1113source "drivers/pcmcia/Kconfig"
1114
1115source "drivers/pci/hotplug/Kconfig"
1116
1117endmenu
1118
1119menu "Executable file formats"
1120
1121source "fs/Kconfig.binfmt"
1122
1123endmenu
1124
1125menu "Power management options"
1126source "kernel/power/Kconfig"
1127
Johannes Bergf4cb5702007-12-08 02:14:00 +01001128config ARCH_SUSPEND_POSSIBLE
1129 def_bool y
1130 depends on !SMP
1131
Bryan Wu1394f032007-05-06 14:50:22 -07001132choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001133 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -07001134 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001135 default PM_BFIN_SLEEP_DEEPER
1136config PM_BFIN_SLEEP_DEEPER
1137 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001138 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001139 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1140 power dissipation by disabling the clock to the processor core (CCLK).
1141 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1142 to 0.85 V to provide the greatest power savings, while preserving the
1143 processor state.
1144 The PLL and system clock (SCLK) continue to operate at a very low
1145 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1146 the SDRAM is put into Self Refresh Mode. Typically an external event
1147 such as GPIO interrupt or RTC activity wakes up the processor.
1148 Various Peripherals such as UART, SPORT, PPI may not function as
1149 normal during Sleep Deeper, due to the reduced SCLK frequency.
1150 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001151
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001152 If unsure, select "Sleep Deeper".
1153
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001154config PM_BFIN_SLEEP
1155 bool "Sleep"
1156 help
1157 Sleep Mode (High Power Savings) - The sleep mode reduces power
1158 dissipation by disabling the clock to the processor core (CCLK).
1159 The PLL and system clock (SCLK), however, continue to operate in
1160 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001161 up the processor. When in the sleep mode, system DMA access to L1
1162 memory is not supported.
1163
1164 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001165endchoice
1166
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001167config PM_WAKEUP_BY_GPIO
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001168 bool "Allow Wakeup from Standby by GPIO"
Michael Hennerichff19fed2009-03-04 17:35:51 +08001169 depends on PM && !BF54x
Bryan Wu1394f032007-05-06 14:50:22 -07001170
1171config PM_WAKEUP_GPIO_NUMBER
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001172 int "GPIO number"
Bryan Wu1394f032007-05-06 14:50:22 -07001173 range 0 47
1174 depends on PM_WAKEUP_BY_GPIO
Mike Frysingerd1a33362008-11-18 17:48:22 +08001175 default 2
Bryan Wu1394f032007-05-06 14:50:22 -07001176
1177choice
1178 prompt "GPIO Polarity"
1179 depends on PM_WAKEUP_BY_GPIO
1180 default PM_WAKEUP_GPIO_POLAR_H
1181config PM_WAKEUP_GPIO_POLAR_H
1182 bool "Active High"
1183config PM_WAKEUP_GPIO_POLAR_L
1184 bool "Active Low"
1185config PM_WAKEUP_GPIO_POLAR_EDGE_F
1186 bool "Falling EDGE"
1187config PM_WAKEUP_GPIO_POLAR_EDGE_R
1188 bool "Rising EDGE"
1189config PM_WAKEUP_GPIO_POLAR_EDGE_B
1190 bool "Both EDGE"
1191endchoice
1192
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001193comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1194 depends on PM
1195
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001196config PM_BFIN_WAKE_PH6
1197 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001198 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001199 default n
1200 help
1201 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1202
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001203config PM_BFIN_WAKE_GP
1204 bool "Allow Wake-Up from GPIOs"
1205 depends on PM && BF54x
1206 default n
1207 help
1208 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Michael Hennerich19986282009-03-05 16:45:55 +08001209 (all processors, except ADSP-BF549). This option sets
1210 the general-purpose wake-up enable (GPWE) control bit to enable
1211 wake-up upon detection of an active low signal on the /GPW (PH7) pin.
1212 On ADSP-BF549 this option enables the the same functionality on the
1213 /MRXON pin also PH7.
1214
Bryan Wu1394f032007-05-06 14:50:22 -07001215endmenu
1216
Bryan Wu1394f032007-05-06 14:50:22 -07001217menu "CPU Frequency scaling"
1218
1219source "drivers/cpufreq/Kconfig"
1220
Michael Hennerich5ad2ca52008-11-18 17:48:22 +08001221config BFIN_CPU_FREQ
1222 bool
1223 depends on CPU_FREQ
1224 select CPU_FREQ_TABLE
1225 default y
1226
Michael Hennerich14b03202008-05-07 11:41:26 +08001227config CPU_VOLTAGE
1228 bool "CPU Voltage scaling"
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001229 depends on EXPERIMENTAL
Michael Hennerich14b03202008-05-07 11:41:26 +08001230 depends on CPU_FREQ
1231 default n
1232 help
1233 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1234 This option violates the PLL BYPASS recommendation in the Blackfin Processor
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001235 manuals. There is a theoretical risk that during VDDINT transitions
Michael Hennerich14b03202008-05-07 11:41:26 +08001236 the PLL may unlock.
1237
Bryan Wu1394f032007-05-06 14:50:22 -07001238endmenu
1239
Bryan Wu1394f032007-05-06 14:50:22 -07001240source "net/Kconfig"
1241
1242source "drivers/Kconfig"
1243
1244source "fs/Kconfig"
1245
Mike Frysinger74ce8322007-11-21 23:50:49 +08001246source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001247
1248source "security/Kconfig"
1249
1250source "crypto/Kconfig"
1251
1252source "lib/Kconfig"