blob: 2cf455a7c0115812e10ae95ce2320a01a581fdd8 [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
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050023 select HAVE_OPROFILE
Michael Hennericha4f0b32c2008-11-18 17:48:22 +080024 select ARCH_WANT_OPTIONAL_GPIOLIB
Bryan Wu1394f032007-05-06 14:50:22 -070025
Mike Frysinger70f12562009-06-07 17:18:25 -040026config GENERIC_BUG
27 def_bool y
28 depends on BUG
29
Aubrey Lie3defff2007-05-21 18:09:11 +080030config ZONE_DMA
Mike Frysingerbac7d892009-06-07 03:46:06 -040031 def_bool y
Aubrey Lie3defff2007-05-21 18:09:11 +080032
Bryan Wu1394f032007-05-06 14:50:22 -070033config GENERIC_FIND_NEXT_BIT
Mike Frysingerbac7d892009-06-07 03:46:06 -040034 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070035
36config GENERIC_HWEIGHT
Mike Frysingerbac7d892009-06-07 03:46:06 -040037 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070038
39config GENERIC_HARDIRQS
Mike Frysingerbac7d892009-06-07 03:46:06 -040040 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070041
42config GENERIC_IRQ_PROBE
Mike Frysingerbac7d892009-06-07 03:46:06 -040043 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070044
Michael Hennerichb2d15832007-07-24 15:46:36 +080045config GENERIC_GPIO
Mike Frysingerbac7d892009-06-07 03:46:06 -040046 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070047
48config FORCE_MAX_ZONEORDER
49 int
50 default "14"
51
52config GENERIC_CALIBRATE_DELAY
Mike Frysingerbac7d892009-06-07 03:46:06 -040053 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070054
Bryan Wu1394f032007-05-06 14:50:22 -070055source "init/Kconfig"
Matt Helsleydc52ddc2008-10-18 20:27:21 -070056
Bryan Wu1394f032007-05-06 14:50:22 -070057source "kernel/Kconfig.preempt"
58
Matt Helsleydc52ddc2008-10-18 20:27:21 -070059source "kernel/Kconfig.freezer"
60
Bryan Wu1394f032007-05-06 14:50:22 -070061menu "Blackfin Processor Options"
62
63comment "Processor and Board Settings"
64
65choice
66 prompt "CPU"
67 default BF533
68
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080069config BF512
70 bool "BF512"
71 help
72 BF512 Processor Support.
73
74config BF514
75 bool "BF514"
76 help
77 BF514 Processor Support.
78
79config BF516
80 bool "BF516"
81 help
82 BF516 Processor Support.
83
84config BF518
85 bool "BF518"
86 help
87 BF518 Processor Support.
88
Michael Hennerich59003142007-10-21 16:54:27 +080089config BF522
90 bool "BF522"
91 help
92 BF522 Processor Support.
93
Mike Frysinger1545a112007-12-24 16:54:48 +080094config BF523
95 bool "BF523"
96 help
97 BF523 Processor Support.
98
99config BF524
100 bool "BF524"
101 help
102 BF524 Processor Support.
103
Michael Hennerich59003142007-10-21 16:54:27 +0800104config BF525
105 bool "BF525"
106 help
107 BF525 Processor Support.
108
Mike Frysinger1545a112007-12-24 16:54:48 +0800109config BF526
110 bool "BF526"
111 help
112 BF526 Processor Support.
113
Michael Hennerich59003142007-10-21 16:54:27 +0800114config BF527
115 bool "BF527"
116 help
117 BF527 Processor Support.
118
Bryan Wu1394f032007-05-06 14:50:22 -0700119config BF531
120 bool "BF531"
121 help
122 BF531 Processor Support.
123
124config BF532
125 bool "BF532"
126 help
127 BF532 Processor Support.
128
129config BF533
130 bool "BF533"
131 help
132 BF533 Processor Support.
133
134config BF534
135 bool "BF534"
136 help
137 BF534 Processor Support.
138
139config BF536
140 bool "BF536"
141 help
142 BF536 Processor Support.
143
144config BF537
145 bool "BF537"
146 help
147 BF537 Processor Support.
148
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800149config BF538
150 bool "BF538"
151 help
152 BF538 Processor Support.
153
154config BF539
155 bool "BF539"
156 help
157 BF539 Processor Support.
158
Roy Huang24a07a12007-07-12 22:41:45 +0800159config BF542
160 bool "BF542"
161 help
162 BF542 Processor Support.
163
Mike Frysinger2f89c062009-02-04 16:49:45 +0800164config BF542M
165 bool "BF542m"
166 help
167 BF542 Processor Support.
168
Roy Huang24a07a12007-07-12 22:41:45 +0800169config BF544
170 bool "BF544"
171 help
172 BF544 Processor Support.
173
Mike Frysinger2f89c062009-02-04 16:49:45 +0800174config BF544M
175 bool "BF544m"
176 help
177 BF544 Processor Support.
178
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800179config BF547
180 bool "BF547"
181 help
182 BF547 Processor Support.
183
Mike Frysinger2f89c062009-02-04 16:49:45 +0800184config BF547M
185 bool "BF547m"
186 help
187 BF547 Processor Support.
188
Roy Huang24a07a12007-07-12 22:41:45 +0800189config BF548
190 bool "BF548"
191 help
192 BF548 Processor Support.
193
Mike Frysinger2f89c062009-02-04 16:49:45 +0800194config BF548M
195 bool "BF548m"
196 help
197 BF548 Processor Support.
198
Roy Huang24a07a12007-07-12 22:41:45 +0800199config BF549
200 bool "BF549"
201 help
202 BF549 Processor Support.
203
Mike Frysinger2f89c062009-02-04 16:49:45 +0800204config BF549M
205 bool "BF549m"
206 help
207 BF549 Processor Support.
208
Bryan Wu1394f032007-05-06 14:50:22 -0700209config BF561
210 bool "BF561"
211 help
Mike Frysingercd88b4d2008-10-09 12:03:22 +0800212 BF561 Processor Support.
Bryan Wu1394f032007-05-06 14:50:22 -0700213
214endchoice
215
Graf Yang46fa5ee2009-01-07 23:14:39 +0800216config SMP
217 depends on BF561
Graf Yang9b9bfde2009-05-27 09:58:35 +0000218 select GENERIC_TIME
Graf Yang46fa5ee2009-01-07 23:14:39 +0800219 bool "Symmetric multi-processing support"
220 ---help---
221 This enables support for systems with more than one CPU,
222 like the dual core BF561. If you have a system with only one
223 CPU, say N. If you have a system with more than one CPU, say Y.
224
225 If you don't know what to do here, say N.
226
227config NR_CPUS
228 int
229 depends on SMP
230 default 2 if BF561
231
232config IRQ_PER_CPU
233 bool
234 depends on SMP
235 default y
236
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800237config BF_REV_MIN
238 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800239 default 0 if (BF51x || BF52x || (BF54x && !BF54xM))
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800240 default 2 if (BF537 || BF536 || BF534)
Mike Frysinger2f89c062009-02-04 16:49:45 +0800241 default 3 if (BF561 || BF533 || BF532 || BF531 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800242 default 4 if (BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800243
244config BF_REV_MAX
245 int
Mike Frysinger2f89c062009-02-04 16:49:45 +0800246 default 2 if (BF51x || BF52x || (BF54x && !BF54xM))
247 default 3 if (BF537 || BF536 || BF534 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800248 default 5 if (BF561 || BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800249 default 6 if (BF533 || BF532 || BF531)
250
Bryan Wu1394f032007-05-06 14:50:22 -0700251choice
252 prompt "Silicon Rev"
Mike Frysingerf8b55652009-04-13 21:58:34 +0000253 default BF_REV_0_0 if (BF51x || BF52x)
254 default BF_REV_0_2 if (BF534 || BF536 || BF537 || (BF54x && !BF54xM))
Mike Frysinger2f89c062009-02-04 16:49:45 +0800255 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF54xM || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800256
257config BF_REV_0_0
258 bool "0.0"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800259 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Michael Hennerich59003142007-10-21 16:54:27 +0800260
261config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800262 bool "0.1"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800263 depends on (BF52x || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700264
265config BF_REV_0_2
266 bool "0.2"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800267 depends on (BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700268
269config BF_REV_0_3
270 bool "0.3"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800271 depends on (BF54xM || BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
Bryan Wu1394f032007-05-06 14:50:22 -0700272
273config BF_REV_0_4
274 bool "0.4"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800275 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700276
277config BF_REV_0_5
278 bool "0.5"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800279 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700280
Mike Frysinger49f72532008-10-09 12:06:27 +0800281config BF_REV_0_6
282 bool "0.6"
283 depends on (BF533 || BF532 || BF531)
284
Jie Zhangde3025f2007-06-25 18:04:12 +0800285config BF_REV_ANY
286 bool "any"
287
288config BF_REV_NONE
289 bool "none"
290
Bryan Wu1394f032007-05-06 14:50:22 -0700291endchoice
292
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800293config BF51x
294 bool
295 depends on (BF512 || BF514 || BF516 || BF518)
296 default y
297
Michael Hennerich59003142007-10-21 16:54:27 +0800298config BF52x
299 bool
Mike Frysinger1545a112007-12-24 16:54:48 +0800300 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
Michael Hennerich59003142007-10-21 16:54:27 +0800301 default y
302
Roy Huang24a07a12007-07-12 22:41:45 +0800303config BF53x
304 bool
305 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
306 default y
307
Mike Frysinger2f89c062009-02-04 16:49:45 +0800308config BF54xM
309 bool
310 depends on (BF542M || BF544M || BF547M || BF548M || BF549M)
311 default y
312
Roy Huang24a07a12007-07-12 22:41:45 +0800313config BF54x
314 bool
Mike Frysinger2f89c062009-02-04 16:49:45 +0800315 depends on (BF542 || BF544 || BF547 || BF548 || BF549 || BF54xM)
Roy Huang24a07a12007-07-12 22:41:45 +0800316 default y
317
Bryan Wu1394f032007-05-06 14:50:22 -0700318config MEM_GENERIC_BOARD
319 bool
320 depends on GENERIC_BOARD
321 default y
322
323config MEM_MT48LC64M4A2FB_7E
324 bool
325 depends on (BFIN533_STAMP)
326 default y
327
328config MEM_MT48LC16M16A2TG_75
329 bool
330 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Javier Herreroab472a02007-10-29 16:14:44 +0800331 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
Michael Hennerich9db144f2008-07-19 17:16:07 +0800332 || H8606_HVSISTEMAS || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700333 default y
334
335config MEM_MT48LC32M8A2_75
336 bool
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800337 depends on (BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700338 default y
339
340config MEM_MT48LC8M32B2B5_7
341 bool
342 depends on (BFIN561_BLUETECHNIX_CM)
343 default y
344
Michael Hennerich59003142007-10-21 16:54:27 +0800345config MEM_MT48LC32M16A2TG_75
346 bool
Michael Hennerich8cc71172008-10-13 14:45:06 +0800347 depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP || BFIN526_EZBRD)
Michael Hennerich59003142007-10-21 16:54:27 +0800348 default y
349
Sonic Zhang49345402009-01-07 23:14:38 +0800350config MEM_MT48LC32M8A2_75
351 bool
352 depends on (BFIN518F_EZBRD)
353 default y
354
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800355source "arch/blackfin/mach-bf518/Kconfig"
Michael Hennerich59003142007-10-21 16:54:27 +0800356source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700357source "arch/blackfin/mach-bf533/Kconfig"
358source "arch/blackfin/mach-bf561/Kconfig"
359source "arch/blackfin/mach-bf537/Kconfig"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800360source "arch/blackfin/mach-bf538/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800361source "arch/blackfin/mach-bf548/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700362
363menu "Board customizations"
364
365config CMDLINE_BOOL
366 bool "Default bootloader kernel arguments"
367
368config CMDLINE
369 string "Initial kernel command string"
370 depends on CMDLINE_BOOL
371 default "console=ttyBF0,57600"
372 help
373 If you don't have a boot loader capable of passing a command line string
374 to the kernel, you may specify one here. As a minimum, you should specify
375 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
376
Mike Frysinger5f004c22008-04-25 02:11:24 +0800377config BOOT_LOAD
378 hex "Kernel load address for booting"
379 default "0x1000"
380 range 0x1000 0x20000000
381 help
382 This option allows you to set the load address of the kernel.
383 This can be useful if you are on a board which has a small amount
384 of memory or you wish to reserve some memory at the beginning of
385 the address space.
386
387 Note that you need to keep this value above 4k (0x1000) as this
388 memory region is used to capture NULL pointer references as well
389 as some core kernel functions.
390
Michael Hennerich8cc71172008-10-13 14:45:06 +0800391config ROM_BASE
392 hex "Kernel ROM Base"
Mike Frysinger86249912008-11-18 17:48:22 +0800393 depends on ROMKERNEL
Michael Hennerich8cc71172008-10-13 14:45:06 +0800394 default "0x20040000"
395 range 0x20000000 0x20400000 if !(BF54x || BF561)
396 range 0x20000000 0x30000000 if (BF54x || BF561)
397 help
398
Robin Getzf16295e2007-08-03 18:07:17 +0800399comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700400
401config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800402 int "Frequency of the crystal on the board in Hz"
Bryan Wu1394f032007-05-06 14:50:22 -0700403 default "11059200" if BFIN533_STAMP
404 default "27000000" if BFIN533_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800405 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN538_EZKIT || BFIN518F-EZBRD)
Bryan Wu1394f032007-05-06 14:50:22 -0700406 default "30000000" if BFIN561_EZKIT
407 default "24576000" if PNAV10
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800408 default "10000000" if BFIN532_IP0X
Bryan Wu1394f032007-05-06 14:50:22 -0700409 help
410 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800411 Warning: This value should match the crystal on the board. Otherwise,
412 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700413
Robin Getzf16295e2007-08-03 18:07:17 +0800414config BFIN_KERNEL_CLOCK
415 bool "Re-program Clocks while Kernel boots?"
416 default n
417 help
418 This option decides if kernel clocks are re-programed from the
419 bootloader settings. If the clocks are not set, the SDRAM settings
420 are also not changed, and the Bootloader does 100% of the hardware
421 configuration.
422
423config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800424 bool "Bypass PLL"
425 depends on BFIN_KERNEL_CLOCK
426 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800427
428config CLKIN_HALF
429 bool "Half Clock In"
430 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
431 default n
432 help
433 If this is set the clock will be divided by 2, before it goes to the PLL.
434
435config VCO_MULT
436 int "VCO Multiplier"
437 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
438 range 1 64
439 default "22" if BFIN533_EZKIT
440 default "45" if BFIN533_STAMP
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800441 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800442 default "22" if BFIN533_BLUETECHNIX_CM
Michael Hennerich9db144f2008-07-19 17:16:07 +0800443 default "20" if (BFIN537_BLUETECHNIX_CM || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Robin Getzf16295e2007-08-03 18:07:17 +0800444 default "20" if BFIN561_EZKIT
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800445 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
Robin Getzf16295e2007-08-03 18:07:17 +0800446 help
447 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
448 PLL Frequency = (Crystal Frequency) * (this setting)
449
450choice
451 prompt "Core Clock Divider"
452 depends on BFIN_KERNEL_CLOCK
453 default CCLK_DIV_1
454 help
455 This sets the frequency of the core. It can be 1, 2, 4 or 8
456 Core Frequency = (PLL frequency) / (this setting)
457
458config CCLK_DIV_1
459 bool "1"
460
461config CCLK_DIV_2
462 bool "2"
463
464config CCLK_DIV_4
465 bool "4"
466
467config CCLK_DIV_8
468 bool "8"
469endchoice
470
471config SCLK_DIV
472 int "System Clock Divider"
473 depends on BFIN_KERNEL_CLOCK
474 range 1 15
Mike Frysinger5f004c22008-04-25 02:11:24 +0800475 default 5
Robin Getzf16295e2007-08-03 18:07:17 +0800476 help
477 This sets the frequency of the system clock (including SDRAM or DDR).
478 This can be between 1 and 15
479 System Clock = (PLL frequency) / (this setting)
480
Mike Frysinger5f004c22008-04-25 02:11:24 +0800481choice
482 prompt "DDR SDRAM Chip Type"
483 depends on BFIN_KERNEL_CLOCK
484 depends on BF54x
485 default MEM_MT46V32M16_5B
486
487config MEM_MT46V32M16_6T
488 bool "MT46V32M16_6T"
489
490config MEM_MT46V32M16_5B
491 bool "MT46V32M16_5B"
492endchoice
493
Michael Hennerich73feb5c2009-01-07 23:14:39 +0800494choice
495 prompt "DDR/SDRAM Timing"
496 depends on BFIN_KERNEL_CLOCK
497 default BFIN_KERNEL_CLOCK_MEMINIT_CALC
498 help
499 This option allows you to specify Blackfin SDRAM/DDR Timing parameters
500 The calculated SDRAM timing parameters may not be 100%
501 accurate - This option is therefore marked experimental.
502
503config BFIN_KERNEL_CLOCK_MEMINIT_CALC
504 bool "Calculate Timings (EXPERIMENTAL)"
505 depends on EXPERIMENTAL
506
507config BFIN_KERNEL_CLOCK_MEMINIT_SPEC
508 bool "Provide accurate Timings based on target SCLK"
509 help
510 Please consult the Blackfin Hardware Reference Manuals as well
511 as the memory device datasheet.
512 http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram
513endchoice
514
515menu "Memory Init Control"
516 depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC
517
518config MEM_DDRCTL0
519 depends on BF54x
520 hex "DDRCTL0"
521 default 0x0
522
523config MEM_DDRCTL1
524 depends on BF54x
525 hex "DDRCTL1"
526 default 0x0
527
528config MEM_DDRCTL2
529 depends on BF54x
530 hex "DDRCTL2"
531 default 0x0
532
533config MEM_EBIU_DDRQUE
534 depends on BF54x
535 hex "DDRQUE"
536 default 0x0
537
538config MEM_SDRRC
539 depends on !BF54x
540 hex "SDRRC"
541 default 0x0
542
543config MEM_SDGCTL
544 depends on !BF54x
545 hex "SDGCTL"
546 default 0x0
547endmenu
548
Robin Getzf16295e2007-08-03 18:07:17 +0800549#
550# Max & Min Speeds for various Chips
551#
552config MAX_VCO_HZ
553 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800554 default 400000000 if BF512
555 default 400000000 if BF514
556 default 400000000 if BF516
557 default 400000000 if BF518
Robin Getzf16295e2007-08-03 18:07:17 +0800558 default 600000000 if BF522
Mike Frysinger1545a112007-12-24 16:54:48 +0800559 default 400000000 if BF523
560 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800561 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800562 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800563 default 600000000 if BF527
564 default 400000000 if BF531
565 default 400000000 if BF532
566 default 750000000 if BF533
567 default 500000000 if BF534
568 default 400000000 if BF536
569 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800570 default 533333333 if BF538
571 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800572 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800573 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800574 default 600000000 if BF547
575 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800576 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800577 default 600000000 if BF561
578
579config MIN_VCO_HZ
580 int
581 default 50000000
582
583config MAX_SCLK_HZ
584 int
Robin Getzf72eecb2007-11-21 16:29:20 +0800585 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800586
587config MIN_SCLK_HZ
588 int
589 default 27000000
590
591comment "Kernel Timer/Scheduler"
592
593source kernel/Kconfig.hz
594
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800595config GENERIC_TIME
596 bool "Generic time"
597 default y
598
599config GENERIC_CLOCKEVENTS
600 bool "Generic clock events"
601 depends on GENERIC_TIME
602 default y
603
Graf Yang1fa9be72009-05-15 11:01:59 +0000604choice
605 prompt "Kernel Tick Source"
606 depends on GENERIC_CLOCKEVENTS
607 default TICKSOURCE_CORETMR
608
609config TICKSOURCE_GPTMR0
610 bool "Gptimer0 (SCLK domain)"
611 select BFIN_GPTIMERS
612 depends on !IPIPE
613
614config TICKSOURCE_CORETMR
615 bool "Core timer (CCLK domain)"
616
617endchoice
618
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800619config CYCLES_CLOCKSOURCE
Graf Yang1fa9be72009-05-15 11:01:59 +0000620 bool "Use 'CYCLES' as a clocksource"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800621 depends on GENERIC_CLOCKEVENTS
622 depends on !BFIN_SCRATCH_REG_CYCLES
Graf Yang1fa9be72009-05-15 11:01:59 +0000623 depends on !SMP
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800624 help
625 If you say Y here, you will enable support for using the 'cycles'
626 registers as a clock source. Doing so means you will be unable to
627 safely write to the 'cycles' register during runtime. You will
628 still be able to read it (such as for performance monitoring), but
629 writing the registers will most likely crash the kernel.
630
Graf Yang1fa9be72009-05-15 11:01:59 +0000631config GPTMR0_CLOCKSOURCE
632 bool "Use GPTimer0 as a clocksource (higher rating)"
633 depends on GENERIC_CLOCKEVENTS
634 depends on !TICKSOURCE_GPTMR0
635
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800636source kernel/time/Kconfig
637
Mike Frysinger5f004c22008-04-25 02:11:24 +0800638comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800639
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800640choice
641 prompt "Blackfin Exception Scratch Register"
642 default BFIN_SCRATCH_REG_RETN
643 help
644 Select the resource to reserve for the Exception handler:
645 - RETN: Non-Maskable Interrupt (NMI)
646 - RETE: Exception Return (JTAG/ICE)
647 - CYCLES: Performance counter
648
649 If you are unsure, please select "RETN".
650
651config BFIN_SCRATCH_REG_RETN
652 bool "RETN"
653 help
654 Use the RETN register in the Blackfin exception handler
655 as a stack scratch register. This means you cannot
656 safely use NMI on the Blackfin while running Linux, but
657 you can debug the system with a JTAG ICE and use the
658 CYCLES performance registers.
659
660 If you are unsure, please select "RETN".
661
662config BFIN_SCRATCH_REG_RETE
663 bool "RETE"
664 help
665 Use the RETE register in the Blackfin exception handler
666 as a stack scratch register. This means you cannot
667 safely use a JTAG ICE while debugging a Blackfin board,
668 but you can safely use the CYCLES performance registers
669 and the NMI.
670
671 If you are unsure, please select "RETN".
672
673config BFIN_SCRATCH_REG_CYCLES
674 bool "CYCLES"
675 help
676 Use the CYCLES register in the Blackfin exception handler
677 as a stack scratch register. This means you cannot
678 safely use the CYCLES performance registers on a Blackfin
679 board at anytime, but you can debug the system with a JTAG
680 ICE and use the NMI.
681
682 If you are unsure, please select "RETN".
683
684endchoice
685
Bryan Wu1394f032007-05-06 14:50:22 -0700686endmenu
687
688
689menu "Blackfin Kernel Optimizations"
Graf Yang46fa5ee2009-01-07 23:14:39 +0800690 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700691
Bryan Wu1394f032007-05-06 14:50:22 -0700692comment "Memory Optimizations"
693
694config I_ENTRY_L1
695 bool "Locate interrupt entry code in L1 Memory"
696 default y
697 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200698 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
699 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700700
701config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200702 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700703 default y
704 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200705 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800706 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200707 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700708
709config DO_IRQ_L1
710 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
711 default y
712 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200713 If enabled, the frequently called do_irq dispatcher function is linked
714 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700715
716config CORE_TIMER_IRQ_L1
717 bool "Locate frequently called timer_interrupt() function in L1 Memory"
718 default y
719 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200720 If enabled, the frequently called timer_interrupt() function is linked
721 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700722
723config IDLE_L1
724 bool "Locate frequently idle function in L1 Memory"
725 default y
726 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200727 If enabled, the frequently called idle function is linked
728 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700729
730config SCHEDULE_L1
731 bool "Locate kernel schedule function in L1 Memory"
732 default y
733 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200734 If enabled, the frequently called kernel schedule is linked
735 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700736
737config ARITHMETIC_OPS_L1
738 bool "Locate kernel owned arithmetic functions in L1 Memory"
739 default y
740 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200741 If enabled, arithmetic functions are linked
742 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700743
744config ACCESS_OK_L1
745 bool "Locate access_ok function in L1 Memory"
746 default y
747 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200748 If enabled, the access_ok function is linked
749 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700750
751config MEMSET_L1
752 bool "Locate memset function in L1 Memory"
753 default y
754 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200755 If enabled, the memset function is linked
756 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700757
758config MEMCPY_L1
759 bool "Locate memcpy function in L1 Memory"
760 default y
761 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200762 If enabled, the memcpy function is linked
763 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700764
765config SYS_BFIN_SPINLOCK_L1
766 bool "Locate sys_bfin_spinlock function in L1 Memory"
767 default y
768 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200769 If enabled, sys_bfin_spinlock function is linked
770 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700771
772config IP_CHECKSUM_L1
773 bool "Locate IP Checksum function in L1 Memory"
774 default n
775 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200776 If enabled, the IP Checksum function is linked
777 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700778
779config CACHELINE_ALIGNED_L1
780 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800781 default y if !BF54x
782 default n if BF54x
Bryan Wu1394f032007-05-06 14:50:22 -0700783 depends on !BF531
784 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100785 If enabled, cacheline_aligned data is linked
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200786 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700787
788config SYSCALL_TAB_L1
789 bool "Locate Syscall Table L1 Data Memory"
790 default n
791 depends on !BF531
792 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200793 If enabled, the Syscall LUT is linked
794 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700795
796config CPLB_SWITCH_TAB_L1
797 bool "Locate CPLB Switch Tables L1 Data Memory"
798 default n
799 depends on !BF531
800 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200801 If enabled, the CPLB Switch Tables are linked
802 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700803
Graf Yangca87b7a2008-10-08 17:30:01 +0800804config APP_STACK_L1
805 bool "Support locating application stack in L1 Scratch Memory"
806 default y
807 help
808 If enabled the application stack can be located in L1
809 scratch memory (less latency).
810
811 Currently only works with FLAT binaries.
812
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800813config EXCEPTION_L1_SCRATCH
814 bool "Locate exception stack in L1 Scratch Memory"
815 default n
Graf Yangf82e0a02009-04-08 08:30:22 +0000816 depends on !APP_STACK_L1
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800817 help
818 Whenever an exception occurs, use the L1 Scratch memory for
819 stack storage. You cannot place the stacks of FLAT binaries
820 in L1 when using this option.
821
822 If you don't use L1 Scratch, then you should say Y here.
823
Robin Getz251383c2008-08-14 15:12:55 +0800824comment "Speed Optimizations"
825config BFIN_INS_LOWOVERHEAD
826 bool "ins[bwl] low overhead, higher interrupt latency"
827 default y
828 help
829 Reads on the Blackfin are speculative. In Blackfin terms, this means
830 they can be interrupted at any time (even after they have been issued
831 on to the external bus), and re-issued after the interrupt occurs.
832 For memory - this is not a big deal, since memory does not change if
833 it sees a read.
834
835 If a FIFO is sitting on the end of the read, it will see two reads,
836 when the core only sees one since the FIFO receives both the read
837 which is cancelled (and not delivered to the core) and the one which
838 is re-issued (which is delivered to the core).
839
840 To solve this, interrupts are turned off before reads occur to
841 I/O space. This option controls which the overhead/latency of
842 controlling interrupts during this time
843 "n" turns interrupts off every read
844 (higher overhead, but lower interrupt latency)
845 "y" turns interrupts off every loop
846 (low overhead, but longer interrupt latency)
847
848 default behavior is to leave this set to on (type "Y"). If you are experiencing
849 interrupt latency issues, it is safe and OK to turn this off.
850
Bryan Wu1394f032007-05-06 14:50:22 -0700851endmenu
852
Bryan Wu1394f032007-05-06 14:50:22 -0700853choice
854 prompt "Kernel executes from"
855 help
856 Choose the memory type that the kernel will be running in.
857
858config RAMKERNEL
859 bool "RAM"
860 help
861 The kernel will be resident in RAM when running.
862
863config ROMKERNEL
864 bool "ROM"
865 help
866 The kernel will be resident in FLASH/ROM when running.
867
868endchoice
869
870source "mm/Kconfig"
871
Mike Frysinger780431e2007-10-21 23:37:54 +0800872config BFIN_GPTIMERS
873 tristate "Enable Blackfin General Purpose Timers API"
874 default n
875 help
876 Enable support for the General Purpose Timers API. If you
877 are unsure, say N.
878
879 To compile this driver as a module, choose M here: the module
880 will be called gptimers.ko.
881
Bryan Wu1394f032007-05-06 14:50:22 -0700882choice
Mike Frysingerd292b002008-10-28 11:15:36 +0800883 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700884 default DMA_UNCACHED_1M
Cliff Cai86ad7932008-05-17 16:36:52 +0800885config DMA_UNCACHED_4M
886 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -0700887config DMA_UNCACHED_2M
888 bool "Enable 2M DMA region"
889config DMA_UNCACHED_1M
890 bool "Enable 1M DMA region"
891config DMA_UNCACHED_NONE
892 bool "Disable DMA region"
893endchoice
894
895
896comment "Cache Support"
Robin Getz3bebca22007-10-10 23:55:26 +0800897config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700898 bool "Enable ICACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800899config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -0700900 bool "Enable DCACHE"
Robin Getz3bebca22007-10-10 23:55:26 +0800901config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -0700902 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +0800903 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700904 default n
Robin Getz3bebca22007-10-10 23:55:26 +0800905config BFIN_ICACHE_LOCK
906 bool "Enable Instruction Cache Locking"
Bryan Wu1394f032007-05-06 14:50:22 -0700907
908choice
Graf Yang5ba76672009-05-07 04:09:15 +0000909 prompt "External memory cache policy"
Robin Getz3bebca22007-10-10 23:55:26 +0800910 depends on BFIN_DCACHE
Graf Yang46fa5ee2009-01-07 23:14:39 +0800911 default BFIN_WB if !SMP
912 default BFIN_WT if SMP
Robin Getz3bebca22007-10-10 23:55:26 +0800913config BFIN_WB
Bryan Wu1394f032007-05-06 14:50:22 -0700914 bool "Write back"
Graf Yang46fa5ee2009-01-07 23:14:39 +0800915 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700916 help
917 Write Back Policy:
918 Cached data will be written back to SDRAM only when needed.
919 This can give a nice increase in performance, but beware of
920 broken drivers that do not properly invalidate/flush their
921 cache.
922
923 Write Through Policy:
924 Cached data will always be written back to SDRAM when the
925 cache is updated. This is a completely safe setting, but
926 performance is worse than Write Back.
927
928 If you are unsure of the options and you want to be safe,
929 then go with Write Through.
930
Robin Getz3bebca22007-10-10 23:55:26 +0800931config BFIN_WT
Bryan Wu1394f032007-05-06 14:50:22 -0700932 bool "Write through"
933 help
934 Write Back Policy:
935 Cached data will be written back to SDRAM only when needed.
936 This can give a nice increase in performance, but beware of
937 broken drivers that do not properly invalidate/flush their
938 cache.
939
940 Write Through Policy:
941 Cached data will always be written back to SDRAM when the
942 cache is updated. This is a completely safe setting, but
943 performance is worse than Write Back.
944
945 If you are unsure of the options and you want to be safe,
946 then go with Write Through.
947
948endchoice
949
Graf Yang5ba76672009-05-07 04:09:15 +0000950choice
951 prompt "L2 SRAM cache policy"
952 depends on (BF54x || BF561)
953 default BFIN_L2_WT
954config BFIN_L2_WB
955 bool "Write back"
956 depends on !SMP
957
958config BFIN_L2_WT
959 bool "Write through"
960 depends on !SMP
961
962config BFIN_L2_NOT_CACHED
963 bool "Not cached"
964
965endchoice
Sonic Zhangf099f392008-10-09 14:11:57 +0800966
Bernd Schmidtb97b8a92008-01-27 18:39:16 +0800967config MPU
968 bool "Enable the memory protection unit (EXPERIMENTAL)"
969 default n
970 help
971 Use the processor's MPU to protect applications from accessing
972 memory they do not own. This comes at a performance penalty
973 and is recommended only for debugging.
974
Matt LaPlante692105b2009-01-26 11:12:25 +0100975comment "Asynchronous Memory Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -0700976
Mike Frysingerddf416b2007-10-10 18:06:47 +0800977menu "EBIU_AMGCTL Global Control"
Bryan Wu1394f032007-05-06 14:50:22 -0700978config C_AMCKEN
979 bool "Enable CLKOUT"
980 default y
981
982config C_CDPRIO
983 bool "DMA has priority over core for ext. accesses"
984 default n
985
986config C_B0PEN
987 depends on BF561
988 bool "Bank 0 16 bit packing enable"
989 default y
990
991config C_B1PEN
992 depends on BF561
993 bool "Bank 1 16 bit packing enable"
994 default y
995
996config C_B2PEN
997 depends on BF561
998 bool "Bank 2 16 bit packing enable"
999 default y
1000
1001config C_B3PEN
1002 depends on BF561
1003 bool "Bank 3 16 bit packing enable"
1004 default n
1005
1006choice
Matt LaPlante692105b2009-01-26 11:12:25 +01001007 prompt "Enable Asynchronous Memory Banks"
Bryan Wu1394f032007-05-06 14:50:22 -07001008 default C_AMBEN_ALL
1009
1010config C_AMBEN
1011 bool "Disable All Banks"
1012
1013config C_AMBEN_B0
1014 bool "Enable Bank 0"
1015
1016config C_AMBEN_B0_B1
1017 bool "Enable Bank 0 & 1"
1018
1019config C_AMBEN_B0_B1_B2
1020 bool "Enable Bank 0 & 1 & 2"
1021
1022config C_AMBEN_ALL
1023 bool "Enable All Banks"
1024endchoice
1025endmenu
1026
1027menu "EBIU_AMBCTL Control"
1028config BANK_0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001029 hex "Bank 0 (AMBCTL0.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001030 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001031 help
1032 These are the low 16 bits of the EBIU_AMBCTL0 MMR which are
1033 used to control the Asynchronous Memory Bank 0 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001034
1035config BANK_1
Mike Frysingerc8342f82009-03-31 00:18:35 +00001036 hex "Bank 1 (AMBCTL0.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001037 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +08001038 default 0x5558 if BF54x
Mike Frysingerc8342f82009-03-31 00:18:35 +00001039 help
1040 These are the high 16 bits of the EBIU_AMBCTL0 MMR which are
1041 used to control the Asynchronous Memory Bank 1 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001042
1043config BANK_2
Mike Frysingerc8342f82009-03-31 00:18:35 +00001044 hex "Bank 2 (AMBCTL1.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001045 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001046 help
1047 These are the low 16 bits of the EBIU_AMBCTL1 MMR which are
1048 used to control the Asynchronous Memory Bank 2 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001049
1050config BANK_3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001051 hex "Bank 3 (AMBCTL1.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001052 default 0x99B3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001053 help
1054 These are the high 16 bits of the EBIU_AMBCTL1 MMR which are
1055 used to control the Asynchronous Memory Bank 3 settings.
1056
Bryan Wu1394f032007-05-06 14:50:22 -07001057endmenu
1058
Sonic Zhange40540b2007-11-21 23:49:52 +08001059config EBIU_MBSCTLVAL
1060 hex "EBIU Bank Select Control Register"
1061 depends on BF54x
1062 default 0
1063
1064config EBIU_MODEVAL
1065 hex "Flash Memory Mode Control Register"
1066 depends on BF54x
1067 default 1
1068
1069config EBIU_FCTLVAL
1070 hex "Flash Memory Bank Control Register"
1071 depends on BF54x
1072 default 6
Bryan Wu1394f032007-05-06 14:50:22 -07001073endmenu
1074
1075#############################################################################
1076menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1077
1078config PCI
1079 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +08001080 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -07001081 help
1082 Support for PCI bus.
1083
1084source "drivers/pci/Kconfig"
1085
1086config HOTPLUG
1087 bool "Support for hot-pluggable device"
1088 help
1089 Say Y here if you want to plug devices into your computer while
1090 the system is running, and be able to use them quickly. In many
1091 cases, the devices can likewise be unplugged at any time too.
1092
1093 One well known example of this is PCMCIA- or PC-cards, credit-card
1094 size devices such as network cards, modems or hard drives which are
1095 plugged into slots found on all modern laptop computers. Another
1096 example, used on modern desktops as well as laptops, is USB.
1097
Johannes Berga81792f2008-07-08 19:00:25 +02001098 Enable HOTPLUG and build a modular kernel. Get agent software
1099 (from <http://linux-hotplug.sourceforge.net/>) and install it.
Bryan Wu1394f032007-05-06 14:50:22 -07001100 Then your kernel will automatically call out to a user mode "policy
1101 agent" (/sbin/hotplug) to load modules and set up software needed
1102 to use devices as you hotplug them.
1103
1104source "drivers/pcmcia/Kconfig"
1105
1106source "drivers/pci/hotplug/Kconfig"
1107
1108endmenu
1109
1110menu "Executable file formats"
1111
1112source "fs/Kconfig.binfmt"
1113
1114endmenu
1115
1116menu "Power management options"
1117source "kernel/power/Kconfig"
1118
Johannes Bergf4cb5702007-12-08 02:14:00 +01001119config ARCH_SUSPEND_POSSIBLE
1120 def_bool y
1121 depends on !SMP
1122
Bryan Wu1394f032007-05-06 14:50:22 -07001123choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001124 prompt "Standby Power Saving Mode"
Bryan Wu1394f032007-05-06 14:50:22 -07001125 depends on PM
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001126 default PM_BFIN_SLEEP_DEEPER
1127config PM_BFIN_SLEEP_DEEPER
1128 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001129 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001130 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1131 power dissipation by disabling the clock to the processor core (CCLK).
1132 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1133 to 0.85 V to provide the greatest power savings, while preserving the
1134 processor state.
1135 The PLL and system clock (SCLK) continue to operate at a very low
1136 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1137 the SDRAM is put into Self Refresh Mode. Typically an external event
1138 such as GPIO interrupt or RTC activity wakes up the processor.
1139 Various Peripherals such as UART, SPORT, PPI may not function as
1140 normal during Sleep Deeper, due to the reduced SCLK frequency.
1141 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001142
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001143 If unsure, select "Sleep Deeper".
1144
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001145config PM_BFIN_SLEEP
1146 bool "Sleep"
1147 help
1148 Sleep Mode (High Power Savings) - The sleep mode reduces power
1149 dissipation by disabling the clock to the processor core (CCLK).
1150 The PLL and system clock (SCLK), however, continue to operate in
1151 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001152 up the processor. When in the sleep mode, system DMA access to L1
1153 memory is not supported.
1154
1155 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001156endchoice
1157
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001158config PM_WAKEUP_BY_GPIO
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001159 bool "Allow Wakeup from Standby by GPIO"
Michael Hennerichff19fed2009-03-04 17:35:51 +08001160 depends on PM && !BF54x
Bryan Wu1394f032007-05-06 14:50:22 -07001161
1162config PM_WAKEUP_GPIO_NUMBER
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001163 int "GPIO number"
Bryan Wu1394f032007-05-06 14:50:22 -07001164 range 0 47
1165 depends on PM_WAKEUP_BY_GPIO
Mike Frysingerd1a33362008-11-18 17:48:22 +08001166 default 2
Bryan Wu1394f032007-05-06 14:50:22 -07001167
1168choice
1169 prompt "GPIO Polarity"
1170 depends on PM_WAKEUP_BY_GPIO
1171 default PM_WAKEUP_GPIO_POLAR_H
1172config PM_WAKEUP_GPIO_POLAR_H
1173 bool "Active High"
1174config PM_WAKEUP_GPIO_POLAR_L
1175 bool "Active Low"
1176config PM_WAKEUP_GPIO_POLAR_EDGE_F
1177 bool "Falling EDGE"
1178config PM_WAKEUP_GPIO_POLAR_EDGE_R
1179 bool "Rising EDGE"
1180config PM_WAKEUP_GPIO_POLAR_EDGE_B
1181 bool "Both EDGE"
1182endchoice
1183
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001184comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1185 depends on PM
1186
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001187config PM_BFIN_WAKE_PH6
1188 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001189 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001190 default n
1191 help
1192 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1193
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001194config PM_BFIN_WAKE_GP
1195 bool "Allow Wake-Up from GPIOs"
1196 depends on PM && BF54x
1197 default n
1198 help
1199 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Michael Hennerich19986282009-03-05 16:45:55 +08001200 (all processors, except ADSP-BF549). This option sets
1201 the general-purpose wake-up enable (GPWE) control bit to enable
1202 wake-up upon detection of an active low signal on the /GPW (PH7) pin.
1203 On ADSP-BF549 this option enables the the same functionality on the
1204 /MRXON pin also PH7.
1205
Bryan Wu1394f032007-05-06 14:50:22 -07001206endmenu
1207
Bryan Wu1394f032007-05-06 14:50:22 -07001208menu "CPU Frequency scaling"
1209
1210source "drivers/cpufreq/Kconfig"
1211
Michael Hennerich5ad2ca52008-11-18 17:48:22 +08001212config BFIN_CPU_FREQ
1213 bool
1214 depends on CPU_FREQ
1215 select CPU_FREQ_TABLE
1216 default y
1217
Michael Hennerich14b03202008-05-07 11:41:26 +08001218config CPU_VOLTAGE
1219 bool "CPU Voltage scaling"
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001220 depends on EXPERIMENTAL
Michael Hennerich14b03202008-05-07 11:41:26 +08001221 depends on CPU_FREQ
1222 default n
1223 help
1224 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1225 This option violates the PLL BYPASS recommendation in the Blackfin Processor
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001226 manuals. There is a theoretical risk that during VDDINT transitions
Michael Hennerich14b03202008-05-07 11:41:26 +08001227 the PLL may unlock.
1228
Bryan Wu1394f032007-05-06 14:50:22 -07001229endmenu
1230
Bryan Wu1394f032007-05-06 14:50:22 -07001231source "net/Kconfig"
1232
1233source "drivers/Kconfig"
1234
1235source "fs/Kconfig"
1236
Mike Frysinger74ce8322007-11-21 23:50:49 +08001237source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001238
1239source "security/Kconfig"
1240
1241source "crypto/Kconfig"
1242
1243source "lib/Kconfig"