/** @file This file defines functions that output Trace Hub message. Copyright (c) 2023, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include #include #include #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); }