blob: c56fd3eb7c107462a9dd83d1dd4be7bf3806e25b [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
9 bool
10 default n
11
12config FPU
13 bool
14 default n
15
16config RWSEM_GENERIC_SPINLOCK
17 bool
18 default y
19
20config RWSEM_XCHGADD_ALGORITHM
21 bool
22 default n
23
24config BLACKFIN
25 bool
26 default y
Sam Ravnborgec7748b2008-02-09 10:46:40 +010027 select HAVE_IDE
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050028 select HAVE_OPROFILE
Michael Hennericha4f0b32c2008-11-18 17:48:22 +080029 select ARCH_WANT_OPTIONAL_GPIOLIB
Bryan Wu1394f032007-05-06 14:50:22 -070030
Aubrey Lie3defff2007-05-21 18:09:11 +080031config ZONE_DMA
32 bool
33 default y
34
Bryan Wu1394f032007-05-06 14:50:22 -070035config GENERIC_FIND_NEXT_BIT
36 bool
37 default y
38
39config GENERIC_HWEIGHT
40 bool
41 default y
42
43config GENERIC_HARDIRQS
44 bool
45 default y
46
47config GENERIC_IRQ_PROBE
Mike Frysingere4e9a7a2007-11-15 20:39:34 +080048 bool
Bryan Wu1394f032007-05-06 14:50:22 -070049 default y
50
Michael Hennerichb2d15832007-07-24 15:46:36 +080051config GENERIC_GPIO
Bryan Wu1394f032007-05-06 14:50:22 -070052 bool
53 default y
54
55config FORCE_MAX_ZONEORDER
56 int
57 default "14"
58
59config GENERIC_CALIBRATE_DELAY
60 bool
61 default y
62
Bryan Wu1394f032007-05-06 14:50:22 -070063source "init/Kconfig"
Matt Helsleydc52ddc2008-10-18 20:27:21 -070064
Bryan Wu1394f032007-05-06 14:50:22 -070065source "kernel/Kconfig.preempt"
66
Matt Helsleydc52ddc2008-10-18 20:27:21 -070067source "kernel/Kconfig.freezer"
68
Bryan Wu1394f032007-05-06 14:50:22 -070069menu "Blackfin Processor Options"
70
71comment "Processor and Board Settings"
72
73choice
74 prompt "CPU"
75 default BF533
76
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080077config BF512
78 bool "BF512"
79 help
80 BF512 Processor Support.
81
82config BF514
83 bool "BF514"
84 help
85 BF514 Processor Support.
86
87config BF516
88 bool "BF516"
89 help
90 BF516 Processor Support.
91
92config BF518
93 bool "BF518"
94 help
95 BF518 Processor Support.
96
Michael Hennerich59003142007-10-21 16:54:27 +080097config BF522
98 bool "BF522"
99 help
100 BF522 Processor Support.
101
Mike Frysinger1545a112007-12-24 16:54:48 +0800102config BF523
103 bool "BF523"
104 help
105 BF523 Processor Support.
106
107config BF524
108 bool "BF524"
109 help
110 BF524 Processor Support.
111
Michael Hennerich59003142007-10-21 16:54:27 +0800112config BF525
113 bool "BF525"
114 help
115 BF525 Processor Support.
116
Mike Frysinger1545a112007-12-24 16:54:48 +0800117config BF526
118 bool "BF526"
119 help
120 BF526 Processor Support.
121
Michael Hennerich59003142007-10-21 16:54:27 +0800122config BF527
123 bool "BF527"
124 help
125 BF527 Processor Support.
126
Bryan Wu1394f032007-05-06 14:50:22 -0700127config BF531
128 bool "BF531"
129 help
130 BF531 Processor Support.
131
132config BF532
133 bool "BF532"
134 help
135 BF532 Processor Support.
136
137config BF533
138 bool "BF533"
139 help
140 BF533 Processor Support.
141
142config BF534
143 bool "BF534"
144 help
145 BF534 Processor Support.
146
147config BF536
148 bool "BF536"
149 help
150 BF536 Processor Support.
151
152config BF537
153 bool "BF537"
154 help
155 BF537 Processor Support.
156
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800157config BF538
158 bool "BF538"
159 help
160 BF538 Processor Support.
161
162config BF539
163 bool "BF539"
164 help
165 BF539 Processor Support.
166
Roy Huang24a07a12007-07-12 22:41:45 +0800167config BF542
168 bool "BF542"
169 help
170 BF542 Processor Support.
171
Mike Frysinger2f89c062009-02-04 16:49:45 +0800172config BF542M
173 bool "BF542m"
174 help
175 BF542 Processor Support.
176
Roy Huang24a07a12007-07-12 22:41:45 +0800177config BF544
178 bool "BF544"
179 help
180 BF544 Processor Support.
181
Mike Frysinger2f89c062009-02-04 16:49:45 +0800182config BF544M
183 bool "BF544m"
184 help
185 BF544 Processor Support.
186
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800187config BF547
188 bool "BF547"
189 help
190 BF547 Processor Support.
191
Mike Frysinger2f89c062009-02-04 16:49:45 +0800192config BF547M
193 bool "BF547m"
194 help
195 BF547 Processor Support.
196
Roy Huang24a07a12007-07-12 22:41:45 +0800197config BF548
198 bool "BF548"
199 help
200 BF548 Processor Support.
201
Mike Frysinger2f89c062009-02-04 16:49:45 +0800202config BF548M
203 bool "BF548m"
204 help
205 BF548 Processor Support.
206
Roy Huang24a07a12007-07-12 22:41:45 +0800207config BF549
208 bool "BF549"
209 help
210 BF549 Processor Support.
211
Mike Frysinger2f89c062009-02-04 16:49:45 +0800212config BF549M
213 bool "BF549m"
214 help
215 BF549 Processor Support.
216
Bryan Wu1394f032007-05-06 14:50:22 -0700217config BF561
218 bool "BF561"
219 help
Mike Frysingercd88b4d2008-10-09 12:03:22 +0800220 BF561 Processor Support.
Bryan Wu1394f032007-05-06 14:50:22 -0700221
222endchoice
223
Graf Yang46fa5ee2009-01-07 23:14:39 +0800224config SMP
225 depends on BF561
Graf Yang9b9bfde2009-05-27 09:58:35 +0000226 select GENERIC_TIME
Graf Yang46fa5ee2009-01-07 23:14:39 +0800227 bool "Symmetric multi-processing support"
228 ---help---
229 This enables support for systems with more than one CPU,
230 like the dual core BF561. If you have a system with only one
231 CPU, say N. If you have a system with more than one CPU, say Y.
232
233 If you don't know what to do here, say N.
234
235config NR_CPUS
236 int
237 depends on SMP
238 default 2 if BF561
239
240config IRQ_PER_CPU
241 bool
242 depends on SMP
243 default y
244
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800245config BF_REV_MIN
246 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800247 default 0 if (BF51x || BF52x || (BF54x && !BF54xM))
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800248 default 2 if (BF537 || BF536 || BF534)
Mike Frysinger2f89c062009-02-04 16:49:45 +0800249 default 3 if (BF561 || BF533 || BF532 || BF531 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800250 default 4 if (BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800251
252config BF_REV_MAX
253 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800254 default 2 if (BF51x || BF52x || (BF54x && !BF54xM))
255 default 3 if (BF537 || BF536 || BF534 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800256 default 5 if (BF561 || BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800257 default 6 if (BF533 || BF532 || BF531)
258
Bryan Wu1394f032007-05-06 14:50:22 -0700259choice
260 prompt "Silicon Rev"
Mike Frysingerf8b55652009-04-13 21:58:34 +0000261 default BF_REV_0_0 if (BF51x || BF52x)
262 default BF_REV_0_2 if (BF534 || BF536 || BF537 || (BF54x && !BF54xM))
Mike Frysinger2f89c062009-02-04 16:49:45 +0800263 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF54xM || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800264
265config BF_REV_0_0
266 bool "0.0"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800267 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Michael Hennerich59003142007-10-21 16:54:27 +0800268
269config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800270 bool "0.1"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800271 depends on (BF52x || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700272
273config BF_REV_0_2
274 bool "0.2"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800275 depends on (BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700276
277config BF_REV_0_3
278 bool "0.3"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800279 depends on (BF54xM || BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
Bryan Wu1394f032007-05-06 14:50:22 -0700280
281config BF_REV_0_4
282 bool "0.4"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800283 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700284
285config BF_REV_0_5
286 bool "0.5"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800287 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700288
Mike Frysinger49f72532008-10-09 12:06:27 +0800289config BF_REV_0_6
290 bool "0.6"
291 depends on (BF533 || BF532 || BF531)
292
Jie Zhangde3025f2007-06-25 18:04:12 +0800293config BF_REV_ANY
294 bool "any"
295
296config BF_REV_NONE
297 bool "none"
298
Bryan Wu1394f032007-05-06 14:50:22 -0700299endchoice
300
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800301config BF51x
302 bool
303 depends on (BF512 || BF514 || BF516 || BF518)
304 default y
305
Michael Hennerich59003142007-10-21 16:54:27 +0800306config BF52x
307 bool
Mike Frysinger1545a112007-12-24 16:54:48 +0800308 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
Michael Hennerich59003142007-10-21 16:54:27 +0800309 default y
310
Roy Huang24a07a12007-07-12 22:41:45 +0800311config BF53x
312 bool
313 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
314 default y
315
Mike Frysinger2f89c062009-02-04 16:49:45 +0800316config BF54xM
317 bool
318 depends on (BF542M || BF544M || BF547M || BF548M || BF549M)
319 default y
320
Roy Huang24a07a12007-07-12 22:41:45 +0800321config BF54x
322 bool
Mike Frysinger2f89c062009-02-04 16:49:45 +0800323 depends on (BF542 || BF544 || BF547 || BF548 || BF549 || BF54xM)
Roy Huang24a07a12007-07-12 22:41:45 +0800324 default y
325
Bryan Wu1394f032007-05-06 14:50:22 -0700326config MEM_GENERIC_BOARD
327 bool
328 depends on GENERIC_BOARD
329 default y
330
331config MEM_MT48LC64M4A2FB_7E
332 bool
333 depends on (BFIN533_STAMP)
334 default y
335
336config MEM_MT48LC16M16A2TG_75
337 bool
338 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Javier Herreroab472a02007-10-29 16:14:44 +0800339 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
Michael Hennerich9db144f2008-07-19 17:16:07 +0800340 || H8606_HVSISTEMAS || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700341 default y
342
343config MEM_MT48LC32M8A2_75
344 bool
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800345 depends on (BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700346 default y
347
348config MEM_MT48LC8M32B2B5_7
349 bool
350 depends on (BFIN561_BLUETECHNIX_CM)
351 default y
352
Michael Hennerich59003142007-10-21 16:54:27 +0800353config MEM_MT48LC32M16A2TG_75
354 bool
Michael Hennerich8cc71172008-10-13 14:45:06 +0800355 depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP || BFIN526_EZBRD)
Michael Hennerich59003142007-10-21 16:54:27 +0800356 default y
357
Sonic Zhang49345402009-01-07 23:14:38 +0800358config MEM_MT48LC32M8A2_75
359 bool
360 depends on (BFIN518F_EZBRD)
361 default y
362
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800363source "arch/blackfin/mach-bf518/Kconfig"
Michael Hennerich59003142007-10-21 16:54:27 +0800364source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700365source "arch/blackfin/mach-bf533/Kconfig"
366source "arch/blackfin/mach-bf561/Kconfig"
367source "arch/blackfin/mach-bf537/Kconfig"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800368source "arch/blackfin/mach-bf538/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800369source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700370
371menu "Board customizations"
372
373config CMDLINE_BOOL
374 bool "Default bootloader kernel arguments"
375
376config CMDLINE
377 string "Initial kernel command string"
378 depends on CMDLINE_BOOL
379 default "console=ttyBF0,57600"
380 help
381 If you don't have a boot loader capable of passing a command line string
382 to the kernel, you may specify one here. As a minimum, you should specify
383 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
384
Mike Frysinger5f004c22008-04-25 02:11:24 +0800385config BOOT_LOAD
386 hex "Kernel load address for booting"
387 default "0x1000"
388 range 0x1000 0x20000000
389 help
390 This option allows you to set the load address of the kernel.
391 This can be useful if you are on a board which has a small amount
392 of memory or you wish to reserve some memory at the beginning of
393 the address space.
394
395 Note that you need to keep this value above 4k (0x1000) as this
396 memory region is used to capture NULL pointer references as well
397 as some core kernel functions.
398
Michael Hennerich8cc71172008-10-13 14:45:06 +0800399config ROM_BASE
400 hex "Kernel ROM Base"
Mike Frysinger86249912008-11-18 17:48:22 +0800401 depends on ROMKERNEL
Michael Hennerich8cc71172008-10-13 14:45:06 +0800402 default "0x20040000"
403 range 0x20000000 0x20400000 if !(BF54x || BF561)
404 range 0x20000000 0x30000000 if (BF54x || BF561)
405 help
406
Robin Getzf16295e2007-08-03 18:07:17 +0800407comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700408
409config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800410 int "Frequency of the crystal on the board in Hz"
Bryan Wu1394f032007-05-06 14:50:22 -0700411 default "11059200" if BFIN533_STAMP
412 default "27000000" if BFIN533_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800413 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN538_EZKIT || BFIN518F-EZBRD)
Bryan Wu1394f032007-05-06 14:50:22 -0700414 default "30000000" if BFIN561_EZKIT
415 default "24576000" if PNAV10
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800416 default "10000000" if BFIN532_IP0X
Bryan Wu1394f032007-05-06 14:50:22 -0700417 help
418 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800419 Warning: This value should match the crystal on the board. Otherwise,
420 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700421
Robin Getzf16295e2007-08-03 18:07:17 +0800422config BFIN_KERNEL_CLOCK
423 bool "Re-program Clocks while Kernel boots?"
424 default n
425 help
426 This option decides if kernel clocks are re-programed from the
427 bootloader settings. If the clocks are not set, the SDRAM settings
428 are also not changed, and the Bootloader does 100% of the hardware
429 configuration.
430
431config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800432 bool "Bypass PLL"
433 depends on BFIN_KERNEL_CLOCK
434 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800435
436config CLKIN_HALF
437 bool "Half Clock In"
438 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
439 default n
440 help
441 If this is set the clock will be divided by 2, before it goes to the PLL.
442
443config VCO_MULT
444 int "VCO Multiplier"
445 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
446 range 1 64
447 default "22" if BFIN533_EZKIT
448 default "45" if BFIN533_STAMP
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800449 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800450 default "22" if BFIN533_BLUETECHNIX_CM
Michael Hennerich9db144f2008-07-19 17:16:07 +0800451 default "20" if (BFIN537_BLUETECHNIX_CM || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800452 default "20" if BFIN561_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800453 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
Robin Getzf16295e2007-08-03 18:07:17 +0800454 help
455 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
456 PLL Frequency = (Crystal Frequency) * (this setting)
457
458choice
459 prompt "Core Clock Divider"
460 depends on BFIN_KERNEL_CLOCK
461 default CCLK_DIV_1
462 help
463 This sets the frequency of the core. It can be 1, 2, 4 or 8
464 Core Frequency = (PLL frequency) / (this setting)
465
466config CCLK_DIV_1
467 bool "1"
468
469config CCLK_DIV_2
470 bool "2"
471
472config CCLK_DIV_4
473 bool "4"
474
475config CCLK_DIV_8
476 bool "8"
477endchoice
478
479config SCLK_DIV
480 int "System Clock Divider"
481 depends on BFIN_KERNEL_CLOCK
482 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800483 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800484 help
485 This sets the frequency of the system clock (including SDRAM or DDR).
486 This can be between 1 and 15
487 System Clock = (PLL frequency) / (this setting)
488
Mike Frysinger5f004c22008-04-25 02:11:24 +0800489choice
490 prompt "DDR SDRAM Chip Type"
491 depends on BFIN_KERNEL_CLOCK
492 depends on BF54x
493 default MEM_MT46V32M16_5B
494
495config MEM_MT46V32M16_6T
496 bool "MT46V32M16_6T"
497
498config MEM_MT46V32M16_5B
499 bool "MT46V32M16_5B"
500endchoice
501
Michael Hennerich73feb5c2009-01-07 23:14:39 +0800502choice
503 prompt "DDR/SDRAM Timing"
504 depends on BFIN_KERNEL_CLOCK
505 default BFIN_KERNEL_CLOCK_MEMINIT_CALC
506 help
507 This option allows you to specify Blackfin SDRAM/DDR Timing parameters
508 The calculated SDRAM timing parameters may not be 100%
509 accurate - This option is therefore marked experimental.
510
511config BFIN_KERNEL_CLOCK_MEMINIT_CALC
512 bool "Calculate Timings (EXPERIMENTAL)"
513 depends on EXPERIMENTAL
514
515config BFIN_KERNEL_CLOCK_MEMINIT_SPEC
516 bool "Provide accurate Timings based on target SCLK"
517 help
518 Please consult the Blackfin Hardware Reference Manuals as well
519 as the memory device datasheet.
520 http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram
521endchoice
522
523menu "Memory Init Control"
524 depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC
525
526config MEM_DDRCTL0
527 depends on BF54x
528 hex "DDRCTL0"
529 default 0x0
530
531config MEM_DDRCTL1
532 depends on BF54x
533 hex "DDRCTL1"
534 default 0x0
535
536config MEM_DDRCTL2
537 depends on BF54x
538 hex "DDRCTL2"
539 default 0x0
540
541config MEM_EBIU_DDRQUE
542 depends on BF54x
543 hex "DDRQUE"
544 default 0x0
545
546config MEM_SDRRC
547 depends on !BF54x
548 hex "SDRRC"
549 default 0x0
550
551config MEM_SDGCTL
552 depends on !BF54x
553 hex "SDGCTL"
554 default 0x0
555endmenu
556
Robin Getzf16295e2007-08-03 18:07:17 +0800557#
558# Max & Min Speeds for various Chips
559#
560config MAX_VCO_HZ
561 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800562 default 400000000 if BF512
563 default 400000000 if BF514
564 default 400000000 if BF516
565 default 400000000 if BF518
Robin Getzf16295e2007-08-03 18:07:17 +0800566 default 600000000 if BF522
Mike Frysinger1545a112007-12-24 16:54:48 +0800567 default 400000000 if BF523
568 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800569 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800570 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800571 default 600000000 if BF527
572 default 400000000 if BF531
573 default 400000000 if BF532
574 default 750000000 if BF533
575 default 500000000 if BF534
576 default 400000000 if BF536
577 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800578 default 533333333 if BF538
579 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800580 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800581 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800582 default 600000000 if BF547
583 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800584 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800585 default 600000000 if BF561
586
587config MIN_VCO_HZ
588 int
589 default 50000000
590
591config MAX_SCLK_HZ
592 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800593 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800594
595config MIN_SCLK_HZ
596 int
597 default 27000000
598
599comment "Kernel Timer/Scheduler"
600
601source kernel/Kconfig.hz
602
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800603config GENERIC_TIME
604 bool "Generic time"
605 default y
606
607config GENERIC_CLOCKEVENTS
608 bool "Generic clock events"
609 depends on GENERIC_TIME
610 default y
611
Graf Yang1fa9be72009-05-15 11:01:59 +0000612choice
613 prompt "Kernel Tick Source"
614 depends on GENERIC_CLOCKEVENTS
615 default TICKSOURCE_CORETMR
616
617config TICKSOURCE_GPTMR0
618 bool "Gptimer0 (SCLK domain)"
619 select BFIN_GPTIMERS
620 depends on !IPIPE
621
622config TICKSOURCE_CORETMR
623 bool "Core timer (CCLK domain)"
624
625endchoice
626
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800627config CYCLES_CLOCKSOURCE
Graf Yang1fa9be72009-05-15 11:01:59 +0000628 bool "Use 'CYCLES' as a clocksource"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800629 depends on GENERIC_CLOCKEVENTS
630 depends on !BFIN_SCRATCH_REG_CYCLES
Graf Yang1fa9be72009-05-15 11:01:59 +0000631 depends on !SMP
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800632 help
633 If you say Y here, you will enable support for using the 'cycles'
634 registers as a clock source. Doing so means you will be unable to
635 safely write to the 'cycles' register during runtime. You will
636 still be able to read it (such as for performance monitoring), but
637 writing the registers will most likely crash the kernel.
638
Graf Yang1fa9be72009-05-15 11:01:59 +0000639config GPTMR0_CLOCKSOURCE
640 bool "Use GPTimer0 as a clocksource (higher rating)"
641 depends on GENERIC_CLOCKEVENTS
642 depends on !TICKSOURCE_GPTMR0
643
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800644source kernel/time/Kconfig
645
Mike Frysinger5f004c22008-04-25 02:11:24 +0800646comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800647
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800648choice
649 prompt "Blackfin Exception Scratch Register"
650 default BFIN_SCRATCH_REG_RETN
651 help
652 Select the resource to reserve for the Exception handler:
653 - RETN: Non-Maskable Interrupt (NMI)
654 - RETE: Exception Return (JTAG/ICE)
655 - CYCLES: Performance counter
656
657 If you are unsure, please select "RETN".
658
659config BFIN_SCRATCH_REG_RETN
660 bool "RETN"
661 help
662 Use the RETN register in the Blackfin exception handler
663 as a stack scratch register. This means you cannot
664 safely use NMI on the Blackfin while running Linux, but
665 you can debug the system with a JTAG ICE and use the
666 CYCLES performance registers.
667
668 If you are unsure, please select "RETN".
669
670config BFIN_SCRATCH_REG_RETE
671 bool "RETE"
672 help
673 Use the RETE register in the Blackfin exception handler
674 as a stack scratch register. This means you cannot
675 safely use a JTAG ICE while debugging a Blackfin board,
676 but you can safely use the CYCLES performance registers
677 and the NMI.
678
679 If you are unsure, please select "RETN".
680
681config BFIN_SCRATCH_REG_CYCLES
682 bool "CYCLES"
683 help
684 Use the CYCLES register in the Blackfin exception handler
685 as a stack scratch register. This means you cannot
686 safely use the CYCLES performance registers on a Blackfin
687 board at anytime, but you can debug the system with a JTAG
688 ICE and use the NMI.
689
690 If you are unsure, please select "RETN".
691
692endchoice
693
Bryan Wu1394f032007-05-06 14:50:22 -0700694endmenu
695
696
697menu "Blackfin Kernel Optimizations"
Graf Yang46fa5ee2009-01-07 23:14:39 +0800698 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700699
Bryan Wu1394f032007-05-06 14:50:22 -0700700comment "Memory Optimizations"
701
702config I_ENTRY_L1
703 bool "Locate interrupt entry code in L1 Memory"
704 default y
705 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200706 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
707 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700708
709config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200710 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700711 default y
712 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200713 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800714 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200715 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700716
717config DO_IRQ_L1
718 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
719 default y
720 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200721 If enabled, the frequently called do_irq dispatcher function is linked
722 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700723
724config CORE_TIMER_IRQ_L1
725 bool "Locate frequently called timer_interrupt() function in L1 Memory"
726 default y
727 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200728 If enabled, the frequently called timer_interrupt() function is linked
729 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700730
731config IDLE_L1
732 bool "Locate frequently idle function in L1 Memory"
733 default y
734 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200735 If enabled, the frequently called idle function is linked
736 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700737
738config SCHEDULE_L1
739 bool "Locate kernel schedule function in L1 Memory"
740 default y
741 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200742 If enabled, the frequently called kernel schedule is linked
743 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700744
745config ARITHMETIC_OPS_L1
746 bool "Locate kernel owned arithmetic functions in L1 Memory"
747 default y
748 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200749 If enabled, arithmetic functions are linked
750 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700751
752config ACCESS_OK_L1
753 bool "Locate access_ok function in L1 Memory"
754 default y
755 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200756 If enabled, the access_ok function is linked
757 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700758
759config MEMSET_L1
760 bool "Locate memset function in L1 Memory"
761 default y
762 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200763 If enabled, the memset function is linked
764 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700765
766config MEMCPY_L1
767 bool "Locate memcpy function in L1 Memory"
768 default y
769 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200770 If enabled, the memcpy function is linked
771 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700772
773config SYS_BFIN_SPINLOCK_L1
774 bool "Locate sys_bfin_spinlock function in L1 Memory"
775 default y
776 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200777 If enabled, sys_bfin_spinlock function is linked
778 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700779
780config IP_CHECKSUM_L1
781 bool "Locate IP Checksum function in L1 Memory"
782 default n
783 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200784 If enabled, the IP Checksum function is linked
785 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700786
787config CACHELINE_ALIGNED_L1
788 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800789 default y if !BF54x
790 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700791 depends on !BF531
792 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100793 If enabled, cacheline_aligned data is linked
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200794 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700795
796config SYSCALL_TAB_L1
797 bool "Locate Syscall Table L1 Data Memory"
798 default n
799 depends on !BF531
800 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200801 If enabled, the Syscall LUT is linked
802 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700803
804config CPLB_SWITCH_TAB_L1
805 bool "Locate CPLB Switch Tables L1 Data Memory"
806 default n
807 depends on !BF531
808 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200809 If enabled, the CPLB Switch Tables are linked
810 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700811
Graf Yangca87b7a2008-10-08 17:30:01 +0800812config APP_STACK_L1
813 bool "Support locating application stack in L1 Scratch Memory"
814 default y
815 help
816 If enabled the application stack can be located in L1
817 scratch memory (less latency).
818
819 Currently only works with FLAT binaries.
820
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800821config EXCEPTION_L1_SCRATCH
822 bool "Locate exception stack in L1 Scratch Memory"
823 default n
Graf Yangf82e0a02009-04-08 08:30:22 +0000824 depends on !APP_STACK_L1
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800825 help
826 Whenever an exception occurs, use the L1 Scratch memory for
827 stack storage. You cannot place the stacks of FLAT binaries
828 in L1 when using this option.
829
830 If you don't use L1 Scratch, then you should say Y here.
831
Robin Getz251383c2008-08-14 15:12:55 +0800832comment "Speed Optimizations"
833config BFIN_INS_LOWOVERHEAD
834 bool "ins[bwl] low overhead, higher interrupt latency"
835 default y
836 help
837 Reads on the Blackfin are speculative. In Blackfin terms, this means
838 they can be interrupted at any time (even after they have been issued
839 on to the external bus), and re-issued after the interrupt occurs.
840 For memory - this is not a big deal, since memory does not change if
841 it sees a read.
842
843 If a FIFO is sitting on the end of the read, it will see two reads,
844 when the core only sees one since the FIFO receives both the read
845 which is cancelled (and not delivered to the core) and the one which
846 is re-issued (which is delivered to the core).
847
848 To solve this, interrupts are turned off before reads occur to
849 I/O space. This option controls which the overhead/latency of
850 controlling interrupts during this time
851 "n" turns interrupts off every read
852 (higher overhead, but lower interrupt latency)
853 "y" turns interrupts off every loop
854 (low overhead, but longer interrupt latency)
855
856 default behavior is to leave this set to on (type "Y"). If you are experiencing
857 interrupt latency issues, it is safe and OK to turn this off.
858
Bryan Wu1394f032007-05-06 14:50:22 -0700859endmenu
860
Bryan Wu1394f032007-05-06 14:50:22 -0700861choice
862 prompt "Kernel executes from"
863 help
864 Choose the memory type that the kernel will be running in.
865
866config RAMKERNEL
867 bool "RAM"
868 help
869 The kernel will be resident in RAM when running.
870
871config ROMKERNEL
872 bool "ROM"
873 help
874 The kernel will be resident in FLASH/ROM when running.
875
876endchoice
877
878source "mm/Kconfig"
879
Mike Frysinger780431e2007-10-21 23:37:54 +0800880config BFIN_GPTIMERS
881 tristate "Enable Blackfin General Purpose Timers API"
882 default n
883 help
884 Enable support for the General Purpose Timers API. If you
885 are unsure, say N.
886
887 To compile this driver as a module, choose M here: the module
888 will be called gptimers.ko.
889
Bryan Wu1394f032007-05-06 14:50:22 -0700890choice
Mike Frysingerd292b002008-10-28 11:15:36 +0800891 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700892 default DMA_UNCACHED_1M
Cliff Cai86ad7932008-05-17 16:36:52 +0800893config DMA_UNCACHED_4M
894 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700895config DMA_UNCACHED_2M
896 bool "Enable 2M DMA region"
897config DMA_UNCACHED_1M
898 bool "Enable 1M DMA region"
899config DMA_UNCACHED_NONE
900 bool "Disable DMA region"
901endchoice
902
903
904comment "Cache Support"
Robin Getz3bebca22007-10-10 23:55:26 +0800905config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700906 bool "Enable ICACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800907config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700908 bool "Enable DCACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800909config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700910 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800911 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700912 default n
Robin Getz3bebca22007-10-10 23:55:26 +0800913config BFIN_ICACHE_LOCK
914 bool "Enable Instruction Cache Locking"
Bryan Wu1394f032007-05-06 14:50:22 -0700915
916choice
Graf Yang5ba76672009-05-07 04:09:15 +0000917 prompt "External memory cache policy"
Robin Getz3bebca22007-10-10 23:55:26 +0800918 depends on BFIN_DCACHE
Graf Yang46fa5ee2009-01-07 23:14:39 +0800919 default BFIN_WB if !SMP
920 default BFIN_WT if SMP
Robin Getz3bebca22007-10-10 23:55:26 +0800921config BFIN_WB
Bryan Wu1394f032007-05-06 14:50:22 -0700922 bool "Write back"
Graf Yang46fa5ee2009-01-07 23:14:39 +0800923 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700924 help
925 Write Back Policy:
926 Cached data will be written back to SDRAM only when needed.
927 This can give a nice increase in performance, but beware of
928 broken drivers that do not properly invalidate/flush their
929 cache.
930
931 Write Through Policy:
932 Cached data will always be written back to SDRAM when the
933 cache is updated. This is a completely safe setting, but
934 performance is worse than Write Back.
935
936 If you are unsure of the options and you want to be safe,
937 then go with Write Through.
938
Robin Getz3bebca22007-10-10 23:55:26 +0800939config BFIN_WT
Bryan Wu1394f032007-05-06 14:50:22 -0700940 bool "Write through"
941 help
942 Write Back Policy:
943 Cached data will be written back to SDRAM only when needed.
944 This can give a nice increase in performance, but beware of
945 broken drivers that do not properly invalidate/flush their
946 cache.
947
948 Write Through Policy:
949 Cached data will always be written back to SDRAM when the
950 cache is updated. This is a completely safe setting, but
951 performance is worse than Write Back.
952
953 If you are unsure of the options and you want to be safe,
954 then go with Write Through.
955
956endchoice
957
Graf Yang5ba76672009-05-07 04:09:15 +0000958choice
959 prompt "L2 SRAM cache policy"
960 depends on (BF54x || BF561)
961 default BFIN_L2_WT
962config BFIN_L2_WB
963 bool "Write back"
964 depends on !SMP
965
966config BFIN_L2_WT
967 bool "Write through"
968 depends on !SMP
969
970config BFIN_L2_NOT_CACHED
971 bool "Not cached"
972
973endchoice
Sonic Zhangf099f392008-10-09 14:11:57 +0800974
Bernd Schmidtb97b8a92008-01-27 18:39:16 +0800975config MPU
976 bool "Enable the memory protection unit (EXPERIMENTAL)"
977 default n
978 help
979 Use the processor's MPU to protect applications from accessing
980 memory they do not own. This comes at a performance penalty
981 and is recommended only for debugging.
982
Matt LaPlante692105b2009-01-26 11:12:25 +0100983comment "Asynchronous Memory Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -0700984
Mike Frysingerddf416b2007-10-10 18:06:47 +0800985menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -0700986config C_AMCKEN
987 bool "Enable CLKOUT"
988 default y
989
990config C_CDPRIO
991 bool "DMA has priority over core for ext. accesses"
992 default n
993
994config C_B0PEN
995 depends on BF561
996 bool "Bank 0 16 bit packing enable"
997 default y
998
999config C_B1PEN
1000 depends on BF561
1001 bool "Bank 1 16 bit packing enable"
1002 default y
1003
1004config C_B2PEN
1005 depends on BF561
1006 bool "Bank 2 16 bit packing enable"
1007 default y
1008
1009config C_B3PEN
1010 depends on BF561
1011 bool "Bank 3 16 bit packing enable"
1012 default n
1013
1014choice
Matt LaPlante692105b2009-01-26 11:12:25 +01001015 prompt "Enable Asynchronous Memory Banks"
Bryan Wu1394f032007-05-06 14:50:22 -07001016 default C_AMBEN_ALL
1017
1018config C_AMBEN
1019 bool "Disable All Banks"
1020
1021config C_AMBEN_B0
1022 bool "Enable Bank 0"
1023
1024config C_AMBEN_B0_B1
1025 bool "Enable Bank 0 & 1"
1026
1027config C_AMBEN_B0_B1_B2
1028 bool "Enable Bank 0 & 1 & 2"
1029
1030config C_AMBEN_ALL
1031 bool "Enable All Banks"
1032endchoice
1033endmenu
1034
1035menu "EBIU_AMBCTL Control"
1036config BANK_0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001037 hex "Bank 0 (AMBCTL0.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001038 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001039 help
1040 These are the low 16 bits of the EBIU_AMBCTL0 MMR which are
1041 used to control the Asynchronous Memory Bank 0 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001042
1043config BANK_1
Mike Frysingerc8342f82009-03-31 00:18:35 +00001044 hex "Bank 1 (AMBCTL0.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001045 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +08001046 default 0x5558 if BF54x
Mike Frysingerc8342f82009-03-31 00:18:35 +00001047 help
1048 These are the high 16 bits of the EBIU_AMBCTL0 MMR which are
1049 used to control the Asynchronous Memory Bank 1 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001050
1051config BANK_2
Mike Frysingerc8342f82009-03-31 00:18:35 +00001052 hex "Bank 2 (AMBCTL1.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001053 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001054 help
1055 These are the low 16 bits of the EBIU_AMBCTL1 MMR which are
1056 used to control the Asynchronous Memory Bank 2 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001057
1058config BANK_3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001059 hex "Bank 3 (AMBCTL1.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001060 default 0x99B3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001061 help
1062 These are the high 16 bits of the EBIU_AMBCTL1 MMR which are
1063 used to control the Asynchronous Memory Bank 3 settings.
1064
Bryan Wu1394f032007-05-06 14:50:22 -07001065endmenu
1066
Sonic Zhange40540b2007-11-21 23:49:52 +08001067config EBIU_MBSCTLVAL
1068 hex "EBIU Bank Select Control Register"
1069 depends on BF54x
1070 default 0
1071
1072config EBIU_MODEVAL
1073 hex "Flash Memory Mode Control Register"
1074 depends on BF54x
1075 default 1
1076
1077config EBIU_FCTLVAL
1078 hex "Flash Memory Bank Control Register"
1079 depends on BF54x
1080 default 6
Bryan Wu1394f032007-05-06 14:50:22 -07001081endmenu
1082
1083#############################################################################
1084menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1085
1086config PCI
1087 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +08001088 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -07001089 help
1090 Support for PCI bus.
1091
1092source "drivers/pci/Kconfig"
1093
1094config HOTPLUG
1095 bool "Support for hot-pluggable device"
1096 help
1097 Say Y here if you want to plug devices into your computer while
1098 the system is running, and be able to use them quickly. In many
1099 cases, the devices can likewise be unplugged at any time too.
1100
1101 One well known example of this is PCMCIA- or PC-cards, credit-card
1102 size devices such as network cards, modems or hard drives which are
1103 plugged into slots found on all modern laptop computers. Another
1104 example, used on modern desktops as well as laptops, is USB.
1105
Johannes Berga81792f2008-07-08 19:00:25 +02001106 Enable HOTPLUG and build a modular kernel. Get agent software
1107 (from <http://linux-hotplug.sourceforge.net/>) and install it.
Bryan Wu1394f032007-05-06 14:50:22 -07001108 Then your kernel will automatically call out to a user mode "policy
1109 agent" (/sbin/hotplug) to load modules and set up software needed
1110 to use devices as you hotplug them.
1111
1112source "drivers/pcmcia/Kconfig"
1113
1114source "drivers/pci/hotplug/Kconfig"
1115
1116endmenu
1117
1118menu "Executable file formats"
1119
1120source "fs/Kconfig.binfmt"
1121
1122endmenu
1123
1124menu "Power management options"
1125source "kernel/power/Kconfig"
1126
Johannes Bergf4cb5702007-12-08 02:14:00 +01001127config ARCH_SUSPEND_POSSIBLE
1128 def_bool y
1129 depends on !SMP
1130
Bryan Wu1394f032007-05-06 14:50:22 -07001131choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001132 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -07001133 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001134 default PM_BFIN_SLEEP_DEEPER
1135config PM_BFIN_SLEEP_DEEPER
1136 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001137 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001138 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1139 power dissipation by disabling the clock to the processor core (CCLK).
1140 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1141 to 0.85 V to provide the greatest power savings, while preserving the
1142 processor state.
1143 The PLL and system clock (SCLK) continue to operate at a very low
1144 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1145 the SDRAM is put into Self Refresh Mode. Typically an external event
1146 such as GPIO interrupt or RTC activity wakes up the processor.
1147 Various Peripherals such as UART, SPORT, PPI may not function as
1148 normal during Sleep Deeper, due to the reduced SCLK frequency.
1149 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001150
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001151 If unsure, select "Sleep Deeper".
1152
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001153config PM_BFIN_SLEEP
1154 bool "Sleep"
1155 help
1156 Sleep Mode (High Power Savings) - The sleep mode reduces power
1157 dissipation by disabling the clock to the processor core (CCLK).
1158 The PLL and system clock (SCLK), however, continue to operate in
1159 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001160 up the processor. When in the sleep mode, system DMA access to L1
1161 memory is not supported.
1162
1163 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001164endchoice
1165
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001166config PM_WAKEUP_BY_GPIO
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001167 bool "Allow Wakeup from Standby by GPIO"
Michael Hennerichff19fed2009-03-04 17:35:51 +08001168 depends on PM && !BF54x
Bryan Wu1394f032007-05-06 14:50:22 -07001169
1170config PM_WAKEUP_GPIO_NUMBER
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001171 int "GPIO number"
Bryan Wu1394f032007-05-06 14:50:22 -07001172 range 0 47
1173 depends on PM_WAKEUP_BY_GPIO
Mike Frysingerd1a33362008-11-18 17:48:22 +08001174 default 2
Bryan Wu1394f032007-05-06 14:50:22 -07001175
1176choice
1177 prompt "GPIO Polarity"
1178 depends on PM_WAKEUP_BY_GPIO
1179 default PM_WAKEUP_GPIO_POLAR_H
1180config PM_WAKEUP_GPIO_POLAR_H
1181 bool "Active High"
1182config PM_WAKEUP_GPIO_POLAR_L
1183 bool "Active Low"
1184config PM_WAKEUP_GPIO_POLAR_EDGE_F
1185 bool "Falling EDGE"
1186config PM_WAKEUP_GPIO_POLAR_EDGE_R
1187 bool "Rising EDGE"
1188config PM_WAKEUP_GPIO_POLAR_EDGE_B
1189 bool "Both EDGE"
1190endchoice
1191
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001192comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1193 depends on PM
1194
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001195config PM_BFIN_WAKE_PH6
1196 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001197 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001198 default n
1199 help
1200 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1201
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001202config PM_BFIN_WAKE_GP
1203 bool "Allow Wake-Up from GPIOs"
1204 depends on PM && BF54x
1205 default n
1206 help
1207 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Michael Hennerich19986282009-03-05 16:45:55 +08001208 (all processors, except ADSP-BF549). This option sets
1209 the general-purpose wake-up enable (GPWE) control bit to enable
1210 wake-up upon detection of an active low signal on the /GPW (PH7) pin.
1211 On ADSP-BF549 this option enables the the same functionality on the
1212 /MRXON pin also PH7.
1213
Bryan Wu1394f032007-05-06 14:50:22 -07001214endmenu
1215
Bryan Wu1394f032007-05-06 14:50:22 -07001216menu "CPU Frequency scaling"
1217
1218source "drivers/cpufreq/Kconfig"
1219
Michael Hennerich5ad2ca52008-11-18 17:48:22 +08001220config BFIN_CPU_FREQ
1221 bool
1222 depends on CPU_FREQ
1223 select CPU_FREQ_TABLE
1224 default y
1225
Michael Hennerich14b03202008-05-07 11:41:26 +08001226config CPU_VOLTAGE
1227 bool "CPU Voltage scaling"
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001228 depends on EXPERIMENTAL
Michael Hennerich14b03202008-05-07 11:41:26 +08001229 depends on CPU_FREQ
1230 default n
1231 help
1232 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1233 This option violates the PLL BYPASS recommendation in the Blackfin Processor
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001234 manuals. There is a theoretical risk that during VDDINT transitions
Michael Hennerich14b03202008-05-07 11:41:26 +08001235 the PLL may unlock.
1236
Bryan Wu1394f032007-05-06 14:50:22 -07001237endmenu
1238
Bryan Wu1394f032007-05-06 14:50:22 -07001239source "net/Kconfig"
1240
1241source "drivers/Kconfig"
1242
1243source "fs/Kconfig"
1244
Mike Frysinger74ce8322007-11-21 23:50:49 +08001245source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001246
1247source "security/Kconfig"
1248
1249source "crypto/Kconfig"
1250
1251source "lib/Kconfig"