/** @file Header file for PciExpress Initialization Driver. Copyright (c) 2019 Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _PCIEXPRESS_INITIALIZATION_DRIVER_H_ #define _PCIEXPRESS_INITIALIZATION_DRIVER_H_ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define GEN1 1 #define GEN2 2 /// /// Function prototypes /// /** PCI Express Dxe Initialization. Run before PCI Bus Init, where assignment of Bus, Memory, and I/O Resources are assigned. @param[in] SaPolicy - SA DXE Policy protocol @retval EFI_SUCCESS - Pci Express successfully started and ready to be used @exception EFI_UNSUPPORTED - Pci Express can't be initialized **/ EFI_STATUS PciExpressInit ( IN SA_POLICY_PROTOCOL *SaPolicy ); /** Find the Offset to a given Capabilities ID @param[in] Segment - Pci Segment Number @param[in] Bus - Pci Bus Number @param[in] Device - Pci Device Number @param[in] Function - Pci Function Number @param[in] CapId - CAPID to search fo @retval 0 - CAPID not found @retval Other - CAPID found, Offset of desired CAPID **/ UINT32 PcieFindCapId ( IN UINT8 Segment, IN UINT8 Bus, IN UINT8 Device, IN UINT8 Function, IN UINT8 CapId ); /** Search and return the offset of desired Pci Express Capability ID @param[in] Segment - Pci Segment Number @param[in] Bus - Pci Bus Number @param[in] Device - Pci Device Number @param[in] Function - Pci Function Number @param[in] CapId - Extended CAPID to search for @retval 0 - CAPID not found @retval Other - CAPID found, Offset of desired CAPID **/ UINT32 PcieFindExtendedCapId ( IN UINT8 Segment, IN UINT8 Bus, IN UINT8 Device, IN UINT8 Function, IN UINT16 CapId ); #endif