/** @file Pch SATA library. All function in this library is available for PEI, DXE, and SMM, But do not support UEFI RUNTIME environment call. Copyright (c) 2019 Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include #include #include #include #include #include #include /** Get Maximum Sata Controller Number @param[in] None @retval Maximum Sata Controller Number **/ UINT8 GetPchMaxSataControllerNum ( VOID ) { return 1; } /** Get Pch Maximum Sata Port Number @param[in] SataCtrlIndex SATA controller index @retval Pch Maximum Sata Port Number **/ UINT8 GetPchMaxSataPortNum ( IN UINT32 SataCtrlIndex ) { ASSERT (SataCtrlIndex < GetPchMaxSataControllerNum ()); if (IsPchLp ()) { return 3; } else { return 8; } } /** Get SATA controller PCIe Device Number @param[in] SataCtrlIndex SATA controller index @retval SATA controller PCIe Device Number **/ UINT8 GetSataPcieDeviceNum ( IN UINT32 SataCtrlIndex ) { ASSERT (SataCtrlIndex < GetPchMaxSataControllerNum ()); return PCI_DEVICE_NUMBER_PCH_SATA; } /** Get SATA controller PCIe Function Number @param[in] SataCtrlIndex SATA controller index @retval SATA controller PCIe Function Number **/ UINT8 GetSataPcieFunctionNum ( IN UINT32 SataCtrlIndex ) { ASSERT (SataCtrlIndex < GetPchMaxSataControllerNum ()); return PCI_FUNCTION_NUMBER_PCH_SATA; }