Build: Update scripts to align FP support in NSPE.

Signed-off-by: Feder Liang <feder.liang@arm.com>
Change-Id: I5e8d1e5a96adb6228c018d65550a710d423301b9
diff --git a/build_helper/build_helper_configs.py b/build_helper/build_helper_configs.py
index 5a611b4..7422e7b 100755
--- a/build_helper/build_helper_configs.py
+++ b/build_helper/build_helper_configs.py
@@ -41,8 +41,6 @@
                    "with_ns",
                    "profile",
                    "partition_ps",
-                   "fp",
-                   "lazy",
                    "extra_params"],
 
     # Keys for the templace will come from the combinations of parameters
@@ -66,8 +64,6 @@
         "-DMCUBOOT_PATH=%(codebase_root_dir)s/../mcuboot " + \
         "-DTFM_PROFILE=%(profile)s " + \
         "-DTFM_PARTITION_PROTECTED_STORAGE=%(partition_ps)s " + \
-        "-DCONFIG_TFM_SPE_FP=%(fp)s " + \
-        "-DCONFIG_TFM_LAZY_STACKING_SPE=%(lazy)s " + \
         "%(extra_params)s " + \
         "%(codebase_root_dir)s",
 
@@ -147,101 +143,96 @@
 # List of all build configs that are impossible under all circumstances
 _common_tfm_invalid_configs = [
     # LR_CODE size exceeds limit on MUSCA_B1 & MUSCA_S1 with regression tests in Debug mode built with ARMCLANG
-    ("arm/musca_b1/sse_200", "toolchain_ARMCLANG.cmake", "*", "*", True, "OFF", "Debug", "*", "*", "*", "", "*", "*", "*", "*"),
-    ("arm/musca_s1", "toolchain_ARMCLANG.cmake", "*", "*", True, "OFF", "Debug", "*", "*", "*", "", "*", "*", "*", "*"),
+    ("arm/musca_b1/sse_200", "toolchain_ARMCLANG.cmake", "*", "*", True, "OFF", "Debug", "*", "*", "*", "", "*", "*"),
+    ("arm/musca_s1", "toolchain_ARMCLANG.cmake", "*", "*", True, "OFF", "Debug", "*", "*", "*", "", "*", "*"),
     # Load range overlap on Musca for IPC Debug type: T895
-    ("arm/musca_b1/sse_200", "toolchain_ARMCLANG.cmake", "*", "*", "*", "IPC", "Debug", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_s1", "toolchain_ARMCLANG.cmake", "*", "*", "*", "IPC", "Debug", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/sse_200", "toolchain_ARMCLANG.cmake", "*", "*", "*", "IPC", "Debug", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_s1", "toolchain_ARMCLANG.cmake", "*", "*", "*", "IPC", "Debug", "*", "*", "*", "*", "*", "*"),
     # Oversize issue on config lpcxpresso55s69_GNUARM_IPC_2_Relwithdebinfo_BL2_NS_MEDIUM
     ("nxp/lpcxpresso55s69", "toolchain_GNUARM.cmake", False, "2", False, "OFF",
-     "Relwithdebinfo", "off", True, True, "profile_medium", "ON", "*", "*", "*"),
+     "Relwithdebinfo", "off", True, True, "profile_medium", "ON", "*"),
     # Oversize issue on config stm32l562e_dk_ARMCLANG_LIB_1_REG_Release_BL2_NS
     ("stm/stm32l562e_dk", "toolchain_ARMCLANG.cmake", True, "1", True, "OFF",
-     "Release", "off", True, True, "", "ON", "*", "*", "*"),
+     "Release", "off", True, True, "", "ON", "*"),
     # LVL2 and LVL3 requires IPC model
-    ("*", "*", True, "2", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("*", "*", True, "3", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("*", "*", True, "2", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("*", "*", True, "3", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
     # Regression requires NS
-    ("*", "*", "*", "*", True, "*", "*", "*", "*", False, "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "*", True, "*", "*", "*", "*", False, "*", "*", "*"),
     # psoc64 requires IPC model
-    ("cypress/psoc64", "*", True, "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("cypress/psoc64", "*", True, "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
     # No PSA_ACK with regression
-    ("*", "*", "*", "*", True, "IPC", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("*", "*", "*", "*", True, "CRYPTO", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("*", "*", "*", "*", True, "INITIAL_ATTESTATION", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("*", "*", "*", "*", True, "STORAGE", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "*", True, "IPC", "*", "*", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "*", True, "CRYPTO", "*", "*", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "*", True, "INITIAL_ATTESTATION", "*", "*", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "*", True, "STORAGE", "*", "*", "*", "*", "*", "*", "*"),
     # PSA_ACK requires NS
-    ("*", "*", "*", "*", "*", "IPC", "*", "*", "*", False, "*", "*", "*", "*", "*"),
-    ("*", "*", "*", "*", "*", "CRYPTO", "*", "*", "*", False, "*", "*", "*", "*", "*"),
-    ("*", "*", "*", "*", "*", "INITIAL_ATTESTATION", "*", "*", "*", False, "*", "*", "*", "*", "*"),
-    ("*", "*", "*", "*", "*", "STORAGE", "*", "*", "*", False, "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "*", "*", "IPC", "*", "*", "*", False, "*", "*", "*"),
+    ("*", "*", "*", "*", "*", "CRYPTO", "*", "*", "*", False, "*", "*", "*"),
+    ("*", "*", "*", "*", "*", "INITIAL_ATTESTATION", "*", "*", "*", False, "*", "*", "*"),
+    ("*", "*", "*", "*", "*", "STORAGE", "*", "*", "*", False, "*", "*", "*"),
     # PSA_ACK IPC (FF) does not support LVL3
-    ("*", "*", "*", "3", "*", "IPC", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("*", "*", "*", "3", "*", "IPC", "*", "*", "*", "*", "*", "*", "*"),
     # Musca requires BL2
-    ("arm/musca_b1/sse_200", "*", "*", "*", "*", "*", "*", "*", False, "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_s1", "*", "*", "*", "*", "*", "*", "*", False, "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/sse_200", "*", "*", "*", "*", "*", "*", "*", False, "*", "*", "*", "*"),
+    ("arm/musca_s1", "*", "*", "*", "*", "*", "*", "*", False, "*", "*", "*", "*"),
     # psoc64 cannot use BL2
-    ("cypress/psoc64", "*", "*", "*", "*", "*", "*", "*", True, "*", "*", "*", "*", "*", "*"),
+    ("cypress/psoc64", "*", "*", "*", "*", "*", "*", "*", True, "*", "*", "*", "*"),
     # psoc64 does not support Debug build type
-    ("cypress/psoc64", "*", "*", "*", "*", "*", "Debug", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("cypress/psoc64", "*", "*", "*", "*", "*", "Debug", "*", "*", "*", "*", "*", "*"),
     # Musca b1 SSE 200 does not support Profile S
-    ("arm/musca_b1/sse_200", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_small", "*", "*", "*", "*"),
+    ("arm/musca_b1/sse_200", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_small", "*", "*"),
     # Musca B1 Secure Enclave requires IPC model, BL2, and supports only Isolation Level 1
-    ("arm/musca_b1/secure_enclave", "*", True, "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "*", "*", "*", False, "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "2", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", True, "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "*", "*", "*", False, "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "2", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
     # Musca B1 Secure Enclave does not support tests, profiles, NS side building
-    ("arm/musca_b1/secure_enclave", "*", "*", "*", True, "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "IPC", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "CRYPTO", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "INITIAL_ATTESTATION", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "STORAGE", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_small", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_medium", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "*", "*", "*", "*", True, "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "*", True, "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "IPC", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "CRYPTO", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "INITIAL_ATTESTATION", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "STORAGE", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_small", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_medium", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "*", "*", "*", "*", "*", "*", True, "*", "*", "*"),
     # PARTITION_PS could be OFF only for Profile S and M
-    ("*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "", "OFF", "*", "*", "*"),
-    ("*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_large", "OFF", "*", "*", "*"),
+    ("*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "", "OFF", "*"),
+    ("*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_large", "OFF", "*"),
     # PARTITION_PS should be OFF for Profile S
-    ("*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_small", "ON", "*", "*", "*"),
+    ("*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_small", "ON", "*"),
     # Proile M only support for IPC model
-    ("*", "*", True, "*", "*", "*", "*", "*", "*", "*", "profile_medium", "*", "*", "*", "*"),
+    ("*", "*", True, "*", "*", "*", "*", "*", "*", "*", "profile_medium", "*", "*"),
     # Profile M only support for Isolation Level 2
-    ("*", "*", "*", "1", "*", "*", "*", "*", "*", "*", "profile_medium", "*", "*", "*", "*"),
-    ("*", "*", "*", "3", "*", "*", "*", "*", "*", "*", "profile_medium", "*", "*", "*", "*"),
+    ("*", "*", "*", "1", "*", "*", "*", "*", "*", "*", "profile_medium", "*", "*"),
+    ("*", "*", "*", "3", "*", "*", "*", "*", "*", "*", "profile_medium", "*", "*"),
     # Profile L only support for Isolation Level 3
-    ("*", "*", "*", "1", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*", "*", "*"),
-    ("*", "*", "*", "2", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*", "*", "*"),
+    ("*", "*", "*", "1", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*"),
+    ("*", "*", "*", "2", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*"),
     # Profile S does not support IPC model
-    ("*", "*", False, "*", "*", "*", "*", "*", "*", "*", "profile_small", "*", "*", "*", "*"),
+    ("*", "*", False, "*", "*", "*", "*", "*", "*", "*", "profile_small", "*", "*"),
     # Profile S only supports Isolation Level 1
-    ("*", "*", "*", "2", "*", "*", "*", "*", "*", "*", "profile_small", "*", "*", "*", "*"),
-    ("*", "*", "*", "3", "*", "*", "*", "*", "*", "*", "profile_small", "*", "*", "*", "*"),
+    ("*", "*", "*", "2", "*", "*", "*", "*", "*", "*", "profile_small", "*", "*"),
+    ("*", "*", "*", "3", "*", "*", "*", "*", "*", "*", "profile_small", "*", "*"),
     # Only AN521 and MUSCA_B1 support Isolation Level 3
-    ("arm/mps2/an519", "*", "*", "3", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/mps3/an524", "*", "*", "3", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_s1", "*", "*", "3", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("cypress/psoc64", "*", "*", "3", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
-    ("arm/musca_b1/secure_enclave", "*", "*", "3", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/mps2/an519", "*", "*", "3", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/mps3/an524", "*", "*", "3", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_s1", "*", "*", "3", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("cypress/psoc64", "*", "*", "3", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("arm/musca_b1/secure_enclave", "*", "*", "3", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
     # stm/stm32l562e_dk uses BL2
-    ("stm/stm32l562e_dk", "*", "*", "*", "*", "*", "*", "*", False, "*", "*", "*", "*", "*", "*"),
+    ("stm/stm32l562e_dk", "*", "*", "*", "*", "*", "*", "*", False, "*", "*", "*", "*"),
     # stm/stm32l562e_dk does not support Debug build type
-    ("stm/stm32l562e_dk", "*", "*", "*", "*", "*", "Debug", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("stm/stm32l562e_dk", "*", "*", "*", "*", "*", "Debug", "*", "*", "*", "*", "*", "*"),
     # nxp/lpcxpresso55s69 only build with GCC
-    ("nxp/lpcxpresso55s69", "toolchain_ARMCLANG.cmake", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+    ("nxp/lpcxpresso55s69", "toolchain_ARMCLANG.cmake", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*"),
     # nxp/lpcxpresso55s69 only build Profile M
-    ("nxp/lpcxpresso55s69", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_small", "*", "*", "*", "*"),
-    ("nxp/lpcxpresso55s69", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*", "*", "*"),
+    ("nxp/lpcxpresso55s69", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_small", "*", "*"),
+    ("nxp/lpcxpresso55s69", "*", "*", "*", "*", "*", "*", "*", "*", "*", "profile_large", "*", "*"),
     # nxp/lpcxpresso55s69 have to turn off BL2 when build regression test
-    ("nxp/lpcxpresso55s69", "*", "*", "*", True, "*", "*", "*", True, "*", "*", "*", "*", "*", "*"),
+    ("nxp/lpcxpresso55s69", "*", "*", "*", True, "*", "*", "*", True, "*", "*", "*", "*"),
     # nxp/lpcxpresso55s69 turn off BL2 temporary, due to the oversize error
-    ("nxp/lpcxpresso55s69", "*", "*", "*", "*", "*", "*", "*", True, "*", "*", "*", "*", "*", "*"),
-    # FP support only for GCC
-    ("*", "toolchain_ARMCLANG.cmake", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "1", "*", "*"),
-    ("*", "toolchain_ARMCLANG.cmake", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "2", "*", "*"),
-    # FP soft only build for lazy stacking disabled
-    ("*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "*", "0", "ON", "*")
+    ("nxp/lpcxpresso55s69", "*", "*", "*", "*", "*", "*", "*", True, "*", "*", "*", "*")
     ]
 
 # Configure build manager to build several combinations
@@ -259,8 +250,6 @@
                 "with_ns":          [True, False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -281,8 +270,6 @@
                 "with_ns":          [True, False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -306,8 +293,6 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -329,8 +314,6 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -353,8 +336,6 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -375,8 +356,6 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -397,8 +376,6 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -419,18 +396,16 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     ["CRYPTO_OFF", "CRYPTO_ON"]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + [
                     # all other tests are off when CRYPTO is ON
                     ("stm/stm32l562e_dk", "*", "*", "*", True, "*", "*", "*",
-                     "*", "*", "*", "*", "*", "*", "CRYPTO_ON"),
+                     "*", "*", "*", "*", "CRYPTO_ON"),
                     # all other tests are ON when CRYPTO is OFF
                     ("stm/stm32l562e_dk", "*", "*", "*", False, "*", "*", "*",
-                     "*", "*", "*", "*", "*", "*", "CRYPTO_OFF"),
+                     "*", "*", "*", "*", "CRYPTO_OFF"),
                 ]
                 }
 
@@ -447,8 +422,6 @@
                 "with_ns":          [True],
                 "profile":          ["profile_medium"],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -457,8 +430,7 @@
 
 config_FP = {"seed_params": {
                 "tfm_platform":     ["arm/musca_s1"],
-                "toolchain_file":   ["toolchain_GNUARM.cmake",
-                                     "toolchain_ARMCLANG.cmake"],
+                "toolchain_file":   ["toolchain_GNUARM.cmake"],
                 "lib_model":        [False],
                 "isolation_level":  ["1", "2"],
                 "test_regression":  [True],
@@ -469,9 +441,7 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0", "1", "2"],
-                "lazy":             ["ON", "OFF"],
-                "extra_params":     [""]
+                "extra_params":     ["FPSOFT", "FPHARD", "FPHARD_LOFF"]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -490,8 +460,6 @@
                 "with_ns":          [False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -512,8 +480,6 @@
                 "with_ns":          [True, False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -535,8 +501,6 @@
                "with_ns":          [True, False],
                "profile":          [""],
                "partition_ps":     ["ON"],
-               "fp":               ["0"],
-               "lazy":             ["OFF"],
                "extra_params":     [""]
                },
               "common_params": _common_tfm_builder_cfg,
@@ -562,24 +526,22 @@
                "with_ns":          [True, False],
                "profile":          [""],
                "partition_ps":     ["ON"],
-               "fp":               ["0"],
-               "lazy":             ["OFF"],
                "extra_params":     [""]
                },
                "common_params": _common_tfm_builder_cfg,
                "invalid": _common_tfm_invalid_configs + [
                    ("cypress/psoc64", "*", "*", "*", "*", "*", "Debug", "*",
-                    "*", "*", "*", "*", "*", "*", "*"),
+                    "*", "*", "*", "*", "*"),
                    ("cypress/psoc64", "*", "*", "*", "*", "*", "*", "*", True,
-                    True, "*", "*", "*", "*", "*"),
+                    True, "*", "*", "*"),
                    ("arm/mps2/an521", "*", "*", "*", "*", "*", "RelWithDebInfo",
-                    "*", "*", "*", "*", "*", "*", "*", "*"),
+                    "*", "*", "*", "*", "*", "*"),
                    ("arm/mps2/an519", "*", "*", "*", "*", "*", "RelWithDebInfo",
-                    "*", "*", "*", "*", "*", "*", "*", "*"),
+                    "*", "*", "*", "*", "*", "*"),
                    ("arm/musca_b1/sse_200", "*", "*", "*", "*", "*", "RelWithDebInfo",
-                    "*", "*", "*", "*", "*", "*", "*", "*"),
+                    "*", "*", "*", "*", "*", "*"),
                    ("arm/mps3/an524", "*", "*", "*", "*", "*", "RelWithDebInfo",
-                    "*", "*", "*", "*", "*", "*", "*", "*"),
+                    "*", "*", "*", "*", "*", "*"),
                ]
                }
 
@@ -598,8 +560,6 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -620,14 +580,12 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + [
                     ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*", "*", "*",
-                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
                 ]
                 }
 
@@ -646,19 +604,17 @@
                 "with_ns":          [True],
                 "profile":          ["profile_small", "profile_medium", "profile_large"],
                 "partition_ps":     ["ON", "OFF"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + [
                     ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*", "*", "*",
-                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
                     # Profile Large is only supported by AN521
                     ("arm/mps2/an519", "*", "*", "*", "*", "*", "*", "*", "*",
-                     "*", "profile_large", "*", "*", "*", "*"),
+                     "*", "profile_large", "*", "*"),
                     ("arm/musca_b1/sse_200", "*", "*", "*", "*", "*", "*", "*",
-                     "*", "*", "profile_large", "*", "*", "*", "*"),
+                     "*", "*", "profile_large", "*", "*"),
                 ]
                 }
 
@@ -676,8 +632,6 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -698,8 +652,6 @@
                 "with_ns":          [True, False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -720,8 +672,6 @@
                 "with_ns":          [False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -742,8 +692,6 @@
                 "with_ns":          [True, False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -766,14 +714,12 @@
                 "with_ns":          [True, False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + [
                     ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*", "*", "*",
-                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
                 ]
                 }
 
@@ -796,14 +742,12 @@
                 "with_ns":          [True, False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + [
                     ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*", "*", "*",
-                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
                 ]
                 }
 
@@ -822,14 +766,12 @@
                 "with_ns":          [True, False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + [
                     ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*", "*", "*",
-                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
                 ]
                 }
 
@@ -849,28 +791,26 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + [
                     ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*", "*", "*",
-                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
                     ("cypress/psoc64", "*", "*", "*", "*", "*", "Debug", "*",
-                     "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*"),
                     ("cypress/psoc64", "*", "*", "*", "*", "*", "*", "*", True,
-                     True, "*", "*", "*", "*", "*"),
+                     True, "*", "*", "*"),
                     ("arm/mps2/an521", "*", "*", "*", "*", "*", "RelWithDebInfo",
-                     "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*", "*"),
                     ("arm/mps2/an519", "*", "*", "*", "*", "*", "RelWithDebInfo",
-                     "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*", "*"),
                     ("arm/musca_b1/sse_200", "*", "*", "*", "*", "*",
-                     "RelWithDebInfo", "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "RelWithDebInfo", "*", "*", "*", "*", "*", "*"),
                     ("arm/musca_s1", "*", "*", "*", "*", "*", "RelWithDebInfo",
-                     "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*", "*"),
                     ("arm/mps3/an524", "*", "*", "*", "*", "*", "RelWithDebInfo",
-                     "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*", "*"),
                 ]
                 }
 
@@ -888,8 +828,6 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     ["NSCE"]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -910,8 +848,6 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     ["MMIO"]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -933,19 +869,17 @@
                 "with_ns":          [True],
                 "profile":          ["profile_small", "profile_medium", "profile_large"],
                 "partition_ps":     ["ON", "OFF"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + [
                     ("arm/mps2/an519", "toolchain_GNUARM.cmake", "*", "*", "*",
-                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "Minsizerel", "*", "*", "*", "*", "*", "*"),
                     # Profile Large is only supported by AN521
                     ("arm/mps2/an519", "*", "*", "*", "*", "*", "*", "*", "*",
-                     "*", "profile_large", "*", "*", "*", "*"),
+                     "*", "profile_large", "*", "*"),
                     ("arm/musca_b1/sse_200", "*", "*", "*", "*", "*", "*", "*",
-                     "*", "*", "profile_large", "*", "*", "*", "*"),
+                     "*", "*", "profile_large", "*", "*"),
                 ]
                 }
 
@@ -966,8 +900,6 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -989,8 +921,6 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -1011,8 +941,6 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -1033,8 +961,6 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -1054,8 +980,6 @@
                 "with_ns":          [True],
                 "profile":          ["profile_medium"],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -1064,8 +988,7 @@
 
 config_nightly_FP = {"seed_params": {
                 "tfm_platform":     ["arm/musca_s1"],
-                "toolchain_file":   ["toolchain_GNUARM.cmake",
-                                     "toolchain_ARMCLANG.cmake"],
+                "toolchain_file":   ["toolchain_GNUARM.cmake"],
                 "lib_model":        [False],
                 "isolation_level":  ["1", "2"],
                 "test_regression":  [True],
@@ -1076,9 +999,7 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0", "2"],
-                "lazy":             ["ON", "OFF"],
-                "extra_params":     [""]
+                "extra_params":     ["FPSOFT", "FPHARD", "FPHARD_LOFF"]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + []
@@ -1099,83 +1020,81 @@
                 "with_ns":          [True, False],
                 "profile":          ["", "profile_small", "profile_medium"],
                 "partition_ps":     ["ON", "OFF"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "valid": [
                     ("arm/mps2/an521", "toolchain_GNUARM.cmake",
                      True, "1", False, "OFF", "Debug",
-                     "off", True, True, "", "ON", "0", "OFF", ""),
+                     "off", True, True, "", "ON", ""),
                     ("arm/mps2/an521", "toolchain_ARMCLANG.cmake",
                      False, "2", False, "OFF", "Debug",
-                     "off", True, True, "", "ON", "0", "OFF", ""),
+                     "off", True, True, "", "ON", ""),
                     ("arm/mps2/an521", "toolchain_ARMCLANG.cmake",
                      False, "3", False, "OFF", "Release",
-                     "off", True, True, "", "ON", "0", "OFF", ""),
+                     "off", True, True, "", "ON", ""),
                     ("arm/mps2/an521", "toolchain_GNUARM.cmake",
                      False, "2", False, "OFF", "Debug",
-                     "off", True, True, "profile_medium", "ON", "0", "OFF", ""),
+                     "off", True, True, "profile_medium", "ON", ""),
                     ("arm/mps2/an521", "toolchain_GNUARM.cmake",
                      False, "3", False, "OFF", "Debug",
-                     "off", True, True, "profile_large", "ON", "0", "OFF", ""),
+                     "off", True, True, "profile_large", "ON", ""),
                     # AN521_GNUARM_IPC_2_REG_Release_BL2_NS_MEDIUM_PSOFF
                     ("arm/mps2/an521", "toolchain_GNUARM.cmake",
                      False, "2", True, "OFF", "Release",
-                     "off", True, True, "profile_medium", "OFF", "0", "OFF", ""),
+                     "off", True, True, "profile_medium", "OFF", ""),
                     # MUSCA_B1_GNUARM_LIB_1_REG_Minsizerel_BL2_NS
                     ("arm/musca_b1/sse_200", "toolchain_GNUARM.cmake",
                      True, "1", True, "OFF", "Minsizerel",
-                     "off", True, True, "", "ON", "0", "OFF", ""),
+                     "off", True, True, "", "ON", ""),
                     # stm32l562e_dk_ARMCLANG_IPC_1_REG_Release_BL2_NS
                     ("stm/stm32l562e_dk", "toolchain_ARMCLANG.cmake",
                      False, "1", True, "OFF", "Release",
-                     "off", True, True, "", "ON", "0", "OFF", "CRYPTO_OFF"),
+                     "off", True, True, "", "ON", "CRYPTO_OFF"),
                     # stm32l562e_dk_GNUARM_IPC_2_REG_Release_BL2_NS
                     ("stm/stm32l562e_dk", "toolchain_GNUARM.cmake",
                      False, "2", False, "OFF", "Release",
-                     "off", True, True, "", "ON", "0", "OFF", "CRYPTO_ON"),
+                     "off", True, True, "", "ON", "CRYPTO_ON"),
                     # stm32l562e_dk_GNUARM_IPC_3_REG_Release_BL2_NS
                     ("stm/stm32l562e_dk", "toolchain_GNUARM.cmake",
                      False, "3", True, "OFF", "Release",
-                     "off", True, True, "", "ON", "0", "OFF", "CRYPTO_OFF"),
-                    # MUSCA_S1_GNUARM_IPC_2_REG_Release_BL2_NS_SFP2_SLAZY
+                     "off", True, True, "", "ON", "CRYPTO_OFF"),
+                    # MUSCA_S1_GNUARM_IPC_2_REG_Release_BL2_NS_FPHARD
                     ("arm/musca_s1", "toolchain_GNUARM.cmake",
                      False, "2", True, "OFF", "Release",
-                     "off", True, True, "", "ON", "2", "ON", ""),
+                     "off", True, True, "", "ON", "FPHARD"),
                 ],
                 "invalid": _common_tfm_invalid_configs + [
                     # invalid configs that are not supported by TF-M
                     ("arm/musca_s1", "*", "*", "*", "*", "*",
-                     "*", "*", "*", "*", "profile_medium", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "profile_medium", "*", "*"),
                     # valid configs supported by TF-M but not needed in per-patch
                     ("*", "*", "*", "1", "*", "*", "Release",
-                     "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*", "*"),
                     ("*", "*", "*", "1", "*", "*", "Minsizerel",
-                     "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*", "*"),
                     ("*", "*", "*", "2", "*", "*", "Debug",
-                     "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*", "*"),
                     ("*", "*", "*", "2", "*", "*", "Minsizerel",
-                     "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*", "*"),
                     ("*", "*", "*", "3", "*", "*", "Debug",
-                     "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*", "*"),
                     ("*", "*", "*", "3", "*", "*", "Release",
-                     "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*", "*"),
                     ("arm/mps2/an519", "*", "*", "*", "*", "*",
-                     "*", "*", "*", "*", "profile_small", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "profile_small", "*", "*"),
                     ("arm/musca_s1", "*", "*", "*", "*", "*",
-                     "*", "*", "*", "*", "profile_small", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "profile_small", "*", "*"),
                     ("arm/mps2/an519", "*", "*", "*", "*", "*",
-                     "*", "*", "*", "*", "profile_medium", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "profile_medium", "*", "*"),
                     ("arm/mps2/an521", "*", "*", "*", "*", "*",
-                     "*", "*", "*", "*", "profile_medium", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "profile_medium", "*", "*"),
                     ("*", "toolchain_GNUARM.cmake", "*", "*", "*", "*",
-                     "*", "*", "*", "*", "profile_small", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "profile_small", "*", "*"),
                     ("*", "toolchain_ARMCLANG.cmake", "*", "*", "*", "*",
-                     "*", "*", "*", "*", "profile_medium", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "profile_medium", "*", "*"),
                     ("*", "toolchain_ARMCLANG.cmake", True, "*", "*", "*",
-                     "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*", "*", "*"),
                 ]
                 }
 
@@ -1192,8 +1111,6 @@
                 "with_ns":          [True, False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -1217,8 +1134,6 @@
                 "with_ns":          [True, False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -1238,8 +1153,6 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -1259,8 +1172,6 @@
                 "with_ns":          [True],
                 "profile":          ["", "profile_small", "profile_medium"],
                 "partition_ps":     ["ON", "OFF"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -1280,8 +1191,6 @@
                 "with_ns":          [True],
                 "profile":          ["", "profile_small", "profile_medium", "profile_large"],
                 "partition_ps":     ["ON", "OFF"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -1318,8 +1227,6 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -1341,16 +1248,14 @@
                 "with_ns":          [True],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + [
                     ("*", "toolchain_ARMCLANG.cmake", False, "*", "*", "*",
-                     "*", "*", "*", "*", "*", "*", "*", "*", "*"),
+                     "*", "*", "*", "*", "*", "*", "*"),
                     ("*", "toolchain_ARMCLANG.cmake", True, "1", "*", "*",
-                     "*", "*", False, "*", "*", "*", "*", "*", "*"),
+                     "*", "*", False, "*", "*", "*", "*"),
                 ]
                 }
 
@@ -1367,14 +1272,12 @@
                 "with_ns":          [True, False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
                 "invalid": _common_tfm_invalid_configs + [
                     ("arm/mps2/an521", "toolchain_GNUARM.cmake", False, "2", "*", "*",
-                     "*", "*", True, "*", "*", "*", "*", "*", "*")
+                     "*", "*", True, "*", "*", "*", "*")
                 ]
                 }
 
@@ -1391,8 +1294,6 @@
                 "with_ns":          [False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -1412,8 +1313,6 @@
                 "with_ns":          [False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -1433,8 +1332,6 @@
                 "with_ns":          [False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -1454,8 +1351,6 @@
                 "with_ns":          [False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -1475,8 +1370,6 @@
                 "with_ns":          [False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -1496,8 +1389,6 @@
                 "with_ns":          [False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -1517,8 +1408,6 @@
                 "with_ns":          [False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -1538,8 +1427,6 @@
                 "with_ns":          [False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
@@ -1559,8 +1446,6 @@
                 "with_ns":          [False],
                 "profile":          [""],
                 "partition_ps":     ["ON"],
-                "fp":               ["0"],
-                "lazy":             ["OFF"],
                 "extra_params":     [""]
                 },
                 "common_params": _common_tfm_builder_cfg,
diff --git a/tfm_ci_pylib/tfm_build_manager.py b/tfm_ci_pylib/tfm_build_manager.py
index d8a58bb..673771c 100644
--- a/tfm_ci_pylib/tfm_build_manager.py
+++ b/tfm_ci_pylib/tfm_build_manager.py
@@ -8,7 +8,7 @@
 
 __copyright__ = """
 /*
- * Copyright (c) 2018-2021, Arm Limited. All rights reserved.
+ * Copyright (c) 2018-2022, Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  *
@@ -65,17 +65,18 @@
               "profile_medium": "MEDIUM",
               "profile_large":  "LARGE"}
 
-mapSFPOption = {"0": "SFP0",
-                "1": "SFP1",
-                "2": "SFP2"}
-
 mapExtraParams = {"":              "",
                   "CRYPTO_OFF":   ("-DTEST_S_CRYPTO=OFF "
                                    "-DTEST_NS_CRYPTO=OFF "),
                   "CRYPTO_ON":    ("-DTEST_S_CRYPTO=ON "
                                    "-DTEST_NS_CRYPTO=ON "),
                   "NSCE":          "-DTFM_NS_MANAGE_NSID=ON ",
-                  "MMIO":          "-DPSA_FRAMEWORK_HAS_MM_IOVEC=ON "}
+                  "MMIO":          "-DPSA_FRAMEWORK_HAS_MM_IOVEC=ON ",
+                  "FPSOFT":        "-DCONFIG_TFM_FP=soft ",
+                  "FPHARD":        "-DCONFIG_TFM_FP=hard ",
+                  "FPHARD_LOFF":   ("-DCONFIG_TFM_FP=hard "
+                                    "-DCONFIG_TFM_LAZY_STACKING=OFF ")
+                  }
 
 class TFM_Build_Manager(structuredTask):
     """ Class that will load a configuration out of a json file, schedule
@@ -124,8 +125,12 @@
         compiler_version = ""
         # Set GCC version
         if "GNUARM" in config.toolchain_file:
-            # Use GCC v7.3.1 by default
-            compiler_version = "GCC_7_3_1"
+            if "FPHARD" in config.extra_params:
+                # TF-M FPU feature requires GCC v10.3
+                compiler_version = "GCC_10_3"
+            else:
+                # Use GCC v7.3.1 by default
+                compiler_version = "GCC_7_3_1"
         # Set ARMClang version
         elif "ARMCLANG" in config.toolchain_file:
             # Use ARMClang v6.13 by default
@@ -161,8 +166,6 @@
             "NS={}",
             "PROFILE={}",
             "PARTITION_PS={}",
-            "FP={}",
-            "LAZY={}",
             "EXTRA_PARAMS={}"
         ]
         print(
@@ -182,8 +185,6 @@
                 config_details.with_ns,
                 "N.A" if not config_details.profile else config_details.profile,
                 config_details.partition_ps,
-                config_details.fp,
-                config_details.lazy,
                 "N.A" if not config_details.extra_params else config_details.extra_params,
             )
             .strip()
@@ -443,14 +444,12 @@
                             "with_ns": i.with_ns,
                             "profile": "" if i.profile=="N.A" else i.profile,
                             "partition_ps": i.partition_ps,
-                            "fp": i.fp,
-                            "lazy": i.lazy,
                             "extra_params": mapExtraParams[i.extra_params]}
         if i.test_psa_api == "IPC":
             overwrite_params["test_psa_api"] += " -DINCLUDE_PANIC_TESTS=1"
             if i.tfm_platform == "arm/musca_b1/sse_200":
                 overwrite_params["test_psa_api"] += " -DITS_RAM_FS=ON -DPS_RAM_FS=ON"
-        if i.fp == "1" or i.fp == "2":
+        if i.extra_params == "FPHARD" or i.extra_params == "FPHARD_LOFF":
             overwrite_params["test_psa_api"] += " -DTEST_S_FPU=ON -DTEST_NS_FPU=ON"
         build_cfg["config_template"] %= overwrite_params
         if len(build_cfg["build_cmds"]) > 1:
@@ -634,12 +633,8 @@
                 config_param.append(mapProfile[list(i)[10]])
             if list(i)[11] == "OFF":    #PARTITION_PS
                 config_param.append("PSOFF")
-            if list(i)[12] == "1" or list(i)[12] == "2":
-                config_param.append(mapSFPOption[list(i)[12]]) #FP
-            if list(i)[13] == "ON": # LAZY
-                config_param.append("SLAZY")
-            if list(i)[14]: # EXTRA_PARAMS
-                config_param.append(list(i)[14])
+            if list(i)[12]: # EXTRA_PARAMS
+                config_param.append(list(i)[12])
             i_str = "_".join(config_param)
             ret_cfg[i_str] = i
         return ret_cfg