# TCMDXE
**Index**: 0076 | **Size**: 7168 bytes | **Arch**: x64 | **Phase**: DXE

## Overview
This DXE driver implements a Trusted Computing Module (TCM) driver for UEFI DXE phase. It communicates with TCM hardware via memory-mapped FIFO registers at 0xFED40000 (locality 0). The driver detects TCM hardware presence (vendor ID check, signature 0x1B4D), and if a TCM is found and ready, registers a callback via the TCG physical presence protocol (gTcpaCallbackGuid) to invoke TCM operations including Startup, SelfTest, PhysicalEnable, PhysicalSetDeactivated, and ForceClear.

## Key Functions
- ModuleEntryPoint -- Initializes UEFI library globals and HOB list, then detects TCM hardware
- TcmDetectHardware -- Checks TCM vendor/device ID at FIFO register offset 0xF00 for signature 0x1B4D
- TcmRegisterCallback -- Registers a callback via the TCPA callback protocol (gTcpaCallbackGuid)
- TcmStartup -- Sends TPM2_Startup command to the TCM hardware
- TcmSelfTest -- Initiates TCM self-test operation
- TcmPhysicalEnable -- Sends PhysicalEnable command to the TCM
- TcmPhysicalSetDeactivated -- Sends PhysicalSetDeactivated command
- TcmForceClear -- Sends ForceClear command to reset TCM state

## Protocols / Dependencies
- TCPA Callback Protocol (gTcpaCallbackGuid: {6B221186-7E6F-4A71-...})
- PCD Protocol
- HOB List (for system configuration table)

## Platform
HR650X (AMI BIOS, Intel)