/** @file
Tiger Lake U RVP Multi-Board Initialization Pre-Memory library
Copyright (c) 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include
#include
#include
#include
#include
#include
#include
#include
EFI_STATUS
EFIAPI
TigerlakeURvpBoardDetect (
VOID
);
EFI_STATUS
EFIAPI
TigerlakeURvpMultiBoardDetect (
VOID
);
EFI_BOOT_MODE
EFIAPI
TigerlakeURvpBoardBootModeDetect (
VOID
);
EFI_STATUS
EFIAPI
TigerlakeURvpBoardDebugInit (
VOID
);
EFI_STATUS
EFIAPI
TigerlakeURvpBoardInitBeforeMemoryInit (
VOID
);
BOARD_DETECT_FUNC mTigerlakeURvpBoardDetectFunc = {
TigerlakeURvpMultiBoardDetect
};
BOARD_PRE_MEM_INIT_FUNC mTigerlakeURvpBoardPreMemInitFunc = {
TigerlakeURvpBoardDebugInit,
TigerlakeURvpBoardBootModeDetect,
TigerlakeURvpBoardInitBeforeMemoryInit,
NULL, // BoardInitAfterMemoryInit
NULL, // BoardInitBeforeTempRamExit
NULL, // BoardInitAfterTempRamExit
};
EFI_STATUS
EFIAPI
TigerlakeURvpMultiBoardDetect (
VOID
)
{
DEBUG ((DEBUG_INFO, " In TglUMultiBoardDetect \n"));
TigerlakeURvpBoardDetect ();
if (LibPcdGetSku () == SkuIdTglU) {
RegisterBoardPreMemInit (&mTigerlakeURvpBoardPreMemInitFunc);
} else {
DEBUG ((DEBUG_WARN,"Not a Valid TigerLake U Board\n"));
}
return EFI_SUCCESS;
}
EFI_STATUS
EFIAPI
PeiTigerlakeURvpMultiBoardInitPreMemLibConstructor (
VOID
)
{
return RegisterBoardDetect (&mTigerlakeURvpBoardDetectFunc);
}