/** @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