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