blob: a2d1ea76742ddd694a9136696eaf3164f5a56843 [file] [log] [blame]
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +01001#!/usr/bin/env python3
2
3""" lava_job_generator_configs.py:
4
5 Default configurations for lava job generator """
6
7from __future__ import print_function
8
9__copyright__ = """
10/*
Xinyu Zhang04d77472022-03-21 14:37:37 +080011 * Copyright (c) 2018-2022, 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
Leonardo Sandoval66386a22021-04-15 14:35:08 -050022tf_downloads="https://downloads.trustedfirmware.org"
23coverage_trace_plugin=tf_downloads + "/coverage-plugin/qa-tools/coverage-tool/coverage-plugin/coverage_trace.so"
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010024
25def lava_gen_get_config_subset(config,
26 default=True,
27 core=True,
28 regression=True):
29 """ Allow dynamic generation of configuration combinations by subtracking
30 undesired ones """
31
32 from copy import deepcopy
33 cfg = deepcopy(config)
34 tests = deepcopy(config["tests"])
35
36 # Remove all configs not requests by the caller
37 if not default:
38 tests.pop("Default")
Minos Galanakisea421232019-06-20 17:11:28 +010039 if not core:
40 tests.pop("CoreIPC")
41 tests.pop("CoreIPCTfmLevel2")
Xinyu Zhang204dc372020-11-12 14:18:00 +080042 tests.pop("CoreIPCTfmLevel3")
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010043 if not regression:
44 tests.pop("Regression")
45
46 cfg["tests"] = tests
47 return cfg
48
Xinyu Zhangf724cd22022-03-21 15:46:26 +080049# LAVA test-monitor definition for configs with regression tests.
50# "Non-Secure system starting..." is expected to indicate
51# that TF-M has been booted successfully.
52monitors_no_reg_tests = [
53 {
54 'name': 'NS_SYSTEM_BOOTING',
55 'start': 'Non-Secure system',
56 'end': r'starting\\.{3}',
57 'pattern': r'Non-Secure system starting\\.{3}',
58 'fixup': {"pass": "!", "fail": ""},
59 }
60]
61
62# LAVA test-monitor definition for configs with regression tests.
63# Results of each test suites are parsed from "PASSED"/"FAILED" in logs.
64monitors_reg_tests = [
65 {
66 'name': 'Secure_Test_Suites_Summary',
67 'start': 'Secure test suites summary',
68 'end': 'End of Secure test suites',
69 'pattern': r"Test suite '(?P<"
70 r"test_case_id>[^\n]+)' has(.*) "
71 r"(?P<result>PASSED|FAILED)",
72 'fixup': {"pass": "PASSED", "fail": "FAILED"},
73 },
74 {
75 'name': 'Non_Secure_Test_Suites_Summary',
76 'start': 'Non-secure test suites summary',
77 'end': r'End of Non-secure test suites',
78 'pattern': r"Test suite '(?P<"
79 r"test_case_id>[^\n]+)' has(.*) "
80 r"(?P<result>PASSED|FAILED)",
81 'fixup': {"pass": "PASSED", "fail": "FAILED"},
82 }
83]
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010084
Paul Sokolovsky6024d012022-01-22 20:21:07 +030085# LAVA test-monitor definition for PSA API testsuites, testcases identified
86# by "UT" value in output (testcase identifier).
87monitors_psaapitest_by_ut = [
88 {
89 'name': 'psa_api_suite',
90 'start': 'Running..',
91 'end': 'Entering standby..',
92 'pattern': r" UT: +(?P<test_case_id>[A-Za-z0-9_]+)\r?\n"
93 r".+?"
94 r"TEST RESULT: (?P<result>(PASSED|FAILED|SKIPPED))",
95 'fixup': {"pass": "PASSED", "fail": "FAILED", "skip": "SKIPPED"},
96 },
97]
98
99# LAVA test-monitor definition for PSA API testsuites, testcases identified
100# by description in output (for when UT is not set to unique identifier).
101monitors_psaapitest_by_desc = [
102 {
103 'name': 'psa_api_suite',
104 'start': 'Running..',
105 'end': 'Entering standby..',
106 'pattern': r" DESCRIPTION: +(?P<test_case_id>.+?) \\|"
107 r".+?"
108 r"TEST RESULT: (?P<result>(PASSED|FAILED|SKIPPED))",
109 'fixup': {"pass": "PASSED", "fail": "FAILED", "skip": "SKIPPED"},
110 },
111]
112
Paul Sokolovsky7eae9752022-02-09 21:38:55 +0300113# LAVA test-monitor definition for PSA API "crypto" testsuite, which has some
114# failing testcases which we don't want to treat as failures, so can't use
115# normal monitors_psaapitest_by_ut. Note that this is a flaky workaround
116# which will break if e.g. a new testcase is added. This issue should be
117# fixed on TF-M side instead
118monitors_psaapitest_crypto_workaround = [
119 {
120 'name': 'psa_api_crypto_workaround',
121 'start': 'Running..',
Xinyu Zhang7b1bc5a2022-04-07 10:35:34 +0800122 'end': r"TOTAL TESTS : 63\r?\n.*?TOTAL PASSED : 61\r?\n",
Paul Sokolovsky7eae9752022-02-09 21:38:55 +0300123 'pattern': '__ignored__',
124 'fixup': {"pass": "PASSED", "fail": "FAILED", "skip": "SKIPPED"},
125 },
126]
127
Paul Sokolovsky6024d012022-01-22 20:21:07 +0300128
Fathi Boudracaa90bd2020-12-04 22:00:14 +0100129# MPS2 with BL2 bootloader
130# IMAGE0ADDRESS: 0x10000000
131# IMAGE0FILE: \Software\bl2.bin ; BL2 bootloader
132# IMAGE1ADDRESS: 0x10080000
133# IMAGE1FILE: \Software\tfm_s_ns_signed.bin ; TF-M example application binary blob
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100134tfm_mps2_sse_200 = {
Matthew Hart2c2688f2020-05-26 13:09:20 +0100135 "templ": "mps2.jinja2",
136 "job_name": "mps2_an521_bl2",
Minos Galanakisafb43152019-09-25 14:17:39 +0100137 "device_type": "mps",
Matthew Hart2c2688f2020-05-26 13:09:20 +0100138 "job_timeout": 15,
139 "action_timeout": 10,
Xinyu Zhangd8703f02021-05-18 20:30:07 +0800140 "monitor_timeout": 15,
Matthew Hart2c2688f2020-05-26 13:09:20 +0100141 "poweroff_timeout": 1,
142 "recovery_store_url": "https://ci.trustedfirmware.org/userContent/",
Fathi Boudracaa90bd2020-12-04 22:00:14 +0100143 "platforms": {"AN521": "mps2_sse200_an512_new.tar.gz"},
Xinyu Zhang433771e2022-04-01 16:49:17 +0800144 "compilers": ["GCC", "ARMCLANG"],
Matthew Hart2c2688f2020-05-26 13:09:20 +0100145 "build_types": ["Debug", "Release", "Minsizerel"],
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100146 "boot_types": ["BL2"],
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800147 "binaries": {
148 "firmware": "tfm_s_ns_signed.bin",
149 "bootloader": "bl2.bin"
150 },
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100151 "tests": {
152 'Default': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800153 "monitors": monitors_no_reg_tests
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100154 }, # Default
Xinyu Zhang244e1862021-03-12 16:21:54 +0800155 'DefaultProfileS': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800156 "monitors": monitors_no_reg_tests
Xinyu Zhang244e1862021-03-12 16:21:54 +0800157 }, # DefaultProfileS
158 'DefaultProfileM': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800159 "monitors": monitors_no_reg_tests
Xinyu Zhang244e1862021-03-12 16:21:54 +0800160 }, # DefaultProfileM
Xinyu Zhang9b1aef92021-03-12 15:36:44 +0800161 'DefaultProfileL': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800162 "monitors": monitors_no_reg_tests
Xinyu Zhang9b1aef92021-03-12 15:36:44 +0800163 }, # DefaultProfileL
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100164 'Regression': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800165 "monitors": monitors_reg_tests
Matthew Hart2c2688f2020-05-26 13:09:20 +0100166 }, # Regression
Xinyu Zhang244e1862021-03-12 16:21:54 +0800167 'RegressionProfileM': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800168 "monitors": monitors_reg_tests
Xinyu Zhang244e1862021-03-12 16:21:54 +0800169 }, # RegressionProfileM
170 'RegressionProfileS': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800171 "monitors": monitors_reg_tests
Xinyu Zhang244e1862021-03-12 16:21:54 +0800172 }, # RegressionProfileS
Xinyu Zhang9b1aef92021-03-12 15:36:44 +0800173 'RegressionProfileL': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800174 "monitors": monitors_reg_tests
Xinyu Zhang9b1aef92021-03-12 15:36:44 +0800175 }, # RegressionProfileL
Matthew Hart2c2688f2020-05-26 13:09:20 +0100176 'RegressionIPC': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800177 "monitors": monitors_reg_tests
Matthew Hart2c2688f2020-05-26 13:09:20 +0100178 }, # Regression
179 'RegressionIPCTfmLevel2': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800180 "monitors": monitors_reg_tests
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100181 }, # Regression
Xinyu Zhang244e1862021-03-12 16:21:54 +0800182 'RegressionIPCTfmLevel3': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800183 "monitors": monitors_reg_tests
Xinyu Zhang244e1862021-03-12 16:21:54 +0800184 }, # Regression
Minos Galanakisea421232019-06-20 17:11:28 +0100185 'CoreIPC': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800186 "monitors": monitors_no_reg_tests
Minos Galanakisea421232019-06-20 17:11:28 +0100187 }, # CoreIPC
188 'CoreIPCTfmLevel2': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800189 "monitors": monitors_no_reg_tests
Minos Galanakisea421232019-06-20 17:11:28 +0100190 }, # CoreIPCTfmLevel2
Xinyu Zhang244e1862021-03-12 16:21:54 +0800191 'CoreIPCTfmLevel3': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800192 "monitors": monitors_no_reg_tests
Xinyu Zhang244e1862021-03-12 16:21:54 +0800193 }, # CoreIPCTfmLevel3
Paul Sokolovsky7eae9752022-02-09 21:38:55 +0300194 'PsaApiTest_Crypto': {
Paul Sokolovsky7eae9752022-02-09 21:38:55 +0300195 "monitors": monitors_psaapitest_crypto_workaround,
196 }, # PsaApiTest_Crypto
Paul Sokolovsky6024d012022-01-22 20:21:07 +0300197 'PsaApiTest_STORAGE': {
Paul Sokolovsky6024d012022-01-22 20:21:07 +0300198 "monitors": monitors_psaapitest_by_desc,
199 }, # PsaApiTest_Storage
Paul Sokolovsky0c82ae22022-02-16 20:01:10 +0300200 'PsaApiTestIPC_STORAGE': {
Paul Sokolovsky0c82ae22022-02-16 20:01:10 +0300201 "monitors": monitors_psaapitest_by_desc,
202 }, # PsaApiTestIPC_Storage
Paul Sokolovsky6024d012022-01-22 20:21:07 +0300203 'PsaApiTest_Attest': {
Paul Sokolovsky6024d012022-01-22 20:21:07 +0300204 "monitors": monitors_psaapitest_by_ut,
205 }, # PsaApiTest_Attest
Paul Sokolovsky46ff5312022-02-16 20:23:01 +0300206 'PsaApiTestIPC_Attest': {
Paul Sokolovsky46ff5312022-02-16 20:23:01 +0300207 "monitors": monitors_psaapitest_by_ut,
208 }, # PsaApiTestIPC_Attest
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100209 } # Tests
210}
211
Bence Balogh4fe9b882022-03-30 15:23:47 +0200212# FVP with BL2 bootloader
213# firmware <-> ns <-> application: --application cpu0=bl2.axf
214# bootloader <-> s <-> data: --data cpu0=tfm_s_ns_signed.bin@0x01000000
215fvp_mps3_an552_bl2 = {
216 "templ": "fvp_mps3.jinja2",
217 "job_name": "fvp_mps3_an552_bl2",
218 "device_type": "fvp",
219 "job_timeout": 15,
220 "action_timeout": 10,
221 "monitor_timeout": 15,
222 "poweroff_timeout": 1,
223 "platforms": {"AN552": ""},
224 "compilers": ["GCC", "ARMCLANG"],
225 "build_types": ["Debug", "Release"],
226 "boot_types": ["BL2"],
227 "data_bin_offset": "0x01000000",
228 "binaries": {
229 "application": "bl2.axf",
230 "data": "tfm_s_ns_signed.bin"
231 },
232 "tests": {
233 'Default': {
234 "monitors": monitors_no_reg_tests
235 }, # Default
236 'Regression': {
237 "monitors": monitors_reg_tests
238 }, # Regression
239 'RegressionIPC': {
240 "monitors": monitors_reg_tests
241 }, # Regression
242 'RegressionIPCTfmLevel2': {
243 "monitors": monitors_reg_tests
244 }, # Regression
245 'RegressionIPCTfmLevel3': {
246 "monitors": monitors_reg_tests
247 }, # Regression
248 'CoreIPC': {
249 "monitors": monitors_no_reg_tests
250 }, # CoreIPC
251 'CoreIPCTfmLevel2': {
252 "monitors": monitors_no_reg_tests
253 }, # CoreIPCTfmLevel2
254 'CoreIPCTfmLevel3': {
255 "monitors": monitors_no_reg_tests
256 }, # CoreIPCTfmLevel3
257
258 } # Tests
259}
Dean Bircha6ede7e2020-03-13 14:00:33 +0000260
Fathi Boudracaa90bd2020-12-04 22:00:14 +0100261# FVP with BL2 bootloader
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800262# application: --application cpu0=bl2.axf
263# data: --data cpu0=tfm_s_ns_signed.bin@0x10080000
Matthew Hart2c2688f2020-05-26 13:09:20 +0100264fvp_mps2_an521_bl2 = {
265 "templ": "fvp_mps2.jinja2",
266 "job_name": "fvp_mps2_an521_bl2",
Dean Bircha6ede7e2020-03-13 14:00:33 +0000267 "device_type": "fvp",
Matthew Hart2c2688f2020-05-26 13:09:20 +0100268 "job_timeout": 15,
269 "action_timeout": 10,
Xinyu Zhangd8703f02021-05-18 20:30:07 +0800270 "monitor_timeout": 15,
Matthew Hartfb6fd362020-03-04 21:03:59 +0000271 "poweroff_timeout": 1,
Dean Birch1d545c02020-05-29 14:09:21 +0100272 "platforms": {"AN521": ""},
Xinyu Zhang433771e2022-04-01 16:49:17 +0800273 "compilers": ["GCC", "ARMCLANG"],
Matthew Hart2c2688f2020-05-26 13:09:20 +0100274 "build_types": ["Debug", "Release", "Minsizerel"],
Dean Bircha6ede7e2020-03-13 14:00:33 +0000275 "boot_types": ["BL2"],
Matthew Hartfb6fd362020-03-04 21:03:59 +0000276 "data_bin_offset": "0x10080000",
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800277 "binaries": {
278 "application": "bl2.axf",
279 "data": "tfm_s_ns_signed.bin"
280 },
Matthew Hartfb6fd362020-03-04 21:03:59 +0000281 "tests": {
282 'Default': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800283 "monitors": monitors_no_reg_tests
Matthew Hartfb6fd362020-03-04 21:03:59 +0000284 }, # Default
Xinyu Zhang204dc372020-11-12 14:18:00 +0800285 'DefaultProfileS': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800286 "monitors": monitors_no_reg_tests
Xinyu Zhang204dc372020-11-12 14:18:00 +0800287 }, # DefaultProfileS
288 'DefaultProfileM': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800289 "monitors": monitors_no_reg_tests
Xinyu Zhang204dc372020-11-12 14:18:00 +0800290 }, # DefaultProfileM
Xinyu Zhang9b1aef92021-03-12 15:36:44 +0800291 'DefaultProfileL': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800292 "monitors": monitors_no_reg_tests
Xinyu Zhang9b1aef92021-03-12 15:36:44 +0800293 }, # DefaultProfileL
Matthew Hartfb6fd362020-03-04 21:03:59 +0000294 'Regression': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800295 "monitors": monitors_reg_tests
Matthew Hart2c2688f2020-05-26 13:09:20 +0100296 }, # Regression
Karl Zhang2b10b342020-11-09 14:50:11 +0800297 'RegressionProfileM': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800298 "monitors": monitors_reg_tests
Karl Zhang2b10b342020-11-09 14:50:11 +0800299 }, # RegressionProfileM
300 'RegressionProfileS': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800301 "monitors": monitors_reg_tests
Karl Zhang2b10b342020-11-09 14:50:11 +0800302 }, # RegressionProfileS
Xinyu Zhang9b1aef92021-03-12 15:36:44 +0800303 'RegressionProfileL': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800304 "monitors": monitors_reg_tests
Xinyu Zhang9b1aef92021-03-12 15:36:44 +0800305 }, # RegressionProfileL
Matthew Hart2c2688f2020-05-26 13:09:20 +0100306 'RegressionIPC': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800307 "monitors": monitors_reg_tests
Matthew Hart2c2688f2020-05-26 13:09:20 +0100308 }, # Regression
309 'RegressionIPCTfmLevel2': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800310 "monitors": monitors_reg_tests
Matthew Hartfb6fd362020-03-04 21:03:59 +0000311 }, # Regression
Karl Zhang3b092ef2020-11-06 16:56:25 +0800312 'RegressionIPCTfmLevel3': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800313 "monitors": monitors_reg_tests
Karl Zhang3b092ef2020-11-06 16:56:25 +0800314 }, # Regression
Matthew Hartfb6fd362020-03-04 21:03:59 +0000315 'CoreIPC': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800316 "monitors": monitors_no_reg_tests
Matthew Hartfb6fd362020-03-04 21:03:59 +0000317 }, # CoreIPC
318 'CoreIPCTfmLevel2': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800319 "monitors": monitors_no_reg_tests
Matthew Hartfb6fd362020-03-04 21:03:59 +0000320 }, # CoreIPCTfmLevel2
Xinyu Zhang204dc372020-11-12 14:18:00 +0800321 'CoreIPCTfmLevel3': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800322 "monitors": monitors_no_reg_tests
Xinyu Zhang204dc372020-11-12 14:18:00 +0800323 }, # CoreIPCTfmLevel3
Paul Sokolovsky7eae9752022-02-09 21:38:55 +0300324 'PsaApiTest_Crypto': {
Paul Sokolovsky7eae9752022-02-09 21:38:55 +0300325 "monitors": monitors_psaapitest_crypto_workaround,
326 }, # PsaApiTest_Crypto
Paul Sokolovsky6024d012022-01-22 20:21:07 +0300327 'PsaApiTest_STORAGE': {
Paul Sokolovsky6024d012022-01-22 20:21:07 +0300328 "monitors": monitors_psaapitest_by_desc,
329 }, # PsaApiTest_Storage
330
Paul Sokolovsky0c82ae22022-02-16 20:01:10 +0300331 'PsaApiTestIPC_STORAGE': {
Paul Sokolovsky0c82ae22022-02-16 20:01:10 +0300332 "monitors": monitors_psaapitest_by_desc,
333 }, # PsaApiTestIPC_Storage
Paul Sokolovsky6024d012022-01-22 20:21:07 +0300334 'PsaApiTest_Attest': {
Paul Sokolovsky6024d012022-01-22 20:21:07 +0300335 "monitors": monitors_psaapitest_by_ut,
336 }, # PsaApiTest_Attest
Paul Sokolovsky46ff5312022-02-16 20:23:01 +0300337 'PsaApiTestIPC_Attest': {
Paul Sokolovsky46ff5312022-02-16 20:23:01 +0300338 "monitors": monitors_psaapitest_by_ut,
339 }, # PsaApiTestIPC_Attest
340
Matthew Hartfb6fd362020-03-04 21:03:59 +0000341 } # Tests
342}
343
344
Fathi Boudracaa90bd2020-12-04 22:00:14 +0100345# FVP without BL2 bootloader
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800346# application: --application cpu0=tfm_s.axf
347# data: --data cpu0=tfm_ns.bin@0x00100000
Matthew Hart2c2688f2020-05-26 13:09:20 +0100348fvp_mps2_an521_nobl2 = {
349 "templ": "fvp_mps2.jinja2",
350 "job_name": "fvp_mps2_an521_nobl2",
Matthew Hartfb6fd362020-03-04 21:03:59 +0000351 "device_type": "fvp",
Matthew Hart2c2688f2020-05-26 13:09:20 +0100352 "job_timeout": 15,
353 "action_timeout": 10,
Xinyu Zhangd8703f02021-05-18 20:30:07 +0800354 "monitor_timeout": 15,
Matthew Hartfb6fd362020-03-04 21:03:59 +0000355 "poweroff_timeout": 1,
Dean Birch1d545c02020-05-29 14:09:21 +0100356 "platforms": {"AN521": ""},
Xinyu Zhang433771e2022-04-01 16:49:17 +0800357 "compilers": ["GCC", "ARMCLANG"],
Matthew Hart2c2688f2020-05-26 13:09:20 +0100358 "build_types": ["Debug", "Release", "Minsizerel"],
Matthew Hartfb6fd362020-03-04 21:03:59 +0000359 "boot_types": ["NOBL2"],
360 "data_bin_offset": "0x00100000",
Dean Birch1d545c02020-05-29 14:09:21 +0100361 "cpu_baseline": 1,
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800362 "binaries": {
363 "application": "tfm_s.axf",
364 "data": "tfm_ns.bin"
365 },
Dean Bircha6ede7e2020-03-13 14:00:33 +0000366 "tests": {
367 'Default': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800368 "monitors": monitors_no_reg_tests
Dean Bircha6ede7e2020-03-13 14:00:33 +0000369 }, # Default
Xinyu Zhang204dc372020-11-12 14:18:00 +0800370 'DefaultProfileS': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800371 "monitors": monitors_no_reg_tests
Xinyu Zhang204dc372020-11-12 14:18:00 +0800372 }, # DefaultProfileS
373 'DefaultProfileM': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800374 "monitors": monitors_no_reg_tests
Xinyu Zhang204dc372020-11-12 14:18:00 +0800375 }, # DefaultProfileM
Xinyu Zhang9b1aef92021-03-12 15:36:44 +0800376 'DefaultProfileL': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800377 "monitors": monitors_no_reg_tests
Xinyu Zhang9b1aef92021-03-12 15:36:44 +0800378 }, # DefaultProfileL
Dean Bircha6ede7e2020-03-13 14:00:33 +0000379 'Regression': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800380 "monitors": monitors_reg_tests
Dean Bircha6ede7e2020-03-13 14:00:33 +0000381 }, # Regression
Karl Zhang2b10b342020-11-09 14:50:11 +0800382 'RegressionProfileM': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800383 "monitors": monitors_reg_tests
Karl Zhang2b10b342020-11-09 14:50:11 +0800384 }, # RegressionProfileM
385 'RegressionProfileS': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800386 "monitors": monitors_reg_tests
Karl Zhang2b10b342020-11-09 14:50:11 +0800387 }, # RegressionProfileS
Xinyu Zhang9b1aef92021-03-12 15:36:44 +0800388 'RegressionProfileL': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800389 "monitors": monitors_reg_tests
Xinyu Zhang9b1aef92021-03-12 15:36:44 +0800390 }, # RegressionProfileL
Matthew Hart2c2688f2020-05-26 13:09:20 +0100391 'RegressionIPC': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800392 "monitors": monitors_reg_tests
Matthew Hart2c2688f2020-05-26 13:09:20 +0100393 }, # RegressionIPC
394 'RegressionIPCTfmLevel2': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800395 "monitors": monitors_reg_tests
Matthew Hart2c2688f2020-05-26 13:09:20 +0100396 }, # RegressionIPCTfmLevel2
Karl Zhang3b092ef2020-11-06 16:56:25 +0800397 'RegressionIPCTfmLevel3': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800398 "monitors": monitors_reg_tests
Karl Zhang3b092ef2020-11-06 16:56:25 +0800399 }, # RegressionIPCTfmLevel3
Dean Bircha6ede7e2020-03-13 14:00:33 +0000400 'CoreIPC': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800401 "monitors": monitors_no_reg_tests
Dean Bircha6ede7e2020-03-13 14:00:33 +0000402 }, # CoreIPC
403 'CoreIPCTfmLevel2': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800404 "monitors": monitors_no_reg_tests
Dean Bircha6ede7e2020-03-13 14:00:33 +0000405 }, # CoreIPCTfmLevel2
Xinyu Zhang204dc372020-11-12 14:18:00 +0800406 'CoreIPCTfmLevel3': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800407 "monitors": monitors_no_reg_tests
Xinyu Zhang204dc372020-11-12 14:18:00 +0800408 }, # CoreIPCTfmLevel3
Dean Bircha6ede7e2020-03-13 14:00:33 +0000409 } # Tests
410}
411
Matthew Hart2c2688f2020-05-26 13:09:20 +0100412
Fathi Boudracaa90bd2020-12-04 22:00:14 +0100413# FVP with BL2 bootloader
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800414# application: --application cpu0=bl2.axf
415# data: --data cpu0=tfm_s_ns_signed.bin@0x10080000
Matthew Hart2c2688f2020-05-26 13:09:20 +0100416fvp_mps2_an519_bl2 = {
417 "templ": "fvp_mps2.jinja2",
418 "job_name": "fvp_mps2_an519_bl2",
419 "device_type": "fvp",
420 "job_timeout": 15,
421 "action_timeout": 10,
Xinyu Zhangd8703f02021-05-18 20:30:07 +0800422 "monitor_timeout": 15,
Matthew Hart2c2688f2020-05-26 13:09:20 +0100423 "poweroff_timeout": 1,
424 "platforms": {"AN519": ""},
Xinyu Zhang433771e2022-04-01 16:49:17 +0800425 "compilers": ["GCC", "ARMCLANG"],
Matthew Hart2c2688f2020-05-26 13:09:20 +0100426 "build_types": ["Debug", "Release", "Minsizerel"],
427 "boot_types": ["BL2"],
428 "data_bin_offset": "0x10080000",
429 "cpu0_baseline": 1,
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800430 "binaries": {
431 "application": "bl2.axf",
432 "data": "tfm_s_ns_signed.bin"
433 },
Matthew Hart2c2688f2020-05-26 13:09:20 +0100434 "tests": {
435 'Default': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800436 "monitors": monitors_no_reg_tests
Matthew Hart2c2688f2020-05-26 13:09:20 +0100437 }, # Default
Xinyu Zhang204dc372020-11-12 14:18:00 +0800438 'DefaultProfileS': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800439 "monitors": monitors_no_reg_tests
Xinyu Zhang204dc372020-11-12 14:18:00 +0800440 }, # DefaultProfileS
441 'DefaultProfileM': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800442 "monitors": monitors_no_reg_tests
Xinyu Zhang204dc372020-11-12 14:18:00 +0800443 }, # DefaultProfileM
Matthew Hart2c2688f2020-05-26 13:09:20 +0100444 'Regression': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800445 "monitors": monitors_reg_tests
Matthew Hart2c2688f2020-05-26 13:09:20 +0100446 }, # Regression
Karl Zhang2b10b342020-11-09 14:50:11 +0800447 'RegressionProfileM': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800448 "monitors": monitors_reg_tests
Karl Zhang2b10b342020-11-09 14:50:11 +0800449 }, # RegressionProfileM
450 'RegressionProfileS': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800451 "monitors": monitors_reg_tests
Karl Zhang2b10b342020-11-09 14:50:11 +0800452 }, # RegressionProfileS
Matthew Hart2c2688f2020-05-26 13:09:20 +0100453 'RegressionIPC': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800454 "monitors": monitors_reg_tests
Matthew Hart2c2688f2020-05-26 13:09:20 +0100455 }, # Regression
456 'RegressionIPCTfmLevel2': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800457 "monitors": monitors_reg_tests
Matthew Hart2c2688f2020-05-26 13:09:20 +0100458 }, # Regression
459 'CoreIPC': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800460 "monitors": monitors_no_reg_tests
Matthew Hart2c2688f2020-05-26 13:09:20 +0100461 }, # CoreIPC
462 'CoreIPCTfmLevel2': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800463 "monitors": monitors_no_reg_tests
Matthew Hart2c2688f2020-05-26 13:09:20 +0100464 }, # CoreIPCTfmLevel2
465 } # Tests
466}
467
468
Fathi Boudracaa90bd2020-12-04 22:00:14 +0100469# FVP without BL2 bootloader
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800470# application: --application cpu0=tfm_s.axf
471# data: --data cpu0=tfm_ns.bin@0x00100000
Matthew Hart2c2688f2020-05-26 13:09:20 +0100472fvp_mps2_an519_nobl2 = {
473 "templ": "fvp_mps2.jinja2",
474 "job_name": "fvp_mps2_an519_nobl2",
475 "device_type": "fvp",
476 "job_timeout": 15,
477 "action_timeout": 10,
Xinyu Zhangd8703f02021-05-18 20:30:07 +0800478 "monitor_timeout": 15,
Matthew Hart2c2688f2020-05-26 13:09:20 +0100479 "poweroff_timeout": 1,
480 "platforms": {"AN519": ""},
Xinyu Zhang433771e2022-04-01 16:49:17 +0800481 "compilers": ["GCC", "ARMCLANG"],
Matthew Hart2c2688f2020-05-26 13:09:20 +0100482 "build_types": ["Debug", "Release", "Minsizerel"],
483 "boot_types": ["NOBL2"],
484 "data_bin_offset": "0x00100000",
485 "cpu0_baseline": 1,
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800486 "binaries": {
487 "application": "tfm_s.axf",
488 "data": "tfm_ns.bin"
489 },
Matthew Hart2c2688f2020-05-26 13:09:20 +0100490 "tests": {
491 'Default': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800492 "monitors": monitors_no_reg_tests
Matthew Hart2c2688f2020-05-26 13:09:20 +0100493 }, # Default
Xinyu Zhang204dc372020-11-12 14:18:00 +0800494 'DefaultProfileS': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800495 "monitors": monitors_no_reg_tests
Xinyu Zhang204dc372020-11-12 14:18:00 +0800496 }, # DefaultProfileS
497 'DefaultProfileM': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800498 "monitors": monitors_no_reg_tests
Xinyu Zhang204dc372020-11-12 14:18:00 +0800499 }, # DefaultProfileM
Matthew Hart2c2688f2020-05-26 13:09:20 +0100500 'Regression': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800501 "monitors": monitors_reg_tests
Matthew Hart2c2688f2020-05-26 13:09:20 +0100502 }, # Regression
Karl Zhang2b10b342020-11-09 14:50:11 +0800503 'RegressionProfileM': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800504 "monitors": monitors_reg_tests
Karl Zhang2b10b342020-11-09 14:50:11 +0800505 }, # RegressionProfileM
506 'RegressionProfileS': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800507 "monitors": monitors_reg_tests
Karl Zhang2b10b342020-11-09 14:50:11 +0800508 }, # RegressionProfileS
Matthew Hart2c2688f2020-05-26 13:09:20 +0100509 'RegressionIPC': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800510 "monitors": monitors_reg_tests
Matthew Hart2c2688f2020-05-26 13:09:20 +0100511 }, # RegressionIPC
512 'RegressionIPCTfmLevel2': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800513 "monitors": monitors_reg_tests
Matthew Hart2c2688f2020-05-26 13:09:20 +0100514 }, # RegressionIPCTfmLevel2
515 'CoreIPC': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800516 "monitors": monitors_no_reg_tests
Matthew Hart2c2688f2020-05-26 13:09:20 +0100517 }, # CoreIPC
518 'CoreIPCTfmLevel2': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800519 "monitors": monitors_no_reg_tests
Matthew Hart2c2688f2020-05-26 13:09:20 +0100520 }, # CoreIPCTfmLevel2
521 } # Tests
522}
523
524
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800525# QEMU for MPS2 with BL2 bootloader
Fathi Boudracaa90bd2020-12-04 22:00:14 +0100526qemu_mps2_bl2 = {
527 "templ": "qemu_mps2_bl2.jinja2",
528 "job_name": "qemu_mps2_bl2",
529 "device_type": "qemu",
530 "job_timeout": 300,
531 "action_timeout": 300,
532 "poweroff_timeout": 20,
533 "platforms": {"AN521": ""},
Xinyu Zhang433771e2022-04-01 16:49:17 +0800534 "compilers": ["GCC", "ARMCLANG"],
Fathi Boudracaa90bd2020-12-04 22:00:14 +0100535 "build_types": ["Debug", "Release"],
536 "boot_types": ["BL2"],
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800537 "binaries": {
538 "firmware": "tfm_s_ns_signed.bin",
539 "bootloader": "bl2.bin"
540 },
Xinyu Zhange89f45c2021-09-14 21:11:59 +0800541 "tests": {
Xinyu Zhange89f45c2021-09-14 21:11:59 +0800542 'Regression': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800543 "monitors": monitors_reg_tests
Xinyu Zhange89f45c2021-09-14 21:11:59 +0800544 }, # Regression
Xinyu Zhange89f45c2021-09-14 21:11:59 +0800545 'RegressionProfileS': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800546 "monitors": monitors_reg_tests
Xinyu Zhange89f45c2021-09-14 21:11:59 +0800547 }, # RegressionProfileS
548 'RegressionIPC': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800549 "monitors": monitors_reg_tests
Xinyu Zhange89f45c2021-09-14 21:11:59 +0800550 }, # Regression
551 'RegressionIPCTfmLevel2': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800552 "monitors": monitors_reg_tests
Xinyu Zhange89f45c2021-09-14 21:11:59 +0800553 }, # Regression
554 'RegressionIPCTfmLevel3': {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800555 "monitors": monitors_reg_tests
Xinyu Zhange89f45c2021-09-14 21:11:59 +0800556 }, # Regression
Xinyu Zhange89f45c2021-09-14 21:11:59 +0800557 }
Fathi Boudracaa90bd2020-12-04 22:00:14 +0100558}
559
560
561# Musca-B1 with BL2 bootloader
562# unified hex file comprising of both bl2.bin and tfm_s_ns_signed.bin
563# srec_cat bin/bl2.bin -Binary -offset 0xA000000 bin/tfm_s_ns_signed.bin -Binary -offset 0xA020000 -o tfm.hex -Intel
Fathi Boudra31225f72020-11-25 13:51:07 +0100564musca_b1_bl2 = {
565 "templ": "musca_b1.jinja2",
566 "job_name": "musca_b1_bl2",
567 "device_type": "musca-b",
Xinyu Zhang630dfe62021-06-17 14:38:11 +0800568 "job_timeout": 40,
569 "action_timeout": 20,
570 "monitor_timeout": 30,
Ryan Harkinf6981082020-12-18 14:54:33 +0000571 "poweroff_timeout": 40,
Fathi Boudra31225f72020-11-25 13:51:07 +0100572 "platforms": {"MUSCA_B1": ""},
Xinyu Zhang433771e2022-04-01 16:49:17 +0800573 "compilers": ["GCC", "ARMCLANG"],
Xinyu Zhang43e5d672021-03-24 16:30:26 +0800574 "build_types": ["Debug", "Release", "Minsizerel"],
Fathi Boudra31225f72020-11-25 13:51:07 +0100575 "boot_types": ["BL2"],
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800576 "binaries": {
577 "firmware": "tfm.hex",
578 },
Fathi Boudra31225f72020-11-25 13:51:07 +0100579 "tests": {
580 "Default": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800581 "monitors": monitors_no_reg_tests
Fathi Boudra31225f72020-11-25 13:51:07 +0100582 },
583 "CoreIPC": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800584 "monitors": monitors_no_reg_tests
Fathi Boudra31225f72020-11-25 13:51:07 +0100585 },
586 "CoreIPCTfmLevel2": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800587 "monitors": monitors_no_reg_tests
Fathi Boudra31225f72020-11-25 13:51:07 +0100588 },
589 "CoreIPCTfmLevel3": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800590 "monitors": monitors_no_reg_tests
Fathi Boudra31225f72020-11-25 13:51:07 +0100591 },
592 "DefaultProfileM": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800593 "monitors": monitors_no_reg_tests
Fathi Boudra31225f72020-11-25 13:51:07 +0100594 },
595 "DefaultProfileS": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800596 "monitors": monitors_no_reg_tests
Fathi Boudra31225f72020-11-25 13:51:07 +0100597 },
598 "Regression": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800599 "monitors": monitors_reg_tests
Fathi Boudra31225f72020-11-25 13:51:07 +0100600 },
601 "RegressionIPC": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800602 "monitors": monitors_reg_tests
Fathi Boudra31225f72020-11-25 13:51:07 +0100603 },
604 "RegressionIPCTfmLevel2": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800605 "monitors": monitors_reg_tests
Fathi Boudra31225f72020-11-25 13:51:07 +0100606 },
607 "RegressionIPCTfmLevel3": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800608 "monitors": monitors_reg_tests
Fathi Boudra31225f72020-11-25 13:51:07 +0100609 },
610 "RegressionProfileM": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800611 "monitors": monitors_reg_tests
Fathi Boudra31225f72020-11-25 13:51:07 +0100612 },
613 "RegressionProfileS": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800614 "monitors": monitors_reg_tests
Fathi Boudra31225f72020-11-25 13:51:07 +0100615 },
616 },
617}
618
Xinyu Zhang97114342021-01-21 14:08:03 +0800619# Musca-B1 with BL2 bootloader and OTP enabled
620# unified hex file comprising of both bl2.bin and tfm_s_ns_signed.bin
621# srec_cat bin/bl2.bin -Binary -offset 0xA000000 bin/tfm_s_ns_signed.bin -Binary -offset 0xA020000 -o tfm.hex -Intel
622musca_b1_otp_bl2 = {
623 "templ": "musca_b1_otp.jinja2",
624 "job_name": "musca_b1_opt_bl2",
625 "device_type": "musca-b",
Xinyu Zhang630dfe62021-06-17 14:38:11 +0800626 "job_timeout": 40,
627 "action_timeout": 20,
628 "monitor_timeout": 30,
Xinyu Zhang97114342021-01-21 14:08:03 +0800629 "poweroff_timeout": 40,
630 "platforms": {"MUSCA_B1_OTP": ""},
Xinyu Zhang433771e2022-04-01 16:49:17 +0800631 "compilers": ["GCC"],
Xinyu Zhang97114342021-01-21 14:08:03 +0800632 "build_types": ["Debug"],
633 "boot_types": ["BL2"],
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800634 "binaries": {
635 "firmware": "tfm.hex",
636 },
Xinyu Zhang97114342021-01-21 14:08:03 +0800637 "tests": {
638 "RegressionIPCTfmLevel3": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800639 "monitors": monitors_reg_tests
Xinyu Zhang97114342021-01-21 14:08:03 +0800640 },
641 },
642}
643
Arthur She07c91b52021-07-15 15:03:10 -0700644# STM32L562E-DK
645stm32l562e_dk = {
646 "templ": "stm32l562e_dk.jinja2",
647 "job_name": "stm32l562e_dk",
648 "device_type": "stm32l562e-dk",
649 "job_timeout": 24,
650 "action_timeout": 15,
651 "monitor_timeout": 15,
652 "poweroff_timeout": 5,
653 "platforms": {"stm32l562e_dk": ""},
Xinyu Zhang433771e2022-04-01 16:49:17 +0800654 "compilers": ["GCC", "ARMCLANG"],
Arthur She07c91b52021-07-15 15:03:10 -0700655 "build_types": ["Release", "Minsizerel"],
656 "boot_types": ["BL2"],
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800657 "binaries": {
658 "tarball": "stm32l562e-dk-tfm.tar.bz2",
659 },
Arthur She07c91b52021-07-15 15:03:10 -0700660 "tests": {
661 "Regression": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800662 "monitors": monitors_reg_tests
Arthur She07c91b52021-07-15 15:03:10 -0700663 },
664 "RegressionIPC": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800665 "monitors": monitors_reg_tests
Arthur She07c91b52021-07-15 15:03:10 -0700666 },
667 "RegressionIPCTfmLevel2": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800668 "monitors": monitors_reg_tests
Arthur She07c91b52021-07-15 15:03:10 -0700669 },
670 "RegressionIPCTfmLevel3": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800671 "monitors": monitors_reg_tests
Arthur She07c91b52021-07-15 15:03:10 -0700672 },
673 },
674}
Xinyu Zhang97114342021-01-21 14:08:03 +0800675
Arthur She3c0dadd2021-11-18 21:17:48 -0800676# LPCxpresso55S69
677lpcxpresso55s69 = {
678 "templ": "lpcxpresso55s69.jinja2",
679 "job_name": "lpcxpresso55s69",
680 "device_type": "lpcxpresso55s69",
681 "job_timeout": 24,
682 "action_timeout": 15,
683 "monitor_timeout": 15,
684 "poweroff_timeout": 5,
685 "platforms": {"lpcxpresso55s69": ""},
Xinyu Zhang433771e2022-04-01 16:49:17 +0800686 "compilers": ["GCC"],
Arthur She3c0dadd2021-11-18 21:17:48 -0800687 "build_types": ["Relwithdebinfo"],
688 "boot_types": ["NOBL2"],
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800689 "binaries": {
690 "tarball": "lpcxpresso55s69-tfm.tar.bz2",
691 },
Arthur She3c0dadd2021-11-18 21:17:48 -0800692 "tests": {
693 "DefaultProfileM": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800694 "monitors": monitors_no_reg_tests
Arthur She3c0dadd2021-11-18 21:17:48 -0800695 },
696 "RegressionProfileM": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800697 "monitors": monitors_reg_tests
Arthur She3c0dadd2021-11-18 21:17:48 -0800698 },
699 }
700}
701
Arthur She87602dc2022-02-06 14:42:18 -0800702# Cypress PSoC64
703psoc64 = {
704 "templ": "psoc64.jinja2",
705 "job_name": "psoc64",
706 "device_type": "cy8ckit-064s0s2-4343w",
707 "job_timeout": 120,
708 "action_timeout": 120,
709 "monitor_timeout": 120,
710 "poweroff_timeout": 5,
711 "platforms": {"psoc64": ""},
Xinyu Zhang433771e2022-04-01 16:49:17 +0800712 "compilers": ["GCC", "ARMCLANG"],
Arthur She87602dc2022-02-06 14:42:18 -0800713 "build_types": ["Release", "Minsizerel"],
714 "boot_types": ["NOBL2"],
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800715 "binaries": {
716 "spe": "tfm_s_signed.hex",
717 "nspe": "tfm_ns_signed.hex",
718 },
Arthur She87602dc2022-02-06 14:42:18 -0800719 "tests": {
720 "Regression": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800721 "monitors": monitors_reg_tests
Arthur She87602dc2022-02-06 14:42:18 -0800722 },
723 "RegressionIPC": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800724 "monitors": monitors_reg_tests
Arthur She87602dc2022-02-06 14:42:18 -0800725 },
726 "RegressionIPCTfmLevel2": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800727 "monitors": monitors_reg_tests
Arthur She87602dc2022-02-06 14:42:18 -0800728 },
729 "RegressionIPCTfmLevel3": {
Xinyu Zhangf724cd22022-03-21 15:46:26 +0800730 "monitors": monitors_reg_tests
Arthur She87602dc2022-02-06 14:42:18 -0800731 },
732 },
733}
734
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100735# All configurations should be mapped here
Fathi Boudra31225f72020-11-25 13:51:07 +0100736lava_gen_config_map = {
737 "mps2_an521_bl2": tfm_mps2_sse_200,
Bence Balogh4fe9b882022-03-30 15:23:47 +0200738 "fvp_mps3_an552_bl2": fvp_mps3_an552_bl2,
Fathi Boudra31225f72020-11-25 13:51:07 +0100739 "fvp_mps2_an521_bl2": fvp_mps2_an521_bl2,
740 "fvp_mps2_an521_nobl2": fvp_mps2_an521_nobl2,
741 "fvp_mps2_an519_bl2": fvp_mps2_an519_bl2,
742 "fvp_mps2_an519_nobl2": fvp_mps2_an519_nobl2,
Fathi Boudracaa90bd2020-12-04 22:00:14 +0100743 "qemu_mps2_bl2": qemu_mps2_bl2,
Fathi Boudra31225f72020-11-25 13:51:07 +0100744 "musca_b1": musca_b1_bl2,
Xinyu Zhang97114342021-01-21 14:08:03 +0800745 "musca_b1_otp": musca_b1_otp_bl2,
Arthur She07c91b52021-07-15 15:03:10 -0700746 "stm32l562e_dk": stm32l562e_dk,
Arthur She3c0dadd2021-11-18 21:17:48 -0800747 "lpcxpresso55s69": lpcxpresso55s69,
Arthur She87602dc2022-02-06 14:42:18 -0800748 "psoc64": psoc64,
Fathi Boudra31225f72020-11-25 13:51:07 +0100749}
Matthew Hart2c2688f2020-05-26 13:09:20 +0100750
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100751lavagen_config_sort_order = [
752 "templ",
753 "job_name",
754 "device_type",
755 "job_timeout",
756 "action_timeout",
757 "monitor_timeout",
758 "recovery_store_url",
759 "artifact_store_url",
760 "platforms",
761 "compilers",
762 "build_types",
763 "boot_types",
764 "tests"
765]
766
767lava_gen_monitor_sort_order = [
768 'name',
769 'start',
770 'end',
771 'pattern',
772 'fixup',
773]
774
775if __name__ == "__main__":
776 import os
777 import sys
778 from lava_helper import sort_lavagen_config
779 try:
780 from tfm_ci_pylib.utils import export_config_map
781 except ImportError:
782 dir_path = os.path.dirname(os.path.realpath(__file__))
783 sys.path.append(os.path.join(dir_path, "../"))
784 from tfm_ci_pylib.utils import export_config_map
785
786 if len(sys.argv) == 2:
787 if sys.argv[1] == "--export":
788 export_config_map(lava_gen_config_map)
789 if len(sys.argv) == 3:
790 if sys.argv[1] == "--export":
791 export_config_map(sort_lavagen_config(lava_gen_config_map),
792 sys.argv[2])