/* $NoKeywords */ /** * @file * * AmdSataInitLib.h * * Public SATA PHY layer initilization and training routines for Serdes registers. * * @xrefitem bom "File Content Label" "Release Content" * @e project: FDK * @e sub-project: UEFI * @e version: $Revision: 338015 $ @e date: $Date: 2016-04-04 10:40:16 -0500 (Mon, 04 Apr 2016) $ * */ /***************************************************************************** * * Copyright 2013 - 2016 ADVANCED MICRO DEVICES, INC. All Rights Reserved. * * This program and the accompanying materials are licensed and made available * under the terms and conditions of the BSD License which accompanies this * distribution. The full text of the license may be found at * http://opensource.org/licenses/bsd-license.php * * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR * IMPLIED. * ***************************************************************************/ #ifndef _AMD_SATA_INIT_LIB_H_ #define _AMD_SATA_INIT_LIB_H_ #ifdef __cplusplus extern "C" { #endif /** *--------------------------------------------------------------------------------------- * * SataPhyInit * * Description: * Library call that trains the SATA PHY. * * Control flow: * 1. Initialize variables * 2. Continue to set Serdes bits while not locked * * Parameters: * @param[in] cmu_number Cmu block number. Port 0,1 belongs to CMU 0 * @param[in] EvenPortGen Port Gen value for even port in given CMU * @param[in] OddPortGen Port Gen Value for Odd Port in given CMU * * @return VOID * *------------------------------------------------------------------------------------ **/ VOID EFIAPI SataPhyInit ( IN UINT32 cmu_number, IN UINT32 EvenPortGen, IN UINT32 OddPortGen ); /** *--------------------------------------------------------------------------------------- * * SetCwMinSata0 * * Description: * * Parameters: * @param[in] Portnum Port number * * @return VOID * *------------------------------------------------------------------------------------ **/ VOID EFIAPI SetCwMinSata0 ( IN UINT32 Portnum ); /** *--------------------------------------------------------------------------------------- * * SetCwMinSata1 * * Description: * * Parameters: * @param[in] Portnum Port number * * @return VOID * *------------------------------------------------------------------------------------ **/ VOID EFIAPI SetCwMinSata1 ( IN UINT32 Portnum ); /** *--------------------------------------------------------------------------------------- * * SetPrdSingleSata0 * * Description: * * Parameters: * @param[in] Portnum Port number * * @return VOID * *------------------------------------------------------------------------------------ **/ VOID EFIAPI SetPrdSingleSata0 ( IN UINT32 Portnum ); /** *--------------------------------------------------------------------------------------- * * SetPrdSingleSata1 * * Description: * * Parameters: * @param[in] Portnum Port number * * @return VOID * *------------------------------------------------------------------------------------ **/ VOID EFIAPI SetPrdSingleSata1 ( IN UINT32 Portnum ); /****** DO NOT WRITE BELOW THIS LINE *******/ #ifdef __cplusplus } #endif #endif