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
74 depends on (BF53x || BF561 || BF54x)
78 source "kernel/Kconfig.preempt"
80 menu "Blackfin Processor Options"
82 comment "Processor and Board Settings"
91 BF531 Processor Support.
96 BF532 Processor Support.
101 BF533 Processor Support.
106 BF534 Processor Support.
111 BF536 Processor Support.
116 BF537 Processor Support.
121 BF542 Processor Support.
126 BF544 Processor Support.
131 BF548 Processor Support.
136 BF549 Processor Support.
141 Not Supported Yet - Work in progress - BF561 Processor Support.
147 default BF_REV_0_2 if BF537
148 default BF_REV_0_3 if BF533
149 default BF_REV_0_0 if BF549
157 depends on (BF537 || BF536 || BF534)
161 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
165 depends on (BF561 || BF533 || BF532 || BF531)
169 depends on (BF561 || BF533 || BF532 || BF531)
181 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
186 depends on (BF542 || BF544 || BF548 || BF549)
189 config BFIN_DUAL_CORE
194 config BFIN_SINGLE_CORE
196 depends on !BFIN_DUAL_CORE
201 default BFIN533_STAMP
203 Do NOT change the board here. Please use the top level
204 configuration to ensure that all the other settings are
209 depends on (BF533 || BF532 || BF531)
211 BF533-EZKIT-LITE board Support.
215 depends on (BF533 || BF532 || BF531)
217 BF533-STAMP board Support.
221 depends on (BF537 || BF536 || BF534)
223 BF537-STAMP board Support.
225 config BFIN533_BLUETECHNIX_CM
226 bool "Bluetechnix CM-BF533"
229 CM-BF533 support for EVAL- and DEV-Board.
231 config BFIN537_BLUETECHNIX_CM
232 bool "Bluetechnix CM-BF537"
235 CM-BF537 support for EVAL- and DEV-Board.
239 depends on (BF548 || BF549)
241 BFIN548-EZKIT board Support.
243 config BFIN561_BLUETECHNIX_CM
244 bool "Bluetechnix CM-BF561"
247 CM-BF561 support for EVAL- and DEV-Board.
253 BF561-EZKIT-LITE board Support.
259 BF561-TEPLA board Support.
262 bool "PNAV 1.0 board"
265 PNAV 1.0 board Support.
269 depends on (BF537 || BF536 \
270 || BF534 || BF561 || BF535 || BF533 || BF532 || BF531)
272 GENERIC or Custom board Support.
276 config MEM_GENERIC_BOARD
278 depends on GENERIC_BOARD
281 config MEM_MT48LC64M4A2FB_7E
283 depends on (BFIN533_STAMP)
286 config MEM_MT48LC16M16A2TG_75
288 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
289 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM)
292 config MEM_MT48LC32M8A2_75
294 depends on (BFIN537_STAMP || PNAV10)
297 config MEM_MT48LC8M32B2B5_7
299 depends on (BFIN561_BLUETECHNIX_CM)
302 config BFIN_SHARED_FLASH_ENET
304 depends on (BFIN533_STAMP)
307 source "arch/blackfin/mach-bf533/Kconfig"
308 source "arch/blackfin/mach-bf561/Kconfig"
309 source "arch/blackfin/mach-bf537/Kconfig"
310 source "arch/blackfin/mach-bf548/Kconfig"
312 menu "Board customizations"
315 bool "Default bootloader kernel arguments"
318 string "Initial kernel command string"
319 depends on CMDLINE_BOOL
320 default "console=ttyBF0,57600"
322 If you don't have a boot loader capable of passing a command line string
323 to the kernel, you may specify one here. As a minimum, you should specify
324 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
326 comment "Board Setup"
329 int "Crystal Frequency in Hz"
330 default "11059200" if BFIN533_STAMP
331 default "27000000" if BFIN533_EZKIT
332 default "25000000" if BFIN537_STAMP
333 default "30000000" if BFIN561_EZKIT
334 default "24576000" if PNAV10
336 The frequency of CLKIN crystal oscillator on the board in Hz.
339 int "SDRAM Memory Size in MBytes"
340 default 32 if BFIN533_EZKIT
341 default 64 if BFIN537_STAMP
342 default 64 if BFIN561_EZKIT
343 default 128 if BFIN533_STAMP
347 int "SDRAM Memory Address Width"
348 default 9 if BFIN533_EZKIT
349 default 9 if BFIN561_EZKIT
350 default 10 if BFIN537_STAMP
351 default 11 if BFIN533_STAMP
354 config ENET_FLASH_PIN
355 int "PF port/pin used for flash and ethernet sharing"
356 depends on (BFIN533_STAMP)
359 PF port/pin used for flash and ethernet sharing to allow other PF
360 pins to be used on other platforms without having to touch common
362 For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
365 hex "Kernel load address for booting"
368 This option allows you to set the load address of the kernel.
369 This can be useful if you are on a board which has a small amount
370 of memory or you wish to reserve some memory at the beginning of
373 Note that you generally want to keep this value at or above 4k
374 (0x1000) as this will allow the kernel to capture NULL pointer
377 comment "LED Status Indicators"
378 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
380 config BFIN_ALIVE_LED
381 bool "Enable Board Alive"
382 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
385 Blink the LEDs you select when the kernel is running. Helps detect
388 config BFIN_ALIVE_LED_NUM
390 depends on BFIN_ALIVE_LED
391 range 1 3 if BFIN533_STAMP
392 default "3" if BFIN533_STAMP
394 Select the LED (marked on the board) for you to blink.
397 bool "Enable System Load/Idle LED"
398 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
401 Blinks the LED you select when to determine kernel load.
403 config BFIN_IDLE_LED_NUM
405 depends on BFIN_IDLE_LED
406 range 1 3 if BFIN533_STAMP
407 default "2" if BFIN533_STAMP
409 Select the LED (marked on the board) for you to blink.
412 # Sorry - but you need to put the hex address here -
416 config BFIN_ALIVE_LED_PORT
418 default 0xFFC00700 if (BFIN533_STAMP)
420 # Peripheral Flag Direction Register
421 config BFIN_ALIVE_LED_DPORT
423 default 0xFFC00730 if (BFIN533_STAMP)
425 config BFIN_ALIVE_LED_PIN
427 default 0x04 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 1)
428 default 0x08 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 2)
429 default 0x10 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 3)
431 config BFIN_IDLE_LED_PORT
433 default 0xFFC00700 if (BFIN533_STAMP)
435 # Peripheral Flag Direction Register
436 config BFIN_IDLE_LED_DPORT
438 default 0xFFC00730 if (BFIN533_STAMP)
440 config BFIN_IDLE_LED_PIN
442 default 0x04 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 1)
443 default 0x08 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 2)
444 default 0x10 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 3)
449 menu "Blackfin Kernel Optimizations"
453 source kernel/Kconfig.hz
455 comment "Memory Optimizations"
458 bool "Locate interrupt entry code in L1 Memory"
461 If enabled interrupt entry code (STORE/RESTORE CONTEXT) is linked
462 into L1 instruction memory.(less latency)
464 config EXCPT_IRQ_SYSC_L1
465 bool "Locate entire ASM lowlevel excepetion / interrupt - Syscall and CPLB handler code in L1 Memory"
468 If enabled entire ASM lowlevel exception and interrupt entry code (STORE/RESTORE CONTEXT) is linked
469 into L1 instruction memory.(less latency)
472 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
475 If enabled frequently called do_irq dispatcher function is linked
476 into L1 instruction memory.(less latency)
478 config CORE_TIMER_IRQ_L1
479 bool "Locate frequently called timer_interrupt() function in L1 Memory"
482 If enabled frequently called timer_interrupt() function is linked
483 into L1 instruction memory.(less latency)
486 bool "Locate frequently idle function in L1 Memory"
489 If enabled frequently called idle function is linked
490 into L1 instruction memory.(less latency)
493 bool "Locate kernel schedule function in L1 Memory"
496 If enabled frequently called kernel schedule is linked
497 into L1 instruction memory.(less latency)
499 config ARITHMETIC_OPS_L1
500 bool "Locate kernel owned arithmetic functions in L1 Memory"
503 If enabled arithmetic functions are linked
504 into L1 instruction memory.(less latency)
507 bool "Locate access_ok function in L1 Memory"
510 If enabled access_ok function is linked
511 into L1 instruction memory.(less latency)
514 bool "Locate memset function in L1 Memory"
517 If enabled memset function is linked
518 into L1 instruction memory.(less latency)
521 bool "Locate memcpy function in L1 Memory"
524 If enabled memcpy function is linked
525 into L1 instruction memory.(less latency)
527 config SYS_BFIN_SPINLOCK_L1
528 bool "Locate sys_bfin_spinlock function in L1 Memory"
531 If enabled sys_bfin_spinlock function is linked
532 into L1 instruction memory.(less latency)
534 config IP_CHECKSUM_L1
535 bool "Locate IP Checksum function in L1 Memory"
538 If enabled IP Checksum function is linked
539 into L1 instruction memory.(less latency)
541 config CACHELINE_ALIGNED_L1
542 bool "Locate cacheline_aligned data to L1 Data Memory"
547 If enabled cacheline_anligned data is linked
548 into L1 data memory.(less latency)
550 config SYSCALL_TAB_L1
551 bool "Locate Syscall Table L1 Data Memory"
555 If enabled the Syscall LUT is linked
556 into L1 data memory.(less latency)
558 config CPLB_SWITCH_TAB_L1
559 bool "Locate CPLB Switch Tables L1 Data Memory"
563 If enabled the CPLB Switch Tables are linked
564 into L1 data memory.(less latency)
570 prompt "Kernel executes from"
572 Choose the memory type that the kernel will be running in.
577 The kernel will be resident in RAM when running.
582 The kernel will be resident in FLASH/ROM when running.
589 bool "Allow allocating large blocks (> 1MB) of memory"
591 Allow the slab memory allocator to keep chains for very large
592 memory sizes - upto 32MB. You may need this if your system has
593 a lot of RAM, and you need to able to allocate very large
594 contiguous chunks. If unsure, say N.
597 bool "Enable DMA Support"
598 depends on (BF533 || BF532 || BF531 || BF537 || BF536 || BF534 || BF561 || BF54x)
601 DMA driver for BF5xx.
604 prompt "Uncached SDRAM region"
605 default DMA_UNCACHED_1M
607 config DMA_UNCACHED_2M
608 bool "Enable 2M DMA region"
609 config DMA_UNCACHED_1M
610 bool "Enable 1M DMA region"
611 config DMA_UNCACHED_NONE
612 bool "Disable DMA region"
616 comment "Cache Support"
621 config BLKFIN_DCACHE_BANKA
622 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
623 depends on BLKFIN_DCACHE && !BF531
625 config BLKFIN_CACHE_LOCK
626 bool "Enable Cache Locking"
630 depends on BLKFIN_DCACHE
636 Cached data will be written back to SDRAM only when needed.
637 This can give a nice increase in performance, but beware of
638 broken drivers that do not properly invalidate/flush their
641 Write Through Policy:
642 Cached data will always be written back to SDRAM when the
643 cache is updated. This is a completely safe setting, but
644 performance is worse than Write Back.
646 If you are unsure of the options and you want to be safe,
647 then go with Write Through.
653 Cached data will be written back to SDRAM only when needed.
654 This can give a nice increase in performance, but beware of
655 broken drivers that do not properly invalidate/flush their
658 Write Through Policy:
659 Cached data will always be written back to SDRAM when the
660 cache is updated. This is a completely safe setting, but
661 performance is worse than Write Back.
663 If you are unsure of the options and you want to be safe,
664 then go with Write Through.
669 int "Set the max L1 SRAM pieces"
672 Set the max memory pieces for the L1 SRAM allocation algorithm.
673 Min value is 16. Max value is 1024.
675 menu "Clock Settings"
678 config BFIN_KERNEL_CLOCK
679 bool "Re-program Clocks while Kernel boots?"
682 This option decides if kernel clocks are re-programed from the
683 bootloader settings. If the clocks are not set, the SDRAM settings
684 are also not changed, and the Bootloader does 100% of the hardware
689 depends on BFIN_KERNEL_CLOCK
690 default "22" if BFIN533_EZKIT
691 default "45" if BFIN533_STAMP
692 default "20" if BFIN537_STAMP
693 default "22" if BFIN533_BLUETECHNIX_CM
694 default "20" if BFIN537_BLUETECHNIX_CM
695 default "20" if BFIN561_BLUETECHNIX_CM
696 default "20" if BFIN561_EZKIT
699 int "Core Clock Divider"
700 depends on BFIN_KERNEL_CLOCK
701 default 1 if BFIN533_EZKIT
702 default 1 if BFIN533_STAMP
703 default 1 if BFIN537_STAMP
704 default 1 if BFIN533_BLUETECHNIX_CM
705 default 1 if BFIN537_BLUETECHNIX_CM
706 default 1 if BFIN561_BLUETECHNIX_CM
707 default 1 if BFIN561_EZKIT
710 int "System Clock Divider"
711 depends on BFIN_KERNEL_CLOCK
712 default 5 if BFIN533_EZKIT
713 default 5 if BFIN533_STAMP
714 default 4 if BFIN537_STAMP
715 default 5 if BFIN533_BLUETECHNIX_CM
716 default 4 if BFIN537_BLUETECHNIX_CM
717 default 4 if BFIN561_BLUETECHNIX_CM
718 default 5 if BFIN561_EZKIT
722 depends on BFIN_KERNEL_CLOCK
727 depends on BFIN_KERNEL_CLOCK
732 comment "Asynchonous Memory Configuration"
734 menu "EBIU_AMBCTL Global Control"
740 bool "DMA has priority over core for ext. accesses"
746 bool "Bank 0 16 bit packing enable"
751 bool "Bank 1 16 bit packing enable"
756 bool "Bank 2 16 bit packing enable"
761 bool "Bank 3 16 bit packing enable"
765 prompt"Enable Asynchonous Memory Banks"
769 bool "Disable All Banks"
775 bool "Enable Bank 0 & 1"
777 config C_AMBEN_B0_B1_B2
778 bool "Enable Bank 0 & 1 & 2"
781 bool "Enable All Banks"
785 menu "EBIU_AMBCTL Control"
805 #############################################################################
806 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
813 source "drivers/pci/Kconfig"
816 bool "Support for hot-pluggable device"
818 Say Y here if you want to plug devices into your computer while
819 the system is running, and be able to use them quickly. In many
820 cases, the devices can likewise be unplugged at any time too.
822 One well known example of this is PCMCIA- or PC-cards, credit-card
823 size devices such as network cards, modems or hard drives which are
824 plugged into slots found on all modern laptop computers. Another
825 example, used on modern desktops as well as laptops, is USB.
827 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
828 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
829 Then your kernel will automatically call out to a user mode "policy
830 agent" (/sbin/hotplug) to load modules and set up software needed
831 to use devices as you hotplug them.
833 source "drivers/pcmcia/Kconfig"
835 source "drivers/pci/hotplug/Kconfig"
839 menu "Executable file formats"
841 source "fs/Kconfig.binfmt"
845 menu "Power management options"
846 source "kernel/power/Kconfig"
849 prompt "Select PM Wakeup Event Source"
850 default PM_WAKEUP_GPIO_BY_SIC_IWR
853 If you have a GPIO already configured as input with the corresponding PORTx_MASK
854 bit set - "Specify Wakeup Event by SIC_IWR value"
856 config PM_WAKEUP_GPIO_BY_SIC_IWR
857 bool "Specify Wakeup Event by SIC_IWR value"
858 config PM_WAKEUP_BY_GPIO
859 bool "Cause Wakeup Event by GPIO"
860 config PM_WAKEUP_GPIO_API
861 bool "Configure Wakeup Event by PM GPIO API"
865 config PM_WAKEUP_SIC_IWR
866 hex "Wakeup Events (SIC_IWR)"
867 depends on PM_WAKEUP_GPIO_BY_SIC_IWR
868 default 0x80000000 if (BF537 || BF536 || BF534)
869 default 0x100000 if (BF533 || BF532 || BF531)
871 config PM_WAKEUP_GPIO_NUMBER
872 int "Wakeup GPIO number"
874 depends on PM_WAKEUP_BY_GPIO
875 default 2 if BFIN537_STAMP
878 prompt "GPIO Polarity"
879 depends on PM_WAKEUP_BY_GPIO
880 default PM_WAKEUP_GPIO_POLAR_H
881 config PM_WAKEUP_GPIO_POLAR_H
883 config PM_WAKEUP_GPIO_POLAR_L
885 config PM_WAKEUP_GPIO_POLAR_EDGE_F
887 config PM_WAKEUP_GPIO_POLAR_EDGE_R
889 config PM_WAKEUP_GPIO_POLAR_EDGE_B
895 if (BF537 || BF533 || BF54x)
897 menu "CPU Frequency scaling"
899 source "drivers/cpufreq/Kconfig"
905 If you want to enable this option, you should select the
906 DPMC driver from Character Devices.
913 source "drivers/Kconfig"
917 source "arch/blackfin/oprofile/Kconfig"
919 menu "Kernel hacking"
921 source "lib/Kconfig.debug"
924 bool "Hardware error interrupt debugging"
925 depends on DEBUG_KERNEL
927 When enabled, the hardware error interrupt is never disabled, and
928 will happen immediately when an error condition occurs. This comes
929 at a slight cost in code size, but is necessary if you are getting
930 hardware error interrupts and need to know where they are coming
933 config DEBUG_ICACHE_CHECK
934 bool "Check Instruction cache coherancy"
935 depends on DEBUG_KERNEL
936 depends on DEBUG_HWERR
938 Say Y here if you are getting wierd unexplained errors. This will
939 ensure that icache is what SDRAM says it should be, by doing a
940 byte wise comparision between SDRAM and instruction cache. This
941 also relocates the irq_panic() function to L1 memory, (which is
944 config DEBUG_KERNEL_START
945 bool "Debug Kernel Startup"
946 depends on DEBUG_KERNEL
948 Say Y here to put in an mini-execption handler before the kernel
949 replaces the bootloader exception handler. This will stop kernels
950 from dieing at startup with no visible error messages.
952 config DEBUG_SERIAL_EARLY_INIT
953 bool "Initialize serial driver early"
955 depends on SERIAL_BFIN
957 Say Y here if you want to get kernel output early when kernel
958 crashes before the normal console initialization. If this option
959 is enable, console output will always go to the ttyBF0, no matter
960 what kernel boot paramters you set.
962 config DEBUG_HUNT_FOR_ZERO
963 bool "Catch NULL pointer reads/writes"
966 Say Y here to catch reads/writes to anywhere in the memory range
967 from 0x0000 - 0x0FFF (the first 4k) of memory. This is useful in
968 catching common programming errors such as NULL pointer dereferences.
970 Misbehaving applications will be killed (generate a SEGV) while the
971 kernel will trigger a panic.
973 Enabling this option will take up an extra entry in CPLB table.
974 Otherwise, there is no extra overhead.
976 config DEBUG_BFIN_NO_KERN_HWTRACE
977 bool "Trace user apps (turn off hwtrace in kernel)"
980 Some pieces of the kernel contain a lot of flow changes which can
981 quickly fill up the hardware trace buffer. When debugging crashes,
982 the hardware trace may indicate that the problem lies in kernel
983 space when in reality an application is buggy.
985 Say Y here to disable hardware tracing in some known "jumpy" pieces
986 of code so that the trace buffer will extend further back.
988 config DUAL_CORE_TEST_MODULE
989 tristate "Dual Core Test Module"
993 Say Y here to build-in dual core test module for dual core test.
996 bool "Display the CPLB information"
998 Display the CPLB information.
1001 bool "Check the user pointer address"
1004 Usually the pointer transfer from user space is checked to see if its
1005 address is in the kernel space.
1007 Say N here to disable that check to improve the performance.
1011 source "security/Kconfig"
1013 source "crypto/Kconfig"
1015 source "lib/Kconfig"