diff --git a/components/service/spm_test/spm_test.cmake b/components/service/spm_test/spm_test.cmake
index d1e0553..c595370 100644
--- a/components/service/spm_test/spm_test.cmake
+++ b/components/service/spm_test/spm_test.cmake
@@ -66,7 +66,6 @@
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
 	SP_BIN_UUID_CANON ${SP_BIN_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME "spm-test${SP_NUMBER}"
 	MK_IN ${TS_ROOT}/environments/opteesp/sp.mk.in
 	DTS_IN ${TS_ROOT}/deployments/spm-test${SP_NUMBER}/opteesp/default_spm_test${SP_NUMBER}.dts.in
diff --git a/deployments/attestation/config/default-opteesp/CMakeLists.txt b/deployments/attestation/config/default-opteesp/CMakeLists.txt
index 0fbc28f..4d3011f 100644
--- a/deployments/attestation/config/default-opteesp/CMakeLists.txt
+++ b/deployments/attestation/config/default-opteesp/CMakeLists.txt
@@ -87,7 +87,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME "attestation"
 	MK_IN ${TS_ROOT}/environments/opteesp/sp.mk.in
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_attestation.dts.in
diff --git a/deployments/attestation/config/default-sp/CMakeLists.txt b/deployments/attestation/config/default-sp/CMakeLists.txt
index 3c7ccd7..a1063ba 100644
--- a/deployments/attestation/config/default-sp/CMakeLists.txt
+++ b/deployments/attestation/config/default-sp/CMakeLists.txt
@@ -89,7 +89,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME ${SP_NAME}
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_${SP_NAME}.dts.in
 	DTS_MEM_REGIONS ${SP_UUID_CANON}_memory_regions.dtsi
diff --git a/deployments/block-storage/config/cfi-flash-optee/CMakeLists.txt b/deployments/block-storage/config/cfi-flash-optee/CMakeLists.txt
index e85701e..0229b5d 100644
--- a/deployments/block-storage/config/cfi-flash-optee/CMakeLists.txt
+++ b/deployments/block-storage/config/cfi-flash-optee/CMakeLists.txt
@@ -92,7 +92,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME "block-storage"
 	MK_IN ${TS_ROOT}/environments/opteesp/sp.mk.in
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_block-storage.dts.in
diff --git a/deployments/block-storage/config/default-opteesp/CMakeLists.txt b/deployments/block-storage/config/default-opteesp/CMakeLists.txt
index 5ed976d..17cbf68 100644
--- a/deployments/block-storage/config/default-opteesp/CMakeLists.txt
+++ b/deployments/block-storage/config/default-opteesp/CMakeLists.txt
@@ -70,7 +70,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME "block-storage"
 	MK_IN ${TS_ROOT}/environments/opteesp/sp.mk.in
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_block-storage.dts.in
diff --git a/deployments/block-storage/config/default-sp/CMakeLists.txt b/deployments/block-storage/config/default-sp/CMakeLists.txt
index 626cb0c..f765cf8 100644
--- a/deployments/block-storage/config/default-sp/CMakeLists.txt
+++ b/deployments/block-storage/config/default-sp/CMakeLists.txt
@@ -77,7 +77,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake REQUIRED)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME ${SP_NAME}
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_${SP_NAME}.dts.in
 	DTS_MEM_REGIONS ${SP_UUID_CANON}_memory_regions.dtsi
diff --git a/deployments/block-storage/config/edk2-secure-flash-opteesp/CMakeLists.txt b/deployments/block-storage/config/edk2-secure-flash-opteesp/CMakeLists.txt
index 44b6d3c..60d2403 100644
--- a/deployments/block-storage/config/edk2-secure-flash-opteesp/CMakeLists.txt
+++ b/deployments/block-storage/config/edk2-secure-flash-opteesp/CMakeLists.txt
@@ -93,7 +93,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME "block-storage"
 	MK_IN ${TS_ROOT}/environments/opteesp/sp.mk.in
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_block-storage.dts.in
diff --git a/deployments/block-storage/config/semihosted-opteesp/CMakeLists.txt b/deployments/block-storage/config/semihosted-opteesp/CMakeLists.txt
index 898416f..f6463cd 100644
--- a/deployments/block-storage/config/semihosted-opteesp/CMakeLists.txt
+++ b/deployments/block-storage/config/semihosted-opteesp/CMakeLists.txt
@@ -89,7 +89,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME "block-storage"
 	MK_IN ${TS_ROOT}/environments/opteesp/sp.mk.in
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_block-storage.dts.in
diff --git a/deployments/crypto/config/default-opteesp/CMakeLists.txt b/deployments/crypto/config/default-opteesp/CMakeLists.txt
index dba9c1c..1301b1f 100644
--- a/deployments/crypto/config/default-opteesp/CMakeLists.txt
+++ b/deployments/crypto/config/default-opteesp/CMakeLists.txt
@@ -88,7 +88,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME "crypto"
 	MK_IN ${TS_ROOT}/environments/opteesp/sp.mk.in
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_crypto.dts.in
diff --git a/deployments/crypto/config/default-sp/CMakeLists.txt b/deployments/crypto/config/default-sp/CMakeLists.txt
index 964fd60..df6080f 100644
--- a/deployments/crypto/config/default-sp/CMakeLists.txt
+++ b/deployments/crypto/config/default-sp/CMakeLists.txt
@@ -90,7 +90,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake REQUIRED)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME ${SP_NAME}
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_${SP_NAME}.dts.in
 	DTS_MEM_REGIONS ${SP_UUID_CANON}_memory_regions.dtsi
diff --git a/deployments/env-test/config/baremetal-fvp_base_revc-opteesp/CMakeLists.txt b/deployments/env-test/config/baremetal-fvp_base_revc-opteesp/CMakeLists.txt
index 8e80a01..959f158 100644
--- a/deployments/env-test/config/baremetal-fvp_base_revc-opteesp/CMakeLists.txt
+++ b/deployments/env-test/config/baremetal-fvp_base_revc-opteesp/CMakeLists.txt
@@ -88,7 +88,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME "env-test"
 	MK_IN ${TS_ROOT}/environments/opteesp/sp.mk.in
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_env-test.dts.in
diff --git a/deployments/env-test/config/baremetal-fvp_base_revc-sp/CMakeLists.txt b/deployments/env-test/config/baremetal-fvp_base_revc-sp/CMakeLists.txt
index 85e325f..a26d5c2 100644
--- a/deployments/env-test/config/baremetal-fvp_base_revc-sp/CMakeLists.txt
+++ b/deployments/env-test/config/baremetal-fvp_base_revc-sp/CMakeLists.txt
@@ -82,7 +82,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake REQUIRED)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME ${SP_NAME}
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_${SP_NAME}.dts.in
 	DTS_MEM_REGIONS ${SP_UUID_CANON}_memory_regions.dtsi
diff --git a/deployments/env-test/config/n1sdp-opteesp/CMakeLists.txt b/deployments/env-test/config/n1sdp-opteesp/CMakeLists.txt
index 7000a08..5954385 100644
--- a/deployments/env-test/config/n1sdp-opteesp/CMakeLists.txt
+++ b/deployments/env-test/config/n1sdp-opteesp/CMakeLists.txt
@@ -81,7 +81,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME "env-test"
 	MK_IN ${TS_ROOT}/environments/opteesp/sp.mk.in
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_env-test.dts.in
diff --git a/deployments/fwu/config/default-opteesp/CMakeLists.txt b/deployments/fwu/config/default-opteesp/CMakeLists.txt
index 713eb4f..98c35d9 100644
--- a/deployments/fwu/config/default-opteesp/CMakeLists.txt
+++ b/deployments/fwu/config/default-opteesp/CMakeLists.txt
@@ -87,7 +87,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME "fwu"
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_fwu.dts.in
 	JSON_IN ${TS_ROOT}/environments/opteesp/sp_pkg.json.in
diff --git a/deployments/fwu/config/default-sp/CMakeLists.txt b/deployments/fwu/config/default-sp/CMakeLists.txt
index dcc62da..c488a2f 100644
--- a/deployments/fwu/config/default-sp/CMakeLists.txt
+++ b/deployments/fwu/config/default-sp/CMakeLists.txt
@@ -24,7 +24,6 @@
 target_include_directories(fwu PRIVATE "${TOP_LEVEL_INCLUDE_DIRS}")
 set(SP_NAME "fwu")
 set(SP_UUID_CANON "6823a838-1b06-470e-9774-0cce8bfb53fd")
-set(SP_UUID_LE "0x38a82368 0x0e47061b 0xce0c7497 0xfd53fb8b")
 set(SP_STACK_SIZE "64 * 1024" CACHE STRING "Stack size")
 set(SP_HEAP_SIZE "32 * 1024" CACHE STRING "Heap size")
 
@@ -89,7 +88,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME ${SP_NAME}
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_${SP_NAME}.dts.in
 	DTS_MEM_REGIONS ${SP_UUID_CANON}_memory_regions.dtsi
diff --git a/deployments/internal-trusted-storage/config/default-opteesp/CMakeLists.txt b/deployments/internal-trusted-storage/config/default-opteesp/CMakeLists.txt
index ef31662..1e141ec 100644
--- a/deployments/internal-trusted-storage/config/default-opteesp/CMakeLists.txt
+++ b/deployments/internal-trusted-storage/config/default-opteesp/CMakeLists.txt
@@ -70,7 +70,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME "internal-trusted-storage"
 	MK_IN ${TS_ROOT}/environments/opteesp/sp.mk.in
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_internal-trusted-storage.dts.in
diff --git a/deployments/internal-trusted-storage/config/default-sp/CMakeLists.txt b/deployments/internal-trusted-storage/config/default-sp/CMakeLists.txt
index e04a183..3627493 100644
--- a/deployments/internal-trusted-storage/config/default-sp/CMakeLists.txt
+++ b/deployments/internal-trusted-storage/config/default-sp/CMakeLists.txt
@@ -21,7 +21,6 @@
 target_include_directories(internal-trusted-storage PRIVATE "${TOP_LEVEL_INCLUDE_DIRS}")
 set(SP_NAME "internal-trusted-storage")
 set(SP_UUID_CANON "dc1eef48-b17a-4ccf-ac8b-dfcff7711b14")
-set(SP_UUID_LE "0x48ef1edc 0xcf4c7ab1 0xcfdf8bac 0x141b71f7")
 set(TRACE_PREFIX "ITS" CACHE STRING "Trace prefix")
 set(SP_STACK_SIZE "64 * 1024" CACHE STRING "Stack size")
 set(SP_HEAP_SIZE "32 * 1024" CACHE STRING "Heap size")
@@ -77,7 +76,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake REQUIRED)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME ${SP_NAME}
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_${SP_NAME}.dts.in
 	DTS_MEM_REGIONS ${SP_UUID_CANON}_memory_regions.dtsi
diff --git a/deployments/internal-trusted-storage/config/shared-flash-opteesp/CMakeLists.txt b/deployments/internal-trusted-storage/config/shared-flash-opteesp/CMakeLists.txt
index fab64ce..3d99833 100644
--- a/deployments/internal-trusted-storage/config/shared-flash-opteesp/CMakeLists.txt
+++ b/deployments/internal-trusted-storage/config/shared-flash-opteesp/CMakeLists.txt
@@ -70,7 +70,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME "internal-trusted-storage"
 	MK_IN ${TS_ROOT}/environments/opteesp/sp.mk.in
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_internal-trusted-storage.dts.in
diff --git a/deployments/protected-storage/config/default-opteesp/CMakeLists.txt b/deployments/protected-storage/config/default-opteesp/CMakeLists.txt
index 00f13d4..71ec4a3 100644
--- a/deployments/protected-storage/config/default-opteesp/CMakeLists.txt
+++ b/deployments/protected-storage/config/default-opteesp/CMakeLists.txt
@@ -69,7 +69,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME "protected-storage"
 	MK_IN ${TS_ROOT}/environments/opteesp/sp.mk.in
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_protected-storage.dts.in
diff --git a/deployments/protected-storage/config/default-sp/CMakeLists.txt b/deployments/protected-storage/config/default-sp/CMakeLists.txt
index 3bae2c9..75ea700 100644
--- a/deployments/protected-storage/config/default-sp/CMakeLists.txt
+++ b/deployments/protected-storage/config/default-sp/CMakeLists.txt
@@ -21,7 +21,6 @@
 target_include_directories(protected-storage PRIVATE "${TOP_LEVEL_INCLUDE_DIRS}")
 set(SP_NAME "protected-storage")
 set(SP_UUID_CANON "751bf801-3dde-4768-a514-0f10aeed1790")
-set(SP_UUID_LE "0x01f81b75 0x6847de3d 0x100f14a5 0x9017edae")
 set(TRACE_PREFIX "PS" CACHE STRING "Trace prefix")
 set(SP_STACK_SIZE "64 * 1024" CACHE STRING "Stack size")
 set(SP_HEAP_SIZE "32 * 1024" CACHE STRING "Heap size")
@@ -77,7 +76,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake REQUIRED)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME ${SP_NAME}
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_${SP_NAME}.dts.in
 	DTS_MEM_REGIONS ${SP_UUID_CANON}_memory_regions.dtsi
diff --git a/deployments/protected-storage/config/shared-flash-opteesp/CMakeLists.txt b/deployments/protected-storage/config/shared-flash-opteesp/CMakeLists.txt
index df58fa3..c9ecf3a 100644
--- a/deployments/protected-storage/config/shared-flash-opteesp/CMakeLists.txt
+++ b/deployments/protected-storage/config/shared-flash-opteesp/CMakeLists.txt
@@ -69,7 +69,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME "protected-storage"
 	MK_IN ${TS_ROOT}/environments/opteesp/sp.mk.in
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_protected-storage.dts.in
diff --git a/deployments/se-proxy/config/corstone1000-opteesp/CMakeLists.txt b/deployments/se-proxy/config/corstone1000-opteesp/CMakeLists.txt
index 6294abf..8b2e1bd 100644
--- a/deployments/se-proxy/config/corstone1000-opteesp/CMakeLists.txt
+++ b/deployments/se-proxy/config/corstone1000-opteesp/CMakeLists.txt
@@ -80,7 +80,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME "se-proxy"
 	MK_IN ${TS_ROOT}/environments/opteesp/sp.mk.in
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_se-proxy.dts.in
diff --git a/deployments/se-proxy/config/default-opteesp/CMakeLists.txt b/deployments/se-proxy/config/default-opteesp/CMakeLists.txt
index d5d85d6..acd2fd2 100644
--- a/deployments/se-proxy/config/default-opteesp/CMakeLists.txt
+++ b/deployments/se-proxy/config/default-opteesp/CMakeLists.txt
@@ -82,7 +82,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME "se-proxy"
 	MK_IN ${TS_ROOT}/environments/opteesp/sp.mk.in
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_se-proxy.dts.in
diff --git a/deployments/se-proxy/config/default-sp/CMakeLists.txt b/deployments/se-proxy/config/default-sp/CMakeLists.txt
index f6c1f0d..04c40d0 100644
--- a/deployments/se-proxy/config/default-sp/CMakeLists.txt
+++ b/deployments/se-proxy/config/default-sp/CMakeLists.txt
@@ -25,7 +25,6 @@
 target_include_directories(se-proxy PRIVATE "${TOP_LEVEL_INCLUDE_DIRS}")
 set(SP_NAME "se-proxy")
 set(SP_UUID_CANON "46bb39d1-b4d9-45b5-88ff-040027dab249")
-set(SP_UUID_LE "0xd139bb46 0xb545d9b4 0x0004ff88 0x49b2da27")
 set(TRACE_PREFIX "SEPROXY" CACHE STRING "Trace prefix")
 set(SP_STACK_SIZE "64 * 1024" CACHE STRING "Stack size")
 set(SP_HEAP_SIZE "32 * 1024" CACHE STRING "Heap size")
@@ -84,7 +83,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake REQUIRED)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME ${SP_NAME}
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_${SP_NAME}.dts.in
 	DTS_MEM_REGIONS ${SP_UUID_CANON}_memory_regions.dtsi
diff --git a/deployments/sfs-demo/opteesp/CMakeLists.txt b/deployments/sfs-demo/opteesp/CMakeLists.txt
index de886bb..22b624c 100644
--- a/deployments/sfs-demo/opteesp/CMakeLists.txt
+++ b/deployments/sfs-demo/opteesp/CMakeLists.txt
@@ -55,7 +55,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME "sfs-demo"
 	MK_IN ${TS_ROOT}/environments/opteesp/sp.mk.in
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_sfs-demo.dts.in
diff --git a/deployments/sfs-demo/sp/CMakeLists.txt b/deployments/sfs-demo/sp/CMakeLists.txt
index 6e24288..ba68f5a 100644
--- a/deployments/sfs-demo/sp/CMakeLists.txt
+++ b/deployments/sfs-demo/sp/CMakeLists.txt
@@ -21,7 +21,6 @@
 target_include_directories(sfs-demo PRIVATE "${TOP_LEVEL_INCLUDE_DIRS}")
 set(SP_NAME "sfs-demo")
 set(SP_UUID_CANON "01109cf8-e5ca-446f-9b55-f3cdc65110c8")
-set(SP_UUID_LE "0xf89c1001 0x6f44cae5 0xcdf3559b 0xc81051c6")
 set(TRACE_PREFIX "SFSDEMO" CACHE STRING "Trace prefix")
 set(SP_STACK_SIZE "64 * 1024" CACHE STRING "Stack size")
 set(SP_HEAP_SIZE "32 * 1024" CACHE STRING "Heap size")
@@ -63,7 +62,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake REQUIRED)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME ${SP_NAME}
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_${SP_NAME}.dts.in
 	DTS_MEM_REGIONS ${SP_UUID_CANON}_memory_regions.dtsi
diff --git a/deployments/smm-gateway/config/default-opteesp/CMakeLists.txt b/deployments/smm-gateway/config/default-opteesp/CMakeLists.txt
index f9dffff..03e2e75 100644
--- a/deployments/smm-gateway/config/default-opteesp/CMakeLists.txt
+++ b/deployments/smm-gateway/config/default-opteesp/CMakeLists.txt
@@ -85,7 +85,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME "smm-gateway"
 	MK_IN ${TS_ROOT}/environments/opteesp/sp.mk.in
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_smm-gateway.dts.in
diff --git a/deployments/smm-gateway/config/default-sp/CMakeLists.txt b/deployments/smm-gateway/config/default-sp/CMakeLists.txt
index d313461..0455619 100644
--- a/deployments/smm-gateway/config/default-sp/CMakeLists.txt
+++ b/deployments/smm-gateway/config/default-sp/CMakeLists.txt
@@ -24,7 +24,6 @@
 target_include_directories(smm-gateway PRIVATE "${TOP_LEVEL_INCLUDE_DIRS}")
 set(SP_NAME "smm-gateway")
 set(SP_UUID_CANON "ed32d533-99e6-4209-9cc0-2d72cdd998a7")
-set(SP_UUID_LE "0x33d532ed 0x0942e699 0x722dc09c 0xa798d9cd")
 set(TRACE_PREFIX "SMMGW" CACHE STRING "Trace prefix")
 set(SP_STACK_SIZE "64 * 1024" CACHE STRING "Stack size")
 set(SP_HEAP_SIZE "32 * 1024" CACHE STRING "Heap size")
@@ -87,7 +86,6 @@
 include(${TS_ROOT}/tools/cmake/common/ExportSp.cmake REQUIRED)
 export_sp(
 	SP_UUID_CANON ${SP_UUID_CANON}
-	SP_UUID_LE ${SP_UUID_LE}
 	SP_NAME ${SP_NAME}
 	DTS_IN ${CMAKE_CURRENT_LIST_DIR}/default_${SP_NAME}.dts.in
 	DTS_MEM_REGIONS ${SP_UUID_CANON}_memory_regions.dtsi
diff --git a/environments/opteesp/component.cmake b/environments/opteesp/component.cmake
index 56fc297..36cbc20 100644
--- a/environments/opteesp/component.cmake
+++ b/environments/opteesp/component.cmake
@@ -31,9 +31,8 @@
 	include(${TS_ROOT}/tools/cmake/common/TargetCompileDefinitions.cmake)
 	set_target_uuids(
 		SP_UUID ${SP_UUID_CANON}
-		SP_NAME ${SP_NAME}
+		TGT ${SP_NAME}
 	)
-	set(SP_UUID_LE ${SP_UUID_LE} CACHE STRING "SP_FFA_UUID_CANON in litte endian binary format")
 endif()
 
 target_sources(${TGT} PRIVATE
diff --git a/tools/cmake/common/ExportSp.cmake b/tools/cmake/common/ExportSp.cmake
index bad02b2..1c6d9db 100644
--- a/tools/cmake/common/ExportSp.cmake
+++ b/tools/cmake/common/ExportSp.cmake
@@ -5,6 +5,8 @@
 #
 #-------------------------------------------------------------------------------
 
+include(${CMAKE_CURRENT_LIST_DIR}/Uuid.cmake)
+
 #[===[.rst:
 .. cmake:command:: export_sp
 
@@ -12,7 +14,6 @@
 
 		export_sp(
 			SP_UUID_CANON <uuid_str_canon>
-			SP_UUID_LE <uuid_le_bytes>
 			SP_NAME <name> MK_IN <.mk path>
 			DTS_IN <DTS path>
 			DTS_MEM_REGIONS <Memory region manifest path>
@@ -28,9 +29,6 @@
 	The UUID of the SP binary a canonical string. When not set use the
 	SP_UUID_CANON as the SP_BIN_UUID_CANON.
 
-	``SP_UUID_LE``
-	The UUID of the SP as four 32 bit little-endian unsigned integers.
-
 	``SP_NAME``
 	The name of the SP.
 
@@ -61,9 +59,6 @@
 		# We use the same UUID for the binary and FF-A if the UUID of the SP binary is not set
 		set(EXPORT_SP_BIN_UUID_CANON ${EXPORT_SP_UUID_CANON})
 	endif()
-	if(NOT DEFINED EXPORT_SP_UUID_LE)
-		message(FATAL_ERROR "export_sp: mandatory parameter SP_UUID_LE not defined!")
-	endif()
 	if(NOT DEFINED EXPORT_SP_NAME)
 		message(FATAL_ERROR "export_sp: mandatory parameter SP_NAME not defined!")
 	endif()
@@ -77,7 +72,11 @@
 	endif()
 
 	# In the SP manifest DT the UUID format is four uint32 numbers (little-endian)
-	set(EXPORT_SP_UUID_DT "${EXPORT_SP_UUID_LE}")
+	# Create a litte endian 4 digit octests representation.
+	uuid_canon_to_le_words(UUID ${EXPORT_SP_UUID_CANON} RES _le_words)
+	list(JOIN _le_words " 0x" _uuid_le)
+	set(SP_UUID_LE " 0x${_uuid_le}" PARENT_SCOPE)
+	set(EXPORT_SP_UUID_DT " 0x${_uuid_le}")
 
 	# As the .dtsi is meant to be included in .dts file, it shouldn't contain a separate
 	# /dts-v1/ tag and its node should be unique, i.e. the SP name.
diff --git a/tools/cmake/common/TargetCompileDefinitions.cmake b/tools/cmake/common/TargetCompileDefinitions.cmake
index f401a40..069c382 100644
--- a/tools/cmake/common/TargetCompileDefinitions.cmake
+++ b/tools/cmake/common/TargetCompileDefinitions.cmake
@@ -4,57 +4,8 @@
 # SPDX-License-Identifier: BSD-3-Clause
 #
 #-------------------------------------------------------------------------------
-macro(generate_uuid_formats uuid)
-	#Create a list of byte
-	string(REGEX MATCHALL "([A-Za-z0-9][A-Za-z0-9])" SEPARATED_HEX "${uuid}")
-	list(JOIN SEPARATED_HEX ", 0x" UUID_BYTES )
-	#Generate the uuid_byte string
-	#{ 0x01, 0x10, 0x9c, 0xf8, 0xe5, 0xca, 0x44, 0x6f,
-	# 0x9b, 0x55, 0xf3, 0xcd, 0xc6, 0x51, 0x10, 0xc8, }
 
-	string(PREPEND UUID_BYTES "{0x")
-	string(APPEND UUID_BYTES "}")
-
-	#Split the list of bytes in to the struct fields
-	list(SUBLIST SEPARATED_HEX 0 4 uuid_timeLow)
-	list(SUBLIST SEPARATED_HEX 4 2 uuid_timeMid)
-	list(SUBLIST SEPARATED_HEX 6 2 uuid_timeHiAndVersion)
-	list(SUBLIST SEPARATED_HEX 8 8 uuid_clockSeqAndNode)
-
-	#Combine the bytes in the fields
-	list(JOIN uuid_timeLow "" uuid_timeLow )
-	string(PREPEND uuid_timeLow "0x")
-
-	list(JOIN uuid_timeMid "" uuid_timeMid )
-	string(PREPEND uuid_timeMid " 0x")
-
-	list(JOIN uuid_timeHiAndVersion "" uuid_timeHiAndVersion )
-	string(PREPEND uuid_timeHiAndVersion " 0x")
-
-	list(JOIN uuid_clockSeqAndNode ", 0x" uuid_clockSeqAndNode )
-	string(PREPEND uuid_clockSeqAndNode " 0x")
-
-	#Combine the different fields into one uuid_struct string
-	#{ 0x01109cf8, 0xe5ca, 0x446f, \
-	#{ 0x9b, 0x55, 0xf3, 0xcd, 0xc6, 0x51, 0x10, 0xc8 } }
-
-	string(CONCAT UUID_STRUCT "{" ${uuid_timeLow} "," ${uuid_timeMid}
-		"," ${uuid_timeHiAndVersion} ", {" ${uuid_clockSeqAndNode} "}}")
-
-	# Swith endianess
-	list(SUBLIST SEPARATED_HEX 0 4 hex1)
-	list(SUBLIST SEPARATED_HEX 4 4 hex2)
-	list(SUBLIST SEPARATED_HEX 8 4 hex3)
-	list(SUBLIST SEPARATED_HEX 12 4 hex4)
-
-	list(REVERSE hex1)
-	list(REVERSE hex2)
-	list(REVERSE hex3)
-	list(REVERSE hex4)
-	string(CONCAT UUID_LE " 0x" ${hex1} " 0x" ${hex2} " 0x" ${hex3}
-		" 0x" ${hex4})
-
-endmacro()
+include(${CMAKE_CURRENT_LIST_DIR}/Uuid.cmake)
 
 #[===[.rst:
 .. cmake:command:: set_target_uuids
@@ -74,31 +25,41 @@
 ``SP_NAME``
 The name of the SP.
 
-OUTPUTS:
-
-``SP_UUID_LE``
-SP_UUID converted to little-endian binary format.
-
 #]===]
 
 function (set_target_uuids)
 	set(options)
-	set(oneValueArgs SP_UUID SP_NAME)
+	set(oneValueArgs TGT SP_UUID)
 	set(multiValueArgs)
-	cmake_parse_arguments(TARGET "${options}" "${oneValueArgs}"
+	cmake_parse_arguments(_MY_PARAMS "${options}" "${oneValueArgs}"
 		"${multiValueArgs}" ${ARGN} )
 
-	if(NOT DEFINED TARGET_SP_UUID)
-		message(FATAL_ERROR "set_target_uuids: mandatory parameter SP_UUID not defined!")
-	endif()
-	if(NOT DEFINED TARGET_SP_NAME)
-		message(FATAL_ERROR "set_target_uuids: mandatory parameter SP_NAME not defined!")
-	endif()
+	check_args(SP_UUID TGT)
 
-	generate_uuid_formats(${TARGET_SP_UUID})
-	target_compile_definitions(${TARGET_SP_NAME}
-		PRIVATE OPTEE_SP_UUID=${UUID_STRUCT}
+	# Convert the UUID to a C char array initializer e.g.
+	#  { 0x01, 0x10, 0x9c, 0xf8, 0xe5, 0xca, 0x44, 0x6f,
+	#   0x9b, 0x55, 0xf3, 0xcd, 0xc6, 0x51, 0x10, 0xc8, }
+	# and "pass it" to C files.
+	uuid_canon_to_octets(UUID ${_MY_PARAMS_SP_UUID} RES UUID_OCTETS)
+	list(JOIN UUID_OCTETS ", 0x" UUID_BYTES )
+	set(UUID_BYTES "{ 0x${UUID_BYTES} }")
+	target_compile_definitions(${_MY_PARAMS_TGT}
 		PRIVATE OPTEE_SP_UUID_BYTES=${UUID_BYTES}
 	)
-	set(SP_UUID_LE ${UUID_LE} PARENT_SCOPE)
+
+	# Create a UUID structure with the UUID fileds
+	# { 0x01109cf8, 0xe5ca, 0x446f, \
+	# { 0x9b, 0x55, 0xf3, 0xcd, 0xc6, 0x51, 0x10, 0xc8 } }
+	# and "pass it" to C files
+	uuid_canon_to_fields(UUID ${_MY_PARAMS_SP_UUID}
+			TIME_LOW "_uuid_timeLow"
+			TIME_MID "_uuid_timeMid"
+			TIME_HI_AND_VER "_uuid_timeHiAndVersion"
+			CLOCK_AND_SEQ "_uuid_clockSeqAndNode")
+	string(REGEX MATCHALL ".." _uuid_clockSeqAndNode "${_uuid_clockSeqAndNode}")
+	list(JOIN _uuid_clockSeqAndNode ", 0x" _uuid_clockSeqAndNode)
+	set(UUID_STRUCT "{ 0x${_uuid_timeLow}, 0x${_uuid_timeMid}, 0x${_uuid_timeHiAndVersion}, { 0x${_uuid_clockSeqAndNode} }}")
+	target_compile_definitions(${_MY_PARAMS_TGT}
+		PRIVATE OPTEE_SP_UUID=${UUID_STRUCT}
+	)
 endfunction()
diff --git a/tools/cmake/common/Uuid.cmake b/tools/cmake/common/Uuid.cmake
new file mode 100644
index 0000000..d66a7a3
--- /dev/null
+++ b/tools/cmake/common/Uuid.cmake
@@ -0,0 +1,166 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2023, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+include_guard()
+
+#[===[.rst:
+RFC 4122 compatible UUID manipulation routines
+---------------------------------------------
+
+The functionality in this file allows manipulating (which mostly means conversion) of UUID strings
+to various formats used in the TS build system.
+
+#]===]
+
+#[===[.rst:
+.. cmake:command:: uuid_canon_to_octets
+
+  .. code-block:: cmake
+
+    uuid_canon_to_octets(UUID <canonical UUID string> RES <output variable name>)
+
+	Convert a canonical UUID string to list of bytes, where each byte is represented as a two digit
+	hex octet without any prefix of suffix. Order of bytes will match the order of octets in the
+	canonical string left to right.
+
+	INPUTS:
+
+	``UUID``
+	Canonical UUID string.
+
+    OUTPUTS:
+
+	``RES``
+	Name of variable to store the result to. The result is a list of strings, where each list item
+	is a two digit hex digit, without any prefix or suffix.
+
+#]===]
+function(uuid_canon_to_octets)
+	set(options)
+	set(oneValueArgs UUID RES)
+	set(multiValueArgs)
+	cmake_parse_arguments(_MY_PARAMS "${options}" "${oneValueArgs}"
+		"${multiValueArgs}" ${ARGN} )
+
+	check_args(UUID RES)
+
+	string(REGEX MATCHALL "([A-Za-z0-9][A-Za-z0-9])" _hex_bytes "${_MY_PARAMS_UUID}")
+	list(LENGTH _hex_bytes _len)
+	if(NOT _len EQUAL 16)
+		message(FATAL_ERROR "Failed to convert UUID \"${_MY_PARAMS_UUID}\" to bytes. Failed to get exactly 16 octets.")
+	endif()
+	set(${_MY_PARAMS_RES} ${_hex_bytes} PARENT_SCOPE)
+endfunction()
+
+#[===[.rst:
+.. cmake:command:: uuid_canon_to_fields
+
+  .. code-block:: cmake
+
+    uuid_canon_to_fields(UUID <canonical UUIdD string> TIME_LOW <output variable name> TIME_MID <output variable name>
+					TIME_HI_AND_VER <output variable name> CLOCK_AND_SEQ <output variable name>)
+
+	Convert a canonical UUID string to UUID fields. Each field is a
+
+	INPUTS:
+
+	``UUID``
+	Canonical UUID string.
+
+    OUTPUTS:
+    ``TIME_LOW``
+    Name of variable to store the time low filed.
+
+    ``TIME_MID``
+    Name of variable to store the time mid filed.
+
+    ``TIME_HI_AND_VER``
+    Name of variable to store the time hi and version filed.
+
+    ``CLOCK_AND_SEQ``
+    Name of variable to store the clock and sequence filed.
+
+#]===]
+function(uuid_canon_to_fields)
+	set(options)
+	set(oneValueArgs UUID TIME_LOW TIME_MID TIME_HI_AND_VER CLOCK_AND_SEQ)
+	set(multiValueArgs)
+	cmake_parse_arguments(_MY_PARAMS "${options}" "${oneValueArgs}"
+		"${multiValueArgs}" ${ARGN} )
+
+	check_args(UUID TIME_LOW TIME_MID TIME_HI_AND_VER CLOCK_AND_SEQ)
+	uuid_canon_to_octets(UUID ${_MY_PARAMS_UUID} RES _uuid_octets)
+
+	#Split the list of bytes in to the struct fields
+	list(SUBLIST _uuid_octets 0 4 _uuid_timeLow)
+	list(JOIN _uuid_timeLow "" _uuid_timeLow)
+
+	list(SUBLIST _uuid_octets 4 2 _uuid_timeMid)
+	list(JOIN _uuid_timeMid "" _uuid_timeMid)
+
+	list(SUBLIST _uuid_octets 6 2 _uuid_timeHiAndVersion)
+	list(JOIN _uuid_timeHiAndVersion "" _uuid_timeHiAndVersion)
+
+	list(SUBLIST _uuid_octets 8 8 _uuid_clockSeqAndNode)
+	list(JOIN _uuid_clockSeqAndNode "" _uuid_clockSeqAndNode)
+
+	set(${_MY_PARAMS_TIME_LOW} ${_uuid_timeLow} PARENT_SCOPE)
+	set(${_MY_PARAMS_TIME_MID} ${_uuid_timeMid} PARENT_SCOPE)
+	set(${_MY_PARAMS_TIME_HI_AND_VER} ${_uuid_timeHiAndVersion} PARENT_SCOPE)
+	set(${_MY_PARAMS_CLOCK_AND_SEQ} ${_uuid_clockSeqAndNode} PARENT_SCOPE)
+endfunction()
+
+#[===[.rst:
+.. cmake:command:: uuid_canon_to_le_words
+
+  .. code-block:: cmake
+
+    uuid_canon_to_le_words(UUID <canonical UUID string> RES <output variable name>)
+
+	Convert a canonical UUID string to list of 32bit wide little-endian numbers represented
+	as hex strings.
+
+	INPUTS:
+
+	``UUID``
+	Canonical UUID string.
+
+	``RES``
+	Name of variable to store the result to.
+
+#]===]
+function(uuid_canon_to_le_words)
+	set(options)
+	set(oneValueArgs UUID RES)
+	set(multiValueArgs)
+	cmake_parse_arguments(_MY_PARAMS "${options}" "${oneValueArgs}"
+		"${multiValueArgs}" ${ARGN} )
+
+	check_args(UUID RES)
+	uuid_canon_to_octets(UUID ${_MY_PARAMS_UUID} RES _uuid_octets)
+
+    # Separate 32 bit chunks
+	list(SUBLIST _uuid_octets 0 4 _word1)
+	list(SUBLIST _uuid_octets 4 4 _word2)
+	list(SUBLIST _uuid_octets 8 4 _word3)
+	list(SUBLIST _uuid_octets 12 4 _word4)
+
+    # Reverse octet order each word
+	list(REVERSE _word1)
+	list(REVERSE _word2)
+	list(REVERSE _word3)
+	list(REVERSE _word4)
+
+    # Concatenate octets of each word to a single string
+    list(JOIN _word1 "" _word1)
+    list(JOIN _word2 "" _word2)
+    list(JOIN _word3 "" _word3)
+    list(JOIN _word4 "" _word4)
+
+    # Return the result
+	set(${_MY_PARAMS_RES} "${_word1}" "${_word2}" "${_word3}" "${_word4}" PARENT_SCOPE)
+endfunction()
