diff --git a/profiling/export/platform/tfm_hal_dwt_prof.c b/profiling/export/platform/tfm_hal_dwt_prof.c
new file mode 100644
index 0000000..4f81100
--- /dev/null
+++ b/profiling/export/platform/tfm_hal_dwt_prof.c
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2023, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+
+#include "cmsis.h"
+
+/* Initialize the timer/cycle counter hardware for profiling */
+void prof_hal_init(void)
+{
+    CoreDebug->DEMCR = CoreDebug_DEMCR_TRCENA_Msk; /* Enable DWT. */
+    DWT->CTRL        = DWT_CTRL_CYCCNTENA_Msk;     /* Enable CYCCNT. */
+    DWT->CYCCNT      = 0x0;                        /* Reset the processor cycle counter. */
+}
+
+/* Interface for retrieving the timer/cycle count */
+uint32_t prof_hal_get_count(void)
+{
+    return (uint32_t)DWT->CYCCNT;
+}
diff --git a/profiling/profiling_cases/config.cmake b/profiling/profiling_cases/config.cmake
new file mode 100644
index 0000000..8ab125b
--- /dev/null
+++ b/profiling/profiling_cases/config.cmake
@@ -0,0 +1,30 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2023, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+################################ Profiling configs #############################
+
+# Profiling PSA Client API specific variables
+set(PROF_PSA_CLIENT_API_SP_PATH "${TFM_PROF_PATH}/profiling_cases/prof_psa_client_api/partitions")
+set(PROF_PSA_CLIENT_API_CASE_PATH "${TFM_PROF_PATH}/profiling_cases/prof_psa_client_api/cases")
+
+################################ TF-M configs ##################################
+
+# Secure profiling case runs in secure profiling client partition. The Profiling
+# Log api is implemented by secure patition log interfaces in library tfm_sprt.
+# As CMAKE_BUILD_TYPE has already determined the secure partition log level and
+# the normal build type Release uses SILENCE. Here use 'FORCE' to replace it.
+set(TFM_PARTITION_LOG_LEVEL TFM_PARTITION_LOG_LEVEL_INFO CACHE STRING "Set default Secure Partition log level as INFO level" FORCE)
+
+# Out-of-tree partition configurations
+list(APPEND TFM_EXTRA_PARTITION_PATHS
+    ${PROF_PSA_CLIENT_API_SP_PATH}/prof_server_partition
+    ${PROF_PSA_CLIENT_API_SP_PATH}/prof_client_partition
+)
+
+list(APPEND TFM_EXTRA_MANIFEST_LIST_FILES
+    ${PROF_PSA_CLIENT_API_SP_PATH}/prof_psa_client_api_manifest_list.yaml
+)
diff --git a/profiling/profiling_cases/prof_psa_client_api/cases/prof_psa_client_api_common.h b/profiling/profiling_cases/prof_psa_client_api/cases/prof_psa_client_api_common.h
new file mode 100644
index 0000000..784b9b5
--- /dev/null
+++ b/profiling/profiling_cases/prof_psa_client_api/cases/prof_psa_client_api_common.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2023, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+
+#ifndef __PROF_PSA_CLIENT_API_COMMON_H__
+#define __PROF_PSA_CLIENT_API_COMMON_H__
+
+#include "tfm_psa_call_pack.h"
+#include "psa/client.h"
+#include "psa_manifest/sid.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define TEST_LOOP_CNT               20
+
+#define PSA_API_TOPIC               0
+
+#define CONNECT_CP_START            0
+#define CONNECT_CP_END              1
+#define CALL_CP_START               2
+#define CALL_CP_END                 3
+#define CLOSE_CP_START              5
+#define CLOSE_CP_END                6
+#define STATELESS_CALL_CP_START     7
+#define STATELESS_CALL_CP_END       8
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __PROF_PSA_CLIENT_API_COMMON_H__ */
diff --git a/profiling/profiling_cases/prof_psa_client_api/cases/secure/CMakeLists.txt b/profiling/profiling_cases/prof_psa_client_api/cases/secure/CMakeLists.txt
new file mode 100644
index 0000000..7f44aea
--- /dev/null
+++ b/profiling/profiling_cases/prof_psa_client_api/cases/secure/CMakeLists.txt
@@ -0,0 +1,35 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2023, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+cmake_policy(SET CMP0079 NEW)
+
+add_library(secure_prof_psa_client_api INTERFACE)
+
+target_sources(secure_prof_psa_client_api
+    INTERFACE
+        secure_prof_psa_client_api.c
+        ${TFM_PROF_PATH}/profiler/profiler.c
+        ${TFM_PROF_PATH}/export/platform/tfm_hal_dwt_prof.c
+)
+
+target_include_directories(secure_prof_psa_client_api
+    INTERFACE
+        ${PROF_PSA_CLIENT_API_CASE_PATH}/secure
+        ${PROF_PSA_CLIENT_API_CASE_PATH}/
+        ${TFM_PROF_PATH}/export
+        ${TFM_PROF_PATH}/profiler
+)
+
+target_link_libraries(secure_prof_psa_client_api
+    INTERFACE
+        tfm_sprt
+)
+
+target_compile_definitions(secure_prof_psa_client_api
+    INTERFACE
+        CONFIG_TFM_ENALBE_PROFILING
+)
diff --git a/profiling/profiling_cases/prof_psa_client_api/cases/secure/secure_prof_psa_client_api.c b/profiling/profiling_cases/prof_psa_client_api/cases/secure/secure_prof_psa_client_api.c
new file mode 100644
index 0000000..3dbbe55
--- /dev/null
+++ b/profiling/profiling_cases/prof_psa_client_api/cases/secure/secure_prof_psa_client_api.c
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2023, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+
+#include "secure_prof_psa_client_api.h"
+#include "tfm_sp_log.h"
+#include "prof_intf_s.h"
+
+#define PROFILING_AVERAGE_DIFF(psa_api_name, cp_start, cp_end) \
+        LOG_INFFMT("secure %s average is %d CPU cycles\r\n", psa_api_name, \
+                   PROF_DATA_DIFF_AVG(cp_start, PSA_API_TOPIC, cp_end, PSA_API_TOPIC))
+
+void secure_prof_psa_client_api()
+{
+    psa_handle_t handle;
+    psa_status_t status;
+    uint16_t i = 0;
+
+    for (i = 0; i < TEST_LOOP_CNT; i++) {
+        PROF_TIMING_LOG(CONNECT_CP_START, PSA_API_TOPIC);
+        handle = psa_connect(PROFILING_SERVICE_SID, PROFILING_SERVICE_VERSION);
+        PROF_TIMING_LOG(CONNECT_CP_END, PSA_API_TOPIC);
+
+        if (!PSA_HANDLE_IS_VALID(handle)) {
+            LOG_ERRFMT("PSA connect fail!");
+            return;
+        }
+
+        PROF_TIMING_LOG(CALL_CP_START, PSA_API_TOPIC);
+        status = psa_call(handle, PSA_IPC_CALL, NULL, 0, NULL, 0);
+        PROF_TIMING_LOG(CALL_CP_END, PSA_API_TOPIC);
+
+        if (status != PSA_SUCCESS) {
+            LOG_ERRFMT("PSA call fail!");
+            return;
+        }
+
+        PROF_TIMING_LOG(CLOSE_CP_START, PSA_API_TOPIC);
+        psa_close(handle);
+        PROF_TIMING_LOG(CLOSE_CP_END, PSA_API_TOPIC);
+
+        /* Test stateless PSA call interface. */
+        PROF_TIMING_LOG(STATELESS_CALL_CP_START, PSA_API_TOPIC);
+        status = psa_call(PROFILING_STATELESS_SERVICE_HANDLE, PSA_IPC_CALL, NULL, 0, NULL, 0);
+        PROF_TIMING_LOG(STATELESS_CALL_CP_END, PSA_API_TOPIC);
+
+        if (status != PSA_SUCCESS) {
+            LOG_ERRFMT("PSA stateless call fail!");
+            return;
+        }
+    }
+
+    PROFILING_AVERAGE_DIFF("psa_connect", CONNECT_CP_START, CONNECT_CP_END);
+    PROFILING_AVERAGE_DIFF("psa_call", CALL_CP_START, CALL_CP_END);
+    PROFILING_AVERAGE_DIFF("psa_close", CLOSE_CP_START, CLOSE_CP_END);
+    PROFILING_AVERAGE_DIFF("psa_call stateless", STATELESS_CALL_CP_START, STATELESS_CALL_CP_END);
+}
diff --git a/profiling/profiling_cases/prof_psa_client_api/cases/secure/secure_prof_psa_client_api.h b/profiling/profiling_cases/prof_psa_client_api/cases/secure/secure_prof_psa_client_api.h
new file mode 100644
index 0000000..b760df1
--- /dev/null
+++ b/profiling/profiling_cases/prof_psa_client_api/cases/secure/secure_prof_psa_client_api.h
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2023, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+
+
+#ifndef __SECURE_PROF_PSA_CLIENT_API_H__
+#define __SECURE_PROF_PSA_CLIENT_API_H__
+
+#include "prof_psa_client_api_common.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void secure_prof_psa_client_api();
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __SECURE_PROF_PSA_CLIENT_API_H__ */
diff --git a/profiling/profiling_cases/prof_psa_client_api/partitions/prof_client_partition/CMakeLists.txt b/profiling/profiling_cases/prof_psa_client_api/partitions/prof_client_partition/CMakeLists.txt
new file mode 100644
index 0000000..9294706
--- /dev/null
+++ b/profiling/profiling_cases/prof_psa_client_api/partitions/prof_client_partition/CMakeLists.txt
@@ -0,0 +1,57 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2023, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+cmake_policy(SET CMP0079 NEW)
+
+############################ Secure profiling case #############################
+
+add_subdirectory(${PROF_PSA_CLIENT_API_CASE_PATH}/secure ${CMAKE_CURRENT_BINARY_DIR}/prof_psa_client_api/cases/secure)
+
+############################ Secure profiling client partition #################
+
+add_library(tfm_app_rot_partition_prof_client_partition STATIC)
+
+target_sources(tfm_app_rot_partition_prof_client_partition
+    PRIVATE
+        prof_client_partition.c
+)
+
+# The generated sources
+target_sources(tfm_app_rot_partition_prof_client_partition
+    PRIVATE
+        ${CMAKE_BINARY_DIR}/generated/secure_fw/partitions/prof_client_partition/auto_generated/intermedia_prof_client_partition.c
+)
+
+target_sources(tfm_partitions
+    INTERFACE
+        ${CMAKE_BINARY_DIR}/generated/secure_fw/partitions/prof_client_partition/auto_generated/load_info_prof_client_partition.c
+)
+
+# Set include directory
+target_include_directories(tfm_app_rot_partition_prof_client_partition
+    PRIVATE
+        ${CMAKE_BINARY_DIR}/generated/secure_fw/partitions/prof_client_partition
+)
+
+target_include_directories(tfm_partitions
+    INTERFACE
+        ${CMAKE_BINARY_DIR}/generated/secure_fw/partitions/prof_client_partition
+)
+
+target_link_libraries(tfm_app_rot_partition_prof_client_partition
+    PUBLIC
+        secure_prof_psa_client_api
+    PRIVATE
+        tfm_sprt
+)
+
+############################ Partition Defs ####################################
+
+target_link_libraries(tfm_partitions
+    INTERFACE
+        tfm_app_rot_partition_prof_client_partition
+)
diff --git a/profiling/profiling_cases/prof_psa_client_api/partitions/prof_client_partition/prof_client_partition.c b/profiling/profiling_cases/prof_psa_client_api/partitions/prof_client_partition/prof_client_partition.c
new file mode 100644
index 0000000..d31f003
--- /dev/null
+++ b/profiling/profiling_cases/prof_psa_client_api/partitions/prof_client_partition/prof_client_partition.c
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2023, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+
+#include "secure_prof_psa_client_api.h"
+#include "psa/service.h"
+#include "psa_manifest/prof_client_partition.h"
+
+int32_t prof_client_init(void)
+{
+    secure_prof_psa_client_api();
+    return 0;
+}
+
+psa_status_t secure_client_dummy_sfn(const psa_msg_t *msg)
+{
+    /* Not expected to be called by anyone */
+    psa_panic();
+
+    return 0;
+}
diff --git a/profiling/profiling_cases/prof_psa_client_api/partitions/prof_client_partition/prof_client_partition.yaml b/profiling/profiling_cases/prof_psa_client_api/partitions/prof_client_partition/prof_client_partition.yaml
new file mode 100644
index 0000000..9ca2120
--- /dev/null
+++ b/profiling/profiling_cases/prof_psa_client_api/partitions/prof_client_partition/prof_client_partition.yaml
@@ -0,0 +1,30 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2023, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+{
+  "psa_framework_version": 1.1,
+  "name": "PROFILING_CLIENT_PARTITION",
+  "type": "PSA-ROT",
+  "model": "SFN",
+  "priority": "LOW",
+  "entry_init": "prof_client_init",
+  "stack_size": "0x0400",
+  "services": [
+    {
+      "name": "SECURE_CLIENT_DUMMY",
+      "sid": "0x0000F150",
+      "connection_based": true,
+      "non_secure_clients": false,
+      "version": 1,
+      "version_policy": "STRICT"
+    }
+  ],
+  "dependencies": [
+    "PROFILING_SERVICE",
+    "PROFILING_STATELESS_SERVICE",
+  ]
+}
diff --git a/profiling/profiling_cases/prof_psa_client_api/partitions/prof_psa_client_api_manifest_list.yaml b/profiling/profiling_cases/prof_psa_client_api/partitions/prof_psa_client_api_manifest_list.yaml
index a5f0054..c11c581 100644
--- a/profiling/profiling_cases/prof_psa_client_api/partitions/prof_psa_client_api_manifest_list.yaml
+++ b/profiling/profiling_cases/prof_psa_client_api/partitions/prof_psa_client_api_manifest_list.yaml
@@ -17,5 +17,15 @@
          ]
       }
     },
+    {
+      "description": "Profiling Client Partition",
+      "manifest": "prof_client_partition/prof_client_partition.yaml",
+      "output_path": "secure_fw/partitions/prof_client_partition",
+      "linker_pattern": {
+        "library_list": [
+           "*tfm_*prof_client_partition.*"
+         ]
+      }
+    },
   ]
 }
