blob: f0c196aeb04a9e683e36f89c34fab95152a5605c [file] [log] [blame]
#!/usr/bin/env bash
#
# Copyright (c) 2021-2023 Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
source "$ci_root/fvp_utils.sh"
n1sdp_release="N1SDP-2022.06.22"
n1sdp_prebuilts=${n1sdp_prebuilts:="$tfa_downloads/css/n1sdp/$n1sdp_release"}
scp_mcp_prebuilts=${scp_mcp_prebuilts:="$n1sdp_prebuilts"}
get_n1sdp_firmware() {
url=$n1sdp_firmware_bin_url saveas="n1sdp-board-firmware.zip" fetch_file
archive_file "n1sdp-board-firmware.zip"
}
fetch_prebuilt_fw_images() {
url="$n1sdp_prebuilts/n1sdp-board-firmware.zip" filename="n1sdp-board-firmware.zip" \
fetch_and_archive
#Fetch pre-built SCP/MCP binaries if they haven't been built
if [ ! -f "$archive/mcp_rom.bin" ]; then
url="$scp_mcp_prebuilts/mcp_romfw.bin" filename="mcp_rom.bin" \
fetch_and_archive
fi
if [ ! -f "$archive/scp_rom.bin" ]; then
url="$scp_mcp_prebuilts/scp_romfw.bin" filename="scp_rom.bin" \
fetch_and_archive
fi
if [ ! -f "$archive/scp_ram.bin" ]; then
url="$scp_mcp_prebuilts/scp_ramfw.bin" filename="scp_ram.bin" \
fetch_and_archive
fi
if [ ! -f "$archive/mcp_ram.bin" ]; then
url="$scp_mcp_prebuilts/mcp_ramfw.bin" filename="mcp_ram.bin" \
fetch_and_archive
fi
}
gen_recovery_image() {
local zip_dir="$workspace/$mode/n1sdp-board-firmware_primary"
local zip_file="${zip_dir}.zip"
mkdir -p "$zip_dir"
extract_tarball "$archive/n1sdp-board-firmware.zip" "$zip_dir"
scp_uuid="cfacc2c4-15e8-4668-82be-430a38fad705"
mcp_uuid="54464222-a4cf-4bf8-b1b6-cee7dade539e"
# Create FIP for SCP
"$fiptool" create --blob \
uuid=$scp_uuid,file=$tf_build_root/n1sdp/$bin_mode/bl1.bin \
--scp-fw "$archive/scp_ram.bin" "scp_fw.bin"
archive_file "scp_fw.bin"
# Create FIP for MCP, this needs fixed uuid for now
"$fiptool" create --blob \
uuid=$mcp_uuid,file="$archive/mcp_ram.bin" "mcp_fw.bin"
archive_file "mcp_fw.bin"
cp -Rp --no-preserve=ownership "$archive/mcp_fw.bin" "$zip_dir/SOFTWARE"
cp -Rp --no-preserve=ownership "$archive/mcp_rom.bin" "$zip_dir/SOFTWARE"
cp -Rp --no-preserve=ownership "$archive/scp_fw.bin" "$zip_dir/SOFTWARE"
cp -Rp --no-preserve=ownership "$archive/scp_rom.bin" "$zip_dir/SOFTWARE"
cp -Rp --no-preserve=ownership "$archive/fip.bin" "$zip_dir/SOFTWARE"
(cd "$zip_dir" && zip -rq "$zip_file" -x \.* -- *)
archive_file "$zip_file"
}
gen_n1sdp_yaml() {
yaml_template_file="$workspace/n1sdp_template.yaml"
yaml_file="$workspace/n1sdp.yaml"
yaml_job_file="$workspace/job.yaml"
# this function expects a template, quit if it is not present
if [ ! -f "$yaml_template_file" ]; then
return
fi
yaml_template_file="$yaml_template_file" \
yaml_file="$yaml_file" \
yaml_job_file="$yaml_job_file" \
recovery_img_url="$(gen_bin_url n1sdp-board-firmware_primary.zip)" \
gen_lava_job_def
}