config ARCH_TEGRA
	bool "NVIDIA Tegra" if ARCH_MULTI_V7
	select ARCH_HAS_CPUFREQ
	select ARCH_REQUIRE_GPIOLIB
	select CLKDEV_LOOKUP
	select CLKSRC_MMIO
	select CLKSRC_OF
	select COMMON_CLK
	select GENERIC_CLOCKEVENTS
	select HAVE_ARM_SCU if SMP
	select HAVE_ARM_TWD if LOCAL_TIMERS
	select HAVE_CLK
	select HAVE_SMP
	select MIGHT_HAVE_CACHE_L2X0
	select SOC_BUS
	select SPARSE_IRQ
	select USE_OF
	help
	  This enables support for NVIDIA Tegra based systems.

menu "NVIDIA Tegra options"
	depends on ARCH_TEGRA

config ARCH_TEGRA_2x_SOC
	bool "Enable support for Tegra20 family"
	select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
	select ARM_ERRATA_720789
	select ARM_ERRATA_754327 if SMP
	select ARM_ERRATA_764369 if SMP
	select ARM_GIC
	select CPU_FREQ_TABLE if CPU_FREQ
	select CPU_V7
	select PINCTRL
	select PINCTRL_TEGRA20
	select PL310_ERRATA_727915 if CACHE_L2X0
	select PL310_ERRATA_769419 if CACHE_L2X0
	select USB_ARCH_HAS_EHCI if USB_SUPPORT
	select USB_ULPI if USB
	select USB_ULPI_VIEWPORT if USB_SUPPORT
	help
	  Support for NVIDIA Tegra AP20 and T20 processors, based on the
	  ARM CortexA9MP CPU and the ARM PL310 L2 cache controller

config ARCH_TEGRA_3x_SOC
	bool "Enable support for Tegra30 family"
	select ARM_ERRATA_754322
	select ARM_ERRATA_764369 if SMP
	select ARM_GIC
	select CPU_FREQ_TABLE if CPU_FREQ
	select CPU_V7
	select PINCTRL
	select PINCTRL_TEGRA30
	select PL310_ERRATA_769419 if CACHE_L2X0
	select USB_ARCH_HAS_EHCI if USB_SUPPORT
	select USB_ULPI if USB
	select USB_ULPI_VIEWPORT if USB_SUPPORT
	help
	  Support for NVIDIA Tegra T30 processor family, based on the
	  ARM CortexA9MP CPU and the ARM PL310 L2 cache controller

config ARCH_TEGRA_114_SOC
	bool "Enable support for Tegra114 family"
	select ARM_ARCH_TIMER
	select ARM_GIC
	select ARM_L1_CACHE_SHIFT_6
	select CPU_V7
	select PINCTRL
	select PINCTRL_TEGRA114
	help
	  Support for NVIDIA Tegra T114 processor family, based on the
	  ARM CortexA15MP CPU

config TEGRA_PCI
	bool "PCI Express support"
	depends on ARCH_TEGRA_2x_SOC
	select PCI

config TEGRA_AHB
	bool "Enable AHB driver for NVIDIA Tegra SoCs"
	default y
	help
	  Adds AHB configuration functionality for NVIDIA Tegra SoCs,
	  which controls AHB bus master arbitration and some
	  performance parameters(priority, prefech size).

config TEGRA_EMC_SCALING_ENABLE
	bool "Enable scaling the memory frequency"

endmenu
