#
# OMAP Architecture specific features
#
# (C) Copyright 2008
# Texas Instruments, <www.ti.com>
# Nishanth Menon <x0nishan@ti.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
# MA 02111-1307 USA

menu "OMAP Features"
	depends on ARCH_OMAP

config MACH_OMAP
	bool

config OMAP3_LOWLEVEL_INIT
	bool

choice
	prompt "Select OMAP Variant"

config ARCH_OMAP3
	bool "OMAP3"
	select CPU_V7
	select GENERIC_GPIO
	select OMAP3_LOWLEVEL_INIT
	select ARCH_HAS_LOWLEVEL_INIT
	select OMAP_CLOCK_SOURCE_S32K
	help
	  Say Y here if you are using Texas Instrument's OMAP343x based platform

config ARCH_OMAP4
	bool "OMAP4"
	select CPU_V7
	select GENERIC_GPIO
	select OMAP_CLOCK_SOURCE_S32K
	help
	  Say Y here if you are using Texas Instrument's OMAP4 based platform

endchoice

### Generic Clock configurations to be enabled by Mach - invisible to enable.
config OMAP_CLOCK_UART
	bool
config OMAP_CLOCK_UART2
	bool
config OMAP_CLOCK_UART3
	bool
config OMAP_CLOCK_I2C
	bool

# Blind enable all possible clocks.. think twice before you do this.
config OMAP_CLOCK_ALL
	bool

config OMAP_CLOCK_SOURCE_S32K
	bool

config OMAP3_CLOCK_CONFIG
	prompt "Clock Configuration"
	bool
	depends on ARCH_OMAP3
	default y
	help
	  Say Y here if you like to have OMAP3 Clock configuration done.

config OMAP_GPMC
	prompt "Support for GPMC configuration"
	bool
	depends on  (ARCH_OMAP2 || ARCH_OMAP3 || ARCH_OMAP4)
	default y
	help
	  Enable this if you use Texas Instrument's General purpose Memory
	  Controller(GPMC). GPMC allows you to configure devices such as NOR,
	  NAND, OneNAND etc.

config OMAP_BUILD_IFT
	prompt "build ift binary"
	bool

config ARCH_TEXT_BASE
	hex
	default 0x80e80000 if MACH_OMAP343xSDP
	default 0x80e80000 if MACH_BEAGLE

config BOARDINFO
	default "Texas Instrument's SDP343x" if MACH_OMAP343xSDP
	default "Texas Instrument's Beagle" if MACH_BEAGLE
	default "Texas Instrument's OMAP3EVM" if MACH_OMAP3EVM
	default "Texas Instrument's Panda" if MACH_PANDA
	default "Phytec phyCORE pcm049" if MACH_PCM049
	default "Phytec phyCARD-A-L1" if MACH_PCAAL1
	default "Phytec phyCARD-A-XL2" if MACH_PCAAXL2

choice
	prompt "Select OMAP board"

config MACH_OMAP343xSDP
	bool "Texas Instrument's SDP343x"
	select OMAP_CLOCK_ALL
	depends on ARCH_OMAP3
	help
	  Say Y here if you are using SDP343x platform

config MACH_BEAGLE
	bool "Texas Instrument's Beagle Board"
	select OMAP_CLOCK_ALL
	select HAVE_NOSHELL
	depends on ARCH_OMAP3
	  help
	  Say Y here if you are using Beagle Board

config MACH_OMAP3EVM
	bool "Texas Instrument's OMAP3 EVM"
	select OMAP_CLOCK_ALL
	select HAVE_NOSHELL
	depends on ARCH_OMAP3
	  help
	  Say Y here if you are using OMAP3EVM

config MACH_PANDA
	bool "Texas Instrument's Panda Board"
	select HAVE_NOSHELL
	select MACH_HAS_LOWLEVEL_INIT
	depends on ARCH_OMAP4
	help
	  Say Y here if you are using OMAP4 Panda board

config MACH_PCM049
	bool "Phytec phyCORE pcm049"
	select HAVE_NOSHELL
	depends on ARCH_OMAP4
	select MACH_HAS_LOWLEVEL_INIT
	help
	  Say Y here if you are using Phytecs phyCORE pcm049 board
	  based on OMAP4

config MACH_PCAAL1
	bool "Phytec phyCARD-A-L1"
	select OMAP_CLOCK_ALL
	select HAVE_NOSHELL
	depends on ARCH_OMAP3
	  help
	  Say Y here if you are using a phyCARD-A-L1 PCA-A-L1

config MACH_PCAAXL2
	bool "Phytec phyCARD XL2"
	select HAVE_NOSHELL
	select MACH_HAS_LOWLEVEL_INIT
	depends on ARCH_OMAP4
	help
	  Say Y here if you are using a phyCARD-A-XL1 PCA-A-XL1

endchoice

if MACH_OMAP3EVM
	choice
	prompt "Select UART"

	config OMAP3EVM_UART1
		bool "Use UART1"
		depends on MACH_OMAP3EVM
		help
		  Say Y here if you would like to use UART1 as console.

	config OMAP3EVM_UART3
		bool "Use UART3"
		depends on MACH_OMAP3EVM
		help
		  Say Y here if you would like to use UART3 as console.
	endchoice
endif

config MACH_OMAP_ADVANCED_MUX
	bool "Enable advanced pin muxing"
	depends on MACH_OMAP343xSDP
	default n
	help
	  Say Y here if you would like to have complete pin muxing to be
	  done at boot time

endmenu
