diff --git a/deployments/attestation/attestation.cmake b/deployments/attestation/attestation.cmake
new file mode 100644
index 0000000..4f245d4
--- /dev/null
+++ b/deployments/attestation/attestation.cmake
@@ -0,0 +1,76 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+add_components(TARGET "attestation"
+	BASE_DIR ${TS_ROOT}
+	COMPONENTS
+		"components/common/fdt"
+		"components/common/tlv"
+		"components/common/trace"
+		"components/common/utils"
+		"components/common/endian"
+		"components/common/uuid"
+		"components/config/ramstore"
+		"components/config/loader/sp"
+		"components/messaging/ffa/libsp"
+		"components/rpc/ffarpc/endpoint"
+		"components/rpc/ffarpc/caller/sp"
+		"components/rpc/common/caller"
+		"components/rpc/common/interface"
+		"components/service/common/include"
+		"components/service/common/client"
+		"components/service/common/provider"
+		"components/service/locator"
+		"components/service/locator/interface"
+		"components/service/locator/sp"
+		"components/service/locator/sp/ffa"
+		"components/service/attestation/include"
+		"components/service/attestation/claims"
+		"components/service/attestation/claims/sources/boot_seed_generator"
+		"components/service/attestation/claims/sources/null_lifecycle"
+		"components/service/attestation/claims/sources/instance_id"
+		"components/service/attestation/claims/sources/implementation_id"
+		"components/service/attestation/claims/sources/event_log"
+		"components/service/attestation/claims/sources/event_log/mock"
+		"components/service/attestation/reporter/local"
+		"components/service/attestation/reporter/eat"
+		"components/service/attestation/key_mngr/local"
+		"components/service/attestation/provider"
+		"components/service/attestation/provider/serializer/packed-c"
+		"components/service/crypto/include"
+		"components/service/crypto/client/psa"
+		"protocols/rpc/common/packed-c"
+)
+
+target_sources(attestation PRIVATE
+	${CMAKE_CURRENT_LIST_DIR}/common/attestation_sp.c
+)
+
+#-------------------------------------------------------------------------------
+#  Components used from external projects
+#
+#-------------------------------------------------------------------------------
+
+# Get libc include dir
+get_property(LIBC_INCLUDE_PATH TARGET c PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
+
+# Qcbor
+set (QCBOR_EXTERNAL_INCLUDE_PATHS ${LIBC_INCLUDE_PATH})
+include(${TS_ROOT}/external/qcbor/qcbor.cmake)
+target_link_libraries(attestation PRIVATE qcbor)
+
+# t_cose
+set (TCOSE_EXTERNAL_INCLUDE_PATHS ${LIBC_INCLUDE_PATH})
+include(${TS_ROOT}/external/t_cose/t_cose.cmake)
+target_link_libraries(attestation PRIVATE t_cose)
+
+#################################################################
+
+target_include_directories(attestation PRIVATE
+	${TS_ROOT}
+	${TS_ROOT}/components
+)
diff --git a/deployments/attestation/opteesp/attestation_sp.c b/deployments/attestation/common/attestation_sp.c
similarity index 100%
rename from deployments/attestation/opteesp/attestation_sp.c
rename to deployments/attestation/common/attestation_sp.c
diff --git a/deployments/attestation/common/attestation_sp.h b/deployments/attestation/common/attestation_sp.h
new file mode 100644
index 0000000..e949193
--- /dev/null
+++ b/deployments/attestation/common/attestation_sp.h
@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef ATTESTATION_SP_H
+#define ATTESTATION_SP_H
+
+#define ATTESTATION_SP_UUID_BYTES \
+	{0xa1, 0xba, 0xf1, 0x55, 0x88, 0x76, 0x46, 0x95, \
+	 0x8f, 0x7c, 0x54, 0x95, 0x5e, 0x8d, 0xb9, 0x74}
+
+#endif /* ATTESTATION_SP_H */
diff --git a/deployments/attestation/opteesp/CMakeLists.txt b/deployments/attestation/opteesp/CMakeLists.txt
index 8e7b174..6676f03 100644
--- a/deployments/attestation/opteesp/CMakeLists.txt
+++ b/deployments/attestation/opteesp/CMakeLists.txt
@@ -37,48 +37,10 @@
 add_components(TARGET "attestation"
 	BASE_DIR ${TS_ROOT}
 	COMPONENTS
-		"components/common/fdt"
-		"components/common/tlv"
-		"components/common/trace"
-		"components/common/utils"
-		"components/common/endian"
-		"components/common/uuid"
-		"components/config/ramstore"
-		"components/config/loader/sp"
-		"components/messaging/ffa/libsp"
-		"components/rpc/ffarpc/endpoint"
-		"components/rpc/ffarpc/caller/sp"
-		"components/rpc/common/caller"
-		"components/rpc/common/interface"
-		"components/service/common/include"
-		"components/service/common/client"
-		"components/service/common/provider"
-		"components/service/locator"
-		"components/service/locator/interface"
-		"components/service/locator/sp"
-		"components/service/locator/sp/ffa"
-		"components/service/attestation/include"
-		"components/service/attestation/claims"
-		"components/service/attestation/claims/sources/boot_seed_generator"
-		"components/service/attestation/claims/sources/null_lifecycle"
-		"components/service/attestation/claims/sources/instance_id"
-		"components/service/attestation/claims/sources/implementation_id"
-		"components/service/attestation/claims/sources/event_log"
-		"components/service/attestation/claims/sources/event_log/mock"
-		"components/service/attestation/reporter/local"
-		"components/service/attestation/reporter/eat"
-		"components/service/attestation/key_mngr/local"
-		"components/service/attestation/provider"
-		"components/service/attestation/provider/serializer/packed-c"
-		"components/service/crypto/include"
-		"components/service/crypto/client/psa"
-		"protocols/rpc/common/packed-c"
 		"environments/opteesp"
 )
 
-target_sources(attestation PRIVATE
-	attestation_sp.c
-)
+include(../attestation.cmake REQUIRED)
 
 #-------------------------------------------------------------------------------
 #  Set target platform to provide drivers needed by the deployment
@@ -86,33 +48,11 @@
 #-------------------------------------------------------------------------------
 add_platform(TARGET "attestation")
 
-#-------------------------------------------------------------------------------
-#  Components used from external projects
-#
-#-------------------------------------------------------------------------------
-
-# Get libc include dir
-get_property(LIBC_INCLUDE_PATH TARGET c PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
-
-# Qcbor
-set (QCBOR_EXTERNAL_INCLUDE_PATHS ${LIBC_INCLUDE_PATH})
-include(${TS_ROOT}/external/qcbor/qcbor.cmake)
-target_link_libraries(attestation PRIVATE qcbor)
-
-# t_cose
-set (TCOSE_EXTERNAL_INCLUDE_PATHS ${LIBC_INCLUDE_PATH})
-include(${TS_ROOT}/external/t_cose/t_cose.cmake)
-target_link_libraries(attestation PRIVATE t_cose)
-
-#################################################################
-
 target_compile_definitions(attestation PRIVATE
 	ARM64=1
 )
 
 target_include_directories(attestation PRIVATE
-	${TS_ROOT}
-	${TS_ROOT}/components
 	${TS_ROOT}/deployments/attestation/opteesp
 )
 
diff --git a/deployments/attestation/opteesp/attestation_sp.h b/deployments/attestation/opteesp/attestation_sp.h
deleted file mode 100644
index 7c4af58..0000000
--- a/deployments/attestation/opteesp/attestation_sp.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#ifndef ATTESTATION_SP_H
-#define ATTESTATION_SP_H
-
-#define ATTESTATION_SP_UUID \
-    {0xa1baf155, 0x8876, 0x4695, \
-                {0x8f, 0x7c, 0x54, 0x95, 0x5e, 0x8d, 0xb9, 0x74}}
-
-#define ATTESTATION_SP_UUID_BYTES \
-    {0xa1, 0xba, 0xf1, 0x55, 0x88, 0x76, 0x46, 0x95, \
-     0x8f, 0x7c, 0x54, 0x95, 0x5e, 0x8d, 0xb9, 0x74}
-
-#endif /* ATTESTATION_SP_H */
diff --git a/deployments/attestation/opteesp/optee_sp_user_defines.h b/deployments/attestation/opteesp/optee_sp_user_defines.h
index 95531fe..475a2b9 100644
--- a/deployments/attestation/opteesp/optee_sp_user_defines.h
+++ b/deployments/attestation/opteesp/optee_sp_user_defines.h
@@ -3,13 +3,13 @@
  * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
  */
 
-#ifndef SP_HEADER_DEFINES_H
-#define SP_HEADER_DEFINES_H
+#ifndef OPTEE_SP_USER_DEFINES_H
+#define OPTEE_SP_USER_DEFINES_H
 
-/* To get UUID definition */
-#include "attestation_sp.h"
+#define OPTEE_SP_UUID \
+	{0xa1baf155, 0x8876, 0x4695, \
+		{0x8f, 0x7c, 0x54, 0x95, 0x5e, 0x8d, 0xb9, 0x74}}
 
-#define OPTEE_SP_UUID				ATTESTATION_SP_UUID
 #define OPTEE_SP_FLAGS				0
 
 /* Provisioned stack size */
diff --git a/deployments/crypto/opteesp/crypto_sp.c b/deployments/crypto/common/crypto_sp.c
similarity index 100%
rename from deployments/crypto/opteesp/crypto_sp.c
rename to deployments/crypto/common/crypto_sp.c
diff --git a/deployments/crypto/common/crypto_sp.h b/deployments/crypto/common/crypto_sp.h
new file mode 100644
index 0000000..be1e097
--- /dev/null
+++ b/deployments/crypto/common/crypto_sp.h
@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef CRYPTO_SP_H
+#define CRYPTO_SP_H
+
+#define CRYPTO_SP_UUID_BYTES \
+	{0xd9, 0xdf, 0x52, 0xd5, 0x16, 0xa2, 0x4b, 0xb2, \
+	 0x9a, 0xa4, 0xd2, 0x6d, 0x3b, 0x84, 0xe8, 0xc0}
+
+#endif /* CRYPTO_SP_H */
diff --git a/deployments/crypto/crypto.cmake b/deployments/crypto/crypto.cmake
new file mode 100644
index 0000000..c5f1e3a
--- /dev/null
+++ b/deployments/crypto/crypto.cmake
@@ -0,0 +1,81 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+add_components(TARGET "crypto"
+	BASE_DIR ${TS_ROOT}
+	COMPONENTS
+		"components/common/fdt"
+		"components/common/tlv"
+		"components/common/trace"
+		"components/common/utils"
+		"components/config/ramstore"
+		"components/config/loader/sp"
+		"components/messaging/ffa/libsp"
+		"components/rpc/ffarpc/endpoint"
+		"components/rpc/ffarpc/caller/sp"
+		"components/rpc/common/caller"
+		"components/rpc/common/interface"
+		"components/service/common/include"
+		"components/service/common/client"
+		"components/service/common/serializer/protobuf"
+		"components/service/common/provider"
+		"components/service/discovery/provider"
+		"components/service/discovery/provider/serializer/packed-c"
+		"components/service/crypto/provider"
+		"components/service/crypto/provider/serializer/protobuf"
+		"components/service/crypto/provider/serializer/packed-c"
+		"components/service/crypto/provider/extension/hash"
+		"components/service/crypto/provider/extension/hash/serializer/packed-c"
+		"components/service/crypto/provider/extension/cipher"
+		"components/service/crypto/provider/extension/cipher/serializer/packed-c"
+		"components/service/crypto/provider/extension/key_derivation"
+		"components/service/crypto/provider/extension/key_derivation/serializer/packed-c"
+		"components/service/crypto/provider/extension/mac"
+		"components/service/crypto/provider/extension/mac/serializer/packed-c"
+		"components/service/crypto/factory/full"
+		"components/service/crypto/backend/mbedcrypto"
+		"components/service/crypto/backend/mbedcrypto/trng_adapter/platform"
+		"components/service/secure_storage/include"
+		"components/service/secure_storage/frontend/psa/its"
+		"components/service/secure_storage/backend/secure_storage_client"
+		"components/service/secure_storage/backend/null_store"
+		"components/service/secure_storage/factory/sp/rot_store"
+		"protocols/rpc/common/packed-c"
+		"protocols/service/secure_storage/packed-c"
+		"protocols/service/crypto/protobuf"
+)
+
+target_sources(crypto PRIVATE
+	${CMAKE_CURRENT_LIST_DIR}/common/crypto_sp.c
+)
+
+#-------------------------------------------------------------------------------
+#  Components used from external projects
+#
+#-------------------------------------------------------------------------------
+
+# Get libc include dir
+get_property(LIBC_INCLUDE_PATH TARGET stdlib::c PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
+
+# Nanopb
+list(APPEND NANOPB_EXTERNAL_INCLUDE_PATHS ${LIBC_INCLUDE_PATH})
+include(../../../external/nanopb/nanopb.cmake)
+target_link_libraries(crypto PRIVATE nanopb::protobuf-nanopb-static)
+protobuf_generate_all(TGT "crypto" NAMESPACE "protobuf" BASE_DIR "${TS_ROOT}/protocols")
+
+# Mbed TLS provides libmbedcrypto
+list(APPEND MBEDTLS_EXTRA_INCLUDES ${LIBC_INCLUDE_PATH})
+include(../../../external/MbedTLS/MbedTLS.cmake)
+target_link_libraries(crypto PRIVATE mbedcrypto)
+target_link_libraries(mbedcrypto INTERFACE stdlib::c)
+
+#################################################################
+
+target_include_directories(crypto PRIVATE
+	${TS_ROOT}
+	${TS_ROOT}/components
+)
diff --git a/deployments/crypto/opteesp/CMakeLists.txt b/deployments/crypto/opteesp/CMakeLists.txt
index 92bd249..a3307bc 100644
--- a/deployments/crypto/opteesp/CMakeLists.txt
+++ b/deployments/crypto/opteesp/CMakeLists.txt
@@ -18,8 +18,8 @@
 #-------------------------------------------------------------------------------
 include(${TS_ROOT}/environments/opteesp/env.cmake)
 project(trusted-services LANGUAGES C ASM)
-add_executable(crypto-sp)
-target_include_directories(crypto-sp PRIVATE "${TOP_LEVEL_INCLUDE_DIRS}")
+add_executable(crypto)
+target_include_directories(crypto PRIVATE "${TOP_LEVEL_INCLUDE_DIRS}")
 set(SP_UUID "d9df52d5-16a2-4bb2-9aa4-d26d3b84e8c0")
 set(SP_HEAP_SIZE "490 * 1024" CACHE STRING "SP heap size in bytes")
 set(TRACE_PREFIX "CRYPTO" CACHE STRING "Trace prefix")
@@ -28,96 +28,32 @@
 #  Components that are specific to deployment in the opteesp environment.
 #
 #-------------------------------------------------------------------------------
-add_components(TARGET "crypto-sp"
+add_components(TARGET "crypto"
 	BASE_DIR ${TS_ROOT}
 	COMPONENTS
-		"components/common/fdt"
-		"components/common/tlv"
-		"components/common/trace"
-		"components/common/utils"
-		"components/config/ramstore"
-		"components/config/loader/sp"
-		"components/messaging/ffa/libsp"
-		"components/rpc/ffarpc/endpoint"
-		"components/rpc/ffarpc/caller/sp"
-		"components/rpc/common/caller"
-		"components/rpc/common/interface"
-		"components/service/common/include"
-		"components/service/common/client"
-		"components/service/common/serializer/protobuf"
-		"components/service/common/provider"
-		"components/service/discovery/provider"
-		"components/service/discovery/provider/serializer/packed-c"
-		"components/service/crypto/provider"
-		"components/service/crypto/provider/serializer/protobuf"
-		"components/service/crypto/provider/serializer/packed-c"
-		"components/service/crypto/provider/extension/hash"
-		"components/service/crypto/provider/extension/hash/serializer/packed-c"
-		"components/service/crypto/provider/extension/cipher"
-		"components/service/crypto/provider/extension/cipher/serializer/packed-c"
-		"components/service/crypto/provider/extension/key_derivation"
-		"components/service/crypto/provider/extension/key_derivation/serializer/packed-c"
-		"components/service/crypto/provider/extension/mac"
-		"components/service/crypto/provider/extension/mac/serializer/packed-c"
-		"components/service/crypto/factory/full"
-		"components/service/crypto/backend/mbedcrypto"
-		"components/service/crypto/backend/mbedcrypto/trng_adapter/platform"
-		"components/service/secure_storage/include"
-		"components/service/secure_storage/frontend/psa/its"
-		"components/service/secure_storage/backend/secure_storage_client"
-		"components/service/secure_storage/backend/null_store"
-		"components/service/secure_storage/factory/sp/rot_store"
-		"protocols/rpc/common/packed-c"
-		"protocols/service/secure_storage/packed-c"
-		"protocols/service/crypto/protobuf"
 		"environments/opteesp"
 )
 
-target_sources(crypto-sp PRIVATE
-	crypto_sp.c
-)
+include(../crypto.cmake REQUIRED)
 
 #-------------------------------------------------------------------------------
 #  Set target platform to provide drivers needed by the deployment
 #
 #-------------------------------------------------------------------------------
-add_platform(TARGET "crypto-sp")
-
-#-------------------------------------------------------------------------------
-#  Components used from external projects
-#
-#-------------------------------------------------------------------------------
-
-# Get libc include dir
-get_property(LIBC_INCLUDE_PATH TARGET stdlib::c PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
-
-# Nanopb
-list(APPEND NANOPB_EXTERNAL_INCLUDE_PATHS ${LIBC_INCLUDE_PATH})
-include(../../../external/nanopb/nanopb.cmake)
-target_link_libraries(crypto-sp PRIVATE nanopb::protobuf-nanopb-static)
-protobuf_generate_all(TGT "crypto-sp" NAMESPACE "protobuf" BASE_DIR "${TS_ROOT}/protocols")
-
-# Mbed TLS provides libmbedcrypto
-list(APPEND MBEDTLS_EXTRA_INCLUDES ${LIBC_INCLUDE_PATH})
-include(../../../external/MbedTLS/MbedTLS.cmake)
-target_link_libraries(crypto-sp PRIVATE mbedcrypto)
-target_link_libraries(mbedcrypto INTERFACE stdlib::c)
-
+add_platform(TARGET "crypto")
 
 #################################################################
 
-target_compile_definitions(crypto-sp PRIVATE
+target_compile_definitions(crypto PRIVATE
 	ARM64=1
 )
 
-target_include_directories(crypto-sp PRIVATE
-	${TS_ROOT}
-	${TS_ROOT}/components
+target_include_directories(crypto PRIVATE
 	${TS_ROOT}/deployments/crypto/opteesp
 )
 
 if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
-	target_compile_options(crypto-sp PRIVATE
+	target_compile_options(crypto PRIVATE
 		-fdiagnostics-show-option
 		-gdwarf-2
 		-mstrict-align
@@ -126,18 +62,18 @@
 	)
 
 	# Options for GCC that control linking
-	target_link_options(crypto-sp PRIVATE
+	target_link_options(crypto PRIVATE
 		-zmax-page-size=4096
 	)
 	# Options directly for LD, these are not understood by GCC
-	target_link_options(crypto-sp PRIVATE
+	target_link_options(crypto PRIVATE
 		-Wl,--as-needed
 		-Wl,--sort-section=alignment
 		# -Wl,--dynamic-list ${CMAKE_CURRENT_LIST_DIR}/dyn_list
 	)
 endif()
 
-compiler_generate_stripped_elf(TARGET crypto-sp NAME "${SP_UUID}.stripped.elf" RES STRIPPED_ELF)
+compiler_generate_stripped_elf(TARGET crypto NAME "${SP_UUID}.stripped.elf" RES STRIPPED_ELF)
 
 ######################################## install
 if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
@@ -145,13 +81,13 @@
 endif()
 #TODO: api headers
 
-install(TARGETS crypto-sp
+install(TARGETS crypto
 			PUBLIC_HEADER DESTINATION ${TS_ENV}/include
 			RUNTIME DESTINATION ${TS_ENV}/bin
 		)
 install(FILES ${STRIPPED_ELF} DESTINATION ${TS_ENV}/bin)
 
-get_property(_PROTO_FILES TARGET crypto-sp PROPERTY PROTOBUF_FILES)
+get_property(_PROTO_FILES TARGET crypto PROPERTY PROTOBUF_FILES)
 install(FILES ${_PROTO_FILES} DESTINATION ${TS_ENV}/lib/protobuf)
 
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake)
diff --git a/deployments/crypto/opteesp/crypto_sp.h b/deployments/crypto/opteesp/crypto_sp.h
deleted file mode 100644
index 73aae18..0000000
--- a/deployments/crypto/opteesp/crypto_sp.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#ifndef CRYPTO_SP_H
-#define CRYPTO_SP_H
-
-#define CRYPTO_SP_UUID \
-	 {0xd9df52d5, 0x16a2, 0x4bb2, \
-                {0x9a, 0xa4, 0xd2, 0x6d, 0x3b, 0x84, 0xe8, 0xc0}}
-
-#define CRYPTO_SP_UUID_BYTES \
-	{0xd9, 0xdf, 0x52, 0xd5, 0x16, 0xa2, 0x4b, 0xb2, \
-    0x9a, 0xa4, 0xd2, 0x6d, 0x3b, 0x84, 0xe8, 0xc0}
-
-#endif /* CRYPTO_SP_H */
diff --git a/deployments/crypto/opteesp/optee_sp_user_defines.h b/deployments/crypto/opteesp/optee_sp_user_defines.h
index dc40c5e..29b2749 100644
--- a/deployments/crypto/opteesp/optee_sp_user_defines.h
+++ b/deployments/crypto/opteesp/optee_sp_user_defines.h
@@ -3,13 +3,13 @@
  * Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
  */
 
-#ifndef SP_HEADER_DEFINES_H
-#define SP_HEADER_DEFINES_H
+#ifndef OPTEE_SP_USER_DEFINES_H
+#define OPTEE_SP_USER_DEFINES_H
 
-/* To get UUID definition */
-#include "crypto_sp.h"
+#define OPTEE_SP_UUID \
+	{0xd9df52d5, 0x16a2, 0x4bb2, \
+		{0x9a, 0xa4, 0xd2, 0x6d, 0x3b, 0x84, 0xe8, 0xc0}}
 
-#define OPTEE_SP_UUID             CRYPTO_SP_UUID
 #define OPTEE_SP_FLAGS			0
 
 /* Provisioned stack size */
diff --git a/deployments/env-test/opteesp/env_test.c b/deployments/env-test/common/env_test.c
similarity index 100%
rename from deployments/env-test/opteesp/env_test.c
rename to deployments/env-test/common/env_test.c
diff --git a/deployments/env-test/common/env_test.h b/deployments/env-test/common/env_test.h
new file mode 100644
index 0000000..7a25ee2
--- /dev/null
+++ b/deployments/env-test/common/env_test.h
@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef ENV_TEST_H
+#define ENV_TEST_H
+
+#define ENV_TEST_SP_UUID_BYTES \
+	{0x33, 0xc7, 0x5b, 0xaf, 0xac, 0x6a, 0x4f, 0xef, \
+	 0x8a, 0xc7, 0xe9, 0x90, 0x9b, 0xee, 0x2d, 0x17}
+
+#endif /* ENV_TEST_H */
diff --git a/deployments/env-test/opteesp/env_test_tests.c b/deployments/env-test/common/env_test_tests.c
similarity index 100%
rename from deployments/env-test/opteesp/env_test_tests.c
rename to deployments/env-test/common/env_test_tests.c
diff --git a/deployments/env-test/opteesp/env_test_tests.h b/deployments/env-test/common/env_test_tests.h
similarity index 100%
rename from deployments/env-test/opteesp/env_test_tests.h
rename to deployments/env-test/common/env_test_tests.h
diff --git a/deployments/env-test/env_test.cmake b/deployments/env-test/env-test.cmake
similarity index 81%
rename from deployments/env-test/env_test.cmake
rename to deployments/env-test/env-test.cmake
index bebd9f5..3a290eb 100644
--- a/deployments/env-test/env_test.cmake
+++ b/deployments/env-test/env-test.cmake
@@ -1,5 +1,5 @@
 #-------------------------------------------------------------------------------
-# Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
+# Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
 #
 # SPDX-License-Identifier: BSD-3-Clause
 #
@@ -19,6 +19,7 @@
 	TARGET "env-test"
 	BASE_DIR ${TS_ROOT}
 	COMPONENTS
+	"components/common/fdt"
 	"components/common/tlv"
 	"components/config/ramstore"
 	"components/rpc/common/interface"
@@ -40,6 +41,19 @@
 )
 
 #-------------------------------------------------------------------------------
+#  Deployment specific source files
+#-------------------------------------------------------------------------------
+target_sources(env-test PRIVATE
+	${CMAKE_CURRENT_LIST_DIR}/common/env_test.c
+	${CMAKE_CURRENT_LIST_DIR}/common/env_test_tests.c
+)
+
+target_include_directories(env-test PRIVATE
+	${TS_ROOT}
+	${TS_ROOT}/components
+)
+
+#-------------------------------------------------------------------------------
 #  Components used from external projects
 #
 #-------------------------------------------------------------------------------
diff --git a/deployments/env-test/opteesp/CMakeLists.txt b/deployments/env-test/opteesp/CMakeLists.txt
index 6e23d6e..323cd86 100644
--- a/deployments/env-test/opteesp/CMakeLists.txt
+++ b/deployments/env-test/opteesp/CMakeLists.txt
@@ -47,15 +47,7 @@
 #  env-test
 #
 #-------------------------------------------------------------------------------
-include(../env_test.cmake REQUIRED)
-
-#-------------------------------------------------------------------------------
-#  Deployment specific source files
-#-------------------------------------------------------------------------------
-target_sources(env-test PRIVATE
-	env_test.c
-	env_test_tests.c
-)
+include(../env-test.cmake REQUIRED)
 
 #-------------------------------------------------------------------------------
 #  Set target platform to provide drivers needed by the deployment
@@ -74,8 +66,6 @@
 )
 
 target_include_directories(env-test PRIVATE
-	${TS_ROOT}
-	${TS_ROOT}/components
 	${TS_ROOT}/deployments/env-test/opteesp
 )
 
diff --git a/deployments/env-test/opteesp/env_test.h b/deployments/env-test/opteesp/env_test.h
deleted file mode 100644
index 0f4c8b7..0000000
--- a/deployments/env-test/opteesp/env_test.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#ifndef ENV_TEST_SP_H
-#define ENV_TEST_SP_H
-
-#define ENV_TEST_SP_UUID \
-	 {0x33c75baf, 0xac6a, 0x4fe4, \
-                {0x8a, 0xc7, 0xe9, 0x90, 0x9b, 0xee, 0x2d, 0x17}}
-
-#define ENV_TEST_SP_UUID_BYTES \
-	{0x33, 0xc7, 0x5b, 0xaf, 0xac, 0x6a, 0x4f, 0xef, \
-    0x8a, 0xcy, 0xe9, 0x90, 0x9b, 0xee, 0x2d, 0x17}
-
-#endif /* ENV_TEST_SP_H */
diff --git a/deployments/env-test/opteesp/optee_sp_user_defines.h b/deployments/env-test/opteesp/optee_sp_user_defines.h
index ac429cf..7c78790 100644
--- a/deployments/env-test/opteesp/optee_sp_user_defines.h
+++ b/deployments/env-test/opteesp/optee_sp_user_defines.h
@@ -3,13 +3,13 @@
  * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
  */
 
-#ifndef SP_HEADER_DEFINES_H
-#define SP_HEADER_DEFINES_H
+#ifndef OPTEE_SP_USER_DEFINES_H
+#define OPTEE_SP_USER_DEFINES_H
 
-/* To get UUID definition */
-#include "env_test.h"
+#define OPTEE_SP_UUID \
+	{0x33c75baf, 0xac6a, 0x4fe4, \
+		{0x8a, 0xc7, 0xe9, 0x90, 0x9b, 0xee, 0x2d, 0x17}}
 
-#define OPTEE_SP_UUID             ENV_TEST_SP_UUID
 #define OPTEE_SP_FLAGS				0
 
 /* Provisioned stack size */
diff --git a/deployments/internal-trusted-storage/opteesp/sp.c b/deployments/internal-trusted-storage/common/its_sp.c
similarity index 95%
rename from deployments/internal-trusted-storage/opteesp/sp.c
rename to deployments/internal-trusted-storage/common/its_sp.c
index a469905..18df88f 100644
--- a/deployments/internal-trusted-storage/opteesp/sp.c
+++ b/deployments/internal-trusted-storage/common/its_sp.c
@@ -1,10 +1,9 @@
 /*
- * Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
+ * Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
-#include "sp.h"
 #include <ffa_api.h>
 #include <components/rpc/common/endpoint/rpc_interface.h>
 #include <components/rpc/ffarpc/endpoint/ffarpc_call_ep.h>
diff --git a/deployments/internal-trusted-storage/common/its_sp.h b/deployments/internal-trusted-storage/common/its_sp.h
new file mode 100644
index 0000000..ffaf25e
--- /dev/null
+++ b/deployments/internal-trusted-storage/common/its_sp.h
@@ -0,0 +1,16 @@
+/*
+ * Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+
+#ifndef ITS_SP_H
+#define ITS_SP_H
+
+/* UUID for the Internal Trusted Store */
+#define ITS_SP_UUID_BYTES \
+	{ 0xdc, 0x1e, 0xef, 0x48, 0xb1, 0x7a, 0x4c, 0xcf, \
+	  0xac, 0x8b, 0xdf, 0xcf, 0xf7, 0x71, 0x1b, 0x14, }
+
+#endif /* ITS_SP_H */
diff --git a/deployments/internal-trusted-storage/internal-trusted-storage.cmake b/deployments/internal-trusted-storage/internal-trusted-storage.cmake
new file mode 100644
index 0000000..3ce5564
--- /dev/null
+++ b/deployments/internal-trusted-storage/internal-trusted-storage.cmake
@@ -0,0 +1,36 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+add_components(TARGET "internal-trusted-storage"
+	BASE_DIR ${TS_ROOT}
+	COMPONENTS
+		components/common/trace
+		components/common/utils
+		components/messaging/ffa/libsp
+		components/rpc/ffarpc/endpoint
+		components/rpc/common/interface
+		components/service/common/include
+		components/service/common/provider
+		components/service/secure_storage/include
+		components/service/secure_storage/frontend/secure_storage_provider
+		components/service/secure_storage/backend/secure_flash_store
+		components/service/secure_storage/backend/secure_flash_store/flash_fs
+		components/service/secure_storage/backend/secure_flash_store/flash
+		components/service/secure_storage/factory/common/sfs
+		protocols/rpc/common/packed-c
+		protocols/service/secure_storage/packed-c
+)
+
+target_sources(internal-trusted-storage PRIVATE
+	${CMAKE_CURRENT_LIST_DIR}/common/its_sp.c
+)
+
+target_include_directories(internal-trusted-storage PRIVATE
+	${TS_ROOT}
+	${TS_ROOT}/components
+	${TS_ROOT}/deployments/internal-trusted-storage/common
+)
diff --git a/deployments/internal-trusted-storage/opteesp/CMakeLists.txt b/deployments/internal-trusted-storage/opteesp/CMakeLists.txt
index 0a91c3d..245fd1e 100644
--- a/deployments/internal-trusted-storage/opteesp/CMakeLists.txt
+++ b/deployments/internal-trusted-storage/opteesp/CMakeLists.txt
@@ -24,35 +24,16 @@
 add_components(TARGET "internal-trusted-storage"
 	BASE_DIR ${TS_ROOT}
 	COMPONENTS
-		components/common/trace
-		components/common/utils
-		components/messaging/ffa/libsp
-		components/rpc/ffarpc/endpoint
-		components/rpc/common/interface
-		components/service/common/include
-		components/service/common/provider
-		components/service/secure_storage/include
-		components/service/secure_storage/frontend/secure_storage_provider
-		components/service/secure_storage/backend/secure_flash_store
-		components/service/secure_storage/backend/secure_flash_store/flash_fs
-		components/service/secure_storage/backend/secure_flash_store/flash
-		components/service/secure_storage/factory/common/sfs
-		protocols/rpc/common/packed-c
-		protocols/service/secure_storage/packed-c
 		environments/opteesp
 )
 
-target_sources(internal-trusted-storage PRIVATE
-	sp.c
-)
+include(../internal-trusted-storage.cmake REQUIRED)
 
 target_compile_definitions(internal-trusted-storage PRIVATE
 	ARM64=1
 )
 
 target_include_directories(internal-trusted-storage PRIVATE
-	${TS_ROOT}
-	${TS_ROOT}/components
 	${TS_ROOT}/deployments/internal-trusted-storage/opteesp
 )
 
diff --git a/deployments/internal-trusted-storage/opteesp/optee_sp_user_defines.h b/deployments/internal-trusted-storage/opteesp/optee_sp_user_defines.h
index d86d29b..304748a 100644
--- a/deployments/internal-trusted-storage/opteesp/optee_sp_user_defines.h
+++ b/deployments/internal-trusted-storage/opteesp/optee_sp_user_defines.h
@@ -3,11 +3,12 @@
  * Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
  */
 
-#ifndef SP_HEADER_DEFINES_H
-#define SP_HEADER_DEFINES_H
+#ifndef OPTEE_SP_USER_DEFINES_H
+#define OPTEE_SP_USER_DEFINES_H
 
-/* To get UUID definition */
-#include "sp.h"
+#define OPTEE_SP_UUID \
+	{ 0xdc1eef48, 0xb17a, 0x4ccf, \
+		{ 0xac, 0x8b, 0xdf, 0xcf, 0xf7, 0x71, 0x1b, 0x14 } }
 
 #define OPTEE_SP_FLAGS			0
 
diff --git a/deployments/internal-trusted-storage/opteesp/sp.h b/deployments/internal-trusted-storage/opteesp/sp.h
deleted file mode 100644
index 5aa76c3..0000000
--- a/deployments/internal-trusted-storage/opteesp/sp.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#ifndef SP_H
-#define SP_H
-
-/* UUID for the Internal Trusted Store */
-#define OPTEE_SP_UUID \
-	{ 0xdc1eef48, 0xb17a, 0x4ccf, \
-		{ 0xac, 0x8b, 0xdf, 0xcf, 0xf7, 0x71, 0x1b, 0x14 } }
-
-#define SP_UUID_BYTES \
-	{ 0xdc, 0x1e, 0xef, 0x48, 0xb1, 0x7a, 0x4c, 0xcf, \
-	  0xac, 0x8b, 0xdf, 0xcf, 0xf7, 0x71, 0x1b, 0x14, }
-
-#endif /* SP_H */
diff --git a/deployments/protected-storage/opteesp/sp.c b/deployments/protected-storage/common/ps_sp.c
similarity index 95%
rename from deployments/protected-storage/opteesp/sp.c
rename to deployments/protected-storage/common/ps_sp.c
index af75d89..1b47710 100644
--- a/deployments/protected-storage/opteesp/sp.c
+++ b/deployments/protected-storage/common/ps_sp.c
@@ -1,10 +1,9 @@
 /*
- * Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
+ * Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
-#include "sp.h"
 #include <ffa_api.h>
 #include <components/rpc/common/endpoint/rpc_interface.h>
 #include <components/rpc/ffarpc/endpoint/ffarpc_call_ep.h>
diff --git a/deployments/protected-storage/common/ps_sp.h b/deployments/protected-storage/common/ps_sp.h
new file mode 100644
index 0000000..43e257f
--- /dev/null
+++ b/deployments/protected-storage/common/ps_sp.h
@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef PS_SP_H
+#define PS_SP_H
+
+#define PS_SP_UUID_BYTES \
+	{ 0x75, 0x1b, 0xf8, 0x01, 0x3d, 0xde, 0x47, 0x68, \
+	  0xa5, 0x14, 0x0f, 0x10, 0xae, 0xed, 0x17, 0x90 }
+
+#endif /* PS_SP_H */
diff --git a/deployments/protected-storage/opteesp/CMakeLists.txt b/deployments/protected-storage/opteesp/CMakeLists.txt
index 18df144..5ae11d8 100644
--- a/deployments/protected-storage/opteesp/CMakeLists.txt
+++ b/deployments/protected-storage/opteesp/CMakeLists.txt
@@ -24,37 +24,16 @@
 add_components(TARGET "protected-storage"
 	BASE_DIR ${TS_ROOT}
 	COMPONENTS
-		components/common/trace
-		components/common/utils
-		components/messaging/ffa/libsp
-		components/rpc/ffarpc/endpoint
-		components/rpc/common/interface
-		components/rpc/ffarpc/caller/sp
-		components/rpc/common/caller
-		components/service/common/include
-		components/service/common/client
-		components/service/common/provider
-		components/service/secure_storage/include
-		components/service/secure_storage/frontend/secure_storage_provider
-		components/service/secure_storage/backend/secure_storage_client
-		components/service/secure_storage/backend/null_store
-		components/service/secure_storage/factory/sp/optee_trusted_store
-		protocols/rpc/common/packed-c
-		protocols/service/secure_storage/packed-c
 		environments/opteesp
 )
 
-target_sources(protected-storage PRIVATE
-	sp.c
-)
+include(../protected-storage.cmake REQUIRED)
 
 target_compile_definitions(protected-storage PRIVATE
 	ARM64=1
 )
 
 target_include_directories(protected-storage PRIVATE
-	${TS_ROOT}
-	${TS_ROOT}/components
 	${TS_ROOT}/deployments/protected-storage/opteesp
 )
 
diff --git a/deployments/protected-storage/opteesp/optee_sp_user_defines.h b/deployments/protected-storage/opteesp/optee_sp_user_defines.h
index d86d29b..1da382a 100644
--- a/deployments/protected-storage/opteesp/optee_sp_user_defines.h
+++ b/deployments/protected-storage/opteesp/optee_sp_user_defines.h
@@ -3,11 +3,12 @@
  * Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
  */
 
-#ifndef SP_HEADER_DEFINES_H
-#define SP_HEADER_DEFINES_H
+#ifndef OPTEE_SP_USER_DEFINES_H
+#define OPTEE_SP_USER_DEFINES_H
 
-/* To get UUID definition */
-#include "sp.h"
+#define OPTEE_SP_UUID \
+	{ 0x751bf801, 0x3dde, 0x4768, \
+		{ 0xa5, 0x14, 0x0f, 0x10, 0xae, 0xed, 0x17, 0x90 } }
 
 #define OPTEE_SP_FLAGS			0
 
diff --git a/deployments/protected-storage/opteesp/sp.h b/deployments/protected-storage/opteesp/sp.h
deleted file mode 100644
index 3bb4484..0000000
--- a/deployments/protected-storage/opteesp/sp.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#ifndef SP_H
-#define SP_H
-
-/* UUID for the Protected Store */
-#define OPTEE_SP_UUID \
-	{ 0x751bf801, 0x3dde, 0x4768, \
-		{ 0xa5, 0x14, 0x0f, 0x10, 0xae, 0xed, 0x17, 0x90 } }
-
-#define SP_UUID_BYTES \
-	{ 0x75, 0x1b, 0xf8, 0x01, 0x3d, 0xde, 0x47, 0x68, \
-	  0xa5, 0x14, 0x0f, 0x10, 0xae, 0xed, 0x17, 0x90 }
-
-#endif /* SP_H */
diff --git a/deployments/protected-storage/protected-storage.cmake b/deployments/protected-storage/protected-storage.cmake
new file mode 100644
index 0000000..7b22bdb
--- /dev/null
+++ b/deployments/protected-storage/protected-storage.cmake
@@ -0,0 +1,37 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+add_components(TARGET "protected-storage"
+	BASE_DIR ${TS_ROOT}
+	COMPONENTS
+		components/common/trace
+		components/common/utils
+		components/messaging/ffa/libsp
+		components/rpc/ffarpc/endpoint
+		components/rpc/common/interface
+		components/rpc/ffarpc/caller/sp
+		components/rpc/common/caller
+		components/service/common/include
+		components/service/common/client
+		components/service/common/provider
+		components/service/secure_storage/include
+		components/service/secure_storage/frontend/secure_storage_provider
+		components/service/secure_storage/backend/secure_storage_client
+		components/service/secure_storage/backend/null_store
+		components/service/secure_storage/factory/sp/optee_trusted_store
+		protocols/rpc/common/packed-c
+		protocols/service/secure_storage/packed-c
+)
+
+target_sources(protected-storage PRIVATE
+	${CMAKE_CURRENT_LIST_DIR}/common/ps_sp.c
+)
+
+target_include_directories(protected-storage PRIVATE
+	${TS_ROOT}
+	${TS_ROOT}/components
+)
diff --git a/deployments/se-proxy/opteesp/se_proxy_sp.c b/deployments/se-proxy/common/se_proxy_sp.c
similarity index 100%
rename from deployments/se-proxy/opteesp/se_proxy_sp.c
rename to deployments/se-proxy/common/se_proxy_sp.c
diff --git a/deployments/se-proxy/common/se_proxy_sp.h b/deployments/se-proxy/common/se_proxy_sp.h
new file mode 100644
index 0000000..ee241b1
--- /dev/null
+++ b/deployments/se-proxy/common/se_proxy_sp.h
@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef SE_PROXY_SP_H
+#define SE_PROXY_SP_H
+
+#define SE_PROXY_SP_UUID_BYTES \
+	{0x46, 0xbb, 0x39, 0xd1, 0xb4, 0xd9, 0x45, 0xb5, \
+	 0x88, 0xff, 0x04, 0x00, 0x27, 0xda, 0xb2, 0x49}
+
+#endif /* SE_PROXY_SP_H */
diff --git a/deployments/se-proxy/opteesp/service_proxy_factory.c b/deployments/se-proxy/common/service_proxy_factory.c
similarity index 100%
rename from deployments/se-proxy/opteesp/service_proxy_factory.c
rename to deployments/se-proxy/common/service_proxy_factory.c
diff --git a/deployments/se-proxy/opteesp/service_proxy_factory.h b/deployments/se-proxy/common/service_proxy_factory.h
similarity index 100%
rename from deployments/se-proxy/opteesp/service_proxy_factory.h
rename to deployments/se-proxy/common/service_proxy_factory.h
diff --git a/deployments/se-proxy/opteesp/CMakeLists.txt b/deployments/se-proxy/opteesp/CMakeLists.txt
index 7812f32..8d6dcda 100644
--- a/deployments/se-proxy/opteesp/CMakeLists.txt
+++ b/deployments/se-proxy/opteesp/CMakeLists.txt
@@ -23,6 +23,7 @@
 target_include_directories(se-proxy PRIVATE "${TOP_LEVEL_INCLUDE_DIRS}")
 set(SP_UUID "46bb39d1-b4d9-45b5-88ff-040027dab249")
 set(SP_HEAP_SIZE "32 * 1024" CACHE STRING "SP heap size in bytes")
+set(TRACE_PREFIX "SEPROXY" CACHE STRING "Trace prefix")
 
 #-------------------------------------------------------------------------------
 #  Components that are specific to deployment in the opteesp environment.
@@ -31,59 +32,10 @@
 add_components(TARGET "se-proxy"
 	BASE_DIR ${TS_ROOT}
 	COMPONENTS
-		"components/common/fdt"
-		"components/common/trace"
-		"components/common/utils"
-		"protocols/rpc/common/packed-c"
-		"protocols/service/secure_storage/packed-c"
-		"protocols/service/crypto/protobuf"
 		"environments/opteesp"
-		"components/common/tlv"
-		"components/config/ramstore"
-		"components/config/loader/sp"
-		"components/messaging/ffa/libsp"
-		"components/rpc/ffarpc/endpoint"
-		"components/rpc/common/interface"
-		"components/rpc/common/demux"
-		"components/service/common/include"
-		"components/service/common/serializer/protobuf"
-		"components/service/common/client"
-		"components/service/common/provider"
-		"components/service/discovery/provider"
-		"components/service/discovery/provider/serializer/packed-c"
-		"components/service/crypto/include"
-		"components/service/crypto/provider"
-		"components/service/crypto/provider/serializer/protobuf"
-		"components/service/crypto/provider/serializer/packed-c"
-		"components/service/crypto/provider/extension/hash"
-		"components/service/crypto/provider/extension/hash/serializer/packed-c"
-		"components/service/crypto/provider/extension/cipher"
-		"components/service/crypto/provider/extension/cipher/serializer/packed-c"
-		"components/service/crypto/provider/extension/key_derivation"
-		"components/service/crypto/provider/extension/key_derivation/serializer/packed-c"
-		"components/service/crypto/provider/extension/mac"
-		"components/service/crypto/provider/extension/mac/serializer/packed-c"
-		"components/service/crypto/factory/full"
-		"components/service/secure_storage/include"
-		"components/service/secure_storage/frontend/secure_storage_provider"
-		"components/service/attestation/include"
-		"components/service/attestation/provider"
-		"components/service/attestation/provider/serializer/packed-c"
-
-		# Stub service provider backends
-		"components/rpc/dummy"
-		"components/rpc/common/caller"
-		"components/service/attestation/reporter/stub"
-		"components/service/attestation/key_mngr/stub"
-		"components/service/crypto/backend/stub"
-		"components/service/crypto/client/psa"
-		"components/service/secure_storage/backend/mock_store"
 )
 
-target_sources(se-proxy PRIVATE
-	se_proxy_sp.c
-	service_proxy_factory.c
-)
+include(../se-proxy.cmake REQUIRED)
 
 #-------------------------------------------------------------------------------
 #  Set target platform to provide drivers needed by the deployment
@@ -91,29 +43,12 @@
 #-------------------------------------------------------------------------------
 add_platform(TARGET "se-proxy")
 
-#-------------------------------------------------------------------------------
-#  Components used from external projects
-#
-#-------------------------------------------------------------------------------
-
-# Get libc include dir
-get_property(LIBC_INCLUDE_PATH TARGET c PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
-
-# Nanopb
-list(APPEND NANOPB_EXTERNAL_INCLUDE_PATHS ${LIBC_INCLUDE_PATH})
-include(../../../external/nanopb/nanopb.cmake)
-target_link_libraries(se-proxy PRIVATE nanopb::protobuf-nanopb-static)
-protobuf_generate_all(TGT "se-proxy" NAMESPACE "protobuf" BASE_DIR "${TS_ROOT}/protocols")
-
-#################################################################
 
 target_compile_definitions(se-proxy PRIVATE
 	ARM64=1
 )
 
 target_include_directories(se-proxy PRIVATE
-	${TS_ROOT}
-	${TS_ROOT}/components
 	${TS_ROOT}/deployments/se-proxy/opteesp
 )
 
diff --git a/deployments/se-proxy/opteesp/optee_sp_user_defines.h b/deployments/se-proxy/opteesp/optee_sp_user_defines.h
index bdeada3..9327e78 100644
--- a/deployments/se-proxy/opteesp/optee_sp_user_defines.h
+++ b/deployments/se-proxy/opteesp/optee_sp_user_defines.h
@@ -6,10 +6,10 @@
 #ifndef SP_HEADER_DEFINES_H
 #define SP_HEADER_DEFINES_H
 
-/* To get UUID definition */
-#include "se_proxy_sp.h"
+#define OPTEE_SP_UUID \
+	{0x46bb39d1, 0xb4d9, 0x45b5, \
+		{0x88, 0xff, 0x04, 0x00, 0x27, 0xda, 0xb2, 0x49}}
 
-#define OPTEE_SP_UUID				SE_PROXY_SP_UUID
 #define OPTEE_SP_FLAGS				0
 
 /* Provisioned stack size */
diff --git a/deployments/se-proxy/opteesp/se_proxy_sp.h b/deployments/se-proxy/opteesp/se_proxy_sp.h
deleted file mode 100644
index 74bbde4..0000000
--- a/deployments/se-proxy/opteesp/se_proxy_sp.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#ifndef SE_PROXY_SP_H
-#define SE_PROXY_SP_H
-
-#define SE_PROXY_SP_UUID \
-	 {0x46bb39d1, 0xb4d9, 0x45b5, \
-                {0x88, 0xff, 0x04, 0x00, 0x27, 0xda, 0xb2, 0x49}}
-
-#define SE_PROXY_SP_UUID_BYTES \
-	{0x46, 0xbb, 0x39, 0xd1, 0xb4, 0xd9, 0x45, 0xb5, \
-     0x88, 0xff, 0x04, 0x00, 0x27, 0xda, 0xb2, 0x49}
-
-#endif /* SE_PROXY_SP_H */
diff --git a/deployments/se-proxy/se-proxy.cmake b/deployments/se-proxy/se-proxy.cmake
new file mode 100644
index 0000000..50799f9
--- /dev/null
+++ b/deployments/se-proxy/se-proxy.cmake
@@ -0,0 +1,83 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+add_components(TARGET "se-proxy"
+	BASE_DIR ${TS_ROOT}
+	COMPONENTS
+		"components/common/fdt"
+		"components/common/trace"
+		"components/common/utils"
+		"protocols/rpc/common/packed-c"
+		"protocols/service/secure_storage/packed-c"
+		"protocols/service/crypto/protobuf"
+		"components/common/tlv"
+		"components/config/ramstore"
+		"components/config/loader/sp"
+		"components/messaging/ffa/libsp"
+		"components/rpc/ffarpc/endpoint"
+		"components/rpc/common/interface"
+		"components/rpc/common/demux"
+		"components/service/common/include"
+		"components/service/common/serializer/protobuf"
+		"components/service/common/client"
+		"components/service/common/provider"
+		"components/service/discovery/provider"
+		"components/service/discovery/provider/serializer/packed-c"
+		"components/service/crypto/include"
+		"components/service/crypto/provider"
+		"components/service/crypto/provider/serializer/protobuf"
+		"components/service/crypto/provider/serializer/packed-c"
+		"components/service/crypto/provider/extension/hash"
+		"components/service/crypto/provider/extension/hash/serializer/packed-c"
+		"components/service/crypto/provider/extension/cipher"
+		"components/service/crypto/provider/extension/cipher/serializer/packed-c"
+		"components/service/crypto/provider/extension/key_derivation"
+		"components/service/crypto/provider/extension/key_derivation/serializer/packed-c"
+		"components/service/crypto/provider/extension/mac"
+		"components/service/crypto/provider/extension/mac/serializer/packed-c"
+		"components/service/crypto/factory/full"
+		"components/service/secure_storage/include"
+		"components/service/secure_storage/frontend/secure_storage_provider"
+		"components/service/attestation/include"
+		"components/service/attestation/provider"
+		"components/service/attestation/provider/serializer/packed-c"
+
+		# Stub service provider backends
+		"components/rpc/dummy"
+		"components/rpc/common/caller"
+		"components/service/attestation/reporter/stub"
+		"components/service/attestation/key_mngr/stub"
+		"components/service/crypto/backend/stub"
+		"components/service/crypto/client/psa"
+		"components/service/secure_storage/backend/mock_store"
+)
+
+target_sources(se-proxy PRIVATE
+	${CMAKE_CURRENT_LIST_DIR}/common/se_proxy_sp.c
+	${CMAKE_CURRENT_LIST_DIR}/common/service_proxy_factory.c
+)
+
+#-------------------------------------------------------------------------------
+#  Components used from external projects
+#
+#-------------------------------------------------------------------------------
+
+# Get libc include dir
+get_property(LIBC_INCLUDE_PATH TARGET c PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
+
+# Nanopb
+list(APPEND NANOPB_EXTERNAL_INCLUDE_PATHS ${LIBC_INCLUDE_PATH})
+include(../../../external/nanopb/nanopb.cmake)
+target_link_libraries(se-proxy PRIVATE nanopb::protobuf-nanopb-static)
+protobuf_generate_all(TGT "se-proxy" NAMESPACE "protobuf" BASE_DIR "${TS_ROOT}/protocols")
+
+#################################################################
+
+target_include_directories(se-proxy PRIVATE
+	${TS_ROOT}
+	${TS_ROOT}/components
+)
diff --git a/deployments/sfs-demo/opteesp/sp.c b/deployments/sfs-demo/common/sfs_demo_sp.c
similarity index 97%
rename from deployments/sfs-demo/opteesp/sp.c
rename to deployments/sfs-demo/common/sfs_demo_sp.c
index 1f049ae..a26c181 100644
--- a/deployments/sfs-demo/opteesp/sp.c
+++ b/deployments/sfs-demo/common/sfs_demo_sp.c
@@ -1,10 +1,9 @@
 /*
- * Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
+ * Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
-#include "sp.h"
 #include <ffa_api.h>
 #include <components/rpc/ffarpc/caller/sp/ffarpc_caller.h>
 #include <components/service/secure_storage/frontend/psa/its/its_frontend.h>
diff --git a/deployments/sfs-demo/common/sfs_demo_sp.h b/deployments/sfs-demo/common/sfs_demo_sp.h
new file mode 100644
index 0000000..c9b4915
--- /dev/null
+++ b/deployments/sfs-demo/common/sfs_demo_sp.h
@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef SFS_DEMO_SP_H
+#define SFS_DEMO_SP_H
+
+#define SFS_DEMO_SP_UUID_BYTES \
+	{ 0x01, 0x10, 0x9c, 0xf8, 0xe5, 0xca, 0x44, 0x6f, \
+	  0x9b, 0x55, 0xf3, 0xcd, 0xc6, 0x51, 0x10, 0xc8, }
+
+#endif /* SFS_DEMO_SP_H */
diff --git a/deployments/sfs-demo/opteesp/CMakeLists.txt b/deployments/sfs-demo/opteesp/CMakeLists.txt
index 79539f6..6fe02ae 100644
--- a/deployments/sfs-demo/opteesp/CMakeLists.txt
+++ b/deployments/sfs-demo/opteesp/CMakeLists.txt
@@ -23,33 +23,16 @@
 add_components(TARGET "sfs-demo"
 	BASE_DIR ${TS_ROOT}
 	COMPONENTS
-		components/common/trace
-		components/common/utils
-		components/messaging/ffa/libsp
-		components/rpc/common/interface
-		components/rpc/common/caller
-		components/rpc/ffarpc/caller/sp
-		components/service/common/include
-		components/service/common/client
-		components/service/secure_storage/include
-		components/service/secure_storage/frontend/psa/its
-		components/service/secure_storage/backend/secure_storage_client
-		protocols/rpc/common/packed-c
-		protocols/service/secure_storage/packed-c
 		environments/opteesp
 )
 
-target_sources(sfs-demo PRIVATE
-	sp.c
-)
+include(../sfs-demo.cmake REQUIRED)
 
 target_compile_definitions(sfs-demo PRIVATE
 	ARM64=1
 )
 
 target_include_directories(sfs-demo PRIVATE
-	${TS_ROOT}
-	${TS_ROOT}/components
 	${TS_ROOT}/deployments/sfs-demo/opteesp
 )
 
diff --git a/deployments/sfs-demo/opteesp/optee_sp_user_defines.h b/deployments/sfs-demo/opteesp/optee_sp_user_defines.h
index d86d29b..b6a8929 100644
--- a/deployments/sfs-demo/opteesp/optee_sp_user_defines.h
+++ b/deployments/sfs-demo/opteesp/optee_sp_user_defines.h
@@ -2,12 +2,12 @@
 /*
  * Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
  */
+#ifndef OPTEE_SP_USER_DEFINES_H
+#define OPTEE_SP_USER_DEFINES_H
 
-#ifndef SP_HEADER_DEFINES_H
-#define SP_HEADER_DEFINES_H
-
-/* To get UUID definition */
-#include "sp.h"
+#define OPTEE_SP_UUID \
+	{ 0x01109cf8, 0xe5ca, 0x446f, \
+		{ 0x9b, 0x55, 0xf3, 0xcd, 0xc6, 0x51, 0x10, 0xc8 } }
 
 #define OPTEE_SP_FLAGS			0
 
diff --git a/deployments/sfs-demo/opteesp/sp.h b/deployments/sfs-demo/opteesp/sp.h
deleted file mode 100644
index 2b66c1c..0000000
--- a/deployments/sfs-demo/opteesp/sp.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#ifndef SP_H
-#define SP_H
-
-#define OPTEE_SP_UUID \
-	{ 0x01109cf8, 0xe5ca, 0x446f, \
-		{ 0x9b, 0x55, 0xf3, 0xcd, 0xc6, 0x51, 0x10, 0xc8 } }
-
-#define SP_UUID_BYTES \
-	{ 0x01, 0x10, 0x9c, 0xf8, 0xe5, 0xca, 0x44, 0x6f, \
-	  0x9b, 0x55, 0xf3, 0xcd, 0xc6, 0x51, 0x10, 0xc8, }
-
-#endif /* SP_H */
diff --git a/deployments/sfs-demo/sfs-demo.cmake b/deployments/sfs-demo/sfs-demo.cmake
new file mode 100644
index 0000000..bc1cf26
--- /dev/null
+++ b/deployments/sfs-demo/sfs-demo.cmake
@@ -0,0 +1,33 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+add_components(TARGET "sfs-demo"
+	BASE_DIR ${TS_ROOT}
+	COMPONENTS
+		components/common/trace
+		components/common/utils
+		components/messaging/ffa/libsp
+		components/rpc/common/interface
+		components/rpc/common/caller
+		components/rpc/ffarpc/caller/sp
+		components/service/common/include
+		components/service/common/client
+		components/service/secure_storage/include
+		components/service/secure_storage/frontend/psa/its
+		components/service/secure_storage/backend/secure_storage_client
+		protocols/rpc/common/packed-c
+		protocols/service/secure_storage/packed-c
+)
+
+target_sources(sfs-demo PRIVATE
+	${CMAKE_CURRENT_LIST_DIR}/common/sfs_demo_sp.c
+)
+
+target_include_directories(sfs-demo PRIVATE
+	${TS_ROOT}
+	${TS_ROOT}/components
+)
diff --git a/deployments/smm-gateway/smm_gateway.c b/deployments/smm-gateway/common/smm_gateway.c
similarity index 100%
rename from deployments/smm-gateway/smm_gateway.c
rename to deployments/smm-gateway/common/smm_gateway.c
diff --git a/deployments/smm-gateway/smm_gateway.h b/deployments/smm-gateway/common/smm_gateway.h
similarity index 100%
rename from deployments/smm-gateway/smm_gateway.h
rename to deployments/smm-gateway/common/smm_gateway.h
diff --git a/deployments/smm-gateway/opteesp/smm_gateway_sp.c b/deployments/smm-gateway/common/smm_gateway_sp.c
similarity index 96%
rename from deployments/smm-gateway/opteesp/smm_gateway_sp.c
rename to deployments/smm-gateway/common/smm_gateway_sp.c
index 6f13885..2187fea 100644
--- a/deployments/smm-gateway/opteesp/smm_gateway_sp.c
+++ b/deployments/smm-gateway/common/smm_gateway_sp.c
@@ -1,10 +1,10 @@
 // SPDX-License-Identifier: BSD-3-Clause
 /*
- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
+ * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
  */
 
 #include <rpc/ffarpc/endpoint/ffarpc_call_ep.h>
-#include <deployments/smm-gateway/smm_gateway.h>
+#include "smm_gateway.h"
 #include <config/ramstore/config_ramstore.h>
 #include "config/interface/config_store.h"
 #include <config/loader/sp/sp_config_loader.h>
diff --git a/deployments/smm-gateway/common/smm_gateway_sp.h b/deployments/smm-gateway/common/smm_gateway_sp.h
new file mode 100644
index 0000000..13317e7
--- /dev/null
+++ b/deployments/smm-gateway/common/smm_gateway_sp.h
@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef SMM_GATEWAY_SP_H
+#define SMM_GATEWAY_SP_H
+
+#define SMM_GATEWAY_UUID_BYTES \
+	{0xed, 0x32, 0xd5, 0x33, 0x99, 0xe6, 0x42, 0x09, \
+	 0x9c, 0xc0, 0x2d, 0x72, 0xcd, 0xd9, 0x98, 0xa7}
+
+#endif /* SMM_GATEWAY_SP_H */
diff --git a/deployments/smm-gateway/opteesp/CMakeLists.txt b/deployments/smm-gateway/opteesp/CMakeLists.txt
index ab471e2..0462699 100644
--- a/deployments/smm-gateway/opteesp/CMakeLists.txt
+++ b/deployments/smm-gateway/opteesp/CMakeLists.txt
@@ -22,6 +22,7 @@
 target_include_directories(smm-gateway PRIVATE "${TOP_LEVEL_INCLUDE_DIRS}")
 set(SP_UUID "ed32d533-99e6-4209-9cc0-2d72cdd998a7")
 set(SP_HEAP_SIZE "32 * 1024" CACHE STRING "SP heap size in bytes")
+set(TRACE_PREFIX "SMMGW" CACHE STRING "Trace prefix")
 
 # Setting the MM communication buffer parameters
 set(MM_COMM_BUFFER_ADDRESS "0x00000008 0x81000000" CACHE STRING "Address of MM communicte buffer in 64 bit DTS format")
@@ -34,40 +35,10 @@
 add_components(TARGET "smm-gateway"
 	BASE_DIR ${TS_ROOT}
 	COMPONENTS
-		"components/common/fdt"
-		"components/common/trace"
-		"components/common/utils"
-		"components/common/uuid"
-		"components/config/ramstore"
-		"components/config/loader/sp"
-		"components/messaging/ffa/libsp"
-		"components/rpc/ffarpc/endpoint"
-		"components/rpc/ffarpc/caller/sp"
-		"components/rpc/mm_communicate/endpoint/sp"
-		"components/rpc/common/caller"
-		"components/rpc/common/interface"
-		"components/service/common/include"
-		"components/service/common/client"
-		"components/service/common/provider"
-		"components/service/locator"
-		"components/service/locator/interface"
-		"components/service/locator/sp"
-		"components/service/locator/sp/ffa"
-		"components/service/smm_variable/backend"
-		"components/service/smm_variable/frontend/mm_communicate"
-		"components/service/smm_variable/provider"
-		"components/service/secure_storage/include"
-		"components/service/secure_storage/backend/secure_storage_client"
-		"components/service/secure_storage/backend/mock_store"
-		"protocols/rpc/common/packed-c"
-		"protocols/service/secure_storage/packed-c"
 		"environments/opteesp"
 )
 
-target_sources(smm-gateway PRIVATE
-	smm_gateway_sp.c
-	../smm_gateway.c
-)
+include(../smm-gateway.cmake REQUIRED)
 
 #-------------------------------------------------------------------------------
 #  Set target platform to provide drivers needed by the deployment
@@ -82,8 +53,6 @@
 )
 
 target_include_directories(smm-gateway PRIVATE
-	${TS_ROOT}
-	${TS_ROOT}/components
 	${TS_ROOT}/deployments/smm-gateway/opteesp
 )
 
diff --git a/deployments/smm-gateway/opteesp/optee_sp_user_defines.h b/deployments/smm-gateway/opteesp/optee_sp_user_defines.h
index dd257fa..f4dde2b 100644
--- a/deployments/smm-gateway/opteesp/optee_sp_user_defines.h
+++ b/deployments/smm-gateway/opteesp/optee_sp_user_defines.h
@@ -6,10 +6,10 @@
 #ifndef SP_HEADER_DEFINES_H
 #define SP_HEADER_DEFINES_H
 
-/* To get UUID definition */
-#include "smm_gateway_sp.h"
+#define OPTEE_SP_UUID \
+	{0xed32d533, 0x99e6, 0x4209, \
+		{ 0x9c, 0xc0, 0x2d, 0x72, 0xcd, 0xd9, 0x98, 0xa7 }}
 
-#define OPTEE_SP_UUID				SMM_GATEWAY_UUID
 #define OPTEE_SP_FLAGS				0
 
 /* Provisioned stack size */
diff --git a/deployments/smm-gateway/opteesp/smm_gateway_sp.h b/deployments/smm-gateway/opteesp/smm_gateway_sp.h
deleted file mode 100644
index dd6c413..0000000
--- a/deployments/smm-gateway/opteesp/smm_gateway_sp.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#ifndef SMM_GATEWAY_SP_H
-#define SMM_GATEWAY_SP_H
-
-#define SMM_GATEWAY_UUID \
-	 {0xed32d533, 0x99e6, 0x4209, \
-		     { 0x9c, 0xc0, 0x2d, 0x72, 0xcd, 0xd9, 0x98, 0xa7 }}
-
-#define SMM_GATEWAY_UUID_BYTES \
-	{0xed, 0x32, 0xd5, 0x33, 0x99, 0xe6, 0x42, 0x09, \
-	 0x9c, 0xc0, 0x2d, 0x72, 0xcd, 0xd9, 0x98, 0xa7}
-
-#endif /* SMM_GATEWAY_SP_H */
diff --git a/deployments/smm-gateway/smm-gateway.cmake b/deployments/smm-gateway/smm-gateway.cmake
new file mode 100644
index 0000000..70cb805
--- /dev/null
+++ b/deployments/smm-gateway/smm-gateway.cmake
@@ -0,0 +1,48 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+add_components(TARGET "smm-gateway"
+	BASE_DIR ${TS_ROOT}
+	COMPONENTS
+		"components/common/fdt"
+		"components/common/trace"
+		"components/common/utils"
+		"components/common/uuid"
+		"components/config/ramstore"
+		"components/config/loader/sp"
+		"components/messaging/ffa/libsp"
+		"components/rpc/ffarpc/endpoint"
+		"components/rpc/ffarpc/caller/sp"
+		"components/rpc/mm_communicate/endpoint/sp"
+		"components/rpc/common/caller"
+		"components/rpc/common/interface"
+		"components/service/common/include"
+		"components/service/common/client"
+		"components/service/common/provider"
+		"components/service/locator"
+		"components/service/locator/interface"
+		"components/service/locator/sp"
+		"components/service/locator/sp/ffa"
+		"components/service/smm_variable/backend"
+		"components/service/smm_variable/frontend/mm_communicate"
+		"components/service/smm_variable/provider"
+		"components/service/secure_storage/include"
+		"components/service/secure_storage/backend/secure_storage_client"
+		"components/service/secure_storage/backend/mock_store"
+		"protocols/rpc/common/packed-c"
+		"protocols/service/secure_storage/packed-c"
+)
+
+target_sources(smm-gateway PRIVATE
+	${CMAKE_CURRENT_LIST_DIR}/common/smm_gateway_sp.c
+	${CMAKE_CURRENT_LIST_DIR}/common/smm_gateway.c
+)
+
+target_include_directories(smm-gateway PRIVATE
+	${TS_ROOT}
+	${TS_ROOT}/components
+)
