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

set -u

gen_sp_min_bl2_sd_layout() {
    local layout_file="FlashLayout_sdcard-stm32mp15x-eval.tsv"
    local payload_type=${payload_type:?}

    case "$payload_type" in
        sp_min_bl2)
            cat <<EOF > $layout_file
#Opt	Id	Name	Type	IP	Offset	Binary
-	0x01	fsbl-boot	Binary	none	0x0	tf-a-stm32mp157c-ev1-usb.stm32
-	0x03	fip-boot	FIP	none	0x0	fip-stm32mp157c-ev1-trusted.bin
P	0x04	fsbl1	Binary	mmc0	0x00004400	tf-a-stm32mp157c-ev1.stm32
P	0x05	fsbl2	Binary	mmc0	0x00044400	tf-a-stm32mp157c-ev1.stm32
P	0x06	metadata1	Binary	mmc0	0x00084400	metadata.bin
P	0x07	metadata2	Binary	mmc0	0x000C4400	metadata.bin
P	0x08	fip-a	FIP	mmc0	0x00104400	fip-stm32mp157c-ev1-trusted.bin
PED	0x09	fip-b	FIP	mmc0	0x00504400	none
PED	0x0A	u-boot-env	Binary	mmc0	0x00904400	none
EOF
        ;;
    esac

    archive_file "$layout_file"
}

gen_stm32mp1_yaml() {
	local yaml_file="$workspace/stm32mp1.yaml"
	local job_file="$workspace/job.yaml"
	local payload_type="${payload_type:?}"

	bin_mode="$mode" payload_type="$payload_type" \
		"$ci_root/script/gen_stm32mp1_test_yaml.sh" > "$yaml_file"

	cp "$yaml_file" "$job_file"
	archive_file "$yaml_file"
	archive_file "$job_file"
}

set +u
