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
32 config SEMAPHORE_SLEEPERS
36 config GENERIC_FIND_NEXT_BIT
40 config GENERIC_HWEIGHT
44 config GENERIC_HARDIRQS
48 config GENERIC_IRQ_PROBE
56 config GENERIC_CALIBRATE_DELAY
60 config FORCE_MAX_ZONEORDER
64 config GENERIC_CALIBRATE_DELAY
68 config IRQCHIP_DEMUX_GPIO
73 source "kernel/Kconfig.preempt"
75 menu "Blackfin Processor Options"
77 comment "Processor and Board Settings"
86 BF531 Processor Support.
91 BF532 Processor Support.
96 BF533 Processor Support.
101 BF534 Processor Support.
106 BF536 Processor Support.
111 BF537 Processor Support.
116 Not Supported Yet - Work in progress - BF561 Processor Support.
122 default BF_REV_0_2 if BF537
123 default BF_REV_0_3 if BF533
127 depends on (BF537 || BF536 || BF534)
131 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
135 depends on (BF561 || BF533 || BF532 || BF531)
139 depends on (BF561 || BF533 || BF532 || BF531)
143 config BFIN_DUAL_CORE
148 config BFIN_SINGLE_CORE
150 depends on !BFIN_DUAL_CORE
155 default BFIN533_STAMP
157 Do NOT change the board here. Please use the top level
158 configuration to ensure that all the other settings are
163 depends on (BF533 || BF532 || BF531)
165 BF533-EZKIT-LITE board Support.
169 depends on (BF533 || BF532 || BF531)
171 BF533-STAMP board Support.
175 depends on (BF537 || BF536 || BF534)
177 BF537-STAMP board Support.
179 config BFIN533_BLUETECHNIX_CM
180 bool "Bluetechnix CM-BF533"
183 CM-BF533 support for EVAL- and DEV-Board.
185 config BFIN537_BLUETECHNIX_CM
186 bool "Bluetechnix CM-BF537"
189 CM-BF537 support for EVAL- and DEV-Board.
191 config BFIN561_BLUETECHNIX_CM
195 CM-BF561 support for EVAL- and DEV-Board.
201 BF561-EZKIT-LITE board Support.
204 bool "PNAV 1.0 board"
207 PNAV 1.0 board Support.
211 depends on (BF537 || BF536 \
212 || BF534 || BF561 || BF535 || BF533 || BF532 || BF531)
214 GENERIC or Custom board Support.
218 config MEM_GENERIC_BOARD
220 depends on GENERIC_BOARD
223 config MEM_MT48LC64M4A2FB_7E
225 depends on (BFIN533_STAMP)
228 config MEM_MT48LC16M16A2TG_75
230 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
231 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM)
234 config MEM_MT48LC32M8A2_75
236 depends on (BFIN537_STAMP || PNAV10)
239 config MEM_MT48LC8M32B2B5_7
241 depends on (BFIN561_BLUETECHNIX_CM)
244 config BFIN_SHARED_FLASH_ENET
246 depends on (BFIN533_STAMP)
249 source "arch/blackfin/mach-bf533/Kconfig"
250 source "arch/blackfin/mach-bf561/Kconfig"
251 source "arch/blackfin/mach-bf537/Kconfig"
253 menu "Board customizations"
256 bool "Default bootloader kernel arguments"
259 string "Initial kernel command string"
260 depends on CMDLINE_BOOL
261 default "console=ttyBF0,57600"
263 If you don't have a boot loader capable of passing a command line string
264 to the kernel, you may specify one here. As a minimum, you should specify
265 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
267 comment "Board Setup"
270 int "Crystal Frequency in Hz"
271 default "11059200" if BFIN533_STAMP
272 default "27000000" if BFIN533_EZKIT
273 default "25000000" if BFIN537_STAMP
274 default "30000000" if BFIN561_EZKIT
275 default "24576000" if PNAV10
277 The frequency of CLKIN crystal oscillator on the board in Hz.
280 int "SDRAM Memory Size in MBytes"
281 default 32 if BFIN533_EZKIT
282 default 64 if BFIN537_STAMP
283 default 64 if BFIN561_EZKIT
284 default 128 if BFIN533_STAMP
288 int "SDRAM Memory Address Width"
289 default 9 if BFIN533_EZKIT
290 default 9 if BFIN561_EZKIT
291 default 10 if BFIN537_STAMP
292 default 11 if BFIN533_STAMP
295 config ENET_FLASH_PIN
296 int "PF port/pin used for flash and ethernet sharing"
297 depends on (BFIN533_STAMP)
300 PF port/pin used for flash and ethernet sharing to allow other PF
301 pins to be used on other platforms without having to touch common
303 For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
306 hex "Kernel load address for booting"
309 This option allows you to set the load address of the kernel.
310 This can be useful if you are on a board which has a small amount
311 of memory or you wish to reserve some memory at the beginning of
314 Note that you generally want to keep this value at or above 4k
315 (0x1000) as this will allow the kernel to capture NULL pointer
318 comment "LED Status Indicators"
319 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
321 config BFIN_ALIVE_LED
322 bool "Enable Board Alive"
323 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
326 Blink the LEDs you select when the kernel is running. Helps detect
329 config BFIN_ALIVE_LED_NUM
331 depends on BFIN_ALIVE_LED
332 range 1 3 if BFIN533_STAMP
333 default "3" if BFIN533_STAMP
335 Select the LED (marked on the board) for you to blink.
338 bool "Enable System Load/Idle LED"
339 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
342 Blinks the LED you select when to determine kernel load.
344 config BFIN_IDLE_LED_NUM
346 depends on BFIN_IDLE_LED
347 range 1 3 if BFIN533_STAMP
348 default "2" if BFIN533_STAMP
350 Select the LED (marked on the board) for you to blink.
353 # Sorry - but you need to put the hex address here -
357 config BFIN_ALIVE_LED_PORT
359 default 0xFFC00700 if (BFIN533_STAMP)
361 # Peripheral Flag Direction Register
362 config BFIN_ALIVE_LED_DPORT
364 default 0xFFC00730 if (BFIN533_STAMP)
366 config BFIN_ALIVE_LED_PIN
368 default 0x04 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 1)
369 default 0x08 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 2)
370 default 0x10 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 3)
372 config BFIN_IDLE_LED_PORT
374 default 0xFFC00700 if (BFIN533_STAMP)
376 # Peripheral Flag Direction Register
377 config BFIN_IDLE_LED_DPORT
379 default 0xFFC00730 if (BFIN533_STAMP)
381 config BFIN_IDLE_LED_PIN
383 default 0x04 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 1)
384 default 0x08 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 2)
385 default 0x10 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 3)
387 comment "Console UART Setup"
406 default BAUD_NO_PARITY
407 config BAUD_NO_PARITY
415 default BAUD_1_STOPBIT
416 config BAUD_1_STOPBIT
418 config BAUD_2_STOPBIT
425 menu "Blackfin Kernel Optimizations"
429 source kernel/Kconfig.hz
431 comment "Memory Optimizations"
434 bool "Locate interrupt entry code in L1 Memory"
437 If enabled interrupt entry code (STORE/RESTORE CONTEXT) is linked
438 into L1 instruction memory.(less latency)
440 config EXCPT_IRQ_SYSC_L1
441 bool "Locate entire ASM lowlevel excepetion / interrupt - Syscall and CPLB handler code in L1 Memory"
444 If enabled entire ASM lowlevel exception and interrupt entry code (STORE/RESTORE CONTEXT) is linked
445 into L1 instruction memory.(less latency)
448 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
451 If enabled frequently called do_irq dispatcher function is linked
452 into L1 instruction memory.(less latency)
454 config CORE_TIMER_IRQ_L1
455 bool "Locate frequently called timer_interrupt() function in L1 Memory"
458 If enabled frequently called timer_interrupt() function is linked
459 into L1 instruction memory.(less latency)
462 bool "Locate frequently idle function in L1 Memory"
465 If enabled frequently called idle function is linked
466 into L1 instruction memory.(less latency)
469 bool "Locate kernel schedule function in L1 Memory"
472 If enabled frequently called kernel schedule is linked
473 into L1 instruction memory.(less latency)
475 config ARITHMETIC_OPS_L1
476 bool "Locate kernel owned arithmetic functions in L1 Memory"
479 If enabled arithmetic functions are linked
480 into L1 instruction memory.(less latency)
483 bool "Locate access_ok function in L1 Memory"
486 If enabled access_ok function is linked
487 into L1 instruction memory.(less latency)
490 bool "Locate memset function in L1 Memory"
493 If enabled memset function is linked
494 into L1 instruction memory.(less latency)
497 bool "Locate memcpy function in L1 Memory"
500 If enabled memcpy function is linked
501 into L1 instruction memory.(less latency)
503 config SYS_BFIN_SPINLOCK_L1
504 bool "Locate sys_bfin_spinlock function in L1 Memory"
507 If enabled sys_bfin_spinlock function is linked
508 into L1 instruction memory.(less latency)
510 config IP_CHECKSUM_L1
511 bool "Locate IP Checksum function in L1 Memory"
514 If enabled IP Checksum function is linked
515 into L1 instruction memory.(less latency)
517 config CACHELINE_ALIGNED_L1
518 bool "Locate cacheline_aligned data to L1 Data Memory"
522 If enabled cacheline_anligned data is linked
523 into L1 data memory.(less latency)
525 config SYSCALL_TAB_L1
526 bool "Locate Syscall Table L1 Data Memory"
530 If enabled the Syscall LUT is linked
531 into L1 data memory.(less latency)
533 config CPLB_SWITCH_TAB_L1
534 bool "Locate CPLB Switch Tables L1 Data Memory"
538 If enabled the CPLB Switch Tables are linked
539 into L1 data memory.(less latency)
545 prompt "Kernel executes from"
547 Choose the memory type that the kernel will be running in.
552 The kernel will be resident in RAM when running.
557 The kernel will be resident in FLASH/ROM when running.
564 bool "Enable DMA Support"
565 depends on (BF533 || BF532 || BF531 || BF537 || BF536 || BF534 || BF561)
568 DMA driver for BF5xx.
571 prompt "Uncached SDRAM region"
572 default DMA_UNCACHED_1M
574 config DMA_UNCACHED_2M
575 bool "Enable 2M DMA region"
576 config DMA_UNCACHED_1M
577 bool "Enable 1M DMA region"
578 config DMA_UNCACHED_NONE
579 bool "Disable DMA region"
583 comment "Cache Support"
588 config BLKFIN_DCACHE_BANKA
589 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
590 depends on BLKFIN_DCACHE && !BF531
592 config BLKFIN_CACHE_LOCK
593 bool "Enable Cache Locking"
597 depends on BLKFIN_DCACHE
603 Cached data will be written back to SDRAM only when needed.
604 This can give a nice increase in performance, but beware of
605 broken drivers that do not properly invalidate/flush their
608 Write Through Policy:
609 Cached data will always be written back to SDRAM when the
610 cache is updated. This is a completely safe setting, but
611 performance is worse than Write Back.
613 If you are unsure of the options and you want to be safe,
614 then go with Write Through.
620 Cached data will be written back to SDRAM only when needed.
621 This can give a nice increase in performance, but beware of
622 broken drivers that do not properly invalidate/flush their
625 Write Through Policy:
626 Cached data will always be written back to SDRAM when the
627 cache is updated. This is a completely safe setting, but
628 performance is worse than Write Back.
630 If you are unsure of the options and you want to be safe,
631 then go with Write Through.
636 int "Set the max L1 SRAM pieces"
639 Set the max memory pieces for the L1 SRAM allocation algorithm.
640 Min value is 16. Max value is 1024.
642 menu "Clock Settings"
645 config BFIN_KERNEL_CLOCK
646 bool "Re-program Clocks while Kernel boots?"
649 This option decides if kernel clocks are re-programed from the
650 bootloader settings. If the clocks are not set, the SDRAM settings
651 are also not changed, and the Bootloader does 100% of the hardware
656 depends on BFIN_KERNEL_CLOCK
657 default "22" if BFIN533_EZKIT
658 default "45" if BFIN533_STAMP
659 default "20" if BFIN537_STAMP
660 default "22" if BFIN533_BLUETECHNIX_CM
661 default "20" if BFIN537_BLUETECHNIX_CM
662 default "20" if BFIN561_BLUETECHNIX_CM
663 default "20" if BFIN561_EZKIT
666 int "Core Clock Divider"
667 depends on BFIN_KERNEL_CLOCK
668 default 1 if BFIN533_EZKIT
669 default 1 if BFIN533_STAMP
670 default 1 if BFIN537_STAMP
671 default 1 if BFIN533_BLUETECHNIX_CM
672 default 1 if BFIN537_BLUETECHNIX_CM
673 default 1 if BFIN561_BLUETECHNIX_CM
674 default 1 if BFIN561_EZKIT
677 int "System Clock Divider"
678 depends on BFIN_KERNEL_CLOCK
679 default 5 if BFIN533_EZKIT
680 default 5 if BFIN533_STAMP
681 default 4 if BFIN537_STAMP
682 default 5 if BFIN533_BLUETECHNIX_CM
683 default 4 if BFIN537_BLUETECHNIX_CM
684 default 4 if BFIN561_BLUETECHNIX_CM
685 default 5 if BFIN561_EZKIT
689 depends on BFIN_KERNEL_CLOCK
694 depends on BFIN_KERNEL_CLOCK
699 comment "Asynchonous Memory Configuration"
701 menu "EBIU_AMBCTL Global Control"
707 bool "DMA has priority over core for ext. accesses"
712 bool "Bank 0 16 bit packing enable"
717 bool "Bank 1 16 bit packing enable"
722 bool "Bank 2 16 bit packing enable"
727 bool "Bank 3 16 bit packing enable"
731 prompt"Enable Asynchonous Memory Banks"
735 bool "Disable All Banks"
741 bool "Enable Bank 0 & 1"
743 config C_AMBEN_B0_B1_B2
744 bool "Enable Bank 0 & 1 & 2"
747 bool "Enable All Banks"
751 menu "EBIU_AMBCTL Control"
771 #############################################################################
772 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
779 source "drivers/pci/Kconfig"
782 bool "Support for hot-pluggable device"
784 Say Y here if you want to plug devices into your computer while
785 the system is running, and be able to use them quickly. In many
786 cases, the devices can likewise be unplugged at any time too.
788 One well known example of this is PCMCIA- or PC-cards, credit-card
789 size devices such as network cards, modems or hard drives which are
790 plugged into slots found on all modern laptop computers. Another
791 example, used on modern desktops as well as laptops, is USB.
793 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
794 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
795 Then your kernel will automatically call out to a user mode "policy
796 agent" (/sbin/hotplug) to load modules and set up software needed
797 to use devices as you hotplug them.
799 source "drivers/pcmcia/Kconfig"
801 source "drivers/pci/hotplug/Kconfig"
805 menu "Executable file formats"
807 source "fs/Kconfig.binfmt"
811 menu "Power management options"
812 source "kernel/power/Kconfig"
815 prompt "Select PM Wakeup Event Source"
816 default PM_WAKEUP_GPIO_BY_SIC_IWR
819 If you have a GPIO already configured as input with the corresponding PORTx_MASK
820 bit set - "Specify Wakeup Event by SIC_IWR value"
822 config PM_WAKEUP_GPIO_BY_SIC_IWR
823 bool "Specify Wakeup Event by SIC_IWR value"
824 config PM_WAKEUP_BY_GPIO
825 bool "Cause Wakeup Event by GPIO"
826 config PM_WAKEUP_GPIO_API
827 bool "Configure Wakeup Event by PM GPIO API"
831 config PM_WAKEUP_SIC_IWR
832 hex "Wakeup Events (SIC_IWR)"
833 depends on PM_WAKEUP_GPIO_BY_SIC_IWR
834 default 0x80000000 if (BF537 || BF536 || BF534)
835 default 0x100000 if (BF533 || BF532 || BF531)
837 config PM_WAKEUP_GPIO_NUMBER
838 int "Wakeup GPIO number"
840 depends on PM_WAKEUP_BY_GPIO
841 default 2 if BFIN537_STAMP
844 prompt "GPIO Polarity"
845 depends on PM_WAKEUP_BY_GPIO
846 default PM_WAKEUP_GPIO_POLAR_H
847 config PM_WAKEUP_GPIO_POLAR_H
849 config PM_WAKEUP_GPIO_POLAR_L
851 config PM_WAKEUP_GPIO_POLAR_EDGE_F
853 config PM_WAKEUP_GPIO_POLAR_EDGE_R
855 config PM_WAKEUP_GPIO_POLAR_EDGE_B
863 menu "CPU Frequency scaling"
865 source "drivers/cpufreq/Kconfig"
871 If you want to enable this option, you should select the
872 DPMC driver from Character Devices.
879 source "drivers/Kconfig"
883 source "arch/blackfin/oprofile/Kconfig"
885 menu "Kernel hacking"
887 source "lib/Kconfig.debug"
890 bool "Hardware error interrupt debugging"
891 depends on DEBUG_KERNEL
893 When enabled, the hardware error interrupt is never disabled, and
894 will happen immediately when an error condition occurs. This comes
895 at a slight cost in code size, but is necessary if you are getting
896 hardware error interrupts and need to know where they are coming
899 config DEBUG_ICACHE_CHECK
900 bool "Check Instruction cache coherancy"
901 depends on DEBUG_KERNEL
902 depends on DEBUG_HWERR
904 Say Y here if you are getting wierd unexplained errors. This will
905 ensure that icache is what SDRAM says it should be, by doing a
906 byte wise comparision between SDRAM and instruction cache. This
907 also relocates the irq_panic() function to L1 memory, (which is
910 config DEBUG_KERNEL_START
911 bool "Debug Kernel Startup"
912 depends on DEBUG_KERNEL
914 Say Y here to put in an mini-execption handler before the kernel
915 replaces the bootloader exception handler. This will stop kernels
916 from dieing at startup with no visible error messages.
918 config DEBUG_SERIAL_EARLY_INIT
919 bool "Initialize serial driver early"
921 depends on SERIAL_BFIN
923 Say Y here if you want to get kernel output early when kernel
924 crashes before the normal console initialization. If this option
925 is enable, console output will always go to the ttyBF0, no matter
926 what kernel boot paramters you set.
928 config DEBUG_HUNT_FOR_ZERO
929 bool "Catch NULL pointer reads/writes"
932 Say Y here to catch reads/writes to anywhere in the memory range
933 from 0x0000 - 0x0FFF (the first 4k) of memory. This is useful in
934 catching common programming errors such as NULL pointer dereferences.
936 Misbehaving applications will be killed (generate a SEGV) while the
937 kernel will trigger a panic.
939 Enabling this option will take up an extra entry in CPLB table.
940 Otherwise, there is no extra overhead.
942 config DEBUG_BFIN_NO_KERN_HWTRACE
943 bool "Trace user apps (turn off hwtrace in kernel)"
946 Some pieces of the kernel contain a lot of flow changes which can
947 quickly fill up the hardware trace buffer. When debugging crashes,
948 the hardware trace may indicate that the problem lies in kernel
949 space when in reality an application is buggy.
951 Say Y here to disable hardware tracing in some known "jumpy" pieces
952 of code so that the trace buffer will extend further back.
954 config DUAL_CORE_TEST_MODULE
955 tristate "Dual Core Test Module"
959 Say Y here to build-in dual core test module for dual core test.
962 bool "Display the CPLB information"
964 Display the CPLB information.
967 bool "Check the user pointer address"
970 Usually the pointer transfer from user space is checked to see if its
971 address is in the kernel space.
973 Say N here to disable that check to improve the performance.
977 source "security/Kconfig"
979 source "crypto/Kconfig"