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

fetch_tf_resource() {
	# Fetch the pre-built SCP/MCP binaries if they haven't been built
	if [ ! -f "$archive/mcp_rom.bin" ]; then
		url="$scp_mcp_prebuilts/mcp_rom.bin" fetch_file
		archive_file "mcp_rom.bin"
	fi
	if [ ! -f "$archive/scp_ram.bin" ]; then
		url="$scp_mcp_prebuilts/scp_ram.bin" fetch_file
		archive_file "scp_ram.bin"
	fi
	if [ ! -f "$archive/scp_rom.bin" ]; then
		url="$scp_mcp_prebuilts/scp_rom.bin" fetch_file
		archive_file "scp_rom.bin"
	fi

	# Hold terminal_uart_aon
	uart="2" file="hold_uart.exp" track_expect
}

post_fetch_tf_resource() {
	model="css-rddaniel" gen_model_params
	set_run_env "ports_script" "$ci_root/model/css-sgi575-ports.awk"
	set_run_env "num_uarts" "3"
	uart="0" set_expect_variable "num_cpus" "16"
}
