blob: 05333be95c5c7f96d983cc8b6b9243123ddd40a9 [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#
David Vinczed8ed5622024-02-23 17:00:12 +01007source "$ci_root/run_config/tc_rse_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
David Vinczeb38fefa2024-10-28 11:56:28 +000019 if [ $plat_variant -eq 3 ] || [ $plat_variant -eq 4 ]; then
Leo Yan5b73ad92024-06-20 15:15:36 +010020 url="$tfa_downloads/total_compute/tc$plat_variant/scp/tc$plat_variant-bl1.bin" saveas="scp_rom.bin" fetch_file
21 fi
22
Nicola Mazzucatod15f7132021-10-27 14:56:34 +010023 archive_file "scp_rom.bin"
Madhukar Pappireddy2f284e12021-08-30 16:06:14 -050024 fi
25
David Vinczeb38fefa2024-10-28 11:56:28 +000026 # RSE is applicable to TC3 and TC4
27 if [ $plat_variant -eq 3 ] || [ $plat_variant -eq 4 ]; then
Rupinderjit Singh8d4e1e42022-08-18 14:51:41 +010028
David Vinczed8ed5622024-02-23 17:00:12 +010029 # Hold RSE terminal_uart_ap
Manish V Badarkhedb929832024-01-29 19:56:01 +000030 uart="1" port="5003" file="hold_uart.exp" track_expect
31
David Vinczed8ed5622024-02-23 17:00:12 +010032 get_rse_prov_bins
Sandrine Bailleux67bf6502022-09-07 15:41:18 +020033
David Vinczeb38fefa2024-10-28 11:56:28 +000034 # sign AP bl1
Rupinderjit Singh8d4e1e42022-08-18 14:51:41 +010035 sign_image bl1.bin $ap_bl1_flash_load_addr $ap_bl1_flash_size
36
David Vinczed8ed5622024-02-23 17:00:12 +010037 # Update FIP with pre-built RSE binaries and signed AP BL1 to create host flash fip image
laurenw-arm60de2742023-03-08 10:50:15 -060038 update_fip
Manish V Badarkhedb929832024-01-29 19:56:01 +000039
40 # Create GPT image
41 gen_gpt_bin $archive/host_flash_fip.bin 12582912 16
Rupinderjit Singh8d4e1e42022-08-18 14:51:41 +010042 fi
Madhukar Pappireddy2f284e12021-08-30 16:06:14 -050043}
Chris Kay4e8aaf12022-09-01 15:21:55 +010044
David Vinczef876bb62024-02-21 16:34:52 +010045pre_tf_build() {
46 local qcbor_release_archive="qcbor-v1_2.tar.gz"
47 local qcbor_folder="qcbor"
48
Tamas Ban036c08d2024-10-10 18:03:37 +020049 pushd "$workspace"
David Vinczef876bb62024-02-21 16:34:52 +010050
Tamas Ban036c08d2024-10-10 18:03:37 +020051 if [ ! -d "qcbor" ]; then
52 saveas="${qcbor_release_archive}" \
53 url="https://github.com/laurencelundblade/QCBOR/archive/refs/tags/v1.2.tar.gz" \
54 fetch_file
55 mkdir $qcbor_folder
56 tar -xzf "${qcbor_release_archive}" --directory=$qcbor_folder --strip-component=1
David Vinczef876bb62024-02-21 16:34:52 +010057 fi
Tamas Ban036c08d2024-10-10 18:03:37 +020058
59 echo "Set QCBOR_DIR to $workspace/qcbor"
60 set_hook_var "QCBOR_DIR" "$workspace/qcbor"
61
62 popd "$workspace"
David Vinczef876bb62024-02-21 16:34:52 +010063}
64
Chris Kay4e8aaf12022-09-01 15:21:55 +010065generate_lava_job_template() {
66 # Hold scp terminal_s0
Chris Kay24d039f2022-11-23 12:53:30 +000067 uart="0" port="5002" file="hold_uart.exp" track_expect
Manish V Badarkhedb929832024-01-29 19:56:01 +000068 uart="2" port="5000" file="tc-fitimage-busybox.exp" set_primary="1" \
Mohamed Omar Asakerb19a52f2024-03-07 11:49:18 +000069 timeout="1200" track_expect
Chris Kay24d039f2022-11-23 12:53:30 +000070
Manish V Badarkhedb929832024-01-29 19:56:01 +000071 set_uart_port "${archive:?}" 1 5003
Chris Kay24d039f2022-11-23 12:53:30 +000072 set_uart_port "${archive:?}" 3 5001
Chris Kay4e8aaf12022-09-01 15:21:55 +010073
Harrison Mutaia6d6e682023-03-27 13:20:33 +010074 payload_type="linux" gen_yaml_template
Chris Kay4e8aaf12022-09-01 15:21:55 +010075}