/** @file
|
Header file for PchHsioLib.
|
|
Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
|
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_
|