#
# For a description of the syntax of this configuration file,
# see the Configure script.
#
mainmenu_name "Linux/CRIS Kernel Configuration"

define_bool CONFIG_UID16 y
define_bool CONFIG_RWSEM_GENERIC_SPINLOCK y
define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM n

mainmenu_option next_comment
comment 'Code maturity level options'
bool 'Prompt for development and/or incomplete code/drivers' CONFIG_EXPERIMENTAL
endmenu

mainmenu_option next_comment
comment 'General setup'

bool 'Networking support' CONFIG_NET
bool 'System V IPC' CONFIG_SYSVIPC

tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
  tristate 'Kernel support for JAVA binaries' CONFIG_BINFMT_JAVA
fi

bool 'Use kernel gdb debugger' CONFIG_KGDB

bool 'Enable Etrax100 watchdog' CONFIG_ETRAX_WATCHDOG

bool 'Use serial console (on the debug port)' CONFIG_USE_SERIAL_CONSOLE

bool 'Use in-kernel ifconfig/route setup' CONFIG_KERNEL_IFCONFIG

endmenu

mainmenu_option next_comment
comment 'Hardware setup'

choice 'Processor type' \
	"Etrax-100-LX-v1	CONFIG_ETRAX100LX	\
	 Etrax-100-LX-v2	CONFIG_ETRAX100LX_V2	\
	 Etrax-100-LX-for-xsim-simulator   CONFIG_SVINTO_SIM" Etrax-100-LX-v1

# For both LX version 1 and the current simulator we enable the low VM mapping

if [ "$CONFIG_ETRAX100LX" = "y" -o "$CONFIG_SVINTO_SIM" = "y" ]; then
	define_bool CONFIG_CRIS_LOW_MAP y
	define_hex  ETRAX_DRAM_VIRTUAL_BASE 60000000
else
	define_hex  ETRAX_DRAM_VIRTUAL_BASE c0000000
fi

int 'DRAM size (dec, in MB)' ETRAX_DRAM_SIZE 8

int 'Max possible flash size (dec, in MB)' CONFIG_ETRAX_FLASH_LENGTH 2
int 'Buswidth of flash in bytes' CONFIG_ETRAX_FLASH_BUSWIDTH 2

choice 'Product LED port' \
	"Port-PA-LEDs	CONFIG_ETRAX_PA_LEDS	\
	 Port-PB-LEDs	CONFIG_ETRAX_PB_LEDS	\
	 Mem-0x90000000-LEDs	CONFIG_ETRAX_90000000_LEDS  \
	 None	CONFIG_ETRAX_NO_LEDS" Port-PA-LEDs

if [ "$CONFIG_ETRAX_NO_LEDS" != "y" ]; then
  int '  First green LED bit' CONFIG_ETRAX_LED1G 2
  int '  First red LED bit' CONFIG_ETRAX_LED1R 3
  int '  Second green LED bit' CONFIG_ETRAX_LED2G 4
  int '  Second red LED bit' CONFIG_ETRAX_LED2R 5
  int '  Third green LED bit' CONFIG_ETRAX_LED3R 2
  int '  Third red LED bit' CONFIG_ETRAX_LED3G 2
fi

choice 'Product debug-port' \
	"Serial-0	CONFIG_DEBUG_PORT0	\
	 Serial-1	CONFIG_DEBUG_PORT1	\
	 Serial-2	CONFIG_DEBUG_PORT2	\
	 Serial-3	CONFIG_DEBUG_PORT3	\
	 disabled	CONFIG_DEBUG_PORT_NULL" Serial-0 

choice 'Product rescue-port' \
	"Serial-0	CONFIG_RESCUE_SER0	\
	 Serial-1	CONFIG_RESCUE_SER1	\
	 Serial-2	CONFIG_RESCUE_SER2	\
	 Serial-3	CONFIG_RESCUE_SER3" Serial-0

hex 'R_WAITSTATES' DEF_R_WAITSTATES 95a6
hex 'R_BUS_CONFIG' DEF_R_BUS_CONFIG 104

bool 'SDRAM support' CONFIG_SDRAM n
if [ "$CONFIG_SDRAM" = "n" ]; then
	hex 'R_DRAM_CONFIG' DEF_R_DRAM_CONFIG 1a200040
	hex 'R_DRAM_TIMING' DEF_R_DRAM_TIMING 5611
fi

if [ "$CONFIG_SDRAM" = "y" ]; then
	hex 'R_SDRAM_CONFIG' DEF_R_SDRAM_CONFIG d2fa7878
	hex 'R_SDRAM_TIMING' DEF_R_SDRAM_TIMING 80004801
fi

hex 'R_PORT_PA_DIR' DEF_R_PORT_PA_DIR 1c
hex 'R_PORT_PA_DATA' DEF_R_PORT_PA_DATA 00
hex 'R_PORT_PB_CONFIG' DEF_R_PORT_PB_CONFIG 00
hex 'R_PORT_PB_DIR' DEF_R_PORT_PB_DIR 00
hex 'R_PORT_PB_DATA' DEF_R_PORT_PB_DATA ff

endmenu

# bring in Etrax built-in drivers

source arch/cris/drivers/Config.in

# standard linux drivers

source drivers/mtd/Config.in

source drivers/parport/Config.in

source drivers/pnp/Config.in

source drivers/block/Config.in

source drivers/md/Config.in

if [ "$CONFIG_NET" = "y" ]; then
  source net/Config.in
fi

source drivers/telephony/Config.in

mainmenu_option next_comment
comment 'ATA/IDE/MFM/RLL support'

tristate 'ATA/IDE/MFM/RLL support' CONFIG_IDE

if [ "$CONFIG_IDE" != "n" ]; then
  source drivers/ide/Config.in
else
  define_bool CONFIG_BLK_DEV_IDE_MODES n
  define_bool CONFIG_BLK_DEV_HD n
fi
endmenu

mainmenu_option next_comment
comment 'SCSI support'

tristate 'SCSI support' CONFIG_SCSI

if [ "$CONFIG_SCSI" != "n" ]; then
  source drivers/scsi/Config.in
fi
endmenu

source drivers/ieee1394/Config.in

source drivers/i2o/Config.in

if [ "$CONFIG_NET" = "y" ]; then
  mainmenu_option next_comment
  comment 'Network device support'

  bool 'Network device support' CONFIG_NETDEVICES
  if [ "$CONFIG_NETDEVICES" = "y" ]; then
    source drivers/net/Config.in
      if [ "$CONFIG_ATM" = "y" ]; then
         source drivers/atm/Config.in
      fi
  fi
  endmenu
fi

source net/ax25/Config.in

source net/irda/Config.in

mainmenu_option next_comment
comment 'ISDN subsystem'
if [ "$CONFIG_NET" != "n" ]; then
   tristate 'ISDN support' CONFIG_ISDN
   if [ "$CONFIG_ISDN" != "n" ]; then
      source drivers/isdn/Config.in
   fi
fi
endmenu

mainmenu_option next_comment
comment 'Old CD-ROM drivers (not SCSI, not IDE)'

bool 'Support non-SCSI/IDE/ATAPI CDROM drives' CONFIG_CD_NO_IDESCSI
if [ "$CONFIG_CD_NO_IDESCSI" != "n" ]; then
   source drivers/cdrom/Config.in
fi
endmenu

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

#source drivers/misc/Config.in

source drivers/media/Config.in

source fs/Config.in

source drivers/char/Config.in

mainmenu_option next_comment
comment 'Sound'

tristate 'Sound card support' CONFIG_SOUND
if [ "$CONFIG_SOUND" != "n" ]; then
  source drivers/sound/Config.in
fi
endmenu

source drivers/usb/Config.in

mainmenu_option next_comment
comment 'Kernel hacking'

#bool 'Debug kmalloc/kfree' CONFIG_DEBUG_MALLOC
bool 'Kernel profiling support' CONFIG_PROFILE
if [ "$CONFIG_PROFILE" = "y" ]; then
  int ' Profile shift count' CONFIG_PROFILE_SHIFT 2
fi
endmenu
