Remove fast model dispatcher

Fast model dispatcher has been deprecated in Open CI.
LAVA related job configs are managed by LAVA helper.
This patch removes fast model dispatcher from CI scripts.

Signed-off-by: Xinyu Zhang <xinyu.zhang@arm.com>
Change-Id: I7363c04defe4582bef29ea44fbe093c556f87c73
diff --git a/fastmodel_dispatcher/AN519.py b/fastmodel_dispatcher/AN519.py
deleted file mode 100644
index 12ca14c..0000000
--- a/fastmodel_dispatcher/AN519.py
+++ /dev/null
@@ -1,318 +0,0 @@
-#!/usr/bin/env python3
-
-""" an521.py:
-
-    Contains AN519 specific configuration variants. Each configuration is
-    created by a template(defines the expected output of the test) and a
-    decorated class setting the parameters. The whole scope of this module
-    is imported in the config map, to avoid keeping a manual list of the
-    configurations up to date. """
-
-from __future__ import print_function
-import os
-import sys
-
-__copyright__ = """
-/*
- * Copyright (c) 2019-2020, Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- *
- */
- """
-
-__author__ = "tf-m@lists.trustedfirmware.org"
-__project__ = "Trusted Firmware-M Open CI"
-__version__ = "1.4.0"
-
-try:
-    from tfm_ci_pylib.fastmodel_wrapper import FastmodelConfigMap
-    from tfm_ci_pylib.fastmodel_wrapper import config_variant
-
-    from tfm_ci_pylib.fastmodel_wrapper import \
-        template_default_config, template_regression_config, \
-        template_coreipc_config, template_coreipctfmlevel2_config
-except ImportError:
-    dir_path = os.path.dirname(os.path.realpath(__file__))
-    sys.path.append(os.path.join(dir_path, "../"))
-    from tfm_ci_pylib.fastmodel_wrapper import FastmodelConfigMap
-    from tfm_ci_pylib.fastmodel_wrapper import config_variant
-    from tfm_ci_pylib.fastmodel_wrapper import \
-        template_default_config, template_regression_config, \
-        template_coreipc_config, template_coreipctfmlevel2_config
-# =====================  AN521 Configuration Classes ======================
-# Configurations will be dynamically defined
-
-# =====================  Default Config ======================
-
-
-@config_variant(platform="AN519",
-                compiler="ARMCLANG",
-                build_type="Debug",
-                bootloader="BL2")
-class an519_armclang_configdefault_debug_bl2(template_default_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="GNUARM",
-                build_type="Debug",
-                bootloader="BL2")
-class an519_gnuarm_configdefault_debug_bl2(template_default_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="ARMCLANG",
-                build_type="Debug",
-                bootloader="NOBL2")
-class an519_armclang_configdefault_debug_nobl2(template_default_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="GNUARM",
-                build_type="Debug",
-                bootloader="NOBL2")
-class an519_gnuarm_configdefault_debug_nobl2(template_default_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="ARMCLANG",
-                build_type="Release",
-                bootloader="BL2")
-class an519_armclang_configdefault_release_bl2(template_default_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="GNUARM",
-                build_type="Release",
-                bootloader="BL2")
-class an519_gnuarm_configdefault_release_bl2(template_default_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="ARMCLANG",
-                build_type="Release",
-                bootloader="NOBL2")
-class an519_armclang_configdefault_release_nobl2(template_default_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="GNUARM",
-                build_type="Release",
-                bootloader="NOBL2")
-class an519_gnuarm_configdefault_release_nobl2(template_default_config):
-    pass
-
-# =====================  Regressions Config ======================
-
-
-@config_variant(platform="AN519",
-                compiler="ARMCLANG",
-                build_type="Debug",
-                bootloader="BL2")
-class an519_armclang_configregression_debug_bl2(template_regression_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="GNUARM",
-                build_type="Debug",
-                bootloader="BL2")
-class an519_gnuarm_configregression_debug_bl2(template_regression_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="ARMCLANG",
-                build_type="Debug",
-                bootloader="NOBL2")
-class an519_armclang_configregression_debug_nobl2(template_regression_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="GNUARM",
-                build_type="Debug",
-                bootloader="NOBL2")
-class an519_gnuarm_configregression_debug_nobl2(template_regression_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="ARMCLANG",
-                build_type="Release",
-                bootloader="BL2")
-class an519_armclang_configregression_release_bl2(template_regression_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="GNUARM",
-                build_type="Release",
-                bootloader="BL2")
-class an519_gnuarm_configregression_release_bl2(template_regression_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="ARMCLANG",
-                build_type="Release",
-                bootloader="NOBL2")
-class an519_armclang_configregression_release_nobl2(
-        template_regression_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="GNUARM",
-                build_type="Release",
-                bootloader="NOBL2")
-class an519_gnuarm_configregression_release_nobl2(template_regression_config):
-    pass
-
-# =====================  CoreIPC Config ======================
-
-
-@config_variant(platform="AN519",
-                compiler="ARMCLANG",
-                build_type="Debug",
-                bootloader="BL2")
-class an519_armclang_configcoreipc_debug_bl2(template_coreipc_config):
-
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="ARMCLANG",
-                build_type="Debug",
-                bootloader="NOBL2")
-class an519_armclang_configcoreipc_debug_nobl2(template_coreipc_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="ARMCLANG",
-                build_type="Release",
-                bootloader="BL2")
-class an519_armclang_configcoreipc_release_bl2(template_coreipc_config):
-
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="ARMCLANG",
-                build_type="Release",
-                bootloader="NOBL2")
-class an519_armclang_configcoreipc_release_nobl2(template_coreipc_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="GNUARM",
-                build_type="Debug",
-                bootloader="BL2")
-class an519_gnuarm_configcoreipc_debug_bl2(template_coreipc_config):
-
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="GNUARM",
-                build_type="Debug",
-                bootloader="NOBL2")
-class an519_gnuarm_configcoreipc_debug_nobl2(template_coreipc_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="GNUARM",
-                build_type="Release",
-                bootloader="BL2")
-class an519_gnuarm_configcoreipc_release_bl2(template_coreipc_config):
-
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="GNUARM",
-                build_type="Release",
-                bootloader="NOBL2")
-class an519_gnuarm_configcoreipc_release_nobl2(template_coreipc_config):
-    pass
-
-# =====================  CoreIPCTfmLevel2 Config ======================
-
-
-@config_variant(platform="AN519",
-                compiler="ARMCLANG",
-                build_type="Debug",
-                bootloader="BL2")
-class an519_armclang_configcoreipctfmlevel2_debug_bl2(template_coreipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="ARMCLANG",
-                build_type="Debug",
-                bootloader="NOBL2")
-class an519_armclang_configcoreipctfmlevel2_debug_nobl2(template_coreipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="ARMCLANG",
-                build_type="Release",
-                bootloader="BL2")
-class an519_armclang_configcoreipctfmlevel2_release_bl2(template_coreipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="ARMCLANG",
-                build_type="Release",
-                bootloader="NOBL2")
-class an519_armclang_configcoreipctfmlevel2_release_nobl2(template_coreipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="GNUARM",
-                build_type="Debug",
-                bootloader="BL2")
-class an519_gnuarm_configcoreipctfmlevel2_debug_bl2(template_coreipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="GNUARM",
-                build_type="Debug",
-                bootloader="NOBL2")
-class an519_gnuarm_configcoreipctfmlevel2_debug_nobl2(template_coreipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="GNUARM",
-                build_type="Release",
-                bootloader="BL2")
-class an519_gnuarm_configcoreipctfmlevel2_release_bl2(template_coreipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN519",
-                compiler="GNUARM",
-                build_type="Release",
-                bootloader="NOBL2")
-class an519_gnuarm_configcoreipctfmlevel2_release_nobl2(template_coreipctfmlevel2_config):
-    pass
-
-AN519 = FastmodelConfigMap(globals(), "AN519")
-
-if __name__ == "__main__":
-    pass
diff --git a/fastmodel_dispatcher/AN521.py b/fastmodel_dispatcher/AN521.py
deleted file mode 100644
index 1e33447..0000000
--- a/fastmodel_dispatcher/AN521.py
+++ /dev/null
@@ -1,1320 +0,0 @@
-#!/usr/bin/env python3
-
-""" an521.py:
-
-    Contains AN521 specific configuration variants. Each configuration is
-    created by a template(defines the expected output of the test) and a
-    decorated class setting the parameters. The whole scope of this module
-    is imported in the config map, to avoid keeping a manual list of the
-    configurations up to date. """
-
-from __future__ import print_function
-import os
-import sys
-
-__copyright__ = """
-/*
- * Copyright (c) 2018-2020, Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- *
- */
- """
-
-__author__ = "tf-m@lists.trustedfirmware.org"
-__project__ = "Trusted Firmware-M Open CI"
-__version__ = "1.4.0"
-
-try:
-    from tfm_ci_pylib.fastmodel_wrapper import FastmodelConfigMap
-    from tfm_ci_pylib.fastmodel_wrapper import config_variant
-
-    from tfm_ci_pylib.fastmodel_wrapper import \
-        template_default_config, template_regression_config, \
-        template_coreipc_config, template_coreipctfmlevel2_config, \
-        template_regressionipc_config, template_regressionipctfmlevel2_config, \
-        template_psaapitestipctfmlevel2_config, \
-        template_psaapitestipc_config, template_psaapitest_config
-except ImportError:
-    dir_path = os.path.dirname(os.path.realpath(__file__))
-    sys.path.append(os.path.join(dir_path, "../"))
-    from tfm_ci_pylib.fastmodel_wrapper import FastmodelConfigMap
-    from tfm_ci_pylib.fastmodel_wrapper import config_variant
-    from tfm_ci_pylib.fastmodel_wrapper import \
-        template_default_config, template_regression_config, \
-        template_coreipc_config, template_coreipctfmlevel2_config, \
-        template_regressionipc_config, template_regressionipctfmlevel2_config, \
-        template_psaapitestipctfmlevel2_config, \
-        template_psaapitestipc_config, template_psaapitest_config
-
-# =====================  AN521 Configuration Classes ======================
-# Configurations will be dynamically defined
-
-# =====================  Default Config ======================
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_armclang_configdefault_debug_bl2(template_default_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_gnuarm_configdefault_debug_bl2(template_default_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Debug",
-                bootloader="NOBL2")
-class an521_armclang_configdefault_debug_nobl2(template_default_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Debug",
-                bootloader="NOBL2")
-class an521_gnuarm_configdefault_debug_nobl2(template_default_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Release",
-                bootloader="BL2")
-class an521_armclang_configdefault_release_bl2(template_default_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Release",
-                bootloader="BL2")
-class an521_gnuarm_configdefault_release_bl2(template_default_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Release",
-                bootloader="NOBL2")
-class an521_armclang_configdefault_release_nobl2(template_default_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Release",
-                bootloader="NOBL2")
-class an521_gnuarm_configdefault_release_nobl2(template_default_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_armclang_configdefault_minsizerel_bl2(template_default_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_gnuarm_configdefault_minsizerel_bl2(template_default_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Minsizerel",
-                bootloader="NOBL2")
-class an521_armclang_configdefault_minsizerel_nobl2(template_default_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Minsizerel",
-                bootloader="NOBL2")
-class an521_gnuarm_configdefault_minsizerel_nobl2(template_default_config):
-    pass
-
-# =====================  Regressions Config ======================
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_armclang_configregression_debug_bl2(template_regression_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_gnuarm_configregression_debug_bl2(template_regression_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Debug",
-                bootloader="NOBL2")
-class an521_armclang_configregression_debug_nobl2(template_regression_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Debug",
-                bootloader="NOBL2")
-class an521_gnuarm_configregression_debug_nobl2(template_regression_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Release",
-                bootloader="BL2")
-class an521_armclang_configregression_release_bl2(template_regression_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Release",
-                bootloader="BL2")
-class an521_gnuarm_configregression_release_bl2(template_regression_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Release",
-                bootloader="NOBL2")
-class an521_armclang_configregression_release_nobl2(
-        template_regression_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Release",
-                bootloader="NOBL2")
-class an521_gnuarm_configregression_release_nobl2(template_regression_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_armclang_configregression_minsizerel_bl2(template_regression_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_gnuarm_configregression_minsizerel_bl2(template_regression_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Minsizerel",
-                bootloader="NOBL2")
-class an521_armclang_configregression_minsizerel_nobl2(template_regression_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Minsizerel",
-                bootloader="NOBL2")
-class an521_gnuarm_configregression_minsizerel_nobl2(template_regression_config):
-    pass
-
-# =====================  RegressionIPC Config ======================
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_armclang_configregressionipc_debug_bl2(template_regressionipc_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_gnuarm_configregressionipc_debug_bl2(template_regressionipc_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Debug",
-                bootloader="NOBL2")
-class an521_armclang_configregressionipc_debug_nobl2(template_regressionipc_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Debug",
-                bootloader="NOBL2")
-class an521_gnuarm_configregressionipc_debug_nobl2(template_regressionipc_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Release",
-                bootloader="BL2")
-class an521_armclang_configregressionipc_release_bl2(template_regressionipc_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Release",
-                bootloader="BL2")
-class an521_gnuarm_configregressionipc_release_bl2(template_regressionipc_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Release",
-                bootloader="NOBL2")
-class an521_armclang_configregressionipc_release_nobl2(
-        template_regressionipc_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Release",
-                bootloader="NOBL2")
-class an521_gnuarm_configregressionipc_release_nobl2(template_regressionipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_armclang_configregressionipc_minsizerel_bl2(template_regressionipc_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_gnuarm_configregressionipc_minsizerel_bl2(template_regressionipc_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Minsizerel",
-                bootloader="NOBL2")
-class an521_armclang_configregressionipc_minsizerel_nobl2(
-        template_regressionipc_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Minsizerel",
-                bootloader="NOBL2")
-class an521_gnuarm_configregressionipc_minsizerel_nobl2(template_regressionipc_config):
-    pass
-
-# =====================  RegressionIPCTfmLevel2 Config ======================
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_armclang_configregressionipctfmlevel2_debug_bl2(template_regressionipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_gnuarm_configregressionipctfmlevel2_debug_bl2(template_regressionipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Debug",
-                bootloader="NOBL2")
-class an521_armclang_configregressionipctfmlevel2_debug_nobl2(template_regressionipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Debug",
-                bootloader="NOBL2")
-class an521_gnuarm_configregressionipctfmlevel2_debug_nobl2(template_regressionipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Release",
-                bootloader="BL2")
-class an521_armclang_configregressionipctfmlevel2_release_bl2(template_regressionipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Release",
-                bootloader="BL2")
-class an521_gnuarm_configregressionipctfmlevel2_release_bl2(template_regressionipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Release",
-                bootloader="NOBL2")
-class an521_armclang_configregressionipctfmlevel2_release_nobl2(
-        template_regressionipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Release",
-                bootloader="NOBL2")
-class an521_gnuarm_configregressionipctfmlevel2_release_nobl2(template_regressionipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_armclang_configregressionipctfmlevel2_minsizerel_bl2(template_regressionipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_gnuarm_configregressionipctfmlevel2_minsizerel_bl2(template_regressionipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Minsizerel",
-                bootloader="NOBL2")
-class an521_armclang_configregressionipctfmlevel2_minsizerel_nobl2(
-        template_regressionipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Minsizerel",
-                bootloader="NOBL2")
-class an521_gnuarm_configregressionipctfmlevel2_minsizerel_nobl2(template_regressionipctfmlevel2_config):
-    pass
-
-# =====================  CoreIPC Config ======================
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_armclang_configcoreipc_debug_bl2(template_coreipc_config):
-
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Debug",
-                bootloader="NOBL2")
-class an521_armclang_configcoreipc_debug_nobl2(template_coreipc_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Release",
-                bootloader="BL2")
-class an521_armclang_configcoreipc_release_bl2(template_coreipc_config):
-
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Release",
-                bootloader="NOBL2")
-class an521_armclang_configcoreipc_release_nobl2(template_coreipc_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_gnuarm_configcoreipc_debug_bl2(template_coreipc_config):
-
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Debug",
-                bootloader="NOBL2")
-class an521_gnuarm_configcoreipc_debug_nobl2(template_coreipc_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Release",
-                bootloader="BL2")
-class an521_gnuarm_configcoreipc_release_bl2(template_coreipc_config):
-
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Release",
-                bootloader="NOBL2")
-class an521_gnuarm_configcoreipc_release_nobl2(template_coreipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_armclang_configcoreipc_minsizerel_bl2(template_coreipc_config):
-
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Minsizerel",
-                bootloader="NOBL2")
-class an521_armclang_configcoreipc_minsizerel_nobl2(template_coreipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_gnuarm_configcoreipc_minsizerel_bl2(template_coreipc_config):
-
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Minsizerel",
-                bootloader="NOBL2")
-class an521_gnuarm_configcoreipc_minsizerel_nobl2(template_coreipc_config):
-    pass
-
-# =====================  CoreIPCTfmLevel2 Config ======================
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_armclang_configcoreipctfmlevel2_debug_bl2(template_coreipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Debug",
-                bootloader="NOBL2")
-class an521_armclang_configcoreipctfmlevel2_debug_nobl2(template_coreipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Release",
-                bootloader="BL2")
-class an521_armclang_configcoreipctfmlevel2_release_bl2(template_coreipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Release",
-                bootloader="NOBL2")
-class an521_armclang_configcoreipctfmlevel2_release_nobl2(template_coreipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_gnuarm_configcoreipctfmlevel2_debug_bl2(template_coreipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Debug",
-                bootloader="NOBL2")
-class an521_gnuarm_configcoreipctfmlevel2_debug_nobl2(template_coreipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Release",
-                bootloader="BL2")
-class an521_gnuarm_configcoreipctfmlevel2_release_bl2(template_coreipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Release",
-                bootloader="NOBL2")
-class an521_gnuarm_configcoreipctfmlevel2_release_nobl2(template_coreipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_armclang_configcoreipctfmlevel2_minsizerel_bl2(template_coreipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                build_type="Minsizerel",
-                bootloader="NOBL2")
-class an521_armclang_configcoreipctfmlevel2_minsizerel_nobl2(template_coreipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_gnuarm_configcoreipctfmlevel2_minsizerel_bl2(template_coreipctfmlevel2_config):
-    pass
-
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                build_type="Minsizerel",
-                bootloader="NOBL2")
-class an521_gnuarm_configcoreipctfmlevel2_minsizerel_nobl2(template_coreipctfmlevel2_config):
-    pass
-
-# =====================  ConfigPsaApiTestIPCTfmLevel2 Config ======================
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="Crypto",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipctfmlevel2_crypto_debug_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="Crypto",
-                build_type="Release",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipctfmlevel2_crypto_release_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="Crypto",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipctfmlevel2_crypto_minsizerel_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="PS",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipctfmlevel2_ps_debug_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="PS",
-                build_type="Release",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipctfmlevel2_ps_release_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="PS",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipctfmlevel2_ps_minsizerel_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="ITS",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipctfmlevel2_its_debug_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="ITS",
-                build_type="Release",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipctfmlevel2_its_release_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="ITS",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipctfmlevel2_its_minsizerel_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="Attest",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipctfmlevel2_attest_debug_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="Attest",
-                build_type="Release",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipctfmlevel2_attest_release_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="Attest",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipctfmlevel2_attest_minsizerel_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="Crypto",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipctfmlevel2_crypto_debug_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="Crypto",
-                build_type="Release",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipctfmlevel2_crypto_release_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="Crypto",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipctfmlevel2_crypto_minsizerel_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="PS",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipctfmlevel2_ps_debug_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="PS",
-                build_type="Release",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipctfmlevel2_ps_release_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="PS",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipctfmlevel2_ps_minsizerel_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="ITS",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipctfmlevel2_its_debug_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="ITS",
-                build_type="Release",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipctfmlevel2_its_release_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="ITS",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipctfmlevel2_its_minsizerel_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="Attest",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipctfmlevel2_attest_debug_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="Attest",
-                build_type="Release",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipctfmlevel2_attest_release_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="Attest",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipctfmlevel2_attest_minsizerel_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="FF",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipctfmlevel2_ff_debug_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="FF",
-                build_type="Release",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipctfmlevel2_ff_release_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="FF",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipctfmlevel2_ff_minsizerel_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="FF",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipctfmlevel2_ff_debug_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="FF",
-                build_type="Release",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipctfmlevel2_ff_release_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="FF",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipctfmlevel2_ff_minsizerel_bl2(template_psaapitestipctfmlevel2_config):
-    pass
-
-# =====================  ConfigPsaApiTestIPC Config ======================
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="Crypto",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipc_crypto_debug_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="Crypto",
-                build_type="Release",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipc_crypto_release_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="Crypto",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipc_crypto_minsizerel_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="PS",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipc_ps_debug_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="PS",
-                build_type="Release",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipc_ps_release_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="PS",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipc_ps_minsizerel_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="ITS",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipc_its_debug_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="ITS",
-                build_type="Release",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipc_its_release_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="ITS",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipc_its_minsizerel_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="Attest",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipc_attest_debug_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="Attest",
-                build_type="Release",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipc_attest_release_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="Attest",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipc_attest_minsizerel_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="Crypto",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipc_crypto_debug_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="Crypto",
-                build_type="Release",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipc_crypto_release_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="Crypto",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipc_crypto_minsizerel_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="PS",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipc_ps_debug_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="PS",
-                build_type="Release",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipc_ps_release_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="PS",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipc_ps_minsizerel_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="ITS",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipc_its_debug_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="ITS",
-                build_type="Release",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipc_its_release_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="ITS",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipc_its_minsizerel_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="Attest",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipc_attest_debug_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="Attest",
-                build_type="Release",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipc_attest_release_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="Attest",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipc_attest_minsizerel_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="FF",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipc_ff_debug_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="FF",
-                build_type="Release",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipc_ff_release_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="FF",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitestipc_ff_minsizerel_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="FF",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipc_ff_debug_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="FF",
-                build_type="Release",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipc_ff_release_bl2(template_psaapitestipc_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="FF",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_armclang_configpsaapitestipc_ff_minsizerel_bl2(template_psaapitestipc_config):
-    pass
-
-# =====================  ConfigPsaApiTest Config ======================
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="Crypto",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitest_crypto_debug_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="Crypto",
-                build_type="Release",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitest_crypto_release_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="Crypto",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitest_crypto_minsizerel_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="PS",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitest_ps_debug_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="PS",
-                build_type="Release",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitest_ps_release_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="PS",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitest_ps_minsizerel_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="ITS",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitest_its_debug_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="ITS",
-                build_type="Release",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitest_its_release_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="ITS",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitest_its_minsizerel_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="Attest",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitest_attest_debug_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="Attest",
-                build_type="Release",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitest_attest_release_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="GNUARM",
-                psa_suite="Attest",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_gnuarm_configpsaapitest_attest_minsizerel_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="Crypto",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_armclang_configpsaapitest_crypto_debug_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="Crypto",
-                build_type="Release",
-                bootloader="BL2")
-class an521_armclang_configpsaapitest_crypto_release_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="Crypto",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_armclang_configpsaapitest_crypto_minsizerel_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="PS",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_armclang_configpsaapitest_ps_debug_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="PS",
-                build_type="Release",
-                bootloader="BL2")
-class an521_armclang_configpsaapitest_ps_release_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="PS",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_armclang_configpsaapitest_ps_minsizerel_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="ITS",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_armclang_configpsaapitest_its_debug_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="ITS",
-                build_type="Release",
-                bootloader="BL2")
-class an521_armclang_configpsaapitest_its_release_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="ITS",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_armclang_configpsaapitest_its_minsizerel_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="Attest",
-                build_type="Debug",
-                bootloader="BL2")
-class an521_armclang_configpsaapitest_attest_debug_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="Attest",
-                build_type="Release",
-                bootloader="BL2")
-class an521_armclang_configpsaapitest_attest_release_bl2(template_psaapitest_config):
-    pass
-
-@config_variant(platform="AN521",
-                compiler="ARMCLANG",
-                psa_suite="Attest",
-                build_type="Minsizerel",
-                bootloader="BL2")
-class an521_armclang_configpsaapitest_attest_minsizerel_bl2(template_psaapitest_config):
-    pass
-
-AN521 = FastmodelConfigMap(globals(), "AN521")
-
-if __name__ == "__main__":
-    pass
diff --git a/fastmodel_dispatcher/fastmodel_dispatcher.py b/fastmodel_dispatcher/fastmodel_dispatcher.py
deleted file mode 100644
index 1fb9fd8..0000000
--- a/fastmodel_dispatcher/fastmodel_dispatcher.py
+++ /dev/null
@@ -1,229 +0,0 @@
-#!/usr/bin/env python3
-
-""" fvp_dispatcher.py:
-
-    Fastmodel dispatcher takes an build report input from build_helper and
-    selects the appropriate tests, lauched in separate fastmodel Wrapper
-    instances """
-
-from __future__ import print_function
-
-__copyright__ = """
-/*
- * Copyright (c) 2018-2020, Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- *
- */
- """
-
-__author__ = "tf-m@lists.trustedfirmware.org"
-__project__ = "Trusted Firmware-M Open CI"
-__version__ = "1.4.0"
-
-import os
-import sys
-import argparse
-from copy import deepcopy
-from fastmodel_dispatcher_configs import fvp_config_map
-
-try:
-    from tfm_ci_pylib.utils import load_json, print_test, save_json, \
-        show_progress
-    from tfm_ci_pylib.fastmodel_wrapper import FastmodelWrapper
-    from tfm_ci_pylib.tfm_build_manager import TFM_Build_Manager
-
-except ImportError:
-    dir_path = os.path.dirname(os.path.realpath(__file__))
-    sys.path.append(os.path.join(dir_path, "../"))
-    from tfm_ci_pylib.utils import load_json, print_test, save_json, \
-        show_progress
-    from tfm_ci_pylib.fastmodel_wrapper import FastmodelWrapper
-    from tfm_ci_pylib.tfm_build_manager import TFM_Build_Manager
-
-
-def cfilter(config_list, match):
-    """Filter a list of items in _text1_text2_ format and only include
-    results who contain the match term between two underscores """
-
-    # Ensure the match has the format of _text_
-    match = "_%s_" % match.strip("_")
-
-    return [n for n in config_list if match in n]
-
-
-def main(user_args):
-    """ Main logic """
-
-    test_config_list = None
-
-    if user_args.list_cfg:
-        print("Built-in configs:")
-        print("\n".join(fvp_config_map.list()))
-        sys.exit(0)
-    elif user_args.single_cfg:
-        try:
-            # Try to fetch the config to validate it exists
-            fvp_config_map.get_config(user_args.single_cfg)
-            test_config_list = [user_args.single_cfg]
-        except Exception as e:
-            print("Error: %s" % e)
-            sys.exit(1)
-    elif user_args.build_all:
-        test_config_list = fvp_config_map.list()
-    # If a build report is provided parse it
-    elif user_args.build_report:
-        build_report = load_json(user_args.build_report)
-
-        build_cfg = build_report["_metadata_"]["input_build_cfg"]
-
-        # build and test configs share common key name enties
-        config_list = list(map(str.lower,
-                               (map(str, build_report["report"].keys()))))
-        print("zss config_list %s" % config_list)
-
-        # Only choose the tests that have been defined in the map
-        test_config_list = [n for n in fvp_config_map.list()
-                            if n in config_list]
-        print("zss test_config_list original %s" % test_config_list)
-
-        # Use the Build manager to calcuate the rejection list in the same
-        # manner.
-        rj = TFM_Build_Manager.generate_rejection_list(
-            build_cfg["seed_params"],
-            build_cfg["common_params"],
-            fvp_config_map.get_invalid()).keys()
-
-        # Remove every config that is included in the rejection.
-        # Ignore generated rejection configs that have not been set in the
-        # test map.
-        for name in rj:
-            name = name.lower()
-            try:
-                test_config_list.pop(test_config_list.index(name))
-                print("Rejecting config %s" % name)
-            except Exception as e:
-                print("Rejection ignored with exception:", e)
-    else:
-        print("Noting to do. Please provide a report or a config name to test")
-        sys.exit(1)
-
-    # Apply filters if specified by user
-    if user_args.build_armclang:
-        test_config_list = cfilter(test_config_list, "armclang")
-    elif user_args.build_gnuarm:
-        test_config_list = cfilter(test_config_list, "gnuarm")
-    elif user_args.filter:
-        test_config_list = cfilter(test_config_list, user_args.filter)
-    else:
-        pass
-
-#    print("Working on Test list: \n%s" % "\n".join(sorted(test_config_list)))
- 
-    if user_args.p_command:
-
-        for test_cfg in test_config_list:
-
-            test_cfg_obj = fvp_config_map.get_config_object(test_cfg)
-
-            _tmp_cfg = FastmodelWrapper(fvp_cfg=test_cfg_obj.get_config())
-
-            print("\nCommand line:")
-            print("")
-            _tmp_cfg.show_cmd()
-            print("\n")
-        sys.exit(0)
-
-    # Run tests
-    rep = []
-    test_count = 0
-#    print("zss print_list list")
-#    fvp_config_map.print_list()
-    print("zss test_config_list", test_config_list)
-    for test_cfg in test_config_list:
-
-        # Check if the config hardcoded binary path is same as the one
-        # in the build report. If not update the config
-        test_cfg_obj = fvp_config_map.get_config_object(test_cfg)
-        print("+++test_cfg_obj %s\r\n %s\r\ntest_cfg %s" % (test_cfg_obj, test_cfg_obj.get_config(), test_cfg))
-
-        print("---- test_cfg_obj.get_config()", test_cfg_obj.get_config())
-        rep.append(FastmodelWrapper(
-                   fvp_cfg=test_cfg_obj.get_config())
-                   .start().block_wait().test().save_report().get_report())
-        test_count += 1
-        print("Testing progress:")
-        show_progress(test_count, len(test_config_list))
-
-    # Export the report in a file
-    if user_args.report:
-        f_report = {"report": {}, "_metadata_": {}}
-        f_report["report"] = {k["name"]: deepcopy(k) for k in rep}
-        save_json(user_args.report, f_report)
-
-    sl = [x["name"] for x in rep if x["success"] is True]
-    fl = [x["name"] for x in rep if x["success"] is False]
-
-    print("\n")
-
-    if sl:
-        print_test(t_list=sl, status="passed", tname="Tests")
-    if fl:
-        print_test(t_list=fl, status="failed", tname="Tests")
-        if user_args.eif:
-            sys.exit(1)
-
-
-def get_cmd_args():
-    """ Parse command line arguments """
-
-    # Parse command line arguments to override config
-    parser = argparse.ArgumentParser(description="TFM Fastmodel wrapper.")
-    parser.add_argument("-b", "--build_report",
-                        dest="build_report",
-                        action="store",
-                        help="JSON file produced by build_helper (input)")
-    parser.add_argument("-a", "--build_all",
-                        dest="build_all",
-                        action="store_true",
-                        help="If set build every configuration combination")
-    parser.add_argument("-e", "--error_if_failed",
-                        dest="eif",
-                        action="store_true",
-                        help="If set will change the script exit code if one "
-                              "or more tests fail")
-    parser.add_argument("-r", "--report",
-                        dest="report",
-                        action="store",
-                        help="JSON file containing fastmodel report (output)")
-    parser.add_argument("-g", "--build_gnuarm",
-                        dest="build_gnuarm",
-                        action="store_true",
-                        help="If set build every gnuarm configuration")
-    parser.add_argument("-c", "--build_armclang",
-                        dest="build_armclang",
-                        action="store_true",
-                        help="If set build every armclang configuration")
-    parser.add_argument("-f", "--filter",
-                        dest="filter",
-                        action="store",
-                        help="Only select configs that contain this string")
-    parser.add_argument("-l", "--list-configs",
-                        dest="list_cfg",
-                        action="store_true",
-                        help="Print a list of the built-in configurations and"
-                             "exit")
-    parser.add_argument("-s", "--single-config",
-                        dest="single_cfg",
-                        action="store",
-                        help="Launch testing for a single built-in config,  "
-                              "picked by name")
-    parser.add_argument("-p", "--print-command",
-                        dest="p_command",
-                        action="store_true",
-                        help="Print the FVP launch command to console & exit")
-    return parser.parse_args()
-
-
-if __name__ == "__main__":
-    main(get_cmd_args())
diff --git a/fastmodel_dispatcher/fastmodel_dispatcher_configs.py b/fastmodel_dispatcher/fastmodel_dispatcher_configs.py
deleted file mode 100644
index 599e693..0000000
--- a/fastmodel_dispatcher/fastmodel_dispatcher_configs.py
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env python3
-
-""" run_fvp_configs.py:
-
-    Using Python clas inheritance model to generate modular and easily to scale
-    configuration models for the run_fpv module. Configuration data is also
-    combined with helper methods. If the file is run as a standalone file,
-    it can save json configuration files to disk if requested by --export
-    directive """
-
-from __future__ import print_function
-
-__copyright__ = """
-/*
- * Copyright (c) 2018-2020, Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- *
- */
- """
-
-__author__ = "tf-m@lists.trustedfirmware.org"
-__project__ = "Trusted Firmware-M Open CI"
-__version__ = "1.4.0"
-
-import sys
-from AN521 import AN521
-from AN519 import AN519
-
-fvp_config_map = AN521 + AN519
-
-if __name__ == "__main__":
-    # Create Json configuration files on user request
-
-    if len(sys.argv) >= 2:
-        if sys.argv[1] == "--export":
-
-            for platform in fvp_config_map.get_object_map().values():
-                for config in platform.values():
-                    config.json_to_file()
diff --git a/tfm_ci_pylib/fastmodel_wrapper/__init__.py b/tfm_ci_pylib/fastmodel_wrapper/__init__.py
deleted file mode 100644
index f8b43a4..0000000
--- a/tfm_ci_pylib/fastmodel_wrapper/__init__.py
+++ /dev/null
@@ -1,23 +0,0 @@
-__copyright__ = """
-/*
- * Copyright (c) 2018-2020, Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- *
- */
- """
-
-__all__ = ["config_templates",
-           "fastmodel_config_map",
-           "fastmodel_wrapper",
-           "fastmodel_wrapper_config"]
-
-from .fastmodel_wrapper_config import config_variant, fpv_wrapper_config
-from .fastmodel_wrapper import FastmodelWrapper
-from .fastmodel_config_map import FastmodelConfigMap
-
-from .config_templates import template_default_config, \
-    template_regression_config, template_coreipc_config, \
-    template_coreipctfmlevel2_config, template_regressionipc_config, \
-    template_regressionipctfmlevel2_config, template_psaapitestipctfmlevel2_config, \
-    template_psaapitestipc_config, template_psaapitest_config
diff --git a/tfm_ci_pylib/fastmodel_wrapper/config_templates.py b/tfm_ci_pylib/fastmodel_wrapper/config_templates.py
deleted file mode 100644
index 007e2b0..0000000
--- a/tfm_ci_pylib/fastmodel_wrapper/config_templates.py
+++ /dev/null
@@ -1,335 +0,0 @@
-#!/usr/bin/env python3
-
-""" config_templatess.py:
-
- """
-
-from __future__ import print_function
-from copy import deepcopy
-from .fastmodel_wrapper_config import fpv_wrapper_config
-
-__copyright__ = """
-/*
- * Copyright (c) 2018-2020, Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- *
- */
- """
-
-__author__ = "tf-m@lists.trustedfirmware.org"
-__project__ = "Trusted Firmware-M Open CI"
-__version__ = "1.4.0"
-
-
-# ===================  Template Classes ===================
-class template_cfg(fpv_wrapper_config):
-    """ Creates a skeleton template configuration that allows creation of
-    configuration variants which set the parameters of:
-    buildpath, config, platform, compiler , as well as the missing test params,
-    test_rex, test_cases, test_end_string """
-
-    _name = fpv_wrapper_config._name + "_%(platform)s_%(compiler)s_" + \
-        "%(config)s_%(build_type)s_%(bootloader)s"
-    # variant dictionary allows indivudal and targeted parameter modification
-    _vdict = {
-        "build_path": "%(build_path)s",
-        "variant_name_tpl": "%(variant_name_tpl)s",
-        "app_bin_path": "%(app_bin_path)s",
-        "app_bin": "%(app_bin)s",
-        "data_bin_path": "%(data_bin_path)s",
-        "data_bin": "%(data_bin)s",
-        "data_bin_offset": "%(data_bin_offset)s",
-        "config": "%(config)s",
-        "platform": "%(platform)s",
-        "compiler": "%(compiler)s",
-        "psa_suite": "%(psa_suite)s",
-        "build_type": "%(build_type)s",
-        "bootloader": "%(bootloader)s"
-    }
-
-    _cfg = deepcopy(fpv_wrapper_config._cfg)
-    _cfg["directory"] = "FVP_MPS2"
-    _cfg["terminal_log"] = "terminal_%(variant_name_tpl)s.log"
-    _cfg["bin"] = "FVP_MPS2_AEMv8M"
-    _cfg["error_on_failed"] = False
-    _cfg["application"] = (
-        "cpu0=%(build_path)s/%(variant_name_tpl)s/" +
-        "%(app_bin_path)s/%(app_bin)s")
-    _cfg["data"] = (
-        "cpu0=%(build_path)s/%(variant_name_tpl)s/%(data_bin_path)s/" +
-        "%(data_bin)s@%(data_bin_offset)s")
-    _cfg["simlimit"] = "600"
-    _cfg["parameters"] = [
-        "fvp_mps2.platform_type=2",
-        "cpu0.baseline=0",
-        "cpu0.INITVTOR_S=0x10000000",
-        "cpu0.semihosting-enable=0",
-        "fvp_mps2.DISABLE_GATING=0",
-        "fvp_mps2.telnetterminal0.start_telnet=0",
-        "fvp_mps2.telnetterminal1.start_telnet=0",
-        "fvp_mps2.telnetterminal2.start_telnet=0",
-        "fvp_mps2.telnetterminal0.quiet=1",
-        "fvp_mps2.telnetterminal1.quiet=1",
-        "fvp_mps2.telnetterminal2.quiet=1",
-        "fvp_mps2.UART0.out_file=$TERM_FILE",
-        "fvp_mps2.UART0.unbuffered_output=1",
-        "fvp_mps2.UART0.shutdown_on_eot=1",
-        "fvp_mps2.mps2_visualisation.disable-visualisation=1"]
-
-
-class template_default_config(template_cfg):
-    """ Will automatically populate the required information for tfm
-    Default configuration testing. User still needs to set the
-    buildpath, platform, compiler variants """
-
-    _cfg = deepcopy(template_cfg._cfg)
-
-    _vdict = deepcopy(template_cfg._vdict)
-
-    # Set defaults across all variants
-    _vdict["build_path"] = "build-ci-all"
-    _vdict["app_bin_path"] = "bin/fvp"
-    _vdict["data_bin_path"] = "bin/fvp"
-    _vdict["variant_name_tpl"] = "%(platform)s_%(compiler)s_%(config)s_" + \
-        "%(build_type)s_%(bootloader)s"
-
-    # Mofify the %(config)s parameter of the template
-    _vdict["config"] = "ConfigDefault"
-    _cfg["terminal_log"] = _cfg["terminal_log"] % _vdict
-
-    # System supports two types of matching with
-    # test_case_id and result match group and only test_case_id
-    _cfg["test_rex"] = (r'\x1b\[1;34m\[Sec Thread\] '
-                        r'(?P<test_case_id>Secure image initializing!)\x1b\[0m'
-                        )
-
-    # test_case_id capture group Should match test_cases entries
-    _cfg["test_cases"] = [
-        'Secure image initializing!',
-    ]
-    # Testing will stop if string is reached
-    _cfg["test_end_string"] = "Secure image initializing"
-    _cfg["simlimit"] = "120"
-
-class template_regression_config(template_cfg):
-    """ Will automatically populate the required information for tfm
-    Regression configuration testing. User still needs to set the
-    buildpath, platform, compiler variants """
-
-    _cfg = deepcopy(template_cfg._cfg)
-    _vdict = deepcopy(template_cfg._vdict)
-
-    # Set defaults across all variants
-    _vdict["build_path"] = "build-ci-all"
-    _vdict["app_bin_path"] = "bin/fvp"
-    _vdict["data_bin_path"] = "bin/fvp"
-    _vdict["variant_name_tpl"] = "%(platform)s_%(compiler)s_%(config)s_" + \
-        "%(build_type)s_%(bootloader)s"
-
-    # Mofify the %(config)s parameter of the template
-    _vdict["config"] = "ConfigRegression"
-    _cfg["terminal_log"] = _cfg["terminal_log"] % _vdict
-
-    # Populate the test cases
-    _cfg["test_rex"] = (r"[\x1b]\[37mTest suite '(?P<test_case_id>[^\n]+)'"
-                        r" has [\x1b]\[32m (?P<result>PASSED|FAILED)")
-    _cfg["test_cases"] = [
-        'PSA protected storage S interface tests (TFM_SST_TEST_2XXX)',
-        'PSA protected storage NS interface tests (TFM_SST_TEST_1XXX)',
-        'SST reliability tests (TFM_SST_TEST_3XXX)',
-        'PSA internal trusted storage S interface tests (TFM_ITS_TEST_2XXX)',
-        'PSA internal trusted storage NS interface tests (TFM_ITS_TEST_1XXX)',
-        'ITS reliability tests (TFM_ITS_TEST_3XXX)',
-        'Core non-secure positive tests (TFM_CORE_TEST_1XXX)',
-        'AuditLog non-secure interface test (TFM_AUDIT_TEST_1XXX)',
-        'Crypto non-secure interface test (TFM_CRYPTO_TEST_6XXX)',
-        'Initial Attestation Service '
-        'non-secure interface tests(TFM_ATTEST_TEST_2XXX)',
-        'SST rollback protection tests (TFM_SST_TEST_4XXX)',
-        'Audit Logging secure interface test (TFM_AUDIT_TEST_1XXX)',
-        'Crypto secure interface tests (TFM_CRYPTO_TEST_5XXX)',
-        'Initial Attestation Service secure '
-        'interface tests(TFM_ATTEST_TEST_1XXX)',
-    ]
-    _cfg["test_end_string"] = "End of Non-secure test suites"
-
-    _cfg["simlimit"] = "1200"
-
-
-class template_coreipc_config(template_cfg):
-    """ Will automatically populate the required information for tfm
-    coreipc configuration testing. User still needs to set the
-    buildpath, platform, compiler variants """
-
-    _cfg = deepcopy(template_cfg._cfg)
-
-    _vdict = deepcopy(template_cfg._vdict)
-
-    # Set defaults across all variants
-    _vdict["build_path"] = "build-ci-all"
-
-    _vdict["app_bin_path"] = "bin/fvp"
-    _vdict["data_bin_path"] = "bin/fvp"
-
-    _vdict["variant_name_tpl"] = "%(platform)s_%(compiler)s_%(config)s_" + \
-        "%(build_type)s_%(bootloader)s"
-
-    # Mofify the %(config)s parameter of the template
-    _vdict["config"] = "ConfigCoreIPC"
-    _cfg["terminal_log"] = _cfg["terminal_log"] % _vdict
-
-    # System supports two types of matching with
-    # test_case_id and result match group and only test_case_id
-    _cfg["test_rex"] = (r'\x1b\[1;34m\[Sec Thread\] '
-                        r'(?P<test_case_id>Secure image initializing!)\x1b\[0m'
-                        )
-
-    # test_case_id capture group Should match test_cases entries
-    _cfg["test_cases"] = [
-        'Secure image initializing!',
-    ]
-    # Testing will stop if string is reached
-    _cfg["test_end_string"] = "Secure image initializing"
-    _cfg["simlimit"] = "1200"
-
-class template_coreipctfmlevel2_config(template_cfg):
-    """ Will automatically populate the required information for tfm
-    coreipc tfmlevel2 configuration testing. User still needs to set the
-    buildpath, platform, compiler variants """
-
-    _cfg = deepcopy(template_cfg._cfg)
-
-    _vdict = deepcopy(template_cfg._vdict)
-
-    # Set defaults across all variants
-    _vdict["build_path"] = "build-ci-all"
-
-    _vdict["app_bin_path"] = "bin/fvp"
-    _vdict["data_bin_path"] = "bin/fvp"
-
-    _vdict["variant_name_tpl"] = "%(platform)s_%(compiler)s_%(config)s_" + \
-        "%(build_type)s_%(bootloader)s"
-
-    # Mofify the %(config)s parameter of the template
-    _vdict["config"] = "ConfigCoreIPCTfmLevel2"
-    _cfg["terminal_log"] = _cfg["terminal_log"] % _vdict
-
-    # System supports two types of matching with
-    # test_case_id and result match group and only test_case_id
-    _cfg["test_rex"] = (r'\x1b\[1;34m\[Sec Thread\] '
-                        r'(?P<test_case_id>Secure image initializing!)\x1b\[0m'
-                        )
-
-    # test_case_id capture group Should match test_cases entries
-    _cfg["test_cases"] = [
-        'Secure image initializing!',
-    ]
-    # Testing will stop if string is reached
-    _cfg["test_end_string"] = "Secure image initializing"
-    _cfg["simlimit"] = "1200"
-
-class template_psaapitestipctfmlevel2_config(template_cfg):
-    """ Will automatically populate the required information for tfm
-    coreipc tfmlevel2 configuration testing. User still needs to set the
-    buildpath, platform, compiler variants """
-
-    _cfg = deepcopy(template_cfg._cfg)
-
-    _vdict = deepcopy(template_cfg._vdict)
-
-    # Set defaults across all variants
-    _vdict["build_path"] = "build-ci-all"
-
-    _vdict["app_bin_path"] = "bin/fvp"
-    _vdict["data_bin_path"] = "bin/fvp"
-
-    _vdict["variant_name_tpl"] = "%(platform)s_%(compiler)s_%(config)s_" + \
-        "%(psa_suite)s_%(build_type)s_%(bootloader)s"
-
-    # Mofify the %(config)s parameter of the template
-    _vdict["config"] = "ConfigPsaApiTestIPCTfmLevel2"
-    _cfg["terminal_log"] = _cfg["terminal_log"] % _vdict
-
-    # System supports two types of matching with
-    # test_case_id and result match group and only test_case_id
-    _cfg["test_rex"] = (r'Entering standby'
-                        )
-
-    # test_case_id capture group Should match test_cases entries
-    _cfg["test_cases"] = [
-        'Secure image initializing!',
-    ]
-    # Testing will stop if string is reached
-    _cfg["test_end_string"] = "Entering standby.."
-    _cfg["simlimit"] = "1200"
-
-class template_psaapitestipc_config(template_cfg):
-    """ Will automatically populate the required information for tfm
-    coreipc tfmlevel2 configuration testing. User still needs to set the
-    buildpath, platform, compiler variants """
-
-    _cfg = deepcopy(template_cfg._cfg)
-
-    _vdict = deepcopy(template_cfg._vdict)
-
-    # Set defaults across all variants
-    _vdict["build_path"] = "build-ci-all"
-
-    _vdict["app_bin_path"] = "bin/fvp"
-    _vdict["data_bin_path"] = "bin/fvp"
-
-    _vdict["variant_name_tpl"] = "%(platform)s_%(compiler)s_%(config)s_" + \
-        "%(psa_suite)s_%(build_type)s_%(bootloader)s"
-
-    # Mofify the %(config)s parameter of the template
-    _vdict["config"] = "ConfigPsaApiTestIPC"
-    _cfg["terminal_log"] = _cfg["terminal_log"] % _vdict
-
-    # System supports two types of matching with
-    # test_case_id and result match group and only test_case_id
-    _cfg["test_rex"] = (r'Entering standby'
-                        )
-
-    # test_case_id capture group Should match test_cases entries
-    _cfg["test_cases"] = [
-        'Secure image initializing!',
-    ]
-    # Testing will stop if string is reached
-    _cfg["test_end_string"] = "Entering standby.."
-    _cfg["simlimit"] = "1200"
-
-class template_psaapitest_config(template_cfg):
-    """ Will automatically populate the required information for tfm
-    coreipc tfmlevel2 configuration testing. User still needs to set the
-    buildpath, platform, compiler variants """
-
-    _cfg = deepcopy(template_cfg._cfg)
-
-    _vdict = deepcopy(template_cfg._vdict)
-
-    # Set defaults across all variants
-    _vdict["build_path"] = "build-ci-all"
-
-    _vdict["app_bin_path"] = "bin/fvp"
-    _vdict["data_bin_path"] = "bin/fvp"
-
-    _vdict["variant_name_tpl"] = "%(platform)s_%(compiler)s_%(config)s_" + \
-        "%(psa_suite)s_%(build_type)s_%(bootloader)s"
-
-    # Mofify the %(config)s parameter of the template
-    _vdict["config"] = "ConfigPsaApiTest"
-    _cfg["terminal_log"] = _cfg["terminal_log"] % _vdict
-
-    # System supports two types of matching with
-    # test_case_id and result match group and only test_case_id
-    _cfg["test_rex"] = (r'Entering standby'
-                        )
-
-    # test_case_id capture group Should match test_cases entries
-    _cfg["test_cases"] = [
-        'Secure image initializing!',
-    ]
-    # Testing will stop if string is reached
-    _cfg["test_end_string"] = "Entering standby.."
-    _cfg["simlimit"] = "1200"
diff --git a/tfm_ci_pylib/fastmodel_wrapper/fastmodel_config_map.py b/tfm_ci_pylib/fastmodel_wrapper/fastmodel_config_map.py
deleted file mode 100644
index 2ba3d27..0000000
--- a/tfm_ci_pylib/fastmodel_wrapper/fastmodel_config_map.py
+++ /dev/null
@@ -1,155 +0,0 @@
-#!/usr/bin/env python3
-
-""" fastmodel_config_map.py:
-
-    Using Python clas inheritance model to generate modular and easily to scale
-    configuration models for the run_fpv module. Configuration data is also
-    combined with helper methods. If the file is run as a standalone file,
-    it can save json configuration files to disk if requested by --export
-    directive """
-
-from __future__ import print_function
-from copy import deepcopy
-from pprint import pprint
-
-__copyright__ = """
-/*
- * Copyright (c) 2018-2020, Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- *
- */
- """
-
-__author__ = "tf-m@lists.trustedfirmware.org"
-__project__ = "Trusted Firmware-M Open CI"
-__version__ = "1.4.0"
-
-
-class FastmodelConfigMap(object):
-
-    def __init__(self, enviroment, platform):
-        pass
-
-        self._platforms = [platform]
-        self._cfg_map = self.global_import(enviroment)
-        self._invalid = []
-
-    def add_invalid(self, invalid_tuple):
-        self._invalid.append(invalid_tuple)
-
-    def get_invalid(self):
-        return deepcopy(self._invalid)
-
-    def global_import(self, enviroment, classname="TfmFastModelConfig"):
-        """ Import modules with specified classname from enviroment
-        provided by caller """
-
-        # Select the imported modules with a  __name__ attribute
-        ol = {nme: cfg for nme, cfg in enviroment.items()
-              if hasattr(cfg, '__name__')}
-
-        # Select those who match the classname
-        fcfg = {nme: cfg_obj for nme, cfg_obj
-                in ol.items() if cfg_obj .__name__ == classname}
-
-        return {self._platforms[0]: fcfg}
-
-    def __add__(self, obj_b):
-        """ Override addition operator """
-
-        # Create a new object of left hand operant for return
-        ret_obj = deepcopy(self)
-
-        # Get references to new class members
-        map_a = ret_obj._cfg_map
-        platforms_a = ret_obj._platforms
-        map_b = obj_b.get_object_map()
-        for platform, config in map_b.items():
-
-            if platform in map_a.keys():
-                for cfg_name, cfg_object in config.items():
-                    if cfg_name in map_a[platform].keys():
-                        print("Matching entrty name %s" % (cfg_name))
-                        print("Left operant entry: %s "
-                              "will be replaced by: %s" %
-                              (map_a[platform][cfg_name], cfg_object))
-                    map_a[platform][cfg_name] = cfg_object
-            else:
-                map_a[platform] = deepcopy(config)
-                platforms_a.append(platform)
-
-        return ret_obj
-
-    def _cmerge(self):
-        """ Join all the platform configs """
-
-        ret = {}
-        for entry in self._cfg_map.values():
-            for name, cfg in entry.items():
-                ret[name] = cfg
-        return ret
-
-    def get_object_map(self):
-        """ Returns the config map as objects """
-
-        return deepcopy(self._cfg_map)
-
-    def get_config_map(self):
-        """ Return a copy of the config map with the config objects rendered
-        as dictionaries """
-
-        ret_dict = deepcopy(self._cfg_map)
-        for platform, config in self._cfg_map.items():
-            for name, cfg_object in config.items():
-                ret_dict[platform][name] = cfg_object.get_config()
-        return ret_dict
-
-    def list(self):
-        """ Print a quick list of the contained platforms and
-         configuration names """
-
-        return list(self._cmerge().keys())
-
-    def print_list(self):
-        """ Print a quick list of the contained platforms and
-         configuration names """
-
-        for platform, config in self._cfg_map.items():
-            print("=========== Platform: %s ===========" % platform)
-            for name, cfg_object in config.items():
-                print(name)
-
-    def print(self):
-        """ Print the contents of a human readable config map """
-
-        pprint(self.get_config_map())
-
-    def get_config_object(self, config_name, platform=None):
-        try:
-            cfg_dict = self._cfg_map[platform]
-        except Exception as e:
-            cfg_dict = self._cmerge()
-
-        return cfg_dict[config_name]
-
-    def get_config(self, config_name, platform=None):
-
-        return self.get_config_object(config_name, platform).get_config()
-
-    def patch_config(self, cfg_name, key, new_data, platform=None):
-        """ Modify a configuration entry, and re-render the class """
-
-        cfg_object = self.get_config_object(cfg_name, platform)
-
-        # Do not
-        if cfg_object.get_variant_metadata()[key] == new_data:
-            return
-        v_meta = cfg_object.get_variant_metadata()
-        v_meta[key] = new_data
-        cfg_object.set_variant_metadata(v_meta).rebuild()
-
-
-def fvp_config_object_change_path(cfg_object, new_path):
-    """ Change the common artifact storage path and update its
-    configuration """
diff --git a/tfm_ci_pylib/fastmodel_wrapper/fastmodel_wrapper.py b/tfm_ci_pylib/fastmodel_wrapper/fastmodel_wrapper.py
deleted file mode 100755
index 25c1111..0000000
--- a/tfm_ci_pylib/fastmodel_wrapper/fastmodel_wrapper.py
+++ /dev/null
@@ -1,554 +0,0 @@
-#!/usr/bin/env python3
-
-""" fastmodel_wrapper.py:
-
-    Wraps around Fast models which will execute in headless model
-    producing serial output to a defined log file. It will spawn two Proccesses
-    and one thread to monitor the output of the simulation and end it when a
-    user defined condition is matched. It will perform a set of tests and will
-    change the script exit code based on the output of the test """
-
-from __future__ import print_function
-
-__copyright__ = """
-/*
- * Copyright (c) 2018-2020, Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- *
- */
- """
-
-__author__ = "tf-m@lists.trustedfirmware.org"
-__project__ = "Trusted Firmware-M Open CI"
-__version__ = "1.4.0"
-
-import os
-import re
-import sys
-import argparse
-from time import sleep
-from pprint import pprint
-from copy import deepcopy
-from threading import Thread
-from queue import Queue, Empty
-from subprocess import Popen, PIPE, STDOUT
-
-try:
-    from tfm_ci_pylib.utils import find_missing_files, \
-        detect_python3, test, check_pid_status, save_json, save_dict_json, \
-        load_json
-except ImportError:
-    dir_path = os.path.dirname(os.path.realpath(__file__))
-    sys.path.append(os.path.join(dir_path, "../"))
-    from tfm_ci_pylib.utils import find_missing_files, \
-        detect_python3, test, check_pid_status, save_json, save_dict_json, \
-        load_json
-
-
-class FastmodelWrapper(object):
-    """ Controlling Class that wraps around an ARM Fastmodel and controls
-    execution, adding regex flow controls, and headless testing """
-
-    def __init__(self,
-                 fvp_cfg=None,
-                 work_dir="./",
-                 fvp_dir=None,
-                 fvp_binary=None,
-                 fvp_app=None,
-                 fvp_boot=None,
-                 terminal_file=None,
-                 fvp_time_out=None,
-                 fvp_test_error=None):
-
-        # Required by other methods, always set working directory first
-        self.work_dir = os.path.abspath(work_dir)
-
-        # Load the configuration from object or file
-        self.config, self.name = self.load_config(fvp_cfg)
-
-        self.show_config()
-
-        # Print a header
-        ln = int((62 - len(self.name) + 1) / 2)
-        print("\n%s Running Test: %s %s\n" % ("#" * ln, self.name, "#" * ln))
-
-        # consume the configuration parameters not related to FPV
-        # Extract test cases
-        self.test_list = self.config.pop("test_cases")
-        self.test_end_string = self.config.pop("test_end_string")
-        self.test_rex = self.config.pop("test_rex")
-
-        # Command line arguments overrides
-        # When those arguments are provided they override config entries
-        f_dir = self.config.pop("directory")
-        if fvp_dir:
-            self.fvp_dir = os.path.abspath(fvp_dir)
-        else:
-            self.fvp_dir = os.path.abspath(f_dir)
-
-        ef = self.config.pop("error_on_failed")
-        if fvp_test_error:
-            self.fvp_test_error = fvp_test_error
-        else:
-            self.fvp_test_error = ef
-
-        tf = self.config.pop("terminal_log")
-        if terminal_file:
-            self.term_file = os.path.abspath(terminal_file)
-        else:
-            tf = os.path.join(self.work_dir, tf)
-            self.term_file = os.path.abspath(tf)
-
-        # Override config entries directly
-        if fvp_binary:
-            self.config["bin"] = fvp_binary
-
-        if fvp_boot:
-            if re.match(r'[\S]+.axf$', fvp_boot):
-                self.config["application"] = "cpu0=" +\
-                                             os.path.abspath(fvp_boot)
-            else:
-                print("Invalid bootloader %s. Expecting .axf file" % fvp_app)
-                sys.exit(1)
-
-        # Ensure that the firmware is copied at the appropriate memory region
-        # perfect mathc regx for future ref r'^(?:cpu=)[\S]+.bin@0x10080000$'
-        #  TODO remove that when other platforms are added
-        if fvp_app:
-            if re.match(r'[\S]+.bin$', fvp_app):
-                self.config["data"] = "cpu0=" +\
-                                      os.path.abspath(fvp_app) +\
-                                      "@0x10080000"
-            else:
-                print("Invalid firmware %s. Expecting .bin file" % fvp_app)
-                sys.exit(1)
-
-        if fvp_time_out:
-            self.fvp_time_out = fvp_time_out
-            self.config["simlimit"] = fvp_time_out
-
-        self.monitor_q = Queue()
-        self.stop_all = False
-        self.pids = []
-        self.fvp_test_summary = False
-
-        # Asserted only after a complete test run,including end string matching
-        self.test_complete = False
-
-        self.test_report = None
-
-        # Change to working directory
-        os.chdir(self.work_dir)
-        print("Switching to working directory: %s" % self.work_dir)
-        # Clear the file it it has been created before
-        with open(self.term_file, "w") as F:
-            F.write("")
-
-    def show_config(self):
-        """ print the configuration to console """
-
-        print("\n%s config:\n" % self.name)
-        pprint(self.config)
-
-    def load_config(self, config):
-        """ Load the configuration from a json file or a memory map"""
-
-        try:
-            # If config is an dictionary object use it as is
-            if isinstance(config, dict):
-                ret_config = config
-            elif isinstance(config, str):
-                # if the file provided is not detected attempt to look for it
-                # in working directory
-                if not os.path.isfile(config):
-                    # remove path from file
-                    cfg_file_2 = os.path.split(config)[-1]
-                    # look in the current working directory
-                    cfg_file_2 = os.path.join(self.work_dir, cfg_file_2)
-                    if not os.path.isfile(cfg_file_2):
-                        m = "Could not find cfg in %s or %s " % (config,
-                                                                 cfg_file_2)
-                        raise Exception(m)
-                    # If fille exists in working directory
-                    else:
-                        config = cfg_file_2
-                # Attempt to load the configuration from File
-                ret_config = load_json(config)
-            else:
-                raise Exception("Need to provide a valid config name or file."
-                                "Please use --config/--config-file parameter.")
-
-        except Exception as e:
-            print("Error! Could not load config. Quitting")
-            sys.exit(1)
-
-        # Generate Test name (Used in test report) from terminal file.
-        tname = ret_config["terminal_log"].replace("terminal_", "")\
-            .split(".")[0].lower()
-
-        return deepcopy(ret_config), tname
-
-    def save_config(self, config_file="fvp_tfm_config.json"):
-        """ Safe current configuration to a json file """
-
-        # Add stripped information to config
-        exp_cfg = deepcopy(self.config)
-
-        exp_cfg["terminal_log"] = self.term_file
-        exp_cfg["error_on_failed"] = self.fvp_test_error
-        exp_cfg["directory"] = self.fvp_dir
-        exp_cfg["test_cases"] = self.test_list
-        exp_cfg["test_end_string"] = self.test_end_string
-        exp_cfg["test_rex"] = self.test_rex
-
-        cfg_f = os.path.join(self.work_dir, config_file)
-        save_dict_json(cfg_f, exp_cfg, exp_cfg.get_sort_order())
-        print("Configuration %s exported." % cfg_f)
-
-    def compile_cmd(self):
-        """ Compile all the FPV realted information into a command that can
-        be executed manually """
-
-        cmd = ""
-        for name, value in self.config.items():
-            # Place executable to the beggining of the machine
-            if name == "bin":
-                cmd = value + cmd
-            elif name == "parameters":
-                cmd += " " + " ".join(["--parameter %s" % p for p in value])
-            # Allows setting a second binary file as data field
-            elif name == "application" and ".bin@0x0" in value:
-                cmd += " --data %s" % value
-            else:
-                cmd += " --%s %s" % (name, value)
-
-        # Add the path to the command
-        cmd = os.path.join(self.fvp_dir, cmd)
-
-        # Add the log file to the command (optional)
-        cmd = cmd.replace("$TERM_FILE", self.term_file)
-        return cmd
-
-    def show_cmd(self):
-        """ print the FPV command to console """
-
-        print(self.compile_cmd())
-
-    def run_fpv(self):
-        """ Run the Fast Model test in a different proccess and return
-        the pid for housekeeping puproses """
-
-        def fpv_stdout_parser(dstream, queue):
-            """ THREAD: Read STDOUT/STDERR and stop if proccess is done """
-
-            for line in iter(dstream.readline, b''):
-                if self.stop_all:
-                    break
-                else:
-                    # Python2 ignores byte literals, P3 requires parsing
-                    if detect_python3():
-                        line = line.decode("utf-8")
-                if "Info: /OSCI/SystemC: Simulation stopped by user" in line:
-                    print("/OSCI/SystemC: Simulation stopped")
-                    self.stop()
-                    break
-
-        # Convert to list
-        cmd = self.compile_cmd().split(" ")
-        print("fvp cmd ", self.compile_cmd())
-
-        # Run it as subproccess
-        self.fvp_proc = Popen(cmd, stdout=PIPE, stderr=STDOUT, shell=False)
-        self._fvp_thread = Thread(target=fpv_stdout_parser,
-                                  args=(self.fvp_proc.stdout,
-                                        self.monitor_q))
-        self._fvp_thread.daemon = True
-        self._fvp_thread.start()
-        return self.fvp_proc.pid
-
-    def run_monitor(self):
-        """ Run a parallel threaded proccess that monitors the output of
-        the FPV and stops it when the a user specified string is found.
-        It returns the pid of the proccess for housekeeping """
-
-        def monitor_producer(dstream, queue):
-            """ THREAD: Read STDOUT and push data into a queue """
-
-            for line in iter(dstream.readline, b''):
-                if self.stop_all:
-                    break
-                else:
-                    # Python2 ignores byte literals, P3 requires parsing
-                    if detect_python3():
-                        line = line.decode("utf-8")
-
-                    queue.put(line)
-
-                # If the text end string is found terminate
-                if str(line).find(self.test_end_string) > 0:
-
-                    queue.put("Found End String \"%s\"" % self.test_end_string)
-                    print("Found End String \"%s\"" % self.test_end_string)
-                    self.test_complete = True
-                    self.stop()
-                    break
-                # If the FPV stopps by iteself (i.e simlimit reached) terminate
-                if "SystemC: Simulation stopped by user" in str(line):
-
-                    queue.put("Simulation Ended \"%s\"" % self.test_end_string)
-                    self.stop()
-                    break
-
-            dstream.close()
-            return
-
-        # Run the tail as a separate proccess
-        cmd = ["tail", "-f", self.term_file]
-        self.monitor_proc = Popen(cmd, stdout=PIPE, stderr=STDOUT, shell=False)
-
-        self._fvp_mon_thread = Thread(target=monitor_producer,
-                                      args=(self.monitor_proc.stdout,
-                                            self.monitor_q))
-        self._fvp_mon_thread.daemon = True
-        self._fvp_mon_thread.start()
-        return self.monitor_proc.pid
-
-    def monitor_consumer(self):
-        """ Read the ouptut of the monitor thread and print the queue entries
-        one entry at the time (One line per call) """
-        try:
-            line = self.monitor_q.get_nowait()
-        except Empty:
-            pass
-        else:
-            print(line.rstrip())
-
-    def has_stopped(self):
-        """Retrun status of stop flag. True indicated stopped state """
-
-        return self.stop_all
-
-    def start(self):
-        """ Start the FPV and the montor procccesses and keep
-        track of their pids"""
-
-        #  Do not spawn fpv unless everything is in place if
-        bin_list = [os.path.join(self.fvp_dir, self.config["bin"]),
-                    self.config["application"].replace("cpu0=", "")
-                                              .replace("@0x0", ""),
-                    self.config["data"].replace("@0x10080000", "")
-                                       .replace("@0x00100000", "")
-                                       .replace("cpu0=", "")]
-
-        if find_missing_files(bin_list):
-            print("Could not find all binaries from %s" % ", ".join(bin_list))
-            print("Missing Files:", ", ".join(find_missing_files(bin_list)))
-            sys.exit(1)
-        self.show_cmd()
-        self.pids.append(self.run_fpv())
-        self.pids.append(self.run_monitor())
-        print("Spawned Proccesses with PID %s" % repr(self.pids)[1:-1])
-        return self
-
-    def stop(self):
-        """ Stop all threads, proccesses and make sure there are no leaks """
-
-        self.stop_all = True
-
-        # Send the gratious shutdown signal
-        self.monitor_proc.terminate()
-        self.fvp_proc.terminate()
-        sleep(1)
-        # List the Zombies
-        # TODO remove debug output
-        for pid in sorted(self.pids):
-            if check_pid_status(pid, ["zombie", ]):
-                pass
-                # print("Warning. Defunc proccess %s" % pid)
-
-    def test(self):
-        """ Parse the output terminal file and evaluate status of tests """
-
-        # read the output file
-        with open(self.term_file, "r") as F:
-            terminal_log = F.read()
-
-        pass_text = "PASSED"
-        # create a filtering regex
-        rex = re.compile(self.test_rex)
-
-        # Extract tests status as a tuple list
-        tests = rex.findall(terminal_log)
-
-        try:
-            if isinstance(tests, list):
-                if len(tests):
-                    # when test regex is  in format [(test_name, RESULT),...]
-                    if isinstance(tests[0], tuple):
-                        # Convert result into a dictionary
-                        tests = dict(zip(*list(zip(*tests))))
-                    # when regex is  in format [(test_name, test_name 2),...]
-                    # we just need to verify they exist
-                    elif isinstance(tests[0], str):
-                        pass_text = "PRESENT"
-                        tests = dict(zip(tests,
-                                     [pass_text for n in range(len(tests))]))
-                    else:
-                        raise Exception("Incompatible Test Format")
-                else:
-                    raise Exception("Incompatible Test Format")
-            else:
-                raise Exception("Incompatible Test Format")
-        except Exception:
-
-            if not self.test_complete:
-                print("Warning! Test did not complete.")
-            else:
-                print("Error", "Invalid tests format: %s type: %s" %
-                      (tests, type(tests)))
-            # Pass an empty output to test. Do not exit prematurely
-            tests = {}
-
-        # Run the test and store the report
-        self.test_report = test(self.test_list,
-                                tests,
-                                pass_text=pass_text,
-                                test_name=self.name,
-                                error_on_failed=self.fvp_test_error,
-                                summary=self.fvp_test_summary)
-        return self
-
-    def get_report(self):
-        """ Return the test report object to caller """
-
-        if not self.test_report:
-            raise Exception("Can not create report from incomplete run cycle!")
-        return self.test_report
-
-    def save_report(self, rep_f=None):
-        """ Export report into a file, set by test name but can be overidden by
-        rep_file"""
-
-        if not self.stop_all or not self.test_report:
-            print("Can not create report from incomplete run cycle!")
-            return
-
-        if not rep_f:
-            rep_f = os.path.join(self.work_dir, "report_%s.json" % self.name)
-            rep_f = os.path.abspath(rep_f)
-        save_json(rep_f, self.test_report)
-        print("Exported test report: %s" % rep_f)
-        return self
-
-    def block_wait(self):
-        """ Block execution flow and wait for the monitor to complete """
-        try:
-            while True:
-                for pid in sorted(self.pids):
-
-                    if not check_pid_status(pid, ["running",
-                                                  "sleeping",
-                                                  "disk"]):
-                        print("Child proccess of pid: %s has died, exitting!" %
-                              pid)
-                        self.stop()
-                if self.has_stopped():
-                    break
-                else:
-                    self.monitor_consumer()
-
-        except KeyboardInterrupt:
-            print("User initiated interrupt")
-            self.stop()
-        # Allows method to be chainloaded
-        return self
-
-
-def get_cmd_args():
-    """ Parse command line arguments """
-
-    # Parse command line arguments to override config
-    parser = argparse.ArgumentParser(description="TFM Fastmodel wrapper.")
-    parser.add_argument("--bin",
-                        dest="fvp_bin",
-                        action="store",
-                        help="Fast Model platform binary file")
-    parser.add_argument("--firmware",
-                        dest="fvp_firm",
-                        action="store",
-                        help="Firmware application file to run")
-    parser.add_argument("--boot",
-                        dest="fvp_boot",
-                        action="store",
-                        help="Fast Model bootloader file")
-    parser.add_argument("--fpv-path",
-                        dest="fvp_dir",
-                        action="store",
-                        help="Directory path containing the Fast Models")
-    parser.add_argument("--work-path",
-                        dest="work_dir", action="store",
-                        default="./",
-                        help="Working directory (Where logs are stored)")
-    parser.add_argument("--time-limit",
-                        dest="time", action="store",
-                        help="Time in seconds to run the simulation")
-    parser.add_argument("--log-file",
-                        dest="termf",
-                        action="store",
-                        help="Set terminal log file name")
-    parser.add_argument("--error",
-                        dest="test_err",
-                        action="store",
-                        help="raise sys.error = 1 if test failed")
-    parser.add_argument("--config-file",
-                        dest="config_file",
-                        action="store",
-                        help="Path of configuration file")
-    parser.add_argument("--print-config",
-                        dest="p_config",
-                        action="store_true",
-                        help="Print the configuration to console")
-    parser.add_argument("--print-command",
-                        dest="p_command",
-                        action="store_true",
-                        help="Print the FPV launch command to console")
-    return parser.parse_args()
-
-
-def main(user_args):
-    """ Main logic """
-
-    # Create FPV handler
-    F = FastmodelWrapper(fvp_cfg=user_args.config_file,
-                         work_dir=user_args.work_dir,
-                         fvp_dir=user_args.fvp_dir,
-                         fvp_binary=user_args.fvp_bin,
-                         fvp_boot=user_args.fvp_boot,
-                         fvp_app=user_args.fvp_firm,
-                         terminal_file=user_args.termf,
-                         fvp_time_out=user_args.time,
-                         fvp_test_error=user_args.test_err)
-
-    if user_args.p_config:
-        F.show_config()
-        sys.exit(0)
-
-    if user_args.p_command:
-        F.show_cmd()
-        sys.exit(0)
-
-    # Start the wrapper
-    F.start()
-
-    # Wait for the wrapper to complete
-    F.block_wait()
-
-    print("Shutting Down")
-    # Test the output of the system only after a full execution
-    if F.test_complete:
-        F.test()
-
-
-if __name__ == "__main__":
-    main(get_cmd_args())
diff --git a/tfm_ci_pylib/fastmodel_wrapper/fastmodel_wrapper_config.py b/tfm_ci_pylib/fastmodel_wrapper/fastmodel_wrapper_config.py
deleted file mode 100644
index 89fcd0d..0000000
--- a/tfm_ci_pylib/fastmodel_wrapper/fastmodel_wrapper_config.py
+++ /dev/null
@@ -1,285 +0,0 @@
-#!/usr/bin/env python3
-
-""" fastmodel_wrapper_config.py:
-
-    Using Python clas inheritance model to generate modular and easily to scale
-    configuration models for the run_fpv module. Configuration data is also
-    combined with helper methods. If the file is run as a standalone file,
-    it can save json configuration files to disk if requested by --export
-    directive """
-
-from __future__ import print_function
-from collections import OrderedDict
-from copy import deepcopy
-from pprint import pprint
-
-__copyright__ = """
-/*
- * Copyright (c) 2018-2020, Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- *
- */
- """
-
-__author__ = "tf-m@lists.trustedfirmware.org"
-__project__ = "Trusted Firmware-M Open CI"
-__version__ = "1.4.0"
-
-
-try:
-    from tfm_ci_pylib.utils import save_dict_json
-except ImportError:
-    import os
-    import sys
-    dir_path = os.path.dirname(os.path.realpath(__file__))
-    sys.path.append(os.path.join(dir_path, "../"))
-    from tfm_ci_pylib.utils import save_dict_json
-
-
-# Used in fixed sorting of configuration before generating a json file
-# WARNING modification of this file will fundamentaly change behavior
-config_sort_order = [
-    "directory",
-    "terminal_log",
-    "bin",
-    "error_on_failed",
-    "test_rex", "test_cases",
-    "test_end_string",
-    "application",
-    "data",
-    "simlimit",
-    "parameters"
-]
-
-
-class fpv_wrapper_config(object):
-    """ Controlling Class that wraps around an ARM Fastmodel and controls
-    execution, adding regex flow controls, and headless testing """
-
-    # Ensure the dictionary entries are sorted
-    _cfg = OrderedDict.fromkeys(config_sort_order)
-    _name = "run_fpv"
-
-    def __init__(self,
-                 fvp_dir,
-                 terminal_file,
-                 fvp_binary,
-                 eof,
-                 test_rex,
-                 test_cases,
-                 test_end_string,
-                 fvp_app,
-                 fvp_boot,
-                 fvp_sim_limit,
-                 params):
-
-        self._cfg["directory"] = fvp_dir
-        self._cfg["terminal_log"] = terminal_file
-        self._cfg["bin"] = fvp_binary
-        self._cfg["error_on_failed"] = eof
-        self._cfg["test_rex"] = test_rex
-        self._cfg["test_cases"] = test_cases
-        self._cfg["test_end_string"] = test_end_string
-        self._cfg["application"] = fvp_app
-        self._cfg["data"] = fvp_boot
-        self._cfg["simlimit"] = fvp_sim_limit
-        self._cfg["parameters"] = params
-
-    @classmethod
-    def get_config(self):
-        """ Return a copy of the fastmodel configuration dictionary """
-        return dict(deepcopy(self._cfg))
-
-    @classmethod
-    def get_variant_metadata(self):
-        """ Return a copy of the class generator variant dictionary """
-        return deepcopy(self._vdict)
-
-    @classmethod
-    def set_variant_metadata(self, vdict):
-        """ Replace the metadata dictionary with user provided one """
-
-        self._vdict = deepcopy(vdict)
-
-        return self
-
-    @classmethod
-    def querry_variant_metadata(self, key, value):
-        """ Verify that metadata dictionary contains value for key entry """
-
-        return self._vdict[key] == value
-
-    @classmethod
-    def rebuild(self):
-        """ Recreate the configuration of a class after metadata has been
-        modified """
-
-        # Reset the configuration entries to the stock ones
-        self._cfg = deepcopy(self._tpl_cfg)
-
-        # recreate a temporary class with proper configuration
-        @config_variant(**self._vdict)
-        class tmp_class(self):
-            pass
-
-        # Copy over the new configuguration from temporary class
-        self._cfg = deepcopy(tmp_class._cfg)
-
-    @classmethod
-    def print(self):
-        """ Print the configuration dictionary in a human readable format """
-        pprint(dict(self._cfg))
-
-    @classmethod
-    def json_to_file(self, outfile=None):
-        """ Create a JSON file with the configration """
-
-        if not outfile:
-            outfile = self.get_name() + ".json"
-        save_dict_json(outfile, self.get_config(), config_sort_order)
-        print("Configuration exported to %s" % outfile)
-
-    @classmethod
-    def get_name(self):
-        """ Return the name of the configuration """
-
-        return self._name.lower()
-
-    def get_sort_order(self):
-        """ Return an ordered list of entries in the configuration """
-
-        return self._cfg.keys()
-
-
-def config_variant(**override_params):
-    """ Class decorator that enables dynamic subclass creation for different
-    configuration combinatins. Override params can be any keyword based
-    argument of template_cfg._vict """
-
-    def class_rebuilder(cls):
-        class TfmFastModelConfig(cls):
-            override = False
-            _cfg = deepcopy(cls._cfg)
-            _tpl_cfg = deepcopy(cls._cfg)
-            _vdict = deepcopy(cls._vdict)
-            for param, value in override_params.items():
-                if param in _vdict.keys():
-                    _vdict[param] = value
-                    override = True
-
-            if override:
-                _vdict["variant_name_tpl"] = _vdict["variant_name_tpl"] \
-                    % _vdict
-
-                # Update the configuration dependant enties
-                _cfg["terminal_log"] = _cfg["terminal_log"] % _vdict
-
-                # Adjust the binaries based on bootloader presense
-                if _vdict["bootloader"] == "BL2":
-                    _vdict["app_bin"] = override_params["app_bin"] if \
-                        "app_bin" in override_params else "bl2.axf"
-                    _vdict["data_bin"] = override_params["data_bin"] if \
-                        "data_bin" in override_params \
-                        else "tfm_s_ns_signed.bin"
-                    _vdict["data_bin_offset"] = "0x10080000"
-                else:
-                    _vdict["app_bin"] = override_params["app_bin"] if \
-                        "app_bin" in override_params else "tfm_s.axf"
-                    _vdict["data_bin"] = override_params["data_bin"] if \
-                        "data_bin" in override_params else "tfm_ns.bin"
-                    _vdict["data_bin_offset"] = "0x00100000"
-
-                # Switching from AN519 requires changing the parameter
-                # cpu0.baseline=0 -> 1
-                if _vdict["platform"] == "AN519":
-                    idx = _cfg["parameters"].index("cpu0.baseline=0")
-                    cpu_param = _cfg["parameters"].pop(idx).replace("=0", "=1")
-                    _cfg["parameters"].append(cpu_param)
-                _cfg["application"] = _cfg["application"] % _vdict
-                _cfg["data"] = _cfg["data"] % _vdict
-
-                if _vdict["psa_suite"] == "FF":
-                    print("TfmFastModelConfig override:")
-                    _cfg["parameters"] = [
-                        "fvp_mps2.platform_type=2",
-                        "cpu0.baseline=0",
-                        "cpu0.INITVTOR_S=0x10080400",
-                        "cpu0.semihosting-enable=0",
-                        "fvp_mps2.DISABLE_GATING=0",
-                        "fvp_mps2.telnetterminal0.start_telnet=0",
-                        "fvp_mps2.telnetterminal1.start_telnet=0",
-                        "fvp_mps2.telnetterminal2.start_telnet=0",
-                        "fvp_mps2.telnetterminal0.quiet=1",
-                        "fvp_mps2.telnetterminal1.quiet=1",
-                        "fvp_mps2.telnetterminal2.quiet=1",
-                        "fvp_mps2.UART2.out_file=$TERM_FILE",
-                        "fvp_mps2.UART2.unbuffered_output=1",
-                        "fvp_mps2.UART0.shutdown_on_eot=1",
-                        "fvp_mps2.mps2_visualisation.disable-visualisation=1"]
-
-                _name = cls._name % _vdict
-
-        return TfmFastModelConfig
-
-    return class_rebuilder
-
-
-# ===================  Template Classes ===================
-class template_cfg(fpv_wrapper_config):
-    """ Creates a skeleton template configuration that allows creation of
-    configuration variants which set the parameters of:
-    buildpath, config, platform, compiler , as well as the missing test params,
-    test_rex, test_cases, test_end_string """
-
-    _name = fpv_wrapper_config._name + "_%(platform)s_%(compiler)s_" + \
-        "%(config)s_%(build_type)s_%(bootloader)s"
-    # variant dictionary allows indivudal and targeted parameter modification
-    _vdict = {
-        "build_path": "%(build_path)s",
-        "variant_name_tpl": "%(variant_name_tpl)s",
-        "app_bin_path": "%(app_bin_path)s",
-        "app_bin": "%(app_bin)s",
-        "data_bin_path": "%(data_bin_path)s",
-        "data_bin": "%(data_bin)s",
-        "data_bin_offset": "%(data_bin_offset)s",
-        "config": "%(config)s",
-        "platform": "%(platform)s",
-        "compiler": "%(compiler)s",
-        "build_type": "%(build_type)s",
-        "bootloader": "%(bootloader)s"
-    }
-
-    _cfg = deepcopy(fpv_wrapper_config._cfg)
-    _cfg["directory"] = "FVP_MPS2_11.3"
-    _cfg["terminal_log"] = "terminal_%(variant_name_tpl)s.log"
-    _cfg["bin"] = "FVP_MPS2_AEMv8M"
-    _cfg["error_on_failed"] = False
-    _cfg["application"] = (
-        "cpu0=%(build_path)s/%(variant_name_tpl)s/" +
-        "%(app_bin_path)s/%(app_bin)s")
-    _cfg["data"] = (
-        "cpu0=%(build_path)s/%(variant_name_tpl)s/%(data_bin_path)s/" +
-        "%(data_bin)s@%(data_bin_offset)s")
-    _cfg["simlimit"] = "60"
-    _cfg["parameters"] = [
-        "fvp_mps2.platform_type=2",
-        "cpu0.baseline=0",
-        "cpu0.INITVTOR_S=0x10000000",
-        "cpu0.semihosting-enable=0",
-        "fvp_mps2.DISABLE_GATING=0",
-        "fvp_mps2.telnetterminal0.start_telnet=0",
-        "fvp_mps2.telnetterminal1.start_telnet=0",
-        "fvp_mps2.telnetterminal2.start_telnet=0",
-        "fvp_mps2.telnetterminal0.quiet=1",
-        "fvp_mps2.telnetterminal1.quiet=1",
-        "fvp_mps2.telnetterminal2.quiet=1",
-        "fvp_mps2.UART0.out_file=$TERM_FILE",
-        "fvp_mps2.UART0.unbuffered_output=1",
-        "fvp_mps2.UART0.shutdown_on_eot=1",
-        "fvp_mps2.mps2_visualisation.disable-visualisation=1"]
-
-
-if __name__ == "__main__":
-    # Create Json configuration files on user request
-    pass