blob: cb486a7af4705e55a85400e294affdb6c129aa26 [file] [log] [blame]
Khasim Syed Mohammed430d5942021-08-09 21:26:15 +05301#!/usr/bin/env bash
2#
Boyan Karatotevde2cd442025-07-28 09:50:29 +01003# Copyright (c) 2021-2025 Arm Limited. All rights reserved.
Khasim Syed Mohammed430d5942021-08-09 21:26:15 +05304#
5# SPDX-License-Identifier: BSD-3-Clause
6#
7
8source "$ci_root/fvp_utils.sh"
9
sahil46218482022-07-26 12:53:17 +053010n1sdp_release="N1SDP-2022.06.22"
11n1sdp_prebuilts=${n1sdp_prebuilts:="$tfa_downloads/css/n1sdp/$n1sdp_release"}
12scp_mcp_prebuilts=${scp_mcp_prebuilts:="$n1sdp_prebuilts"}
Khasim Syed Mohammed430d5942021-08-09 21:26:15 +053013
14get_n1sdp_firmware() {
15 url=$n1sdp_firmware_bin_url saveas="n1sdp-board-firmware.zip" fetch_file
16 archive_file "n1sdp-board-firmware.zip"
17}
18
Harrison Mutaib472ff72023-04-20 09:46:09 +010019fetch_prebuilt_fw_images() {
20 url="$n1sdp_prebuilts/n1sdp-board-firmware.zip" filename="n1sdp-board-firmware.zip" \
21 fetch_and_archive
22
23 #Fetch pre-built SCP/MCP binaries if they haven't been built
Chris Kay4f7846a2025-08-04 19:56:35 +010024 url="$scp_mcp_prebuilts/mcp_romfw.bin" filename="mcp_rom.bin" \
25 fetch_and_archive
26 url="$scp_mcp_prebuilts/scp_romfw.bin" filename="scp_rom.bin" \
27 fetch_and_archive
28 url="$scp_mcp_prebuilts/scp_ramfw.bin" filename="scp_ram.bin" \
29 fetch_and_archive
30 url="$scp_mcp_prebuilts/mcp_ramfw.bin" filename="mcp_ram.bin" \
31 fetch_and_archive
Harrison Mutaib472ff72023-04-20 09:46:09 +010032}
33
34gen_recovery_image() {
Khasim Syed Mohammed430d5942021-08-09 21:26:15 +053035 local zip_dir="$workspace/$mode/n1sdp-board-firmware_primary"
36 local zip_file="${zip_dir}.zip"
37
38 mkdir -p "$zip_dir"
39
40 extract_tarball "$archive/n1sdp-board-firmware.zip" "$zip_dir"
41
Harrison Mutaib472ff72023-04-20 09:46:09 +010042 scp_uuid="cfacc2c4-15e8-4668-82be-430a38fad705"
43 mcp_uuid="54464222-a4cf-4bf8-b1b6-cee7dade539e"
44
Boyan Karatotevde2cd442025-07-28 09:50:29 +010045 fiptool=$(fiptool_path)
Harrison Mutaib472ff72023-04-20 09:46:09 +010046 # Create FIP for SCP
47 "$fiptool" create --blob \
48 uuid=$scp_uuid,file=$tf_build_root/n1sdp/$bin_mode/bl1.bin \
49 --scp-fw "$archive/scp_ram.bin" "scp_fw.bin"
50
51 archive_file "scp_fw.bin"
52
53 # Create FIP for MCP, this needs fixed uuid for now
54 "$fiptool" create --blob \
55 uuid=$mcp_uuid,file="$archive/mcp_ram.bin" "mcp_fw.bin"
56
57 archive_file "mcp_fw.bin"
58
Khasim Syed Mohammed430d5942021-08-09 21:26:15 +053059 cp -Rp --no-preserve=ownership "$archive/mcp_fw.bin" "$zip_dir/SOFTWARE"
60 cp -Rp --no-preserve=ownership "$archive/mcp_rom.bin" "$zip_dir/SOFTWARE"
61 cp -Rp --no-preserve=ownership "$archive/scp_fw.bin" "$zip_dir/SOFTWARE"
62 cp -Rp --no-preserve=ownership "$archive/scp_rom.bin" "$zip_dir/SOFTWARE"
sahil46218482022-07-26 12:53:17 +053063 cp -Rp --no-preserve=ownership "$archive/fip.bin" "$zip_dir/SOFTWARE"
Khasim Syed Mohammed430d5942021-08-09 21:26:15 +053064
Harrison Mutaib472ff72023-04-20 09:46:09 +010065 (cd "$zip_dir" && zip -rq "$zip_file" -x \.* -- *)
Khasim Syed Mohammed430d5942021-08-09 21:26:15 +053066
67 archive_file "$zip_file"
68}
69
70gen_n1sdp_yaml() {
Harrison Mutaib472ff72023-04-20 09:46:09 +010071 yaml_template_file="$workspace/n1sdp_template.yaml"
72 yaml_file="$workspace/n1sdp.yaml"
73 yaml_job_file="$workspace/job.yaml"
Khasim Syed Mohammed430d5942021-08-09 21:26:15 +053074
Harrison Mutaib472ff72023-04-20 09:46:09 +010075 # this function expects a template, quit if it is not present
76 if [ ! -f "$yaml_template_file" ]; then
77 return
78 fi
Khasim Syed Mohammed430d5942021-08-09 21:26:15 +053079
Harrison Mutaib472ff72023-04-20 09:46:09 +010080 yaml_template_file="$yaml_template_file" \
81 yaml_file="$yaml_file" \
82 yaml_job_file="$yaml_job_file" \
83 recovery_img_url="$(gen_bin_url n1sdp-board-firmware_primary.zip)" \
84 gen_lava_job_def
Khasim Syed Mohammed430d5942021-08-09 21:26:15 +053085}