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
199 CM-BF561 support for EVAL- and DEV-Board.
205 BF561-EZKIT-LITE board Support.
208 bool "PNAV 1.0 board"
211 PNAV 1.0 board Support.
215 depends on (BF537 || BF536 \
216 || BF534 || BF561 || BF535 || BF533 || BF532 || BF531)
218 GENERIC or Custom board Support.
222 config MEM_GENERIC_BOARD
224 depends on GENERIC_BOARD
227 config MEM_MT48LC64M4A2FB_7E
229 depends on (BFIN533_STAMP)
232 config MEM_MT48LC16M16A2TG_75
234 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
235 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM)
238 config MEM_MT48LC32M8A2_75
240 depends on (BFIN537_STAMP || PNAV10)
243 config MEM_MT48LC8M32B2B5_7
245 depends on (BFIN561_BLUETECHNIX_CM)
248 config BFIN_SHARED_FLASH_ENET
250 depends on (BFIN533_STAMP)
253 source "arch/blackfin/mach-bf533/Kconfig"
254 source "arch/blackfin/mach-bf561/Kconfig"
255 source "arch/blackfin/mach-bf537/Kconfig"
257 menu "Board customizations"
260 bool "Default bootloader kernel arguments"
263 string "Initial kernel command string"
264 depends on CMDLINE_BOOL
265 default "console=ttyBF0,57600"
267 If you don't have a boot loader capable of passing a command line string
268 to the kernel, you may specify one here. As a minimum, you should specify
269 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
271 comment "Board Setup"
274 int "Crystal Frequency in Hz"
275 default "11059200" if BFIN533_STAMP
276 default "27000000" if BFIN533_EZKIT
277 default "25000000" if BFIN537_STAMP
278 default "30000000" if BFIN561_EZKIT
279 default "24576000" if PNAV10
281 The frequency of CLKIN crystal oscillator on the board in Hz.
284 int "SDRAM Memory Size in MBytes"
285 default 32 if BFIN533_EZKIT
286 default 64 if BFIN537_STAMP
287 default 64 if BFIN561_EZKIT
288 default 128 if BFIN533_STAMP
292 int "SDRAM Memory Address Width"
293 default 9 if BFIN533_EZKIT
294 default 9 if BFIN561_EZKIT
295 default 10 if BFIN537_STAMP
296 default 11 if BFIN533_STAMP
299 config ENET_FLASH_PIN
300 int "PF port/pin used for flash and ethernet sharing"
301 depends on (BFIN533_STAMP)
304 PF port/pin used for flash and ethernet sharing to allow other PF
305 pins to be used on other platforms without having to touch common
307 For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
310 hex "Kernel load address for booting"
313 This option allows you to set the load address of the kernel.
314 This can be useful if you are on a board which has a small amount
315 of memory or you wish to reserve some memory at the beginning of
318 Note that you generally want to keep this value at or above 4k
319 (0x1000) as this will allow the kernel to capture NULL pointer
322 comment "LED Status Indicators"
323 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
325 config BFIN_ALIVE_LED
326 bool "Enable Board Alive"
327 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
330 Blink the LEDs you select when the kernel is running. Helps detect
333 config BFIN_ALIVE_LED_NUM
335 depends on BFIN_ALIVE_LED
336 range 1 3 if BFIN533_STAMP
337 default "3" if BFIN533_STAMP
339 Select the LED (marked on the board) for you to blink.
342 bool "Enable System Load/Idle LED"
343 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
346 Blinks the LED you select when to determine kernel load.
348 config BFIN_IDLE_LED_NUM
350 depends on BFIN_IDLE_LED
351 range 1 3 if BFIN533_STAMP
352 default "2" if BFIN533_STAMP
354 Select the LED (marked on the board) for you to blink.
357 # Sorry - but you need to put the hex address here -
361 config BFIN_ALIVE_LED_PORT
363 default 0xFFC00700 if (BFIN533_STAMP)
365 # Peripheral Flag Direction Register
366 config BFIN_ALIVE_LED_DPORT
368 default 0xFFC00730 if (BFIN533_STAMP)
370 config BFIN_ALIVE_LED_PIN
372 default 0x04 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 1)
373 default 0x08 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 2)
374 default 0x10 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 3)
376 config BFIN_IDLE_LED_PORT
378 default 0xFFC00700 if (BFIN533_STAMP)
380 # Peripheral Flag Direction Register
381 config BFIN_IDLE_LED_DPORT
383 default 0xFFC00730 if (BFIN533_STAMP)
385 config BFIN_IDLE_LED_PIN
387 default 0x04 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 1)
388 default 0x08 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 2)
389 default 0x10 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 3)
391 comment "Console UART Setup"
410 default BAUD_NO_PARITY
411 config BAUD_NO_PARITY
419 default BAUD_1_STOPBIT
420 config BAUD_1_STOPBIT
422 config BAUD_2_STOPBIT
429 menu "Blackfin Kernel Optimizations"
433 source kernel/Kconfig.hz
435 comment "Memory Optimizations"
438 bool "Locate interrupt entry code in L1 Memory"
441 If enabled interrupt entry code (STORE/RESTORE CONTEXT) is linked
442 into L1 instruction memory.(less latency)
444 config EXCPT_IRQ_SYSC_L1
445 bool "Locate entire ASM lowlevel excepetion / interrupt - Syscall and CPLB handler code in L1 Memory"
448 If enabled entire ASM lowlevel exception and interrupt entry code (STORE/RESTORE CONTEXT) is linked
449 into L1 instruction memory.(less latency)
452 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
455 If enabled frequently called do_irq dispatcher function is linked
456 into L1 instruction memory.(less latency)
458 config CORE_TIMER_IRQ_L1
459 bool "Locate frequently called timer_interrupt() function in L1 Memory"
462 If enabled frequently called timer_interrupt() function is linked
463 into L1 instruction memory.(less latency)
466 bool "Locate frequently idle function in L1 Memory"
469 If enabled frequently called idle function is linked
470 into L1 instruction memory.(less latency)
473 bool "Locate kernel schedule function in L1 Memory"
476 If enabled frequently called kernel schedule is linked
477 into L1 instruction memory.(less latency)
479 config ARITHMETIC_OPS_L1
480 bool "Locate kernel owned arithmetic functions in L1 Memory"
483 If enabled arithmetic functions are linked
484 into L1 instruction memory.(less latency)
487 bool "Locate access_ok function in L1 Memory"
490 If enabled access_ok function is linked
491 into L1 instruction memory.(less latency)
494 bool "Locate memset function in L1 Memory"
497 If enabled memset function is linked
498 into L1 instruction memory.(less latency)
501 bool "Locate memcpy function in L1 Memory"
504 If enabled memcpy function is linked
505 into L1 instruction memory.(less latency)
507 config SYS_BFIN_SPINLOCK_L1
508 bool "Locate sys_bfin_spinlock function in L1 Memory"
511 If enabled sys_bfin_spinlock function is linked
512 into L1 instruction memory.(less latency)
514 config IP_CHECKSUM_L1
515 bool "Locate IP Checksum function in L1 Memory"
518 If enabled IP Checksum function is linked
519 into L1 instruction memory.(less latency)
521 config CACHELINE_ALIGNED_L1
522 bool "Locate cacheline_aligned data to L1 Data Memory"
526 If enabled cacheline_anligned data is linked
527 into L1 data memory.(less latency)
529 config SYSCALL_TAB_L1
530 bool "Locate Syscall Table L1 Data Memory"
534 If enabled the Syscall LUT is linked
535 into L1 data memory.(less latency)
537 config CPLB_SWITCH_TAB_L1
538 bool "Locate CPLB Switch Tables L1 Data Memory"
542 If enabled the CPLB Switch Tables are linked
543 into L1 data memory.(less latency)
549 prompt "Kernel executes from"
551 Choose the memory type that the kernel will be running in.
556 The kernel will be resident in RAM when running.
561 The kernel will be resident in FLASH/ROM when running.
568 bool "Enable DMA Support"
569 depends on (BF533 || BF532 || BF531 || BF537 || BF536 || BF534 || BF561)
572 DMA driver for BF5xx.
575 prompt "Uncached SDRAM region"
576 default DMA_UNCACHED_1M
578 config DMA_UNCACHED_2M
579 bool "Enable 2M DMA region"
580 config DMA_UNCACHED_1M
581 bool "Enable 1M DMA region"
582 config DMA_UNCACHED_NONE
583 bool "Disable DMA region"
587 comment "Cache Support"
592 config BLKFIN_DCACHE_BANKA
593 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
594 depends on BLKFIN_DCACHE && !BF531
596 config BLKFIN_CACHE_LOCK
597 bool "Enable Cache Locking"
601 depends on BLKFIN_DCACHE
607 Cached data will be written back to SDRAM only when needed.
608 This can give a nice increase in performance, but beware of
609 broken drivers that do not properly invalidate/flush their
612 Write Through Policy:
613 Cached data will always be written back to SDRAM when the
614 cache is updated. This is a completely safe setting, but
615 performance is worse than Write Back.
617 If you are unsure of the options and you want to be safe,
618 then go with Write Through.
624 Cached data will be written back to SDRAM only when needed.
625 This can give a nice increase in performance, but beware of
626 broken drivers that do not properly invalidate/flush their
629 Write Through Policy:
630 Cached data will always be written back to SDRAM when the
631 cache is updated. This is a completely safe setting, but
632 performance is worse than Write Back.
634 If you are unsure of the options and you want to be safe,
635 then go with Write Through.
640 int "Set the max L1 SRAM pieces"
643 Set the max memory pieces for the L1 SRAM allocation algorithm.
644 Min value is 16. Max value is 1024.
646 menu "Clock Settings"
649 config BFIN_KERNEL_CLOCK
650 bool "Re-program Clocks while Kernel boots?"
653 This option decides if kernel clocks are re-programed from the
654 bootloader settings. If the clocks are not set, the SDRAM settings
655 are also not changed, and the Bootloader does 100% of the hardware
660 depends on BFIN_KERNEL_CLOCK
661 default "22" if BFIN533_EZKIT
662 default "45" if BFIN533_STAMP
663 default "20" if BFIN537_STAMP
664 default "22" if BFIN533_BLUETECHNIX_CM
665 default "20" if BFIN537_BLUETECHNIX_CM
666 default "20" if BFIN561_BLUETECHNIX_CM
667 default "20" if BFIN561_EZKIT
670 int "Core Clock Divider"
671 depends on BFIN_KERNEL_CLOCK
672 default 1 if BFIN533_EZKIT
673 default 1 if BFIN533_STAMP
674 default 1 if BFIN537_STAMP
675 default 1 if BFIN533_BLUETECHNIX_CM
676 default 1 if BFIN537_BLUETECHNIX_CM
677 default 1 if BFIN561_BLUETECHNIX_CM
678 default 1 if BFIN561_EZKIT
681 int "System Clock Divider"
682 depends on BFIN_KERNEL_CLOCK
683 default 5 if BFIN533_EZKIT
684 default 5 if BFIN533_STAMP
685 default 4 if BFIN537_STAMP
686 default 5 if BFIN533_BLUETECHNIX_CM
687 default 4 if BFIN537_BLUETECHNIX_CM
688 default 4 if BFIN561_BLUETECHNIX_CM
689 default 5 if BFIN561_EZKIT
693 depends on BFIN_KERNEL_CLOCK
698 depends on BFIN_KERNEL_CLOCK
703 comment "Asynchonous Memory Configuration"
705 menu "EBIU_AMBCTL Global Control"
711 bool "DMA has priority over core for ext. accesses"
716 bool "Bank 0 16 bit packing enable"
721 bool "Bank 1 16 bit packing enable"
726 bool "Bank 2 16 bit packing enable"
731 bool "Bank 3 16 bit packing enable"
735 prompt"Enable Asynchonous Memory Banks"
739 bool "Disable All Banks"
745 bool "Enable Bank 0 & 1"
747 config C_AMBEN_B0_B1_B2
748 bool "Enable Bank 0 & 1 & 2"
751 bool "Enable All Banks"
755 menu "EBIU_AMBCTL Control"
775 #############################################################################
776 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
783 source "drivers/pci/Kconfig"
786 bool "Support for hot-pluggable device"
788 Say Y here if you want to plug devices into your computer while
789 the system is running, and be able to use them quickly. In many
790 cases, the devices can likewise be unplugged at any time too.
792 One well known example of this is PCMCIA- or PC-cards, credit-card
793 size devices such as network cards, modems or hard drives which are
794 plugged into slots found on all modern laptop computers. Another
795 example, used on modern desktops as well as laptops, is USB.
797 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
798 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
799 Then your kernel will automatically call out to a user mode "policy
800 agent" (/sbin/hotplug) to load modules and set up software needed
801 to use devices as you hotplug them.
803 source "drivers/pcmcia/Kconfig"
805 source "drivers/pci/hotplug/Kconfig"
809 menu "Executable file formats"
811 source "fs/Kconfig.binfmt"
815 menu "Power management options"
816 source "kernel/power/Kconfig"
819 prompt "Select PM Wakeup Event Source"
820 default PM_WAKEUP_GPIO_BY_SIC_IWR
823 If you have a GPIO already configured as input with the corresponding PORTx_MASK
824 bit set - "Specify Wakeup Event by SIC_IWR value"
826 config PM_WAKEUP_GPIO_BY_SIC_IWR
827 bool "Specify Wakeup Event by SIC_IWR value"
828 config PM_WAKEUP_BY_GPIO
829 bool "Cause Wakeup Event by GPIO"
830 config PM_WAKEUP_GPIO_API
831 bool "Configure Wakeup Event by PM GPIO API"
835 config PM_WAKEUP_SIC_IWR
836 hex "Wakeup Events (SIC_IWR)"
837 depends on PM_WAKEUP_GPIO_BY_SIC_IWR
838 default 0x80000000 if (BF537 || BF536 || BF534)
839 default 0x100000 if (BF533 || BF532 || BF531)
841 config PM_WAKEUP_GPIO_NUMBER
842 int "Wakeup GPIO number"
844 depends on PM_WAKEUP_BY_GPIO
845 default 2 if BFIN537_STAMP
848 prompt "GPIO Polarity"
849 depends on PM_WAKEUP_BY_GPIO
850 default PM_WAKEUP_GPIO_POLAR_H
851 config PM_WAKEUP_GPIO_POLAR_H
853 config PM_WAKEUP_GPIO_POLAR_L
855 config PM_WAKEUP_GPIO_POLAR_EDGE_F
857 config PM_WAKEUP_GPIO_POLAR_EDGE_R
859 config PM_WAKEUP_GPIO_POLAR_EDGE_B
867 menu "CPU Frequency scaling"
869 source "drivers/cpufreq/Kconfig"
875 If you want to enable this option, you should select the
876 DPMC driver from Character Devices.
883 source "drivers/Kconfig"
887 source "arch/blackfin/oprofile/Kconfig"
889 menu "Kernel hacking"
891 source "lib/Kconfig.debug"
894 bool "Hardware error interrupt debugging"
895 depends on DEBUG_KERNEL
897 When enabled, the hardware error interrupt is never disabled, and
898 will happen immediately when an error condition occurs. This comes
899 at a slight cost in code size, but is necessary if you are getting
900 hardware error interrupts and need to know where they are coming
903 config DEBUG_ICACHE_CHECK
904 bool "Check Instruction cache coherancy"
905 depends on DEBUG_KERNEL
906 depends on DEBUG_HWERR
908 Say Y here if you are getting wierd unexplained errors. This will
909 ensure that icache is what SDRAM says it should be, by doing a
910 byte wise comparision between SDRAM and instruction cache. This
911 also relocates the irq_panic() function to L1 memory, (which is
914 config DEBUG_KERNEL_START
915 bool "Debug Kernel Startup"
916 depends on DEBUG_KERNEL
918 Say Y here to put in an mini-execption handler before the kernel
919 replaces the bootloader exception handler. This will stop kernels
920 from dieing at startup with no visible error messages.
922 config DEBUG_SERIAL_EARLY_INIT
923 bool "Initialize serial driver early"
925 depends on SERIAL_BFIN
927 Say Y here if you want to get kernel output early when kernel
928 crashes before the normal console initialization. If this option
929 is enable, console output will always go to the ttyBF0, no matter
930 what kernel boot paramters you set.
932 config DEBUG_HUNT_FOR_ZERO
933 bool "Catch NULL pointer reads/writes"
936 Say Y here to catch reads/writes to anywhere in the memory range
937 from 0x0000 - 0x0FFF (the first 4k) of memory. This is useful in
938 catching common programming errors such as NULL pointer dereferences.
940 Misbehaving applications will be killed (generate a SEGV) while the
941 kernel will trigger a panic.
943 Enabling this option will take up an extra entry in CPLB table.
944 Otherwise, there is no extra overhead.
946 config DEBUG_BFIN_NO_KERN_HWTRACE
947 bool "Trace user apps (turn off hwtrace in kernel)"
950 Some pieces of the kernel contain a lot of flow changes which can
951 quickly fill up the hardware trace buffer. When debugging crashes,
952 the hardware trace may indicate that the problem lies in kernel
953 space when in reality an application is buggy.
955 Say Y here to disable hardware tracing in some known "jumpy" pieces
956 of code so that the trace buffer will extend further back.
958 config DUAL_CORE_TEST_MODULE
959 tristate "Dual Core Test Module"
963 Say Y here to build-in dual core test module for dual core test.
966 bool "Display the CPLB information"
968 Display the CPLB information.
971 bool "Check the user pointer address"
974 Usually the pointer transfer from user space is checked to see if its
975 address is in the kernel space.
977 Say N here to disable that check to improve the performance.
981 source "security/Kconfig"
983 source "crypto/Kconfig"