#ifndef _DRV_HDMI_INTERNAL_H #define _DRV_HDMI_INTERNAL_H #include "drv_types.h" #include "plf_timing_id.h" #include "drv_hdmi_external.h" #if 0 typedef enum { HDMI_AFD_SOURCE_NODATA, HDMI_AFD_SOURCE_4_3, HDMI_AFD_SOURCE_16_9, HDMI_AFD_SOURCE_MAX } HDMI_AFD_SOURCE_ASPECT_t; typedef enum { HDMI_AFD_TYPE_BOX_16_9_TOP = 2, //0010 HDMI_AFD_TYPE_BOX_14_9_TOP = 3, //0011 HDMI_AFD_TYPE_BOX_16_9_CENTER = 4, //0100 HDMI_AFD_TYPE_NONE = 8, //1000 HDMI_AFD_TYPE_4_3_CENTER = 9, //1001 HDMI_AFD_TYPE_16_9_CENTER = 10, //1010 HDMI_AFD_TYPE_14_9_CENTER = 11, //1011 HDMI_AFD_TYPE_RESERVED = 12, //1100 HDMI_AFD_TYPE_4_3_SP_14_9 = 13, //1101 HDMI_AFD_TYPE_16_9_SP_14_9 = 14, //1110 HDMI_AFD_TYPE_16_9_SP_4_3 = 15, //1111 HDMI_AFD_TYPE_MAX } HDMI_AFD_TYPE_t; #endif //HDMI PLL mode typedef enum{ //Common HDMI_PLL_MODE_INIT, //initial HDMI PLL HDMI_PLL_MODE_ON, //turn on power HDMI_PLL_MODE_OFF, //turn off power //HDMI HDMI_PLL_MODE_HDMI_INIT, HDMI_PLL_MODE_HDMI_ENABLE, HDMI_PLL_MODE_HDMI_DISABLE, #if (CONFIG_CHIPID == 0x8506)|| (CONFIG_CHIPID == 0x6710) HDMI_PLL_MODE_HDMI_FREQ_6, HDMI_PLL_MODE_HDMI_FREQ_7_F, HDMI_PLL_MODE_HDMI_FREQ_10_1E, HDMI_PLL_MODE_HDMI_FREQ_1F_32, HDMI_PLL_MODE_HDMI_FREQ_33_3D, HDMI_PLL_MODE_HDMI_FREQ_3E_60, HDMI_PLL_MODE_HDMI_FREQ_61, #elif (CONFIG_CHIPID == 0x533)|| (CONFIG_CHIPID == 0x131) HDMI_PLL_MODE_HDMI_FREQ_6, HDMI_PLL_MODE_HDMI_FREQ_7_E, HDMI_PLL_MODE_HDMI_FREQ_F_1E, HDMI_PLL_MODE_HDMI_FREQ_1F_32, HDMI_PLL_MODE_HDMI_FREQ_33_3F, HDMI_PLL_MODE_HDMI_FREQ_40_60, HDMI_PLL_MODE_HDMI_FREQ_61, #elif (CONFIG_CHIPID == 0x331) || (CONFIG_CHIPID == 0x531) HDMI_PLL_MODE_HDMI_FREQ_6, HDMI_PLL_MODE_HDMI_FREQ_7_A, HDMI_PLL_MODE_HDMI_FREQ_B_19, HDMI_PLL_MODE_HDMI_FREQ_1A_32, HDMI_PLL_MODE_HDMI_FREQ_33_3F, #ifdef CONFIG_HDMI_ADAPTIVE_EQ HDMI_PLL_MODE_HDMI_FREQ_33_3F_MODE2, #endif HDMI_PLL_MODE_HDMI_FREQ_40_60, HDMI_PLL_MODE_HDMI_FREQ_61, #endif //DEMOD HDMI_PLL_MODE_ADEMOD_INIT, HDMI_PLL_MODE_ADEMOD_ENABLE, HDMI_PLL_MODE_ADEMOD_DISABLE, HDMI_PLL_MODE_DDEMOD_INIT, HDMI_PLL_MODE_DDEMOD_ENABLE_LDO_SETTING, HDMI_PLL_MODE_DDEMOD_DISABLE, }HDMI_PLL_MODE_e; enum { HDMI_NORMAL=0 , HDMI_PD , }; enum { VERTICES = 0, GAMUT_RANGE, }; enum { xvYCC_RGB=0, xvYCC601, xvYCC709, XYZ, xvYCC_UNKNOWN_METRY, NoxvYCC = 0xff, }; typedef struct _xvYccVertices { UINT16 usBlack_MAP_Y; UINT16 usBlack_MAP_Cb; UINT16 usBlack_MAP_Cr; UINT16 usRed_MAP_Y; UINT16 usRed_MAP_Cb; UINT16 usRed_MAP_Cr; UINT16 usGreen_MAP_Y; UINT16 usGreen_MAP_Cb; UINT16 usGreen_MAP_Cr; UINT16 usBlue_MAP_Y; UINT16 usBlue_MAP_Cb; UINT16 usBlue_MAP_Cr; }xvYccVertices; typedef struct _xvYccGamutRange { UINT16 usMin_Red_data; UINT16 usMax_Red_data; UINT16 usMin_Green_data; UINT16 usMax_Green_data; UINT16 usMin_Blue_data; UINT16 usMax_Blue_data; }xvYccGamutRange; typedef struct _VIP_xvYccData { UINT8 ucFormat; //0:VERTICES 1:GAMUT_RANGE UINT8 ucGBD_Color_Space; //0:xvYCC_RGB 1:xvYCC601 2:xvYCC709 3:XYZ 4:xvYCC_UNKNOWN_METRY UINT8 ucGBD_Color_Precision; //8bit, 10bit, 12bit xvYccVertices Vertices; xvYccGamutRange GamutRange; }VIP_xvYccData, *PVIP_xvYccData; typedef enum { HDMI_POWER_OFF_REASON_KEYPAD= 1, HDMI_POWER_OFF_REASON_REMOTE_IR , HDMI_POWER_OFF_REASON_NOSIGNAL , HDMI_POWER_OFF_OPTION_MAX , }HDMI_POWER_OFF_OPTION; /* HDMI basic function calls */ void DRV_HDMI_SW_HDCP_RSTN(void); void DRV_HDMI_Power(BOOL bPwr); void DRV_HDMI_IR_PowerOff(UINT32 power_down_option); INT32 DRV_HDMI_Init(void); void DRV_HDMI_Exit(void); INT32 DRV_HDMI_Enable(INT32 src); void DRV_HDMI_Disable(void); BOOL DRV_HDMI_IsHDMIMode( void ); /* HDMI Audio related function calls */ void DRV_HDMI_AudioEnable(void); void DRV_HDMI_AudioDisable(void); void DRV_HDMI_AudioRestart(void); void DRV_HDMI_AudioSetOutputPath(UINT8 menu_select); /* HDCP Key related function calls */ BOOL DRV_HDMI_CheckHdcpKey( void ); void DRV_HDMI_UpdateHDCPKey( UINT8 *key_ptr ); void DRV_HDMI_GetHDCPKeyKSV( UINT8 *ksv ); #ifdef CONFIG_SUPPORT_STORE_HDCP2X_TO_FLASH void DRV_HDMI_UpdateHDCP2XKey(UINT8 *key_ptr); #endif /* MHL Receive IR Key */ #if (CONFIG_CHIPID!=0x330) #ifdef CONFIG_HDMI_SUPPORT_MHL void DRV_MHL_SendRcpCmd(MHL_RCP_CMD_e eRcpCmd); void DRV_MHL_SendRcpPressAndHoldCmd(MHL_RCP_CMD_e eRcpCmd ,BOOL fPress); void DRV_MHL_GetMHLAppInstanceData(MHLAppInstanceData_t * pMHLdata); #endif #endif /* Customize */ void DRV_HDMI_SetCustomization(HDMI_Customize_st stHdmi_customize); //Set HDMI customization setting /* set HDMI PLL for HDMI/DEMOD */ void HDMI_Set_PLL_Mode(HDMI_PLL_MODE_e eHDMI_PLL_MODE); /* set DEMOD Clock Div and Gain Bit*/ void HDMI_Set_Demod_Clock_Div(UINT8 FEBDIV, UINT8 PLLGainBit); /*get HDMI PLL register status*/ UINT8 HDMI_Get_HDMI_LDO_PWD(void); UINT8 HDMI_Get_HDMI_PLL_PWDN_DEMOD(void); UINT8 HDMI_Get_HDMI_COMP_PD(void); UINT8 HDMI_Get_HDMI_PLL_RESETJ(void); UINT8 HDMI_Get_HDMI_DEMOD_EN(void); UINT8 HDMI_Get_HDMI_R_SP5_PLL_CTP_PWDJ(void); /* set HDMI EQ */ void HDMI_Set_EQ_Mode(HDMI_EQ_INDEX_e eHDMI_EQ_MODE); #ifdef CONFIG_SUPPORT_DOLBY_AUDIO /* set HDMI EDID Atmos */ void HDMI_Set_EDID_ATMOS_Mode(BOOL eATMOS); void HDMI_Change_EDID_DD_Plus_Data(BOOL Atmos_Mode); #endif #endif /* __DRV_HDMI_H__ */