blob: 3cd0df8b1d11a694ef3da79dc88e9584a016b59a [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/*
Raef Colesaac84bc2025-01-09 14:20:12 +000011 * SPDX-FileCopyrightText: Copyright The TrustedFirmware-M Contributors
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
Xinyu Zhang22a12752022-10-10 17:21:21 +080022
23import os
24
25
Leonardo Sandoval66386a22021-04-15 14:35:08 -050026tf_downloads="https://downloads.trustedfirmware.org"
27coverage_trace_plugin=tf_downloads + "/coverage-plugin/qa-tools/coverage-tool/coverage-plugin/coverage_trace.so"
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010028
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010029
Xinyu Zhang22a12752022-10-10 17:21:21 +080030# LAVA test-monitor definition for configs without regression tests.
Xinyu Zhangf724cd22022-03-21 15:46:26 +080031# "Non-Secure system starting..." is expected to indicate
32# that TF-M has been booted successfully.
Xinyu Zhang32355382023-04-25 17:49:06 +080033no_reg_tests_monitors_cfg = {
Xinyu Zhang22a12752022-10-10 17:21:21 +080034 'name': 'NS_SYSTEM_BOOTING',
35 'start': 'Non-Secure system',
36 'end': r'starting\\.{3}',
37 'pattern': r'Non-Secure system starting\\.{3}',
38 'fixup': {"pass": "!", "fail": ""},
39}
Xinyu Zhangf724cd22022-03-21 15:46:26 +080040
Xinyu Zhang22a12752022-10-10 17:21:21 +080041# LAVA test-monitor definitions for configs with tests.
Paul Sokolovsky65671e62022-03-23 21:09:12 +030042# Results of each test case is parsed separately, capturing test case id.
43# Works across any test suites enabled.
Xinyu Zhang32355382023-04-25 17:49:06 +080044mcuboot_tests_monitor_cfg = {
Xinyu Zhang22a12752022-10-10 17:21:21 +080045 'name': 'mcuboot_suite',
46 'start': 'Execute test suites for the MCUBOOT area',
47 'end': 'End of MCUBOOT test suites',
48 'pattern': r"TEST: (?P<test_case_id>.+?) - (?P<result>(PASSED|FAILED|SKIPPED))",
49 'fixup': {"pass": "PASSED", "fail": "FAILED", "skip": "SKIPPED"},
50}
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010051
Xinyu Zhang32355382023-04-25 17:49:06 +080052s_reg_tests_monitors_cfg = {
Xinyu Zhang22a12752022-10-10 17:21:21 +080053 'name': 'secure_regression_suite',
54 'start': 'Execute test suites for the Secure area',
55 'end': 'End of Secure test suites',
56 'pattern': r"TEST: (?P<test_case_id>.+?) - (?P<result>(PASSED|FAILED|SKIPPED))",
57 'fixup': {"pass": "PASSED", "fail": "FAILED", "skip": "SKIPPED"},
58}
Paul Sokolovsky6024d012022-01-22 20:21:07 +030059
Xinyu Zhang32355382023-04-25 17:49:06 +080060ns_reg_tests_monitors_cfg = {
Xinyu Zhang22a12752022-10-10 17:21:21 +080061 'name': 'non_secure_regression_suite',
62 'start': 'Execute test suites for the Non-secure area',
63 'end': 'End of Non-secure test suites',
64 'pattern': r"TEST: (?P<test_case_id>.+?) - (?P<result>(PASSED|FAILED|SKIPPED))",
65 'fixup': {"pass": "PASSED", "fail": "FAILED", "skip": "SKIPPED"},
66}
Paul Sokolovsky6024d012022-01-22 20:21:07 +030067
Raef Colesf9a20742024-06-06 10:47:49 +010068bl1_1_reg_tests_monitors_cfg = {
69 'name': 'BL1_1_regression_suite',
70 'start': 'Execute test suites for the BL1_1 area',
71 'end': 'End of BL1_1 test suites',
72 'pattern': r"TEST: (?P<test_case_id>.+?) - (?P<result>(PASSED|FAILED|SKIPPED))",
73 'fixup': {"pass": "PASSED", "fail": "FAILED", "skip": "SKIPPED"},
74}
75
76bl1_2_reg_tests_monitors_cfg = {
77 'name': 'BL1_2_regression_suite',
78 'start': 'Execute test suites for the BL1_2 area',
79 'end': 'End of BL1_2 test suites',
80 'pattern': r"TEST: (?P<test_case_id>.+?) - (?P<result>(PASSED|FAILED|SKIPPED))",
81 'fixup': {"pass": "PASSED", "fail": "FAILED", "skip": "SKIPPED"},
82}
83
Xinyu Zhang32355382023-04-25 17:49:06 +080084arch_tests_monitors_cfg = {
Xinyu Zhang22a12752022-10-10 17:21:21 +080085 'name': 'psa_api_suite',
86 'start': 'Running..',
87 'end': 'Entering standby..',
88 'pattern': r" DESCRIPTION: +(?P<test_case_id>.+?)\r?\n"
89 r".+?"
90 r"TEST RESULT: (?P<result>(PASSED|FAILED|SKIPPED|SIM ERROR))",
91 'fixup': {"pass": "PASSED", "fail": "FAILED", "skip": "SKIPPED", "sim_error": "SIM ERROR"},
92}
Paul Sokolovskye3d2bb12022-06-06 17:04:34 +030093
Xinyu Zhang32355382023-04-25 17:49:06 +080094# Group related monitors into same list to simplify the code
95no_reg_tests_monitors = [no_reg_tests_monitors_cfg]
96
97reg_tests_monitors = [] + \
98 ([mcuboot_tests_monitor_cfg] if "RegBL2" in os.getenv("TEST_REGRESSION") and os.getenv("BL2") == "True" else []) + \
99 ([s_reg_tests_monitors_cfg] if "RegS" in os.getenv("TEST_REGRESSION") else []) + \
Raef Colesf9a20742024-06-06 10:47:49 +0100100 ([ns_reg_tests_monitors_cfg] if "RegNS" in os.getenv("TEST_REGRESSION") else []) + \
101 ([bl1_1_reg_tests_monitors_cfg] if "RegBL1_1" in os.getenv("TEST_REGRESSION") else []) + \
102 ([bl1_2_reg_tests_monitors_cfg] if "RegBL1_2" in os.getenv("TEST_REGRESSION") else [])
Xinyu Zhang32355382023-04-25 17:49:06 +0800103
104arch_tests_monitors = [arch_tests_monitors_cfg]
105
Paul Sokolovsky6024d012022-01-22 20:21:07 +0300106
Xinyu Zhang22a12752022-10-10 17:21:21 +0800107# MPS2 with BL2 bootloader for AN521
Fathi Boudracaa90bd2020-12-04 22:00:14 +0100108# IMAGE0ADDRESS: 0x10000000
109# IMAGE0FILE: \Software\bl2.bin ; BL2 bootloader
110# IMAGE1ADDRESS: 0x10080000
111# IMAGE1FILE: \Software\tfm_s_ns_signed.bin ; TF-M example application binary blob
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100112tfm_mps2_sse_200 = {
Matthew Hart2c2688f2020-05-26 13:09:20 +0100113 "templ": "mps2.jinja2",
114 "job_name": "mps2_an521_bl2",
Minos Galanakisafb43152019-09-25 14:17:39 +0100115 "device_type": "mps",
Matthew Hart2c2688f2020-05-26 13:09:20 +0100116 "job_timeout": 15,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000117 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Matthew Hart2c2688f2020-05-26 13:09:20 +0100118 "action_timeout": 10,
Xinyu Zhangd8703f02021-05-18 20:30:07 +0800119 "monitor_timeout": 15,
Matthew Hart2c2688f2020-05-26 13:09:20 +0100120 "poweroff_timeout": 1,
121 "recovery_store_url": "https://ci.trustedfirmware.org/userContent/",
Xinyu Zhang22a12752022-10-10 17:21:21 +0800122 "platforms": {"arm/mps2/an521": "mps2_sse200_an512_new.tar.gz"},
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800123 "binaries": {
Gergely Korcsákac2d0f02024-05-28 08:23:04 +0200124 # Run script references to test_.*/.*.bin
125 # These files will be saved under folders: test_firmware and test_bootloader
126 "test_firmware": {
127 "data": "nspe/tfm_s_ns_signed.bin"
128 },
129 "test_bootloader": {
130 "data": "spe/bin/bl2.bin"
131 }
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800132 },
Xinyu Zhang22a12752022-10-10 17:21:21 +0800133 "monitors": {
Xinyu Zhang32355382023-04-25 17:49:06 +0800134 'no_reg_tests': no_reg_tests_monitors,
Jianliang Shen9798e552022-11-21 12:55:42 +0800135 # FPU test on FPGA not supported yet
Xinyu Zhang32355382023-04-25 17:49:06 +0800136 'reg_tests': (reg_tests_monitors if 'FPON' not in os.getenv("EXTRA_PARAMS") else [mcuboot_tests_monitor_cfg]),
137 # FF test on FPGA not supported in LAVA yet
138 'arch_tests': (arch_tests_monitors if os.getenv("TEST_PSA_API") != "IPC" else []),
Xinyu Zhang22a12752022-10-10 17:21:21 +0800139 }
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100140}
141
Bence Balogh1aa8d582023-08-29 13:10:02 +0200142# FVP with BL2 bootloader for Corstone300
Bence Balogh4fe9b882022-03-30 15:23:47 +0200143# firmware <-> ns <-> application: --application cpu0=bl2.axf
144# bootloader <-> s <-> data: --data cpu0=tfm_s_ns_signed.bin@0x01000000
Bence Balogh1aa8d582023-08-29 13:10:02 +0200145fvp_mps3_cs300_bl2 = {
Bence Balogh4fe9b882022-03-30 15:23:47 +0200146 "templ": "fvp_mps3.jinja2",
Bence Balogh1aa8d582023-08-29 13:10:02 +0200147 "job_name": "fvp_mps3_cs300_bl2",
Bence Balogh4fe9b882022-03-30 15:23:47 +0200148 "device_type": "fvp",
149 "job_timeout": 15,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000150 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Bence Balogh4fe9b882022-03-30 15:23:47 +0200151 "action_timeout": 10,
152 "monitor_timeout": 15,
153 "poweroff_timeout": 1,
Bence Balogh1aa8d582023-08-29 13:10:02 +0200154 "platforms": {"arm/mps3/corstone300/fvp": ""},
Bence Balogh4fe9b882022-03-30 15:23:47 +0200155 "binaries": {
Gergely Korcsákac2d0f02024-05-28 08:23:04 +0200156 "bl2": {
157 "application": "spe/bin/bl2.axf"
158 },
159 "tfm_s_ns_img": {
160 "data": "nspe/tfm_s_ns_signed.bin",
161 "offset": "0x38000000",
162 }
Bence Balogh4fe9b882022-03-30 15:23:47 +0200163 },
Xinyu Zhang22a12752022-10-10 17:21:21 +0800164 "monitors": {
Xinyu Zhang32355382023-04-25 17:49:06 +0800165 'no_reg_tests': no_reg_tests_monitors,
166 'reg_tests': reg_tests_monitors,
Xinyu Zhang22a12752022-10-10 17:21:21 +0800167 }
Bence Balogh4fe9b882022-03-30 15:23:47 +0200168}
Dean Bircha6ede7e2020-03-13 14:00:33 +0000169
Gergely Korcsáka403e222024-04-09 10:51:00 +0200170# FVP with BL1 and BL2 bootloader for Corstone315
171fvp_mps4_cs315_bl1_bl2 = {
Gergely Korcsák2fd397d2024-11-21 10:56:23 +0100172 "templ": "fvp_mps4_cs315.jinja2",
Gergely Korcsáka403e222024-04-09 10:51:00 +0200173 "job_name": "fvp_mps4_cs315_bl1_bl2",
174 "device_type": "fvp",
175 "job_timeout": 15,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000176 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Gergely Korcsáka403e222024-04-09 10:51:00 +0200177 "action_timeout": 10,
178 "monitor_timeout": 15,
179 "poweroff_timeout": 1,
180 "platforms": {"arm/mps4/corstone315": ""},
181 "binaries": {
182 "bl1": {
183 "data": "spe/bin/bl1_1.bin",
184 "offset": "0x11000000",
185 },
186 "bl2": {
187 "data": "spe/bin/bl2_signed.bin",
188 "offset": "0x12031400",
189 },
190 "cm_prov": {
191 "data": "spe/bin/cm_provisioning_bundle.bin",
192 "offset": "0x12024000",
193 },
194 "dm_prov": {
195 "data": "spe/bin/dm_provisioning_bundle.bin",
196 "offset": "0x1202aa00",
197 },
198 "tfm_s_ns_img": {
199 "data": "nspe/tfm_s_ns_signed.bin",
200 "offset": "0x38000000",
201 }
202 },
203 "monitors": {
204 'no_reg_tests': no_reg_tests_monitors,
205 'reg_tests': reg_tests_monitors,
206 }
207}
208
Gergely Korcsák78a4d142024-08-05 07:41:36 +0200209# FVP with BL1 and BL2 bootloader for Corstone320
210fvp_mps4_cs320_bl1_bl2 = {
Gergely Korcsák2fd397d2024-11-21 10:56:23 +0100211 "templ": "fvp_mps4_cs320.jinja2",
Gergely Korcsák78a4d142024-08-05 07:41:36 +0200212 "job_name": "fvp_mps4_cs320_bl1_bl2",
213 "device_type": "fvp",
214 "job_timeout": 15,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000215 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Gergely Korcsák78a4d142024-08-05 07:41:36 +0200216 "action_timeout": 10,
217 "monitor_timeout": 15,
218 "poweroff_timeout": 1,
219 "platforms": {"arm/mps4/corstone320": ""},
220 "binaries": {
221 "bl1": {
222 "data": "spe/bin/bl1_1.bin",
223 "offset": "0x11000000",
224 },
225 "bl2": {
226 "data": "spe/bin/bl2_signed.bin",
227 "offset": "0x12031400",
228 },
229 "cm_prov": {
230 "data": "spe/bin/cm_provisioning_bundle.bin",
231 "offset": "0x12024000",
232 },
233 "dm_prov": {
234 "data": "spe/bin/dm_provisioning_bundle.bin",
235 "offset": "0x1202aa00",
236 },
237 "tfm_s_ns_img": {
238 "data": "nspe/tfm_s_ns_signed.bin",
239 "offset": "0x38000000",
240 }
241 },
242 "monitors": {
243 'no_reg_tests': no_reg_tests_monitors,
244 'reg_tests': reg_tests_monitors,
245 }
246}
247
Mohamed Omar Asakera7139722023-03-03 10:42:53 +0000248# FVP with BL1 and BL2 bootloader for Corstone1000
249fvp_corstone1000 = {
250 "templ": "fvp_corstone1000.jinja2",
251 "job_name": "fvp_corstone1000",
252 "device_type": "fvp",
253 "job_timeout": 15,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000254 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Mohamed Omar Asakera7139722023-03-03 10:42:53 +0000255 "action_timeout": 10,
256 "monitor_timeout": 15,
257 "poweroff_timeout": 1,
258 "platforms": {"arm/corstone1000": ""},
Mohamed Omar Asakera7139722023-03-03 10:42:53 +0000259 "binaries": {
Gergely Korcsákac2d0f02024-05-28 08:23:04 +0200260 "bl1": {
261 "application": "spe/bin/bl1.bin"
262 },
263 "tfm_s_ns_img": {
264 "data": "spe/bin/cs1000.bin",
265 "offset": "0x68000000",
266 }
Mohamed Omar Asakera7139722023-03-03 10:42:53 +0000267 },
268 "monitors": {
269 'reg_tests': reg_tests_monitors if "FVP" in os.getenv('EXTRA_PARAMS') else [],
270 }
271}
Satish Kumar1cfdd912022-08-01 09:24:07 +0100272
Xinyu Zhang22a12752022-10-10 17:21:21 +0800273# FVP with BL2 bootloader for AN521
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800274# application: --application cpu0=bl2.axf
275# data: --data cpu0=tfm_s_ns_signed.bin@0x10080000
Matthew Hart2c2688f2020-05-26 13:09:20 +0100276fvp_mps2_an521_bl2 = {
277 "templ": "fvp_mps2.jinja2",
278 "job_name": "fvp_mps2_an521_bl2",
Dean Bircha6ede7e2020-03-13 14:00:33 +0000279 "device_type": "fvp",
Matthew Hart2c2688f2020-05-26 13:09:20 +0100280 "job_timeout": 15,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000281 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Matthew Hart2c2688f2020-05-26 13:09:20 +0100282 "action_timeout": 10,
Xinyu Zhangd8703f02021-05-18 20:30:07 +0800283 "monitor_timeout": 15,
Matthew Hartfb6fd362020-03-04 21:03:59 +0000284 "poweroff_timeout": 1,
Xinyu Zhang22a12752022-10-10 17:21:21 +0800285 "platforms": {"arm/mps2/an521": ""},
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800286 "binaries": {
Gergely Korcsákac2d0f02024-05-28 08:23:04 +0200287 "bl2": {
288 "application": "spe/bin/bl2.axf"
289 },
290 "tfm_s_ns_img": {
291 "data": "nspe/tfm_s_ns_signed.bin",
292 "offset": "0x10080000",
293 }
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800294 },
Xinyu Zhang22a12752022-10-10 17:21:21 +0800295 "monitors": {
Xinyu Zhang32355382023-04-25 17:49:06 +0800296 'no_reg_tests': no_reg_tests_monitors,
297 'reg_tests': reg_tests_monitors,
298 'arch_tests': arch_tests_monitors,
Xinyu Zhang22a12752022-10-10 17:21:21 +0800299 }
Matthew Hartfb6fd362020-03-04 21:03:59 +0000300}
301
302
Xinyu Zhang22a12752022-10-10 17:21:21 +0800303# FVP with BL2 bootloader for AN519
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800304# application: --application cpu0=bl2.axf
305# data: --data cpu0=tfm_s_ns_signed.bin@0x10080000
Matthew Hart2c2688f2020-05-26 13:09:20 +0100306fvp_mps2_an519_bl2 = {
307 "templ": "fvp_mps2.jinja2",
308 "job_name": "fvp_mps2_an519_bl2",
309 "device_type": "fvp",
310 "job_timeout": 15,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000311 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Matthew Hart2c2688f2020-05-26 13:09:20 +0100312 "action_timeout": 10,
Xinyu Zhangd8703f02021-05-18 20:30:07 +0800313 "monitor_timeout": 15,
Matthew Hart2c2688f2020-05-26 13:09:20 +0100314 "poweroff_timeout": 1,
Xinyu Zhang22a12752022-10-10 17:21:21 +0800315 "platforms": {"arm/mps2/an519": ""},
Matthew Hart2c2688f2020-05-26 13:09:20 +0100316 "cpu0_baseline": 1,
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800317 "binaries": {
Gergely Korcsákac2d0f02024-05-28 08:23:04 +0200318 "bl2": {
319 "application": "spe/bin/bl2.axf"
320 },
321 "tfm_s_ns_img": {
322 "data": "nspe/tfm_s_ns_signed.bin",
323 "offset": "0x10080000",
324 }
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800325 },
Xinyu Zhang22a12752022-10-10 17:21:21 +0800326 "monitors": {
Xinyu Zhang32355382023-04-25 17:49:06 +0800327 'no_reg_tests': no_reg_tests_monitors,
328 'reg_tests': reg_tests_monitors,
Xinyu Zhang22a12752022-10-10 17:21:21 +0800329 }
Matthew Hart2c2688f2020-05-26 13:09:20 +0100330}
331
Jamie Fox82a91d02024-09-27 14:54:14 +0100332# RSE on TC3 FVP
333fvp_rse_tc3 = {
334 "templ": "fvp_rse_tc3.jinja2",
335 "job_name": "fvp_rse_tc3",
Jamie Fox9283cbc2024-04-22 13:40:01 +0100336 "device_type": "fvp",
337 "job_timeout": 15,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000338 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Jamie Fox9283cbc2024-04-22 13:40:01 +0100339 "action_timeout": 10,
340 "monitor_timeout": 15,
341 "poweroff_timeout": 1,
Jamie Fox82a91d02024-09-27 14:54:14 +0100342 "platforms": {"arm/rse/tc/tc3": ""},
Jamie Fox9283cbc2024-04-22 13:40:01 +0100343 "binaries": {
Gergely Korcsák5c442b32024-06-19 18:23:43 +0200344 "rom": {
345 "data": "spe/bin/rom.bin"
346 },
Raef Colesaac84bc2025-01-09 14:20:12 +0000347 "combined_provisioning_message": {
348 "data": "spe/bin/provisioning/combined_provisioning_message.bin"
Gergely Korcsák5c442b32024-06-19 18:23:43 +0200349 },
350 "flash": {
351 "data": "spe/bin/host_flash.bin"
352 }
Jamie Fox9283cbc2024-04-22 13:40:01 +0100353 },
354 "monitors": {
355 'no_reg_tests': no_reg_tests_monitors,
356 'reg_tests': reg_tests_monitors,
357 }
358}
Matthew Hart2c2688f2020-05-26 13:09:20 +0100359
Jackson Cooper-Driver164c54c2025-01-08 11:56:07 +0000360# RSE on TC4 FVP
361fvp_rse_tc4 = {
362 "templ": "fvp_rse_tc4.jinja2",
363 "job_name": "fvp_rse_tc4",
364 "device_type": "fvp",
365 "job_timeout": 15,
Jackson Cooper-Driverdaf8dd82025-02-12 14:37:45 +0000366 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Jackson Cooper-Driver164c54c2025-01-08 11:56:07 +0000367 "action_timeout": 10,
368 "monitor_timeout": 15,
369 "poweroff_timeout": 1,
370 "platforms": {"arm/rse/tc/tc4": ""},
371 "binaries": {
372 "rom": {
373 "data": "spe/bin/rom.bin"
374 },
Raef Colesaac84bc2025-01-09 14:20:12 +0000375 "combined_provisioning_message": {
376 "data": "spe/bin/provisioning/combined_provisioning_message.bin"
Jackson Cooper-Driver164c54c2025-01-08 11:56:07 +0000377 },
378 "flash": {
379 "data": "spe/bin/host_flash.bin"
380 }
381 },
382 "monitors": {
383 'no_reg_tests': no_reg_tests_monitors,
384 'reg_tests': reg_tests_monitors,
385 }
386}
387
Antonio de Angelisc7526e82024-10-09 00:12:17 +0200388# QEMU for AN521 with BL2 bootloader
389qemu_mps2_bl2 = {
390 "templ": "qemu_mps2_bl2.jinja2",
391 "job_name": "qemu_mps2_bl2",
392 "device_type": "qemu",
393 "job_timeout": 30,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000394 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Antonio de Angelisc7526e82024-10-09 00:12:17 +0200395 "action_timeout": 20,
396 "monitor_timeout": 20,
397 "poweroff_timeout": 1,
398 "platforms": {"arm/mps2/an521": ""},
399 "binaries": {
400 "mcuboot": {
401 "data": "spe/bin/bl2.bin",
402 "offset": "0x10000000"
403 },
404 "tfm": {
405 "data": "nspe/tfm_s_ns_signed.bin",
406 "offset": "0x10080000"
407 }
408 },
409 "monitors": {
410 # FPU test on AN521 qemu not supported yet
411 'reg_tests': (reg_tests_monitors if 'FPON' not in os.getenv("EXTRA_PARAMS") else [mcuboot_tests_monitor_cfg]),
412 }
413}
414
415
Fathi Boudracaa90bd2020-12-04 22:00:14 +0100416# Musca-B1 with BL2 bootloader
417# unified hex file comprising of both bl2.bin and tfm_s_ns_signed.bin
418# 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 +0100419musca_b1_bl2 = {
420 "templ": "musca_b1.jinja2",
421 "job_name": "musca_b1_bl2",
422 "device_type": "musca-b",
Xinyu Zhang630dfe62021-06-17 14:38:11 +0800423 "job_timeout": 40,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000424 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Xinyu Zhang630dfe62021-06-17 14:38:11 +0800425 "action_timeout": 20,
Arthur She724958f2024-06-03 14:15:35 -0700426 "monitor_timeout": 10,
427 "poweroff_timeout": 5,
Xinyu Zhang22a12752022-10-10 17:21:21 +0800428 "platforms": {"arm/musca_b1": ""},
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800429 "binaries": {
Gergely Korcsákac2d0f02024-05-28 08:23:04 +0200430 "test_binary": {
431 "data": "spe/bin/tfm.hex" # firmware
432 }
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800433 },
Xinyu Zhang22a12752022-10-10 17:21:21 +0800434 "monitors": {
Xinyu Zhang32355382023-04-25 17:49:06 +0800435 'no_reg_tests': no_reg_tests_monitors,
436 'reg_tests': reg_tests_monitors,
Xinyu Zhang22a12752022-10-10 17:21:21 +0800437 }
Fathi Boudra31225f72020-11-25 13:51:07 +0100438}
439
Arthur She07c91b52021-07-15 15:03:10 -0700440# STM32L562E-DK
441stm32l562e_dk = {
442 "templ": "stm32l562e_dk.jinja2",
443 "job_name": "stm32l562e_dk",
444 "device_type": "stm32l562e-dk",
445 "job_timeout": 24,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000446 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Arthur She07c91b52021-07-15 15:03:10 -0700447 "action_timeout": 15,
448 "monitor_timeout": 15,
449 "poweroff_timeout": 5,
Xinyu Zhang22a12752022-10-10 17:21:21 +0800450 "platforms": {"stm/stm32l562e_dk": ""},
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800451 "binaries": {
Gergely Korcsákac2d0f02024-05-28 08:23:04 +0200452 "tarball": {
453 "data": "spe/api_ns/bin/stm32l562e-dk-tfm.tar.bz2"
454 }
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800455 },
Xinyu Zhang22a12752022-10-10 17:21:21 +0800456 "monitors": {
Xinyu Zhang32355382023-04-25 17:49:06 +0800457 'reg_tests': reg_tests_monitors,
Xinyu Zhang22a12752022-10-10 17:21:21 +0800458 }
Arthur She07c91b52021-07-15 15:03:10 -0700459}
Xinyu Zhang97114342021-01-21 14:08:03 +0800460
Arthur She96c6f772023-05-09 21:32:50 -0700461# STM32U5 B-U585I-IOT02A
462b_u585i_iot02a = {
463 "templ": "b_u585i_iot02a.jinja2",
464 "job_name": "b_u585i_iot02a",
465 "device_type": "b-u585i-iot02a",
466 "job_timeout": 5,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000467 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Arthur She96c6f772023-05-09 21:32:50 -0700468 "action_timeout": 3,
469 "monitor_timeout": 3,
470 "poweroff_timeout": 2,
471 "platforms": {"stm/b_u585i_iot02a": ""},
472 "binaries": {
Gergely Korcsákac2d0f02024-05-28 08:23:04 +0200473 "tarball": {
474 "data": "spe/api_ns/bin/b_u585i_iot02a-tfm.tar.bz2"
475 }
Arthur She96c6f772023-05-09 21:32:50 -0700476 },
477 "monitors": {
478 'reg_tests': reg_tests_monitors,
479 }
480}
481
Anton Komlev4164ab62024-02-23 10:59:56 +0100482# STM32H5 STM32H573I-DK
483stm32h573i_dk = {
484 "templ": "stm32h573i_dk.jinja2",
485 "job_name": "stm32h573i_dk",
486 "device_type": "stm32h573i-dk",
487 "job_timeout": 5,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000488 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Anton Komlev4164ab62024-02-23 10:59:56 +0100489 "action_timeout": 3,
490 "monitor_timeout": 3,
491 "poweroff_timeout": 2,
492 "platforms": {"stm/stm32h573i_dk": ""},
493 "binaries": {
Gergely Korcsákac2d0f02024-05-28 08:23:04 +0200494 "tarball": {
495 "data": "spe/api_ns/bin/stm32h573i_dk-tfm.tar.bz2"
496 }
Anton Komlev4164ab62024-02-23 10:59:56 +0100497 },
498 "monitors": {
499 'reg_tests': reg_tests_monitors,
500 }
501}
502
Arthur She3c0dadd2021-11-18 21:17:48 -0800503# LPCxpresso55S69
504lpcxpresso55s69 = {
505 "templ": "lpcxpresso55s69.jinja2",
506 "job_name": "lpcxpresso55s69",
507 "device_type": "lpcxpresso55s69",
508 "job_timeout": 24,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000509 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Arthur She3c0dadd2021-11-18 21:17:48 -0800510 "action_timeout": 15,
511 "monitor_timeout": 15,
512 "poweroff_timeout": 5,
Xinyu Zhang22a12752022-10-10 17:21:21 +0800513 "platforms": {"nxp/lpcxpresso55s69": ""},
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800514 "binaries": {
Gergely Korcsákac2d0f02024-05-28 08:23:04 +0200515 "tarball": {
516 "data": "nspe/bin/lpcxpresso55s69-tfm.tar.bz2"
517 }
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800518 },
Xinyu Zhang22a12752022-10-10 17:21:21 +0800519 "monitors": {
Xinyu Zhang32355382023-04-25 17:49:06 +0800520 'no_reg_tests': no_reg_tests_monitors,
521 'reg_tests': reg_tests_monitors,
Arthur She3c0dadd2021-11-18 21:17:48 -0800522 }
523}
524
Arthur She87602dc2022-02-06 14:42:18 -0800525# Cypress PSoC64
526psoc64 = {
527 "templ": "psoc64.jinja2",
528 "job_name": "psoc64",
529 "device_type": "cy8ckit-064s0s2-4343w",
Xinyu Zhange8bb1b12022-10-18 17:42:30 +0800530 "job_timeout": 30,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000531 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Xinyu Zhange8bb1b12022-10-18 17:42:30 +0800532 "action_timeout": 20,
533 "monitor_timeout": 20,
Arthur She87602dc2022-02-06 14:42:18 -0800534 "poweroff_timeout": 5,
Xinyu Zhang22a12752022-10-10 17:21:21 +0800535 "platforms": {"cypress/psoc64": ""},
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800536 "binaries": {
Gergely Korcsákac2d0f02024-05-28 08:23:04 +0200537 "spe": {
538 "data": "spe/bin/tfm_s_signed.hex"
539 },
540 "nspe": {
541 "data": "nspe/tfm_ns_signed.hex"
542 }
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800543 },
Xinyu Zhang22a12752022-10-10 17:21:21 +0800544 "monitors": {
Xinyu Zhang32355382023-04-25 17:49:06 +0800545 'reg_tests': reg_tests_monitors,
Xinyu Zhang22a12752022-10-10 17:21:21 +0800546 }
Arthur She87602dc2022-02-06 14:42:18 -0800547}
548
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100549# All configurations should be mapped here
Xinyu Zhang426c7252023-10-12 17:43:53 +0800550# Configs need bl2
551lava_gen_config_map_bl2 = {
Fathi Boudra31225f72020-11-25 13:51:07 +0100552 "mps2_an521_bl2": tfm_mps2_sse_200,
Bence Balogh1aa8d582023-08-29 13:10:02 +0200553 "fvp_mps3_cs300_bl2": fvp_mps3_cs300_bl2,
Fathi Boudra31225f72020-11-25 13:51:07 +0100554 "fvp_mps2_an521_bl2": fvp_mps2_an521_bl2,
Fathi Boudra31225f72020-11-25 13:51:07 +0100555 "fvp_mps2_an519_bl2": fvp_mps2_an519_bl2,
Gergely Korcsáka403e222024-04-09 10:51:00 +0200556 "fvp_mps4_cs315_bl1_bl2": fvp_mps4_cs315_bl1_bl2,
Gergely Korcsák78a4d142024-08-05 07:41:36 +0200557 "fvp_mps4_cs320_bl1_bl2": fvp_mps4_cs320_bl1_bl2,
Mohamed Omar Asakera7139722023-03-03 10:42:53 +0000558 "fvp_corstone1000": fvp_corstone1000,
Jamie Fox82a91d02024-09-27 14:54:14 +0100559 "fvp_rse_tc3": fvp_rse_tc3,
Jackson Cooper-Driver164c54c2025-01-08 11:56:07 +0000560 "fvp_rse_tc4": fvp_rse_tc4,
Antonio de Angelisc7526e82024-10-09 00:12:17 +0200561 "qemu_mps2_bl2": qemu_mps2_bl2,
Fathi Boudra31225f72020-11-25 13:51:07 +0100562 "musca_b1": musca_b1_bl2,
Anton Komlev19b3c0b2024-03-05 16:24:17 +0100563 "stm32l562e_dk": stm32l562e_dk,
Arthur Shecee9f692024-06-10 19:20:00 +0200564 "b_u585i_iot02a": b_u585i_iot02a,
Anton Komlev4164ab62024-02-23 10:59:56 +0100565 "stm32h573i_dk": stm32h573i_dk
Xinyu Zhang426c7252023-10-12 17:43:53 +0800566}
567
568# Configs without bl2
569lava_gen_config_map_nobl2 = {
570 "lpcxpresso55s69": lpcxpresso55s69,
Arthur She87602dc2022-02-06 14:42:18 -0800571 "psoc64": psoc64,
Fathi Boudra31225f72020-11-25 13:51:07 +0100572}
Matthew Hart2c2688f2020-05-26 13:09:20 +0100573
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100574lavagen_config_sort_order = [
575 "templ",
576 "job_name",
577 "device_type",
578 "job_timeout",
579 "action_timeout",
580 "monitor_timeout",
581 "recovery_store_url",
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100582 "platforms",
Xinyu Zhang22a12752022-10-10 17:21:21 +0800583 "monitors"
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100584]
585
586lava_gen_monitor_sort_order = [
587 'name',
588 'start',
589 'end',
590 'pattern',
591 'fixup',
592]