blob: f703379f2e1d06762f57e6527c22f9741a145599 [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
Leo Yan5b73ad92024-06-20 15:15:36 +010019 if [ $plat_variant -eq 2 ]; then
20 url="$scp_mcp_downloads/totalcompute/tc$plat_variant/platform_variant_0/release/tc$plat_variant-bl1.bin" saveas="scp_rom.bin" fetch_file
Leo Yan45d51632024-08-27 16:02:28 +010021 elif [ $plat_variant -eq 3 ] || [ $plat_variant -eq 4 ]; then
Leo Yan5b73ad92024-06-20 15:15:36 +010022 url="$tfa_downloads/total_compute/tc$plat_variant/scp/tc$plat_variant-bl1.bin" saveas="scp_rom.bin" fetch_file
23 fi
24
Nicola Mazzucatod15f7132021-10-27 14:56:34 +010025 archive_file "scp_rom.bin"
Madhukar Pappireddy2f284e12021-08-30 16:06:14 -050026 fi
27
Leo Yan45d51632024-08-27 16:02:28 +010028 # RSE is applicable to TC2, TC3 and TC4
29 if [ $plat_variant -eq 2 ] || [ $plat_variant -eq 3 ] || [ $plat_variant -eq 4 ]; then
Rupinderjit Singh8d4e1e42022-08-18 14:51:41 +010030
David Vinczed8ed5622024-02-23 17:00:12 +010031 # Hold RSE terminal_uart_ap
Manish V Badarkhedb929832024-01-29 19:56:01 +000032 uart="1" port="5003" file="hold_uart.exp" track_expect
33
David Vinczed8ed5622024-02-23 17:00:12 +010034 get_rse_prov_bins
Sandrine Bailleux67bf6502022-09-07 15:41:18 +020035
Rupinderjit Singh8d4e1e42022-08-18 14:51:41 +010036 # sign AP bl1
37 sign_image bl1.bin $ap_bl1_flash_load_addr $ap_bl1_flash_size
38
David Vinczed8ed5622024-02-23 17:00:12 +010039 # Update FIP with pre-built RSE binaries and signed AP BL1 to create host flash fip image
laurenw-arm60de2742023-03-08 10:50:15 -060040 update_fip
Manish V Badarkhedb929832024-01-29 19:56:01 +000041
42 # Create GPT image
43 gen_gpt_bin $archive/host_flash_fip.bin 12582912 16
Rupinderjit Singh8d4e1e42022-08-18 14:51:41 +010044 fi
Madhukar Pappireddy2f284e12021-08-30 16:06:14 -050045}
Chris Kay4e8aaf12022-09-01 15:21:55 +010046
David Vinczef876bb62024-02-21 16:34:52 +010047pre_tf_build() {
48 local qcbor_release_archive="qcbor-v1_2.tar.gz"
49 local qcbor_folder="qcbor"
50
Tamas Ban036c08d2024-10-10 18:03:37 +020051 pushd "$workspace"
David Vinczef876bb62024-02-21 16:34:52 +010052
Tamas Ban036c08d2024-10-10 18:03:37 +020053 if [ ! -d "qcbor" ]; then
54 saveas="${qcbor_release_archive}" \
55 url="https://github.com/laurencelundblade/QCBOR/archive/refs/tags/v1.2.tar.gz" \
56 fetch_file
57 mkdir $qcbor_folder
58 tar -xzf "${qcbor_release_archive}" --directory=$qcbor_folder --strip-component=1
David Vinczef876bb62024-02-21 16:34:52 +010059 fi
Tamas Ban036c08d2024-10-10 18:03:37 +020060
61 echo "Set QCBOR_DIR to $workspace/qcbor"
62 set_hook_var "QCBOR_DIR" "$workspace/qcbor"
63
64 popd "$workspace"
David Vinczef876bb62024-02-21 16:34:52 +010065}
66
Chris Kay4e8aaf12022-09-01 15:21:55 +010067generate_lava_job_template() {
68 # Hold scp terminal_s0
Chris Kay24d039f2022-11-23 12:53:30 +000069 uart="0" port="5002" file="hold_uart.exp" track_expect
Manish V Badarkhedb929832024-01-29 19:56:01 +000070 uart="2" port="5000" file="tc-fitimage-busybox.exp" set_primary="1" \
Mohamed Omar Asakerb19a52f2024-03-07 11:49:18 +000071 timeout="1200" track_expect
Chris Kay24d039f2022-11-23 12:53:30 +000072
Manish V Badarkhedb929832024-01-29 19:56:01 +000073 set_uart_port "${archive:?}" 1 5003
Chris Kay24d039f2022-11-23 12:53:30 +000074 set_uart_port "${archive:?}" 3 5001
Chris Kay4e8aaf12022-09-01 15:21:55 +010075
Harrison Mutaia6d6e682023-03-27 13:20:33 +010076 payload_type="linux" gen_yaml_template
Chris Kay4e8aaf12022-09-01 15:21:55 +010077}