|
@@ -16,116 +16,7 @@
|
|
|
#ifndef _SERDES_LIB_H_
|
|
|
#define _SERDES_LIB_H_
|
|
|
|
|
|
-typedef enum {
|
|
|
- EmHilink0Hccs1X8 = 0,
|
|
|
- EmHilink0Pcie1X8 = 2,
|
|
|
- EmHilink0Pcie1X4Pcie2X4 = 3,
|
|
|
- EmHilink0Sas2X8 = 4,
|
|
|
- EmHilink0Hccs1X8Width16,
|
|
|
- EmHilink0Hccs1X8Width32,
|
|
|
-} HILINK0_MODE_TYPE;
|
|
|
-
|
|
|
-typedef enum {
|
|
|
- EmHilink1Sas2X1 = 0,
|
|
|
- EmHilink1Hccs0X8 = 1,
|
|
|
- EmHilink1Pcie0X8 = 2,
|
|
|
- EmHilink1Hccs0X8Width16,
|
|
|
- EmHilink1Hccs0X8Width32,
|
|
|
-} HILINK1_MODE_TYPE;
|
|
|
-
|
|
|
-typedef enum {
|
|
|
- EmHilink2Pcie2X8 = 0,
|
|
|
- EmHilink2Sas0X8 = 2,
|
|
|
-} HILINK2_MODE_TYPE;
|
|
|
-
|
|
|
-typedef enum {
|
|
|
- EmHilink5Pcie3X4 = 0,
|
|
|
- EmHilink5Pcie2X2Pcie3X2 = 1,
|
|
|
- EmHilink5Sas1X4 = 2,
|
|
|
-} HILINK5_MODE_TYPE;
|
|
|
-
|
|
|
-typedef enum {
|
|
|
- Em32coreEvbBoard = 0,
|
|
|
- Em16coreEvbBoard = 1,
|
|
|
- EmV2R1CO5Borad = 2,
|
|
|
- EmOtherBorad
|
|
|
-} BOARD_TYPE;
|
|
|
-
|
|
|
-
|
|
|
-typedef struct {
|
|
|
- HILINK0_MODE_TYPE Hilink0Mode;
|
|
|
- HILINK1_MODE_TYPE Hilink1Mode;
|
|
|
- HILINK2_MODE_TYPE Hilink2Mode;
|
|
|
- UINT32 Hilink3Mode;
|
|
|
- UINT32 Hilink4Mode;
|
|
|
- HILINK5_MODE_TYPE Hilink5Mode;
|
|
|
- UINT32 Hilink6Mode;
|
|
|
- UINT32 UseSsc;
|
|
|
-} SERDES_PARAM;
|
|
|
-
|
|
|
-
|
|
|
-#define SERDES_INVALID_MACRO_ID 0xFFFFFFFF
|
|
|
-#define SERDES_INVALID_LANE_NUM 0xFFFFFFFF
|
|
|
-#define SERDES_INVALID_RATE_MODE 0xFFFFFFFF
|
|
|
-
|
|
|
-typedef struct {
|
|
|
- UINT32 MacroId;
|
|
|
- UINT32 DsNum;
|
|
|
- UINT32 DsCfg;
|
|
|
-} SERDES_POLARITY_INVERT;
|
|
|
-
|
|
|
-EFI_STATUS OemGetSerdesParam (SERDES_PARAM *ParamA, SERDES_PARAM *ParamB, UINT32 SocketId);
|
|
|
-extern SERDES_POLARITY_INVERT gSerdesPolarityTxDesc[];
|
|
|
-extern SERDES_POLARITY_INVERT gSerdesPolarityRxDesc[];
|
|
|
-UINT32 GetEthType(UINT8 EthChannel);
|
|
|
-
|
|
|
EFI_STATUS
|
|
|
EfiSerdesInitWrap (VOID);
|
|
|
|
|
|
-void SRE_SerdesEnableCTLEDFE(UINT32 macro, UINT32 lane, UINT32 ulDsCfg);
|
|
|
-
|
|
|
-//EYE test
|
|
|
-UINT32 serdes_eye_test(UINT32 uwMacroId, UINT32 uwDsNum, UINT32 eyemode, UINT32 scanwindowvalue, UINT32 uwRateData);
|
|
|
-
|
|
|
-UINT32 Serdes_ReadBert(UINT32 ulMacroId , UINT32 ulDsNum);
|
|
|
-
|
|
|
-//PRBS test
|
|
|
-int serdes_prbs_test(UINT8 macro, UINT8 lane, UINT8 prbstype);
|
|
|
-
|
|
|
-int serdes_prbs_test_cancle(UINT8 macro,UINT8 lane);
|
|
|
-
|
|
|
-//CTLE/DFE
|
|
|
-void serdes_ctle_adaptation_close(UINT32 macro,UINT32 lane);
|
|
|
-
|
|
|
-void serdes_ctle_adaptation_open(UINT32 macro,UINT32 lane);
|
|
|
-
|
|
|
-void serdes_dfe_adaptation_close(UINT32 macro,UINT32 lane);
|
|
|
-
|
|
|
-void serdes_dfe_adaptation_open(UINT32 macro,UINT32 lane);
|
|
|
-
|
|
|
-void serdes_ctle_dfe_reset(UINT32 macro,UINT32 lane);
|
|
|
-//int serdes_reset(UINT32 macro);
|
|
|
-//int serdes_release_reset(UINT32 macro);
|
|
|
-void Custom_Wave(UINT32 macro,UINT32 lane,UINT32 mode);
|
|
|
-void serdes_ffe_show(UINT32 macro,UINT32 lane);
|
|
|
-void serdes_dfe_show(UINT32 macro,UINT32 lane);
|
|
|
-int serdes_read_bert(UINT8 macro, UINT8 lane);
|
|
|
-void serdes_clean_bert(UINT8 macro, UINT8 lane);
|
|
|
-int serdes_get_four_point_eye_diagram(UINT32 macro, UINT32 lane,UINT32 eyemode, UINT32 data_rate);
|
|
|
-void serdes_release_mcu(UINT32 macro,UINT32 val);
|
|
|
-int hilink_write(UINT32 macro, UINT32 reg, UINT32 value);
|
|
|
-int hilink_read(UINT32 macro, UINT32 reg, UINT32 *value);
|
|
|
-int serdes_tx_to_rx_parallel_loopback(UINT8 macro,UINT8 lane,UINT8 val);//TXRXPARLPBKEN
|
|
|
-int serdes_rx_to_tx_parallel_loopback(UINT8 macro,UINT8 lane,UINT8 val);
|
|
|
-int serdes_tx_to_rx_serial_loopback(UINT8 macro,UINT8 lane,UINT8 val);
|
|
|
-void serdes_ctle_show(UINT32 macro,UINT32 lane);
|
|
|
-int serdes_cs_write(UINT32 macro,UINT32 cs_num,UINT32 reg_num,UINT32 bit_high,UINT32 bit_low,UINT32 value);
|
|
|
-UINT32 serdes_cs_read(UINT32 macro,UINT32 cs_num,UINT32 reg_num);
|
|
|
-int serdes_ds_write(UINT32 macro,UINT32 ds_num,UINT32 ds_index,UINT32 reg_num,UINT32 bit_high,UINT32 bit_low,UINT32 value);
|
|
|
-int serdes_ds_read(UINT32 macro,UINT32 ds_num,UINT32 ds_index,UINT32 reg_num);
|
|
|
-int report_serdes_mux(void);
|
|
|
-int serdes_key_reg_show(UINT32 macro);
|
|
|
-void serdes_state_show(UINT32 macro);
|
|
|
-UINT32 Serdes_ReadBert(UINT32 ulMacroId , UINT32 ulDsNum);
|
|
|
-
|
|
|
#endif
|