2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
6 mainmenu "uClinux/Blackfin (w/o MMU) Kernel Configuration"
16 config RWSEM_GENERIC_SPINLOCK
20 config RWSEM_XCHGADD_ALGORITHM
36 config SEMAPHORE_SLEEPERS
40 config GENERIC_FIND_NEXT_BIT
44 config GENERIC_HWEIGHT
48 config GENERIC_HARDIRQS
52 config GENERIC_IRQ_PROBE
60 config GENERIC_CALIBRATE_DELAY
64 config FORCE_MAX_ZONEORDER
68 config GENERIC_CALIBRATE_DELAY
72 config IRQCHIP_DEMUX_GPIO
74 depends on (BF53x || BF561 || BF54x)
78 source "kernel/Kconfig.preempt"
80 menu "Blackfin Processor Options"
82 comment "Processor and Board Settings"
91 BF531 Processor Support.
96 BF532 Processor Support.
101 BF533 Processor Support.
106 BF534 Processor Support.
111 BF536 Processor Support.
116 BF537 Processor Support.
121 BF542 Processor Support.
126 BF544 Processor Support.
131 BF548 Processor Support.
136 BF549 Processor Support.
141 Not Supported Yet - Work in progress - BF561 Processor Support.
147 default BF_REV_0_2 if BF537
148 default BF_REV_0_3 if BF533
149 default BF_REV_0_0 if BF549
157 depends on (BF537 || BF536 || BF534)
161 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
165 depends on (BF561 || BF533 || BF532 || BF531)
169 depends on (BF561 || BF533 || BF532 || BF531)
181 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
186 depends on (BF542 || BF544 || BF548 || BF549)
189 config BFIN_DUAL_CORE
194 config BFIN_SINGLE_CORE
196 depends on !BFIN_DUAL_CORE
201 default BFIN533_STAMP
203 Do NOT change the board here. Please use the top level
204 configuration to ensure that all the other settings are
209 depends on (BF533 || BF532 || BF531)
211 BF533-EZKIT-LITE board Support.
215 depends on (BF533 || BF532 || BF531)
217 BF533-STAMP board Support.
221 depends on (BF537 || BF536 || BF534)
223 BF537-STAMP board Support.
225 config BFIN533_BLUETECHNIX_CM
226 bool "Bluetechnix CM-BF533"
229 CM-BF533 support for EVAL- and DEV-Board.
231 config BFIN537_BLUETECHNIX_CM
232 bool "Bluetechnix CM-BF537"
235 CM-BF537 support for EVAL- and DEV-Board.
239 depends on (BF548 || BF549)
241 BFIN548-EZKIT board Support.
243 config BFIN561_BLUETECHNIX_CM
244 bool "Bluetechnix CM-BF561"
247 CM-BF561 support for EVAL- and DEV-Board.
253 BF561-EZKIT-LITE board Support.
259 BF561-TEPLA board Support.
262 bool "PNAV 1.0 board"
265 PNAV 1.0 board Support.
269 depends on (BF537 || BF536 \
270 || BF534 || BF561 || BF535 || BF533 || BF532 || BF531)
272 GENERIC or Custom board Support.
276 config MEM_GENERIC_BOARD
278 depends on GENERIC_BOARD
281 config MEM_MT48LC64M4A2FB_7E
283 depends on (BFIN533_STAMP)
286 config MEM_MT48LC16M16A2TG_75
288 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
289 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM)
292 config MEM_MT48LC32M8A2_75
294 depends on (BFIN537_STAMP || PNAV10)
297 config MEM_MT48LC8M32B2B5_7
299 depends on (BFIN561_BLUETECHNIX_CM)
302 config BFIN_SHARED_FLASH_ENET
304 depends on (BFIN533_STAMP)
307 source "arch/blackfin/mach-bf533/Kconfig"
308 source "arch/blackfin/mach-bf561/Kconfig"
309 source "arch/blackfin/mach-bf537/Kconfig"
310 source "arch/blackfin/mach-bf548/Kconfig"
312 menu "Board customizations"
315 bool "Default bootloader kernel arguments"
318 string "Initial kernel command string"
319 depends on CMDLINE_BOOL
320 default "console=ttyBF0,57600"
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).
326 comment "Board Setup"
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
336 The frequency of CLKIN crystal oscillator on the board in Hz.
339 int "SDRAM Memory Size in MBytes"
340 default 32 if BFIN533_EZKIT
341 default 64 if BFIN537_STAMP
342 default 64 if BFIN561_EZKIT
343 default 128 if BFIN533_STAMP
347 int "SDRAM Memory Address Width"
348 default 9 if BFIN533_EZKIT
349 default 9 if BFIN561_EZKIT
350 default 10 if BFIN537_STAMP
351 default 11 if BFIN533_STAMP
354 config ENET_FLASH_PIN
355 int "PF port/pin used for flash and ethernet sharing"
356 depends on (BFIN533_STAMP)
359 PF port/pin used for flash and ethernet sharing to allow other PF
360 pins to be used on other platforms without having to touch common
362 For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
365 hex "Kernel load address for booting"
368 This option allows you to set the load address of the kernel.
369 This can be useful if you are on a board which has a small amount
370 of memory or you wish to reserve some memory at the beginning of
373 Note that you generally want to keep this value at or above 4k
374 (0x1000) as this will allow the kernel to capture NULL pointer
377 comment "LED Status Indicators"
378 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
380 config BFIN_ALIVE_LED
381 bool "Enable Board Alive"
382 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
385 Blink the LEDs you select when the kernel is running. Helps detect
388 config BFIN_ALIVE_LED_NUM
390 depends on BFIN_ALIVE_LED
391 range 1 3 if BFIN533_STAMP
392 default "3" if BFIN533_STAMP
394 Select the LED (marked on the board) for you to blink.
397 bool "Enable System Load/Idle LED"
398 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
401 Blinks the LED you select when to determine kernel load.
403 config BFIN_IDLE_LED_NUM
405 depends on BFIN_IDLE_LED
406 range 1 3 if BFIN533_STAMP
407 default "2" if BFIN533_STAMP
409 Select the LED (marked on the board) for you to blink.
412 # Sorry - but you need to put the hex address here -
416 config BFIN_ALIVE_LED_PORT
418 default 0xFFC00700 if (BFIN533_STAMP)
420 # Peripheral Flag Direction Register
421 config BFIN_ALIVE_LED_DPORT
423 default 0xFFC00730 if (BFIN533_STAMP)
425 config BFIN_ALIVE_LED_PIN
427 default 0x04 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 1)
428 default 0x08 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 2)
429 default 0x10 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 3)
431 config BFIN_IDLE_LED_PORT
433 default 0xFFC00700 if (BFIN533_STAMP)
435 # Peripheral Flag Direction Register
436 config BFIN_IDLE_LED_DPORT
438 default 0xFFC00730 if (BFIN533_STAMP)
440 config BFIN_IDLE_LED_PIN
442 default 0x04 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 1)
443 default 0x08 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 2)
444 default 0x10 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 3)
449 menu "Blackfin Kernel Optimizations"
453 source kernel/Kconfig.hz
455 comment "Memory Optimizations"
458 bool "Locate interrupt entry code in L1 Memory"
461 If enabled interrupt entry code (STORE/RESTORE CONTEXT) is linked
462 into L1 instruction memory.(less latency)
464 config EXCPT_IRQ_SYSC_L1
465 bool "Locate entire ASM lowlevel excepetion / interrupt - Syscall and CPLB handler code in L1 Memory"
468 If enabled entire ASM lowlevel exception and interrupt entry code (STORE/RESTORE CONTEXT) is linked
469 into L1 instruction memory.(less latency)
472 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
475 If enabled frequently called do_irq dispatcher function is linked
476 into L1 instruction memory.(less latency)
478 config CORE_TIMER_IRQ_L1
479 bool "Locate frequently called timer_interrupt() function in L1 Memory"
482 If enabled frequently called timer_interrupt() function is linked
483 into L1 instruction memory.(less latency)
486 bool "Locate frequently idle function in L1 Memory"
489 If enabled frequently called idle function is linked
490 into L1 instruction memory.(less latency)
493 bool "Locate kernel schedule function in L1 Memory"
496 If enabled frequently called kernel schedule is linked
497 into L1 instruction memory.(less latency)
499 config ARITHMETIC_OPS_L1
500 bool "Locate kernel owned arithmetic functions in L1 Memory"
503 If enabled arithmetic functions are linked
504 into L1 instruction memory.(less latency)
507 bool "Locate access_ok function in L1 Memory"
510 If enabled access_ok function is linked
511 into L1 instruction memory.(less latency)
514 bool "Locate memset function in L1 Memory"
517 If enabled memset function is linked
518 into L1 instruction memory.(less latency)
521 bool "Locate memcpy function in L1 Memory"
524 If enabled memcpy function is linked
525 into L1 instruction memory.(less latency)
527 config SYS_BFIN_SPINLOCK_L1
528 bool "Locate sys_bfin_spinlock function in L1 Memory"
531 If enabled sys_bfin_spinlock function is linked
532 into L1 instruction memory.(less latency)
534 config IP_CHECKSUM_L1
535 bool "Locate IP Checksum function in L1 Memory"
538 If enabled IP Checksum function is linked
539 into L1 instruction memory.(less latency)
541 config CACHELINE_ALIGNED_L1
542 bool "Locate cacheline_aligned data to L1 Data Memory"
546 If enabled cacheline_anligned data is linked
547 into L1 data memory.(less latency)
549 config SYSCALL_TAB_L1
550 bool "Locate Syscall Table L1 Data Memory"
554 If enabled the Syscall LUT is linked
555 into L1 data memory.(less latency)
557 config CPLB_SWITCH_TAB_L1
558 bool "Locate CPLB Switch Tables L1 Data Memory"
562 If enabled the CPLB Switch Tables are linked
563 into L1 data memory.(less latency)
569 prompt "Kernel executes from"
571 Choose the memory type that the kernel will be running in.
576 The kernel will be resident in RAM when running.
581 The kernel will be resident in FLASH/ROM when running.
588 bool "Enable DMA Support"
589 depends on (BF533 || BF532 || BF531 || BF537 || BF536 || BF534 || BF561 || BF54x)
592 DMA driver for BF5xx.
595 prompt "Uncached SDRAM region"
596 default DMA_UNCACHED_1M
598 config DMA_UNCACHED_2M
599 bool "Enable 2M DMA region"
600 config DMA_UNCACHED_1M
601 bool "Enable 1M DMA region"
602 config DMA_UNCACHED_NONE
603 bool "Disable DMA region"
607 comment "Cache Support"
612 config BLKFIN_DCACHE_BANKA
613 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
614 depends on BLKFIN_DCACHE && !BF531
616 config BLKFIN_CACHE_LOCK
617 bool "Enable Cache Locking"
621 depends on BLKFIN_DCACHE
627 Cached data will be written back to SDRAM only when needed.
628 This can give a nice increase in performance, but beware of
629 broken drivers that do not properly invalidate/flush their
632 Write Through Policy:
633 Cached data will always be written back to SDRAM when the
634 cache is updated. This is a completely safe setting, but
635 performance is worse than Write Back.
637 If you are unsure of the options and you want to be safe,
638 then go with Write Through.
644 Cached data will be written back to SDRAM only when needed.
645 This can give a nice increase in performance, but beware of
646 broken drivers that do not properly invalidate/flush their
649 Write Through Policy:
650 Cached data will always be written back to SDRAM when the
651 cache is updated. This is a completely safe setting, but
652 performance is worse than Write Back.
654 If you are unsure of the options and you want to be safe,
655 then go with Write Through.
660 int "Set the max L1 SRAM pieces"
663 Set the max memory pieces for the L1 SRAM allocation algorithm.
664 Min value is 16. Max value is 1024.
666 menu "Clock Settings"
669 config BFIN_KERNEL_CLOCK
670 bool "Re-program Clocks while Kernel boots?"
673 This option decides if kernel clocks are re-programed from the
674 bootloader settings. If the clocks are not set, the SDRAM settings
675 are also not changed, and the Bootloader does 100% of the hardware
680 depends on BFIN_KERNEL_CLOCK
681 default "22" if BFIN533_EZKIT
682 default "45" if BFIN533_STAMP
683 default "20" if BFIN537_STAMP
684 default "22" if BFIN533_BLUETECHNIX_CM
685 default "20" if BFIN537_BLUETECHNIX_CM
686 default "20" if BFIN561_BLUETECHNIX_CM
687 default "20" if BFIN561_EZKIT
690 int "Core Clock Divider"
691 depends on BFIN_KERNEL_CLOCK
692 default 1 if BFIN533_EZKIT
693 default 1 if BFIN533_STAMP
694 default 1 if BFIN537_STAMP
695 default 1 if BFIN533_BLUETECHNIX_CM
696 default 1 if BFIN537_BLUETECHNIX_CM
697 default 1 if BFIN561_BLUETECHNIX_CM
698 default 1 if BFIN561_EZKIT
701 int "System Clock Divider"
702 depends on BFIN_KERNEL_CLOCK
703 default 5 if BFIN533_EZKIT
704 default 5 if BFIN533_STAMP
705 default 4 if BFIN537_STAMP
706 default 5 if BFIN533_BLUETECHNIX_CM
707 default 4 if BFIN537_BLUETECHNIX_CM
708 default 4 if BFIN561_BLUETECHNIX_CM
709 default 5 if BFIN561_EZKIT
713 depends on BFIN_KERNEL_CLOCK
718 depends on BFIN_KERNEL_CLOCK
723 comment "Asynchonous Memory Configuration"
725 menu "EBIU_AMBCTL Global Control"
731 bool "DMA has priority over core for ext. accesses"
737 bool "Bank 0 16 bit packing enable"
742 bool "Bank 1 16 bit packing enable"
747 bool "Bank 2 16 bit packing enable"
752 bool "Bank 3 16 bit packing enable"
756 prompt"Enable Asynchonous Memory Banks"
760 bool "Disable All Banks"
766 bool "Enable Bank 0 & 1"
768 config C_AMBEN_B0_B1_B2
769 bool "Enable Bank 0 & 1 & 2"
772 bool "Enable All Banks"
776 menu "EBIU_AMBCTL Control"
796 #############################################################################
797 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
804 source "drivers/pci/Kconfig"
807 bool "Support for hot-pluggable device"
809 Say Y here if you want to plug devices into your computer while
810 the system is running, and be able to use them quickly. In many
811 cases, the devices can likewise be unplugged at any time too.
813 One well known example of this is PCMCIA- or PC-cards, credit-card
814 size devices such as network cards, modems or hard drives which are
815 plugged into slots found on all modern laptop computers. Another
816 example, used on modern desktops as well as laptops, is USB.
818 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
819 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
820 Then your kernel will automatically call out to a user mode "policy
821 agent" (/sbin/hotplug) to load modules and set up software needed
822 to use devices as you hotplug them.
824 source "drivers/pcmcia/Kconfig"
826 source "drivers/pci/hotplug/Kconfig"
830 menu "Executable file formats"
832 source "fs/Kconfig.binfmt"
836 menu "Power management options"
837 source "kernel/power/Kconfig"
840 prompt "Select PM Wakeup Event Source"
841 default PM_WAKEUP_GPIO_BY_SIC_IWR
844 If you have a GPIO already configured as input with the corresponding PORTx_MASK
845 bit set - "Specify Wakeup Event by SIC_IWR value"
847 config PM_WAKEUP_GPIO_BY_SIC_IWR
848 bool "Specify Wakeup Event by SIC_IWR value"
849 config PM_WAKEUP_BY_GPIO
850 bool "Cause Wakeup Event by GPIO"
851 config PM_WAKEUP_GPIO_API
852 bool "Configure Wakeup Event by PM GPIO API"
856 config PM_WAKEUP_SIC_IWR
857 hex "Wakeup Events (SIC_IWR)"
858 depends on PM_WAKEUP_GPIO_BY_SIC_IWR
859 default 0x80000000 if (BF537 || BF536 || BF534)
860 default 0x100000 if (BF533 || BF532 || BF531)
862 config PM_WAKEUP_GPIO_NUMBER
863 int "Wakeup GPIO number"
865 depends on PM_WAKEUP_BY_GPIO
866 default 2 if BFIN537_STAMP
869 prompt "GPIO Polarity"
870 depends on PM_WAKEUP_BY_GPIO
871 default PM_WAKEUP_GPIO_POLAR_H
872 config PM_WAKEUP_GPIO_POLAR_H
874 config PM_WAKEUP_GPIO_POLAR_L
876 config PM_WAKEUP_GPIO_POLAR_EDGE_F
878 config PM_WAKEUP_GPIO_POLAR_EDGE_R
880 config PM_WAKEUP_GPIO_POLAR_EDGE_B
886 if (BF537 || BF533 || BF54x)
888 menu "CPU Frequency scaling"
890 source "drivers/cpufreq/Kconfig"
896 If you want to enable this option, you should select the
897 DPMC driver from Character Devices.
904 source "drivers/Kconfig"
908 source "arch/blackfin/oprofile/Kconfig"
910 menu "Kernel hacking"
912 source "lib/Kconfig.debug"
915 bool "Hardware error interrupt debugging"
916 depends on DEBUG_KERNEL
918 When enabled, the hardware error interrupt is never disabled, and
919 will happen immediately when an error condition occurs. This comes
920 at a slight cost in code size, but is necessary if you are getting
921 hardware error interrupts and need to know where they are coming
924 config DEBUG_ICACHE_CHECK
925 bool "Check Instruction cache coherancy"
926 depends on DEBUG_KERNEL
927 depends on DEBUG_HWERR
929 Say Y here if you are getting wierd unexplained errors. This will
930 ensure that icache is what SDRAM says it should be, by doing a
931 byte wise comparision between SDRAM and instruction cache. This
932 also relocates the irq_panic() function to L1 memory, (which is
935 config DEBUG_KERNEL_START
936 bool "Debug Kernel Startup"
937 depends on DEBUG_KERNEL
939 Say Y here to put in an mini-execption handler before the kernel
940 replaces the bootloader exception handler. This will stop kernels
941 from dieing at startup with no visible error messages.
943 config DEBUG_SERIAL_EARLY_INIT
944 bool "Initialize serial driver early"
946 depends on SERIAL_BFIN
948 Say Y here if you want to get kernel output early when kernel
949 crashes before the normal console initialization. If this option
950 is enable, console output will always go to the ttyBF0, no matter
951 what kernel boot paramters you set.
953 config DEBUG_HUNT_FOR_ZERO
954 bool "Catch NULL pointer reads/writes"
957 Say Y here to catch reads/writes to anywhere in the memory range
958 from 0x0000 - 0x0FFF (the first 4k) of memory. This is useful in
959 catching common programming errors such as NULL pointer dereferences.
961 Misbehaving applications will be killed (generate a SEGV) while the
962 kernel will trigger a panic.
964 Enabling this option will take up an extra entry in CPLB table.
965 Otherwise, there is no extra overhead.
967 config DEBUG_BFIN_NO_KERN_HWTRACE
968 bool "Trace user apps (turn off hwtrace in kernel)"
971 Some pieces of the kernel contain a lot of flow changes which can
972 quickly fill up the hardware trace buffer. When debugging crashes,
973 the hardware trace may indicate that the problem lies in kernel
974 space when in reality an application is buggy.
976 Say Y here to disable hardware tracing in some known "jumpy" pieces
977 of code so that the trace buffer will extend further back.
979 config DUAL_CORE_TEST_MODULE
980 tristate "Dual Core Test Module"
984 Say Y here to build-in dual core test module for dual core test.
987 bool "Display the CPLB information"
989 Display the CPLB information.
992 bool "Check the user pointer address"
995 Usually the pointer transfer from user space is checked to see if its
996 address is in the kernel space.
998 Say N here to disable that check to improve the performance.
1002 source "security/Kconfig"
1004 source "crypto/Kconfig"
1006 source "lib/Kconfig"