config ARCH_OMAP
	bool

config ARCH_OMAP2
	bool "TI OMAP2"
	depends on ARCH_MULTI_V6
	select ARCH_OMAP2PLUS
	select CPU_V6
	select MULTI_IRQ_HANDLER
	select SOC_HAS_OMAP2_SDRC

config ARCH_OMAP3
	bool "TI OMAP3"
	depends on ARCH_MULTI_V7
	select ARCH_OMAP2PLUS
	select ARCH_HAS_OPP
	select ARM_CPU_SUSPEND if PM
	select CPU_V7
	select MULTI_IRQ_HANDLER
	select OMAP_INTERCONNECT
	select PM_OPP if PM
	select PM_RUNTIME if CPU_IDLE
	select SOC_HAS_OMAP2_SDRC
	select USB_ARCH_HAS_EHCI if USB_SUPPORT

config ARCH_OMAP4
	bool "TI OMAP4"
	depends on ARCH_MULTI_V7
	select ARCH_OMAP2PLUS
	select ARCH_HAS_OPP
	select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
	select ARM_CPU_SUSPEND if PM
	select ARM_ERRATA_720789
	select ARM_GIC
	select CACHE_L2X0
	select CPU_V7
	select HAVE_ARM_SCU if SMP
	select HAVE_ARM_TWD if SMP
	select HAVE_SMP
	select OMAP_INTERCONNECT
	select PL310_ERRATA_588369
	select PL310_ERRATA_727915
	select PM_OPP if PM
	select PM_RUNTIME if CPU_IDLE
	select USB_ARCH_HAS_EHCI if USB_SUPPORT
	select ARM_ERRATA_754322
	select ARM_ERRATA_775420

config SOC_OMAP5
	bool "TI OMAP5"
	depends on ARCH_MULTI_V7
	select ARCH_OMAP2PLUS
	select ARCH_HAS_OPP
	select ARM_CPU_SUSPEND if PM
	select ARM_GIC
	select CPU_V7
	select HAVE_ARM_SCU if SMP
	select HAVE_ARM_TWD if SMP
	select HAVE_SMP
	select HAVE_ARM_ARCH_TIMER
	select ARM_ERRATA_798181 if SMP

config SOC_AM33XX
	bool "TI AM33XX"
	depends on ARCH_MULTI_V7
	select ARCH_OMAP2PLUS
	select ARCH_HAS_OPP
	select ARM_CPU_SUSPEND if PM
	select CPU_V7
	select MULTI_IRQ_HANDLER
	select WKUP_M3_RPROC if PM

config SOC_AM43XX
	bool "TI AM43x"
	depends on ARCH_MULTI_V7
	select CPU_V7
	select ARCH_OMAP2PLUS
	select ARCH_HAS_OPP
	select MULTI_IRQ_HANDLER
	select ARM_GIC
	select MACH_OMAP_GENERIC
	select HAVE_ARM_SCU
	select MIGHT_HAVE_CACHE_L2X0
	select WKUP_M3_RPROC if PM

config SOC_DRA7XX
	bool "TI DRA7XX"
	depends on ARCH_MULTI_V7
	select ARCH_OMAP2PLUS
	select ARCH_HAS_OPP
	select ARM_CPU_SUSPEND if PM
	select ARM_GIC
	select CPU_V7
	select HAVE_SMP
	select HAVE_ARM_ARCH_TIMER
	select IRQ_CROSSBAR
	select OMAP_DMA_CROSSBAR if DMA_OMAP
	select ARM_ERRATA_798181 if SMP
	select ZONE_DMA if ARM_LPAE
	select OMAP_INTERCONNECT_BARRIER

config ARCH_OMAP2PLUS
	bool
	select ARCH_HAS_BANDGAP
	select ARCH_HAS_CPUFREQ
	select ARCH_HAS_HOLES_MEMORYMODEL
	select ARCH_OMAP
	select ARCH_REQUIRE_GPIOLIB
	select CLKSRC_MMIO
	select COMMON_CLK
	select GENERIC_CLOCKEVENTS
	select GENERIC_IRQ_CHIP
	select MACH_OMAP_GENERIC
	select OMAP_DM_TIMER
	select PINCTRL
	select PROC_DEVICETREE if PROC_FS
	select SOC_BUS
	select SPARSE_IRQ
	select TI_PRIV_EDMA
	select USE_OF
	help
	  Systems based on OMAP2, OMAP3, OMAP4 or OMAP5

config OMAP5_ERRATA_801819
        bool "Errata 801819: An eviction from L1 data cache might stall indefinitely"
        depends on SOC_OMAP5 || SOC_DRA7XX
        help
          A livelock can occur in the L2 cache arbitration that might prevent
          a snoop from completing. Under certain conditions this can cause the
          system to deadlock.

config OMAP_INTERCONNECT_BARRIER
	bool
	select ARM_HEAVY_MB
	
if ARCH_OMAP2PLUS

menu "TI OMAP2/3/4 Specific Features"

config ARCH_OMAP2PLUS_TYPICAL
	bool "Typical OMAP configuration"
	default y
	select AEABI
	select HIGHMEM
	select I2C
	select I2C_OMAP
	select MENELAUS if ARCH_OMAP2
	select NEON if CPU_V7
	select PM_RUNTIME
	select REGULATOR
	select TWL4030_CORE if ARCH_OMAP3 || ARCH_OMAP4
	select TWL4030_POWER if ARCH_OMAP3 || ARCH_OMAP4
	select VFP
	help
	  Compile a kernel suitable for booting most boards

config SOC_HAS_OMAP2_SDRC
	bool "OMAP2 SDRAM Controller support"

config SOC_HAS_REALTIME_COUNTER
	bool "Real time free running counter"
	depends on SOC_OMAP5 || SOC_DRA7XX
	default y

comment "OMAP Core Type"
	depends on ARCH_OMAP2

config SOC_OMAP2420
	bool "OMAP2420 support"
	depends on ARCH_OMAP2
	default y
	select OMAP_DM_TIMER
	select SOC_HAS_OMAP2_SDRC

config SOC_OMAP2430
	bool "OMAP2430 support"
	depends on ARCH_OMAP2
	default y
	select SOC_HAS_OMAP2_SDRC

config SOC_OMAP3430
	bool "OMAP3430 support"
	depends on ARCH_OMAP3
	default y
	select SOC_HAS_OMAP2_SDRC

config SOC_TI81XX
	bool "TI81XX support"
	depends on ARCH_OMAP3
	default y

config OMAP_PACKAGE_ZAF
       bool

config OMAP_PACKAGE_ZAC
       bool

config OMAP_PACKAGE_CBC
       bool

config OMAP_PACKAGE_CBB
       bool

config OMAP_PACKAGE_CUS
       bool

config OMAP_PACKAGE_CBP
       bool

comment "OMAP Legacy Platform Data Board Type"
	depends on ARCH_OMAP2PLUS

config MACH_OMAP_GENERIC
	bool

config MACH_OMAP2_TUSB6010
	bool
	depends on ARCH_OMAP2 && SOC_OMAP2420
	default y if MACH_NOKIA_N8X0

config MACH_OMAP3_BEAGLE
	bool "OMAP3 BEAGLE board"
	depends on ARCH_OMAP3
	default y
	select OMAP_PACKAGE_CBB

config MACH_DEVKIT8000
	bool "DEVKIT8000 board"
	depends on ARCH_OMAP3
	default y
	select OMAP_PACKAGE_CUS

config MACH_OMAP_LDP
	bool "OMAP3 LDP board"
	depends on ARCH_OMAP3
	default y
	select OMAP_PACKAGE_CBB

config MACH_OMAP3530_LV_SOM
	bool "OMAP3 Logic 3530 LV SOM board"
	depends on ARCH_OMAP3
	default y
	select OMAP_PACKAGE_CBB
	help
	 Support for the LogicPD OMAP3530 SOM Development kit
	 for full description please see the products webpage at
	 http://www.logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap35x-development-kit

config MACH_OMAP3_TORPEDO
	bool "OMAP3 Logic 35x Torpedo board"
	depends on ARCH_OMAP3
	default y
	select OMAP_PACKAGE_CBB
	help
	 Support for the LogicPD OMAP35x Torpedo Development kit
	 for full description please see the products webpage at
	 http://www.logicpd.com/products/development-kits/zoom-omap35x-torpedo-development-kit

config MACH_OVERO
	bool "Gumstix Overo board"
	depends on ARCH_OMAP3
	default y
	select OMAP_PACKAGE_CBB

config MACH_OMAP3517EVM
	bool "OMAP3517/ AM3517 EVM board"
	depends on ARCH_OMAP3
	default y
	select OMAP_PACKAGE_CBB

config MACH_CRANEBOARD
	bool "AM3517/05 CRANE board"
	depends on ARCH_OMAP3
	select OMAP_PACKAGE_CBB

config MACH_OMAP3_PANDORA
	bool "OMAP3 Pandora"
	depends on ARCH_OMAP3
	default y
	select OMAP_PACKAGE_CBB
	select REGULATOR_FIXED_VOLTAGE if REGULATOR

config MACH_TOUCHBOOK
	bool "OMAP3 Touch Book"
	depends on ARCH_OMAP3
	default y
	select OMAP_PACKAGE_CBB

config MACH_OMAP_3430SDP
	bool "OMAP 3430 SDP board"
	depends on ARCH_OMAP3
	default y
	select OMAP_PACKAGE_CBB

config MACH_NOKIA_N810
       bool

config MACH_NOKIA_N810_WIMAX
       bool

config MACH_NOKIA_N8X0
	bool "Nokia N800/N810"
	depends on SOC_OMAP2420
	default y
	select MACH_NOKIA_N810
	select MACH_NOKIA_N810_WIMAX
	select OMAP_PACKAGE_ZAC

config MACH_NOKIA_RX51
	bool "Nokia N900 (RX-51) phone"
	depends on ARCH_OMAP3
	default y
	select OMAP_PACKAGE_CBB

config MACH_CM_T35
	bool "CompuLab CM-T35/CM-T3730 modules"
	depends on ARCH_OMAP3
	default y
	select MACH_CM_T3730
	select OMAP_PACKAGE_CUS

config MACH_CM_T3517
	bool "CompuLab CM-T3517 module"
	depends on ARCH_OMAP3
	default y
	select OMAP_PACKAGE_CBB

config MACH_CM_T3730
       bool

config MACH_SBC3530
	bool "OMAP3 SBC STALKER board"
	depends on ARCH_OMAP3
	default y
	select OMAP_PACKAGE_CUS

config MACH_TI8168EVM
	bool "TI8168 Evaluation Module"
	depends on SOC_TI81XX
	default y

config MACH_TI8148EVM
	bool "TI8148 Evaluation Module"
	depends on SOC_TI81XX
	default y

config MACH_TIJ6EVM
	bool "TI Jacinto6 Evaluation Module"
	depends on SOC_DRA7XX
	default n
	help
	    Say Y if you want to build for the TT Jacinto6 Evaluation Module

config MACH_DENSOJ6REF
	bool "Honda Reference board mach type"
	depends on SOC_DRA7XX
	default y if !MACH_TIJ6EVM
	help
	    Say Y if you want to build for Honda reference board

config DRA7XX_OMIT_HIGH_OPP
	bool "Omit support for MPU 1.5 GHz (HIGH) OPP"
	depends on MACH_DENSOJ6REF
	default n
	help
	  Select this option to omit support for MPU 1.5 GHz (HIGH) OPP.
	  This is a work around for J6 parts used in the DENSOJ6REF platform
	  which are not rated to operate at the MPU at 1.5 GHz.
	  However, the chip's CTRL_WKUP_STD_FUSE_DIE_ID_2 (0x4AE0C20C)
	  eFuse value is set incorrectly at the factory to support the
	  HIGH OPP, so opp7xx_data.c will naively include the HIGH OPP.

config DENSO_ERRATA_I862
	bool "DRA7XX i862 errata: Denso workaround for warm reset"
	depends on SOC_DRA7XX
	help
	  Errata i862 explains that warm resets have the possibility to put the
	  J6 into an invalid state upon reset.  To workaround this the PMIC is
	  programmed to convert all warm resets to hard resets.  This is a problem
	  for functionality that depends on warm reset functionality.  To work
	  around that issue turn this option on which allows at least warm resets
	  specifically initiated from the user or code to inform the next boot
	  of the reason for that reset.  This does NOT assist with determining if
	  a hardware reason (watchdog, thermal limit, etc.) caused the reset.

config OMAP3_EMU
	bool "OMAP3 debugging peripherals"
	depends on ARCH_OMAP3
	select ARM_AMBA
	select OC_ETM
	help
	  Say Y here to enable debugging hardware of omap3

config OMAP3_SDRC_AC_TIMING
	bool "Enable SDRC AC timing register changes"
	depends on ARCH_OMAP3
	default n
	help
	  If you know that none of your system initiators will attempt to
	  access SDRAM during CORE DVFS, select Y here.  This should boost
	  SDRAM performance at lower CORE OPPs.  There are relatively few
	  users who will wish to say yes at this point - almost everyone will
	  wish to say no.  Selecting yes without understanding what is
	  going on could result in system crashes;

endmenu

endif
