xref: /utopia/UTPA2-700.0.x/modules/hdmi/api/cec/apiCEC_private.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1 //<MStar Software>
2 //******************************************************************************
3 // MStar Software
4 // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved.
5 // All software, firmware and related documentation herein ("MStar Software") are
6 // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by
7 // law, including, but not limited to, copyright law and international treaties.
8 // Any use, modification, reproduction, retransmission, or republication of all
9 // or part of MStar Software is expressly prohibited, unless prior written
10 // permission has been granted by MStar.
11 //
12 // By accessing, browsing and/or using MStar Software, you acknowledge that you
13 // have read, understood, and agree, to be bound by below terms ("Terms") and to
14 // comply with all applicable laws and regulations:
15 //
16 // 1. MStar shall retain any and all right, ownership and interest to MStar
17 //    Software and any modification/derivatives thereof.
18 //    No right, ownership, or interest to MStar Software and any
19 //    modification/derivatives thereof is transferred to you under Terms.
20 //
21 // 2. You understand that MStar Software might include, incorporate or be
22 //    supplied together with third party`s software and the use of MStar
23 //    Software may require additional licenses from third parties.
24 //    Therefore, you hereby agree it is your sole responsibility to separately
25 //    obtain any and all third party right and license necessary for your use of
26 //    such third party`s software.
27 //
28 // 3. MStar Software and any modification/derivatives thereof shall be deemed as
29 //    MStar`s confidential information and you agree to keep MStar`s
30 //    confidential information in strictest confidence and not disclose to any
31 //    third party.
32 //
33 // 4. MStar Software is provided on an "AS IS" basis without warranties of any
34 //    kind. Any warranties are hereby expressly disclaimed by MStar, including
35 //    without limitation, any warranties of merchantability, non-infringement of
36 //    intellectual property rights, fitness for a particular purpose, error free
37 //    and in conformity with any international standard.  You agree to waive any
38 //    claim against MStar for any loss, damage, cost or expense that you may
39 //    incur related to your use of MStar Software.
40 //    In no event shall MStar be liable for any direct, indirect, incidental or
41 //    consequential damages, including without limitation, lost of profit or
42 //    revenues, lost or damage of data, and unauthorized system use.
43 //    You agree that this Section 4 shall still apply without being affected
44 //    even if MStar Software has been modified by MStar in accordance with your
45 //    request or instruction for your use, except otherwise agreed by both
46 //    parties in writing.
47 //
48 // 5. If requested, MStar may from time to time provide technical supports or
49 //    services in relation with MStar Software to you for your use of
50 //    MStar Software in conjunction with your or your customer`s product
51 //    ("Services").
52 //    You understand and agree that, except otherwise agreed by both parties in
53 //    writing, Services are provided on an "AS IS" basis and the warranty
54 //    disclaimer set forth in Section 4 above shall apply.
55 //
56 // 6. Nothing contained herein shall be construed as by implication, estoppels
57 //    or otherwise:
58 //    (a) conferring any license or right to use MStar name, trademark, service
59 //        mark, symbol or any other identification;
60 //    (b) obligating MStar or any of its affiliates to furnish any person,
61 //        including without limitation, you and your customers, any assistance
62 //        of any kind whatsoever, or any information; or
63 //    (c) conferring any license or right under any intellectual property right.
64 //
65 // 7. These terms shall be governed by and construed in accordance with the laws
66 //    of Taiwan, R.O.C., excluding its conflict of law rules.
67 //    Any and all dispute arising out hereof or related hereto shall be finally
68 //    settled by arbitration referred to the Chinese Arbitration Association,
69 //    Taipei in accordance with the ROC Arbitration Law and the Arbitration
70 //    Rules of the Association by three (3) arbitrators appointed in accordance
71 //    with the said Rules.
72 //    The place of arbitration shall be in Taipei, Taiwan and the language shall
73 //    be English.
74 //    The arbitration award shall be final and binding to both parties.
75 //
76 //******************************************************************************
77 //<MStar Software>
78 ///////////////////////////////////////////////////////////////////////////////////////////////////
79 ///
80 /// @file   apiCEC_private.h
81 /// @author MStar Semiconductor Inc.
82 /// @brief  CEC driver Function
83 ///////////////////////////////////////////////////////////////////////////////////////////////////
84 
85 /*
86     1. Check whether MHL cable is plugged or not in Rx side
87     2. Disable R-term and output Vbus
88     3. Check whether Cbus is connected(discovery pulse completed)
89     4. Sink -> Source: "SET_HPD"
90     5. Sink -> Source: Write_Stat - "DCAP_RDY" and Write_INT - "DCAP_CHG"
91     6. Sink -> Source: Write_Stat - "PATH_EN"
92 */
93 
94 
95 #ifndef _API_CEC_PRIVATE_H_
96 #define _API_CEC_PRIVATE_H_
97 
98 #include "MsTypes.h"
99 #include "MsDevice.h"
100 #include "MsCommon.h"
101 #include "apiCEC.h"
102 
103 
104 #ifdef __cplusplus
105 extern "C"
106 {
107 #endif
108 
109 //-------------------------------------------------------------------------------------------------
110 //  Local Defines
111 //-------------------------------------------------------------------------------------------------
112 
113 //-------------------------------------------------------------------------------------------------
114 //  Local Structures
115 //-------------------------------------------------------------------------------------------------
116 typedef struct __attribute__ ((packed)) _CEC_RESOURCE_PRIVATE
117 {
118     MS_BOOL bCECIsSource;
119     MS_BOOL bRIUAddrReady;
120     MS_BOOL bCecInitFinish;
121     MS_BOOL bCecISRAttach;
122     MS_BOOL CecDevicesExisted[CEC_DEVICE_EXIST_COUNT];
123     MS_BOOL bAttachDrvISR;
124     MS_U8 ucRetryCount;
125     MS_U8 ucInitialIndex;
126     MS_U8 CecFifoIdxS;
127     MS_U8 CecFifoIdxE;
128     MS_U8 bCecMsgCnt;
129     MS_U8 ActiveDeviceCECVersion;
130     MS_U8 MyPhysicalAddress[CEC_PHY_ADDR_COUNT];
131     MS_U8 ActivePhysicalAddress[CEC_PHY_ADDR_COUNT];
132     MS_U8 ucVendorID[CEC_VENDOR_ID_COUNT];
133     MS_U32 ulXTAL_CLK_Hz;
134     MS_VIRT ulXCRiuBaseAddress;
135 #if !defined (__aarch64__)
136     MS_U32 ulXCRiuBaseAddressDummy;
137 #endif
138     MS_VIRT ulPMRiuBaseAddress;
139 #if !defined (__aarch64__)
140     MS_U32 ulPMRiuBaseAddressDummy;
141 #endif
142     MsCEC_DEVICELA MyLogicalAddress;                         //TV related
143     MsCEC_DEVICE_TYPE MyDeviceType;
144     MsCEC_MSG_POWER_STATUS_PARM MyPowerStatus;
145     MsCEC_DEVICE_TYPE ActiveDeviceType;
146     MsCEC_DEVICELA ActiveLogicalAddress;    //the remoter controller's active device
147     MsCEC_MSG_POWER_STATUS_PARM ActivePowerStatus;
148     EN_POWER_MODE usPrePowerState;
149     MS_CEC_RxData_Info CecRxBuf[CEC_FIFO_NUM_COUNT];   //TV CEC H/W part
150 
151 #if ENABLE_CEC_MULTIPLE
152     MS_U8 MyPhysicalAddress2[CEC_PHY_ADDR_COUNT];
153     MsCEC_DEVICELA MyLogicalAddress2;
154     MsCEC_DEVICE_TYPE MyDeviceType2;
155     MsCEC_DEVICE_TYPE IniLogicalAddress;
156 #endif
157 }CEC_RESOURCE_PRIVATE;
158 
159 typedef MS_BOOL           (*IOCTL_DDC2BI_GET_INFO)                    (void*, MS_CEC_INFO_LIST*);
160 typedef void              (*IOCTL_CEC_INIT_CHIP)                       (void*, MS_U32);
161 typedef void              (*IOCTL_CEC_PORT_SELECT)                    (void*, MsCEC_INPUT_PORT);
162 typedef void              (*IOCTL_CEC_EXIT)                             (void*);
163 typedef void              (*IOCTL_CEC_SET_MY_LOGICAL_ADDRESS)       (void*, MsCEC_DEVICELA);
164 typedef void              (*IOCTL_CEC_INIT)                             (void*, MS_U32);
165 typedef void              (*IOCTL_CEC_CHECK_EXIST_DEVICES)          (void*);
166 typedef MsCEC_DEVICELA    (*IOCTL_CEC_NEXT_DEVICE)                    (void*);
167 typedef void              (*IOCTL_CEC_CHK_RX_BUF)                      (void*);
168 typedef CEC_ERROR_CODE    (*IOCTL_CEC_TX_SEND_MSG)                    (void*, MsCEC_DEVICELA, MsCEC_MSGLIST, MS_U8*, MS_U8);
169 typedef CEC_ERROR_CODE    (*IOCTL_CEC_TX_SEND_MSG2)                   (void*, MsCEC_DEVICELA, MsCEC_MSGLIST, MS_U8*, MS_U8);
170 typedef CEC_ERROR_CODE    (*IOCTL_CEC_TX_SEND_POLLING_MSG)          (void*, MsCEC_DEVICELA);
171 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_ACTIVE_SOURCE)             (void*);
172 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_ROUTING_CHANGE)            (void*, MS_U8*, MS_U8*);
173 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_REQ_ACTIVE_SOURCE)        (void*);
174 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_SET_STREAM_PATH)           (void*, MS_U8*);
175 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_STANDBY)                     (void*, MsCEC_DEVICELA);
176 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_RECORD_OFF)                 (void*, MsCEC_DEVICELA);
177 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_RECORD_ON)                  (void*, MsCEC_DEVICELA, MsCEC_MSG_RECORD_SOURCE_TYPE);
178 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_REPORT_CEC_VERSION)       (void*, MsCEC_DEVICELA, MS_U8);
179 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_REQ_CEC_VERSION)           (void*, MsCEC_DEVICELA);
180 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_REPORT_PHYCAL_ADDRESS)    (void*);
181 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_REQ_PHYCAL_ADDRESS)        (void*, MsCEC_DEVICELA);
182 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_DECK_CONTROL)               (void*, MsCEC_DEVICELA, MsCEC_MSG_DC_DECK_CTRL_PARM);
183 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_DEC_STATUS)                 (void*, MsCEC_DEVICELA, MsCEC_MSG_DC_DECK_STATUS_PARM);
184 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_GIVE_DECK_STATUS)          (void*, MsCEC_DEVICELA, MsCEC_MSG_STATUS_REQUEST_PARM);
185 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_DC_PLAY)                     (void*, MsCEC_DEVICELA, MsCEC_MSG_DC_PLAY_PARM);
186 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_REQ_MENU_STATUS)           (void*, MsCEC_DEVICELA, MsCEC_MSG_MENU_REQ_TYPE);
187 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_USER_CTRL_PRESSED)         (void*, MS_BOOL, MsCEC_DEVICELA, MsCEC_MSG_USER_CTRL_PARM);
188 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_USER_CTRL_RELEASED)        (void*, MsCEC_DEVICELA);
189 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_GIVE_AUDIO_STATUS)         (void*, MsCEC_DEVICELA);
190 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_REPORT_POWER_STATUS)       (void*, MsCEC_DEVICELA);
191 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_REQ_POWER_STATUS)          (void*, MsCEC_DEVICELA);
192 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_FEATURE_ABORT)              (void*, MsCEC_DEVICELA, MsCEC_MSGLIST, MsCEC_MSG_ABORT_REASON);
193 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_ABORT)                       (void*, MsCEC_DEVICELA);
194 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_SEND_MENU_LANGUAGE)       (void*, MS_U8*);
195 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_REQ_ARC_INITIATION)       (void*, MsCEC_DEVICELA);
196 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_REQ_ARC_TERMINATION)      (void*, MsCEC_DEVICELA);
197 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_AUDIO_MODE_REQ)            (void*, MsCEC_DEVICELA, MS_BOOL, MS_U8*);
198 typedef CEC_ERROR_CODE    (*IOCTL_CEC_MSG_REPORT_PHYCAL_ADDRESS2)   (void*);
199 typedef MS_BOOL           (*IOCTL_CEC_CHECK_FRAME)                      (void*, MsCEC_MSG_TRANS_TYPE, MS_U8);
200 typedef void              (*IOCTL_CEC_CONFIG_WAKE_UP)                  (void*);
201 typedef void              (*IOCTL_CEC_ENABLED)                          (void*, MS_BOOL);
202 typedef MS_U8             (*IOCTL_CEC_GET_TX_STATUS)                   (void*);
203 typedef MS_BOOL           (*IOCTL_CEC_DEVICE_IS_TX)                     (void*);
204 typedef MS_U32            (*IOCTL_CEC_SET_POWER_STATE)                 (void*, EN_POWER_MODE);
205 typedef void              (*IOCTL_CEC_SET_MY_LOGICAL_ADDRESS2)       (void*, MsCEC_DEVICELA);
206 typedef MS_U8             (*IOCTL_CEC_GET_HEADER)                       (void*);
207 typedef MS_U8             (*IOCTL_CEC_GET_OPCODE)                       (void*);
208 typedef MS_U8             (*IOCTL_CEC_GET_PARA)                          (void*, MS_U8);
209 typedef MS_U8             (*IOCTL_CEC_GET_CMD_LEN)                      (void*);
210 typedef MS_BOOL           (*IOCTL_CEC_IS_RX_BUF_EMPTY)                 (void*);
211 typedef void              (*IOCTL_CEC_SET_ACTIVE_LOGICAL_ADDRESS)   (void*, MsCEC_DEVICELA);
212 typedef MsCEC_DEVICELA    (*IOCTL_CEC_GET_ACTIVE_LOGICAL_ADDRESS)   (void*);
213 typedef MsCEC_MSG_POWER_STATUS_PARM    (*IOCTL_CEC_GET_POWER_STATUS)   (void*);
214 typedef MS_U8             (*IOCTL_CEC_GET_FIFO_IDX)                     (void*);
215 typedef void              (*IOCTL_CEC_SET_FIFO_IDX)                     (void*, MS_U8);
216 typedef void              (*IOCTL_CEC_SET_ACTIVE_POWER_STATUS)       (void*, MsCEC_MSG_POWER_STATUS_PARM);
217 typedef MsCEC_MSG_POWER_STATUS_PARM    (*IOCTL_CEC_GET_ACTIVE_POWER_STATUS)       (void*);
218 typedef void              (*IOCTL_CEC_SET_ACTIVE_PHYSICAL_ADDRESS)   (void*, MS_U8, MS_U8);
219 typedef void              (*IOCTL_CEC_SET_ACTIVE_DEVICE_CEC_VERSION) (void*, MS_U8);
220 typedef void              (*IOCTL_CEC_SET_ACTIVE_DEVICE_TYPE)          (void*, MsCEC_DEVICE_TYPE);
221 typedef MS_U8             (*IOCTL_CEC_GET_MSG_CNT)                       (void*);
222 typedef void              (*IOCTL_CEC_SET_MSG_CNT)                       (void*, MS_U8);
223 typedef MS_U8             (*IOCTL_CEC_GET_RX_DATA)                       (void*, MS_U8, MS_U8);
224 typedef void              (*IOCTL_CEC_SET_MY_PHYSICAL_ADDRESS)        (void*, MS_U8*);
225 typedef void              (*IOCTL_CEC_SET_MY_PHYSICAL_ADDRESS2)       (void*, MS_U8*);
226 typedef void              (*IOCTL_CEC_SET_INITIATOR)                     (void*, MsCEC_DEVICELA);
227 typedef void              (*IOCTL_CEC_CONFIG_WAKEUP_INFO_VENDOR_ID)  (void*, MS_U8*);
228 typedef void              (*IOCTL_CEC_SET_RETRY_COUNT)                  (void*, MS_U8);
229 typedef void              (*IOCTL_CEC_ATTACH_DRIVER_ISR)               (void*, MS_BOOL);
230 typedef stCEC_INITIAL_CONFIG_INFO     (*IOCTL_CEC_GET_CONFIGURATION)    (void*);
231 
232 typedef struct _CEC_INSTANT_PRIVATE
233 {
234     MS_U32			                         ulDeviceID;
235     IOCTL_DDC2BI_GET_INFO                    fpDDC2BIGetInfo;
236     IOCTL_CEC_INIT_CHIP        	             fpCECInitChip;
237     IOCTL_CEC_PORT_SELECT                    fpCECPortSelect;
238     IOCTL_CEC_EXIT                           fpCECExit;
239     IOCTL_CEC_SET_MY_LOGICAL_ADDRESS         fpCECSetMyLogicalAddress;
240     IOCTL_CEC_INIT           	             fpCECInit;
241     IOCTL_CEC_CHECK_EXIST_DEVICES            fpCECCheckExistDevices;
242     IOCTL_CEC_NEXT_DEVICE                    fpCECNextDevice;
243     IOCTL_CEC_CHK_RX_BUF                     fpCECChkRxBuf;
244     IOCTL_CEC_TX_SEND_MSG                    fpCECTxSendMsg;
245     IOCTL_CEC_TX_SEND_MSG2                   fpCECTxSendMsg2;
246     IOCTL_CEC_TX_SEND_POLLING_MSG            fpCECTxSendPollingMsg;
247     IOCTL_CEC_MSG_ACTIVE_SOURCE              fpCECMsgActiveSource;
248     IOCTL_CEC_MSG_ROUTING_CHANGE             fpCECMsgRoutingChange;
249     IOCTL_CEC_MSG_REQ_ACTIVE_SOURCE          fpCECMsgReqActiveSource;
250     IOCTL_CEC_MSG_SET_STREAM_PATH            fpCECMsgSetStreamPath;
251     IOCTL_CEC_MSG_STANDBY                    fpCECMsgStandby;
252     IOCTL_CEC_MSG_RECORD_OFF                 fpCECMsgRecordOff;
253     IOCTL_CEC_MSG_RECORD_ON                  fpCECMsgRecordOn;
254     IOCTL_CEC_MSG_REPORT_CEC_VERSION         fpCECMsgReportCECVersion;
255     IOCTL_CEC_MSG_REQ_CEC_VERSION            fpCECMsgReqCECVersion;
256     IOCTL_CEC_MSG_REPORT_PHYCAL_ADDRESS      fpCECMsgReportPhycalAddress;
257     IOCTL_CEC_MSG_REQ_PHYCAL_ADDRESS         fpCECMsgReqPhycalAddress;
258     IOCTL_CEC_MSG_DECK_CONTROL               fpCECMsgDeckControl;
259     IOCTL_CEC_MSG_DEC_STATUS                 fpCECMsgDecStatus;
260     IOCTL_CEC_MSG_GIVE_DECK_STATUS           fpCECMsgGiveDeckStatus;
261     IOCTL_CEC_MSG_DC_PLAY                    fpCECMsgDCPlay;
262     IOCTL_CEC_MSG_REQ_MENU_STATUS            fpCECMsgReqMenuStatus;
263     IOCTL_CEC_MSG_USER_CTRL_PRESSED          fpCECMsgUserCtrlPressed;
264     IOCTL_CEC_MSG_USER_CTRL_RELEASED         fpCECMsgUserCtrlReleased;
265     IOCTL_CEC_MSG_GIVE_AUDIO_STATUS          fpCECMsgGiveAudioStatus;
266     IOCTL_CEC_MSG_REPORT_POWER_STATUS        fpCECMsgReportPowerStatus;
267     IOCTL_CEC_MSG_REQ_POWER_STATUS           fpCECMsgReqPowerStatus;
268     IOCTL_CEC_MSG_FEATURE_ABORT              fpCECMsgFeatureAbort;
269     IOCTL_CEC_MSG_ABORT                      fpCECMsgAbort;
270     IOCTL_CEC_MSG_SEND_MENU_LANGUAGE         fpCECMsgSendMenuLanguage;
271     IOCTL_CEC_MSG_REQ_ARC_INITIATION         fpCECMsgReqARCInitiation;
272     IOCTL_CEC_MSG_REQ_ARC_TERMINATION        fpCECMsgReqARCTermination;
273     IOCTL_CEC_MSG_AUDIO_MODE_REQ             fpCECMsgAudioModeReq;
274     IOCTL_CEC_MSG_REPORT_PHYCAL_ADDRESS2     fpCECMsgReportPhycalAddress2;
275     IOCTL_CEC_CHECK_FRAME                    fpCECCheckFrame;
276     IOCTL_CEC_CONFIG_WAKE_UP                 fpCECConfigWakeUp;
277     IOCTL_CEC_ENABLED                        fpCECEnabled;
278     IOCTL_CEC_GET_TX_STATUS                  fpCECGetTxStatus;
279     IOCTL_CEC_DEVICE_IS_TX                   fpCECDeviceIsTx;
280     IOCTL_CEC_SET_POWER_STATE                fpCECSetPowerState;
281     IOCTL_CEC_SET_MY_LOGICAL_ADDRESS2        fpCECSetMyLogicalAddress2;
282     IOCTL_CEC_GET_HEADER                     fpCECGetHeader;
283     IOCTL_CEC_GET_OPCODE                     fpCECGetOpCode;
284     IOCTL_CEC_GET_PARA                       fpCECGetPara;
285     IOCTL_CEC_GET_CMD_LEN                    fpCECGetCmdLen;
286     IOCTL_CEC_IS_RX_BUF_EMPTY                fpCECIsRxBufEmpty;
287     IOCTL_CEC_SET_ACTIVE_LOGICAL_ADDRESS     fpCECSetActiveLogicalAddress;
288     IOCTL_CEC_GET_ACTIVE_LOGICAL_ADDRESS     fpCECGetActiveLogicalAddress;
289     IOCTL_CEC_GET_POWER_STATUS               fpCECGetPowerStatus;
290     IOCTL_CEC_GET_FIFO_IDX                   fpCECGetFifoIdx;
291     IOCTL_CEC_SET_FIFO_IDX                   fpCECSetFifoIdx;
292     IOCTL_CEC_SET_ACTIVE_POWER_STATUS        fpCECSetActivePowerStatus;
293     IOCTL_CEC_GET_ACTIVE_POWER_STATUS        fpCECGetActivePowerStatus;
294     IOCTL_CEC_SET_ACTIVE_PHYSICAL_ADDRESS    fpCECSetActivePhysicalAddress;
295     IOCTL_CEC_SET_ACTIVE_DEVICE_CEC_VERSION  fpCECSetActiveDeviceCECVersion;
296     IOCTL_CEC_SET_ACTIVE_DEVICE_TYPE         fpCECSetActiveDeviceType;
297     IOCTL_CEC_GET_MSG_CNT                    fpCECGetMsgCnt;
298     IOCTL_CEC_SET_MSG_CNT                    fpCECSetMsgCnt;
299     IOCTL_CEC_GET_RX_DATA                    fpCECGetRxData;
300     IOCTL_CEC_SET_MY_PHYSICAL_ADDRESS        fpCECSetMyPhysicalAddress;
301     IOCTL_CEC_SET_MY_PHYSICAL_ADDRESS2       fpCECSetMyPhysicalAddress2;
302     IOCTL_CEC_SET_INITIATOR                  fpCECSetInitiator;
303     IOCTL_CEC_CONFIG_WAKEUP_INFO_VENDOR_ID   fpCECConfigWakeUpInfoVendorID;
304     IOCTL_CEC_SET_RETRY_COUNT                fpCECSetRetryCount;
305     IOCTL_CEC_ATTACH_DRIVER_ISR              fpCECAttachDriverISR;
306     IOCTL_CEC_GET_CONFIGURATION              fpCECGetConfiguration;
307 }CEC_INSTANT_PRIVATE;
308 
309 typedef enum
310 {
311     CEC_POOL = 0,
312     CEC_POOL_MAX,
313 }eCECPoolID;
314 
315 //-------------------------------------------------------------------------------------------------
316 //  Global Variables
317 //-------------------------------------------------------------------------------------------------
318 
319 //-------------------------------------------------------------------------------------------------
320 //  Function Prototype
321 //-------------------------------------------------------------------------------------------------
322 
323 #endif //_API_CEC_PRIVATE_H_
324