Add NXP LPCXpresso55S69 board support

Build TF-M firmware for NXP LPCXpresso55S69 board

Signed-off-by: Arthur She <arthur.she@linaro.org>
Change-Id: I04103efba7c85431b463100555b68cdd74ce812d
diff --git a/build_helper/build_helper_configs.py b/build_helper/build_helper_configs.py
index d67564d..82ac5d9 100755
--- a/build_helper/build_helper_configs.py
+++ b/build_helper/build_helper_configs.py
@@ -206,6 +206,13 @@
     ("stm/stm32l562e_dk", "*", "*", "*", "*", "*", "*",  "*", False, "*", "*", "*"),
     # stm/stm32l562e_dk does not support Debug build type
     ("stm/stm32l562e_dk", "*", "*", "*", "*", "*", "Debug",  "*", "*", "*", "*", "*"),
+    # nxp/lpcxpresso55s69 only build with GCC
+    ("nxp/lpcxpresso55s69", "toolchain_ARMCLANG.cmake", "*", "*", "*", "*", "*",  "*", "*", "*", "*", "*"),
+    # nxp/lpcxpresso55s69 only build Profile M
+    ("nxp/lpcxpresso55s69", "*", "*", "*", "*", "*", "*",  "*", "*", "*", "profile_small", "*"),
+    ("nxp/lpcxpresso55s69", "*", "*", "*", "*", "*", "*",  "*", "*", "*", "profile_large", "*"),
+    # nxp/lpcxpresso55s69 have to turn off BL2 when build regression test
+    ("nxp/lpcxpresso55s69", "*", "*", "*", "True", "*", "*",  "*", "True", "*", "*", "*"),
     ]
 
 # Configure build manager to build several combinations
@@ -367,6 +374,24 @@
                 "invalid": _common_tfm_invalid_configs + []
                 }
 
+config_LPCXPRESSO55S69 = {"seed_params": {
+                "tfm_platform":     ["nxp/lpcxpresso55s69"],
+                "toolchain_file":   ["toolchain_GNUARM.cmake"],
+                "psa_api":          [True],
+                "isolation_level":  ["2"],
+                "test_regression":  [True, False],
+                "test_psa_api":     ["OFF"],
+                "cmake_build_type": ["Relwithdebinfo"],
+                "with_otp":         ["off"],
+                "with_bl2":         [True, False],
+                "with_ns":          [True],
+                "profile":          ["profile_medium"],
+                "partition_ps":     ["ON"],
+                },
+                "common_params": _common_tfm_builder_cfg,
+                "invalid": _common_tfm_invalid_configs + []
+                }
+
 config_diphda = {"seed_params": {
                 "tfm_platform":     ["arm/diphda"],
                 "toolchain_file":   ["toolchain_GNUARM.cmake"],
@@ -429,7 +454,8 @@
                                     "arm/musca_b1/sse_200",
                                     "arm/mps3/an524", "cypress/psoc64",
                                     "arm/musca_b1/secure_enclave",
-                                    "stm/stm32l562e_dk"],
+                                    "stm/stm32l562e_dk",
+                                    "nxp/lpcxpresso55s69"],
                "toolchain_file":   ["toolchain_GNUARM.cmake",
                                     "toolchain_ARMCLANG.cmake"],
                "psa_api":          [True, False],
@@ -828,6 +854,24 @@
                 "invalid": _common_tfm_invalid_configs + []
                 }
 
+config_nightly_LPCXPRESSO55S69 = {"seed_params": {
+                "tfm_platform":     ["nxp/lpcxpresso55s69"],
+                "toolchain_file":   ["toolchain_GNUARM.cmake"],
+                "psa_api":          [True],
+                "isolation_level":  ["2"],
+                "test_regression":  [True, False],
+                "test_psa_api":     ["OFF"],
+                "cmake_build_type": ["Relwithdebinfo"],
+                "with_otp":         ["off"],
+                "with_bl2":         [True, False],
+                "with_ns":          [True],
+                "profile":          ["profile_medium"],
+                "partition_ps":     ["ON"],
+                },
+                "common_params": _common_tfm_builder_cfg,
+                "invalid": _common_tfm_invalid_configs + []
+                }
+
 config_pp_test = {"seed_params": {
                 "tfm_platform":     ["arm/mps2/an521", "arm/mps2/an519",
                                      "arm/musca_s1"],
@@ -1098,6 +1142,7 @@
                     "psa_ff_otp": config_PSA_FF_OTP,
                     "tfm_psoc64": config_PSOC64,
                     "tfm_stm32l562e_dk": config_STM32L562E_DK,
+                    "tfm_lpcxpresso55s69": config_LPCXPRESSO55S69,
 
                     #nightly test group
                     "nightly_test": config_nightly,
@@ -1106,6 +1151,7 @@
                     "nightly_ff": config_nightly_PSA_FF,
                     "nightly_otp": config_nightly_OTP,
                     "nightly_stm32l562e_dk": config_nightly_STM32L562E_DK,
+                    "nightly_lpcxpresso55s69": config_nightly_LPCXPRESSO55S69,
 
                     #per patch test group
                     "pp_test": config_pp_test,
diff --git a/jenkins/ci.jpl b/jenkins/ci.jpl
index 533acbe..02f0f92 100644
--- a/jenkins/ci.jpl
+++ b/jenkins/ci.jpl
@@ -20,7 +20,8 @@
                "arm/musca_b1/secure_enclave":   "MUSCA_B1_SE",
                "arm/musca_s1":                  "MUSCA_S1",
                "stm/stm32l562e_dk":             "stm32l562e_dk",
-               "arm/diphda":                    "DIPHDA"]
+               "arm/diphda":                    "DIPHDA",
+               "nxp/lpcxpresso55s69":           "lpcxpresso55s69"]
 
 mapCompiler = ["toolchain_GNUARM.cmake":   "GNUARM",
                "toolchain_ARMCLANG.cmake": "ARMCLANG"]
diff --git a/tfm_ci_pylib/tfm_build_manager.py b/tfm_ci_pylib/tfm_build_manager.py
index 4516f90..1d05883 100644
--- a/tfm_ci_pylib/tfm_build_manager.py
+++ b/tfm_ci_pylib/tfm_build_manager.py
@@ -41,7 +41,8 @@
                "arm/musca_b1/secure_enclave":   "MUSCA_B1_SE",
                "arm/musca_s1":                  "MUSCA_S1",
                "stm/stm32l562e_dk":             "stm32l562e_dk",
-               "arm/diphda":                    "DIPHDA"}
+               "arm/diphda":                    "DIPHDA",
+               "nxp/lpcxpresso55s69":           "lpcxpresso55s69"}
 
 mapCompiler = {"toolchain_GNUARM.cmake":   "GNUARM",
                "toolchain_ARMCLANG.cmake": "ARMCLANG"}