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
77 source "kernel/Kconfig.preempt"
79 menu "Blackfin Processor Options"
81 comment "Processor and Board Settings"
90 BF531 Processor Support.
95 BF532 Processor Support.
100 BF533 Processor Support.
105 BF534 Processor Support.
110 BF536 Processor Support.
115 BF537 Processor Support.
120 Not Supported Yet - Work in progress - BF561 Processor Support.
126 default BF_REV_0_2 if BF537
127 default BF_REV_0_3 if BF533
131 depends on (BF537 || BF536 || BF534)
135 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
139 depends on (BF561 || BF533 || BF532 || BF531)
143 depends on (BF561 || BF533 || BF532 || BF531)
147 config BFIN_DUAL_CORE
152 config BFIN_SINGLE_CORE
154 depends on !BFIN_DUAL_CORE
159 default BFIN533_STAMP
161 Do NOT change the board here. Please use the top level
162 configuration to ensure that all the other settings are
167 depends on (BF533 || BF532 || BF531)
169 BF533-EZKIT-LITE board Support.
173 depends on (BF533 || BF532 || BF531)
175 BF533-STAMP board Support.
179 depends on (BF537 || BF536 || BF534)
181 BF537-STAMP board Support.
183 config BFIN533_BLUETECHNIX_CM
184 bool "Bluetechnix CM-BF533"
187 CM-BF533 support for EVAL- and DEV-Board.
189 config BFIN537_BLUETECHNIX_CM
190 bool "Bluetechnix CM-BF537"
193 CM-BF537 support for EVAL- and DEV-Board.
195 config BFIN561_BLUETECHNIX_CM
196 bool "Bluetechnix CM-BF561"
199 CM-BF561 support for EVAL- and DEV-Board.
205 BF561-EZKIT-LITE board Support.
211 BF561-TEPLA board Support.
214 bool "PNAV 1.0 board"
217 PNAV 1.0 board Support.
221 depends on (BF537 || BF536 \
222 || BF534 || BF561 || BF535 || BF533 || BF532 || BF531)
224 GENERIC or Custom board Support.
228 config MEM_GENERIC_BOARD
230 depends on GENERIC_BOARD
233 config MEM_MT48LC64M4A2FB_7E
235 depends on (BFIN533_STAMP)
238 config MEM_MT48LC16M16A2TG_75
240 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
241 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM)
244 config MEM_MT48LC32M8A2_75
246 depends on (BFIN537_STAMP || PNAV10)
249 config MEM_MT48LC8M32B2B5_7
251 depends on (BFIN561_BLUETECHNIX_CM)
254 config BFIN_SHARED_FLASH_ENET
256 depends on (BFIN533_STAMP)
259 source "arch/blackfin/mach-bf533/Kconfig"
260 source "arch/blackfin/mach-bf561/Kconfig"
261 source "arch/blackfin/mach-bf537/Kconfig"
263 menu "Board customizations"
266 bool "Default bootloader kernel arguments"
269 string "Initial kernel command string"
270 depends on CMDLINE_BOOL
271 default "console=ttyBF0,57600"
273 If you don't have a boot loader capable of passing a command line string
274 to the kernel, you may specify one here. As a minimum, you should specify
275 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
277 comment "Board Setup"
280 int "Crystal Frequency in Hz"
281 default "11059200" if BFIN533_STAMP
282 default "27000000" if BFIN533_EZKIT
283 default "25000000" if BFIN537_STAMP
284 default "30000000" if BFIN561_EZKIT
285 default "24576000" if PNAV10
287 The frequency of CLKIN crystal oscillator on the board in Hz.
290 int "SDRAM Memory Size in MBytes"
291 default 32 if BFIN533_EZKIT
292 default 64 if BFIN537_STAMP
293 default 64 if BFIN561_EZKIT
294 default 128 if BFIN533_STAMP
298 int "SDRAM Memory Address Width"
299 default 9 if BFIN533_EZKIT
300 default 9 if BFIN561_EZKIT
301 default 10 if BFIN537_STAMP
302 default 11 if BFIN533_STAMP
305 config ENET_FLASH_PIN
306 int "PF port/pin used for flash and ethernet sharing"
307 depends on (BFIN533_STAMP)
310 PF port/pin used for flash and ethernet sharing to allow other PF
311 pins to be used on other platforms without having to touch common
313 For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
316 hex "Kernel load address for booting"
319 This option allows you to set the load address of the kernel.
320 This can be useful if you are on a board which has a small amount
321 of memory or you wish to reserve some memory at the beginning of
324 Note that you generally want to keep this value at or above 4k
325 (0x1000) as this will allow the kernel to capture NULL pointer
328 comment "LED Status Indicators"
329 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
331 config BFIN_ALIVE_LED
332 bool "Enable Board Alive"
333 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
336 Blink the LEDs you select when the kernel is running. Helps detect
339 config BFIN_ALIVE_LED_NUM
341 depends on BFIN_ALIVE_LED
342 range 1 3 if BFIN533_STAMP
343 default "3" if BFIN533_STAMP
345 Select the LED (marked on the board) for you to blink.
348 bool "Enable System Load/Idle LED"
349 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
352 Blinks the LED you select when to determine kernel load.
354 config BFIN_IDLE_LED_NUM
356 depends on BFIN_IDLE_LED
357 range 1 3 if BFIN533_STAMP
358 default "2" if BFIN533_STAMP
360 Select the LED (marked on the board) for you to blink.
363 # Sorry - but you need to put the hex address here -
367 config BFIN_ALIVE_LED_PORT
369 default 0xFFC00700 if (BFIN533_STAMP)
371 # Peripheral Flag Direction Register
372 config BFIN_ALIVE_LED_DPORT
374 default 0xFFC00730 if (BFIN533_STAMP)
376 config BFIN_ALIVE_LED_PIN
378 default 0x04 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 1)
379 default 0x08 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 2)
380 default 0x10 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 3)
382 config BFIN_IDLE_LED_PORT
384 default 0xFFC00700 if (BFIN533_STAMP)
386 # Peripheral Flag Direction Register
387 config BFIN_IDLE_LED_DPORT
389 default 0xFFC00730 if (BFIN533_STAMP)
391 config BFIN_IDLE_LED_PIN
393 default 0x04 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 1)
394 default 0x08 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 2)
395 default 0x10 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 3)
400 menu "Blackfin Kernel Optimizations"
404 source kernel/Kconfig.hz
406 comment "Memory Optimizations"
409 bool "Locate interrupt entry code in L1 Memory"
412 If enabled interrupt entry code (STORE/RESTORE CONTEXT) is linked
413 into L1 instruction memory.(less latency)
415 config EXCPT_IRQ_SYSC_L1
416 bool "Locate entire ASM lowlevel excepetion / interrupt - Syscall and CPLB handler code in L1 Memory"
419 If enabled entire ASM lowlevel exception and interrupt entry code (STORE/RESTORE CONTEXT) is linked
420 into L1 instruction memory.(less latency)
423 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
426 If enabled frequently called do_irq dispatcher function is linked
427 into L1 instruction memory.(less latency)
429 config CORE_TIMER_IRQ_L1
430 bool "Locate frequently called timer_interrupt() function in L1 Memory"
433 If enabled frequently called timer_interrupt() function is linked
434 into L1 instruction memory.(less latency)
437 bool "Locate frequently idle function in L1 Memory"
440 If enabled frequently called idle function is linked
441 into L1 instruction memory.(less latency)
444 bool "Locate kernel schedule function in L1 Memory"
447 If enabled frequently called kernel schedule is linked
448 into L1 instruction memory.(less latency)
450 config ARITHMETIC_OPS_L1
451 bool "Locate kernel owned arithmetic functions in L1 Memory"
454 If enabled arithmetic functions are linked
455 into L1 instruction memory.(less latency)
458 bool "Locate access_ok function in L1 Memory"
461 If enabled access_ok function is linked
462 into L1 instruction memory.(less latency)
465 bool "Locate memset function in L1 Memory"
468 If enabled memset function is linked
469 into L1 instruction memory.(less latency)
472 bool "Locate memcpy function in L1 Memory"
475 If enabled memcpy function is linked
476 into L1 instruction memory.(less latency)
478 config SYS_BFIN_SPINLOCK_L1
479 bool "Locate sys_bfin_spinlock function in L1 Memory"
482 If enabled sys_bfin_spinlock function is linked
483 into L1 instruction memory.(less latency)
485 config IP_CHECKSUM_L1
486 bool "Locate IP Checksum function in L1 Memory"
489 If enabled IP Checksum function is linked
490 into L1 instruction memory.(less latency)
492 config CACHELINE_ALIGNED_L1
493 bool "Locate cacheline_aligned data to L1 Data Memory"
497 If enabled cacheline_anligned data is linked
498 into L1 data memory.(less latency)
500 config SYSCALL_TAB_L1
501 bool "Locate Syscall Table L1 Data Memory"
505 If enabled the Syscall LUT is linked
506 into L1 data memory.(less latency)
508 config CPLB_SWITCH_TAB_L1
509 bool "Locate CPLB Switch Tables L1 Data Memory"
513 If enabled the CPLB Switch Tables are linked
514 into L1 data memory.(less latency)
520 prompt "Kernel executes from"
522 Choose the memory type that the kernel will be running in.
527 The kernel will be resident in RAM when running.
532 The kernel will be resident in FLASH/ROM when running.
539 bool "Enable DMA Support"
540 depends on (BF533 || BF532 || BF531 || BF537 || BF536 || BF534 || BF561)
543 DMA driver for BF5xx.
546 prompt "Uncached SDRAM region"
547 default DMA_UNCACHED_1M
549 config DMA_UNCACHED_2M
550 bool "Enable 2M DMA region"
551 config DMA_UNCACHED_1M
552 bool "Enable 1M DMA region"
553 config DMA_UNCACHED_NONE
554 bool "Disable DMA region"
558 comment "Cache Support"
563 config BLKFIN_DCACHE_BANKA
564 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
565 depends on BLKFIN_DCACHE && !BF531
567 config BLKFIN_CACHE_LOCK
568 bool "Enable Cache Locking"
572 depends on BLKFIN_DCACHE
578 Cached data will be written back to SDRAM only when needed.
579 This can give a nice increase in performance, but beware of
580 broken drivers that do not properly invalidate/flush their
583 Write Through Policy:
584 Cached data will always be written back to SDRAM when the
585 cache is updated. This is a completely safe setting, but
586 performance is worse than Write Back.
588 If you are unsure of the options and you want to be safe,
589 then go with Write Through.
595 Cached data will be written back to SDRAM only when needed.
596 This can give a nice increase in performance, but beware of
597 broken drivers that do not properly invalidate/flush their
600 Write Through Policy:
601 Cached data will always be written back to SDRAM when the
602 cache is updated. This is a completely safe setting, but
603 performance is worse than Write Back.
605 If you are unsure of the options and you want to be safe,
606 then go with Write Through.
611 int "Set the max L1 SRAM pieces"
614 Set the max memory pieces for the L1 SRAM allocation algorithm.
615 Min value is 16. Max value is 1024.
617 menu "Clock Settings"
620 config BFIN_KERNEL_CLOCK
621 bool "Re-program Clocks while Kernel boots?"
624 This option decides if kernel clocks are re-programed from the
625 bootloader settings. If the clocks are not set, the SDRAM settings
626 are also not changed, and the Bootloader does 100% of the hardware
631 depends on BFIN_KERNEL_CLOCK
632 default "22" if BFIN533_EZKIT
633 default "45" if BFIN533_STAMP
634 default "20" if BFIN537_STAMP
635 default "22" if BFIN533_BLUETECHNIX_CM
636 default "20" if BFIN537_BLUETECHNIX_CM
637 default "20" if BFIN561_BLUETECHNIX_CM
638 default "20" if BFIN561_EZKIT
641 int "Core Clock Divider"
642 depends on BFIN_KERNEL_CLOCK
643 default 1 if BFIN533_EZKIT
644 default 1 if BFIN533_STAMP
645 default 1 if BFIN537_STAMP
646 default 1 if BFIN533_BLUETECHNIX_CM
647 default 1 if BFIN537_BLUETECHNIX_CM
648 default 1 if BFIN561_BLUETECHNIX_CM
649 default 1 if BFIN561_EZKIT
652 int "System Clock Divider"
653 depends on BFIN_KERNEL_CLOCK
654 default 5 if BFIN533_EZKIT
655 default 5 if BFIN533_STAMP
656 default 4 if BFIN537_STAMP
657 default 5 if BFIN533_BLUETECHNIX_CM
658 default 4 if BFIN537_BLUETECHNIX_CM
659 default 4 if BFIN561_BLUETECHNIX_CM
660 default 5 if BFIN561_EZKIT
664 depends on BFIN_KERNEL_CLOCK
669 depends on BFIN_KERNEL_CLOCK
674 comment "Asynchonous Memory Configuration"
676 menu "EBIU_AMBCTL Global Control"
682 bool "DMA has priority over core for ext. accesses"
687 bool "Bank 0 16 bit packing enable"
692 bool "Bank 1 16 bit packing enable"
697 bool "Bank 2 16 bit packing enable"
702 bool "Bank 3 16 bit packing enable"
706 prompt"Enable Asynchonous Memory Banks"
710 bool "Disable All Banks"
716 bool "Enable Bank 0 & 1"
718 config C_AMBEN_B0_B1_B2
719 bool "Enable Bank 0 & 1 & 2"
722 bool "Enable All Banks"
726 menu "EBIU_AMBCTL Control"
746 #############################################################################
747 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
754 source "drivers/pci/Kconfig"
757 bool "Support for hot-pluggable device"
759 Say Y here if you want to plug devices into your computer while
760 the system is running, and be able to use them quickly. In many
761 cases, the devices can likewise be unplugged at any time too.
763 One well known example of this is PCMCIA- or PC-cards, credit-card
764 size devices such as network cards, modems or hard drives which are
765 plugged into slots found on all modern laptop computers. Another
766 example, used on modern desktops as well as laptops, is USB.
768 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
769 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
770 Then your kernel will automatically call out to a user mode "policy
771 agent" (/sbin/hotplug) to load modules and set up software needed
772 to use devices as you hotplug them.
774 source "drivers/pcmcia/Kconfig"
776 source "drivers/pci/hotplug/Kconfig"
780 menu "Executable file formats"
782 source "fs/Kconfig.binfmt"
786 menu "Power management options"
787 source "kernel/power/Kconfig"
790 prompt "Select PM Wakeup Event Source"
791 default PM_WAKEUP_GPIO_BY_SIC_IWR
794 If you have a GPIO already configured as input with the corresponding PORTx_MASK
795 bit set - "Specify Wakeup Event by SIC_IWR value"
797 config PM_WAKEUP_GPIO_BY_SIC_IWR
798 bool "Specify Wakeup Event by SIC_IWR value"
799 config PM_WAKEUP_BY_GPIO
800 bool "Cause Wakeup Event by GPIO"
801 config PM_WAKEUP_GPIO_API
802 bool "Configure Wakeup Event by PM GPIO API"
806 config PM_WAKEUP_SIC_IWR
807 hex "Wakeup Events (SIC_IWR)"
808 depends on PM_WAKEUP_GPIO_BY_SIC_IWR
809 default 0x80000000 if (BF537 || BF536 || BF534)
810 default 0x100000 if (BF533 || BF532 || BF531)
812 config PM_WAKEUP_GPIO_NUMBER
813 int "Wakeup GPIO number"
815 depends on PM_WAKEUP_BY_GPIO
816 default 2 if BFIN537_STAMP
819 prompt "GPIO Polarity"
820 depends on PM_WAKEUP_BY_GPIO
821 default PM_WAKEUP_GPIO_POLAR_H
822 config PM_WAKEUP_GPIO_POLAR_H
824 config PM_WAKEUP_GPIO_POLAR_L
826 config PM_WAKEUP_GPIO_POLAR_EDGE_F
828 config PM_WAKEUP_GPIO_POLAR_EDGE_R
830 config PM_WAKEUP_GPIO_POLAR_EDGE_B
838 menu "CPU Frequency scaling"
840 source "drivers/cpufreq/Kconfig"
846 If you want to enable this option, you should select the
847 DPMC driver from Character Devices.
854 source "drivers/Kconfig"
858 source "arch/blackfin/oprofile/Kconfig"
860 menu "Kernel hacking"
862 source "lib/Kconfig.debug"
865 bool "Hardware error interrupt debugging"
866 depends on DEBUG_KERNEL
868 When enabled, the hardware error interrupt is never disabled, and
869 will happen immediately when an error condition occurs. This comes
870 at a slight cost in code size, but is necessary if you are getting
871 hardware error interrupts and need to know where they are coming
874 config DEBUG_ICACHE_CHECK
875 bool "Check Instruction cache coherancy"
876 depends on DEBUG_KERNEL
877 depends on DEBUG_HWERR
879 Say Y here if you are getting wierd unexplained errors. This will
880 ensure that icache is what SDRAM says it should be, by doing a
881 byte wise comparision between SDRAM and instruction cache. This
882 also relocates the irq_panic() function to L1 memory, (which is
885 config DEBUG_KERNEL_START
886 bool "Debug Kernel Startup"
887 depends on DEBUG_KERNEL
889 Say Y here to put in an mini-execption handler before the kernel
890 replaces the bootloader exception handler. This will stop kernels
891 from dieing at startup with no visible error messages.
893 config DEBUG_SERIAL_EARLY_INIT
894 bool "Initialize serial driver early"
896 depends on SERIAL_BFIN
898 Say Y here if you want to get kernel output early when kernel
899 crashes before the normal console initialization. If this option
900 is enable, console output will always go to the ttyBF0, no matter
901 what kernel boot paramters you set.
903 config DEBUG_HUNT_FOR_ZERO
904 bool "Catch NULL pointer reads/writes"
907 Say Y here to catch reads/writes to anywhere in the memory range
908 from 0x0000 - 0x0FFF (the first 4k) of memory. This is useful in
909 catching common programming errors such as NULL pointer dereferences.
911 Misbehaving applications will be killed (generate a SEGV) while the
912 kernel will trigger a panic.
914 Enabling this option will take up an extra entry in CPLB table.
915 Otherwise, there is no extra overhead.
917 config DEBUG_BFIN_NO_KERN_HWTRACE
918 bool "Trace user apps (turn off hwtrace in kernel)"
921 Some pieces of the kernel contain a lot of flow changes which can
922 quickly fill up the hardware trace buffer. When debugging crashes,
923 the hardware trace may indicate that the problem lies in kernel
924 space when in reality an application is buggy.
926 Say Y here to disable hardware tracing in some known "jumpy" pieces
927 of code so that the trace buffer will extend further back.
929 config DUAL_CORE_TEST_MODULE
930 tristate "Dual Core Test Module"
934 Say Y here to build-in dual core test module for dual core test.
937 bool "Display the CPLB information"
939 Display the CPLB information.
942 bool "Check the user pointer address"
945 Usually the pointer transfer from user space is checked to see if its
946 address is in the kernel space.
948 Say N here to disable that check to improve the performance.
952 source "security/Kconfig"
954 source "crypto/Kconfig"