if TEGRA

config TEGRA_ARMV7_COMMON
	bool "Tegra 32-bit"
	select SUPPORT_SPL
	select SPL
	select OF_CONTROL
	select CPU_V7
	select DM
	select DM_SPI_FLASH
	select DM_SERIAL
	select DM_I2C
	select DM_SPI
	select DM_GPIO

choice
	prompt "Tegra SoC select"
	optional

config TEGRA20
	bool "Tegra20 family"
	select TEGRA_ARMV7_COMMON

config TEGRA30
	bool "Tegra30 family"
	select TEGRA_ARMV7_COMMON

config TEGRA114
	bool "Tegra114 family"
	select TEGRA_ARMV7_COMMON

config TEGRA124
	bool "Tegra124 family"
	select TEGRA_ARMV7_COMMON

config TEGRA210
	bool "Tegra210 family"
	select OF_CONTROL
	select ARM64
	select DM
	select DM_SPI_FLASH
	select DM_SERIAL
	select DM_I2C
	select DM_SPI
	select DM_GPIO

endchoice

config TEGRA_DISCONNECT_UDC_ON_BOOT
	bool "Disconnect USB device mode controller on boot"
	default y
	help
	  When loading U-Boot into RAM over USB protocols using tools such as
	  tegrarcm or L4T's exec-uboot.sh/tegraflash.py, Tegra's USB device
	  mode controller is initialized and enumerated by the host PC running
	  the tool. Unfortunately, these tools do not shut down the USB
	  controller before executing the downloaded code, and so the host PC
	  does not "de-enumerate" the USB device. This option shuts down the
	  USB controller when U-Boot boots to avoid leaving a stale USB device
	  present.

config SYS_MALLOC_F_LEN
	default 0x1800

config USE_PRIVATE_LIBGCC
	default y

config SPL_DM
	default y

config NVTBOOT
	bool "Support being chain-loaded from nvtboot"
	help
	  nvtboot is a bootloader for NVIDIA Tegra platforms. Its purpose is
	  to perform OS-independent system configuration. Among other things,
	  nvtboot may boot a secure OS and set up various memory carve-outs.
	  Once nvtboot has completed execution, it typically chain-loads a
	  use-case-specific bootloader. When doing so, it passes on various
	  configuration information (such as RAM carve-out locations and
	  sizes) via an in-RAM data structure, pointed at by a CPU register.

	  Enabling this option allows U-Boot to support being chain-loaded by
	  nvtboot. This involves e.g. parsing the data structure passed on by
	  nvtboot.

source "arch/arm/mach-tegra/tegra20/Kconfig"
source "arch/arm/mach-tegra/tegra30/Kconfig"
source "arch/arm/mach-tegra/tegra114/Kconfig"
source "arch/arm/mach-tegra/tegra124/Kconfig"
source "arch/arm/mach-tegra/tegra210/Kconfig"

endif
