/** @file | |
This file defines functions that output Trace Hub message. | |
Copyright (c) 2023, Intel Corporation. All rights reserved.<BR> | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#include <Base.h> | |
#include <Library/IoLib.h> | |
#include <Library/BaseMemoryLib.h> | |
#include "mipi_syst.h" | |
/** | |
Write 4 bytes to Trace Hub MMIO addr + 0x10. | |
@param[in] MipiSystHandle A pointer to MIPI_SYST_HANDLE structure. | |
@param[in] Data Data to be written. | |
**/ | |
VOID | |
EFIAPI | |
MipiSystWriteD32Ts ( | |
IN VOID *MipiSystHandle, | |
IN UINT32 Data | |
) | |
{ | |
MIPI_SYST_HANDLE *MipiSystH; | |
MipiSystH = (MIPI_SYST_HANDLE *)MipiSystHandle; | |
MmioWrite32 ((UINTN)(MipiSystH->systh_platform.TraceHubPlatformData.MmioAddr + 0x10), Data); | |
} | |
/** | |
Write 4 bytes to Trace Hub MMIO addr + 0x18. | |
@param[in] MipiSystHandle A pointer to MIPI_SYST_HANDLE structure. | |
@param[in] Data Data to be written. | |
**/ | |
VOID | |
EFIAPI | |
MipiSystWriteD32Mts ( | |
IN VOID *MipiSystHandle, | |
IN UINT32 Data | |
) | |
{ | |
MIPI_SYST_HANDLE *MipiSystH; | |
MipiSystH = (MIPI_SYST_HANDLE *)MipiSystHandle; | |
MmioWrite32 ((UINTN)(MipiSystH->systh_platform.TraceHubPlatformData.MmioAddr + 0x18), Data); | |
} | |
/** | |
Write 8 bytes to Trace Hub MMIO addr + 0x18. | |
@param[in] MipiSystHandle A pointer to MIPI_SYST_HANDLE structure. | |
@param[in] Data Data to be written. | |
**/ | |
VOID | |
EFIAPI | |
MipiSystWriteD64Mts ( | |
IN VOID *MipiSystHandle, | |
IN UINT64 Data | |
) | |
{ | |
MIPI_SYST_HANDLE *MipiSystH; | |
MipiSystH = (MIPI_SYST_HANDLE *)MipiSystHandle; | |
MmioWrite64 ((UINTN)(MipiSystH->systh_platform.TraceHubPlatformData.MmioAddr + 0x18), Data); | |
} | |
/** | |
Write 1 byte to Trace Hub MMIO addr + 0x0. | |
@param[in] MipiSystHandle A pointer to MIPI_SYST_HANDLE structure. | |
@param[in] Data Data to be written. | |
**/ | |
VOID | |
EFIAPI | |
MipiSystWriteD8 ( | |
IN VOID *MipiSystHandle, | |
IN UINT8 Data | |
) | |
{ | |
MIPI_SYST_HANDLE *MipiSystH; | |
MipiSystH = (MIPI_SYST_HANDLE *)MipiSystHandle; | |
MmioWrite8 ((UINTN)(MipiSystH->systh_platform.TraceHubPlatformData.MmioAddr + 0x0), Data); | |
} | |
/** | |
Write 2 bytes to Trace Hub MMIO mmio addr + 0x0. | |
@param[in] MipiSystHandle A pointer to MIPI_SYST_HANDLE structure. | |
@param[in] Data Data to be written. | |
**/ | |
VOID | |
EFIAPI | |
MipiSystWriteD16 ( | |
IN VOID *MipiSystHandle, | |
IN UINT16 Data | |
) | |
{ | |
MIPI_SYST_HANDLE *MipiSystH; | |
MipiSystH = (MIPI_SYST_HANDLE *)MipiSystHandle; | |
MmioWrite16 ((UINTN)(MipiSystH->systh_platform.TraceHubPlatformData.MmioAddr + 0x0), Data); | |
} | |
/** | |
Write 4 bytes to Trace Hub MMIO addr + 0x0. | |
@param[in] MipiSystHandle A pointer to MIPI_SYST_HANDLE structure. | |
@param[in] Data Data to be written. | |
**/ | |
VOID | |
EFIAPI | |
MipiSystWriteD32 ( | |
IN VOID *MipiSystHandle, | |
IN UINT32 Data | |
) | |
{ | |
MIPI_SYST_HANDLE *MipiSystH; | |
MipiSystH = (MIPI_SYST_HANDLE *)MipiSystHandle; | |
MmioWrite32 ((UINTN)(MipiSystH->systh_platform.TraceHubPlatformData.MmioAddr + 0x0), Data); | |
} | |
/** | |
Write 8 bytes to Trace Hub MMIO addr + 0x0. | |
@param[in] MipiSystHandle A pointer to MIPI_SYST_HANDLE structure. | |
@param[in] Data Data to be written. | |
**/ | |
VOID | |
EFIAPI | |
MipiSystWriteD64 ( | |
IN VOID *MipiSystHandle, | |
IN UINT64 Data | |
) | |
{ | |
MIPI_SYST_HANDLE *MipiSystH; | |
MipiSystH = (MIPI_SYST_HANDLE *)MipiSystHandle; | |
MmioWrite64 ((UINTN)(MipiSystH->systh_platform.TraceHubPlatformData.MmioAddr + 0x0), Data); | |
} | |
/** | |
Clear data in Trace Hub MMIO addr + 0x30. | |
@param[in] MipiSystHandle A pointer to MIPI_SYST_HANDLE structure. | |
**/ | |
VOID | |
EFIAPI | |
MipiSystWriteFlag ( | |
IN VOID *MipiSystHandle | |
) | |
{ | |
MIPI_SYST_HANDLE *MipiSystH; | |
MipiSystH = (MIPI_SYST_HANDLE *)MipiSystHandle; | |
MmioWrite32 ((UINTN)(MipiSystH->systh_platform.TraceHubPlatformData.MmioAddr + 0x30), 0x0); | |
} |