#
# For a description of the syntax of this configuration file,
# see Documentation/kbuild/kconfig-language.txt.
#

mainmenu "Linux Kernel Configuration"

config TMS320C6X
	def_bool y
	select ARCH_REQUIRE_GPIOLIB

config MMU
	def_bool n

config ZONE_DMA
	def_bool y

config SBUS
	def_bool n

config FPU
	def_bool n

config HIGHMEM
	def_bool n

config NUMA
	def_bool n

config RWSEM_GENERIC_SPINLOCK
	def_bool y

config RWSEM_XCHGADD_ALGORITHM
	def_bool n

config GENERIC_CALIBRATE_DELAY
	def_bool y

config GENERIC_FIND_NEXT_BIT
	def_bool y

config GENERIC_GPIO
	def_bool y

config GENERIC_HWEIGHT
	def_bool y

config GENERIC_TIME
	def_bool y

config GENERIC_CLOCKEVENTS
	def_bool y

config GENERIC_CLOCKEVENTS_BUILD
	def_bool y
	depends on GENERIC_CLOCKEVENTS

config GENERIC_CLOCKEVENTS_BROADCAST
	bool

config GENERIC_BUG
	def_bool y

# Use the generic interrupt handling code in kernel/irq/
config GENERIC_HARDIRQS
	def_bool y

config GENERIC_HARDIRQS_NO__DO_IRQ
	def_bool y

config COMMON_CLKDEV
	def_bool y

mainmenu "Texas Instruments C64X DSP Kernel Configuration"

source "init/Kconfig"

source "kernel/Kconfig.freezer"

config CMDLINE
	string "Kernel command line"
	default "console=ttyS0,57600"

config RAM_ATTACHED_ROMFS
	bool "m68knommu-style attached romfs in RAM support"

config TI_C6X_COMPILER
       bool "Build using Texas Instruments compiler"
       help
	  Say Y if you are using the Texas Instruments compiler rather
	  than GCC.

config TI_C6X_LINKER
       bool "Build using Texas Instruments linker"
       depends on TI_C6X_COMPILER
       help
	  Say Y if you are using the Texas Instruments linker rather than GCC.

config CPU_BIG_ENDIAN
	bool "Build big-endian kernel"
	help
	  Say Y if you plan on running a kernel in big-endian mode.
	  Note that your board must be properly built and your board
	  port must properly enable any big-endian related features
	  of your chipset/board/processor.

config FORCE_MAX_ZONEORDER
	
	int "Page allocator power of two limit (MAX_ORDER)"
	default "14" if TMS320C66X
	default "13"

menu "Processor type and features"

config TMS320C64X
	bool "TMS320C64X"

config TMS320C64XPLUS
	bool "TMS320C64X+"
	select SERIAL_CORE

config TMS320C66X
	bool "TMS320C66X"
	select SERIAL_CORE
	select SGMII_C66X

config TI_KEYSTONE
	bool

config CIO_CONSOLE
       bool "CIO Console"
       help
         Say Y if you want a write-only console over CIO.
         This is only useful for running kernels from a debugger or simulator.

config PLL_C6X
	bool "PLL driver"
	depends on COMMON_CLKDEV

config TIMER_C6X
	bool "Timer driver"

config INTC_C64XPLUS
	bool "C64x+ Megamodule Interrupt Controller"

config CP_INTC
	bool "Communication Port Interrupt Controller"
	depends on TMS320C66X
	
config GPIO_C6X
	bool

source "arch/c6x/platforms/Kconfig"

config USE_RT_TIMER
	bool "Compensate for lost ticks"
	default n

config TMS320C64X_GEMAC
	bool "Ethernet (GEMAC/MDIO interface)"
	depends on !TMS320C66X
	select SGMII
	default n

config TMS320C64X_GEMAC_0
	bool "First Ethernet interface"
	depends on TMS320C64X_GEMAC && SOC_TMS320C6472
	default y

config TMS320C64X_GEMAC_1
	bool "Second Ethernet interface"
	depends on TMS320C64X_GEMAC && SOC_TMS320C6472
	default n

config SGMII
	bool "Ethernet SGMII support for C64x"
	depends on TMS320C64X_GEMAC
	default n

config SGMII_C66X
	bool "Ethernet SGMII support for C66x"
	depends on TMS320C66X
	default n

config EDMA3
	bool "EDMA3 support"
	default y

config MCBSP
	bool "McBSP support"
	depends on SOC_TMS320C6474
	default n
	help
	  If you say Y here, the kernel will include drivers and
          infrastructure code to support TI McBSP devices.

config MCBSP_UART
	bool "UART over McBSP support"
	depends on MCBSP
	default n
	help
	  If you say Y here, the kernel will include drivers and
          infrastructure code to support UART over McBSP devices.

config MCBSP_UART_CONSOLE
        bool "Console on McBSP UART"
        depends on MCBSP_UART
        select SERIAL_CORE_CONSOLE
        help
          If you say Y here, it will be possible to use the McBSP UART port as
          the system console (the system console is the device which receives all
          kernel messages and warnings and which allows logins in single user
          mode).

config RAPIDIO_TCI648X
        bool "RapidIO support"
	depends on SOC_TMS320C6474 || SOC_TMS320C6472
	default y
        help
          If you say Y here, the kernel will include drivers and
          infrastructure code to support RapidIO interconnect devices.

config RAPIDIO_DEV
	bool "sRIO user-level interface through /dev"
	default y
	depends on RAPIDIO_TCI648X

config RAPIDIO
        bool
	depends on RAPIDIO_TCI648X
	default y

if RAPIDIO_TCI648X
source "drivers/rapidio/Kconfig"
endif

config IPC
	bool "Inter Processor Communication low-level driver"
	default y
	depends on (SOC_TMS320C6472 || SOC_TMS320C6474 || SOC_TMS320C6678 || SOC_TMS320C6670)

config VIRTIO_IPC
	bool "IPC driver for virtio devices"
	depends on IPC
	select VIRTIO
        select VIRTIO_RING
	default y

if VIRTIO_IPC
	source "drivers/virtio/Kconfig"
endif

config TMS320C6X_CACHES_ON
	bool "L2 cache support"
	default y

config TMS320C6X_SYSCALL_COMPAT
	bool "Compatibility with C6x binaries"
	depends on TMS320C64XPLUS_CORE
	default n

config PAGE_OFFSET
	hex "Virtual address of memory base"
	default 0xe0000000 if SOC_TMS320C6455
	default 0xe0000000 if SOC_TMS320C6457
	default 0xe0000000 if SOC_TMS320C6472
	default 0x80000000

config CONTIGUOUS_PAGE_ALLOC
	bool
	default y

#config PGCACHE_LIMIT
#	bool "page cache limit"
#	depends on CONTIGUOUS_PAGE_ALLOC

config IDLE_LED
       bool "Use LED activity indicator based on idle loop"
       depends on !(MTD_NAND_GPIO_C6X && (ARCH_BOARD_EVM6472 || ARCH_BOARD_EVM6457))
       default n

source "mm/Kconfig"

source "kernel/Kconfig.preempt"

source "kernel/Kconfig.hz"
source "kernel/time/Kconfig"

endmenu

menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"

config PCI
	bool "PCI support"
	help
	  Support for PCI bus.
endmenu

menu "Executable file formats"

source "fs/Kconfig.binfmt"

endmenu

menu "Power management options"

config PM
	bool "Power Management support"
	help
	  Support processor power management modes

endmenu

source "net/Kconfig"

source "drivers/Kconfig"

source "fs/Kconfig"

source "security/Kconfig"

source "crypto/Kconfig"

source "lib/Kconfig"

source "lib/Kconfig.debug"

config ACCESS_CHECK
	bool "Check the user pointer address"
	default y
	help
	  Usually the pointer transfer from user space is checked to see if its
	  address is in the kernel space.

	  Say N here to disable that check to improve the performance.

