xref: /utopia/UTPA2-700.0.x/mxlib/include/drvPWS.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 // Copyright (c) 2008-2009 MStar Semiconductor, Inc.
81 // All rights reserved.
82 //
83 // Unless otherwise stipulated in writing, any and all information contained
84 // herein regardless in any format shall remain the sole proprietary of
85 // MStar Semiconductor Inc. and be kept in strict confidence
86 // ("MStar Confidential Information") by the recipient.
87 // Any unauthorized act including without limitation unauthorized disclosure,
88 // copying, use, reproduction, sale, distribution, modification, disassembling,
89 // reverse engineering and compiling of the contents of MStar Confidential
90 // Information is unlawful and strictly prohibited. MStar hereby reserves the
91 // rights to any and all damages, losses, costs and expenses resulting therefrom.
92 ////////////////////////////////////////////////////////////////////////////////
93 
94 /*! \defgroup G_PWS PWS interface
95     \ingroup  G_PERIPHERAL
96 
97     \brief
98     Load power settings of demo atop and video atop at a specified source.
99 
100     <b>Features</b>
101 
102     - Load power settings.
103 
104     <b> PWS Block Diagram: </b> \n
105 
106     NA
107 
108     \defgroup G_PWS_INIT Initialization Task relative
109     \ingroup  G_PWS
110     \defgroup G_PWS_COMMON Common Task relative
111     \ingroup  G_PWS
112     \defgroup G_PWS_CONTROL Control relative
113     \ingroup  G_PWS
114     \defgroup G_PWS_OTHER  other relative
115     \ingroup  G_PWS
116     \defgroup G_PWS_ToBeModified PWS api to be modified
117     \ingroup  G_PWS
118     \defgroup G_PWS_ToBeRemove PWS api to be removed
119     \ingroup  G_PWS
120 */
121 
122 #ifndef _DRVPWS_H_
123 #define _DRVPWS_H_
124 
125 ////////////////////////////////////////////////////////////////////////////////
126 /// @file drvPWS.h
127 /// @author MStar Semiconductor Inc.
128 /// @brief power saving driver
129 ////////////////////////////////////////////////////////////////////////////////
130 
131 //------------------------------------------------------------------------------
132 // Header Files
133 //------------------------------------------------------------------------------
134 #ifdef __cplusplus
135 extern "C"
136 {
137 #endif
138 
139 #include "MsCommon.h"
140 #include "MsTypes.h"
141 
142 //-------------------------------------------------------------------------------------------------
143 //  Macro and Define
144 //-------------------------------------------------------------------------------------------------
145 #define MSIF_PWS_LIB_CODE                     {'P','W','S','_'}        //Lib code
146 #define MSIF_PWS_LIBVER                       {'0','2'}            //LIB version
147 #define MSIF_PWS_BUILDNUM                     {'0','9'}            //Build Number
148 #define MSIF_PWS_CHANGELIST                   {'0','0','4','4','8','1','7','6'} //P4 ChangeList Number
149 
150 #define PWS_API_VERSION                /* Character String for DRV/API version             */  \
151     MSIF_TAG,                           /* 'MSIF'                                           */  \
152     MSIF_CLASS,                         /* '00'                                             */  \
153     MSIF_CUS,                           /* 0x0000                                           */  \
154     MSIF_MOD,                           /* 0x0000                                           */  \
155     MSIF_CHIP,                                                                                  \
156     MSIF_CPU,                                                                                   \
157     MSIF_PWS_LIB_CODE,                        /* IP__                                             */  \
158     MSIF_PWS_LIBVER,                          /* 0.0 ~ Z.Z                                        */  \
159     MSIF_PWS_BUILDNUM,                        /* 00 ~ 99                                          */  \
160     MSIF_PWS_CHANGELIST,                      /* CL#                                              */  \
161     MSIF_OS
162 
163 #define SIOCDEVON       0x89F1
164 #define SIOCDEVOFF      0x89F2
165 
166 #define PWS_VERSION            0x00000001
167 
168 
169 //-------------------------------------------------------------------------------------------------
170 //  Type and Structure
171 //-------------------------------------------------------------------------------------------------
172 
173 typedef enum
174 {
175     PWS_FAIL    = 0,
176     PWS_SUCCESS = 1
177 } E_PWS_Result;
178 
179 #if defined (MSOS_TYPE_LINUX)
180 typedef enum
181 {
182     PHY_OFF    = 0,
183     PHY_ON   = 1
184 } E_PWS_PHY;
185 #endif
186 
187 typedef enum
188 {
189     PWS_ADD_SOURCE  = 0,
190     PWS_DEL_SOURCE  = 1,
191     PWS_INVAILD_OP  = 2
192 } E_PWS_Operation;
193 
194 typedef enum
195 {
196     PWS_FULL    = 0,
197     PWS_OFF_LINE_DETECT = 1
198 } E_PWS_Sync;
199 
200 typedef enum
201 {
202     _NO_SOURCE_   = 0,
203     _USB_         = BIT_(0),
204     _SV_          = BIT_(1),
205     _HDMI4_       = BIT_(2),
206     _HDMI3_       = BIT_(3),
207     _HDMI2_       = BIT_(4),
208     _HDMI1_       = BIT_(5),
209     _YPbPr_       = BIT_(6),
210     _SCART_       = BIT_(7),
211     _RGB_         = BIT_(8),
212     _CVBS_        = BIT_(9),
213     _ATV_SSIF_    = BIT_(10),
214     _ATV_VIF_     = BIT_(11),
215     _DTV_ATSC_    = BIT_(12),
216     _DTV_DVB_     = BIT_(13),
217     _CVBSOe_      = BIT_(14),
218     _CVBSOi_      = BIT_(15),
219     _UNKNOWN_     = BIT_(16)
220 } E_PWS_SouceInfo;
221 
222 typedef enum
223 {
224     E_PWS_DBGLV_NONE,          //no debug message
225     E_PWS_DBGLV_ERR_ONLY,      //show error only
226     E_PWS_DBGLV_REG_DUMP,      //show error & reg dump
227     E_PWS_DBGLV_INFO,          //show error & informaiton
228     E_PWS_DBGLV_ALL            //show error, information & funciton name
229 } E_PWS_DBG_LEVEL;
230 
231 typedef struct
232 {
233     E_PWS_DBG_LEVEL u8DbgLevel;
234     MS_BOOL bInit;
235 } PWS_Status;
236 
237 typedef struct
238 {
239     E_PWS_SouceInfo SourceList;
240     MS_U32 u32IOMap;
241 } PWS_Info;
242 
243 typedef enum
244 {
245     E_PWS_API_UNUSED = 0,
246     E_PWS_USE_HANDLE_SOURCE = 1,
247     E_PWS_USE_HANDLE_IP = 2
248 } E_PWS_Use;
249 
250 typedef enum
251 {
252     E_PWS_IP_ON  = 0,
253     E_PWS_IP_OFF = 1,
254     E_PWS_IP_RESET = 2,
255 } E_PWS_IpPowerCtrl;
256 
257 typedef enum
258 {
259     E_PWS_IP_CALLBACK_BEFORE_ON  = 0,
260     E_PWS_IP_CALLBACK_BEFORE_OFF = 1,
261     E_PWS_IP_CALLBACK_AFTER_ON   = 2,
262     E_PWS_IP_CALLBACK_AFTER_OFF  = 3,
263     E_PWS_IP_CALLBACK_UNKNOWN = 4
264 } E_PWS_CallbackCtrl;
265 
266 #define STR_LEN     32
267 typedef void (*P_PWS_Callback)(void);
268 typedef struct
269 {
270     E_PWS_CallbackCtrl ctrl;
271     unsigned char regName[STR_LEN];
272     P_PWS_Callback _PWSCallback;
273 } PWS_RegisterCallback;
274 
275 typedef enum
276 {
277     E_PWS_VIF_NO_SAW     = 0,
278     E_PWS_VIF_SINGLE_SAW = 1,
279     E_PWS_VIF_DUAL_SAW   = 2,
280     E_PWS_VIF_SINGLE_SAW_DIF = 3,
281     E_PWS_VIF_UNKNOWN    = 3
282 } E_PWS_VIF_type;
283 
284 #define PWS_Register_CB_size    2
285 
286 
287 typedef enum
288 {
289     E_PWS_IP_AUDIO = 0,
290     E_PWS_IP_DEMOD,
291     E_PWS_IP_AUPLL,
292     E_PWS_IP_USB_PORT0,
293     E_PWS_IP_USB_PORT1,
294     E_PWS_IP_USB_PORT2,
295     E_PWS_IP_USB_PORT3,
296     E_PWS_IP_USB_3,
297     E_PWS_IP_MHL,
298     E_PWS_IP_VEDIO,
299     E_PWS_IP_ATSC_DVBTC,
300     E_PWS_IP_GME,
301     E_PWS_IP_GMAC,
302     E_PWS_IP_IDAC,
303     E_PWS_IP_ETH,
304     E_PWS_IP_TSP,
305     E_PWS_IP_CLK_R2_SECURE,
306     E_PWS_IP_VE,
307     E_PWS_IP_AUDIO_R2,
308     E_PWS_IP_MAX
309 } E_PWS_IP_name;
310 
311 typedef enum
312 {
313     E_PWS_SCENE_MM_MAIN = 0,
314     E_PWS_SCENE_MM_SUB,
315     E_PWS_SCENE_MAX
316 } E_PWS_SCENE_name;
317 
318 //------------------------------------------------------------------------------
319 // Extern Function
320 //------------------------------------------------------------------------------
321 //-------------------------------------------------------------------------------------------------
322 /// MOBF Encrypt
323 /// @ingroup G_PWS_COMMON
324 /// @param u32Key \b IN: Key
325 /// @param bEnable \b IN: TRUE/FLASE
326 /// @return DRVAESDMA_OK : Success
327 /// @return Others : Fail
328 //-------------------------------------------------------------------------------------------------
329 E_PWS_Result MDrv_PWS_GetLibVer(const MSIF_Version **ppVersion);
330 //-------------------------------------------------------------------------------------------------
331 /// MOBF Encrypt
332 /// @ingroup G_PWS_COMMON
333 /// @param u32Key \b IN: Key
334 /// @param bEnable \b IN: TRUE/FLASE
335 /// @return DRVAESDMA_OK : Success
336 /// @return Others : Fail
337 //-------------------------------------------------------------------------------------------------
338 E_PWS_Result MDrv_PWS_SetDbgLevel(E_PWS_DBG_LEVEL eLEVEL);
339 //-------------------------------------------------------------------------------------------------
340 /// MOBF Encrypt
341 /// @ingroup G_PWS_COMMON
342 /// @param u32Key \b IN: Key
343 /// @param bEnable \b IN: TRUE/FLASE
344 /// @return DRVAESDMA_OK : Success
345 /// @return Others : Fail
346 //-------------------------------------------------------------------------------------------------
347 void         MDrv_PWS_GetInfo(PWS_Info *pInfo); // ToBeRemove
348 //-------------------------------------------------------------------------------------------------
349 /// MOBF Encrypt
350 /// @ingroup G_PWS_COMMON
351 /// @param u32Key \b IN: Key
352 /// @param bEnable \b IN: TRUE/FLASE
353 /// @return DRVAESDMA_OK : Success
354 /// @return Others : Fail
355 //-------------------------------------------------------------------------------------------------
356 void         MDrv_PWS_GetStatus(PWS_Status *pStatus);
357 //-------------------------------------------------------------------------------------------------
358 /// MOBF Encrypt
359 /// @ingroup G_PWS_COMMON
360 /// @param u32Key \b IN: Key
361 /// @param bEnable \b IN: TRUE/FLASE
362 /// @return DRVAESDMA_OK : Success
363 /// @return Others : Fail
364 //-------------------------------------------------------------------------------------------------
365 E_PWS_SouceInfo MDrv_PWS_GetSourceInfo(void);
366 //-------------------------------------------------------------------------------------------------
367 /// MOBF Encrypt
368 /// @ingroup G_PWS_COMMON
369 /// @param u32Key \b IN: Key
370 /// @param bEnable \b IN: TRUE/FLASE
371 /// @return DRVAESDMA_OK : Success
372 /// @return Others : Fail
373 //-------------------------------------------------------------------------------------------------
374 MS_U16       MDrv_PWS_Read2Byte(MS_U32 u32RegAddr );
375 //-------------------------------------------------------------------------------------------------
376 /// MOBF Encrypt
377 /// @ingroup G_PWS_COMMON
378 /// @param u32Key \b IN: Key
379 /// @param bEnable \b IN: TRUE/FLASE
380 /// @return DRVAESDMA_OK : Success
381 /// @return Others : Fail
382 //-------------------------------------------------------------------------------------------------
383 E_PWS_Result MDrv_PWS_IpPowerControl(E_PWS_IP_name eIpName, E_PWS_IpPowerCtrl pwr_type);
384 //-------------------------------------------------------------------------------------------------
385 /// MOBF Encrypt
386 /// @ingroup G_PWS_COMMON
387 /// @param u32Key \b IN: Key
388 /// @param bEnable \b IN: TRUE/FLASE
389 /// @return DRVAESDMA_OK : Success
390 /// @return Others : Fail
391 //-------------------------------------------------------------------------------------------------
392 E_PWS_Result MDrv_PWS_ScenePowerControl(E_PWS_SCENE_name eSceneName, E_PWS_IpPowerCtrl pwr_type);
393 //-------------------------------------------------------------------------------------------------
394 /// MOBF Encrypt
395 /// @ingroup G_PWS_INIT
396 /// @param u32Key \b IN: Key
397 /// @param bEnable \b IN: TRUE/FLASE
398 /// @return DRVAESDMA_OK : Success
399 /// @return Others : Fail
400 //-------------------------------------------------------------------------------------------------
401 E_PWS_Result MDrv_PWS_Init(E_PWS_VIF_type eVifType);
402 //-------------------------------------------------------------------------------------------------
403 /// MOBF Encrypt
404 /// @ingroup G_PWS_CONTROL
405 /// @param u32Key \b IN: Key
406 /// @param bEnable \b IN: TRUE/FLASE
407 /// @return DRVAESDMA_OK : Success
408 /// @return Others : Fail
409 //-------------------------------------------------------------------------------------------------
410 E_PWS_Result MDrv_PWS_HandleSource(E_PWS_Operation operation,E_PWS_SouceInfo source,E_PWS_Sync sync_type);
411 //-------------------------------------------------------------------------------------------------
412 /// MOBF Encrypt
413 /// @ingroup G_PWS_ToBeRemove
414 /// @param u32Key \b IN: Key
415 /// @param bEnable \b IN: TRUE/FLASE
416 /// @return DRVAESDMA_OK : Success
417 /// @return Others : Fail
418 //-------------------------------------------------------------------------------------------------
419 E_PWS_Result MDrv_PWS_HandleIP(E_PWS_IpPowerCtrl IpPowerCtrl,const unsigned char *RegName); // ToBeRemove
420 //-------------------------------------------------------------------------------------------------
421 /// MOBF Encrypt
422 /// @ingroup G_PWS_COMMON
423 /// @param u32Key \b IN: Key
424 /// @param bEnable \b IN: TRUE/FLASE
425 /// @return DRVAESDMA_OK : Success
426 /// @return Others : Fail
427 //-------------------------------------------------------------------------------------------------
428 E_PWS_Result MDrv_PWS_RegisterCallback(MS_U8 index,E_PWS_CallbackCtrl cb_ctrl,unsigned char *RegName,P_PWS_Callback pfCallback);
429 //-------------------------------------------------------------------------------------------------
430 /// MOBF Encrypt
431 /// @ingroup G_PWS_COMMON
432 /// @param u32Key \b IN: Key
433 /// @param bEnable \b IN: TRUE/FLASE
434 /// @return DRVAESDMA_OK : Success
435 /// @return Others : Fail
436 //-------------------------------------------------------------------------------------------------
437 E_PWS_Result MDrv_PWS_CancelCallback(MS_U8 index);
438 //-------------------------------------------------------------------------------------------------
439 /// MOBF Encrypt
440 /// @ingroup G_PWS_COMMON
441 /// @param u32Key \b IN: Key
442 /// @param bEnable \b IN: TRUE/FLASE
443 /// @return DRVAESDMA_OK : Success
444 /// @return Others : Fail
445 //-------------------------------------------------------------------------------------------------
446 MS_U32 MDrv_PWS_SetPowerState(EN_POWER_MODE u16PowerState);
447 #if defined (MSOS_TYPE_LINUX)
448 //-------------------------------------------------------------------------------------------------
449 /// MOBF Encrypt
450 /// @ingroup G_PWS_ToBeRemove
451 /// @param u32Key \b IN: Key
452 /// @param bEnable \b IN: TRUE/FLASE
453 /// @return DRVAESDMA_OK : Success
454 /// @return Others : Fail
455 //-------------------------------------------------------------------------------------------------
456 E_PWS_Result MDrv_PWS_PHYPower(E_PWS_PHY bSetFlag); // ToBeRemove
457 #endif
458 
459 //------------------------------------------------------------------------------------
460 //  Utopia 2.0
461 //------------------------------------------------------------------------------------
462 typedef enum {
463     MDrv_CMD_PWS_GetLibVer,
464     MDrv_CMD_PWS_SetDbgLevel,
465     MDrv_CMD_PWS_HandleSource,
466     MDrv_CMD_PWS_PHYPower,
467 } ePwsIoctlOpt;
468 
469 typedef E_PWS_Result (*IOCTL_PWS_GETLIBVER)(const MSIF_Version **);
470 typedef E_PWS_Result (*IOCTL_PWS_SETDBGLEVEL)(E_PWS_DBG_LEVEL);
471 typedef E_PWS_Result (*IOCTL_PWS_HANDLESOURCE)(E_PWS_Operation, E_PWS_SouceInfo, E_PWS_Sync);
472 #if defined (MSOS_TYPE_LINUX)
473 typedef E_PWS_Result (*IOCTL_PWS_PHYPOWER)(E_PWS_PHY);
474 #endif
475 
476 typedef struct _PWS_INSTANT_PRIVATE
477 {
478     IOCTL_PWS_GETLIBVER            fpPWSGetLibVer;
479     IOCTL_PWS_SETDBGLEVEL          fpPWSSetDbgLevel;
480     IOCTL_PWS_HANDLESOURCE         fpPWSHandleSource;
481 #if defined (MSOS_TYPE_LINUX)
482     IOCTL_PWS_PHYPOWER             fpPWSPHYPower;
483 #endif
484 }PWS_INSTANT_PRIVATE;
485 
486 // for pws MDrv_PWS_GetLibVer
487 typedef struct _PWS_GETLIBVER_PARAM
488 {
489     const MSIF_Version **ppVersion;
490 }PWS_GETLIBVER_PARAM, *PPWS_GETLIBVER_PARAM;
491 
492 // for pws MDrv_PWS_SetDbgLevel
493 typedef struct _PWS_SETDBGLEVEL_PARAM
494 {
495     E_PWS_DBG_LEVEL DbgLevel;
496 }PWS_SETDBGLEVEL_PARAM, *PPWS_SETDBGLEVEL_PARAM;
497 
498 // for pws MDrv_PWS_HandleSource
499 typedef struct _PWS_HANDLESOURCE_PARAM
500 {
501     E_PWS_Operation operation;
502     E_PWS_SouceInfo source;
503     E_PWS_Sync sync_type;
504 }PWS_HANDLESOURCE_PARAM, *PPWS_HANDLESOURCE_PARAM;
505 
506 #if defined (MSOS_TYPE_LINUX)
507 // for pws MDrv_PWS_PHYPower
508 typedef struct _PWS_PHYPOWER_PARAM
509 {
510     E_PWS_PHY bSetFlag;
511 }PWS_PHYPOWER_PARAM, *PPWS_PHYPOWER_PARAM;
512 #endif
513 
514 void PWSRegisterToUtopia(FUtopiaOpen ModuleType);
515 //-------------------------------------------------------------------------------------------------
516 /// MOBF Encrypt
517 /// @ingroup G_PWS_ToBeRemove
518 /// @param u32Key \b IN: Key
519 /// @param bEnable \b IN: TRUE/FLASE
520 /// @return DRVAESDMA_OK : Success
521 /// @return Others : Fail
522 //-------------------------------------------------------------------------------------------------
523 MS_U32 PWSOpen(void** pInstance, MS_U32 u32ModuleVersion, void* pAttribute);
524 //-------------------------------------------------------------------------------------------------
525 /// MOBF Encrypt
526 /// @ingroup G_PWS_ToBeRemove
527 /// @param u32Key \b IN: Key
528 /// @param bEnable \b IN: TRUE/FLASE
529 /// @return DRVAESDMA_OK : Success
530 /// @return Others : Fail
531 //-------------------------------------------------------------------------------------------------
532 MS_U32 PWSClose(void* pInstance);
533 //-------------------------------------------------------------------------------------------------
534 /// MOBF Encrypt
535 /// @ingroup G_PWS_ToBeRemove
536 /// @param u32Key \b IN: Key
537 /// @param bEnable \b IN: TRUE/FLASE
538 /// @return DRVAESDMA_OK : Success
539 /// @return Others : Fail
540 //-------------------------------------------------------------------------------------------------
541 MS_U32 PWSIoctl(void* pInstance, MS_U32 u32Cmd, void *pArgs);
542 
543 //PWS_Private
544 typedef struct _PWS_RESOURCE_PRIVATE
545 {
546     MS_U32 Dummy;
547 }PWS_RESOURCE_PRIVATE;
548 
549 #ifdef __cplusplus
550 }
551 #endif
552 
553 #endif
554