aboutsummaryrefslogtreecommitdiffstats
path: root/Platforms/AMD/Styx/Binary/AmdModulePkg/Include/Library/AmdSataInitLib.h
diff options
context:
space:
mode:
Diffstat (limited to 'Platforms/AMD/Styx/Binary/AmdModulePkg/Include/Library/AmdSataInitLib.h')
-rw-r--r--Platforms/AMD/Styx/Binary/AmdModulePkg/Include/Library/AmdSataInitLib.h150
1 files changed, 150 insertions, 0 deletions
diff --git a/Platforms/AMD/Styx/Binary/AmdModulePkg/Include/Library/AmdSataInitLib.h b/Platforms/AMD/Styx/Binary/AmdModulePkg/Include/Library/AmdSataInitLib.h
new file mode 100644
index 0000000..a5a6039
--- /dev/null
+++ b/Platforms/AMD/Styx/Binary/AmdModulePkg/Include/Library/AmdSataInitLib.h
@@ -0,0 +1,150 @@
+/* $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
+