/** @file Header file for SataLib. Copyright (c) 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _SATA_LIB_H_ #define _SATA_LIB_H_ #define SATA_1_CONTROLLER_INDEX 0 #define SATA_2_CONTROLLER_INDEX 1 #define SATA_3_CONTROLLER_INDEX 2 /** Get Maximum Sata Port Number @param[in] SataCtrlIndex SATA controller index @retval Maximum Sata Port Number **/ UINT8 MaxSataPortNum ( IN UINT32 SataCtrlIndex ); /** Gets Maximum Sata Controller Number @retval Maximum Sata Controller Number **/ UINT8 MaxSataControllerNum ( VOID ); /** Get SATA controller's Port Present Status @param[in] SataCtrlIndex SATA controller index @retval Port Present Status **/ UINT8 GetSataPortPresentStatus ( IN UINT32 SataCtrlIndex ); /** Get SATA controller Function Disable Status @param[in] SataCtrlIndex SATA controller index @retval 0 SATA Controller is not Function Disabled @retval 1 SATA Controller is Function Disabled **/ BOOLEAN SataControllerFunctionDisableStatus ( IN UINT32 SataCtrlIndex ); /** Get SATA controller ABAR size @param[in] SataCtrlIndex SATA controller index @retval SATA controller ABAR size **/ UINT32 GetSataAbarSize ( IN UINT32 SataCtrlIndex ); /** Get SATA controller AHCI base address @param[in] SataCtrlIndex SATA controller index @retval SATA controller AHCI base address **/ UINT32 GetSataAhciBase ( IN UINT32 SataCtrlIndex ); /** Check if SATA controller supports RST remapping @param[in] SataCtrlIndex SATA controller index @retval TRUE Controller supports remapping @retval FALSE Controller does not support remapping **/ BOOLEAN IsRemappingSupportedOnSata ( IN UINT32 SataCtrlIndex ); /** Checks if SoC supports the SATA PGD power down on given SATA controller. @param[in] SataCtrlIndex SATA controller index @retval TRUE SATA PGD power down supported @retval FALSE SATA PGD power down not supported **/ BOOLEAN IsSataPowerGatingSupported ( IN UINT32 SataCtrlIndex ); #endif // _SATA_LIB_H_