xref: /utopia/UTPA2-700.0.x/mxlib/include/apiPNL_v2.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_XC_PANEL_V2_H_
79*53ee8cc1Swenshuai.xi #define _API_XC_PANEL_V2_H_
80*53ee8cc1Swenshuai.xi 
81*53ee8cc1Swenshuai.xi #ifdef __cplusplus
82*53ee8cc1Swenshuai.xi extern "C"
83*53ee8cc1Swenshuai.xi {
84*53ee8cc1Swenshuai.xi #endif
85*53ee8cc1Swenshuai.xi 
86*53ee8cc1Swenshuai.xi #include "MsTypes.h"
87*53ee8cc1Swenshuai.xi #include "UFO.h"
88*53ee8cc1Swenshuai.xi //******** ENUM DEFINITIONS ********//
89*53ee8cc1Swenshuai.xi typedef enum
90*53ee8cc1Swenshuai.xi {
91*53ee8cc1Swenshuai.xi     E_PNL_POOL_ID_INTERNAL = 0,
92*53ee8cc1Swenshuai.xi     E_PNL_POOL_ID_INTERNAL1 = 1,
93*53ee8cc1Swenshuai.xi 
94*53ee8cc1Swenshuai.xi     E_PNL_POOL_ID_NUM,
95*53ee8cc1Swenshuai.xi     E_PNL_POOL_ID_MAX = E_PNL_POOL_ID_NUM,
96*53ee8cc1Swenshuai.xi } E_PNL_POOL_ID;
97*53ee8cc1Swenshuai.xi 
98*53ee8cc1Swenshuai.xi /// Define PNL device ID
99*53ee8cc1Swenshuai.xi typedef enum
100*53ee8cc1Swenshuai.xi {
101*53ee8cc1Swenshuai.xi     E_PNL_DEVICE_ID_0 = 0,
102*53ee8cc1Swenshuai.xi     E_PNL_DEVICE_ID_1 = 1,
103*53ee8cc1Swenshuai.xi     E_PNL_DEVICE_ID_NUM,
104*53ee8cc1Swenshuai.xi     E_PNL_DEVICE_ID_MAX = E_PNL_DEVICE_ID_NUM,
105*53ee8cc1Swenshuai.xi } E_PNL_DEVICE_ID;
106*53ee8cc1Swenshuai.xi 
107*53ee8cc1Swenshuai.xi // For multi-device
108*53ee8cc1Swenshuai.xi #define PNL_GET_INTERNAL_POOL_ID(u32Id)\
109*53ee8cc1Swenshuai.xi             ((u32Id == E_PNL_DEVICE_ID_1) ? E_PNL_POOL_ID_INTERNAL1 : E_PNL_POOL_ID_INTERNAL)
110*53ee8cc1Swenshuai.xi 
111*53ee8cc1Swenshuai.xi typedef enum
112*53ee8cc1Swenshuai.xi {
113*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETLIBVER,
114*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETINFO,
115*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETSTATUS,
116*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETSTATUSEX,
117*53ee8cc1Swenshuai.xi     E_PNL_CMD_SETDBGLEVEL,
118*53ee8cc1Swenshuai.xi     E_PNL_CMD_IOMAPBASEINIT,
119*53ee8cc1Swenshuai.xi     E_PNL_CMD_PREINIT,
120*53ee8cc1Swenshuai.xi     E_PNL_CMD_INIT,
121*53ee8cc1Swenshuai.xi     E_PNL_CMD_INIT_EX,
122*53ee8cc1Swenshuai.xi     E_PNL_CMD_GET_CONFIG,
123*53ee8cc1Swenshuai.xi     E_PNL_CMD_SETOUTPUT,
124*53ee8cc1Swenshuai.xi     E_PNL_CMD_CHANGEPANELTYPE,
125*53ee8cc1Swenshuai.xi     E_PNL_CMD_TCONMAP_DUMPTABLE,
126*53ee8cc1Swenshuai.xi     E_PNL_CMD_TCONMAP_POWER_SEQUENCE,
127*53ee8cc1Swenshuai.xi     E_PNL_CMD_TCON_COUNT_RESET,
128*53ee8cc1Swenshuai.xi     E_PNL_CMD_TCON_INIT,
129*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETDSTINFO,
130*53ee8cc1Swenshuai.xi     E_PNL_CMD_CONTROL_OUT_SWING,
131*53ee8cc1Swenshuai.xi     E_PNL_CMD_SET_OUTPUT_PATTERN,
132*53ee8cc1Swenshuai.xi     E_PNL_CMD_MOD_CALIBRATION_SETTING,
133*53ee8cc1Swenshuai.xi     E_PNL_CMD_MOD_DO_CALIBRATION,
134*53ee8cc1Swenshuai.xi     E_PNL_CMD_BD_LVDS_OUTPUT_TYPE,
135*53ee8cc1Swenshuai.xi     E_PNL_CMD_SETLPLLTYPEEXT,
136*53ee8cc1Swenshuai.xi     E_PNL_CMD_INIT_MISC,
137*53ee8cc1Swenshuai.xi     E_PNL_CMD_GET_MISC_STATUS,
138*53ee8cc1Swenshuai.xi     E_PNL_CMD_MOD_OUTPUTCONFIG_USER,
139*53ee8cc1Swenshuai.xi     E_PNL_CMD_MOD_OUTPUT_CHANNEL_ORDER,
140*53ee8cc1Swenshuai.xi     E_PNL_CMD_HWLVDSRESERVEDTOLRFLAG,
141*53ee8cc1Swenshuai.xi     E_PNL_CMD_MOD_PVDD_POWER_SETTING,
142*53ee8cc1Swenshuai.xi     E_PNL_CMD_SETSSC_EN,
143*53ee8cc1Swenshuai.xi     E_PNL_CMD_SETSSC_FMODULATION,
144*53ee8cc1Swenshuai.xi     E_PNL_CMD_SETSSC_RDEVIATION,
145*53ee8cc1Swenshuai.xi     E_PNL_CMD_SETOSDSSC_EN,
146*53ee8cc1Swenshuai.xi     E_PNL_CMD_SETOSDSSC_FMODULATION,
147*53ee8cc1Swenshuai.xi     E_PNL_CMD_SETOSDSSC_RDEVIATION,
148*53ee8cc1Swenshuai.xi     E_PNL_CMD_SKIPTIMINGCHANGE,
149*53ee8cc1Swenshuai.xi     E_PNL_CMD_PRE_SET_MODE_ON,
150*53ee8cc1Swenshuai.xi     E_PNL_CMD_OVERDRIVER_INIT,
151*53ee8cc1Swenshuai.xi     E_PNL_CMD_OVERDRIVER_SETTING,
152*53ee8cc1Swenshuai.xi     E_PNL_CMD_OVERDRIVER_ENABLE,
153*53ee8cc1Swenshuai.xi     E_PNL_CMD_GET_LPLL_TYPE,
154*53ee8cc1Swenshuai.xi     E_PNL_CMD_GET_TCON_CAPABILITY,
155*53ee8cc1Swenshuai.xi     E_PNL_CMD_SETPAIRSWAP,
156*53ee8cc1Swenshuai.xi     E_PNL_CMD_SET_EXT_LPLL_TYPE,
157*53ee8cc1Swenshuai.xi     E_PNL_CMD_CALEXTLPLLSETBYDCLK,
158*53ee8cc1Swenshuai.xi     E_PNL_CMD_SETDIFFSWINGLEVEL,
159*53ee8cc1Swenshuai.xi     E_PNL_CMD_SETPOWERSTATE,
160*53ee8cc1Swenshuai.xi     E_PNL_CMD_FORCESETPANELDCLK,
161*53ee8cc1Swenshuai.xi     E_PNL_CMD_ENABLEINTERNALTERMINATION,
162*53ee8cc1Swenshuai.xi     E_PNL_CMD_OUTPUTDEVICEHANDSHAKE,
163*53ee8cc1Swenshuai.xi     E_PNL_CMD_OUTPUTDEVICEOCHANDSHAKE,
164*53ee8cc1Swenshuai.xi     E_PNL_CMD_SETOUTPUTINTERLACETIMING,
165*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETOUTPUTINTERLACETIMING,
166*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETPANELDATA,
167*53ee8cc1Swenshuai.xi     E_PNL_CMD_DUMPPANELDATA,
168*53ee8cc1Swenshuai.xi     E_PNL_CMD_SETSSC,
169*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETPANELONTIMING,
170*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETPANELOFFTIMING,
171*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETPANELDIMCTRL,
172*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETALLGAMMATBL,
173*53ee8cc1Swenshuai.xi     E_PNL_CMD_ENABLEPANEL,
174*53ee8cc1Swenshuai.xi     E_PNL_CMD_SETGAMMATBL,
175*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETGAMMATBL,
176*53ee8cc1Swenshuai.xi     E_PNL_CMD_SETPNLGAMMATBL,
177*53ee8cc1Swenshuai.xi     E_PNL_CMD_SETGAMMAVALUE,
178*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETLPLLMODE,
179*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETDEFVFREQ,
180*53ee8cc1Swenshuai.xi     E_PNL_CMD_FORCESETPANELHSTART,
181*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETPANELNAME,
182*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETHSTART,
183*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETVSTART,
184*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETWIDTH,
185*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETHEIGHT,
186*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETHTOTAL,
187*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETVTOTAL,
188*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETHSYNCWIDTH,
189*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETHSYNCBACKPORCH,
190*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETVSYNCBACKPORCH,
191*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETLPLLTYPE,
192*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETARC,
193*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETMINSET,
194*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETMAXSET,
195*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETOUTTIMINGMODE,
196*53ee8cc1Swenshuai.xi #if defined(UFO_PUBLIC_HEADER_300) || defined(UFO_PUBLIC_HEADER_212)
197*53ee8cc1Swenshuai.xi     E_PNL_CMD_GETSUPPORTMAXDCLK,
198*53ee8cc1Swenshuai.xi     E_PNL_CMD_INIT_LOCALDIMMING,
199*53ee8cc1Swenshuai.xi #else
200*53ee8cc1Swenshuai.xi     E_PNL_CMD_CHECKVBY1HANDSHAKESTATUS,
201*53ee8cc1Swenshuai.xi     E_PNL_CMD_SET_VIDEOHWTRAINING_MODE,
202*53ee8cc1Swenshuai.xi     E_PNL_CMD_SET_OSDHWTRAINING_MODE,
203*53ee8cc1Swenshuai.xi     E_PNL_CMD_GET_VIDEOHWTRAINING_MODE,
204*53ee8cc1Swenshuai.xi     E_PNL_CMD_GET_OSDHWTRAINING_MODE,
205*53ee8cc1Swenshuai.xi     E_PNL_CMD_Setting,
206*53ee8cc1Swenshuai.xi #endif
207*53ee8cc1Swenshuai.xi     E_PNL_CMD_NUM,
208*53ee8cc1Swenshuai.xi     E_PNL_CMD_MAX = E_PNL_CMD_NUM,
209*53ee8cc1Swenshuai.xi } E_PNL_IOCTL_CMDS;
210*53ee8cc1Swenshuai.xi 
211*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED  _stPNL_GetLibVer
212*53ee8cc1Swenshuai.xi {
213*53ee8cc1Swenshuai.xi     const MSIF_Version **ppVersion;
214*53ee8cc1Swenshuai.xi     APIPNL_Result eResult;
215*53ee8cc1Swenshuai.xi } stPNL_GetLibVer, *pstPNL_GetLibVer;
216*53ee8cc1Swenshuai.xi 
217*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED  _stPNL_GetInfo
218*53ee8cc1Swenshuai.xi {
219*53ee8cc1Swenshuai.xi     const PNL_ApiInfo *pApiInfo;
220*53ee8cc1Swenshuai.xi } stPNL_GetInfo, *pstPNL_GetInfo;
221*53ee8cc1Swenshuai.xi 
222*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED  _stPNL_GetStatus
223*53ee8cc1Swenshuai.xi {
224*53ee8cc1Swenshuai.xi     PNL_ApiStatus *pPnlStatus;
225*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
226*53ee8cc1Swenshuai.xi } stPNL_GetStatus, *pstPNL_GetStatus;
227*53ee8cc1Swenshuai.xi 
228*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED  _stPNL_GetStatusEx
229*53ee8cc1Swenshuai.xi {
230*53ee8cc1Swenshuai.xi     PNL_ApiExtStatus *pPnlExtStatus;
231*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
232*53ee8cc1Swenshuai.xi } stPNL_GetStatusEx, *pstPNL_GetStatusEx;
233*53ee8cc1Swenshuai.xi 
234*53ee8cc1Swenshuai.xi typedef struct _stPNL_SetDbgLevel
235*53ee8cc1Swenshuai.xi {
236*53ee8cc1Swenshuai.xi     MS_U16 u16DbgSwitch;
237*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
238*53ee8cc1Swenshuai.xi } stPNL_SetDbgLevel, *pstPNL_SetDbgLevel;
239*53ee8cc1Swenshuai.xi 
240*53ee8cc1Swenshuai.xi typedef struct _stPNL_IOMapBaseInit
241*53ee8cc1Swenshuai.xi {
242*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
243*53ee8cc1Swenshuai.xi } stPNL_IOMapBaseInit, *pstPNL_IOMapBaseInit;
244*53ee8cc1Swenshuai.xi 
245*53ee8cc1Swenshuai.xi typedef struct _stPNL_PreInit
246*53ee8cc1Swenshuai.xi {
247*53ee8cc1Swenshuai.xi     E_PNL_PREINIT_OPTIONS eInitParam;
248*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
249*53ee8cc1Swenshuai.xi } stPNL_PreInit, *pstPNL_PreInit;
250*53ee8cc1Swenshuai.xi 
251*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED  _stPNL_Init
252*53ee8cc1Swenshuai.xi {
253*53ee8cc1Swenshuai.xi     PanelType *pSelPanelType;
254*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
255*53ee8cc1Swenshuai.xi } stPNL_Init, *pstPNL_Init;
256*53ee8cc1Swenshuai.xi 
257*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED  _stPNL_Init_Ex
258*53ee8cc1Swenshuai.xi {
259*53ee8cc1Swenshuai.xi     PanelType *pSelPanelType;
260*53ee8cc1Swenshuai.xi     MSIF_Version LIBVER;
261*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
262*53ee8cc1Swenshuai.xi } stPNL_Init_Ex, *pstPNL_Init_Ex;
263*53ee8cc1Swenshuai.xi 
264*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED  _stPNL_GetConfig
265*53ee8cc1Swenshuai.xi {
266*53ee8cc1Swenshuai.xi     PanelType *pSelPanelType;
267*53ee8cc1Swenshuai.xi     APIPNL_Result eReturn;
268*53ee8cc1Swenshuai.xi } stPNL_GetConfig, *pstPNL_GetConfig;
269*53ee8cc1Swenshuai.xi 
270*53ee8cc1Swenshuai.xi typedef struct _stPNL_SetOutput
271*53ee8cc1Swenshuai.xi {
272*53ee8cc1Swenshuai.xi     APIPNL_OUTPUT_MODE eOutputMode;
273*53ee8cc1Swenshuai.xi } stPNL_SetOutput, *pstPNL_SetOutput;
274*53ee8cc1Swenshuai.xi 
275*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED  _stPNL_ChangePanelType
276*53ee8cc1Swenshuai.xi {
277*53ee8cc1Swenshuai.xi     PanelType *pSelPanelType;
278*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
279*53ee8cc1Swenshuai.xi } stPNL_ChangePanelType, *pstPNL_ChangePanelType;
280*53ee8cc1Swenshuai.xi 
281*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED  _stPNL_TCONMAP_DumpTable
282*53ee8cc1Swenshuai.xi {
283*53ee8cc1Swenshuai.xi     MS_U8 *pTCONTable;
284*53ee8cc1Swenshuai.xi     MS_U8 u8Tcontype;
285*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
286*53ee8cc1Swenshuai.xi } stPNL_TCONMAP_DumpTable, *pstPNL_TCONMAP_DumpTable;
287*53ee8cc1Swenshuai.xi 
288*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED  _stPNL_TCONMAP_Power_Sequence
289*53ee8cc1Swenshuai.xi {
290*53ee8cc1Swenshuai.xi     MS_U8 *pTCONTable;
291*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
292*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
293*53ee8cc1Swenshuai.xi } stPNL_TCONMAP_Power_Sequence, *pstPNL_TCONMAP_Power_Sequence;
294*53ee8cc1Swenshuai.xi 
295*53ee8cc1Swenshuai.xi typedef struct _stPNL_TCON_Count_Reset
296*53ee8cc1Swenshuai.xi {
297*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
298*53ee8cc1Swenshuai.xi } stPNL_TCON_Count_Reset, *pstPNL_TCON_Count_Reset;
299*53ee8cc1Swenshuai.xi 
300*53ee8cc1Swenshuai.xi typedef struct _stPNL_TCON_Init
301*53ee8cc1Swenshuai.xi {
302*53ee8cc1Swenshuai.xi } stPNL_TCON_Init, *pstPNL_TCON_Init;
303*53ee8cc1Swenshuai.xi 
304*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED  _stPNL_GetDstInfo
305*53ee8cc1Swenshuai.xi {
306*53ee8cc1Swenshuai.xi     MS_PNL_DST_DispInfo *pDstInfo;
307*53ee8cc1Swenshuai.xi     MS_U32 u32SizeofDstInfo;
308*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
309*53ee8cc1Swenshuai.xi } stPNL_GetDstInfo, *pstPNL_GetDstInfo;
310*53ee8cc1Swenshuai.xi 
311*53ee8cc1Swenshuai.xi typedef struct _stPNL_Control_Out_Swing
312*53ee8cc1Swenshuai.xi {
313*53ee8cc1Swenshuai.xi     MS_U16 u16Swing_Level;
314*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
315*53ee8cc1Swenshuai.xi } stPNL_Control_Out_Swing, *pstPNL_Control_Out_Swing;
316*53ee8cc1Swenshuai.xi 
317*53ee8cc1Swenshuai.xi typedef struct _stPNL_SetOutputPattern
318*53ee8cc1Swenshuai.xi {
319*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
320*53ee8cc1Swenshuai.xi     MS_U16 u16Red;
321*53ee8cc1Swenshuai.xi     MS_U16 u16Green;
322*53ee8cc1Swenshuai.xi     MS_U16 u16Blue;
323*53ee8cc1Swenshuai.xi } stPNL_SetOutputPattern, *pstPNL_SetOutputPattern;
324*53ee8cc1Swenshuai.xi 
325*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED  _stPNL_Mod_Calibration_Setting
326*53ee8cc1Swenshuai.xi {
327*53ee8cc1Swenshuai.xi 	MS_PNL_ModCaliInfo *pstModCaliInfo;
328*53ee8cc1Swenshuai.xi 	MS_BOOL bReturn;
329*53ee8cc1Swenshuai.xi } stPNL_Mod_Calibration_Setting, *pstPNL_Mod_Calibration_Setting;
330*53ee8cc1Swenshuai.xi 
331*53ee8cc1Swenshuai.xi typedef struct _stPNL_Mod_Do_Calibration
332*53ee8cc1Swenshuai.xi {
333*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
334*53ee8cc1Swenshuai.xi } stPNL_Mod_Do_Calibration, *pstPNL_Mod_Do_Calibration;
335*53ee8cc1Swenshuai.xi 
336*53ee8cc1Swenshuai.xi typedef struct _stPNL_BD_LVDS_Output_Type
337*53ee8cc1Swenshuai.xi {
338*53ee8cc1Swenshuai.xi     MS_U16 Type;
339*53ee8cc1Swenshuai.xi } stPNL_BD_LVDS_Output_Type, *pstPNL_BD_LVDS_Output_Type;
340*53ee8cc1Swenshuai.xi 
341*53ee8cc1Swenshuai.xi typedef struct _stPNL_SetLPLLTypeExt
342*53ee8cc1Swenshuai.xi {
343*53ee8cc1Swenshuai.xi     APIPNL_LINK_EXT_TYPE eLPLL_TypeExt;
344*53ee8cc1Swenshuai.xi } stPNL_SetLPLLTypeExt, *pstPNL_SetLPLLTypeExt;
345*53ee8cc1Swenshuai.xi 
346*53ee8cc1Swenshuai.xi typedef struct _stPNL_Init_MISC
347*53ee8cc1Swenshuai.xi {
348*53ee8cc1Swenshuai.xi     APIPNL_MISC ePNL_MISC;
349*53ee8cc1Swenshuai.xi } stPNL_Init_MISC, *pstPNL_Init_MISC;
350*53ee8cc1Swenshuai.xi 
351*53ee8cc1Swenshuai.xi typedef struct _stPNL_Get_MISC_Status
352*53ee8cc1Swenshuai.xi {
353*53ee8cc1Swenshuai.xi     MS_U32 u32Status;
354*53ee8cc1Swenshuai.xi } stPNL_Get_MISC_Status, *pstPNL_Get_MISC_Status;
355*53ee8cc1Swenshuai.xi 
356*53ee8cc1Swenshuai.xi typedef struct _stPNL_MOD_OutputConfig_User
357*53ee8cc1Swenshuai.xi {
358*53ee8cc1Swenshuai.xi     MS_U32 u32OutputCFG0_7;
359*53ee8cc1Swenshuai.xi     MS_U32 u32OutputCFG8_15;
360*53ee8cc1Swenshuai.xi     MS_U32 u32OutputCFG16_21;
361*53ee8cc1Swenshuai.xi } stPNL_MOD_OutputConfig_User, *pstPNL_MOD_OutputConfig_User;
362*53ee8cc1Swenshuai.xi 
363*53ee8cc1Swenshuai.xi typedef struct _stPNL_MOD_OutputChannelOrder
364*53ee8cc1Swenshuai.xi {
365*53ee8cc1Swenshuai.xi     MS_U8  u8OutputOrderType;
366*53ee8cc1Swenshuai.xi     MS_U16 u16OutputOrder0_3;
367*53ee8cc1Swenshuai.xi     MS_U16 u16OutputOrder4_7;
368*53ee8cc1Swenshuai.xi     MS_U16 u16OutputOrder8_11;
369*53ee8cc1Swenshuai.xi     MS_U16 u16OutputOrder12_13;
370*53ee8cc1Swenshuai.xi } stPNL_MOD_OutputChannelOrder, *pstPNL_MOD_OutputChannelOrder;
371*53ee8cc1Swenshuai.xi 
372*53ee8cc1Swenshuai.xi typedef struct _stPNL_HWLVDSReservedtoLRFlag
373*53ee8cc1Swenshuai.xi {
374*53ee8cc1Swenshuai.xi     MS_PNL_HW_LVDSResInfo lvdsresinfo;
375*53ee8cc1Swenshuai.xi } stPNL_HWLVDSReservedtoLRFlag, *pstPNL_HWLVDSReservedtoLRFlag;
376*53ee8cc1Swenshuai.xi 
377*53ee8cc1Swenshuai.xi typedef struct _stPNL_MOD_PVDD_Power_Setting
378*53ee8cc1Swenshuai.xi {
379*53ee8cc1Swenshuai.xi     MS_BOOL bIs2p5;
380*53ee8cc1Swenshuai.xi } stPNL_MOD_PVDD_Power_Setting, *pstPNL_MOD_PVDD_Power_Setting;
381*53ee8cc1Swenshuai.xi 
382*53ee8cc1Swenshuai.xi typedef struct _stPNL_SetSSC_En
383*53ee8cc1Swenshuai.xi {
384*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
385*53ee8cc1Swenshuai.xi     APIPNL_Result eReturn;
386*53ee8cc1Swenshuai.xi } stPNL_SetSSC_En, *pstPNL_SetSSC_En;
387*53ee8cc1Swenshuai.xi 
388*53ee8cc1Swenshuai.xi typedef struct _stPNL_SetSSC_Fmodulation
389*53ee8cc1Swenshuai.xi {
390*53ee8cc1Swenshuai.xi     MS_U16 u16Fmodulation;
391*53ee8cc1Swenshuai.xi     APIPNL_Result eReturn;
392*53ee8cc1Swenshuai.xi } stPNL_SetSSC_Fmodulation, *pstPNL_SetSSC_Fmodulation;
393*53ee8cc1Swenshuai.xi 
394*53ee8cc1Swenshuai.xi typedef struct _stPNL_SetSSC_Rdeviation
395*53ee8cc1Swenshuai.xi {
396*53ee8cc1Swenshuai.xi     MS_U16 u16Rdeviation;
397*53ee8cc1Swenshuai.xi     APIPNL_Result eReturn;
398*53ee8cc1Swenshuai.xi } stPNL_SetSSC_Rdeviation, *pstPNL_SetSSC_Rdeviation;
399*53ee8cc1Swenshuai.xi 
400*53ee8cc1Swenshuai.xi typedef struct _stPNL_SetOSDSSC_En
401*53ee8cc1Swenshuai.xi {
402*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
403*53ee8cc1Swenshuai.xi     APIPNL_Result eReturn;
404*53ee8cc1Swenshuai.xi } stPNL_SetOSDSSC_En, *pstPNL_SetOSDSSC_En;
405*53ee8cc1Swenshuai.xi 
406*53ee8cc1Swenshuai.xi typedef struct _stPNL_SetOSDSSC_Fmodulation
407*53ee8cc1Swenshuai.xi {
408*53ee8cc1Swenshuai.xi     MS_U16 u16Fmodulation;
409*53ee8cc1Swenshuai.xi     APIPNL_Result eReturn;
410*53ee8cc1Swenshuai.xi } stPNL_SetOSDSSC_Fmodulation, *pstPNL_SetOSDSSC_Fmodulation;
411*53ee8cc1Swenshuai.xi 
412*53ee8cc1Swenshuai.xi typedef struct _stPNL_SetOSDSSC_Rdeviation
413*53ee8cc1Swenshuai.xi {
414*53ee8cc1Swenshuai.xi     MS_U16 u16Rdeviation;
415*53ee8cc1Swenshuai.xi     APIPNL_Result eReturn;
416*53ee8cc1Swenshuai.xi } stPNL_SetOSDSSC_Rdeviation, *pstPNL_SetOSDSSC_Rdeviation;
417*53ee8cc1Swenshuai.xi 
418*53ee8cc1Swenshuai.xi typedef struct _stPNL_SkipTimingChange
419*53ee8cc1Swenshuai.xi {
420*53ee8cc1Swenshuai.xi     MS_BOOL bFlag;
421*53ee8cc1Swenshuai.xi     APIPNL_Result eResult;
422*53ee8cc1Swenshuai.xi } stPNL_SkipTimingChange, *pstPNL_SkipTimingChange;
423*53ee8cc1Swenshuai.xi 
424*53ee8cc1Swenshuai.xi typedef struct _stPNL_PreSetModeOn
425*53ee8cc1Swenshuai.xi {
426*53ee8cc1Swenshuai.xi     MS_BOOL bSetMode;
427*53ee8cc1Swenshuai.xi     APIPNL_Result eResult;
428*53ee8cc1Swenshuai.xi } stPNL_PreSetModeOn, *pstPNL_PreSetModeOn;
429*53ee8cc1Swenshuai.xi 
430*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED  _stPNL_OverDriver_Init
431*53ee8cc1Swenshuai.xi {
432*53ee8cc1Swenshuai.xi     MS_PNL_OD_INITDATA *pPNL_ODInitData;
433*53ee8cc1Swenshuai.xi     MS_U32 u32ODInitDataLen;
434*53ee8cc1Swenshuai.xi     APIPNL_Result eResult;
435*53ee8cc1Swenshuai.xi } stPNL_OverDriver_Init, *pstPNL_OverDriver_Init;
436*53ee8cc1Swenshuai.xi 
437*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED  _stPNL_OverDriver_Setting
438*53ee8cc1Swenshuai.xi {
439*53ee8cc1Swenshuai.xi     MS_PNL_OD_SETTING *pPNL_ODSetting;
440*53ee8cc1Swenshuai.xi     MS_U32 u32ODInitDataLen;
441*53ee8cc1Swenshuai.xi     APIPNL_Result eResult;
442*53ee8cc1Swenshuai.xi } stPNL_OverDriver_Setting, *pstPNL_OverDriver_Setting;
443*53ee8cc1Swenshuai.xi 
444*53ee8cc1Swenshuai.xi 
445*53ee8cc1Swenshuai.xi typedef struct _stPNL_OverDriver_Enable
446*53ee8cc1Swenshuai.xi {
447*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
448*53ee8cc1Swenshuai.xi     APIPNL_Result eResult;
449*53ee8cc1Swenshuai.xi } stPNL_OverDriver_Enable, *pstPNL_OverDriver_Enable;
450*53ee8cc1Swenshuai.xi 
451*53ee8cc1Swenshuai.xi typedef struct _stPNL_Get_LPLL_Type
452*53ee8cc1Swenshuai.xi {
453*53ee8cc1Swenshuai.xi     MS_U8 u8Return;
454*53ee8cc1Swenshuai.xi } stPNL_Get_LPLL_Type, *pstPNL_Get_LPLL_Type;
455*53ee8cc1Swenshuai.xi 
456*53ee8cc1Swenshuai.xi typedef struct _stPNL_Get_TCON_Capability
457*53ee8cc1Swenshuai.xi {
458*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
459*53ee8cc1Swenshuai.xi } stPNL_Get_TCON_Capability, *pstPNL_Get_TCON_Capability;
460*53ee8cc1Swenshuai.xi 
461*53ee8cc1Swenshuai.xi typedef struct _stPNL_SetPairSwap
462*53ee8cc1Swenshuai.xi {
463*53ee8cc1Swenshuai.xi     MS_U32 u32Polarity;
464*53ee8cc1Swenshuai.xi } stPNL_SetPairSwap, *pstPNL_SetPairSwap;
465*53ee8cc1Swenshuai.xi 
466*53ee8cc1Swenshuai.xi typedef struct _stPNL_SetExt_LPLL_Type
467*53ee8cc1Swenshuai.xi {
468*53ee8cc1Swenshuai.xi     MS_U16 u16Ext_lpll_type;
469*53ee8cc1Swenshuai.xi } stPNL_SetExt_LPLL_Type, *pstPNL_SetExt_LPLL_Type;
470*53ee8cc1Swenshuai.xi 
471*53ee8cc1Swenshuai.xi typedef struct _stPNL_CalExtLPLLSETbyDClk
472*53ee8cc1Swenshuai.xi {
473*53ee8cc1Swenshuai.xi     MS_U32 ldHz;
474*53ee8cc1Swenshuai.xi } stPNL_CalExtLPLLSETbyDClk, *pstPNL_CalExtLPLLSETbyDClk;
475*53ee8cc1Swenshuai.xi 
476*53ee8cc1Swenshuai.xi typedef struct _stPNL_SetDiffSwingLevel
477*53ee8cc1Swenshuai.xi {
478*53ee8cc1Swenshuai.xi     MS_U8 u8Swing_Level;
479*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
480*53ee8cc1Swenshuai.xi } stPNL_SetDiffSwingLevel, *pstPNL_SetDiffSwingLevel;
481*53ee8cc1Swenshuai.xi 
482*53ee8cc1Swenshuai.xi typedef struct _stPNL_SetPowerState
483*53ee8cc1Swenshuai.xi {
484*53ee8cc1Swenshuai.xi     EN_POWER_MODE ePowerState;
485*53ee8cc1Swenshuai.xi     MS_U32 u32Return;
486*53ee8cc1Swenshuai.xi } stPNL_SetPowerState, *pstPNL_SetPowerState;
487*53ee8cc1Swenshuai.xi 
488*53ee8cc1Swenshuai.xi typedef struct _stPNL_ForceSetPanelDCLK
489*53ee8cc1Swenshuai.xi {
490*53ee8cc1Swenshuai.xi     MS_U16 u16PanelDCLK;
491*53ee8cc1Swenshuai.xi     MS_BOOL bSetDCLKEnable;
492*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
493*53ee8cc1Swenshuai.xi } stPNL_ForceSetPanelDCLK, *pstPNL_ForceSetPanelDCLK;
494*53ee8cc1Swenshuai.xi 
495*53ee8cc1Swenshuai.xi typedef struct _stPNL_ForceSetPanelHStart
496*53ee8cc1Swenshuai.xi {
497*53ee8cc1Swenshuai.xi     MS_U16 u16PanelHStart;
498*53ee8cc1Swenshuai.xi     MS_BOOL bSetHStartEnable;
499*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
500*53ee8cc1Swenshuai.xi } stPNL_ForceSetPanelHStart, *pstPNL_ForceSetPanelHStart;
501*53ee8cc1Swenshuai.xi 
502*53ee8cc1Swenshuai.xi typedef struct _stPNL_EnableInternalTermination
503*53ee8cc1Swenshuai.xi {
504*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
505*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
506*53ee8cc1Swenshuai.xi } stPNL_EnableInternalTermination, *pstPNL_EnableInternalTermination;
507*53ee8cc1Swenshuai.xi 
508*53ee8cc1Swenshuai.xi typedef struct _stPNL_OutputDeviceHandshake
509*53ee8cc1Swenshuai.xi {
510*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
511*53ee8cc1Swenshuai.xi } stPNL_OutputDeviceHandshake, *pstPNL_OutputDeviceHandshake;
512*53ee8cc1Swenshuai.xi 
513*53ee8cc1Swenshuai.xi typedef struct _stPNL_OutputDeviceOCHandshake
514*53ee8cc1Swenshuai.xi {
515*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
516*53ee8cc1Swenshuai.xi } stPNL_OutputDeviceOCHandshake, *pstPNL_OutputDeviceOCHandshake;
517*53ee8cc1Swenshuai.xi 
518*53ee8cc1Swenshuai.xi typedef struct _stPNL_SetOutputInterlaceTiming
519*53ee8cc1Swenshuai.xi {
520*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
521*53ee8cc1Swenshuai.xi     APIPNL_Result eReturn;
522*53ee8cc1Swenshuai.xi } stPNL_SetOutputInterlaceTiming, *pstPNL_SetOutputInterlaceTiming;
523*53ee8cc1Swenshuai.xi 
524*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetOutputInterlaceTiming
525*53ee8cc1Swenshuai.xi {
526*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
527*53ee8cc1Swenshuai.xi } stPNL_GetOutputInterlaceTiming, *pstPNL_GetOutputInterlaceTiming;
528*53ee8cc1Swenshuai.xi 
529*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED  _stPNL_GetPanelData
530*53ee8cc1Swenshuai.xi {
531*53ee8cc1Swenshuai.xi     PanelType* pstPNLData;
532*53ee8cc1Swenshuai.xi } stPNL_GetPanelData, *pstPNL_GetPanelData;
533*53ee8cc1Swenshuai.xi 
534*53ee8cc1Swenshuai.xi typedef struct _stPNL_SetSSC
535*53ee8cc1Swenshuai.xi {
536*53ee8cc1Swenshuai.xi     MS_U16 u16Fmodulation;
537*53ee8cc1Swenshuai.xi     MS_U16 u16Rdeviation;
538*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
539*53ee8cc1Swenshuai.xi } stPNL_SetSSC, *pstPNL_SetSSC;
540*53ee8cc1Swenshuai.xi 
541*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetPanelOnTiming
542*53ee8cc1Swenshuai.xi {
543*53ee8cc1Swenshuai.xi     APIPNL_POWER_TIMING_SEQ seq;
544*53ee8cc1Swenshuai.xi     MS_U16 u16Return;
545*53ee8cc1Swenshuai.xi } stPNL_GetPanelOnTiming, *pstPNL_GetPanelOnTiming;
546*53ee8cc1Swenshuai.xi 
547*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetPanelOffTiming
548*53ee8cc1Swenshuai.xi {
549*53ee8cc1Swenshuai.xi     APIPNL_POWER_TIMING_SEQ seq;
550*53ee8cc1Swenshuai.xi     MS_U16 u16Return;
551*53ee8cc1Swenshuai.xi } stPNL_GetPanelOffTiming, *pstPNL_GetPanelOffTiming;
552*53ee8cc1Swenshuai.xi 
553*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetPanelDimCtrl
554*53ee8cc1Swenshuai.xi {
555*53ee8cc1Swenshuai.xi     APIPNL_DIMMING_CTRL dim_type;
556*53ee8cc1Swenshuai.xi     MS_U8 u8Return;
557*53ee8cc1Swenshuai.xi } stPNL_GetPanelDimCtrl, *pstPNL_GetPanelDimCtrl;
558*53ee8cc1Swenshuai.xi 
559*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED  _stPNL_GetAllGammaTbl
560*53ee8cc1Swenshuai.xi {
561*53ee8cc1Swenshuai.xi     MS_U8** ppu8Return;
562*53ee8cc1Swenshuai.xi } stPNL_GetAllGammaTbl, *pstPNL_GetAllGammaTbl;
563*53ee8cc1Swenshuai.xi 
564*53ee8cc1Swenshuai.xi typedef struct _stPNL_EnablePanel
565*53ee8cc1Swenshuai.xi {
566*53ee8cc1Swenshuai.xi     MS_BOOL bPanelOn;
567*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
568*53ee8cc1Swenshuai.xi } stPNL_EnablePanel, *pstPNL_EnablePanel;
569*53ee8cc1Swenshuai.xi 
570*53ee8cc1Swenshuai.xi typedef struct  DLL_PACKED  _stPNL_SetGammaTbl
571*53ee8cc1Swenshuai.xi {
572*53ee8cc1Swenshuai.xi     APIPNL_GAMMA_TYPE eGammaType;
573*53ee8cc1Swenshuai.xi     MS_U8* pu8GammaTab[3];
574*53ee8cc1Swenshuai.xi     APIPNL_GAMMA_MAPPEING_MODE Gamma_Map_Mode;
575*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
576*53ee8cc1Swenshuai.xi } stPNL_SetGammaTbl, *pstPNL_SetGammaTbl;
577*53ee8cc1Swenshuai.xi 
578*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED  _stPNL_GetGammaTbl
579*53ee8cc1Swenshuai.xi {
580*53ee8cc1Swenshuai.xi     APIPNL_GAMMA_TYPE eGammaType;
581*53ee8cc1Swenshuai.xi     MS_U8* pu8GammaTab[3];
582*53ee8cc1Swenshuai.xi     APIPNL_GAMMA_MAPPEING_MODE Gamma_Map_Mode;
583*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
584*53ee8cc1Swenshuai.xi } stPNL_GetGammaTbl, *pstPNL_GetGammaTbl;
585*53ee8cc1Swenshuai.xi 
586*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED  _stPNL_SetPNLGammaTbl
587*53ee8cc1Swenshuai.xi {
588*53ee8cc1Swenshuai.xi     MS_U8* pu8GammaTab;
589*53ee8cc1Swenshuai.xi     MS_U8 u8Index;
590*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
591*53ee8cc1Swenshuai.xi } stPNL_SetPNLGammaTbl, *pstPNL_SetPNLGammaTbl;
592*53ee8cc1Swenshuai.xi 
593*53ee8cc1Swenshuai.xi 
594*53ee8cc1Swenshuai.xi typedef struct _stPNL_SetGammaValue
595*53ee8cc1Swenshuai.xi {
596*53ee8cc1Swenshuai.xi     MS_U8 u8Channel;
597*53ee8cc1Swenshuai.xi     MS_U16 u16Offset;
598*53ee8cc1Swenshuai.xi     MS_U16 u16GammaValue;
599*53ee8cc1Swenshuai.xi     MS_BOOL bReturn;
600*53ee8cc1Swenshuai.xi } stPNL_SetGammaValue, *pstPNL_SetGammaValue;
601*53ee8cc1Swenshuai.xi 
602*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetLPLLMode
603*53ee8cc1Swenshuai.xi {
604*53ee8cc1Swenshuai.xi     MS_U8 u8Return;
605*53ee8cc1Swenshuai.xi } stPNL_GetLPLLMode, *pstPNL_GetLPLLMode;
606*53ee8cc1Swenshuai.xi 
607*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetDefVFreqe
608*53ee8cc1Swenshuai.xi {
609*53ee8cc1Swenshuai.xi     MS_U16 u16Return;
610*53ee8cc1Swenshuai.xi } stPNL_GetDefVFreq, *pstPNL_GetDefVFreq;
611*53ee8cc1Swenshuai.xi 
612*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED  _stPNL_GetName
613*53ee8cc1Swenshuai.xi {
614*53ee8cc1Swenshuai.xi     const char* pPNLName;
615*53ee8cc1Swenshuai.xi }stPNL_GetName, *pstPNL_GetName;
616*53ee8cc1Swenshuai.xi 
617*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetHstart
618*53ee8cc1Swenshuai.xi {
619*53ee8cc1Swenshuai.xi     MS_U16 u16Return;
620*53ee8cc1Swenshuai.xi } stPNL_GetHstart, *pstPNL_GetHstart;
621*53ee8cc1Swenshuai.xi 
622*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetVstart
623*53ee8cc1Swenshuai.xi {
624*53ee8cc1Swenshuai.xi     MS_U16 u16Return;
625*53ee8cc1Swenshuai.xi } stPNL_GetVstart, *pstPNL_GetVstart;
626*53ee8cc1Swenshuai.xi 
627*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetWidth
628*53ee8cc1Swenshuai.xi {
629*53ee8cc1Swenshuai.xi     MS_U16 u16Return;
630*53ee8cc1Swenshuai.xi } stPNL_GetWidth, *pstPNL_GetWidth;
631*53ee8cc1Swenshuai.xi 
632*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetHeight
633*53ee8cc1Swenshuai.xi {
634*53ee8cc1Swenshuai.xi     MS_U16 u16Return;
635*53ee8cc1Swenshuai.xi } stPNL_GetHeight, *pstPNL_GetHeight;
636*53ee8cc1Swenshuai.xi 
637*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetHtotal
638*53ee8cc1Swenshuai.xi {
639*53ee8cc1Swenshuai.xi     MS_U16 u16Return;
640*53ee8cc1Swenshuai.xi } stPNL_GetHtotal, *pstPNL_GetHtotal;
641*53ee8cc1Swenshuai.xi 
642*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetVtotal
643*53ee8cc1Swenshuai.xi {
644*53ee8cc1Swenshuai.xi     MS_U16 u16Return;
645*53ee8cc1Swenshuai.xi } stPNL_GetVtotal, *pstPNL_GetVtotal;
646*53ee8cc1Swenshuai.xi 
647*53ee8cc1Swenshuai.xi typedef struct stPNL_GetHsyncWidth
648*53ee8cc1Swenshuai.xi {
649*53ee8cc1Swenshuai.xi     MS_U8 u8Return;
650*53ee8cc1Swenshuai.xi } stPNL_GetHsyncWidth,*pstPNL_GetHsyncWidth;
651*53ee8cc1Swenshuai.xi 
652*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetHsyncBackPorch
653*53ee8cc1Swenshuai.xi {
654*53ee8cc1Swenshuai.xi     MS_U8 u8Return;
655*53ee8cc1Swenshuai.xi } stPNL_GetHsyncBackPorch,*pstPNL_GetHsyncBackPorch;
656*53ee8cc1Swenshuai.xi 
657*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetVsyncBackPorch
658*53ee8cc1Swenshuai.xi {
659*53ee8cc1Swenshuai.xi     MS_U8 u8Return;
660*53ee8cc1Swenshuai.xi } stPNL_GetVsyncBackPorch,*pstPNL_GetVsyncBackPorch;
661*53ee8cc1Swenshuai.xi 
662*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetLPLLType
663*53ee8cc1Swenshuai.xi {
664*53ee8cc1Swenshuai.xi     MS_U8 u8Return;
665*53ee8cc1Swenshuai.xi } stPNL_GetLPLLType,*pstPNL_GetLPLLType;
666*53ee8cc1Swenshuai.xi 
667*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetARC
668*53ee8cc1Swenshuai.xi {
669*53ee8cc1Swenshuai.xi     E_PNL_ASPECT_RATIO ePanelAspectRatio;
670*53ee8cc1Swenshuai.xi } stPNL_GetARC,*pstPNL_GetARC;
671*53ee8cc1Swenshuai.xi 
672*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetMinSET
673*53ee8cc1Swenshuai.xi {
674*53ee8cc1Swenshuai.xi     MS_U32 u32Return;
675*53ee8cc1Swenshuai.xi } stPNL_GetMinSET,*pstPNL_GetMinSET;
676*53ee8cc1Swenshuai.xi 
677*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetMaxSET
678*53ee8cc1Swenshuai.xi {
679*53ee8cc1Swenshuai.xi     MS_U32 u32Return;
680*53ee8cc1Swenshuai.xi } stPNL_GetMaxSET,*pstPNL_GetMaxSET;
681*53ee8cc1Swenshuai.xi 
682*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetOutTimingMode
683*53ee8cc1Swenshuai.xi {
684*53ee8cc1Swenshuai.xi     APIPNL_OUT_TIMING_MODE ePanelOutTimingMode;
685*53ee8cc1Swenshuai.xi } stPNL_GetOutTimingMode,*pstPNL_GetOutTimingMode;
686*53ee8cc1Swenshuai.xi 
687*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetSupportMaxDclk
688*53ee8cc1Swenshuai.xi {
689*53ee8cc1Swenshuai.xi     MS_U16 u16Return;
690*53ee8cc1Swenshuai.xi } stPNL_GetSupportMaxDclk,*pstPNL_GetSupportMaxDclk;
691*53ee8cc1Swenshuai.xi 
692*53ee8cc1Swenshuai.xi typedef struct _stPNL_Init_LocalDimming
693*53ee8cc1Swenshuai.xi {
694*53ee8cc1Swenshuai.xi     pstPNL_Init_LocalDimming_Parameters pLD_InitData;
695*53ee8cc1Swenshuai.xi     MS_U16 u16DataLen;
696*53ee8cc1Swenshuai.xi     MS_U16 u16Return;
697*53ee8cc1Swenshuai.xi } stPNL_Init_LocalDimming, *pstPNL_Init_LocalDimming;
698*53ee8cc1Swenshuai.xi 
699*53ee8cc1Swenshuai.xi typedef struct _stPNL_CheckVBY1HandshakeStatus
700*53ee8cc1Swenshuai.xi {
701*53ee8cc1Swenshuai.xi     MS_BOOL bResult;
702*53ee8cc1Swenshuai.xi } stPNL_CheckVBY1HandshakeStatus,*pstPNL_CheckVBY1HandshakeStatus;
703*53ee8cc1Swenshuai.xi 
704*53ee8cc1Swenshuai.xi typedef struct _stPNL_MOD_Video_HWTrainingMode
705*53ee8cc1Swenshuai.xi {
706*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
707*53ee8cc1Swenshuai.xi }stPNL_MOD_Video_HWTrainingMode,*pstPNL_MOD_Video_HWTrainingMode;
708*53ee8cc1Swenshuai.xi 
709*53ee8cc1Swenshuai.xi typedef struct _stPNL_MOD_OSD_HWTrainingMode
710*53ee8cc1Swenshuai.xi {
711*53ee8cc1Swenshuai.xi     MS_BOOL bEnable;
712*53ee8cc1Swenshuai.xi }stPNL_MOD_OSD_HWTrainingMode,*pstPNL_MOD_OSD_HWTrainingMode;
713*53ee8cc1Swenshuai.xi 
714*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetVideoHWTraining_status
715*53ee8cc1Swenshuai.xi {
716*53ee8cc1Swenshuai.xi     MS_BOOL bStatus;
717*53ee8cc1Swenshuai.xi }stPNL_GetVideoHWTraining_status,*pstPNL_GetVideoHWTraining_status;
718*53ee8cc1Swenshuai.xi 
719*53ee8cc1Swenshuai.xi typedef struct _stPNL_GetOSDHWTraining_status
720*53ee8cc1Swenshuai.xi {
721*53ee8cc1Swenshuai.xi     MS_BOOL bStatus;
722*53ee8cc1Swenshuai.xi }stPNL_GetOSDHWTraining_status,*pstPNL_GetOSDHWTraining_status;
723*53ee8cc1Swenshuai.xi 
724*53ee8cc1Swenshuai.xi typedef struct DLL_PACKED _stPNL_Setting
725*53ee8cc1Swenshuai.xi {
726*53ee8cc1Swenshuai.xi     MS_U32 u32Cmd;
727*53ee8cc1Swenshuai.xi     void *pCmdArgs;
728*53ee8cc1Swenshuai.xi     MS_U32 u32CmdArgsSize;
729*53ee8cc1Swenshuai.xi     APIPNL_Result eReturnValue;
730*53ee8cc1Swenshuai.xi }stPNL_Setting,*pstPNL_Setting;
731*53ee8cc1Swenshuai.xi 
732*53ee8cc1Swenshuai.xi #ifdef __cplusplus
733*53ee8cc1Swenshuai.xi }
734*53ee8cc1Swenshuai.xi #endif
735*53ee8cc1Swenshuai.xi 
736*53ee8cc1Swenshuai.xi #endif
737