###################################################
# This file contains target SWD platforms configs #
###################################################

# Inclusion guard
ifneq ($(TARGETS_INCLUDED),included)
TARGETS_INCLUDED := included

_local_dir := $(realpath $(dir $(lastword $(MAKEFILE_LIST))))

#include $(_local_dir)/../multibuild/sdk.mk
#include $(_local_dir)/../local_settings.mk

################################################################################
ifneq ($(SIGNCLIENT_JAR),)
CONFIG_UNBOUND_LOCAL_SIGNCLIENT := $(SIGNCLIENT_JAR)
else
CONFIG_UNBOUND_LOCAL_SIGNCLIENT := $(TEESDK_TASIGNER_JAR_PATH)
endif
################################################################################

#####################
# List of platforms #
#####################

ifneq ($(CONFIG_QSEE_MSM8953_SDK_PATH),)
LOCAL_NAME := msm8953
LOCAL_PLATFORM := qsee
LOCAL_SDK_PATH := $(CONFIG_QSEE_MSM8953_SDK_PATH)
LOCAL_BUILD_TOOL := llvm
LOCAL_CHIP := msm8953
LOCAL_QSEE_PROC := A53_64
LOCAL_SIGN_MODEL := SM-J8050_CHN_CHC_CHN0
LOCAL_SIGN_RUNTYPE := qc_secimg40_$(CONFIG_TA_UUID_TEXT)
LOCAL_SIGN_TYPE := remotely
LOCAL_SIGNCLIENT_JAR := $(SIGNCLIENT_JAR)
LOCAL_SIGNCLIENT_ARG := $(CONFIG_SIGNCLIENT_ARG)
LOCAL_SHRINK_PROTOCOL_BUFFER := y
include $(ADD_TARGET)
endif

ifneq ($(CONFIG_QSEE_MSM8998_SDK_PATH),)
LOCAL_NAME := msm8998
LOCAL_PLATFORM := qsee
LOCAL_SDK_PATH := $(CONFIG_QSEE_MSM8998_SDK_PATH)
LOCAL_BUILD_TOOL := llvm
LOCAL_CHIP := msm8998
LOCAL_QSEE_PROC := A53_64
LOCAL_SIGN_MODEL := QSEE_MSM8998_TA
LOCAL_SIGN_RUNTYPE := qc_secimg40_$(CONFIG_TA_UUID_TEXT)
LOCAL_SIGN_TYPE := remotely
LOCAL_SIGNCLIENT_JAR := $(SIGNCLIENT_JAR)
LOCAL_SIGNCLIENT_ARG := $(CONFIG_SIGNCLIENT_ARG)
LOCAL_SHRINK_PROTOCOL_BUFFER := y
LOCAL_SYSTEM_APP := y
include $(ADD_TARGET)
endif

ifneq ($(CONFIG_QSEE_SDM450_SDK_PATH),)
LOCAL_NAME := sdm450
LOCAL_PLATFORM := qsee
LOCAL_SDK_PATH := $(CONFIG_QSEE_SDM450_SDK_PATH)
LOCAL_BUILD_TOOL := llvm
LOCAL_CHIP := msm8953
LOCAL_QSEE_PROC := A53_64
LOCAL_SIGN_MODEL := SM-T590_EUR_XX_EUR0
LOCAL_SIGN_MODEL := SM-A6050_CHN_CHC_CHN0
LOCAL_SIGN_RUNTYPE := qc_secimg40_$(CONFIG_TA_UUID_TEXT)
LOCAL_SIGN_TYPE := remotely
LOCAL_SIGNCLIENT_JAR := $(SIGNCLIENT_JAR)
LOCAL_SIGNCLIENT_ARG := $(CONFIG_SIGNCLIENT_ARG)
LOCAL_SHRINK_PROTOCOL_BUFFER := y
LOCAL_SYSTEM_APP := y
include $(ADD_TARGET)
endif

ifneq ($(CONFIG_QSEE_SDM660_SDK_PATH),)
LOCAL_NAME := sdm660
LOCAL_PLATFORM := qsee
LOCAL_SDK_PATH := $(CONFIG_QSEE_SDM660_SDK_PATH)
LOCAL_BUILD_TOOL := llvm
LOCAL_CHIP := sdm660
LOCAL_QSEE_PROC := A53_64
LOCAL_SIGN_MODEL := SM-G8850_CHN_CHC_CHN0
LOCAL_SIGN_RUNTYPE := qc_secimg40_$(CONFIG_TA_UUID_TEXT)
LOCAL_SIGN_TYPE := remotely
LOCAL_SIGNCLIENT_JAR := $(SIGNCLIENT_JAR)
LOCAL_SIGNCLIENT_ARG := $(CONFIG_SIGNCLIENT_ARG)
LOCAL_SHRINK_PROTOCOL_BUFFER := y
LOCAL_SYSTEM_APP := y
include $(ADD_TARGET)
endif

ifneq ($(CONFIG_QSEE_SDM710_SDK_PATH),)
LOCAL_NAME := sdm670
LOCAL_PLATFORM := qsee
LOCAL_SDK_PATH := $(CONFIG_QSEE_SDM710_SDK_PATH)
LOCAL_BUILD_TOOL := llvm
LOCAL_CHIP := sdm670
LOCAL_QSEE_PROC := A53_64
LOCAL_SIGN_MODEL := SM-G8870_CHN_CHC_CHN0
LOCAL_SIGN_RUNTYPE := qc_secimg40_$(CONFIG_TA_UUID_TEXT)
LOCAL_SIGN_TYPE := remotely
LOCAL_SIGNCLIENT_JAR := $(SIGNCLIENT_JAR)
LOCAL_SIGNCLIENT_ARG := $(CONFIG_SIGNCLIENT_ARG)
LOCAL_SHRINK_PROTOCOL_BUFFER := y
LOCAL_SYSTEM_APP := y
include $(ADD_TARGET)
endif

ifneq ($(CONFIG_QSEE_SDM845_SDK_PATH),)
LOCAL_NAME := sdm845
LOCAL_PLATFORM := qsee
LOCAL_SDK_PATH := $(CONFIG_QSEE_SDM845_SDK_PATH)
LOCAL_BUILD_TOOL := llvm
LOCAL_CHIP := sdm845
LOCAL_QSEE_PROC := A53_64
LOCAL_SIGN_MODEL := QSEE_SDM845_TA
LOCAL_SIGN_RUNTYPE := qc_secimg40_$(CONFIG_TA_UUID_TEXT)
LOCAL_SIGN_TYPE := remotely
LOCAL_SIGNCLIENT_JAR := $(SIGNCLIENT_JAR)
LOCAL_SIGNCLIENT_ARG := $(CONFIG_SIGNCLIENT_ARG)
LOCAL_SHRINK_PROTOCOL_BUFFER := y
LOCAL_SYSTEM_APP := y
include $(ADD_TARGET)
endif

ifneq ($(CONFIG_QSEE_SM6150_SDK_PATH),)
LOCAL_NAME := sm6150
LOCAL_PLATFORM := qsee
LOCAL_SDK_PATH := $(CONFIG_QSEE_SM6150_SDK_PATH)
LOCAL_BUILD_TOOL := llvm
LOCAL_CHIP := sm7150
LOCAL_QSEE_PROC := A53_64
LOCAL_SIGN_MODEL := QSEE_SM6150_TA
LOCAL_SIGN_RUNTYPE := qc_secimg50_tzapp
LOCAL_SIGN_TYPE := remotely
LOCAL_SIGNCLIENT_JAR := $(SIGNCLIENT_JAR)
LOCAL_SIGNCLIENT_ARG := $(CONFIG_SIGNCLIENT_ARG)
LOCAL_SHRINK_PROTOCOL_BUFFER := y
LOCAL_SYSTEM_APP := y
include $(ADD_TARGET)
endif

ifneq ($(CONFIG_QSEE_SM7225_SDK_PATH),)
LOCAL_NAME := sm7225
LOCAL_CHIP := sm7225
LOCAL_PLATFORM := qsee

LOCAL_EXPORT_CFLAGS := -Werror
# Disable warnings in llvm standard headers
LOCAL_EXPORT_CFLAGS += -Wno-bitwise-op-parentheses -Wno-shift-op-parentheses
LOCAL_EXPORT_CFLAGS += -Wno-missing-braces
# Disable warnings in SCL
LOCAL_EXPORT_CFLAGS += -Wno-tautological-constant-out-of-range-compare

LOCAL_SDK_PATH := $(CONFIG_QSEE_SM7225_SDK_PATH)
LOCAL_BUILD_TOOL := llvm
LOCAL_QSEE_PROC := A53_64
LOCAL_LLVM_ROOT := $(CONFIG_LLVM_ROOT)

LOCAL_SIGN_MODEL := QSEE_SM7225_TA
LOCAL_SIGN_RUNTYPE := qc_secimg50_tzapp
LOCAL_SIGN_TYPE := remotely
LOCAL_SIGNCLIENT_JAR := $(SIGNCLIENT_JAR)
LOCAL_SIGNCLIENT_ARG := $(CONFIG_SIGNCLIENT_ARG)

LOCAL_SHRINK_PROTOCOL_BUFFER := y
LOCAL_SYSTEM_APP := y
include $(ADD_TARGET)
endif

ifneq ($(CONFIG_QSEE_SM7250_SDK_PATH),)
LOCAL_NAME := sm7250
LOCAL_PLATFORM := qsee
LOCAL_SDK_PATH := $(CONFIG_QSEE_SM7250_SDK_PATH)
LOCAL_BUILD_TOOL := llvm
LOCAL_CHIP := sm7250
LOCAL_QSEE_PROC := A53_64
LOCAL_SIGN_MODEL := QSEE_SM7250_TA
LOCAL_SIGN_RUNTYPE := qc_secimg50_tzapp
LOCAL_SIGN_TYPE := remotely
LOCAL_SIGNCLIENT_JAR := $(SIGNCLIENT_JAR)
LOCAL_SIGNCLIENT_ARG := $(CONFIG_SIGNCLIENT_ARG)
LOCAL_SHRINK_PROTOCOL_BUFFER := y
LOCAL_SYSTEM_APP := y
include $(ADD_TARGET)
endif

ifneq ($(CONFIG_QSEE_SM8150_SDK_PATH),)
LOCAL_NAME := sm8150
LOCAL_PLATFORM := qsee
LOCAL_SDK_PATH := $(CONFIG_QSEE_SM8150_SDK_PATH)
LOCAL_BUILD_TOOL := llvm
LOCAL_CHIP := sm8150
LOCAL_QSEE_PROC := A53_64
LOCAL_SIGN_MODEL := QSEE_SM8150_TA
LOCAL_SIGN_RUNTYPE := qc_secimg50_tzapp
LOCAL_SIGN_TYPE := remotely
LOCAL_SIGNCLIENT_JAR := $(SIGNCLIENT_JAR)
LOCAL_SIGNCLIENT_ARG := $(CONFIG_SIGNCLIENT_ARG)
LOCAL_SHRINK_PROTOCOL_BUFFER := y
LOCAL_SYSTEM_APP := y
include $(ADD_TARGET)
endif

ifneq ($(CONFIG_QSEE_SM8250_SDK_PATH),)
LOCAL_NAME := sm8250
LOCAL_CHIP := sm8250
LOCAL_PLATFORM := qsee

LOCAL_EXPORT_CFLAGS := -Werror
# Disable warnings in llvm standard headers
LOCAL_EXPORT_CFLAGS += -Wno-bitwise-op-parentheses -Wno-shift-op-parentheses
LOCAL_EXPORT_CFLAGS += -Wno-missing-braces
# Disable warnings in SCL
LOCAL_EXPORT_CFLAGS += -Wno-tautological-constant-out-of-range-compare

LOCAL_SDK_PATH := $(CONFIG_QSEE_SM8250_SDK_PATH)
LOCAL_BUILD_TOOL := llvm
LOCAL_QSEE_PROC := A53_64
LOCAL_LLVM_ROOT := $(CONFIG_LLVM_ROOT)

LOCAL_SIGN_MODEL := QSEE_SM8250_TA
LOCAL_SIGN_RUNTYPE := qc_secimg50_tzapp
LOCAL_SIGN_TYPE := remotely
LOCAL_SIGNCLIENT_JAR := $(SIGNCLIENT_JAR)
LOCAL_SIGNCLIENT_ARG := $(CONFIG_SIGNCLIENT_ARG)

LOCAL_SHRINK_PROTOCOL_BUFFER := y
LOCAL_SYSTEM_APP := y
include $(ADD_TARGET)
endif

ifneq ($(CONFIG_QSEE_SM8350_SDK_PATH),)
LOCAL_NAME := sm8350
LOCAL_CHIP := sm8350
LOCAL_PLATFORM := qsee

LOCAL_EXPORT_CFLAGS := -Werror
# Disable warnings in llvm standard headers
LOCAL_EXPORT_CFLAGS += -Wno-bitwise-op-parentheses -Wno-shift-op-parentheses
LOCAL_EXPORT_CFLAGS += -Wno-missing-braces
# Disable warnings in SCL
LOCAL_EXPORT_CFLAGS += -Wno-tautological-constant-out-of-range-compare

LOCAL_SDK_PATH := $(CONFIG_QSEE_SM8350_SDK_PATH)
LOCAL_BUILD_TOOL := llvm
LOCAL_QSEE_PROC := A53_64
LOCAL_LLVM_ROOT := $(CONFIG_LLVM_ROOT)

LOCAL_SIGN_MODEL := QSEE_SM8350_TA
LOCAL_SIGN_RUNTYPE := qc_secimg50_tzapp
LOCAL_SIGN_TYPE := remotely
LOCAL_SIGNCLIENT_JAR := $(SIGNCLIENT_JAR)
LOCAL_SIGNCLIENT_ARG := $(CONFIG_SIGNCLIENT_ARG)

LOCAL_SHRINK_PROTOCOL_BUFFER := y
LOCAL_SYSTEM_APP := y
include $(ADD_TARGET)
endif

ifneq ($(CONFIG_QSEE_SM8450_SDK_PATH),)
LOCAL_NAME := sm8450
LOCAL_CHIP := sm8450
LOCAL_PLATFORM := qsee

LOCAL_EXPORT_CFLAGS := -Werror
# Disable warnings in llvm standard headers
LOCAL_EXPORT_CFLAGS += -Wno-bitwise-op-parentheses -Wno-shift-op-parentheses
LOCAL_EXPORT_CFLAGS += -Wno-missing-braces
# Disable warnings in SCL
LOCAL_EXPORT_CFLAGS += -Wno-tautological-constant-out-of-range-compare

LOCAL_SDK_PATH := $(CONFIG_QSEE_SM8450_SDK_PATH)
LOCAL_BUILD_TOOL := llvm
LOCAL_QSEE_PROC := A53_64
LOCAL_QTEE_TAS_BUILD_ENABLED := true
LOCAL_LLVM_ROOT := $(CONFIG_LLVM_ROOT)

LOCAL_SIGN_MODEL := QSEE_SM8450_TA
LOCAL_SIGN_RUNTYPE := qc_secimg50_tzapp
LOCAL_SIGN_TYPE := remotely
LOCAL_SIGNCLIENT_JAR := $(CONFIG_UNBOUND_LOCAL_SIGNCLIENT)
ifneq ($(CONFIG_SIGNCLIENT_ARG),)
LOCAL_SIGNCLIENT_ARG := $(CONFIG_SIGNCLIENT_ARG)
else
LOCAL_SIGNCLIENT_ARG := -alg ECDSA
endif
LOCAL_SHRINK_PROTOCOL_BUFFER := y
LOCAL_SYSTEM_APP := y
include $(ADD_TARGET)
endif

ifneq ($(CONFIG_TBASE_EXYNOS7885_SDK_PATH),)
LOCAL_NAME := exynos7885
LOCAL_CHIP := exynos7885
LOCAL_PLATFORM := tbase

LOCAL_SDK_PATH := $(CONFIG_TBASE_EXYNOS7885_SDK_PATH)
LOCAL_ARMCC_PATH := $(CONFIG_ARM_DS5_PATH)
LOCAL_ARMCC_LICENSE := $(CONFIG_ARM_DS5_LICENSE)

LOCAL_SIGN_MODEL := EXYNOS7885_MOBICORE
LOCAL_SIGN_RUNTYPE := gd_mobicore400_trustlet
LOCAL_SIGN_TYPE := remotely
LOCAL_SIGNCLIENT_JAR := $(SIGNCLIENT_JAR)
LOCAL_SIGNCLIENT_ARG := $(CONFIG_SIGNCLIENT_ARG)
include $(ADD_TARGET)
endif

ifneq ($(CONFIG_TEEGRIS_EXYNOS7904_SDK_PATH),)
LOCAL_NAME := exynos7904
LOCAL_CHIP := exynos7885
LOCAL_PLATFORM := teegris

LOCAL_EXPORT_CFLAGS += -DCONFIG_TEEGRIS30

LOCAL_SDK_PATH := $(CONFIG_TEEGRIS_EXYNOS7904_SDK_PATH)

LOCAL_SIGN_MODEL := TEEGRIS_EXYNOS7904_SAMSUNG_TA
LOCAL_SIGN_RUNTYPE := ss_teegris_ta
LOCAL_SIGN_TYPE := remotely
LOCAL_SIGN_BOARD := ta_auth_dev_ta
LOCAL_SIGNCLIENT_JAR := $(SIGNCLIENT_JAR)
LOCAL_SIGNCLIENT_ARG := $(CONFIG_SIGNCLIENT_ARG)
include $(ADD_TARGET)
endif

ifneq ($(CONFIG_TEEGRIS_EXYNOS9610_SDK_PATH),)
LOCAL_NAME := exynos9610
LOCAL_CHIP := exynos9610
LOCAL_PLATFORM := teegris

LOCAL_EXPORT_CFLAGS += -DCONFIG_TEEGRIS30

LOCAL_SDK_PATH := $(CONFIG_TEEGRIS_EXYNOS9610_SDK_PATH)

LOCAL_SIGN_MODEL := TEEGRIS_EXYNOS9610_SAMSUNG_TA
LOCAL_SIGN_RUNTYPE := ss_teegris_ta
LOCAL_SIGN_TYPE := remotely
LOCAL_SIGN_BOARD := ta_auth_dev_ta
LOCAL_SIGNCLIENT_JAR := $(SIGNCLIENT_JAR)
LOCAL_SIGNCLIENT_ARG := $(CONFIG_SIGNCLIENT_ARG)
include $(ADD_TARGET)
endif

ifneq ($(CONFIG_TEEGRIS_EXYNOS9630_SDK_PATH),)
LOCAL_NAME := exynos9630
LOCAL_CHIP := exynos9630
LOCAL_PLATFORM := teegris

LOCAL_EXPORT_CFLAGS += -DCONFIG_TEEGRIS40

LOCAL_SDK_PATH := $(CONFIG_TEEGRIS_EXYNOS9630_SDK_PATH)

LOCAL_SIGN_MODEL := TEEGRIS_EXYNOS9630_SAMSUNG_TA
LOCAL_SIGN_RUNTYPE := ss_teegris_ta
LOCAL_SIGN_TYPE := remotely
LOCAL_SIGN_BOARD := ta_auth_dev_ta
LOCAL_SIGNCLIENT_JAR := $(SIGNCLIENT_JAR)
LOCAL_SIGNCLIENT_ARG := $(CONFIG_SIGNCLIENT_ARG)
include $(ADD_TARGET)
endif

ifneq ($(CONFIG_TEEGRIS_EXYNOS9830_SDK_PATH),)
LOCAL_NAME := exynos9830
LOCAL_CHIP := exynos9830
LOCAL_PLATFORM := teegris

LOCAL_EXPORT_CFLAGS += -DCONFIG_TEEGRIS40

LOCAL_SDK_PATH := $(CONFIG_TEEGRIS_EXYNOS9830_SDK_PATH)

LOCAL_SIGN_MODEL := TEEGRIS_EXYNOS9830_SAMSUNG_TA
LOCAL_SIGN_RUNTYPE := ss_teegris_ta
LOCAL_SIGN_TYPE := remotely
LOCAL_SIGN_BOARD := ta_auth_dev_ta
LOCAL_SIGNCLIENT_JAR := $(SIGNCLIENT_JAR)
LOCAL_SIGNCLIENT_ARG := $(CONFIG_SIGNCLIENT_ARG)
include $(ADD_TARGET)
endif

### A33x, A53x, M53x (s5e8825) #################################################
ifneq ($(CONFIG_TEEGRIS_S5E8825_SDK_PATH),)
LOCAL_NAME := s5e8825
LOCAL_CHIP := s5e8825
LOCAL_PLATFORM := teegris

LOCAL_EXPORT_CFLAGS += -DCONFIG_TEEGRIS40

# We used Legacy Driver API now
LOCAL_EXPORT_CFLAGS += -Wno-error=deprecated-declarations

LOCAL_SDK_PATH := $(CONFIG_TEEGRIS_S5E8825_SDK_PATH)

LOCAL_SIGN_MODEL := TEEGRIS_S5E8825_SAMSUNG_TA
LOCAL_SIGN_RUNTYPE := ss_teegris_ta
LOCAL_SIGN_TYPE := remotely
LOCAL_SIGN_BOARD := ta_auth_dev_drv
LOCAL_SIGNCLIENT_JAR := $(CONFIG_UNBOUND_LOCAL_SIGNCLIENT)
ifneq ($(CONFIG_SIGNCLIENT_ARG),)
LOCAL_SIGNCLIENT_ARG := $(CONFIG_SIGNCLIENT_ARG)
else
LOCAL_SIGNCLIENT_ARG := -addinfo SM-A336B_EUR_XX_EKEY0
endif
include $(ADD_TARGET)
endif

ifeq ($(LOCAL_PLATFORM),qsee)
LOCAL_NAME := emulator
LOCAL_PLATFORM := host
LOCAL_SIGN_TYPE := locally
include $(ADD_TARGET)
endif

### Rainbow (s5e9925) ##########################################################
ifneq ($(CONFIG_TEEGRIS_S5E9925_SDK_PATH),)
LOCAL_NAME := s5e9925
LOCAL_CHIP := s5e9925
LOCAL_PLATFORM := teegris

LOCAL_EXPORT_CFLAGS += -DCONFIG_TEEGRIS40

# We used Legacy Driver API now
LOCAL_EXPORT_CFLAGS += -Wno-error=deprecated-declarations

LOCAL_SDK_PATH := $(CONFIG_TEEGRIS_S5E9925_SDK_PATH)

LOCAL_SIGN_MODEL := TEEGRIS_S5E9925_SAMSUNG_TA
LOCAL_SIGN_RUNTYPE := ss_teegris_ta
LOCAL_SIGN_TYPE := remotely
LOCAL_SIGN_BOARD := ta_auth_dev_drv
LOCAL_SIGNCLIENT_JAR := $(CONFIG_UNBOUND_LOCAL_SIGNCLIENT)
ifneq ($(CONFIG_SIGNCLIENT_ARG),)
LOCAL_SIGNCLIENT_ARG := $(CONFIG_SIGNCLIENT_ARG)
else
LOCAL_SIGNCLIENT_ARG := -addinfo SM-S901B_EUR_XX_EKEY0
endif
include $(ADD_TARGET)
endif

endif
