blob: 46df58c5ffa4809f5329ffc3f78ae926c1c6635c [file] [log] [blame]
Madhukar Pappireddy2f284e12021-08-30 16:06:14 -05001#!/usr/bin/env bash
2#
Manish V Badarkhedb929832024-01-29 19:56:01 +00003# Copyright (c) 2019-2024, Arm Limited. All rights reserved.
Madhukar Pappireddy2f284e12021-08-30 16:06:14 -05004#
5# SPDX-License-Identifier: BSD-3-Clause
6#
Daniel Boulby5f295982023-05-17 12:03:05 +01007source "$ci_root/run_config/tc_rss_utils.sh"
laurenw-armb5684102023-03-14 11:25:45 -05008
Madhukar Pappireddy2f284e12021-08-30 16:06:14 -05009fetch_tf_resource() {
Harrison Mutai6f4fd6c2023-03-27 13:22:41 +010010 image="kernel" type="tc-kernel" get_boot_image
11 image="initrd" type="tc-ramdisk" get_boot_image
Madhukar Pappireddy2f284e12021-08-30 16:06:14 -050012
Manish V Badarkhedb929832024-01-29 19:56:01 +000013 url="$tc_prebuilts/tc_fitimage.bin" saveas="tc_fitimage.bin" fetch_file
14 archive_file "tc_fitimage.bin"
15
Madhukar Pappireddy2f284e12021-08-30 16:06:14 -050016 # Use SCP binary from SCP build if it exists, or fetch pre-built ones.
Nicola Mazzucatod15f7132021-10-27 14:56:34 +010017 if [ ! -f "$archive/scp_rom.bin" ]; then
Madhukar Pappireddy2f284e12021-08-30 16:06:14 -050018 # Pick the appropriate binary based on target platform variant
Manish V Badarkhefac74d32024-01-29 18:44:03 +000019 url="$scp_mcp_downloads/tc$plat_variant/platform_variant_0/release/tc$plat_variant-bl1.bin" saveas="scp_rom.bin" fetch_file
Nicola Mazzucatod15f7132021-10-27 14:56:34 +010020 archive_file "scp_rom.bin"
Madhukar Pappireddy2f284e12021-08-30 16:06:14 -050021 fi
22
Rupinderjit Singh8d4e1e42022-08-18 14:51:41 +010023 # RSS is applicable to TC2
24 if [ $plat_variant -eq 2 ]; then
25
Sandrine Bailleux67bf6502022-09-07 15:41:18 +020026 # Hold RSS terminal_uart_ap
Manish V Badarkhedb929832024-01-29 19:56:01 +000027 uart="1" port="5003" file="hold_uart.exp" track_expect
28
29 get_rss_prov_bins
Sandrine Bailleux67bf6502022-09-07 15:41:18 +020030
Rupinderjit Singh8d4e1e42022-08-18 14:51:41 +010031 # sign AP bl1
32 sign_image bl1.bin $ap_bl1_flash_load_addr $ap_bl1_flash_size
33
laurenw-arm60de2742023-03-08 10:50:15 -060034 # Update FIP with pre-built RSS binaries and signed AP BL1 to create host flash fip image
35 update_fip
Manish V Badarkhedb929832024-01-29 19:56:01 +000036
37 # Create GPT image
38 gen_gpt_bin $archive/host_flash_fip.bin 12582912 16
Rupinderjit Singh8d4e1e42022-08-18 14:51:41 +010039 fi
Madhukar Pappireddy2f284e12021-08-30 16:06:14 -050040}
Chris Kay4e8aaf12022-09-01 15:21:55 +010041
David Vinczef876bb62024-02-21 16:34:52 +010042pre_tf_build() {
43 local qcbor_release_archive="qcbor-v1_2.tar.gz"
44 local qcbor_folder="qcbor"
45
46 if [ "$(get_tf_opt DICE_PROTECTION_ENVIRONMENT)" = 1 ]; then
47 pushd "$workspace"
48
49 if [ ! -d "qcbor" ]; then
50 saveas="${qcbor_release_archive}" \
51 url="https://github.com/laurencelundblade/QCBOR/archive/refs/tags/v1.2.tar.gz" \
52 fetch_file
53 mkdir $qcbor_folder
54 tar -xzf "${qcbor_release_archive}" --directory=$qcbor_folder --strip-component=1
55 fi
56
57 echo "Set QCBOR_DIR to $workspace/qcbor"
58 set_hook_var "QCBOR_DIR" "$workspace/qcbor"
59
60 popd "$workspace"
61 fi
62}
63
Chris Kay4e8aaf12022-09-01 15:21:55 +010064generate_lava_job_template() {
65 # Hold scp terminal_s0
Chris Kay24d039f2022-11-23 12:53:30 +000066 uart="0" port="5002" file="hold_uart.exp" track_expect
Manish V Badarkhedb929832024-01-29 19:56:01 +000067 uart="2" port="5000" file="tc-fitimage-busybox.exp" set_primary="1" \
Mohamed Omar Asakerb19a52f2024-03-07 11:49:18 +000068 timeout="1200" track_expect
Chris Kay24d039f2022-11-23 12:53:30 +000069
Manish V Badarkhedb929832024-01-29 19:56:01 +000070 set_uart_port "${archive:?}" 1 5003
Chris Kay24d039f2022-11-23 12:53:30 +000071 set_uart_port "${archive:?}" 3 5001
Chris Kay4e8aaf12022-09-01 15:21:55 +010072
Harrison Mutaia6d6e682023-03-27 13:20:33 +010073 payload_type="linux" gen_yaml_template
Chris Kay4e8aaf12022-09-01 15:21:55 +010074}