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