/** @file Header file for PchHsioLib. Copyright (c) 2017, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _PCH_HSIO_LIB_H_ #define _PCH_HSIO_LIB_H_ /** Represents HSIO lane **/ typedef struct { UINT8 Index; ///< Lane index UINT8 Pid; ///< Sideband ID UINT16 Base; ///< Sideband base address } HSIO_LANE; /** The function returns the Port Id and lane owner for the specified lane @param[in] PhyMode Phymode that needs to be checked @param[out] Pid Common Lane End Point ID @param[out] LaneOwner Lane Owner @retval EFI_SUCCESS Read success @retval EFI_INVALID_PARAMETER Invalid lane number **/ EFI_STATUS EFIAPI PchGetLaneInfo ( IN UINT32 LaneNum, OUT UINT8 *PortId, OUT UINT8 *LaneOwner ); /** Get HSIO lane representation needed to perform any operation on the lane. @param[in] LaneIndex Number of the HSIO lane @param[out] HsioLane HSIO lane representation **/ VOID HsioGetLane ( IN UINT8 LaneIndex, OUT HSIO_LANE *HsioLane ); /** Determine the lane number of a specified port @param[in] PcieLaneIndex PCIE Root Port Lane Index @param[out] LaneNum Lane Number @retval EFI_SUCCESS Lane number valid. @retval EFI_UNSUPPORTED Incorrect input device port **/ EFI_STATUS PchGetPcieLaneNum ( UINT32 PcieLaneIndex, UINT8 *LaneNum ); /** Determine the lane number of a specified port @param[in] SataLaneIndex Sata Lane Index @param[out] LaneNum Lane Number @retval EFI_SUCCESS Lane number valid. @retval EFI_UNSUPPORTED Incorrect input device port **/ EFI_STATUS PchGetSataLaneNum ( UINT32 SataLaneIndex, UINT8 *LaneNum ); /** Determine the lane number of a specified port @param[in] Usb3LaneIndex USB3 Lane Index @param[out] LaneNum Lane Number @retval EFI_SUCCESS Lane number valid. @retval EFI_UNSUPPORTED Incorrect input device port **/ EFI_STATUS PchGetUsb3LaneNum ( UINT32 Usb3LaneIndex, UINT8 *LaneNum ); /** Determine the lane number of a specified port @param[out] LaneNum GBE Lane Number @retval EFI_SUCCESS Lane number valid. @retval EFI_UNSUPPORTED Incorrect input device port **/ EFI_STATUS PchGetGbeLaneNum ( UINT8 *LaneNum ); #endif // _PCH_HSIO_LIB_H_