blob: 6d7264e30305ea006abbc55c8596c45f4cda9a7b [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/*
Jamie Fox9283cbc2024-04-22 13:40:01 +010011 * Copyright (c) 2018-2024, 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
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 },
347 "cm_provisioning_bundle": {
348 "data": "spe/bin/encrypted_cm_provisioning_bundle_0.bin"
349 },
350 "dm_provisioning_bundle": {
351 "data": "spe/bin/encrypted_dm_provisioning_bundle_0.bin"
352 },
353 "flash": {
354 "data": "spe/bin/host_flash.bin"
355 }
Jamie Fox9283cbc2024-04-22 13:40:01 +0100356 },
357 "monitors": {
358 'no_reg_tests': no_reg_tests_monitors,
359 'reg_tests': reg_tests_monitors,
360 }
361}
Matthew Hart2c2688f2020-05-26 13:09:20 +0100362
Antonio de Angelisc7526e82024-10-09 00:12:17 +0200363# QEMU for AN521 with BL2 bootloader
364qemu_mps2_bl2 = {
365 "templ": "qemu_mps2_bl2.jinja2",
366 "job_name": "qemu_mps2_bl2",
367 "device_type": "qemu",
368 "job_timeout": 30,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000369 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Antonio de Angelisc7526e82024-10-09 00:12:17 +0200370 "action_timeout": 20,
371 "monitor_timeout": 20,
372 "poweroff_timeout": 1,
373 "platforms": {"arm/mps2/an521": ""},
374 "binaries": {
375 "mcuboot": {
376 "data": "spe/bin/bl2.bin",
377 "offset": "0x10000000"
378 },
379 "tfm": {
380 "data": "nspe/tfm_s_ns_signed.bin",
381 "offset": "0x10080000"
382 }
383 },
384 "monitors": {
385 # FPU test on AN521 qemu not supported yet
386 'reg_tests': (reg_tests_monitors if 'FPON' not in os.getenv("EXTRA_PARAMS") else [mcuboot_tests_monitor_cfg]),
387 }
388}
389
390
Fathi Boudracaa90bd2020-12-04 22:00:14 +0100391# Musca-B1 with BL2 bootloader
392# unified hex file comprising of both bl2.bin and tfm_s_ns_signed.bin
393# 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 +0100394musca_b1_bl2 = {
395 "templ": "musca_b1.jinja2",
396 "job_name": "musca_b1_bl2",
397 "device_type": "musca-b",
Xinyu Zhang630dfe62021-06-17 14:38:11 +0800398 "job_timeout": 40,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000399 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Xinyu Zhang630dfe62021-06-17 14:38:11 +0800400 "action_timeout": 20,
Arthur She724958f2024-06-03 14:15:35 -0700401 "monitor_timeout": 10,
402 "poweroff_timeout": 5,
Xinyu Zhang22a12752022-10-10 17:21:21 +0800403 "platforms": {"arm/musca_b1": ""},
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800404 "binaries": {
Gergely Korcsákac2d0f02024-05-28 08:23:04 +0200405 "test_binary": {
406 "data": "spe/bin/tfm.hex" # firmware
407 }
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800408 },
Xinyu Zhang22a12752022-10-10 17:21:21 +0800409 "monitors": {
Xinyu Zhang32355382023-04-25 17:49:06 +0800410 'no_reg_tests': no_reg_tests_monitors,
411 'reg_tests': reg_tests_monitors,
Xinyu Zhang22a12752022-10-10 17:21:21 +0800412 }
Fathi Boudra31225f72020-11-25 13:51:07 +0100413}
414
Arthur She07c91b52021-07-15 15:03:10 -0700415# STM32L562E-DK
416stm32l562e_dk = {
417 "templ": "stm32l562e_dk.jinja2",
418 "job_name": "stm32l562e_dk",
419 "device_type": "stm32l562e-dk",
420 "job_timeout": 24,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000421 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Arthur She07c91b52021-07-15 15:03:10 -0700422 "action_timeout": 15,
423 "monitor_timeout": 15,
424 "poweroff_timeout": 5,
Xinyu Zhang22a12752022-10-10 17:21:21 +0800425 "platforms": {"stm/stm32l562e_dk": ""},
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800426 "binaries": {
Gergely Korcsákac2d0f02024-05-28 08:23:04 +0200427 "tarball": {
428 "data": "spe/api_ns/bin/stm32l562e-dk-tfm.tar.bz2"
429 }
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800430 },
Xinyu Zhang22a12752022-10-10 17:21:21 +0800431 "monitors": {
Xinyu Zhang32355382023-04-25 17:49:06 +0800432 'reg_tests': reg_tests_monitors,
Xinyu Zhang22a12752022-10-10 17:21:21 +0800433 }
Arthur She07c91b52021-07-15 15:03:10 -0700434}
Xinyu Zhang97114342021-01-21 14:08:03 +0800435
Arthur She96c6f772023-05-09 21:32:50 -0700436# STM32U5 B-U585I-IOT02A
437b_u585i_iot02a = {
438 "templ": "b_u585i_iot02a.jinja2",
439 "job_name": "b_u585i_iot02a",
440 "device_type": "b-u585i-iot02a",
441 "job_timeout": 5,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000442 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Arthur She96c6f772023-05-09 21:32:50 -0700443 "action_timeout": 3,
444 "monitor_timeout": 3,
445 "poweroff_timeout": 2,
446 "platforms": {"stm/b_u585i_iot02a": ""},
447 "binaries": {
Gergely Korcsákac2d0f02024-05-28 08:23:04 +0200448 "tarball": {
449 "data": "spe/api_ns/bin/b_u585i_iot02a-tfm.tar.bz2"
450 }
Arthur She96c6f772023-05-09 21:32:50 -0700451 },
452 "monitors": {
453 'reg_tests': reg_tests_monitors,
454 }
455}
456
Anton Komlev4164ab62024-02-23 10:59:56 +0100457# STM32H5 STM32H573I-DK
458stm32h573i_dk = {
459 "templ": "stm32h573i_dk.jinja2",
460 "job_name": "stm32h573i_dk",
461 "device_type": "stm32h573i-dk",
462 "job_timeout": 5,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000463 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Anton Komlev4164ab62024-02-23 10:59:56 +0100464 "action_timeout": 3,
465 "monitor_timeout": 3,
466 "poweroff_timeout": 2,
467 "platforms": {"stm/stm32h573i_dk": ""},
468 "binaries": {
Gergely Korcsákac2d0f02024-05-28 08:23:04 +0200469 "tarball": {
470 "data": "spe/api_ns/bin/stm32h573i_dk-tfm.tar.bz2"
471 }
Anton Komlev4164ab62024-02-23 10:59:56 +0100472 },
473 "monitors": {
474 'reg_tests': reg_tests_monitors,
475 }
476}
477
Arthur She3c0dadd2021-11-18 21:17:48 -0800478# LPCxpresso55S69
479lpcxpresso55s69 = {
480 "templ": "lpcxpresso55s69.jinja2",
481 "job_name": "lpcxpresso55s69",
482 "device_type": "lpcxpresso55s69",
483 "job_timeout": 24,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000484 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Arthur She3c0dadd2021-11-18 21:17:48 -0800485 "action_timeout": 15,
486 "monitor_timeout": 15,
487 "poweroff_timeout": 5,
Xinyu Zhang22a12752022-10-10 17:21:21 +0800488 "platforms": {"nxp/lpcxpresso55s69": ""},
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800489 "binaries": {
Gergely Korcsákac2d0f02024-05-28 08:23:04 +0200490 "tarball": {
491 "data": "nspe/bin/lpcxpresso55s69-tfm.tar.bz2"
492 }
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800493 },
Xinyu Zhang22a12752022-10-10 17:21:21 +0800494 "monitors": {
Xinyu Zhang32355382023-04-25 17:49:06 +0800495 'no_reg_tests': no_reg_tests_monitors,
496 'reg_tests': reg_tests_monitors,
Arthur She3c0dadd2021-11-18 21:17:48 -0800497 }
498}
499
Arthur She87602dc2022-02-06 14:42:18 -0800500# Cypress PSoC64
501psoc64 = {
502 "templ": "psoc64.jinja2",
503 "job_name": "psoc64",
504 "device_type": "cy8ckit-064s0s2-4343w",
Xinyu Zhange8bb1b12022-10-18 17:42:30 +0800505 "job_timeout": 30,
Benjamin Copelandef546a32025-01-14 22:32:40 +0000506 "notification_email": "tf-m-ci-notifications@lists.trustedfirmware.org",
Xinyu Zhange8bb1b12022-10-18 17:42:30 +0800507 "action_timeout": 20,
508 "monitor_timeout": 20,
Arthur She87602dc2022-02-06 14:42:18 -0800509 "poweroff_timeout": 5,
Xinyu Zhang22a12752022-10-10 17:21:21 +0800510 "platforms": {"cypress/psoc64": ""},
Xinyu Zhang28d61b42022-03-21 16:46:35 +0800511 "binaries": {
Gergely Korcsákac2d0f02024-05-28 08:23:04 +0200512 "spe": {
513 "data": "spe/bin/tfm_s_signed.hex"
514 },
515 "nspe": {
516 "data": "nspe/tfm_ns_signed.hex"
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 'reg_tests': reg_tests_monitors,
Xinyu Zhang22a12752022-10-10 17:21:21 +0800521 }
Arthur She87602dc2022-02-06 14:42:18 -0800522}
523
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100524# All configurations should be mapped here
Xinyu Zhang426c7252023-10-12 17:43:53 +0800525# Configs need bl2
526lava_gen_config_map_bl2 = {
Fathi Boudra31225f72020-11-25 13:51:07 +0100527 "mps2_an521_bl2": tfm_mps2_sse_200,
Bence Balogh1aa8d582023-08-29 13:10:02 +0200528 "fvp_mps3_cs300_bl2": fvp_mps3_cs300_bl2,
Fathi Boudra31225f72020-11-25 13:51:07 +0100529 "fvp_mps2_an521_bl2": fvp_mps2_an521_bl2,
Fathi Boudra31225f72020-11-25 13:51:07 +0100530 "fvp_mps2_an519_bl2": fvp_mps2_an519_bl2,
Gergely Korcsáka403e222024-04-09 10:51:00 +0200531 "fvp_mps4_cs315_bl1_bl2": fvp_mps4_cs315_bl1_bl2,
Gergely Korcsák78a4d142024-08-05 07:41:36 +0200532 "fvp_mps4_cs320_bl1_bl2": fvp_mps4_cs320_bl1_bl2,
Mohamed Omar Asakera7139722023-03-03 10:42:53 +0000533 "fvp_corstone1000": fvp_corstone1000,
Jamie Fox82a91d02024-09-27 14:54:14 +0100534 "fvp_rse_tc3": fvp_rse_tc3,
Antonio de Angelisc7526e82024-10-09 00:12:17 +0200535 "qemu_mps2_bl2": qemu_mps2_bl2,
Fathi Boudra31225f72020-11-25 13:51:07 +0100536 "musca_b1": musca_b1_bl2,
Anton Komlev19b3c0b2024-03-05 16:24:17 +0100537 "stm32l562e_dk": stm32l562e_dk,
Arthur Shecee9f692024-06-10 19:20:00 +0200538 "b_u585i_iot02a": b_u585i_iot02a,
Anton Komlev4164ab62024-02-23 10:59:56 +0100539 "stm32h573i_dk": stm32h573i_dk
Xinyu Zhang426c7252023-10-12 17:43:53 +0800540}
541
542# Configs without bl2
543lava_gen_config_map_nobl2 = {
544 "lpcxpresso55s69": lpcxpresso55s69,
Arthur She87602dc2022-02-06 14:42:18 -0800545 "psoc64": psoc64,
Fathi Boudra31225f72020-11-25 13:51:07 +0100546}
Matthew Hart2c2688f2020-05-26 13:09:20 +0100547
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100548lavagen_config_sort_order = [
549 "templ",
550 "job_name",
551 "device_type",
552 "job_timeout",
553 "action_timeout",
554 "monitor_timeout",
555 "recovery_store_url",
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100556 "platforms",
Xinyu Zhang22a12752022-10-10 17:21:21 +0800557 "monitors"
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100558]
559
560lava_gen_monitor_sort_order = [
561 'name',
562 'start',
563 'end',
564 'pattern',
565 'fixup',
566]