1*53ee8cc1Swenshuai.xi //<MStar Software> 2*53ee8cc1Swenshuai.xi //****************************************************************************** 3*53ee8cc1Swenshuai.xi // MStar Software 4*53ee8cc1Swenshuai.xi // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved. 5*53ee8cc1Swenshuai.xi // All software, firmware and related documentation herein ("MStar Software") are 6*53ee8cc1Swenshuai.xi // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by 7*53ee8cc1Swenshuai.xi // law, including, but not limited to, copyright law and international treaties. 8*53ee8cc1Swenshuai.xi // Any use, modification, reproduction, retransmission, or republication of all 9*53ee8cc1Swenshuai.xi // or part of MStar Software is expressly prohibited, unless prior written 10*53ee8cc1Swenshuai.xi // permission has been granted by MStar. 11*53ee8cc1Swenshuai.xi // 12*53ee8cc1Swenshuai.xi // By accessing, browsing and/or using MStar Software, you acknowledge that you 13*53ee8cc1Swenshuai.xi // have read, understood, and agree, to be bound by below terms ("Terms") and to 14*53ee8cc1Swenshuai.xi // comply with all applicable laws and regulations 15*53ee8cc1Swenshuai.xi // 16*53ee8cc1Swenshuai.xi // 1. MStar shall retain any and all right, ownership and interest to MStar 17*53ee8cc1Swenshuai.xi // Software and any modification/derivatives thereof. 18*53ee8cc1Swenshuai.xi // No right, ownership, or interest to MStar Software and any 19*53ee8cc1Swenshuai.xi // modification/derivatives thereof is transferred to you under Terms. 20*53ee8cc1Swenshuai.xi // 21*53ee8cc1Swenshuai.xi // 2. You understand that MStar Software might include, incorporate or be 22*53ee8cc1Swenshuai.xi // supplied together with third party`s software and the use of MStar 23*53ee8cc1Swenshuai.xi // Software may require additional licenses from third parties. 24*53ee8cc1Swenshuai.xi // Therefore, you hereby agree it is your sole responsibility to separately 25*53ee8cc1Swenshuai.xi // obtain any and all third party right and license necessary for your use of 26*53ee8cc1Swenshuai.xi // such third party`s software. 27*53ee8cc1Swenshuai.xi // 28*53ee8cc1Swenshuai.xi // 3. MStar Software and any modification/derivatives thereof shall be deemed as 29*53ee8cc1Swenshuai.xi // MStar`s confidential information and you agree to keep MStar`s 30*53ee8cc1Swenshuai.xi // confidential information in strictest confidence and not disclose to any 31*53ee8cc1Swenshuai.xi // third party. 32*53ee8cc1Swenshuai.xi // 33*53ee8cc1Swenshuai.xi // 4. MStar Software is provided on an "AS IS" basis without warranties of any 34*53ee8cc1Swenshuai.xi // kind. Any warranties are hereby expressly disclaimed by MStar, including 35*53ee8cc1Swenshuai.xi // without limitation, any warranties of merchantability, non-infringement of 36*53ee8cc1Swenshuai.xi // intellectual property rights, fitness for a particular purpose, error free 37*53ee8cc1Swenshuai.xi // and in conformity with any international standard. You agree to waive any 38*53ee8cc1Swenshuai.xi // claim against MStar for any loss, damage, cost or expense that you may 39*53ee8cc1Swenshuai.xi // incur related to your use of MStar Software. 40*53ee8cc1Swenshuai.xi // In no event shall MStar be liable for any direct, indirect, incidental or 41*53ee8cc1Swenshuai.xi // consequential damages, including without limitation, lost of profit or 42*53ee8cc1Swenshuai.xi // revenues, lost or damage of data, and unauthorized system use. 43*53ee8cc1Swenshuai.xi // You agree that this Section 4 shall still apply without being affected 44*53ee8cc1Swenshuai.xi // even if MStar Software has been modified by MStar in accordance with your 45*53ee8cc1Swenshuai.xi // request or instruction for your use, except otherwise agreed by both 46*53ee8cc1Swenshuai.xi // parties in writing. 47*53ee8cc1Swenshuai.xi // 48*53ee8cc1Swenshuai.xi // 5. If requested, MStar may from time to time provide technical supports or 49*53ee8cc1Swenshuai.xi // services in relation with MStar Software to you for your use of 50*53ee8cc1Swenshuai.xi // MStar Software in conjunction with your or your customer`s product 51*53ee8cc1Swenshuai.xi // ("Services"). 52*53ee8cc1Swenshuai.xi // You understand and agree that, except otherwise agreed by both parties in 53*53ee8cc1Swenshuai.xi // writing, Services are provided on an "AS IS" basis and the warranty 54*53ee8cc1Swenshuai.xi // disclaimer set forth in Section 4 above shall apply. 55*53ee8cc1Swenshuai.xi // 56*53ee8cc1Swenshuai.xi // 6. Nothing contained herein shall be construed as by implication, estoppels 57*53ee8cc1Swenshuai.xi // or otherwise 58*53ee8cc1Swenshuai.xi // (a) conferring any license or right to use MStar name, trademark, service 59*53ee8cc1Swenshuai.xi // mark, symbol or any other identification; 60*53ee8cc1Swenshuai.xi // (b) obligating MStar or any of its affiliates to furnish any person, 61*53ee8cc1Swenshuai.xi // including without limitation, you and your customers, any assistance 62*53ee8cc1Swenshuai.xi // of any kind whatsoever, or any information; or 63*53ee8cc1Swenshuai.xi // (c) conferring any license or right under any intellectual property right. 64*53ee8cc1Swenshuai.xi // 65*53ee8cc1Swenshuai.xi // 7. These terms shall be governed by and construed in accordance with the laws 66*53ee8cc1Swenshuai.xi // of Taiwan, R.O.C., excluding its conflict of law rules. 67*53ee8cc1Swenshuai.xi // Any and all dispute arising out hereof or related hereto shall be finally 68*53ee8cc1Swenshuai.xi // settled by arbitration referred to the Chinese Arbitration Association, 69*53ee8cc1Swenshuai.xi // Taipei in accordance with the ROC Arbitration Law and the Arbitration 70*53ee8cc1Swenshuai.xi // Rules of the Association by three (3) arbitrators appointed in accordance 71*53ee8cc1Swenshuai.xi // with the said Rules. 72*53ee8cc1Swenshuai.xi // The place of arbitration shall be in Taipei, Taiwan and the language shall 73*53ee8cc1Swenshuai.xi // be English. 74*53ee8cc1Swenshuai.xi // The arbitration award shall be final and binding to both parties. 75*53ee8cc1Swenshuai.xi // 76*53ee8cc1Swenshuai.xi //****************************************************************************** 77*53ee8cc1Swenshuai.xi 78*53ee8cc1Swenshuai.xi #ifndef _XC_HDMI_IF_H_ 79*53ee8cc1Swenshuai.xi #define _XC_HDMI_IF_H_ 80*53ee8cc1Swenshuai.xi 81*53ee8cc1Swenshuai.xi #include "MsTypes.h" 82*53ee8cc1Swenshuai.xi #include "UFO.h" 83*53ee8cc1Swenshuai.xi 84*53ee8cc1Swenshuai.xi #ifdef __cplusplus 85*53ee8cc1Swenshuai.xi extern "C" 86*53ee8cc1Swenshuai.xi { 87*53ee8cc1Swenshuai.xi #endif 88*53ee8cc1Swenshuai.xi 89*53ee8cc1Swenshuai.xi #if !defined(UFO_PUBLIC_HEADER_500_3) 90*53ee8cc1Swenshuai.xi typedef enum 91*53ee8cc1Swenshuai.xi { 92*53ee8cc1Swenshuai.xi //HDMI Rx property 93*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_INITIAL, 94*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_STABLE_POLLING, 95*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_GET_SOURCE_VERSION, 96*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_CHECK_HDCP_STATE, 97*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_CHECK_HDCP_ENC_STATE, 98*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_CHECK_HDCP14_KEY, 99*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_GET_HDCP14_KEY_VAILD, 100*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_SET_HPD_INVERT_FLAG, 101*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_GET_PACKET_RECEIVE, 102*53ee8cc1Swenshuai.xi /*************************** HDCP Repeater ***************************/ 103*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_WRITE_X74, 104*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_READ_X74, 105*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_SET_REPEATER, 106*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_SET_BSTATUS, 107*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_SET_HDMI_MODE, 108*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_GET_INTERRUPT_STATUS, 109*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_WRITE_KSV_LIST, 110*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_SET_VPRIME, 111*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_HDCP22_FILL_CIPHER_KEY, 112*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_HDCP22_PORT_INIT, 113*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_HDCP22_POLLING_READ_DONE, 114*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_HDCP22_ENABLE_CIPHER, 115*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_HDCP22_SEND_MESSAGE, 116*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_HDCP22_HANDLER, 117*53ee8cc1Swenshuai.xi MAPI_CMD_HDMIRX_HDCP22_WAIT_EVENT, 118*53ee8cc1Swenshuai.xi /*************************** HDCP Repeater ***************************/ 119*53ee8cc1Swenshuai.xi }E_HDMIRX_API_CMD_TYPE; 120*53ee8cc1Swenshuai.xi #endif 121*53ee8cc1Swenshuai.xi 122*53ee8cc1Swenshuai.xi typedef struct 123*53ee8cc1Swenshuai.xi { 124*53ee8cc1Swenshuai.xi stHDMI_INITIAL_TABLE stInitialTable; 125*53ee8cc1Swenshuai.xi } stHDMI_INITIAL_SETTING, *pstHDMI_INITIAL_SETTING; 126*53ee8cc1Swenshuai.xi 127*53ee8cc1Swenshuai.xi typedef struct 128*53ee8cc1Swenshuai.xi { 129*53ee8cc1Swenshuai.xi MS_U16 u16ReturnValue; 130*53ee8cc1Swenshuai.xi } stHDMI_FUNC_CAPS, *pstHDMI_FUNC_CAPS; 131*53ee8cc1Swenshuai.xi 132*53ee8cc1Swenshuai.xi typedef struct 133*53ee8cc1Swenshuai.xi { 134*53ee8cc1Swenshuai.xi HDMI_REST_t breset; 135*53ee8cc1Swenshuai.xi } stHDMI_PKT_RESET, *pstHDMI_PKT_RESET; 136*53ee8cc1Swenshuai.xi 137*53ee8cc1Swenshuai.xi typedef struct 138*53ee8cc1Swenshuai.xi { 139*53ee8cc1Swenshuai.xi MS_BOOL bHighLow; 140*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 141*53ee8cc1Swenshuai.xi MS_BOOL bInverse; 142*53ee8cc1Swenshuai.xi } stHDMI_PULLHPD, *pstHDMI_PULLHPD; 143*53ee8cc1Swenshuai.xi 144*53ee8cc1Swenshuai.xi typedef struct 145*53ee8cc1Swenshuai.xi { 146*53ee8cc1Swenshuai.xi HDMI_GControl_INFO_t gcontrol; 147*53ee8cc1Swenshuai.xi MS_U16 u16ReturnValue; 148*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 149*53ee8cc1Swenshuai.xi } stHDMI_GC_INFO, *pstHDMI_GC_INFO; 150*53ee8cc1Swenshuai.xi 151*53ee8cc1Swenshuai.xi typedef struct 152*53ee8cc1Swenshuai.xi { 153*53ee8cc1Swenshuai.xi #if defined(UFO_PUBLIC_HEADER_212) ||defined(UFO_PUBLIC_HEADER_500_3) 154*53ee8cc1Swenshuai.xi MS_BOOL bEnable; 155*53ee8cc1Swenshuai.xi MS_HDMI_PACKET_VALUE_t stReturnValue; 156*53ee8cc1Swenshuai.xi #else 157*53ee8cc1Swenshuai.xi MS_U32 ulPacketStatus; 158*53ee8cc1Swenshuai.xi MS_BOOL bEnable; 159*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 160*53ee8cc1Swenshuai.xi #endif 161*53ee8cc1Swenshuai.xi } stHDMI_PACKET_RECEIVED, *pstHDMI_PACKET_RECEIVED; 162*53ee8cc1Swenshuai.xi 163*53ee8cc1Swenshuai.xi typedef struct 164*53ee8cc1Swenshuai.xi { 165*53ee8cc1Swenshuai.xi MS_HDMI_COLOR_FORMAT eReturnValue; 166*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 167*53ee8cc1Swenshuai.xi } stHDMI_GET_COLORFORMAT, *pstHDMI_GET_COLORFORMAT; 168*53ee8cc1Swenshuai.xi 169*53ee8cc1Swenshuai.xi typedef struct 170*53ee8cc1Swenshuai.xi { 171*53ee8cc1Swenshuai.xi EN_HDMI_COLOR_RANGE eReturnValue; 172*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 173*53ee8cc1Swenshuai.xi } stHDMI_GET_COLORRANGE, *pstHDMI_GET_COLORRANGE; 174*53ee8cc1Swenshuai.xi 175*53ee8cc1Swenshuai.xi typedef struct 176*53ee8cc1Swenshuai.xi { 177*53ee8cc1Swenshuai.xi MS_HDMI_EQ enEq; 178*53ee8cc1Swenshuai.xi MS_U8 u8EQValue; 179*53ee8cc1Swenshuai.xi } stHDMI_SET_EQ, *pstHDMI_SET_EQ; 180*53ee8cc1Swenshuai.xi 181*53ee8cc1Swenshuai.xi typedef struct 182*53ee8cc1Swenshuai.xi { 183*53ee8cc1Swenshuai.xi MS_HDMI_EQ enEq; 184*53ee8cc1Swenshuai.xi MS_U8 u8EQValue; 185*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 186*53ee8cc1Swenshuai.xi MS_BOOL bReturnValue; 187*53ee8cc1Swenshuai.xi } stHDMI_SET_EQ_TO_PORT, *pstHDMI_SET_EQ_TO_PORT; 188*53ee8cc1Swenshuai.xi 189*53ee8cc1Swenshuai.xi typedef struct 190*53ee8cc1Swenshuai.xi { 191*53ee8cc1Swenshuai.xi MS_U16 u16MuteEvent; 192*53ee8cc1Swenshuai.xi MS_U16 u16MuteMask; 193*53ee8cc1Swenshuai.xi } stHDMI_AUDIO_MUTE_ENABLE, *pstHDMI_AUDIO_MUTE_ENABLE; 194*53ee8cc1Swenshuai.xi 195*53ee8cc1Swenshuai.xi typedef struct 196*53ee8cc1Swenshuai.xi { 197*53ee8cc1Swenshuai.xi MS_BOOL bEn_PAR; 198*53ee8cc1Swenshuai.xi MS_BOOL bEn_AFAR; 199*53ee8cc1Swenshuai.xi MS_HDMI_AR_TYPE eReturnValue; 200*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 201*53ee8cc1Swenshuai.xi } stHDMI_GET_ASPECTRATIO, *pstHDMI_GET_ASPECTRATIO; 202*53ee8cc1Swenshuai.xi 203*53ee8cc1Swenshuai.xi typedef struct 204*53ee8cc1Swenshuai.xi { 205*53ee8cc1Swenshuai.xi MS_BOOL bEn_AFAR; 206*53ee8cc1Swenshuai.xi MS_HDMI_AR_TYPE eReturnValue; 207*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 208*53ee8cc1Swenshuai.xi } stHDMI_GET_ACTIVEFORMAT_ASPECTRATIO, *pstHDMI_GET_ACTIVEFORMAT_ASPECTRATIO; 209*53ee8cc1Swenshuai.xi 210*53ee8cc1Swenshuai.xi typedef struct 211*53ee8cc1Swenshuai.xi { 212*53ee8cc1Swenshuai.xi EN_AVI_INFOFRAME_VERSION eReturnValue; 213*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 214*53ee8cc1Swenshuai.xi } stHDMI_GET_AVIINFOFRAMEVER, *pstHDMI_GET_AVIINFOFRAMEVER; 215*53ee8cc1Swenshuai.xi 216*53ee8cc1Swenshuai.xi typedef struct 217*53ee8cc1Swenshuai.xi { 218*53ee8cc1Swenshuai.xi MS_U8 u8value; 219*53ee8cc1Swenshuai.xi MS_BOOL bread; 220*53ee8cc1Swenshuai.xi MS_U8 u8ReturnValue; 221*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 222*53ee8cc1Swenshuai.xi } stHDMI_ERR_STATUS_UPDATE, *pstHDMI_ERR_STATUS_UPDATE; 223*53ee8cc1Swenshuai.xi 224*53ee8cc1Swenshuai.xi typedef struct 225*53ee8cc1Swenshuai.xi { 226*53ee8cc1Swenshuai.xi MS_U16 u8ReturnValue; 227*53ee8cc1Swenshuai.xi } stHDMI_GET_TMDS_FREQ, *pstHDMI_GET_TMDS_FREQ; 228*53ee8cc1Swenshuai.xi 229*53ee8cc1Swenshuai.xi typedef struct 230*53ee8cc1Swenshuai.xi { 231*53ee8cc1Swenshuai.xi HDMI_POLLING_STATUS_t **pStatus; 232*53ee8cc1Swenshuai.xi } stHDMI_GET_POLLINGSTATUS, *pstHDMI_GET_POLLINGSTATUS; 233*53ee8cc1Swenshuai.xi 234*53ee8cc1Swenshuai.xi typedef struct 235*53ee8cc1Swenshuai.xi { 236*53ee8cc1Swenshuai.xi MS_BOOL bReturnValue; 237*53ee8cc1Swenshuai.xi } stHDMI_ISHDMI_MODE, *pstHDMI_ISHDMI_MODE; 238*53ee8cc1Swenshuai.xi 239*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED 240*53ee8cc1Swenshuai.xi { 241*53ee8cc1Swenshuai.xi MS_U8 * pu8ManufactorData; 242*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 243*53ee8cc1Swenshuai.xi } stHDMI_GET_MID_INFO, *pstHDMI_GET_MID_INFO; 244*53ee8cc1Swenshuai.xi 245*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED 246*53ee8cc1Swenshuai.xi { 247*53ee8cc1Swenshuai.xi MS_HDMI_PACKET_STATE_t u8state; 248*53ee8cc1Swenshuai.xi MS_U8 u8byte_idx; 249*53ee8cc1Swenshuai.xi MS_U8 *pValue; 250*53ee8cc1Swenshuai.xi MS_BOOL bReturnValue; 251*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 252*53ee8cc1Swenshuai.xi } stHDMI_GET_PACKET_VALUE, *pstHDMI_GET_PACKET_VALUE; 253*53ee8cc1Swenshuai.xi 254*53ee8cc1Swenshuai.xi typedef struct 255*53ee8cc1Swenshuai.xi { 256*53ee8cc1Swenshuai.xi MS_DVI_CHANNEL_TYPE u8Channel; 257*53ee8cc1Swenshuai.xi MS_U16 u16ReturnValue; 258*53ee8cc1Swenshuai.xi } stDVI_CHANNELPHASESTATUS, *pstDVI_CHANNELPHASESTATUS; 259*53ee8cc1Swenshuai.xi 260*53ee8cc1Swenshuai.xi typedef struct 261*53ee8cc1Swenshuai.xi { 262*53ee8cc1Swenshuai.xi MS_U16 u16Reset; 263*53ee8cc1Swenshuai.xi } stDVI_SOFTWARERESET, *pstDVI_SOFTWARERESET; 264*53ee8cc1Swenshuai.xi 265*53ee8cc1Swenshuai.xi typedef struct 266*53ee8cc1Swenshuai.xi { 267*53ee8cc1Swenshuai.xi MS_BOOL bReturnValue; 268*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 269*53ee8cc1Swenshuai.xi } stHDMI_GET_AVIIINFO_ACTIVEINFOPRESENT, *pstHDMI_GET_AVIIINFO_ACTIVEINFOPRESENT; 270*53ee8cc1Swenshuai.xi 271*53ee8cc1Swenshuai.xi typedef struct 272*53ee8cc1Swenshuai.xi { 273*53ee8cc1Swenshuai.xi MS_BOOL bPullLow; 274*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 275*53ee8cc1Swenshuai.xi } stDVI_CLKPULLLOW, *pstDVI_CLKPULLLOW; 276*53ee8cc1Swenshuai.xi 277*53ee8cc1Swenshuai.xi typedef struct 278*53ee8cc1Swenshuai.xi { 279*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 280*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 281*53ee8cc1Swenshuai.xi } stDVI_SWITCHSRC, *pstDVI_SWITCHSRC; 282*53ee8cc1Swenshuai.xi 283*53ee8cc1Swenshuai.xi typedef struct 284*53ee8cc1Swenshuai.xi { 285*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 286*53ee8cc1Swenshuai.xi MS_BOOL bReturnValue; 287*53ee8cc1Swenshuai.xi } stHDMI_SETFORCLOCKLESSTHAN70MHZ, *pstHDMI_SETFORCLOCKLESSTHAN70MHZ; 288*53ee8cc1Swenshuai.xi 289*53ee8cc1Swenshuai.xi typedef struct 290*53ee8cc1Swenshuai.xi { 291*53ee8cc1Swenshuai.xi MS_BOOL bClockLessThan70MHz; 292*53ee8cc1Swenshuai.xi } stHDMI_DVI_ADJUST, *pstHDMI_DVI_ADJUST; 293*53ee8cc1Swenshuai.xi 294*53ee8cc1Swenshuai.xi typedef struct 295*53ee8cc1Swenshuai.xi { 296*53ee8cc1Swenshuai.xi INPUT_SOURCE_TYPE_t enInputSourceType; 297*53ee8cc1Swenshuai.xi } stHDMI_SETUPDATEPHASELINECOUNT, *pstHDMI_SETUPDATEPHASELINECOUNT; 298*53ee8cc1Swenshuai.xi 299*53ee8cc1Swenshuai.xi typedef struct 300*53ee8cc1Swenshuai.xi { 301*53ee8cc1Swenshuai.xi MS_BOOL bEnable; 302*53ee8cc1Swenshuai.xi } stHDCP_ENABLE, *pstHDCP_ENABLE; 303*53ee8cc1Swenshuai.xi 304*53ee8cc1Swenshuai.xi typedef struct 305*53ee8cc1Swenshuai.xi { 306*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 307*53ee8cc1Swenshuai.xi MS_BOOL bEnable; 308*53ee8cc1Swenshuai.xi MS_BOOL bReturnValue; 309*53ee8cc1Swenshuai.xi } stHDMI_SET_HDCPENABLE, *pstHDMI_SET_HDCPENABLE; 310*53ee8cc1Swenshuai.xi 311*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED 312*53ee8cc1Swenshuai.xi { 313*53ee8cc1Swenshuai.xi MS_U8 * pu8HdcpKeyData; 314*53ee8cc1Swenshuai.xi } stHDCP_INITPRODUCTIONKEY, *pstHDCP_INITPRODUCTIONKEY; 315*53ee8cc1Swenshuai.xi 316*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED 317*53ee8cc1Swenshuai.xi { 318*53ee8cc1Swenshuai.xi #if defined(UFO_PUBLIC_HEADER_212) 319*53ee8cc1Swenshuai.xi MS_HDCP_STATUS_INFO_t* stReturnValue; 320*53ee8cc1Swenshuai.xi #else 321*53ee8cc1Swenshuai.xi MS_U16 usHDCPStatus; 322*53ee8cc1Swenshuai.xi #endif 323*53ee8cc1Swenshuai.xi } stHDCP_GETSTATUS, *pstHDCP_GETSTATUS; 324*53ee8cc1Swenshuai.xi 325*53ee8cc1Swenshuai.xi typedef struct 326*53ee8cc1Swenshuai.xi { 327*53ee8cc1Swenshuai.xi MS_BOOL bStable; 328*53ee8cc1Swenshuai.xi } stHDCP_VSYNC_END_EN, *pstHDCP_VSYNC_END_EN; 329*53ee8cc1Swenshuai.xi 330*53ee8cc1Swenshuai.xi typedef struct 331*53ee8cc1Swenshuai.xi { 332*53ee8cc1Swenshuai.xi MS_BOOL bEnable; 333*53ee8cc1Swenshuai.xi } stHDMI_AUDIO_OUTPUT, *pstHDMI_AUDIO_OUTPUT; 334*53ee8cc1Swenshuai.xi 335*53ee8cc1Swenshuai.xi typedef struct 336*53ee8cc1Swenshuai.xi { 337*53ee8cc1Swenshuai.xi MS_U8 u8ReturnValue; 338*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 339*53ee8cc1Swenshuai.xi } stHDMI_AUDIO_CP_HDR_INFO, *pstHDMI_AUDIO_CP_HDR_INFO; 340*53ee8cc1Swenshuai.xi 341*53ee8cc1Swenshuai.xi typedef struct 342*53ee8cc1Swenshuai.xi { 343*53ee8cc1Swenshuai.xi MS_U8 u8byte; 344*53ee8cc1Swenshuai.xi MS_U8 u8ReturnValue; 345*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 346*53ee8cc1Swenshuai.xi } stHDMI_AUDIO_CHANNEL_STATUS, *pstHDMI_AUDIO_CHANNEL_STATUS; 347*53ee8cc1Swenshuai.xi 348*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED 349*53ee8cc1Swenshuai.xi { 350*53ee8cc1Swenshuai.xi const MSIF_Version **ppVersion; 351*53ee8cc1Swenshuai.xi HDMI_Ret_Value eReturnValue; 352*53ee8cc1Swenshuai.xi } stHDMI_GETLIBVER, *pstHDMI_GETLIBVER; 353*53ee8cc1Swenshuai.xi 354*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED 355*53ee8cc1Swenshuai.xi { 356*53ee8cc1Swenshuai.xi MS_HDMI_INFO *pInfo; 357*53ee8cc1Swenshuai.xi HDMI_Ret_Value eReturnValue; 358*53ee8cc1Swenshuai.xi } stHDMI_GETINFO, *pstHDMI_GETINFO; 359*53ee8cc1Swenshuai.xi 360*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED 361*53ee8cc1Swenshuai.xi { 362*53ee8cc1Swenshuai.xi MS_HDMI_Status *pStatus; 363*53ee8cc1Swenshuai.xi HDMI_Ret_Value eReturnValue; 364*53ee8cc1Swenshuai.xi } stHDMI_GETSTATUS, *pstHDMI_GETSTATUS; 365*53ee8cc1Swenshuai.xi 366*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED 367*53ee8cc1Swenshuai.xi { 368*53ee8cc1Swenshuai.xi XC_DDCRAM_PROG_INFO *pstDDCRam_Info; 369*53ee8cc1Swenshuai.xi MS_U32 u32SizeOfInfo; 370*53ee8cc1Swenshuai.xi } stHDMI_READ_DDCRAM, *pstHDMI_READ_DDCRAM; 371*53ee8cc1Swenshuai.xi 372*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED 373*53ee8cc1Swenshuai.xi { 374*53ee8cc1Swenshuai.xi XC_DDCRAM_PROG_INFO *pstDDCRam_Info; 375*53ee8cc1Swenshuai.xi MS_U32 u32SizeOfInfo; 376*53ee8cc1Swenshuai.xi } stHDMI_PROG_DDCRAM, *pstHDMI_PROG_DDCRAM; 377*53ee8cc1Swenshuai.xi 378*53ee8cc1Swenshuai.xi typedef struct 379*53ee8cc1Swenshuai.xi { 380*53ee8cc1Swenshuai.xi MS_HDMI_CONTENT_TYPE enReturnValue; 381*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 382*53ee8cc1Swenshuai.xi } stHDMI_GET_CONTENT_TYPE, *pstHDMI_GET_CONTENT_TYPE; 383*53ee8cc1Swenshuai.xi 384*53ee8cc1Swenshuai.xi typedef struct 385*53ee8cc1Swenshuai.xi { 386*53ee8cc1Swenshuai.xi MS_HDMI_EXT_COLORIMETRY_FORMAT enReturnValue; 387*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 388*53ee8cc1Swenshuai.xi } stHDMI_GET_EXT_COLORIMETRY, *pstHDMI_GET_EXT_COLORIMETRY; 389*53ee8cc1Swenshuai.xi 390*53ee8cc1Swenshuai.xi typedef struct 391*53ee8cc1Swenshuai.xi { 392*53ee8cc1Swenshuai.xi MS_U8 u8ReturnValue; 393*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 394*53ee8cc1Swenshuai.xi } stHDMI_GET_PIXEL_REPETITION, *pstHDMI_GET_PIXEL_REPETITION; 395*53ee8cc1Swenshuai.xi 396*53ee8cc1Swenshuai.xi typedef struct 397*53ee8cc1Swenshuai.xi { 398*53ee8cc1Swenshuai.xi MS_BOOL bReturnValue; 399*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 400*53ee8cc1Swenshuai.xi } stHDMI_CHECK_4K2K, *pstHDMI_CHECK_4K2K; 401*53ee8cc1Swenshuai.xi 402*53ee8cc1Swenshuai.xi typedef struct 403*53ee8cc1Swenshuai.xi { 404*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 405*53ee8cc1Swenshuai.xi } stHDMI_3D_4K2K_PROCESS, *pstHDMI_3D_4K2K_PROCESS; 406*53ee8cc1Swenshuai.xi 407*53ee8cc1Swenshuai.xi typedef struct 408*53ee8cc1Swenshuai.xi { 409*53ee8cc1Swenshuai.xi MS_BOOL bTrue; 410*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 411*53ee8cc1Swenshuai.xi } stHDMI_AVG_SCALERINGDOWN, *pstHDMI_AVG_SCALERINGDOWN; 412*53ee8cc1Swenshuai.xi 413*53ee8cc1Swenshuai.xi typedef struct 414*53ee8cc1Swenshuai.xi { 415*53ee8cc1Swenshuai.xi E_HDMI_ADDITIONAL_VIDEO_FORMAT eReturnValue; 416*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 417*53ee8cc1Swenshuai.xi } stHDMI_CHECK_ADDITIONAL_FORMAT, *pstHDMI_CHECK_ADDITIONAL_FORMAT; 418*53ee8cc1Swenshuai.xi 419*53ee8cc1Swenshuai.xi typedef struct 420*53ee8cc1Swenshuai.xi { 421*53ee8cc1Swenshuai.xi E_XC_3D_INPUT_MODE eReturnValue; 422*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 423*53ee8cc1Swenshuai.xi } stHDMI_GET_3D_STRUCTURE, *pstHDMI_GET_3D_STRUCTURE; 424*53ee8cc1Swenshuai.xi 425*53ee8cc1Swenshuai.xi typedef struct 426*53ee8cc1Swenshuai.xi { 427*53ee8cc1Swenshuai.xi E_HDMI_3D_EXT_DATA_T eReturnValue; 428*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 429*53ee8cc1Swenshuai.xi } stHDMI_GET_3D_EXT_DATA, *pstHDMI_GET_3D_EXT_DATA; 430*53ee8cc1Swenshuai.xi 431*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED 432*53ee8cc1Swenshuai.xi { 433*53ee8cc1Swenshuai.xi sHDMI_3D_META_FIELD *pdata; 434*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 435*53ee8cc1Swenshuai.xi } stHDMI_GET_3D_META_FIELD, *pstHDMI_GET_3D_META_FIELD; 436*53ee8cc1Swenshuai.xi 437*53ee8cc1Swenshuai.xi typedef struct 438*53ee8cc1Swenshuai.xi { 439*53ee8cc1Swenshuai.xi MS_U8 u8ReturnValue; 440*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 441*53ee8cc1Swenshuai.xi } stHDMI_GET_VIC_CODE, *pstHDMI_GET_VIC_CODE; 442*53ee8cc1Swenshuai.xi 443*53ee8cc1Swenshuai.xi typedef struct 444*53ee8cc1Swenshuai.xi { 445*53ee8cc1Swenshuai.xi E_HDMI_VIC_4Kx2K_CODE eReturnValue; 446*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 447*53ee8cc1Swenshuai.xi } stHDMI_GET_4KX2K_VIC_CODE, *pstHDMI_GET_4KX2K_VIC_CODE; 448*53ee8cc1Swenshuai.xi 449*53ee8cc1Swenshuai.xi typedef struct 450*53ee8cc1Swenshuai.xi { 451*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 452*53ee8cc1Swenshuai.xi MS_BOOL bEnable; 453*53ee8cc1Swenshuai.xi MS_BOOL bDrivingHigh; 454*53ee8cc1Swenshuai.xi } stHDMI_ARC_PINCONTROL, *pstHDMI_ARC_PINCONTROL; 455*53ee8cc1Swenshuai.xi 456*53ee8cc1Swenshuai.xi typedef struct 457*53ee8cc1Swenshuai.xi { 458*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 459*53ee8cc1Swenshuai.xi MS_U16 u16Reset; 460*53ee8cc1Swenshuai.xi } stDVI_SOFTWARE_RESET, *pstDVI_SOFTWARE_RESET; 461*53ee8cc1Swenshuai.xi 462*53ee8cc1Swenshuai.xi typedef struct 463*53ee8cc1Swenshuai.xi { 464*53ee8cc1Swenshuai.xi EN_POWER_MODE enPowerState; 465*53ee8cc1Swenshuai.xi MS_U32 u32ReturnValue; 466*53ee8cc1Swenshuai.xi } stHDMI_SET_POWERSTATE, *pstHDMI_SET_POWERSTATE; 467*53ee8cc1Swenshuai.xi 468*53ee8cc1Swenshuai.xi typedef struct 469*53ee8cc1Swenshuai.xi { 470*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 471*53ee8cc1Swenshuai.xi MS_BOOL bReturnValue; 472*53ee8cc1Swenshuai.xi } stHDMI_CheckHDMI20_Setting, *pstHDMI_CheckHDMI20_Setting; 473*53ee8cc1Swenshuai.xi 474*53ee8cc1Swenshuai.xi typedef struct 475*53ee8cc1Swenshuai.xi { 476*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 477*53ee8cc1Swenshuai.xi MS_BOOL bReturnValue; 478*53ee8cc1Swenshuai.xi } stHDMI_CHECK_HDMI20_SETTING, *pstHDMI_CHECK_HDMI20_SETTING; 479*53ee8cc1Swenshuai.xi 480*53ee8cc1Swenshuai.xi typedef struct 481*53ee8cc1Swenshuai.xi { 482*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 483*53ee8cc1Swenshuai.xi MS_U8 ucSourceVersion; 484*53ee8cc1Swenshuai.xi } stHDMI_Get_Source_Version, *pstHDMI_Get_Source_Version; 485*53ee8cc1Swenshuai.xi 486*53ee8cc1Swenshuai.xi typedef struct 487*53ee8cc1Swenshuai.xi { 488*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 489*53ee8cc1Swenshuai.xi MS_U8 ucSourceVersion; 490*53ee8cc1Swenshuai.xi } stHDMI_GET_SOURCE_VERSION, *pstHDMI_GET_SOURCE_VERSION; 491*53ee8cc1Swenshuai.xi 492*53ee8cc1Swenshuai.xi typedef struct 493*53ee8cc1Swenshuai.xi { 494*53ee8cc1Swenshuai.xi MS_U32 ul5VDetectGPIOSelect; 495*53ee8cc1Swenshuai.xi } stHDMI_Set5VDetectGPIOSelect, *pstHDMI_Set5VDetectGPIOSelect; 496*53ee8cc1Swenshuai.xi 497*53ee8cc1Swenshuai.xi typedef struct 498*53ee8cc1Swenshuai.xi { 499*53ee8cc1Swenshuai.xi MS_U32 ul5VDetectGPIOSelect; 500*53ee8cc1Swenshuai.xi } stHDMI_SET_5V_DETECT_GPIO_SELECT, *pstHDMI_SET_5V_DETECT_GPIO_SELECT; 501*53ee8cc1Swenshuai.xi 502*53ee8cc1Swenshuai.xi typedef struct 503*53ee8cc1Swenshuai.xi { 504*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 505*53ee8cc1Swenshuai.xi MS_BOOL bStatus; 506*53ee8cc1Swenshuai.xi } stHDMI_Get_De_Stable_Status, *pstHDMI_Get_De_Stable_Status; 507*53ee8cc1Swenshuai.xi 508*53ee8cc1Swenshuai.xi typedef struct 509*53ee8cc1Swenshuai.xi { 510*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 511*53ee8cc1Swenshuai.xi MS_BOOL bStatus; 512*53ee8cc1Swenshuai.xi } stHDMI_GET_DE_STABLE_STATUS, *pstHDMI_GET_DE_STABLE_STATUS; 513*53ee8cc1Swenshuai.xi 514*53ee8cc1Swenshuai.xi typedef struct 515*53ee8cc1Swenshuai.xi { 516*53ee8cc1Swenshuai.xi MS_BOOL ucHDCP14_flag; 517*53ee8cc1Swenshuai.xi } stHDMI_Check_HDCP14, *pstHDMI_Check_HDCP14; 518*53ee8cc1Swenshuai.xi 519*53ee8cc1Swenshuai.xi typedef struct 520*53ee8cc1Swenshuai.xi { 521*53ee8cc1Swenshuai.xi MS_BOOL bHDCP14KeyVaildFlag; 522*53ee8cc1Swenshuai.xi } stHDMI_GET_HDCP14_KEY_VAILD, *pstHDMI_GET_HDCP14_KEY_VAILD; 523*53ee8cc1Swenshuai.xi 524*53ee8cc1Swenshuai.xi typedef struct 525*53ee8cc1Swenshuai.xi { 526*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 527*53ee8cc1Swenshuai.xi MS_U8 ucHDCPState; 528*53ee8cc1Swenshuai.xi } stHDMI_CHECK_HDCP_STATE, *pstHDMI_CHECK_HDCP_STATE; 529*53ee8cc1Swenshuai.xi 530*53ee8cc1Swenshuai.xi typedef struct 531*53ee8cc1Swenshuai.xi { 532*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 533*53ee8cc1Swenshuai.xi MS_U8 ucHDCPENCState; 534*53ee8cc1Swenshuai.xi } stHDMI_CHECK_HDCP_ENC_STATE, *pstHDMI_CHECK_HDCP_ENC_STATE; 535*53ee8cc1Swenshuai.xi 536*53ee8cc1Swenshuai.xi typedef struct 537*53ee8cc1Swenshuai.xi { 538*53ee8cc1Swenshuai.xi MS_BOOL bInverse; 539*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 540*53ee8cc1Swenshuai.xi } stHDMI_SET_HPD_INVERT_FLAG, *pstHDMI_SET_HPD_INVERT_FLAG; 541*53ee8cc1Swenshuai.xi 542*53ee8cc1Swenshuai.xi typedef struct 543*53ee8cc1Swenshuai.xi { 544*53ee8cc1Swenshuai.xi MS_U16 usReturnValue; 545*53ee8cc1Swenshuai.xi E_HDMI_GET_DATA_INFO enInfo; 546*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 547*53ee8cc1Swenshuai.xi } stHDMI_GET_DATA_INFO, *pstHDMI_GET_DATA_INFO; 548*53ee8cc1Swenshuai.xi 549*53ee8cc1Swenshuai.xi /*************************** HDCP22 ***************************/ 550*53ee8cc1Swenshuai.xi typedef struct 551*53ee8cc1Swenshuai.xi { 552*53ee8cc1Swenshuai.xi MS_U8 ucPortIdx; 553*53ee8cc1Swenshuai.xi MS_U8* pucRiv; 554*53ee8cc1Swenshuai.xi MS_U8* pucSessionKey; 555*53ee8cc1Swenshuai.xi } stHDCP22_FillCipherKey, *pstHDCP22_FillCipherKey; 556*53ee8cc1Swenshuai.xi 557*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED 558*53ee8cc1Swenshuai.xi { 559*53ee8cc1Swenshuai.xi MS_U8 ucPortIdx; 560*53ee8cc1Swenshuai.xi MS_U8* pucRiv; 561*53ee8cc1Swenshuai.xi MS_U8* pucSessionKey; 562*53ee8cc1Swenshuai.xi } stHDCP22_FILL_CIPHER_KEY, *pstHDCP22_FILL_CIPHER_KEY; 563*53ee8cc1Swenshuai.xi 564*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED 565*53ee8cc1Swenshuai.xi { 566*53ee8cc1Swenshuai.xi HDCP22_Recv_CBF pCBFunc; 567*53ee8cc1Swenshuai.xi void* pContext; 568*53ee8cc1Swenshuai.xi } stHDCP22_InitCBFunc, *pstHDCP22_InitCBFunc; 569*53ee8cc1Swenshuai.xi 570*53ee8cc1Swenshuai.xi typedef struct 571*53ee8cc1Swenshuai.xi { 572*53ee8cc1Swenshuai.xi MS_U8 ucPortIdx; 573*53ee8cc1Swenshuai.xi } stHDCP22_PortInit, *pstHDCP22_PortInit; 574*53ee8cc1Swenshuai.xi 575*53ee8cc1Swenshuai.xi typedef struct 576*53ee8cc1Swenshuai.xi { 577*53ee8cc1Swenshuai.xi MS_U8 ucPortIdx; 578*53ee8cc1Swenshuai.xi } stHDCP22_PORT_INIT, *pstHDCP22_PORT_INIT; 579*53ee8cc1Swenshuai.xi 580*53ee8cc1Swenshuai.xi typedef struct 581*53ee8cc1Swenshuai.xi { 582*53ee8cc1Swenshuai.xi MS_U8 ucPortIdx; 583*53ee8cc1Swenshuai.xi MS_BOOL bReturnValue; 584*53ee8cc1Swenshuai.xi } stHDCP22_PollingReadDone, *pstHDCP22_PollingReadDone; 585*53ee8cc1Swenshuai.xi 586*53ee8cc1Swenshuai.xi typedef struct 587*53ee8cc1Swenshuai.xi { 588*53ee8cc1Swenshuai.xi MS_U8 ucPortIdx; 589*53ee8cc1Swenshuai.xi MS_BOOL bReturnValue; 590*53ee8cc1Swenshuai.xi } stHDCP22_POLLING_READ_DONE, *pstHDCP22_POLLING_READ_DONE; 591*53ee8cc1Swenshuai.xi 592*53ee8cc1Swenshuai.xi typedef struct 593*53ee8cc1Swenshuai.xi { 594*53ee8cc1Swenshuai.xi MS_U8 ucPortType; 595*53ee8cc1Swenshuai.xi MS_U8 ucPortIdx; 596*53ee8cc1Swenshuai.xi MS_BOOL bIsEnable; 597*53ee8cc1Swenshuai.xi } stHDCP22_EnableCipher, *pstHDCP22_EnableCipher; 598*53ee8cc1Swenshuai.xi 599*53ee8cc1Swenshuai.xi typedef struct 600*53ee8cc1Swenshuai.xi { 601*53ee8cc1Swenshuai.xi MS_U8 ucPortType; 602*53ee8cc1Swenshuai.xi MS_U8 ucPortIdx; 603*53ee8cc1Swenshuai.xi MS_BOOL bIsEnable; 604*53ee8cc1Swenshuai.xi } stHDCP22_ENABLE_CIPHER, *pstHDCP22_ENABLE_CIPHER; 605*53ee8cc1Swenshuai.xi 606*53ee8cc1Swenshuai.xi typedef struct 607*53ee8cc1Swenshuai.xi { 608*53ee8cc1Swenshuai.xi MS_U8 ucPortType; 609*53ee8cc1Swenshuai.xi MS_U8 ucPortIdx; 610*53ee8cc1Swenshuai.xi MS_U8* pucData; 611*53ee8cc1Swenshuai.xi MS_U32 dwDataLen; 612*53ee8cc1Swenshuai.xi void* pDummy; 613*53ee8cc1Swenshuai.xi } stHDCP22_SendMsg, *pstHDCP22_SendMsg; 614*53ee8cc1Swenshuai.xi 615*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED 616*53ee8cc1Swenshuai.xi { 617*53ee8cc1Swenshuai.xi MS_U8 ucPortType; 618*53ee8cc1Swenshuai.xi MS_U8 ucPortIdx; 619*53ee8cc1Swenshuai.xi MS_U8* pucData; 620*53ee8cc1Swenshuai.xi MS_U32 dwDataLen; 621*53ee8cc1Swenshuai.xi void* pDummy; 622*53ee8cc1Swenshuai.xi } stHDCP22_SEND_MESSAGE, *pstHDCP22_SEND_MESSAGE; 623*53ee8cc1Swenshuai.xi 624*53ee8cc1Swenshuai.xi typedef struct 625*53ee8cc1Swenshuai.xi { 626*53ee8cc1Swenshuai.xi MS_U8 ucPortIdx; 627*53ee8cc1Swenshuai.xi } stHDCP22_Handler, *pstHDCP22_Handler; 628*53ee8cc1Swenshuai.xi 629*53ee8cc1Swenshuai.xi typedef struct 630*53ee8cc1Swenshuai.xi { 631*53ee8cc1Swenshuai.xi MS_BOOL bHdcp22RecvMsgFlag; 632*53ee8cc1Swenshuai.xi MS_BOOL bIRQModeFlag; 633*53ee8cc1Swenshuai.xi MS_U8 ucPortIdx; 634*53ee8cc1Swenshuai.xi MS_U8 ucHdcp22PortType; 635*53ee8cc1Swenshuai.xi MS_U8 pucHdcp22MsgData[129]; 636*53ee8cc1Swenshuai.xi MS_U32 ucHdcp22MsgLen; 637*53ee8cc1Swenshuai.xi } stHDCP22_HANDLER, *pstHDCP22_HANDLER; 638*53ee8cc1Swenshuai.xi 639*53ee8cc1Swenshuai.xi typedef struct 640*53ee8cc1Swenshuai.xi { 641*53ee8cc1Swenshuai.xi MS_U8 ucHDCPWriteDoneIndex; 642*53ee8cc1Swenshuai.xi } stHDCP22_WAIT_EVENT, *pstHDCP22_WAIT_EVENT; 643*53ee8cc1Swenshuai.xi 644*53ee8cc1Swenshuai.xi typedef struct 645*53ee8cc1Swenshuai.xi { 646*53ee8cc1Swenshuai.xi MS_U32 u32Cmd; 647*53ee8cc1Swenshuai.xi void *pBuf; 648*53ee8cc1Swenshuai.xi MS_U32 u32BufSize; 649*53ee8cc1Swenshuai.xi MS_BOOL bRet; 650*53ee8cc1Swenshuai.xi } stHDMI_Ctrl, *pstHDMI_Ctrl; 651*53ee8cc1Swenshuai.xi 652*53ee8cc1Swenshuai.xi /*************************** HDCP22 ***************************/ 653*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED 654*53ee8cc1Swenshuai.xi { 655*53ee8cc1Swenshuai.xi MS_U32 u32Cmd; 656*53ee8cc1Swenshuai.xi void *pBuf; 657*53ee8cc1Swenshuai.xi MS_U32 u32BufSize; 658*53ee8cc1Swenshuai.xi MS_BOOL bRet; 659*53ee8cc1Swenshuai.xi MS_U8 ucHDMIInfoSource; 660*53ee8cc1Swenshuai.xi } stHDMI_CONTROL, *pstHDMI_CONTROL; 661*53ee8cc1Swenshuai.xi 662*53ee8cc1Swenshuai.xi /************************ HDCP Repeater ************************/ 663*53ee8cc1Swenshuai.xi typedef struct 664*53ee8cc1Swenshuai.xi { 665*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 666*53ee8cc1Swenshuai.xi MS_U8 ucOffset; 667*53ee8cc1Swenshuai.xi MS_U8 ucData; 668*53ee8cc1Swenshuai.xi } stHDCP_WRITE_X74, *pstHDCP_WRITE_X74; 669*53ee8cc1Swenshuai.xi 670*53ee8cc1Swenshuai.xi typedef struct 671*53ee8cc1Swenshuai.xi { 672*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 673*53ee8cc1Swenshuai.xi MS_U8 ucOffset; 674*53ee8cc1Swenshuai.xi MS_U8 ucRetData; 675*53ee8cc1Swenshuai.xi } stHDCP_READ_X74, *pstHDCP_READ_X74; 676*53ee8cc1Swenshuai.xi 677*53ee8cc1Swenshuai.xi typedef struct 678*53ee8cc1Swenshuai.xi { 679*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 680*53ee8cc1Swenshuai.xi MS_BOOL bIsRepeater; 681*53ee8cc1Swenshuai.xi } stHDCP_SET_REPEATER, *pstHDCP_SET_REPEATER; 682*53ee8cc1Swenshuai.xi 683*53ee8cc1Swenshuai.xi typedef struct 684*53ee8cc1Swenshuai.xi { 685*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 686*53ee8cc1Swenshuai.xi MS_U16 usBstatus; 687*53ee8cc1Swenshuai.xi } stHDCP_SET_BSTATUS, *pstHDCP_SET_BSTATUS; 688*53ee8cc1Swenshuai.xi 689*53ee8cc1Swenshuai.xi typedef struct 690*53ee8cc1Swenshuai.xi { 691*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 692*53ee8cc1Swenshuai.xi MS_BOOL bHDMIMode; 693*53ee8cc1Swenshuai.xi } stHDCP_SET_HDMI_MODE, *pstHDCP_SET_HDMI_MODE; 694*53ee8cc1Swenshuai.xi 695*53ee8cc1Swenshuai.xi typedef struct 696*53ee8cc1Swenshuai.xi { 697*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 698*53ee8cc1Swenshuai.xi MS_U8 ucRetIntStatus; 699*53ee8cc1Swenshuai.xi } stHDCP_GET_INTERRUPT_STATUS, *pstHDCP_GET_INTERRUPT_STATUS; 700*53ee8cc1Swenshuai.xi 701*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED 702*53ee8cc1Swenshuai.xi { 703*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 704*53ee8cc1Swenshuai.xi MS_U8* pucKSV; 705*53ee8cc1Swenshuai.xi MS_U32 ulLen; 706*53ee8cc1Swenshuai.xi } stHDCP_WRITE_KSV_LIST, *pstHDCP_WRITE_KSV_LIST; 707*53ee8cc1Swenshuai.xi 708*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED 709*53ee8cc1Swenshuai.xi { 710*53ee8cc1Swenshuai.xi E_MUX_INPUTPORT enInputPortType; 711*53ee8cc1Swenshuai.xi MS_U8* pucVPrime; 712*53ee8cc1Swenshuai.xi } stHDCP_SET_VPRIME, *pstHDCP_SET_VPRIME; 713*53ee8cc1Swenshuai.xi /************************ HDCP Repeater ************************/ 714*53ee8cc1Swenshuai.xi 715*53ee8cc1Swenshuai.xi #ifdef __cplusplus 716*53ee8cc1Swenshuai.xi } 717*53ee8cc1Swenshuai.xi #endif 718*53ee8cc1Swenshuai.xi 719*53ee8cc1Swenshuai.xi #endif //_XC_HDMI_IF_H_ 720