# SPDX-License-Identifier: GPL-2.0+
#
# Copyright (C) 2021 Texas Instruments Incorporated - https://www.ti.com/
#	David Huang <d-huang@ti.com>

choice
	prompt "K3 J721S2 board"
	optional

config TARGET_J721S2_A72_EVM
	bool "TI K3 based J721S2 EVM running on A72"
	select ARM64
	select SOC_K3_J721S2
	select BOARD_LATE_INIT
	imply TI_I2C_BOARD_DETECT
	select SYS_DISABLE_DCACHE_OPS

config TARGET_J721S2_R5_EVM
	bool "TI K3 based J721S2 EVM running on R5"
	select CPU_V7R
	select SYS_THUMB_BUILD
	select SOC_K3_J721S2
	select K3_LOAD_SYSFW
	select RAM
	select SPL_RAM
	select K3_DDRSS
	imply SYS_K3_SPL_ATF
	imply TI_I2C_BOARD_DETECT

endchoice

if TARGET_J721S2_A72_EVM

config SYS_BOARD
       default "j721s2"

config SYS_VENDOR
       default "ti"

config SYS_CONFIG_NAME
       default "j721s2_evm"

source "board/ti/common/Kconfig"

endif

if TARGET_J721S2_R5_EVM

config SYS_BOARD
       default "j721s2"

config SYS_VENDOR
       default "ti"

config SYS_CONFIG_NAME
       default "j721s2_evm"

config SPL_LDSCRIPT
	default "arch/arm/mach-omap2/u-boot-spl.lds"

source "board/ti/common/Kconfig"

endif
