xref: /utopia/UTPA2-700.0.x/modules/hdmi/api/hdmitx/HDMITX_private.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
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 _API_HDMITX_PRIV_H_
79*53ee8cc1Swenshuai.xi #define _API_HDMITX_PRIV_H_
80*53ee8cc1Swenshuai.xi 
81*53ee8cc1Swenshuai.xi 
82*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////////////////////////////
83*53ee8cc1Swenshuai.xi // Header Files
84*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////////////////////////////
85*53ee8cc1Swenshuai.xi #ifdef __cplusplus
86*53ee8cc1Swenshuai.xi extern "C"
87*53ee8cc1Swenshuai.xi {
88*53ee8cc1Swenshuai.xi #endif
89*53ee8cc1Swenshuai.xi 
90*53ee8cc1Swenshuai.xi 
91*53ee8cc1Swenshuai.xi typedef struct __attribute__ ((packed))
92*53ee8cc1Swenshuai.xi {
93*53ee8cc1Swenshuai.xi     MDrvHDMITX_PARAMETER_LIST       stHDMITxInfo;
94*53ee8cc1Swenshuai.xi     MDrvHdcpTx_PARAMETER_LIST       stHdcpTxInfo;
95*53ee8cc1Swenshuai.xi     MS_BOOL bEnableHDMITxTask;
96*53ee8cc1Swenshuai.xi     MS_BOOL bSetHPD;
97*53ee8cc1Swenshuai.xi     MS_BOOL bInit;
98*53ee8cc1Swenshuai.xi     MS_U32 u32AlignDummy;
99*53ee8cc1Swenshuai.xi } HDMITX_RESOURCE_PRIVATE;
100*53ee8cc1Swenshuai.xi 
101*53ee8cc1Swenshuai.xi 
102*53ee8cc1Swenshuai.xi #if 1
103*53ee8cc1Swenshuai.xi #define _HDMITX_SEMAPHORE_ENTRY(pInst)                                                              \
104*53ee8cc1Swenshuai.xi         if(MDrv_HDMITx_Get_Semaphore(pInst) != UTOPIA_STATUS_SUCCESS)                               \
105*53ee8cc1Swenshuai.xi         {      }
106*53ee8cc1Swenshuai.xi 
107*53ee8cc1Swenshuai.xi #define _HDMITX_GET_INST_PRIVATE()  \
108*53ee8cc1Swenshuai.xi     HDMITX_INSTANCE_PRIVATE *psHDMITXInstPri = NULL; \
109*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psHDMITXInstPri);
110*53ee8cc1Swenshuai.xi 
111*53ee8cc1Swenshuai.xi 
112*53ee8cc1Swenshuai.xi #define _HDMITX_GET_VARIABLE()  \
113*53ee8cc1Swenshuai.xi     HDMITX_INSTANCE_PRIVATE *psHDMITXInstPri = NULL; \
114*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psHDMITXInstPri);    \
115*53ee8cc1Swenshuai.xi     HDMITX_RESOURCE_PRIVATE *psHDMITXResPri = NULL; \
116*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(pu32HDMITXRes[psHDMITXInstPri->u32DeviceID],(void**)(&psHDMITXResPri));
117*53ee8cc1Swenshuai.xi 
118*53ee8cc1Swenshuai.xi #define _HDMITX_SEMAPHORE_RETURN(pInst)                                                             \
119*53ee8cc1Swenshuai.xi             MDrv_HDMITx_Release_Semaphore(pInst);
120*53ee8cc1Swenshuai.xi #endif
121*53ee8cc1Swenshuai.xi 
122*53ee8cc1Swenshuai.xi 
123*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_INIT)                    (void *pInstance);
124*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_EXIT)                    (void *pInstance);
125*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_TUNRONOFF)               (void *pInstance, MS_BOOL state);
126*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_ENABLEPACKETGEN)        (void *pInstance, MS_BOOL bflag);
127*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_SETHDMITXMODE)          (void *pInstance, HDMITX_OUTPUT_MODE mode);
128*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_SETHDMITXMODE_CD)       (void *pInstance, HDMITX_OUTPUT_MODE mode, HDMITX_VIDEO_COLORDEPTH_VAL val);
129*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_SETTMDSONOFF)           (void *pInstance, MS_BOOL state);
130*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_DISABLETMDSCTRL)        (void *pInstance, MS_BOOL bFlag);
131*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_SETRBCHANNELSWAP)       (void *pInstance, MS_BOOL state);
132*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_EXHIBIT)                 (void *pInstance);
133*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_GETRXSTATUS)             (void);
134*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_GETRXDCINFOFROMEDID)    (void *pInstance, HDMITX_VIDEO_COLORDEPTH_VAL *val);
135*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_GETRXVIDEOFORMATFROMEDID)    (void *pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSize);
136*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_GETVICLISTFROMEDID)             (void* pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSize);
137*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_GETDATABLOCKLENGTHFROMEDID)    (void *pInstance, MS_U8 *pu8Length, MS_U8 u8TagCode);
138*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_GETCOLORFORMATFROMEDID)            (void *pInstance, HDMITX_VIDEO_TIMING timing, HDMITX_EDID_COLOR_FORMAT *pColorFmt);
139*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_GETRXAUDIOFORMATFROMEDID)    (void *pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSize);
140*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_EDID_HDMISUPPORT)       (void *pInstance, MS_BOOL *HDMI_Support);
141*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_GETRXIDMANUFACTURERNAME)     (void *pInstance, MS_U8 *pu8Buffer);
142*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_GETEDIDDATA)     (void *pInstance, MS_U8 *pu8Buffer, MS_BOOL BlockIdx);
143*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_GETRX3DSTRUCTUREFROMEDID)     (void *pInstance, HDMITX_VIDEO_TIMING timing, HDMITX_EDID_3D_STRUCTURE_ALL *p3DStructure);
144*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_PKT_USER_DEFINE_CLEAR)           (void *pInstance);
145*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_PKT_USER_DEFINE)        (void *pInstance, HDMITX_PACKET_TYPE packet_type, MS_BOOL def_flag, HDMITX_PACKET_PROCESS def_process, MS_U8 def_fcnt);
146*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_PKT_CONTENT_DEFINE)     (void *pInstance, HDMITX_PACKET_TYPE packet_type, MS_U8 *data, MS_U8 length);
147*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_SETVIDEOONOFF)          (void *pInstance, MS_BOOL state);
148*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_SETCOLORFORMAT)         (void *pInstance, HDMITX_VIDEO_COLOR_FORMAT in_color, HDMITX_VIDEO_COLOR_FORMAT out_color);
149*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_SET_VS_INFOFRAME)       (void *pInstance, HDMITX_VIDEO_VS_FORMAT vs_format, HDMITX_VIDEO_3D_STRUCTURE vs_3d, HDMITX_VIDEO_4k2k_VIC vs_vic);
150*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_SETVIDEOOUTPUTTIMING)  (void *pInstance, HDMITX_VIDEO_TIMING mode);
151*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_SETVIDEOOUTPUTASEPECTRATIO)  (void *pInstance, HDMITX_VIDEO_ASPECT_RATIO out_ar);
152*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_SETVIDEOOUTPUTOVERSCAN_AFD)  (void *pInstance, MS_BOOL bflag, HDMITX_VIDEO_SCAN_INFO out_scaninfo, MS_U8 out_afd);
153*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_SETAUDIOONOFF)          (void *pInstance, MS_BOOL state);
154*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_SETAUDIOFREQUENCY)     (void *pInstance, HDMITX_AUDIO_FREQUENCY freq);
155*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_SETVIDEOOUTPUTOVERSCAN_AFD_II)  (void *pInstance, MS_BOOL bflag, HDMITX_VIDEO_SCAN_INFO out_scaninfo, MS_U8 out_afd, MS_U8 A0);
156*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_SETAUDIOCONFIGURATION) (void *pInstance, HDMITX_AUDIO_FREQUENCY freq, HDMITX_AUDIO_CHANNEL_COUNT ch, HDMITX_AUDIO_CODING_TYPE type);
157*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_SETAUDIOSOURCEFORMAT)       (void *pInstance, HDMITX_AUDIO_SOURCE_FORMAT fmt);
158*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_SETAVIINFOEXTCOLORIMETRY)       (void *pInstance, HDMITX_AVI_EXTENDED_COLORIMETRY ExtColorimetry, HDMITX_AVI_YCC_QUANT_RANGE YccQuantRange);
159*53ee8cc1Swenshuai.xi typedef MS_U32       (*IOCTL_HDMITX_GETAUDIOCTS)       (void *pInstance);
160*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_MUTEAUDIOFIFO)       (void *pInstance, MS_BOOL bflag);
161*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_GETHDCPKEY)       (void *pInstance, MS_BOOL useinternalkey, MS_U8 *data);
162*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_GETBKSV)          (void *pInstance, MS_U8 *pdata);
163*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_GETAKSV)          (void *pInstance, MS_U8 *pdata);
164*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_SETHDCPONOFF)            (void *pInstance, MS_BOOL state);
165*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_SETAVMUTE)               (void *pInstance, MS_BOOL bflag);
166*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_GETAVMUTESTATUS)        (void *pInstance);
167*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_HDCP_REVOCATIONKEY_LIST)        (void *pInstance, MS_U8 *data, MS_U16 size);
168*53ee8cc1Swenshuai.xi typedef HDMITX_REVOCATION_STATE (*IOCTL_HDMITX_HDCP_REVOCATIONKEY_CHECK)      (void *pInstance);
169*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_HDCP_ISSRMSIGNATUREVALID)        (void *pInstance, MS_U8 *data, MS_U32 size);
170*53ee8cc1Swenshuai.xi typedef HDMITX_HDCP_STATUS      (*IOCTL_HDMITX_GETHDCPSTATUS)        (void *pInstance);
171*53ee8cc1Swenshuai.xi typedef void      (*IOCTL_HDMITX_HDCP_STARTAUTH)        (void *pInstance, MS_BOOL bFlag);
172*53ee8cc1Swenshuai.xi typedef HDMITX_INT_HDCP_STATUS      (*IOCTL_HDMITX_GETINTHDCPSTATUS)        (void *pInstance);
173*53ee8cc1Swenshuai.xi typedef HDMITX_INT_HDCP_STATUS      (*IOCTL_HDMITX_GETHDCP_PRESTATUS)       (void *pInstance);
174*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_GETLIBVER)        (void *pInstance, const MSIF_Version **ppVersion);
175*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_GETINFO)        (void *pInstance, HDMI_TX_INFO *pInfo);
176*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_GETSTATUS)        (void *pInstance, HDMI_TX_Status *pStatus);
177*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_SETDBGLEVEL)        (MS_U16 u16DbgSwitch);
178*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_UNHDCPRXCONTROL)      (void *pInstance, HDMITX_UNHDCPRX_CONTROL state);
179*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_HDCPRXFAILCONTROL)    (void *pInstance, HDMITX_HDCPRXFail_CONTROL state);
180*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_SETHPDGPIOPIN)         (void *pInstance, MS_U8 u8pin);
181*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_ANALOGTUNING)         (void *pInstance, HDMITX_ANALOG_TUNING *pInfo);
182*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_FORCEHDMIOUTPUTMODE)         (void *pInstance, MS_BOOL bflag, HDMITX_OUTPUT_MODE output_mode);
183*53ee8cc1Swenshuai.xi typedef MS_BOOL         (*IOCTL_HDMITX_FORCEHDMIOUTPUTCOLORFORMAT)         (void *pInstance, MS_BOOL bflag, HDMITX_VIDEO_COLOR_FORMAT output_color);
184*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_DISABLEREGWRITE)           (void *pInstance, MS_BOOL bFlag);
185*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_GETEDIDPHYADR)           (void *pInstance, MS_U8 *pdata);
186*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_SETCECONOFF)           (void *pInstance, MS_BOOL bflag);
187*53ee8cc1Swenshuai.xi typedef MS_BOOL         (*IOCTL_HDMITX_GETCECSTATUS)         (void *pInstance);
188*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_EDIDCHECKING)          (void *pInstance);
189*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_RXBYPASS_MODE)         (void *pInstance, HDMITX_INPUT_FREQ freq, MS_BOOL bflag);
190*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_DISABLE_RXBYPASS)      (void *pInstance);
191*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_SETAKSV2R0INTERVAL)      (void *pInstance, MS_U32 u32Interval);
192*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_ISRXVALID)                  (void *pInstance);
193*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_GETCHIPCAPS)                (void *pInstance, EN_HDMITX_CAPS eCapType, MS_U32* pRet, MS_U32 ret_size);
194*53ee8cc1Swenshuai.xi typedef MS_U32       (*IOCTL_HDMITX_SETPOWERSTATE)              (void* pInstance, EN_POWER_MODE u16PowerState);
195*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_GETEDIDDATABLOCK)           (void* pInstance, HDMITX_CEA_DB_TAG_CODE enTagCode, HDMITX_CEA_EXT_TAG_CODE enExtTagCode, MS_U8* pu8Data, MS_U32 u32DataLen, MS_U32* pu32RealLen);
196*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_GETKSVLIST)                     (void* pInstance, MS_U8 *pu8Bstatus, MS_U8* pu8KSVList, MS_U16 u16BufLen, MS_U16 *pu16KSVLength);
197*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_HDCP2ACCESSX74OFFSET)      (void* pInstance, MS_U8 u8PortIdx, MS_U8 u8OffsetAddr, MS_U8 u8OpCode, MS_U8 *pu8RdBuf, MS_U16 u16RdLen, MS_U8 *pu8WRBuff, MS_U16 u16WrLen);
198*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_HDCP2TxInit)                   (void* pInstance, MS_U8 u8PortIdx, MS_BOOL bEnable);
199*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_HDCP2TxEnableEncrypt)        (void* pInstance, MS_U8 u8PortIdx, MS_BOOL bEnable);
200*53ee8cc1Swenshuai.xi typedef void         (*IOCTL_HDMITX_HDCP2TxFillCipherKey)        (void* pInstance, MS_U8 u8PortIdx, MS_U8 *pu8Riv, MS_U8 *pu8KsXORLC128);
201*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_GENERALCTRL)                 (void* pInstance, MS_U32 u32Cmd, MS_U8* pu8Buf, MS_U32 u32BufSize);
202*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_CMD_COLOR_AND_RANGE_TRANSFORM)  (void* pInstance, HDMITX_VIDEO_COLOR_FORMAT incolor, HDMITX_VIDEO_COLOR_FORMAT outcolor, HDMITX_QUANT_RANGE inange, HDMITX_QUANT_RANGE outrange);
203*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_CMD_SSC_ENABLE)  (void* pInstance, MS_U8 ubSSCEn);
204*53ee8cc1Swenshuai.xi typedef MS_U8          (*IOCTL_HDMITX_CMD_SET_COLORIMETRY)  (void* pInstance, HDMITX_AVI_COLORIMETRY enColorimetry);
205*53ee8cc1Swenshuai.xi typedef MS_U32        (*IOCTL_HDMITX_CMD_GET_FULL_RX_STATUS)  (void* pInstance);
206*53ee8cc1Swenshuai.xi typedef HDMITX_TIMING_ERROR        (*IOCTL_HDMITX_CMD_TIMING_CAPABILITY_CHECK)  (void* pInstance, HDMITX_OUTPUT_MODE eOutputMode, HDMITX_VIDEO_TIMING idx, HDMITX_VIDEO_COLOR_FORMAT incolor_fmt, HDMITX_VIDEO_COLOR_FORMAT outcolor_fmt, HDMITX_VIDEO_COLORDEPTH_VAL color_depth);
207*53ee8cc1Swenshuai.xi typedef MS_U32       (*IOCTL_HDMITX_CMD_GET_TMDS_STATUS)  (void* pInstance);
208*53ee8cc1Swenshuai.xi typedef void       (*IOCTL_HDMITX_SETVIDEOOUTPUTTIMINGBYCUSTOMER)  (void* pInstance, HDMITX_VIDEO_TIMING u8Mode, HDMITX_TIMING_INFO_BY_CUSTOMER stTiminginfo);
209*53ee8cc1Swenshuai.xi 
210*53ee8cc1Swenshuai.xi #if defined(VANCLEEF_MCP) || defined(RAPTORS_MCP)
211*53ee8cc1Swenshuai.xi typedef MS_BOOL      (*IOCTL_HDMITX_VANCLEEF_LOADHDCPKEY)      (void *pInstance, MS_U8* pu8HdcpKey, MS_U32 u32Size);
212*53ee8cc1Swenshuai.xi #endif
213*53ee8cc1Swenshuai.xi 
214*53ee8cc1Swenshuai.xi // OBSOLETE FUNCTION POINTER END
215*53ee8cc1Swenshuai.xi 
216*53ee8cc1Swenshuai.xi typedef struct
217*53ee8cc1Swenshuai.xi {
218*53ee8cc1Swenshuai.xi     MS_U32 u32DeviceID;
219*53ee8cc1Swenshuai.xi #ifdef UTOPIA_20
220*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_INIT                                             fpHDMITX_INIT;
221*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_EXIT                                             fpHDMITX_EXIT;
222*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_TUNRONOFF                                        fpHDMITX_TUNRONOFF;
223*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_ENABLEPACKETGEN                                  fpHDMITX_ENABLEPACKETGEN;
224*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETHDMITXMODE                                    fpHDMITX_SETHDMITXMODE;
225*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETHDMITXMODE_CD                                 fpHDMITX_SETHDMITXMODE_CD;
226*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETTMDSONOFF                                     fpHDMITX_SETTMDSONOFF;
227*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_DISABLETMDSCTRL                                  fpHDMITX_DISABLETMDSCTRL;
228*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETRBCHANNELSWAP                                 fpHDMITX_SETRBCHANNELSWAP;
229*53ee8cc1Swenshuai.xi 	IOCTL_HDMITX_EXHIBIT                                          fpHDMITX_EXHIBIT;
230*53ee8cc1Swenshuai.xi 
231*53ee8cc1Swenshuai.xi 	IOCTL_HDMITX_GETRXSTATUS                                      fpHDMITX_GETRXSTATUS;
232*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETRXDCINFOFROMEDID                              fpHDMITX_GETRXDCINFOFROMEDID;
233*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETRXVIDEOFORMATFROMEDID                         fpHDMITX_GETRXVIDEOFORMATFROMEDID;
234*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETVICLISTFROMEDID                               fpHDMITX_GETVICLISTFROMEDID;
235*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETDATABLOCKLENGTHFROMEDID                       fpHDMITX_GETDATABLOCKLENGTHFROMEDID;
236*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETCOLORFORMATFROMEDID                           fpHDMITX_GETCOLORFORMATFROMEDID;
237*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETRXAUDIOFORMATFROMEDID                         fpHDMITX_GETRXAUDIOFORMATFROMEDID;
238*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_EDID_HDMISUPPORT                                 fpHDMITX_EDID_HDMISUPPORT;
239*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETRXIDMANUFACTURERNAME                          fpHDMITX_GETRXIDMANUFACTURERNAME;
240*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETEDIDDATA                                      fpHDMITX_GETEDIDDATA;
241*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETRX3DSTRUCTUREFROMEDID                         fpHDMITX_GETRX3DSTRUCTUREFROMEDID;
242*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_PKT_USER_DEFINE_CLEAR                            fpHDMITX_PKT_USER_DEFINE_CLEAR;
243*53ee8cc1Swenshuai.xi 
244*53ee8cc1Swenshuai.xi 	IOCTL_HDMITX_PKT_USER_DEFINE                                  fpHDMITX_PKT_USER_DEFINE;
245*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_PKT_CONTENT_DEFINE                               fpHDMITX_PKT_CONTENT_DEFINE;
246*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETVIDEOONOFF                                    fpHDMITX_SETVIDEOONOFF;
247*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETCOLORFORMAT                                   fpHDMITX_SETCOLORFORMAT;
248*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SET_VS_INFOFRAME                                 fpHDMITX_SET_VS_INFOFRAME;
249*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETVIDEOOUTPUTTIMING                             fpHDMITX_SETVIDEOOUTPUTTIMING;
250*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETVIDEOOUTPUTASEPECTRATIO                       fpHDMITX_SETVIDEOOUTPUTASEPECTRATIO;
251*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETVIDEOOUTPUTOVERSCAN_AFD                       fpHDMITX_SETVIDEOOUTPUTOVERSCAN_AFD;
252*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETAUDIOONOFF                                    fpHDMITX_SETAUDIOONOFF;
253*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETAUDIOFREQUENCY                                fpHDMITX_SETAUDIOFREQUENCY;
254*53ee8cc1Swenshuai.xi 
255*53ee8cc1Swenshuai.xi 	IOCTL_HDMITX_SETVIDEOOUTPUTOVERSCAN_AFD_II                    fpHDMITX_SETVIDEOOUTPUTOVERSCAN_AFD_II;
256*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETAUDIOCONFIGURATION                            fpHDMITX_SETAUDIOCONFIGURATION;
257*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETAUDIOSOURCEFORMAT                             fpHDMITX_SETAUDIOSOURCEFORMAT;
258*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETAVIINFOEXTCOLORIMETRY                         fpHDMITX_SETAVIINFOCOLORIMETRY;
259*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETAUDIOCTS                                      fpHDMITX_GETAUDIOCTS;
260*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_MUTEAUDIOFIFO                                    fpHDMITX_MUTEAUDIOFIFO;
261*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETHDCPKEY                                       fpHDMITX_GETHDCPKEY;
262*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETBKSV                                          fpHDMITX_GETBKSV;
263*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETAKSV                                          fpHDMITX_GETAKSV;
264*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETHDCPONOFF                                     fpHDMITX_SETHDCPONOFF;
265*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETAVMUTE                                        fpHDMITX_SETAVMUTE;
266*53ee8cc1Swenshuai.xi 
267*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETAVMUTESTATUS                                  fpHDMITX_GETAVMUTESTATUS;
268*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_HDCP_REVOCATIONKEY_LIST                          fpHDMITX_HDCP_REVOCATIONKEY_LIST;
269*53ee8cc1Swenshuai.xi 	IOCTL_HDMITX_HDCP_REVOCATIONKEY_CHECK                         fpHDMITX_HDCP_REVOCATIONKEY_CHECK;
270*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_HDCP_ISSRMSIGNATUREVALID                         fpHDMITX_HDCP_ISSRMSIGNATUREVALID;
271*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETHDCPSTATUS                                    fpHDMITX_GETHDCPSTATUS;
272*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_HDCP_STARTAUTH                                   fpHDMITX_HDCP_STARTAUTH;
273*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETINTHDCPSTATUS                                 fpHDMITX_GETINTHDCPSTATUS;
274*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETHDCP_PRESTATUS                                fpHDMITX_GETHDCP_PRESTATUS;
275*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_UNHDCPRXCONTROL                                  fpHDMITX_UNHDCPRXCONTROL;
276*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_HDCPRXFAILCONTROL                                fpHDMITX_HDCPRXFAILCONTROL;
277*53ee8cc1Swenshuai.xi 
278*53ee8cc1Swenshuai.xi 	IOCTL_HDMITX_GETLIBVER                                        fpHDMITX_GETLIBVER;
279*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETINFO                                          fpHDMITX_GETINFO;
280*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETSTATUS                                        fpHDMITX_GETSTATUS;
281*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETDBGLEVEL                                      fpHDMITX_SETDBGLEVEL;
282*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETHPDGPIOPIN                                    fpHDMITX_SETHPDGPIOPIN;
283*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_ANALOGTUNING                                     fpHDMITX_ANALOGTUNING;
284*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_FORCEHDMIOUTPUTMODE                              fpHDMITX_FORCEHDMIOUTPUTMODE;
285*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_FORCEHDMIOUTPUTCOLORFORMAT                       fpHDMITX_FORCEHDMIOUTPUTCOLORFORMAT;
286*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_DISABLEREGWRITE                                  fpHDMITX_DISABLEREGWRITE;
287*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETEDIDPHYADR                                    fpHDMITX_GETEDIDPHYADR;
288*53ee8cc1Swenshuai.xi 
289*53ee8cc1Swenshuai.xi 	IOCTL_HDMITX_SETCECONOFF                                      fpHDMITX_SETCECONOFF;
290*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETCECSTATUS                                     fpHDMITX_GETCECSTATUS;
291*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_EDIDCHECKING                                     fpHDMITX_EDIDCHECKING;
292*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_RXBYPASS_MODE                                    fpHDMITX_RXBYPASS_MODE;
293*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_DISABLE_RXBYPASS                                 fpHDMITX_DISABLE_RXBYPASS;
294*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETAKSV2R0INTERVAL                               fpHDMITX_SETAKSV2R0INTERVAL;
295*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_ISRXVALID                                        fpHDMITX_ISRXVALID;
296*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETCHIPCAPS                                      fpHDMITX_GETCHIPCAPS;
297*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETPOWERSTATE                                    fpHDMITX_SETPOWERSTATE;
298*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETEDIDDATABLOCK                                 fpHDMITX_GETEDIDDATABLOCK;
299*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GETKSVLIST                                       fpHDMITX_GETKSVLIST;
300*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_HDCP2ACCESSX74OFFSET                             fpHDMITX_HDCP2ACCESSX74OFFSET;
301*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_HDCP2TxInit                                      fpHDMITx_HDCP2TxInit;
302*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_HDCP2TxEnableEncrypt                             fpHDMITx_HDCP2TxEnableEncrypt;
303*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_HDCP2TxFillCipherKey                             fpHDMITx_HDCP2TxFillCipherKey;
304*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_GENERALCTRL                                      fpHDMITx_GeneralCtrl;
305*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_CMD_COLOR_AND_RANGE_TRANSFORM      fpHDMITx_Cmd_ColorAndRangeTransform;
306*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_CMD_SSC_ENABLE                                     fpHDMITx_Cmd_SSCEnable;
307*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_CMD_SET_COLORIMETRY                            fpHDMITx_Cmd_Set_Colorimetry;
308*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_CMD_GET_FULL_RX_STATUS                       fpHDMITx_Cmd_Get_Full_Rx_Status;
309*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_CMD_TIMING_CAPABILITY_CHECK                      fpHDMITx_Cmd_Timing_Capability_Check;
310*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_CMD_GET_TMDS_STATUS                              fpHDMITx_Cmd_Get_TMDS_Status;
311*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_SETVIDEOOUTPUTTIMINGBYCUSTOMER                   fpHDMITX_SETVIDEOOUTPUTTIMINGBYCUSTOMER;
312*53ee8cc1Swenshuai.xi 
313*53ee8cc1Swenshuai.xi #if defined(VANCLEEF_MCP) || defined(RAPTORS_MCP)
314*53ee8cc1Swenshuai.xi     IOCTL_HDMITX_VANCLEEF_LOADHDCPKEY                             fpHDMITX_VANCLEEF_LOADHDCPKEY;
315*53ee8cc1Swenshuai.xi #endif
316*53ee8cc1Swenshuai.xi #endif
317*53ee8cc1Swenshuai.xi     // OBSOLETE FUNCTION POINTER START
318*53ee8cc1Swenshuai.xi     // avoid using these functions pointers!!!!
319*53ee8cc1Swenshuai.xi }HDMITX_INSTANCE_PRIVATE;
320*53ee8cc1Swenshuai.xi 
321*53ee8cc1Swenshuai.xi 
322*53ee8cc1Swenshuai.xi 
323*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_Init_U2(void *pInstance);
324*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_Exit_U2(void *pInstance);
325*53ee8cc1Swenshuai.xi void MApi_HDMITx_TurnOnOff_U2(void *pInstance, MS_BOOL state);
326*53ee8cc1Swenshuai.xi void MApi_HDMITx_EnablePacketGen_U2(void *pInstance, MS_BOOL bflag);
327*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetHDMITxMode_U2(void *pInstance, HDMITX_OUTPUT_MODE mode);
328*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetHDMITxMode_CD_U2(void *pInstance, HDMITX_OUTPUT_MODE mode, HDMITX_VIDEO_COLORDEPTH_VAL val);
329*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetTMDSOnOff_U2(void *pInstance, MS_BOOL state);
330*53ee8cc1Swenshuai.xi void MApi_HDMITx_DisableTMDSCtrl_U2(void *pInstance, MS_BOOL bFlag);
331*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetRBChannelSwap_U2(void *pInstance, MS_BOOL state);
332*53ee8cc1Swenshuai.xi void MApi_HDMITx_Exhibit_U2(void *pInstance);
333*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetRxStatus_U2(void);
334*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetRxDCInfoFromEDID_U2(void *pInstance, HDMITX_VIDEO_COLORDEPTH_VAL *val);
335*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetRxVideoFormatFromEDID_U2(void *pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSize);
336*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetVICListFromEDID_U2(void* pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSize);
337*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetDataBlockLengthFromEDID_U2(void *pInstance, MS_U8 *pu8Length, MS_U8 u8TagCode);
338*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetRxAudioFormatFromEDID_U2(void *pInstance, MS_U8 *pu8Buffer, MS_U8 u8BufSize);
339*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_EDID_HDMISupport_U2(void *pInstance, MS_BOOL *HDMI_Support);
340*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetRxIDManufacturerName_U2(void *pInstance, MS_U8 *pu8Buffer);
341*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetEDIDData_U2(void *pInstance, MS_U8 *pu8Buffer, MS_BOOL BlockIdx);
342*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetRx3DStructureFromEDID_U2(void *pInstance, HDMITX_VIDEO_TIMING timing, HDMITX_EDID_3D_STRUCTURE_ALL *p3DStructure);
343*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetColorFormatFromEDID_U2(void* pInstance, HDMITX_VIDEO_TIMING timing, HDMITX_EDID_COLOR_FORMAT *pColorFmt);
344*53ee8cc1Swenshuai.xi void MApi_HDMITx_PKT_User_Define_Clear_U2(void *pInstance);
345*53ee8cc1Swenshuai.xi void MApi_HDMITx_PKT_User_Define_U2(void *pInstance, HDMITX_PACKET_TYPE packet_type, MS_BOOL def_flag, HDMITX_PACKET_PROCESS def_process, MS_U8 def_fcnt);
346*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_PKT_Content_Define_U2(void *pInstance, HDMITX_PACKET_TYPE packet_type, MS_U8 *data, MS_U8 length);
347*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetVideoOnOff_U2(void *pInstance, MS_BOOL state);
348*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetColorFormat_U2(void *pInstance, HDMITX_VIDEO_COLOR_FORMAT in_color, HDMITX_VIDEO_COLOR_FORMAT out_color);
349*53ee8cc1Swenshuai.xi void MApi_HDMITx_Set_VS_InfoFrame_U2(void *pInstance, HDMITX_VIDEO_VS_FORMAT vs_format, HDMITX_VIDEO_3D_STRUCTURE vs_3d, HDMITX_VIDEO_4k2k_VIC vs_vic);
350*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetVideoOutputTiming_U2(void *pInstance, HDMITX_VIDEO_TIMING mode);
351*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetVideoOutputAsepctRatio_U2(void *pInstance, HDMITX_VIDEO_ASPECT_RATIO out_ar);
352*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetVideoOutputOverscan_AFD_U2(void *pInstance, MS_BOOL bflag, HDMITX_VIDEO_SCAN_INFO out_scaninfo, MS_U8 out_afd);
353*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetAudioOnOff_U2(void *pInstance, MS_BOOL state);
354*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetAudioFrequency_U2(void *pInstance, HDMITX_AUDIO_FREQUENCY freq);
355*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetVideoOutputOverscan_AFD_II_U02(void *pInstance, MS_BOOL bflag, HDMITX_VIDEO_SCAN_INFO out_scaninfo, MS_U8 out_afd, MS_U8 A0);
356*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetAudioConfiguration_U2(void *pInstance, HDMITX_AUDIO_FREQUENCY freq, HDMITX_AUDIO_CHANNEL_COUNT ch, HDMITX_AUDIO_CODING_TYPE type);
357*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetAudioSourceFormat_U2(void *pInstance, HDMITX_AUDIO_SOURCE_FORMAT fmt);
358*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_SetAVIInfoExtColorimetry_U2(void* pInstance, HDMITX_AVI_EXTENDED_COLORIMETRY enExtColorimetry, HDMITX_AVI_YCC_QUANT_RANGE enYccQuantRange);
359*53ee8cc1Swenshuai.xi MS_U32 MApi_HDMITx_GetAudioCTS_U2(void *pInstance);
360*53ee8cc1Swenshuai.xi void MApi_HDMITx_MuteAudioFIFO_U2(void *pInstance, MS_BOOL bflag);
361*53ee8cc1Swenshuai.xi void MApi_HDMITx_GetHdcpKey_U2(void *pInstance, MS_BOOL useinternalkey, MS_U8 *data);
362*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetBksv_U2(void *pInstance, MS_U8 *pdata);
363*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetAksv_U2(void *pInstance, MS_U8 *pdata);
364*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetHDCPOnOff_U2(void *pInstance, MS_BOOL state);
365*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetAVMUTE_U2(void *pInstance, MS_BOOL bflag);
366*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetAVMUTEStatus_U2(void *pInstance);
367*53ee8cc1Swenshuai.xi void MApi_HDMITx_HDCP_RevocationKey_List_U2(void *pInstance, MS_U8 *data, MS_U16 size);
368*53ee8cc1Swenshuai.xi HDMITX_REVOCATION_STATE MApi_HDMITx_HDCP_RevocationKey_Check_U2(void *pInstance);
369*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_HDCP_IsSRMSignatureValid_U2(void *pInstance, MS_U8 *data, MS_U32 size);
370*53ee8cc1Swenshuai.xi HDMITX_HDCP_STATUS MApi_HDMITx_GetHDCPStatus_U2(void *pInstance);
371*53ee8cc1Swenshuai.xi void MApi_HDMITx_HDCP_StartAuth_U2(void *pInstance, MS_BOOL bFlag);
372*53ee8cc1Swenshuai.xi HDMITX_INT_HDCP_STATUS MApi_HDMITx_GetINTHDCPStatus_U2(void *pInstance);
373*53ee8cc1Swenshuai.xi HDMITX_INT_HDCP_STATUS MApi_HDMITx_GetHDCP_PreStatus_U2(void *pInstance);
374*53ee8cc1Swenshuai.xi void MApi_HDMITx_UnHDCPRxControl_U2(void *pInstance, HDMITX_UNHDCPRX_CONTROL state);
375*53ee8cc1Swenshuai.xi void MApi_HDMITx_HDCPRxFailControl_U2(void *pInstance, HDMITX_HDCPRXFail_CONTROL state);
376*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetLibVer_U2(void *pInstance, const MSIF_Version **ppVersion);
377*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetInfo_U2(void *pInstance, HDMI_TX_INFO *pInfo);
378*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetStatus_U2(void *pInstance, HDMI_TX_Status *pStatus);
379*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_SetDbgLevel_U2(MS_U16 u16DbgSwitch);
380*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetHPDGpioPin_U2(void *pInstance, MS_U8 u8pin);
381*53ee8cc1Swenshuai.xi void MApi_HDMITx_AnalogTuning_U2(void *pInstance, HDMITX_ANALOG_TUNING *pInfo);
382*53ee8cc1Swenshuai.xi void MApi_HDMITx_ForceHDMIOutputMode_U2(void *pInstance, MS_BOOL bflag, HDMITX_OUTPUT_MODE output_mode);
383*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_ForceHDMIOutputColorFormat_U2(void *pInstance, MS_BOOL bflag, HDMITX_VIDEO_COLOR_FORMAT output_color);
384*53ee8cc1Swenshuai.xi void MApi_HDMITx_DisableRegWrite_U2(void *pInstance, MS_BOOL bFlag);
385*53ee8cc1Swenshuai.xi void MApi_HDMITx_GetEDIDPhyAdr_U2(void *pInstance, MS_U8 *pdata);
386*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetCECOnOff_U2(void *pInstance, MS_BOOL bflag);
387*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetCECStatus_U2(void *pInstance);
388*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_EdidChecking_U2(void *pInstance);
389*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_RxBypass_Mode_U2(void *pInstance, HDMITX_INPUT_FREQ freq, MS_BOOL bflag);
390*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_Disable_RxBypass_U2(void *pInstance);
391*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_SetAksv2R0Interval_U2(void *pInstance, MS_U32 u32Interval);
392*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_IsHDCPRxValid_U2(void *pInstance);
393*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetChipCaps_U2(void *pInstance, EN_HDMITX_CAPS eCapType, MS_U32* pRet, MS_U32 ret_size);
394*53ee8cc1Swenshuai.xi MS_U32 MApi_HDMITx_SetPowerState_U2(void *pInstance, EN_POWER_MODE u16PowerState);
395*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetEdidDataBlocks_U2(void* pInstance, HDMITX_CEA_DB_TAG_CODE enTagCode, HDMITX_CEA_EXT_TAG_CODE enExtTagCode, MS_U8* pu8Data, MS_U32 u32DataLen, MS_U32* pu32RealLen);
396*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GetKSVList_U2(void* pInstance, MS_U8 *pu8Bstatus, MS_U8* pu8KSVList, MS_U16 u16BufLen, MS_U16 *pu16KSVLength);
397*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_HDCP2AccessX74_U2(void* pInstance, MS_U8 u8PortIdx, MS_U8 u8OffsetAddr, MS_U8 u8OpCode, MS_U8 *pu8RdBuf, MS_U16 u16RdLen, MS_U8 *pu8WRBuff, MS_U16 u16WrLen);
398*53ee8cc1Swenshuai.xi void MApi_HDMITx_HDCP2TxInit_U2(void *pInstance, MS_U8 u8PortIdx, MS_BOOL bEnable);
399*53ee8cc1Swenshuai.xi void MApi_HDMITx_HDCP2TxEnableEncrypt_U2(void *pInstance, MS_U8 u8PortIdx, MS_BOOL bEnable);
400*53ee8cc1Swenshuai.xi void MApi_HDMITx_HDCP2TxFillCipherKey_U2(void *pInstance, MS_U8 u8PortIdx, MS_U8 *pu8Riv, MS_U8 *pu8KsXORLC128);
401*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_GeneralCtrl_U2(void* pInstance, MS_U32 u32Cmd, MS_U8* pu8Buf, MS_U32 u32BufSize);
402*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_ColorandRange_Transform_U2(void* pInstance, HDMITX_VIDEO_COLOR_FORMAT incolor, HDMITX_VIDEO_COLOR_FORMAT outcolor, HDMITX_QUANT_RANGE inange, HDMITX_QUANT_RANGE outrange);
403*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_SSC_Enable_U2(void* pInstance, MS_U8 ubSSCEn);
404*53ee8cc1Swenshuai.xi MS_U8 MApi_HDMITx_SetAVIInfoColorimetry_U2(void* pInstance, HDMITX_AVI_COLORIMETRY enColorimetry);
405*53ee8cc1Swenshuai.xi MS_U32 MApi_HDMITx_GetFullRxStatus_U2(void* pInstance);
406*53ee8cc1Swenshuai.xi HDMITX_TIMING_ERROR MApi_HDMITx_CheckLegalTiming_U2(void* pInstance, HDMITX_OUTPUT_MODE eOutputMode, HDMITX_VIDEO_TIMING idx, HDMITX_VIDEO_COLOR_FORMAT incolor_fmt, HDMITX_VIDEO_COLOR_FORMAT outcolor_fmt, HDMITX_VIDEO_COLORDEPTH_VAL color_depth);
407*53ee8cc1Swenshuai.xi MS_U32 MApi_HDMITx_GetTMDSStatus_U2(void* pInstance);
408*53ee8cc1Swenshuai.xi void MApi_HDMITx_SetVideoOutputTimingByCustomer_U2(void* pInstance, HDMITX_VIDEO_TIMING u8Mode, HDMITX_TIMING_INFO_BY_CUSTOMER stTiminginfo);
409*53ee8cc1Swenshuai.xi 
410*53ee8cc1Swenshuai.xi #if defined(VANCLEEF_MCP) || defined(RAPTORS_MCP)
411*53ee8cc1Swenshuai.xi MS_BOOL MApi_HDMITx_Vancleef_LoadHDCPKey_U2(void *pInstance, MS_U8* pu8HdcpKey, MS_U32 u32Size);
412*53ee8cc1Swenshuai.xi #endif
413*53ee8cc1Swenshuai.xi 
414*53ee8cc1Swenshuai.xi 
415*53ee8cc1Swenshuai.xi 
416*53ee8cc1Swenshuai.xi //internal use only
417*53ee8cc1Swenshuai.xi MS_U32 _HDMITX_GET_DEVICE_NUM(void);
418*53ee8cc1Swenshuai.xi 
419*53ee8cc1Swenshuai.xi void HDMITXRegisterToUtopia(FUtopiaOpen ModuleType);
420*53ee8cc1Swenshuai.xi MS_U32 HDMITXOpen(void** ppInstance, const void* const pAttribute);
421*53ee8cc1Swenshuai.xi MS_U32 HDMITXClose(void* pInstance);
422*53ee8cc1Swenshuai.xi MS_U32 HDMITXIoctl(void* pInstance, MS_U32 u32Cmd, void* pArgs);
423*53ee8cc1Swenshuai.xi 
424*53ee8cc1Swenshuai.xi #ifdef CONFIG_UTOPIA_PROC_DBG_SUPPORT
425*53ee8cc1Swenshuai.xi MS_U32 HDMITXMdbIoctl(MS_U32 cmd, const void* const pArgs);
426*53ee8cc1Swenshuai.xi #endif
427*53ee8cc1Swenshuai.xi 
428*53ee8cc1Swenshuai.xi #ifdef __cplusplus
429*53ee8cc1Swenshuai.xi }
430*53ee8cc1Swenshuai.xi #endif
431*53ee8cc1Swenshuai.xi 
432*53ee8cc1Swenshuai.xi #undef _API_HDMITX_PRIV_H_
433*53ee8cc1Swenshuai.xi #endif // _API_ACE_PRIV_H_
434*53ee8cc1Swenshuai.xi 
435