diff --git a/target/trusted-firmware-m/platform/arm/rse/common/psa_adac_platform.c b/target/trusted-firmware-m/platform/arm/rse/common/psa_adac_platform.c
index 2174521..ccd1beb 100644
--- a/target/trusted-firmware-m/platform/arm/rse/common/psa_adac_platform.c
+++ b/target/trusted-firmware-m/platform/arm/rse/common/psa_adac_platform.c
@@ -15,12 +15,14 @@
  * TF-M specific crypto_hw.h header
  */
 #include "crypto_hw.h"
-
+#include <assert.h>
 #include <string.h>
 #include <stdbool.h>
 #include "rse_debug_after_reset.h"
-
+#include "lcm_drv.h"
+#include "device_definition.h"
 #define ROTPK_ANCHOR_ALG PSA_ALG_SHA_512
+#define UINT8_SIZE_IN_BITS  8
 
 void psa_adac_platform_init(void)
 {
@@ -73,11 +75,31 @@
     return 0;
 }
 
-static bool check_if_debug_requires_reset(uint8_t *permissions_mask,
-                                          size_t mask_len)
+static int check_if_debug_requires_reset(uint8_t *permissions_mask,
+                                         size_t mask_len,
+                                         bool *reset_required)
 {
-    //TODO: To be implemented;
-    return true;
+    enum lcm_error_t lcm_err;
+    uint32_t dcu_lock_reg_val[LCM_DCU_WIDTH_IN_BYTES / sizeof(uint32_t)];
+    int i;
+    uint8_t *dcu_lock_status = (uint8_t *)dcu_lock_reg_val;
+
+    assert(mask_len == sizeof(dcu_lock_reg_val));
+    *reset_required = false;
+
+    lcm_err = lcm_dcu_get_locked(&LCM_DEV_S, (uint8_t *)dcu_lock_reg_val);
+    if (lcm_err != LCM_ERROR_NONE) {
+        return -1;
+    }
+
+    for (i = 0; i < mask_len; i++) {
+        if (dcu_lock_status[i] & permissions_mask[i]) {
+            *reset_required = true;
+            break;
+        }
+    }
+
+    return 0;
 }
 
 int psa_adac_apply_permissions(uint8_t permissions_mask[16])
@@ -86,7 +108,12 @@
     int rc;
     bool reset_required;
 
-    reset_required = check_if_debug_requires_reset(permissions_mask, 16);
+    rc = check_if_debug_requires_reset(permissions_mask, 16, &reset_required);
+    if (rc != 0) {
+        PSA_ADAC_LOG_ERR("platform", "psa_adac_to_tfm_apply_permissions "
+                        "failed\r\n");
+        return rc;
+    }
 
     if (reset_required) {
 
