if OMAP34XX

# We only enable the clocks for the GPIO banks that a given board requies.
config OMAP3_GPIO_2
	bool
	default y if CMD_GPIO

config OMAP3_GPIO_3
	bool
	default y if CMD_GPIO

config OMAP3_GPIO_4
	bool
	default y if CMD_GPIO

config OMAP3_GPIO_5
	bool
	default y if CMD_GPIO

config OMAP3_GPIO_6
	bool
	default y if CMD_GPIO

choice
	prompt "OMAP3 board select"
	optional

config TARGET_AM3517_EVM
	bool "AM3517 EVM"
	select DM
	select DM_GPIO
	select DM_I2C
	select DM_MMC
	select DM_SERIAL
	imply CMD_DM

config TARGET_OMAP3_BEAGLE
	bool "TI OMAP3 BeagleBoard"
	select DM
	select DM_GPIO
	select DM_SERIAL
	select OMAP3_GPIO_5
	select OMAP3_GPIO_6
	imply CMD_DM

config TARGET_CM_T35
	bool "CompuLab CM-T3530 and CM-T3730 boards"
	select OMAP3_GPIO_2
	select OMAP3_GPIO_5
	select OMAP3_GPIO_6 if LED_STATUS

config TARGET_DEVKIT8000
	bool "TimLL OMAP3 Devkit8000"
	select DM
	select DM_GPIO
	select DM_SERIAL
	imply CMD_DM

config TARGET_OMAP3_EVM
	bool "TI OMAP3 EVM"
	select DM
	select DM_GPIO
	select DM_SERIAL
	select OMAP3_GPIO_3
	imply CMD_DM

config TARGET_OMAP3_IGEP00X0
	bool "IGEP"
	select DM
	select DM_GPIO
	select DM_SERIAL
	select OMAP3_GPIO_3
	select OMAP3_GPIO_5
	select OMAP3_GPIO_6
	imply CMD_DM

config TARGET_OMAP3_OVERO
	bool "OMAP35xx Gumstix Overo"
	select DM
	select DM_GPIO
	select DM_SERIAL
	select OMAP3_GPIO_2
	select OMAP3_GPIO_3
	select OMAP3_GPIO_4
	select OMAP3_GPIO_5
	select OMAP3_GPIO_6
	imply CMD_DM

config TARGET_OMAP3_ZOOM1
	bool "TI Zoom1"
	select DM
	select DM_GPIO
	select DM_SERIAL
	imply CMD_DM

config TARGET_AM3517_CRANE
	bool "am3517_crane"

config TARGET_OMAP3_PANDORA
	bool "OMAP3 Pandora"
	select OMAP3_GPIO_4
	select OMAP3_GPIO_6

config TARGET_TRICORDER
	bool "Tricorder"
	select OMAP3_GPIO_2

config TARGET_OMAP3_LOGIC
	bool "OMAP3 Logic"
	select BOARD_LATE_INIT
	select DM
	select DM_GPIO
	select DM_SERIAL
	select OMAP3_GPIO_3
	select OMAP3_GPIO_4
	select OMAP3_GPIO_6
	imply CMD_DM

config TARGET_NOKIA_RX51
	bool "Nokia RX51"

config TARGET_TAO3530
	bool "TAO3530"
	select OMAP3_GPIO_2
	select OMAP3_GPIO_3
	select OMAP3_GPIO_4
	select OMAP3_GPIO_5
	select OMAP3_GPIO_6

config TARGET_OMAP3_CAIRO
	bool "QUIPOS CAIRO"
	select DM
	select DM_GPIO
	select DM_SERIAL
	imply CMD_DM

config TARGET_SNIPER
	bool "LG Optimus Black"
	select DM
	select DM_GPIO
	select DM_SERIAL
	select OMAP3_GPIO_2
	select OMAP3_GPIO_3
	select OMAP3_GPIO_4
	select OMAP3_GPIO_5
	select OMAP3_GPIO_6
	imply CMD_DM

endchoice

choice
	prompt "Memory Controller"
	default SDRC

config SDRC
	bool "SDRC controller"
	help
	  The default memory controller on most OMAP3 boards is SDRC.

config EMIF4
	bool "EMIF4 controller"
	help
	  Enable this on boards like AM3517 which use EMIF4 controller
endchoice

config SPL_OMAP3_ID_NAND
	bool "Support OMAP3-specific ID and MFR function"
	help
	  Support for an OMAP3-specific set of functions to return the
	  ID and MFR of the first attached NAND chip, if present.

config SYS_SOC
	default "omap3"

source "board/logicpd/am3517evm/Kconfig"
source "board/ti/beagle/Kconfig"
source "board/compulab/cm_t35/Kconfig"
source "board/timll/devkit8000/Kconfig"
source "board/ti/evm/Kconfig"
source "board/isee/igep00x0/Kconfig"
source "board/overo/Kconfig"
source "board/logicpd/zoom1/Kconfig"
source "board/ti/am3517crane/Kconfig"
source "board/pandora/Kconfig"
source "board/corscience/tricorder/Kconfig"
source "board/logicpd/omap3som/Kconfig"
source "board/nokia/rx51/Kconfig"
source "board/technexion/tao3530/Kconfig"
source "board/quipos/cairo/Kconfig"
source "board/lg/sniper/Kconfig"

endif
