blob: c95dafe71fd8af16228a45b18fd5b3d44c0ce6c7 [file] [log] [blame]
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +01001#!/usr/bin/env python3
2
3""" builtin_configs.py:
4
5 Default configuration files used as reference """
6
7from __future__ import print_function
8
9__copyright__ = """
10/*
Jamie Fox9e2c2352023-01-13 15:11:23 +000011 * Copyright (c) 2018-2023, Arm Limited. All rights reserved.
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010012 *
13 * SPDX-License-Identifier: BSD-3-Clause
14 *
15 */
16 """
Karl Zhang08681e62020-10-30 13:56:03 +080017
18__author__ = "tf-m@lists.trustedfirmware.org"
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010019__project__ = "Trusted Firmware-M Open CI"
Xinyu Zhang06286a92021-07-22 14:00:51 +080020__version__ = "1.4.0"
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010021
Paul Sokolovsky3e8fce02022-04-07 01:23:30 +030022from copy import deepcopy
23
24
Minos Galanakisea421232019-06-20 17:11:28 +010025# common parameters for tf-m build system
26# This configuration template will be passed into the tfm-builder module after
27# the template evaluation is converted to a command
28
29_common_tfm_builder_cfg = {
30 "config_type": "tf-m",
31 "codebase_root_dir": "tf-m",
32 # Order to which the variants are evaluated. This affects the name of
33 # variant configuration and the wildcard replacement logic in invalid
34 # configuration tuples
Xinyu Zhangb708f572020-09-15 11:43:46 +080035 "sort_order": ["tfm_platform",
Xinyu Zhang433771e2022-04-01 16:49:17 +080036 "compiler",
Xinyu Zhangb708f572020-09-15 11:43:46 +080037 "isolation_level",
38 "test_regression",
39 "test_psa_api",
Minos Galanakisea421232019-06-20 17:11:28 +010040 "cmake_build_type",
Xinyu Zhangb708f572020-09-15 11:43:46 +080041 "with_bl2",
Xinyu Zhang9fd74242020-10-22 11:30:50 +080042 "profile",
Xinyu Zhangfd2e1152021-12-17 18:09:01 +080043 "extra_params"],
Minos Galanakisea421232019-06-20 17:11:28 +010044
45 # Keys for the templace will come from the combinations of parameters
46 # provided in the seed dictionary.
47
Xinyu Zhang69433ad2023-08-15 17:43:51 +080048 "spe_config_template": "cmake -G Ninja " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080049 "-DTFM_PLATFORM=%(tfm_platform)s " + \
Xinyu Zhang433771e2022-04-01 16:49:17 +080050 "-DTFM_TOOLCHAIN_FILE=%(codebase_root_dir)s/%(compiler)s " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080051 "-DTFM_ISOLATION_LEVEL=%(isolation_level)s " + \
Xinyu Zhangb18ae742023-04-25 14:33:27 +080052 "%(test_regression)s " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080053 "-DCMAKE_BUILD_TYPE=%(cmake_build_type)s " + \
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +080054 "-DTEST_PSA_API=%(test_psa_api)s " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080055 "-DBL2=%(with_bl2)s " + \
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +080056 "-DTFM_PROFILE=%(profile)s " + \
Xinyu Zhang69433ad2023-08-15 17:43:51 +080057 "-DCONFIG_TFM_BUILD_SPLIT=ON " + \
58 "-DCMAKE_INSTALL_PREFIX=%(codebase_root_dir)s/../ci_build/api_ns " +\
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +080059 "%(extra_params)s " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080060 "-DTFM_TEST_REPO_PATH=%(codebase_root_dir)s/../tf-m-tests " + \
61 "-DMBEDCRYPTO_PATH=%(codebase_root_dir)s/../mbedtls " + \
62 "-DPSA_ARCH_TESTS_PATH=%(codebase_root_dir)s/../psa-arch-tests " + \
63 "-DMCUBOOT_PATH=%(codebase_root_dir)s/../mcuboot " + \
Xinyu Zhang1f21cb22023-06-26 17:56:49 +080064 "-DQCBOR_PATH=%(codebase_root_dir)s/../qcbor " + \
65 "-DTFM_EXTRAS_REPO_PATH=%(codebase_root_dir)s/../tf-m-extras " + \
Xinyu Zhang69433ad2023-08-15 17:43:51 +080066 "-S %(codebase_root_dir)s " + \
67 "-B %(codebase_root_dir)s/../ci_build/spe_build ",
68
69 "nspe_config_template": "cmake -G Ninja " + \
70 "%(test_regression)s " + \
71 "%(extra_params)s " + \
72 "-DCONFIG_SPE_PATH=%(codebase_root_dir)s/../ci_build/api_ns " + \
73 "-S %(codebase_root_dir)s/../tf-m-tests/app_ns_test " + \
74 "-B %(codebase_root_dir)s/../ci_build/nspe_build ",
75
76 # CMake build commands will be executed for every build.
77 "spe_cmake_build": "cmake --build %(codebase_root_dir)s/../ci_build/spe_build -- install",
78 "nspe_cmake_build": "cmake --build %(codebase_root_dir)s/../ci_build/nspe_build -- tfm_app_binaries",
Karl Zhangaff558a2020-05-15 14:28:23 +010079
Xinyu Zhang433771e2022-04-01 16:49:17 +080080 "set_compiler_path": "export PATH=$PATH:$%(compiler)s_PATH",
81
Minos Galanakisea421232019-06-20 17:11:28 +010082 # A small subset of string substitution params is allowed in commands.
83 # tfm_build_manager will replace %(_tbm_build_dir_)s, %(_tbm_code_dir_)s,
84 # _tbm_target_platform_ with the paths set when building
85
Xinyu Zhangb708f572020-09-15 11:43:46 +080086 "artifact_capture_rex": (r'%(_tbm_build_dir_)s/bin'
Minos Galanakisea421232019-06-20 17:11:28 +010087 r'/(\w+\.(?:axf|bin|hex))$'),
88
Xinyu Zhang46b37182023-06-30 15:36:44 +080089 # Keys will append extra commands when matching target_platform
Xinyu Zhang69433ad2023-08-15 17:43:51 +080090 "post_build": {"arm/corstone1000": ("dd conv=notrunc bs=1 if=%(codebase_root_dir)s/../ci_build/spe_build/bin/bl1_1.bin of=%(codebase_root_dir)s/../ci_build/spe_build/bin/bl1.bin seek=0;"
91 "dd conv=notrunc bs=1 if=%(codebase_root_dir)s/../ci_build/spe_build/bin/bl1_provisioning_bundle.bin of=%(codebase_root_dir)s/../ci_build/spe_build/bin/bl1.bin seek=40960;"
92 "../platform/ext/target/arm/corstone1000/create-flash-image.sh %(codebase_root_dir)s/../ci_build/spe_build/bin/ cs1000.bin;"),
Emekcan Aras6df7d552023-08-15 09:54:42 +010093 "arm/musca_b1": ("srec_cat "
Xinyu Zhang69433ad2023-08-15 17:43:51 +080094 "%(codebase_root_dir)s/../ci_build/spe_build/bin/"
Mark Horvathef57baa2022-09-12 13:36:36 +020095 "bl2.bin "
96 "-Binary -offset 0xA000000 "
97 "-fill 0xFF 0xA000000 0xA020000 "
Xinyu Zhang69433ad2023-08-15 17:43:51 +080098 "%(codebase_root_dir)s/../ci_build/nspe_build/"
Mark Horvathef57baa2022-09-12 13:36:36 +020099 "tfm_s_ns_signed.bin "
100 "-Binary -offset 0xA020000 "
101 "-fill 0xFF 0xA020000 0xA200000 "
Xinyu Zhang69433ad2023-08-15 17:43:51 +0800102 "-o %(codebase_root_dir)s/../ci_build/"
Xinyu Zhang46b37182023-06-30 15:36:44 +0800103 "tfm.hex -Intel"),
104 "arm/musca_s1": ("srec_cat "
Xinyu Zhang69433ad2023-08-15 17:43:51 +0800105 "%(codebase_root_dir)s/../ci_build/spe_build/bin/"
Xinyu Zhangb708f572020-09-15 11:43:46 +0800106 "bl2.bin "
Karl Zhangeffed972020-06-30 15:48:01 +0800107 "-Binary -offset 0xA000000 "
Raef Coles543aab32020-12-03 11:12:02 +0000108 "-fill 0xFF 0xA000000 0xA020000 "
Xinyu Zhang69433ad2023-08-15 17:43:51 +0800109 "%(codebase_root_dir)s/../ci_build/nspe_build/"
Xinyu Zhang694eb492020-11-04 18:29:08 +0800110 "tfm_s_ns_signed.bin "
Raef Coles543aab32020-12-03 11:12:02 +0000111 "-Binary -offset 0xA020000 "
112 "-fill 0xFF 0xA020000 0xA200000 "
Xinyu Zhang69433ad2023-08-15 17:43:51 +0800113 "-o %(codebase_root_dir)s/../ci_build/"
Xinyu Zhang46b37182023-06-30 15:36:44 +0800114 "tfm.hex -Intel"),
115 "stm/stm32l562e_dk": ("echo 'STM32L562E-DK board post process';"
Xinyu Zhang69433ad2023-08-15 17:43:51 +0800116 # TODO: Confirm the path of postbuild.sh
117 "%(codebase_root_dir)s/../ci_build/spe_build/postbuild.sh;"
118 "pushd %(codebase_root_dir)s/../ci_build/spe_build;"
Arthur She07c91b52021-07-15 15:03:10 -0700119 "BIN_FILES=$(grep -o '\/.*\.bin' TFM_UPDATE.sh | sed 's/^/bin/');"
120 "tar jcf ./bin/stm32l562e-dk-tfm.tar.bz2 regression.sh TFM_UPDATE.sh ${BIN_FILES};"
Xinyu Zhang46b37182023-06-30 15:36:44 +0800121 "popd"),
122 "stm/b_u585i_iot02a": ("echo 'STM32U5 board post process';"
Xinyu Zhang69433ad2023-08-15 17:43:51 +0800123 # TODO: Confirm the path of postbuild.sh
124 "%(codebase_root_dir)s/../ci_build/spe_build/postbuild.sh;"
125 "pushd %(codebase_root_dir)s/../ci_build/spe_build;"
Arthur She026ebb62023-02-08 18:47:39 -0800126 "BIN_FILES=$(grep -o '\/.*\.bin' TFM_UPDATE.sh | sed 's/^/bin/');"
127 "tar jcf ./bin/b_u585i_iot02a-tfm.tar.bz2 regression.sh TFM_UPDATE.sh ${BIN_FILES};"
Xinyu Zhang46b37182023-06-30 15:36:44 +0800128 "popd"),
129 "nxp/lpcxpresso55s69": ("echo 'LPCXpresso55S69 board post process\n';"
Xinyu Zhang69433ad2023-08-15 17:43:51 +0800130 "if [ -f \"%(codebase_root_dir)s/../ci_build/spe_build/bin/bl2.hex\" ]; then FLASH_FILE='flash_bl2_JLink.py'; else FLASH_FILE='flash_JLink.py'; fi;"
131 "pushd%(codebase_root_dir)s/platform/ext/target/nxp/lpcxpresso55s69/scripts;"
Arthur She3c0dadd2021-11-18 21:17:48 -0800132 "LN=$(grep -n 'JLinkExe' ${FLASH_FILE}|awk -F: '{print $1}');"
133 "sed -i \"${LN}s/.*/ print('flash.jlink generated')/\" ${FLASH_FILE};"
134 "python3 ./${FLASH_FILE};"
Xinyu Zhang69433ad2023-08-15 17:43:51 +0800135 # TODO: Confirm which bin is needed? SPE or NSPE?
136 "cd %(codebase_root_dir)s/../ci_build/spe_build/bin;"
Arthur She3c0dadd2021-11-18 21:17:48 -0800137 "BIN_FILES=$(grep loadfile flash.jlink | awk '{print $2}');"
138 "tar jcf lpcxpresso55s69-tfm.tar.bz2 flash.jlink ${BIN_FILES};"
Xinyu Zhang46b37182023-06-30 15:36:44 +0800139 "popd"),
140 "cypress/psoc64": ("echo 'Sign binaries for Cypress PSoC64 platform';"
Xinyu Zhang69433ad2023-08-15 17:43:51 +0800141 "pushd %(codebase_root_dir)s/;"
Arthur She87602dc2022-02-06 14:42:18 -0800142 "sudo /usr/local/bin/cysecuretools "
143 "--policy platform/ext/target/cypress/psoc64/security/policy/policy_multi_CM0_CM4_tfm.json "
144 "--target cy8ckit-064s0s2-4343w "
145 "sign-image "
Xinyu Zhang69433ad2023-08-15 17:43:51 +0800146 "--hex %(codebase_root_dir)s/../ci_build/spe_build/bin/tfm_s.hex "
Arthur She87602dc2022-02-06 14:42:18 -0800147 "--image-type BOOT --image-id 1;"
148 "sudo /usr/local/bin/cysecuretools "
149 "--policy platform/ext/target/cypress/psoc64/security/policy/policy_multi_CM0_CM4_tfm.json "
150 "--target cy8ckit-064s0s2-4343w "
151 "sign-image "
Xinyu Zhang69433ad2023-08-15 17:43:51 +0800152 "--hex %(codebase_root_dir)s/../ci_build/nspe_build/bin/tfm_ns.hex "
Arthur She87602dc2022-02-06 14:42:18 -0800153 "--image-type BOOT --image-id 16;"
Xinyu Zhang69433ad2023-08-15 17:43:51 +0800154 "mv %(codebase_root_dir)s/../ci_build/spe_build/bin/tfm_s.hex %(codebase_root_dir)s/../ci_build/spe_build/bin/tfm_s_signed.hex;"
155 "mv %(codebase_root_dir)s/../ci_build/nspe_build/bin/tfm_ns.hex %(codebase_root_dir)s/../ci_build/nspe_build/bin/tfm_ns_signed.hex;"
Xinyu Zhang46b37182023-06-30 15:36:44 +0800156 "popd")
Minos Galanakisea421232019-06-20 17:11:28 +0100157 },
158
159 # (Optional) If set will fail if those artefacts are missing post build
160 "required_artefacts": {"all": [
Xinyu Zhang69433ad2023-08-15 17:43:51 +0800161 "%(codebase_root_dir)s/../ci_build/spe_build/bin/"
Xinyu Zhangb708f572020-09-15 11:43:46 +0800162 "tfm_s.bin",
Xinyu Zhang69433ad2023-08-15 17:43:51 +0800163 "%(codebase_root_dir)s/../ci_build/nspe_build/"
Xinyu Zhangb708f572020-09-15 11:43:46 +0800164 "tfm_ns.bin"],
Mark Horvathef57baa2022-09-12 13:36:36 +0200165 "arm/musca_b1": [
Xinyu Zhang69433ad2023-08-15 17:43:51 +0800166 "%(codebase_root_dir)s/../ci_build/tfm.hex",
167 "%(codebase_root_dir)s/../ci_build/spe_build/bin/"
Xinyu Zhang694eb492020-11-04 18:29:08 +0800168 "bl2.bin",
Xinyu Zhang69433ad2023-08-15 17:43:51 +0800169 "%(codebase_root_dir)s/../ci_build/spe_build/bin/"
Xinyu Zhangb708f572020-09-15 11:43:46 +0800170 "tfm_sign.bin"],
Summer Qin3c2b5722021-05-26 10:43:45 +0800171 "arm/musca_s1": [
Xinyu Zhang69433ad2023-08-15 17:43:51 +0800172 "%(codebase_root_dir)s/../ci_build/tfm.hex",
173 "%(codebase_root_dir)s/../ci_build/spe_build/bin/"
Xinyu Zhang694eb492020-11-04 18:29:08 +0800174 "bl2.bin",
Xinyu Zhang69433ad2023-08-15 17:43:51 +0800175 "%(codebase_root_dir)s/../ci_build/spe_build/bin/"
Xinyu Zhangb708f572020-09-15 11:43:46 +0800176 "tfm_sign.bin"]
Minos Galanakisea421232019-06-20 17:11:28 +0100177 }
178}
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100179
Xinyu Zhangb708f572020-09-15 11:43:46 +0800180# List of all build configs that are impossible under all circumstances
181_common_tfm_invalid_configs = [
Xinyu Zhang459a1982021-07-21 22:34:49 +0800182 # LR_CODE size exceeds limit on MUSCA_B1 & MUSCA_S1 with regression tests in Debug mode built with ARMCLANG
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800183 ("arm/musca_b1", "ARMCLANG_6_13", "*", "RegBL2, RegS, RegNS", "OFF", "Debug", "*", "", "*"),
184 ("arm/musca_s1", "ARMCLANG_6_13", "*", "RegBL2, RegS, RegNS", "OFF", "Debug", "*", "", "*"),
Karl Zhangc858a722021-03-22 21:38:19 +0800185 # Load range overlap on Musca for IPC Debug type: T895
Summer Qin379abb62022-10-08 16:41:54 +0800186 ("arm/musca_b1", "ARMCLANG_6_13", "*", "*", "IPC", "Debug", "*", "*", "*"),
187 ("arm/musca_s1", "ARMCLANG_6_13", "*", "*", "IPC", "Debug", "*", "*", "*"),
Paul Sokolovsky75f67e82022-05-02 15:39:41 +0300188 # FF does not support L3
Summer Qin379abb62022-10-08 16:41:54 +0800189 ("*", "*", "3", "*", "IPC", "*", "*", "*", "*"),
Xinyu Zhang9fd74242020-10-22 11:30:50 +0800190 # Musca requires BL2
Summer Qin379abb62022-10-08 16:41:54 +0800191 ("arm/musca_b1", "*", "*", "*", "*", "*", False, "*", "*"),
192 ("arm/musca_s1", "*", "*", "*", "*", "*", False, "*", "*"),
Xinyu Zhangb1c550f2020-10-28 15:32:38 +0800193 # Only AN521 and MUSCA_B1 support Isolation Level 3
Summer Qin379abb62022-10-08 16:41:54 +0800194 ("arm/mps2/an519", "*", "3", "*", "*", "*", "*", "*", "*"),
195 ("arm/mps3/an524", "*", "3", "*", "*", "*", "*", "*", "*"),
196 ("arm/musca_s1", "*", "3", "*", "*", "*", "*", "*", "*"),
Xinyu Zhangb708f572020-09-15 11:43:46 +0800197 ]
198
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100199# Configure build manager to build several combinations
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800200# Config group for per-patch job
201config_pp_test = {"seed_params": {
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800202 # AN519_ARMCLANG_IPC_1_RegBL2_RegS_RegNS_Debug_BL2
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800203 "tfm_platform": ["arm/mps2/an519"],
204 "compiler": ["ARMCLANG_6_13"],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800205 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800206 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800207 "test_psa_api": ["OFF"],
208 "cmake_build_type": ["Debug"],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800209 "with_bl2": [True],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800210 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800211 "extra_params": [""]
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800212 },
213 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800214 "valid": [
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800215 # AN519_ARMCLANG_2_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800216 ("arm/mps2/an519", "ARMCLANG_6_13", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800217 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
218 # AN519_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800219 ("arm/mps2/an519", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800220 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
221 # AN519_GCC_2_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800222 ("arm/mps2/an519", "GCC_10_3", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800223 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
224 # AN519_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800225 ("arm/mps2/an519", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800226 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
227 # AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2_SMALL_PSOFF
Summer Qin379abb62022-10-08 16:41:54 +0800228 ("arm/mps2/an521", "ARMCLANG_6_13", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800229 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "profile_small", "PSOFF"),
230 # AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800231 ("arm/mps2/an521", "ARMCLANG_6_13", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800232 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
Jianliang Shen6984bef2023-07-25 10:36:56 +0800233 # AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2_IPC
234 ("arm/mps2/an521", "ARMCLANG_6_13", "1",
235 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", "IPC"),
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800236 # AN521_ARMCLANG_2_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800237 ("arm/mps2/an521", "ARMCLANG_6_13", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800238 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
239 # AN521_ARMCLANG_3_RegBL2_RegS_RegNS_Minsizerel_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800240 ("arm/mps2/an521", "ARMCLANG_6_13", "3",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800241 "RegBL2, RegS, RegNS", "OFF", "Minsizerel", True, "", ""),
242 # AN521_ARMCLANG_1_RegBL2_RegS_RegNS_Debug_BL2_SMALL_PSOFF
Summer Qin379abb62022-10-08 16:41:54 +0800243 ("arm/mps2/an521", "ARMCLANG_6_13", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800244 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "profile_small", "PSOFF"),
245 # AN521_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800246 ("arm/mps2/an521", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800247 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
Summer Qin379abb62022-10-08 16:41:54 +0800248 # AN521_GCC_2_Debug_BL2_MEDIUM
249 ("arm/mps2/an521", "GCC_10_3", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800250 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "profile_medium", ""),
251 # AN521_GCC_2_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800252 ("arm/mps2/an521", "GCC_10_3", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800253 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
254 # AN521_GCC_3_RegBL2_RegS_RegNS_Minsizerel_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800255 ("arm/mps2/an521", "GCC_10_3", "3",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800256 "RegBL2, RegS, RegNS", "OFF", "Minsizerel", True, "", ""),
257 # AN521_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800258 ("arm/mps2/an521", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800259 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
Bence Balogh1aa8d582023-08-29 13:10:02 +0200260 # CS300_FVP_GNUARM_2_RegBL2_RegS_RegNS_Debug_BL2
261 ("arm/mps3/corstone300/fvp", "GCC_10_3", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800262 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
Bence Balogh1aa8d582023-08-29 13:10:02 +0200263 # CS300_FVP_GNUARM_2_RegBL2_RegS_RegNS_Release_BL2
264 ("arm/mps3/corstone300/fvp", "GCC_10_3", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800265 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
266 # MUSCA_B1_GCC_1_RegBL2_RegS_RegNS_Minsizerel_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800267 ("arm/musca_b1", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800268 "RegBL2, RegS, RegNS", "OFF", "Minsizerel", True, "", ""),
269 # MUSCA_S1_ARMCLANG_2_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800270 ("arm/musca_s1", "ARMCLANG_6_13", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800271 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
272 # MUSCA_S1_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800273 ("arm/musca_s1", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800274 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
275 # MUSCA_S1_GCC_2_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800276 ("arm/musca_s1", "GCC_10_3", "2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800277 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", ""),
278 # MUSCA_S1_GCC_1_RegBL2_RegS_RegNS_Debug_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800279 ("arm/musca_s1", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800280 "RegBL2, RegS, RegNS", "OFF", "Debug", True, "", ""),
281 # MUSCA_S1_GCC_1_RegBL2_RegS_RegNS_Release_BL2_CC_DRIVER_PSA
Summer Qin379abb62022-10-08 16:41:54 +0800282 ("arm/musca_s1", "GCC_10_3", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800283 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", "CC_DRIVER_PSA"),
Jamie Foxd7438d92022-11-21 17:42:01 +0000284 # RSS_TC_GCC_2_Release_BL2_PSOFF
285 ("arm/rss/tc", "GCC_10_3", "2",
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800286 "RegS, RegNS", "OFF", "Release", True, "", "PSOFF"),
287 # stm32l562e_dk_ARMCLANG_1_RegS_RegNS_Release_BL2_CRYPTO_OFF
Summer Qin379abb62022-10-08 16:41:54 +0800288 ("stm/stm32l562e_dk", "ARMCLANG_6_13", "1",
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800289 "RegS, RegNS", "OFF", "Release", True, "", "CRYPTO_OFF"),
290 # stm32l562e_dk_GCC_2_Release_BL2_CRYPTO_ON
Summer Qin379abb62022-10-08 16:41:54 +0800291 ("stm/stm32l562e_dk", "GCC_10_3", "2",
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800292 "OFF", "OFF", "Release", True, "", "CRYPTO_ON"),
293 # stm32l562e_dk_GCC_3_RegS_RegNS_Release_BL2_CRYPTO_OFF
Summer Qin379abb62022-10-08 16:41:54 +0800294 ("stm/stm32l562e_dk", "GCC_10_3", "3",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800295 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", "CRYPTO_OFF"),
Arthur She4f08c152023-05-15 15:29:14 -0700296 # b_u585i_iot02a_GCC_1_RegS_RegNS_Release_BL2
297 ("stm/b_u585i_iot02a", "GCC_10_3", "1",
298 "RegS, RegNS", "OFF", "Release", True, "", ""),
299 # b_u585i_iot02a_ARMCLANG_2_RegS_RegNS_Release_BL2
300 ("stm/b_u585i_iot02a", "ARMCLANG_6_13", "2",
301 "RegS, RegNS", "OFF", "Release", True, "", ""),
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800302 # psoc64_GCC_2_RegS_RegNS_Release
Summer Qin379abb62022-10-08 16:41:54 +0800303 ("cypress/psoc64", "GCC_10_3", "2",
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800304 "RegS, RegNS", "OFF", "Release", False, "", ""),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800305 ],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800306 "invalid": _common_tfm_invalid_configs + []
307 }
308
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800309# Config group for nightly job
310config_nightly_test = {"seed_params": {
311 "tfm_platform": ["arm/mps2/an519",
312 "arm/mps2/an521",
313 "arm/mps3/an524",
314 "arm/musca_s1",
Mark Horvathef57baa2022-09-12 13:36:36 +0200315 "arm/musca_b1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800316 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800317 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800318 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800319 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800320 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800321 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800322 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800323 "extra_params": [""]
Minos Galanakisea421232019-06-20 17:11:28 +0100324 },
325 "common_params": _common_tfm_builder_cfg,
Xinyu Zhangb708f572020-09-15 11:43:46 +0800326 "invalid": _common_tfm_invalid_configs + []
Minos Galanakisea421232019-06-20 17:11:28 +0100327 }
328
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800329# Config group for release job
330config_release_test = {"seed_params": {
331 "tfm_platform": ["arm/mps2/an519",
332 "arm/mps2/an521",
333 "arm/mps3/an524",
Mark Horvathef57baa2022-09-12 13:36:36 +0200334 "arm/musca_b1",
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800335 "arm/musca_s1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800336 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang6922b7a2020-11-05 15:21:27 +0800337 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800338 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800339 "test_psa_api": ["OFF"],
340 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang5564d8b2020-11-13 10:22:27 +0800341 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800342 "profile": [""],
David Vinczed78e2622022-11-24 15:04:00 +0100343 "extra_params": ["TEST_CBOR"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800344 },
345 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800346 "valid": [
347 # sanity test for GCC v11.2
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800348 # AN521_GCC_3_RegBL2_RegS_RegNS_Relwithdebinfo_BL2
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800349 ("arm/mps2/an521", "GCC_11_2",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800350 "3", "RegBL2, RegS, RegNS", "OFF", "Relwithdebinfo",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800351 True, "", ""),
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800352 ],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800353 "invalid": _common_tfm_invalid_configs + []
354 }
Karl Zhang14573bc2020-06-08 09:23:21 +0800355
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800356# Config groups for TF-M features
357config_profile_s = {"seed_params": {
David Huda27ae72022-03-28 15:32:19 +0800358 "tfm_platform": ["arm/mps2/an519", "arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800359 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
David Huda27ae72022-03-28 15:32:19 +0800360 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800361 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
David Huda27ae72022-03-28 15:32:19 +0800362 "test_psa_api": ["OFF"],
363 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
David Huda27ae72022-03-28 15:32:19 +0800364 "with_bl2": [True],
David Huda27ae72022-03-28 15:32:19 +0800365 "profile": ["profile_small"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800366 "extra_params": ["PSOFF"]
David Huda27ae72022-03-28 15:32:19 +0800367 },
368 "common_params": _common_tfm_builder_cfg,
David Huda27ae72022-03-28 15:32:19 +0800369 "invalid": _common_tfm_invalid_configs + [
Summer Qin379abb62022-10-08 16:41:54 +0800370 ("arm/mps2/an519", "GCC_10_3", "*", "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800371 "*", "Minsizerel", "*", "*", "*")
David Huda27ae72022-03-28 15:32:19 +0800372 ]
373 }
374
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800375config_profile_m = {"seed_params": {
376 "tfm_platform": ["arm/mps2/an519",
377 "arm/mps2/an521",
Mark Horvathef57baa2022-09-12 13:36:36 +0200378 "arm/musca_b1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800379 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800380 "isolation_level": ["2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800381 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800382 "test_psa_api": ["OFF"],
383 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800384 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800385 "profile": ["profile_medium"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800386 "extra_params": ["", "PSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800387 },
388 "common_params": _common_tfm_builder_cfg,
389 "invalid": _common_tfm_invalid_configs + []
390 }
391
David Hu3d333762022-10-27 18:12:33 +0800392config_profile_m_arotless = {"seed_params": {
393 "tfm_platform": ["arm/musca_b1"],
394 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
395 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800396 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
David Hu3d333762022-10-27 18:12:33 +0800397 "test_psa_api": ["OFF"],
398 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
399 "with_bl2": [True],
400 "profile": ["profile_medium_arotless"],
401 "extra_params": ["", "PSOFF"]
402 },
403 "common_params": _common_tfm_builder_cfg,
404 "invalid": _common_tfm_invalid_configs + []
405 }
406
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800407config_profile_l = {"seed_params": {
408 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800409 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800410 "isolation_level": ["3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800411 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800412 "test_psa_api": ["OFF"],
413 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800414 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800415 "profile": ["profile_large"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800416 "extra_params": ["", "PSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800417 },
418 "common_params": _common_tfm_builder_cfg,
419 "invalid": _common_tfm_invalid_configs + []
420 }
421
Xinyu Zhang88b965c2022-11-21 17:50:33 +0800422config_ipc_backend = {"seed_params": {
423 "tfm_platform": ["arm/mps2/an519",
424 "arm/mps2/an521",
425 "arm/musca_s1",
426 "arm/musca_b1"],
427 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
428 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800429 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang88b965c2022-11-21 17:50:33 +0800430 "test_psa_api": ["OFF"],
431 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
432 "with_bl2": [True],
433 "profile": [""],
434 "extra_params": ["IPC"]
435 },
436 "common_params": _common_tfm_builder_cfg,
437 "invalid": _common_tfm_invalid_configs + []
438 }
439
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800440config_cc_driver_psa = {"seed_params": {
Mark Horvathef57baa2022-09-12 13:36:36 +0200441 "tfm_platform": ["arm/musca_b1",
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800442 "arm/musca_s1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800443 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800444 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800445 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800446 "test_psa_api": ["OFF"],
447 "cmake_build_type": ["Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800448 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800449 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800450 "extra_params": ["CC_DRIVER_PSA"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800451 },
452 "common_params": _common_tfm_builder_cfg,
453 "invalid": _common_tfm_invalid_configs + []
454 }
Karl Zhangaff558a2020-05-15 14:28:23 +0100455
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800456config_fp = {"seed_params": {
Xinyu Zhange91567c2023-09-13 14:10:11 +0800457 "tfm_platform": ["arm/mps2/an521",
458 "arm/mps3/corstone300/an552",
459 "arm/mps3/corstone300/fvp"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800460 "compiler": ["GCC_10_3"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800461 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800462 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800463 "test_psa_api": ["OFF"],
464 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800465 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800466 "profile": [""],
Mark Horvath93cb5fb2022-09-06 17:51:24 +0200467 "extra_params": ["FPOFF", "FPON", "FPON, LZOFF"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800468 },
469 "common_params": _common_tfm_builder_cfg,
470 "invalid": _common_tfm_invalid_configs + []
471 }
Karl Zhangeffed972020-06-30 15:48:01 +0800472
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800473config_psa_api = {"seed_params": {
474 "tfm_platform": ["arm/mps2/an521",
Mark Horvathef57baa2022-09-12 13:36:36 +0200475 "arm/musca_b1",
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800476 "arm/musca_s1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800477 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhangb1c550f2020-10-28 15:32:38 +0800478 "isolation_level": ["1", "2", "3"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800479 "test_regression": ["OFF"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800480 "test_psa_api": ["IPC",
481 "CRYPTO",
Xinyu Zhangb708f572020-09-15 11:43:46 +0800482 "INITIAL_ATTESTATION",
Xinyu Zhang39acb412021-07-09 20:35:19 +0800483 "STORAGE"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800484 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800485 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800486 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800487 "extra_params": [""]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800488 },
489 "common_params": _common_tfm_builder_cfg,
Paul Sokolovsky75f67e82022-05-02 15:39:41 +0300490 "invalid": _common_tfm_invalid_configs + []
Xinyu Zhangb708f572020-09-15 11:43:46 +0800491 }
Karl Zhang14573bc2020-06-08 09:23:21 +0800492
Xinyu Zhang050e39a2021-11-16 14:38:15 +0800493config_nsce = {"seed_params": {
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800494 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800495 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800496 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800497 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800498 "test_psa_api": ["OFF"],
499 "cmake_build_type": ["Debug"],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800500 "with_bl2": [True],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800501 "profile": [""],
Xinyu Zhang67612992021-12-20 14:11:27 +0800502 "extra_params": ["NSCE"]
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800503 },
504 "common_params": _common_tfm_builder_cfg,
505 "invalid": _common_tfm_invalid_configs + []
506 }
507
Xinyu Zhang050e39a2021-11-16 14:38:15 +0800508config_mmio = {"seed_params": {
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800509 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800510 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800511 "isolation_level": ["1"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800512 "test_regression": ["RegBL2, RegS, RegNS"],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800513 "test_psa_api": ["OFF"],
514 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800515 "with_bl2": [True],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800516 "profile": [""],
Xinyu Zhang3bb01af2021-12-20 14:45:49 +0800517 "extra_params": ["MMIO"]
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800518 },
519 "common_params": _common_tfm_builder_cfg,
520 "invalid": _common_tfm_invalid_configs + []
521 }
522
Bence Balogh79fda442022-10-14 18:01:37 +0200523# Config groups for TF-M examples
524config_example_vad = {"seed_params": {
Bence Balogh1aa8d582023-08-29 13:10:02 +0200525 "tfm_platform": ["arm/mps3/corstone300/an552"],
Bence Balogh79fda442022-10-14 18:01:37 +0200526 "compiler": ["GCC_10_3"],
527 "isolation_level": ["2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800528 "test_regression": ["OFF"],
Bence Balogh79fda442022-10-14 18:01:37 +0200529 "test_psa_api": ["OFF"],
530 "cmake_build_type": ["Release"],
531 "with_bl2": [True],
532 "profile": [""],
533 "extra_params": ["EXAMPLE_VAD"]
534 },
535 "common_params": _common_tfm_builder_cfg,
536 "invalid": _common_tfm_invalid_configs + []
537 }
538
Bence Balogh852f8bd2023-08-07 14:46:54 +0200539config_example_dma350_clcd = {"seed_params": {
Bence Balogh79fda442022-10-14 18:01:37 +0200540 "tfm_platform": ["arm/mps3/corstone310/fvp"],
541 "compiler": ["GCC_10_3"],
542 "isolation_level": ["2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800543 "test_regression": ["OFF"],
Bence Balogh79fda442022-10-14 18:01:37 +0200544 "test_psa_api": ["OFF"],
545 "cmake_build_type": ["Release"],
546 "with_bl2": [True],
547 "profile": [""],
Bence Balogh852f8bd2023-08-07 14:46:54 +0200548 "extra_params": ["EXAMPLE_DMA350_CLCD"]
Bence Balogh79fda442022-10-14 18:01:37 +0200549 },
550 "common_params": _common_tfm_builder_cfg,
551 "invalid": _common_tfm_invalid_configs + []
552 }
553
554config_example_dma350_s = {"seed_params": {
555 "tfm_platform": ["arm/mps3/corstone310/fvp"],
556 "compiler": ["GCC_10_3"],
557 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800558 "test_regression": ["OFF"],
Bence Balogh79fda442022-10-14 18:01:37 +0200559 "test_psa_api": ["OFF"],
560 "cmake_build_type": ["Release"],
561 "with_bl2": [True],
562 "profile": [""],
563 "extra_params": ["EXAMPLE_DMA350_S"]
564 },
565 "common_params": _common_tfm_builder_cfg,
566 "invalid": _common_tfm_invalid_configs + []
567 }
568
Bence Baloghd23cbda2023-08-07 15:30:58 +0200569config_example_dma350_ns = {"seed_params": {
570 "tfm_platform": ["arm/mps3/corstone310/fvp"],
571 "compiler": ["GCC_10_3"],
572 "isolation_level": ["1"],
573 "test_regression": ["OFF"],
574 "test_psa_api": ["OFF"],
575 "cmake_build_type": ["Release"],
576 "with_bl2": [True],
577 "profile": [""],
578 "extra_params": ["EXAMPLE_DMA350_NS"]
579 },
580 "common_params": _common_tfm_builder_cfg,
581 "invalid": _common_tfm_invalid_configs + []
582 }
583
Bence Balogh79fda442022-10-14 18:01:37 +0200584config_example_dma350_trigger = {"seed_params": {
585 "tfm_platform": ["arm/mps3/corstone310/fvp"],
586 "compiler": ["GCC_10_3"],
587 "isolation_level": ["2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800588 "test_regression": ["OFF"],
Bence Balogh79fda442022-10-14 18:01:37 +0200589 "test_psa_api": ["OFF"],
590 "cmake_build_type": ["Release"],
591 "with_bl2": [True],
592 "profile": [""],
593 "extra_params": ["EXAMPLE_DMA350_TRIGGER"]
594 },
595 "common_params": _common_tfm_builder_cfg,
596 "invalid": _common_tfm_invalid_configs + []
597 }
598
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +0300599config_misra = {"seed_params": {
600 "tfm_platform": ["arm/musca_b1"],
601 "compiler": ["GCC_10_3"],
602 "isolation_level": ["1"],
603 "test_regression": ["OFF"],
604 "test_psa_api": ["OFF"],
605 "cmake_build_type": ["Debug"],
606 "with_bl2": [True],
Xinyu Zhange17926f2023-08-14 11:00:43 +0800607 "profile": ["profile_small", "profile_medium_arotless"],
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +0300608 "extra_params": ["PSOFF"]
609 },
610 "common_params": _common_tfm_builder_cfg,
Xinyu Zhange17926f2023-08-14 11:00:43 +0800611 "valid": [
612 # MUSCA_B1_GCC_2_Debug_BL2_MEDIUM_PSOFF
613 ("arm/musca_b1", "GCC_10_3", "2", "OFF",
614 "OFF", "Debug", True, "profile_medium", "PSOFF"),
615 # MUSCA_B1_GCC_3_Debug_BL2_LARGE_PSOFF
616 ("arm/musca_b1", "GCC_10_3", "3", "OFF",
617 "OFF", "Debug", True, "profile_large", "PSOFF"),
618 ],
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +0300619 "invalid": _common_tfm_invalid_configs + []
620 }
621
Paul Sokolovskya526e5d2023-06-15 09:49:13 +0300622config_misra_debug = {"seed_params": {
623 "tfm_platform": ["arm/musca_b1"],
624 "compiler": ["GCC_10_3"],
625 "isolation_level": ["1"],
626 "test_regression": ["OFF"],
627 "test_psa_api": ["OFF"],
628 "cmake_build_type": ["Debug"],
629 "with_bl2": [True],
630 "profile": ["profile_small"],
631 "extra_params": ["PSOFF"]
632 },
633 "common_params": _common_tfm_builder_cfg,
634 "invalid": _common_tfm_invalid_configs + []
635 }
636
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800637# Config groups for code coverage
638config_cov_profile_s = deepcopy(config_profile_s)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800639config_cov_profile_s["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800640config_cov_profile_s["seed_params"]["compiler"] = ["GCC_10_3"]
Xinyu Zhangbdc37e32022-04-06 17:47:44 +0800641
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800642config_cov_profile_m = deepcopy(config_profile_m)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800643config_cov_profile_m["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800644config_cov_profile_m["seed_params"]["compiler"] = ["GCC_10_3"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800645
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800646config_cov_profile_l = deepcopy(config_profile_l)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800647config_cov_profile_l["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800648config_cov_profile_l["seed_params"]["compiler"] = ["GCC_10_3"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800649
Xinyu Zhang88b965c2022-11-21 17:50:33 +0800650config_cov_ipc_backend = deepcopy(config_ipc_backend)
651config_cov_ipc_backend["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
652config_cov_ipc_backend["seed_params"]["compiler"] = ["GCC_10_3"]
653
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800654config_cov_nsce = deepcopy(config_nsce)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800655config_cov_nsce["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800656config_cov_nsce["seed_params"]["compiler"] = ["GCC_10_3"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800657
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800658config_cov_mmio = deepcopy(config_mmio)
Xinyu Zhang778424e2023-02-27 11:39:57 +0800659config_cov_mmio["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800660config_cov_mmio["seed_params"]["compiler"] = ["GCC_10_3"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800661
Xinyu Zhang5f725ee2022-12-19 10:29:20 +0800662config_cov_fp = deepcopy(config_fp)
663config_cov_fp["seed_params"]["tfm_platform"] = ["arm/mps2/an521"]
Xinyu Zhang778424e2023-02-27 11:39:57 +0800664config_cov_fp["seed_params"]["compiler"] = ["GCC_10_3"]
Xinyu Zhang5f725ee2022-12-19 10:29:20 +0800665
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800666# Config groups for platforms
667config_an519 = {"seed_params": {
Xinyu Zhangf25856a2021-06-17 14:06:46 +0800668 "tfm_platform": ["arm/mps2/an519"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800669 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800670 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800671 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800672 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800673 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800674 "with_bl2": [True, False],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800675 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800676 "extra_params": ["", "NSOFF"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800677 },
678 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800679 "invalid": _common_tfm_invalid_configs + []
680 }
681
682config_an521 = {"seed_params": {
683 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800684 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800685 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800686 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800687 "test_psa_api": ["OFF"],
688 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800689 "with_bl2": [True, False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800690 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800691 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800692 },
693 "common_params": _common_tfm_builder_cfg,
694 "invalid": _common_tfm_invalid_configs + []
695 }
696
697config_an524 = {"seed_params": {
698 "tfm_platform": ["arm/mps3/an524"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800699 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800700 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800701 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800702 "test_psa_api": ["OFF"],
703 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800704 "with_bl2": [True, False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800705 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800706 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800707 },
708 "common_params": _common_tfm_builder_cfg,
709 "invalid": _common_tfm_invalid_configs + []
Xinyu Zhangb708f572020-09-15 11:43:46 +0800710 }
Dean Birch4c6ad622020-03-13 11:28:03 +0000711
Bence Balogh1aa8d582023-08-29 13:10:02 +0200712config_cs300_an547 = {"seed_params": {
713 "tfm_platform": ["arm/mps3/corstone300/an547"],
714 "compiler": ["GCC_10_3"],
715 "isolation_level": ["1"],
716 "test_regression": ["OFF"],
717 "test_psa_api": ["OFF"],
718 "cmake_build_type": ["Debug"],
719 "with_bl2": [True],
720 "profile": [""],
721 "extra_params": [""]
722 },
723 "common_params": _common_tfm_builder_cfg,
724 "invalid": _common_tfm_invalid_configs + []
725 }
Xinyu Zhang38b76742021-11-11 13:57:56 +0800726
Bence Balogh1aa8d582023-08-29 13:10:02 +0200727config_cs300_an552 = {"seed_params": {
728 "tfm_platform": ["arm/mps3/corstone300/an552"],
729 "compiler": ["GCC_10_3"],
730 "isolation_level": ["1", "2"],
731 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
732 "test_psa_api": ["OFF"],
733 "cmake_build_type": ["Debug", "Release"],
734 "with_bl2": [True],
735 "profile": [""],
736 "extra_params": [""]
737 },
738 "common_params": _common_tfm_builder_cfg,
739 "invalid": _common_tfm_invalid_configs + []
740 }
741
742config_cs300_fvp = {"seed_params": {
743 "tfm_platform": ["arm/mps3/corstone300/fvp"],
744 "compiler": ["GCC_10_3"],
745 "isolation_level": ["1", "2"],
746 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
747 "test_psa_api": ["OFF"],
748 "cmake_build_type": ["Debug", "Release"],
749 "with_bl2": [True],
750 "profile": [""],
751 "extra_params": [""]
752 },
753 "common_params": _common_tfm_builder_cfg,
754 "invalid": _common_tfm_invalid_configs + []
755 }
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800756
757config_musca_b1 = {"seed_params": {
Mark Horvathef57baa2022-09-12 13:36:36 +0200758 "tfm_platform": ["arm/musca_b1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800759 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800760 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800761 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800762 "test_psa_api": ["OFF"],
763 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800764 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800765 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800766 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800767 },
768 "common_params": _common_tfm_builder_cfg,
769 "invalid": _common_tfm_invalid_configs + []
770 }
771
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800772config_musca_s1 = {"seed_params": {
773 "tfm_platform": ["arm/musca_s1"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800774 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800775 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800776 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800777 "test_psa_api": ["OFF"],
778 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800779 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800780 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800781 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800782 },
783 "common_params": _common_tfm_builder_cfg,
784 "invalid": _common_tfm_invalid_configs + []
785 }
786
Bence Balogh8731a092022-05-24 17:24:54 +0200787config_corstone310 = {"seed_params": {
Bence Balogh23d8fa72022-11-08 12:16:23 +0100788 "tfm_platform": ["arm/mps3/corstone310/fvp"],
Bence Balogh176b78f2022-02-22 13:49:34 +0100789 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800790 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800791 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800792 "test_psa_api": ["OFF"],
793 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800794 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800795 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800796 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800797 },
798 "common_params": _common_tfm_builder_cfg,
799 "invalid": _common_tfm_invalid_configs + []
800 }
801
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100802config_rss = {"seed_params": {
Raef Coles0d405852022-10-21 10:52:50 +0100803 "tfm_platform": ["arm/rss/tc"],
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100804 "compiler": ["GCC_10_3"],
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100805 "isolation_level": ["1", "2"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800806 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100807 "test_psa_api": ["OFF"],
808 "cmake_build_type": ["Debug", "Release"],
809 "with_bl2": [True],
810 "profile": [""],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800811 "extra_params": ["PSOFF"]
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100812 },
813 "common_params": _common_tfm_builder_cfg,
Jamie Fox9e2c2352023-01-13 15:11:23 +0000814 "invalid": _common_tfm_invalid_configs + [
815 # BL2 is too large for RSS in Debug builds with tests
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800816 ("arm/rss/tc", "GCC_10_3", "*", "RegBL2, RegS, RegNS", "*",
Jamie Fox9e2c2352023-01-13 15:11:23 +0000817 "Debug", True, "*", "*"),
818 ]
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100819 }
820
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800821config_psoc64 = {"seed_params": {
822 "tfm_platform": ["cypress/psoc64"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800823 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800824 "isolation_level": ["1", "2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800825 "test_regression": ["RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800826 "test_psa_api": ["OFF"],
827 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800828 "with_bl2": [False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800829 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800830 "extra_params": [""]
831 },
832 "common_params": _common_tfm_builder_cfg,
833 "invalid": _common_tfm_invalid_configs + []
834 }
835
836config_corstone1000 = {"seed_params": {
837 "tfm_platform": ["arm/corstone1000"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800838 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800839 "isolation_level": ["1"],
Emekcan Arasf8b39802023-04-24 10:15:22 +0100840 "test_regression": ["RegS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800841 "test_psa_api": ["OFF"],
842 "cmake_build_type": ["Debug"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800843 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800844 "profile": [""],
Xinyu Zhang4fb2b5c2023-04-25 11:55:19 +0800845 "extra_params": ["CS1K_TEST, FVP", "CS1K_TEST, FPGA"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800846 },
847 "common_params": _common_tfm_builder_cfg,
848 "invalid": _common_tfm_invalid_configs + []
849 }
850
851config_stm32l562e_dk = {"seed_params": {
852 "tfm_platform": ["stm/stm32l562e_dk"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800853 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800854 "isolation_level": ["1", "2", "3"],
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800855 "test_regression": ["OFF", "RegBL2, RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800856 "test_psa_api": ["OFF"],
857 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800858 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800859 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800860 "extra_params": ["CRYPTO_OFF", "CRYPTO_ON"]
861 },
862 "common_params": _common_tfm_builder_cfg,
863 "invalid": _common_tfm_invalid_configs + [
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800864 # Oversize issue on config stm32l562e_dk_ARMCLANG_1_RegBL2_RegS_RegNS_Release_BL2
Summer Qin379abb62022-10-08 16:41:54 +0800865 ("stm/stm32l562e_dk", "ARMCLANG_6_13", "1",
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800866 "RegBL2, RegS, RegNS", "OFF", "Release", True, "", "*"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800867 # all other tests are off when CRYPTO is ON
Xinyu Zhang66e22ff2023-04-25 15:56:29 +0800868 ("stm/stm32l562e_dk", "*", "*", "RegBL2, RegS, RegNS", "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800869 "*", "*", "*", "CRYPTO_ON"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800870 # all other tests are ON when CRYPTO is OFF
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800871 ("stm/stm32l562e_dk", "*", "*", "OFF", "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800872 "*", "*", "*", "CRYPTO_OFF"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800873 ]
874 }
875
876config_b_u585i_iot02a = {"seed_params": {
877 "tfm_platform": ["stm/b_u585i_iot02a"],
Arthur She026ebb62023-02-08 18:47:39 -0800878 "compiler": ["GCC_10_3", "ARMCLANG_6_13"],
879 "isolation_level": ["1", "2"],
Arthur She96c6f772023-05-09 21:32:50 -0700880 "test_regression": ["OFF", "RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800881 "test_psa_api": ["OFF"],
882 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800883 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800884 "profile": [""],
Arthur She026ebb62023-02-08 18:47:39 -0800885 "extra_params": [""]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800886 },
887 "common_params": _common_tfm_builder_cfg,
888 "invalid": _common_tfm_invalid_configs + []
889 }
890
891config_nucleo_l552ze_q = {"seed_params": {
892 "tfm_platform": ["stm/nucleo_l552ze_q"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800893 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800894 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800895 "test_regression": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800896 "test_psa_api": ["OFF"],
897 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800898 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800899 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800900 "extra_params": ["NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800901 },
902 "common_params": _common_tfm_builder_cfg,
903 "invalid": _common_tfm_invalid_configs + []
904 }
905
906config_lpcxpresso55s69 = {"seed_params": {
907 "tfm_platform": ["nxp/lpcxpresso55s69"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800908 "compiler": ["GCC_10_3"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800909 "isolation_level": ["2"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800910 "test_regression": ["OFF", "RegS, RegNS"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800911 "test_psa_api": ["OFF"],
912 "cmake_build_type": ["Relwithdebinfo"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800913 "with_bl2": [False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800914 "profile": ["profile_medium"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800915 "extra_params": [""]
916 },
917 "common_params": _common_tfm_builder_cfg,
918 "invalid": _common_tfm_invalid_configs + []
919 }
920
Xinyu Zhang38b76742021-11-11 13:57:56 +0800921config_bl5340 = {"seed_params": {
922 "tfm_platform": ["lairdconnectivity/bl5340_dvk_cpuapp"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800923 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800924 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800925 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800926 "test_psa_api": ["OFF"],
927 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800928 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800929 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800930 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800931 },
932 "common_params": _common_tfm_builder_cfg,
933 "invalid": _common_tfm_invalid_configs + []
934 }
935
936config_nrf5340dk = {"seed_params": {
937 "tfm_platform": ["nordic_nrf/nrf5340dk_nrf5340_cpuapp"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800938 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800939 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800940 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800941 "test_psa_api": ["OFF"],
942 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800943 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800944 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800945 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800946 },
947 "common_params": _common_tfm_builder_cfg,
948 "invalid": _common_tfm_invalid_configs + []
949 }
950
951config_nrf9160dk = {"seed_params": {
952 "tfm_platform": ["nordic_nrf/nrf9160dk_nrf9160"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800953 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800954 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800955 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800956 "test_psa_api": ["OFF"],
957 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800958 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800959 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800960 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800961 },
962 "common_params": _common_tfm_builder_cfg,
963 "invalid": _common_tfm_invalid_configs + []
964 }
965
966config_m2351 = {"seed_params": {
967 "tfm_platform": ["nuvoton/m2351"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800968 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800969 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800970 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800971 "test_psa_api": ["OFF"],
972 "cmake_build_type": ["Release"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800973 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800974 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800975 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800976 },
977 "common_params": _common_tfm_builder_cfg,
978 "invalid": _common_tfm_invalid_configs + []
979 }
980
981config_m2354 = {"seed_params": {
982 "tfm_platform": ["nuvoton/m2354"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800983 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800984 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +0800985 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800986 "test_psa_api": ["OFF"],
987 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800988 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800989 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800990 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800991 },
992 "common_params": _common_tfm_builder_cfg,
993 "invalid": _common_tfm_invalid_configs + []
994 }
995
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800996# Config groups for debug
997config_debug = {"seed_params": {
998 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang16a218e2022-10-11 17:21:39 +0800999 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001000 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +08001001 "test_regression": ["OFF"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001002 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001003 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001004 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001005 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +08001006 "extra_params": [""]
Xinyu Zhang38b76742021-11-11 13:57:56 +08001007 },
1008 "common_params": _common_tfm_builder_cfg,
1009 "invalid": _common_tfm_invalid_configs + []
1010 }
1011
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001012config_debug_regr = deepcopy(config_debug)
Xinyu Zhang66e22ff2023-04-25 15:56:29 +08001013config_debug_regr["seed_params"]["test_regression"] = ["RegBL2, RegS, RegNS"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001014
1015config_debug_PSA_API = {"seed_params": {
1016 "tfm_platform": ["arm/mps2/an521"],
1017 "compiler": ["ARMCLANG_6_13"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001018 "isolation_level": ["1"],
Xinyu Zhangb18ae742023-04-25 14:33:27 +08001019 "test_regression": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001020 "test_psa_api": ["CRYPTO",
1021 "INITIAL_ATTESTATION",
1022 "STORAGE",
1023 "IPC"],
1024 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001025 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +08001026 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +08001027 "extra_params": [""]
Xinyu Zhang38b76742021-11-11 13:57:56 +08001028 },
1029 "common_params": _common_tfm_builder_cfg,
1030 "invalid": _common_tfm_invalid_configs + []
1031 }
1032
Karl Zhangaff558a2020-05-15 14:28:23 +01001033_builtin_configs = {
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001034 # per-patch test groups
1035 "pp_test": config_pp_test,
Antonio de Angelis92ad2442023-08-07 15:00:32 +02001036 "pp_corstone1000": config_corstone1000,
Karl Zhang14573bc2020-06-08 09:23:21 +08001037
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001038 # nightly test groups
1039 "nightly_test": config_nightly_test,
1040 "nightly_profile_s": config_profile_s,
1041 "nightly_profile_m": config_profile_m,
David Hu3d333762022-10-27 18:12:33 +08001042 "nightly_profile_m_arotless": config_profile_m_arotless,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001043 "nightly_profile_l": config_profile_l,
Xinyu Zhang88b965c2022-11-21 17:50:33 +08001044 "nightly_ipc_backend": config_ipc_backend,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001045 "nightly_cc_driver_psa": config_cc_driver_psa,
1046 "nightly_fp":config_fp,
1047 "nightly_psa_api": config_psa_api,
Xinyu Zhang050e39a2021-11-16 14:38:15 +08001048 "nightly_nsce": config_nsce,
1049 "nightly_mmio": config_mmio,
Bence Balogh1aa8d582023-08-29 13:10:02 +02001050 "nightly_cs300_an547": config_cs300_an547,
1051 "nightly_cs300_an552": config_cs300_an552,
1052 "nightly_cs300_fvp": config_cs300_fvp,
Bence Balogh8731a092022-05-24 17:24:54 +02001053 "nightly_corstone310": config_corstone310,
Antonio de Angelis92ad2442023-08-07 15:00:32 +02001054 "nightly_corstone1000": config_corstone1000,
Jamie Foxf3b8aa82022-09-08 11:52:01 +01001055 "nightly_rss": config_rss,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001056 "nightly_psoc64": config_psoc64,
1057 "nightly_stm32l562e_dk": config_stm32l562e_dk,
Arthur She026ebb62023-02-08 18:47:39 -08001058 "nightly_b_u585i_iot02a": config_b_u585i_iot02a,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001059 "nightly_lpcxpresso55s69": config_lpcxpresso55s69,
Karl Zhang14573bc2020-06-08 09:23:21 +08001060
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001061 # release test groups
1062 "release_test": config_release_test,
1063 "release_profile_s": config_profile_s,
1064 "release_profile_m": config_profile_m,
David Hu3d333762022-10-27 18:12:33 +08001065 "release_profile_m_arotless": config_profile_m_arotless,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001066 "release_profile_l": config_profile_l,
Xinyu Zhang88b965c2022-11-21 17:50:33 +08001067 "release_ipc_backend": config_ipc_backend,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001068 "release_cc_driver_psa": config_cc_driver_psa,
1069 "release_fp": config_fp,
1070 "release_psa_api": config_psa_api,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001071 "release_nsce": config_nsce,
1072 "release_mmio": config_mmio,
Bence Balogh1aa8d582023-08-29 13:10:02 +02001073 "release_cs300_an547": config_cs300_an547,
1074 "release_cs300_an552": config_cs300_an552,
1075 "release_cs300_fvp": config_cs300_fvp,
Bence Balogh8731a092022-05-24 17:24:54 +02001076 "release_corstone310": config_corstone310,
Jamie Foxf3b8aa82022-09-08 11:52:01 +01001077 "release_rss": config_rss,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001078 "release_psoc64": config_psoc64,
1079 "release_stm32l562e_dk": config_stm32l562e_dk,
Arthur She026ebb62023-02-08 18:47:39 -08001080 "release_b_u585i_iot02a": config_b_u585i_iot02a,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001081 "release_lpcxpresso55s69": config_lpcxpresso55s69,
Karl Zhang14573bc2020-06-08 09:23:21 +08001082
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001083 # code coverage test groups
1084 "coverage_profile_s": config_cov_profile_s,
1085 "coverage_profile_m": config_cov_profile_m,
1086 "coverage_profile_l": config_cov_profile_l,
Xinyu Zhang88b965c2022-11-21 17:50:33 +08001087 "coverage_ipc_backend": config_cov_ipc_backend,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001088 "coverage_nsce": config_cov_nsce,
1089 "coverage_mmio": config_cov_mmio,
Xinyu Zhang5f725ee2022-12-19 10:29:20 +08001090 "coverage_fp": config_cov_fp,
Xinyu Zhangf25856a2021-06-17 14:06:46 +08001091
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +03001092 # MISRA analysis
1093 "misra": config_misra,
Paul Sokolovskya526e5d2023-06-15 09:49:13 +03001094 "misra_debug": config_misra_debug,
Paul Sokolovsky4fe40b12023-04-21 02:17:57 +03001095
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001096 # platform groups
1097 "an521": config_an521,
1098 "an519": config_an519,
1099 "an524": config_an524,
Bence Balogh1aa8d582023-08-29 13:10:02 +02001100 "cs300_an547": config_cs300_an547,
1101 "cs300_an552": config_cs300_an552,
1102 "cs300_fvp": config_cs300_fvp,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001103 "musca_b1": config_musca_b1,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001104 "musca_s1": config_musca_s1,
Bence Balogh8731a092022-05-24 17:24:54 +02001105 "corstone310": config_corstone310,
Jamie Foxf3b8aa82022-09-08 11:52:01 +01001106 "rss": config_rss,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001107 "cypress_psoc64": config_psoc64,
Antonio de Angelis92ad2442023-08-07 15:00:32 +02001108 "corstone1000": config_corstone1000,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001109 "stm_stm32l562e_dk": config_stm32l562e_dk,
1110 "stm_b_u585i_iot02a": config_b_u585i_iot02a,
1111 "stm_nucleo_l552ze_q": config_nucleo_l552ze_q,
1112 "nxp_lpcxpresso55s69": config_lpcxpresso55s69,
Xinyu Zhang38b76742021-11-11 13:57:56 +08001113 "laird_bl5340": config_bl5340,
1114 "nordic_nrf5340dk": config_nrf5340dk,
1115 "nordic_nrf9160dk": config_nrf9160dk,
1116 "nuvoton_m2351": config_m2351,
1117 "nuvoton_m2354": config_m2354,
Xinyu Zhang38b76742021-11-11 13:57:56 +08001118
Bence Balogh79fda442022-10-14 18:01:37 +02001119 # config groups for tf-m-extras examples
1120 "example_vad": config_example_vad,
1121 "example_dma350_trigger": config_example_dma350_trigger,
Bence Balogh852f8bd2023-08-07 14:46:54 +02001122 "example_dma350_clcd": config_example_dma350_clcd,
Bence Balogh79fda442022-10-14 18:01:37 +02001123 "example_dma350_s": config_example_dma350_s,
Bence Baloghd23cbda2023-08-07 15:30:58 +02001124 "example_dma350_ns": config_example_dma350_ns,
Bence Balogh79fda442022-10-14 18:01:37 +02001125
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001126 # config groups for debug
Dean Birch4c6ad622020-03-13 11:28:03 +00001127 "debug": config_debug,
Paul Sokolovsky6c3c6562022-04-04 23:23:02 +03001128 "debug_regr": config_debug_regr,
Paul Sokolovsky1ec752b2022-01-22 19:50:58 +03001129 "debug_PSA_API": config_debug_PSA_API,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +08001130 }
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +01001131
1132if __name__ == '__main__':
1133 import os
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +01001134
Minos Galanakisea421232019-06-20 17:11:28 +01001135 # Default behavior is to export refference config when called
1136 _dir = os.getcwd()
1137 from utils import save_json
1138 for _cname, _cfg in _builtin_configs.items():
1139 _fname = os.path.join(_dir, _cname + ".json")
1140 print("Exporting config %s" % _fname)
1141 save_json(_fname, _cfg)