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 "Allow allocating large blocks (> 1MB) of memory"
566 Allow the slab memory allocator to keep chains for very large
567 memory sizes - upto 32MB. You may need this if your system has
568 a lot of RAM, and you need to able to allocate very large
569 contiguous chunks. If unsure, say N.
572 bool "Enable DMA Support"
573 depends on (BF533 || BF532 || BF531 || BF537 || BF536 || BF534 || BF561)
576 DMA driver for BF5xx.
579 prompt "Uncached SDRAM region"
580 default DMA_UNCACHED_1M
582 config DMA_UNCACHED_2M
583 bool "Enable 2M DMA region"
584 config DMA_UNCACHED_1M
585 bool "Enable 1M DMA region"
586 config DMA_UNCACHED_NONE
587 bool "Disable DMA region"
591 comment "Cache Support"
596 config BLKFIN_DCACHE_BANKA
597 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
598 depends on BLKFIN_DCACHE && !BF531
600 config BLKFIN_CACHE_LOCK
601 bool "Enable Cache Locking"
605 depends on BLKFIN_DCACHE
611 Cached data will be written back to SDRAM only when needed.
612 This can give a nice increase in performance, but beware of
613 broken drivers that do not properly invalidate/flush their
616 Write Through Policy:
617 Cached data will always be written back to SDRAM when the
618 cache is updated. This is a completely safe setting, but
619 performance is worse than Write Back.
621 If you are unsure of the options and you want to be safe,
622 then go with Write Through.
628 Cached data will be written back to SDRAM only when needed.
629 This can give a nice increase in performance, but beware of
630 broken drivers that do not properly invalidate/flush their
633 Write Through Policy:
634 Cached data will always be written back to SDRAM when the
635 cache is updated. This is a completely safe setting, but
636 performance is worse than Write Back.
638 If you are unsure of the options and you want to be safe,
639 then go with Write Through.
644 int "Set the max L1 SRAM pieces"
647 Set the max memory pieces for the L1 SRAM allocation algorithm.
648 Min value is 16. Max value is 1024.
650 menu "Clock Settings"
653 config BFIN_KERNEL_CLOCK
654 bool "Re-program Clocks while Kernel boots?"
657 This option decides if kernel clocks are re-programed from the
658 bootloader settings. If the clocks are not set, the SDRAM settings
659 are also not changed, and the Bootloader does 100% of the hardware
664 depends on BFIN_KERNEL_CLOCK
665 default "22" if BFIN533_EZKIT
666 default "45" if BFIN533_STAMP
667 default "20" if BFIN537_STAMP
668 default "22" if BFIN533_BLUETECHNIX_CM
669 default "20" if BFIN537_BLUETECHNIX_CM
670 default "20" if BFIN561_BLUETECHNIX_CM
671 default "20" if BFIN561_EZKIT
674 int "Core Clock Divider"
675 depends on BFIN_KERNEL_CLOCK
676 default 1 if BFIN533_EZKIT
677 default 1 if BFIN533_STAMP
678 default 1 if BFIN537_STAMP
679 default 1 if BFIN533_BLUETECHNIX_CM
680 default 1 if BFIN537_BLUETECHNIX_CM
681 default 1 if BFIN561_BLUETECHNIX_CM
682 default 1 if BFIN561_EZKIT
685 int "System Clock Divider"
686 depends on BFIN_KERNEL_CLOCK
687 default 5 if BFIN533_EZKIT
688 default 5 if BFIN533_STAMP
689 default 4 if BFIN537_STAMP
690 default 5 if BFIN533_BLUETECHNIX_CM
691 default 4 if BFIN537_BLUETECHNIX_CM
692 default 4 if BFIN561_BLUETECHNIX_CM
693 default 5 if BFIN561_EZKIT
697 depends on BFIN_KERNEL_CLOCK
702 depends on BFIN_KERNEL_CLOCK
707 comment "Asynchonous Memory Configuration"
709 menu "EBIU_AMBCTL Global Control"
715 bool "DMA has priority over core for ext. accesses"
720 bool "Bank 0 16 bit packing enable"
725 bool "Bank 1 16 bit packing enable"
730 bool "Bank 2 16 bit packing enable"
735 bool "Bank 3 16 bit packing enable"
739 prompt"Enable Asynchonous Memory Banks"
743 bool "Disable All Banks"
749 bool "Enable Bank 0 & 1"
751 config C_AMBEN_B0_B1_B2
752 bool "Enable Bank 0 & 1 & 2"
755 bool "Enable All Banks"
759 menu "EBIU_AMBCTL Control"
779 #############################################################################
780 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
787 source "drivers/pci/Kconfig"
790 bool "Support for hot-pluggable device"
792 Say Y here if you want to plug devices into your computer while
793 the system is running, and be able to use them quickly. In many
794 cases, the devices can likewise be unplugged at any time too.
796 One well known example of this is PCMCIA- or PC-cards, credit-card
797 size devices such as network cards, modems or hard drives which are
798 plugged into slots found on all modern laptop computers. Another
799 example, used on modern desktops as well as laptops, is USB.
801 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
802 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
803 Then your kernel will automatically call out to a user mode "policy
804 agent" (/sbin/hotplug) to load modules and set up software needed
805 to use devices as you hotplug them.
807 source "drivers/pcmcia/Kconfig"
809 source "drivers/pci/hotplug/Kconfig"
813 menu "Executable file formats"
815 source "fs/Kconfig.binfmt"
819 menu "Power management options"
820 source "kernel/power/Kconfig"
823 prompt "Select PM Wakeup Event Source"
824 default PM_WAKEUP_GPIO_BY_SIC_IWR
827 If you have a GPIO already configured as input with the corresponding PORTx_MASK
828 bit set - "Specify Wakeup Event by SIC_IWR value"
830 config PM_WAKEUP_GPIO_BY_SIC_IWR
831 bool "Specify Wakeup Event by SIC_IWR value"
832 config PM_WAKEUP_BY_GPIO
833 bool "Cause Wakeup Event by GPIO"
834 config PM_WAKEUP_GPIO_API
835 bool "Configure Wakeup Event by PM GPIO API"
839 config PM_WAKEUP_SIC_IWR
840 hex "Wakeup Events (SIC_IWR)"
841 depends on PM_WAKEUP_GPIO_BY_SIC_IWR
842 default 0x80000000 if (BF537 || BF536 || BF534)
843 default 0x100000 if (BF533 || BF532 || BF531)
845 config PM_WAKEUP_GPIO_NUMBER
846 int "Wakeup GPIO number"
848 depends on PM_WAKEUP_BY_GPIO
849 default 2 if BFIN537_STAMP
852 prompt "GPIO Polarity"
853 depends on PM_WAKEUP_BY_GPIO
854 default PM_WAKEUP_GPIO_POLAR_H
855 config PM_WAKEUP_GPIO_POLAR_H
857 config PM_WAKEUP_GPIO_POLAR_L
859 config PM_WAKEUP_GPIO_POLAR_EDGE_F
861 config PM_WAKEUP_GPIO_POLAR_EDGE_R
863 config PM_WAKEUP_GPIO_POLAR_EDGE_B
871 menu "CPU Frequency scaling"
873 source "drivers/cpufreq/Kconfig"
879 If you want to enable this option, you should select the
880 DPMC driver from Character Devices.
887 source "drivers/Kconfig"
891 source "arch/blackfin/oprofile/Kconfig"
893 menu "Kernel hacking"
895 source "lib/Kconfig.debug"
898 bool "Hardware error interrupt debugging"
899 depends on DEBUG_KERNEL
901 When enabled, the hardware error interrupt is never disabled, and
902 will happen immediately when an error condition occurs. This comes
903 at a slight cost in code size, but is necessary if you are getting
904 hardware error interrupts and need to know where they are coming
907 config DEBUG_ICACHE_CHECK
908 bool "Check Instruction cache coherancy"
909 depends on DEBUG_KERNEL
910 depends on DEBUG_HWERR
912 Say Y here if you are getting wierd unexplained errors. This will
913 ensure that icache is what SDRAM says it should be, by doing a
914 byte wise comparision between SDRAM and instruction cache. This
915 also relocates the irq_panic() function to L1 memory, (which is
918 config DEBUG_KERNEL_START
919 bool "Debug Kernel Startup"
920 depends on DEBUG_KERNEL
922 Say Y here to put in an mini-execption handler before the kernel
923 replaces the bootloader exception handler. This will stop kernels
924 from dieing at startup with no visible error messages.
926 config DEBUG_SERIAL_EARLY_INIT
927 bool "Initialize serial driver early"
929 depends on SERIAL_BFIN
931 Say Y here if you want to get kernel output early when kernel
932 crashes before the normal console initialization. If this option
933 is enable, console output will always go to the ttyBF0, no matter
934 what kernel boot paramters you set.
936 config DEBUG_HUNT_FOR_ZERO
937 bool "Catch NULL pointer reads/writes"
940 Say Y here to catch reads/writes to anywhere in the memory range
941 from 0x0000 - 0x0FFF (the first 4k) of memory. This is useful in
942 catching common programming errors such as NULL pointer dereferences.
944 Misbehaving applications will be killed (generate a SEGV) while the
945 kernel will trigger a panic.
947 Enabling this option will take up an extra entry in CPLB table.
948 Otherwise, there is no extra overhead.
950 config DEBUG_BFIN_NO_KERN_HWTRACE
951 bool "Trace user apps (turn off hwtrace in kernel)"
954 Some pieces of the kernel contain a lot of flow changes which can
955 quickly fill up the hardware trace buffer. When debugging crashes,
956 the hardware trace may indicate that the problem lies in kernel
957 space when in reality an application is buggy.
959 Say Y here to disable hardware tracing in some known "jumpy" pieces
960 of code so that the trace buffer will extend further back.
962 config DUAL_CORE_TEST_MODULE
963 tristate "Dual Core Test Module"
967 Say Y here to build-in dual core test module for dual core test.
970 bool "Display the CPLB information"
972 Display the CPLB information.
975 bool "Check the user pointer address"
978 Usually the pointer transfer from user space is checked to see if its
979 address is in the kernel space.
981 Say N here to disable that check to improve the performance.
985 source "security/Kconfig"
987 source "crypto/Kconfig"