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_PNL_PRIV_H_ 79*53ee8cc1Swenshuai.xi #define _API_PNL_PRIV_H_ 80*53ee8cc1Swenshuai.xi 81*53ee8cc1Swenshuai.xi 82*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 83*53ee8cc1Swenshuai.xi // Header Files 84*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 85*53ee8cc1Swenshuai.xi #ifdef __cplusplus 86*53ee8cc1Swenshuai.xi extern "C" 87*53ee8cc1Swenshuai.xi { 88*53ee8cc1Swenshuai.xi #endif 89*53ee8cc1Swenshuai.xi 90*53ee8cc1Swenshuai.xi typedef APIPNL_Result (*IOCTL_PNL_GETLIBVER) (void*, const MSIF_Version**); 91*53ee8cc1Swenshuai.xi typedef const PNL_ApiInfo* (*IOCTL_PNL_GETINFO) (void*); 92*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_GETSTATUS) (void*, PNL_ApiStatus*); 93*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_GETSTATUSEX) (void*, PNL_ApiExtStatus*); 94*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_SETDBGLEVEL) (void*, MS_U16); 95*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_IOMAPBASEINIT) (void*); 96*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_PREINIT) (void*, E_PNL_PREINIT_OPTIONS); 97*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_INIT) (void*, PanelType*); 98*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_INIT_EX) (void*, PanelType*, MSIF_Version); 99*53ee8cc1Swenshuai.xi typedef APIPNL_Result (*IOCTL_PNL_GETCONFIG) (void*, PanelType*); 100*53ee8cc1Swenshuai.xi typedef void (*IOCTL_PNL_SETOUTPUT) (void*, APIPNL_OUTPUT_MODE); 101*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_CHANGEPANELTYPE) (void*, PanelType*); 102*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_TCONMAP_DUMPTABLE) (void*, MS_U8* ,MS_U8); 103*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_TCONMAP_POWRE_SEQUENCE) (void*, MS_U8* ,MS_BOOL); 104*53ee8cc1Swenshuai.xi typedef void (*IOCTL_PNL_TCON_COUNT_RESET) (void*, MS_BOOL); 105*53ee8cc1Swenshuai.xi typedef void (*IOCTL_PNL_TCON_INIT) (void*); 106*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_GETDSTINFO) (void*, MS_PNL_DST_DispInfo* ,MS_U32); 107*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_CONTROL_OUT_SWING) (void*, MS_U16); 108*53ee8cc1Swenshuai.xi typedef void (*IOCTL_PNL_SETOUTPUTPATTERN) (void*, MS_BOOL ,MS_U16 ,MS_U16 ,MS_U16); 109*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_MOD_CALIBRATION_SETTING) (void*, MS_PNL_ModCaliInfo*); 110*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_MOD_DO_CALIBRATION) (void*); 111*53ee8cc1Swenshuai.xi typedef void (*IOCTL_PNL_BD_LVDS_OUTPUT_TYPE) (void*, MS_U16); 112*53ee8cc1Swenshuai.xi typedef void (*IOCTL_PNL_SETLPLLTYPEEXT) (void*, APIPNL_LINK_EXT_TYPE); 113*53ee8cc1Swenshuai.xi typedef void (*IOCTL_PNL_INIT_MISC) (void*, APIPNL_MISC); 114*53ee8cc1Swenshuai.xi typedef MS_U32 (*IOCTL_PNL_GET_MISC_STATUS) (void*); 115*53ee8cc1Swenshuai.xi typedef void (*IOCTL_PNL_MOD_OUTPUTCONFIG_USER) (void*, MS_U32 ,MS_U32 ,MS_U32); 116*53ee8cc1Swenshuai.xi typedef void (*IOCTL_PNL_MOD_OUTPUTCHANNELORDER) (void*, MS_U8, MS_U16, MS_U16, MS_U16, MS_U16); 117*53ee8cc1Swenshuai.xi typedef void (*IOCTL_PNL_HWLVDSRESERVEDTOLRFLAG) (void*, MS_PNL_HW_LVDSResInfo); 118*53ee8cc1Swenshuai.xi typedef void (*IOCTL_PNL_MOD_PVDD_POWER_SETTING) (void*, MS_BOOL); 119*53ee8cc1Swenshuai.xi typedef APIPNL_Result (*IOCTL_PNL_SETSSC_EN) (void*, MS_BOOL); 120*53ee8cc1Swenshuai.xi typedef APIPNL_Result (*IOCTL_PNL_SETSSC_FMODULATION) (void*, MS_U16); 121*53ee8cc1Swenshuai.xi typedef APIPNL_Result (*IOCTL_PNL_SETSSC_RDEVIATION) (void*, MS_U16); 122*53ee8cc1Swenshuai.xi typedef APIPNL_Result (*IOCTL_PNL_SETOSDSSC_EN) (void*, MS_BOOL); 123*53ee8cc1Swenshuai.xi typedef APIPNL_Result (*IOCTL_PNL_SETOSDSSC_FMODULATION) (void*, MS_U16); 124*53ee8cc1Swenshuai.xi typedef APIPNL_Result (*IOCTL_PNL_SETOSDSSC_RDEVIATION) (void*, MS_U16); 125*53ee8cc1Swenshuai.xi typedef APIPNL_Result (*IOCTL_PNL_SKIPTIMINGCHANGE) (void*, MS_BOOL); 126*53ee8cc1Swenshuai.xi typedef APIPNL_Result (*IOCTL_PNL_PRE_SET_MODE_ON) (void*, MS_BOOL); 127*53ee8cc1Swenshuai.xi typedef APIPNL_Result (*IOCTL_PNL_OVERDRIVER_INIT) (void*, MS_PNL_OD_INITDATA*, MS_U32); 128*53ee8cc1Swenshuai.xi typedef APIPNL_Result (*IOCTL_PNL_OVERDRIVER_ENABLE) (void*, MS_BOOL); 129*53ee8cc1Swenshuai.xi typedef MS_U8 (*IOCTL_PNL_GET_LPLL_TYPE) (void*); 130*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_GET_TCON_CAPABILITY) (void*); 131*53ee8cc1Swenshuai.xi typedef void (*IOCTL_PNL_SETPAIRSWAP) (void*, MS_U32); 132*53ee8cc1Swenshuai.xi typedef void (*IOCTL_PNL_SET_EXT_LPLL_TYPE) (void*, MS_U16); 133*53ee8cc1Swenshuai.xi typedef void (*IOCTL_PNL_CALEXTLPLLSETBYDClk) (void*, MS_U32); 134*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_SETDIFFSWINGLEVEL) (void*, MS_U8); 135*53ee8cc1Swenshuai.xi typedef MS_U32 (*IOCTL_PNL_SETPOWERSTATE) (void*, EN_POWER_MODE); 136*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_FORCESETPANELDCLK) (void*, MS_U16, MS_BOOL); 137*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_FORCESETPANELHSTART) (void*, MS_U16, MS_BOOL); 138*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_EABLEINTERNALTERMINATION) (void*, MS_BOOL); 139*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_OUTPUTDEVICEHANDSHAKE) (void*); 140*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_OUTPUTDEVICEOCHANDSHAKE) (void*); 141*53ee8cc1Swenshuai.xi typedef APIPNL_Result (*IOCTL_PNL_SETOUTPUTINTERLACETIMING) (void*, MS_BOOL); 142*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_GETOUTPUTINTERLACETIMING) (void*); 143*53ee8cc1Swenshuai.xi typedef void (*IOCTL_PNL_GETPANELDATA) (void*, PanelType*); 144*53ee8cc1Swenshuai.xi typedef void (*IOCTL_PNL_DUMPPANELDATA) (void*); 145*53ee8cc1Swenshuai.xi typedef void (*IOCTL_PNL_SETSSC) (void*, MS_U16, MS_U16, MS_BOOL); 146*53ee8cc1Swenshuai.xi typedef MS_U16 (*IOCTL_PNL_GETPANELONTIMING) (void*, APIPNL_POWER_TIMING_SEQ); 147*53ee8cc1Swenshuai.xi typedef MS_U16 (*IOCTL_PNL_GETPANELOFFTIMING) (void*, APIPNL_POWER_TIMING_SEQ); 148*53ee8cc1Swenshuai.xi typedef MS_U8 (*IOCTL_PNL_GETPANELDIMCTRL) (void*, APIPNL_DIMMING_CTRL); 149*53ee8cc1Swenshuai.xi typedef MS_U8** (*IOCTL_PNL_GETALLGAMMATBL) (void*); 150*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_ENABLEPANEL) (void*, MS_BOOL); 151*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_SETGAMMATBL) (void*, APIPNL_GAMMA_TYPE, MS_U8*[], APIPNL_GAMMA_MAPPEING_MODE); 152*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_GETGAMMATBL) (void*, APIPNL_GAMMA_TYPE, MS_U8*[], APIPNL_GAMMA_MAPPEING_MODE); 153*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_SETGAMMAVALUE) (void*, MS_U8, MS_U16, MS_U16); 154*53ee8cc1Swenshuai.xi typedef MS_U8 (*IOCTL_PNL_GETLPLLMODE) (void*); 155*53ee8cc1Swenshuai.xi typedef MS_U16 (*IOCTL_PNL_GETDEFVFREQ) (void*); 156*53ee8cc1Swenshuai.xi typedef const char* (*IOCTL_PNL_GETPANELNAME) (void*); 157*53ee8cc1Swenshuai.xi typedef MS_U16 (*IOCTL_PNL_GETHSTART) (void*); 158*53ee8cc1Swenshuai.xi typedef MS_U16 (*IOCTL_PNL_GETVSTART) (void*); 159*53ee8cc1Swenshuai.xi typedef MS_U16 (*IOCTL_PNL_GETWIDTH) (void*); 160*53ee8cc1Swenshuai.xi typedef MS_U16 (*IOCTL_PNL_GETHEIGHT) (void*); 161*53ee8cc1Swenshuai.xi typedef MS_U16 (*IOCTL_PNL_GETHTOTAL) (void*); 162*53ee8cc1Swenshuai.xi typedef MS_U16 (*IOCTL_PNL_GETVTOTAL) (void*); 163*53ee8cc1Swenshuai.xi typedef MS_U8 (*IOCTL_PNL_GETHSYNCWIDTH) (void*); 164*53ee8cc1Swenshuai.xi typedef MS_U8 (*IOCTL_PNL_GETHSYNCBACKPORCH) (void*); 165*53ee8cc1Swenshuai.xi typedef MS_U8 (*IOCTL_PNL_GETVSYNCBACKPORCH) (void*); 166*53ee8cc1Swenshuai.xi typedef MS_U8 (*IOCTL_PNL_GETLPLLTYPE) (void*); 167*53ee8cc1Swenshuai.xi typedef E_PNL_ASPECT_RATIO (*IOCTL_PNL_GETARC) (void*); 168*53ee8cc1Swenshuai.xi typedef MS_U32 (*IOCTL_PNL_GETMINSET) (void*); 169*53ee8cc1Swenshuai.xi typedef MS_U32 (*IOCTL_PNL_GETMAXSET) (void*); 170*53ee8cc1Swenshuai.xi typedef APIPNL_OUT_TIMING_MODE (*IOCTL_PNL_GETOUTTIMINGMODE) (void*); 171*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_CHECKVBY1HANDSHAKESTATUS) (void*); 172*53ee8cc1Swenshuai.xi typedef void (*IOCTL_PNL_SETVIDEOHWTRAINING) (void*, MS_BOOL); 173*53ee8cc1Swenshuai.xi typedef void (*IOCTL_PNL_SETOSDHWTRAINING) (void*, MS_BOOL); 174*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_GETVIDEOHWTRAINING) (void*); 175*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_PNL_GETOSDHWTRAINING) (void*); 176*53ee8cc1Swenshuai.xi typedef APIPNL_Result (*IOCTL_PNL_SETTING) (void* ,MS_U32 ,void* ,MS_U32); 177*53ee8cc1Swenshuai.xi 178*53ee8cc1Swenshuai.xi typedef struct __attribute__((packed)) 179*53ee8cc1Swenshuai.xi { 180*53ee8cc1Swenshuai.xi #ifdef UTOPIA_20 181*53ee8cc1Swenshuai.xi IOCTL_PNL_GETLIBVER fpPNL_GetLibVer; 182*53ee8cc1Swenshuai.xi IOCTL_PNL_GETINFO fpPNL_GetInfo; 183*53ee8cc1Swenshuai.xi IOCTL_PNL_GETSTATUS fpPNL_GetStatus; 184*53ee8cc1Swenshuai.xi IOCTL_PNL_GETSTATUSEX fpPNL_GetStatusEx; 185*53ee8cc1Swenshuai.xi IOCTL_PNL_SETDBGLEVEL fpPNL_SetDbgLevel; 186*53ee8cc1Swenshuai.xi IOCTL_PNL_IOMAPBASEINIT fpPNL_IOMapBaseInit; 187*53ee8cc1Swenshuai.xi IOCTL_PNL_PREINIT fpPNL_PreInit; 188*53ee8cc1Swenshuai.xi IOCTL_PNL_INIT fpPNL_Init; 189*53ee8cc1Swenshuai.xi IOCTL_PNL_INIT_EX fpPNL_Init_Ex; 190*53ee8cc1Swenshuai.xi IOCTL_PNL_GETCONFIG fpPNL_GetConfig; 191*53ee8cc1Swenshuai.xi IOCTL_PNL_SETOUTPUT fpPNL_SetOutput; 192*53ee8cc1Swenshuai.xi IOCTL_PNL_CHANGEPANELTYPE fpPNL_ChangePanelType; 193*53ee8cc1Swenshuai.xi IOCTL_PNL_TCONMAP_DUMPTABLE fpPNL_TCONMAP_DumpTable; 194*53ee8cc1Swenshuai.xi IOCTL_PNL_TCONMAP_POWRE_SEQUENCE fpPNL_TCONMAP_Power_Sequence; 195*53ee8cc1Swenshuai.xi IOCTL_PNL_TCON_COUNT_RESET fpPNL_TCON_Count_Reset; 196*53ee8cc1Swenshuai.xi IOCTL_PNL_TCON_INIT fpPNL_TCON_Init; 197*53ee8cc1Swenshuai.xi IOCTL_PNL_GETDSTINFO fpPNL_GetDstInfo; 198*53ee8cc1Swenshuai.xi IOCTL_PNL_CONTROL_OUT_SWING fpPNL_Control_Out_Swing; 199*53ee8cc1Swenshuai.xi IOCTL_PNL_SETOUTPUTPATTERN fpPNL_SetOutputPattern; 200*53ee8cc1Swenshuai.xi IOCTL_PNL_MOD_CALIBRATION_SETTING fpPNL_Mod_Calibration_Setting; 201*53ee8cc1Swenshuai.xi IOCTL_PNL_MOD_DO_CALIBRATION fpPNL_Mod_Do_Calibration; 202*53ee8cc1Swenshuai.xi IOCTL_PNL_BD_LVDS_OUTPUT_TYPE fpPNL_BD_LVDS_Output_Type; 203*53ee8cc1Swenshuai.xi IOCTL_PNL_SETLPLLTYPEEXT fpPNL_SetLPLLTypeExt; 204*53ee8cc1Swenshuai.xi IOCTL_PNL_INIT_MISC fpPNL_Init_MISC; 205*53ee8cc1Swenshuai.xi IOCTL_PNL_GET_MISC_STATUS fpPNL_Get_MISC_Status; 206*53ee8cc1Swenshuai.xi IOCTL_PNL_MOD_OUTPUTCONFIG_USER fpPNL_MOD_OutputConfig_User; 207*53ee8cc1Swenshuai.xi IOCTL_PNL_MOD_OUTPUTCHANNELORDER fpPNL_MOD_OutputChannelOrder; 208*53ee8cc1Swenshuai.xi IOCTL_PNL_HWLVDSRESERVEDTOLRFLAG fpPNL_HWLVDSReservedtoLRFlag; 209*53ee8cc1Swenshuai.xi IOCTL_PNL_MOD_PVDD_POWER_SETTING fpPNL_MOD_PVDD_Power_Setting; 210*53ee8cc1Swenshuai.xi IOCTL_PNL_SETSSC_EN fpPNL_SetSSC_En; 211*53ee8cc1Swenshuai.xi IOCTL_PNL_SETSSC_FMODULATION fpPNL_SetSSC_Fmodulation; 212*53ee8cc1Swenshuai.xi IOCTL_PNL_SETSSC_RDEVIATION fpPNL_SetSSC_Rdeviation; 213*53ee8cc1Swenshuai.xi IOCTL_PNL_SETOSDSSC_EN fpPNL_SetOSDSSC_En; 214*53ee8cc1Swenshuai.xi IOCTL_PNL_SETOSDSSC_FMODULATION fpPNL_SetOSDSSC_Fmodulation; 215*53ee8cc1Swenshuai.xi IOCTL_PNL_SETOSDSSC_RDEVIATION fpPNL_SetOSDSSC_Rdeviation; 216*53ee8cc1Swenshuai.xi IOCTL_PNL_SKIPTIMINGCHANGE fpPNL_SkipTimingChange; 217*53ee8cc1Swenshuai.xi IOCTL_PNL_PRE_SET_MODE_ON fpPNL_PreSetModeOn; 218*53ee8cc1Swenshuai.xi IOCTL_PNL_OVERDRIVER_INIT fpPNL_OverDriver_Init; 219*53ee8cc1Swenshuai.xi IOCTL_PNL_OVERDRIVER_ENABLE fpPNL_OverDriver_Enable; 220*53ee8cc1Swenshuai.xi IOCTL_PNL_GET_LPLL_TYPE fpPNL_Get_LPLL_Type; 221*53ee8cc1Swenshuai.xi IOCTL_PNL_GET_TCON_CAPABILITY fpPNL_Get_TCON_Capability; 222*53ee8cc1Swenshuai.xi IOCTL_PNL_SETPAIRSWAP fpPNL_SetPairSwap; 223*53ee8cc1Swenshuai.xi IOCTL_PNL_SET_EXT_LPLL_TYPE fpPNL_SetExt_LPLL_Type; 224*53ee8cc1Swenshuai.xi IOCTL_PNL_CALEXTLPLLSETBYDClk fpPNL_CalExtLPLLSETbyDClk; 225*53ee8cc1Swenshuai.xi IOCTL_PNL_SETDIFFSWINGLEVEL fpPNL_SetDiffSwingLevel; 226*53ee8cc1Swenshuai.xi IOCTL_PNL_SETPOWERSTATE fpPNL_SetPowerState; 227*53ee8cc1Swenshuai.xi IOCTL_PNL_FORCESETPANELDCLK fpPNL_ForceSetPanelDCLK; 228*53ee8cc1Swenshuai.xi IOCTL_PNL_FORCESETPANELHSTART fpPNL_ForceSetPanelHStart; 229*53ee8cc1Swenshuai.xi IOCTL_PNL_EABLEINTERNALTERMINATION fpPNL_EnableInternalTermination; 230*53ee8cc1Swenshuai.xi IOCTL_PNL_OUTPUTDEVICEHANDSHAKE fpPNL_OutputDeviceHandshake; 231*53ee8cc1Swenshuai.xi IOCTL_PNL_OUTPUTDEVICEOCHANDSHAKE fpPNL_OutputDeviceOCHandshake; 232*53ee8cc1Swenshuai.xi IOCTL_PNL_SETOUTPUTINTERLACETIMING fpPNL_SetOutputInterlaceTiming; 233*53ee8cc1Swenshuai.xi IOCTL_PNL_GETOUTPUTINTERLACETIMING fpPNL_GetOutputInterlaceTiming; 234*53ee8cc1Swenshuai.xi IOCTL_PNL_GETPANELDATA fpPNL_GetPanelData; 235*53ee8cc1Swenshuai.xi IOCTL_PNL_DUMPPANELDATA fpPNL_DumpPanelData; 236*53ee8cc1Swenshuai.xi IOCTL_PNL_SETSSC fpPNL_SetSSC; 237*53ee8cc1Swenshuai.xi IOCTL_PNL_GETPANELONTIMING fpPNL_GetPanelOnTiming; 238*53ee8cc1Swenshuai.xi IOCTL_PNL_GETPANELOFFTIMING fpPNL_GetPanelOffTiming; 239*53ee8cc1Swenshuai.xi IOCTL_PNL_GETPANELDIMCTRL fpPNL_GetPanelDimCtrl; 240*53ee8cc1Swenshuai.xi IOCTL_PNL_GETALLGAMMATBL fpPNL_GetAllGammaTbl; 241*53ee8cc1Swenshuai.xi IOCTL_PNL_ENABLEPANEL fpPNL_EnablePanel; 242*53ee8cc1Swenshuai.xi IOCTL_PNL_SETGAMMATBL fpPNL_SetGammaTbl; 243*53ee8cc1Swenshuai.xi IOCTL_PNL_GETGAMMATBL fpPNL_GetGammaTbl; 244*53ee8cc1Swenshuai.xi IOCTL_PNL_SETGAMMAVALUE fpPNL_SetGammaValue; 245*53ee8cc1Swenshuai.xi IOCTL_PNL_GETLPLLMODE fpPNL_GetLPLLMode; 246*53ee8cc1Swenshuai.xi IOCTL_PNL_GETDEFVFREQ fpPNL_GetDefVFreq; 247*53ee8cc1Swenshuai.xi IOCTL_PNL_GETPANELNAME fpPNL_GetPanelName; 248*53ee8cc1Swenshuai.xi IOCTL_PNL_GETHSTART fpPNL_GetHStart; 249*53ee8cc1Swenshuai.xi IOCTL_PNL_GETVSTART fpPNL_GetVStart; 250*53ee8cc1Swenshuai.xi IOCTL_PNL_GETWIDTH fpPNL_GetWidth; 251*53ee8cc1Swenshuai.xi IOCTL_PNL_GETHEIGHT fpPNL_GetHeight; 252*53ee8cc1Swenshuai.xi IOCTL_PNL_GETHTOTAL fpPNL_GetHtotal; 253*53ee8cc1Swenshuai.xi IOCTL_PNL_GETVTOTAL fpPNL_GetVtotal; 254*53ee8cc1Swenshuai.xi IOCTL_PNL_GETHSYNCWIDTH fpPNL_GetHsyncwidth; 255*53ee8cc1Swenshuai.xi IOCTL_PNL_GETHSYNCBACKPORCH fpPNL_GetHsyncBackPorch; 256*53ee8cc1Swenshuai.xi IOCTL_PNL_GETVSYNCBACKPORCH fpPNL_GetVsyncBackPorch; 257*53ee8cc1Swenshuai.xi IOCTL_PNL_GETLPLLTYPE fpPNL_GetLPLLType; 258*53ee8cc1Swenshuai.xi IOCTL_PNL_GETARC fpPNL_GetARC; 259*53ee8cc1Swenshuai.xi IOCTL_PNL_GETMINSET fpPNL_GetMinSET; 260*53ee8cc1Swenshuai.xi IOCTL_PNL_GETMAXSET fpPNL_GetMaxSET; 261*53ee8cc1Swenshuai.xi IOCTL_PNL_GETOUTTIMINGMODE fpPNL_GetOutTimingMode; 262*53ee8cc1Swenshuai.xi IOCTL_PNL_CHECKVBY1HANDSHAKESTATUS fpPNL_CheckVBY1HandshakeStatus; 263*53ee8cc1Swenshuai.xi IOCTL_PNL_SETVIDEOHWTRAINING fpPNL_SetVideoHWTraining; 264*53ee8cc1Swenshuai.xi IOCTL_PNL_SETOSDHWTRAINING fpPNL_SetOSDHWTraining; 265*53ee8cc1Swenshuai.xi IOCTL_PNL_GETVIDEOHWTRAINING fpPNL_GetVideoHWTraining_Status; 266*53ee8cc1Swenshuai.xi IOCTL_PNL_GETOSDHWTRAINING fpPNL_GetOSDHWTraining_Status; 267*53ee8cc1Swenshuai.xi IOCTL_PNL_SETTING fpPNL_Setting; 268*53ee8cc1Swenshuai.xi #endif 269*53ee8cc1Swenshuai.xi // Device ID 270*53ee8cc1Swenshuai.xi MS_U32 u32DeviceID; 271*53ee8cc1Swenshuai.xi }PNL_INSTANCE_PRIVATE; 272*53ee8cc1Swenshuai.xi 273*53ee8cc1Swenshuai.xi // apiPNL.c 274*53ee8cc1Swenshuai.xi #define GammaTblSize 386 275*53ee8cc1Swenshuai.xi typedef struct __attribute__((packed)) 276*53ee8cc1Swenshuai.xi { 277*53ee8cc1Swenshuai.xi PanelType _stPanelTypeSaved; 278*53ee8cc1Swenshuai.xi MS_U8 **m_ppAllGammaTbls; 279*53ee8cc1Swenshuai.xi #if !defined (__aarch64__) 280*53ee8cc1Swenshuai.xi MS_U32 u32AlignmentDummy0; 281*53ee8cc1Swenshuai.xi #endif 282*53ee8cc1Swenshuai.xi APIPNL_GAMMA_TYPE _eGammaType; 283*53ee8cc1Swenshuai.xi APIPNL_GAMMA_MAPPEING_MODE _eGammaMapMode; 284*53ee8cc1Swenshuai.xi MS_U8 _pu8GammaTab[3][GammaTblSize]; 285*53ee8cc1Swenshuai.xi MS_BOOL _bSkipTimingChange; 286*53ee8cc1Swenshuai.xi 287*53ee8cc1Swenshuai.xi // Library info 288*53ee8cc1Swenshuai.xi PNL_ApiInfo _cstPnlInfo; 289*53ee8cc1Swenshuai.xi PNL_ApiStatus _stPnlStatus; 290*53ee8cc1Swenshuai.xi 291*53ee8cc1Swenshuai.xi MS_U16 _u16PanelDCLK; 292*53ee8cc1Swenshuai.xi MS_BOOL _bForceSetDCLKEnable; 293*53ee8cc1Swenshuai.xi 294*53ee8cc1Swenshuai.xi MS_U16 _u16PanelHStart; 295*53ee8cc1Swenshuai.xi MS_BOOL _bForceSetHStartEnable; 296*53ee8cc1Swenshuai.xi 297*53ee8cc1Swenshuai.xi // MApi_PNL_SetPowerState() 298*53ee8cc1Swenshuai.xi EN_POWER_MODE ePrevPowerState; 299*53ee8cc1Swenshuai.xi } ST_APIPNL; 300*53ee8cc1Swenshuai.xi 301*53ee8cc1Swenshuai.xi // drvPNL.h 302*53ee8cc1Swenshuai.xi typedef struct __attribute__((packed)) 303*53ee8cc1Swenshuai.xi { 304*53ee8cc1Swenshuai.xi PNL_InitData _stPnlInitData; 305*53ee8cc1Swenshuai.xi MS_BOOL g_bDrvPnl_UseTConTable_Mod; 306*53ee8cc1Swenshuai.xi } ST_DRVPNL; 307*53ee8cc1Swenshuai.xi 308*53ee8cc1Swenshuai.xi // halPNL.c 309*53ee8cc1Swenshuai.xi typedef struct __attribute__((packed)) 310*53ee8cc1Swenshuai.xi { 311*53ee8cc1Swenshuai.xi // Output swing = 150mV + Code * 10mV. 312*53ee8cc1Swenshuai.xi // Designer recommand value. 0x15 = 21 = 250mv 313*53ee8cc1Swenshuai.xi MS_U16 _u16PnlDefault_SwingLevel; 314*53ee8cc1Swenshuai.xi PNL_OUTPUT_MODE _eDrvPnlInitOptions; 315*53ee8cc1Swenshuai.xi MS_U8 _u8MOD_CALI_TARGET; ///< MOD_REG(0x7D),[10:9]00: 250mV ,01: 350mV ,10:300mV ,11:200mV 316*53ee8cc1Swenshuai.xi MS_U8 _u8MOD_CALI_PAIR_SEL; ///< MOD_REG(0x7D)[3:2]00: ch2, 01:ch6, 10:ch8, 11:ch12 317*53ee8cc1Swenshuai.xi 318*53ee8cc1Swenshuai.xi MS_S8 _usMOD_CALI_OFFSET; ///< MOD_REG(0x7D),[5:0]+ _usMOD_CALI_OFFSET 319*53ee8cc1Swenshuai.xi MS_U8 _u8MOD_CALI_VALUE; /// Final value 320*53ee8cc1Swenshuai.xi 321*53ee8cc1Swenshuai.xi MS_U8 _u8MOD_LVDS_Pair_Shift; ///< 0:default setting, LVDS pair Shift 322*53ee8cc1Swenshuai.xi MS_U8 _u8MOD_LVDS_Pair_Type; ///< 0:default setting, LVDS data differential pair 323*53ee8cc1Swenshuai.xi MS_U8 _u8PnlDiffSwingLevel; 324*53ee8cc1Swenshuai.xi MS_BOOL _bPVDD_2V5; 325*53ee8cc1Swenshuai.xi } ST_HALPNL; 326*53ee8cc1Swenshuai.xi 327*53ee8cc1Swenshuai.xi typedef struct __attribute__((packed)) 328*53ee8cc1Swenshuai.xi { 329*53ee8cc1Swenshuai.xi MSIF_Version _api_pnl_version_sel ; 330*53ee8cc1Swenshuai.xi MS_BOOL bResourceRegistered; 331*53ee8cc1Swenshuai.xi 332*53ee8cc1Swenshuai.xi ST_APIPNL stapiPNL; 333*53ee8cc1Swenshuai.xi ST_DRVPNL stdrvPNL; 334*53ee8cc1Swenshuai.xi ST_HALPNL sthalPNL; 335*53ee8cc1Swenshuai.xi }PNL_RESOURCE_PRIVATE; 336*53ee8cc1Swenshuai.xi typedef struct 337*53ee8cc1Swenshuai.xi { 338*53ee8cc1Swenshuai.xi MS_U16 BD_LVDS_Output_Type; 339*53ee8cc1Swenshuai.xi PanelType pSelPanelType; 340*53ee8cc1Swenshuai.xi }PNL_REGS_SAVE_AREA; 341*53ee8cc1Swenshuai.xi APIPNL_Result MApi_PNL_GetLibVer_U2(void* pInstance, const MSIF_Version **ppVersion); 342*53ee8cc1Swenshuai.xi const PNL_ApiInfo* MApi_PNL_GetInfo_U2(void *pInstance); 343*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_GetStatus_U2(void *pInstance, PNL_ApiStatus *pPnlStatus); 344*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_GetStatusEx_U2(void *pInstance, PNL_ApiExtStatus *pPnlExtStatus); 345*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_SetDbgLevel_U2(void *pInstance, MS_U16 u16DbgSwitch); 346*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_IOMapBaseInit_U2(void *pInstance); 347*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_PreInit_U2(void *pInstance, E_PNL_PREINIT_OPTIONS eInitParam); 348*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_Init_U2(void *pInstance, PanelType *pSelPanelType/* <in > */); 349*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_Init_Ex_U2(void *pInstance, PanelType *pSelPanelType/* <in > */, MSIF_Version LIBVER); 350*53ee8cc1Swenshuai.xi APIPNL_Result MApi_PNL_GetConfig_U2(void *pInstance, PanelType *pSelPanelType); 351*53ee8cc1Swenshuai.xi void MApi_PNL_SetOutput_U2(void *pInstance, APIPNL_OUTPUT_MODE eOutputMode); 352*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_ChangePanelType_U2(void *pInstance, PanelType *pSelPanelType); 353*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_TCONMAP_DumpTable_U2(void *pInstance, MS_U8 *pTCONTable, MS_U8 u8Tcontype); 354*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_TCONMAP_Power_Sequence_U2(void *pInstance, MS_U8 *pTCONTable, MS_BOOL bEnable); 355*53ee8cc1Swenshuai.xi void MApi_PNL_TCON_Count_Reset_U2 (void *pInstance, MS_BOOL bEnable ); 356*53ee8cc1Swenshuai.xi void MApi_PNL_TCON_Init_U2(void *pInstance); 357*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_GetDstInfo_U2(void *pInstance, MS_PNL_DST_DispInfo *pDstInfo, MS_U32 u32SizeofDstInfo); 358*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_Control_Out_Swing_U2(void *pInstance, MS_U16 u16Swing_Level); 359*53ee8cc1Swenshuai.xi void MApi_PNL_SetOutputPattern_U2(void *pInstance, MS_BOOL bEnable, MS_U16 u16Red , MS_U16 u16Green, MS_U16 u16Blue); 360*53ee8cc1Swenshuai.xi MS_BOOL MApi_Mod_Calibration_Setting_U2(void *pInstance, MS_PNL_ModCaliInfo *pstModCaliInfo); 361*53ee8cc1Swenshuai.xi MS_BOOL MApi_Mod_Do_Calibration_U2(void *pInstance); 362*53ee8cc1Swenshuai.xi void MApi_BD_LVDS_Output_Type_U2(void *pInstance, MS_U16 Type); 363*53ee8cc1Swenshuai.xi void MApi_PNL_SetLPLLTypeExt_U2(void *pInstance, APIPNL_LINK_EXT_TYPE eLPLL_TypeExt); 364*53ee8cc1Swenshuai.xi void MApi_PNL_Init_MISC_U2(void *pInstance, APIPNL_MISC ePNL_MISC); 365*53ee8cc1Swenshuai.xi MS_U32 MApi_PNL_GetMiscStatus_U2(void* pInstance); 366*53ee8cc1Swenshuai.xi void MApi_PNL_MOD_OutputConfig_User_U2(void *pInstance, MS_U32 u32OutputCFG0_7, MS_U32 u32OutputCFG8_15, MS_U32 u32OutputCFG16_21); 367*53ee8cc1Swenshuai.xi void MApi_PNL_MOD_OutputChannelOrder_U2(void* pInstance, 368*53ee8cc1Swenshuai.xi MS_U8 u8OutputOrderType, 369*53ee8cc1Swenshuai.xi MS_U16 u16OutputOrder0_3, 370*53ee8cc1Swenshuai.xi MS_U16 u16OutputOrder4_7, 371*53ee8cc1Swenshuai.xi MS_U16 u16OutputOrder8_11, 372*53ee8cc1Swenshuai.xi MS_U16 u16OutputOrder12_13); 373*53ee8cc1Swenshuai.xi void MApi_PNL_HWLVDSReservedtoLRFlag_U2(void *pInstance, MS_PNL_HW_LVDSResInfo lvdsresinfo); 374*53ee8cc1Swenshuai.xi void MApi_MOD_PVDD_Power_Setting_U2(void *pInstance, MS_BOOL bIs2p5); 375*53ee8cc1Swenshuai.xi APIPNL_Result MApi_PNL_SetSSC_En_U2(void *pInstance, MS_BOOL bEnable); 376*53ee8cc1Swenshuai.xi APIPNL_Result MApi_PNL_SetSSC_Fmodulation_U2(void *pInstance, MS_U16 u16Fmodulation); 377*53ee8cc1Swenshuai.xi APIPNL_Result MApi_PNL_SetSSC_Rdeviation_U2(void *pInstance, MS_U16 u16Rdeviation); 378*53ee8cc1Swenshuai.xi APIPNL_Result MApi_PNL_SetOSDSSC_En_U2(void *pInstance, MS_BOOL bEnable); 379*53ee8cc1Swenshuai.xi APIPNL_Result MApi_PNL_SetOSDSSC_Fmodulation_U2(void *pInstance, MS_U16 u16Fmodulation); 380*53ee8cc1Swenshuai.xi APIPNL_Result MApi_PNL_SetOSDSSC_Rdeviation_U2(void *pInstance, MS_U16 u16Rdeviation); 381*53ee8cc1Swenshuai.xi APIPNL_Result MApi_PNL_SkipTimingChange_U2(void *pInstance, MS_BOOL bFlag); 382*53ee8cc1Swenshuai.xi APIPNL_Result MApi_PNL_PreSetModeOn_U2(void *pInstance, MS_BOOL bSetMode); 383*53ee8cc1Swenshuai.xi APIPNL_Result MApi_PNL_OverDriver_Init_U2(void *pInstance, MS_PNL_OD_INITDATA *pPNL_ODInitData, MS_U32 u32ODInitDataLen); 384*53ee8cc1Swenshuai.xi APIPNL_Result MApi_PNL_OverDriver_Enable_U2(void *pInstance, MS_BOOL bEnable); 385*53ee8cc1Swenshuai.xi MS_U8 MApi_Pnl_Get_LPLL_Type_U2(void *pInstance); 386*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_Get_TCON_Capability_U2(void *pInstance); 387*53ee8cc1Swenshuai.xi void MApi_PNL_SetPairSwap_U2(void *pInstance, MS_U32 u32Polarity); 388*53ee8cc1Swenshuai.xi void MApi_PNL_SetExt_LPLL_Type_U2(void *pInstance, MS_U16 u16Ext_lpll_type); 389*53ee8cc1Swenshuai.xi void MApi_PNL_CalExtLPLLSETbyDClk_U2(void *pInstance, MS_U32 ldHz); 390*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_SetDiffSwingLevel_U2(void *pInstance, MS_U8 u8Swing_Level); 391*53ee8cc1Swenshuai.xi MS_U32 MApi_PNL_SetPowerState_U2(void *pInstance, EN_POWER_MODE); 392*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_ForceSetPanelDCLK_U2(void *pInstance, MS_U16 u16PanelDCLK, MS_BOOL bSetDCLKEnable); 393*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_ForceSetPanelHStart_U2(void *pInstance, MS_U16 u16PanelHStart ,MS_BOOL bSetHStartEnable); 394*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_EnableInternalTermination_U2(void *pInstance, MS_BOOL bEnable); 395*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_OutputDeviceHandshake_U2(void *pInstance); 396*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_OutputDeviceOCHandshake_U2(void *pInstance); 397*53ee8cc1Swenshuai.xi APIPNL_Result MApi_PNL_SetOutputInterlaceTiming_U2(void* pInstance, MS_BOOL bEnable); 398*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_GetOutputInterlaceTiming_U2(void *pInstance); 399*53ee8cc1Swenshuai.xi void MApi_PNL_GetPanelData_U2(void* pInstance, PanelType* pstPNLData); 400*53ee8cc1Swenshuai.xi void MApi_PNL_DumpPanelData_U2(void* pInstance); 401*53ee8cc1Swenshuai.xi void MApi_PNL_SetSSC_U2(void* pInstance, MS_U16 u16Fmodulation, MS_U16 u16Rdeviation, MS_BOOL bEnable); 402*53ee8cc1Swenshuai.xi MS_U16 MApi_PNL_GetPanelOnTiming_U2(void* pInstance, APIPNL_POWER_TIMING_SEQ seq); 403*53ee8cc1Swenshuai.xi MS_U16 MApi_PNL_GetPanelOffTiming_U2(void* pInstance, APIPNL_POWER_TIMING_SEQ seq); 404*53ee8cc1Swenshuai.xi MS_U8 MApi_PNL_GetPanelDimCtrl_U2(void* pInstance, APIPNL_DIMMING_CTRL dim_type); 405*53ee8cc1Swenshuai.xi MS_U8** MApi_PNL_GetAllGammaTbl_U2(void* pInstance); 406*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_EnablePanel_U2(void* pInstance, MS_BOOL bPanelOn); 407*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_SetGammaTbl_U2(void* pInstance, APIPNL_GAMMA_TYPE eGammaType, MS_U8* pu8GammaTab[3], APIPNL_GAMMA_MAPPEING_MODE Gamma_Map_Mode); 408*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_GetGammaTbl_U2(void* pInstance, APIPNL_GAMMA_TYPE eGammaType, MS_U8* pu8GammaTab[3], APIPNL_GAMMA_MAPPEING_MODE Gamma_Map_Mode); 409*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_SetGammaValue_U2(void* pInstance, MS_U8 u8Channel, MS_U16 u16Offset, MS_U16 u16GammaValue); 410*53ee8cc1Swenshuai.xi MS_U8 MApi_PNL_GetLPLLMode_U2(void *pInstance); 411*53ee8cc1Swenshuai.xi MS_U16 MApi_PNL_GetDefVFreq_U2(void *pInstance); 412*53ee8cc1Swenshuai.xi const char* MApi_PNL_GetName_U2(void *pInstance); 413*53ee8cc1Swenshuai.xi MS_U16 MAPI_PNL_GetPNLHstart_U2(void *pInstance); 414*53ee8cc1Swenshuai.xi MS_U16 MAPI_PNL_GetPNLVstart_U2(void *pInstance); 415*53ee8cc1Swenshuai.xi MS_U16 MAPI_PNL_GetPNLWidth_U2(void *pInstance); 416*53ee8cc1Swenshuai.xi MS_U16 MAPI_PNL_GetPNLHeight_U2(void *pInstance); 417*53ee8cc1Swenshuai.xi MS_U16 MAPI_PNL_GetPNLHtotal_U2(void *pInstance); 418*53ee8cc1Swenshuai.xi MS_U16 MAPI_PNL_GetPNLVtotal_U2(void *pInstance); 419*53ee8cc1Swenshuai.xi MS_U8 MAPI_PNL_GetPNLHsyncWidth_U2(void *pInstance); 420*53ee8cc1Swenshuai.xi MS_U8 MAPI_PNL_GetPNLHsyncBackPorch_U2(void *pInstance); 421*53ee8cc1Swenshuai.xi MS_U8 MAPI_PNL_GetPNLVsyncBackPorch_U2(void *pInstance); 422*53ee8cc1Swenshuai.xi MS_U8 MApi_PNL_GetLPLLType_U2(void *pInstance); 423*53ee8cc1Swenshuai.xi E_PNL_ASPECT_RATIO MApi_PNL_GetARC_U2(void *pInstance); 424*53ee8cc1Swenshuai.xi MS_U32 MApi_PNL_GetMinSET_U2(void *pInstance); 425*53ee8cc1Swenshuai.xi MS_U32 MApi_PNL_GetMaxSET_U2(void *pInstance); 426*53ee8cc1Swenshuai.xi APIPNL_OUT_TIMING_MODE MApi_PNL_GetOutTimingMode_U2(void *pInstance); 427*53ee8cc1Swenshuai.xi void MApi_PNL_SetVideoHWTraining_U2(void *pInstance, MS_BOOL bEnable); 428*53ee8cc1Swenshuai.xi void MApi_PNL_SetOSDHWTraining_U2(void *pInstance, MS_BOOL bEnable); 429*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_GetVideoHWTraining_Status_U2(void *pInstance); 430*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_GetOSDHWTraining_Status_U2(void *pInstance); 431*53ee8cc1Swenshuai.xi APIPNL_Result MApi_PNL_Setting_U2(void* pInstance,MS_U32 u32Cmd,void *pCmdArgs,MS_U32 u32CmdArgsSize); 432*53ee8cc1Swenshuai.xi 433*53ee8cc1Swenshuai.xi 434*53ee8cc1Swenshuai.xi void PNLRegisterToUtopia(FUtopiaOpen ModuleType); 435*53ee8cc1Swenshuai.xi MS_U32 PNLOpen(void** ppInstance, const void* const pAttribute); 436*53ee8cc1Swenshuai.xi MS_U32 PNLClose(void* pInstance); 437*53ee8cc1Swenshuai.xi MS_U32 PNLIoctl(void* pInstance, MS_U32 u32Cmd, void* pArgs); 438*53ee8cc1Swenshuai.xi 439*53ee8cc1Swenshuai.xi //internal use only 440*53ee8cc1Swenshuai.xi MS_U32 _XC_PNL_GET_DEVICE_NUM(void); 441*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_Check_VBY1_Handshake_Status_U2(void *pInstance); 442*53ee8cc1Swenshuai.xi 443*53ee8cc1Swenshuai.xi #ifdef __cplusplus 444*53ee8cc1Swenshuai.xi } 445*53ee8cc1Swenshuai.xi #endif 446*53ee8cc1Swenshuai.xi 447*53ee8cc1Swenshuai.xi #undef _API_PNL_PRIV_H_ 448*53ee8cc1Swenshuai.xi #endif // _API_PNL_PRIV_H_ 449