LAVA: Deprecate redundant codes in LAVA helper

LAVA monitor only relies on bl2, regression tests and psa arch tests.
This patch updates the LAVA helper logics to select LAVA monitor in a
much easier way, instead of looping all build params.

Signed-off-by: Xinyu Zhang <xinyu.zhang@arm.com>
Change-Id: Ic00ce2ac308dcf4bd502212bb4e56234576b430f
diff --git a/lava_helper/lava_helper_configs.py b/lava_helper/lava_helper_configs.py
index eb465df..db4985a 100644
--- a/lava_helper/lava_helper_configs.py
+++ b/lava_helper/lava_helper_configs.py
@@ -19,110 +19,64 @@
 __project__ = "Trusted Firmware-M Open CI"
 __version__ = "1.4.0"
 
+
+import os
+
+
 tf_downloads="https://downloads.trustedfirmware.org"
 coverage_trace_plugin=tf_downloads + "/coverage-plugin/qa-tools/coverage-tool/coverage-plugin/coverage_trace.so"
 
-def lava_gen_get_config_subset(config,
-                               default=True,
-                               core=True,
-                               regression=True):
-    """ Allow dynamic generation of configuration combinations by subtracking
-    undesired ones """
 
-    from copy import deepcopy
-    cfg = deepcopy(config)
-    tests = deepcopy(config["tests"])
-
-    # Remove all configs not requests by the caller
-    if not default:
-        tests.pop("Default")
-    if not core:
-        tests.pop("CoreIPC")
-        tests.pop("CoreIPCTfmLevel2")
-        tests.pop("CoreIPCTfmLevel3")
-    if not regression:
-        tests.pop("Regression")
-
-    cfg["tests"] = tests
-    return cfg
-
-# LAVA test-monitor definition for configs with regression tests.
+# LAVA test-monitor definition for configs without regression tests.
 # "Non-Secure system starting..." is expected to indicate
 # that TF-M has been booted successfully.
-monitors_no_reg_tests = [
-    {
-        'name': 'NS_SYSTEM_BOOTING',
-        'start': 'Non-Secure system',
-        'end': r'starting\\.{3}',
-        'pattern': r'Non-Secure system starting\\.{3}',
-        'fixup': {"pass": "!", "fail": ""},
-    }
-]
+monitors_no_reg_tests = {
+    'name': 'NS_SYSTEM_BOOTING',
+    'start': 'Non-Secure system',
+    'end': r'starting\\.{3}',
+    'pattern': r'Non-Secure system starting\\.{3}',
+    'fixup': {"pass": "!", "fail": ""},
+}
 
-# LAVA test-monitor definitions for configs with regression tests.
+# LAVA test-monitor definitions for configs with tests.
 # Results of each test case is parsed separately, capturing test case id.
 # Works across any test suites enabled.
-monitors_ns_reg_tests = [
-    {
-        'name': 'regression_suite',
-        'start': 'Execute test suites',
-        'end': 'End of Non-secure test suites',
-        'pattern': r"TEST: (?P<test_case_id>.+?) - (?P<result>(PASSED|FAILED|SKIPPED))",
-        'fixup': {"pass": "PASSED", "fail": "FAILED", "skip": "SKIPPED"},
-    },
-]  # Monitors
-monitors_s_reg_tests = [
-    {
-        'name': 'regression_suite',
-        'start': 'Execute test suites',
-        'end': 'End of Secure test suites',
-        'pattern': r"TEST: (?P<test_case_id>.+?) - (?P<result>(PASSED|FAILED|SKIPPED))",
-        'fixup': {"pass": "PASSED", "fail": "FAILED", "skip": "SKIPPED"},
-    },
-]  # Monitors
+monitors_mcuboot_tests = {
+    'name': 'mcuboot_suite',
+    'start': 'Execute test suites for the MCUBOOT area',
+    'end': 'End of MCUBOOT test suites',
+    'pattern': r"TEST: (?P<test_case_id>.+?) - (?P<result>(PASSED|FAILED|SKIPPED))",
+    'fixup': {"pass": "PASSED", "fail": "FAILED", "skip": "SKIPPED"},
+}
 
-# LAVA test-monitor definition for PSA API testsuites, testcases identified
-# by "UT" value in output (testcase identifier).
-monitors_psaapitest_by_ut = [
-    {
-        'name': 'psa_api_suite',
-        'start': 'Running..',
-        'end': 'Entering standby..',
-        'pattern': r" UT: +(?P<test_case_id>[A-Za-z0-9_]+)\r?\n"
-                   r".+?"
-                   r"TEST RESULT: (?P<result>(PASSED|FAILED|SKIPPED))",
-        'fixup': {"pass": "PASSED", "fail": "FAILED", "skip": "SKIPPED"},
-    },
-]
+monitors_s_reg_tests = {
+    'name': 'secure_regression_suite',
+    'start': 'Execute test suites for the Secure area',
+    'end': 'End of Secure test suites',
+    'pattern': r"TEST: (?P<test_case_id>.+?) - (?P<result>(PASSED|FAILED|SKIPPED))",
+    'fixup': {"pass": "PASSED", "fail": "FAILED", "skip": "SKIPPED"},
+}
 
-# LAVA test-monitor definition for PSA API testsuites, testcases identified
-# by description in output (for when UT is not set to unique identifier).
-monitors_psaapitest_by_desc = [
-    {
-        'name': 'psa_api_suite',
-        'start': 'Running..',
-        'end': 'Entering standby..',
-        'pattern': r" DESCRIPTION: +(?P<test_case_id>.+?) \\|"
-                   r".+?"
-                   r"TEST RESULT: (?P<result>(PASSED|FAILED|SKIPPED))",
-        'fixup': {"pass": "PASSED", "fail": "FAILED", "skip": "SKIPPED"},
-    },
-]
+monitors_ns_reg_tests = {
+    'name': 'non_secure_regression_suite',
+    'start': 'Execute test suites for the Non-secure area',
+    'end': 'End of Non-secure test suites',
+    'pattern': r"TEST: (?P<test_case_id>.+?) - (?P<result>(PASSED|FAILED|SKIPPED))",
+    'fixup': {"pass": "PASSED", "fail": "FAILED", "skip": "SKIPPED"},
+}
 
-monitors_psaapitest_ff = [
-    {
-        'name': 'psa_api_suite',
-        'start': 'Running..',
-        'end': 'Entering standby..',
-        'pattern': r" DESCRIPTION: +(?P<test_case_id>.+?)\r?\n"
-                   r".+"
-                   r"TEST RESULT: (?P<result>(PASSED|FAILED|SKIPPED|SIM ERROR))",
-        'fixup': {"pass": "PASSED", "fail": "FAILED", "skip": "SKIPPED"},
-    },
-]
+monitors_arch_tests = {
+    'name': 'psa_api_suite',
+    'start': 'Running..',
+    'end': 'Entering standby..',
+    'pattern': r" DESCRIPTION: +(?P<test_case_id>.+?)\r?\n"
+                r".+?"
+                r"TEST RESULT: (?P<result>(PASSED|FAILED|SKIPPED|SIM ERROR))",
+    'fixup': {"pass": "PASSED", "fail": "FAILED", "skip": "SKIPPED", "sim_error": "SIM ERROR"},
+}
 
 
-# MPS2 with BL2 bootloader
+# MPS2 with BL2 bootloader for AN521
 # IMAGE0ADDRESS: 0x10000000
 # IMAGE0FILE: \Software\bl2.bin  ; BL2 bootloader
 # IMAGE1ADDRESS: 0x10080000
@@ -136,97 +90,19 @@
     "monitor_timeout": 15,
     "poweroff_timeout": 1,
     "recovery_store_url": "https://ci.trustedfirmware.org/userContent/",
-    "platforms": {"AN521": "mps2_sse200_an512_new.tar.gz"},
-    "compilers": ["GCC", "ARMCLANG"],
-    "build_types": ["Debug", "Release", "Minsizerel"],
-    "boot_types": ["BL2"],
+    "platforms": {"arm/mps2/an521": "mps2_sse200_an512_new.tar.gz"},
     "binaries": {
         "firmware": "tfm_s_ns_signed.bin",
         "bootloader": "bl2.bin"
     },
-    "tests": {
-        'Default': {
-            "monitors": monitors_no_reg_tests
-        },  # Default
-        'DefaultProfileS': {
-            "monitors": monitors_no_reg_tests
-        },  # DefaultProfileS
-        'DefaultProfileM': {
-            "monitors": monitors_no_reg_tests
-        },  # DefaultProfileM
-        'DefaultProfileL': {
-            "monitors": monitors_no_reg_tests
-        },  # DefaultProfileL
-        'Regression': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
-        'RegressionProfileM': {
-            "monitors": monitors_ns_reg_tests
-        },  # RegressionProfileM
-        'RegressionProfileS': {
-            "monitors": monitors_ns_reg_tests
-        },  # RegressionProfileS
-        'RegressionProfileL': {
-            "monitors": monitors_ns_reg_tests
-        },  # RegressionProfileL
-        'RegressionIPC': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
-        'RegressionIPCTfmLevel2': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
-        'RegressionIPCTfmLevel3': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
-        'CoreIPC': {
-            "monitors": monitors_no_reg_tests
-        },  # CoreIPC
-        'CoreIPCTfmLevel2': {
-            "monitors": monitors_no_reg_tests
-        },  # CoreIPCTfmLevel2
-        'CoreIPCTfmLevel3': {
-            "monitors": monitors_no_reg_tests
-        },  # CoreIPCTfmLevel3
-        'PsaApiTest_Crypto': {
-            "monitors": monitors_psaapitest_by_ut,
-        }, # PsaApiTest_Crypto
-        'PsaApiTestIPC_Crypto': {
-            "monitors": monitors_psaapitest_by_ut,
-        },
-        'PsaApiTestIPCTfmLevel2_Crypto': {
-            "monitors": monitors_psaapitest_by_ut,
-        },
-        'PsaApiTestIPCTfmLevel3_Crypto': {
-            "monitors": monitors_psaapitest_by_ut,
-        },
-        'PsaApiTest_STORAGE': {
-            "monitors": monitors_psaapitest_by_desc,
-        }, # PsaApiTest_Storage
-        'PsaApiTestIPC_STORAGE': {
-            "monitors": monitors_psaapitest_by_desc,
-        }, # PsaApiTestIPC_Storage
-        'PsaApiTestIPCTfmLevel2_STORAGE': {
-            "monitors": monitors_psaapitest_by_desc,
-        },
-        'PsaApiTestIPCTfmLevel3_STORAGE': {
-            "monitors": monitors_psaapitest_by_desc,
-        },
-        'PsaApiTest_Attest': {
-            "monitors": monitors_psaapitest_by_ut,
-        }, # PsaApiTest_Attest
-        'PsaApiTestIPC_Attest': {
-            "monitors": monitors_psaapitest_by_ut,
-        }, # PsaApiTestIPC_Attest
-        'PsaApiTestIPCTfmLevel2_Attest': {
-            "monitors": monitors_psaapitest_by_ut,
-        },
-        'PsaApiTestIPCTfmLevel3_Attest': {
-            "monitors": monitors_psaapitest_by_ut,
-        },
-    }  # Tests
+    "monitors": {
+        'no_reg_tests': [monitors_no_reg_tests],
+        'reg_tests': [monitors_mcuboot_tests, monitors_s_reg_tests, monitors_ns_reg_tests],
+        'arch_tests': [monitors_arch_tests] if os.getenv("TEST_PSA_API") != "IPC" else [], # FF test on FPGA not supported in LAVA yet
+    }
 }
 
-# FVP with BL2 bootloader
+# FVP with BL2 bootloader for AN552
 # firmware <-> ns <-> application: --application cpu0=bl2.axf
 # bootloader <-> s <-> data: --data cpu0=tfm_s_ns_signed.bin@0x01000000
 fvp_mps3_an552_bl2 = {
@@ -237,45 +113,19 @@
     "action_timeout": 10,
     "monitor_timeout": 15,
     "poweroff_timeout": 1,
-    "platforms": {"AN552": ""},
-    "compilers": ["GCC", "ARMCLANG"],
-    "build_types": ["Debug", "Release"],
-    "boot_types": ["BL2"],
+    "platforms": {"arm/mps3/an552": ""},
     "data_bin_offset": "0x01000000",
     "binaries": {
         "application": "bl2.axf",
         "data": "tfm_s_ns_signed.bin"
     },
-       "tests": {
-        'Default': {
-            "monitors": monitors_no_reg_tests
-        },  # Default
-        'Regression': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
-        'RegressionIPC': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
-        'RegressionIPCTfmLevel2': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
-        'RegressionIPCTfmLevel3': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
-        'CoreIPC': {
-            "monitors": monitors_no_reg_tests
-        },  # CoreIPC
-        'CoreIPCTfmLevel2': {
-            "monitors": monitors_no_reg_tests
-        },  # CoreIPCTfmLevel2
-        'CoreIPCTfmLevel3': {
-            "monitors": monitors_no_reg_tests
-        },  # CoreIPCTfmLevel3
-
-    }  # Tests
+    "monitors": {
+        'no_reg_tests': [monitors_no_reg_tests],
+        'reg_tests': [monitors_mcuboot_tests, monitors_s_reg_tests, monitors_ns_reg_tests],
+    }
 }
 
-# FVP with BL1 and BL2 bootloader
+# FVP with BL1 and BL2 bootloader for Corstone1000
 fvp_corstone1000 = {
     "templ": "fvp_corstone1000.jinja2",
     "job_name": "fvp_corstone1000",
@@ -284,24 +134,18 @@
     "action_timeout": 10,
     "monitor_timeout": 15,
     "poweroff_timeout": 1,
-    "platforms": {"corstone1000": ""},
-    "compilers": ["GCC"],
-    "build_types": ["Debug"],
-    "boot_types": ["BL2"],
+    "platforms": {"arm/corstone1000": ""},
     "data_bin_offset": "0x68100000",
     "binaries": {
         "application": "bl1.bin",
         "data": "flash.bin"
     },
-       "tests": {
-        'RegressionIPC': {
-            "monitors": monitors_s_reg_tests
-        },  # Regression
-
-    }  # Tests
+    "monitors": {
+        'reg_tests': [monitors_mcuboot_tests, monitors_s_reg_tests] if "FVP" in os.getenv('EXTRA_PARAMS') else [],
+    }
 }
 
-# FVP with BL2 bootloader
+# FVP with BL2 bootloader for AN521
 # application: --application cpu0=bl2.axf
 # data: --data cpu0=tfm_s_ns_signed.bin@0x10080000
 fvp_mps2_an521_bl2 = {
@@ -312,184 +156,21 @@
     "action_timeout": 10,
     "monitor_timeout": 15,
     "poweroff_timeout": 1,
-    "platforms": {"AN521": ""},
-    "compilers": ["GCC", "ARMCLANG"],
-    "build_types": ["Debug", "Release", "Minsizerel"],
-    "boot_types": ["BL2"],
+    "platforms": {"arm/mps2/an521": ""},
     "data_bin_offset": "0x10080000",
     "binaries": {
         "application": "bl2.axf",
         "data": "tfm_s_ns_signed.bin"
     },
-    "tests": {
-        'Default': {
-            "monitors": monitors_no_reg_tests
-        },  # Default
-        'DefaultProfileS': {
-            "monitors": monitors_no_reg_tests
-        },  # DefaultProfileS
-        'DefaultProfileM': {
-            "monitors": monitors_no_reg_tests
-        },  # DefaultProfileM
-        'DefaultProfileL': {
-            "monitors": monitors_no_reg_tests
-        },  # DefaultProfileL
-        'Regression': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
-        'RegressionProfileM': {
-            "monitors": monitors_ns_reg_tests
-        },  # RegressionProfileM
-        'RegressionProfileS': {
-            "monitors": monitors_ns_reg_tests
-        },  # RegressionProfileS
-        'RegressionProfileL': {
-            "monitors": monitors_ns_reg_tests
-        },  # RegressionProfileL
-        'RegressionIPC': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
-        'RegressionIPCTfmLevel2': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
-        'RegressionIPCTfmLevel3': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
-        'CoreIPC': {
-            "monitors": monitors_no_reg_tests
-        },  # CoreIPC
-        'CoreIPCTfmLevel2': {
-            "monitors": monitors_no_reg_tests
-        },  # CoreIPCTfmLevel2
-        'CoreIPCTfmLevel3': {
-            "monitors": monitors_no_reg_tests
-        },  # CoreIPCTfmLevel3
-        'PsaApiTest_Crypto': {
-            "monitors": monitors_psaapitest_by_ut,
-        }, # PsaApiTest_Crypto
-        'PsaApiTestIPC_Crypto': {
-            "monitors": monitors_psaapitest_by_ut,
-        },
-        'PsaApiTestIPCTfmLevel2_Crypto': {
-            "monitors": monitors_psaapitest_by_ut,
-        },
-        'PsaApiTestIPCTfmLevel3_Crypto': {
-            "monitors": monitors_psaapitest_by_ut,
-        },
-        'PsaApiTest_STORAGE': {
-            "monitors": monitors_psaapitest_by_desc,
-        }, # PsaApiTest_Storage
-
-        'PsaApiTestIPC_STORAGE': {
-            "monitors": monitors_psaapitest_by_desc,
-        }, # PsaApiTestIPC_Storage
-        'PsaApiTestIPCTfmLevel2_STORAGE': {
-            "monitors": monitors_psaapitest_by_desc,
-        },
-        'PsaApiTestIPCTfmLevel3_STORAGE': {
-            "monitors": monitors_psaapitest_by_desc,
-        },
-        'PsaApiTest_Attest': {
-            "monitors": monitors_psaapitest_by_ut,
-        }, # PsaApiTest_Attest
-        'PsaApiTestIPC_Attest': {
-            "monitors": monitors_psaapitest_by_ut,
-        }, # PsaApiTestIPC_Attest
-        'PsaApiTestIPCTfmLevel2_Attest': {
-            "monitors": monitors_psaapitest_by_ut,
-        },
-        'PsaApiTestIPCTfmLevel3_Attest': {
-            "monitors": monitors_psaapitest_by_ut,
-        },
-
-        'PsaApiTestIPC_FF': {
-            "monitors": monitors_psaapitest_ff,
-        },
-        'PsaApiTestIPCTfmLevel2_FF': {
-            "monitors": monitors_psaapitest_ff,
-        },
-
-    }  # Tests
+    "monitors": {
+        'no_reg_tests': [monitors_no_reg_tests],
+        'reg_tests': [monitors_mcuboot_tests, monitors_s_reg_tests, monitors_ns_reg_tests],
+        'arch_tests': [monitors_arch_tests],
+    }
 }
 
 
-# FVP without BL2 bootloader
-# application: --application cpu0=tfm_s.axf
-# data: --data cpu0=tfm_ns.bin@0x00100000
-fvp_mps2_an521_nobl2 = {
-    "templ": "fvp_mps2.jinja2",
-    "job_name": "fvp_mps2_an521_nobl2",
-    "device_type": "fvp",
-    "job_timeout": 15,
-    "action_timeout": 10,
-    "monitor_timeout": 15,
-    "poweroff_timeout": 1,
-    "platforms": {"AN521": ""},
-    "compilers": ["GCC", "ARMCLANG"],
-    "build_types": ["Debug", "Release", "Minsizerel"],
-    "boot_types": ["NOBL2"],
-    "data_bin_offset": "0x00100000",
-    "cpu_baseline": 1,
-    "binaries": {
-        "application": "tfm_s.axf",
-        "data": "tfm_ns.bin"
-    },
-    "tests": {
-        'Default': {
-            "monitors": monitors_no_reg_tests
-        },  # Default
-        'DefaultProfileS': {
-            "monitors": monitors_no_reg_tests
-        },  # DefaultProfileS
-        'DefaultProfileM': {
-            "monitors": monitors_no_reg_tests
-        },  # DefaultProfileM
-        'DefaultProfileL': {
-            "monitors": monitors_no_reg_tests
-        },  # DefaultProfileL
-        'Regression': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
-        'RegressionProfileM': {
-            "monitors": monitors_ns_reg_tests
-        },  # RegressionProfileM
-        'RegressionProfileS': {
-            "monitors": monitors_ns_reg_tests
-        },  # RegressionProfileS
-        'RegressionProfileL': {
-            "monitors": monitors_ns_reg_tests
-        },  # RegressionProfileL
-        'RegressionIPC': {
-            "monitors": monitors_ns_reg_tests
-        },  # RegressionIPC
-        'RegressionIPCTfmLevel2': {
-            "monitors": monitors_ns_reg_tests
-        },  # RegressionIPCTfmLevel2
-        'RegressionIPCTfmLevel3': {
-            "monitors": monitors_ns_reg_tests
-        },  # RegressionIPCTfmLevel3
-        'CoreIPC': {
-            "monitors": monitors_no_reg_tests
-        },  # CoreIPC
-        'CoreIPCTfmLevel2': {
-            "monitors": monitors_no_reg_tests
-        },  # CoreIPCTfmLevel2
-        'CoreIPCTfmLevel3': {
-            "monitors": monitors_no_reg_tests
-        },  # CoreIPCTfmLevel3
-
-        'PsaApiTestIPC_FF': {
-            "monitors": monitors_psaapitest_ff,
-        },
-        'PsaApiTestIPCTfmLevel2_FF': {
-            "monitors": monitors_psaapitest_ff,
-        },
-
-    }  # Tests
-}
-
-
-# FVP with BL2 bootloader
+# FVP with BL2 bootloader for AN519
 # application: --application cpu0=bl2.axf
 # data: --data cpu0=tfm_s_ns_signed.bin@0x10080000
 fvp_mps2_an519_bl2 = {
@@ -500,108 +181,21 @@
     "action_timeout": 10,
     "monitor_timeout": 15,
     "poweroff_timeout": 1,
-    "platforms": {"AN519": ""},
-    "compilers": ["GCC", "ARMCLANG"],
-    "build_types": ["Debug", "Release", "Minsizerel"],
-    "boot_types": ["BL2"],
+    "platforms": {"arm/mps2/an519": ""},
     "data_bin_offset": "0x10080000",
     "cpu0_baseline": 1,
     "binaries": {
         "application": "bl2.axf",
         "data": "tfm_s_ns_signed.bin"
     },
-    "tests": {
-        'Default': {
-            "monitors": monitors_no_reg_tests
-        },  # Default
-        'DefaultProfileS': {
-            "monitors": monitors_no_reg_tests
-        },  # DefaultProfileS
-        'DefaultProfileM': {
-            "monitors": monitors_no_reg_tests
-        },  # DefaultProfileM
-        'Regression': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
-        'RegressionProfileM': {
-            "monitors": monitors_ns_reg_tests
-        },  # RegressionProfileM
-        'RegressionProfileS': {
-            "monitors": monitors_ns_reg_tests
-        },  # RegressionProfileS
-        'RegressionIPC': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
-        'RegressionIPCTfmLevel2': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
-        'CoreIPC': {
-            "monitors": monitors_no_reg_tests
-        },  # CoreIPC
-        'CoreIPCTfmLevel2': {
-            "monitors": monitors_no_reg_tests
-        },  # CoreIPCTfmLevel2
-    }  # Tests
+    "monitors": {
+        'no_reg_tests': [monitors_no_reg_tests],
+        'reg_tests': [monitors_mcuboot_tests, monitors_s_reg_tests, monitors_ns_reg_tests],
+    }
 }
 
 
-# FVP without BL2 bootloader
-# application: --application cpu0=tfm_s.axf
-# data: --data cpu0=tfm_ns.bin@0x00100000
-fvp_mps2_an519_nobl2 = {
-    "templ": "fvp_mps2.jinja2",
-    "job_name": "fvp_mps2_an519_nobl2",
-    "device_type": "fvp",
-    "job_timeout": 15,
-    "action_timeout": 10,
-    "monitor_timeout": 15,
-    "poweroff_timeout": 1,
-    "platforms": {"AN519": ""},
-    "compilers": ["GCC", "ARMCLANG"],
-    "build_types": ["Debug", "Release", "Minsizerel"],
-    "boot_types": ["NOBL2"],
-    "data_bin_offset": "0x00100000",
-    "cpu0_baseline": 1,
-    "binaries": {
-        "application": "tfm_s.axf",
-        "data": "tfm_ns.bin"
-    },
-    "tests": {
-        'Default': {
-            "monitors": monitors_no_reg_tests
-        },  # Default
-        'DefaultProfileS': {
-            "monitors": monitors_no_reg_tests
-        },  # DefaultProfileS
-        'DefaultProfileM': {
-            "monitors": monitors_no_reg_tests
-        },  # DefaultProfileM
-        'Regression': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
-        'RegressionProfileM': {
-            "monitors": monitors_ns_reg_tests
-        },  # RegressionProfileM
-        'RegressionProfileS': {
-            "monitors": monitors_ns_reg_tests
-        },  # RegressionProfileS
-        'RegressionIPC': {
-            "monitors": monitors_ns_reg_tests
-        },  # RegressionIPC
-        'RegressionIPCTfmLevel2': {
-            "monitors": monitors_ns_reg_tests
-        },  # RegressionIPCTfmLevel2
-        'CoreIPC': {
-            "monitors": monitors_no_reg_tests
-        },  # CoreIPC
-        'CoreIPCTfmLevel2': {
-            "monitors": monitors_no_reg_tests
-        },  # CoreIPCTfmLevel2
-    }  # Tests
-}
-
-
-# QEMU for MPS2 with BL2 bootloader
+# QEMU for AN521 with BL2 bootloader
 qemu_mps2_bl2 = {
     "templ": "qemu_mps2_bl2.jinja2",
     "job_name": "qemu_mps2_bl2",
@@ -610,30 +204,13 @@
     "action_timeout": 10,
     "monitor_timeout": 15,
     "poweroff_timeout": 1,
-    "platforms": {"AN521": ""},
-    "compilers": ["GCC", "ARMCLANG"],
-    "build_types": ["Debug", "Release"],
-    "boot_types": ["BL2"],
+    "platforms": {"arm/mps2/an521": ""},
     "binaries": {
         "firmware": "tfm_s_ns_signed.bin",
         "bootloader": "bl2.bin"
     },
-    "tests": {
-        'Regression': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
-        'RegressionProfileS': {
-            "monitors": monitors_ns_reg_tests
-        },  # RegressionProfileS
-        'RegressionIPC': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
-        'RegressionIPCTfmLevel2': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
-        'RegressionIPCTfmLevel3': {
-            "monitors": monitors_ns_reg_tests
-        },  # Regression
+    "monitors": {
+        'reg_tests': [monitors_mcuboot_tests, monitors_s_reg_tests, monitors_ns_reg_tests],
     }
 }
 
@@ -649,51 +226,14 @@
     "action_timeout": 20,
     "monitor_timeout": 30,
     "poweroff_timeout": 40,
-    "platforms": {"MUSCA_B1": ""},
-    "compilers": ["GCC", "ARMCLANG"],
-    "build_types": ["Debug", "Release", "Minsizerel"],
-    "boot_types": ["BL2"],
+    "platforms": {"arm/musca_b1": ""},
     "binaries": {
         "firmware": "tfm.hex",
     },
-    "tests": {
-        "Default": {
-            "monitors": monitors_no_reg_tests
-        },
-        "CoreIPC": {
-            "monitors": monitors_no_reg_tests
-        },
-        "CoreIPCTfmLevel2": {
-            "monitors": monitors_no_reg_tests
-        },
-        "CoreIPCTfmLevel3": {
-            "monitors": monitors_no_reg_tests
-        },
-        "DefaultProfileM": {
-            "monitors": monitors_no_reg_tests
-        },
-        "DefaultProfileS": {
-            "monitors": monitors_no_reg_tests
-        },
-        "Regression": {
-            "monitors": monitors_ns_reg_tests
-        },
-        "RegressionIPC": {
-            "monitors": monitors_ns_reg_tests
-        },
-        "RegressionIPCTfmLevel2": {
-            "monitors": monitors_ns_reg_tests
-        },
-        "RegressionIPCTfmLevel3": {
-            "monitors": monitors_ns_reg_tests
-        },
-        "RegressionProfileM": {
-            "monitors": monitors_ns_reg_tests
-        },
-        "RegressionProfileS": {
-            "monitors": monitors_ns_reg_tests
-        },
-    },
+    "monitors": {
+        'no_reg_tests': [monitors_no_reg_tests],
+        'reg_tests': [monitors_mcuboot_tests, monitors_s_reg_tests, monitors_ns_reg_tests],
+    }
 }
 
 # STM32L562E-DK
@@ -705,27 +245,13 @@
     "action_timeout": 15,
     "monitor_timeout": 15,
     "poweroff_timeout": 5,
-    "platforms": {"stm32l562e_dk": ""},
-    "compilers": ["GCC", "ARMCLANG"],
-    "build_types": ["Release", "Minsizerel"],
-    "boot_types": ["BL2"],
+    "platforms": {"stm/stm32l562e_dk": ""},
     "binaries": {
         "tarball": "stm32l562e-dk-tfm.tar.bz2",
     },
-    "tests": {
-        "Regression": {
-            "monitors": monitors_ns_reg_tests
-        },
-        "RegressionIPC": {
-            "monitors": monitors_ns_reg_tests
-        },
-        "RegressionIPCTfmLevel2": {
-            "monitors": monitors_ns_reg_tests
-        },
-        "RegressionIPCTfmLevel3": {
-            "monitors": monitors_ns_reg_tests
-        },
-    },
+    "monitors": {
+        'reg_tests': [monitors_mcuboot_tests, monitors_s_reg_tests, monitors_ns_reg_tests],
+    }
 }
 
 # LPCxpresso55S69
@@ -737,20 +263,13 @@
     "action_timeout": 15,
     "monitor_timeout": 15,
     "poweroff_timeout": 5,
-    "platforms": {"lpcxpresso55s69": ""},
-    "compilers": ["GCC"],
-    "build_types": ["Relwithdebinfo"],
-    "boot_types": ["NOBL2"],
+    "platforms": {"nxp/lpcxpresso55s69": ""},
     "binaries": {
         "tarball": "lpcxpresso55s69-tfm.tar.bz2",
     },
-    "tests": {
-        "DefaultProfileM": {
-            "monitors": monitors_no_reg_tests
-        },
-        "RegressionProfileM": {
-            "monitors": monitors_ns_reg_tests
-        },
+    "monitors": {
+        'no_reg_tests': [monitors_no_reg_tests],
+        'reg_tests': [monitors_s_reg_tests, monitors_ns_reg_tests],
     }
 }
 
@@ -763,28 +282,14 @@
     "action_timeout": 120,
     "monitor_timeout": 120,
     "poweroff_timeout": 5,
-    "platforms": {"psoc64": ""},
-    "compilers": ["GCC", "ARMCLANG"],
-    "build_types": ["Release", "Minsizerel"],
-    "boot_types": ["NOBL2"],
+    "platforms": {"cypress/psoc64": ""},
     "binaries": {
         "spe": "tfm_s_signed.hex",
         "nspe": "tfm_ns_signed.hex",
     },
-    "tests": {
-        "Regression": {
-            "monitors": monitors_ns_reg_tests
-        },
-        "RegressionIPC": {
-            "monitors": monitors_ns_reg_tests
-        },
-        "RegressionIPCTfmLevel2": {
-            "monitors": monitors_ns_reg_tests
-        },
-        "RegressionIPCTfmLevel3": {
-            "monitors": monitors_ns_reg_tests
-        },
-    },
+    "monitors": {
+        'reg_tests': [monitors_s_reg_tests, monitors_ns_reg_tests],
+    }
 }
 
 # All configurations should be mapped here
@@ -793,9 +298,7 @@
     "fvp_mps3_an552_bl2": fvp_mps3_an552_bl2,
     "fvp_corstone1000": fvp_corstone1000,
     "fvp_mps2_an521_bl2": fvp_mps2_an521_bl2,
-    "fvp_mps2_an521_nobl2": fvp_mps2_an521_nobl2,
     "fvp_mps2_an519_bl2": fvp_mps2_an519_bl2,
-    "fvp_mps2_an519_nobl2": fvp_mps2_an519_nobl2,
     "qemu_mps2_bl2": qemu_mps2_bl2,
     "musca_b1": musca_b1_bl2,
     "stm32l562e_dk": stm32l562e_dk,
@@ -811,12 +314,8 @@
     "action_timeout",
     "monitor_timeout",
     "recovery_store_url",
-    "artifact_store_url",
     "platforms",
-    "compilers",
-    "build_types",
-    "boot_types",
-    "tests"
+    "monitors"
 ]
 
 lava_gen_monitor_sort_order = [