diff --git a/ci/fvp-base-ts.yml b/ci/fvp-base-ts.yml
index 89a3e1f2..62d7995b 100644
--- a/ci/fvp-base-ts.yml
+++ b/ci/fvp-base-ts.yml
@@ -14,7 +14,7 @@ local_conf_header:
     # Include all Secure Partitions into the image
     MACHINE_FEATURES:append = " arm-ffa ts-crypto ts-storage ts-its"
     MACHINE_FEATURES:append = " ts-attestation ts-smm-gateway optee-spmc-test"
-    MACHINE_FEATURES:append = " ts-block-storage ts-fwu"
+    MACHINE_FEATURES:append = " ts-block-storage ts-fwu ts-logging"
     MACHINE_FEATURES:append = " arm-branch-protection"
     SMMGW_AUTH_VAR = "1"
     # Include TS demo/test tools into image
diff --git a/documentation/trusted-services.md b/documentation/trusted-services.md
index 3dd045c7..8b7f795a 100644
--- a/documentation/trusted-services.md
+++ b/documentation/trusted-services.md
@@ -24,6 +24,7 @@ features for each [Secure Partition][^2] you would like to include:
 | se-proxy          | ts-se-proxy     |
 | smm-gateway       | ts-smm-gateway  |
 | spm-test[1-4]     | optee-spmc-test |
+| Logging           | ts-logging      |
 
 Other steps depend on your machine/platform definition:
 
diff --git a/meta-arm-bsp/recipes-security/trusted-services/ts-sp-logging_%.bbappend b/meta-arm-bsp/recipes-security/trusted-services/ts-sp-logging_%.bbappend
new file mode 100644
index 00000000..5c9ef210
--- /dev/null
+++ b/meta-arm-bsp/recipes-security/trusted-services/ts-sp-logging_%.bbappend
@@ -0,0 +1 @@
+require ts-arm-platforms.inc
diff --git a/meta-arm/recipes-security/optee/optee-os-ts.inc b/meta-arm/recipes-security/optee/optee-os-ts.inc
index 82545ccb..be4bf5bb 100644
--- a/meta-arm/recipes-security/optee/optee-os-ts.inc
+++ b/meta-arm/recipes-security/optee/optee-os-ts.inc
@@ -80,6 +80,13 @@ DEPENDS:append  = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-block-storage',
 SP_PATHS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-block-storage', \
                                         ' ${TS_BIN}/${BLOCK_STORAGE_UUID}${SP_EXT}', '', d)}"
 
+# Logging SP
+DEPENDS:append  = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-logging', \
+                                        ' ts-sp-logging', '' , d)}"
+SP_PATHS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-logging', \
+                                        ' ${TS_BIN}/${LOGGING_SP_UUID}${SP_EXT}', '', d)}"
+
+
 EXTRA_OEMAKE:append = "${@oe.utils.conditional('SP_PATHS', '', '', \
                         ' CFG_MAP_EXT_DT_SECURE=y CFG_SECURE_PARTITION=y \
                          SP_PATHS="${SP_PATHS}" ', d)}"
diff --git a/meta-arm/recipes-security/trusted-services/ts-sp-logging_git.bb b/meta-arm/recipes-security/trusted-services/ts-sp-logging_git.bb
new file mode 100644
index 00000000..e40349ae
--- /dev/null
+++ b/meta-arm/recipes-security/trusted-services/ts-sp-logging_git.bb
@@ -0,0 +1,8 @@
+DESCRIPTION = "Trusted Services logging service provider"
+
+require ts-sp-common.inc
+
+SP_UUID = "${LOGGING_SP_UUID}"
+TS_SP_LOGGING_CONFIG ?= "default"
+
+OECMAKE_SOURCEPATH="${S}/deployments/logging/config/${TS_SP_LOGGING_CONFIG}-${TS_ENV}"
diff --git a/meta-arm/recipes-security/trusted-services/ts-uuid.inc b/meta-arm/recipes-security/trusted-services/ts-uuid.inc
index 810ffa5e..bcf0ee97 100644
--- a/meta-arm/recipes-security/trusted-services/ts-uuid.inc
+++ b/meta-arm/recipes-security/trusted-services/ts-uuid.inc
@@ -13,3 +13,4 @@ SPM_TEST3_UUID   = "23eb0100-e32a-4497-9052-2f11e584afa6"
 SPM_TEST4_UUID   = "423762ed-7772-406f-99d8-0c27da0abbf8"
 FWU_UUID         = "6823a838-1b06-470e-9774-0cce8bfb53fd"
 BLOCK_STORAGE_UUID = "63646e80-eb52-462f-ac4f-8cdf3987519c"
+LOGGING_SP_UUID  = "da9dffbd-d590-40ed-975f-19c65a3d52d3"
