Commit | Line | Data |
---|---|---|
1394f032 BW |
1 | # |
2 | # For a description of the syntax of this configuration file, | |
3 | # see Documentation/kbuild/kconfig-language.txt. | |
4 | # | |
5 | ||
6 | mainmenu "uClinux/Blackfin (w/o MMU) Kernel Configuration" | |
7 | ||
8 | config MMU | |
9 | bool | |
10 | default n | |
11 | ||
12 | config FPU | |
13 | bool | |
14 | default n | |
15 | ||
16 | config RWSEM_GENERIC_SPINLOCK | |
17 | bool | |
18 | default y | |
19 | ||
20 | config RWSEM_XCHGADD_ALGORITHM | |
21 | bool | |
22 | default n | |
23 | ||
24 | config BLACKFIN | |
25 | bool | |
26 | default y | |
27 | ||
e3defffe AL |
28 | config ZONE_DMA |
29 | bool | |
30 | default y | |
31 | ||
1394f032 BW |
32 | config BFIN |
33 | bool | |
34 | default y | |
35 | ||
36 | config SEMAPHORE_SLEEPERS | |
37 | bool | |
38 | default y | |
39 | ||
40 | config GENERIC_FIND_NEXT_BIT | |
41 | bool | |
42 | default y | |
43 | ||
44 | config GENERIC_HWEIGHT | |
45 | bool | |
46 | default y | |
47 | ||
48 | config GENERIC_HARDIRQS | |
49 | bool | |
50 | default y | |
51 | ||
52 | config GENERIC_IRQ_PROBE | |
53 | bool | |
54 | default y | |
55 | ||
56 | config GENERIC_TIME | |
57 | bool | |
58 | default n | |
59 | ||
b2d1583f | 60 | config GENERIC_GPIO |
1394f032 BW |
61 | bool |
62 | default y | |
63 | ||
64 | config FORCE_MAX_ZONEORDER | |
65 | int | |
66 | default "14" | |
67 | ||
68 | config GENERIC_CALIBRATE_DELAY | |
69 | bool | |
70 | default y | |
71 | ||
72 | config IRQCHIP_DEMUX_GPIO | |
73 | bool | |
34e0fc89 | 74 | depends on (BF53x || BF561 || BF54x) |
1394f032 BW |
75 | default y |
76 | ||
77 | source "init/Kconfig" | |
78 | source "kernel/Kconfig.preempt" | |
79 | ||
80 | menu "Blackfin Processor Options" | |
81 | ||
82 | comment "Processor and Board Settings" | |
83 | ||
84 | choice | |
85 | prompt "CPU" | |
86 | default BF533 | |
87 | ||
88 | config BF531 | |
89 | bool "BF531" | |
90 | help | |
91 | BF531 Processor Support. | |
92 | ||
93 | config BF532 | |
94 | bool "BF532" | |
95 | help | |
96 | BF532 Processor Support. | |
97 | ||
98 | config BF533 | |
99 | bool "BF533" | |
100 | help | |
101 | BF533 Processor Support. | |
102 | ||
103 | config BF534 | |
104 | bool "BF534" | |
105 | help | |
106 | BF534 Processor Support. | |
107 | ||
108 | config BF536 | |
109 | bool "BF536" | |
110 | help | |
111 | BF536 Processor Support. | |
112 | ||
113 | config BF537 | |
114 | bool "BF537" | |
115 | help | |
116 | BF537 Processor Support. | |
117 | ||
24a07a12 RH |
118 | config BF542 |
119 | bool "BF542" | |
120 | help | |
121 | BF542 Processor Support. | |
122 | ||
123 | config BF544 | |
124 | bool "BF544" | |
125 | help | |
126 | BF544 Processor Support. | |
127 | ||
128 | config BF548 | |
129 | bool "BF548" | |
130 | help | |
131 | BF548 Processor Support. | |
132 | ||
133 | config BF549 | |
134 | bool "BF549" | |
135 | help | |
136 | BF549 Processor Support. | |
137 | ||
1394f032 BW |
138 | config BF561 |
139 | bool "BF561" | |
140 | help | |
141 | Not Supported Yet - Work in progress - BF561 Processor Support. | |
142 | ||
143 | endchoice | |
144 | ||
145 | choice | |
146 | prompt "Silicon Rev" | |
147 | default BF_REV_0_2 if BF537 | |
148 | default BF_REV_0_3 if BF533 | |
24a07a12 RH |
149 | default BF_REV_0_0 if BF549 |
150 | ||
151 | config BF_REV_0_0 | |
152 | bool "0.0" | |
153 | depends on (BF549) | |
1394f032 BW |
154 | |
155 | config BF_REV_0_2 | |
156 | bool "0.2" | |
157 | depends on (BF537 || BF536 || BF534) | |
158 | ||
159 | config BF_REV_0_3 | |
160 | bool "0.3" | |
161 | depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531) | |
162 | ||
163 | config BF_REV_0_4 | |
164 | bool "0.4" | |
165 | depends on (BF561 || BF533 || BF532 || BF531) | |
166 | ||
167 | config BF_REV_0_5 | |
168 | bool "0.5" | |
169 | depends on (BF561 || BF533 || BF532 || BF531) | |
170 | ||
de3025f4 JZ |
171 | config BF_REV_ANY |
172 | bool "any" | |
173 | ||
174 | config BF_REV_NONE | |
175 | bool "none" | |
176 | ||
1394f032 BW |
177 | endchoice |
178 | ||
24a07a12 RH |
179 | config BF53x |
180 | bool | |
181 | depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537) | |
182 | default y | |
183 | ||
184 | config BF54x | |
185 | bool | |
186 | depends on (BF542 || BF544 || BF548 || BF549) | |
187 | default y | |
188 | ||
1394f032 BW |
189 | config BFIN_DUAL_CORE |
190 | bool | |
191 | depends on (BF561) | |
192 | default y | |
193 | ||
194 | config BFIN_SINGLE_CORE | |
195 | bool | |
196 | depends on !BFIN_DUAL_CORE | |
197 | default y | |
198 | ||
199 | choice | |
200 | prompt "System type" | |
201 | default BFIN533_STAMP | |
202 | help | |
203 | Do NOT change the board here. Please use the top level | |
204 | configuration to ensure that all the other settings are | |
205 | correct. | |
206 | ||
207 | config BFIN533_EZKIT | |
208 | bool "BF533-EZKIT" | |
209 | depends on (BF533 || BF532 || BF531) | |
210 | help | |
211 | BF533-EZKIT-LITE board Support. | |
212 | ||
213 | config BFIN533_STAMP | |
214 | bool "BF533-STAMP" | |
215 | depends on (BF533 || BF532 || BF531) | |
216 | help | |
217 | BF533-STAMP board Support. | |
218 | ||
219 | config BFIN537_STAMP | |
220 | bool "BF537-STAMP" | |
221 | depends on (BF537 || BF536 || BF534) | |
222 | help | |
223 | BF537-STAMP board Support. | |
224 | ||
225 | config BFIN533_BLUETECHNIX_CM | |
226 | bool "Bluetechnix CM-BF533" | |
227 | depends on (BF533) | |
228 | help | |
229 | CM-BF533 support for EVAL- and DEV-Board. | |
230 | ||
231 | config BFIN537_BLUETECHNIX_CM | |
232 | bool "Bluetechnix CM-BF537" | |
233 | depends on (BF537) | |
234 | help | |
235 | CM-BF537 support for EVAL- and DEV-Board. | |
236 | ||
24a07a12 RH |
237 | config BFIN548_EZKIT |
238 | bool "BF548-EZKIT" | |
239 | depends on (BF548 || BF549) | |
240 | help | |
241 | BFIN548-EZKIT board Support. | |
242 | ||
1394f032 | 243 | config BFIN561_BLUETECHNIX_CM |
0a290593 | 244 | bool "Bluetechnix CM-BF561" |
1394f032 BW |
245 | depends on (BF561) |
246 | help | |
247 | CM-BF561 support for EVAL- and DEV-Board. | |
248 | ||
249 | config BFIN561_EZKIT | |
250 | bool "BF561-EZKIT" | |
251 | depends on (BF561) | |
252 | help | |
253 | BF561-EZKIT-LITE board Support. | |
254 | ||
0a290593 MF |
255 | config BFIN561_TEPLA |
256 | bool "BF561-TEPLA" | |
257 | depends on (BF561) | |
258 | help | |
259 | BF561-TEPLA board Support. | |
260 | ||
1394f032 BW |
261 | config PNAV10 |
262 | bool "PNAV 1.0 board" | |
263 | depends on (BF537) | |
264 | help | |
265 | PNAV 1.0 board Support. | |
266 | ||
267 | config GENERIC_BOARD | |
268 | bool "Custom" | |
269 | depends on (BF537 || BF536 \ | |
270 | || BF534 || BF561 || BF535 || BF533 || BF532 || BF531) | |
271 | help | |
272 | GENERIC or Custom board Support. | |
273 | ||
274 | endchoice | |
275 | ||
276 | config MEM_GENERIC_BOARD | |
277 | bool | |
278 | depends on GENERIC_BOARD | |
279 | default y | |
280 | ||
281 | config MEM_MT48LC64M4A2FB_7E | |
282 | bool | |
283 | depends on (BFIN533_STAMP) | |
284 | default y | |
285 | ||
286 | config MEM_MT48LC16M16A2TG_75 | |
287 | bool | |
288 | depends on (BFIN533_EZKIT || BFIN561_EZKIT \ | |
289 | || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM) | |
290 | default y | |
291 | ||
292 | config MEM_MT48LC32M8A2_75 | |
293 | bool | |
294 | depends on (BFIN537_STAMP || PNAV10) | |
295 | default y | |
296 | ||
297 | config MEM_MT48LC8M32B2B5_7 | |
298 | bool | |
299 | depends on (BFIN561_BLUETECHNIX_CM) | |
300 | default y | |
301 | ||
302 | config BFIN_SHARED_FLASH_ENET | |
303 | bool | |
304 | depends on (BFIN533_STAMP) | |
305 | default y | |
306 | ||
307 | source "arch/blackfin/mach-bf533/Kconfig" | |
308 | source "arch/blackfin/mach-bf561/Kconfig" | |
309 | source "arch/blackfin/mach-bf537/Kconfig" | |
24a07a12 | 310 | source "arch/blackfin/mach-bf548/Kconfig" |
1394f032 BW |
311 | |
312 | menu "Board customizations" | |
313 | ||
314 | config CMDLINE_BOOL | |
315 | bool "Default bootloader kernel arguments" | |
316 | ||
317 | config CMDLINE | |
318 | string "Initial kernel command string" | |
319 | depends on CMDLINE_BOOL | |
320 | default "console=ttyBF0,57600" | |
321 | help | |
322 | If you don't have a boot loader capable of passing a command line string | |
323 | to the kernel, you may specify one here. As a minimum, you should specify | |
324 | the memory size and the root device (e.g., mem=8M, root=/dev/nfs). | |
325 | ||
f16295e7 | 326 | comment "Clock/PLL Setup" |
1394f032 BW |
327 | |
328 | config CLKIN_HZ | |
329 | int "Crystal Frequency in Hz" | |
330 | default "11059200" if BFIN533_STAMP | |
331 | default "27000000" if BFIN533_EZKIT | |
332 | default "25000000" if BFIN537_STAMP | |
333 | default "30000000" if BFIN561_EZKIT | |
334 | default "24576000" if PNAV10 | |
335 | help | |
336 | The frequency of CLKIN crystal oscillator on the board in Hz. | |
337 | ||
f16295e7 RG |
338 | config BFIN_KERNEL_CLOCK |
339 | bool "Re-program Clocks while Kernel boots?" | |
340 | default n | |
341 | help | |
342 | This option decides if kernel clocks are re-programed from the | |
343 | bootloader settings. If the clocks are not set, the SDRAM settings | |
344 | are also not changed, and the Bootloader does 100% of the hardware | |
345 | configuration. | |
346 | ||
347 | config PLL_BYPASS | |
348 | bool "Bypass PLL" | |
349 | depends on BFIN_KERNEL_CLOCK | |
350 | default n | |
351 | ||
352 | config CLKIN_HALF | |
353 | bool "Half Clock In" | |
354 | depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS) | |
355 | default n | |
356 | help | |
357 | If this is set the clock will be divided by 2, before it goes to the PLL. | |
358 | ||
359 | config VCO_MULT | |
360 | int "VCO Multiplier" | |
361 | depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS) | |
362 | range 1 64 | |
363 | default "22" if BFIN533_EZKIT | |
364 | default "45" if BFIN533_STAMP | |
365 | default "20" if BFIN537_STAMP | |
366 | default "22" if BFIN533_BLUETECHNIX_CM | |
367 | default "20" if BFIN537_BLUETECHNIX_CM | |
368 | default "20" if BFIN561_BLUETECHNIX_CM | |
369 | default "20" if BFIN561_EZKIT | |
370 | help | |
371 | This controls the frequency of the on-chip PLL. This can be between 1 and 64. | |
372 | PLL Frequency = (Crystal Frequency) * (this setting) | |
373 | ||
374 | choice | |
375 | prompt "Core Clock Divider" | |
376 | depends on BFIN_KERNEL_CLOCK | |
377 | default CCLK_DIV_1 | |
378 | help | |
379 | This sets the frequency of the core. It can be 1, 2, 4 or 8 | |
380 | Core Frequency = (PLL frequency) / (this setting) | |
381 | ||
382 | config CCLK_DIV_1 | |
383 | bool "1" | |
384 | ||
385 | config CCLK_DIV_2 | |
386 | bool "2" | |
387 | ||
388 | config CCLK_DIV_4 | |
389 | bool "4" | |
390 | ||
391 | config CCLK_DIV_8 | |
392 | bool "8" | |
393 | endchoice | |
394 | ||
395 | config SCLK_DIV | |
396 | int "System Clock Divider" | |
397 | depends on BFIN_KERNEL_CLOCK | |
398 | range 1 15 | |
399 | default 5 if BFIN533_EZKIT | |
400 | default 5 if BFIN533_STAMP | |
401 | default 4 if BFIN537_STAMP | |
402 | default 5 if BFIN533_BLUETECHNIX_CM | |
403 | default 4 if BFIN537_BLUETECHNIX_CM | |
404 | default 4 if BFIN561_BLUETECHNIX_CM | |
405 | default 5 if BFIN561_EZKIT | |
406 | help | |
407 | This sets the frequency of the system clock (including SDRAM or DDR). | |
408 | This can be between 1 and 15 | |
409 | System Clock = (PLL frequency) / (this setting) | |
410 | ||
411 | # | |
412 | # Max & Min Speeds for various Chips | |
413 | # | |
414 | config MAX_VCO_HZ | |
415 | int | |
416 | default 600000000 if BF522 | |
417 | default 600000000 if BF525 | |
418 | default 600000000 if BF527 | |
419 | default 400000000 if BF531 | |
420 | default 400000000 if BF532 | |
421 | default 750000000 if BF533 | |
422 | default 500000000 if BF534 | |
423 | default 400000000 if BF536 | |
424 | default 600000000 if BF537 | |
425 | default 533000000 if BF538 | |
426 | default 533000000 if BF539 | |
427 | default 600000000 if BF542 | |
428 | default 533000000 if BF544 | |
429 | default 533000000 if BF549 | |
430 | default 600000000 if BF561 | |
431 | ||
432 | config MIN_VCO_HZ | |
433 | int | |
434 | default 50000000 | |
435 | ||
436 | config MAX_SCLK_HZ | |
437 | int | |
438 | default 133000000 | |
439 | ||
440 | config MIN_SCLK_HZ | |
441 | int | |
442 | default 27000000 | |
443 | ||
444 | comment "Kernel Timer/Scheduler" | |
445 | ||
446 | source kernel/Kconfig.hz | |
447 | ||
448 | comment "Memory Setup" | |
449 | ||
1394f032 BW |
450 | config MEM_SIZE |
451 | int "SDRAM Memory Size in MBytes" | |
452 | default 32 if BFIN533_EZKIT | |
453 | default 64 if BFIN537_STAMP | |
454 | default 64 if BFIN561_EZKIT | |
455 | default 128 if BFIN533_STAMP | |
456 | default 64 if PNAV10 | |
457 | ||
458 | config MEM_ADD_WIDTH | |
459 | int "SDRAM Memory Address Width" | |
460 | default 9 if BFIN533_EZKIT | |
461 | default 9 if BFIN561_EZKIT | |
462 | default 10 if BFIN537_STAMP | |
463 | default 11 if BFIN533_STAMP | |
464 | default 10 if PNAV10 | |
465 | ||
466 | config ENET_FLASH_PIN | |
467 | int "PF port/pin used for flash and ethernet sharing" | |
468 | depends on (BFIN533_STAMP) | |
469 | default 0 | |
470 | help | |
471 | PF port/pin used for flash and ethernet sharing to allow other PF | |
472 | pins to be used on other platforms without having to touch common | |
473 | code. | |
474 | For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc. | |
475 | ||
476 | config BOOT_LOAD | |
477 | hex "Kernel load address for booting" | |
478 | default "0x1000" | |
2d8f161f | 479 | range 0x1000 0x20000000 |
1394f032 BW |
480 | help |
481 | This option allows you to set the load address of the kernel. | |
482 | This can be useful if you are on a board which has a small amount | |
483 | of memory or you wish to reserve some memory at the beginning of | |
484 | the address space. | |
485 | ||
2d8f161f MF |
486 | Note that you need to keep this value above 4k (0x1000) as this |
487 | memory region is used to capture NULL pointer references as well | |
488 | as some core kernel functions. | |
1394f032 BW |
489 | |
490 | comment "LED Status Indicators" | |
491 | depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM) | |
492 | ||
493 | config BFIN_ALIVE_LED | |
494 | bool "Enable Board Alive" | |
495 | depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM) | |
496 | default n | |
497 | help | |
498 | Blink the LEDs you select when the kernel is running. Helps detect | |
499 | a hung kernel. | |
500 | ||
501 | config BFIN_ALIVE_LED_NUM | |
502 | int "LED" | |
503 | depends on BFIN_ALIVE_LED | |
504 | range 1 3 if BFIN533_STAMP | |
505 | default "3" if BFIN533_STAMP | |
506 | help | |
507 | Select the LED (marked on the board) for you to blink. | |
508 | ||
509 | config BFIN_IDLE_LED | |
510 | bool "Enable System Load/Idle LED" | |
511 | depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM) | |
512 | default n | |
513 | help | |
514 | Blinks the LED you select when to determine kernel load. | |
515 | ||
516 | config BFIN_IDLE_LED_NUM | |
517 | int "LED" | |
518 | depends on BFIN_IDLE_LED | |
519 | range 1 3 if BFIN533_STAMP | |
520 | default "2" if BFIN533_STAMP | |
521 | help | |
522 | Select the LED (marked on the board) for you to blink. | |
523 | ||
524 | # | |
525 | # Sorry - but you need to put the hex address here - | |
526 | # | |
527 | ||
528 | # Flag Data register | |
529 | config BFIN_ALIVE_LED_PORT | |
530 | hex | |
531 | default 0xFFC00700 if (BFIN533_STAMP) | |
532 | ||
533 | # Peripheral Flag Direction Register | |
534 | config BFIN_ALIVE_LED_DPORT | |
535 | hex | |
536 | default 0xFFC00730 if (BFIN533_STAMP) | |
537 | ||
538 | config BFIN_ALIVE_LED_PIN | |
539 | hex | |
540 | default 0x04 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 1) | |
541 | default 0x08 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 2) | |
542 | default 0x10 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 3) | |
543 | ||
544 | config BFIN_IDLE_LED_PORT | |
545 | hex | |
546 | default 0xFFC00700 if (BFIN533_STAMP) | |
547 | ||
548 | # Peripheral Flag Direction Register | |
549 | config BFIN_IDLE_LED_DPORT | |
550 | hex | |
551 | default 0xFFC00730 if (BFIN533_STAMP) | |
552 | ||
553 | config BFIN_IDLE_LED_PIN | |
554 | hex | |
555 | default 0x04 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 1) | |
556 | default 0x08 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 2) | |
557 | default 0x10 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 3) | |
558 | ||
1394f032 BW |
559 | endmenu |
560 | ||
561 | ||
562 | menu "Blackfin Kernel Optimizations" | |
563 | ||
1394f032 BW |
564 | comment "Memory Optimizations" |
565 | ||
566 | config I_ENTRY_L1 | |
567 | bool "Locate interrupt entry code in L1 Memory" | |
568 | default y | |
569 | help | |
570 | If enabled interrupt entry code (STORE/RESTORE CONTEXT) is linked | |
571 | into L1 instruction memory.(less latency) | |
572 | ||
573 | config EXCPT_IRQ_SYSC_L1 | |
574 | bool "Locate entire ASM lowlevel excepetion / interrupt - Syscall and CPLB handler code in L1 Memory" | |
575 | default y | |
576 | help | |
577 | If enabled entire ASM lowlevel exception and interrupt entry code (STORE/RESTORE CONTEXT) is linked | |
578 | into L1 instruction memory.(less latency) | |
579 | ||
580 | config DO_IRQ_L1 | |
581 | bool "Locate frequently called do_irq dispatcher function in L1 Memory" | |
582 | default y | |
583 | help | |
584 | If enabled frequently called do_irq dispatcher function is linked | |
585 | into L1 instruction memory.(less latency) | |
586 | ||
587 | config CORE_TIMER_IRQ_L1 | |
588 | bool "Locate frequently called timer_interrupt() function in L1 Memory" | |
589 | default y | |
590 | help | |
591 | If enabled frequently called timer_interrupt() function is linked | |
592 | into L1 instruction memory.(less latency) | |
593 | ||
594 | config IDLE_L1 | |
595 | bool "Locate frequently idle function in L1 Memory" | |
596 | default y | |
597 | help | |
598 | If enabled frequently called idle function is linked | |
599 | into L1 instruction memory.(less latency) | |
600 | ||
601 | config SCHEDULE_L1 | |
602 | bool "Locate kernel schedule function in L1 Memory" | |
603 | default y | |
604 | help | |
605 | If enabled frequently called kernel schedule is linked | |
606 | into L1 instruction memory.(less latency) | |
607 | ||
608 | config ARITHMETIC_OPS_L1 | |
609 | bool "Locate kernel owned arithmetic functions in L1 Memory" | |
610 | default y | |
611 | help | |
612 | If enabled arithmetic functions are linked | |
613 | into L1 instruction memory.(less latency) | |
614 | ||
615 | config ACCESS_OK_L1 | |
616 | bool "Locate access_ok function in L1 Memory" | |
617 | default y | |
618 | help | |
619 | If enabled access_ok function is linked | |
620 | into L1 instruction memory.(less latency) | |
621 | ||
622 | config MEMSET_L1 | |
623 | bool "Locate memset function in L1 Memory" | |
624 | default y | |
625 | help | |
626 | If enabled memset function is linked | |
627 | into L1 instruction memory.(less latency) | |
628 | ||
629 | config MEMCPY_L1 | |
630 | bool "Locate memcpy function in L1 Memory" | |
631 | default y | |
632 | help | |
633 | If enabled memcpy function is linked | |
634 | into L1 instruction memory.(less latency) | |
635 | ||
636 | config SYS_BFIN_SPINLOCK_L1 | |
637 | bool "Locate sys_bfin_spinlock function in L1 Memory" | |
638 | default y | |
639 | help | |
640 | If enabled sys_bfin_spinlock function is linked | |
641 | into L1 instruction memory.(less latency) | |
642 | ||
643 | config IP_CHECKSUM_L1 | |
644 | bool "Locate IP Checksum function in L1 Memory" | |
645 | default n | |
646 | help | |
647 | If enabled IP Checksum function is linked | |
648 | into L1 instruction memory.(less latency) | |
649 | ||
650 | config CACHELINE_ALIGNED_L1 | |
651 | bool "Locate cacheline_aligned data to L1 Data Memory" | |
157cc5aa MH |
652 | default y if !BF54x |
653 | default n if BF54x | |
1394f032 BW |
654 | depends on !BF531 |
655 | help | |
656 | If enabled cacheline_anligned data is linked | |
657 | into L1 data memory.(less latency) | |
658 | ||
659 | config SYSCALL_TAB_L1 | |
660 | bool "Locate Syscall Table L1 Data Memory" | |
661 | default n | |
662 | depends on !BF531 | |
663 | help | |
664 | If enabled the Syscall LUT is linked | |
665 | into L1 data memory.(less latency) | |
666 | ||
667 | config CPLB_SWITCH_TAB_L1 | |
668 | bool "Locate CPLB Switch Tables L1 Data Memory" | |
669 | default n | |
670 | depends on !BF531 | |
671 | help | |
672 | If enabled the CPLB Switch Tables are linked | |
673 | into L1 data memory.(less latency) | |
674 | ||
675 | endmenu | |
676 | ||
677 | ||
678 | choice | |
679 | prompt "Kernel executes from" | |
680 | help | |
681 | Choose the memory type that the kernel will be running in. | |
682 | ||
683 | config RAMKERNEL | |
684 | bool "RAM" | |
685 | help | |
686 | The kernel will be resident in RAM when running. | |
687 | ||
688 | config ROMKERNEL | |
689 | bool "ROM" | |
690 | help | |
691 | The kernel will be resident in FLASH/ROM when running. | |
692 | ||
693 | endchoice | |
694 | ||
695 | source "mm/Kconfig" | |
696 | ||
db0fa206 BW |
697 | config LARGE_ALLOCS |
698 | bool "Allow allocating large blocks (> 1MB) of memory" | |
699 | help | |
700 | Allow the slab memory allocator to keep chains for very large | |
701 | memory sizes - upto 32MB. You may need this if your system has | |
702 | a lot of RAM, and you need to able to allocate very large | |
703 | contiguous chunks. If unsure, say N. | |
704 | ||
1394f032 BW |
705 | config BFIN_DMA_5XX |
706 | bool "Enable DMA Support" | |
24a07a12 | 707 | depends on (BF533 || BF532 || BF531 || BF537 || BF536 || BF534 || BF561 || BF54x) |
1394f032 BW |
708 | default y |
709 | help | |
710 | DMA driver for BF5xx. | |
711 | ||
712 | choice | |
713 | prompt "Uncached SDRAM region" | |
714 | default DMA_UNCACHED_1M | |
715 | depends BFIN_DMA_5XX | |
716 | config DMA_UNCACHED_2M | |
717 | bool "Enable 2M DMA region" | |
718 | config DMA_UNCACHED_1M | |
719 | bool "Enable 1M DMA region" | |
720 | config DMA_UNCACHED_NONE | |
721 | bool "Disable DMA region" | |
722 | endchoice | |
723 | ||
724 | ||
725 | comment "Cache Support" | |
3bebca2d | 726 | config BFIN_ICACHE |
1394f032 | 727 | bool "Enable ICACHE" |
3bebca2d | 728 | config BFIN_DCACHE |
1394f032 | 729 | bool "Enable DCACHE" |
3bebca2d | 730 | config BFIN_DCACHE_BANKA |
1394f032 | 731 | bool "Enable only 16k BankA DCACHE - BankB is SRAM" |
3bebca2d | 732 | depends on BFIN_DCACHE && !BF531 |
1394f032 | 733 | default n |
3bebca2d RG |
734 | config BFIN_ICACHE_LOCK |
735 | bool "Enable Instruction Cache Locking" | |
1394f032 BW |
736 | |
737 | choice | |
738 | prompt "Policy" | |
3bebca2d RG |
739 | depends on BFIN_DCACHE |
740 | default BFIN_WB | |
741 | config BFIN_WB | |
1394f032 BW |
742 | bool "Write back" |
743 | help | |
744 | Write Back Policy: | |
745 | Cached data will be written back to SDRAM only when needed. | |
746 | This can give a nice increase in performance, but beware of | |
747 | broken drivers that do not properly invalidate/flush their | |
748 | cache. | |
749 | ||
750 | Write Through Policy: | |
751 | Cached data will always be written back to SDRAM when the | |
752 | cache is updated. This is a completely safe setting, but | |
753 | performance is worse than Write Back. | |
754 | ||
755 | If you are unsure of the options and you want to be safe, | |
756 | then go with Write Through. | |
757 | ||
3bebca2d | 758 | config BFIN_WT |
1394f032 BW |
759 | bool "Write through" |
760 | help | |
761 | Write Back Policy: | |
762 | Cached data will be written back to SDRAM only when needed. | |
763 | This can give a nice increase in performance, but beware of | |
764 | broken drivers that do not properly invalidate/flush their | |
765 | cache. | |
766 | ||
767 | Write Through Policy: | |
768 | Cached data will always be written back to SDRAM when the | |
769 | cache is updated. This is a completely safe setting, but | |
770 | performance is worse than Write Back. | |
771 | ||
772 | If you are unsure of the options and you want to be safe, | |
773 | then go with Write Through. | |
774 | ||
775 | endchoice | |
776 | ||
777 | config L1_MAX_PIECE | |
778 | int "Set the max L1 SRAM pieces" | |
779 | default 16 | |
780 | help | |
781 | Set the max memory pieces for the L1 SRAM allocation algorithm. | |
782 | Min value is 16. Max value is 1024. | |
783 | ||
1394f032 BW |
784 | comment "Asynchonous Memory Configuration" |
785 | ||
786 | menu "EBIU_AMBCTL Global Control" | |
787 | config C_AMCKEN | |
788 | bool "Enable CLKOUT" | |
789 | default y | |
790 | ||
791 | config C_CDPRIO | |
792 | bool "DMA has priority over core for ext. accesses" | |
9be343c5 | 793 | depends on !BF54x |
1394f032 BW |
794 | default n |
795 | ||
796 | config C_B0PEN | |
797 | depends on BF561 | |
798 | bool "Bank 0 16 bit packing enable" | |
799 | default y | |
800 | ||
801 | config C_B1PEN | |
802 | depends on BF561 | |
803 | bool "Bank 1 16 bit packing enable" | |
804 | default y | |
805 | ||
806 | config C_B2PEN | |
807 | depends on BF561 | |
808 | bool "Bank 2 16 bit packing enable" | |
809 | default y | |
810 | ||
811 | config C_B3PEN | |
812 | depends on BF561 | |
813 | bool "Bank 3 16 bit packing enable" | |
814 | default n | |
815 | ||
816 | choice | |
817 | prompt"Enable Asynchonous Memory Banks" | |
818 | default C_AMBEN_ALL | |
819 | ||
820 | config C_AMBEN | |
821 | bool "Disable All Banks" | |
822 | ||
823 | config C_AMBEN_B0 | |
824 | bool "Enable Bank 0" | |
825 | ||
826 | config C_AMBEN_B0_B1 | |
827 | bool "Enable Bank 0 & 1" | |
828 | ||
829 | config C_AMBEN_B0_B1_B2 | |
830 | bool "Enable Bank 0 & 1 & 2" | |
831 | ||
832 | config C_AMBEN_ALL | |
833 | bool "Enable All Banks" | |
834 | endchoice | |
835 | endmenu | |
836 | ||
837 | menu "EBIU_AMBCTL Control" | |
838 | config BANK_0 | |
839 | hex "Bank 0" | |
840 | default 0x7BB0 | |
841 | ||
842 | config BANK_1 | |
843 | hex "Bank 1" | |
844 | default 0x7BB0 | |
845 | ||
846 | config BANK_2 | |
847 | hex "Bank 2" | |
848 | default 0x7BB0 | |
849 | ||
850 | config BANK_3 | |
851 | hex "Bank 3" | |
852 | default 0x99B3 | |
853 | endmenu | |
854 | ||
855 | endmenu | |
856 | ||
857 | ############################################################################# | |
858 | menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)" | |
859 | ||
860 | config PCI | |
861 | bool "PCI support" | |
862 | help | |
863 | Support for PCI bus. | |
864 | ||
865 | source "drivers/pci/Kconfig" | |
866 | ||
867 | config HOTPLUG | |
868 | bool "Support for hot-pluggable device" | |
869 | help | |
870 | Say Y here if you want to plug devices into your computer while | |
871 | the system is running, and be able to use them quickly. In many | |
872 | cases, the devices can likewise be unplugged at any time too. | |
873 | ||
874 | One well known example of this is PCMCIA- or PC-cards, credit-card | |
875 | size devices such as network cards, modems or hard drives which are | |
876 | plugged into slots found on all modern laptop computers. Another | |
877 | example, used on modern desktops as well as laptops, is USB. | |
878 | ||
879 | Enable HOTPLUG and KMOD, and build a modular kernel. Get agent | |
880 | software (at <http://linux-hotplug.sourceforge.net/>) and install it. | |
881 | Then your kernel will automatically call out to a user mode "policy | |
882 | agent" (/sbin/hotplug) to load modules and set up software needed | |
883 | to use devices as you hotplug them. | |
884 | ||
885 | source "drivers/pcmcia/Kconfig" | |
886 | ||
887 | source "drivers/pci/hotplug/Kconfig" | |
888 | ||
889 | endmenu | |
890 | ||
891 | menu "Executable file formats" | |
892 | ||
893 | source "fs/Kconfig.binfmt" | |
894 | ||
895 | endmenu | |
896 | ||
897 | menu "Power management options" | |
898 | source "kernel/power/Kconfig" | |
899 | ||
900 | choice | |
901 | prompt "Select PM Wakeup Event Source" | |
902 | default PM_WAKEUP_GPIO_BY_SIC_IWR | |
903 | depends on PM | |
904 | help | |
905 | If you have a GPIO already configured as input with the corresponding PORTx_MASK | |
906 | bit set - "Specify Wakeup Event by SIC_IWR value" | |
907 | ||
908 | config PM_WAKEUP_GPIO_BY_SIC_IWR | |
909 | bool "Specify Wakeup Event by SIC_IWR value" | |
910 | config PM_WAKEUP_BY_GPIO | |
911 | bool "Cause Wakeup Event by GPIO" | |
912 | config PM_WAKEUP_GPIO_API | |
913 | bool "Configure Wakeup Event by PM GPIO API" | |
914 | ||
915 | endchoice | |
916 | ||
917 | config PM_WAKEUP_SIC_IWR | |
918 | hex "Wakeup Events (SIC_IWR)" | |
919 | depends on PM_WAKEUP_GPIO_BY_SIC_IWR | |
920 | default 0x80000000 if (BF537 || BF536 || BF534) | |
921 | default 0x100000 if (BF533 || BF532 || BF531) | |
922 | ||
923 | config PM_WAKEUP_GPIO_NUMBER | |
924 | int "Wakeup GPIO number" | |
925 | range 0 47 | |
926 | depends on PM_WAKEUP_BY_GPIO | |
927 | default 2 if BFIN537_STAMP | |
928 | ||
929 | choice | |
930 | prompt "GPIO Polarity" | |
931 | depends on PM_WAKEUP_BY_GPIO | |
932 | default PM_WAKEUP_GPIO_POLAR_H | |
933 | config PM_WAKEUP_GPIO_POLAR_H | |
934 | bool "Active High" | |
935 | config PM_WAKEUP_GPIO_POLAR_L | |
936 | bool "Active Low" | |
937 | config PM_WAKEUP_GPIO_POLAR_EDGE_F | |
938 | bool "Falling EDGE" | |
939 | config PM_WAKEUP_GPIO_POLAR_EDGE_R | |
940 | bool "Rising EDGE" | |
941 | config PM_WAKEUP_GPIO_POLAR_EDGE_B | |
942 | bool "Both EDGE" | |
943 | endchoice | |
944 | ||
945 | endmenu | |
946 | ||
24a07a12 | 947 | if (BF537 || BF533 || BF54x) |
1394f032 BW |
948 | |
949 | menu "CPU Frequency scaling" | |
950 | ||
951 | source "drivers/cpufreq/Kconfig" | |
952 | ||
953 | config CPU_FREQ | |
954 | bool | |
955 | default n | |
956 | help | |
957 | If you want to enable this option, you should select the | |
958 | DPMC driver from Character Devices. | |
959 | endmenu | |
960 | ||
961 | endif | |
962 | ||
963 | source "net/Kconfig" | |
964 | ||
965 | source "drivers/Kconfig" | |
966 | ||
967 | source "fs/Kconfig" | |
968 | ||
969 | source "arch/blackfin/oprofile/Kconfig" | |
970 | ||
971 | menu "Kernel hacking" | |
972 | ||
973 | source "lib/Kconfig.debug" | |
974 | ||
975 | config DEBUG_HWERR | |
976 | bool "Hardware error interrupt debugging" | |
977 | depends on DEBUG_KERNEL | |
978 | help | |
979 | When enabled, the hardware error interrupt is never disabled, and | |
980 | will happen immediately when an error condition occurs. This comes | |
981 | at a slight cost in code size, but is necessary if you are getting | |
982 | hardware error interrupts and need to know where they are coming | |
983 | from. | |
984 | ||
985 | config DEBUG_ICACHE_CHECK | |
986 | bool "Check Instruction cache coherancy" | |
987 | depends on DEBUG_KERNEL | |
988 | depends on DEBUG_HWERR | |
989 | help | |
990 | Say Y here if you are getting wierd unexplained errors. This will | |
991 | ensure that icache is what SDRAM says it should be, by doing a | |
992 | byte wise comparision between SDRAM and instruction cache. This | |
993 | also relocates the irq_panic() function to L1 memory, (which is | |
994 | un-cached). | |
995 | ||
996 | config DEBUG_KERNEL_START | |
997 | bool "Debug Kernel Startup" | |
998 | depends on DEBUG_KERNEL | |
999 | help | |
1000 | Say Y here to put in an mini-execption handler before the kernel | |
1001 | replaces the bootloader exception handler. This will stop kernels | |
1002 | from dieing at startup with no visible error messages. | |
1003 | ||
1004 | config DEBUG_SERIAL_EARLY_INIT | |
1005 | bool "Initialize serial driver early" | |
1006 | default n | |
1007 | depends on SERIAL_BFIN | |
1008 | help | |
1009 | Say Y here if you want to get kernel output early when kernel | |
1010 | crashes before the normal console initialization. If this option | |
1011 | is enable, console output will always go to the ttyBF0, no matter | |
1012 | what kernel boot paramters you set. | |
1013 | ||
1014 | config DEBUG_HUNT_FOR_ZERO | |
1015 | bool "Catch NULL pointer reads/writes" | |
1016 | default y | |
1017 | help | |
1018 | Say Y here to catch reads/writes to anywhere in the memory range | |
1019 | from 0x0000 - 0x0FFF (the first 4k) of memory. This is useful in | |
1020 | catching common programming errors such as NULL pointer dereferences. | |
1021 | ||
1022 | Misbehaving applications will be killed (generate a SEGV) while the | |
1023 | kernel will trigger a panic. | |
1024 | ||
1025 | Enabling this option will take up an extra entry in CPLB table. | |
1026 | Otherwise, there is no extra overhead. | |
1027 | ||
518039bc RG |
1028 | config DEBUG_BFIN_HWTRACE_ON |
1029 | bool "Turn on Blackfin's Hardware Trace" | |
1030 | default y | |
1031 | help | |
1032 | All Blackfins include a Trace Unit which stores a history of the last | |
1033 | 16 changes in program flow taken by the program sequencer. The history | |
1034 | allows the user to recreate the program sequencer’s recent path. This | |
1035 | can be handy when an application dies - we print out the execution | |
1036 | path of how it got to the offending instruction. | |
1037 | ||
1038 | By turning this off, you may save a tiny amount of power. | |
1039 | ||
1040 | choice | |
1041 | prompt "Omit loop Tracing" | |
1042 | default DEBUG_BFIN_HWTRACE_COMPRESSION_OFF | |
1043 | depends on DEBUG_BFIN_HWTRACE_ON | |
1044 | help | |
1045 | The trace buffer can be configured to omit recording of changes in | |
1046 | program flow that match either the last entry or one of the last | |
1047 | two entries. Omitting one of these entries from the record prevents | |
1048 | the trace buffer from overflowing because of any sort of loop (for, do | |
1049 | while, etc) in the program. | |
1050 | ||
1051 | Because zero-overhead Hardware loops are not recorded in the trace buffer, | |
1052 | this feature can be used to prevent trace overflow from loops that | |
1053 | are nested four deep. | |
1054 | ||
1055 | config DEBUG_BFIN_HWTRACE_COMPRESSION_OFF | |
1056 | bool "Trace all Loops" | |
1057 | help | |
1058 | The trace buffer records all changes of flow | |
1059 | ||
1060 | config DEBUG_BFIN_HWTRACE_COMPRESSION_ONE | |
1061 | bool "Compress single-level loops" | |
1062 | help | |
1063 | The trace buffer does not record single loops - helpful if trace | |
1064 | is spinning on a while or do loop. | |
1065 | ||
1066 | config DEBUG_BFIN_HWTRACE_COMPRESSION_TWO | |
1067 | bool "Compress two-level loops" | |
1068 | help | |
1069 | The trace buffer does not record loops two levels deep. Helpful if | |
1070 | the trace is spinning in a nested loop | |
1071 | ||
1072 | endchoice | |
1073 | ||
1074 | config DEBUG_BFIN_HWTRACE_COMPRESSION | |
1075 | int | |
1076 | depends on DEBUG_BFIN_HWTRACE_ON | |
1077 | default 0 if DEBUG_BFIN_HWTRACE_COMPRESSION_OFF | |
1078 | default 1 if DEBUG_BFIN_HWTRACE_COMPRESSION_ONE | |
1079 | default 2 if DEBUG_BFIN_HWTRACE_COMPRESSION_TWO | |
1080 | ||
1081 | ||
1082 | config DEBUG_BFIN_HWTRACE_EXPAND | |
1083 | bool "Expand Trace Buffer greater than 16 entries" | |
1084 | depends on DEBUG_BFIN_HWTRACE_ON | |
1085 | default n | |
1086 | help | |
1087 | By selecting this option, every time the 16 hardware entries in | |
1088 | the Blackfin's HW Trace buffer are full, the kernel will move them | |
1089 | into a software buffer, for dumping when there is an issue. This | |
1090 | has a great impact on performance, (an interrupt every 16 change of | |
1091 | flows) and should normally be turned off, except in those nasty | |
1092 | debugging sessions | |
1093 | ||
1094 | config DEBUG_BFIN_HWTRACE_EXPAND_LEN | |
1095 | int "Size of Trace buffer (in power of 2k)" | |
1096 | range 0 4 | |
1097 | depends on DEBUG_BFIN_HWTRACE_EXPAND | |
1098 | default 1 | |
1099 | help | |
1100 | This sets the size of the software buffer that the trace information | |
1101 | is kept in. | |
1102 | 0 for (2^0) 1k, or 256 entries, | |
1103 | 1 for (2^1) 2k, or 512 entries, | |
1104 | 2 for (2^2) 4k, or 1024 entries, | |
1105 | 3 for (2^3) 8k, or 2048 entries, | |
1106 | 4 for (2^4) 16k, or 4096 entries | |
1107 | ||
1394f032 BW |
1108 | config DEBUG_BFIN_NO_KERN_HWTRACE |
1109 | bool "Trace user apps (turn off hwtrace in kernel)" | |
518039bc | 1110 | depends on DEBUG_BFIN_HWTRACE_ON |
1394f032 BW |
1111 | default n |
1112 | help | |
1113 | Some pieces of the kernel contain a lot of flow changes which can | |
1114 | quickly fill up the hardware trace buffer. When debugging crashes, | |
1115 | the hardware trace may indicate that the problem lies in kernel | |
1116 | space when in reality an application is buggy. | |
1117 | ||
1118 | Say Y here to disable hardware tracing in some known "jumpy" pieces | |
1119 | of code so that the trace buffer will extend further back. | |
1120 | ||
1121 | config DUAL_CORE_TEST_MODULE | |
1122 | tristate "Dual Core Test Module" | |
1123 | depends on (BF561) | |
1124 | default n | |
1125 | help | |
1126 | Say Y here to build-in dual core test module for dual core test. | |
1127 | ||
1128 | config CPLB_INFO | |
1129 | bool "Display the CPLB information" | |
1130 | help | |
1131 | Display the CPLB information. | |
1132 | ||
1133 | config ACCESS_CHECK | |
1134 | bool "Check the user pointer address" | |
1135 | default y | |
1136 | help | |
1137 | Usually the pointer transfer from user space is checked to see if its | |
1138 | address is in the kernel space. | |
1139 | ||
1140 | Say N here to disable that check to improve the performance. | |
1141 | ||
1142 | endmenu | |
1143 | ||
1144 | source "security/Kconfig" | |
1145 | ||
1146 | source "crypto/Kconfig" | |
1147 | ||
1148 | source "lib/Kconfig" |