feat(libtl): bump version to get event log funcs

LibTL now provides APIs for handling event logs from a transfer list.
Bump to that version and get rid of existing functions that duplicate
that behaviour.

Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
Change-Id: I4967144657765741b390cf6cda56e08a2da0eadf
diff --git a/contrib/libtl b/contrib/libtl
index 38b309b..022175f 160000
--- a/contrib/libtl
+++ b/contrib/libtl
@@ -1 +1 @@
-Subproject commit 38b309b70f830280af038e03c51082df8f54a149
+Subproject commit 022175f49371aeb3bb267201ae06125fd6ae262e
diff --git a/docs/getting_started/requirements.rst b/docs/getting_started/requirements.rst
index 3c27b9d..91d146f 100644
--- a/docs/getting_started/requirements.rst
+++ b/docs/getting_started/requirements.rst
@@ -26,6 +26,7 @@
         Name             Version
 ======================== =====================
 Mbed TLS                 3.6.3
+Transfer List Library    0.0.1
 ======================== =====================
 
 Toolchain
diff --git a/include/lib/event_log/event_handoff.h b/include/lib/event_log/event_handoff.h
deleted file mode 100644
index f8c8716..0000000
--- a/include/lib/event_log/event_handoff.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2025, Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-
-#ifndef HANDOFF_H
-#define HANDOFF_H
-
-#include <stdint.h>
-
-#include <transfer_list.h>
-
-/**
- * Initializes or extends the TPM event log in the transfer list.
- *
- * If an event log entry exists, attempts to resize it. Otherwise, adds a new entry.
- * Copies old data if needed. Updates free to reflect available space.
- *
- * @param tl         Pointer to the transfer list header.
- * @param req_size   Requested size (bytes)
- * @param free       Available size (bytes)
- * @return           Pointer to writable space in the log, or NULL on failure.
- */
-uint8_t *transfer_list_event_log_extend(struct transfer_list_header *tl,
-					size_t req_size, size_t *free);
-
-/**
- * Finalizes the event log after writing is complete.
- *
- * Resizes the event log to match actual data written, updates checksum,
- * and flushes cache for the next stage.
- *
- * @param tl         Pointer to the transfer list header.
- * @param cursor     End offset of written log data.
- * @return           Pointer to finalized log data (past reserved bytes), or NULL.
- */
-uint8_t *transfer_list_event_log_finish(struct transfer_list_header *tl,
-					uintptr_t cursor);
-
-#define EVENT_LOG_RESERVED_BYTES U(4)
-
-#endif /* HANDOFF_H */
diff --git a/lib/event_log/event_handoff.c b/lib/event_log/event_handoff.c
deleted file mode 100644
index 238ea27..0000000
--- a/lib/event_log/event_handoff.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (c) 2025, Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#include <stddef.h>
-
-#include <common/debug.h>
-#include <drivers/measured_boot/event_log/event_handoff.h>
-
-#include <platform_def.h>
-
-static uint8_t *get_log_ptr(struct transfer_list_entry *te, size_t offset)
-{
-	uint8_t *base_ptr = transfer_list_entry_data(te);
-
-	if (base_ptr == NULL) {
-		return NULL;
-	}
-
-	return base_ptr + offset;
-}
-
-uint8_t *transfer_list_event_log_extend(struct transfer_list_header *tl,
-					size_t req_size, size_t *free)
-{
-	struct transfer_list_entry *existing_entry;
-	struct transfer_list_entry *new_entry;
-	uint8_t *old_data;
-	size_t existing_offset;
-	size_t old_size;
-
-	if (tl == NULL || free == NULL || req_size == 0) {
-		ERROR("Invalid arguments to event log extend.\n");
-		return NULL;
-	}
-
-	existing_entry = transfer_list_find(tl, TL_TAG_TPM_EVLOG);
-	existing_offset = EVENT_LOG_RESERVED_BYTES;
-
-	if (existing_entry != NULL) {
-		existing_offset = existing_entry->data_size;
-
-		if (transfer_list_set_data_size(tl, existing_entry,
-						req_size + existing_offset)) {
-			VERBOSE("TPM event log entry resized: new space %zu bytes at offset %zu\n",
-				req_size, existing_offset);
-
-			*free = existing_entry->data_size - existing_offset;
-
-			return get_log_ptr(existing_entry, existing_offset);
-		}
-	}
-
-	/* Add new entry (resize failed or no existing entry) */
-	new_entry = transfer_list_add(tl, TL_TAG_TPM_EVLOG,
-				      req_size + existing_offset, NULL);
-
-	if (new_entry == NULL) {
-		ERROR("Failed to add TPM event log entry to transfer list.\n");
-		return NULL;
-	}
-
-	VERBOSE("New TPM event log entry added at %p\n",
-		transfer_list_entry_data(new_entry));
-
-	if (existing_entry != NULL) {
-		old_data = transfer_list_entry_data(existing_entry);
-		old_size = existing_offset;
-
-		VERBOSE("Copying existing event log (%zu bytes) to new entry at %p\n",
-			old_size, transfer_list_entry_data(new_entry));
-
-		memmove(transfer_list_entry_data(new_entry), old_data,
-			old_size);
-
-		transfer_list_rem(tl, existing_entry);
-	}
-
-	*free = new_entry->data_size - existing_offset;
-
-	return get_log_ptr(new_entry, existing_offset);
-}
-
-uint8_t *transfer_list_event_log_finish(struct transfer_list_header *tl,
-					uintptr_t cursor)
-{
-	uintptr_t entry_data_base;
-	size_t final_log_size;
-	struct transfer_list_entry *entry;
-
-	entry = transfer_list_find(tl, TL_TAG_TPM_EVLOG);
-	entry_data_base = (uintptr_t)transfer_list_entry_data(entry);
-
-	if (cursor < entry_data_base ||
-	    cursor >= entry_data_base + entry->data_size) {
-		ERROR("Invalid cursor: outside event log bounds.\n");
-		return NULL;
-	}
-
-	final_log_size = cursor - entry_data_base;
-
-	if (!transfer_list_set_data_size(tl, entry, final_log_size)) {
-		ERROR("Unable to resize event log TE.\n");
-		return NULL;
-	}
-
-	transfer_list_update_checksum(tl);
-
-	VERBOSE("TPM event log finalized: trimmed to %zu bytes",
-		final_log_size - EVENT_LOG_RESERVED_BYTES);
-
-	/* Ensure changes are visible to the next stage. */
-	flush_dcache_range((uintptr_t)tl, tl->size);
-
-	return get_log_ptr(entry, EVENT_LOG_RESERVED_BYTES);
-}
diff --git a/lib/libtl/libtl.mk b/lib/libtl/libtl.mk
index 4e685d2..e400c0d 100644
--- a/lib/libtl/libtl.mk
+++ b/lib/libtl/libtl.mk
@@ -11,5 +11,6 @@
 
 LIBTL_SOURCES	+= $(addprefix ${LIBTL_PATH}/src/generic/, \
 			transfer_list.c	\
+			tpm_event_log.c \
 			logging.c	\
 			)
diff --git a/tftf/framework/main.c b/tftf/framework/main.c
index 0ac23b4..0ae03e5 100644
--- a/tftf/framework/main.c
+++ b/tftf/framework/main.c
@@ -23,9 +23,6 @@
 #include <tftf.h>
 #include <tftf_lib.h>
 #include <timer.h>
-#if TRANSFER_LIST
-#include <transfer_list.h>
-#endif
 
 #define MIN_RETRY_TO_POWER_ON_LEAD_CPU       10