Leonardo Sandoval | c4dfbb0 | 2020-08-17 10:21:44 -0500 | [diff] [blame] | 1 | #!/usr/bin/env bash |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 2 | # |
Govindraj Raja | cd87dcc | 2025-02-04 16:24:21 -0600 | [diff] [blame] | 3 | # Copyright (c) 2019-2025, Arm Limited and Contributors. All rights reserved. |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 4 | # |
| 5 | # SPDX-License-Identifier: BSD-3-Clause |
| 6 | # |
| 7 | |
| 8 | # |
| 9 | # This script builds the TF in different configs. |
| 10 | # Rather than telling cov-build to build TF using a simple 'make all' command, |
| 11 | # the goal here is to combine several build flags to analyse more of our source |
| 12 | # code in a single 'build'. The Coverity Scan service does not have the notion |
| 13 | # of separate types of build - there is just one linear sequence of builds in |
| 14 | # the project history. |
| 15 | # |
| 16 | |
Harrison Mutai | ee958c1 | 2023-09-06 12:16:21 +0100 | [diff] [blame] | 17 | set -E |
| 18 | trap 'rc=$?; error_count=$((error_count+1));' ERR INT |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 19 | |
| 20 | TF_SOURCES=$1 |
| 21 | if [ ! -d "$TF_SOURCES" ]; then |
| 22 | echo "ERROR: '$TF_SOURCES' does not exist or is not a directory" |
| 23 | echo "Usage: $(basename "$0") <trusted-firmware-directory>" |
| 24 | exit 1 |
| 25 | fi |
| 26 | |
Leonardo Sandoval | c4dfbb0 | 2020-08-17 10:21:44 -0500 | [diff] [blame] | 27 | containing_dir="$(readlink -f "$(dirname "$0")/")" |
| 28 | . $containing_dir/common-def.sh |
| 29 | |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 30 | # Get mbed TLS library code to build Trusted Firmware with Trusted Board Boot |
| 31 | # support. The version of mbed TLS to use here must be the same as when |
| 32 | # building TF in the usual context. |
Leonardo Sandoval | c4dfbb0 | 2020-08-17 10:21:44 -0500 | [diff] [blame] | 33 | if [ ! -d "$MBED_TLS_DIR" ]; then |
| 34 | git clone -q --depth 1 -b "$MBED_TLS_SOURCES_TAG" "$MBED_TLS_URL_REPO" "$MBED_TLS_DIR" |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 35 | fi |
Leonardo Sandoval | c4dfbb0 | 2020-08-17 10:21:44 -0500 | [diff] [blame] | 36 | |
Manish V Badarkhe | 58a88f0 | 2023-11-06 21:42:11 +0000 | [diff] [blame] | 37 | # Get TF-M tests and extras repo for TC build with tf-m test suite. |
| 38 | if [ ! -d "$TF_M_TESTS_DIR" ]; then |
| 39 | git clone "$TF_M_TESTS_URL_REPO" "$TF_M_TESTS_DIR" |
| 40 | cd "$TF_M_TESTS_DIR" |
| 41 | git checkout master |
| 42 | fi |
| 43 | |
| 44 | cd "$TF_SOURCES" |
| 45 | |
| 46 | if [ ! -d "$TF_M_EXTRAS_DIR" ]; then |
| 47 | git clone "$TF_M_EXTRAS_URL_REPO" "$TF_M_EXTRAS_DIR" |
| 48 | cd "$TF_M_EXTRAS_DIR" |
| 49 | git checkout master |
| 50 | fi |
| 51 | |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 52 | cd "$TF_SOURCES" |
| 53 | |
| 54 | # Clean TF source dir to make sure we don't analyse temporary files. |
| 55 | make distclean |
| 56 | |
| 57 | # |
| 58 | # Build TF in different configurations to get as much coverage as possible |
| 59 | # |
| 60 | |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 61 | # |
| 62 | # FVP platform |
| 63 | # We'll use the following flags for all FVP builds. |
| 64 | # |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 65 | fvp_common_flags="$(common_flags) PLAT=fvp" |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 66 | |
| 67 | # Try all possible SPDs. |
Chris Kay | ab29d43 | 2023-08-10 13:06:18 +0000 | [diff] [blame] | 68 | clean_build $fvp_common_flags ${ARM_TBB_OPTIONS} ARM_TSP_RAM_LOCATION=dram \ |
| 69 | SPD=tspd FVP_TRUSTED_SRAM_SIZE=384 |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 70 | clean_build $fvp_common_flags ${ARM_TBB_OPTIONS} ARM_TSP_RAM_LOCATION=dram SPD=tspd TSP_INIT_ASYNC=1 \ |
Sona Mathew | 40e5be9 | 2023-08-10 16:31:45 -0500 | [diff] [blame] | 71 | TSP_NS_INTR_ASYNC_PREEMPT=1 FVP_TRUSTED_SRAM_SIZE=384 |
Manish V Badarkhe | 48ed0bf | 2023-06-28 09:33:16 +0100 | [diff] [blame] | 72 | clean_build $fvp_common_flags ${ARM_TBB_OPTIONS} SPD=opteed FVP_TRUSTED_SRAM_SIZE=384 |
Elizabeth Ho | 1a04df1 | 2023-07-27 16:06:24 +0100 | [diff] [blame] | 73 | clean_build $fvp_common_flags ${ARM_TBB_OPTIONS} SPD=tlkd FVP_TRUSTED_SRAM_SIZE=384 |
Manish V Badarkhe | e7528ff | 2023-07-01 10:20:05 +0100 | [diff] [blame] | 74 | clean_build $fvp_common_flags ${ARM_TBB_OPTIONS} SPD=pncd SPD_PNCD_NS_IRQ=126 \ |
| 75 | SPD_PNCD_S_IRQ=15 FVP_TRUSTED_SRAM_SIZE=384 |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 76 | |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 77 | # Dualroot chain of trust. |
| 78 | clean_build $fvp_common_flags ${ARM_TBB_OPTIONS} SPD=tspd COT=dualroot |
| 79 | |
laurenw-arm | f48e9d2 | 2022-04-22 11:30:13 -0500 | [diff] [blame] | 80 | # FEAT_RME with CCA chain of trust. |
Sandrine Bailleux | e30bd0c | 2022-08-31 14:49:17 +0200 | [diff] [blame] | 81 | # |
| 82 | # Note that we override PLAT_RSS_NOT_SUPPORTED build flag (which defaults to 1 |
| 83 | # on the Base AEM FVP) just to analyse the RSS communication driver code through |
| 84 | # Coverity. In reality, RSS is not supported on FVP right now (or on any other |
| 85 | # upstream platform, for that matter) so the resulting firmware would not be |
| 86 | # functional. |
Manish V Badarkhe | 5304aaf | 2023-08-18 14:38:20 +0100 | [diff] [blame] | 87 | clean_build $fvp_common_flags ${ARM_TBB_OPTIONS} USE_ROMLIB=1 \ |
| 88 | ENABLE_RME=1 MEASURED_BOOT=1 PLAT_RSS_NOT_SUPPORTED=0 |
| 89 | |
| 90 | # FVP RSS supported build without CCA enabled. |
| 91 | clean_build $fvp_common_flags USE_ROMLIB=1 MEASURED_BOOT=1 MBEDTLS_DIR=$(pwd)/mbedtls \ |
Manish V Badarkhe | ce14ffc | 2023-07-27 09:28:23 +0100 | [diff] [blame] | 92 | PLAT_RSS_NOT_SUPPORTED=0 |
laurenw-arm | f48e9d2 | 2022-04-22 11:30:13 -0500 | [diff] [blame] | 93 | |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 94 | clean_build $fvp_common_flags SPD=trusty |
| 95 | clean_build $fvp_common_flags SPD=trusty TRUSTY_SPD_WITH_GENERIC_SERVICES=1 |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 96 | |
Sona Mathew | ff9c2a7 | 2023-05-10 21:18:01 -0500 | [diff] [blame] | 97 | # ERRATA ABI |
| 98 | clean_build $fvp_common_flags ERRATA_ABI_SUPPORT=1 |
| 99 | |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 100 | # SDEI |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 101 | clean_build $fvp_common_flags SDEI_SUPPORT=1 EL3_EXCEPTION_HANDLING=1 |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 102 | |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 103 | # SDEI with fconf |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 104 | clean_build $fvp_common_flags SDEI_IN_FCONF=1 SDEI_SUPPORT=1 EL3_EXCEPTION_HANDLING=1 |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 105 | |
Zelalem | 4f3633e | 2021-06-18 11:53:47 -0500 | [diff] [blame] | 106 | # PCI Service |
| 107 | clean_build $fvp_common_flags SMC_PCI_SUPPORT=1 |
| 108 | |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 109 | # Secure interrupt descriptors with fconf |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 110 | clean_build $fvp_common_flags SEC_INT_DESC_IN_FCONF=1 |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 111 | |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 112 | # Without coherent memory |
Sona Mathew | a06f62d | 2023-08-24 16:34:13 -0500 | [diff] [blame] | 113 | clean_build $fvp_common_flags ${ARM_TBB_OPTIONS} ARM_TSP_RAM_LOCATION=dram SPD=tspd \ |
| 114 | USE_COHERENT_MEM=0 FVP_TRUSTED_SRAM_SIZE=384 |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 115 | |
| 116 | # Using PSCI extended State ID format rather than the original format |
Sona Mathew | a06f62d | 2023-08-24 16:34:13 -0500 | [diff] [blame] | 117 | clean_build $fvp_common_flags ${ARM_TBB_OPTIONS} ARM_TSP_RAM_LOCATION=dram SPD=tspd \ |
| 118 | PSCI_EXTENDED_STATE_ID=1 ARM_RECOM_STATE_ID_ENC=1 FVP_TRUSTED_SRAM_SIZE=384 |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 119 | |
| 120 | # Alternative boot flows (This changes some of the platform initialisation code) |
Elizabeth Ho | 4cdb2f4 | 2023-07-11 12:27:14 +0100 | [diff] [blame] | 121 | clean_build $fvp_common_flags EL3_PAYLOAD_BASE=0x80000000 |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 122 | clean_build $fvp_common_flags PRELOADED_BL33_BASE=0x80000000 |
| 123 | |
| 124 | # Using the SP804 timer instead of the Generic Timer |
| 125 | clean_build $fvp_common_flags FVP_USE_SP804_TIMER=1 |
| 126 | |
| 127 | # Using the CCN driver and multi cluster topology |
| 128 | clean_build $fvp_common_flags FVP_CLUSTER_COUNT=4 |
| 129 | |
| 130 | # PMF |
| 131 | clean_build $fvp_common_flags ENABLE_PMF=1 |
| 132 | |
| 133 | # stack protector |
| 134 | clean_build $fvp_common_flags ENABLE_STACK_PROTECTOR=strong |
| 135 | |
| 136 | # AArch32 build |
Leonardo Sandoval | 1c24ae5 | 2020-07-08 11:47:23 -0500 | [diff] [blame] | 137 | clean_build $fvp_common_flags CROSS_COMPILE=arm-none-eabi- \ |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 138 | ARCH=aarch32 AARCH32_SP=sp_min \ |
| 139 | RESET_TO_SP_MIN=1 PRELOADED_BL33_BASE=0x80000000 |
Leonardo Sandoval | 1c24ae5 | 2020-07-08 11:47:23 -0500 | [diff] [blame] | 140 | clean_build $fvp_common_flags CROSS_COMPILE=arm-none-eabi- \ |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 141 | ARCH=aarch32 AARCH32_SP=sp_min |
| 142 | |
| 143 | # Xlat tables lib version 1 (AArch64 and AArch32) |
| 144 | clean_build $fvp_common_flags ARM_XLAT_TABLES_LIB_V1=1 RECLAIM_INIT_CODE=0 |
Leonardo Sandoval | 1c24ae5 | 2020-07-08 11:47:23 -0500 | [diff] [blame] | 145 | clean_build $fvp_common_flags CROSS_COMPILE=arm-none-eabi- \ |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 146 | ARCH=aarch32 AARCH32_SP=sp_min ARM_XLAT_TABLES_LIB_V1=1 RECLAIM_INIT_CODE=0 |
| 147 | |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 148 | # SPM support based on Management Mode Interface Specification |
Manish Pandey | aa9a03b | 2021-11-17 10:03:17 +0000 | [diff] [blame] | 149 | clean_build $fvp_common_flags SPM_MM=1 EL3_EXCEPTION_HANDLING=1 ENABLE_SVE_FOR_NS=0 |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 150 | |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 151 | # SPM support with TOS(optee) as SPM sitting at S-EL1 |
| 152 | clean_build $fvp_common_flags SPD=spmd SPMD_SPM_AT_SEL2=0 |
| 153 | |
Shruti Gupta | 8cc89b9 | 2022-08-09 12:23:46 +0100 | [diff] [blame] | 154 | # SPM support with SPM at EL3 and TSP at S-EL1 |
| 155 | clean_build $fvp_common_flags CTX_INCLUDE_PAUTH_REGS=1 CTX_INCLUDE_EL2_REGS=0 EL3_EXCEPTION_HANDLING=0 \ |
| 156 | SPD=spmd SPMD_SPM_AT_SEL2=0 SPMC_AT_EL3=1 \ |
| 157 | ARM_SPMC_MANIFEST_DTS=plat/arm/board/fvp/fdts/fvp_tsp_sp_manifest.dts |
| 158 | |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 159 | # SPM support with Secure hafnium as SPM sitting at S-EL2 |
| 160 | # SP_LAYOUT_FILE is used only during FIP creation but build won't progress |
| 161 | # if we have NULL value to it, so passing a dummy string. |
| 162 | clean_build $fvp_common_flags SPD=spmd SPMD_SPM_AT_SEL2=1 ARM_ARCH_MINOR=4 \ |
Max Shvetsov | 44d2a70 | 2021-02-18 16:41:45 +0000 | [diff] [blame] | 163 | CTX_INCLUDE_EL2_REGS=1 SP_LAYOUT_FILE=dummy |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 164 | |
J-Alves | 85ba07b | 2023-07-12 14:37:45 +0100 | [diff] [blame] | 165 | # SPM support with logical partitions in the SPMD. |
| 166 | clean_build $fvp_common_flags SPD=spmd SPMD_SPM_AT_SEL2=1 ARM_ARCH_MINOR=4 \ |
| 167 | CTX_INCLUDE_EL2_REGS=1 SP_LAYOUT_FILE=dummy ENABLE_SPMD_LP=1 |
| 168 | |
Marc Bonnici | 502fdaa | 2022-01-10 12:38:23 +0000 | [diff] [blame] | 169 | # SPM support with SPM sitting at EL3 |
| 170 | clean_build $fvp_common_flags SPD=spmd SPMD_SPM_AT_SEL2=0 SPMC_AT_EL3=1 |
| 171 | |
Harrison Mutai | b352c0e | 2023-08-11 18:27:57 +0100 | [diff] [blame] | 172 | # Firmware Handoff framework support |
| 173 | clean_build $fvp_common_flags TRANSFER_LIST=1 |
| 174 | |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 175 | #BL2 at EL3 support |
Harrison Mutai | c3c8cfc | 2023-09-05 12:03:03 +0100 | [diff] [blame] | 176 | clean_build $fvp_common_flags RESET_TO_BL2=1 FVP_TRUSTED_SRAM_SIZE=384 |
Leonardo Sandoval | 1c24ae5 | 2020-07-08 11:47:23 -0500 | [diff] [blame] | 177 | clean_build $fvp_common_flags CROSS_COMPILE=arm-none-eabi- \ |
Maksims Svecovs | 7a0da52 | 2023-03-06 16:28:27 +0000 | [diff] [blame] | 178 | ARCH=aarch32 AARCH32_SP=sp_min RESET_TO_BL2=1 |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 179 | |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 180 | # RAS Extension Support |
Manish Pandey | c1fa25b | 2023-02-16 17:35:36 +0000 | [diff] [blame] | 181 | clean_build $fvp_common_flags EL3_EXCEPTION_HANDLING=1 ENABLE_FEAT_RAS=1 \ |
Manish Pandey | f381680 | 2023-10-11 17:13:58 +0100 | [diff] [blame] | 182 | FAULT_INJECTION_SUPPORT=1 HANDLE_EA_EL3_FIRST_NS=1 \ |
Manish Pandey | 010e9b4 | 2023-04-24 15:49:27 +0100 | [diff] [blame] | 183 | SDEI_SUPPORT=1 PLATFORM_TEST_RAS_FFH=1 |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 184 | |
Manish Pandey | fd4c6b7 | 2023-04-24 10:29:52 +0100 | [diff] [blame] | 185 | # EA handled in EL3 first |
| 186 | clean_build $fvp_common_flags HANDLE_EA_EL3_FIRST_NS=1 PLATFORM_TEST_EA_FFH=1 |
| 187 | |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 188 | # Hardware Assisted Coherency(DynamIQ) |
| 189 | clean_build $fvp_common_flags FVP_CLUSTER_COUNT=1 FVP_MAX_CPUS_PER_CLUSTER=8 \ |
| 190 | HW_ASSISTED_COHERENCY=1 USE_COHERENT_MEM=0 |
| 191 | |
| 192 | # Pointer Authentication Support |
| 193 | clean_build $fvp_common_flags CTX_INCLUDE_PAUTH_REGS=1 \ |
Sona Mathew | a06f62d | 2023-08-24 16:34:13 -0500 | [diff] [blame] | 194 | ARM_ARCH_MINOR=5 EL3_EXCEPTION_HANDLING=1 BRANCH_PROTECTION=1 SDEI_SUPPORT=1 SPD=tspd \ |
Sona Mathew | 08c1796 | 2023-08-28 09:36:17 -0500 | [diff] [blame] | 195 | TSP_NS_INTR_ASYNC_PREEMPT=1 FVP_TRUSTED_SRAM_SIZE=384 |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 196 | |
| 197 | # Undefined Behaviour Sanitizer |
| 198 | # Building with UBSAN SANITIZE_UB=on increases the executable size. |
| 199 | # Hence it is only properly supported in bl31 with RESET_TO_BL31 enabled |
| 200 | make $fvp_common_flags clean |
Manish V Badarkhe | 4e79cab | 2023-09-07 10:07:58 +0100 | [diff] [blame] | 201 | make $fvp_common_flags SANITIZE_UB=on RESET_TO_BL31=1 FVP_TRUSTED_SRAM_SIZE=384 bl31 |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 202 | |
| 203 | # debugfs feature |
| 204 | clean_build $fvp_common_flags DEBUG=1 USE_DEBUGFS=1 |
| 205 | |
| 206 | # MPAM feature |
Arvind Ram Prakash | bd4e43a | 2023-10-02 11:12:34 -0500 | [diff] [blame] | 207 | clean_build $fvp_common_flags ENABLE_FEAT_MPAM=1 |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 208 | |
| 209 | # Using GICv3.1 driver with extended PPI and SPI range |
| 210 | clean_build $fvp_common_flags GIC_EXT_INTID=1 |
| 211 | |
| 212 | # Using GICv4 features with extended PPI and SPI range |
| 213 | clean_build $fvp_common_flags GIC_ENABLE_V4_EXTN=1 GIC_EXT_INTID=1 |
| 214 | |
Alexei Fedorov | 20fdf50 | 2020-07-27 17:36:38 +0100 | [diff] [blame] | 215 | # Measured Boot |
laurenw-arm | 8531e70 | 2022-06-09 15:32:37 -0500 | [diff] [blame] | 216 | clean_build $fvp_common_flags ${ARM_TBB_OPTIONS} MBOOT_EL_HASH_ALG=sha256 MEASURED_BOOT=1 USE_ROMLIB=1 |
Alexei Fedorov | 20fdf50 | 2020-07-27 17:36:38 +0100 | [diff] [blame] | 217 | |
Manish V Badarkhe | f43e3f5 | 2022-06-21 20:37:25 +0100 | [diff] [blame] | 218 | # DRTM |
| 219 | clean_build $fvp_common_flags ${ARM_TBB_OPTIONS} TPM_HASH_ALG=sha256 DRTM_SUPPORT=1 USE_ROMLIB=1 |
| 220 | |
Manish V Badarkhe | 447e31a | 2020-09-03 07:57:17 +0100 | [diff] [blame] | 221 | # CoT descriptors in device tree |
Manish V Badarkhe | 81102d1 | 2020-10-05 08:02:30 +0100 | [diff] [blame] | 222 | clean_build $fvp_common_flags ${ARM_TBB_OPTIONS} COT_DESC_IN_DTB=1 USE_ROMLIB=1 |
Manish V Badarkhe | 447e31a | 2020-09-03 07:57:17 +0100 | [diff] [blame] | 223 | |
Chris Kay | f4789fe | 2023-06-12 15:52:28 +0100 | [diff] [blame] | 224 | # PSA FWU support |
| 225 | clean_build $fvp_common_flags ${ARM_TBB_OPTIONS} ARM_GPT_SUPPORT=1 PSA_FWU_SUPPORT=1 USE_ROMLIB=1 FVP_TRUSTED_SRAM_SIZE=384 |
Manish V Badarkhe | 107c8e3 | 2021-08-02 19:49:32 +0100 | [diff] [blame] | 226 | |
Manish V Badarkhe | 92616ae | 2023-09-18 10:06:00 +0100 | [diff] [blame] | 227 | # PSA Crypto support |
| 228 | clean_build $fvp_common_flags ${ARM_TBB_OPTIONS} PSA_CRYPTO=1 FVP_TRUSTED_SRAM_SIZE=384 |
| 229 | |
johpow01 | 153c8b2 | 2021-11-03 14:38:36 -0500 | [diff] [blame] | 230 | # SME and HCX features |
| 231 | clean_build $fvp_common_flags ENABLE_SME_FOR_NS=1 ENABLE_FEAT_HCX=1 |
| 232 | |
Jayanth Dodderi Chidanand | 41edd01 | 2023-01-12 14:50:34 +0000 | [diff] [blame] | 233 | # SME2 |
| 234 | clean_build $fvp_common_flags ENABLE_SME2_FOR_NS=1 ENABLE_SME_FOR_NS=1 ENABLE_FEAT_HCX=1 |
| 235 | |
Jayanth Dodderi Chidanand | 84da196 | 2022-04-11 11:38:44 +0100 | [diff] [blame] | 236 | # Architectural Feature Detection mechanism |
| 237 | clean_build $fvp_common_flags FEATURE_DETECTION=1 |
| 238 | |
Manish Pandey | e3561fd | 2023-01-05 10:46:25 +0000 | [diff] [blame] | 239 | # RNG trap feature |
| 240 | clean_build $fvp_common_flags ENABLE_FEAT_RNG=1 ENABLE_FEAT_RNG_TRAP=1 |
| 241 | |
Chris Kay | f4789fe | 2023-06-12 15:52:28 +0100 | [diff] [blame] | 242 | # OPTEE_ALLOW_SMC_LOAD feature |
| 243 | clean_build $fvp_common_flags ${ARM_TBB_OPTIONS} SPD=opteed OPTEE_ALLOW_SMC_LOAD=1 PLAT_XLAT_TABLES_DYNAMIC=1 FVP_TRUSTED_SRAM_SIZE=384 |
Jeffrey Kardatzke | 09e18e2 | 2023-01-25 12:24:13 -0800 | [diff] [blame] | 244 | |
Govindraj Raja | cd87dcc | 2025-02-04 16:24:21 -0600 | [diff] [blame] | 245 | # Build all CPU's with all errata's with FVP platform. |
| 246 | clean_build $fvp_common_flags CTX_INCLUDE_AARCH32_REGS=0 HW_ASSISTED_COHERENCY=1 \ |
| 247 | USE_COHERENT_MEM=0 ENABLE_ERRATA_ALL=1 FVP_TRUSTED_SRAM_SIZE=384 |
| 248 | |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 249 | # |
| 250 | # Juno platform |
| 251 | # We'll use the following flags for all Juno builds. |
| 252 | # |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 253 | juno_common_flags="$(common_flags) PLAT=juno" |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 254 | clean_build $juno_common_flags SPD=tspd ${ARM_TBB_OPTIONS} |
Elizabeth Ho | 4cdb2f4 | 2023-07-11 12:27:14 +0100 | [diff] [blame] | 255 | clean_build $juno_common_flags EL3_PAYLOAD_BASE=0x80000000 |
Manish V Badarkhe | 0562644 | 2023-09-12 09:54:50 +0100 | [diff] [blame] | 256 | clean_build $juno_common_flags ENABLE_STACK_PROTECTOR=strong ETHOSN_NPU_DRIVER=1 |
| 257 | clean_build $juno_common_flags ${ARM_TBB_OPTIONS} ENABLE_STACK_PROTECTOR=strong ETHOSN_NPU_DRIVER=1 ETHOSN_NPU_TZMP1=1 |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 258 | clean_build $juno_common_flags CSS_USE_SCMI_SDS_DRIVER=0 |
Leonardo Sandoval | eb1d3ce | 2020-08-06 16:04:29 -0500 | [diff] [blame] | 259 | |
Jayanth Dodderi Chidanand | 055394a | 2022-10-19 09:20:20 +0100 | [diff] [blame] | 260 | # TRNG Service |
| 261 | clean_build $juno_common_flags TRNG_SUPPORT=1 |
| 262 | |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 263 | # |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 264 | # System Guidance for Infrastructure platform RD-E1Edge |
| 265 | # |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 266 | make $(common_flags) PLAT=rde1edge ${ARM_TBB_OPTIONS} CSS_SGI_CHIP_COUNT=1 all |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 267 | |
| 268 | # |
Aditya Angadi | 634d61f | 2021-01-04 09:30:20 +0530 | [diff] [blame] | 269 | # Reference Design platform RD-V1 |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 270 | # |
Aditya Angadi | 634d61f | 2021-01-04 09:30:20 +0530 | [diff] [blame] | 271 | make $(common_flags) PLAT=rdv1 ${ARM_TBB_OPTIONS} all |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 272 | |
| 273 | # |
Aditya Angadi | 61c5476 | 2021-01-04 09:30:52 +0530 | [diff] [blame] | 274 | # Reference Design platform RD-V1-MC |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 275 | # |
Aditya Angadi | 61c5476 | 2021-01-04 09:30:52 +0530 | [diff] [blame] | 276 | make $(common_flags) PLAT=rdv1mc ${ARM_TBB_OPTIONS} CSS_SGI_CHIP_COUNT=4 all |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 277 | |
| 278 | # |
Vijayenthiran Subramaniam | a66de33 | 2020-11-23 14:20:14 +0530 | [diff] [blame] | 279 | # Reference Design Platform RD-N2 |
| 280 | # |
| 281 | make $(common_flags) PLAT=rdn2 ${ARM_TBB_OPTIONS} all |
Omkar Anand Kulkarni | f6e268e | 2023-06-21 20:32:22 +0530 | [diff] [blame] | 282 | # RAS Extension Support |
| 283 | make $(common_flags) PLAT=rdn2 ${ARM_TBB_OPTIONS} ENABLE_FEAT_RAS=1 \ |
Manish Pandey | f381680 | 2023-10-11 17:13:58 +0100 | [diff] [blame] | 284 | HANDLE_EA_EL3_FIRST_NS=1 SDEI_SUPPORT=1 SPM_MM=1 all |
| 285 | |
Nishant Sharma | bd7092e | 2023-10-11 09:17:13 +0100 | [diff] [blame] | 286 | # SPMC At EL3 Support |
| 287 | make $(common_flags) PLAT=rdn2 ${ARM_TBB_OPTIONS} SPMC_AT_EL3=1 SPD=spmd \ |
| 288 | SPMD_SPM_AT_SEL2=0 BL32=1 SPMC_AT_EL3_SEL0_SP=1 EL3_EXCEPTION_HANDLING=1 \ |
| 289 | PLAT_RO_XLAT_TABLES=1 all |
Vijayenthiran Subramaniam | a66de33 | 2020-11-23 14:20:14 +0530 | [diff] [blame] | 290 | |
| 291 | # |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 292 | # Neoverse N1 SDP platform |
| 293 | # |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 294 | make $(common_flags) PLAT=n1sdp ${ARM_TBB_OPTIONS} all |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 295 | |
| 296 | # |
| 297 | # FVP VE platform |
| 298 | # |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 299 | make $(common_flags) PLAT=fvp_ve AARCH32_SP=sp_min ARCH=aarch32 \ |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 300 | CROSS_COMPILE=arm-none-eabi- ARM_ARCH_MAJOR=7 \ |
| 301 | ARM_CORTEX_A5=yes ARM_XLAT_TABLES_LIB_V1=1 \ |
| 302 | FVP_HW_CONFIG_DTS=fdts/fvp-ve-Cortex-A5x1.dts all |
| 303 | |
| 304 | # |
| 305 | # A5 DesignStart Platform |
| 306 | # |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 307 | make $(common_flags) PLAT=a5ds AARCH32_SP=sp_min ARCH=aarch32 \ |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 308 | ARM_ARCH_MAJOR=7 ARM_CORTEX_A5=yes ARM_XLAT_TABLES_LIB_V1=1 \ |
| 309 | CROSS_COMPILE=arm-none-eabi- FVP_HW_CONFIG_DTS=fdts/a5ds.dts |
| 310 | |
| 311 | # |
| 312 | # Corstone700 Platform |
| 313 | # |
| 314 | |
| 315 | corstone700_common_flags="CROSS_COMPILE=arm-none-eabi- \ |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 316 | $(common_flags) \ |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 317 | PLAT=corstone700 \ |
| 318 | ARCH=aarch32 \ |
| 319 | RESET_TO_SP_MIN=1 \ |
| 320 | AARCH32_SP=sp_min \ |
| 321 | ARM_LINUX_KERNEL_AS_BL33=0 \ |
| 322 | ARM_PRELOADED_DTB_BASE=0x80400000 \ |
| 323 | ENABLE_PIE=1 \ |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 324 | ENABLE_STACK_PROTECTOR=all \ |
| 325 | all" |
| 326 | |
| 327 | echo "Info: Building Corstone700 FVP ..." |
| 328 | |
| 329 | make TARGET_PLATFORM=fvp ${corstone700_common_flags} |
| 330 | |
| 331 | echo "Info: Building Corstone700 FPGA ..." |
| 332 | |
| 333 | make TARGET_PLATFORM=fpga ${corstone700_common_flags} |
| 334 | |
| 335 | # |
| 336 | # Arm internal FPGA port |
| 337 | # |
Andre Przywara | 13361b6 | 2022-04-26 11:16:55 +0100 | [diff] [blame] | 338 | make PLAT=arm_fpga $(common_flags release) \ |
| 339 | FPGA_PRELOADED_DTB_BASE=0x88000000 PRELOADED_BL33_BASE=0x82080000 all |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 340 | |
| 341 | # |
Usama Arif | cba711d | 2021-08-04 15:53:42 +0100 | [diff] [blame] | 342 | # Total Compute platforms |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 343 | # |
laurenw-arm | 915f70a | 2023-07-14 16:20:49 -0500 | [diff] [blame] | 344 | clean_build $(common_flags) PLAT=tc TARGET_PLATFORM=1 ${ARM_TBB_OPTIONS} |
| 345 | clean_build $(common_flags) PLAT=tc TARGET_PLATFORM=2 ${ARM_TBB_OPTIONS} MEASURED_BOOT=1 |
| 346 | clean_build $(common_flags) PLAT=tc TARGET_PLATFORM=2 ${ARM_TBB_OPTIONS} PLATFORM_TEST=rss-rotpk |
| 347 | clean_build $(common_flags) PLAT=tc TARGET_PLATFORM=2 ${ARM_TBB_OPTIONS} PLATFORM_TEST=rss-nv-counters |
Manish V Badarkhe | 58a88f0 | 2023-11-06 21:42:11 +0000 | [diff] [blame] | 348 | clean_build $(common_flags) PLAT=tc TARGET_PLATFORM=2 ${ARM_TBB_OPTIONS} PLATFORM_TEST=tfm-testsuite \ |
| 349 | MEASURED_BOOT=1 TF_M_TESTS_PATH=$(pwd)/tf-m-tests TF_M_EXTRAS_PATH=$(pwd)/tf-m-extras |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 350 | |
Chandni Cherukuri | fb803e1 | 2020-10-01 17:49:08 +0530 | [diff] [blame] | 351 | # |
| 352 | # Morello platform |
| 353 | # |
Chandni Cherukuri | cbd4596 | 2021-12-12 13:37:33 +0530 | [diff] [blame] | 354 | clean_build $(common_flags) PLAT=morello TARGET_PLATFORM=fvp ${ARM_TBB_OPTIONS} |
| 355 | clean_build $(common_flags) PLAT=morello TARGET_PLATFORM=soc ${ARM_TBB_OPTIONS} |
Chandni Cherukuri | fb803e1 | 2020-10-01 17:49:08 +0530 | [diff] [blame] | 356 | |
Abdellatif El Khlifi | c16fe91 | 2021-08-03 12:35:16 +0100 | [diff] [blame] | 357 | # |
Vishnu Banavath | 2cb72b3 | 2022-01-20 14:27:55 +0000 | [diff] [blame] | 358 | # corstone1000 Platform |
Abdellatif El Khlifi | c16fe91 | 2021-08-03 12:35:16 +0100 | [diff] [blame] | 359 | # |
| 360 | |
| 361 | make $(common_flags) \ |
Vishnu Banavath | 2cb72b3 | 2022-01-20 14:27:55 +0000 | [diff] [blame] | 362 | PLAT=corstone1000 \ |
Abdellatif El Khlifi | c16fe91 | 2021-08-03 12:35:16 +0100 | [diff] [blame] | 363 | SPD=spmd \ |
| 364 | TARGET_PLATFORM=fpga \ |
| 365 | ENABLE_STACK_PROTECTOR=strong \ |
| 366 | ENABLE_PIE=1 \ |
Maksims Svecovs | 7a0da52 | 2023-03-06 16:28:27 +0000 | [diff] [blame] | 367 | RESET_TO_BL2=1 \ |
Abdellatif El Khlifi | c16fe91 | 2021-08-03 12:35:16 +0100 | [diff] [blame] | 368 | SPMD_SPM_AT_SEL2=0 \ |
| 369 | ${ARM_TBB_OPTIONS} \ |
| 370 | CREATE_KEYS=1 \ |
| 371 | COT=tbbr \ |
| 372 | ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem \ |
| 373 | bl2 \ |
| 374 | bl31 |
| 375 | |
johpow01 | aac5858 | 2021-10-05 16:51:34 -0500 | [diff] [blame] | 376 | # |
| 377 | # FVP-R platform |
| 378 | # |
| 379 | clean_build $(common_flags) PLAT=fvp_r ${ARM_TBB_OPTIONS} ENABLE_STACK_PROTECTOR=all |
| 380 | |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 381 | # Partners' platforms. |
| 382 | # Enable as many features as possible. |
| 383 | # We don't need to clean between each build here because we only do one build |
| 384 | # per platform so we don't hit the build flags dependency problem. |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 385 | |
Manish Pandey | 9c0ee74 | 2021-07-08 09:55:59 +0100 | [diff] [blame] | 386 | # Platforms from Mediatek |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 387 | make PLAT=mt8173 $(common_flags) all |
| 388 | make PLAT=mt8183 $(common_flags) all |
Rex-BC Chen | 946cace | 2021-11-17 10:15:42 +0800 | [diff] [blame] | 389 | make PLAT=mt8186 $(common_flags) COREBOOT=1 all |
Bo-Chen Chen | 4d63afd | 2022-08-30 16:34:57 +0800 | [diff] [blame] | 390 | make PLAT=mt8188 $(common_flags) COREBOOT=1 all |
Zelalem | d86e876 | 2020-08-21 18:24:28 -0500 | [diff] [blame] | 391 | make PLAT=mt8192 $(common_flags) COREBOOT=1 all |
Manish Pandey | 9c0ee74 | 2021-07-08 09:55:59 +0100 | [diff] [blame] | 392 | make PLAT=mt8195 $(common_flags) COREBOOT=1 all |
Zelalem | d86e876 | 2020-08-21 18:24:28 -0500 | [diff] [blame] | 393 | |
| 394 | # Platforms from Qualcomm |
| 395 | make PLAT=sc7180 $(common_flags) COREBOOT=1 all |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 396 | |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 397 | make PLAT=rk3288 CROSS_COMPILE=arm-none-eabi- \ |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 398 | $(common_flags) ARCH=aarch32 AARCH32_SP=sp_min all |
Madhukar Pappireddy | d491ad0 | 2020-12-03 10:37:05 -0600 | [diff] [blame] | 399 | make PLAT=rk3368 $(common_flags) COREBOOT=1 \ |
| 400 | ENABLE_STACK_PROTECTOR=strong all |
| 401 | make PLAT=rk3399 $(common_flags) COREBOOT=1 PLAT_RK_DP_HDCP=1 \ |
| 402 | ENABLE_STACK_PROTECTOR=strong all |
| 403 | make PLAT=rk3328 $(common_flags) COREBOOT=1 PLAT_RK_SECURE_DDR_MINILOADER=1 \ |
| 404 | ENABLE_STACK_PROTECTOR=strong all |
| 405 | make PLAT=px30 $(common_flags) PLAT_RK_SECURE_DDR_MINILOADER=1 \ |
| 406 | ENABLE_STACK_PROTECTOR=strong all |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 407 | |
| 408 | # Although we do several consecutive builds for the Tegra platform below, we |
| 409 | # don't need to clean between each one because the Tegra makefiles specify |
| 410 | # a different build directory per SoC. |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 411 | make PLAT=tegra TARGET_SOC=t210 $(common_flags) all |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 412 | make PLAT=tegra TARGET_SOC=t186 $(common_flags) all |
| 413 | make PLAT=tegra TARGET_SOC=t194 $(common_flags) all |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 414 | |
| 415 | # For the Xilinx platform, artificially increase the extents of BL31 memory |
| 416 | # (using the platform-specific build options ZYNQMP_ATF_MEM_{BASE,SIZE}). |
| 417 | # If we keep the default values, BL31 doesn't fit when it is built with all |
| 418 | # these build flags. |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 419 | make PLAT=zynqmp $(common_flags) \ |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 420 | RESET_TO_BL31=1 SPD=tspd \ |
Zelalem | 4f3633e | 2021-06-18 11:53:47 -0500 | [diff] [blame] | 421 | SDEI_SUPPORT=1 \ |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 422 | ZYNQMP_ATF_MEM_BASE=0xFFFC0000 ZYNQMP_ATF_MEM_SIZE=0x00040000 \ |
| 423 | all |
| 424 | |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 425 | # Build both for silicon (default) and virtual QEMU platform. |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 426 | clean_build PLAT=versal $(common_flags) |
| 427 | clean_build PLAT=versal $(common_flags) VERSAL_PLATFORM=versal_virt |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 428 | |
Michal Simek | 0f13524 | 2022-09-20 15:24:56 +0200 | [diff] [blame] | 429 | # Build Xilinx Versal NET platform |
| 430 | clean_build PLAT=versal_net $(common_flags) |
| 431 | |
Jayanth Dodderi Chidanand | 0a2dd1e | 2022-10-27 11:17:37 +0100 | [diff] [blame] | 432 | # Build Xilinx Versal NET without Platform Management support |
| 433 | clean_build PLAT=versal_net $(common_flags) TFA_NO_PM=1 |
| 434 | |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 435 | # Platforms from Allwinner |
Andre Przywara | 3a78c10 | 2022-04-26 11:08:54 +0100 | [diff] [blame] | 436 | clean_build PLAT=sun50i_a64 $(common_flags release) all |
| 437 | clean_build PLAT=sun50i_a64 $(common_flags release) SUNXI_PSCI_USE_NATIVE=0 all |
| 438 | clean_build PLAT=sun50i_a64 $(common_flags release) SUNXI_PSCI_USE_SCPI=0 all |
| 439 | clean_build PLAT=sun50i_a64 $(common_flags release) SUNXI_AMEND_DTB=1 all |
Andre Przywara | cf78a51 | 2021-09-03 14:59:38 +0100 | [diff] [blame] | 440 | clean_build PLAT=sun50i_h6 $(common_flags) all |
| 441 | clean_build PLAT=sun50i_h6 $(common_flags) SUNXI_PSCI_USE_NATIVE=0 all |
| 442 | clean_build PLAT=sun50i_h6 $(common_flags) SUNXI_PSCI_USE_SCPI=0 all |
| 443 | clean_build PLAT=sun50i_h616 $(common_flags) all |
| 444 | clean_build PLAT=sun50i_r329 $(common_flags) all |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 445 | |
| 446 | # Platforms from i.MX |
| 447 | make AARCH32_SP=optee ARCH=aarch32 ARM_ARCH_MAJOR=7 ARM_CORTEX_A7=yes \ |
| 448 | CROSS_COMPILE=arm-none-eabi- PLAT=warp7 ${TBB_OPTIONS} \ |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 449 | $(common_flags) all |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 450 | make AARCH32_SP=optee ARCH=aarch32 CROSS_COMPILE=arm-none-eabi- PLAT=picopi \ |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 451 | $(common_flags) all |
Ying-Chun Liu (PaulLiu) | f652898 | 2021-11-17 17:20:00 +0800 | [diff] [blame] | 452 | make PLAT=imx8mm $(common_flags) NEED_BL2=yes MEASURED_BOOT=1 \ |
laurenw-arm | 8531e70 | 2022-06-09 15:32:37 -0500 | [diff] [blame] | 453 | MBOOT_EL_HASH_ALG=sha256 ${TBB_OPTIONS} all |
Madhukar Pappireddy | c3ec06b | 2022-05-18 11:15:16 -0500 | [diff] [blame] | 454 | make PLAT=imx8mn $(common_flags) SDEI_SUPPORT=1 all |
Ying-Chun Liu (PaulLiu) | 413e610 | 2021-09-14 00:22:08 +0800 | [diff] [blame] | 455 | make PLAT=imx8mp $(common_flags) NEED_BL2=yes ${TBB_OPTIONS} all |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 456 | |
Jacky Bai | b6cecc8 | 2021-06-07 09:49:46 +0800 | [diff] [blame] | 457 | # Due to the limited OCRAM space that can be used for TF-A, build test |
| 458 | # will report failure caused by too small RAM size, so comment out the |
| 459 | # build test for imx8mq in CI. It can also resolve the following ticket: |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 460 | # https://developer.trustedfirmware.org/T626 |
Jacky Bai | b6cecc8 | 2021-06-07 09:49:46 +0800 | [diff] [blame] | 461 | #make PLAT=imx8mq $(common_flags release) all |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 462 | |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 463 | make PLAT=imx8qm $(common_flags) all |
| 464 | make PLAT=imx8qx $(common_flags) all |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 465 | |
Jacky Bai | 87091a6 | 2023-06-21 16:25:12 +0800 | [diff] [blame] | 466 | make PLAT=imx93 $(common_flags) all |
| 467 | |
Olivier Deprez | bac7019 | 2021-04-02 08:55:36 +0200 | [diff] [blame] | 468 | # Platforms for NXP Layerscape |
Jiafei Pan | e48e56c | 2021-09-30 10:32:54 +0800 | [diff] [blame] | 469 | nxp_sb_flags="TRUSTED_BOARD_BOOT=1 CST_DIR=$(pwd) SPD=opteed" |
| 470 | nxp_sb_fuse_flags="${nxp_sb_flags} FUSE_PROG=1" |
| 471 | |
| 472 | # Platform lx2 |
Olivier Deprez | bac7019 | 2021-04-02 08:55:36 +0200 | [diff] [blame] | 473 | make PLAT=lx2160aqds $(common_flags) all |
| 474 | make PLAT=lx2160ardb $(common_flags) all |
Madhukar Pappireddy | f93a4d4 | 2021-06-01 17:44:51 -0500 | [diff] [blame] | 475 | |
| 476 | #CSF Based CoT: |
Jiafei Pan | e48e56c | 2021-09-30 10:32:54 +0800 | [diff] [blame] | 477 | clean_build PLAT=lx2162aqds $(common_flags) BOOT_MODE=flexspi_nor \ |
| 478 | $nxp_sb_fuse_flags DDR_PHY_BIN_PATH=$(pwd) |
Madhukar Pappireddy | f93a4d4 | 2021-06-01 17:44:51 -0500 | [diff] [blame] | 479 | |
| 480 | #X509 Based CoT |
Jiafei Pan | e48e56c | 2021-09-30 10:32:54 +0800 | [diff] [blame] | 481 | clean_build PLAT=lx2162aqds $(common_flags) BOOT_MODE=flexspi_nor \ |
| 482 | $nxp_sb_flags GENERATE_COT=1 \ |
Madhukar Pappireddy | f93a4d4 | 2021-06-01 17:44:51 -0500 | [diff] [blame] | 483 | MBEDTLS_DIR=$(pwd)/mbedtls |
| 484 | |
| 485 | #BOOT_MODE=emmc and Stack protector |
Jiafei Pan | e48e56c | 2021-09-30 10:32:54 +0800 | [diff] [blame] | 486 | clean_build PLAT=lx2162aqds $(common_flags) BOOT_MODE=emmc \ |
| 487 | $nxp_sb_fuse_flags ENABLE_STACK_PROTECTOR=strong |
| 488 | |
| 489 | # Platform ls1028ardb |
| 490 | clean_build PLAT=ls1028ardb $(common_flags) all BOOT_MODE=flexspi_nor |
| 491 | clean_build PLAT=ls1028ardb $(common_flags) all BOOT_MODE=emmc |
| 492 | clean_build PLAT=ls1028ardb $(common_flags) all BOOT_MODE=sd |
| 493 | |
Jiafei Pan | 5aa8fc7 | 2021-11-17 22:12:12 +0800 | [diff] [blame] | 494 | # ls1028a Secure Boot |
Jiafei Pan | e48e56c | 2021-09-30 10:32:54 +0800 | [diff] [blame] | 495 | clean_build PLAT=ls1028ardb $(common_flags) all BOOT_MODE=flexspi_nor $nxp_sb_fuse_flags |
| 496 | clean_build PLAT=ls1028ardb $(common_flags) all BOOT_MODE=emmc $nxp_sb_fuse_flags |
| 497 | clean_build PLAT=ls1028ardb $(common_flags) all BOOT_MODE=sd $nxp_sb_fuse_flags |
Olivier Deprez | bac7019 | 2021-04-02 08:55:36 +0200 | [diff] [blame] | 498 | |
Jiafei Pan | 5aa8fc7 | 2021-11-17 22:12:12 +0800 | [diff] [blame] | 499 | # Platform ls1043ardb |
| 500 | clean_build PLAT=ls1043ardb $(common_flags) all BOOT_MODE=nor |
| 501 | clean_build PLAT=ls1043ardb $(common_flags) all BOOT_MODE=nand |
| 502 | clean_build PLAT=ls1043ardb $(common_flags) all BOOT_MODE=sd |
| 503 | |
| 504 | # ls1043ardb Secure Boot |
| 505 | clean_build PLAT=ls1043ardb $(common_flags) all BOOT_MODE=nor $nxp_sb_fuse_flags |
| 506 | clean_build PLAT=ls1043ardb $(common_flags) all BOOT_MODE=nand $nxp_sb_fuse_flags |
| 507 | clean_build PLAT=ls1043ardb $(common_flags) all BOOT_MODE=sd $nxp_sb_fuse_flags |
| 508 | |
Jiafei Pan | bd0c22a | 2022-01-29 00:04:44 +0800 | [diff] [blame] | 509 | # ls1046ardb Secure Boot |
| 510 | clean_build PLAT=ls1046ardb $(common_flags) all BOOT_MODE=qspi $nxp_sb_fuse_flags |
| 511 | clean_build PLAT=ls1046ardb $(common_flags) all BOOT_MODE=sd $nxp_sb_fuse_flags |
| 512 | clean_build PLAT=ls1046ardb $(common_flags) all BOOT_MODE=emmc $nxp_sb_fuse_flags |
| 513 | |
| 514 | # ls1046afrwy Secure Boot |
| 515 | clean_build PLAT=ls1046afrwy $(common_flags) all BOOT_MODE=qspi $nxp_sb_fuse_flags |
| 516 | clean_build PLAT=ls1046afrwy $(common_flags) all BOOT_MODE=sd $nxp_sb_fuse_flags |
| 517 | |
| 518 | # ls1046aqds Secure Boot |
| 519 | clean_build PLAT=ls1046aqds $(common_flags) all BOOT_MODE=qspi $nxp_sb_fuse_flags |
| 520 | clean_build PLAT=ls1046aqds $(common_flags) all BOOT_MODE=sd $nxp_sb_fuse_flags |
| 521 | clean_build PLAT=ls1046aqds $(common_flags) all BOOT_MODE=nor $nxp_sb_fuse_flags |
| 522 | clean_build PLAT=ls1046aqds $(common_flags) all BOOT_MODE=nand $nxp_sb_fuse_flags |
| 523 | |
Jiafei Pan | 332cd79 | 2022-02-24 16:44:48 +0800 | [diff] [blame] | 524 | # ls1088ardb Secure Boot |
| 525 | clean_build PLAT=ls1088ardb $(common_flags) all BOOT_MODE=qspi $nxp_sb_fuse_flags |
| 526 | clean_build PLAT=ls1088ardb $(common_flags) all BOOT_MODE=sd $nxp_sb_fuse_flags |
| 527 | |
| 528 | # ls1088aqds Secure Boot |
| 529 | clean_build PLAT=ls1088aqds $(common_flags) all BOOT_MODE=qspi $nxp_sb_fuse_flags |
| 530 | clean_build PLAT=ls1088aqds $(common_flags) all BOOT_MODE=sd $nxp_sb_fuse_flags |
| 531 | clean_build PLAT=ls1088aqds $(common_flags) all BOOT_MODE=nor $nxp_sb_fuse_flags |
| 532 | |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 533 | # Platforms from Intel |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 534 | make PLAT=stratix10 $(common_flags) all |
| 535 | make PLAT=agilex $(common_flags) all |
Sieu Mun Tang | 9081bac | 2023-05-29 18:08:24 +0800 | [diff] [blame] | 536 | make PLAT=agilex5 $(common_flags) all |
Sieu Mun Tang | 03b5736 | 2022-03-05 01:54:59 +0800 | [diff] [blame] | 537 | make PLAT=n5x $(common_flags) all |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 538 | |
| 539 | # Platforms from Broadcom |
Madhukar Pappireddy | 97ad258 | 2021-11-15 10:29:23 -0600 | [diff] [blame] | 540 | clean_build PLAT=stingray $(common_flags) BOARD_CFG=bcm958742t \ |
| 541 | INCLUDE_EMMC_DRIVER_ERASE_CODE=1 DRIVER_I2C_ENABLE=1 |
| 542 | clean_build PLAT=stingray $(common_flags) BOARD_CFG=bcm958742t-ns3 \ |
| 543 | INCLUDE_EMMC_DRIVER_ERASE_CODE=1 USE_USB=yes |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 544 | |
| 545 | # Platforms from Marvell |
Madhukar Pappireddy | 4fce99e | 2021-09-15 14:33:35 -0500 | [diff] [blame] | 546 | make PLAT=a3700 $(common_flags) SCP_BL2=/dev/null CM3_SYSTEM_RESET=1 \ |
Manish Pandey | 9ef33c5 | 2022-10-25 16:41:49 +0100 | [diff] [blame] | 547 | A3720_DB_PM_WAKEUP_SRC=1 HANDLE_EA_EL3_FIRST_NS=1 all |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 548 | |
Leonardo Sandoval | c044377 | 2020-11-12 11:22:48 -0600 | [diff] [blame] | 549 | # Source files from mv-ddr-marvell repository are necessary |
| 550 | # to build below four platforms |
Saheer Babu | ee6788f | 2025-02-10 17:49:12 +0000 | [diff] [blame] | 551 | wget ${DOWNLOAD_SERVER_URL}/tf-a/mv-ddr-marvell/mv-ddr-marvell-5d41a995637de1dbc93f193db6ef0c8954cab316.tar.gz 2> /dev/null |
Manish Pandey | 7c1e745 | 2021-11-05 12:54:15 +0000 | [diff] [blame] | 552 | tar -xzf mv-ddr-marvell-5d41a995637de1dbc93f193db6ef0c8954cab316.tar.gz 2> /dev/null |
Leonardo Sandoval | c044377 | 2020-11-12 11:22:48 -0600 | [diff] [blame] | 553 | mv mv-ddr-marvell drivers/marvell/mv_ddr |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 554 | |
Leonardo Sandoval | c044377 | 2020-11-12 11:22:48 -0600 | [diff] [blame] | 555 | # These platforms from Marvell have dependency on GCC-6.2.1 toolchain |
Pali Rohár | 8f89040 | 2021-07-19 13:48:05 +0200 | [diff] [blame] | 556 | make PLAT=a80x0 DEBUG=1 SCP_BL2=/dev/null BL33=/dev/null MV_DDR_PATH=$PWD/drivers/marvell/mv_ddr \ |
Pali Rohár | c344a62 | 2021-07-15 22:01:04 +0200 | [diff] [blame] | 557 | CROSS_COMPILE="$(set_cross_compile_gcc_linaro_toolchain)" all mrvl_flash |
Pali Rohár | 8f89040 | 2021-07-19 13:48:05 +0200 | [diff] [blame] | 558 | make PLAT=a80x0_mcbin DEBUG=1 SCP_BL2=/dev/null BL33=/dev/null MV_DDR_PATH=$PWD/drivers/marvell/mv_ddr \ |
Pali Rohár | c344a62 | 2021-07-15 22:01:04 +0200 | [diff] [blame] | 559 | CROSS_COMPILE="$(set_cross_compile_gcc_linaro_toolchain)" all mrvl_flash |
Pali Rohár | 8f89040 | 2021-07-19 13:48:05 +0200 | [diff] [blame] | 560 | make PLAT=a70x0 DEBUG=1 SCP_BL2=/dev/null BL33=/dev/null MV_DDR_PATH=$PWD/drivers/marvell/mv_ddr \ |
Pali Rohár | c344a62 | 2021-07-15 22:01:04 +0200 | [diff] [blame] | 561 | CROSS_COMPILE="$(set_cross_compile_gcc_linaro_toolchain)" all mrvl_flash |
Pali Rohár | 8f89040 | 2021-07-19 13:48:05 +0200 | [diff] [blame] | 562 | make PLAT=a70x0_amc DEBUG=1 SCP_BL2=/dev/null BL33=/dev/null MV_DDR_PATH=$PWD/drivers/marvell/mv_ddr \ |
Pali Rohár | c344a62 | 2021-07-15 22:01:04 +0200 | [diff] [blame] | 563 | CROSS_COMPILE="$(set_cross_compile_gcc_linaro_toolchain)" all mrvl_flash |
Robert Marko | df3319e | 2021-10-20 11:01:12 +0200 | [diff] [blame] | 564 | make PLAT=a70x0_mochabin DEBUG=1 SCP_BL2=/dev/null BL33=/dev/null MV_DDR_PATH=$PWD/drivers/marvell/mv_ddr \ |
| 565 | CROSS_COMPILE="$(set_cross_compile_gcc_linaro_toolchain)" all mrvl_flash |
Pali Rohár | 8f89040 | 2021-07-19 13:48:05 +0200 | [diff] [blame] | 566 | make PLAT=a80x0_puzzle DEBUG=1 SCP_BL2=/dev/null BL33=/dev/null MV_DDR_PATH=$PWD/drivers/marvell/mv_ddr \ |
Pali Rohár | c344a62 | 2021-07-15 22:01:04 +0200 | [diff] [blame] | 567 | CROSS_COMPILE="$(set_cross_compile_gcc_linaro_toolchain)" all mrvl_flash |
Pali Rohár | 8f89040 | 2021-07-19 13:48:05 +0200 | [diff] [blame] | 568 | make PLAT=t9130 DEBUG=1 SCP_BL2=/dev/null BL33=/dev/null MV_DDR_PATH=$PWD/drivers/marvell/mv_ddr \ |
Pali Rohár | c344a62 | 2021-07-15 22:01:04 +0200 | [diff] [blame] | 569 | CROSS_COMPILE="$(set_cross_compile_gcc_linaro_toolchain)" all mrvl_flash |
Madhukar Pappireddy | 4fce99e | 2021-09-15 14:33:35 -0500 | [diff] [blame] | 570 | make PLAT=t9130_cex7_eval DEBUG=1 SCP_BL2=/dev/null BL33=/dev/null MV_DDR_PATH=$PWD/drivers/marvell/mv_ddr \ |
| 571 | CROSS_COMPILE="$(set_cross_compile_gcc_linaro_toolchain)" all mrvl_flash |
Leonardo Sandoval | eb1d3ce | 2020-08-06 16:04:29 -0500 | [diff] [blame] | 572 | |
Leonardo Sandoval | c044377 | 2020-11-12 11:22:48 -0600 | [diff] [blame] | 573 | # Removing the source files |
| 574 | rm -rf drivers/marvell/mv_ddr 2> /dev/null |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 575 | |
| 576 | # Platforms from Meson |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 577 | make PLAT=gxbb $(common_flags) all |
| 578 | make PLAT=gxl $(common_flags) all |
| 579 | make PLAT=g12a $(common_flags) all |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 580 | |
| 581 | # Platforms from Renesas |
| 582 | # Renesas R-Car D3 Automotive SoC |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 583 | clean_build PLAT=rcar $(common_flags) BL32=Makefile \ |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 584 | BL33=Makefile LIFEC_DBSC_PROTECT_ENABLE=0 LSI=D3 \ |
| 585 | MBEDTLS_DIR=$(pwd)/mbedtls PMIC_ROHM_BD9571=0 \ |
| 586 | RCAR_AVS_SETTING_ENABLE=0 SPD=none RCAR_LOSSY_ENABLE=0 \ |
| 587 | RCAR_SA0_SIZE=0 RCAR_SYSTEM_SUSPEND=0 TRUSTED_BOARD_BOOT=1 |
| 588 | |
| 589 | # Renesas R-Car H3 Automotive SoC |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 590 | clean_build PLAT=rcar $(common_flags) BL32=Makefile \ |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 591 | BL33=Makefile MBEDTLS_DIR=$(pwd)/mbedtls LSI=H3 \ |
| 592 | MACHINE=ulcb PMIC_LEVEL_MODE=0 RCAR_DRAM_LPDDR4_MEMCONF=0 \ |
| 593 | RCAR_DRAM_SPLIT=1 RCAR_GEN3_ULCB=1 SPD=opteed \ |
| 594 | TRUSTED_BOARD_BOOT=1 |
| 595 | |
| 596 | # Renesas R-Car H3N Automotive SoC |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 597 | clean_build PLAT=rcar $(common_flags) BL32=Makefile \ |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 598 | BL33=Makefile MBEDTLS_DIR=$(pwd)/mbedtls LSI=H3N \ |
| 599 | SPD=opteed TRUSTED_BOARD_BOOT=1 |
| 600 | |
| 601 | # Renesas R-Car M3 Automotive SoC |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 602 | clean_build PLAT=rcar $(common_flags) BL32=Makefile \ |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 603 | BL33=Makefile MBEDTLS_DIR=$(pwd)/mbedtls LSI=M3 \ |
| 604 | MACHINE=ulcb PMIC_LEVEL_MODE=0 RCAR_DRAM_LPDDR4_MEMCONF=0 \ |
| 605 | RCAR_DRAM_SPLIT=2 RCAR_GEN3_ULCB=1 SPD=opteed \ |
| 606 | TRUSTED_BOARD_BOOT=1 |
| 607 | |
| 608 | # Renesas R-Car M3N Automotive SoC |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 609 | clean_build PLAT=rcar $(common_flags) BL32=Makefile \ |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 610 | BL33=Makefile MBEDTLS_DIR=$(pwd)/mbedtls LSI=M3N \ |
| 611 | MACHINE=ulcb PMIC_LEVEL_MODE=0 RCAR_DRAM_LPDDR4_MEMCONF=0 \ |
| 612 | RCAR_GEN3_ULCB=1 SPD=opteed TRUSTED_BOARD_BOOT=1 |
| 613 | |
| 614 | # Renesas R-Car E3 Automotive SoC |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 615 | clean_build PLAT=rcar $(common_flags) BL32=Makefile \ |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 616 | BL33=Makefile MBEDTLS_DIR=$(pwd)/mbedtls LSI=E3 \ |
| 617 | RCAR_AVS_SETTING_ENABLE=0 RCAR_DRAM_DDR3L_MEMCONF=0 \ |
| 618 | RCAR_SA0_SIZE=0 SPD=opteed TRUSTED_BOARD_BOOT=1 |
| 619 | |
| 620 | # Renesas R-Car V3M Automotive SoC |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 621 | clean_build PLAT=rcar $(common_flags) BL32=Makefile \ |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 622 | MBEDTLS_DIR=$(pwd)/mbedtls BL33=Makefile LSI=V3M MACHINE=eagle \ |
| 623 | PMIC_ROHM_BD9571=0 RCAR_DRAM_SPLIT=0 RCAR_SYSTEM_SUSPEND=0 \ |
| 624 | AVS_SETTING_ENABLE=0 SPD=none TRUSTED_BOARD_BOOT=1 |
| 625 | |
Zelalem | f429967 | 2021-01-29 12:52:59 -0600 | [diff] [blame] | 626 | # Renesas HiHope RZ/G2M development kit |
| 627 | clean_build PLAT=rzg $(common_flags) \ |
| 628 | MBEDTLS_DIR=$(pwd)/mbedtls LSI=G2M \ |
| 629 | RCAR_DRAM_SPLIT=2 RCAR_LOSSY_ENABLE=1 SPD=none |
| 630 | |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 631 | # Platforms from ST |
Yann Gautier | dfd8aa8 | 2022-11-02 14:34:26 +0100 | [diff] [blame] | 632 | stm32mp1_common_flags="$(common_flags) \ |
| 633 | ARCH=aarch32 \ |
| 634 | ARM_ARCH_MAJOR=7 \ |
| 635 | CROSS_COMPILE=arm-none-eabi- \ |
| 636 | ENABLE_STACK_PROTECTOR=strong \ |
| 637 | PLAT=stm32mp1" |
| 638 | |
Yann Gautier | a69cf79 | 2021-09-01 11:19:01 +0200 | [diff] [blame] | 639 | # STM32MP1 SDMMC boot |
Govindraj Raja | 95f855c | 2023-03-01 13:11:42 +0000 | [diff] [blame] | 640 | make ${stm32mp1_common_flags} STM32MP_SDMMC=1 \ |
Yann Gautier | a69cf79 | 2021-09-01 11:19:01 +0200 | [diff] [blame] | 641 | BUILD_PLAT=build/stm32mp1-sdmmc/debug \ |
Yann Gautier | dfd8aa8 | 2022-11-02 14:34:26 +0100 | [diff] [blame] | 642 | AARCH32_SP=sp_min bl2 bl32 |
Yann Gautier | a69cf79 | 2021-09-01 11:19:01 +0200 | [diff] [blame] | 643 | |
Yann Gautier | 15c4539 | 2023-08-21 11:03:33 +0200 | [diff] [blame] | 644 | # STM32MP1 SDMMC boot BL2 without AARCH32_SP |
| 645 | make ${stm32mp1_common_flags} STM32MP_SDMMC=1 \ |
| 646 | BUILD_PLAT=build/stm32mp1-sdmmc/debug \ |
| 647 | bl2 |
| 648 | |
Yann Gautier | a69cf79 | 2021-09-01 11:19:01 +0200 | [diff] [blame] | 649 | # STM32MP1 eMMC boot |
Govindraj Raja | 95f855c | 2023-03-01 13:11:42 +0000 | [diff] [blame] | 650 | make ${stm32mp1_common_flags} STM32MP_EMMC=1 \ |
Yann Gautier | a69cf79 | 2021-09-01 11:19:01 +0200 | [diff] [blame] | 651 | BUILD_PLAT=build/stm32mp1-emmc/debug \ |
Yann Gautier | dfd8aa8 | 2022-11-02 14:34:26 +0100 | [diff] [blame] | 652 | AARCH32_SP=sp_min bl2 bl32 |
Yann Gautier | a69cf79 | 2021-09-01 11:19:01 +0200 | [diff] [blame] | 653 | |
| 654 | # STM32MP1 Raw NAND boot |
Govindraj Raja | 95f855c | 2023-03-01 13:11:42 +0000 | [diff] [blame] | 655 | make ${stm32mp1_common_flags} STM32MP_RAW_NAND=1 \ |
Yann Gautier | a69cf79 | 2021-09-01 11:19:01 +0200 | [diff] [blame] | 656 | BUILD_PLAT=build/stm32mp1-nand/debug \ |
Yann Gautier | dfd8aa8 | 2022-11-02 14:34:26 +0100 | [diff] [blame] | 657 | AARCH32_SP=sp_min bl2 bl32 |
Yann Gautier | a69cf79 | 2021-09-01 11:19:01 +0200 | [diff] [blame] | 658 | |
| 659 | # STM32MP1 SPI NAND boot |
Govindraj Raja | 95f855c | 2023-03-01 13:11:42 +0000 | [diff] [blame] | 660 | make ${stm32mp1_common_flags} STM32MP_SPI_NAND=1 \ |
Yann Gautier | a69cf79 | 2021-09-01 11:19:01 +0200 | [diff] [blame] | 661 | BUILD_PLAT=build/stm32mp1-snand/debug \ |
Yann Gautier | dfd8aa8 | 2022-11-02 14:34:26 +0100 | [diff] [blame] | 662 | AARCH32_SP=sp_min bl2 bl32 |
Yann Gautier | a69cf79 | 2021-09-01 11:19:01 +0200 | [diff] [blame] | 663 | |
| 664 | # STM32MP1 SPI NOR boot |
Govindraj Raja | 95f855c | 2023-03-01 13:11:42 +0000 | [diff] [blame] | 665 | make ${stm32mp1_common_flags} STM32MP_SPI_NOR=1 \ |
Yann Gautier | a69cf79 | 2021-09-01 11:19:01 +0200 | [diff] [blame] | 666 | BUILD_PLAT=build/stm32mp1-snor/debug \ |
Govindraj Raja | 95f855c | 2023-03-01 13:11:42 +0000 | [diff] [blame] | 667 | AARCH32_SP=sp_min bl2 bl32 |
Yann Gautier | a69cf79 | 2021-09-01 11:19:01 +0200 | [diff] [blame] | 668 | |
Patrick Delaunay | d2017a4 | 2021-11-02 14:57:50 +0100 | [diff] [blame] | 669 | # STM32MP1 UART boot |
Govindraj Raja | 95f855c | 2023-03-01 13:11:42 +0000 | [diff] [blame] | 670 | make ${stm32mp1_common_flags} STM32MP_UART_PROGRAMMER=1 \ |
Patrick Delaunay | d2017a4 | 2021-11-02 14:57:50 +0100 | [diff] [blame] | 671 | BUILD_PLAT=build/stm32mp1-uart/debug \ |
Yann Gautier | dfd8aa8 | 2022-11-02 14:34:26 +0100 | [diff] [blame] | 672 | AARCH32_SP=sp_min bl2 bl32 |
Patrick Delaunay | d2017a4 | 2021-11-02 14:57:50 +0100 | [diff] [blame] | 673 | |
Patrick Delaunay | 7d65acf | 2021-09-10 15:58:26 +0200 | [diff] [blame] | 674 | # STM32MP1 USB boot |
Govindraj Raja | 95f855c | 2023-03-01 13:11:42 +0000 | [diff] [blame] | 675 | make ${stm32mp1_common_flags} STM32MP_USB_PROGRAMMER=1 \ |
Patrick Delaunay | 7d65acf | 2021-09-10 15:58:26 +0200 | [diff] [blame] | 676 | BUILD_PLAT=build/stm32mp1-usb/debug \ |
Yann Gautier | dfd8aa8 | 2022-11-02 14:34:26 +0100 | [diff] [blame] | 677 | AARCH32_SP=sp_min bl2 bl32 |
Patrick Delaunay | 7d65acf | 2021-09-10 15:58:26 +0200 | [diff] [blame] | 678 | |
Lionel Debieve | 8f464c0 | 2022-10-13 09:25:45 +0200 | [diff] [blame] | 679 | # STM32MP1 TBBR |
Govindraj Raja | 95f855c | 2023-03-01 13:11:42 +0000 | [diff] [blame] | 680 | make ${stm32mp1_common_flags} STM32MP_SDMMC=1 \ |
Yann Gautier | 741e849 | 2022-11-14 19:04:27 +0100 | [diff] [blame] | 681 | BUILD_PLAT=build/stm32mp1-sdmmc-tbbr/debug \ |
Lionel Debieve | 8f464c0 | 2022-10-13 09:25:45 +0200 | [diff] [blame] | 682 | MBEDTLS_DIR=$(pwd)/mbedtls TRUSTED_BOARD_BOOT=1 \ |
Yann Gautier | dfd8aa8 | 2022-11-02 14:34:26 +0100 | [diff] [blame] | 683 | AARCH32_SP=sp_min bl2 bl32 |
Lionel Debieve | 8f464c0 | 2022-10-13 09:25:45 +0200 | [diff] [blame] | 684 | |
Govindraj Raja | 95f855c | 2023-03-01 13:11:42 +0000 | [diff] [blame] | 685 | stm32mp13_common_flags="${stm32mp1_common_flags} \ |
| 686 | AARCH32_SP=optee \ |
| 687 | STM32MP13=1" |
| 688 | |
Yann Gautier | 773c550 | 2022-03-10 17:24:47 +0100 | [diff] [blame] | 689 | # STM32MP13 SDMMC boot |
Govindraj Raja | 95f855c | 2023-03-01 13:11:42 +0000 | [diff] [blame] | 690 | make ${stm32mp13_common_flags} STM32MP_SDMMC=1 \ |
Yann Gautier | dfd8aa8 | 2022-11-02 14:34:26 +0100 | [diff] [blame] | 691 | BUILD_PLAT=build/stm32mp1-mp13-sdmmc/debug bl2 |
Yann Gautier | 773c550 | 2022-03-10 17:24:47 +0100 | [diff] [blame] | 692 | |
Lionel Debieve | 8f464c0 | 2022-10-13 09:25:45 +0200 | [diff] [blame] | 693 | # STM32MP13 TBBR |
Govindraj Raja | 95f855c | 2023-03-01 13:11:42 +0000 | [diff] [blame] | 694 | make ${stm32mp13_common_flags} STM32MP_SDMMC=1 \ |
Lionel Debieve | 8f464c0 | 2022-10-13 09:25:45 +0200 | [diff] [blame] | 695 | MBEDTLS_DIR=$(pwd)/mbedtls TRUSTED_BOARD_BOOT=1 \ |
Yann Gautier | dfd8aa8 | 2022-11-02 14:34:26 +0100 | [diff] [blame] | 696 | BUILD_PLAT=build/stm32mp1-mp13-sdmmc-tbbr/debug bl2 |
Lionel Debieve | 8f464c0 | 2022-10-13 09:25:45 +0200 | [diff] [blame] | 697 | |
Yann Gautier | a66e501 | 2022-12-13 13:52:35 +0100 | [diff] [blame] | 698 | # STM32MP13 TBBR DECRYPTION AES GCM |
Govindraj Raja | 95f855c | 2023-03-01 13:11:42 +0000 | [diff] [blame] | 699 | make ${stm32mp13_common_flags} STM32MP_SDMMC=1 \ |
Yann Gautier | a66e501 | 2022-12-13 13:52:35 +0100 | [diff] [blame] | 700 | MBEDTLS_DIR=$(pwd)/mbedtls TRUSTED_BOARD_BOOT=1 \ |
| 701 | DECRYPTION_SUPPORT=aes_gcm ENCRYPT_BL32=1 \ |
| 702 | BUILD_PLAT=build/stm32mp1-mp13-sdmmc-tbbr-dec/debug bl2 |
| 703 | |
Yann Gautier | e9da1e2 | 2023-08-11 14:50:04 +0200 | [diff] [blame] | 704 | stm32mp2_common_flags="$(common_flags) \ |
| 705 | ARCH=aarch64 \ |
| 706 | CROSS_COMPILE=aarch64-none-elf- \ |
| 707 | PLAT=stm32mp2" |
| 708 | |
| 709 | # STM32MP25 SDMMC boot |
| 710 | make ${stm32mp2_common_flags} STM32MP_SDMMC=1 \ |
| 711 | SPD=opteed STM32MP_DDR4_TYPE=1 \ |
| 712 | BUILD_PLAT=build/stm32mp2-mp25-sdmmc/debug |
| 713 | |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 714 | # Platforms from TI |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 715 | make PLAT=k3 $(common_flags) all |
Hari Nagalla | dadd89f | 2022-08-30 12:10:00 -0500 | [diff] [blame] | 716 | make PLAT=k3 TARGET_BOARD=j784s4 $(common_flags) all |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 717 | |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 718 | clean_build PLAT=qemu $(common_flags) ${TBB_OPTIONS} |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 719 | # Use GICV3 driver |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 720 | clean_build PLAT=qemu $(common_flags) QEMU_USE_GIC_DRIVER=QEMU_GICV3 \ |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 721 | ENABLE_STACK_PROTECTOR=strong |
Dongjiu Geng | 72819ee | 2023-06-16 18:48:57 +0800 | [diff] [blame] | 722 | # Use GICV3 driver with SDEI support |
| 723 | clean_build PLAT=qemu $(common_flags) QEMU_USE_GIC_DRIVER=QEMU_GICV3 \ |
| 724 | ENABLE_STACK_PROTECTOR=strong SDEI_SUPPORT=1 EL3_EXCEPTION_HANDLING=1 |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 725 | # Use encrypted FIP feature. |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 726 | clean_build PLAT=qemu $(common_flags) ${TBB_OPTIONS} \ |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 727 | BL32_RAM_LOCATION=tdram DECRYPTION_SUPPORT=aes_gcm ENCRYPT_BL31=1 \ |
| 728 | ENCRYPT_BL32=1 FW_ENC_STATUS=0 SPD=opteed |
Jens Wiklander | 1a9c2be | 2021-11-26 09:56:55 +0100 | [diff] [blame] | 729 | # QEMU with SPMD support |
| 730 | clean_build PLAT=qemu $(common_flags) BL32=Makefile \ |
| 731 | BL32_RAM_LOCATION=tdram ARM_BL31_IN_DRAM=1 \ |
| 732 | SPD=spmd CTX_INCLUDE_EL2_REGS=0 SPMD_SPM_AT_SEL2=0 SPMC_OPTEE=1 |
Ruchika Gupta | 86e7f68 | 2022-04-12 10:25:46 +0530 | [diff] [blame] | 733 | # Measured Boot |
laurenw-arm | 8531e70 | 2022-06-09 15:32:37 -0500 | [diff] [blame] | 734 | clean_build PLAT=qemu $(common_flags) ${TBB_OPTIONS} MBOOT_EL_HASH_ALG=sha256 MEASURED_BOOT=1 |
Raymond Mao | 7681ba0 | 2023-08-10 14:05:44 -0700 | [diff] [blame] | 735 | # Transfer List |
| 736 | clean_build PLAT=qemu $(common_flags) TRANSFER_LIST=1 |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 737 | |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 738 | clean_build PLAT=qemu_sbsa $(common_flags) |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 739 | |
Zelalem | d86e876 | 2020-08-21 18:24:28 -0500 | [diff] [blame] | 740 | # QEMU with SPM support |
| 741 | clean_build PLAT=qemu_sbsa $(common_flags) BL32=Makefile SPM_MM=1 \ |
Paul Sokolovsky | cf9fe86 | 2023-01-02 16:22:21 +0300 | [diff] [blame] | 742 | EL3_EXCEPTION_HANDLING=1 ENABLE_SME_FOR_NS=0 ENABLE_SVE_FOR_NS=0 |
Zelalem | d86e876 | 2020-08-21 18:24:28 -0500 | [diff] [blame] | 743 | |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 744 | # For hikey enable PMF to include all files in the platform port |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 745 | make PLAT=hikey $(common_flags) ${TBB_OPTIONS} ENABLE_PMF=1 all |
| 746 | make PLAT=hikey960 $(common_flags) ${TBB_OPTIONS} all |
Lukas Hanel | d075239 | 2022-10-13 11:13:19 +0200 | [diff] [blame] | 747 | make PLAT=hikey960 $(common_flags) ${TBB_OPTIONS} SPD=spmd SPMC_AT_EL3=1 \ |
| 748 | SPMD_SPM_AT_SEL2=0 BL32=optee PLAT_SP_MANIFEST_DTS=foo NEED_FDT=no all |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 749 | make PLAT=poplar $(common_flags) all |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 750 | |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 751 | # Platforms from Socionext |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 752 | clean_build PLAT=uniphier $(common_flags) ${TBB_OPTIONS} SPD=tspd |
| 753 | clean_build PLAT=uniphier $(common_flags) FIP_GZIP=1 |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 754 | |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 755 | clean_build PLAT=synquacer $(common_flags) SPM_MM=1 \ |
Jassi Brar | 8608092 | 2022-06-27 14:16:34 -0500 | [diff] [blame] | 756 | RESET_TO_BL31=1 EL3_EXCEPTION_HANDLING=1 ENABLE_SVE_FOR_NS=0 \ |
| 757 | PRELOADED_BL33_BASE=0x0 |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 758 | |
| 759 | # Support for SCP Message Interface protocol with platform specific drivers |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 760 | clean_build PLAT=synquacer $(common_flags) \ |
Jassi Brar | 8608092 | 2022-06-27 14:16:34 -0500 | [diff] [blame] | 761 | RESET_TO_BL31=1 PRELOADED_BL33_BASE=0x0 SQ_USE_SCMI_DRIVER=1 |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 762 | |
Jassi Brar | b8c7ca0 | 2022-06-27 14:22:10 -0500 | [diff] [blame] | 763 | # Support for BL2 and TBBR |
| 764 | clean_build PLAT=synquacer $(common_flags) \ |
| 765 | MBEDTLS_DIR=$(pwd)/mbedtls TRUSTED_BOARD_BOOT=1 \ |
| 766 | SQ_USE_SCMI_DRIVER=1 SPD=opteed all |
| 767 | |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 768 | make PLAT=poplar $(common_flags) all |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 769 | |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 770 | # Raspberry Pi Platforms |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 771 | make PLAT=rpi3 $(common_flags) ${TBB_OPTIONS} \ |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 772 | ENABLE_STACK_PROTECTOR=strong PRELOADED_BL33_BASE=0xDEADBEEF all |
Andre Przywara | e917ec8 | 2021-09-03 15:01:30 +0100 | [diff] [blame] | 773 | clean_build PLAT=rpi4 $(common_flags) SMC_PCI_SUPPORT=1 all |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 774 | |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 775 | # A113D (AXG) platform. |
Leonardo Sandoval | 97e2ef0 | 2020-08-06 13:29:08 -0500 | [diff] [blame] | 776 | clean_build PLAT=axg $(common_flags) SPD=opteed |
| 777 | clean_build PLAT=axg $(common_flags) AML_USE_ATOS=1 |
Zelalem | c9531f8 | 2020-08-04 15:37:08 -0500 | [diff] [blame] | 778 | |
Stephan Gerhold | 141a766 | 2021-12-07 20:42:14 +0100 | [diff] [blame] | 779 | # QTI MSM8916 platform |
Stephan Gerhold | 3b3976f | 2023-04-17 16:27:11 +0200 | [diff] [blame] | 780 | clean_build PLAT=mdm9607 CROSS_COMPILE=arm-none-eabi- $(common_flags) \ |
| 781 | ARCH=aarch32 AARCH32_SP=sp_min |
| 782 | clean_build PLAT=msm8909 CROSS_COMPILE=arm-none-eabi- $(common_flags) \ |
| 783 | ARCH=aarch32 AARCH32_SP=sp_min |
Stephan Gerhold | 141a766 | 2021-12-07 20:42:14 +0100 | [diff] [blame] | 784 | clean_build PLAT=msm8916 $(common_flags) |
Manish V Badarkhe | c540e62 | 2023-06-28 17:56:40 +0100 | [diff] [blame] | 785 | clean_build PLAT=msm8916 CROSS_COMPILE=arm-none-eabi- $(common_flags) \ |
| 786 | ARCH=aarch32 AARCH32_SP=sp_min |
Stephan Gerhold | 998f0d6 | 2023-04-17 16:22:52 +0200 | [diff] [blame] | 787 | clean_build PLAT=msm8916 $(common_flags) SPD=tspd |
Stephan Gerhold | 3b3976f | 2023-04-17 16:27:11 +0200 | [diff] [blame] | 788 | clean_build PLAT=msm8939 $(common_flags) |
| 789 | clean_build PLAT=msm8939 CROSS_COMPILE=arm-none-eabi- $(common_flags) \ |
| 790 | ARCH=aarch32 AARCH32_SP=sp_min |
| 791 | clean_build PLAT=msm8939 $(common_flags) SPD=tspd |
Stephan Gerhold | 141a766 | 2021-12-07 20:42:14 +0100 | [diff] [blame] | 792 | |
Chia-Wei Wang | 7dcb0d0 | 2023-06-09 09:52:52 +0800 | [diff] [blame] | 793 | # Platforms from Aspeed |
| 794 | clean_build PLAT=ast2700 $(common_flags) SPD=opteed |
| 795 | |
rutigl@gmail.com | 86cfcf9 | 2023-03-21 10:10:11 +0200 | [diff] [blame] | 796 | # Nuvoton npcm845x platform |
| 797 | make PLAT=npcm845x $(common_flags) all SPD=opteed |
| 798 | |
Harrison Mutai | ee958c1 | 2023-09-06 12:16:21 +0100 | [diff] [blame] | 799 | if [[ "$rc" -gt 0 ]]; then |
| 800 | echo "ERROR: tc-cov-make failed with $error_count failures" |
| 801 | exit $rc |
| 802 | fi |
| 803 | |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 804 | cd .. |