#
# For a description of the syntax of this configuration file,
# see the Configure script.
#

mainmenu "Linux/CRIS Kernel Configuration"

config MMU
	bool
	default y

config UID16
	bool
	default y

config RWSEM_GENERIC_SPINLOCK
	bool
	default y

config RWSEM_XCHGADD_ALGORITHM
	bool

source "init/Kconfig"


menu "General setup"

source "fs/Kconfig.binfmt"

config ETRAX_KGDB
	bool "Use kernel gdb debugger"
	---help---
	  The CRIS version of gdb can be used to remotely debug a running
	  Linux kernel via the serial debug port.  Provided you have gdb-cris
	  installed, run gdb-cris vmlinux, then type

	  (gdb) set remotebaud 115200           <- kgdb uses 115200 as default
	  (gdb) target remote /dev/ttyS0        <- maybe you use another port

	  This should connect you to your booted kernel (or boot it now if you
	  didn't before).  The kernel halts when it boots, waiting for gdb if
	  this option is turned on!

config ETRAX_WATCHDOG
	bool "Enable ETRAX watchdog"
	help
	  Enable the built-in watchdog timer support on ETRAX based embedded
	  network computers.

config ETRAX_WATCHDOG_NICE_DOGGY
	bool "Disable watchdog during Oops printouts"
	depends on ETRAX_WATCHDOG
	help
	  By enabling this you make sure that the watchdog does not bite while
	  printing oopses. Recommended for development systems but not for
	  production releases.

config ETRAX_FAST_TIMER
       bool "Enable ETRAX fast timer API"
       help
         This options enables the API to a fast timer implementation using
	 timer1 to get sub jiffie resolution timers (primarily one-shot 
	 timers).
	 This is needed if CONFIG_ETRAX_SERIAL_FAST_TIMER is enabled.

config PREEMPT
	bool "Preemptible Kernel"
	help
	  This option reduces the latency of the kernel when reacting to
	  real-time or interactive events by allowing a low priority process to
	  be preempted even if it is in kernel mode executing a system call.
	  This allows applications to run more reliably even when the system is
	  under load.

	  Say Y here if you are building a kernel for a desktop, embedded
	  or real-time system.  Say N if you are unsure.

endmenu


menu "Hardware setup"

choice
	prompt "Processor type"
	default ETRAX100LX

config ETRAX100LX
	bool "ETRAX-100LX-v1"
	help
	  Support version 1 of the ETRAX 100LX.

config ETRAX100LX_V2
	bool "ETRAX-100LX-v2"
	help
	  Support version 2 of the ETRAX 100LX.

config SVINTO_SIM
	bool "ETRAX-100LX-for-xsim-simulator"
	help
	  Support the xsim ETRAX Simulator.

config ETRAX200LX
	bool "ETRAX-200LX-V32"
	help
	  Support CRIS V32.

endchoice

config ETRAX_ARCH_V10
       bool
       default y if ETRAX100LX || ETRAX100LX_V2
       default n if !(ETRAX100LX || ETRAX100LX_V2) 

config ETRAX_ARCH_V32
       bool
       default y if ETRAX200LX
       default n if !(ETRAX200LX) 

config ETRAX_DRAM_SIZE
	int "DRAM size (dec, in MB)"
	default "8"
	help
	  Size of DRAM (decimal in MB) typically 2, 8 or 16.

config ETRAX_FLASH_BUSWIDTH
	int "Buswidth of flash in bytes"
	default "2"
	help
	  Width in bytes of the Flash bus (1, 2 or 4). Is usually 2.

config ETRAX_ROOT_DEVICE
	string "Root device name"
	default "/dev/mtdblock3"
	help
	  Specifies the device that should be mounted as root file system
	  when booting from flash. The axisflashmap driver adds an additional
	  mtd partition for the appended root file system image, so this option
	  should normally be the mtdblock device for the partition after the
	  last partition in the partition table.

# duplicate choice configs are not yet supported, so the followinguse 
# doesn't work:

source arch/cris/arch-v10/Kconfig

endmenu

# bring in ETRAX built-in drivers
menu "Drivers for built-in interfaces"

source arch/cris/arch-v10/drivers/Kconfig

endmenu

source "drivers/base/Kconfig"

# bring in Etrax built-in drivers
source "arch/cris/drivers/Kconfig"

# standard linux drivers
source "drivers/mtd/Kconfig"

source "drivers/parport/Kconfig"

source "drivers/pnp/Kconfig"

source "drivers/block/Kconfig"

source "drivers/md/Kconfig"

source "drivers/ide/Kconfig"

source "drivers/scsi/Kconfig"

source "drivers/ieee1394/Kconfig"

source "drivers/message/i2o/Kconfig"

source "net/Kconfig"

source "drivers/isdn/Kconfig"

source "drivers/telephony/Kconfig"

source "drivers/cdrom/Kconfig"

#
# input before char - char/joystick depends on it. As does USB.
#
source "drivers/input/Kconfig"

source "drivers/char/Kconfig"

#source drivers/misc/Config.in
source "drivers/media/Kconfig"

source "fs/Kconfig"

source "sound/Kconfig"

source "drivers/usb/Kconfig"


menu "Kernel hacking"

#bool 'Debug kmalloc/kfree' CONFIG_DEBUG_MALLOC
config PROFILE
	bool "Kernel profiling support"

config PROFILE_SHIFT
	int "Profile shift count"
	depends on PROFILE
	default "2"

endmenu

source "security/Kconfig"

source "crypto/Kconfig"

source "lib/Kconfig"

