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)
153 config BFIN_DUAL_CORE
158 config BFIN_SINGLE_CORE
160 depends on !BFIN_DUAL_CORE
165 default BFIN533_STAMP
167 Do NOT change the board here. Please use the top level
168 configuration to ensure that all the other settings are
173 depends on (BF533 || BF532 || BF531)
175 BF533-EZKIT-LITE board Support.
179 depends on (BF533 || BF532 || BF531)
181 BF533-STAMP board Support.
185 depends on (BF537 || BF536 || BF534)
187 BF537-STAMP board Support.
189 config BFIN533_BLUETECHNIX_CM
190 bool "Bluetechnix CM-BF533"
193 CM-BF533 support for EVAL- and DEV-Board.
195 config BFIN537_BLUETECHNIX_CM
196 bool "Bluetechnix CM-BF537"
199 CM-BF537 support for EVAL- and DEV-Board.
201 config BFIN561_BLUETECHNIX_CM
202 bool "Bluetechnix CM-BF561"
205 CM-BF561 support for EVAL- and DEV-Board.
211 BF561-EZKIT-LITE board Support.
217 BF561-TEPLA board Support.
220 bool "PNAV 1.0 board"
223 PNAV 1.0 board Support.
227 depends on (BF537 || BF536 \
228 || BF534 || BF561 || BF535 || BF533 || BF532 || BF531)
230 GENERIC or Custom board Support.
234 config MEM_GENERIC_BOARD
236 depends on GENERIC_BOARD
239 config MEM_MT48LC64M4A2FB_7E
241 depends on (BFIN533_STAMP)
244 config MEM_MT48LC16M16A2TG_75
246 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
247 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM)
250 config MEM_MT48LC32M8A2_75
252 depends on (BFIN537_STAMP || PNAV10)
255 config MEM_MT48LC8M32B2B5_7
257 depends on (BFIN561_BLUETECHNIX_CM)
260 config BFIN_SHARED_FLASH_ENET
262 depends on (BFIN533_STAMP)
265 source "arch/blackfin/mach-bf533/Kconfig"
266 source "arch/blackfin/mach-bf561/Kconfig"
267 source "arch/blackfin/mach-bf537/Kconfig"
269 menu "Board customizations"
272 bool "Default bootloader kernel arguments"
275 string "Initial kernel command string"
276 depends on CMDLINE_BOOL
277 default "console=ttyBF0,57600"
279 If you don't have a boot loader capable of passing a command line string
280 to the kernel, you may specify one here. As a minimum, you should specify
281 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
283 comment "Board Setup"
286 int "Crystal Frequency in Hz"
287 default "11059200" if BFIN533_STAMP
288 default "27000000" if BFIN533_EZKIT
289 default "25000000" if BFIN537_STAMP
290 default "30000000" if BFIN561_EZKIT
291 default "24576000" if PNAV10
293 The frequency of CLKIN crystal oscillator on the board in Hz.
296 int "SDRAM Memory Size in MBytes"
297 default 32 if BFIN533_EZKIT
298 default 64 if BFIN537_STAMP
299 default 64 if BFIN561_EZKIT
300 default 128 if BFIN533_STAMP
304 int "SDRAM Memory Address Width"
305 default 9 if BFIN533_EZKIT
306 default 9 if BFIN561_EZKIT
307 default 10 if BFIN537_STAMP
308 default 11 if BFIN533_STAMP
311 config ENET_FLASH_PIN
312 int "PF port/pin used for flash and ethernet sharing"
313 depends on (BFIN533_STAMP)
316 PF port/pin used for flash and ethernet sharing to allow other PF
317 pins to be used on other platforms without having to touch common
319 For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
322 hex "Kernel load address for booting"
325 This option allows you to set the load address of the kernel.
326 This can be useful if you are on a board which has a small amount
327 of memory or you wish to reserve some memory at the beginning of
330 Note that you generally want to keep this value at or above 4k
331 (0x1000) as this will allow the kernel to capture NULL pointer
334 comment "LED Status Indicators"
335 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
337 config BFIN_ALIVE_LED
338 bool "Enable Board Alive"
339 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
342 Blink the LEDs you select when the kernel is running. Helps detect
345 config BFIN_ALIVE_LED_NUM
347 depends on BFIN_ALIVE_LED
348 range 1 3 if BFIN533_STAMP
349 default "3" if BFIN533_STAMP
351 Select the LED (marked on the board) for you to blink.
354 bool "Enable System Load/Idle LED"
355 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
358 Blinks the LED you select when to determine kernel load.
360 config BFIN_IDLE_LED_NUM
362 depends on BFIN_IDLE_LED
363 range 1 3 if BFIN533_STAMP
364 default "2" if BFIN533_STAMP
366 Select the LED (marked on the board) for you to blink.
369 # Sorry - but you need to put the hex address here -
373 config BFIN_ALIVE_LED_PORT
375 default 0xFFC00700 if (BFIN533_STAMP)
377 # Peripheral Flag Direction Register
378 config BFIN_ALIVE_LED_DPORT
380 default 0xFFC00730 if (BFIN533_STAMP)
382 config BFIN_ALIVE_LED_PIN
384 default 0x04 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 1)
385 default 0x08 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 2)
386 default 0x10 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 3)
388 config BFIN_IDLE_LED_PORT
390 default 0xFFC00700 if (BFIN533_STAMP)
392 # Peripheral Flag Direction Register
393 config BFIN_IDLE_LED_DPORT
395 default 0xFFC00730 if (BFIN533_STAMP)
397 config BFIN_IDLE_LED_PIN
399 default 0x04 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 1)
400 default 0x08 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 2)
401 default 0x10 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 3)
406 menu "Blackfin Kernel Optimizations"
410 source kernel/Kconfig.hz
412 comment "Memory Optimizations"
415 bool "Locate interrupt entry code in L1 Memory"
418 If enabled interrupt entry code (STORE/RESTORE CONTEXT) is linked
419 into L1 instruction memory.(less latency)
421 config EXCPT_IRQ_SYSC_L1
422 bool "Locate entire ASM lowlevel excepetion / interrupt - Syscall and CPLB handler code in L1 Memory"
425 If enabled entire ASM lowlevel exception and interrupt entry code (STORE/RESTORE CONTEXT) is linked
426 into L1 instruction memory.(less latency)
429 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
432 If enabled frequently called do_irq dispatcher function is linked
433 into L1 instruction memory.(less latency)
435 config CORE_TIMER_IRQ_L1
436 bool "Locate frequently called timer_interrupt() function in L1 Memory"
439 If enabled frequently called timer_interrupt() function is linked
440 into L1 instruction memory.(less latency)
443 bool "Locate frequently idle function in L1 Memory"
446 If enabled frequently called idle function is linked
447 into L1 instruction memory.(less latency)
450 bool "Locate kernel schedule function in L1 Memory"
453 If enabled frequently called kernel schedule is linked
454 into L1 instruction memory.(less latency)
456 config ARITHMETIC_OPS_L1
457 bool "Locate kernel owned arithmetic functions in L1 Memory"
460 If enabled arithmetic functions are linked
461 into L1 instruction memory.(less latency)
464 bool "Locate access_ok function in L1 Memory"
467 If enabled access_ok function is linked
468 into L1 instruction memory.(less latency)
471 bool "Locate memset function in L1 Memory"
474 If enabled memset function is linked
475 into L1 instruction memory.(less latency)
478 bool "Locate memcpy function in L1 Memory"
481 If enabled memcpy function is linked
482 into L1 instruction memory.(less latency)
484 config SYS_BFIN_SPINLOCK_L1
485 bool "Locate sys_bfin_spinlock function in L1 Memory"
488 If enabled sys_bfin_spinlock function is linked
489 into L1 instruction memory.(less latency)
491 config IP_CHECKSUM_L1
492 bool "Locate IP Checksum function in L1 Memory"
495 If enabled IP Checksum function is linked
496 into L1 instruction memory.(less latency)
498 config CACHELINE_ALIGNED_L1
499 bool "Locate cacheline_aligned data to L1 Data Memory"
503 If enabled cacheline_anligned data is linked
504 into L1 data memory.(less latency)
506 config SYSCALL_TAB_L1
507 bool "Locate Syscall Table L1 Data Memory"
511 If enabled the Syscall LUT is linked
512 into L1 data memory.(less latency)
514 config CPLB_SWITCH_TAB_L1
515 bool "Locate CPLB Switch Tables L1 Data Memory"
519 If enabled the CPLB Switch Tables are linked
520 into L1 data memory.(less latency)
526 prompt "Kernel executes from"
528 Choose the memory type that the kernel will be running in.
533 The kernel will be resident in RAM when running.
538 The kernel will be resident in FLASH/ROM when running.
545 bool "Enable DMA Support"
546 depends on (BF533 || BF532 || BF531 || BF537 || BF536 || BF534 || BF561)
549 DMA driver for BF5xx.
552 prompt "Uncached SDRAM region"
553 default DMA_UNCACHED_1M
555 config DMA_UNCACHED_2M
556 bool "Enable 2M DMA region"
557 config DMA_UNCACHED_1M
558 bool "Enable 1M DMA region"
559 config DMA_UNCACHED_NONE
560 bool "Disable DMA region"
564 comment "Cache Support"
569 config BLKFIN_DCACHE_BANKA
570 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
571 depends on BLKFIN_DCACHE && !BF531
573 config BLKFIN_CACHE_LOCK
574 bool "Enable Cache Locking"
578 depends on BLKFIN_DCACHE
584 Cached data will be written back to SDRAM only when needed.
585 This can give a nice increase in performance, but beware of
586 broken drivers that do not properly invalidate/flush their
589 Write Through Policy:
590 Cached data will always be written back to SDRAM when the
591 cache is updated. This is a completely safe setting, but
592 performance is worse than Write Back.
594 If you are unsure of the options and you want to be safe,
595 then go with Write Through.
601 Cached data will be written back to SDRAM only when needed.
602 This can give a nice increase in performance, but beware of
603 broken drivers that do not properly invalidate/flush their
606 Write Through Policy:
607 Cached data will always be written back to SDRAM when the
608 cache is updated. This is a completely safe setting, but
609 performance is worse than Write Back.
611 If you are unsure of the options and you want to be safe,
612 then go with Write Through.
617 int "Set the max L1 SRAM pieces"
620 Set the max memory pieces for the L1 SRAM allocation algorithm.
621 Min value is 16. Max value is 1024.
623 menu "Clock Settings"
626 config BFIN_KERNEL_CLOCK
627 bool "Re-program Clocks while Kernel boots?"
630 This option decides if kernel clocks are re-programed from the
631 bootloader settings. If the clocks are not set, the SDRAM settings
632 are also not changed, and the Bootloader does 100% of the hardware
637 depends on BFIN_KERNEL_CLOCK
638 default "22" if BFIN533_EZKIT
639 default "45" if BFIN533_STAMP
640 default "20" if BFIN537_STAMP
641 default "22" if BFIN533_BLUETECHNIX_CM
642 default "20" if BFIN537_BLUETECHNIX_CM
643 default "20" if BFIN561_BLUETECHNIX_CM
644 default "20" if BFIN561_EZKIT
647 int "Core Clock Divider"
648 depends on BFIN_KERNEL_CLOCK
649 default 1 if BFIN533_EZKIT
650 default 1 if BFIN533_STAMP
651 default 1 if BFIN537_STAMP
652 default 1 if BFIN533_BLUETECHNIX_CM
653 default 1 if BFIN537_BLUETECHNIX_CM
654 default 1 if BFIN561_BLUETECHNIX_CM
655 default 1 if BFIN561_EZKIT
658 int "System Clock Divider"
659 depends on BFIN_KERNEL_CLOCK
660 default 5 if BFIN533_EZKIT
661 default 5 if BFIN533_STAMP
662 default 4 if BFIN537_STAMP
663 default 5 if BFIN533_BLUETECHNIX_CM
664 default 4 if BFIN537_BLUETECHNIX_CM
665 default 4 if BFIN561_BLUETECHNIX_CM
666 default 5 if BFIN561_EZKIT
670 depends on BFIN_KERNEL_CLOCK
675 depends on BFIN_KERNEL_CLOCK
680 comment "Asynchonous Memory Configuration"
682 menu "EBIU_AMBCTL Global Control"
688 bool "DMA has priority over core for ext. accesses"
693 bool "Bank 0 16 bit packing enable"
698 bool "Bank 1 16 bit packing enable"
703 bool "Bank 2 16 bit packing enable"
708 bool "Bank 3 16 bit packing enable"
712 prompt"Enable Asynchonous Memory Banks"
716 bool "Disable All Banks"
722 bool "Enable Bank 0 & 1"
724 config C_AMBEN_B0_B1_B2
725 bool "Enable Bank 0 & 1 & 2"
728 bool "Enable All Banks"
732 menu "EBIU_AMBCTL Control"
752 #############################################################################
753 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
760 source "drivers/pci/Kconfig"
763 bool "Support for hot-pluggable device"
765 Say Y here if you want to plug devices into your computer while
766 the system is running, and be able to use them quickly. In many
767 cases, the devices can likewise be unplugged at any time too.
769 One well known example of this is PCMCIA- or PC-cards, credit-card
770 size devices such as network cards, modems or hard drives which are
771 plugged into slots found on all modern laptop computers. Another
772 example, used on modern desktops as well as laptops, is USB.
774 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
775 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
776 Then your kernel will automatically call out to a user mode "policy
777 agent" (/sbin/hotplug) to load modules and set up software needed
778 to use devices as you hotplug them.
780 source "drivers/pcmcia/Kconfig"
782 source "drivers/pci/hotplug/Kconfig"
786 menu "Executable file formats"
788 source "fs/Kconfig.binfmt"
792 menu "Power management options"
793 source "kernel/power/Kconfig"
796 prompt "Select PM Wakeup Event Source"
797 default PM_WAKEUP_GPIO_BY_SIC_IWR
800 If you have a GPIO already configured as input with the corresponding PORTx_MASK
801 bit set - "Specify Wakeup Event by SIC_IWR value"
803 config PM_WAKEUP_GPIO_BY_SIC_IWR
804 bool "Specify Wakeup Event by SIC_IWR value"
805 config PM_WAKEUP_BY_GPIO
806 bool "Cause Wakeup Event by GPIO"
807 config PM_WAKEUP_GPIO_API
808 bool "Configure Wakeup Event by PM GPIO API"
812 config PM_WAKEUP_SIC_IWR
813 hex "Wakeup Events (SIC_IWR)"
814 depends on PM_WAKEUP_GPIO_BY_SIC_IWR
815 default 0x80000000 if (BF537 || BF536 || BF534)
816 default 0x100000 if (BF533 || BF532 || BF531)
818 config PM_WAKEUP_GPIO_NUMBER
819 int "Wakeup GPIO number"
821 depends on PM_WAKEUP_BY_GPIO
822 default 2 if BFIN537_STAMP
825 prompt "GPIO Polarity"
826 depends on PM_WAKEUP_BY_GPIO
827 default PM_WAKEUP_GPIO_POLAR_H
828 config PM_WAKEUP_GPIO_POLAR_H
830 config PM_WAKEUP_GPIO_POLAR_L
832 config PM_WAKEUP_GPIO_POLAR_EDGE_F
834 config PM_WAKEUP_GPIO_POLAR_EDGE_R
836 config PM_WAKEUP_GPIO_POLAR_EDGE_B
844 menu "CPU Frequency scaling"
846 source "drivers/cpufreq/Kconfig"
852 If you want to enable this option, you should select the
853 DPMC driver from Character Devices.
860 source "drivers/Kconfig"
864 source "arch/blackfin/oprofile/Kconfig"
866 menu "Kernel hacking"
868 source "lib/Kconfig.debug"
871 bool "Hardware error interrupt debugging"
872 depends on DEBUG_KERNEL
874 When enabled, the hardware error interrupt is never disabled, and
875 will happen immediately when an error condition occurs. This comes
876 at a slight cost in code size, but is necessary if you are getting
877 hardware error interrupts and need to know where they are coming
880 config DEBUG_ICACHE_CHECK
881 bool "Check Instruction cache coherancy"
882 depends on DEBUG_KERNEL
883 depends on DEBUG_HWERR
885 Say Y here if you are getting wierd unexplained errors. This will
886 ensure that icache is what SDRAM says it should be, by doing a
887 byte wise comparision between SDRAM and instruction cache. This
888 also relocates the irq_panic() function to L1 memory, (which is
891 config DEBUG_KERNEL_START
892 bool "Debug Kernel Startup"
893 depends on DEBUG_KERNEL
895 Say Y here to put in an mini-execption handler before the kernel
896 replaces the bootloader exception handler. This will stop kernels
897 from dieing at startup with no visible error messages.
899 config DEBUG_SERIAL_EARLY_INIT
900 bool "Initialize serial driver early"
902 depends on SERIAL_BFIN
904 Say Y here if you want to get kernel output early when kernel
905 crashes before the normal console initialization. If this option
906 is enable, console output will always go to the ttyBF0, no matter
907 what kernel boot paramters you set.
909 config DEBUG_HUNT_FOR_ZERO
910 bool "Catch NULL pointer reads/writes"
913 Say Y here to catch reads/writes to anywhere in the memory range
914 from 0x0000 - 0x0FFF (the first 4k) of memory. This is useful in
915 catching common programming errors such as NULL pointer dereferences.
917 Misbehaving applications will be killed (generate a SEGV) while the
918 kernel will trigger a panic.
920 Enabling this option will take up an extra entry in CPLB table.
921 Otherwise, there is no extra overhead.
923 config DEBUG_BFIN_NO_KERN_HWTRACE
924 bool "Trace user apps (turn off hwtrace in kernel)"
927 Some pieces of the kernel contain a lot of flow changes which can
928 quickly fill up the hardware trace buffer. When debugging crashes,
929 the hardware trace may indicate that the problem lies in kernel
930 space when in reality an application is buggy.
932 Say Y here to disable hardware tracing in some known "jumpy" pieces
933 of code so that the trace buffer will extend further back.
935 config DUAL_CORE_TEST_MODULE
936 tristate "Dual Core Test Module"
940 Say Y here to build-in dual core test module for dual core test.
943 bool "Display the CPLB information"
945 Display the CPLB information.
948 bool "Check the user pointer address"
951 Usually the pointer transfer from user space is checked to see if its
952 address is in the kernel space.
954 Say N here to disable that check to improve the performance.
958 source "security/Kconfig"
960 source "crypto/Kconfig"