/**
 * @file hv_cal_EdpTx.h
 * @brief Header file of CAL EdpTx sturct.
 * 
 * @verbatim
 * ==============================================================================
 *                        ##### How to use #####
 * ==============================================================================
 * 
 * 
 * @endverbatim
 *
 * @author HiView SoC Software Team
 * @version 0.0.1
 * @date 2022-10-12
 */

#ifndef __HV_CAL_EDP_TX_H__
#define __HV_CAL_EDP_TX_H__
#include "hv_comm_DataType.h"
#include "hv_cal_EdpTxCommon.h"
#include "hv_comm_Define.h"

/**
 * @brief EDP fix settings.
 */
VOID Hv_Cal_EdpTx_FixSettings(VOID);

/**
 * @brief EDP tps1Done settings.
 */
VOID Hv_Cal_EdpTx_Tps1Done(BOOL bDone);

/**
 * @brief EDP EqDone settings.
 */
VOID Hv_Cal_EdpTx_EqDone(BOOL bDone);

/**
 * @brief Get abp clock.
 */
UINT32 Hv_Cal_EdpTx_GetApbClock(VOID);

/**
 * @brief EDP AUX fix settings.
 */
VOID Hv_Cal_EdpTx_SetAuxAnaCfg(VOID);

/**
 * @brief edp fix settings.
 * @param[in] stEdpTxCfgParam E4 - edptx_top_reg_00 Param.
 */
VOID Hv_Cal_EdpTx_SetTopCfg(HvEdpTxTopCfgParam stEdpTxCfgParam);

/**
 * @brief edp Main Link Enable.
 */
VOID Hv_Cal_EdpTx_MainLinkEn(BOOL bEn);

/**
 * @brief edp pif reset enable.
 */
VOID Hv_Cal_EdpTx_PifRst(BOOL bEn);

/**
 * @brief edp pif clk enable.
 */
VOID Hv_Cal_EdpTx_PifEn(BOOL bEn);

/**
 * @brief software calculate edp Mvid.
 */
VOID Hv_Cal_EdpTx_SetEdpTxMvid(UINT32 uiMvid);

VOID Hv_Cal_EdpTx_SetEdpAutoCalc(BOOL bEn);

/**
 * @brief software calculate edp tu valid size.
 */
VOID Hv_Cal_EdpTx_SetEdpTxTuSize(UINT32 uiTuSize);

EdpTxInterruptDefine Hv_Cal_EdpTx_GetHpdInt(VOID);

VOID Hv_Cal_EdpTx_ClearHpdInt();

VOID Hv_Cal_EdpTx_SetEdpHpqIrqEn(BOOL bEn, UCHAR8 ucPort);

VOID Hv_Cal_EdpTx_SetAuxPnSwap(EdpTxPortIndex enPort, BOOL bEn);

#endif
