if OMAP34XX

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

config OMAP3_GPIO_3
	bool

config OMAP3_GPIO_4
	bool

config OMAP3_GPIO_5
	bool

config OMAP3_GPIO_6
	bool

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_MT_VENTOUX
	bool "TeeJet Mt.Ventoux"
	select OMAP3_GPIO_4
	select OMAP3_GPIO_5 if USB_EHCI_HCD

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_CM_T3517
	bool "CompuLab CM-T3517 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_ECO5PK
	bool "ECO5PK"
	select OMAP3_GPIO_5 if USB_EHCI_HCD

config TARGET_TRICORDER
	bool "Tricorder"
	select OMAP3_GPIO_2

config TARGET_MCX
	bool "MCX"
	select BOARD_LATE_INIT
	select OMAP3_GPIO_2 if USB_EHCI_HCD
	select OMAP3_GPIO_5 if USB_EHCI_HCD

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_TWISTER
	bool "Twister"
	select OMAP3_GPIO_2
	select OMAP3_GPIO_5 if USB_EHCI_HCD

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/teejet/mt_ventoux/Kconfig"
source "board/ti/beagle/Kconfig"
source "board/compulab/cm_t35/Kconfig"
source "board/compulab/cm_t3517/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/8dtech/eco5pk/Kconfig"
source "board/corscience/tricorder/Kconfig"
source "board/htkw/mcx/Kconfig"
source "board/logicpd/omap3som/Kconfig"
source "board/nokia/rx51/Kconfig"
source "board/technexion/tao3530/Kconfig"
source "board/technexion/twister/Kconfig"
source "board/quipos/cairo/Kconfig"
source "board/lg/sniper/Kconfig"

endif
