#!/usr/bin/env bash
#
# Copyright (c) 2021-2022, Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#

post_tf_build() {
	if [ ! -f "$archive/scp_ram.bin" ]; then
		url="$scp_prebuilts/tc$plat_variant/release/tc$plat_variant-bl2.bin" saveas="scp_ram.bin" fetch_file
		archive_file "scp_ram.bin"
	fi

	build_fip BL33="$archive/tftf.bin" BL32="$archive/secure_hafnium.bin" SCP_BL2="$archive/scp_ram.bin"
}

fetch_tf_resource() {
	# Use SCP binary from SCP build if it exists, or fetch pre-built ones.
	if [ ! -f "$archive/scp_rom.bin" ]; then
		# Pick the appropriate binary based on target platform variant
		url="$scp_prebuilts/tc$plat_variant/release/tc$plat_variant-bl1.bin" saveas="scp_rom.bin" fetch_file
		archive_file "scp_rom.bin"
	fi
}

generate_lava_job_template() {
	payload_type="tftf" gen_fvp_yaml_template
}

generate_lava_job() {
	local model="tc0"

	uart="0" port="5002" set_primary="1" file="tftf-non-primary.exp" track_expect

	uart="1" set_expect_variable "num_cpus" "8"
	uart="1" port="5003" file="spm-cactus-sp-uart1.exp" track_expect

	set_run_env "ports_script" "$ci_root/model/tc-ports.awk"
	set_run_env "num_uarts" "2"

	set_uart_port "${archive:?}" 2 5000
	set_uart_port "${archive:?}" 3 5001

	model="$model" memory_tagging_support_level="2" gen_model_params
	model="$model" gen_fvp_yaml
}
