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_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

