0
0
mirror of https://github.com/edk2-porting/edk2-msm synced 2025-05-13 18:32:55 +00:00
Files
2023-08-20 14:51:21 +08:00

48 lines
1.3 KiB
C

#include <Library/ArmGicLib.h>
#include <Library/ArmLib.h>
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/DebugLib.h>
#include <Library/HobLib.h>
#include <Library/IoLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/PcdLib.h>
#include <Library/PrintLib.h>
#include <Library/SerialPortLib.h>
#include <Library/MemoryMapHelperLib.h>
#include <Library/PlatformPrePiLib.h>
#include "PlatformUtils.h"
VOID InitializeSharedUartBuffers(VOID)
{
INTN *pFbConPosition =
(INTN
*)(FixedPcdGet32(PcdMipiFrameBufferAddress) + (FixedPcdGet32(PcdMipiFrameBufferWidth) * FixedPcdGet32(PcdMipiFrameBufferHeight) * FixedPcdGet32(PcdMipiFrameBufferPixelBpp) / 8));
*(pFbConPosition + 0) = 0;
*(pFbConPosition + 1) = 0;
}
VOID UartInit(VOID)
{
SerialPortInitialize();
InitializeSharedUartBuffers();
DEBUG((EFI_D_INFO, "\nRenegade Project edk2-msm (AArch64)\n"));
DEBUG(
(EFI_D_INFO, "Firmware version %s built %a %a\n\n",
(CHAR16 *)PcdGetPtr(PcdFirmwareVersionString), __TIME__, __DATE__));
}
VOID PlatformInitialize(VOID)
{
// Initialize UART Serial
UartInit();
// Initialize GIC
MmioWrite32(
GICR_WAKER_CURRENT_CPU,
(MmioRead32(GICR_WAKER_CURRENT_CPU) & ~GIC_WAKER_PROCESSORSLEEP));
}