/**
 * @file hv_cal_EdpTxCommon.h
 * @brief Header file of CAL EdpTx common sturct.
 * 
 * @verbatim
 * ==============================================================================
 *                        ##### How to use #####
 * ==============================================================================
 * 
 * 
 * @endverbatim
 *
 * @author HiView SoC Software Team
 * @version 0.0.1
 * @date 2022-10-12
 */
#ifndef _HV_CAL_EDPTX_COMMON_H_
#define _HV_CAL_EDPTX_COMMON_H_
#include "hv_comm_DataType.h"
#include "hv_comm_Define.h"

#define  HV_MAX_DPCD_WRRD_LEN   16


typedef struct _HvEdpTxTopCfgParam
{
    UCHAR8          ucEdpTxBitMode;
    UINT32          uiEdpTxDataSymbolNum;
    UINT32          uiEdpTxMvid;
    UINT32          uiEdpTxNvid;
    UINT32          uiEdpTxMsaHTotal;
    UINT32          uiEdpTxMsaVTotal;
    USHORT16        usEdpTxMasHact;
    USHORT16        usEdpTxMasVact;
    USHORT16        usEdpTxMasHbPorch;
    USHORT16        usEdpTxMasVbPorch;
    USHORT16        usEdpTxMasHsWidth;
    USHORT16        usEdpTxMasVsWidth;
    BOOL            bEdpTxMasHsPolarity;
    BOOL            bEdpTxMasVsPolarity;
    UCHAR8          ucEdpTxLaneNum;
    UCHAR8          ucEdpTxMisc0;
    UINT64          uiEdpTxTuDataSize;
    USHORT16        usEdpTxDhDenSta;
    USHORT16        usEdpTxDvDenSta;
    USHORT16        usEdpTxDvDenEnd;
    USHORT16        usEdpTxMsaLineIdx;
    USHORT16        usEdpTxPixSymbolNum;
    USHORT16        usAuxS2PClkRatio;
    UCHAR8          ucAuxGlitchTh;
    UCHAR8          ucEdpTxMvidMode;
}HvEdpTxTopCfgParam;

typedef struct _HvEdpTxAuxTransInfo
{
    UINT32          uiAuxAddr;
    EdpAuxPortIndex enEdpAuxPortIndex;
    UCHAR8          ucAuxCmd;
    UCHAR8          ucDataLen;
    UCHAR8          aucData[HV_MAX_DPCD_WRRD_LEN];
}HvEdpTxAuxTransInfo;

typedef struct _HvEdpTxTrainingInputParam
{
    UINT32          uiAuxDelay;
    UCHAR8          ucLaneCount;
    UCHAR8          ucLinkRate;
    EdpTxPortIndex  enEdpTxPortIndex;
    EdpAuxPortIndex enEdpAuxPortIndex;
    EdpHpdPortIndex enEdpHpdPortIndex;
}HvEdpTxTrainingInputParam;

#endif
