# ETRAX 100LX v1 has a MMU "feature" requiring a low mapping
config CRIS_LOW_MAP
	bool
	depends on ETRAX_ARCH_V10 && ETRAX100LX
	default y

config ETRAX_DRAM_VIRTUAL_BASE
	hex
	depends on ETRAX_ARCH_V10
	default "c0000000" if !ETRAX100LX
	default "60000000" if ETRAX100LX

choice
	prompt "Product LED port"
	depends on ETRAX_ARCH_V10
	default ETRAX_PA_LEDS

config ETRAX_PA_LEDS
	bool "Port-PA-LEDs"
	help
	  The ETRAX network driver is responsible for flashing LED's when
	  packets arrive and are sent.  It uses macros defined in
	  <file:include/asm-cris/io.h>, and those macros are defined after what
	  YOU choose in this option.  The actual bits used are configured
	  separately.  Select this if the LEDs are on port PA.  Some products
	  put the leds on PB or a memory-mapped latch (CSP0) instead.

config ETRAX_PB_LEDS
	bool "Port-PB-LEDs"
	help
	  The ETRAX network driver is responsible for flashing LED's when
	  packets arrive and are sent.  It uses macros defined in
	  <file:include/asm-cris/io.h>, and those macros are defined after what
	  YOU choose in this option.  The actual bits used are configured
	  separately.  Select this if the LEDs are on port PB.  Some products
	  put the leds on PA or a memory-mapped latch (CSP0) instead.

config ETRAX_CSP0_LEDS
	bool "Port-CSP0-LEDs"
	help
	  The ETRAX network driver is responsible for flashing LED's when
	  packets arrive and are sent. It uses macros defined in
	  <file:include/asm-cris/io.h>, and those macros are defined after what
	  YOU choose in this option.  The actual bits used are configured
	  separately.  Select this if the LEDs are on a memory-mapped latch
	  using chip select CSP0, this is mapped at 0x90000000.
	  Some products put the leds on PA or PB instead.

config ETRAX_NO_LEDS
	bool "None"
	help
	  Select this option if you don't have any LED at all.

endchoice

config ETRAX_LED1G
	int "First green LED bit"
	depends on ETRAX_ARCH_V10 && !ETRAX_NO_LEDS
	default "2"
	help
	  Bit to use for the first green LED.
	  Most Axis products use bit 2 here.

config ETRAX_LED1R
	int "First red LED bit"
	depends on ETRAX_ARCH_V10 && !ETRAX_NO_LEDS
	default "3"
	help
	  Bit to use for the first red LED.
	  Most Axis products use bit 3 here.
	  For products with only one controllable LED,
	  set this to same as CONFIG_ETRAX_LED1G (normally 2).

config ETRAX_LED2G
	int "Second green LED bit"
	depends on ETRAX_ARCH_V10 && !ETRAX_NO_LEDS
	default "4"
	help
	  Bit to use for the second green LED. The "Active" LED.
	  Most Axis products use bit 4 here.
	  For products with only one controllable LED,
	  set this to same as CONFIG_ETRAX_LED1G (normally 2).

config ETRAX_LED2R
	int "Second red LED bit"
	depends on ETRAX_ARCH_V10 && !ETRAX_NO_LEDS
	default "5"
	help
	  Bit to use for the second red LED.
	  Most Axis products use bit 5 here.
	  For products with only one controllable LED,
	  set this to same as CONFIG_ETRAX_LED1G (normally 2).

config ETRAX_LED3G
	int "Third green LED bit"
	depends on ETRAX_ARCH_V10 && !ETRAX_NO_LEDS
	default "2"
	help
	  Bit to use for the third green LED. The "Drive" LED.
	  For products with only one or two controllable LEDs,
	  set this to same as CONFIG_ETRAX_LED1G (normally 2).

config ETRAX_LED3R
	int "Third red LED bit"
	depends on ETRAX_ARCH_V10 && !ETRAX_NO_LEDS
	default "2"
	help
	  Bit to use for the third red LED.
	  For products with only one or two controllable LEDs,
	  set this to same as CONFIG_ETRAX_LED1G (normally 2).

config ETRAX_LED4R
	int "Fourth red LED bit"
	depends on ETRAX_CSP0_LEDS
	default "2"
	help
	  Bit to use for the fourth red LED.
	  For products with only one or two controllable LEDs,
	  set this to same as CONFIG_ETRAX_LED1G (normally 2).

config ETRAX_LED4G
	int "Fourth green LED bit"
	depends on ETRAX_CSP0_LEDS
	default "2"
	help
	  Bit to use for the fourth green LED.
	  For products with only one or two controllable LEDs,
	  set this to same as CONFIG_ETRAX_LED1G (normally 2).

config ETRAX_LED5R
	int "Fifth red LED bit"
	depends on ETRAX_CSP0_LEDS
	default "2"
	help
	  Bit to use for the fifth red LED.
	  For products with only one or two controllable LEDs,
	  set this to same as CONFIG_ETRAX_LED1G (normally 2).

config ETRAX_LED5G
	int "Fifth green LED bit"
	depends on ETRAX_CSP0_LEDS
	default "2"
	help
	  Bit to use for the fifth green LED.
	  For products with only one or two controllable LEDs,
	  set this to same as CONFIG_ETRAX_LED1G (normally 2).

config ETRAX_LED6R
	int "Sixth red LED bit"
	depends on ETRAX_CSP0_LEDS
	default "2"
	help
	  Bit to use for the sixth red LED.
	  For products with only one or two controllable LEDs,
	  set this to same as CONFIG_ETRAX_LED1G (normally 2).

config ETRAX_LED6G
	int "Sixth green LED bit"
	depends on ETRAX_CSP0_LEDS
	default "2"
	help
	  Bit to use for the sixth green LED. The "Drive" LED.
	  For products with only one or two controllable LEDs,
	  set this to same as CONFIG_ETRAX_LED1G (normally 2).

config ETRAX_LED7R
	int "Seventh red LED bit"
	depends on ETRAX_CSP0_LEDS
	default "2"
	help
	  Bit to use for the seventh red LED.
	  For products with only one or two controllable LEDs,
	  set this to same as CONFIG_ETRAX_LED1G (normally 2).

config ETRAX_LED7G
	int "Seventh green LED bit"
	depends on ETRAX_CSP0_LEDS
	default "2"
	help
	  Bit to use for the seventh green LED.
	  For products with only one or two controllable LEDs,
	  set this to same as CONFIG_ETRAX_LED1G (normally 2).

config ETRAX_LED8Y
	int "Eigth yellow LED bit"
	depends on ETRAX_CSP0_LEDS
	default "2"
	help
	  Bit to use for the eighth yellow LED. The "Drive" LED.
	  For products with only one or two controllable LEDs,
	  set this to same as CONFIG_ETRAX_LED1G (normally 2).

config ETRAX_LED9Y
	int "Ninth yellow LED bit"
	depends on ETRAX_CSP0_LEDS
	default "2"
	help
	  Bit to use for the ninth yellow LED.
	  For products with only one or two controllable LEDs,
	  set this to same as CONFIG_ETRAX_LED1G (normally 2).

config ETRAX_LED10Y
	int "Tenth yellow LED bit"
	depends on ETRAX_CSP0_LEDS
	default "2"
	help
	  Bit to use for the tenth yellow LED.
	  For products with only one or two controllable LEDs,
	  set this to same as CONFIG_ETRAX_LED1G (normally 2).

config ETRAX_LED11Y
	int "Eleventh yellow LED bit"
	depends on ETRAX_CSP0_LEDS
	default "2"
	help
	  Bit to use for the eleventh yellow LED.
	  For products with only one or two controllable LEDs,
	  set this to same as CONFIG_ETRAX_LED1G (normally 2).

config ETRAX_LED12R
	int "Twelfth red LED bit"
	depends on ETRAX_CSP0_LEDS
	default "2"
	help
	  Bit to use for the twelfth red LED.
	  For products with only one or two controllable LEDs,
	  set this to same as CONFIG_ETRAX_LED1G (normally 2).

choice
	prompt "Product debug-port"
	depends on ETRAX_ARCH_V10
	default ETRAX_DEBUG_PORT0

config ETRAX_DEBUG_PORT0
	bool "Serial-0"
	help
	  Choose a serial port for the ETRAX debug console.  Default to
	  port 0.

config ETRAX_DEBUG_PORT1
	bool "Serial-1"
	help
	  Use serial port 1 for the console.

config ETRAX_DEBUG_PORT2
	bool "Serial-2"
	help
	  Use serial port 2 for the console.

config ETRAX_DEBUG_PORT3
	bool "Serial-3"
	help
	  Use serial port 3 for the console.

config ETRAX_DEBUG_PORT_NULL
	bool "disabled"
	help
	  Disable serial-port debugging.

endchoice

choice
	prompt "Kernel GDB port"
	depends on ETRAX_KGDB
	default ETRAX_KGDB_PORT0
	help
	  Choose a serial port for kernel debugging.  NOTE: This port should
	  not be enabled under Drivers for built-in interfaces (as it has its
	  own initialization code) and should not be the same as the debug port.

config ETRAX_KGDB_PORT0
	bool "Serial-0"
	help
	  Use serial port 0 for kernel debugging.

config ETRAX_KGDB_PORT1
	bool "Serial-1"
	help
	  Use serial port 1 for kernel debugging.

config ETRAX_KGDB_PORT2
	bool "Serial-2"
	help
	  Use serial port 2 for kernel debugging.

config ETRAX_KGDB_PORT3
	bool "Serial-3"
	help
	  Use serial port 3 for kernel debugging.

endchoice

choice
	prompt "Product rescue-port"
	depends on ETRAX_ARCH_V10
	default ETRAX_RESCUE_SER0

config ETRAX_RESCUE_SER0
	bool "Serial-0"
	help
	  Select one of the four serial ports as a rescue port.  The default
	  is port 0.

config ETRAX_RESCUE_SER1
	bool "Serial-1"
	help
	  Use serial port 1 as the rescue port.

config ETRAX_RESCUE_SER2
	bool "Serial-2"
	help
	  Use serial port 2 as the rescue port.

config ETRAX_RESCUE_SER3
	bool "Serial-3"
	help
	  Use serial port 3 as the rescue port.

endchoice

config ETRAX_DEF_R_WAITSTATES
	hex "R_WAITSTATES"
	depends on ETRAX_ARCH_V10
	default "95a6"
	help
	  Waitstates for SRAM, Flash and peripherials (not DRAM).  95f8 is a
	  good choice for most Axis products...

config ETRAX_DEF_R_BUS_CONFIG
	hex "R_BUS_CONFIG"
	depends on ETRAX_ARCH_V10
	default "104"
	help
	  Assorted bits controlling write mode, DMA burst length etc.  104 is
	  a good choice for most Axis products...

config ETRAX_SDRAM
	bool "SDRAM support"
	depends on ETRAX_ARCH_V10
	help
	  Enable this if you use SDRAM chips and configure
	  R_SDRAM_CONFIG and R_SDRAM_TIMING as well.

config ETRAX_DEF_R_DRAM_CONFIG
	hex "R_DRAM_CONFIG"
	depends on ETRAX_ARCH_V10 && !ETRAX_SDRAM
	default "1a200040"
	help
	  The R_DRAM_CONFIG register specifies everything on how the DRAM
	  chips in the system are connected to the ETRAX CPU.  This is
	  different depending on the manufacturer, chip type and number of
	  chips.  So this value often needs to be different for each Axis
	  product.

config ETRAX_DEF_R_DRAM_TIMING
	hex "R_DRAM_TIMING"
	depends on ETRAX_ARCH_V10 && !ETRAX_SDRAM
	default "5611"
	help
	  Different DRAM chips have different speeds.  Current Axis products
	  use 50ns DRAM chips which can use the timing: 5611.

config ETRAX_DEF_R_SDRAM_CONFIG
	hex "R_SDRAM_CONFIG"
	depends on ETRAX_ARCH_V10 && ETRAX_SDRAM
	default "d2fa7878"
	help
	  The R_SDRAM_CONFIG register specifies everything on how the SDRAM
	  chips in the system are connected to the ETRAX CPU.  This is
	  different depending on the manufacturer, chip type and number of
	  chips.  So this value often needs to be different for each Axis
	  product.

config ETRAX_DEF_R_SDRAM_TIMING
	hex "R_SDRAM_TIMING"
	depends on ETRAX_ARCH_V10 && ETRAX_SDRAM
	default "80004801"
	help
	  Different SDRAM chips have different timing.

config ETRAX_DEF_R_PORT_PA_DIR
	hex "R_PORT_PA_DIR"
	depends on ETRAX_ARCH_V10
	default "1c"
	help
	  Configures the direction of general port A bits.  1 is out, 0 is in.
	  This is often totally different depending on the product used.
	  There are some guidelines though - if you know that only LED's are
	  connected to port PA, then they are usually connected to bits 2-4
	  and you can therefore use 1c.  On other boards which don't have the
	  LED's at the general ports, these bits are used for all kinds of
	  stuff.  If you don't know what to use, it is always safe to put all
	  as inputs, although floating inputs isn't good.

config ETRAX_DEF_R_PORT_PA_DATA
	hex "R_PORT_PA_DATA"
	depends on ETRAX_ARCH_V10
	default "00"
	help
	  Configures the initial data for the general port A bits.  Most
	  products should use 00 here.

config ETRAX_DEF_R_PORT_PB_CONFIG
	hex "R_PORT_PB_CONFIG"
	depends on ETRAX_ARCH_V10
	default "00"
	help
	  Configures the type of the general port B bits.  1 is chip select,
	  0 is port.  Most products should use 00 here.

config ETRAX_DEF_R_PORT_PB_DIR
	hex "R_PORT_PB_DIR"
	depends on ETRAX_ARCH_V10
	default "00"
	help
	  Configures the direction of general port B bits. 1 is out, 0 is in.
	  This is often totally different depending on the product used.  Bits
	  0 and 1 on port PB are usually used for I2C communication, but the
	  kernel I2C driver sets the appropriate directions itself so you
	  don't need to take that into consideration when setting this option.
	  If you don't know what to use, it is always safe to put all as
	  inputs.

config ETRAX_DEF_R_PORT_PB_DATA
	hex "R_PORT_PB_DATA"
	depends on ETRAX_ARCH_V10
	default "ff"
	help
	  Configures the initial data for the general port A bits.  Most
	  products should use FF here.

config ETRAX_SOFT_SHUTDOWN
	bool "Software Shutdown Support"
	depends on ETRAX_ARCH_V10
	help
	  Enable this if ETRAX is used with a power-supply that can be turned
	  off and on with PS_ON signal. Gives the possibility to detect
	  powerbutton and then do a power off after unmounting disks.

config ETRAX_SHUTDOWN_BIT
	int "Shutdown bit on port CSP0"
	depends on ETRAX_SOFT_SHUTDOWN
	default "12"
	help
	  Configure what pin on CSPO-port that is used for controlling power
	  supply.

config ETRAX_POWERBUTTON_BIT
	int "Power button bit on port G"
	depends on ETRAX_SOFT_SHUTDOWN
	default "25"
	help
	  Configure where power button is connected.
