/** @file
Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _BOARD_INIT_LIB_H_
#define _BOARD_INIT_LIB_H_
#include
#include
/**
This board service detects the board type.
@retval EFI_SUCCESS The board was detected successfully.
@retval EFI_NOT_FOUND The board could not be detected.
**/
EFI_STATUS
EFIAPI
BoardDetect (
VOID
);
/**
This board service initializes board-specific debug devices.
@retval EFI_SUCCESS Board-specific debug initialization was successful.
@retval EFI_NOT_READY The board has not been detected yet.
**/
EFI_STATUS
EFIAPI
BoardDebugInit (
VOID
);
/**
This board service detects the boot mode.
@retval EFI_BOOT_MODE The boot mode.
@retval EFI_NOT_READY The board has not been detected yet.
**/
EFI_BOOT_MODE
EFIAPI
BoardBootModeDetect (
VOID
);
/**
A hook for board-specific initialization prior to memory initialization.
@retval EFI_SUCCESS The board initialization was successful.
@retval EFI_NOT_READY The board has not been detected yet.
**/
EFI_STATUS
EFIAPI
BoardInitBeforeMemoryInit (
VOID
);
/**
A hook for board-specific initialization after memory initialization.
@retval EFI_SUCCESS The board initialization was successful.
@retval EFI_NOT_READY The board has not been detected yet.
**/
EFI_STATUS
EFIAPI
BoardInitAfterMemoryInit (
VOID
);
/**
A hook for board-specific initialization prior to disabling temporary RAM.
@retval EFI_SUCCESS The board initialization was successful.
@retval EFI_NOT_READY The board has not been detected yet.
**/
EFI_STATUS
EFIAPI
BoardInitBeforeTempRamExit (
VOID
);
/**
A hook for board-specific initialization after disabling temporary RAM.
@retval EFI_SUCCESS The board initialization was successful.
@retval EFI_NOT_READY The board has not been detected yet.
**/
EFI_STATUS
EFIAPI
BoardInitAfterTempRamExit (
VOID
);
/**
A hook for board-specific initialization prior to silicon initialization.
@retval EFI_SUCCESS The board initialization was successful.
@retval EFI_NOT_READY The board has not been detected yet.
**/
EFI_STATUS
EFIAPI
BoardInitBeforeSiliconInit (
VOID
);
/**
A hook for board-specific initialization after silicon initialization.
@retval EFI_SUCCESS The board initialization was successful.
@retval EFI_NOT_READY The board has not been detected yet.
**/
EFI_STATUS
EFIAPI
BoardInitAfterSiliconInit (
VOID
);
/**
A hook for board-specific initialization after PCI enumeration.
@retval EFI_SUCCESS The board initialization was successful.
@retval EFI_NOT_READY The board has not been detected yet.
**/
EFI_STATUS
EFIAPI
BoardInitAfterPciEnumeration (
VOID
);
/**
A hook for board-specific functionality for the ReadyToBoot event.
@retval EFI_SUCCESS The board initialization was successful.
@retval EFI_NOT_READY The board has not been detected yet.
**/
EFI_STATUS
EFIAPI
BoardInitReadyToBoot (
VOID
);
/**
A hook for board-specific functionality for the ExitBootServices event.
@retval EFI_SUCCESS The board initialization was successful.
@retval EFI_NOT_READY The board has not been detected yet.
**/
EFI_STATUS
EFIAPI
BoardInitEndOfFirmware (
VOID
);
#endif