/** @file
Kaby Lake RVP 3 Multi-Board Initialization Pre-Memory library
Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include
#include
#include
#include
#include
#include
#include
#include
EFI_STATUS
EFIAPI
KabylakeRvp3BoardDetect (
VOID
);
EFI_STATUS
EFIAPI
KabylakeRvp3MultiBoardDetect (
VOID
);
EFI_BOOT_MODE
EFIAPI
KabylakeRvp3BoardBootModeDetect (
VOID
);
EFI_STATUS
EFIAPI
KabylakeRvp3BoardDebugInit (
VOID
);
EFI_STATUS
EFIAPI
KabylakeRvp3BoardInitBeforeMemoryInit (
VOID
);
BOARD_DETECT_FUNC mKabylakeRvp3BoardDetectFunc = {
KabylakeRvp3MultiBoardDetect
};
BOARD_PRE_MEM_INIT_FUNC mKabylakeRvp3BoardPreMemInitFunc = {
KabylakeRvp3BoardDebugInit,
KabylakeRvp3BoardBootModeDetect,
KabylakeRvp3BoardInitBeforeMemoryInit,
NULL, // BoardInitAfterMemoryInit
NULL, // BoardInitBeforeTempRamExit
NULL, // BoardInitAfterTempRamExit
};
EFI_STATUS
EFIAPI
KabylakeRvp3MultiBoardDetect (
VOID
)
{
KabylakeRvp3BoardDetect ();
if ((LibPcdGetSku () == BoardIdKabyLakeYLpddr3Rvp3) || (LibPcdGetSku () == BoardIdSkylakeRvp3)) {
RegisterBoardPreMemInit (&mKabylakeRvp3BoardPreMemInitFunc);
}
return EFI_SUCCESS;
}
EFI_STATUS
EFIAPI
PeiKabylakeRvp3MultiBoardInitPreMemLibConstructor (
VOID
)
{
return RegisterBoardDetect (&mKabylakeRvp3BoardDetectFunc);
}