if ARCH_TEGRA

comment "NVIDIA Tegra options"

choice
	prompt "Select Tegra processor family for target system"

config ARCH_TEGRA_2x_SOC
	bool "Tegra 2 family"
	select CPU_V7
	select ARM_GIC
	select ARCH_REQUIRE_GPIOLIB
	select USB_ARCH_HAS_EHCI if USB_SUPPORT
	select USB_ULPI if USB_SUPPORT
	select USB_ULPI_VIEWPORT if USB_SUPPORT
	select ARM_ERRATA_720789
	select ARM_ERRATA_742230
	select ARM_ERRATA_751472
	select ARM_ERRATA_754327
	select ARM_ERRATA_764369
	select PL310_ERRATA_727915 if CACHE_L2X0
	select PL310_ERRATA_769419 if CACHE_L2X0
	help
	  Support for NVIDIA Tegra AP20 and T20 processors, based on the
	  ARM CortexA9MP CPU and the ARM PL310 L2 cache controller

endchoice

config TEGRA_PCI
	bool "PCI Express support"
	select PCI

comment "Tegra board type"

config MACH_HARMONY
       bool "Harmony board"
       select MACH_HAS_SND_SOC_TEGRA_WM8903 if SND_SOC
       help
         Support for nVidia Harmony development platform

config MACH_KAEN
       bool "Kaen board"
       select MACH_SEABOARD
       select MACH_HAS_SND_SOC_TEGRA_WM8903 if SND_SOC
       help
         Support for the Kaen version of Seaboard

config MACH_PAZ00
       bool "Paz00 board"
       help
         Support for the Toshiba AC100/Dynabook AZ netbook

config MACH_SEABOARD
       bool "Seaboard board"
       select MACH_HAS_SND_SOC_TEGRA_WM8903 if SND_SOC
       help
         Support for nVidia Seaboard development platform. It will
	 also be included for some of the derivative boards that
	 have large similarities with the seaboard design.

config MACH_TEGRA_DT
	bool "Generic Tegra board (FDT support)"
	select USE_OF
	help
	  Support for generic nVidia Tegra boards using Flattened Device Tree

config MACH_TRIMSLICE
       bool "TrimSlice board"
       select TEGRA_PCI
       help
         Support for CompuLab TrimSlice platform

config MACH_WARIO
       bool "Wario board"
       select MACH_SEABOARD
       help
         Support for the Wario version of Seaboard

config MACH_VENTANA
       bool "Ventana board"
       select MACH_TEGRA_DT
       help
         Support for the nVidia Ventana development platform

choice
        prompt "Low-level debug console UART"
        default TEGRA_DEBUG_UART_NONE

config TEGRA_DEBUG_UART_NONE
        bool "None"

config TEGRA_DEBUG_UARTA
        bool "UART-A"

config TEGRA_DEBUG_UARTB
        bool "UART-B"

config TEGRA_DEBUG_UARTC
        bool "UART-C"

config TEGRA_DEBUG_UARTD
        bool "UART-D"

config TEGRA_DEBUG_UARTE
        bool "UART-E"

endchoice

config TEGRA_SYSTEM_DMA
	bool "Enable system DMA driver for NVIDIA Tegra SoCs"
	default y
	help
	  Adds system DMA functionality for NVIDIA Tegra SoCs, used by
	  several Tegra device drivers

config TEGRA_EMC_SCALING_ENABLE
	bool "Enable scaling the memory frequency"

endif
