if ARCH_EP93XX

menu "Cirrus EP93xx Implementation Options"

config CRUNCH
	bool "Support for MaverickCrunch"
	help
	  Enable kernel support for MaverickCrunch.

comment "EP93xx Platforms"

choice
	prompt "EP93xx first SDRAM bank selection"
	default EP93XX_SDCE3_SYNC_PHYS_OFFSET

config EP93XX_SDCE3_SYNC_PHYS_OFFSET
	bool "0x00000000 - SDCE3/SyncBoot"
	help
	  Select this option if you want support for EP93xx boards with the
	  first SDRAM bank at 0x00000000

config EP93XX_SDCE0_PHYS_OFFSET
	bool "0xc0000000 - SDCEO"
	help
	  Select this option if you want support for EP93xx boards with the
	  first SDRAM bank at 0xc0000000

endchoice

config MACH_ADSSPHERE
	bool "Support ADS Sphere"
	depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
	help
	  Say 'Y' here if you want your kernel to support the ADS
	  Sphere board.

config MACH_EDB93XX
	bool

config MACH_EDB9301
	bool "Support Cirrus Logic EDB9301"
	depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
	select MACH_EDB93XX
	help
	  Say 'Y' here if you want your kernel to support the Cirrus
	  Logic EDB9301 Evaluation Board.

config MACH_EDB9302
	bool "Support Cirrus Logic EDB9302"
	depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
	select MACH_EDB93XX
	help
	  Say 'Y' here if you want your kernel to support the Cirrus
	  Logic EDB9302 Evaluation Board.

config MACH_EDB9302A
	bool "Support Cirrus Logic EDB9302A"
	depends on EP93XX_SDCE0_PHYS_OFFSET
	select MACH_EDB93XX
	help
	  Say 'Y' here if you want your kernel to support the Cirrus
	  Logic EDB9302A Evaluation Board.

config MACH_EDB9307
	bool "Support Cirrus Logic EDB9307"
	depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
	select MACH_EDB93XX
	help
	  Say 'Y' here if you want your kernel to support the Cirrus
	  Logic EDB9307 Evaluation Board.

config MACH_EDB9307A
	bool "Support Cirrus Logic EDB9307A"
	depends on EP93XX_SDCE0_PHYS_OFFSET
	select MACH_EDB93XX
	help
	  Say 'Y' here if you want your kernel to support the Cirrus
	  Logic EDB9307A Evaluation Board.

config MACH_EDB9312
	bool "Support Cirrus Logic EDB9312"
	depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
	select MACH_EDB93XX
	help
	  Say 'Y' here if you want your kernel to support the Cirrus
	  Logic EDB9312 Evaluation Board.

config MACH_EDB9315
	bool "Support Cirrus Logic EDB9315"
	depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
	select MACH_EDB93XX
	help
	  Say 'Y' here if you want your kernel to support the Cirrus
	  Logic EDB9315 Evaluation Board.

config MACH_EDB9315A
	bool "Support Cirrus Logic EDB9315A"
	depends on EP93XX_SDCE0_PHYS_OFFSET
	select MACH_EDB93XX
	help
	  Say 'Y' here if you want your kernel to support the Cirrus
	  Logic EDB9315A Evaluation Board.

config MACH_GESBC9312
	depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
	bool "Support Glomation GESBC-9312-sx"
	help
	  Say 'Y' here if you want your kernel to support the Glomation
	  GESBC-9312-sx board.

config MACH_MICRO9
	bool

config MACH_MICRO9H
	bool "Support Contec Hypercontrol Micro9-H"
	depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
	select MACH_MICRO9
	help
	  Say 'Y' here if you want your kernel to support the
	  Contec Hypercontrol Micro9-H board.

config MACH_MICRO9M
	bool "Support Contec Hypercontrol Micro9-M"
	depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
	select MACH_MICRO9
	help
	  Say 'Y' here if you want your kernel to support the
	  Contec Hypercontrol Micro9-M board.

config MACH_MICRO9L
	bool "Support Contec Hypercontrol Micro9-L"
	depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
	select MACH_MICRO9
	help
	  Say 'Y' here if you want your kernel to support the
	  Contec Hypercontrol Micro9-L board.

config MACH_TS72XX
	bool "Support Technologic Systems TS-72xx SBC"
	depends on EP93XX_SDCE3_SYNC_PHYS_OFFSET
	help
	  Say 'Y' here if you want your kernel to support the
	  Technologic Systems TS-72xx board.

choice
	prompt "Select a UART for early kernel messages"

config EP93XX_EARLY_UART1
	bool "UART1"

config EP93XX_EARLY_UART2
	bool "UART2"

config EP93XX_EARLY_UART3
	bool "UART3"

endchoice

endmenu

endif
