/** @file
Copyright (c) 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _PEI_SYSTEM_BOARD__H_
#define _PEI_SYSTEM_BOARD__H_
#include
#include
#include
#include
#include
#include
#include
///
/// The forward declaration for SYSTEM_BOARD_INFO_PPI.
///
typedef struct _SYSTEM_BOARD_PPI SYSTEM_BOARD_PPI;
/**
SystemIioPortBifurcationInit is used to updating the IIO_GLOBALS Data Structure with IIO
SLOT config data
Bifurcation config data
@param *mSB - pointer to this protocol
@retval *IioUds updated with SLOT and Bifurcation information updated.
**/
typedef
VOID
(EFIAPI *PEI_SYSTEM_IIO_PORT_BIF_INIT) (
IN IIO_GLOBALS *IioGlobalData
);
/**
GetUplinkPortInformation is used to get board based uplink port information
@param IioIndex - Socket ID
@retval PortIndex for uplink.
**/
typedef
UINT8
(EFIAPI *PEI_GET_UPLINK_PORT_INFORMATION) (
IN UINT8 IioIndex
);
struct _SYSTEM_BOARD_PPI {
PEI_SYSTEM_IIO_PORT_BIF_INIT SystemIioPortBifurcationInit; // Update OEM IIO Port Bifurcation based on PlatformConfiguration
PEI_GET_UPLINK_PORT_INFORMATION GetUplinkPortInformation; // Get Uplink port information
};
extern EFI_GUID gEfiPeiSystemBoardPpiGuid;
#endif