diff --git a/include/runtime_services/ffa_helpers.h b/include/runtime_services/ffa_helpers.h
index 4f2bb02..91a7a6e 100644
--- a/include/runtime_services/ffa_helpers.h
+++ b/include/runtime_services/ffa_helpers.h
@@ -728,6 +728,12 @@
 struct ffa_value ffa_partition_info_get_regs(const struct ffa_uuid uuid,
 					     const uint16_t start_index,
 					     const uint16_t tag);
+
+struct ffa_memory_access ffa_memory_access_init_permissions(
+	ffa_id_t receiver_id, enum ffa_data_access data_access,
+	enum ffa_instruction_access instruction_access,
+	ffa_memory_receiver_flags_t flags);
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* FFA_HELPERS_H */
diff --git a/include/runtime_services/spm_common.h b/include/runtime_services/spm_common.h
index 0c8ade1..fc7ddd7 100644
--- a/include/runtime_services/spm_common.h
+++ b/include/runtime_services/spm_common.h
@@ -139,4 +139,9 @@
 bool ffa_partition_info_regs_helper(const struct ffa_uuid uuid,
 		       const struct ffa_partition_info *expected,
 		       const uint16_t expected_size);
+
+struct ffa_memory_access ffa_memory_access_init_permissions_from_mem_func(
+	ffa_id_t receiver_id,
+	uint32_t mem_func);
+
 #endif /* SPM_COMMON_H */
diff --git a/tftf/tests/runtime_services/secure_service/ffa_helpers.c b/tftf/tests/runtime_services/secure_service/ffa_helpers.c
index 601f2d3..9447a23 100644
--- a/tftf/tests/runtime_services/secure_service/ffa_helpers.c
+++ b/tftf/tests/runtime_services/secure_service/ffa_helpers.c
@@ -703,3 +703,23 @@
 
 	return ffa_service_call(&args);
 }
+
+/**
+ * Initializes receiver permissions in a memory transaction descriptor.
+ */
+struct ffa_memory_access ffa_memory_access_init_permissions(
+	ffa_id_t receiver_id, enum ffa_data_access data_access,
+	enum ffa_instruction_access instruction_access,
+	ffa_memory_receiver_flags_t flags)
+{
+	struct ffa_memory_access access;
+	access.reserved_0 = 0;
+	access.composite_memory_region_offset = 0;
+	access.receiver_permissions.flags = flags;
+	access.receiver_permissions.receiver = receiver_id;
+	access.receiver_permissions.permissions.data_access = data_access;
+	access.receiver_permissions.permissions.instruction_access =
+		instruction_access;
+
+	return access;
+}
diff --git a/tftf/tests/runtime_services/secure_service/spm_common.c b/tftf/tests/runtime_services/secure_service/spm_common.c
index 2e6d257..e76564a 100644
--- a/tftf/tests/runtime_services/secure_service/spm_common.c
+++ b/tftf/tests/runtime_services/secure_service/spm_common.c
@@ -610,3 +610,22 @@
 {
 	return configure_trusted_wdog_interrupt(source, dest, false);
 }
+
+/**
+ * Initializes receiver permissions in a memory transaction descriptor, using
+ * `mem_func` to determine the appropriate permissions.
+ */
+struct ffa_memory_access ffa_memory_access_init_permissions_from_mem_func(
+	ffa_id_t receiver_id, uint32_t mem_func)
+{
+
+	enum ffa_instruction_access instruction_access =
+		FFA_INSTRUCTION_ACCESS_NOT_SPECIFIED;
+	enum ffa_data_access data_access =
+		(mem_func == FFA_MEM_DONATE_SMC32)
+			? FFA_DATA_ACCESS_NOT_SPECIFIED
+			: FFA_DATA_ACCESS_RW;
+
+	return ffa_memory_access_init_permissions(receiver_id, data_access,
+						  instruction_access, 0);
+}
