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

post_tf_build() {
	# Download and archive FVP-R files
	url="$tfa_downloads/fvp_r/core-image-minimal-fvp-baser-aemv8r64.wic" saveas="rootfs.bin" fetch_file
	url="$tfa_downloads/fvp_r/fvp-baser-aemv8r64.dtb" saveas="dtb.bin" fetch_file
	url="$tfa_downloads/fvp_r/Image" saveas="kernel.bin" fetch_file
	url="$tfa_downloads/fvp_r/u-boot.bin" saveas="uboot.bin" fetch_file

	archive_file "rootfs.bin"
	archive_file "dtb.bin"
	archive_file "kernel.bin"
	archive_file "uboot.bin"

	# Build FIP image with Uboot as BL33
	build_fip BL33="$archive/uboot.bin"
}

fetch_tf_resource() {
	# Expect script for yocto linux boot
	uart="0" file="fvp-r-yocto.exp" track_expect

	# Generate FVP model YAML template
	payload_type="linux" gen_fvp_yaml_template
}

post_fetch_tf_resource() {
        local model="baser-aemv8r"

        # Generate the model command parameters
	model="$model" \
	fip_addr=0x40000000 \
	dtb_addr=0x03000000 \
	kernel_addr=0x00800000 \
	gen_model_params

	# Generate the FVP yaml file
	model="$model" gen_fvp_yaml
}
