xref: /utopia/UTPA2-700.0.x/modules/xc/drv/xc/mvideo_context.c (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 //<MStar Software>
78*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////////////////////////////
79*53ee8cc1Swenshuai.xi //
80*53ee8cc1Swenshuai.xi // Copyright (c) 2008-2009 MStar Semiconductor, Inc.
81*53ee8cc1Swenshuai.xi // All rights reserved.
82*53ee8cc1Swenshuai.xi //
83*53ee8cc1Swenshuai.xi // Unless otherwise stipulated in writing, any and all information contained
84*53ee8cc1Swenshuai.xi // herein regardless in any format shall remain the sole proprietary of
85*53ee8cc1Swenshuai.xi // MStar Semiconductor Inc. and be kept in strict confidence
86*53ee8cc1Swenshuai.xi // ("MStar Confidential Information") by the recipient.
87*53ee8cc1Swenshuai.xi // Any unauthorized act including without limitation unauthorized disclosure,
88*53ee8cc1Swenshuai.xi // copying, use, reproduction, sale, distribution, modification, disassembling,
89*53ee8cc1Swenshuai.xi // reverse engineering and compiling of the contents of MStar Confidential
90*53ee8cc1Swenshuai.xi // Information is unlawful and strictly prohibited. MStar hereby reserves the
91*53ee8cc1Swenshuai.xi // rights to any and all damages, losses, costs and expenses resulting therefrom.
92*53ee8cc1Swenshuai.xi //
93*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////////////////////////////
94*53ee8cc1Swenshuai.xi 
95*53ee8cc1Swenshuai.xi ///////////////////////////////////////////////////////////////////////////////////////////////////
96*53ee8cc1Swenshuai.xi /// file    Mvideo_context.c
97*53ee8cc1Swenshuai.xi /// @brief  TEMP Driver Interface
98*53ee8cc1Swenshuai.xi /// @author MStar Semiconductor Inc.
99*53ee8cc1Swenshuai.xi ///////////////////////////////////////////////////////////////////////////////////////////////////
100*53ee8cc1Swenshuai.xi #define  MVIDEO_CONTEXT_C
101*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
102*53ee8cc1Swenshuai.xi //  Include Files
103*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
104*53ee8cc1Swenshuai.xi // Common Definition
105*53ee8cc1Swenshuai.xi #include "MsCommon.h"
106*53ee8cc1Swenshuai.xi #include "MsOS.h"
107*53ee8cc1Swenshuai.xi #include "mhal_xc_chip_config.h"
108*53ee8cc1Swenshuai.xi #include "utopia.h"
109*53ee8cc1Swenshuai.xi #include "utopia_dapi.h"
110*53ee8cc1Swenshuai.xi 
111*53ee8cc1Swenshuai.xi // Internal Definition
112*53ee8cc1Swenshuai.xi #ifdef MSOS_TYPE_LINUX_KERNEL
113*53ee8cc1Swenshuai.xi #include <linux/string.h>
114*53ee8cc1Swenshuai.xi #else
115*53ee8cc1Swenshuai.xi #include <string.h>
116*53ee8cc1Swenshuai.xi #endif
117*53ee8cc1Swenshuai.xi 
118*53ee8cc1Swenshuai.xi #ifndef MSOS_TYPE_NOS
119*53ee8cc1Swenshuai.xi #define _GNU_SOURCE // need this _GNU_SOURCE because we need to check tid by "syscall"
120*53ee8cc1Swenshuai.xi //#include <unistd.h>
121*53ee8cc1Swenshuai.xi //#include <sys/syscall.h>  // remove for ecos project
122*53ee8cc1Swenshuai.xi //#include <sys/types.h>
123*53ee8cc1Swenshuai.xi #endif
124*53ee8cc1Swenshuai.xi 
125*53ee8cc1Swenshuai.xi #include "drvXC_IOPort.h"
126*53ee8cc1Swenshuai.xi #include "apiXC.h"
127*53ee8cc1Swenshuai.xi #include "apiXC_Adc.h"
128*53ee8cc1Swenshuai.xi #include "apiXC_Auto.h"
129*53ee8cc1Swenshuai.xi #include "drv_sc_display.h"
130*53ee8cc1Swenshuai.xi #include "drv_sc_isr.h"
131*53ee8cc1Swenshuai.xi #include "apiXC_PCMonitor.h"
132*53ee8cc1Swenshuai.xi #include "apiXC_ModeParse.h"
133*53ee8cc1Swenshuai.xi #include "drvXC_HDMI_if.h"
134*53ee8cc1Swenshuai.xi #include "mvideo_context.h"
135*53ee8cc1Swenshuai.xi #include "drv_sc_ip.h"
136*53ee8cc1Swenshuai.xi #if (LD_ENABLE==1)
137*53ee8cc1Swenshuai.xi #include "mdrv_ld.h"
138*53ee8cc1Swenshuai.xi #include "mdrv_ldalgo.h"
139*53ee8cc1Swenshuai.xi #endif
140*53ee8cc1Swenshuai.xi #include "mdrv_sc_3d.h"
141*53ee8cc1Swenshuai.xi #include "drv_sc_menuload.h"
142*53ee8cc1Swenshuai.xi #include "drvXC_ADC_Internal.h"
143*53ee8cc1Swenshuai.xi #include "mhal_sc.h"
144*53ee8cc1Swenshuai.xi #if FRC_INSIDE
145*53ee8cc1Swenshuai.xi #include "mdrv_frc.h"
146*53ee8cc1Swenshuai.xi #include "mhal_frc.h"
147*53ee8cc1Swenshuai.xi #endif
148*53ee8cc1Swenshuai.xi #include "XC_private.h"
149*53ee8cc1Swenshuai.xi #include "apiXC_v2.h"
150*53ee8cc1Swenshuai.xi #include "apiXC_DWIN.h"
151*53ee8cc1Swenshuai.xi #include "drv_sc_scaling.h"
152*53ee8cc1Swenshuai.xi #include "drv_sc_DIP_scaling.h"
153*53ee8cc1Swenshuai.xi #include "xc_hwreg_utility2.h"
154*53ee8cc1Swenshuai.xi #include "xc_Analog_Reg.h"
155*53ee8cc1Swenshuai.xi #include "mhal_hdmi.h"
156*53ee8cc1Swenshuai.xi #include "mhal_ip.h"
157*53ee8cc1Swenshuai.xi #include "mhal_dip.h"
158*53ee8cc1Swenshuai.xi #include "drvXC_HDMI_Internal.h"
159*53ee8cc1Swenshuai.xi #include "mhal_dynamicscaling.h"
160*53ee8cc1Swenshuai.xi #include "drvMVOP.h"
161*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
162*53ee8cc1Swenshuai.xi //  Driver Compiler Options
163*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
164*53ee8cc1Swenshuai.xi #define MSXC_WR_DBG(x)  //x
165*53ee8cc1Swenshuai.xi #define SC_3D_DBG(x)    //x
166*53ee8cc1Swenshuai.xi #define SeamlessZapping_DBG 0
167*53ee8cc1Swenshuai.xi 
168*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
169*53ee8cc1Swenshuai.xi //  Local Defines
170*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
171*53ee8cc1Swenshuai.xi 
172*53ee8cc1Swenshuai.xi 
173*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
174*53ee8cc1Swenshuai.xi //  Local Structurs
175*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
176*53ee8cc1Swenshuai.xi 
177*53ee8cc1Swenshuai.xi 
178*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
179*53ee8cc1Swenshuai.xi //  Global Variables
180*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
181*53ee8cc1Swenshuai.xi 
182*53ee8cc1Swenshuai.xi 
183*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
184*53ee8cc1Swenshuai.xi //  Local Variables
185*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
186*53ee8cc1Swenshuai.xi MS_U8 SC_VBuf[32] =  {
187*53ee8cc1Swenshuai.xi     'M','S','V','C','0','0',                //0,0 fixed
188*53ee8cc1Swenshuai.xi     'S','3',                                //LIB ID
189*53ee8cc1Swenshuai.xi     '0','0',                                //Interface
190*53ee8cc1Swenshuai.xi     '0','0','0','0',                        //Build number
191*53ee8cc1Swenshuai.xi     '0','0','0','0','0','0','0','0',        // Change List
192*53ee8cc1Swenshuai.xi     'A','E','0','0','0','0','0','0','0',    // AE:Saturn4LE  0: MStar Trunk
193*53ee8cc1Swenshuai.xi     'T'                                     // check sum
194*53ee8cc1Swenshuai.xi };
195*53ee8cc1Swenshuai.xi 
196*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
197*53ee8cc1Swenshuai.xi //  Debug Functions
198*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
199*53ee8cc1Swenshuai.xi 
200*53ee8cc1Swenshuai.xi 
201*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
202*53ee8cc1Swenshuai.xi //  Local Functions
203*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
204*53ee8cc1Swenshuai.xi 
205*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
206*53ee8cc1Swenshuai.xi //  Global Functions
207*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
208*53ee8cc1Swenshuai.xi MS_U16 MDrv_SC_Cal_FRC_Output_Vfreq(void *pInsatnce, MS_U16 u16InputVFreq,
209*53ee8cc1Swenshuai.xi                              MS_U16 u16DefaultVFreq,
210*53ee8cc1Swenshuai.xi                              MS_BOOL bFBL,
211*53ee8cc1Swenshuai.xi                              MS_U8 *u8FrcIn,
212*53ee8cc1Swenshuai.xi                              MS_U8 *u8FrcOut,
213*53ee8cc1Swenshuai.xi                              MS_BOOL *bSetFrameLock,
214*53ee8cc1Swenshuai.xi                              MS_U8 u8Lpll_bank,
215*53ee8cc1Swenshuai.xi                              SCALER_WIN eWin);
216*53ee8cc1Swenshuai.xi 
217*53ee8cc1Swenshuai.xi 
218*53ee8cc1Swenshuai.xi extern PQ_Function_Info    s_PQ_Function_Info[MAX_XC_DEVICE_NUM];
219*53ee8cc1Swenshuai.xi void MApi_PNL_CalExtLPLLSETbyDClk(MS_U32 ldHz);
220*53ee8cc1Swenshuai.xi void MApi_PNL_SetExt_LPLL_Type(MS_U16 u16Ext_lpll_type);
221*53ee8cc1Swenshuai.xi MS_BOOL MApi_PNL_GetOSDHWTraining_Status(void *pInstance);
222*53ee8cc1Swenshuai.xi //==============================================================================
223*53ee8cc1Swenshuai.xi //==============================================================================
MDrv_XC_SetDeviceOffset(void * pInstance)224*53ee8cc1Swenshuai.xi void MDrv_XC_SetDeviceOffset(void *pInstance)
225*53ee8cc1Swenshuai.xi {
226*53ee8cc1Swenshuai.xi     MS_U8 i;
227*53ee8cc1Swenshuai.xi     MS_U32 u32Offset;
228*53ee8cc1Swenshuai.xi     _XC_ENTRY(pInstance);
229*53ee8cc1Swenshuai.xi 
230*53ee8cc1Swenshuai.xi     for(i = 0; i < MAX_XC_DEVICE_NUM; i++)
231*53ee8cc1Swenshuai.xi     {
232*53ee8cc1Swenshuai.xi         u32Offset = Hal_SC_Get_Device_Offset(i);
233*53ee8cc1Swenshuai.xi         _XC_Device_Offset[i] = u32Offset;
234*53ee8cc1Swenshuai.xi     }
235*53ee8cc1Swenshuai.xi 
236*53ee8cc1Swenshuai.xi     _XC_RETURN(pInstance);
237*53ee8cc1Swenshuai.xi }
238*53ee8cc1Swenshuai.xi 
mvideo_sc_variable_init(void * pInstance,MS_BOOL bFirstInstance,XC_INITDATA * pXC_InitData)239*53ee8cc1Swenshuai.xi void mvideo_sc_variable_init(void *pInstance, MS_BOOL bFirstInstance, XC_INITDATA *pXC_InitData)
240*53ee8cc1Swenshuai.xi {
241*53ee8cc1Swenshuai.xi     MS_U8 i, j;
242*53ee8cc1Swenshuai.xi     XC_PANEL_INFO_EX stPanelInfoEx;
243*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
244*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
245*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
246*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
247*53ee8cc1Swenshuai.xi     // context
248*53ee8cc1Swenshuai.xi #ifndef MSOS_TYPE_OPTEE
249*53ee8cc1Swenshuai.xi #ifndef DONT_USE_CMA
250*53ee8cc1Swenshuai.xi #if (XC_SUPPORT_CMA ==TRUE)
251*53ee8cc1Swenshuai.xi         MS_BOOL ret= FALSE;
252*53ee8cc1Swenshuai.xi         if(pXCResourcePrivate->stdrvXC_MVideo._bSkipSWReset == FALSE)
253*53ee8cc1Swenshuai.xi         {
254*53ee8cc1Swenshuai.xi             if (
255*53ee8cc1Swenshuai.xi #if (HW_DESIGN_4K2K_VER == 7)
256*53ee8cc1Swenshuai.xi                 (psXCInstPri->u32DeviceID == 0) &&
257*53ee8cc1Swenshuai.xi #endif
258*53ee8cc1Swenshuai.xi                 pXCResourcePrivate->stdrvXC_MVideo._enPrevPowerState != E_POWER_SUSPEND)
259*53ee8cc1Swenshuai.xi             {
260*53ee8cc1Swenshuai.xi #ifdef UFO_XC_SUPPORT_SUB_CMA
261*53ee8cc1Swenshuai.xi #ifndef UFO_SET_XC_CMA_INFORMATION
262*53ee8cc1Swenshuai.xi     if(psXCInstPri->u32DeviceID==0)
263*53ee8cc1Swenshuai.xi     {
264*53ee8cc1Swenshuai.xi #ifndef UFO_SET_XC_CMA_INFORMATION
265*53ee8cc1Swenshuai.xi #if (HW_DESIGN_4K2K_VER == 6)
266*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].Status2.stXCConfigCMA[CMA_XC_SELF_MEM].u32HeapID = ION_XC_HEAP_ID;
267*53ee8cc1Swenshuai.xi #if defined(CHIP_MONET)
268*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].Status2.stXCConfigCMA[CMA_XC_COBUFF_MEM].u32HeapID = XC_DUAL_MIU_HID;
269*53ee8cc1Swenshuai.xi #else
270*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].Status2.stXCConfigCMA[CMA_XC_COBUFF_MEM].u32HeapID = XC_INVALID_HEAP_ID;
271*53ee8cc1Swenshuai.xi #endif
272*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].Status2.stXCConfigCMA[CMA_XC_SELF_MEM].u64AddrHeapOffset = 0;
273*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].Status2.stXCConfigCMA[CMA_XC_COBUFF_MEM].u64AddrHeapOffset = 0;
274*53ee8cc1Swenshuai.xi #endif
275*53ee8cc1Swenshuai.xi #endif
276*53ee8cc1Swenshuai.xi     }
277*53ee8cc1Swenshuai.xi     else
278*53ee8cc1Swenshuai.xi     {
279*53ee8cc1Swenshuai.xi #ifndef UFO_SET_XC_CMA_INFORMATION
280*53ee8cc1Swenshuai.xi #if (HW_DESIGN_4K2K_VER == 6)
281*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].Status2.stXCConfigCMA[CMA_XC_SELF_MEM].u32HeapID = 20;//temp use vdec heap id
282*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].Status2.stXCConfigCMA[CMA_XC_COBUFF_MEM].u32HeapID = XC_INVALID_HEAP_ID;
283*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].Status2.stXCConfigCMA[CMA_XC_SELF_MEM].u64AddrHeapOffset = 0;
284*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].Status2.stXCConfigCMA[CMA_XC_COBUFF_MEM].u64AddrHeapOffset = 0;
285*53ee8cc1Swenshuai.xi #endif
286*53ee8cc1Swenshuai.xi #endif
287*53ee8cc1Swenshuai.xi     }
288*53ee8cc1Swenshuai.xi #endif
289*53ee8cc1Swenshuai.xi 
290*53ee8cc1Swenshuai.xi 
291*53ee8cc1Swenshuai.xi #if PIP_PATCH_USING_SC1_MAIN_AS_SC0_SUB
292*53ee8cc1Swenshuai.xi                 SCALER_WIN eCma_Win = MAX_WINDOW;
293*53ee8cc1Swenshuai.xi                 if(psXCInstPri->u32DeviceID==0)
294*53ee8cc1Swenshuai.xi                 {
295*53ee8cc1Swenshuai.xi                     eCma_Win = MAIN_WINDOW;
296*53ee8cc1Swenshuai.xi                 }
297*53ee8cc1Swenshuai.xi                 else
298*53ee8cc1Swenshuai.xi                 {
299*53ee8cc1Swenshuai.xi                     eCma_Win  = SUB_WINDOW;
300*53ee8cc1Swenshuai.xi                 }
301*53ee8cc1Swenshuai.xi #else
302*53ee8cc1Swenshuai.xi                 eCma_Win = MAIN_WINDOW;
303*53ee8cc1Swenshuai.xi #endif
304*53ee8cc1Swenshuai.xi                 /* 1. do CMA_POOL_INIT */
305*53ee8cc1Swenshuai.xi                 CMA_Pool_Init_PARAM[eCma_Win][CMA_XC_SELF_MEM].heap_id     = gSrcInfo[MAIN_WINDOW].Status2.stXCConfigCMA[CMA_XC_SELF_MEM].u32HeapID;
306*53ee8cc1Swenshuai.xi                 CMA_Pool_Init_PARAM[eCma_Win][CMA_XC_SELF_MEM].flags       = CMA_FLAG_MAP_VMA;
307*53ee8cc1Swenshuai.xi                 MsOS_DelayTaskUs(1);
308*53ee8cc1Swenshuai.xi                 XC_LOG_TRACE(XC_DBGLEVEL_SETWINDOW,"[%s,%5d][CMA], CMA self heapid = %d!\n",__func__, __LINE__,CMA_Pool_Init_PARAM[eCma_Win][CMA_XC_SELF_MEM].heap_id);
309*53ee8cc1Swenshuai.xi                 if (CMA_Pool_Init_PARAM[eCma_Win][CMA_XC_SELF_MEM].heap_id != XC_INVALID_HEAP_ID)
310*53ee8cc1Swenshuai.xi                 {
311*53ee8cc1Swenshuai.xi                     ret = MApi_CMA_Pool_Init(&CMA_Pool_Init_PARAM[eCma_Win][CMA_XC_SELF_MEM]);
312*53ee8cc1Swenshuai.xi 
313*53ee8cc1Swenshuai.xi                     if(ret == FALSE)
314*53ee8cc1Swenshuai.xi                     {
315*53ee8cc1Swenshuai.xi                         printf("\033[35m   Function = %s, Line = %d, CMA_POOL_INIT ERROR!!\033[m\n", __PRETTY_FUNCTION__, __LINE__);
316*53ee8cc1Swenshuai.xi                         MS_ASSERT(0);
317*53ee8cc1Swenshuai.xi                     }
318*53ee8cc1Swenshuai.xi                     else
319*53ee8cc1Swenshuai.xi                     {
320*53ee8cc1Swenshuai.xi                         //printf("\033[35m  Function = %s, Line = %d, get pool_handle_id is %u\033[m\n", __PRETTY_FUNCTION__, __LINE__, CMA_Pool_Init_PARAM[eCma_Win][CMA_XC_SELF_MEM].pool_handle_id);
321*53ee8cc1Swenshuai.xi                         //printf("\033[35m  Function = %s, Line = %d, get miu is %u\033[m\n", __PRETTY_FUNCTION__,__LINE__, CMA_Pool_Init_PARAM[eCma_Win][CMA_XC_SELF_MEM].miu);
322*53ee8cc1Swenshuai.xi                         //printf("\033[35m  Function = %s, Line = %d, get heap_miu_start_offset is 0x%lx\033[m\n", __PRETTY_FUNCTION__, __LINE__, (MS_U32)CMA_Pool_Init_PARAM[eCma_Win][CMA_XC_SELF_MEM].heap_miu_start_offset);
323*53ee8cc1Swenshuai.xi                         //printf("\033[35m  Function = %s, Line = %d, get heap_length is 0x%X\033[m\n", __PRETTY_FUNCTION__, __LINE__, CMA_Pool_Init_PARAM[eCma_Win][CMA_XC_SELF_MEM].heap_length);
324*53ee8cc1Swenshuai.xi                     }
325*53ee8cc1Swenshuai.xi                 }
326*53ee8cc1Swenshuai.xi 
327*53ee8cc1Swenshuai.xi                 if (gSrcInfo[MAIN_WINDOW].Status2.stXCConfigCMA[CMA_XC_COBUFF_MEM].u32HeapID != XC_INVALID_HEAP_ID)
328*53ee8cc1Swenshuai.xi                 {
329*53ee8cc1Swenshuai.xi                     /* 1. do CMA_POOL_INIT */
330*53ee8cc1Swenshuai.xi                     CMA_Pool_Init_PARAM[CMA_XC_COBUFF_MEM][eCma_Win].heap_id     = gSrcInfo[MAIN_WINDOW].Status2.stXCConfigCMA[CMA_XC_COBUFF_MEM].u32HeapID;
331*53ee8cc1Swenshuai.xi                     CMA_Pool_Init_PARAM[CMA_XC_COBUFF_MEM][eCma_Win].flags       = CMA_FLAG_MAP_VMA;
332*53ee8cc1Swenshuai.xi                     MsOS_DelayTaskUs(1);
333*53ee8cc1Swenshuai.xi                     XC_LOG_TRACE(XC_DBGLEVEL_SETWINDOW,"[%s,%5d][CMA], CMA cobuff heapid = %d!\n",__func__, __LINE__,CMA_Pool_Init_PARAM[eCma_Win][CMA_XC_COBUFF_MEM].heap_id);
334*53ee8cc1Swenshuai.xi                     if (CMA_Pool_Init_PARAM[eCma_Win][CMA_XC_COBUFF_MEM].heap_id != XC_INVALID_HEAP_ID)
335*53ee8cc1Swenshuai.xi                     {
336*53ee8cc1Swenshuai.xi                         ret = MApi_CMA_Pool_Init(&CMA_Pool_Init_PARAM[eCma_Win][CMA_XC_COBUFF_MEM]);
337*53ee8cc1Swenshuai.xi 
338*53ee8cc1Swenshuai.xi                         if(ret == FALSE)
339*53ee8cc1Swenshuai.xi                         {
340*53ee8cc1Swenshuai.xi                             printf("\033[35m   Function = %s, Line = %d, CMA_POOL_INIT ERROR!!\033[m\n", __PRETTY_FUNCTION__, __LINE__);
341*53ee8cc1Swenshuai.xi                             MS_ASSERT(0);
342*53ee8cc1Swenshuai.xi                         }
343*53ee8cc1Swenshuai.xi                         else
344*53ee8cc1Swenshuai.xi                         {
345*53ee8cc1Swenshuai.xi                             //printf("\033[35m  Function = %s, Line = %d, get pool_handle_id is %u\033[m\n", __PRETTY_FUNCTION__, __LINE__, CMA_Pool_Init_PARAM[CMA_XC_SELF_MEM][eCma_Win].pool_handle_id);
346*53ee8cc1Swenshuai.xi                             //printf("\033[35m  Function = %s, Line = %d, get miu is %u\033[m\n", __PRETTY_FUNCTION__,__LINE__, CMA_Pool_Init_PARAM[eCma_Win][CMA_XC_SELF_MEM].miu);
347*53ee8cc1Swenshuai.xi                             //printf("\033[35m  Function = %s, Line = %d, get heap_miu_start_offset is 0x%lx\033[m\n", __PRETTY_FUNCTION__, __LINE__, (MS_U32)CMA_Pool_Init_PARAM[CMA_XC_SELF_MEM][eCma_Win].heap_miu_start_offset);
348*53ee8cc1Swenshuai.xi                             //printf("\033[35m  Function = %s, Line = %d, get heap_length is 0x%X\033[m\n", __PRETTY_FUNCTION__, __LINE__, CMA_Pool_Init_PARAM[eCma_Win][CMA_XC_SELF_MEM].heap_length);
349*53ee8cc1Swenshuai.xi                         }
350*53ee8cc1Swenshuai.xi                     }
351*53ee8cc1Swenshuai.xi                 }
352*53ee8cc1Swenshuai.xi #else
353*53ee8cc1Swenshuai.xi #ifndef UFO_SET_XC_CMA_INFORMATION
354*53ee8cc1Swenshuai.xi #if (HW_DESIGN_4K2K_VER == 6)
355*53ee8cc1Swenshuai.xi                 gSrcInfo[MAIN_WINDOW].Status2.stXCConfigCMA[CMA_XC_SELF_MEM].u32HeapID = ION_XC_HEAP_ID;
356*53ee8cc1Swenshuai.xi #if defined(CHIP_MONET)
357*53ee8cc1Swenshuai.xi                 gSrcInfo[MAIN_WINDOW].Status2.stXCConfigCMA[CMA_XC_COBUFF_MEM].u32HeapID = XC_DUAL_MIU_HID;
358*53ee8cc1Swenshuai.xi #else
359*53ee8cc1Swenshuai.xi                 gSrcInfo[MAIN_WINDOW].Status2.stXCConfigCMA[CMA_XC_COBUFF_MEM].u32HeapID = XC_INVALID_HEAP_ID;
360*53ee8cc1Swenshuai.xi #endif
361*53ee8cc1Swenshuai.xi                 gSrcInfo[MAIN_WINDOW].Status2.stXCConfigCMA[CMA_XC_SELF_MEM].u64AddrHeapOffset = 0;
362*53ee8cc1Swenshuai.xi                 gSrcInfo[MAIN_WINDOW].Status2.stXCConfigCMA[CMA_XC_COBUFF_MEM].u64AddrHeapOffset = 0;
363*53ee8cc1Swenshuai.xi #endif
364*53ee8cc1Swenshuai.xi #endif
365*53ee8cc1Swenshuai.xi                 /* 1. do CMA_POOL_INIT */
366*53ee8cc1Swenshuai.xi                 CMA_Pool_Init_PARAM[CMA_XC_SELF_MEM].heap_id     = gSrcInfo[MAIN_WINDOW].Status2.stXCConfigCMA[CMA_XC_SELF_MEM].u32HeapID;
367*53ee8cc1Swenshuai.xi                 CMA_Pool_Init_PARAM[CMA_XC_SELF_MEM].flags       = CMA_FLAG_MAP_VMA;
368*53ee8cc1Swenshuai.xi                 MsOS_DelayTaskUs(1);
369*53ee8cc1Swenshuai.xi                 XC_LOG_TRACE(XC_DBGLEVEL_SETWINDOW,"[%s,%5d][CMA], CMA self heapid = %d!\n",__func__, __LINE__,CMA_Pool_Init_PARAM[CMA_XC_SELF_MEM].heap_id);
370*53ee8cc1Swenshuai.xi                 if (CMA_Pool_Init_PARAM[CMA_XC_SELF_MEM].heap_id != XC_INVALID_HEAP_ID)
371*53ee8cc1Swenshuai.xi                 {
372*53ee8cc1Swenshuai.xi                     ret = MApi_CMA_Pool_Init(&CMA_Pool_Init_PARAM[CMA_XC_SELF_MEM]);
373*53ee8cc1Swenshuai.xi 
374*53ee8cc1Swenshuai.xi                     if(ret == FALSE)
375*53ee8cc1Swenshuai.xi                     {
376*53ee8cc1Swenshuai.xi                         printf("\033[35m   Function = %s, Line = %d, CMA_POOL_INIT ERROR!!\033[m\n", __PRETTY_FUNCTION__, __LINE__);
377*53ee8cc1Swenshuai.xi                         MS_ASSERT(0);
378*53ee8cc1Swenshuai.xi                     }
379*53ee8cc1Swenshuai.xi                     else
380*53ee8cc1Swenshuai.xi                     {
381*53ee8cc1Swenshuai.xi                         //printf("\033[35m  Function = %s, Line = %d, get pool_handle_id is %u\033[m\n", __PRETTY_FUNCTION__, __LINE__, CMA_Pool_Init_PARAM[CMA_XC_SELF_MEM].pool_handle_id);
382*53ee8cc1Swenshuai.xi                         //printf("\033[35m  Function = %s, Line = %d, get miu is %u\033[m\n", __PRETTY_FUNCTION__,__LINE__, CMA_Pool_Init_PARAM[CMA_XC_SELF_MEM].miu);
383*53ee8cc1Swenshuai.xi                         //printf("\033[35m  Function = %s, Line = %d, get heap_miu_start_offset is 0x%lx\033[m\n", __PRETTY_FUNCTION__, __LINE__, (MS_U32)CMA_Pool_Init_PARAM[CMA_XC_SELF_MEM].heap_miu_start_offset);
384*53ee8cc1Swenshuai.xi                         //printf("\033[35m  Function = %s, Line = %d, get heap_length is 0x%X\033[m\n", __PRETTY_FUNCTION__, __LINE__, CMA_Pool_Init_PARAM[CMA_XC_SELF_MEM].heap_length);
385*53ee8cc1Swenshuai.xi                     }
386*53ee8cc1Swenshuai.xi                 }
387*53ee8cc1Swenshuai.xi 
388*53ee8cc1Swenshuai.xi                 if (gSrcInfo[MAIN_WINDOW].Status2.stXCConfigCMA[CMA_XC_COBUFF_MEM].u32HeapID != XC_INVALID_HEAP_ID)
389*53ee8cc1Swenshuai.xi                 {
390*53ee8cc1Swenshuai.xi                     /* 1. do CMA_POOL_INIT */
391*53ee8cc1Swenshuai.xi                     CMA_Pool_Init_PARAM[CMA_XC_COBUFF_MEM].heap_id     = gSrcInfo[MAIN_WINDOW].Status2.stXCConfigCMA[CMA_XC_COBUFF_MEM].u32HeapID;
392*53ee8cc1Swenshuai.xi                     CMA_Pool_Init_PARAM[CMA_XC_COBUFF_MEM].flags       = CMA_FLAG_MAP_VMA;
393*53ee8cc1Swenshuai.xi                     MsOS_DelayTaskUs(1);
394*53ee8cc1Swenshuai.xi                     XC_LOG_TRACE(XC_DBGLEVEL_SETWINDOW,"[%s,%5d][CMA], CMA cobuff heapid = %d!\n",__func__, __LINE__,CMA_Pool_Init_PARAM[CMA_XC_COBUFF_MEM].heap_id);
395*53ee8cc1Swenshuai.xi                     if (CMA_Pool_Init_PARAM[CMA_XC_COBUFF_MEM].heap_id != XC_INVALID_HEAP_ID)
396*53ee8cc1Swenshuai.xi                     {
397*53ee8cc1Swenshuai.xi                         ret = MApi_CMA_Pool_Init(&CMA_Pool_Init_PARAM[CMA_XC_COBUFF_MEM]);
398*53ee8cc1Swenshuai.xi 
399*53ee8cc1Swenshuai.xi                         if(ret == FALSE)
400*53ee8cc1Swenshuai.xi                         {
401*53ee8cc1Swenshuai.xi                             printf("\033[35m   Function = %s, Line = %d, CMA_POOL_INIT ERROR!!\033[m\n", __PRETTY_FUNCTION__, __LINE__);
402*53ee8cc1Swenshuai.xi                             MS_ASSERT(0);
403*53ee8cc1Swenshuai.xi                         }
404*53ee8cc1Swenshuai.xi                         else
405*53ee8cc1Swenshuai.xi                         {
406*53ee8cc1Swenshuai.xi                             //printf("\033[35m  Function = %s, Line = %d, get pool_handle_id is %u\033[m\n", __PRETTY_FUNCTION__, __LINE__, CMA_Pool_Init_PARAM[CMA_XC_SELF_MEM].pool_handle_id);
407*53ee8cc1Swenshuai.xi                             //printf("\033[35m  Function = %s, Line = %d, get miu is %u\033[m\n", __PRETTY_FUNCTION__,__LINE__, CMA_Pool_Init_PARAM[CMA_XC_SELF_MEM].miu);
408*53ee8cc1Swenshuai.xi                             //printf("\033[35m  Function = %s, Line = %d, get heap_miu_start_offset is 0x%lx\033[m\n", __PRETTY_FUNCTION__, __LINE__, (MS_U32)CMA_Pool_Init_PARAM[CMA_XC_SELF_MEM].heap_miu_start_offset);
409*53ee8cc1Swenshuai.xi                             //printf("\033[35m  Function = %s, Line = %d, get heap_length is 0x%X\033[m\n", __PRETTY_FUNCTION__, __LINE__, CMA_Pool_Init_PARAM[CMA_XC_SELF_MEM].heap_length);
410*53ee8cc1Swenshuai.xi                         }
411*53ee8cc1Swenshuai.xi                     }
412*53ee8cc1Swenshuai.xi                 }
413*53ee8cc1Swenshuai.xi #endif
414*53ee8cc1Swenshuai.xi             }
415*53ee8cc1Swenshuai.xi          }
416*53ee8cc1Swenshuai.xi #endif
417*53ee8cc1Swenshuai.xi #endif
418*53ee8cc1Swenshuai.xi #endif
419*53ee8cc1Swenshuai.xi 
420*53ee8cc1Swenshuai.xi #if(XC_CONTEXT_ENABLE)
421*53ee8cc1Swenshuai.xi     pXCResourcePrivate->stdrvXC_MVideo._SContext.bEnableFPLLManualDebug = FALSE;
422*53ee8cc1Swenshuai.xi     if (bFirstInstance)
423*53ee8cc1Swenshuai.xi     {
424*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].stDispWin.x       = 0;
425*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].stDispWin.y       = 0;
426*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].stDispWin.width   = 0;
427*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].stDispWin.height  = 0;
428*53ee8cc1Swenshuai.xi 
429*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].bEn3DNR = FALSE;
430*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].bUseYUVSpace = FALSE;
431*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].bMemYUVFmt = FALSE;
432*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].bForceNRoff = FALSE;
433*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].bFBL = FALSE;
434*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].bR_FBL = FALSE;
435*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].bForceRGBin = FALSE;
436*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].bFastFrameLock = FALSE;//mvideo_sc_set_fastframelock(FALSE);
437*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].bRWBankAuto= TRUE;
438*53ee8cc1Swenshuai.xi 
439*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].u16BytePerWord   = BYTE_PER_WORD;
440*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].u16OffsetPixelAlignment = OFFSET_PIXEL_ALIGNMENT;
441*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].Status2.bAutoBestPreScaling = FALSE;
442*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].bInterlace = FALSE;
443*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].Status2.u8IP_PixelRep = INVALID_IP_PIXELREPTITION;
444*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].Status2.bMVOPHSKMode =  FALSE;
445*53ee8cc1Swenshuai.xi #ifdef UFO_XC_SET_DSINFO_V0
446*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].Status2.bUpdate_DS_CMD = FALSE;
447*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].Status2.bEnableDNR = FALSE;
448*53ee8cc1Swenshuai.xi #endif
449*53ee8cc1Swenshuai.xi #ifdef UFO_XC_FB_LEVEL
450*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].eFBLevel =  E_XC_FB_LEVEL_FB;
451*53ee8cc1Swenshuai.xi #endif
452*53ee8cc1Swenshuai.xi 
453*53ee8cc1Swenshuai.xi 
454*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].stDispWin.x       = 0;
455*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].stDispWin.y       = 0;
456*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].stDispWin.width   = 0;
457*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].stDispWin.height  = 0;
458*53ee8cc1Swenshuai.xi 
459*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].bEn3DNR = FALSE;
460*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].bUseYUVSpace = FALSE;
461*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].bForceNRoff = FALSE;
462*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].bMemYUVFmt = FALSE;
463*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].bFBL = FALSE;
464*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].bForceRGBin = FALSE;
465*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].bFastFrameLock = FALSE;
466*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].bRWBankAuto= TRUE;
467*53ee8cc1Swenshuai.xi 
468*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].u16BytePerWord   = BYTE_PER_WORD;
469*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].u16OffsetPixelAlignment = OFFSET_PIXEL_ALIGNMENT;
470*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].Status2.bAutoBestPreScaling = FALSE;
471*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].bInterlace = FALSE;
472*53ee8cc1Swenshuai.xi #ifdef UFO_XC_FB_LEVEL
473*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].eFBLevel =  E_XC_FB_LEVEL_FB;
474*53ee8cc1Swenshuai.xi #endif
475*53ee8cc1Swenshuai.xi 
476*53ee8cc1Swenshuai.xi         memset(&stPanelInfoEx, 0, sizeof(XC_PANEL_INFO_EX));
477*53ee8cc1Swenshuai.xi         stPanelInfoEx.u16VFreq = PANEL_INFO_EX_INVALID_ALL;
478*53ee8cc1Swenshuai.xi         stPanelInfoEx.u32PanelInfoEx_Version = PANEL_INFO_EX_VERSION;
479*53ee8cc1Swenshuai.xi         stPanelInfoEx.u16PanelInfoEX_Length = sizeof(XC_PANEL_INFO_EX);
480*53ee8cc1Swenshuai.xi         MDrv_XC_SetExPanelInfo(pInstance, FALSE, &stPanelInfoEx);
481*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].Status2.u8IP_PixelRep = INVALID_IP_PIXELREPTITION;
482*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].Status2.bMVOPHSKMode =  FALSE;
483*53ee8cc1Swenshuai.xi #ifdef UFO_XC_SET_DSINFO_V0
484*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].Status2.bUpdate_DS_CMD = FALSE;
485*53ee8cc1Swenshuai.xi         gSrcInfo[SUB_WINDOW].Status2.bEnableDNR = FALSE;
486*53ee8cc1Swenshuai.xi #endif
487*53ee8cc1Swenshuai.xi 
488*53ee8cc1Swenshuai.xi         pXCResourcePrivate->stdrvXC_MVideo.bNeedInitShared = FALSE;
489*53ee8cc1Swenshuai.xi         for(i = 0; i < E_XC_MCDI_MAX; i++)
490*53ee8cc1Swenshuai.xi         {
491*53ee8cc1Swenshuai.xi             pXCResourcePrivate->stdrvXC_MVideo_Context.g_u32MCDIFBAddress_Suspend[i] = 0xFFFFFFFF;
492*53ee8cc1Swenshuai.xi             pXCResourcePrivate->stdrvXC_MVideo_Context.g_u32MCDIFBSize_Suspend[i] = 0;
493*53ee8cc1Swenshuai.xi             pXCResourcePrivate->stdrvXC_MVideo_Context.g_bEnableMCDI_Suspend[i] = FALSE;
494*53ee8cc1Swenshuai.xi             pXCResourcePrivate->stdrvXC_Display._u32MCDIFBAddress[i] = 0xFFFFFFFF;
495*53ee8cc1Swenshuai.xi             pXCResourcePrivate->stdrvXC_Display._u32MCDIFBSize[i]=0x0;
496*53ee8cc1Swenshuai.xi         }
497*53ee8cc1Swenshuai.xi         memset(&s_PQ_Function_Info[psXCInstPri->u32DeviceID],0,sizeof(s_PQ_Function_Info[psXCInstPri->u32DeviceID]));
498*53ee8cc1Swenshuai.xi         //dc on should do menuload init
499*53ee8cc1Swenshuai.xi         pXCResourcePrivate->stdrvXC_MVideo_Context.g_u32MLoadPhyAddr_Suspend = 0;
500*53ee8cc1Swenshuai.xi         pXCResourcePrivate->stdrvXC_MVideo_Context.g_u32MLoadBufByteLen_Suspend = 0;
501*53ee8cc1Swenshuai.xi     }
502*53ee8cc1Swenshuai.xi #endif
503*53ee8cc1Swenshuai.xi 
504*53ee8cc1Swenshuai.xi     if(pXC_InitData != NULL)//only valid pointer can init the following variable
505*53ee8cc1Swenshuai.xi     {
506*53ee8cc1Swenshuai.xi         if(gSrcInfo[MAIN_WINDOW].Status2.u16OutputVFreqAfterFRC == 0)//only assign significant value for one time
507*53ee8cc1Swenshuai.xi         {
508*53ee8cc1Swenshuai.xi             gSrcInfo[MAIN_WINDOW].Status2.u16OutputVFreqAfterFRC = pXC_InitData->stPanelInfo.u16DefaultVFreq;
509*53ee8cc1Swenshuai.xi         }
510*53ee8cc1Swenshuai.xi 
511*53ee8cc1Swenshuai.xi         if(gSrcInfo[MAIN_WINDOW].Status2.u16OP1_OutputVFreqAfterFRC == 0)//only assign significant value for one time
512*53ee8cc1Swenshuai.xi         {
513*53ee8cc1Swenshuai.xi             gSrcInfo[MAIN_WINDOW].Status2.u16OP1_OutputVFreqAfterFRC = gSrcInfo[MAIN_WINDOW].Status2.u16OutputVFreqAfterFRC;
514*53ee8cc1Swenshuai.xi         }
515*53ee8cc1Swenshuai.xi 
516*53ee8cc1Swenshuai.xi         //save panel default timing
517*53ee8cc1Swenshuai.xi         memcpy(&(gSrcInfo[MAIN_WINDOW].Status2.stXCPanelDefaultTiming), &(pXC_InitData->stPanelInfo), sizeof(XC_PANEL_TIMING));
518*53ee8cc1Swenshuai.xi         // Here is the third place user can set mirror mode flag !!!
519*53ee8cc1Swenshuai.xi         if (pXC_InitData->bMirror)
520*53ee8cc1Swenshuai.xi         {
521*53ee8cc1Swenshuai.xi             // So we need update variable here.
522*53ee8cc1Swenshuai.xi             gSrcInfo[MAIN_WINDOW].Status2.eMirrorMode = MIRROR_HV;
523*53ee8cc1Swenshuai.xi             gSrcInfo[SUB_WINDOW].Status2.eMirrorMode = MIRROR_HV;
524*53ee8cc1Swenshuai.xi         }
525*53ee8cc1Swenshuai.xi 
526*53ee8cc1Swenshuai.xi         pXCResourcePrivate->stdrvXC_MVideo.enOldInputSrc_ForScalerSetSource[MAIN_WINDOW] = INPUT_SOURCE_NONE;
527*53ee8cc1Swenshuai.xi         pXCResourcePrivate->stdrvXC_MVideo.enOldInputSrc_ForScalerSetSource[SUB_WINDOW] = INPUT_SOURCE_NONE;
528*53ee8cc1Swenshuai.xi 
529*53ee8cc1Swenshuai.xi         memset(&pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_Init_Misc, 0, sizeof(XC_INITMISC));
530*53ee8cc1Swenshuai.xi 
531*53ee8cc1Swenshuai.xi         pXCResourcePrivate->stdrvXC_MVideo_Context.g_bEnableRepWindowForFrameColor = FALSE;
532*53ee8cc1Swenshuai.xi         pXCResourcePrivate->stdrvXC_MVideo_Context.bMainIsOnTop = FALSE;
533*53ee8cc1Swenshuai.xi 
534*53ee8cc1Swenshuai.xi         pXCResourcePrivate->stdrvXC_MVideo_Context.g_u32InitDataLen_Suspend = 0;
535*53ee8cc1Swenshuai.xi         pXCResourcePrivate->stdrvXC_MVideo_Context.g_u32InitMiscDataLen_Suspend = 0;
536*53ee8cc1Swenshuai.xi         pXCResourcePrivate->stdrvXC_MVideo_Context.g_u8DispWindowColor_Suspend[MAIN_WINDOW] = 0;
537*53ee8cc1Swenshuai.xi         pXCResourcePrivate->stdrvXC_MVideo_Context.g_u8DispWindowColor_Suspend[SUB_WINDOW] = 0;
538*53ee8cc1Swenshuai.xi         pXCResourcePrivate->stdrvXC_MVideo_Context.g_u32OSDCCtrltype_Suspend = 0;
539*53ee8cc1Swenshuai.xi         pXCResourcePrivate->stdrvXC_MVideo_Context.g_u32FrameColor_Suspend = 0;
540*53ee8cc1Swenshuai.xi 
541*53ee8cc1Swenshuai.xi #ifndef DISABLE_3D_FUNCTION
542*53ee8cc1Swenshuai.xi             MDrv_SC_3D_Variable_Init(pInstance);
543*53ee8cc1Swenshuai.xi #endif
544*53ee8cc1Swenshuai.xi         // interrupts
545*53ee8cc1Swenshuai.xi         for(i=0; i<MAX_SC_INT; i++)
546*53ee8cc1Swenshuai.xi         {
547*53ee8cc1Swenshuai.xi             for(j=0; j<MAX_ISR_NUM_OF_EACH_INT; j++)
548*53ee8cc1Swenshuai.xi             {
549*53ee8cc1Swenshuai.xi                 pXCResourcePrivate->stdrvXC_ISR.stXCIsrInfo[i][j].aryXC_ISR_Param = NULL;
550*53ee8cc1Swenshuai.xi                 pXCResourcePrivate->stdrvXC_ISR.stXCIsrInfo[i][j].aryXC_ISR = NULL;
551*53ee8cc1Swenshuai.xi             }
552*53ee8cc1Swenshuai.xi         }
553*53ee8cc1Swenshuai.xi         _XC_ENTRY(pInstance);
554*53ee8cc1Swenshuai.xi         MDrv_XC_GetDefaultHVSyncInfo(pInstance);
555*53ee8cc1Swenshuai.xi         // SW patch for Eisntein
556*53ee8cc1Swenshuai.xi         #if (FRC_INSIDE)
557*53ee8cc1Swenshuai.xi             MHal_FRC_interrupt_mask(pInstance, 0xFF);
558*53ee8cc1Swenshuai.xi         #endif
559*53ee8cc1Swenshuai.xi 
560*53ee8cc1Swenshuai.xi         // With HW Auto no signal case,  sub video source change would causes OP1 broken, looks like main video broken
561*53ee8cc1Swenshuai.xi         Hal_SC_ip_enable_turnoff_OP1_for_AutoNoSignal(pInstance, DISABLE);
562*53ee8cc1Swenshuai.xi         //store initial command number
563*53ee8cc1Swenshuai.xi         pXCResourcePrivate->sthal_SC.u16OldValue[E_STORE_VALUE_INIT_CMD_NUM] = SC_R2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK20_29_L, 0x1F1F);
564*53ee8cc1Swenshuai.xi         _XC_RETURN(pInstance);
565*53ee8cc1Swenshuai.xi     }
566*53ee8cc1Swenshuai.xi }
567*53ee8cc1Swenshuai.xi 
MDrv_XC_SetHdmiSyncMode(void * pInstance,E_HDMI_SYNC_TYPE eSynctype)568*53ee8cc1Swenshuai.xi void MDrv_XC_SetHdmiSyncMode(void *pInstance, E_HDMI_SYNC_TYPE eSynctype)
569*53ee8cc1Swenshuai.xi {
570*53ee8cc1Swenshuai.xi     XC_LOG_TRACE(XC_DBGLEVEL_SETWINDOW,"set HDMI sync mode mode: %u (0 is DE mode, 1 is HV mode)\n",eSynctype);
571*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
572*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
573*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
574*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
575*53ee8cc1Swenshuai.xi     pXCResourcePrivate->stdrvXC_MVideo_Context.s_HDMISYNC_type = eSynctype;
576*53ee8cc1Swenshuai.xi }
577*53ee8cc1Swenshuai.xi 
MApi_XC_SetHdmiSyncMode_U2(void * pInstance,E_HDMI_SYNC_TYPE eSynctype)578*53ee8cc1Swenshuai.xi void MApi_XC_SetHdmiSyncMode_U2(void* pInstance, E_HDMI_SYNC_TYPE eSynctype)
579*53ee8cc1Swenshuai.xi {
580*53ee8cc1Swenshuai.xi     //Whether we should support special timing with HV sync mode. Some timing, like 720@30p must use HV mode
581*53ee8cc1Swenshuai.xi     //  to detect it. so this API is actually to enable or disable the capablity for these special timing.
582*53ee8cc1Swenshuai.xi     //  DE mode: not support special timing, HV mode: support special timing
583*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
584*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
585*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
586*53ee8cc1Swenshuai.xi 
587*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_ENTRY(pInstance,E_XC_ID_VAR);
588*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
589*53ee8cc1Swenshuai.xi #if SUPPORT_IP_HDMI_FOR_HV_MODE
590*53ee8cc1Swenshuai.xi     if(HDMI_SYNC_HV == eSynctype)
591*53ee8cc1Swenshuai.xi     {
592*53ee8cc1Swenshuai.xi         pXCResourcePrivate->stdrvXC_MVideo_Context._bSupportHVMode = TRUE;
593*53ee8cc1Swenshuai.xi     }
594*53ee8cc1Swenshuai.xi     else
595*53ee8cc1Swenshuai.xi #endif
596*53ee8cc1Swenshuai.xi     {
597*53ee8cc1Swenshuai.xi         pXCResourcePrivate->stdrvXC_MVideo_Context._bSupportHVMode = FALSE;
598*53ee8cc1Swenshuai.xi     }
599*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_RETURN(pInstance,E_XC_ID_VAR);
600*53ee8cc1Swenshuai.xi }
601*53ee8cc1Swenshuai.xi 
MApi_XC_SetHdmiSyncMode(E_HDMI_SYNC_TYPE eSynctype)602*53ee8cc1Swenshuai.xi void MApi_XC_SetHdmiSyncMode(E_HDMI_SYNC_TYPE eSynctype)
603*53ee8cc1Swenshuai.xi {
604*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
605*53ee8cc1Swenshuai.xi     {
606*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
607*53ee8cc1Swenshuai.xi         return;
608*53ee8cc1Swenshuai.xi     }
609*53ee8cc1Swenshuai.xi 
610*53ee8cc1Swenshuai.xi     stXC_SET_HDMI_SYNCMODE XCArgs;
611*53ee8cc1Swenshuai.xi     XCArgs.eSynctype = eSynctype;
612*53ee8cc1Swenshuai.xi 
613*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_SET_HDMI_SYNCMODE, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
614*53ee8cc1Swenshuai.xi     {
615*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
616*53ee8cc1Swenshuai.xi         return;
617*53ee8cc1Swenshuai.xi     }
618*53ee8cc1Swenshuai.xi     else
619*53ee8cc1Swenshuai.xi     {
620*53ee8cc1Swenshuai.xi         return;
621*53ee8cc1Swenshuai.xi     }
622*53ee8cc1Swenshuai.xi }
623*53ee8cc1Swenshuai.xi 
MDrv_XC_GetHdmiSyncMode(void * pInstance)624*53ee8cc1Swenshuai.xi E_HDMI_SYNC_TYPE MDrv_XC_GetHdmiSyncMode(void *pInstance)
625*53ee8cc1Swenshuai.xi {
626*53ee8cc1Swenshuai.xi     //Check whether which mode are we using: DE or HV.
627*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
628*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
629*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
630*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
631*53ee8cc1Swenshuai.xi     return pXCResourcePrivate->stdrvXC_MVideo_Context.s_HDMISYNC_type;
632*53ee8cc1Swenshuai.xi }
633*53ee8cc1Swenshuai.xi 
MApi_XC_GetHdmiSyncMode_U2(void * pInstance)634*53ee8cc1Swenshuai.xi E_HDMI_SYNC_TYPE MApi_XC_GetHdmiSyncMode_U2(void* pInstance)
635*53ee8cc1Swenshuai.xi {
636*53ee8cc1Swenshuai.xi     E_HDMI_SYNC_TYPE eReturn = HDMI_SYNC_DE;
637*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
638*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
639*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
640*53ee8cc1Swenshuai.xi 
641*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_ENTRY(pInstance,E_XC_ID_VAR);
642*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
643*53ee8cc1Swenshuai.xi     eReturn = MDrv_XC_GetHdmiSyncMode(pInstance);
644*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_RETURN(pInstance,E_XC_ID_VAR);
645*53ee8cc1Swenshuai.xi     return eReturn;
646*53ee8cc1Swenshuai.xi }
647*53ee8cc1Swenshuai.xi 
MApi_XC_GetHdmiSyncMode(void)648*53ee8cc1Swenshuai.xi E_HDMI_SYNC_TYPE MApi_XC_GetHdmiSyncMode(void)
649*53ee8cc1Swenshuai.xi {
650*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
651*53ee8cc1Swenshuai.xi     {
652*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
653*53ee8cc1Swenshuai.xi         return HDMI_SYNC_DE;
654*53ee8cc1Swenshuai.xi     }
655*53ee8cc1Swenshuai.xi 
656*53ee8cc1Swenshuai.xi     stXC_GET_HDMI_SYNCMODE XCArgs;
657*53ee8cc1Swenshuai.xi     XCArgs.eReturnValue = HDMI_SYNC_DE;
658*53ee8cc1Swenshuai.xi 
659*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_GET_HDMI_SYNCMODE, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
660*53ee8cc1Swenshuai.xi     {
661*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
662*53ee8cc1Swenshuai.xi         return HDMI_SYNC_DE;
663*53ee8cc1Swenshuai.xi     }
664*53ee8cc1Swenshuai.xi     else
665*53ee8cc1Swenshuai.xi     {
666*53ee8cc1Swenshuai.xi         return XCArgs.eReturnValue;
667*53ee8cc1Swenshuai.xi     }
668*53ee8cc1Swenshuai.xi }
669*53ee8cc1Swenshuai.xi 
MDrv_XC_Switch_DE_HV_Mode_By_Timing(void * pInstance,SCALER_WIN eWindow)670*53ee8cc1Swenshuai.xi void MDrv_XC_Switch_DE_HV_Mode_By_Timing(void *pInstance, SCALER_WIN eWindow)
671*53ee8cc1Swenshuai.xi {
672*53ee8cc1Swenshuai.xi #if SUPPORT_IP_HDMI_FOR_HV_MODE
673*53ee8cc1Swenshuai.xi #if ONLY_ALLOW_HV_MODE_FOR_720P
674*53ee8cc1Swenshuai.xi     MS_U16 u16HDE = 0;
675*53ee8cc1Swenshuai.xi     MS_U8 u8InputSrcSel, u8SyncSel, u8VideoSel=0, u8isYPbPr, u8HankShakingMD;
676*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
677*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
678*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
679*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
680*53ee8cc1Swenshuai.xi     if(pXCResourcePrivate->stdrvXC_MVideo_Context._bSupportHVMode)
681*53ee8cc1Swenshuai.xi     {
682*53ee8cc1Swenshuai.xi         _XC_ENTRY(pInstance);
683*53ee8cc1Swenshuai.xi         u16HDE = MDrv_HDMI_GetHDE();
684*53ee8cc1Swenshuai.xi         //printf("---------------------MDrv_HDMI_GetHDE=%u\n",u16HDE);
685*53ee8cc1Swenshuai.xi         if(HVMODE_HDE_VALIDATION(u16HDE))
686*53ee8cc1Swenshuai.xi         {
687*53ee8cc1Swenshuai.xi             if(HDMI_SYNC_HV != MDrv_XC_GetHdmiSyncMode(pInstance))
688*53ee8cc1Swenshuai.xi             {
689*53ee8cc1Swenshuai.xi                 MDrv_XC_SetHdmiSyncMode(pInstance, HDMI_SYNC_HV);
690*53ee8cc1Swenshuai.xi                 //printf("@@@---%s:%d u8IP_PixelRep=%u\n", __FUNCTION__, __LINE__, gSrcInfo[eWindow].Status2.u8IP_PixelRep);
691*53ee8cc1Swenshuai.xi                 if(gSrcInfo[eWindow].Status2.u8IP_PixelRep != INVALID_IP_PIXELREPTITION)
692*53ee8cc1Swenshuai.xi                 {
693*53ee8cc1Swenshuai.xi                     gSrcInfo[eWindow].Status2.u8IP_PixelRep = INVALID_IP_PIXELREPTITION;
694*53ee8cc1Swenshuai.xi                     Hal_SC_ip_set_fir_down_sample_divider(pInstance, DISABLE,0x00,eWindow); //Reset Pixel repetition, when switch hv mode
695*53ee8cc1Swenshuai.xi                 }
696*53ee8cc1Swenshuai.xi                 MDrv_SC_ip_set_input_vsync_delay(pInstance, NO_DELAY, eWindow );
697*53ee8cc1Swenshuai.xi                 MDrv_SC_ip_set_de_only_mode(pInstance, DISABLE, eWindow );
698*53ee8cc1Swenshuai.xi                 // Use DE as capture window
699*53ee8cc1Swenshuai.xi                 MDrv_SC_ip_set_de_bypass_mode(pInstance, ENABLE, eWindow);
700*53ee8cc1Swenshuai.xi                 // Disable scaling for get correct DE.
701*53ee8cc1Swenshuai.xi                 //MDrv_SC_Enable_PreScaling(FALSE, FALSE, eWindow);
702*53ee8cc1Swenshuai.xi                 // Set full range capture size for de-bypass mode
703*53ee8cc1Swenshuai.xi                 //MDrv_SC_SetFullRangeCapture(eWindow);
704*53ee8cc1Swenshuai.xi                 MDrv_SC_ip_set_input_sync_sample_mode(pInstance, GLITCH_REMOVAL, eWindow );
705*53ee8cc1Swenshuai.xi                 MDrv_SC_ip_set_post_glitch_removal(pInstance, ENABLE, 0x01, eWindow );
706*53ee8cc1Swenshuai.xi                 Hal_HDMI_Set_YUV422to444_Bypass(TRUE);
707*53ee8cc1Swenshuai.xi 
708*53ee8cc1Swenshuai.xi                 //720p with IP_HDMI, color space problem. must set it to IP_VIDEO
709*53ee8cc1Swenshuai.xi                 u8InputSrcSel = IP_HDMI;
710*53ee8cc1Swenshuai.xi                 u8VideoSel = IP_MST_VD_A;
711*53ee8cc1Swenshuai.xi                 u8SyncSel = (AUTO_DETECT << 1) | CSYNC;
712*53ee8cc1Swenshuai.xi                 u8isYPbPr = TRUE;
713*53ee8cc1Swenshuai.xi                 u8HankShakingMD = FALSE;
714*53ee8cc1Swenshuai.xi                 MDrv_SC_ip_set_input_source(pInstance, u8InputSrcSel, u8SyncSel, u8VideoSel, u8isYPbPr, eWindow);
715*53ee8cc1Swenshuai.xi                 MDrv_XC_reset_ip(pInstance, eWindow );
716*53ee8cc1Swenshuai.xi             }
717*53ee8cc1Swenshuai.xi         }
718*53ee8cc1Swenshuai.xi         else
719*53ee8cc1Swenshuai.xi         {
720*53ee8cc1Swenshuai.xi             if(HDMI_SYNC_DE != MDrv_XC_GetHdmiSyncMode(pInstance))
721*53ee8cc1Swenshuai.xi             {
722*53ee8cc1Swenshuai.xi                 MDrv_XC_SetHdmiSyncMode(pInstance, HDMI_SYNC_DE);
723*53ee8cc1Swenshuai.xi                 //printf("@@@---%s:%d u8IP_PixelRep=%u\n", __FUNCTION__, __LINE__, gSrcInfo[eWindow].Status2.u8IP_PixelRep);
724*53ee8cc1Swenshuai.xi                 if(gSrcInfo[eWindow].Status2.u8IP_PixelRep != INVALID_IP_PIXELREPTITION)
725*53ee8cc1Swenshuai.xi                 {
726*53ee8cc1Swenshuai.xi                     gSrcInfo[eWindow].Status2.u8IP_PixelRep = INVALID_IP_PIXELREPTITION;
727*53ee8cc1Swenshuai.xi                     Hal_SC_ip_set_fir_down_sample_divider(pInstance, DISABLE,0x00,eWindow); //Reset Pixel repetition, when switch hv mode
728*53ee8cc1Swenshuai.xi                 }
729*53ee8cc1Swenshuai.xi                 MDrv_SC_ip_set_input_vsync_delay(pInstance, DELAY_QUARTER_HSYNC, eWindow );
730*53ee8cc1Swenshuai.xi                 MDrv_SC_ip_set_de_only_mode(pInstance, ENABLE, eWindow );
731*53ee8cc1Swenshuai.xi                 MDrv_SC_ip_set_de_bypass_mode(pInstance, DISABLE, eWindow);
732*53ee8cc1Swenshuai.xi                 MDrv_SC_ip_set_input_sync_sample_mode(pInstance, NORMAL_MODE, eWindow );
733*53ee8cc1Swenshuai.xi                 MDrv_SC_ip_set_post_glitch_removal(pInstance, ENABLE, 0x07, eWindow );
734*53ee8cc1Swenshuai.xi                 Hal_HDMI_Set_YUV422to444_Bypass(TRUE);
735*53ee8cc1Swenshuai.xi 
736*53ee8cc1Swenshuai.xi                 //720p with IP_HDMI, color space problem. must set it to IP_VIDEO
737*53ee8cc1Swenshuai.xi                 //here should recover the setting of 720p
738*53ee8cc1Swenshuai.xi                 u8InputSrcSel = IP_HDMI;
739*53ee8cc1Swenshuai.xi                 u8VideoSel = IP_HDMI;
740*53ee8cc1Swenshuai.xi                 u8SyncSel = (AUTO_DETECT << 1) | CSYNC;
741*53ee8cc1Swenshuai.xi                 u8isYPbPr = TRUE;
742*53ee8cc1Swenshuai.xi                 u8HankShakingMD = FALSE;
743*53ee8cc1Swenshuai.xi                 MDrv_SC_ip_set_input_source(pInstance, u8InputSrcSel, u8SyncSel, u8VideoSel, u8isYPbPr, eWindow);
744*53ee8cc1Swenshuai.xi                 MDrv_XC_reset_ip(pInstance, eWindow );
745*53ee8cc1Swenshuai.xi             }
746*53ee8cc1Swenshuai.xi         }
747*53ee8cc1Swenshuai.xi         _XC_RETURN(pInstance);
748*53ee8cc1Swenshuai.xi     }
749*53ee8cc1Swenshuai.xi #endif
750*53ee8cc1Swenshuai.xi #endif
751*53ee8cc1Swenshuai.xi }
752*53ee8cc1Swenshuai.xi 
MDrv_XC_Set_DE_Lock_Mode(void * pInstance,SCALER_WIN eWindow)753*53ee8cc1Swenshuai.xi void MDrv_XC_Set_DE_Lock_Mode(void *pInstance, SCALER_WIN eWindow)
754*53ee8cc1Swenshuai.xi {
755*53ee8cc1Swenshuai.xi     MS_U16 u16HDE = 0;
756*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
757*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
758*53ee8cc1Swenshuai.xi 
759*53ee8cc1Swenshuai.xi     _XC_ENTRY(pInstance);
760*53ee8cc1Swenshuai.xi     u16HDE = MDrv_HDMI_GetHDE();
761*53ee8cc1Swenshuai.xi     if(HVMODE_HDE_VALIDATION(u16HDE))
762*53ee8cc1Swenshuai.xi     {
763*53ee8cc1Swenshuai.xi         MDrv_SC_ip_set_de_only_mode(pInstance, DISABLE, eWindow );
764*53ee8cc1Swenshuai.xi         MDrv_SC_ip_set_de_lock_mode(pInstance, ENABLE, eWindow);
765*53ee8cc1Swenshuai.xi     }
766*53ee8cc1Swenshuai.xi     else
767*53ee8cc1Swenshuai.xi     {
768*53ee8cc1Swenshuai.xi         MDrv_SC_ip_set_de_only_mode(pInstance, ENABLE, eWindow );
769*53ee8cc1Swenshuai.xi         MDrv_SC_ip_set_de_lock_mode(pInstance, DISABLE, eWindow);
770*53ee8cc1Swenshuai.xi     }
771*53ee8cc1Swenshuai.xi     _XC_RETURN(pInstance);
772*53ee8cc1Swenshuai.xi }
773*53ee8cc1Swenshuai.xi 
mvideo_sc_getcropwin(void * pInstance,MS_WINDOW_TYPE * pCropWin,SCALER_WIN eWindow)774*53ee8cc1Swenshuai.xi void mvideo_sc_getcropwin( void *pInstance, MS_WINDOW_TYPE *pCropWin, SCALER_WIN eWindow )
775*53ee8cc1Swenshuai.xi {
776*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
777*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
778*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
779*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
780*53ee8cc1Swenshuai.xi     pCropWin->x = gSrcInfo[eWindow].stCropWin.x;
781*53ee8cc1Swenshuai.xi     pCropWin->y = gSrcInfo[eWindow].stCropWin.y;
782*53ee8cc1Swenshuai.xi     pCropWin->width = gSrcInfo[eWindow].stCropWin.width;
783*53ee8cc1Swenshuai.xi     pCropWin->height = gSrcInfo[eWindow].stCropWin.height;
784*53ee8cc1Swenshuai.xi }
785*53ee8cc1Swenshuai.xi 
mvideo_pnl_is_dualport(void * pInstance)786*53ee8cc1Swenshuai.xi MS_U8  mvideo_pnl_is_dualport(void *pInstance)
787*53ee8cc1Swenshuai.xi {
788*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
789*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
790*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
791*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
792*53ee8cc1Swenshuai.xi     return pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.stPanelInfo.u8LPLL_Mode; // 0: single mode, 1: dual mode
793*53ee8cc1Swenshuai.xi }
794*53ee8cc1Swenshuai.xi 
mvideo_pnl_set_dclkmode(void * pInstance,E_XC_PNL_OUT_TIMING_MODE enPnl_Out_Timing_Mode)795*53ee8cc1Swenshuai.xi void mvideo_pnl_set_dclkmode(void *pInstance, E_XC_PNL_OUT_TIMING_MODE enPnl_Out_Timing_Mode)
796*53ee8cc1Swenshuai.xi {
797*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
798*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
799*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
800*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
801*53ee8cc1Swenshuai.xi     pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.stPanelInfo.enPnl_Out_Timing_Mode = enPnl_Out_Timing_Mode;
802*53ee8cc1Swenshuai.xi }
803*53ee8cc1Swenshuai.xi 
mvideo_sc_is_enable_3dnr(void * pInstance,SCALER_WIN eWindow)804*53ee8cc1Swenshuai.xi MS_BOOL mvideo_sc_is_enable_3dnr(void *pInstance, SCALER_WIN eWindow )
805*53ee8cc1Swenshuai.xi {
806*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
807*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
808*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
809*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
810*53ee8cc1Swenshuai.xi     return gSrcInfo[eWindow].bEn3DNR;
811*53ee8cc1Swenshuai.xi }
812*53ee8cc1Swenshuai.xi 
mvideo_sc_set_3dnr(void * pInstance,MS_BOOL bEnable,SCALER_WIN eWindow)813*53ee8cc1Swenshuai.xi void mvideo_sc_set_3dnr(void *pInstance, MS_BOOL bEnable,  SCALER_WIN eWindow )
814*53ee8cc1Swenshuai.xi {
815*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
816*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
817*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
818*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
819*53ee8cc1Swenshuai.xi     gSrcInfo[eWindow].bEn3DNR = bEnable;
820*53ee8cc1Swenshuai.xi }
821*53ee8cc1Swenshuai.xi 
822*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
823*53ee8cc1Swenshuai.xi /// check whether the specific window is YUV space
824*53ee8cc1Swenshuai.xi /// @param  eWindow                \b IN: which window we are going to set
825*53ee8cc1Swenshuai.xi /// @return @ref MS_BOOL
826*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_IsYUVSpace_U2(void * pInstance,SCALER_WIN eWindow)827*53ee8cc1Swenshuai.xi MS_BOOL MApi_XC_IsYUVSpace_U2( void* pInstance, SCALER_WIN eWindow )
828*53ee8cc1Swenshuai.xi {
829*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
830*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
831*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
832*53ee8cc1Swenshuai.xi 
833*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_ENTRY(pInstance,E_XC_ID_VAR);
834*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
835*53ee8cc1Swenshuai.xi     MS_BOOL bReturn = gSrcInfo[eWindow].bUseYUVSpace;
836*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_RETURN(pInstance,E_XC_ID_VAR);
837*53ee8cc1Swenshuai.xi     return bReturn;
838*53ee8cc1Swenshuai.xi }
839*53ee8cc1Swenshuai.xi 
MApi_XC_IsYUVSpace(SCALER_WIN eWindow)840*53ee8cc1Swenshuai.xi MS_BOOL MApi_XC_IsYUVSpace( SCALER_WIN eWindow )
841*53ee8cc1Swenshuai.xi {
842*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
843*53ee8cc1Swenshuai.xi     {
844*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
845*53ee8cc1Swenshuai.xi         return FALSE;
846*53ee8cc1Swenshuai.xi     }
847*53ee8cc1Swenshuai.xi 
848*53ee8cc1Swenshuai.xi     stXC_CHECK_YUVSPACE XCArgs;
849*53ee8cc1Swenshuai.xi     XCArgs.eWindow = eWindow;
850*53ee8cc1Swenshuai.xi     XCArgs.bReturnValue = FALSE;
851*53ee8cc1Swenshuai.xi 
852*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_CHECK_YUVSPACE, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
853*53ee8cc1Swenshuai.xi     {
854*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
855*53ee8cc1Swenshuai.xi         return FALSE;
856*53ee8cc1Swenshuai.xi     }
857*53ee8cc1Swenshuai.xi     else
858*53ee8cc1Swenshuai.xi     {
859*53ee8cc1Swenshuai.xi         return XCArgs.bReturnValue;
860*53ee8cc1Swenshuai.xi     }
861*53ee8cc1Swenshuai.xi }
862*53ee8cc1Swenshuai.xi 
863*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
864*53ee8cc1Swenshuai.xi /// Enable/Disable force RGB in
865*53ee8cc1Swenshuai.xi /// @param  bEnable                 \b IN: enable or disable
866*53ee8cc1Swenshuai.xi /// @param  eWindow                 \b IN: which window we are going to enable or disable
867*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_EnableForceRGBin_U2(void * pInstance,MS_BOOL bEnable,SCALER_WIN eWindow)868*53ee8cc1Swenshuai.xi void MApi_XC_EnableForceRGBin_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow)
869*53ee8cc1Swenshuai.xi {
870*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
871*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
872*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
873*53ee8cc1Swenshuai.xi 
874*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_ENTRY(pInstance,E_XC_ID_VAR);
875*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
876*53ee8cc1Swenshuai.xi     gSrcInfo[eWindow].bForceRGBin = bEnable;
877*53ee8cc1Swenshuai.xi 
878*53ee8cc1Swenshuai.xi #if defined(UFO_XC_HDR) && defined(UFO_XC_HDR_VERSION) && (UFO_XC_HDR_VERSION == 2)
879*53ee8cc1Swenshuai.xi     /// Set CFD skip picture setting or not.
880*53ee8cc1Swenshuai.xi     /// If force RGB in, CFD skip picture setting (Hur, Contrast, Saturation)
881*53ee8cc1Swenshuai.xi     XC_CFD_OSD_CONTROL cfdOsd;
882*53ee8cc1Swenshuai.xi     memset(&cfdOsd, 0, sizeof(XC_CFD_OSD_CONTROL));
883*53ee8cc1Swenshuai.xi 
884*53ee8cc1Swenshuai.xi     cfdOsd.u32Version = CFD_OSD_VERSION;
885*53ee8cc1Swenshuai.xi     cfdOsd.u16Length = sizeof(XC_CFD_OSD_CONTROL);
886*53ee8cc1Swenshuai.xi     cfdOsd.u8Win = eWindow;
887*53ee8cc1Swenshuai.xi     cfdOsd.bSkipPictureSettingValid = TRUE;
888*53ee8cc1Swenshuai.xi     cfdOsd.bSkipPictureSetting = bEnable;
889*53ee8cc1Swenshuai.xi 
890*53ee8cc1Swenshuai.xi     XC_CFD_CONTROL_INFO cfdCtrl;
891*53ee8cc1Swenshuai.xi     memset(&cfdCtrl, 0, sizeof(XC_CFD_CONTROL_INFO));
892*53ee8cc1Swenshuai.xi     cfdCtrl.enCtrlType = E_XC_CFD_CTRL_TYPE_OSD;
893*53ee8cc1Swenshuai.xi     cfdCtrl.pParam = &cfdOsd;
894*53ee8cc1Swenshuai.xi     cfdCtrl.u32ParamLen = sizeof(XC_CFD_OSD_CONTROL);
895*53ee8cc1Swenshuai.xi 
896*53ee8cc1Swenshuai.xi     MDrv_XC_HDR_Control(pInstance, E_XC_HDR_CTRL_CFD_CONTROL, &cfdCtrl);
897*53ee8cc1Swenshuai.xi #endif
898*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_RETURN(pInstance,E_XC_ID_VAR);
899*53ee8cc1Swenshuai.xi }
900*53ee8cc1Swenshuai.xi 
MApi_XC_EnableForceRGBin(MS_BOOL bEnable,SCALER_WIN eWindow)901*53ee8cc1Swenshuai.xi void MApi_XC_EnableForceRGBin(MS_BOOL bEnable, SCALER_WIN eWindow)
902*53ee8cc1Swenshuai.xi {
903*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
904*53ee8cc1Swenshuai.xi     {
905*53ee8cc1Swenshuai.xi         if(UtopiaOpen(MODULE_XC, &pu32XCInst, 0, NULL) != UTOPIA_STATUS_SUCCESS)
906*53ee8cc1Swenshuai.xi         {
907*53ee8cc1Swenshuai.xi             printf("UtopiaOpen XC failed\n");
908*53ee8cc1Swenshuai.xi             return;
909*53ee8cc1Swenshuai.xi         }
910*53ee8cc1Swenshuai.xi     }
911*53ee8cc1Swenshuai.xi 
912*53ee8cc1Swenshuai.xi     stXC_SET_FORCE_RGBIN XCArgs;
913*53ee8cc1Swenshuai.xi     XCArgs.bEnable = bEnable;
914*53ee8cc1Swenshuai.xi     XCArgs.eWindow = eWindow;
915*53ee8cc1Swenshuai.xi 
916*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_SET_FORCE_RGBIN, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
917*53ee8cc1Swenshuai.xi     {
918*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
919*53ee8cc1Swenshuai.xi         return;
920*53ee8cc1Swenshuai.xi     }
921*53ee8cc1Swenshuai.xi     else
922*53ee8cc1Swenshuai.xi     {
923*53ee8cc1Swenshuai.xi         return;
924*53ee8cc1Swenshuai.xi     }
925*53ee8cc1Swenshuai.xi }
926*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
927*53ee8cc1Swenshuai.xi /// This function will enable/diable framebufferless mode
928*53ee8cc1Swenshuai.xi /// @param  bEnable      \b IN: TRUE: enable, FALSE: otherwise
929*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_EnableFrameBufferLess_U2(void * pInstance,MS_BOOL bEnable)930*53ee8cc1Swenshuai.xi void MApi_XC_EnableFrameBufferLess_U2(void* pInstance, MS_BOOL bEnable)
931*53ee8cc1Swenshuai.xi {
932*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
933*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
934*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
935*53ee8cc1Swenshuai.xi 
936*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_ENTRY(pInstance,E_XC_ID_VAR);
937*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
938*53ee8cc1Swenshuai.xi     gSrcInfo[MAIN_WINDOW].bFBL = bEnable;
939*53ee8cc1Swenshuai.xi     _XC_ENTRY(pInstance);
940*53ee8cc1Swenshuai.xi     MDrv_SC_set_fbl(pInstance, bEnable);
941*53ee8cc1Swenshuai.xi     _XC_RETURN(pInstance);
942*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_RETURN(pInstance,E_XC_ID_VAR);
943*53ee8cc1Swenshuai.xi }
944*53ee8cc1Swenshuai.xi 
MApi_XC_EnableFrameBufferLess(MS_BOOL bEnable)945*53ee8cc1Swenshuai.xi void MApi_XC_EnableFrameBufferLess(MS_BOOL bEnable)
946*53ee8cc1Swenshuai.xi {
947*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
948*53ee8cc1Swenshuai.xi     {
949*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
950*53ee8cc1Swenshuai.xi         return;
951*53ee8cc1Swenshuai.xi     }
952*53ee8cc1Swenshuai.xi 
953*53ee8cc1Swenshuai.xi     stXC_SET_FRAMEBUFFERLESS XCArgs;
954*53ee8cc1Swenshuai.xi     XCArgs.bEnable = bEnable;
955*53ee8cc1Swenshuai.xi 
956*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_SET_FRAMEBUFFERLESS, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
957*53ee8cc1Swenshuai.xi     {
958*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
959*53ee8cc1Swenshuai.xi         return;
960*53ee8cc1Swenshuai.xi     }
961*53ee8cc1Swenshuai.xi     else
962*53ee8cc1Swenshuai.xi     {
963*53ee8cc1Swenshuai.xi         return;
964*53ee8cc1Swenshuai.xi     }
965*53ee8cc1Swenshuai.xi }
966*53ee8cc1Swenshuai.xi 
967*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
968*53ee8cc1Swenshuai.xi /// Query whether current XC is framebufferless or not
969*53ee8cc1Swenshuai.xi /// @return @ref MS_BOOL
970*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MDrv_XC_IsCurrentFrameBufferLessMode(void * pInstance)971*53ee8cc1Swenshuai.xi MS_BOOL MDrv_XC_IsCurrentFrameBufferLessMode(void *pInstance)
972*53ee8cc1Swenshuai.xi {
973*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
974*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
975*53ee8cc1Swenshuai.xi     //gSrcInfo[MAIN_WINDOW].bFBL = MDrv_SC_get_fbl();
976*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
977*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
978*53ee8cc1Swenshuai.xi #ifdef UFO_XC_FB_LEVEL
979*53ee8cc1Swenshuai.xi     if(gSrcInfo[MAIN_WINDOW].eFBLevel == E_XC_FB_LEVEL_FBL)
980*53ee8cc1Swenshuai.xi         return TRUE;
981*53ee8cc1Swenshuai.xi     else
982*53ee8cc1Swenshuai.xi         return FALSE;
983*53ee8cc1Swenshuai.xi #else
984*53ee8cc1Swenshuai.xi     return gSrcInfo[MAIN_WINDOW].bFBL;
985*53ee8cc1Swenshuai.xi #endif
986*53ee8cc1Swenshuai.xi }
987*53ee8cc1Swenshuai.xi 
MApi_XC_IsCurrentFrameBufferLessMode_U2(void * pInstance)988*53ee8cc1Swenshuai.xi MS_BOOL MApi_XC_IsCurrentFrameBufferLessMode_U2(void* pInstance)
989*53ee8cc1Swenshuai.xi {
990*53ee8cc1Swenshuai.xi     MS_BOOL bReturn = FALSE;
991*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
992*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
993*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_ENTRY(pInstance,E_XC_ID_VAR);
994*53ee8cc1Swenshuai.xi     bReturn = MDrv_XC_IsCurrentFrameBufferLessMode(pInstance);
995*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_RETURN(pInstance,E_XC_ID_VAR);
996*53ee8cc1Swenshuai.xi     return bReturn;
997*53ee8cc1Swenshuai.xi }
998*53ee8cc1Swenshuai.xi 
MApi_XC_IsCurrentFrameBufferLessMode(void)999*53ee8cc1Swenshuai.xi MS_BOOL MApi_XC_IsCurrentFrameBufferLessMode(void)
1000*53ee8cc1Swenshuai.xi {
1001*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
1002*53ee8cc1Swenshuai.xi     {
1003*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
1004*53ee8cc1Swenshuai.xi         return FALSE;
1005*53ee8cc1Swenshuai.xi     }
1006*53ee8cc1Swenshuai.xi 
1007*53ee8cc1Swenshuai.xi     stXC_CHECK_FRAMEBUFFERLESS XCArgs;
1008*53ee8cc1Swenshuai.xi     XCArgs.bReturnValue = FALSE;
1009*53ee8cc1Swenshuai.xi 
1010*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_CHECK_FRAMEBUFFERLESS, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
1011*53ee8cc1Swenshuai.xi     {
1012*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
1013*53ee8cc1Swenshuai.xi         return FALSE;
1014*53ee8cc1Swenshuai.xi     }
1015*53ee8cc1Swenshuai.xi     else
1016*53ee8cc1Swenshuai.xi     {
1017*53ee8cc1Swenshuai.xi         return XCArgs.bReturnValue;
1018*53ee8cc1Swenshuai.xi     }
1019*53ee8cc1Swenshuai.xi }
1020*53ee8cc1Swenshuai.xi 
1021*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
1022*53ee8cc1Swenshuai.xi /// This function will enable/diable request framebufferless mode
1023*53ee8cc1Swenshuai.xi /// @param  bEnable      \b IN: TRUE: enable, FALSE: otherwise
1024*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_EnableRequest_FrameBufferLess_U2(void * pInstance,MS_BOOL bEnable)1025*53ee8cc1Swenshuai.xi void MApi_XC_EnableRequest_FrameBufferLess_U2(void* pInstance, MS_BOOL bEnable)
1026*53ee8cc1Swenshuai.xi {
1027*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
1028*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
1029*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
1030*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_ENTRY(pInstance,E_XC_ID_VAR);
1031*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
1032*53ee8cc1Swenshuai.xi 
1033*53ee8cc1Swenshuai.xi     if(Hal_SC_Set_RequestFBL_Mode(pInstance, bEnable))
1034*53ee8cc1Swenshuai.xi     {
1035*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].bR_FBL = bEnable;
1036*53ee8cc1Swenshuai.xi 
1037*53ee8cc1Swenshuai.xi         // MVOP handshake. Default mvop always enable hsk mode.
1038*53ee8cc1Swenshuai.xi #if (HW_DESIGN_4K2K_VER != 7) //Kano and BOX chips HSK can not set here
1039*53ee8cc1Swenshuai.xi         MVOP_Handle stMvopHd = { E_MVOP_MODULE_MAIN };
1040*53ee8cc1Swenshuai.xi         MDrv_MVOP_SetCommand(&stMvopHd, E_MVOP_CMD_SET_HANDSHAKE_MODE, &bEnable);
1041*53ee8cc1Swenshuai.xi #endif
1042*53ee8cc1Swenshuai.xi         // Mirror Mode
1043*53ee8cc1Swenshuai.xi         if (gSrcInfo[MAIN_WINDOW].enInputSourceType == INPUT_SOURCE_DTV)
1044*53ee8cc1Swenshuai.xi         {
1045*53ee8cc1Swenshuai.xi             if (TRUE == bEnable)
1046*53ee8cc1Swenshuai.xi             {
1047*53ee8cc1Swenshuai.xi                 MVOP_DrvMirror enMvopMirror = E_VOPMIRROR_NONE;
1048*53ee8cc1Swenshuai.xi                 if (IsVMirrorMode(MAIN_WINDOW) && IsHMirrorMode(MAIN_WINDOW))
1049*53ee8cc1Swenshuai.xi                     enMvopMirror = E_VOPMIRROR_HVBOTH;
1050*53ee8cc1Swenshuai.xi                 else if (IsVMirrorMode(MAIN_WINDOW))
1051*53ee8cc1Swenshuai.xi                     enMvopMirror = E_VOPMIRROR_VERTICAL;
1052*53ee8cc1Swenshuai.xi                 else if (IsHMirrorMode(MAIN_WINDOW))
1053*53ee8cc1Swenshuai.xi                     enMvopMirror = E_VOPMIRROR_HORIZONTALL;
1054*53ee8cc1Swenshuai.xi 
1055*53ee8cc1Swenshuai.xi                 if (enMvopMirror != E_VOPMIRROR_NONE)
1056*53ee8cc1Swenshuai.xi                 {
1057*53ee8cc1Swenshuai.xi                     MDrv_MVOP_SetVOPMirrorMode(TRUE, enMvopMirror);
1058*53ee8cc1Swenshuai.xi                     MDrv_XC_EnableMirrorModeEx(pInstance, MIRROR_NORMAL, MAIN_WINDOW);
1059*53ee8cc1Swenshuai.xi                 }
1060*53ee8cc1Swenshuai.xi             }
1061*53ee8cc1Swenshuai.xi             else
1062*53ee8cc1Swenshuai.xi             {
1063*53ee8cc1Swenshuai.xi                 MVOP_Handle stHdl = { E_MVOP_MODULE_MAIN };
1064*53ee8cc1Swenshuai.xi                 MVOP_DrvMirror enMvopMirror = E_VOPMIRROR_NONE;
1065*53ee8cc1Swenshuai.xi                 MDrv_MVOP_GetCommand(&stHdl, E_MVOP_CMD_GET_MIRROR_MODE, &enMvopMirror, sizeof(enMvopMirror));
1066*53ee8cc1Swenshuai.xi                 MirrorMode_t enXcMirror = MIRROR_NORMAL;
1067*53ee8cc1Swenshuai.xi                 if (enMvopMirror == E_VOPMIRROR_HVBOTH)
1068*53ee8cc1Swenshuai.xi                     enXcMirror = MIRROR_HV;
1069*53ee8cc1Swenshuai.xi                 else if (enMvopMirror == E_VOPMIRROR_VERTICAL)
1070*53ee8cc1Swenshuai.xi                     enXcMirror = MIRROR_V_ONLY;
1071*53ee8cc1Swenshuai.xi                 else if (enMvopMirror == E_VOPMIRROR_HORIZONTALL)
1072*53ee8cc1Swenshuai.xi                     enXcMirror = MIRROR_H_ONLY;
1073*53ee8cc1Swenshuai.xi 
1074*53ee8cc1Swenshuai.xi                 if(enXcMirror != MIRROR_NORMAL)
1075*53ee8cc1Swenshuai.xi                 {
1076*53ee8cc1Swenshuai.xi                     MDrv_MVOP_SetVOPMirrorMode(FALSE, enMvopMirror);
1077*53ee8cc1Swenshuai.xi                     MDrv_XC_EnableMirrorModeEx(pInstance, enXcMirror, MAIN_WINDOW);
1078*53ee8cc1Swenshuai.xi                 }
1079*53ee8cc1Swenshuai.xi             }
1080*53ee8cc1Swenshuai.xi         }
1081*53ee8cc1Swenshuai.xi     }
1082*53ee8cc1Swenshuai.xi     else
1083*53ee8cc1Swenshuai.xi         printf("Not support\n");
1084*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_RETURN(pInstance,E_XC_ID_VAR);
1085*53ee8cc1Swenshuai.xi }
1086*53ee8cc1Swenshuai.xi 
MApi_XC_EnableRequest_FrameBufferLess(MS_BOOL bEnable)1087*53ee8cc1Swenshuai.xi void MApi_XC_EnableRequest_FrameBufferLess(MS_BOOL bEnable)
1088*53ee8cc1Swenshuai.xi {
1089*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
1090*53ee8cc1Swenshuai.xi     {
1091*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
1092*53ee8cc1Swenshuai.xi         return;
1093*53ee8cc1Swenshuai.xi     }
1094*53ee8cc1Swenshuai.xi 
1095*53ee8cc1Swenshuai.xi     stXC_SET_REQUEST_FRAMEBUFFERLESS XCArgs;
1096*53ee8cc1Swenshuai.xi     XCArgs.bEnable = bEnable;
1097*53ee8cc1Swenshuai.xi 
1098*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_SET_REQUEST_FRAMEBUFFERLESS, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
1099*53ee8cc1Swenshuai.xi     {
1100*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
1101*53ee8cc1Swenshuai.xi         return;
1102*53ee8cc1Swenshuai.xi     }
1103*53ee8cc1Swenshuai.xi     else
1104*53ee8cc1Swenshuai.xi     {
1105*53ee8cc1Swenshuai.xi         return;
1106*53ee8cc1Swenshuai.xi     }
1107*53ee8cc1Swenshuai.xi }
1108*53ee8cc1Swenshuai.xi 
1109*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
1110*53ee8cc1Swenshuai.xi /// Query whether current XC is request framebufferless or not
1111*53ee8cc1Swenshuai.xi /// the return value is not reliable before load MADi mode
1112*53ee8cc1Swenshuai.xi /// @return @ref MS_BOOL
1113*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MDrv_XC_IsCurrentRequest_FrameBufferLessMode(void * pInstance)1114*53ee8cc1Swenshuai.xi MS_BOOL MDrv_XC_IsCurrentRequest_FrameBufferLessMode(void* pInstance)
1115*53ee8cc1Swenshuai.xi {
1116*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
1117*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
1118*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
1119*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
1120*53ee8cc1Swenshuai.xi #ifdef UFO_XC_FB_LEVEL
1121*53ee8cc1Swenshuai.xi     if(gSrcInfo[MAIN_WINDOW].eFBLevel == E_XC_FB_LEVEL_RFBL_DI)
1122*53ee8cc1Swenshuai.xi         return TRUE;
1123*53ee8cc1Swenshuai.xi     else
1124*53ee8cc1Swenshuai.xi         return FALSE;
1125*53ee8cc1Swenshuai.xi #else
1126*53ee8cc1Swenshuai.xi     return gSrcInfo[MAIN_WINDOW].bR_FBL;
1127*53ee8cc1Swenshuai.xi #endif
1128*53ee8cc1Swenshuai.xi }
1129*53ee8cc1Swenshuai.xi 
MApi_XC_IsCurrentRequest_FrameBufferLessMode_U2(void * pInstance)1130*53ee8cc1Swenshuai.xi MS_BOOL MApi_XC_IsCurrentRequest_FrameBufferLessMode_U2(void* pInstance)
1131*53ee8cc1Swenshuai.xi {
1132*53ee8cc1Swenshuai.xi     MS_BOOL bReturn = FALSE;
1133*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
1134*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
1135*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_ENTRY(pInstance,E_XC_ID_VAR);
1136*53ee8cc1Swenshuai.xi     bReturn = MDrv_XC_IsCurrentRequest_FrameBufferLessMode(pInstance);
1137*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_RETURN(pInstance,E_XC_ID_VAR);
1138*53ee8cc1Swenshuai.xi     return bReturn;
1139*53ee8cc1Swenshuai.xi }
1140*53ee8cc1Swenshuai.xi 
MApi_XC_IsCurrentRequest_FrameBufferLessMode(void)1141*53ee8cc1Swenshuai.xi MS_BOOL MApi_XC_IsCurrentRequest_FrameBufferLessMode(void)
1142*53ee8cc1Swenshuai.xi {
1143*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
1144*53ee8cc1Swenshuai.xi     {
1145*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
1146*53ee8cc1Swenshuai.xi         return FALSE;
1147*53ee8cc1Swenshuai.xi     }
1148*53ee8cc1Swenshuai.xi 
1149*53ee8cc1Swenshuai.xi     stXC_CHECK_REQUEST_FRAMEBUFFERLESS XCArgs;
1150*53ee8cc1Swenshuai.xi     XCArgs.bReturnValue = FALSE;
1151*53ee8cc1Swenshuai.xi 
1152*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_CHECK_REQUEST_FRAMEBUFFERLESS, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
1153*53ee8cc1Swenshuai.xi     {
1154*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
1155*53ee8cc1Swenshuai.xi         return FALSE;
1156*53ee8cc1Swenshuai.xi     }
1157*53ee8cc1Swenshuai.xi     else
1158*53ee8cc1Swenshuai.xi     {
1159*53ee8cc1Swenshuai.xi         return XCArgs.bReturnValue;
1160*53ee8cc1Swenshuai.xi     }
1161*53ee8cc1Swenshuai.xi }
1162*53ee8cc1Swenshuai.xi 
1163*53ee8cc1Swenshuai.xi //Obsolte function, do not use it any more
mvideo_sc_get_output_vfreq_U2(void * pInstance)1164*53ee8cc1Swenshuai.xi MS_U16 mvideo_sc_get_output_vfreq_U2(void* pInstance)
1165*53ee8cc1Swenshuai.xi {
1166*53ee8cc1Swenshuai.xi     MS_U16 u16OutputVFreq = 0;
1167*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
1168*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
1169*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_ENTRY(pInstance,E_XC_ID_VAR);
1170*53ee8cc1Swenshuai.xi     u16OutputVFreq = MDrv_SC_GetOutputVFreqX100(pInstance)/10;
1171*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_RETURN(pInstance,E_XC_ID_VAR);
1172*53ee8cc1Swenshuai.xi     return u16OutputVFreq;
1173*53ee8cc1Swenshuai.xi }
1174*53ee8cc1Swenshuai.xi 
1175*53ee8cc1Swenshuai.xi #ifdef UFO_XC_FB_LEVEL
1176*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
1177*53ee8cc1Swenshuai.xi /// This function will decide using FB level
1178*53ee8cc1Swenshuai.xi /// @param  bEnable      \b IN: TRUE: enable, FALSE: otherwise
1179*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_Set_FB_Level_U2(void * pInstance,E_XC_FB_LEVEL eFBLevel,SCALER_WIN eWindow)1180*53ee8cc1Swenshuai.xi E_APIXC_ReturnValue MApi_XC_Set_FB_Level_U2(void* pInstance, E_XC_FB_LEVEL eFBLevel, SCALER_WIN eWindow)
1181*53ee8cc1Swenshuai.xi {
1182*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
1183*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
1184*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
1185*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_ENTRY(pInstance,E_XC_ID_VAR);
1186*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
1187*53ee8cc1Swenshuai.xi     _XC_ENTRY(pInstance);
1188*53ee8cc1Swenshuai.xi 
1189*53ee8cc1Swenshuai.xi     if(eWindow == MAIN_WINDOW)
1190*53ee8cc1Swenshuai.xi     {
1191*53ee8cc1Swenshuai.xi         gSrcInfo[MAIN_WINDOW].eFBLevel = eFBLevel;
1192*53ee8cc1Swenshuai.xi     }
1193*53ee8cc1Swenshuai.xi     else
1194*53ee8cc1Swenshuai.xi     {
1195*53ee8cc1Swenshuai.xi         printf("Not support Sub Window now !!!\n");
1196*53ee8cc1Swenshuai.xi     }
1197*53ee8cc1Swenshuai.xi 
1198*53ee8cc1Swenshuai.xi     printf(" [eWindow] = %d , FB LEVEL = %d!!!!!\n", eWindow, eFBLevel);
1199*53ee8cc1Swenshuai.xi     _XC_RETURN(pInstance);
1200*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_RETURN(pInstance,E_XC_ID_VAR);
1201*53ee8cc1Swenshuai.xi     return E_APIXC_RET_OK;
1202*53ee8cc1Swenshuai.xi }
1203*53ee8cc1Swenshuai.xi 
MApi_XC_Set_FB_Level(E_XC_FB_LEVEL eFBLevel,SCALER_WIN eWindow)1204*53ee8cc1Swenshuai.xi E_APIXC_ReturnValue  MApi_XC_Set_FB_Level(E_XC_FB_LEVEL eFBLevel, SCALER_WIN eWindow)
1205*53ee8cc1Swenshuai.xi {
1206*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
1207*53ee8cc1Swenshuai.xi     {
1208*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
1209*53ee8cc1Swenshuai.xi         return E_APIXC_RET_FAIL;
1210*53ee8cc1Swenshuai.xi     }
1211*53ee8cc1Swenshuai.xi 
1212*53ee8cc1Swenshuai.xi     stXC_SET_FB_LEVEL XCArgs;
1213*53ee8cc1Swenshuai.xi     XCArgs.eFBLevel = eFBLevel;
1214*53ee8cc1Swenshuai.xi     XCArgs.eWindow = eWindow;
1215*53ee8cc1Swenshuai.xi     XCArgs.eReturnValue = E_APIXC_RET_FAIL;
1216*53ee8cc1Swenshuai.xi 
1217*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_SET_FB_LEVEL, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
1218*53ee8cc1Swenshuai.xi     {
1219*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
1220*53ee8cc1Swenshuai.xi         return E_APIXC_RET_FAIL;
1221*53ee8cc1Swenshuai.xi     }
1222*53ee8cc1Swenshuai.xi     else
1223*53ee8cc1Swenshuai.xi     {
1224*53ee8cc1Swenshuai.xi         return XCArgs.eReturnValue;;
1225*53ee8cc1Swenshuai.xi     }
1226*53ee8cc1Swenshuai.xi }
1227*53ee8cc1Swenshuai.xi 
1228*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
1229*53ee8cc1Swenshuai.xi /// This function will get current FB level
1230*53ee8cc1Swenshuai.xi /// @param  bEnable      \b IN: TRUE: enable, FALSE: otherwise
1231*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_Get_FB_Level_U2(void * pInstance,SCALER_WIN eWindow)1232*53ee8cc1Swenshuai.xi E_XC_FB_LEVEL MApi_XC_Get_FB_Level_U2(void* pInstance, SCALER_WIN eWindow)
1233*53ee8cc1Swenshuai.xi {
1234*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
1235*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
1236*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
1237*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_ENTRY(pInstance,E_XC_ID_VAR);
1238*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
1239*53ee8cc1Swenshuai.xi     E_XC_FB_LEVEL eTmpFBLevel = E_XC_FB_LEVEL_FB;
1240*53ee8cc1Swenshuai.xi     _XC_ENTRY(pInstance);
1241*53ee8cc1Swenshuai.xi 
1242*53ee8cc1Swenshuai.xi     if(eWindow == MAIN_WINDOW)
1243*53ee8cc1Swenshuai.xi     {
1244*53ee8cc1Swenshuai.xi         eTmpFBLevel = gSrcInfo[MAIN_WINDOW].eFBLevel;
1245*53ee8cc1Swenshuai.xi     }
1246*53ee8cc1Swenshuai.xi     else
1247*53ee8cc1Swenshuai.xi     {
1248*53ee8cc1Swenshuai.xi         printf("Not support Sub Window now , default using FB!!!\n");
1249*53ee8cc1Swenshuai.xi         eTmpFBLevel = E_XC_FB_LEVEL_FB;
1250*53ee8cc1Swenshuai.xi     }
1251*53ee8cc1Swenshuai.xi 
1252*53ee8cc1Swenshuai.xi     _XC_RETURN(pInstance);
1253*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_RETURN(pInstance,E_XC_ID_VAR);
1254*53ee8cc1Swenshuai.xi 
1255*53ee8cc1Swenshuai.xi     XC_LOG_TRACE(XC_DBGLEVEL_SETWINDOW, " [eWindow] = %d , FB LEVEL = %d!!!!!\n", eWindow, eTmpFBLevel);
1256*53ee8cc1Swenshuai.xi     return eTmpFBLevel;
1257*53ee8cc1Swenshuai.xi }
1258*53ee8cc1Swenshuai.xi 
MApi_XC_Get_FB_Level(SCALER_WIN eWindow)1259*53ee8cc1Swenshuai.xi E_XC_FB_LEVEL SYMBOL_WEAK MApi_XC_Get_FB_Level(SCALER_WIN eWindow)
1260*53ee8cc1Swenshuai.xi {
1261*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
1262*53ee8cc1Swenshuai.xi     {
1263*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
1264*53ee8cc1Swenshuai.xi         return E_XC_FB_LEVEL_NUM;
1265*53ee8cc1Swenshuai.xi     }
1266*53ee8cc1Swenshuai.xi 
1267*53ee8cc1Swenshuai.xi     stXC_GET_FB_LEVEL XCArgs;
1268*53ee8cc1Swenshuai.xi     XCArgs.eWindow = eWindow;
1269*53ee8cc1Swenshuai.xi     XCArgs.eReturnValue = E_XC_FB_LEVEL_FB;
1270*53ee8cc1Swenshuai.xi 
1271*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_GET_FB_LEVEL, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
1272*53ee8cc1Swenshuai.xi     {
1273*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
1274*53ee8cc1Swenshuai.xi         return E_XC_FB_LEVEL_NUM;
1275*53ee8cc1Swenshuai.xi     }
1276*53ee8cc1Swenshuai.xi     else
1277*53ee8cc1Swenshuai.xi     {
1278*53ee8cc1Swenshuai.xi         return XCArgs.eReturnValue;
1279*53ee8cc1Swenshuai.xi     }
1280*53ee8cc1Swenshuai.xi }
1281*53ee8cc1Swenshuai.xi #endif
1282*53ee8cc1Swenshuai.xi 
mvideo_sc_get_output_vfreq(void)1283*53ee8cc1Swenshuai.xi MS_U16 mvideo_sc_get_output_vfreq(void)
1284*53ee8cc1Swenshuai.xi {
1285*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
1286*53ee8cc1Swenshuai.xi     {
1287*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
1288*53ee8cc1Swenshuai.xi         return 0;
1289*53ee8cc1Swenshuai.xi     }
1290*53ee8cc1Swenshuai.xi 
1291*53ee8cc1Swenshuai.xi     stXC_GET_OUTPUT_VFREQ XCArgs;
1292*53ee8cc1Swenshuai.xi     XCArgs.u16ReturnValue = 0;
1293*53ee8cc1Swenshuai.xi 
1294*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_GET_OUTPUT_VFREQ, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
1295*53ee8cc1Swenshuai.xi     {
1296*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
1297*53ee8cc1Swenshuai.xi         return 0;
1298*53ee8cc1Swenshuai.xi     }
1299*53ee8cc1Swenshuai.xi     else
1300*53ee8cc1Swenshuai.xi     {
1301*53ee8cc1Swenshuai.xi         return XCArgs.u16ReturnValue;
1302*53ee8cc1Swenshuai.xi     }
1303*53ee8cc1Swenshuai.xi }
1304*53ee8cc1Swenshuai.xi 
1305*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
1306*53ee8cc1Swenshuai.xi /// check whether specific window is memory format 422
1307*53ee8cc1Swenshuai.xi /// @param  eWindow                \b IN: which window we are going to query
1308*53ee8cc1Swenshuai.xi /// @return @ref MS_BOOL
1309*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_IsMemoryFormat422_U2(void * pInstance,SCALER_WIN eWindow)1310*53ee8cc1Swenshuai.xi MS_BOOL MApi_XC_IsMemoryFormat422_U2( void* pInstance, SCALER_WIN eWindow )
1311*53ee8cc1Swenshuai.xi {
1312*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
1313*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
1314*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
1315*53ee8cc1Swenshuai.xi 
1316*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_ENTRY(pInstance,E_XC_ID_VAR);
1317*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
1318*53ee8cc1Swenshuai.xi     MS_BOOL bReturn = gSrcInfo[eWindow].bMemFmt422;
1319*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_RETURN(pInstance,E_XC_ID_VAR);
1320*53ee8cc1Swenshuai.xi     return bReturn;
1321*53ee8cc1Swenshuai.xi }
1322*53ee8cc1Swenshuai.xi 
MApi_XC_IsMemoryFormat422(SCALER_WIN eWindow)1323*53ee8cc1Swenshuai.xi MS_BOOL MApi_XC_IsMemoryFormat422( SCALER_WIN eWindow )
1324*53ee8cc1Swenshuai.xi {
1325*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
1326*53ee8cc1Swenshuai.xi     {
1327*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
1328*53ee8cc1Swenshuai.xi         return FALSE;
1329*53ee8cc1Swenshuai.xi     }
1330*53ee8cc1Swenshuai.xi 
1331*53ee8cc1Swenshuai.xi     stXC_CHECK_MEMORYFORMAT422 XCArgs;
1332*53ee8cc1Swenshuai.xi     XCArgs.eWindow = eWindow;
1333*53ee8cc1Swenshuai.xi     XCArgs.bReturnValue = FALSE;
1334*53ee8cc1Swenshuai.xi 
1335*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_CHECK_MEMORYFORMAT422, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
1336*53ee8cc1Swenshuai.xi     {
1337*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
1338*53ee8cc1Swenshuai.xi         return FALSE;
1339*53ee8cc1Swenshuai.xi     }
1340*53ee8cc1Swenshuai.xi     else
1341*53ee8cc1Swenshuai.xi     {
1342*53ee8cc1Swenshuai.xi         return XCArgs.bReturnValue;
1343*53ee8cc1Swenshuai.xi     }
1344*53ee8cc1Swenshuai.xi }
1345*53ee8cc1Swenshuai.xi 
1346*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
1347*53ee8cc1Swenshuai.xi /// Set XC mirror hv mode for main window
1348*53ee8cc1Swenshuai.xi /// @param  bEnable                \b IN: enable or disable XC mirror mode
1349*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_EnableMirrorMode_U2(void * pInstance,MS_BOOL bEnable)1350*53ee8cc1Swenshuai.xi void MApi_XC_EnableMirrorMode_U2( void* pInstance, MS_BOOL bEnable )
1351*53ee8cc1Swenshuai.xi {
1352*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
1353*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
1354*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_ENTRY(pInstance,E_XC_ID_VAR);
1355*53ee8cc1Swenshuai.xi     _XC_ENTRY(pInstance);
1356*53ee8cc1Swenshuai.xi     if (bEnable)
1357*53ee8cc1Swenshuai.xi     {
1358*53ee8cc1Swenshuai.xi         MDrv_XC_EnableMirrorModeEx(pInstance, MIRROR_HV, MAIN_WINDOW);
1359*53ee8cc1Swenshuai.xi     }
1360*53ee8cc1Swenshuai.xi     else
1361*53ee8cc1Swenshuai.xi     {
1362*53ee8cc1Swenshuai.xi         MDrv_XC_EnableMirrorModeEx(pInstance, MIRROR_NORMAL, MAIN_WINDOW);
1363*53ee8cc1Swenshuai.xi     }
1364*53ee8cc1Swenshuai.xi     _XC_RETURN(pInstance);
1365*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_RETURN(pInstance,E_XC_ID_VAR);
1366*53ee8cc1Swenshuai.xi }
1367*53ee8cc1Swenshuai.xi 
MApi_XC_EnableMirrorMode(MS_BOOL bEnable)1368*53ee8cc1Swenshuai.xi void MApi_XC_EnableMirrorMode( MS_BOOL bEnable )
1369*53ee8cc1Swenshuai.xi {
1370*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
1371*53ee8cc1Swenshuai.xi     {
1372*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
1373*53ee8cc1Swenshuai.xi         return;
1374*53ee8cc1Swenshuai.xi     }
1375*53ee8cc1Swenshuai.xi 
1376*53ee8cc1Swenshuai.xi     stXC_SET_MIRROR_MODE_ENABLE XCArgs;
1377*53ee8cc1Swenshuai.xi     XCArgs.bEnable = bEnable;
1378*53ee8cc1Swenshuai.xi 
1379*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_SET_MIRROR_MODE_ENABLE, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
1380*53ee8cc1Swenshuai.xi     {
1381*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
1382*53ee8cc1Swenshuai.xi         return;
1383*53ee8cc1Swenshuai.xi     }
1384*53ee8cc1Swenshuai.xi     else
1385*53ee8cc1Swenshuai.xi     {
1386*53ee8cc1Swenshuai.xi         return;
1387*53ee8cc1Swenshuai.xi     }
1388*53ee8cc1Swenshuai.xi }
1389*53ee8cc1Swenshuai.xi 
1390*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
1391*53ee8cc1Swenshuai.xi /// Get XC mirror mode for main window
1392*53ee8cc1Swenshuai.xi /// @return @ref MirrorMode_t
1393*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_GetMirrorModeType(void)1394*53ee8cc1Swenshuai.xi MirrorMode_t MApi_XC_GetMirrorModeType( void )
1395*53ee8cc1Swenshuai.xi {
1396*53ee8cc1Swenshuai.xi     //This API not use anymore
1397*53ee8cc1Swenshuai.xi     //instance use XC0
1398*53ee8cc1Swenshuai.xi     return MDrv_XC_GetMirrorModeTypeEx(pu32XCInst, MAIN_WINDOW);
1399*53ee8cc1Swenshuai.xi }
1400*53ee8cc1Swenshuai.xi 
1401*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
1402*53ee8cc1Swenshuai.xi /// Set XC mirror mode for main and sub window
1403*53ee8cc1Swenshuai.xi /// @param  bEnable                \b IN: enable or disable XC mirror mode
1404*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_EnableMirrorMode2_U2(void * pInstance,MirrorMode_t eMirrorMode)1405*53ee8cc1Swenshuai.xi void MApi_XC_EnableMirrorMode2_U2( void* pInstance, MirrorMode_t eMirrorMode )
1406*53ee8cc1Swenshuai.xi {
1407*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
1408*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
1409*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_ENTRY(pInstance,E_XC_ID_VAR);
1410*53ee8cc1Swenshuai.xi     _XC_ENTRY(pInstance);
1411*53ee8cc1Swenshuai.xi     MDrv_XC_EnableMirrorModeEx(pInstance, eMirrorMode, MAIN_WINDOW);
1412*53ee8cc1Swenshuai.xi     MDrv_XC_EnableMirrorModeEx(pInstance, eMirrorMode, SUB_WINDOW);
1413*53ee8cc1Swenshuai.xi     _XC_RETURN(pInstance);
1414*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_RETURN(pInstance,E_XC_ID_VAR);
1415*53ee8cc1Swenshuai.xi }
1416*53ee8cc1Swenshuai.xi 
MApi_XC_EnableMirrorMode2(MirrorMode_t eMirrorMode)1417*53ee8cc1Swenshuai.xi void MApi_XC_EnableMirrorMode2( MirrorMode_t eMirrorMode )
1418*53ee8cc1Swenshuai.xi {
1419*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
1420*53ee8cc1Swenshuai.xi     {
1421*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
1422*53ee8cc1Swenshuai.xi         return;
1423*53ee8cc1Swenshuai.xi     }
1424*53ee8cc1Swenshuai.xi 
1425*53ee8cc1Swenshuai.xi     stXC_SET_MIRROR_MODE2_ENABLE XCArgs;
1426*53ee8cc1Swenshuai.xi     XCArgs.eMirrorMode = eMirrorMode;
1427*53ee8cc1Swenshuai.xi 
1428*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_SET_MIRROR_MODE2_ENABLE, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
1429*53ee8cc1Swenshuai.xi     {
1430*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
1431*53ee8cc1Swenshuai.xi         return;
1432*53ee8cc1Swenshuai.xi     }
1433*53ee8cc1Swenshuai.xi     else
1434*53ee8cc1Swenshuai.xi     {
1435*53ee8cc1Swenshuai.xi         return;
1436*53ee8cc1Swenshuai.xi     }
1437*53ee8cc1Swenshuai.xi }
1438*53ee8cc1Swenshuai.xi 
1439*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
1440*53ee8cc1Swenshuai.xi /// Set XC mirror mode for main or sub window
1441*53ee8cc1Swenshuai.xi /// @param  eMirrorMode                 \b IN: enable or disable XC mirror mode
1442*53ee8cc1Swenshuai.xi /// @param  eWindow                     \b IN: main or sub window
1443*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_EnableMirrorModeEx_U2(void * pInstance,MirrorMode_t eMirrorMode,SCALER_WIN eWindow)1444*53ee8cc1Swenshuai.xi MS_BOOL MApi_XC_EnableMirrorModeEx_U2( void* pInstance, MirrorMode_t eMirrorMode,  SCALER_WIN eWindow)
1445*53ee8cc1Swenshuai.xi {
1446*53ee8cc1Swenshuai.xi     MS_BOOL bReturn = FALSE;
1447*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
1448*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
1449*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_ENTRY(pInstance,E_XC_ID_VAR);
1450*53ee8cc1Swenshuai.xi     _XC_ENTRY(pInstance);
1451*53ee8cc1Swenshuai.xi     bReturn = MDrv_XC_EnableMirrorModeEx(pInstance, eMirrorMode, eWindow);
1452*53ee8cc1Swenshuai.xi     _XC_RETURN(pInstance);
1453*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_RETURN(pInstance,E_XC_ID_VAR);
1454*53ee8cc1Swenshuai.xi     return bReturn;
1455*53ee8cc1Swenshuai.xi 
1456*53ee8cc1Swenshuai.xi }
1457*53ee8cc1Swenshuai.xi 
MApi_XC_EnableMirrorModeEx(MirrorMode_t eMirrorMode,SCALER_WIN eWindow)1458*53ee8cc1Swenshuai.xi MS_BOOL MApi_XC_EnableMirrorModeEx( MirrorMode_t eMirrorMode,  SCALER_WIN eWindow)
1459*53ee8cc1Swenshuai.xi {
1460*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
1461*53ee8cc1Swenshuai.xi     {
1462*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
1463*53ee8cc1Swenshuai.xi         return FALSE;
1464*53ee8cc1Swenshuai.xi     }
1465*53ee8cc1Swenshuai.xi 
1466*53ee8cc1Swenshuai.xi     stXC_SET_MIRRORMODE_EX XCArgs;
1467*53ee8cc1Swenshuai.xi     XCArgs.eMirrorMode = eMirrorMode;
1468*53ee8cc1Swenshuai.xi     XCArgs.eWindow = eWindow;
1469*53ee8cc1Swenshuai.xi     XCArgs.bReturnValue = FALSE;
1470*53ee8cc1Swenshuai.xi 
1471*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_SET_MIRRORMODE_EX, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
1472*53ee8cc1Swenshuai.xi     {
1473*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
1474*53ee8cc1Swenshuai.xi         return FALSE;
1475*53ee8cc1Swenshuai.xi     }
1476*53ee8cc1Swenshuai.xi     else
1477*53ee8cc1Swenshuai.xi     {
1478*53ee8cc1Swenshuai.xi         return XCArgs.bReturnValue;
1479*53ee8cc1Swenshuai.xi     }
1480*53ee8cc1Swenshuai.xi }
1481*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
1482*53ee8cc1Swenshuai.xi /// Get XC mirror mode for main or sub window
1483*53ee8cc1Swenshuai.xi /// @param  eWindow                \b IN: main or sub window
1484*53ee8cc1Swenshuai.xi /// @return @ref MirrorMode_t
1485*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MDrv_XC_GetMirrorModeTypeEx(void * pInstance,SCALER_WIN eWindow)1486*53ee8cc1Swenshuai.xi MirrorMode_t MDrv_XC_GetMirrorModeTypeEx(void *pInstance, SCALER_WIN eWindow)
1487*53ee8cc1Swenshuai.xi {
1488*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
1489*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
1490*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
1491*53ee8cc1Swenshuai.xi 
1492*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
1493*53ee8cc1Swenshuai.xi     MirrorMode_t eReturn = gSrcInfo[eWindow].Status2.eMirrorMode;
1494*53ee8cc1Swenshuai.xi     return eReturn;
1495*53ee8cc1Swenshuai.xi }
1496*53ee8cc1Swenshuai.xi 
MApi_XC_GetMirrorModeTypeEx_U2(void * pInstance,SCALER_WIN eWindow)1497*53ee8cc1Swenshuai.xi MirrorMode_t MApi_XC_GetMirrorModeTypeEx_U2(void* pInstance, SCALER_WIN eWindow)
1498*53ee8cc1Swenshuai.xi {
1499*53ee8cc1Swenshuai.xi     MirrorMode_t eMirrorMode = MIRROR_MAX;
1500*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
1501*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
1502*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_ENTRY(pInstance,E_XC_ID_VAR);
1503*53ee8cc1Swenshuai.xi     eMirrorMode = MDrv_XC_GetMirrorModeTypeEx(pInstance, eWindow);
1504*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_RETURN(pInstance,E_XC_ID_VAR);
1505*53ee8cc1Swenshuai.xi     return eMirrorMode;
1506*53ee8cc1Swenshuai.xi }
1507*53ee8cc1Swenshuai.xi 
MApi_XC_GetMirrorModeTypeEx(SCALER_WIN eWindow)1508*53ee8cc1Swenshuai.xi MirrorMode_t MApi_XC_GetMirrorModeTypeEx(SCALER_WIN eWindow)
1509*53ee8cc1Swenshuai.xi {
1510*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
1511*53ee8cc1Swenshuai.xi     {
1512*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
1513*53ee8cc1Swenshuai.xi         return MIRROR_MAX;
1514*53ee8cc1Swenshuai.xi     }
1515*53ee8cc1Swenshuai.xi 
1516*53ee8cc1Swenshuai.xi     stXC_GET_MIRRORMODE_TYPEEX XCArgs;
1517*53ee8cc1Swenshuai.xi     XCArgs.eWindow = eWindow;
1518*53ee8cc1Swenshuai.xi     XCArgs.eReturnValue = MIRROR_MAX;
1519*53ee8cc1Swenshuai.xi 
1520*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_GET_MIRRORMODE_TYPEEX, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
1521*53ee8cc1Swenshuai.xi     {
1522*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
1523*53ee8cc1Swenshuai.xi         return MIRROR_MAX;
1524*53ee8cc1Swenshuai.xi     }
1525*53ee8cc1Swenshuai.xi     else
1526*53ee8cc1Swenshuai.xi     {
1527*53ee8cc1Swenshuai.xi         return XCArgs.eReturnValue;
1528*53ee8cc1Swenshuai.xi     }
1529*53ee8cc1Swenshuai.xi }
1530*53ee8cc1Swenshuai.xi 
1531*53ee8cc1Swenshuai.xi #if SeamlessZapping_DBG // for SeamLess Zapping Debug
_MDrv_XC_GetXCReg_ByISR(SC_INT_SRC eIntNum,void * pParam)1532*53ee8cc1Swenshuai.xi void _MDrv_XC_GetXCReg_ByISR(SC_INT_SRC eIntNum, void * pParam)
1533*53ee8cc1Swenshuai.xi {
1534*53ee8cc1Swenshuai.xi /// Add the reg info for debug
1535*53ee8cc1Swenshuai.xi     eIntNum = eIntNum;
1536*53ee8cc1Swenshuai.xi     pParam = pParam;
1537*53ee8cc1Swenshuai.xi     printf("@@#@@[%s][%d]BK1F_79=%x\n",__FUNCTION__, __LINE__, (MS_U16)(SC_R2BYTEMSK(REG_SC_BK1F_79_L, 0xFFFF)));
1538*53ee8cc1Swenshuai.xi     printf("@@#@@[%s][%d]BK12_3A=%x\n",__FUNCTION__, __LINE__, (SC_R2BYTEMSK(REG_SC_BK12_3A_L, 0xFF)));
1539*53ee8cc1Swenshuai.xi     printf("@@#@@[%s][%d]BK12_0E=%x, BK12_0F=%x\n",
1540*53ee8cc1Swenshuai.xi         __FUNCTION__, __LINE__, (MS_U16)(SC_R2BYTEMSK(REG_SC_BK12_0E_L, 0x7FF)),(MS_U16)(SC_R2BYTEMSK(REG_SC_BK12_0F_L, 0x7FF)));
1541*53ee8cc1Swenshuai.xi     printf("@@#@@[%s][%d]BK12_16=%x, BK12_17=%x\n",
1542*53ee8cc1Swenshuai.xi         __FUNCTION__, __LINE__, (MS_U16)(SC_R2BYTEMSK(REG_SC_BK12_16_L, 0x7FF)),(MS_U16)(SC_R2BYTEMSK(REG_SC_BK12_17_L, 0x7FF)));
1543*53ee8cc1Swenshuai.xi     printf("@@#@@[%s][%d]SC3_2A=%x\n",
1544*53ee8cc1Swenshuai.xi         __FUNCTION__, __LINE__, (MS_U16)(R2BYTEMSK(L_BK_LPLL(0x2A), 0x3FF)));
1545*53ee8cc1Swenshuai.xi 
1546*53ee8cc1Swenshuai.xi }
1547*53ee8cc1Swenshuai.xi #endif
1548*53ee8cc1Swenshuai.xi #define LPLL_TIMEOUT  300  // ms
1549*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
1550*53ee8cc1Swenshuai.xi /// let display video freeze by disable scaler buffer write
1551*53ee8cc1Swenshuai.xi /// @param  bEnable        \b IN: TRUE: enable, FALSE: otherwise
1552*53ee8cc1Swenshuai.xi /// @param  eWindow        \b IN: which window we are going to set
1553*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MDrv_XC_FreezeImg(void * pInstance,MS_BOOL bEnable,SCALER_WIN eWindow)1554*53ee8cc1Swenshuai.xi void MDrv_XC_FreezeImg(void *pInstance, MS_BOOL bEnable, SCALER_WIN eWindow)
1555*53ee8cc1Swenshuai.xi {
1556*53ee8cc1Swenshuai.xi 
1557*53ee8cc1Swenshuai.xi     PQ_WIN ePQWin;
1558*53ee8cc1Swenshuai.xi #ifndef K3_U2
1559*53ee8cc1Swenshuai.xi #if SUPPORT_SEAMLESS_ZAPPING
1560*53ee8cc1Swenshuai.xi     MS_U32 u32Delayms = 0;
1561*53ee8cc1Swenshuai.xi #endif
1562*53ee8cc1Swenshuai.xi #endif
1563*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
1564*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
1565*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
1566*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
1567*53ee8cc1Swenshuai.xi 
1568*53ee8cc1Swenshuai.xi #ifdef UFO_XC_FB_LEVEL
1569*53ee8cc1Swenshuai.xi     if((gSrcInfo[eWindow].eFBLevel == E_XC_FB_LEVEL_FBL)  || (gSrcInfo[eWindow].eFBLevel == E_XC_FB_LEVEL_RFBL_DI))
1570*53ee8cc1Swenshuai.xi #else
1571*53ee8cc1Swenshuai.xi     if(gSrcInfo[eWindow].bFBL || gSrcInfo[eWindow].bR_FBL)
1572*53ee8cc1Swenshuai.xi #endif
1573*53ee8cc1Swenshuai.xi     {
1574*53ee8cc1Swenshuai.xi         return; //not support freeze for FBL mode
1575*53ee8cc1Swenshuai.xi     }
1576*53ee8cc1Swenshuai.xi     ePQWin = (eWindow == MAIN_WINDOW) ? PQ_MAIN_WINDOW : PQ_SUB_WINDOW;
1577*53ee8cc1Swenshuai.xi 
1578*53ee8cc1Swenshuai.xi     if(bEnable)
1579*53ee8cc1Swenshuai.xi     {
1580*53ee8cc1Swenshuai.xi         _XC_ENTRY(pInstance);
1581*53ee8cc1Swenshuai.xi 
1582*53ee8cc1Swenshuai.xi         if(MDrv_XC_MLoad_GetStatus(pInstance) == E_MLOAD_ENABLED)
1583*53ee8cc1Swenshuai.xi             Hal_SC_set_freezeimg_burst(pInstance, bEnable, eWindow);
1584*53ee8cc1Swenshuai.xi         else
1585*53ee8cc1Swenshuai.xi             Hal_SC_set_freezeimg(pInstance, bEnable, eWindow);
1586*53ee8cc1Swenshuai.xi         _XC_RETURN(pInstance);
1587*53ee8cc1Swenshuai.xi 
1588*53ee8cc1Swenshuai.xi         //warning: This function is already protected with mutex
1589*53ee8cc1Swenshuai.xi #ifdef ENABLE_TV_SC2_PQ
1590*53ee8cc1Swenshuai.xi         if (psXCInstPri->u32DeviceID == PQ_XC_ID_0)
1591*53ee8cc1Swenshuai.xi #endif
1592*53ee8cc1Swenshuai.xi         {
1593*53ee8cc1Swenshuai.xi             if(s_PQ_Function_Info[psXCInstPri->u32DeviceID].pq_disable_filmmode)
1594*53ee8cc1Swenshuai.xi             {
1595*53ee8cc1Swenshuai.xi #if PIP_PATCH_USING_SC1_MAIN_AS_SC0_SUB
1596*53ee8cc1Swenshuai.xi                 s_PQ_Function_Info[psXCInstPri->u32DeviceID].pq_disable_filmmode((psXCInstPri->u32DeviceID == 1)?PQ_SUB_WINDOW:PQ_MAIN_WINDOW, bEnable);
1597*53ee8cc1Swenshuai.xi #else
1598*53ee8cc1Swenshuai.xi                 s_PQ_Function_Info[psXCInstPri->u32DeviceID].pq_disable_filmmode(ePQWin, bEnable);
1599*53ee8cc1Swenshuai.xi #endif
1600*53ee8cc1Swenshuai.xi             }
1601*53ee8cc1Swenshuai.xi         }
1602*53ee8cc1Swenshuai.xi #ifdef ENABLE_TV_SC2_PQ
1603*53ee8cc1Swenshuai.xi         else if (psXCInstPri->u32DeviceID == PQ_XC_ID_1)
1604*53ee8cc1Swenshuai.xi         {
1605*53ee8cc1Swenshuai.xi             if(s_PQ_Function_Info[psXCInstPri->u32DeviceID].pq_disable_filmmode_ex)
1606*53ee8cc1Swenshuai.xi                 s_PQ_Function_Info[psXCInstPri->u32DeviceID].pq_disable_filmmode_ex(psXCInstPri->u32DeviceID, ePQWin, bEnable);
1607*53ee8cc1Swenshuai.xi         }
1608*53ee8cc1Swenshuai.xi #endif
1609*53ee8cc1Swenshuai.xi         //
1610*53ee8cc1Swenshuai.xi 
1611*53ee8cc1Swenshuai.xi #if SeamlessZapping_DBG
1612*53ee8cc1Swenshuai.xi         printf("@@#@@ Freeze\n");
1613*53ee8cc1Swenshuai.xi         if(FALSE == MDrv_XC_InterruptIsAttached(pInstance, SC_INT_VSINT, _MDrv_XC_GetXCReg_ByISR, NULL))
1614*53ee8cc1Swenshuai.xi         {
1615*53ee8cc1Swenshuai.xi             printf("###ISR ###\n");
1616*53ee8cc1Swenshuai.xi             _MDrv_XC_GetXCReg_ByISR(0,NULL);
1617*53ee8cc1Swenshuai.xi             MDrv_XC_InterruptAttachWithoutMutex(pInstance, SC_INT_VSINT, _MDrv_XC_GetXCReg_ByISR, NULL);
1618*53ee8cc1Swenshuai.xi         }
1619*53ee8cc1Swenshuai.xi #endif
1620*53ee8cc1Swenshuai.xi     }
1621*53ee8cc1Swenshuai.xi     else
1622*53ee8cc1Swenshuai.xi     {
1623*53ee8cc1Swenshuai.xi         //warning: This function is already protected with mutex
1624*53ee8cc1Swenshuai.xi #ifdef ENABLE_TV_SC2_PQ
1625*53ee8cc1Swenshuai.xi         if (psXCInstPri->u32DeviceID == PQ_XC_ID_0)
1626*53ee8cc1Swenshuai.xi #endif
1627*53ee8cc1Swenshuai.xi         {
1628*53ee8cc1Swenshuai.xi             if(s_PQ_Function_Info[psXCInstPri->u32DeviceID].pq_disable_filmmode)
1629*53ee8cc1Swenshuai.xi             {
1630*53ee8cc1Swenshuai.xi #if PIP_PATCH_USING_SC1_MAIN_AS_SC0_SUB
1631*53ee8cc1Swenshuai.xi                 s_PQ_Function_Info[psXCInstPri->u32DeviceID].pq_disable_filmmode((psXCInstPri->u32DeviceID == 1)?PQ_SUB_WINDOW:PQ_MAIN_WINDOW, bEnable);
1632*53ee8cc1Swenshuai.xi #else
1633*53ee8cc1Swenshuai.xi                 s_PQ_Function_Info[psXCInstPri->u32DeviceID].pq_disable_filmmode(ePQWin, bEnable);
1634*53ee8cc1Swenshuai.xi #endif
1635*53ee8cc1Swenshuai.xi             }
1636*53ee8cc1Swenshuai.xi         }
1637*53ee8cc1Swenshuai.xi #ifdef ENABLE_TV_SC2_PQ
1638*53ee8cc1Swenshuai.xi         else if (psXCInstPri->u32DeviceID == PQ_XC_ID_1)
1639*53ee8cc1Swenshuai.xi         {
1640*53ee8cc1Swenshuai.xi             if(s_PQ_Function_Info[psXCInstPri->u32DeviceID].pq_disable_filmmode_ex)
1641*53ee8cc1Swenshuai.xi                 s_PQ_Function_Info[psXCInstPri->u32DeviceID].pq_disable_filmmode_ex(psXCInstPri->u32DeviceID, ePQWin, bEnable);
1642*53ee8cc1Swenshuai.xi         }
1643*53ee8cc1Swenshuai.xi #endif
1644*53ee8cc1Swenshuai.xi         //
1645*53ee8cc1Swenshuai.xi #ifndef K3_U2
1646*53ee8cc1Swenshuai.xi #if SUPPORT_SEAMLESS_ZAPPING
1647*53ee8cc1Swenshuai.xi         //// for SLZ debug, wait lpll lock, for the stable OP Vsync
1648*53ee8cc1Swenshuai.xi         if(Hal_SC_GetSeamlessZappingStatus(pInstance, eWindow))
1649*53ee8cc1Swenshuai.xi         {
1650*53ee8cc1Swenshuai.xi             //printf("@@#@@ u32Delayms = %u\n", LPLL_TIMEOUT);
1651*53ee8cc1Swenshuai.xi             while(((R2BYTEMSK(L_BK_LPLL(0x2A), 0x3FF))!=0x1F4)&&(u32Delayms < LPLL_TIMEOUT))
1652*53ee8cc1Swenshuai.xi             {
1653*53ee8cc1Swenshuai.xi                 MsOS_DelayTask(1);
1654*53ee8cc1Swenshuai.xi                 u32Delayms++;
1655*53ee8cc1Swenshuai.xi             }
1656*53ee8cc1Swenshuai.xi         }
1657*53ee8cc1Swenshuai.xi         /// end
1658*53ee8cc1Swenshuai.xi #endif
1659*53ee8cc1Swenshuai.xi #endif
1660*53ee8cc1Swenshuai.xi 
1661*53ee8cc1Swenshuai.xi         _XC_ENTRY(pInstance);
1662*53ee8cc1Swenshuai.xi         if(MDrv_XC_MLoad_GetStatus(pInstance) == E_MLOAD_ENABLED)
1663*53ee8cc1Swenshuai.xi             Hal_SC_set_freezeimg_burst(pInstance, bEnable, eWindow);
1664*53ee8cc1Swenshuai.xi         else
1665*53ee8cc1Swenshuai.xi             Hal_SC_set_freezeimg(pInstance, bEnable, eWindow);
1666*53ee8cc1Swenshuai.xi         _XC_RETURN(pInstance);
1667*53ee8cc1Swenshuai.xi     }
1668*53ee8cc1Swenshuai.xi 
1669*53ee8cc1Swenshuai.xi     XC_LOG_TRACE(XC_DBGLEVEL_SEAMLESSZAP, "[%s][%06d]SLZ[%s] Freeze = %x\n",
1670*53ee8cc1Swenshuai.xi         __FUNCTION__, __LINE__, eWindow?"SUB":"MAIN", bEnable);
1671*53ee8cc1Swenshuai.xi 
1672*53ee8cc1Swenshuai.xi 
1673*53ee8cc1Swenshuai.xi }
1674*53ee8cc1Swenshuai.xi 
MApi_XC_FreezeImg_U2(void * pInstance,MS_BOOL bEnable,SCALER_WIN eWindow)1675*53ee8cc1Swenshuai.xi void MApi_XC_FreezeImg_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow)
1676*53ee8cc1Swenshuai.xi {
1677*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
1678*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
1679*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_ENTRY(pInstance,E_XC_ID_VAR);
1680*53ee8cc1Swenshuai.xi     MDrv_XC_FreezeImg(pInstance, bEnable,eWindow);
1681*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_RETURN(pInstance,E_XC_ID_VAR);
1682*53ee8cc1Swenshuai.xi }
1683*53ee8cc1Swenshuai.xi 
MApi_XC_FreezeImg(MS_BOOL bEnable,SCALER_WIN eWindow)1684*53ee8cc1Swenshuai.xi void MApi_XC_FreezeImg(MS_BOOL bEnable, SCALER_WIN eWindow)
1685*53ee8cc1Swenshuai.xi {
1686*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
1687*53ee8cc1Swenshuai.xi     {
1688*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
1689*53ee8cc1Swenshuai.xi         return;
1690*53ee8cc1Swenshuai.xi     }
1691*53ee8cc1Swenshuai.xi 
1692*53ee8cc1Swenshuai.xi     stXC_SET_FREEZEIMG XCArgs;
1693*53ee8cc1Swenshuai.xi     XCArgs.bEnable = bEnable;
1694*53ee8cc1Swenshuai.xi     XCArgs.eWindow = eWindow;
1695*53ee8cc1Swenshuai.xi 
1696*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_SET_FREEZEIMG, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
1697*53ee8cc1Swenshuai.xi     {
1698*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
1699*53ee8cc1Swenshuai.xi         return;
1700*53ee8cc1Swenshuai.xi     }
1701*53ee8cc1Swenshuai.xi     else
1702*53ee8cc1Swenshuai.xi     {
1703*53ee8cc1Swenshuai.xi         return;
1704*53ee8cc1Swenshuai.xi     }
1705*53ee8cc1Swenshuai.xi }
1706*53ee8cc1Swenshuai.xi 
1707*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
1708*53ee8cc1Swenshuai.xi /// Query whether the specific window is freeze image status or not
1709*53ee8cc1Swenshuai.xi /// @param  eWindow                \b IN: which window we are going to query
1710*53ee8cc1Swenshuai.xi /// @return @ref MS_BOOL
1711*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_IsFreezeImg_U2(void * pInstance,SCALER_WIN eWindow)1712*53ee8cc1Swenshuai.xi MS_BOOL MApi_XC_IsFreezeImg_U2(void* pInstance, SCALER_WIN eWindow)
1713*53ee8cc1Swenshuai.xi {
1714*53ee8cc1Swenshuai.xi     MS_BOOL bXCFreezeImg;
1715*53ee8cc1Swenshuai.xi     _XC_ENTRY(pInstance);
1716*53ee8cc1Swenshuai.xi 
1717*53ee8cc1Swenshuai.xi     bXCFreezeImg = Hal_SC_get_freezeimg(pInstance, eWindow);
1718*53ee8cc1Swenshuai.xi     //return Hal_SC_get_freezeimg(eWindow);
1719*53ee8cc1Swenshuai.xi     _XC_RETURN(pInstance);
1720*53ee8cc1Swenshuai.xi     return bXCFreezeImg;
1721*53ee8cc1Swenshuai.xi }
1722*53ee8cc1Swenshuai.xi 
MApi_XC_IsFreezeImg(SCALER_WIN eWindow)1723*53ee8cc1Swenshuai.xi MS_BOOL MApi_XC_IsFreezeImg(SCALER_WIN eWindow)
1724*53ee8cc1Swenshuai.xi {
1725*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
1726*53ee8cc1Swenshuai.xi     {
1727*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
1728*53ee8cc1Swenshuai.xi         return FALSE;
1729*53ee8cc1Swenshuai.xi     }
1730*53ee8cc1Swenshuai.xi 
1731*53ee8cc1Swenshuai.xi     stXC_CHECK_FREEZEIMG XCArgs;
1732*53ee8cc1Swenshuai.xi     XCArgs.eWindow = eWindow;
1733*53ee8cc1Swenshuai.xi     XCArgs.bReturnValue = FALSE;
1734*53ee8cc1Swenshuai.xi 
1735*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_CHECK_FREEZEIMG, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
1736*53ee8cc1Swenshuai.xi     {
1737*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
1738*53ee8cc1Swenshuai.xi         return FALSE;
1739*53ee8cc1Swenshuai.xi     }
1740*53ee8cc1Swenshuai.xi     else
1741*53ee8cc1Swenshuai.xi     {
1742*53ee8cc1Swenshuai.xi         return XCArgs.bReturnValue;
1743*53ee8cc1Swenshuai.xi     }
1744*53ee8cc1Swenshuai.xi }
1745*53ee8cc1Swenshuai.xi 
MDrv_XC_GetInfo(void * pInstance,XC_ApiInfo * pXC_Info)1746*53ee8cc1Swenshuai.xi void MDrv_XC_GetInfo(void *pInstance, XC_ApiInfo *pXC_Info)
1747*53ee8cc1Swenshuai.xi {
1748*53ee8cc1Swenshuai.xi     UNUSED(pInstance);
1749*53ee8cc1Swenshuai.xi 
1750*53ee8cc1Swenshuai.xi     pXC_Info->u8MaxWindowNum = MAX_WINDOW_NUM;
1751*53ee8cc1Swenshuai.xi     pXC_Info->u8NumOfDigitalDDCRam = NUM_OF_DIGITAL_DDCRAM;
1752*53ee8cc1Swenshuai.xi     pXC_Info->u8MaxFrameNumInMem = MAX_FRAME_NUM_IN_MEM;
1753*53ee8cc1Swenshuai.xi     pXC_Info->u8MaxFieldNumInMem = MAX_FIELD_NUM_IN_MEM;
1754*53ee8cc1Swenshuai.xi }
1755*53ee8cc1Swenshuai.xi 
1756*53ee8cc1Swenshuai.xi #ifdef MS_DEBUG
MDrv_XC_ShowTrace_Header(MS_U16 u16LogSwitch)1757*53ee8cc1Swenshuai.xi void MDrv_XC_ShowTrace_Header(MS_U16 u16LogSwitch)
1758*53ee8cc1Swenshuai.xi {
1759*53ee8cc1Swenshuai.xi     printf("[XC,");
1760*53ee8cc1Swenshuai.xi     if (u16LogSwitch & XC_DBGLEVEL_SETTIMING)
1761*53ee8cc1Swenshuai.xi         printf("LPLL]");
1762*53ee8cc1Swenshuai.xi     else if (u16LogSwitch & XC_DBGLEVEL_SETWINDOW)
1763*53ee8cc1Swenshuai.xi         printf("SetWindow]");
1764*53ee8cc1Swenshuai.xi     else if (u16LogSwitch & XC_DBGLEVEL_MUX)
1765*53ee8cc1Swenshuai.xi         printf("Mux]");
1766*53ee8cc1Swenshuai.xi     else if (u16LogSwitch & XC_DGBLEVEL_CROPCALC)
1767*53ee8cc1Swenshuai.xi         printf("Cropping]");
1768*53ee8cc1Swenshuai.xi     else if (u16LogSwitch & XC_DBGLEVEL_AUTOGEOMETRY)
1769*53ee8cc1Swenshuai.xi         printf("AUTOGEO]");
1770*53ee8cc1Swenshuai.xi     else if (u16LogSwitch & XC_DBGLEVEL_SETTIMING_ISR)
1771*53ee8cc1Swenshuai.xi         printf("LPLL_ISR]");
1772*53ee8cc1Swenshuai.xi     else if (u16LogSwitch & XC_DBGLEVEL_FUNCTION_TRACE)
1773*53ee8cc1Swenshuai.xi         printf("FUNCTION_TRACE]");
1774*53ee8cc1Swenshuai.xi     else if (u16LogSwitch & XC_DBGLEVEL_PARAMETER_TRACE)
1775*53ee8cc1Swenshuai.xi         printf("PARAMETER_TRACE]");
1776*53ee8cc1Swenshuai.xi     else
1777*53ee8cc1Swenshuai.xi         printf("Unknown]");
1778*53ee8cc1Swenshuai.xi }
1779*53ee8cc1Swenshuai.xi #endif
1780*53ee8cc1Swenshuai.xi 
1781*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
1782*53ee8cc1Swenshuai.xi /// General Read Byte Function
1783*53ee8cc1Swenshuai.xi /// @param  u32Reg                \b IN: which value shouldn't contain xc sub bank and address
1784*53ee8cc1Swenshuai.xi /// @return @ref MS_U8
1785*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_ReadByte_U2(void * pInstance,MS_U32 u32Reg)1786*53ee8cc1Swenshuai.xi MS_U8   MApi_XC_ReadByte_U2(void* pInstance, MS_U32 u32Reg)
1787*53ee8cc1Swenshuai.xi {return (MS_U8)MDrv_ReadByte( u32Reg );}
1788*53ee8cc1Swenshuai.xi 
MApi_XC_ReadByte(MS_U32 u32Reg)1789*53ee8cc1Swenshuai.xi MS_U8   MApi_XC_ReadByte(MS_U32 u32Reg)
1790*53ee8cc1Swenshuai.xi {
1791*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
1792*53ee8cc1Swenshuai.xi     {
1793*53ee8cc1Swenshuai.xi         if(UtopiaOpen(MODULE_XC, &pu32XCInst, 0, NULL) != UTOPIA_STATUS_SUCCESS)
1794*53ee8cc1Swenshuai.xi         {
1795*53ee8cc1Swenshuai.xi             printf("UtopiaOpen XC failed\n");
1796*53ee8cc1Swenshuai.xi             return E_APIXC_RET_FAIL;
1797*53ee8cc1Swenshuai.xi         }
1798*53ee8cc1Swenshuai.xi     }
1799*53ee8cc1Swenshuai.xi 
1800*53ee8cc1Swenshuai.xi     stXC_READBYTE XCArgs;
1801*53ee8cc1Swenshuai.xi     XCArgs.u32Reg = u32Reg;
1802*53ee8cc1Swenshuai.xi     XCArgs.u8ReturnValue = 0;
1803*53ee8cc1Swenshuai.xi 
1804*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_READBYTE, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
1805*53ee8cc1Swenshuai.xi     {
1806*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
1807*53ee8cc1Swenshuai.xi         return 0;
1808*53ee8cc1Swenshuai.xi     }
1809*53ee8cc1Swenshuai.xi     else
1810*53ee8cc1Swenshuai.xi     {
1811*53ee8cc1Swenshuai.xi         return XCArgs.u8ReturnValue;
1812*53ee8cc1Swenshuai.xi     }
1813*53ee8cc1Swenshuai.xi }
1814*53ee8cc1Swenshuai.xi 
1815*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
1816*53ee8cc1Swenshuai.xi /// General Write Byte Function
1817*53ee8cc1Swenshuai.xi /// @param  u32Reg                \b IN: which value shouldn't contain xc sub bank and address
1818*53ee8cc1Swenshuai.xi /// @param  u8Val                \b IN: setting value
1819*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_WriteByte_U2(void * pInstance,MS_U32 u32Reg,MS_U8 u8Val)1820*53ee8cc1Swenshuai.xi void   MApi_XC_WriteByte_U2(void* pInstance, MS_U32 u32Reg, MS_U8 u8Val)
1821*53ee8cc1Swenshuai.xi {MDrv_WriteByte( u32Reg, u8Val );}
1822*53ee8cc1Swenshuai.xi 
MApi_XC_WriteByte(MS_U32 u32Reg,MS_U8 u8Val)1823*53ee8cc1Swenshuai.xi void   MApi_XC_WriteByte(MS_U32 u32Reg, MS_U8 u8Val)
1824*53ee8cc1Swenshuai.xi {
1825*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
1826*53ee8cc1Swenshuai.xi     {
1827*53ee8cc1Swenshuai.xi         if(UtopiaOpen(MODULE_XC, &pu32XCInst, 0, NULL) != UTOPIA_STATUS_SUCCESS)
1828*53ee8cc1Swenshuai.xi         {
1829*53ee8cc1Swenshuai.xi             printf("UtopiaOpen XC failed\n");
1830*53ee8cc1Swenshuai.xi             return;
1831*53ee8cc1Swenshuai.xi         }
1832*53ee8cc1Swenshuai.xi     }
1833*53ee8cc1Swenshuai.xi 
1834*53ee8cc1Swenshuai.xi     stXC_WRITEBYTE XCArgs;
1835*53ee8cc1Swenshuai.xi     XCArgs.u32Reg = u32Reg;
1836*53ee8cc1Swenshuai.xi     XCArgs.u8Val = u8Val;
1837*53ee8cc1Swenshuai.xi 
1838*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_WRITEBYTE, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
1839*53ee8cc1Swenshuai.xi     {
1840*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
1841*53ee8cc1Swenshuai.xi         return;
1842*53ee8cc1Swenshuai.xi     }
1843*53ee8cc1Swenshuai.xi     else
1844*53ee8cc1Swenshuai.xi     {
1845*53ee8cc1Swenshuai.xi         return;
1846*53ee8cc1Swenshuai.xi     }
1847*53ee8cc1Swenshuai.xi }
1848*53ee8cc1Swenshuai.xi 
1849*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
1850*53ee8cc1Swenshuai.xi /// General 2 Write Byte Function
1851*53ee8cc1Swenshuai.xi /// @param  u32Reg                \b IN: which value shouldn't contain xc sub bank and address
1852*53ee8cc1Swenshuai.xi /// @param  u16Val                \b IN: setting value
1853*53ee8cc1Swenshuai.xi /// @param  u16Msk                \b IN: setting value
1854*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_Write2ByteMask_U2(void * pInstance,MS_U32 u32Reg,MS_U16 u16val,MS_U16 u16Mask)1855*53ee8cc1Swenshuai.xi void MApi_XC_Write2ByteMask_U2(void* pInstance, MS_U32 u32Reg, MS_U16 u16val, MS_U16 u16Mask)
1856*53ee8cc1Swenshuai.xi {MDrv_Write2ByteMask(u32Reg, u16val, u16Mask);}
1857*53ee8cc1Swenshuai.xi 
MApi_XC_Write2ByteMask(MS_U32 u32Reg,MS_U16 u16val,MS_U16 u16Mask)1858*53ee8cc1Swenshuai.xi void MApi_XC_Write2ByteMask(MS_U32 u32Reg, MS_U16 u16val, MS_U16 u16Mask)
1859*53ee8cc1Swenshuai.xi {
1860*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
1861*53ee8cc1Swenshuai.xi     {
1862*53ee8cc1Swenshuai.xi         if(UtopiaOpen(MODULE_XC, &pu32XCInst, 0, NULL) != UTOPIA_STATUS_SUCCESS)
1863*53ee8cc1Swenshuai.xi         {
1864*53ee8cc1Swenshuai.xi             printf("UtopiaOpen XC failed\n");
1865*53ee8cc1Swenshuai.xi             return;
1866*53ee8cc1Swenshuai.xi         }
1867*53ee8cc1Swenshuai.xi     }
1868*53ee8cc1Swenshuai.xi 
1869*53ee8cc1Swenshuai.xi     stXC_WRITE2BYTEMSK XCArgs;
1870*53ee8cc1Swenshuai.xi     XCArgs.u32Reg = u32Reg;
1871*53ee8cc1Swenshuai.xi     XCArgs.u16val = u16val;
1872*53ee8cc1Swenshuai.xi     XCArgs.u16Mask = u16Mask;
1873*53ee8cc1Swenshuai.xi 
1874*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_WRITE2BYTEMSK, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
1875*53ee8cc1Swenshuai.xi     {
1876*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
1877*53ee8cc1Swenshuai.xi         return;
1878*53ee8cc1Swenshuai.xi     }
1879*53ee8cc1Swenshuai.xi     else
1880*53ee8cc1Swenshuai.xi     {
1881*53ee8cc1Swenshuai.xi         return;
1882*53ee8cc1Swenshuai.xi     }
1883*53ee8cc1Swenshuai.xi }
1884*53ee8cc1Swenshuai.xi 
1885*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
1886*53ee8cc1Swenshuai.xi /// General Write Byte Mask Function
1887*53ee8cc1Swenshuai.xi /// @param  u32Reg                \b IN: which value shouldn't contain xc sub bank and address
1888*53ee8cc1Swenshuai.xi /// @param  u8Val                \b IN: setting value
1889*53ee8cc1Swenshuai.xi /// @param  u8Msk                \b IN: decide which bit is valied
1890*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_WriteByteMask_U2(void * pInstance,MS_U32 u32Reg,MS_U8 u8Val,MS_U8 u8Msk)1891*53ee8cc1Swenshuai.xi void    MApi_XC_WriteByteMask_U2(void* pInstance, MS_U32 u32Reg, MS_U8 u8Val, MS_U8 u8Msk)
1892*53ee8cc1Swenshuai.xi {
1893*53ee8cc1Swenshuai.xi     MDrv_WriteByteMask( u32Reg, u8Val, u8Msk );
1894*53ee8cc1Swenshuai.xi }
1895*53ee8cc1Swenshuai.xi 
MApi_XC_WriteByteMask(MS_U32 u32Reg,MS_U8 u8Val,MS_U8 u8Msk)1896*53ee8cc1Swenshuai.xi void    MApi_XC_WriteByteMask(MS_U32 u32Reg, MS_U8 u8Val, MS_U8 u8Msk)
1897*53ee8cc1Swenshuai.xi {
1898*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
1899*53ee8cc1Swenshuai.xi     {
1900*53ee8cc1Swenshuai.xi         if(UtopiaOpen(MODULE_XC, &pu32XCInst, 0, NULL) != UTOPIA_STATUS_SUCCESS)
1901*53ee8cc1Swenshuai.xi         {
1902*53ee8cc1Swenshuai.xi             printf("UtopiaOpen XC failed\n");
1903*53ee8cc1Swenshuai.xi             return ;
1904*53ee8cc1Swenshuai.xi         }
1905*53ee8cc1Swenshuai.xi     }
1906*53ee8cc1Swenshuai.xi 
1907*53ee8cc1Swenshuai.xi     stXC_WRITEBYTEMSK XCArgs;
1908*53ee8cc1Swenshuai.xi     XCArgs.u32Reg = u32Reg;
1909*53ee8cc1Swenshuai.xi     XCArgs.u8Val = u8Val;
1910*53ee8cc1Swenshuai.xi     XCArgs.u8Msk = u8Msk;
1911*53ee8cc1Swenshuai.xi 
1912*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_WRITEBYTEMSK, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
1913*53ee8cc1Swenshuai.xi     {
1914*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
1915*53ee8cc1Swenshuai.xi         return;
1916*53ee8cc1Swenshuai.xi     }
1917*53ee8cc1Swenshuai.xi     else
1918*53ee8cc1Swenshuai.xi     {
1919*53ee8cc1Swenshuai.xi         return;
1920*53ee8cc1Swenshuai.xi     }
1921*53ee8cc1Swenshuai.xi }
1922*53ee8cc1Swenshuai.xi 
1923*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
1924*53ee8cc1Swenshuai.xi /// Scaler Write 2 Byte Function, and use mutex to protect while switch bank and write address
1925*53ee8cc1Swenshuai.xi /// @param  u32Reg                \b IN: which value contain xc sub bank and address
1926*53ee8cc1Swenshuai.xi /// @param  u16Val                \b IN: setting value
1927*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_W2BYTE_U2(void * pInstance,MS_U32 u32Reg,MS_U16 u16Val)1928*53ee8cc1Swenshuai.xi void    MApi_XC_W2BYTE_U2(void* pInstance, MS_U32 u32Reg, MS_U16 u16Val)
1929*53ee8cc1Swenshuai.xi {
1930*53ee8cc1Swenshuai.xi     MSXC_WR_DBG(printf("W2 BK= %x, REG = %x, Val =%x\n", (MS_U16)((u32Reg&0xFF00)>>8), (MS_U16)(u32Reg&0x00FF), u16Val));
1931*53ee8cc1Swenshuai.xi     // removed for not need to mutex, just spread function
1932*53ee8cc1Swenshuai.xi     #if (!ENABLE_REGISTER_SPREAD)
1933*53ee8cc1Swenshuai.xi     _XC_ENTRY(pInstance);
1934*53ee8cc1Swenshuai.xi     #endif
1935*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
1936*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
1937*53ee8cc1Swenshuai.xi     SC_W2BYTE(psXCInstPri->u32DeviceID,  u32Reg, u16Val);
1938*53ee8cc1Swenshuai.xi     #if (!ENABLE_REGISTER_SPREAD)
1939*53ee8cc1Swenshuai.xi     _XC_RETURN(pInstance);
1940*53ee8cc1Swenshuai.xi     #endif
1941*53ee8cc1Swenshuai.xi }
1942*53ee8cc1Swenshuai.xi 
MApi_XC_W2BYTE(MS_U32 u32Reg,MS_U16 u16Val)1943*53ee8cc1Swenshuai.xi void    MApi_XC_W2BYTE(MS_U32 u32Reg, MS_U16 u16Val)
1944*53ee8cc1Swenshuai.xi {
1945*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
1946*53ee8cc1Swenshuai.xi     {
1947*53ee8cc1Swenshuai.xi         if(UtopiaOpen(MODULE_XC, &pu32XCInst, 0, NULL) != UTOPIA_STATUS_SUCCESS)
1948*53ee8cc1Swenshuai.xi         {
1949*53ee8cc1Swenshuai.xi             printf("UtopiaOpen XC failed\n");
1950*53ee8cc1Swenshuai.xi             return ;
1951*53ee8cc1Swenshuai.xi         }
1952*53ee8cc1Swenshuai.xi     }
1953*53ee8cc1Swenshuai.xi 
1954*53ee8cc1Swenshuai.xi     stXC_W2BYTE XCArgs;
1955*53ee8cc1Swenshuai.xi     XCArgs.u32Reg = u32Reg;
1956*53ee8cc1Swenshuai.xi     XCArgs.u16Val = u16Val;
1957*53ee8cc1Swenshuai.xi 
1958*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_W2BYTE, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
1959*53ee8cc1Swenshuai.xi     {
1960*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
1961*53ee8cc1Swenshuai.xi         return;
1962*53ee8cc1Swenshuai.xi     }
1963*53ee8cc1Swenshuai.xi     else
1964*53ee8cc1Swenshuai.xi     {
1965*53ee8cc1Swenshuai.xi         return;
1966*53ee8cc1Swenshuai.xi     }
1967*53ee8cc1Swenshuai.xi }
1968*53ee8cc1Swenshuai.xi 
1969*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
1970*53ee8cc1Swenshuai.xi /// Scaler Read 2 Byte Function, and use mutex to protect while switch bank and write address
1971*53ee8cc1Swenshuai.xi /// @param  u32Reg                \b IN: which value contain xc sub bank and address
1972*53ee8cc1Swenshuai.xi /// @return @ref MS_U16
1973*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_R2BYTE_U2(void * pInstance,MS_U32 u32Reg)1974*53ee8cc1Swenshuai.xi MS_U16  MApi_XC_R2BYTE_U2(void* pInstance, MS_U32 u32Reg)
1975*53ee8cc1Swenshuai.xi {
1976*53ee8cc1Swenshuai.xi     MS_U16 u16tmp;
1977*53ee8cc1Swenshuai.xi     MSXC_WR_DBG(printf("R2 BK= %x, REG = %x\n", (MS_U16)((u32Reg&0xFF00)>>8), (MS_U16)(u32Reg&0x00FF)));
1978*53ee8cc1Swenshuai.xi // removed for not need to mutex, just spread function
1979*53ee8cc1Swenshuai.xi     #if (!ENABLE_REGISTER_SPREAD)
1980*53ee8cc1Swenshuai.xi     _XC_ENTRY(pInstance);
1981*53ee8cc1Swenshuai.xi     #endif
1982*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
1983*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
1984*53ee8cc1Swenshuai.xi     u16tmp = (MS_U16)SC_R2BYTE(psXCInstPri->u32DeviceID,  u32Reg );
1985*53ee8cc1Swenshuai.xi     #if (!ENABLE_REGISTER_SPREAD)
1986*53ee8cc1Swenshuai.xi     _XC_RETURN(pInstance);
1987*53ee8cc1Swenshuai.xi     #endif
1988*53ee8cc1Swenshuai.xi     return u16tmp;
1989*53ee8cc1Swenshuai.xi }
1990*53ee8cc1Swenshuai.xi 
MApi_XC_R2BYTE(MS_U32 u32Reg)1991*53ee8cc1Swenshuai.xi MS_U16  MApi_XC_R2BYTE(MS_U32 u32Reg)
1992*53ee8cc1Swenshuai.xi {
1993*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
1994*53ee8cc1Swenshuai.xi     {
1995*53ee8cc1Swenshuai.xi         if(UtopiaOpen(MODULE_XC, &pu32XCInst, 0, NULL) != UTOPIA_STATUS_SUCCESS)
1996*53ee8cc1Swenshuai.xi         {
1997*53ee8cc1Swenshuai.xi             printf("UtopiaOpen XC failed\n");
1998*53ee8cc1Swenshuai.xi             return E_APIXC_RET_FAIL;
1999*53ee8cc1Swenshuai.xi         }
2000*53ee8cc1Swenshuai.xi     }
2001*53ee8cc1Swenshuai.xi 
2002*53ee8cc1Swenshuai.xi     stXC_R2BYTE XCArgs;
2003*53ee8cc1Swenshuai.xi     XCArgs.u32Reg = u32Reg;
2004*53ee8cc1Swenshuai.xi     XCArgs.u16ReturnValue = 0;
2005*53ee8cc1Swenshuai.xi 
2006*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_R2BYTE, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
2007*53ee8cc1Swenshuai.xi     {
2008*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
2009*53ee8cc1Swenshuai.xi         return 0;
2010*53ee8cc1Swenshuai.xi     }
2011*53ee8cc1Swenshuai.xi     else
2012*53ee8cc1Swenshuai.xi     {
2013*53ee8cc1Swenshuai.xi         return XCArgs.u16ReturnValue;
2014*53ee8cc1Swenshuai.xi     }
2015*53ee8cc1Swenshuai.xi }
2016*53ee8cc1Swenshuai.xi 
2017*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
2018*53ee8cc1Swenshuai.xi /// Scaler Write 4 Byte Function, and use mutex to protect while switch bank and write address
2019*53ee8cc1Swenshuai.xi /// @param  u32Reg                \b IN: which value contain xc sub bank and address
2020*53ee8cc1Swenshuai.xi /// @param  u32Val                \b IN: setting value
2021*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_W4BYTE_U2(void * pInstance,MS_U32 u32Reg,MS_U32 u32Val)2022*53ee8cc1Swenshuai.xi void    MApi_XC_W4BYTE_U2(void* pInstance, MS_U32 u32Reg, MS_U32 u32Val)
2023*53ee8cc1Swenshuai.xi {
2024*53ee8cc1Swenshuai.xi     MSXC_WR_DBG(printf("W4 BK= %x, REG = %x, Val =%lx\n", (MS_U16)((u32Reg&0xFF00)>>8), (MS_U16)(u32Reg&0x00FF), u32Val));
2025*53ee8cc1Swenshuai.xi     // removed for not need to mutex, just spread function
2026*53ee8cc1Swenshuai.xi     #if (!ENABLE_REGISTER_SPREAD)
2027*53ee8cc1Swenshuai.xi     _XC_ENTRY(pInstance);
2028*53ee8cc1Swenshuai.xi     #endif
2029*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
2030*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
2031*53ee8cc1Swenshuai.xi     SC_W4BYTE(psXCInstPri->u32DeviceID,  u32Reg, u32Val);
2032*53ee8cc1Swenshuai.xi     #if (!ENABLE_REGISTER_SPREAD)
2033*53ee8cc1Swenshuai.xi     _XC_RETURN(pInstance);
2034*53ee8cc1Swenshuai.xi     #endif
2035*53ee8cc1Swenshuai.xi }
2036*53ee8cc1Swenshuai.xi 
MApi_XC_W4BYTE(MS_U32 u32Reg,MS_U32 u32Val)2037*53ee8cc1Swenshuai.xi void    MApi_XC_W4BYTE(MS_U32 u32Reg, MS_U32 u32Val)
2038*53ee8cc1Swenshuai.xi {
2039*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
2040*53ee8cc1Swenshuai.xi     {
2041*53ee8cc1Swenshuai.xi         if(UtopiaOpen(MODULE_XC, &pu32XCInst, 0, NULL) != UTOPIA_STATUS_SUCCESS)
2042*53ee8cc1Swenshuai.xi         {
2043*53ee8cc1Swenshuai.xi             printf("UtopiaOpen XC failed\n");
2044*53ee8cc1Swenshuai.xi             return ;
2045*53ee8cc1Swenshuai.xi         }
2046*53ee8cc1Swenshuai.xi     }
2047*53ee8cc1Swenshuai.xi 
2048*53ee8cc1Swenshuai.xi     stXC_W4BYTE XCArgs;
2049*53ee8cc1Swenshuai.xi     XCArgs.u32Reg = u32Reg;
2050*53ee8cc1Swenshuai.xi     XCArgs.u32Val = u32Val;
2051*53ee8cc1Swenshuai.xi 
2052*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_W4BYTE, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
2053*53ee8cc1Swenshuai.xi     {
2054*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
2055*53ee8cc1Swenshuai.xi         return;
2056*53ee8cc1Swenshuai.xi     }
2057*53ee8cc1Swenshuai.xi     else
2058*53ee8cc1Swenshuai.xi     {
2059*53ee8cc1Swenshuai.xi         return;
2060*53ee8cc1Swenshuai.xi     }
2061*53ee8cc1Swenshuai.xi }
2062*53ee8cc1Swenshuai.xi 
2063*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
2064*53ee8cc1Swenshuai.xi /// Scaler Read 4 Byte Function, and use mutex to protect while switch bank and write address
2065*53ee8cc1Swenshuai.xi /// @param  u32Reg                \b IN: which value contain xc sub bank and address
2066*53ee8cc1Swenshuai.xi /// @return @ref MS_U32
2067*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_R4BYTE_U2(void * pInstance,MS_U32 u32Reg)2068*53ee8cc1Swenshuai.xi MS_U32  MApi_XC_R4BYTE_U2(void* pInstance, MS_U32 u32Reg)
2069*53ee8cc1Swenshuai.xi {
2070*53ee8cc1Swenshuai.xi     MS_U32 u32tmp;
2071*53ee8cc1Swenshuai.xi     MSXC_WR_DBG(printf("R4 BK= %x, REG = %x\n", (MS_U16)((u32Reg&0xFF00)>>8), (MS_U16)(u32Reg&0x00FF)));
2072*53ee8cc1Swenshuai.xi   // removed for not need to mutex, just spread function
2073*53ee8cc1Swenshuai.xi     #if (!ENABLE_REGISTER_SPREAD)
2074*53ee8cc1Swenshuai.xi     _XC_ENTRY(pInstance);
2075*53ee8cc1Swenshuai.xi     #endif
2076*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
2077*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
2078*53ee8cc1Swenshuai.xi     u32tmp = (MS_U32)SC_R4BYTE(psXCInstPri->u32DeviceID,  u32Reg );
2079*53ee8cc1Swenshuai.xi     #if (!ENABLE_REGISTER_SPREAD)
2080*53ee8cc1Swenshuai.xi     _XC_RETURN(pInstance);
2081*53ee8cc1Swenshuai.xi     #endif
2082*53ee8cc1Swenshuai.xi     return u32tmp;
2083*53ee8cc1Swenshuai.xi 
2084*53ee8cc1Swenshuai.xi }
2085*53ee8cc1Swenshuai.xi 
MApi_XC_R4BYTE(MS_U32 u32Reg)2086*53ee8cc1Swenshuai.xi MS_U32  MApi_XC_R4BYTE(MS_U32 u32Reg)
2087*53ee8cc1Swenshuai.xi {
2088*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
2089*53ee8cc1Swenshuai.xi     {
2090*53ee8cc1Swenshuai.xi         if(UtopiaOpen(MODULE_XC, &pu32XCInst, 0, NULL) != UTOPIA_STATUS_SUCCESS)
2091*53ee8cc1Swenshuai.xi         {
2092*53ee8cc1Swenshuai.xi             printf("UtopiaOpen XC failed\n");
2093*53ee8cc1Swenshuai.xi             return E_APIXC_RET_FAIL;
2094*53ee8cc1Swenshuai.xi         }
2095*53ee8cc1Swenshuai.xi     }
2096*53ee8cc1Swenshuai.xi 
2097*53ee8cc1Swenshuai.xi     stXC_R4BYTE XCArgs;
2098*53ee8cc1Swenshuai.xi     XCArgs.u32Reg = u32Reg;
2099*53ee8cc1Swenshuai.xi     XCArgs.u32ReturnValue = 0;
2100*53ee8cc1Swenshuai.xi 
2101*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_R4BYTE, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
2102*53ee8cc1Swenshuai.xi     {
2103*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
2104*53ee8cc1Swenshuai.xi         return 0;
2105*53ee8cc1Swenshuai.xi     }
2106*53ee8cc1Swenshuai.xi     else
2107*53ee8cc1Swenshuai.xi     {
2108*53ee8cc1Swenshuai.xi         return XCArgs.u32ReturnValue;
2109*53ee8cc1Swenshuai.xi     }
2110*53ee8cc1Swenshuai.xi }
2111*53ee8cc1Swenshuai.xi 
2112*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
2113*53ee8cc1Swenshuai.xi /// Scaler Read 2 Byte Mask Function, and use mutex to protect while switch bank and write address
2114*53ee8cc1Swenshuai.xi /// @param  u32Reg                \b IN: which value contain xc sub bank and address
2115*53ee8cc1Swenshuai.xi /// @param  u16mask              \b IN: decide which bit is valied
2116*53ee8cc1Swenshuai.xi /// @return @ref MS_U16
2117*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_R2BYTEMSK_U2(void * pInstance,MS_U32 u32Reg,MS_U16 u16mask)2118*53ee8cc1Swenshuai.xi MS_U16  MApi_XC_R2BYTEMSK_U2(void* pInstance, MS_U32 u32Reg, MS_U16 u16mask)
2119*53ee8cc1Swenshuai.xi {
2120*53ee8cc1Swenshuai.xi     MS_U16 u16tmp;
2121*53ee8cc1Swenshuai.xi     //MS_U8  u8OldBank;
2122*53ee8cc1Swenshuai.xi 
2123*53ee8cc1Swenshuai.xi     MSXC_WR_DBG(printf("R2M BK= %x, REG = %x\n", (MS_U16)((u32Reg&0xFF00)>>8), (MS_U16)(u32Reg&0x00FF)));
2124*53ee8cc1Swenshuai.xi     // removed for not need to mutex, just spread function
2125*53ee8cc1Swenshuai.xi     #if (!ENABLE_REGISTER_SPREAD)
2126*53ee8cc1Swenshuai.xi     _XC_ENTRY(pInstance);
2127*53ee8cc1Swenshuai.xi     #endif
2128*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
2129*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
2130*53ee8cc1Swenshuai.xi 
2131*53ee8cc1Swenshuai.xi     //u8OldBank = MDrv_ReadByte(BK_SELECT_00);
2132*53ee8cc1Swenshuai.xi 
2133*53ee8cc1Swenshuai.xi     u16tmp = (MS_U16)SC_R2BYTEMSK(psXCInstPri->u32DeviceID,  u32Reg, u16mask);
2134*53ee8cc1Swenshuai.xi 
2135*53ee8cc1Swenshuai.xi     //MDrv_WriteByte(BK_SELECT_00, u8OldBank);
2136*53ee8cc1Swenshuai.xi     #if (!ENABLE_REGISTER_SPREAD)
2137*53ee8cc1Swenshuai.xi     _XC_RETURN(pInstance);
2138*53ee8cc1Swenshuai.xi     #endif
2139*53ee8cc1Swenshuai.xi     return u16tmp;
2140*53ee8cc1Swenshuai.xi }
2141*53ee8cc1Swenshuai.xi 
MApi_XC_R2BYTEMSK(MS_U32 u32Reg,MS_U16 u16mask)2142*53ee8cc1Swenshuai.xi MS_U16  MApi_XC_R2BYTEMSK(MS_U32 u32Reg, MS_U16 u16mask)
2143*53ee8cc1Swenshuai.xi {
2144*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
2145*53ee8cc1Swenshuai.xi     {
2146*53ee8cc1Swenshuai.xi         if(UtopiaOpen(MODULE_XC, &pu32XCInst, 0, NULL) != UTOPIA_STATUS_SUCCESS)
2147*53ee8cc1Swenshuai.xi         {
2148*53ee8cc1Swenshuai.xi             printf("UtopiaOpen XC failed\n");
2149*53ee8cc1Swenshuai.xi             return E_APIXC_RET_FAIL;
2150*53ee8cc1Swenshuai.xi         }
2151*53ee8cc1Swenshuai.xi     }
2152*53ee8cc1Swenshuai.xi 
2153*53ee8cc1Swenshuai.xi     stXC_R2BYTEMSK XCArgs;
2154*53ee8cc1Swenshuai.xi     XCArgs.u32Reg = u32Reg;
2155*53ee8cc1Swenshuai.xi     XCArgs.u16mask = u16mask;
2156*53ee8cc1Swenshuai.xi     XCArgs.u16ReturnValue = 0;
2157*53ee8cc1Swenshuai.xi 
2158*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_R2BYTEMSK, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
2159*53ee8cc1Swenshuai.xi     {
2160*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
2161*53ee8cc1Swenshuai.xi         return 0;
2162*53ee8cc1Swenshuai.xi     }
2163*53ee8cc1Swenshuai.xi     else
2164*53ee8cc1Swenshuai.xi     {
2165*53ee8cc1Swenshuai.xi         return XCArgs.u16ReturnValue;
2166*53ee8cc1Swenshuai.xi     }
2167*53ee8cc1Swenshuai.xi }
2168*53ee8cc1Swenshuai.xi 
2169*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
2170*53ee8cc1Swenshuai.xi /// Scaler Write 2 Byte Mask Function, and use mutex to protect while switch bank and write address
2171*53ee8cc1Swenshuai.xi /// @param  u32Reg                \b IN: which value contain xc sub bank and address
2172*53ee8cc1Swenshuai.xi /// @param  u16Val              \b IN: Setting value
2173*53ee8cc1Swenshuai.xi /// @param  u16mask              \b IN: decide which bit is valied
2174*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_W2BYTEMSK_U2(void * pInstance,MS_U32 u32Reg,MS_U16 u16Val,MS_U16 u16mask)2175*53ee8cc1Swenshuai.xi void    MApi_XC_W2BYTEMSK_U2(void* pInstance, MS_U32 u32Reg, MS_U16 u16Val, MS_U16 u16mask)
2176*53ee8cc1Swenshuai.xi {
2177*53ee8cc1Swenshuai.xi     //MS_U8 u8OldBank;
2178*53ee8cc1Swenshuai.xi 
2179*53ee8cc1Swenshuai.xi     MSXC_WR_DBG(printf("W2M BK= %x, REG = %x\n", (MS_U16)((u32Reg&0xFF00)>>8), (MS_U16)(u32Reg&0x00FF)));
2180*53ee8cc1Swenshuai.xi     // removed for not need to mutex, just spread function
2181*53ee8cc1Swenshuai.xi     #if (!ENABLE_REGISTER_SPREAD)
2182*53ee8cc1Swenshuai.xi     _XC_ENTRY(pInstance);
2183*53ee8cc1Swenshuai.xi     #endif
2184*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
2185*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
2186*53ee8cc1Swenshuai.xi 
2187*53ee8cc1Swenshuai.xi     //u8OldBank = MDrv_ReadByte(BK_SELECT_00);
2188*53ee8cc1Swenshuai.xi 
2189*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID,  u32Reg, u16Val, u16mask);
2190*53ee8cc1Swenshuai.xi 
2191*53ee8cc1Swenshuai.xi     //MDrv_WriteByte(BK_SELECT_00, u8OldBank);
2192*53ee8cc1Swenshuai.xi     #if (!ENABLE_REGISTER_SPREAD)
2193*53ee8cc1Swenshuai.xi     _XC_RETURN(pInstance);
2194*53ee8cc1Swenshuai.xi     #endif
2195*53ee8cc1Swenshuai.xi }
2196*53ee8cc1Swenshuai.xi 
MApi_XC_W2BYTEMSK(MS_U32 u32Reg,MS_U16 u16Val,MS_U16 u16mask)2197*53ee8cc1Swenshuai.xi void    MApi_XC_W2BYTEMSK(MS_U32 u32Reg, MS_U16 u16Val, MS_U16 u16mask)
2198*53ee8cc1Swenshuai.xi {
2199*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
2200*53ee8cc1Swenshuai.xi     {
2201*53ee8cc1Swenshuai.xi         if(UtopiaOpen(MODULE_XC, &pu32XCInst, 0, NULL) != UTOPIA_STATUS_SUCCESS)
2202*53ee8cc1Swenshuai.xi         {
2203*53ee8cc1Swenshuai.xi             printf("UtopiaOpen XC failed\n");
2204*53ee8cc1Swenshuai.xi             return ;
2205*53ee8cc1Swenshuai.xi         }
2206*53ee8cc1Swenshuai.xi     }
2207*53ee8cc1Swenshuai.xi 
2208*53ee8cc1Swenshuai.xi     stXC_W2BYTEMSK XCArgs;
2209*53ee8cc1Swenshuai.xi     XCArgs.u32Reg = u32Reg;
2210*53ee8cc1Swenshuai.xi     XCArgs.u16Val = u16Val;
2211*53ee8cc1Swenshuai.xi     XCArgs.u16mask = u16mask;
2212*53ee8cc1Swenshuai.xi 
2213*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_W2BYTEMSK, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
2214*53ee8cc1Swenshuai.xi     {
2215*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
2216*53ee8cc1Swenshuai.xi         return;
2217*53ee8cc1Swenshuai.xi     }
2218*53ee8cc1Swenshuai.xi     else
2219*53ee8cc1Swenshuai.xi     {
2220*53ee8cc1Swenshuai.xi         return;
2221*53ee8cc1Swenshuai.xi     }
2222*53ee8cc1Swenshuai.xi }
2223*53ee8cc1Swenshuai.xi 
2224*53ee8cc1Swenshuai.xi #if FPGA
mvideo_set_pnl_info_fpga(XC_PANEL_INFO * pPanel_Info)2225*53ee8cc1Swenshuai.xi void mvideo_set_pnl_info_fpga(XC_PANEL_INFO *pPanel_Info)
2226*53ee8cc1Swenshuai.xi {
2227*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
2228*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
2229*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
2230*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
2231*53ee8cc1Swenshuai.xi     pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.stPanelInfo.u16HStart = pPanel_Info->u16HStart;
2232*53ee8cc1Swenshuai.xi     pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.stPanelInfo.u16Width = pPanel_Info->u16Width;
2233*53ee8cc1Swenshuai.xi     pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.stPanelInfo.u16VStart = pPanel_Info->u16VStart;
2234*53ee8cc1Swenshuai.xi     pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.stPanelInfo.u16Height = pPanel_Info->u16Height;
2235*53ee8cc1Swenshuai.xi }
2236*53ee8cc1Swenshuai.xi #endif
2237*53ee8cc1Swenshuai.xi 
MApi_XC_EnableRepWindowForFrameColor_U2(void * pInstance,MS_BOOL bEnable)2238*53ee8cc1Swenshuai.xi void MApi_XC_EnableRepWindowForFrameColor_U2(void* pInstance, MS_BOOL bEnable)
2239*53ee8cc1Swenshuai.xi {
2240*53ee8cc1Swenshuai.xi     _XC_ENTRY(pInstance);
2241*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
2242*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
2243*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
2244*53ee8cc1Swenshuai.xi 
2245*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_ENTRY(pInstance,E_XC_ID_VAR);
2246*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
2247*53ee8cc1Swenshuai.xi     pXCResourcePrivate->stdrvXC_MVideo_Context.g_bEnableRepWindowForFrameColor = bEnable;
2248*53ee8cc1Swenshuai.xi 
2249*53ee8cc1Swenshuai.xi #if 0
2250*53ee8cc1Swenshuai.xi     if( bEnable == FALSE )
2251*53ee8cc1Swenshuai.xi     {
2252*53ee8cc1Swenshuai.xi         SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK0F_57_L, 0, BIT(8)|BIT(9) ); // Disable display rep window
2253*53ee8cc1Swenshuai.xi         SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK0F_42_L, 0, 0xFFFF);
2254*53ee8cc1Swenshuai.xi         SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK0F_43_L, 0, 0xFFFF);
2255*53ee8cc1Swenshuai.xi         SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK0F_44_L, 0, 0xFFFF);
2256*53ee8cc1Swenshuai.xi         SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK0F_45_L, 0, 0xFFFF);
2257*53ee8cc1Swenshuai.xi     }
2258*53ee8cc1Swenshuai.xi #endif
2259*53ee8cc1Swenshuai.xi     _XC_RETURN(pInstance);
2260*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_RETURN(pInstance,E_XC_ID_VAR);
2261*53ee8cc1Swenshuai.xi }
2262*53ee8cc1Swenshuai.xi 
MApi_XC_EnableRepWindowForFrameColor(MS_BOOL bEnable)2263*53ee8cc1Swenshuai.xi void MApi_XC_EnableRepWindowForFrameColor(MS_BOOL bEnable)
2264*53ee8cc1Swenshuai.xi {
2265*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
2266*53ee8cc1Swenshuai.xi     {
2267*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
2268*53ee8cc1Swenshuai.xi         return;
2269*53ee8cc1Swenshuai.xi     }
2270*53ee8cc1Swenshuai.xi 
2271*53ee8cc1Swenshuai.xi     stXC_SET_REPORTWINDOW_FOR_FRAMECOLOR XCArgs;
2272*53ee8cc1Swenshuai.xi     XCArgs.bEnable = bEnable;
2273*53ee8cc1Swenshuai.xi 
2274*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_SET_REPORTWINDOW_FOR_FRAMECOLOR, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
2275*53ee8cc1Swenshuai.xi     {
2276*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
2277*53ee8cc1Swenshuai.xi         return;
2278*53ee8cc1Swenshuai.xi     }
2279*53ee8cc1Swenshuai.xi     else
2280*53ee8cc1Swenshuai.xi     {
2281*53ee8cc1Swenshuai.xi         return;
2282*53ee8cc1Swenshuai.xi     }
2283*53ee8cc1Swenshuai.xi }
2284*53ee8cc1Swenshuai.xi 
2285*53ee8cc1Swenshuai.xi // scmi type 0: A1/A7/T12/T13, 1: M10/J2/A5/A6/A3
MDrv_XC_Get_SCMI_Type(void)2286*53ee8cc1Swenshuai.xi MS_BOOL MDrv_XC_Get_SCMI_Type(void)
2287*53ee8cc1Swenshuai.xi {
2288*53ee8cc1Swenshuai.xi     return _FIELD_PACKING_MODE_SUPPORTED;
2289*53ee8cc1Swenshuai.xi }
2290*53ee8cc1Swenshuai.xi 
2291*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
2292*53ee8cc1Swenshuai.xi /// Enable/Disable RW bank auto
2293*53ee8cc1Swenshuai.xi /// @param  bEnable                 \b IN: enable or disable
2294*53ee8cc1Swenshuai.xi /// @param  eWindow                 \b IN: which window we are going to enable or disable
2295*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MApi_XC_EnableRWBankAuto_U2(void * pInstance,MS_BOOL bEnable,SCALER_WIN eWindow)2296*53ee8cc1Swenshuai.xi void MApi_XC_EnableRWBankAuto_U2(void* pInstance, MS_BOOL bEnable, SCALER_WIN eWindow)
2297*53ee8cc1Swenshuai.xi {
2298*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
2299*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
2300*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
2301*53ee8cc1Swenshuai.xi 
2302*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_ENTRY(pInstance,E_XC_ID_VAR);
2303*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
2304*53ee8cc1Swenshuai.xi     gSrcInfo[eWindow].bRWBankAuto = bEnable;
2305*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_RETURN(pInstance,E_XC_ID_VAR);
2306*53ee8cc1Swenshuai.xi }
2307*53ee8cc1Swenshuai.xi 
MApi_XC_EnableRWBankAuto(MS_BOOL bEnable,SCALER_WIN eWindow)2308*53ee8cc1Swenshuai.xi void MApi_XC_EnableRWBankAuto(MS_BOOL bEnable, SCALER_WIN eWindow)
2309*53ee8cc1Swenshuai.xi {
2310*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
2311*53ee8cc1Swenshuai.xi     {
2312*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
2313*53ee8cc1Swenshuai.xi         return;
2314*53ee8cc1Swenshuai.xi     }
2315*53ee8cc1Swenshuai.xi 
2316*53ee8cc1Swenshuai.xi     stXC_SET_AUTO_RWBANK_ENABLE XCArgs;
2317*53ee8cc1Swenshuai.xi     XCArgs.bEnable = bEnable;
2318*53ee8cc1Swenshuai.xi     XCArgs.eWindow = eWindow;
2319*53ee8cc1Swenshuai.xi 
2320*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_SET_AUTO_RWBANK_ENABLE, (void*)&XCArgs) != UTOPIA_STATUS_SUCCESS)
2321*53ee8cc1Swenshuai.xi     {
2322*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
2323*53ee8cc1Swenshuai.xi         return;
2324*53ee8cc1Swenshuai.xi     }
2325*53ee8cc1Swenshuai.xi     else
2326*53ee8cc1Swenshuai.xi     {
2327*53ee8cc1Swenshuai.xi         return;
2328*53ee8cc1Swenshuai.xi     }
2329*53ee8cc1Swenshuai.xi }
MApi_XC_Dump_SHM_U2(void * pInstance)2330*53ee8cc1Swenshuai.xi void MApi_XC_Dump_SHM_U2(void *pInstance)
2331*53ee8cc1Swenshuai.xi {
2332*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
2333*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
2334*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
2335*53ee8cc1Swenshuai.xi 
2336*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_ENTRY(pInstance,E_XC_ID_VAR);
2337*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
2338*53ee8cc1Swenshuai.xi 
2339*53ee8cc1Swenshuai.xi     _XC_SEMAPHORE_RETURN(pInstance,E_XC_ID_VAR);
2340*53ee8cc1Swenshuai.xi }
MApi_XC_Dump_SHM(void)2341*53ee8cc1Swenshuai.xi void MApi_XC_Dump_SHM(void)
2342*53ee8cc1Swenshuai.xi {
2343*53ee8cc1Swenshuai.xi     if (pu32XCInst == NULL)
2344*53ee8cc1Swenshuai.xi     {
2345*53ee8cc1Swenshuai.xi         if(UtopiaOpen(MODULE_XC, &pu32XCInst, 0, NULL) != UTOPIA_STATUS_SUCCESS)
2346*53ee8cc1Swenshuai.xi         {
2347*53ee8cc1Swenshuai.xi             printf("UtopiaOpen XC failed\n");
2348*53ee8cc1Swenshuai.xi             return;
2349*53ee8cc1Swenshuai.xi         }
2350*53ee8cc1Swenshuai.xi     }
2351*53ee8cc1Swenshuai.xi 
2352*53ee8cc1Swenshuai.xi     if(UtopiaIoctl(pu32XCInst, E_XC_CMD_DUMP_SHM, NULL) != UTOPIA_STATUS_SUCCESS)
2353*53ee8cc1Swenshuai.xi     {
2354*53ee8cc1Swenshuai.xi         printf("Obtain XC engine fail\n");
2355*53ee8cc1Swenshuai.xi         return;
2356*53ee8cc1Swenshuai.xi     }
2357*53ee8cc1Swenshuai.xi     else
2358*53ee8cc1Swenshuai.xi     {
2359*53ee8cc1Swenshuai.xi         return;
2360*53ee8cc1Swenshuai.xi     }
2361*53ee8cc1Swenshuai.xi }
2362*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
2363*53ee8cc1Swenshuai.xi /// MDrv_XC_OSDC_TGEN_Setting
2364*53ee8cc1Swenshuai.xi /// @param  pstOC_Tgen                 \b IN: the timing control
2365*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MDrv_XC_OSDC_TGEN_Setting(void * pInstance,MS_XC_OSDC_TGEN_INFO * pstOC_Tgen)2366*53ee8cc1Swenshuai.xi void MDrv_XC_OSDC_TGEN_Setting(void *pInstance, MS_XC_OSDC_TGEN_INFO *pstOC_Tgen)
2367*53ee8cc1Swenshuai.xi {
2368*53ee8cc1Swenshuai.xi     MHAL_SC_set_osdc_tgen_htotal(pInstance, pstOC_Tgen->u16OC_Tgen_HTotal);
2369*53ee8cc1Swenshuai.xi     MHAL_SC_set_osdc_tgen_vtotal(pInstance, pstOC_Tgen->u16OC_Tgen_VTotal);
2370*53ee8cc1Swenshuai.xi 
2371*53ee8cc1Swenshuai.xi     MHAL_SC_set_osdc_tgen_hsync_start(pInstance, pstOC_Tgen->u16OC_Tgen_Hsync_Start);
2372*53ee8cc1Swenshuai.xi     MHAL_SC_set_osdc_tgen_hsync_end(pInstance, pstOC_Tgen->u16OC_Tgen_Hsync_End);
2373*53ee8cc1Swenshuai.xi     MHAL_SC_set_osdc_tgen_hframe_de_start(pInstance, pstOC_Tgen->u16OC_Tgen_HframDE_Start);
2374*53ee8cc1Swenshuai.xi     MHAL_SC_set_osdc_tgen_hframe_de_end(pInstance, pstOC_Tgen->u16OC_Tgen_HframDE_End);
2375*53ee8cc1Swenshuai.xi 
2376*53ee8cc1Swenshuai.xi     MHAL_SC_set_osdc_tgen_vsync_start(pInstance, pstOC_Tgen->u16OC_Tgen_Vsync_Start);
2377*53ee8cc1Swenshuai.xi     MHAL_SC_set_osdc_tgen_vsync_end(pInstance, pstOC_Tgen->u16OC_Tgen_Vsync_End);
2378*53ee8cc1Swenshuai.xi     MHAL_SC_set_osdc_tgen_vframe_de_start(pInstance, pstOC_Tgen->u16OC_Tgen_VframDE_Start);
2379*53ee8cc1Swenshuai.xi     MHAL_SC_set_osdc_tgen_vframe_de_end(pInstance, pstOC_Tgen->u16OC_Tgen_VframDE_End);
2380*53ee8cc1Swenshuai.xi }
2381*53ee8cc1Swenshuai.xi 
2382*53ee8cc1Swenshuai.xi extern void MDrv_PNL_SetOSDCOutputType(void *pInstance, MS_U16 eLPLL_Type, MS_U8 eOC_OutputFormat);
2383*53ee8cc1Swenshuai.xi extern void MDrv_PNL_VBY1_Hardware_TrainingMode_En(void *pInstance, MS_BOOL bIsVideoMode ,MS_BOOL bEnable);
MDrv_XC_OSDC_Control(void * pInstance,MS_U32 eCtrl_type)2384*53ee8cc1Swenshuai.xi E_APIXC_ReturnValue MDrv_XC_OSDC_Control(void *pInstance, MS_U32 eCtrl_type)
2385*53ee8cc1Swenshuai.xi {
2386*53ee8cc1Swenshuai.xi     E_APIXC_ReturnValue eRet = E_APIXC_RET_FAIL;
2387*53ee8cc1Swenshuai.xi     MS_U32 u32ldHz = 0;
2388*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
2389*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
2390*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
2391*53ee8cc1Swenshuai.xi 
2392*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
2393*53ee8cc1Swenshuai.xi     pXCResourcePrivate->stdrvXC_MVideo_Context.g_u32OSDCCtrltype_Suspend  = eCtrl_type;
2394*53ee8cc1Swenshuai.xi 
2395*53ee8cc1Swenshuai.xi     if(gSrcInfo[MAIN_WINDOW].Status2.bIsInitOSDC)
2396*53ee8cc1Swenshuai.xi     {
2397*53ee8cc1Swenshuai.xi         if(eCtrl_type == E_XC_OSDC_CTRL_MISC)
2398*53ee8cc1Swenshuai.xi         {
2399*53ee8cc1Swenshuai.xi             MDrv_XC_OSDC_MISC_Control(pInstance, &gSrcInfo[MAIN_WINDOW].Status2.stXCOSDC_CTRL);
2400*53ee8cc1Swenshuai.xi             eRet = E_APIXC_RET_OK;
2401*53ee8cc1Swenshuai.xi         }
2402*53ee8cc1Swenshuai.xi         else if(eCtrl_type == E_XC_OSDC_CTRL_TGEN)
2403*53ee8cc1Swenshuai.xi         {
2404*53ee8cc1Swenshuai.xi             MDrv_XC_OSDC_TGEN_Setting(pInstance, &gSrcInfo[MAIN_WINDOW].Status2.stXCOSDCTIMING);
2405*53ee8cc1Swenshuai.xi 
2406*53ee8cc1Swenshuai.xi             //Set OSDC Output clk
2407*53ee8cc1Swenshuai.xi             u32ldHz = (MS_U32)gSrcInfo[MAIN_WINDOW].Status2.stXCOSDCTIMING.u16OC_Tgen_HTotal*
2408*53ee8cc1Swenshuai.xi                       gSrcInfo[MAIN_WINDOW].Status2.stXCOSDCTIMING.u16OC_Tgen_VTotal*
2409*53ee8cc1Swenshuai.xi                       pXCResourcePrivate->stdrvXC_MVideo.OSDC_FREQ;
2410*53ee8cc1Swenshuai.xi 
2411*53ee8cc1Swenshuai.xi             if((gSrcInfo[MAIN_WINDOW].Status2.stXCOSDC_CTRL.u16OC_Lpll_type ==0)||
2412*53ee8cc1Swenshuai.xi                (gSrcInfo[MAIN_WINDOW].Status2.stXCOSDC_CTRL.u16OC_Lpll_type >= E_XC_PNL_LPLL_TYPE_MAX))
2413*53ee8cc1Swenshuai.xi             {
2414*53ee8cc1Swenshuai.xi                 gSrcInfo[MAIN_WINDOW].Status2.stXCOSDC_CTRL.u16OC_Lpll_type = E_XC_PNL_LPLL_HS_LVDS;
2415*53ee8cc1Swenshuai.xi             }
2416*53ee8cc1Swenshuai.xi             MApi_PNL_SetExt_LPLL_Type(gSrcInfo[MAIN_WINDOW].Status2.stXCOSDC_CTRL.u16OC_Lpll_type);
2417*53ee8cc1Swenshuai.xi 
2418*53ee8cc1Swenshuai.xi             MApi_PNL_CalExtLPLLSETbyDClk(u32ldHz);
2419*53ee8cc1Swenshuai.xi             eRet = E_APIXC_RET_OK;
2420*53ee8cc1Swenshuai.xi         }
2421*53ee8cc1Swenshuai.xi         else if(eCtrl_type == E_XC_OSDC_INIT)
2422*53ee8cc1Swenshuai.xi         {
2423*53ee8cc1Swenshuai.xi             if((gSrcInfo[MAIN_WINDOW].Status2.u16OC_PreLplltype !=gSrcInfo[MAIN_WINDOW].Status2.stXCOSDC_CTRL.u16OC_Lpll_type) ||
2424*53ee8cc1Swenshuai.xi                 (gSrcInfo[MAIN_WINDOW].Status2.u16OC_Tgen_HTotal !=gSrcInfo[MAIN_WINDOW].Status2.stXCOSDCTIMING.u16OC_Tgen_HTotal) ||
2425*53ee8cc1Swenshuai.xi                 (gSrcInfo[MAIN_WINDOW].Status2.u16OC_Tgen_VTotal !=gSrcInfo[MAIN_WINDOW].Status2.stXCOSDCTIMING.u16OC_Tgen_VTotal))
2426*53ee8cc1Swenshuai.xi             {
2427*53ee8cc1Swenshuai.xi 
2428*53ee8cc1Swenshuai.xi                 if((gSrcInfo[MAIN_WINDOW].Status2.stXCOSDC_CTRL.u16OC_Lpll_type >= E_XC_PNL_LPLL_VBY1_10BIT_4LANE)
2429*53ee8cc1Swenshuai.xi                     &&(gSrcInfo[MAIN_WINDOW].Status2.stXCOSDC_CTRL.u16OC_Lpll_type <= E_XC_PNL_LPLL_VBY1_8BIT_8LANE))
2430*53ee8cc1Swenshuai.xi                 {
2431*53ee8cc1Swenshuai.xi                     if(MApi_PNL_GetOSDHWTraining_Status(pInstance))
2432*53ee8cc1Swenshuai.xi                     {
2433*53ee8cc1Swenshuai.xi                          MDrv_PNL_VBY1_Hardware_TrainingMode_En(pInstance, FALSE ,DISABLE);
2434*53ee8cc1Swenshuai.xi                     }
2435*53ee8cc1Swenshuai.xi                     else
2436*53ee8cc1Swenshuai.xi                     {
2437*53ee8cc1Swenshuai.xi                     //Close the RT51 OSD handshack code flow
2438*53ee8cc1Swenshuai.xi                     MOD_W2BYTEMSK(REG_MOD_BK00_44_L, BIT(15), BIT(15));
2439*53ee8cc1Swenshuai.xi                 }
2440*53ee8cc1Swenshuai.xi                 }
2441*53ee8cc1Swenshuai.xi 
2442*53ee8cc1Swenshuai.xi                 MDrv_XC_OSDC_MISC_Control(pInstance, &gSrcInfo[MAIN_WINDOW].Status2.stXCOSDC_CTRL);
2443*53ee8cc1Swenshuai.xi                 MDrv_XC_OSDC_TGEN_Setting(pInstance, &gSrcInfo[MAIN_WINDOW].Status2.stXCOSDCTIMING);
2444*53ee8cc1Swenshuai.xi 
2445*53ee8cc1Swenshuai.xi                 //Set OSDC Output clk
2446*53ee8cc1Swenshuai.xi                 u32ldHz = (MS_U32)gSrcInfo[MAIN_WINDOW].Status2.stXCOSDCTIMING.u16OC_Tgen_HTotal*
2447*53ee8cc1Swenshuai.xi                           gSrcInfo[MAIN_WINDOW].Status2.stXCOSDCTIMING.u16OC_Tgen_VTotal*
2448*53ee8cc1Swenshuai.xi                           pXCResourcePrivate->stdrvXC_MVideo.OSDC_FREQ;
2449*53ee8cc1Swenshuai.xi                 if((gSrcInfo[MAIN_WINDOW].Status2.stXCOSDC_CTRL.u16OC_Lpll_type ==0)||
2450*53ee8cc1Swenshuai.xi                    (gSrcInfo[MAIN_WINDOW].Status2.stXCOSDC_CTRL.u16OC_Lpll_type >= E_XC_PNL_LPLL_TYPE_MAX))
2451*53ee8cc1Swenshuai.xi                 {
2452*53ee8cc1Swenshuai.xi                     gSrcInfo[MAIN_WINDOW].Status2.stXCOSDC_CTRL.u16OC_Lpll_type = E_XC_PNL_LPLL_HS_LVDS;
2453*53ee8cc1Swenshuai.xi                 }
2454*53ee8cc1Swenshuai.xi                 MApi_PNL_SetExt_LPLL_Type(gSrcInfo[MAIN_WINDOW].Status2.stXCOSDC_CTRL.u16OC_Lpll_type);
2455*53ee8cc1Swenshuai.xi                 MDrv_PNL_SetOSDCOutputType(pInstance,
2456*53ee8cc1Swenshuai.xi                                            gSrcInfo[MAIN_WINDOW].Status2.stXCOSDC_CTRL.u16OC_Lpll_type,
2457*53ee8cc1Swenshuai.xi                                            gSrcInfo[MAIN_WINDOW].Status2.stXCOSDC_CTRL.u8OC_OutputFormat);
2458*53ee8cc1Swenshuai.xi                 MApi_PNL_CalExtLPLLSETbyDClk(u32ldHz);
2459*53ee8cc1Swenshuai.xi 
2460*53ee8cc1Swenshuai.xi                 if((gSrcInfo[MAIN_WINDOW].Status2.stXCOSDC_CTRL.u16OC_Lpll_type >= E_XC_PNL_LPLL_VBY1_10BIT_4LANE)
2461*53ee8cc1Swenshuai.xi                     &&(gSrcInfo[MAIN_WINDOW].Status2.stXCOSDC_CTRL.u16OC_Lpll_type <= E_XC_PNL_LPLL_VBY1_8BIT_8LANE))
2462*53ee8cc1Swenshuai.xi                 {
2463*53ee8cc1Swenshuai.xi                     if(MApi_PNL_GetOSDHWTraining_Status(pInstance))
2464*53ee8cc1Swenshuai.xi                     {
2465*53ee8cc1Swenshuai.xi                         MDrv_PNL_VBY1_Hardware_TrainingMode_En(pInstance, FALSE ,ENABLE);
2466*53ee8cc1Swenshuai.xi                     }
2467*53ee8cc1Swenshuai.xi                     else
2468*53ee8cc1Swenshuai.xi                     {
2469*53ee8cc1Swenshuai.xi                         //Open the RT51 OSD handshack code flow
2470*53ee8cc1Swenshuai.xi                         MOD_W2BYTEMSK(REG_MOD_BK00_44_L, 0, BIT(15));
2471*53ee8cc1Swenshuai.xi                     }
2472*53ee8cc1Swenshuai.xi                 }
2473*53ee8cc1Swenshuai.xi                 gSrcInfo[MAIN_WINDOW].Status2.u16OC_PreLplltype =gSrcInfo[MAIN_WINDOW].Status2.stXCOSDC_CTRL.u16OC_Lpll_type;
2474*53ee8cc1Swenshuai.xi                 gSrcInfo[MAIN_WINDOW].Status2.u16OC_Tgen_HTotal =gSrcInfo[MAIN_WINDOW].Status2.stXCOSDCTIMING.u16OC_Tgen_HTotal;
2475*53ee8cc1Swenshuai.xi                 gSrcInfo[MAIN_WINDOW].Status2.u16OC_Tgen_VTotal =gSrcInfo[MAIN_WINDOW].Status2.stXCOSDCTIMING.u16OC_Tgen_VTotal;
2476*53ee8cc1Swenshuai.xi 
2477*53ee8cc1Swenshuai.xi             }
2478*53ee8cc1Swenshuai.xi             eRet = E_APIXC_RET_OK;
2479*53ee8cc1Swenshuai.xi         }
2480*53ee8cc1Swenshuai.xi         else if(eCtrl_type == E_XC_OSDC_CTRL_OUTPUT_FORMAT)
2481*53ee8cc1Swenshuai.xi         {
2482*53ee8cc1Swenshuai.xi             MDrv_PNL_SetOSDCOutputType(pInstance,
2483*53ee8cc1Swenshuai.xi                                        gSrcInfo[MAIN_WINDOW].Status2.stXCOSDC_CTRL.u16OC_Lpll_type,
2484*53ee8cc1Swenshuai.xi                                        gSrcInfo[MAIN_WINDOW].Status2.stXCOSDC_CTRL.u8OC_OutputFormat);
2485*53ee8cc1Swenshuai.xi             eRet = E_APIXC_RET_OK;
2486*53ee8cc1Swenshuai.xi         }
2487*53ee8cc1Swenshuai.xi         else
2488*53ee8cc1Swenshuai.xi         {
2489*53ee8cc1Swenshuai.xi             printf("[Note]Please re-select the control item!\n");
2490*53ee8cc1Swenshuai.xi             eRet = E_APIXC_RET_FAIL_ENUM_NOT_SUPPORT;
2491*53ee8cc1Swenshuai.xi         }
2492*53ee8cc1Swenshuai.xi     }
2493*53ee8cc1Swenshuai.xi     else
2494*53ee8cc1Swenshuai.xi     {
2495*53ee8cc1Swenshuai.xi         eRet = E_APIXC_RET_FAIL_FUN_NOT_SUPPORT;
2496*53ee8cc1Swenshuai.xi     }
2497*53ee8cc1Swenshuai.xi 
2498*53ee8cc1Swenshuai.xi     return eRet;
2499*53ee8cc1Swenshuai.xi 
2500*53ee8cc1Swenshuai.xi }
2501*53ee8cc1Swenshuai.xi 
2502*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
2503*53ee8cc1Swenshuai.xi /// MDrv_XC_OSDC_MISC_Control
2504*53ee8cc1Swenshuai.xi /// @param  pstOC_Ctrl                 \b IN: the OSDC MISC control
2505*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MDrv_XC_OSDC_MISC_Control(void * pInstance,MS_XC_OSDC_CTRL_INFO * pstOC_Ctrl)2506*53ee8cc1Swenshuai.xi void MDrv_XC_OSDC_MISC_Control(void *pInstance, MS_XC_OSDC_CTRL_INFO *pstOC_Ctrl)
2507*53ee8cc1Swenshuai.xi {
2508*53ee8cc1Swenshuai.xi     MHAL_SC_enable_osdc(pInstance, pstOC_Ctrl->bOC_ClK_En);
2509*53ee8cc1Swenshuai.xi     MHAL_SC_set_osdc_mixer_bypass_enable(pInstance, pstOC_Ctrl->bOC_Mixer_Bypass_En);
2510*53ee8cc1Swenshuai.xi     MHAL_SC_set_osdc_mixer_inv_alpha_enable(pInstance, pstOC_Ctrl->bOC_Mixer_InvAlpha_En);
2511*53ee8cc1Swenshuai.xi     MHAL_SC_set_osdc_mixer_hs_n_vfde_enable(pInstance, pstOC_Ctrl->bOC_Mixer_Hsync_Vfde_Out);
2512*53ee8cc1Swenshuai.xi     MHAL_SC_set_osdc_mixer_hfde_n_vfde_enable(pInstance, pstOC_Ctrl->bOC_Mixer_Hfde_Vfde_Out);
2513*53ee8cc1Swenshuai.xi }
2514*53ee8cc1Swenshuai.xi 
2515*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
2516*53ee8cc1Swenshuai.xi /// MDrv_XC_OSDC_GetDataFromRegister
2517*53ee8cc1Swenshuai.xi /// @param  pstOC_Tgen                 \b IN: the timing control
2518*53ee8cc1Swenshuai.xi /// @param  pstOC_Ctrl                 \b IN: the OSDC MISC control
2519*53ee8cc1Swenshuai.xi /// @return @ref MS_BOOL
2520*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
MDrv_XC_OSDC_GetDataFromRegister(void * pInstance,MS_XC_OSDC_TGEN_INFO * pstOC_Tgen,MS_XC_OSDC_CTRL_INFO * pstOC_Ctrl)2521*53ee8cc1Swenshuai.xi MS_BOOL MDrv_XC_OSDC_GetDataFromRegister(void *pInstance, MS_XC_OSDC_TGEN_INFO *pstOC_Tgen, MS_XC_OSDC_CTRL_INFO *pstOC_Ctrl)
2522*53ee8cc1Swenshuai.xi {
2523*53ee8cc1Swenshuai.xi     if((NULL == pstOC_Tgen)||(NULL == pstOC_Ctrl))
2524*53ee8cc1Swenshuai.xi     {
2525*53ee8cc1Swenshuai.xi         return FALSE;
2526*53ee8cc1Swenshuai.xi     }
2527*53ee8cc1Swenshuai.xi 
2528*53ee8cc1Swenshuai.xi     pstOC_Tgen->u16OC_Tgen_HTotal              = MHAL_SC_get_osdc_tgen_htotal(pInstance);
2529*53ee8cc1Swenshuai.xi     pstOC_Tgen->u16OC_Tgen_Hsync_Start         = MHAL_SC_get_osdc_tgen_hsync_start(pInstance);
2530*53ee8cc1Swenshuai.xi     pstOC_Tgen->u16OC_Tgen_Hsync_End           = MHAL_SC_get_osdc_tgen_hsync_end(pInstance);
2531*53ee8cc1Swenshuai.xi     pstOC_Tgen->u16OC_Tgen_HframDE_Start       = MHAL_SC_get_osdc_tgen_hframe_de_start(pInstance);
2532*53ee8cc1Swenshuai.xi     pstOC_Tgen->u16OC_Tgen_HframDE_End         = MHAL_SC_get_osdc_tgen_hframe_de_end(pInstance);
2533*53ee8cc1Swenshuai.xi     pstOC_Tgen->u16OC_Tgen_VTotal              = MHAL_SC_get_osdc_tgen_vtotal(pInstance);
2534*53ee8cc1Swenshuai.xi     pstOC_Tgen->u16OC_Tgen_Vsync_Start         = MHAL_SC_get_osdc_tgen_vsync_start(pInstance);
2535*53ee8cc1Swenshuai.xi     pstOC_Tgen->u16OC_Tgen_Vsync_End           = MHAL_SC_get_osdc_tgen_vsync_end(pInstance);
2536*53ee8cc1Swenshuai.xi     pstOC_Tgen->u16OC_Tgen_VframDE_Start       = MHAL_SC_get_osdc_tgen_vframe_de_start(pInstance);
2537*53ee8cc1Swenshuai.xi     pstOC_Tgen->u16OC_Tgen_VframDE_End         = MHAL_SC_get_osdc_tgen_vframe_de_end(pInstance);
2538*53ee8cc1Swenshuai.xi 
2539*53ee8cc1Swenshuai.xi     pstOC_Ctrl->bOC_ClK_En                     = MHAL_SC_get_osdc_onoff_status(pInstance);
2540*53ee8cc1Swenshuai.xi     pstOC_Ctrl->bOC_Mixer_Bypass_En            = MHAL_SC_get_osdc_mixer_bypass_status(pInstance);
2541*53ee8cc1Swenshuai.xi     pstOC_Ctrl->bOC_Mixer_InvAlpha_En          = MHAL_SC_get_osdc_mixer_inv_alpha_status(pInstance);
2542*53ee8cc1Swenshuai.xi     pstOC_Ctrl->bOC_Mixer_Hsync_Vfde_Out       = MHAL_SC_get_osdc_mixer_hs_n_vfde_status(pInstance);
2543*53ee8cc1Swenshuai.xi     pstOC_Ctrl->bOC_Mixer_Hfde_Vfde_Out        = MHAL_SC_get_osdc_mixer_hfde_n_vfde_status(pInstance);
2544*53ee8cc1Swenshuai.xi 
2545*53ee8cc1Swenshuai.xi     return TRUE;
2546*53ee8cc1Swenshuai.xi }
2547*53ee8cc1Swenshuai.xi 
MDrv_XC_OSDC_TGENRST_EN(void * pInstance,MS_BOOL bEnable)2548*53ee8cc1Swenshuai.xi void MDrv_XC_OSDC_TGENRST_EN(void *pInstance, MS_BOOL bEnable)
2549*53ee8cc1Swenshuai.xi {
2550*53ee8cc1Swenshuai.xi     MHAL_SC_set_osdc_tgen_reset_enable(pInstance, bEnable);
2551*53ee8cc1Swenshuai.xi }
2552*53ee8cc1Swenshuai.xi 
MDrv_XC_OSDC_SWRST_EN(void * pInstance,MS_BOOL bEnable)2553*53ee8cc1Swenshuai.xi void MDrv_XC_OSDC_SWRST_EN(void *pInstance, MS_BOOL bEnable)
2554*53ee8cc1Swenshuai.xi {
2555*53ee8cc1Swenshuai.xi     MHAL_SC_set_osdc_swreset_enable(pInstance, bEnable);
2556*53ee8cc1Swenshuai.xi }
2557*53ee8cc1Swenshuai.xi 
MDrv_XC_IsSupportPipPatchUsingSc1MainAsSc0Sub(void)2558*53ee8cc1Swenshuai.xi MS_BOOL MDrv_XC_IsSupportPipPatchUsingSc1MainAsSc0Sub(void)
2559*53ee8cc1Swenshuai.xi {
2560*53ee8cc1Swenshuai.xi     return (MS_BOOL)PIP_PATCH_USING_SC1_MAIN_AS_SC0_SUB;
2561*53ee8cc1Swenshuai.xi }
2562*53ee8cc1Swenshuai.xi 
MDrv_XC_GetChipCaps(void * pInstance,E_XC_CAPS eCapType,MS_U32 * pRet,MS_U32 ret_size)2563*53ee8cc1Swenshuai.xi E_APIXC_ReturnValue MDrv_XC_GetChipCaps(void *pInstance, E_XC_CAPS eCapType, MS_U32* pRet, MS_U32 ret_size)
2564*53ee8cc1Swenshuai.xi {
2565*53ee8cc1Swenshuai.xi     switch(eCapType)
2566*53ee8cc1Swenshuai.xi     {
2567*53ee8cc1Swenshuai.xi         case E_XC_IMMESWITCH:
2568*53ee8cc1Swenshuai.xi             *pRet = SUPPORT_IMMESWITCH;
2569*53ee8cc1Swenshuai.xi             break;
2570*53ee8cc1Swenshuai.xi         case E_XC_DVI_AUTO_EQ:
2571*53ee8cc1Swenshuai.xi             *pRet = SUPPORT_DVI_AUTO_EQ;
2572*53ee8cc1Swenshuai.xi             break;
2573*53ee8cc1Swenshuai.xi         case E_XC_FRC_INSIDE:
2574*53ee8cc1Swenshuai.xi             *pRet = FRC_INSIDE;
2575*53ee8cc1Swenshuai.xi             break;
2576*53ee8cc1Swenshuai.xi         case E_XC_SUPPORT_FRCM_MODE:
2577*53ee8cc1Swenshuai.xi             *pRet = SUPPORT_FRCM_MODE;
2578*53ee8cc1Swenshuai.xi             break;
2579*53ee8cc1Swenshuai.xi         case E_XC_SUPPORT_4K2K_WITH_PIP:
2580*53ee8cc1Swenshuai.xi             *pRet = SUPPORT_4K2K_PIP;
2581*53ee8cc1Swenshuai.xi             break;
2582*53ee8cc1Swenshuai.xi         case E_XC_DIP_CHIP_CAPS:
2583*53ee8cc1Swenshuai.xi             {
2584*53ee8cc1Swenshuai.xi                 if( ret_size != sizeof(ST_XC_DIP_CHIPCAPS))
2585*53ee8cc1Swenshuai.xi                 {
2586*53ee8cc1Swenshuai.xi                     return E_APIXC_RET_FAIL_INVALID_PARAMETER;
2587*53ee8cc1Swenshuai.xi                 }
2588*53ee8cc1Swenshuai.xi                 ST_XC_DIP_CHIPCAPS *stDipCaps;
2589*53ee8cc1Swenshuai.xi                 stDipCaps = (ST_XC_DIP_CHIPCAPS *)pRet;
2590*53ee8cc1Swenshuai.xi                 DIP_CHIP_CAP(stDipCaps->eWindow,stDipCaps->u32DipChipCaps);
2591*53ee8cc1Swenshuai.xi                 break;
2592*53ee8cc1Swenshuai.xi             }
2593*53ee8cc1Swenshuai.xi         case E_XC_3D_FBL_CAPS:
2594*53ee8cc1Swenshuai.xi #ifndef DISABLE_3D_FUNCTION
2595*53ee8cc1Swenshuai.xi             *pRet = MDrv_SC_3D_IsSupportFBL3D();
2596*53ee8cc1Swenshuai.xi #else
2597*53ee8cc1Swenshuai.xi             *pRet = FALSE;
2598*53ee8cc1Swenshuai.xi #endif
2599*53ee8cc1Swenshuai.xi             break;
2600*53ee8cc1Swenshuai.xi 
2601*53ee8cc1Swenshuai.xi         case E_XC_SUPPORT_DETECT3D_IN3DMODE:
2602*53ee8cc1Swenshuai.xi #ifndef DISABLE_3D_FUNCTION
2603*53ee8cc1Swenshuai.xi     #if HW_2DTO3D_SUPPORT
2604*53ee8cc1Swenshuai.xi             *pRet = (HW_2DTO3D_VER >= 3);
2605*53ee8cc1Swenshuai.xi     #else
2606*53ee8cc1Swenshuai.xi             *pRet = FALSE;
2607*53ee8cc1Swenshuai.xi     #endif
2608*53ee8cc1Swenshuai.xi #else
2609*53ee8cc1Swenshuai.xi             *pRet = FALSE;
2610*53ee8cc1Swenshuai.xi #endif
2611*53ee8cc1Swenshuai.xi             break;
2612*53ee8cc1Swenshuai.xi 
2613*53ee8cc1Swenshuai.xi         case E_XC_HW_SEAMLESS_ZAPPING:
2614*53ee8cc1Swenshuai.xi             *pRet = SUPPORT_SEAMLESS_ZAPPING;
2615*53ee8cc1Swenshuai.xi             break;
2616*53ee8cc1Swenshuai.xi         case E_XC_SUPPORT_DEVICE1:
2617*53ee8cc1Swenshuai.xi             *pRet = SUPPORT_DEVICE1;
2618*53ee8cc1Swenshuai.xi             break;
2619*53ee8cc1Swenshuai.xi 
2620*53ee8cc1Swenshuai.xi         case E_XC_2DTO3D_VERSION:
2621*53ee8cc1Swenshuai.xi #if HW_2DTO3D_SUPPORT
2622*53ee8cc1Swenshuai.xi             *pRet = HW_2DTO3D_VER;
2623*53ee8cc1Swenshuai.xi #else
2624*53ee8cc1Swenshuai.xi             *pRet = 0xFFFFFFFF;
2625*53ee8cc1Swenshuai.xi #endif
2626*53ee8cc1Swenshuai.xi             break;
2627*53ee8cc1Swenshuai.xi         case E_XC_SUPPORT_FORCE_VSP_IN_DS_MODE:
2628*53ee8cc1Swenshuai.xi             *pRet = HW_SUPPORT_FORCE_VSP_IN_DS_MODE;
2629*53ee8cc1Swenshuai.xi             break;
2630*53ee8cc1Swenshuai.xi         case E_XC_SUPPORT_INTERLACE_OUT:
2631*53ee8cc1Swenshuai.xi             *pRet = HW_SUPPORT_INTERLACE_OUTPUT;
2632*53ee8cc1Swenshuai.xi             break;
2633*53ee8cc1Swenshuai.xi         case E_XC_SUPPORT_4K2K_60P:
2634*53ee8cc1Swenshuai.xi             *pRet = HW_SUPPORT_4K2K_60P_OUTPUT;
2635*53ee8cc1Swenshuai.xi             break;
2636*53ee8cc1Swenshuai.xi         case E_XC_SUPPORT_PIP_PATCH_USING_SC1_MAIN_AS_SC0_SUB:
2637*53ee8cc1Swenshuai.xi         {
2638*53ee8cc1Swenshuai.xi             if( ret_size != sizeof(MS_U32))
2639*53ee8cc1Swenshuai.xi             {
2640*53ee8cc1Swenshuai.xi                 return E_APIXC_RET_FAIL_INVALID_PARAMETER;
2641*53ee8cc1Swenshuai.xi             }
2642*53ee8cc1Swenshuai.xi             *pRet = (MS_U32)MDrv_XC_IsSupportPipPatchUsingSc1MainAsSc0Sub();
2643*53ee8cc1Swenshuai.xi             break;
2644*53ee8cc1Swenshuai.xi         }
2645*53ee8cc1Swenshuai.xi         case E_XC_HW_4K2K_VIP_PEAKING_LIMITATION:
2646*53ee8cc1Swenshuai.xi             *pRet = HW_4K2K_VIP_PEAKING_LIMITATION;
2647*53ee8cc1Swenshuai.xi             break;
2648*53ee8cc1Swenshuai.xi 
2649*53ee8cc1Swenshuai.xi         case E_XC_FB_CAPS_GET_FB_LEVEL:
2650*53ee8cc1Swenshuai.xi         {
2651*53ee8cc1Swenshuai.xi             XC_GET_FB_LEVEL* stXCGetFBLevel = (XC_GET_FB_LEVEL *)pRet;
2652*53ee8cc1Swenshuai.xi             stXCGetFBLevel->eFBLevel = MHal_XC_Get_FB_Level(pInstance, &(stXCGetFBLevel->stCropWin), &(stXCGetFBLevel->stDispWin),stXCGetFBLevel->bInterlace,&(stXCGetFBLevel->u16HSizeAfterPrescaling), &(stXCGetFBLevel->u16VSizeAfterPrescaling));
2653*53ee8cc1Swenshuai.xi             break;
2654*53ee8cc1Swenshuai.xi         }
2655*53ee8cc1Swenshuai.xi #ifdef UFO_XC_AUTO_DOWNLOAD
2656*53ee8cc1Swenshuai.xi         case E_XC_SUPPORT_AUTODOWNLOAD_CLIENT:
2657*53ee8cc1Swenshuai.xi         {
2658*53ee8cc1Swenshuai.xi             if(ret_size != sizeof(XC_AUTODOWNLOAD_CLIENT_SUPPORTED_CAPS))
2659*53ee8cc1Swenshuai.xi             {
2660*53ee8cc1Swenshuai.xi                 return E_APIXC_RET_FAIL_INVALID_PARAMETER;
2661*53ee8cc1Swenshuai.xi             }
2662*53ee8cc1Swenshuai.xi             XC_AUTODOWNLOAD_CLIENT_SUPPORTED_CAPS *pstAutoDownloadCaps;
2663*53ee8cc1Swenshuai.xi             pstAutoDownloadCaps = (XC_AUTODOWNLOAD_CLIENT_SUPPORTED_CAPS *)pRet;
2664*53ee8cc1Swenshuai.xi             MDrv_XC_GetAutoDownloadCaps(pstAutoDownloadCaps->enClient, &(pstAutoDownloadCaps->bSupported));
2665*53ee8cc1Swenshuai.xi             break;
2666*53ee8cc1Swenshuai.xi         }
2667*53ee8cc1Swenshuai.xi #endif
2668*53ee8cc1Swenshuai.xi #ifdef UFO_XC_HDR
2669*53ee8cc1Swenshuai.xi #if (UFO_XC_HDR_VERSION == 2)
2670*53ee8cc1Swenshuai.xi         case E_XC_SUPPORT_HDR:
2671*53ee8cc1Swenshuai.xi         {
2672*53ee8cc1Swenshuai.xi             if(ret_size != sizeof(XC_HDR_SUPPORTED_CAPS))
2673*53ee8cc1Swenshuai.xi             {
2674*53ee8cc1Swenshuai.xi                 return E_APIXC_RET_FAIL_INVALID_PARAMETER;
2675*53ee8cc1Swenshuai.xi             }
2676*53ee8cc1Swenshuai.xi             XC_HDR_SUPPORTED_CAPS *pstHDRCaps;
2677*53ee8cc1Swenshuai.xi             pstHDRCaps = (XC_HDR_SUPPORTED_CAPS *)pRet;
2678*53ee8cc1Swenshuai.xi             MDrv_XC_HDR_GetCaps(pInstance, pstHDRCaps);
2679*53ee8cc1Swenshuai.xi             break;
2680*53ee8cc1Swenshuai.xi 
2681*53ee8cc1Swenshuai.xi         }
2682*53ee8cc1Swenshuai.xi #endif
2683*53ee8cc1Swenshuai.xi #endif
2684*53ee8cc1Swenshuai.xi #ifdef UFO_XC_SUPPORT_3D_DS
2685*53ee8cc1Swenshuai.xi         case E_XC_SUPPORT_3D_DS:
2686*53ee8cc1Swenshuai.xi         {
2687*53ee8cc1Swenshuai.xi             *pRet = SUPPORT_3D_DS;
2688*53ee8cc1Swenshuai.xi             break;
2689*53ee8cc1Swenshuai.xi         }
2690*53ee8cc1Swenshuai.xi #endif
2691*53ee8cc1Swenshuai.xi         case E_XC_SCALING_LIMITATION:
2692*53ee8cc1Swenshuai.xi             *pRet = HW_SCALING_LIMITATION;
2693*53ee8cc1Swenshuai.xi             break;
2694*53ee8cc1Swenshuai.xi         default:
2695*53ee8cc1Swenshuai.xi             return E_APIXC_RET_FAIL_ENUM_NOT_SUPPORT;
2696*53ee8cc1Swenshuai.xi     }
2697*53ee8cc1Swenshuai.xi     return E_APIXC_RET_OK;
2698*53ee8cc1Swenshuai.xi }
2699*53ee8cc1Swenshuai.xi 
MDrv_XC_Get_Semaphore(void * pInstance,E_XC_POOL_ID_TYPE eID_TYPE)2700*53ee8cc1Swenshuai.xi MS_U32 MDrv_XC_Get_Semaphore(void *pInstance,E_XC_POOL_ID_TYPE eID_TYPE)
2701*53ee8cc1Swenshuai.xi {
2702*53ee8cc1Swenshuai.xi 	E_XC_POOL_ID eID=E_XC_POOL_ID_MAX;
2703*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
2704*53ee8cc1Swenshuai.xi     MS_U32 u32Return = UTOPIA_STATUS_FAIL;
2705*53ee8cc1Swenshuai.xi 
2706*53ee8cc1Swenshuai.xi 	if(pInstance == NULL)
2707*53ee8cc1Swenshuai.xi     {
2708*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
2709*53ee8cc1Swenshuai.xi         return u32Return;
2710*53ee8cc1Swenshuai.xi     }
2711*53ee8cc1Swenshuai.xi     else
2712*53ee8cc1Swenshuai.xi 	{
2713*53ee8cc1Swenshuai.xi     	UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
2714*53ee8cc1Swenshuai.xi 	}
2715*53ee8cc1Swenshuai.xi 
2716*53ee8cc1Swenshuai.xi     if(eID_TYPE == E_XC_ID_REG)
2717*53ee8cc1Swenshuai.xi     {
2718*53ee8cc1Swenshuai.xi 		eID=_XC_SELECT_INTERNAL_REGISTER(psXCInstPri->u32DeviceID);
2719*53ee8cc1Swenshuai.xi     }
2720*53ee8cc1Swenshuai.xi 	else if(eID_TYPE == E_XC_ID_VAR)
2721*53ee8cc1Swenshuai.xi     {
2722*53ee8cc1Swenshuai.xi 		eID=_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID);
2723*53ee8cc1Swenshuai.xi     }
2724*53ee8cc1Swenshuai.xi 	else if(eID_TYPE == E_XC_ID_MLD)
2725*53ee8cc1Swenshuai.xi     {
2726*53ee8cc1Swenshuai.xi 		eID=_XC_SELECT_INTERNAL_MENULOAD(psXCInstPri->u32DeviceID);
2727*53ee8cc1Swenshuai.xi     }
2728*53ee8cc1Swenshuai.xi     else if(eID_TYPE == E_XC_ID_DS)
2729*53ee8cc1Swenshuai.xi     {
2730*53ee8cc1Swenshuai.xi         eID=_XC_SELECT_INTERNAL_DS(psXCInstPri->u32DeviceID);
2731*53ee8cc1Swenshuai.xi     }
2732*53ee8cc1Swenshuai.xi 
2733*53ee8cc1Swenshuai.xi 
2734*53ee8cc1Swenshuai.xi     if (eID >= E_XC_POOL_ID_MAX)
2735*53ee8cc1Swenshuai.xi     {
2736*53ee8cc1Swenshuai.xi         printf("[%s,%5d] Unknown XC Pool ID\n",__func__, __LINE__);
2737*53ee8cc1Swenshuai.xi         return u32Return;
2738*53ee8cc1Swenshuai.xi     }
2739*53ee8cc1Swenshuai.xi 	if (eID == E_XC_POOL_ID_INTERNAL_REGISTER || eID == E_XC_POOL_ID_INTERNAL_REGISTER_1 ||
2740*53ee8cc1Swenshuai.xi         eID == E_XC_POOL_ID_INTERNAL_MENULOAD || eID == E_XC_POOL_ID_INTERNAL_MENULOAD_1 ||
2741*53ee8cc1Swenshuai.xi         eID == E_XC_POOL_ID_INTERNAL_DS       || eID == E_XC_POOL_ID_INTERNAL_DS_1 )
2742*53ee8cc1Swenshuai.xi     {
2743*53ee8cc1Swenshuai.xi         return u32Return;
2744*53ee8cc1Swenshuai.xi     }
2745*53ee8cc1Swenshuai.xi 
2746*53ee8cc1Swenshuai.xi     #if 0 // for Debug. It is important to check the tid
2747*53ee8cc1Swenshuai.xi     pid_t tid;
2748*53ee8cc1Swenshuai.xi     tid = syscall(SYS_gettid);
2749*53ee8cc1Swenshuai.xi     printf("tid = (%d)\n",tid);
2750*53ee8cc1Swenshuai.xi     #endif
2751*53ee8cc1Swenshuai.xi 
2752*53ee8cc1Swenshuai.xi     void* pModule = NULL;
2753*53ee8cc1Swenshuai.xi     UtopiaInstanceGetModule(pInstance, &pModule);
2754*53ee8cc1Swenshuai.xi 
2755*53ee8cc1Swenshuai.xi     if(UtopiaResourceObtain(pModule, eID, &g_pXCResource[eID]) != UTOPIA_STATUS_SUCCESS)
2756*53ee8cc1Swenshuai.xi     {
2757*53ee8cc1Swenshuai.xi         printf("UtopiaResourceObtain fail\n");
2758*53ee8cc1Swenshuai.xi         return UTOPIA_STATUS_ERR_RESOURCE;
2759*53ee8cc1Swenshuai.xi     }
2760*53ee8cc1Swenshuai.xi     u32Return = UTOPIA_STATUS_SUCCESS;
2761*53ee8cc1Swenshuai.xi     return u32Return;
2762*53ee8cc1Swenshuai.xi }
2763*53ee8cc1Swenshuai.xi 
MDrv_XC_Release_Semaphore(void * pInstance,E_XC_POOL_ID_TYPE eID_TYPE)2764*53ee8cc1Swenshuai.xi MS_U32 MDrv_XC_Release_Semaphore(void *pInstance,E_XC_POOL_ID_TYPE eID_TYPE)
2765*53ee8cc1Swenshuai.xi {
2766*53ee8cc1Swenshuai.xi 	E_XC_POOL_ID eID=E_XC_POOL_ID_MAX;
2767*53ee8cc1Swenshuai.xi     MS_U32 u32Return = UTOPIA_STATUS_FAIL;
2768*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
2769*53ee8cc1Swenshuai.xi 
2770*53ee8cc1Swenshuai.xi 	if(pInstance == NULL)
2771*53ee8cc1Swenshuai.xi     {
2772*53ee8cc1Swenshuai.xi         printf("[%s,%5d]No instance existed, please get an instance by calling MApi_XC_Init() first\n",__FUNCTION__,__LINE__);
2773*53ee8cc1Swenshuai.xi         return u32Return;
2774*53ee8cc1Swenshuai.xi     }else
2775*53ee8cc1Swenshuai.xi 	{
2776*53ee8cc1Swenshuai.xi     	UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
2777*53ee8cc1Swenshuai.xi 	}
2778*53ee8cc1Swenshuai.xi 	if(eID_TYPE == E_XC_ID_REG)
2779*53ee8cc1Swenshuai.xi 		eID=_XC_SELECT_INTERNAL_REGISTER(psXCInstPri->u32DeviceID);
2780*53ee8cc1Swenshuai.xi 	else if(eID_TYPE == E_XC_ID_VAR)
2781*53ee8cc1Swenshuai.xi 		eID=_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID);
2782*53ee8cc1Swenshuai.xi 	else if(eID_TYPE == E_XC_ID_MLD)
2783*53ee8cc1Swenshuai.xi 		eID=_XC_SELECT_INTERNAL_MENULOAD(psXCInstPri->u32DeviceID);
2784*53ee8cc1Swenshuai.xi     else if(eID_TYPE == E_XC_ID_DS)
2785*53ee8cc1Swenshuai.xi         eID=_XC_SELECT_INTERNAL_DS(psXCInstPri->u32DeviceID);
2786*53ee8cc1Swenshuai.xi 
2787*53ee8cc1Swenshuai.xi     if (eID >= E_XC_POOL_ID_MAX)
2788*53ee8cc1Swenshuai.xi     {
2789*53ee8cc1Swenshuai.xi         printf("[%s,%5d] Unknown XC Pool ID\n",__func__, __LINE__);
2790*53ee8cc1Swenshuai.xi         return u32Return;
2791*53ee8cc1Swenshuai.xi     }
2792*53ee8cc1Swenshuai.xi 
2793*53ee8cc1Swenshuai.xi 	if (eID == E_XC_POOL_ID_INTERNAL_REGISTER || eID == E_XC_POOL_ID_INTERNAL_REGISTER_1 ||
2794*53ee8cc1Swenshuai.xi         eID == E_XC_POOL_ID_INTERNAL_MENULOAD || eID == E_XC_POOL_ID_INTERNAL_MENULOAD_1 ||
2795*53ee8cc1Swenshuai.xi         eID == E_XC_POOL_ID_INTERNAL_DS       || eID == E_XC_POOL_ID_INTERNAL_DS_1)
2796*53ee8cc1Swenshuai.xi     {
2797*53ee8cc1Swenshuai.xi         return u32Return;
2798*53ee8cc1Swenshuai.xi     }
2799*53ee8cc1Swenshuai.xi     #if 0 // for Debug. It is important to check the tid
2800*53ee8cc1Swenshuai.xi     pid_t tid;
2801*53ee8cc1Swenshuai.xi     tid = syscall(SYS_gettid);
2802*53ee8cc1Swenshuai.xi     printf("tid = (%d)\n",tid);
2803*53ee8cc1Swenshuai.xi     #endif
2804*53ee8cc1Swenshuai.xi 
2805*53ee8cc1Swenshuai.xi     u32Return = UtopiaResourceRelease(g_pXCResource[eID]);
2806*53ee8cc1Swenshuai.xi     return u32Return;
2807*53ee8cc1Swenshuai.xi }
2808*53ee8cc1Swenshuai.xi 
MDrv_XC_Resource_Mapping(MS_U32 u32InstanceID,E_XC_POOL_ID eID)2809*53ee8cc1Swenshuai.xi E_XC_POOL_ID MDrv_XC_Resource_Mapping(MS_U32 u32InstanceID, E_XC_POOL_ID eID)
2810*53ee8cc1Swenshuai.xi {
2811*53ee8cc1Swenshuai.xi     if(eID >= E_XC_POOL_ID_MAX)
2812*53ee8cc1Swenshuai.xi     {
2813*53ee8cc1Swenshuai.xi         printf("Error, Invalid POOL ID!!!\n");
2814*53ee8cc1Swenshuai.xi         return E_XC_POOL_ID_MAX;
2815*53ee8cc1Swenshuai.xi     }
2816*53ee8cc1Swenshuai.xi     if(u32InstanceID == 0)
2817*53ee8cc1Swenshuai.xi     {
2818*53ee8cc1Swenshuai.xi         //FIXME?
2819*53ee8cc1Swenshuai.xi         return eID;
2820*53ee8cc1Swenshuai.xi     }
2821*53ee8cc1Swenshuai.xi     else if(u32InstanceID == 1)
2822*53ee8cc1Swenshuai.xi     {
2823*53ee8cc1Swenshuai.xi         switch(eID)
2824*53ee8cc1Swenshuai.xi         {
2825*53ee8cc1Swenshuai.xi             case E_XC_POOL_ID_INTERNAL_REGISTER:
2826*53ee8cc1Swenshuai.xi             case E_XC_POOL_ID_INTERNAL_REGISTER_1:
2827*53ee8cc1Swenshuai.xi                 return E_XC_POOL_ID_INTERNAL_REGISTER_1;
2828*53ee8cc1Swenshuai.xi             case E_XC_POOL_ID_INTERNAL_VARIABLE:
2829*53ee8cc1Swenshuai.xi             case E_XC_POOL_ID_INTERNAL_VARIABLE_1:
2830*53ee8cc1Swenshuai.xi                 return E_XC_POOL_ID_INTERNAL_VARIABLE_1;
2831*53ee8cc1Swenshuai.xi             case E_XC_POOL_ID_INTERNAL_MENULOAD:
2832*53ee8cc1Swenshuai.xi             case E_XC_POOL_ID_INTERNAL_MENULOAD_1:
2833*53ee8cc1Swenshuai.xi                 return E_XC_POOL_ID_INTERNAL_MENULOAD_1;
2834*53ee8cc1Swenshuai.xi             case E_XC_POOL_ID_INTERNAL_DS:
2835*53ee8cc1Swenshuai.xi             case E_XC_POOL_ID_INTERNAL_DS_1:
2836*53ee8cc1Swenshuai.xi                 return E_XC_POOL_ID_INTERNAL_DS_1;
2837*53ee8cc1Swenshuai.xi             default:
2838*53ee8cc1Swenshuai.xi                 return eID;
2839*53ee8cc1Swenshuai.xi         }
2840*53ee8cc1Swenshuai.xi     }
2841*53ee8cc1Swenshuai.xi     else
2842*53ee8cc1Swenshuai.xi     {
2843*53ee8cc1Swenshuai.xi         printf("u32InstanceID = %td is over 1!!\n", (ptrdiff_t)u32InstanceID);
2844*53ee8cc1Swenshuai.xi         return E_XC_POOL_ID_MAX;
2845*53ee8cc1Swenshuai.xi     }
2846*53ee8cc1Swenshuai.xi }
2847*53ee8cc1Swenshuai.xi 
2848*53ee8cc1Swenshuai.xi 
MDrv_XC_Set_VOP(void * pInstance,MS_XC_VOP_Data * pstVOPData)2849*53ee8cc1Swenshuai.xi void MDrv_XC_Set_VOP(void *pInstance, MS_XC_VOP_Data *pstVOPData)
2850*53ee8cc1Swenshuai.xi 
2851*53ee8cc1Swenshuai.xi {
2852*53ee8cc1Swenshuai.xi     //Note: H/V Total, H/V DE End, H/V Syncwidth all need minus 1 when set to register
2853*53ee8cc1Swenshuai.xi     MS_U16 u16DE_HEND = pstVOPData->u16HStart + pstVOPData->u16Width - 1;
2854*53ee8cc1Swenshuai.xi     MS_U16 u16DE_HStart = pstVOPData->u16HStart;
2855*53ee8cc1Swenshuai.xi     MS_U16 u16DE_VEND = pstVOPData->u16VStart + pstVOPData->u16Height - 1;
2856*53ee8cc1Swenshuai.xi     MS_U16 u16DE_VStart = pstVOPData->u16VStart;
2857*53ee8cc1Swenshuai.xi     MS_U16 u16VsyncStart = pstVOPData->u16VTotal - pstVOPData->u16VSyncStart;// vsync start = Vtt - (VSyncWidth + BackPorch)
2858*53ee8cc1Swenshuai.xi 
2859*53ee8cc1Swenshuai.xi 
2860*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
2861*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
2862*53ee8cc1Swenshuai.xi 
2863*53ee8cc1Swenshuai.xi     printf("##@##[%s][%d][%tx]\n", __FUNCTION__, __LINE__, (ptrdiff_t)psXCInstPri->u32DeviceID);
2864*53ee8cc1Swenshuai.xi 
2865*53ee8cc1Swenshuai.xi 
2866*53ee8cc1Swenshuai.xi 
2867*53ee8cc1Swenshuai.xi     // Htotal/Vtotal
2868*53ee8cc1Swenshuai.xi #if PIP_PATCH_USING_SC1_MAIN_AS_SC0_SUB
2869*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_0C_L, (pstVOPData->u16HTotal/2 - 1), VOP_HTT_MASK);         // output htotal
2870*53ee8cc1Swenshuai.xi #else
2871*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_0C_L, (pstVOPData->u16HTotal - 1), VOP_HTT_MASK);         // output htotal
2872*53ee8cc1Swenshuai.xi #endif
2873*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_0D_L, (pstVOPData->u16VTotal - 1), VOP_VTT_MASK);         // output vtotal
2874*53ee8cc1Swenshuai.xi 
2875*53ee8cc1Swenshuai.xi     // DE H/V start/size
2876*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_04_L, u16DE_HStart, VOP_DE_HSTART_MASK);                                       // DE H start
2877*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_05_L, u16DE_HEND  , VOP_DE_HEND_MASK);  // DE H end
2878*53ee8cc1Swenshuai.xi #if PIP_PATCH_USING_SC1_MAIN_AS_SC0_SUB
2879*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_06_L, u16DE_VStart+6, VOP_DE_VSTART_MASK);                                       // DE V start
2880*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_07_L, u16DE_VEND+10  , VOP_DE_VEND_MASK);  // DE V end
2881*53ee8cc1Swenshuai.xi #else
2882*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_06_L, u16DE_VStart, VOP_DE_VSTART_MASK);                                       // DE V start
2883*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_07_L, u16DE_VEND  , VOP_DE_VEND_MASK);  // DE V end
2884*53ee8cc1Swenshuai.xi #endif
2885*53ee8cc1Swenshuai.xi 
2886*53ee8cc1Swenshuai.xi     // Display H/V start/size
2887*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_08_L, u16DE_HStart , VOP_DISPLAY_HSTART_MASK);                                               // Display H start
2888*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_09_L, u16DE_HEND   , VOP_DISPLAY_HEND_MASK);  // Display H end
2889*53ee8cc1Swenshuai.xi #if PIP_PATCH_USING_SC1_MAIN_AS_SC0_SUB
2890*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_0A_L, u16DE_VStart+6 , VOP_DISPLAY_VSTART_MASK);                                               // Display V start
2891*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_0B_L, u16DE_VEND+6   , VOP_DISPLAY_VEND_MASK);  // Display V end
2892*53ee8cc1Swenshuai.xi #else
2893*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_0A_L, u16DE_VStart , VOP_DISPLAY_VSTART_MASK);                                               // Display V start
2894*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_0B_L, u16DE_VEND   , VOP_DISPLAY_VEND_MASK);  // Display V end
2895*53ee8cc1Swenshuai.xi #endif
2896*53ee8cc1Swenshuai.xi 
2897*53ee8cc1Swenshuai.xi     // H/V sync start/width
2898*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_01_L, (pstVOPData->u8HSyncWidth-1), LBMASK);                    // hsync width
2899*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_02_L, ((u16VsyncStart & 0x7FF) | ((u16VsyncStart & 0x800) << 1)), 0x17FF);     // vsync start = Vtt - (VSyncWidth + BackPorch)
2900*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_03_L, (u16VsyncStart + pstVOPData->u8VSyncWidth - 1), VOP_VSYNC_END_MASK);    // vsync end = Vsync start + Vsync Width
2901*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_10_L, (pstVOPData->bManuelVSyncCtrl << 15), BIT(15));                                  // manual vsync control
2902*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_10_L, BIT(14), BIT(14));       //default set to mode1                                                                       // disable auto_htotal
2903*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_23_L, BIT(7), BIT(7));
2904*53ee8cc1Swenshuai.xi 
2905*53ee8cc1Swenshuai.xi     // output control
2906*53ee8cc1Swenshuai.xi     SC_W2BYTE(psXCInstPri->u32DeviceID, REG_SC_BK10_21_L, pstVOPData->u16OCTRL);
2907*53ee8cc1Swenshuai.xi 
2908*53ee8cc1Swenshuai.xi     SC_W2BYTE(psXCInstPri->u32DeviceID, REG_SC_BK10_46_L, pstVOPData->u16OSTRL);
2909*53ee8cc1Swenshuai.xi 
2910*53ee8cc1Swenshuai.xi     // output driving current
2911*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_47_L, pstVOPData->u16ODRV, LBMASK);
2912*53ee8cc1Swenshuai.xi }
2913*53ee8cc1Swenshuai.xi 
2914*53ee8cc1Swenshuai.xi 
2915*53ee8cc1Swenshuai.xi #ifndef DISABLE_HW_PATTERN_FUNCTION
2916*53ee8cc1Swenshuai.xi #ifdef SUPPORT_HW_TESTPATTERN
MDrv_SC_OP1_PatGen_Init(void * pInstance,EN_XC_OP1_PATGEN_MODE eMode)2917*53ee8cc1Swenshuai.xi MS_BOOL MDrv_SC_OP1_PatGen_Init(void *pInstance, EN_XC_OP1_PATGEN_MODE eMode)
2918*53ee8cc1Swenshuai.xi {
2919*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
2920*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
2921*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
2922*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
2923*53ee8cc1Swenshuai.xi     if(!pXCResourcePrivate->stdrvXC_MVideo_Context.bOP1_PatGen_Init)
2924*53ee8cc1Swenshuai.xi     {
2925*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_backup_setting();
2926*53ee8cc1Swenshuai.xi         pXCResourcePrivate->stdrvXC_MVideo_Context.bOP1_PatGen_Init = TRUE;
2927*53ee8cc1Swenshuai.xi     }
2928*53ee8cc1Swenshuai.xi 
2929*53ee8cc1Swenshuai.xi     if(FALSE == MHal_SC_OP1_Pattern_set_patgen_mode(eMode))
2930*53ee8cc1Swenshuai.xi     {
2931*53ee8cc1Swenshuai.xi         return FALSE;
2932*53ee8cc1Swenshuai.xi     }
2933*53ee8cc1Swenshuai.xi 
2934*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_init_setting();
2935*53ee8cc1Swenshuai.xi 
2936*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writedone();
2937*53ee8cc1Swenshuai.xi 
2938*53ee8cc1Swenshuai.xi     //MS_U16 u16OP1_PatGen_HSize = 0;
2939*53ee8cc1Swenshuai.xi     //MS_U16 u16OP1_PatGen_VSize = 0;
2940*53ee8cc1Swenshuai.xi 
2941*53ee8cc1Swenshuai.xi     //Set the hSize and VSize
2942*53ee8cc1Swenshuai.xi     //u16OP1_PatGen_HSize = gSrcInfo[MAIN_WINDOW].stDispWin.width - gSrcInfo[MAIN_WINDOW].stDispWin.x ;
2943*53ee8cc1Swenshuai.xi     //u16OP1_PatGen_VSize = gSrcInfo[MAIN_WINDOW].stDispWin.height - gSrcInfo[MAIN_WINDOW].stDispWin.y;
2944*53ee8cc1Swenshuai.xi 
2945*53ee8cc1Swenshuai.xi     //MHal_SC_OP1_Pattern_set_frame_size(u16OP1_PatGen_HSize, u16OP1_PatGen_VSize);
2946*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_set_frame_size(pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.stPanelInfo.u16Width
2947*53ee8cc1Swenshuai.xi                                        , pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.stPanelInfo.u16Width);
2948*53ee8cc1Swenshuai.xi 
2949*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_enable(ENABLE);
2950*53ee8cc1Swenshuai.xi 
2951*53ee8cc1Swenshuai.xi     // due to change di1lb, need to wait HW done
2952*53ee8cc1Swenshuai.xi     MsOS_DelayTask(50);
2953*53ee8cc1Swenshuai.xi 
2954*53ee8cc1Swenshuai.xi     return TRUE;
2955*53ee8cc1Swenshuai.xi 
2956*53ee8cc1Swenshuai.xi }
2957*53ee8cc1Swenshuai.xi 
MDrv_SC_Set_OP1_TestPattern(void * pInstance,EN_XC_OP1_PATTERN ePattern,EN_XC_OP1_PATGEN_MODE eMode)2958*53ee8cc1Swenshuai.xi E_APIXC_ReturnValue MDrv_SC_Set_OP1_TestPattern(void *pInstance, EN_XC_OP1_PATTERN ePattern, EN_XC_OP1_PATGEN_MODE eMode)
2959*53ee8cc1Swenshuai.xi {
2960*53ee8cc1Swenshuai.xi     E_APIXC_ReturnValue enResult = E_APIXC_RET_OK;
2961*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
2962*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
2963*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
2964*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
2965*53ee8cc1Swenshuai.xi     //initialize the op1 pattern gen
2966*53ee8cc1Swenshuai.xi 
2967*53ee8cc1Swenshuai.xi     //temp solution for fixing the broken problem when changing pattern directly.
2968*53ee8cc1Swenshuai.xi     //need to mute first before any pattern change ot disable pattern
2969*53ee8cc1Swenshuai.xi 
2970*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_19_L, BIT(1),BIT(1)); //window color en : on
2971*53ee8cc1Swenshuai.xi #if (FRC_INSIDE && (HW_DESIGN_4K2K_VER == 6))
2972*53ee8cc1Swenshuai.xi     if (IsVBY1_16LANE((MS_U8)pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.stPanelInfo.eLPLL_Type))
2973*53ee8cc1Swenshuai.xi     {
2974*53ee8cc1Swenshuai.xi         SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BKCB_17_L, BIT(1),BIT(1));
2975*53ee8cc1Swenshuai.xi     }
2976*53ee8cc1Swenshuai.xi #endif
2977*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK01_02_L, BIT(7),BIT(7)); //input source disable
2978*53ee8cc1Swenshuai.xi 
2979*53ee8cc1Swenshuai.xi     //MDrv_SC_OP1_PatGen_Init(mode);
2980*53ee8cc1Swenshuai.xi 
2981*53ee8cc1Swenshuai.xi     // Disable then enable to make a reset, to avoid SRAM data wrong
2982*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_PatGen_Disable(pInstance);
2983*53ee8cc1Swenshuai.xi     //MsOS_DelayTask(50);
2984*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_PatGen_Init(pInstance, eMode);
2985*53ee8cc1Swenshuai.xi     //MsOS_DelayTask(50);
2986*53ee8cc1Swenshuai.xi 
2987*53ee8cc1Swenshuai.xi     if(gSrcInfo[MAIN_WINDOW].bUseYUVSpace)
2988*53ee8cc1Swenshuai.xi     {
2989*53ee8cc1Swenshuai.xi         //if(!bSkipColorMatrix)
2990*53ee8cc1Swenshuai.xi         MHAL_SC_set_r2y_en(pInstance, ENABLE, MAIN_WINDOW);
2991*53ee8cc1Swenshuai.xi 
2992*53ee8cc1Swenshuai.xi     }
2993*53ee8cc1Swenshuai.xi     else if(SC_R2BYTE(psXCInstPri->u32DeviceID, REG_SC_BK10_26_L)!= 0x400 )
2994*53ee8cc1Swenshuai.xi     {
2995*53ee8cc1Swenshuai.xi         // prevent fist time boot up with no signal
2996*53ee8cc1Swenshuai.xi         //if(!bSkipColorMatrix)
2997*53ee8cc1Swenshuai.xi         MHAL_SC_set_r2y_en(pInstance, ENABLE, MAIN_WINDOW);
2998*53ee8cc1Swenshuai.xi 
2999*53ee8cc1Swenshuai.xi     }
3000*53ee8cc1Swenshuai.xi 
3001*53ee8cc1Swenshuai.xi     if(SC_R2BYTE(psXCInstPri->u32DeviceID, REG_SC_BK10_2F_L) == 0 ) //by pass 3x3 color matrix
3002*53ee8cc1Swenshuai.xi     {
3003*53ee8cc1Swenshuai.xi         //if(!bSkipColorMatrix)
3004*53ee8cc1Swenshuai.xi         MHAL_SC_set_r2y_en(pInstance, DISABLE, MAIN_WINDOW);
3005*53ee8cc1Swenshuai.xi     }
3006*53ee8cc1Swenshuai.xi 
3007*53ee8cc1Swenshuai.xi     switch (ePattern)
3008*53ee8cc1Swenshuai.xi     {
3009*53ee8cc1Swenshuai.xi         case E_XC_OP1_WB_PATTERN:
3010*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_WB_Pattern(pInstance, 8, 12);
3011*53ee8cc1Swenshuai.xi             break;
3012*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_RED_PATTERN:
3013*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_HW_Default_Pattern(pInstance, 0x20);
3014*53ee8cc1Swenshuai.xi             break;
3015*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_GREEN_PATTERN:
3016*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_HW_Default_Pattern(pInstance, 0x30);
3017*53ee8cc1Swenshuai.xi             break;
3018*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_BLUE_PATTERN:
3019*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_HW_Default_Pattern(pInstance, 0x40);
3020*53ee8cc1Swenshuai.xi             break;
3021*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_WHITE_PATTERN:
3022*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_HW_Default_Pattern(pInstance, 0x50);
3023*53ee8cc1Swenshuai.xi             break;
3024*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_BLACK_PATTERN:
3025*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_HW_Default_Pattern(pInstance, 0x60);
3026*53ee8cc1Swenshuai.xi             break;
3027*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_GREY_PATTERN:
3028*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,155,155,155);
3029*53ee8cc1Swenshuai.xi             break;
3030*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_COLOR_V_BAR_PATTERN:
3031*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_V_Bar_Pattern(pInstance, 8, 12);
3032*53ee8cc1Swenshuai.xi             break;
3033*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_COLOR_H_BAR_PATTERN:
3034*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_H_Bar_Pattern(pInstance, 8, 8);
3035*53ee8cc1Swenshuai.xi             break;
3036*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_GREY_BAR_16_PATTERN:
3037*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Gray_Bar_Pattern(pInstance, 32, 12, 2, 11, 16);
3038*53ee8cc1Swenshuai.xi             break;
3039*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_GREY_BAR_32_PATTERN:
3040*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Gray_Bar_Pattern(pInstance, 32, 12, 1, 11, 32);
3041*53ee8cc1Swenshuai.xi             break;
3042*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_GREY_BAR_64_PATTERN:
3043*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Gray_Bar_Pattern(pInstance, 128, 12, 2,11,64);
3044*53ee8cc1Swenshuai.xi             break;
3045*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_GREY_RGB_32_PATTERN:
3046*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_RGB_32_Pattern(pInstance, 32, 8, 1, 1, 32);
3047*53ee8cc1Swenshuai.xi             break;
3048*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_RGB_CHECKERBOARD_PATTERN:
3049*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_RGB_Checkerboard_Pattern_GBChange(pInstance, 3, 3);
3050*53ee8cc1Swenshuai.xi             break;
3051*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_RGB_CHECKERBOARD_PATTERN_2:
3052*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_HW_Default_Pattern(pInstance, 0x70);
3053*53ee8cc1Swenshuai.xi             break;
3054*53ee8cc1Swenshuai.xi         case E_XC_OP1_DOAFADE_GRAY_PATTERN:
3055*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Dotfade_Gray_Pattern(pInstance, 8, 12);
3056*53ee8cc1Swenshuai.xi             break;
3057*53ee8cc1Swenshuai.xi         case E_XC_OP1_CALIBRATION_PATTERN:
3058*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_HW_Default_Pattern(pInstance, 0x80);
3059*53ee8cc1Swenshuai.xi             break;
3060*53ee8cc1Swenshuai.xi         case E_XC_OP1_CALIBRATION_COLOR_DOTFADE_PATTERN:
3061*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Calibratoin_Color_Dotfade_Pattern(pInstance, 8,12);
3062*53ee8cc1Swenshuai.xi             break;
3063*53ee8cc1Swenshuai.xi         case E_XC_OP1_PATTERN_1:
3064*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_1_Pattern(pInstance, 192,216);
3065*53ee8cc1Swenshuai.xi             break;
3066*53ee8cc1Swenshuai.xi         case E_XC_OP1_PATTERN_2:
3067*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_2_Pattern(pInstance, 16,27);
3068*53ee8cc1Swenshuai.xi             break;
3069*53ee8cc1Swenshuai.xi         case E_XC_OP1_PATTERN_3:
3070*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_3_Pattern(pInstance, 24,108);
3071*53ee8cc1Swenshuai.xi             break;
3072*53ee8cc1Swenshuai.xi         case E_XC_OP1_3D_PATTERN:
3073*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_3D_Pattern(pInstance, 64,30);
3074*53ee8cc1Swenshuai.xi             break;
3075*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_RED_100IRE_PATTERN:
3076*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,940,0,0);
3077*53ee8cc1Swenshuai.xi             break;
3078*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_GREEN_100IRE_PATTERN:
3079*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,0,940,0);
3080*53ee8cc1Swenshuai.xi             break;
3081*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_BLUE_100IRE_PATTERN:
3082*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,0,0,940);
3083*53ee8cc1Swenshuai.xi             break;
3084*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_RED_70IRE_PATTERN:
3085*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,658,0,0);
3086*53ee8cc1Swenshuai.xi             break;
3087*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_GREEN_70IRE_PATTERN:
3088*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,0,658,0);
3089*53ee8cc1Swenshuai.xi             break;
3090*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_BLUE_70IRE_PATTERN:
3091*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,0,0,658);
3092*53ee8cc1Swenshuai.xi             break;
3093*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_RED_40IRE_PATTERN:
3094*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,376,0,0);
3095*53ee8cc1Swenshuai.xi             break;
3096*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_GREEN_40IRE_PATTERN:
3097*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,0,376,0);
3098*53ee8cc1Swenshuai.xi             break;
3099*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_BLUE_40IRE_PATTERN:
3100*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,0,0,376);
3101*53ee8cc1Swenshuai.xi             break;
3102*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_RED_20IRE_PATTERN:
3103*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,188,0,0);
3104*53ee8cc1Swenshuai.xi             break;
3105*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_GREEN_20IRE_PATTERN:
3106*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,0,188,0);
3107*53ee8cc1Swenshuai.xi             break;
3108*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_BLUE_20IRE_PATTERN:
3109*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,0,0,188);
3110*53ee8cc1Swenshuai.xi             break;
3111*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_RED_10IRE_PATTERN:
3112*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,94,0,0);
3113*53ee8cc1Swenshuai.xi             break;
3114*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_GREEN_10IRE_PATTERN:
3115*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,0,94,0);
3116*53ee8cc1Swenshuai.xi             break;
3117*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_BLUE_10IRE_PATTERN:
3118*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,0,0,94);
3119*53ee8cc1Swenshuai.xi             break;
3120*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_WHITE_100IRE_PATTERN:
3121*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,940,940,940);
3122*53ee8cc1Swenshuai.xi             break;
3123*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_WHITE_90IRE_PATTERN:
3124*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,846,846,846);
3125*53ee8cc1Swenshuai.xi             break;
3126*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_WHITE_80IRE_PATTERN:
3127*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,752,752,752);
3128*53ee8cc1Swenshuai.xi             break;
3129*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_WHITE_70IRE_PATTERN:
3130*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,658,658,658);
3131*53ee8cc1Swenshuai.xi             break;
3132*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_WHITE_60IRE_PATTERN:
3133*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,564,564,564);
3134*53ee8cc1Swenshuai.xi             break;
3135*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_WHITE_50IRE_PATTERN:
3136*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,470,470,470);
3137*53ee8cc1Swenshuai.xi             break;
3138*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_WHITE_40IRE_PATTERN:
3139*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,376,376,376);
3140*53ee8cc1Swenshuai.xi             break;
3141*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_WHITE_30IRE_PATTERN:
3142*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,282,282,282);
3143*53ee8cc1Swenshuai.xi             break;
3144*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_WHITE_20IRE_PATTERN:
3145*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,188,188,188);
3146*53ee8cc1Swenshuai.xi             break;
3147*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_WHITE_10IRE_PATTERN:
3148*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,94,94,94);
3149*53ee8cc1Swenshuai.xi             break;
3150*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_GAMMA_GREY1_PATTERN:
3151*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,178,178,178);
3152*53ee8cc1Swenshuai.xi             break;
3153*53ee8cc1Swenshuai.xi         case E_XC_OP1_PURE_GAMMA_GREY2_PATTERN:
3154*53ee8cc1Swenshuai.xi             MDrv_SC_OP1_Pure_Color_Tile_Pattern(pInstance, 8,12,50,50,50);
3155*53ee8cc1Swenshuai.xi             break;
3156*53ee8cc1Swenshuai.xi         default:
3157*53ee8cc1Swenshuai.xi             printf("Error : Not support this pattern !!");
3158*53ee8cc1Swenshuai.xi             enResult = E_APIXC_RET_FAIL_INVALID_PARAMETER;
3159*53ee8cc1Swenshuai.xi             break;
3160*53ee8cc1Swenshuai.xi     }
3161*53ee8cc1Swenshuai.xi 
3162*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK01_02_L, 0x00,BIT(7)); //input source enable
3163*53ee8cc1Swenshuai.xi     SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BK10_19_L, 0x00,BIT(1)); //window color en : off
3164*53ee8cc1Swenshuai.xi #if (FRC_INSIDE && (HW_DESIGN_4K2K_VER == 6))
3165*53ee8cc1Swenshuai.xi     if (IsVBY1_16LANE((MS_U8)pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.stPanelInfo.eLPLL_Type))
3166*53ee8cc1Swenshuai.xi     {
3167*53ee8cc1Swenshuai.xi         SC_W2BYTEMSK(psXCInstPri->u32DeviceID, REG_SC_BKCB_17_L, 0x00,BIT(1));
3168*53ee8cc1Swenshuai.xi     }
3169*53ee8cc1Swenshuai.xi #endif
3170*53ee8cc1Swenshuai.xi 
3171*53ee8cc1Swenshuai.xi     return enResult;
3172*53ee8cc1Swenshuai.xi }
3173*53ee8cc1Swenshuai.xi 
MDrv_SC_OP1_PatGen_Disable(void * pInstance)3174*53ee8cc1Swenshuai.xi MS_BOOL MDrv_SC_OP1_PatGen_Disable(void *pInstance)
3175*53ee8cc1Swenshuai.xi {
3176*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
3177*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
3178*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
3179*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
3180*53ee8cc1Swenshuai.xi     if(!pXCResourcePrivate->stdrvXC_MVideo_Context.bOP1_PatGen_Init)
3181*53ee8cc1Swenshuai.xi         return FALSE;
3182*53ee8cc1Swenshuai.xi 
3183*53ee8cc1Swenshuai.xi     //disable the op1 test pattern
3184*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_enable(DISABLE);
3185*53ee8cc1Swenshuai.xi 
3186*53ee8cc1Swenshuai.xi     //recover to original setting
3187*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_restore_setting();
3188*53ee8cc1Swenshuai.xi 
3189*53ee8cc1Swenshuai.xi     // due to change di1lb, need to wait HW done
3190*53ee8cc1Swenshuai.xi     MsOS_DelayTask(50);
3191*53ee8cc1Swenshuai.xi 
3192*53ee8cc1Swenshuai.xi     return TRUE;
3193*53ee8cc1Swenshuai.xi }
3194*53ee8cc1Swenshuai.xi 
MDrv_SC_OP1_Align_Width_Height(void * pInstance,MS_U16 u16HTileCnt,MS_U16 u16VTileCnt,MS_U16 * u16AlignWidth,MS_U16 * u16AlignHeight)3195*53ee8cc1Swenshuai.xi void MDrv_SC_OP1_Align_Width_Height(void *pInstance, MS_U16 u16HTileCnt, MS_U16 u16VTileCnt, MS_U16 *u16AlignWidth, MS_U16 *u16AlignHeight)
3196*53ee8cc1Swenshuai.xi {
3197*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
3198*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
3199*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
3200*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
3201*53ee8cc1Swenshuai.xi     #if 0
3202*53ee8cc1Swenshuai.xi     if ((g_XC_InitData.stPanelInfo.u16Width > 1900) && (g_XC_InitData.stPanelInfo.u16Height > 1000))
3203*53ee8cc1Swenshuai.xi     {
3204*53ee8cc1Swenshuai.xi         // FHD case
3205*53ee8cc1Swenshuai.xi         *u16AlignWidth = (MS_U16)(1920/u16HTileCnt +0.5) * u16HTileCnt;
3206*53ee8cc1Swenshuai.xi         *u16AlignHeight = (MS_U16)(1080/u16VTileCnt +0.5) * u16VTileCnt;
3207*53ee8cc1Swenshuai.xi     }
3208*53ee8cc1Swenshuai.xi     else
3209*53ee8cc1Swenshuai.xi     {
3210*53ee8cc1Swenshuai.xi         // HD case
3211*53ee8cc1Swenshuai.xi         *u16AlignWidth = (MS_U16)(1366/u16HTileCnt +0.5) * u16HTileCnt;
3212*53ee8cc1Swenshuai.xi         *u16AlignHeight = (MS_U16)(768/u16VTileCnt +0.5) * u16VTileCnt;
3213*53ee8cc1Swenshuai.xi     }
3214*53ee8cc1Swenshuai.xi     #else
3215*53ee8cc1Swenshuai.xi     *u16AlignWidth = (MS_U16)(pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.stPanelInfo.u16Width/u16HTileCnt +0.5) * u16HTileCnt;
3216*53ee8cc1Swenshuai.xi     *u16AlignHeight = (MS_U16)(pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.stPanelInfo.u16Height/u16VTileCnt +0.5) * u16VTileCnt;
3217*53ee8cc1Swenshuai.xi     #endif
3218*53ee8cc1Swenshuai.xi }
3219*53ee8cc1Swenshuai.xi 
MDrv_SC_OP1_HW_Default_Pattern(void * pInstance,MS_U8 u8Val)3220*53ee8cc1Swenshuai.xi void MDrv_SC_OP1_HW_Default_Pattern(void *pInstance, MS_U8 u8Val)
3221*53ee8cc1Swenshuai.xi {
3222*53ee8cc1Swenshuai.xi     //clear default pattern
3223*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_pure_color(0x00);
3224*53ee8cc1Swenshuai.xi 
3225*53ee8cc1Swenshuai.xi     //disable border
3226*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_enable_border(FALSE,0x3FF,0x3FF,0x3FF);
3227*53ee8cc1Swenshuai.xi 
3228*53ee8cc1Swenshuai.xi     MS_U16 u16HTotalSize = 0, u16VTotalSize = 0;
3229*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Align_Width_Height(pInstance, 1, 1, &u16HTotalSize, &u16VTotalSize);
3230*53ee8cc1Swenshuai.xi     MHal_SC_OP1_PatGen_adjust_frame_size(u16HTotalSize, u16VTotalSize);
3231*53ee8cc1Swenshuai.xi 
3232*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_pure_color(u8Val);
3233*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_enable(ENABLE);
3234*53ee8cc1Swenshuai.xi }
3235*53ee8cc1Swenshuai.xi 
MDrv_SC_OP1_WB_Pattern(void * pInstance,MS_U16 u16HTileCnt,MS_U16 u16VTileCnt)3236*53ee8cc1Swenshuai.xi void MDrv_SC_OP1_WB_Pattern(void *pInstance, MS_U16 u16HTileCnt, MS_U16 u16VTileCnt)
3237*53ee8cc1Swenshuai.xi {
3238*53ee8cc1Swenshuai.xi     MS_U16 u16HTileSize = 0, u16VTileSize = 0;
3239*53ee8cc1Swenshuai.xi     MS_U16 u16HTotalSize = 0, u16VTotalSize = 0;
3240*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
3241*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
3242*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
3243*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
3244*53ee8cc1Swenshuai.xi 
3245*53ee8cc1Swenshuai.xi     //clear default pattern
3246*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_pure_color(0x00);
3247*53ee8cc1Swenshuai.xi 
3248*53ee8cc1Swenshuai.xi     //disable border
3249*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_enable_border(FALSE,0x3FF,0x3FF,0x3FF);
3250*53ee8cc1Swenshuai.xi 
3251*53ee8cc1Swenshuai.xi 
3252*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Align_Width_Height(pInstance, u16HTileCnt, u16VTileCnt, &u16HTotalSize, &u16VTotalSize);
3253*53ee8cc1Swenshuai.xi 
3254*53ee8cc1Swenshuai.xi     u16HTileSize = u16HTotalSize/u16HTileCnt;
3255*53ee8cc1Swenshuai.xi     u16VTileSize = u16VTotalSize/u16VTileCnt;
3256*53ee8cc1Swenshuai.xi     MHal_SC_OP1_PatGen_adjust_frame_size(u16HTotalSize, u16VTotalSize);
3257*53ee8cc1Swenshuai.xi 
3258*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writestart();
3259*53ee8cc1Swenshuai.xi 
3260*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_define_tile(u16HTileSize, u16VTileSize);
3261*53ee8cc1Swenshuai.xi 
3262*53ee8cc1Swenshuai.xi     if (pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.bMirror)
3263*53ee8cc1Swenshuai.xi     {
3264*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(8,2,true,true,512,512,512,E_XC_OP1_PATTERN_TYPE_PURE);
3265*53ee8cc1Swenshuai.xi 
3266*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,true,false,160,160,160,E_XC_OP1_PATTERN_TYPE_PURE);
3267*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(6,2,false,false,263,263,263,E_XC_OP1_PATTERN_TYPE_PURE);
3268*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,false,true,100,100,100,E_XC_OP1_PATTERN_TYPE_PURE);
3269*53ee8cc1Swenshuai.xi 
3270*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(8,0,true,true,512,512,512,E_XC_OP1_PATTERN_TYPE_PURE);
3271*53ee8cc1Swenshuai.xi 
3272*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,true,false,512,512,512,E_XC_OP1_PATTERN_TYPE_PURE);
3273*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(6,2,false,false,678,678,678,E_XC_OP1_PATTERN_TYPE_PURE);
3274*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,false,true,512,512,512,E_XC_OP1_PATTERN_TYPE_PURE);
3275*53ee8cc1Swenshuai.xi 
3276*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(8,2,true,true,512,512,512,E_XC_OP1_PATTERN_TYPE_PURE);
3277*53ee8cc1Swenshuai.xi     }
3278*53ee8cc1Swenshuai.xi     else
3279*53ee8cc1Swenshuai.xi     {
3280*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(8,2,true,true,512,512,512,E_XC_OP1_PATTERN_TYPE_PURE);
3281*53ee8cc1Swenshuai.xi 
3282*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,true,false,512,512,512,E_XC_OP1_PATTERN_TYPE_PURE);
3283*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(6,2,false,false,678,678,678,E_XC_OP1_PATTERN_TYPE_PURE);
3284*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,false,true,512,512,512,E_XC_OP1_PATTERN_TYPE_PURE);
3285*53ee8cc1Swenshuai.xi 
3286*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(8,0,true,true,512,512,512,E_XC_OP1_PATTERN_TYPE_PURE);
3287*53ee8cc1Swenshuai.xi 
3288*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,true,false,160,160,160,E_XC_OP1_PATTERN_TYPE_PURE);
3289*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(6,2,false,false,263,263,263,E_XC_OP1_PATTERN_TYPE_PURE);
3290*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,false,true,100,100,100,E_XC_OP1_PATTERN_TYPE_PURE);
3291*53ee8cc1Swenshuai.xi 
3292*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(8,1,true,true,512,512,512,E_XC_OP1_PATTERN_TYPE_PURE);
3293*53ee8cc1Swenshuai.xi     }
3294*53ee8cc1Swenshuai.xi 
3295*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writedone();
3296*53ee8cc1Swenshuai.xi }
3297*53ee8cc1Swenshuai.xi 
MDrv_SC_OP1_Pure_Color_V_Bar_Pattern(void * pInstance,MS_U16 u16HTileCnt,MS_U16 u16VTileCnt)3298*53ee8cc1Swenshuai.xi void MDrv_SC_OP1_Pure_Color_V_Bar_Pattern(void *pInstance, MS_U16 u16HTileCnt, MS_U16 u16VTileCnt)
3299*53ee8cc1Swenshuai.xi {
3300*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
3301*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
3302*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
3303*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
3304*53ee8cc1Swenshuai.xi 
3305*53ee8cc1Swenshuai.xi     if (!pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.bMirror)
3306*53ee8cc1Swenshuai.xi     {
3307*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_HW_Default_Pattern(pInstance, 0x10);
3308*53ee8cc1Swenshuai.xi     }
3309*53ee8cc1Swenshuai.xi     else
3310*53ee8cc1Swenshuai.xi     {
3311*53ee8cc1Swenshuai.xi 
3312*53ee8cc1Swenshuai.xi     MS_U16 u16HTileSize = 0, u16VTileSize = 0;
3313*53ee8cc1Swenshuai.xi     MS_U16 u16HTotalSize = 0, u16VTotalSize = 0;
3314*53ee8cc1Swenshuai.xi 
3315*53ee8cc1Swenshuai.xi     //clear default pattern
3316*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_pure_color(0x00);
3317*53ee8cc1Swenshuai.xi 
3318*53ee8cc1Swenshuai.xi     //disable border
3319*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_enable_border(FALSE,0x3FF,0x3FF,0x3FF);
3320*53ee8cc1Swenshuai.xi 
3321*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Align_Width_Height(pInstance, u16HTileCnt, u16VTileCnt, &u16HTotalSize, &u16VTotalSize);
3322*53ee8cc1Swenshuai.xi 
3323*53ee8cc1Swenshuai.xi     u16HTileSize = u16HTotalSize/u16HTileCnt;
3324*53ee8cc1Swenshuai.xi     u16VTileSize = u16VTotalSize/u16VTileCnt;
3325*53ee8cc1Swenshuai.xi     MHal_SC_OP1_PatGen_adjust_frame_size(u16HTotalSize, u16VTotalSize);
3326*53ee8cc1Swenshuai.xi 
3327*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writestart();
3328*53ee8cc1Swenshuai.xi 
3329*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_define_tile(u16HTileSize, u16VTileSize);
3330*53ee8cc1Swenshuai.xi 
3331*53ee8cc1Swenshuai.xi 
3332*53ee8cc1Swenshuai.xi     #if 1
3333*53ee8cc1Swenshuai.xi     // For mirror case
3334*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_customize_blcok(1,11,true,false,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
3335*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_customize_blcok(1,11,false,false,0,0,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3336*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_customize_blcok(1,11,false,false,1023,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
3337*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_customize_blcok(1,11,false,false,1023,0,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3338*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_customize_blcok(1,11,false,false,0,1023,0,E_XC_OP1_PATTERN_TYPE_PURE);
3339*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_customize_blcok(1,11,false,false,0,1023,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3340*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_customize_blcok(1,11,false,false,1023,1023,0,E_XC_OP1_PATTERN_TYPE_PURE);
3341*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_customize_blcok(1,11,false,true,1023,1023,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3342*53ee8cc1Swenshuai.xi     #else
3343*53ee8cc1Swenshuai.xi     if (g_XC_InitData.bMirror)
3344*53ee8cc1Swenshuai.xi     {
3345*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,11,true,false,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
3346*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,11,false,false,0,0,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3347*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,11,false,false,1023,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
3348*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,11,false,false,1023,0,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3349*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,11,false,false,0,1023,0,E_XC_OP1_PATTERN_TYPE_PURE);
3350*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,11,false,false,0,1023,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3351*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,11,false,false,1023,1023,0,E_XC_OP1_PATTERN_TYPE_PURE);
3352*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,11,false,true,1023,1023,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3353*53ee8cc1Swenshuai.xi     }
3354*53ee8cc1Swenshuai.xi     else
3355*53ee8cc1Swenshuai.xi     {
3356*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,11,true,false,1023,1023,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3357*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,11,false,false,1023,1023,0,E_XC_OP1_PATTERN_TYPE_PURE);
3358*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,11,false,false,0,1023,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3359*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,11,false,false,0,1023,0,E_XC_OP1_PATTERN_TYPE_PURE);
3360*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,11,false,false,1023,0,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3361*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,11,false,false,1023,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
3362*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,11,false,false,0,0,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3363*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,11,false,true,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
3364*53ee8cc1Swenshuai.xi     }
3365*53ee8cc1Swenshuai.xi     #endif
3366*53ee8cc1Swenshuai.xi 
3367*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writedone();
3368*53ee8cc1Swenshuai.xi     }
3369*53ee8cc1Swenshuai.xi 
3370*53ee8cc1Swenshuai.xi }
MDrv_SC_OP1_Pure_Color_H_Bar_Pattern(void * pInstance,MS_U16 u16HTileCnt,MS_U16 u16VTileCnt)3371*53ee8cc1Swenshuai.xi void MDrv_SC_OP1_Pure_Color_H_Bar_Pattern(void *pInstance, MS_U16 u16HTileCnt, MS_U16 u16VTileCnt)
3372*53ee8cc1Swenshuai.xi {
3373*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
3374*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
3375*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
3376*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
3377*53ee8cc1Swenshuai.xi 
3378*53ee8cc1Swenshuai.xi     if (!pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.bMirror)
3379*53ee8cc1Swenshuai.xi     {
3380*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_HW_Default_Pattern(pInstance, 0x90);
3381*53ee8cc1Swenshuai.xi     }
3382*53ee8cc1Swenshuai.xi     else
3383*53ee8cc1Swenshuai.xi     {
3384*53ee8cc1Swenshuai.xi         MS_U16 u16HTileSize = 0, u16VTileSize = 0;
3385*53ee8cc1Swenshuai.xi         MS_U16 u16HTotalSize = 0, u16VTotalSize = 0;
3386*53ee8cc1Swenshuai.xi 
3387*53ee8cc1Swenshuai.xi         //clear default pattern
3388*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_pure_color(0x00);
3389*53ee8cc1Swenshuai.xi 
3390*53ee8cc1Swenshuai.xi         //disable border
3391*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_enable_border(FALSE,0x3FF,0x3FF,0x3FF);
3392*53ee8cc1Swenshuai.xi 
3393*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Align_Width_Height(pInstance, u16HTileCnt, u16VTileCnt, &u16HTotalSize, &u16VTotalSize);
3394*53ee8cc1Swenshuai.xi 
3395*53ee8cc1Swenshuai.xi         u16HTileSize = u16HTotalSize/u16HTileCnt;
3396*53ee8cc1Swenshuai.xi         u16VTileSize = u16VTotalSize/u16VTileCnt;
3397*53ee8cc1Swenshuai.xi         MHal_SC_OP1_PatGen_adjust_frame_size(u16HTotalSize, u16VTotalSize);
3398*53ee8cc1Swenshuai.xi 
3399*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_sram_writestart();
3400*53ee8cc1Swenshuai.xi 
3401*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_define_tile(u16HTileSize, u16VTileSize);
3402*53ee8cc1Swenshuai.xi 
3403*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(8,0,true,true,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
3404*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(8,0,true,true,0,0,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3405*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(8,0,true,true,1023,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
3406*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(8,0,true,true,1023,0,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3407*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(8,0,true,true,0,1023,0,E_XC_OP1_PATTERN_TYPE_PURE);
3408*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(8,0,true,true,0,1023,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3409*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(8,0,true,true,1023,1023,0,E_XC_OP1_PATTERN_TYPE_PURE);
3410*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(8,0,true,true,1023,1023,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3411*53ee8cc1Swenshuai.xi 
3412*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_sram_writedone();
3413*53ee8cc1Swenshuai.xi     }
3414*53ee8cc1Swenshuai.xi }
3415*53ee8cc1Swenshuai.xi 
MDrv_SC_OP1_Pure_Gray_Bar_Pattern(void * pInstance,MS_U16 u16HTileCnt,MS_U16 u16VTileCnt,MS_U8 block_Size,MS_U8 repeat_Num,MS_U8 level)3416*53ee8cc1Swenshuai.xi void MDrv_SC_OP1_Pure_Gray_Bar_Pattern(void *pInstance, MS_U16 u16HTileCnt, MS_U16 u16VTileCnt, MS_U8 block_Size, MS_U8 repeat_Num, MS_U8 level)
3417*53ee8cc1Swenshuai.xi {
3418*53ee8cc1Swenshuai.xi     MS_U8 i;
3419*53ee8cc1Swenshuai.xi     MS_U16 u16ValPerLevel_10bits=0;
3420*53ee8cc1Swenshuai.xi     MS_U16 u16Cur_Val =0;
3421*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
3422*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
3423*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
3424*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
3425*53ee8cc1Swenshuai.xi 
3426*53ee8cc1Swenshuai.xi     u16ValPerLevel_10bits = (1024/level) ;
3427*53ee8cc1Swenshuai.xi 
3428*53ee8cc1Swenshuai.xi     MS_U16 u16HTileSize = 0, u16VTileSize = 0;
3429*53ee8cc1Swenshuai.xi     MS_U16 u16HTotalSize = 0, u16VTotalSize = 0;
3430*53ee8cc1Swenshuai.xi 
3431*53ee8cc1Swenshuai.xi     //clear default pattern
3432*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_pure_color(0x00);
3433*53ee8cc1Swenshuai.xi 
3434*53ee8cc1Swenshuai.xi     //disable border
3435*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_enable_border(FALSE,0x3FF,0x3FF,0x3FF);
3436*53ee8cc1Swenshuai.xi 
3437*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Align_Width_Height(pInstance, u16HTileCnt, u16VTileCnt, &u16HTotalSize, &u16VTotalSize);
3438*53ee8cc1Swenshuai.xi 
3439*53ee8cc1Swenshuai.xi     u16HTileSize = u16HTotalSize/u16HTileCnt;
3440*53ee8cc1Swenshuai.xi     u16VTileSize = u16VTotalSize/u16VTileCnt;
3441*53ee8cc1Swenshuai.xi     MHal_SC_OP1_PatGen_adjust_frame_size(u16HTotalSize, u16VTotalSize);
3442*53ee8cc1Swenshuai.xi 
3443*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writestart();
3444*53ee8cc1Swenshuai.xi 
3445*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_define_tile(u16HTileSize, u16VTileSize);
3446*53ee8cc1Swenshuai.xi 
3447*53ee8cc1Swenshuai.xi     if (pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.bMirror)
3448*53ee8cc1Swenshuai.xi     {
3449*53ee8cc1Swenshuai.xi         for(i=0;i<level;i++)
3450*53ee8cc1Swenshuai.xi         {
3451*53ee8cc1Swenshuai.xi             if(i==0)
3452*53ee8cc1Swenshuai.xi             {
3453*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,TRUE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3454*53ee8cc1Swenshuai.xi             }else if(i== (level -1))
3455*53ee8cc1Swenshuai.xi             {
3456*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,FALSE,TRUE,0, 0, 0,E_XC_OP1_PATTERN_TYPE_PURE);
3457*53ee8cc1Swenshuai.xi             }else
3458*53ee8cc1Swenshuai.xi             {
3459*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,FALSE,FALSE,u16Cur_Val, u16Cur_Val, u16Cur_Val,E_XC_OP1_PATTERN_TYPE_PURE);
3460*53ee8cc1Swenshuai.xi             }
3461*53ee8cc1Swenshuai.xi             u16Cur_Val -= ((u16ValPerLevel_10bits) & 0x3ff);
3462*53ee8cc1Swenshuai.xi         }
3463*53ee8cc1Swenshuai.xi     }
3464*53ee8cc1Swenshuai.xi     else
3465*53ee8cc1Swenshuai.xi     {
3466*53ee8cc1Swenshuai.xi         for(i=0;i<level;i++)
3467*53ee8cc1Swenshuai.xi         {
3468*53ee8cc1Swenshuai.xi             if(i==0)
3469*53ee8cc1Swenshuai.xi             {
3470*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,TRUE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3471*53ee8cc1Swenshuai.xi             }else if(i== (level -1))
3472*53ee8cc1Swenshuai.xi             {
3473*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,FALSE,TRUE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3474*53ee8cc1Swenshuai.xi             }else
3475*53ee8cc1Swenshuai.xi             {
3476*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,FALSE,FALSE,u16Cur_Val, u16Cur_Val, u16Cur_Val,E_XC_OP1_PATTERN_TYPE_PURE);
3477*53ee8cc1Swenshuai.xi             }
3478*53ee8cc1Swenshuai.xi 
3479*53ee8cc1Swenshuai.xi             u16Cur_Val += ((u16ValPerLevel_10bits) & 0x3ff);
3480*53ee8cc1Swenshuai.xi         }
3481*53ee8cc1Swenshuai.xi     }
3482*53ee8cc1Swenshuai.xi 
3483*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writedone();
3484*53ee8cc1Swenshuai.xi 
3485*53ee8cc1Swenshuai.xi }
3486*53ee8cc1Swenshuai.xi 
MDrv_SC_OP1_Pure_RGB_32_Pattern(void * pInstance,MS_U16 u16HTileCnt,MS_U16 u16VTileCnt,MS_U8 block_Size,MS_U8 repeat_Num,MS_U8 level)3487*53ee8cc1Swenshuai.xi void MDrv_SC_OP1_Pure_RGB_32_Pattern(void *pInstance, MS_U16 u16HTileCnt, MS_U16 u16VTileCnt, MS_U8 block_Size,MS_U8 repeat_Num,MS_U8 level)
3488*53ee8cc1Swenshuai.xi {
3489*53ee8cc1Swenshuai.xi     MS_U8 i;
3490*53ee8cc1Swenshuai.xi     MS_U16 u16ValPerLevel_10bits=0;
3491*53ee8cc1Swenshuai.xi     MS_U16 u16Cur_Val =0;
3492*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
3493*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
3494*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
3495*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
3496*53ee8cc1Swenshuai.xi 
3497*53ee8cc1Swenshuai.xi     u16ValPerLevel_10bits = (1024/level) ;
3498*53ee8cc1Swenshuai.xi 
3499*53ee8cc1Swenshuai.xi     MS_U16 u16HTileSize = 0, u16VTileSize = 0;
3500*53ee8cc1Swenshuai.xi     MS_U16 u16HTotalSize = 0, u16VTotalSize = 0;
3501*53ee8cc1Swenshuai.xi 
3502*53ee8cc1Swenshuai.xi     //clear default pattern
3503*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_pure_color(0x00);
3504*53ee8cc1Swenshuai.xi 
3505*53ee8cc1Swenshuai.xi     //disable border
3506*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_enable_border(FALSE,0x3FF,0x3FF,0x3FF);
3507*53ee8cc1Swenshuai.xi 
3508*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Align_Width_Height(pInstance, u16HTileCnt, u16VTileCnt, &u16HTotalSize, &u16VTotalSize);
3509*53ee8cc1Swenshuai.xi 
3510*53ee8cc1Swenshuai.xi     u16HTileSize = u16HTotalSize/u16HTileCnt;
3511*53ee8cc1Swenshuai.xi     u16VTileSize = u16VTotalSize/u16VTileCnt;
3512*53ee8cc1Swenshuai.xi     MHal_SC_OP1_PatGen_adjust_frame_size(u16HTotalSize, u16VTotalSize);
3513*53ee8cc1Swenshuai.xi 
3514*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writestart();
3515*53ee8cc1Swenshuai.xi 
3516*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_define_tile(u16HTileSize, u16VTileSize);
3517*53ee8cc1Swenshuai.xi 
3518*53ee8cc1Swenshuai.xi     if (pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.bMirror)
3519*53ee8cc1Swenshuai.xi     {
3520*53ee8cc1Swenshuai.xi         //Blue
3521*53ee8cc1Swenshuai.xi         u16Cur_Val = 1024;
3522*53ee8cc1Swenshuai.xi 
3523*53ee8cc1Swenshuai.xi         for(i=0;i<level;i++)
3524*53ee8cc1Swenshuai.xi         {
3525*53ee8cc1Swenshuai.xi             if(i==0)
3526*53ee8cc1Swenshuai.xi             {
3527*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,TRUE,FALSE,0x00, 0x00, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3528*53ee8cc1Swenshuai.xi             }else if(i== (level -1))
3529*53ee8cc1Swenshuai.xi             {
3530*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,FALSE,TRUE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3531*53ee8cc1Swenshuai.xi             }else
3532*53ee8cc1Swenshuai.xi             {
3533*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,FALSE,FALSE,0x00, 0x00, u16Cur_Val,E_XC_OP1_PATTERN_TYPE_PURE);
3534*53ee8cc1Swenshuai.xi             }
3535*53ee8cc1Swenshuai.xi             u16Cur_Val -= ((u16ValPerLevel_10bits) & 0x3ff);
3536*53ee8cc1Swenshuai.xi         }
3537*53ee8cc1Swenshuai.xi 
3538*53ee8cc1Swenshuai.xi         u16Cur_Val = 1024;
3539*53ee8cc1Swenshuai.xi         //Green
3540*53ee8cc1Swenshuai.xi         for(i=0;i<level;i++)
3541*53ee8cc1Swenshuai.xi         {
3542*53ee8cc1Swenshuai.xi             if(i==0)
3543*53ee8cc1Swenshuai.xi             {
3544*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,TRUE,FALSE,0x00, 0x3FF, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3545*53ee8cc1Swenshuai.xi             }else if(i== (level -1))
3546*53ee8cc1Swenshuai.xi             {
3547*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,FALSE,TRUE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3548*53ee8cc1Swenshuai.xi             }else
3549*53ee8cc1Swenshuai.xi             {
3550*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,FALSE,FALSE,0x00, u16Cur_Val, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3551*53ee8cc1Swenshuai.xi             }
3552*53ee8cc1Swenshuai.xi             u16Cur_Val -= ((u16ValPerLevel_10bits) & 0x3ff);
3553*53ee8cc1Swenshuai.xi         }
3554*53ee8cc1Swenshuai.xi 
3555*53ee8cc1Swenshuai.xi         u16Cur_Val = 1024;
3556*53ee8cc1Swenshuai.xi         //Red
3557*53ee8cc1Swenshuai.xi         for(i=0;i<level;i++)
3558*53ee8cc1Swenshuai.xi         {
3559*53ee8cc1Swenshuai.xi             if(i==0)
3560*53ee8cc1Swenshuai.xi             {
3561*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,TRUE,FALSE,0x3FF, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3562*53ee8cc1Swenshuai.xi             }else if(i== (level -1))
3563*53ee8cc1Swenshuai.xi             {
3564*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,FALSE,TRUE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3565*53ee8cc1Swenshuai.xi             }else
3566*53ee8cc1Swenshuai.xi             {
3567*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,FALSE,FALSE,u16Cur_Val, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3568*53ee8cc1Swenshuai.xi             }
3569*53ee8cc1Swenshuai.xi             u16Cur_Val -= ((u16ValPerLevel_10bits) & 0x3ff);
3570*53ee8cc1Swenshuai.xi         }
3571*53ee8cc1Swenshuai.xi 
3572*53ee8cc1Swenshuai.xi         u16Cur_Val = 1024;
3573*53ee8cc1Swenshuai.xi         //Gray
3574*53ee8cc1Swenshuai.xi         for(i=0;i<level;i++)
3575*53ee8cc1Swenshuai.xi         {
3576*53ee8cc1Swenshuai.xi             if(i==0)
3577*53ee8cc1Swenshuai.xi             {
3578*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,TRUE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3579*53ee8cc1Swenshuai.xi             }else if(i== (level -1))
3580*53ee8cc1Swenshuai.xi             {
3581*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,FALSE,TRUE,0x00, 0x00, 0x0,E_XC_OP1_PATTERN_TYPE_PURE);
3582*53ee8cc1Swenshuai.xi             }else
3583*53ee8cc1Swenshuai.xi             {
3584*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,FALSE,FALSE,u16Cur_Val, u16Cur_Val, u16Cur_Val,E_XC_OP1_PATTERN_TYPE_PURE);
3585*53ee8cc1Swenshuai.xi             }
3586*53ee8cc1Swenshuai.xi             u16Cur_Val -= ((u16ValPerLevel_10bits) & 0x3ff);
3587*53ee8cc1Swenshuai.xi         }
3588*53ee8cc1Swenshuai.xi         u16Cur_Val = 1024;
3589*53ee8cc1Swenshuai.xi     }
3590*53ee8cc1Swenshuai.xi     else
3591*53ee8cc1Swenshuai.xi     {
3592*53ee8cc1Swenshuai.xi         //Gray
3593*53ee8cc1Swenshuai.xi         for(i=0;i<level;i++)
3594*53ee8cc1Swenshuai.xi         {
3595*53ee8cc1Swenshuai.xi             if(i==0)
3596*53ee8cc1Swenshuai.xi             {
3597*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,TRUE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3598*53ee8cc1Swenshuai.xi             }else if(i== (level -1))
3599*53ee8cc1Swenshuai.xi             {
3600*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,FALSE,TRUE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3601*53ee8cc1Swenshuai.xi             }else
3602*53ee8cc1Swenshuai.xi             {
3603*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,FALSE,FALSE,u16Cur_Val, u16Cur_Val, u16Cur_Val,E_XC_OP1_PATTERN_TYPE_PURE);
3604*53ee8cc1Swenshuai.xi             }
3605*53ee8cc1Swenshuai.xi             u16Cur_Val += ((u16ValPerLevel_10bits) & 0x3ff);
3606*53ee8cc1Swenshuai.xi         }
3607*53ee8cc1Swenshuai.xi 
3608*53ee8cc1Swenshuai.xi         u16Cur_Val = 0;
3609*53ee8cc1Swenshuai.xi 
3610*53ee8cc1Swenshuai.xi         //Red
3611*53ee8cc1Swenshuai.xi         for(i=0;i<level;i++)
3612*53ee8cc1Swenshuai.xi         {
3613*53ee8cc1Swenshuai.xi             if(i==0)
3614*53ee8cc1Swenshuai.xi             {
3615*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,TRUE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3616*53ee8cc1Swenshuai.xi             }else if(i== (level -1))
3617*53ee8cc1Swenshuai.xi             {
3618*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,FALSE,TRUE,0x3FF, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3619*53ee8cc1Swenshuai.xi             }else
3620*53ee8cc1Swenshuai.xi             {
3621*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,FALSE,FALSE,u16Cur_Val, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3622*53ee8cc1Swenshuai.xi             }
3623*53ee8cc1Swenshuai.xi             u16Cur_Val += ((u16ValPerLevel_10bits) & 0x3ff);
3624*53ee8cc1Swenshuai.xi         }
3625*53ee8cc1Swenshuai.xi         u16Cur_Val = 0;
3626*53ee8cc1Swenshuai.xi 
3627*53ee8cc1Swenshuai.xi         //Green
3628*53ee8cc1Swenshuai.xi         for(i=0;i<level;i++)
3629*53ee8cc1Swenshuai.xi         {
3630*53ee8cc1Swenshuai.xi             if(i==0)
3631*53ee8cc1Swenshuai.xi             {
3632*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,TRUE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3633*53ee8cc1Swenshuai.xi             }else if(i== (level -1))
3634*53ee8cc1Swenshuai.xi             {
3635*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,FALSE,TRUE,0x00, 0x3FF, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3636*53ee8cc1Swenshuai.xi             }else
3637*53ee8cc1Swenshuai.xi             {
3638*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,FALSE,FALSE,0x00, u16Cur_Val, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3639*53ee8cc1Swenshuai.xi             }
3640*53ee8cc1Swenshuai.xi             u16Cur_Val += ((u16ValPerLevel_10bits) & 0x3ff);
3641*53ee8cc1Swenshuai.xi         }
3642*53ee8cc1Swenshuai.xi         u16Cur_Val = 0;
3643*53ee8cc1Swenshuai.xi 
3644*53ee8cc1Swenshuai.xi         //Blue
3645*53ee8cc1Swenshuai.xi         for(i=0;i<level;i++)
3646*53ee8cc1Swenshuai.xi         {
3647*53ee8cc1Swenshuai.xi             if(i==0)
3648*53ee8cc1Swenshuai.xi             {
3649*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,TRUE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3650*53ee8cc1Swenshuai.xi             }else if(i== (level -1))
3651*53ee8cc1Swenshuai.xi             {
3652*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,FALSE,TRUE,0x00, 0x00, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3653*53ee8cc1Swenshuai.xi             }else
3654*53ee8cc1Swenshuai.xi             {
3655*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(block_Size,repeat_Num,FALSE,FALSE,0x00, 0x00, u16Cur_Val,E_XC_OP1_PATTERN_TYPE_PURE);
3656*53ee8cc1Swenshuai.xi             }
3657*53ee8cc1Swenshuai.xi             u16Cur_Val += ((u16ValPerLevel_10bits) & 0x3ff);
3658*53ee8cc1Swenshuai.xi         }
3659*53ee8cc1Swenshuai.xi         u16Cur_Val = 0;
3660*53ee8cc1Swenshuai.xi     }
3661*53ee8cc1Swenshuai.xi 
3662*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writedone();
3663*53ee8cc1Swenshuai.xi }
3664*53ee8cc1Swenshuai.xi 
MDrv_SC_OP1_Pure_RGB_Checkerboard_Pattern_GBChange(void * pInstance,MS_U16 u16HTileCnt,MS_U16 u16VTileCnt)3665*53ee8cc1Swenshuai.xi void MDrv_SC_OP1_Pure_RGB_Checkerboard_Pattern_GBChange(void *pInstance, MS_U16 u16HTileCnt, MS_U16 u16VTileCnt)
3666*53ee8cc1Swenshuai.xi {
3667*53ee8cc1Swenshuai.xi     MS_U16 u16HTileSize = 0, u16VTileSize = 0;
3668*53ee8cc1Swenshuai.xi     MS_U16 u16HTotalSize = 0, u16VTotalSize = 0;
3669*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
3670*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
3671*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
3672*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
3673*53ee8cc1Swenshuai.xi 
3674*53ee8cc1Swenshuai.xi     //clear default pattern
3675*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_pure_color(0x00);
3676*53ee8cc1Swenshuai.xi 
3677*53ee8cc1Swenshuai.xi     //disable border
3678*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_enable_border(FALSE,0x3FF,0x3FF,0x3FF);
3679*53ee8cc1Swenshuai.xi 
3680*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Align_Width_Height(pInstance, u16HTileCnt, u16VTileCnt, &u16HTotalSize, &u16VTotalSize);
3681*53ee8cc1Swenshuai.xi 
3682*53ee8cc1Swenshuai.xi     u16HTileSize = u16HTotalSize/u16HTileCnt;
3683*53ee8cc1Swenshuai.xi     u16VTileSize = u16VTotalSize/u16VTileCnt;
3684*53ee8cc1Swenshuai.xi     MHal_SC_OP1_PatGen_adjust_frame_size(u16HTotalSize, u16VTotalSize);
3685*53ee8cc1Swenshuai.xi 
3686*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writestart();
3687*53ee8cc1Swenshuai.xi 
3688*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_define_tile(u16HTileSize, u16VTileSize);
3689*53ee8cc1Swenshuai.xi 
3690*53ee8cc1Swenshuai.xi     if (pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.bMirror)
3691*53ee8cc1Swenshuai.xi     {
3692*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,TRUE,FALSE,1023,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
3693*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,FALSE,FALSE,0,0,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3694*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,FALSE,TRUE,0,1023,0,E_XC_OP1_PATTERN_TYPE_PURE);
3695*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,TRUE,FALSE,0,1023,0,E_XC_OP1_PATTERN_TYPE_PURE);
3696*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,FALSE,FALSE,1023,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
3697*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,FALSE,TRUE,0,0,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3698*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,TRUE,FALSE,0,0,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3699*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,FALSE,FALSE,0,1023,0,E_XC_OP1_PATTERN_TYPE_PURE);
3700*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,FALSE,TRUE,1023,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
3701*53ee8cc1Swenshuai.xi     }
3702*53ee8cc1Swenshuai.xi     else
3703*53ee8cc1Swenshuai.xi     {
3704*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,TRUE,FALSE,1023,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
3705*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,FALSE,FALSE,0,1023,0,E_XC_OP1_PATTERN_TYPE_PURE);
3706*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,FALSE,TRUE,0,0,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3707*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,TRUE,FALSE,0,0,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3708*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,FALSE,FALSE,1023,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
3709*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,FALSE,TRUE,0,1023,0,E_XC_OP1_PATTERN_TYPE_PURE);
3710*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,TRUE,FALSE,0,1023,0,E_XC_OP1_PATTERN_TYPE_PURE);
3711*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,FALSE,FALSE,0,0,1023,E_XC_OP1_PATTERN_TYPE_PURE);
3712*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,FALSE,TRUE,1023,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
3713*53ee8cc1Swenshuai.xi     }
3714*53ee8cc1Swenshuai.xi 
3715*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writedone();
3716*53ee8cc1Swenshuai.xi }
3717*53ee8cc1Swenshuai.xi 
MDrv_SC_OP1_Dotfade_Gray_Pattern(void * pInstance,MS_U16 u16HTileCnt,MS_U16 u16VTileCnt)3718*53ee8cc1Swenshuai.xi void MDrv_SC_OP1_Dotfade_Gray_Pattern(void *pInstance, MS_U16 u16HTileCnt, MS_U16 u16VTileCnt)
3719*53ee8cc1Swenshuai.xi {
3720*53ee8cc1Swenshuai.xi     MS_U16 u16HTileSize = 0, u16VTileSize = 0;
3721*53ee8cc1Swenshuai.xi     MS_U16 u16HTotalSize = 0, u16VTotalSize = 0;
3722*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
3723*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
3724*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
3725*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
3726*53ee8cc1Swenshuai.xi 
3727*53ee8cc1Swenshuai.xi     //clear default pattern
3728*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_pure_color(0x00);
3729*53ee8cc1Swenshuai.xi 
3730*53ee8cc1Swenshuai.xi     //disable border
3731*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_enable_border(FALSE,0x3FF,0x3FF,0x3FF);
3732*53ee8cc1Swenshuai.xi 
3733*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Align_Width_Height(pInstance, u16HTileCnt, u16VTileCnt, &u16HTotalSize, &u16VTotalSize);
3734*53ee8cc1Swenshuai.xi 
3735*53ee8cc1Swenshuai.xi     u16HTileSize = u16HTotalSize/u16HTileCnt;
3736*53ee8cc1Swenshuai.xi     u16VTileSize = u16VTotalSize/u16VTileCnt;
3737*53ee8cc1Swenshuai.xi     MHal_SC_OP1_PatGen_adjust_frame_size(u16HTotalSize, u16VTotalSize);
3738*53ee8cc1Swenshuai.xi 
3739*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writestart();
3740*53ee8cc1Swenshuai.xi 
3741*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_define_tile(u16HTileSize, u16VTileSize);
3742*53ee8cc1Swenshuai.xi 
3743*53ee8cc1Swenshuai.xi     if (pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.bMirror)
3744*53ee8cc1Swenshuai.xi     {
3745*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_set_dotfade_value(236, 236, 236);
3746*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_set_dotfade_overfollow_protection(TRUE, TRUE, TRUE);
3747*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(8, 11, TRUE, TRUE, 1023, 1023, 1023, E_XC_OP1_PATTERN_TYPE_DOTFADE);
3748*53ee8cc1Swenshuai.xi     }
3749*53ee8cc1Swenshuai.xi     else
3750*53ee8cc1Swenshuai.xi     {
3751*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_set_dotfade_value(18, 18, 18);
3752*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_set_dotfade_overfollow_protection(TRUE, TRUE, TRUE);
3753*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(8, 11, TRUE, TRUE, 0, 0, 0, E_XC_OP1_PATTERN_TYPE_DOTFADE);
3754*53ee8cc1Swenshuai.xi     }
3755*53ee8cc1Swenshuai.xi 
3756*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writedone();
3757*53ee8cc1Swenshuai.xi 
3758*53ee8cc1Swenshuai.xi }
3759*53ee8cc1Swenshuai.xi 
MDrv_SC_OP1_Calibratoin_Color_Dotfade_Pattern(void * pInstance,MS_U16 u16HTileCnt,MS_U16 u16VTileCnt)3760*53ee8cc1Swenshuai.xi void MDrv_SC_OP1_Calibratoin_Color_Dotfade_Pattern(void *pInstance, MS_U16 u16HTileCnt, MS_U16 u16VTileCnt)
3761*53ee8cc1Swenshuai.xi {
3762*53ee8cc1Swenshuai.xi     MS_U16 u16HTileSize = 0, u16VTileSize = 0;
3763*53ee8cc1Swenshuai.xi     MS_U16 u16HTotalSize = 0, u16VTotalSize = 0;
3764*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
3765*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
3766*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
3767*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
3768*53ee8cc1Swenshuai.xi 
3769*53ee8cc1Swenshuai.xi     //clear default pattern
3770*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_pure_color(0x00);
3771*53ee8cc1Swenshuai.xi 
3772*53ee8cc1Swenshuai.xi     //disable border
3773*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_enable_border(FALSE,0x3FF,0x3FF,0x3FF);
3774*53ee8cc1Swenshuai.xi 
3775*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Align_Width_Height(pInstance, u16HTileCnt, u16VTileCnt, &u16HTotalSize, &u16VTotalSize);
3776*53ee8cc1Swenshuai.xi 
3777*53ee8cc1Swenshuai.xi     u16HTileSize = u16HTotalSize/u16HTileCnt;
3778*53ee8cc1Swenshuai.xi     u16VTileSize = u16VTotalSize/u16VTileCnt;
3779*53ee8cc1Swenshuai.xi     MHal_SC_OP1_PatGen_adjust_frame_size(u16HTotalSize, u16VTotalSize);
3780*53ee8cc1Swenshuai.xi 
3781*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writestart();
3782*53ee8cc1Swenshuai.xi 
3783*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_define_tile(u16HTileSize, u16VTileSize);
3784*53ee8cc1Swenshuai.xi 
3785*53ee8cc1Swenshuai.xi     if (pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.bMirror)
3786*53ee8cc1Swenshuai.xi     {
3787*53ee8cc1Swenshuai.xi         //dotfade---------------------------------------------------------------------------------
3788*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_set_dotfade_value(236, 236, 236);
3789*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_set_dotfade_overfollow_protection(TRUE, TRUE, TRUE);
3790*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(8,1, TRUE, TRUE, 1023, 1023, 1023, E_XC_OP1_PATTERN_TYPE_DOTFADE);
3791*53ee8cc1Swenshuai.xi 
3792*53ee8cc1Swenshuai.xi         //entry8: black
3793*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3794*53ee8cc1Swenshuai.xi         //entry7: blue
3795*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3796*53ee8cc1Swenshuai.xi         //entry6: red
3797*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3798*53ee8cc1Swenshuai.xi         //entry5: pink
3799*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x00,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3800*53ee8cc1Swenshuai.xi         //entry4: green
3801*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x3FF,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3802*53ee8cc1Swenshuai.xi         //entry3: (0,255,255)
3803*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3804*53ee8cc1Swenshuai.xi         //entry2: yellow
3805*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3806*53ee8cc1Swenshuai.xi         //entry1: white
3807*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,TRUE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3808*53ee8cc1Swenshuai.xi 
3809*53ee8cc1Swenshuai.xi         //
3810*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,TRUE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3811*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3812*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3813*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3814*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3815*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3816*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3817*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,TRUE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3818*53ee8cc1Swenshuai.xi 
3819*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,TRUE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3820*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3821*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3822*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3823*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3824*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3825*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3826*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,TRUE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3827*53ee8cc1Swenshuai.xi 
3828*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,TRUE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3829*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3830*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3831*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3832*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3833*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3834*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3835*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,TRUE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3836*53ee8cc1Swenshuai.xi 
3837*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,TRUE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3838*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3839*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3840*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3841*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3842*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3843*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3844*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,TRUE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3845*53ee8cc1Swenshuai.xi     }
3846*53ee8cc1Swenshuai.xi     else
3847*53ee8cc1Swenshuai.xi     {
3848*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,TRUE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3849*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3850*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3851*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3852*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3853*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3854*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3855*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,TRUE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3856*53ee8cc1Swenshuai.xi 
3857*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,TRUE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3858*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3859*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3860*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3861*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3862*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3863*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3864*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,TRUE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3865*53ee8cc1Swenshuai.xi 
3866*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,TRUE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3867*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3868*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3869*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3870*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3871*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3872*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3873*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,TRUE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3874*53ee8cc1Swenshuai.xi 
3875*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,TRUE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3876*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3877*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3878*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3879*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3880*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3881*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00, 0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3882*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,TRUE,0x3FF, 0x3FF, 0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3883*53ee8cc1Swenshuai.xi 
3884*53ee8cc1Swenshuai.xi         //entry1: white
3885*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,TRUE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3886*53ee8cc1Swenshuai.xi         //entry2: yellow
3887*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x3FF,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3888*53ee8cc1Swenshuai.xi         //entry3: (0,255,255)
3889*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3890*53ee8cc1Swenshuai.xi         //entry4: green
3891*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x3FF,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3892*53ee8cc1Swenshuai.xi         //entry5: pink
3893*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x00,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3894*53ee8cc1Swenshuai.xi         //entry6: red
3895*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x3FF, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3896*53ee8cc1Swenshuai.xi         //entry7: blue
3897*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0x00, 0x00,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
3898*53ee8cc1Swenshuai.xi         //entry8: black
3899*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
3900*53ee8cc1Swenshuai.xi 
3901*53ee8cc1Swenshuai.xi         //dotfade---------------------------------------------------------------------------------
3902*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_set_dotfade_value(18, 18, 18);
3903*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_set_dotfade_overfollow_protection(TRUE, TRUE, TRUE);
3904*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(8,1, TRUE, TRUE, 0, 0, 0, E_XC_OP1_PATTERN_TYPE_DOTFADE);
3905*53ee8cc1Swenshuai.xi     }
3906*53ee8cc1Swenshuai.xi 
3907*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writedone();
3908*53ee8cc1Swenshuai.xi 
3909*53ee8cc1Swenshuai.xi }
3910*53ee8cc1Swenshuai.xi 
MDrv_SC_OP1_Set_Border_Type(MS_U8 * u8GetType,MS_U8 u8Type1,MS_U8 u8Type2,MS_U8 u8Type3,MS_U8 u8Type4,MS_U8 u8Type5)3911*53ee8cc1Swenshuai.xi void MDrv_SC_OP1_Set_Border_Type(MS_U8 *u8GetType, MS_U8 u8Type1, MS_U8 u8Type2, MS_U8 u8Type3, MS_U8 u8Type4, MS_U8 u8Type5)
3912*53ee8cc1Swenshuai.xi {
3913*53ee8cc1Swenshuai.xi     u8GetType[0] = u8Type1;
3914*53ee8cc1Swenshuai.xi     u8GetType[1] = u8Type2;
3915*53ee8cc1Swenshuai.xi     u8GetType[2] = u8Type3;
3916*53ee8cc1Swenshuai.xi     u8GetType[3] = u8Type4;
3917*53ee8cc1Swenshuai.xi     u8GetType[4] = u8Type5;
3918*53ee8cc1Swenshuai.xi }
3919*53ee8cc1Swenshuai.xi 
MDrv_SC_OP1_Set_Border_Val(MS_U8 u8BoldValType,MS_U8 u8ValType)3920*53ee8cc1Swenshuai.xi XC_OP1_PatGen_Border MDrv_SC_OP1_Set_Border_Val(MS_U8 u8BoldValType, MS_U8 u8ValType)
3921*53ee8cc1Swenshuai.xi {
3922*53ee8cc1Swenshuai.xi     XC_OP1_PatGen_Border tile;
3923*53ee8cc1Swenshuai.xi     memset(&tile , 0 , sizeof(XC_OP1_PatGen_Border));
3924*53ee8cc1Swenshuai.xi 
3925*53ee8cc1Swenshuai.xi     switch(u8BoldValType)
3926*53ee8cc1Swenshuai.xi     {
3927*53ee8cc1Swenshuai.xi             case 0:
3928*53ee8cc1Swenshuai.xi                 tile.u8TopBold = 1;
3929*53ee8cc1Swenshuai.xi                 tile.u8BottomBold =1;
3930*53ee8cc1Swenshuai.xi                 tile.u8LeftBold =1;
3931*53ee8cc1Swenshuai.xi                 tile.u8RightBold =1;
3932*53ee8cc1Swenshuai.xi                 break;
3933*53ee8cc1Swenshuai.xi             case 1:
3934*53ee8cc1Swenshuai.xi                 tile.u8TopBold = 1;
3935*53ee8cc1Swenshuai.xi                 tile.u8BottomBold =1;
3936*53ee8cc1Swenshuai.xi                 tile.u8LeftBold =3;
3937*53ee8cc1Swenshuai.xi                 tile.u8RightBold =1;
3938*53ee8cc1Swenshuai.xi 
3939*53ee8cc1Swenshuai.xi                 break;
3940*53ee8cc1Swenshuai.xi             case 2:
3941*53ee8cc1Swenshuai.xi                 tile.u8TopBold = 3;
3942*53ee8cc1Swenshuai.xi                 tile.u8BottomBold =1;
3943*53ee8cc1Swenshuai.xi                 tile.u8LeftBold =1;
3944*53ee8cc1Swenshuai.xi                 tile.u8RightBold =1;
3945*53ee8cc1Swenshuai.xi 
3946*53ee8cc1Swenshuai.xi                 break;
3947*53ee8cc1Swenshuai.xi             case 3:
3948*53ee8cc1Swenshuai.xi                 tile.u8TopBold = 1;
3949*53ee8cc1Swenshuai.xi                 tile.u8BottomBold =1;
3950*53ee8cc1Swenshuai.xi                 tile.u8LeftBold =1;
3951*53ee8cc1Swenshuai.xi                 tile.u8RightBold =3;
3952*53ee8cc1Swenshuai.xi 
3953*53ee8cc1Swenshuai.xi                 break;
3954*53ee8cc1Swenshuai.xi             case 4:
3955*53ee8cc1Swenshuai.xi                 tile.u8TopBold = 1;
3956*53ee8cc1Swenshuai.xi                 tile.u8BottomBold =3;
3957*53ee8cc1Swenshuai.xi                 tile.u8LeftBold =1;
3958*53ee8cc1Swenshuai.xi                 tile.u8RightBold =1;
3959*53ee8cc1Swenshuai.xi 
3960*53ee8cc1Swenshuai.xi                 break;
3961*53ee8cc1Swenshuai.xi             case 5:
3962*53ee8cc1Swenshuai.xi                 tile.u8TopBold = 3;
3963*53ee8cc1Swenshuai.xi                 tile.u8BottomBold =1;
3964*53ee8cc1Swenshuai.xi                 tile.u8LeftBold =3;
3965*53ee8cc1Swenshuai.xi                 tile.u8RightBold =1;
3966*53ee8cc1Swenshuai.xi 
3967*53ee8cc1Swenshuai.xi                 break;
3968*53ee8cc1Swenshuai.xi             case 6:
3969*53ee8cc1Swenshuai.xi                 tile.u8TopBold = 3;
3970*53ee8cc1Swenshuai.xi                 tile.u8BottomBold =1;
3971*53ee8cc1Swenshuai.xi                 tile.u8LeftBold =1;
3972*53ee8cc1Swenshuai.xi                 tile.u8RightBold =3;
3973*53ee8cc1Swenshuai.xi 
3974*53ee8cc1Swenshuai.xi                 break;
3975*53ee8cc1Swenshuai.xi             case 7:
3976*53ee8cc1Swenshuai.xi                 tile.u8TopBold = 1;
3977*53ee8cc1Swenshuai.xi                 tile.u8BottomBold =3;
3978*53ee8cc1Swenshuai.xi                 tile.u8LeftBold =1;
3979*53ee8cc1Swenshuai.xi                 tile.u8RightBold =3;
3980*53ee8cc1Swenshuai.xi 
3981*53ee8cc1Swenshuai.xi                 break;
3982*53ee8cc1Swenshuai.xi             case 8:
3983*53ee8cc1Swenshuai.xi                 tile.u8TopBold = 1;
3984*53ee8cc1Swenshuai.xi                 tile.u8BottomBold =3;
3985*53ee8cc1Swenshuai.xi                 tile.u8LeftBold =3;
3986*53ee8cc1Swenshuai.xi                 tile.u8RightBold =1;
3987*53ee8cc1Swenshuai.xi 
3988*53ee8cc1Swenshuai.xi                 break;
3989*53ee8cc1Swenshuai.xi             case 9:
3990*53ee8cc1Swenshuai.xi                 tile.u8TopBold = 3;
3991*53ee8cc1Swenshuai.xi                 tile.u8BottomBold =3;
3992*53ee8cc1Swenshuai.xi                 tile.u8LeftBold =1;
3993*53ee8cc1Swenshuai.xi                 tile.u8RightBold =1;
3994*53ee8cc1Swenshuai.xi 
3995*53ee8cc1Swenshuai.xi                 break;
3996*53ee8cc1Swenshuai.xi             case 10:
3997*53ee8cc1Swenshuai.xi                 tile.u8TopBold = 1;
3998*53ee8cc1Swenshuai.xi                 tile.u8BottomBold =1;
3999*53ee8cc1Swenshuai.xi                 tile.u8LeftBold =3;
4000*53ee8cc1Swenshuai.xi                 tile.u8RightBold =3;
4001*53ee8cc1Swenshuai.xi 
4002*53ee8cc1Swenshuai.xi                 break;
4003*53ee8cc1Swenshuai.xi             case 11:
4004*53ee8cc1Swenshuai.xi                 tile.u8TopBold = 3;
4005*53ee8cc1Swenshuai.xi                 tile.u8BottomBold =1;
4006*53ee8cc1Swenshuai.xi                 tile.u8LeftBold =3;
4007*53ee8cc1Swenshuai.xi                 tile.u8RightBold =3;
4008*53ee8cc1Swenshuai.xi 
4009*53ee8cc1Swenshuai.xi             case 12:
4010*53ee8cc1Swenshuai.xi                 tile.u8TopBold = 3;
4011*53ee8cc1Swenshuai.xi                 tile.u8BottomBold =3;
4012*53ee8cc1Swenshuai.xi                 tile.u8LeftBold =1;
4013*53ee8cc1Swenshuai.xi                 tile.u8RightBold =3;
4014*53ee8cc1Swenshuai.xi 
4015*53ee8cc1Swenshuai.xi                 break;
4016*53ee8cc1Swenshuai.xi             case 13:
4017*53ee8cc1Swenshuai.xi                 tile.u8TopBold = 1;
4018*53ee8cc1Swenshuai.xi                 tile.u8BottomBold =3;
4019*53ee8cc1Swenshuai.xi                 tile.u8LeftBold =3;
4020*53ee8cc1Swenshuai.xi                 tile.u8RightBold =3;
4021*53ee8cc1Swenshuai.xi 
4022*53ee8cc1Swenshuai.xi                 break;
4023*53ee8cc1Swenshuai.xi             case 14:
4024*53ee8cc1Swenshuai.xi                 tile.u8TopBold = 3;
4025*53ee8cc1Swenshuai.xi                 tile.u8BottomBold =3;
4026*53ee8cc1Swenshuai.xi                 tile.u8LeftBold =3;
4027*53ee8cc1Swenshuai.xi                 tile.u8RightBold =1;
4028*53ee8cc1Swenshuai.xi 
4029*53ee8cc1Swenshuai.xi                 break;
4030*53ee8cc1Swenshuai.xi 
4031*53ee8cc1Swenshuai.xi             case 15:
4032*53ee8cc1Swenshuai.xi                 tile.u8TopBold = 3;
4033*53ee8cc1Swenshuai.xi                 tile.u8BottomBold =3;
4034*53ee8cc1Swenshuai.xi                 tile.u8LeftBold =3;
4035*53ee8cc1Swenshuai.xi                 tile.u8RightBold =3;
4036*53ee8cc1Swenshuai.xi 
4037*53ee8cc1Swenshuai.xi                 break;
4038*53ee8cc1Swenshuai.xi 
4039*53ee8cc1Swenshuai.xi             default:
4040*53ee8cc1Swenshuai.xi                 tile.u8TopBold = 1;
4041*53ee8cc1Swenshuai.xi                 tile.u8BottomBold =1;
4042*53ee8cc1Swenshuai.xi                 tile.u8LeftBold =1;
4043*53ee8cc1Swenshuai.xi                 tile.u8RightBold =1;
4044*53ee8cc1Swenshuai.xi                 break;
4045*53ee8cc1Swenshuai.xi     }
4046*53ee8cc1Swenshuai.xi 
4047*53ee8cc1Swenshuai.xi     switch(u8ValType)
4048*53ee8cc1Swenshuai.xi     {
4049*53ee8cc1Swenshuai.xi             case 0:
4050*53ee8cc1Swenshuai.xi                 tile.bTop = 0;
4051*53ee8cc1Swenshuai.xi                 tile.bBottom =0;
4052*53ee8cc1Swenshuai.xi                 tile.bLeft =0;
4053*53ee8cc1Swenshuai.xi                 tile.bRight =0;
4054*53ee8cc1Swenshuai.xi                 break;
4055*53ee8cc1Swenshuai.xi             case 1:
4056*53ee8cc1Swenshuai.xi                 tile.bTop = 0;
4057*53ee8cc1Swenshuai.xi                 tile.bBottom =0;
4058*53ee8cc1Swenshuai.xi                 tile.bLeft =1;
4059*53ee8cc1Swenshuai.xi                 tile.bRight =0;
4060*53ee8cc1Swenshuai.xi                 break;
4061*53ee8cc1Swenshuai.xi             case 2:
4062*53ee8cc1Swenshuai.xi                 tile.bTop = 1;
4063*53ee8cc1Swenshuai.xi                 tile.bBottom =0;
4064*53ee8cc1Swenshuai.xi                 tile.bLeft =0;
4065*53ee8cc1Swenshuai.xi                 tile.bRight =0;
4066*53ee8cc1Swenshuai.xi                 break;
4067*53ee8cc1Swenshuai.xi             case 3:
4068*53ee8cc1Swenshuai.xi                 tile.bTop = 0;
4069*53ee8cc1Swenshuai.xi                 tile.bBottom =0;
4070*53ee8cc1Swenshuai.xi                 tile.bLeft =0;
4071*53ee8cc1Swenshuai.xi                 tile.bRight =1;
4072*53ee8cc1Swenshuai.xi                 break;
4073*53ee8cc1Swenshuai.xi             case 4:
4074*53ee8cc1Swenshuai.xi                 tile.bTop = 0;
4075*53ee8cc1Swenshuai.xi                 tile.bBottom =1;
4076*53ee8cc1Swenshuai.xi                 tile.bLeft =0;
4077*53ee8cc1Swenshuai.xi                 tile.bRight =0;
4078*53ee8cc1Swenshuai.xi                 break;
4079*53ee8cc1Swenshuai.xi             case 5:
4080*53ee8cc1Swenshuai.xi                 tile.bTop = 1;
4081*53ee8cc1Swenshuai.xi                 tile.bBottom =0;
4082*53ee8cc1Swenshuai.xi                 tile.bLeft =1;
4083*53ee8cc1Swenshuai.xi                 tile.bRight =0;
4084*53ee8cc1Swenshuai.xi                 break;
4085*53ee8cc1Swenshuai.xi             case 6:
4086*53ee8cc1Swenshuai.xi                 tile.bTop = 1;
4087*53ee8cc1Swenshuai.xi                 tile.bBottom =0;
4088*53ee8cc1Swenshuai.xi                 tile.bLeft =0;
4089*53ee8cc1Swenshuai.xi                 tile.bRight =1;
4090*53ee8cc1Swenshuai.xi                 break;
4091*53ee8cc1Swenshuai.xi             case 7:
4092*53ee8cc1Swenshuai.xi                 tile.bTop = 0;
4093*53ee8cc1Swenshuai.xi                 tile.bBottom =1;
4094*53ee8cc1Swenshuai.xi                 tile.bLeft =0;
4095*53ee8cc1Swenshuai.xi                 tile.bRight =1;
4096*53ee8cc1Swenshuai.xi                 break;
4097*53ee8cc1Swenshuai.xi             case 8:
4098*53ee8cc1Swenshuai.xi                 tile.bTop = 0;
4099*53ee8cc1Swenshuai.xi                 tile.bBottom =1;
4100*53ee8cc1Swenshuai.xi                 tile.bLeft =1;
4101*53ee8cc1Swenshuai.xi                 tile.bRight =0;
4102*53ee8cc1Swenshuai.xi                 break;
4103*53ee8cc1Swenshuai.xi             case 9:
4104*53ee8cc1Swenshuai.xi                 tile.bTop = 1;
4105*53ee8cc1Swenshuai.xi                 tile.bBottom =1;
4106*53ee8cc1Swenshuai.xi                 tile.bLeft =0;
4107*53ee8cc1Swenshuai.xi                 tile.bRight =0;
4108*53ee8cc1Swenshuai.xi                 break;
4109*53ee8cc1Swenshuai.xi             case 10:
4110*53ee8cc1Swenshuai.xi                 tile.bTop = 0;
4111*53ee8cc1Swenshuai.xi                 tile.bBottom =0;
4112*53ee8cc1Swenshuai.xi                 tile.bLeft =1;
4113*53ee8cc1Swenshuai.xi                 tile.bRight =1;
4114*53ee8cc1Swenshuai.xi                 break;
4115*53ee8cc1Swenshuai.xi             case 11:
4116*53ee8cc1Swenshuai.xi                 tile.bTop = 1;
4117*53ee8cc1Swenshuai.xi                 tile.bBottom =0;
4118*53ee8cc1Swenshuai.xi                 tile.bLeft =1;
4119*53ee8cc1Swenshuai.xi                 tile.bRight =1;
4120*53ee8cc1Swenshuai.xi                 break;
4121*53ee8cc1Swenshuai.xi             case 12:
4122*53ee8cc1Swenshuai.xi                 tile.bTop = 1;
4123*53ee8cc1Swenshuai.xi                 tile.bBottom =1;
4124*53ee8cc1Swenshuai.xi                 tile.bLeft =0;
4125*53ee8cc1Swenshuai.xi                 tile.bRight =1;
4126*53ee8cc1Swenshuai.xi                 break;
4127*53ee8cc1Swenshuai.xi             case 13:
4128*53ee8cc1Swenshuai.xi                 tile.bTop = 0;
4129*53ee8cc1Swenshuai.xi                 tile.bBottom =1;
4130*53ee8cc1Swenshuai.xi                 tile.bLeft =1;
4131*53ee8cc1Swenshuai.xi                 tile.bRight =1;
4132*53ee8cc1Swenshuai.xi                 break;
4133*53ee8cc1Swenshuai.xi             case 14:
4134*53ee8cc1Swenshuai.xi                 tile.bTop = 1;
4135*53ee8cc1Swenshuai.xi                 tile.bBottom =1;
4136*53ee8cc1Swenshuai.xi                 tile.bLeft =1;
4137*53ee8cc1Swenshuai.xi                 tile.bRight =0;
4138*53ee8cc1Swenshuai.xi                 break;
4139*53ee8cc1Swenshuai.xi 
4140*53ee8cc1Swenshuai.xi             case 15:
4141*53ee8cc1Swenshuai.xi                 tile.bTop = 1;
4142*53ee8cc1Swenshuai.xi                 tile.bBottom =1;
4143*53ee8cc1Swenshuai.xi                 tile.bLeft =1;
4144*53ee8cc1Swenshuai.xi                 tile.bRight =1;
4145*53ee8cc1Swenshuai.xi                 break;
4146*53ee8cc1Swenshuai.xi 
4147*53ee8cc1Swenshuai.xi             default:
4148*53ee8cc1Swenshuai.xi                 tile.bTop = 0;
4149*53ee8cc1Swenshuai.xi                 tile.bBottom =0;
4150*53ee8cc1Swenshuai.xi                 tile.bLeft =0;
4151*53ee8cc1Swenshuai.xi                 tile.bRight =0;
4152*53ee8cc1Swenshuai.xi                 break;
4153*53ee8cc1Swenshuai.xi     }
4154*53ee8cc1Swenshuai.xi 
4155*53ee8cc1Swenshuai.xi     return tile;
4156*53ee8cc1Swenshuai.xi }
4157*53ee8cc1Swenshuai.xi 
MDrv_SC_OP1_Set_Border_Sram(MS_U8 * u8BoldValType,MS_U8 * u8ValType)4158*53ee8cc1Swenshuai.xi void MDrv_SC_OP1_Set_Border_Sram(MS_U8 *u8BoldValType, MS_U8 *u8ValType)
4159*53ee8cc1Swenshuai.xi {
4160*53ee8cc1Swenshuai.xi     XC_OP1_PatGen_Border tile1,tile2,tile3,tile4,tile5;
4161*53ee8cc1Swenshuai.xi 
4162*53ee8cc1Swenshuai.xi     tile1 = MDrv_SC_OP1_Set_Border_Val(u8BoldValType[0], u8ValType[0]);
4163*53ee8cc1Swenshuai.xi     tile2 = MDrv_SC_OP1_Set_Border_Val(u8BoldValType[1], u8ValType[1]);
4164*53ee8cc1Swenshuai.xi     tile3 = MDrv_SC_OP1_Set_Border_Val(u8BoldValType[2], u8ValType[2]);
4165*53ee8cc1Swenshuai.xi     tile4 = MDrv_SC_OP1_Set_Border_Val(u8BoldValType[3], u8ValType[3]);
4166*53ee8cc1Swenshuai.xi     tile5 = MDrv_SC_OP1_Set_Border_Val(u8BoldValType[4], u8ValType[4]);
4167*53ee8cc1Swenshuai.xi 
4168*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_set_border_sram(tile1, tile2, tile3, tile4, tile5);
4169*53ee8cc1Swenshuai.xi }
4170*53ee8cc1Swenshuai.xi 
MDrv_SC_OP1_Set_Pattern2_Border(void * pInstance)4171*53ee8cc1Swenshuai.xi void MDrv_SC_OP1_Set_Pattern2_Border(void *pInstance)
4172*53ee8cc1Swenshuai.xi {
4173*53ee8cc1Swenshuai.xi     MS_U8 u8BoldValType[5] = {0};
4174*53ee8cc1Swenshuai.xi     MS_U8 u8ValType[5] = {0};
4175*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
4176*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
4177*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
4178*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
4179*53ee8cc1Swenshuai.xi 
4180*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_enable_border(TRUE,0x3FF,0x3FF,0x3FF);
4181*53ee8cc1Swenshuai.xi 
4182*53ee8cc1Swenshuai.xi     if (pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.bMirror)
4183*53ee8cc1Swenshuai.xi     { //mirror mode
4184*53ee8cc1Swenshuai.xi 
4185*53ee8cc1Swenshuai.xi      //0~50
4186*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
4187*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4188*53ee8cc1Swenshuai.xi 
4189*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
4190*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4191*53ee8cc1Swenshuai.xi 
4192*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
4193*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4194*53ee8cc1Swenshuai.xi 
4195*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,11,13,13,13,13);
4196*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4197*53ee8cc1Swenshuai.xi 
4198*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
4199*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4200*53ee8cc1Swenshuai.xi 
4201*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
4202*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4203*53ee8cc1Swenshuai.xi 
4204*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,15,15,15);
4205*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4206*53ee8cc1Swenshuai.xi 
4207*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,15);
4208*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4209*53ee8cc1Swenshuai.xi 
4210*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,15);
4211*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4212*53ee8cc1Swenshuai.xi 
4213*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,15);
4214*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4215*53ee8cc1Swenshuai.xi 
4216*53ee8cc1Swenshuai.xi      //51~100
4217*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,15);
4218*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4219*53ee8cc1Swenshuai.xi 
4220*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,15);
4221*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4222*53ee8cc1Swenshuai.xi 
4223*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,5);
4224*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4225*53ee8cc1Swenshuai.xi 
4226*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,2,6,5,2,2);
4227*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4228*53ee8cc1Swenshuai.xi 
4229*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,2,2,2,2,2);
4230*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4231*53ee8cc1Swenshuai.xi 
4232*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,2,6,5,2,6);
4233*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4234*53ee8cc1Swenshuai.xi 
4235*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);
4236*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4237*53ee8cc1Swenshuai.xi 
4238*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
4239*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4240*53ee8cc1Swenshuai.xi 
4241*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
4242*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4243*53ee8cc1Swenshuai.xi 
4244*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);
4245*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4246*53ee8cc1Swenshuai.xi 
4247*53ee8cc1Swenshuai.xi      //101~150
4248*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
4249*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4250*53ee8cc1Swenshuai.xi 
4251*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);
4252*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4253*53ee8cc1Swenshuai.xi 
4254*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
4255*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4256*53ee8cc1Swenshuai.xi 
4257*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
4258*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4259*53ee8cc1Swenshuai.xi 
4260*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
4261*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4262*53ee8cc1Swenshuai.xi 
4263*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);
4264*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4265*53ee8cc1Swenshuai.xi 
4266*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
4267*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4268*53ee8cc1Swenshuai.xi 
4269*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
4270*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4271*53ee8cc1Swenshuai.xi 
4272*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);
4273*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4274*53ee8cc1Swenshuai.xi 
4275*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
4276*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4277*53ee8cc1Swenshuai.xi 
4278*53ee8cc1Swenshuai.xi      //151~200
4279*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
4280*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4281*53ee8cc1Swenshuai.xi 
4282*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
4283*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4284*53ee8cc1Swenshuai.xi 
4285*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);
4286*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4287*53ee8cc1Swenshuai.xi 
4288*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
4289*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4290*53ee8cc1Swenshuai.xi 
4291*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
4292*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4293*53ee8cc1Swenshuai.xi 
4294*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,3,8,4,7,8);
4295*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4296*53ee8cc1Swenshuai.xi 
4297*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,4,4,4,4,4);
4298*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4299*53ee8cc1Swenshuai.xi 
4300*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,4,4,4,7,8);
4301*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4302*53ee8cc1Swenshuai.xi 
4303*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,4,7,11,11,11);
4304*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4305*53ee8cc1Swenshuai.xi 
4306*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
4307*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4308*53ee8cc1Swenshuai.xi 
4309*53ee8cc1Swenshuai.xi      //201~250
4310*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
4311*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4312*53ee8cc1Swenshuai.xi 
4313*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,13,13);
4314*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4315*53ee8cc1Swenshuai.xi 
4316*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
4317*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4318*53ee8cc1Swenshuai.xi 
4319*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
4320*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4321*53ee8cc1Swenshuai.xi 
4322*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,5);
4323*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4324*53ee8cc1Swenshuai.xi 
4325*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,2,6,5,2,2);
4326*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4327*53ee8cc1Swenshuai.xi 
4328*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,2,2,2,2,2);
4329*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4330*53ee8cc1Swenshuai.xi 
4331*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,2,6,5,2,6);
4332*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4333*53ee8cc1Swenshuai.xi 
4334*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,8,4,7,1,0);
4335*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4336*53ee8cc1Swenshuai.xi 
4337*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
4338*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4339*53ee8cc1Swenshuai.xi 
4340*53ee8cc1Swenshuai.xi      //251~300
4341*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
4342*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4343*53ee8cc1Swenshuai.xi 
4344*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,3,5,2,6,1);
4345*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4346*53ee8cc1Swenshuai.xi 
4347*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
4348*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4349*53ee8cc1Swenshuai.xi 
4350*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);
4351*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4352*53ee8cc1Swenshuai.xi 
4353*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
4354*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4355*53ee8cc1Swenshuai.xi 
4356*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
4357*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4358*53ee8cc1Swenshuai.xi 
4359*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
4360*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4361*53ee8cc1Swenshuai.xi 
4362*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,8,4);
4363*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4364*53ee8cc1Swenshuai.xi 
4365*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,7,1,0,0,0);
4366*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4367*53ee8cc1Swenshuai.xi 
4368*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
4369*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4370*53ee8cc1Swenshuai.xi 
4371*53ee8cc1Swenshuai.xi      //301~350
4372*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,5);
4373*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4374*53ee8cc1Swenshuai.xi 
4375*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,2,6,1,0,0);
4376*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4377*53ee8cc1Swenshuai.xi 
4378*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
4379*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4380*53ee8cc1Swenshuai.xi 
4381*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
4382*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4383*53ee8cc1Swenshuai.xi 
4384*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,8,4,7,8,4);
4385*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4386*53ee8cc1Swenshuai.xi 
4387*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,4,4,4,4,4);
4388*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4389*53ee8cc1Swenshuai.xi 
4390*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,4,4,7,8,4);
4391*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4392*53ee8cc1Swenshuai.xi 
4393*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,7,15,15,15,15);
4394*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4395*53ee8cc1Swenshuai.xi 
4396*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,15);
4397*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4398*53ee8cc1Swenshuai.xi 
4399*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,15);
4400*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4401*53ee8cc1Swenshuai.xi 
4402*53ee8cc1Swenshuai.xi      //351~400
4403*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,11,11,11);
4404*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4405*53ee8cc1Swenshuai.xi 
4406*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
4407*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4408*53ee8cc1Swenshuai.xi 
4409*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
4410*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4411*53ee8cc1Swenshuai.xi 
4412*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,13,13);
4413*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4414*53ee8cc1Swenshuai.xi 
4415*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
4416*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4417*53ee8cc1Swenshuai.xi 
4418*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
4419*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4420*53ee8cc1Swenshuai.xi 
4421*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,15);
4422*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4423*53ee8cc1Swenshuai.xi 
4424*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,15);
4425*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4426*53ee8cc1Swenshuai.xi 
4427*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,15);
4428*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4429*53ee8cc1Swenshuai.xi 
4430*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,15);
4431*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4432*53ee8cc1Swenshuai.xi 
4433*53ee8cc1Swenshuai.xi      //401~432
4434*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
4435*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4436*53ee8cc1Swenshuai.xi 
4437*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
4438*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4439*53ee8cc1Swenshuai.xi 
4440*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
4441*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4442*53ee8cc1Swenshuai.xi 
4443*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,11,13,13,13,13);
4444*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4445*53ee8cc1Swenshuai.xi 
4446*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
4447*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4448*53ee8cc1Swenshuai.xi 
4449*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
4450*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4451*53ee8cc1Swenshuai.xi 
4452*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,0,0,0);
4453*53ee8cc1Swenshuai.xi      MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4454*53ee8cc1Swenshuai.xi     }
4455*53ee8cc1Swenshuai.xi     else
4456*53ee8cc1Swenshuai.xi     {
4457*53ee8cc1Swenshuai.xi         //0~50
4458*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
4459*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4460*53ee8cc1Swenshuai.xi 
4461*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
4462*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4463*53ee8cc1Swenshuai.xi 
4464*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
4465*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4466*53ee8cc1Swenshuai.xi 
4467*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,13,13,13,13);
4468*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4469*53ee8cc1Swenshuai.xi 
4470*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
4471*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4472*53ee8cc1Swenshuai.xi 
4473*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
4474*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4475*53ee8cc1Swenshuai.xi 
4476*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,15,15,15);
4477*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4478*53ee8cc1Swenshuai.xi 
4479*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,15);
4480*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4481*53ee8cc1Swenshuai.xi 
4482*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,15);
4483*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4484*53ee8cc1Swenshuai.xi 
4485*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,11,11);
4486*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4487*53ee8cc1Swenshuai.xi 
4488*53ee8cc1Swenshuai.xi         //51~100
4489*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
4490*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4491*53ee8cc1Swenshuai.xi 
4492*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
4493*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4494*53ee8cc1Swenshuai.xi 
4495*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,13);
4496*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4497*53ee8cc1Swenshuai.xi 
4498*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
4499*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4500*53ee8cc1Swenshuai.xi 
4501*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
4502*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4503*53ee8cc1Swenshuai.xi 
4504*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
4505*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4506*53ee8cc1Swenshuai.xi 
4507*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,15);
4508*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4509*53ee8cc1Swenshuai.xi 
4510*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,15);
4511*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4512*53ee8cc1Swenshuai.xi 
4513*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,15);
4514*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4515*53ee8cc1Swenshuai.xi 
4516*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,15,5,2,6,5);
4517*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4518*53ee8cc1Swenshuai.xi 
4519*53ee8cc1Swenshuai.xi         //101~150
4520*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,2,2,2,2,2);
4521*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4522*53ee8cc1Swenshuai.xi 
4523*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,2,2,2,6,5);
4524*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4525*53ee8cc1Swenshuai.xi 
4526*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,2,6,1,0,3);
4527*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4528*53ee8cc1Swenshuai.xi 
4529*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
4530*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4531*53ee8cc1Swenshuai.xi 
4532*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
4533*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4534*53ee8cc1Swenshuai.xi 
4535*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,8,4,7,1,0);
4536*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4537*53ee8cc1Swenshuai.xi 
4538*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
4539*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4540*53ee8cc1Swenshuai.xi 
4541*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
4542*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4543*53ee8cc1Swenshuai.xi 
4544*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,5,2,6,1);
4545*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4546*53ee8cc1Swenshuai.xi 
4547*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
4548*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4549*53ee8cc1Swenshuai.xi 
4550*53ee8cc1Swenshuai.xi         //151~200
4551*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
4552*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4553*53ee8cc1Swenshuai.xi 
4554*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
4555*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4556*53ee8cc1Swenshuai.xi 
4557*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);
4558*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4559*53ee8cc1Swenshuai.xi 
4560*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
4561*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4562*53ee8cc1Swenshuai.xi 
4563*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,8,4);
4564*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4565*53ee8cc1Swenshuai.xi 
4566*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,7,1,0,3,1);
4567*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4568*53ee8cc1Swenshuai.xi 
4569*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
4570*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4571*53ee8cc1Swenshuai.xi 
4572*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,5);
4573*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4574*53ee8cc1Swenshuai.xi 
4575*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,2,6,8,4,7);
4576*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4577*53ee8cc1Swenshuai.xi 
4578*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,8,4,4,4,4);
4579*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4580*53ee8cc1Swenshuai.xi 
4581*53ee8cc1Swenshuai.xi         //201~250
4582*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,4,4,4,4,7);
4583*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4584*53ee8cc1Swenshuai.xi 
4585*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,8,4,7,11,11);
4586*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4587*53ee8cc1Swenshuai.xi 
4588*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
4589*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4590*53ee8cc1Swenshuai.xi 
4591*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
4592*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4593*53ee8cc1Swenshuai.xi 
4594*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,13);
4595*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4596*53ee8cc1Swenshuai.xi 
4597*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
4598*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4599*53ee8cc1Swenshuai.xi 
4600*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
4601*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4602*53ee8cc1Swenshuai.xi 
4603*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
4604*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4605*53ee8cc1Swenshuai.xi 
4606*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,5,2,6,5,2);
4607*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4608*53ee8cc1Swenshuai.xi 
4609*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,2,2,2,2,2);
4610*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4611*53ee8cc1Swenshuai.xi 
4612*53ee8cc1Swenshuai.xi         //251~300
4613*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,2,2,6,5,2);
4614*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4615*53ee8cc1Swenshuai.xi 
4616*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,6,1,0,3,1);// 1
4617*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4618*53ee8cc1Swenshuai.xi 
4619*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
4620*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4621*53ee8cc1Swenshuai.xi 
4622*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);
4623*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4624*53ee8cc1Swenshuai.xi 
4625*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);// 2
4626*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4627*53ee8cc1Swenshuai.xi 
4628*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
4629*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4630*53ee8cc1Swenshuai.xi 
4631*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
4632*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4633*53ee8cc1Swenshuai.xi 
4634*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);// 3
4635*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4636*53ee8cc1Swenshuai.xi 
4637*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
4638*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4639*53ee8cc1Swenshuai.xi 
4640*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
4641*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4642*53ee8cc1Swenshuai.xi 
4643*53ee8cc1Swenshuai.xi         //301~350
4644*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);// 4
4645*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4646*53ee8cc1Swenshuai.xi 
4647*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
4648*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4649*53ee8cc1Swenshuai.xi 
4650*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
4651*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4652*53ee8cc1Swenshuai.xi 
4653*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
4654*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4655*53ee8cc1Swenshuai.xi 
4656*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);// 5
4657*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4658*53ee8cc1Swenshuai.xi 
4659*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
4660*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4661*53ee8cc1Swenshuai.xi 
4662*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
4663*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4664*53ee8cc1Swenshuai.xi 
4665*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);// 6
4666*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4667*53ee8cc1Swenshuai.xi 
4668*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
4669*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4670*53ee8cc1Swenshuai.xi 
4671*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);
4672*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4673*53ee8cc1Swenshuai.xi 
4674*53ee8cc1Swenshuai.xi         //351~400
4675*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,8,4,7);
4676*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4677*53ee8cc1Swenshuai.xi 
4678*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,8,4,4,4,4);
4679*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4680*53ee8cc1Swenshuai.xi 
4681*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,4,4,4,4,7);
4682*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4683*53ee8cc1Swenshuai.xi 
4684*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,8,4,7,15,15);
4685*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4686*53ee8cc1Swenshuai.xi 
4687*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,15);
4688*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4689*53ee8cc1Swenshuai.xi 
4690*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,15);
4691*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4692*53ee8cc1Swenshuai.xi 
4693*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,15);
4694*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4695*53ee8cc1Swenshuai.xi 
4696*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,15);
4697*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4698*53ee8cc1Swenshuai.xi 
4699*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,15);
4700*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4701*53ee8cc1Swenshuai.xi 
4702*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,15,15,15,15,11);
4703*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4704*53ee8cc1Swenshuai.xi 
4705*53ee8cc1Swenshuai.xi         //401~432
4706*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
4707*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4708*53ee8cc1Swenshuai.xi 
4709*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
4710*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4711*53ee8cc1Swenshuai.xi 
4712*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
4713*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4714*53ee8cc1Swenshuai.xi 
4715*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,13,13,13,13);
4716*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4717*53ee8cc1Swenshuai.xi 
4718*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
4719*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4720*53ee8cc1Swenshuai.xi 
4721*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
4722*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4723*53ee8cc1Swenshuai.xi 
4724*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,0,0,0);
4725*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
4726*53ee8cc1Swenshuai.xi 
4727*53ee8cc1Swenshuai.xi     }
4728*53ee8cc1Swenshuai.xi }
4729*53ee8cc1Swenshuai.xi 
MDrv_SC_OP1_1_Pattern(void * pInstance,MS_U16 u16HTileCnt,MS_U16 u16VTileCnt)4730*53ee8cc1Swenshuai.xi void MDrv_SC_OP1_1_Pattern(void *pInstance, MS_U16 u16HTileCnt, MS_U16 u16VTileCnt)
4731*53ee8cc1Swenshuai.xi {
4732*53ee8cc1Swenshuai.xi     MS_U16 u16HTileSize = 0, u16VTileSize = 0;
4733*53ee8cc1Swenshuai.xi     MS_U16 u16HTotalSize = 0, u16VTotalSize = 0;
4734*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
4735*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
4736*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
4737*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
4738*53ee8cc1Swenshuai.xi 
4739*53ee8cc1Swenshuai.xi     //clear default pattern
4740*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_pure_color(0x00);
4741*53ee8cc1Swenshuai.xi 
4742*53ee8cc1Swenshuai.xi     //disable border
4743*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_enable_border(FALSE,0x3FF,0x3FF,0x3FF);
4744*53ee8cc1Swenshuai.xi 
4745*53ee8cc1Swenshuai.xi     if ((pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.stPanelInfo.u16Width < 1900)
4746*53ee8cc1Swenshuai.xi         && (pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.stPanelInfo.u16Height < 1000))
4747*53ee8cc1Swenshuai.xi     {
4748*53ee8cc1Swenshuai.xi         // For special pattern!!!!  HD/FHD use different tile cnt !!!!
4749*53ee8cc1Swenshuai.xi         u16HTileCnt = 20;
4750*53ee8cc1Swenshuai.xi         u16VTileCnt = 18;
4751*53ee8cc1Swenshuai.xi     }
4752*53ee8cc1Swenshuai.xi 
4753*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Align_Width_Height(pInstance, u16HTileCnt, u16VTileCnt, &u16HTotalSize, &u16VTotalSize);
4754*53ee8cc1Swenshuai.xi 
4755*53ee8cc1Swenshuai.xi     u16HTileSize = u16HTotalSize/u16HTileCnt;
4756*53ee8cc1Swenshuai.xi     u16VTileSize = u16VTotalSize/u16VTileCnt;
4757*53ee8cc1Swenshuai.xi     MHal_SC_OP1_PatGen_adjust_frame_size(u16HTotalSize, u16VTotalSize);
4758*53ee8cc1Swenshuai.xi 
4759*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writestart();
4760*53ee8cc1Swenshuai.xi 
4761*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_define_tile(u16HTileSize, u16VTileSize);
4762*53ee8cc1Swenshuai.xi 
4763*53ee8cc1Swenshuai.xi     if ((pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.stPanelInfo.u16Width > 1900)
4764*53ee8cc1Swenshuai.xi         && (pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.stPanelInfo.u16Height > 1000))
4765*53ee8cc1Swenshuai.xi     {
4766*53ee8cc1Swenshuai.xi         // FHD case
4767*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(48,15,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4768*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(48,15,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4769*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(48,15,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4770*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(48,15,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4771*53ee8cc1Swenshuai.xi 
4772*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,10,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4773*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,10,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4774*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,10,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4775*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,10,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4776*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,10,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4777*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,10,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4778*53ee8cc1Swenshuai.xi 
4779*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,11,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4780*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(9,11,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4781*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(6,11,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4782*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,11,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4783*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(6,11,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4784*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,11,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4785*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(6,11,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4786*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,11,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4787*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(6,11,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4788*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(9,11,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4789*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,11,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4790*53ee8cc1Swenshuai.xi 
4791*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,37,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4792*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,37,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4793*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,37,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4794*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,37,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4795*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,37,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4796*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,37,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4797*53ee8cc1Swenshuai.xi 
4798*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,11,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4799*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(9,11,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4800*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(6,11,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4801*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,11,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4802*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(6,11,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4803*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,11,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4804*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(6,11,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4805*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,11,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4806*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(6,11,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4807*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(9,11,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4808*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,11,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4809*53ee8cc1Swenshuai.xi 
4810*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,37,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4811*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,37,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4812*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,37,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4813*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,37,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4814*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,37,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4815*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,37,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4816*53ee8cc1Swenshuai.xi 
4817*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,11,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4818*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(9,11,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4819*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(6,11,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4820*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,11,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4821*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(6,11,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4822*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,11,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4823*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(6,11,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4824*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,11,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4825*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(6,11,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4826*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(9,11,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4827*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,11,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4828*53ee8cc1Swenshuai.xi 
4829*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,37,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4830*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,37,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4831*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,37,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4832*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,37,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4833*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,37,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4834*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,37,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4835*53ee8cc1Swenshuai.xi 
4836*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,11,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4837*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(9,11,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4838*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(6,11,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4839*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,11,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4840*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(6,11,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4841*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,11,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4842*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(6,11,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4843*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,11,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4844*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(6,11,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4845*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(9,11,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4846*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,11,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4847*53ee8cc1Swenshuai.xi 
4848*53ee8cc1Swenshuai.xi 
4849*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,10,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4850*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,10,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4851*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,10,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4852*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,10,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4853*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(42,10,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4854*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,10,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4855*53ee8cc1Swenshuai.xi 
4856*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(48,15,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4857*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(48,15,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4858*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(48,15,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4859*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(48,15,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4860*53ee8cc1Swenshuai.xi 
4861*53ee8cc1Swenshuai.xi     }
4862*53ee8cc1Swenshuai.xi     else
4863*53ee8cc1Swenshuai.xi     {
4864*53ee8cc1Swenshuai.xi         // HD case
4865*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x14,0x00,TRUE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4866*53ee8cc1Swenshuai.xi 
4867*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4868*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x12,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4869*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4870*53ee8cc1Swenshuai.xi 
4871*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4872*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4873*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4874*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x04,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4875*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4876*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x04,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4877*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4878*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x04,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4879*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4880*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4881*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4882*53ee8cc1Swenshuai.xi 
4883*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x02,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4884*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x12,0x02,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4885*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x02,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4886*53ee8cc1Swenshuai.xi 
4887*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4888*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4889*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4890*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x04,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4891*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4892*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x04,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4893*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4894*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x04,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4895*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4896*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4897*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4898*53ee8cc1Swenshuai.xi 
4899*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x03,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4900*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x12,0x03,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4901*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x03,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4902*53ee8cc1Swenshuai.xi 
4903*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4904*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4905*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4906*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x04,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4907*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4908*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x04,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4909*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4910*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x04,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4911*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4912*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4913*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4914*53ee8cc1Swenshuai.xi 
4915*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x02,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4916*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x12,0x02,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4917*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x02,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4918*53ee8cc1Swenshuai.xi 
4919*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4920*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4921*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4922*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x04,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4923*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4924*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x04,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4925*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4926*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x04,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4927*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4928*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4929*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4930*53ee8cc1Swenshuai.xi 
4931*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,TRUE,FALSE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4932*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x12,0x00,FALSE,FALSE,0x3FF, 0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
4933*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4934*53ee8cc1Swenshuai.xi 
4935*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x14,0x00,TRUE,TRUE,0x00, 0x00,0x00,E_XC_OP1_PATTERN_TYPE_PURE);
4936*53ee8cc1Swenshuai.xi     }
4937*53ee8cc1Swenshuai.xi 
4938*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writedone();
4939*53ee8cc1Swenshuai.xi 
4940*53ee8cc1Swenshuai.xi }
4941*53ee8cc1Swenshuai.xi 
MDrv_SC_OP1_2_Pattern(void * pInstance,MS_U16 u16HTileCnt,MS_U16 u16VTileCnt)4942*53ee8cc1Swenshuai.xi void MDrv_SC_OP1_2_Pattern(void *pInstance, MS_U16 u16HTileCnt, MS_U16 u16VTileCnt)
4943*53ee8cc1Swenshuai.xi {
4944*53ee8cc1Swenshuai.xi     MS_U16 u16HTileSize = 0, u16VTileSize = 0;
4945*53ee8cc1Swenshuai.xi     MS_U16 u16HTotalSize = 0, u16VTotalSize = 0;
4946*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
4947*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
4948*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
4949*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
4950*53ee8cc1Swenshuai.xi 
4951*53ee8cc1Swenshuai.xi     //clear default pattern
4952*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_pure_color(0x00);
4953*53ee8cc1Swenshuai.xi 
4954*53ee8cc1Swenshuai.xi     //disable border
4955*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_enable_border(FALSE,0x3FF,0x3FF,0x3FF);
4956*53ee8cc1Swenshuai.xi 
4957*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Align_Width_Height(pInstance, u16HTileCnt, u16VTileCnt, &u16HTotalSize, &u16VTotalSize);
4958*53ee8cc1Swenshuai.xi 
4959*53ee8cc1Swenshuai.xi     u16HTileSize = u16HTotalSize/u16HTileCnt;
4960*53ee8cc1Swenshuai.xi     u16VTileSize = u16VTotalSize/u16VTileCnt;
4961*53ee8cc1Swenshuai.xi     MHal_SC_OP1_PatGen_adjust_frame_size(u16HTotalSize, u16VTotalSize);
4962*53ee8cc1Swenshuai.xi 
4963*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writestart();
4964*53ee8cc1Swenshuai.xi 
4965*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_define_tile(u16HTileSize, u16VTileSize);
4966*53ee8cc1Swenshuai.xi 
4967*53ee8cc1Swenshuai.xi     if (pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.bMirror)
4968*53ee8cc1Swenshuai.xi     {
4969*53ee8cc1Swenshuai.xi         //Fade: 3
4970*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,TRUE,FALSE,((255)<<2),((255)<<2),((255)<<2),E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
4971*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((255)<<2),((255)<<2),((255)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
4972*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((242)<<2),((238)<<2),((239)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
4973*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((242)<<2),((238)<<2),((239)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
4974*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((226)<<2),((226)<<2),((226)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
4975*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((226)<<2),((226)<<2),((226)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
4976*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((217)<<2),((213)<<2),((214)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
4977*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((217)<<2),((213)<<2),((214)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
4978*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((79)<<2),((79)<<2),((79)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
4979*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((79)<<2),((79)<<2),((79)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
4980*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((56)<<2),((56)<<2),((56)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
4981*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((56)<<2),((56)<<2),((56)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
4982*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((37)<<2),((37)<<2),((37)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
4983*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((37)<<2),((37)<<2),((37)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
4984*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((1)<<2),((1)<<2),((1)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
4985*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,TRUE,((1)<<2),((1)<<2),((1)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
4986*53ee8cc1Swenshuai.xi 
4987*53ee8cc1Swenshuai.xi         //Fade:  2
4988*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,TRUE,FALSE,(239)<<2, (88)<<2,(204)<<2,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
4989*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(233)<<2, (89)<<2,(239)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
4990*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(238)<<2, (73)<<2,(248)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
4991*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(249)<<2, (52)<<2,(254)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
4992*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(253)<<2, (2)<<2,(253)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
4993*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(0)<<2, (219)<<2,(223)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
4994*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(79)<<2, (209)<<2,(211)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
4995*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(82)<<2, (223)<<2,(230)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
4996*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(67)<<2, (229)<<2,(231)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
4997*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(44)<<2, (240)<<2,(238)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
4998*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(0)<<2, (255)<<2,(253)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
4999*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(221)<<2, (254)<<2,(22)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
5000*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(223)<<2, (252)<<2,(76)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
5001*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(255)<<2, (249)<<2,(80)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
5002*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(254)<<2, (248)<<2,(48)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
5003*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,TRUE,(255)<<2, (255)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
5004*53ee8cc1Swenshuai.xi         //Fade: 1
5005*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,TRUE,FALSE,(255)<<2, (255)<<2,(255)<<2,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
5006*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(247)<<2, (247)<<2,(247)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
5007*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(229)<<2, (229)<<2,(229)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
5008*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(211)<<2, (211)<<2,(211)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
5009*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(194)<<2, (194)<<2,(194)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
5010*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(181)<<2, (181)<<2,(181)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
5011*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(160)<<2, (160)<<2,(160)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
5012*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(145)<<2, (145)<<2,(145)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
5013*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(128)<<2, (128)<<2,(128)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
5014*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(112)<<2, (112)<<2,(112)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
5015*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(97)<<2, (97)<<2,(97)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
5016*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(80)<<2, (80)<<2,(80)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
5017*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(64)<<2, (64)<<2,(64)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
5018*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(49)<<2, (49)<<2,(49)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
5019*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(19)<<2, (15)<<2,(12)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
5020*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,TRUE,(1)<<2, (1)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
5021*53ee8cc1Swenshuai.xi 
5022*53ee8cc1Swenshuai.xi         //rigth pure block
5023*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x03,0x07,TRUE,FALSE,0x13c, 0x28,0x1d5, E_XC_OP1_PATTERN_TYPE_PURE);
5024*53ee8cc1Swenshuai.xi 
5025*53ee8cc1Swenshuai.xi         //middle pure block
5026*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x0a,0x07,FALSE,FALSE,0x161, 0x161,0x161, E_XC_OP1_PATTERN_TYPE_PURE);
5027*53ee8cc1Swenshuai.xi 
5028*53ee8cc1Swenshuai.xi         //left pure block
5029*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x03,0x07,FALSE,TRUE,0x00, 0x1c9,0x2f2, E_XC_OP1_PATTERN_TYPE_PURE);
5030*53ee8cc1Swenshuai.xi 
5031*53ee8cc1Swenshuai.xi 
5032*53ee8cc1Swenshuai.xi         //pure gray 55
5033*53ee8cc1Swenshuai.xi         int i=0;
5034*53ee8cc1Swenshuai.xi         for(i=0;i<16;i++)
5035*53ee8cc1Swenshuai.xi         {
5036*53ee8cc1Swenshuai.xi             if(i==0){
5037*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,TRUE,FALSE,0xDC, 0xDC,0xDC,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
5038*53ee8cc1Swenshuai.xi             }else if (i==15)
5039*53ee8cc1Swenshuai.xi             {
5040*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,TRUE,0xDC, 0xDC,0xDC,E_XC_OP1_PATTERN_TYPE_PURE);
5041*53ee8cc1Swenshuai.xi             }else
5042*53ee8cc1Swenshuai.xi                 {
5043*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,0xDC, 0xDC,0xDC,E_XC_OP1_PATTERN_TYPE_PURE);
5044*53ee8cc1Swenshuai.xi             }
5045*53ee8cc1Swenshuai.xi         }
5046*53ee8cc1Swenshuai.xi          //item:3
5047*53ee8cc1Swenshuai.xi          //LineDot: right
5048*53ee8cc1Swenshuai.xi          MHal_SC_OP1_Pattern_customize_blcok(3,1,TRUE,FALSE,0x470,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
5049*53ee8cc1Swenshuai.xi         //end of linedot item 3-----------------------------------------------------------------------------
5050*53ee8cc1Swenshuai.xi 
5051*53ee8cc1Swenshuai.xi 
5052*53ee8cc1Swenshuai.xi         //Pure between LineDot itme3
5053*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(10,1,FALSE,FALSE,0x336, 0x336,0x336, E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
5054*53ee8cc1Swenshuai.xi 
5055*53ee8cc1Swenshuai.xi 
5056*53ee8cc1Swenshuai.xi          //linedot item3--------------------------------------------------------------------------------------
5057*53ee8cc1Swenshuai.xi          //LineDot : left
5058*53ee8cc1Swenshuai.xi 
5059*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,1,FALSE,TRUE,0x7F0,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
5060*53ee8cc1Swenshuai.xi 
5061*53ee8cc1Swenshuai.xi         //itme2
5062*53ee8cc1Swenshuai.xi         //LineDot: right
5063*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,2,TRUE,FALSE,0x570,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
5064*53ee8cc1Swenshuai.xi 
5065*53ee8cc1Swenshuai.xi         //Pure between LineDot itme2
5066*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(10,2,FALSE,FALSE,0x336, 0x336,0x336, E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
5067*53ee8cc1Swenshuai.xi 
5068*53ee8cc1Swenshuai.xi          //linedot item2--------------------------------------------------------------------------------------
5069*53ee8cc1Swenshuai.xi          //LineDot : left
5070*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,2,FALSE,TRUE,0x7F0,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
5071*53ee8cc1Swenshuai.xi 
5072*53ee8cc1Swenshuai.xi         //itme1:
5073*53ee8cc1Swenshuai.xi         //LineDot: right
5074*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,1,TRUE,FALSE,0x1F0,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
5075*53ee8cc1Swenshuai.xi 
5076*53ee8cc1Swenshuai.xi         //Pure between LineDot item1
5077*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(10,1,FALSE,FALSE,0x336, 0x336,0x336, E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
5078*53ee8cc1Swenshuai.xi 
5079*53ee8cc1Swenshuai.xi          //linedot item1--------------------------------------------------------------------------------------
5080*53ee8cc1Swenshuai.xi          //LineDot : left
5081*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,1,FALSE,TRUE,0x7F0,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
5082*53ee8cc1Swenshuai.xi 
5083*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,TRUE,FALSE,(255)<<2, (255)<<2,(255)<<2,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
5084*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(241)<<2, (241)<<2,(241)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
5085*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(224)<<2, (224)<<2,(224)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
5086*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(205)<<2, (205)<<2,(205)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
5087*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(187)<<2, (187)<<2,(187)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
5088*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(172)<<2, (172)<<2,(172)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
5089*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(157)<<2, (157)<<2,(157)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
5090*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(139)<<2, (139)<<2,(139)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
5091*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(121)<<2, (121)<<2,(121)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
5092*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(106)<<2, (106)<<2,(106)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
5093*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(88)<<2, (88)<<2,(88)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
5094*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(71)<<2, (71)<<2,(71)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
5095*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(55)<<2, (55)<<2,(55)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
5096*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(37)<<2, (37)<<2,(37)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
5097*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(19)<<2, (19)<<2,(19)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
5098*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,TRUE,(1)<<2, (1)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
5099*53ee8cc1Swenshuai.xi 
5100*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,TRUE,FALSE,(0)<<2, (0)<<2,(254)<<2,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
5101*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(1)<<2, (1)<<2,(239)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
5102*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(1)<<2, (1)<<2,(223)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
5103*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(1)<<2, (0)<<2,(202)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
5104*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(1)<<2, (1)<<2,(187)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
5105*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(0)<<2, (0)<<2,(170)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
5106*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(1)<<2, (2)<<2,(154)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
5107*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(2)<<2, (0)<<2,(136)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
5108*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(0)<<2, (0)<<2,(120)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
5109*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(0)<<2, (2)<<2,(105)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
5110*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(2)<<2, (0)<<2,(84)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
5111*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(0)<<2, (0)<<2,(72)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
5112*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(3)<<2, (0)<<2,(57)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
5113*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(0)<<2, (1)<<2,(32)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
5114*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(0)<<2, (0)<<2,(20)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
5115*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,TRUE,(1)<<2, (1)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
5116*53ee8cc1Swenshuai.xi 
5117*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,TRUE,FALSE,(254)<<2, (0)<<2,(2)<<2,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
5118*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(240)<<2, (1)<<2,(4)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
5119*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(224)<<2, (0)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
5120*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(203)<<2, (0)<<2,(4)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
5121*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(185)<<2, (0)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
5122*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(171)<<2, (1)<<2,(2)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
5123*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(153)<<2, (1)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
5124*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(136)<<2, (0)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
5125*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(121)<<2, (1)<<2,(3)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
5126*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(105)<<2, (0)<<2,(4)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
5127*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(85)<<2, (1)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
5128*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(72)<<2, (0)<<2,(3)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
5129*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(56)<<2, (0)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
5130*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(36)<<2, (0)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
5131*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(21)<<2, (1)<<2,(2)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
5132*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,TRUE,(1)<<2, (1)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
5133*53ee8cc1Swenshuai.xi 
5134*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,TRUE,FALSE,((2)<<2),((255)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
5135*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((0)<<2),((242)<<2),((0)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
5136*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((3)<<2),((225)<<2),((0)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
5137*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((3)<<2),((204)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
5138*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((3)<<2),((186)<<2),((0)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
5139*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((1)<<2),((171)<<2),((4)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
5140*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((1)<<2),((156)<<2),((3)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
5141*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((2)<<2),((138)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
5142*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((1)<<2),((120)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
5143*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((0)<<2),((105)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
5144*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((2)<<2),((87)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
5145*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((2)<<2),((72)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
5146*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((0)<<2),((55)<<2),((0)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
5147*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((1)<<2),((36)<<2),((3)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
5148*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((0)<<2),((19)<<2),((0)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
5149*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,TRUE,((1)<<2),((1)<<2),((1)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
5150*53ee8cc1Swenshuai.xi     }
5151*53ee8cc1Swenshuai.xi     else
5152*53ee8cc1Swenshuai.xi     {
5153*53ee8cc1Swenshuai.xi         //Fade: Green
5154*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,TRUE,FALSE,((1)<<2),((1)<<2),((1)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
5155*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((0)<<2),((19)<<2),((0)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
5156*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((1)<<2),((36)<<2),((3)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
5157*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((0)<<2),((55)<<2),((0)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
5158*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((2)<<2),((72)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
5159*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((2)<<2),((87)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
5160*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((0)<<2),((105)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
5161*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((1)<<2),((120)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
5162*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((2)<<2),((138)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
5163*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((1)<<2),((156)<<2),((3)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
5164*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((1)<<2),((171)<<2),((4)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
5165*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((3)<<2),((186)<<2),((0)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
5166*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((3)<<2),((204)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
5167*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((3)<<2),((225)<<2),((0)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
5168*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((0)<<2),((242)<<2),((0)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
5169*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,TRUE,((2)<<2),((255)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
5170*53ee8cc1Swenshuai.xi 
5171*53ee8cc1Swenshuai.xi 
5172*53ee8cc1Swenshuai.xi         //Fade: Red
5173*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,TRUE,FALSE,(1)<<2, (1)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
5174*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(21)<<2, (1)<<2,(2)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
5175*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(36)<<2, (0)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
5176*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(56)<<2, (0)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
5177*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(72)<<2, (0)<<2,(3)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
5178*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(85)<<2, (1)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
5179*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(105)<<2, (0)<<2,(4)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
5180*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(121)<<2, (1)<<2,(3)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
5181*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(136)<<2, (0)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
5182*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(153)<<2, (1)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
5183*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(171)<<2, (1)<<2,(2)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
5184*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(185)<<2, (0)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
5185*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(203)<<2, (0)<<2,(4)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
5186*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(224)<<2, (0)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
5187*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(240)<<2, (1)<<2,(4)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
5188*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,TRUE,(254)<<2, (0)<<2,(2)<<2,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
5189*53ee8cc1Swenshuai.xi 
5190*53ee8cc1Swenshuai.xi         //Fade: Blue
5191*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,TRUE,FALSE,(1)<<2, (1)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
5192*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(0)<<2, (0)<<2,(20)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
5193*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(0)<<2, (1)<<2,(32)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
5194*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(3)<<2, (0)<<2,(57)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
5195*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(0)<<2, (0)<<2,(72)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
5196*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(2)<<2, (0)<<2,(84)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
5197*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(0)<<2, (2)<<2,(105)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
5198*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(0)<<2, (0)<<2,(120)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
5199*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(2)<<2, (0)<<2,(136)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
5200*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(1)<<2, (2)<<2,(154)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
5201*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(0)<<2, (0)<<2,(170)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
5202*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(1)<<2, (1)<<2,(187)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
5203*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(1)<<2, (0)<<2,(202)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
5204*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(1)<<2, (1)<<2,(223)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
5205*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,(1)<<2, (1)<<2,(239)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
5206*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,TRUE,(0)<<2, (0)<<2,(254)<<2,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
5207*53ee8cc1Swenshuai.xi 
5208*53ee8cc1Swenshuai.xi 
5209*53ee8cc1Swenshuai.xi         //Fade:  White
5210*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,TRUE,FALSE,(1)<<2, (1)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
5211*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(19)<<2, (19)<<2,(19)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
5212*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(37)<<2, (37)<<2,(37)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
5213*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(55)<<2, (55)<<2,(55)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
5214*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(71)<<2, (71)<<2,(71)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
5215*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(88)<<2, (88)<<2,(88)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
5216*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(106)<<2, (106)<<2,(106)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
5217*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(121)<<2, (121)<<2,(121)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
5218*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(139)<<2, (139)<<2,(139)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
5219*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(157)<<2, (157)<<2,(157)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
5220*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(172)<<2, (172)<<2,(172)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
5221*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(187)<<2, (187)<<2,(187)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
5222*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(205)<<2, (205)<<2,(205)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
5223*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(224)<<2, (224)<<2,(224)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
5224*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(241)<<2, (241)<<2,(241)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
5225*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,TRUE,(255)<<2, (255)<<2,(255)<<2,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
5226*53ee8cc1Swenshuai.xi 
5227*53ee8cc1Swenshuai.xi         //linedot item1--------------------------------------------------------------------------------------
5228*53ee8cc1Swenshuai.xi         //LineDot : left
5229*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,1,TRUE,FALSE,0x7F0,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
5230*53ee8cc1Swenshuai.xi 
5231*53ee8cc1Swenshuai.xi         //Pure between LineDot
5232*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(10,1,FALSE,FALSE,0x336, 0x336,0x336, E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
5233*53ee8cc1Swenshuai.xi 
5234*53ee8cc1Swenshuai.xi         //LineDot: right
5235*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,1,FALSE,TRUE,0x0F0,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
5236*53ee8cc1Swenshuai.xi 
5237*53ee8cc1Swenshuai.xi          //linedot item2--------------------------------------------------------------------------------------
5238*53ee8cc1Swenshuai.xi          //LineDot : left
5239*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,2,TRUE,FALSE,0x7F0,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
5240*53ee8cc1Swenshuai.xi 
5241*53ee8cc1Swenshuai.xi          //Pure between LineDot
5242*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(10,2,FALSE,FALSE,0x336, 0x336,0x336,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
5243*53ee8cc1Swenshuai.xi 
5244*53ee8cc1Swenshuai.xi          //LineDot: right
5245*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,2,FALSE,TRUE,0x570,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
5246*53ee8cc1Swenshuai.xi 
5247*53ee8cc1Swenshuai.xi          //linedot item3--------------------------------------------------------------------------------------
5248*53ee8cc1Swenshuai.xi          //LineDot : left
5249*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,1,TRUE,FALSE,0x7F0,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
5250*53ee8cc1Swenshuai.xi 
5251*53ee8cc1Swenshuai.xi         //Pure between LineDot
5252*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(10,1,FALSE,FALSE,0x336, 0x336,0x336,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
5253*53ee8cc1Swenshuai.xi 
5254*53ee8cc1Swenshuai.xi          //LineDot: right
5255*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,1,FALSE,TRUE,0x470,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
5256*53ee8cc1Swenshuai.xi 
5257*53ee8cc1Swenshuai.xi         //pure gray 55
5258*53ee8cc1Swenshuai.xi         int i=0;
5259*53ee8cc1Swenshuai.xi         for(i=0;i<16;i++)
5260*53ee8cc1Swenshuai.xi         {
5261*53ee8cc1Swenshuai.xi             if(i==0){
5262*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,TRUE,FALSE,0xDC, 0xDC,0xDC, E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
5263*53ee8cc1Swenshuai.xi             }else if (i==15)
5264*53ee8cc1Swenshuai.xi             {
5265*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,TRUE,0xDC, 0xDC,0xDC, E_XC_OP1_PATTERN_TYPE_PURE);
5266*53ee8cc1Swenshuai.xi             }else
5267*53ee8cc1Swenshuai.xi                 {
5268*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,0xDC, 0xDC,0xDC, E_XC_OP1_PATTERN_TYPE_PURE);
5269*53ee8cc1Swenshuai.xi             }
5270*53ee8cc1Swenshuai.xi         }
5271*53ee8cc1Swenshuai.xi 
5272*53ee8cc1Swenshuai.xi         //left pure block
5273*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x03,0x07,TRUE,FALSE,0x00, 0x1c9,0x2f2,E_XC_OP1_PATTERN_TYPE_PURE);
5274*53ee8cc1Swenshuai.xi         //middle pure block
5275*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x0a,0x07,FALSE,FALSE,0x161, 0x161,0x161,E_XC_OP1_PATTERN_TYPE_PURE);
5276*53ee8cc1Swenshuai.xi         //rigth pure block
5277*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x03,0x07,FALSE,TRUE,0x13c, 0x28,0x1d5,E_XC_OP1_PATTERN_TYPE_PURE);
5278*53ee8cc1Swenshuai.xi 
5279*53ee8cc1Swenshuai.xi         //Fade: 1
5280*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,TRUE,FALSE,(1)<<2, (1)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
5281*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(19)<<2, (15)<<2,(12)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
5282*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(49)<<2, (49)<<2,(49)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
5283*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(64)<<2, (64)<<2,(64)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
5284*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(80)<<2, (80)<<2,(80)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
5285*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(97)<<2, (97)<<2,(97)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
5286*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(112)<<2, (112)<<2,(112)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
5287*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(128)<<2, (128)<<2,(128)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
5288*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(145)<<2, (145)<<2,(145)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
5289*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(160)<<2, (160)<<2,(160)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
5290*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(181)<<2, (181)<<2,(181)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
5291*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(194)<<2, (194)<<2,(194)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
5292*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(211)<<2, (211)<<2,(211)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
5293*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(229)<<2, (229)<<2,(229)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
5294*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(247)<<2, (247)<<2,(247)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
5295*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,TRUE,(255)<<2, (255)<<2,(255)<<2,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
5296*53ee8cc1Swenshuai.xi 
5297*53ee8cc1Swenshuai.xi 
5298*53ee8cc1Swenshuai.xi         //Fade:  2
5299*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,TRUE,FALSE,(255)<<2, (255)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
5300*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(254)<<2, (248)<<2,(48)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
5301*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(255)<<2, (249)<<2,(80)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
5302*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(223)<<2, (252)<<2,(76)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
5303*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(221)<<2, (254)<<2,(22)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
5304*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(0)<<2, (255)<<2,(253)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
5305*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(44)<<2, (240)<<2,(238)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
5306*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(67)<<2, (229)<<2,(231)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
5307*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(82)<<2, (223)<<2,(230)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
5308*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(79)<<2, (209)<<2,(211)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
5309*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(0)<<2, (219)<<2,(223)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
5310*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(253)<<2, (2)<<2,(253)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
5311*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(249)<<2, (52)<<2,(254)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
5312*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(238)<<2, (73)<<2,(248)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
5313*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,FALSE,(233)<<2, (89)<<2,(239)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
5314*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x00,FALSE,TRUE,(239)<<2, (88)<<2,(204)<<2,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
5315*53ee8cc1Swenshuai.xi 
5316*53ee8cc1Swenshuai.xi         //Fade: 3
5317*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,TRUE,FALSE,((1)<<2),((1)<<2),((1)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
5318*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((1)<<2),((1)<<2),((1)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
5319*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((37)<<2),((37)<<2),((37)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
5320*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((37)<<2),((37)<<2),((37)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
5321*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((56)<<2),((56)<<2),((56)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
5322*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((56)<<2),((56)<<2),((56)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
5323*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((79)<<2),((79)<<2),((79)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
5324*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((79)<<2),((79)<<2),((79)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
5325*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((217)<<2),((213)<<2),((214)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
5326*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((217)<<2),((213)<<2),((214)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
5327*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((226)<<2),((226)<<2),((226)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
5328*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((226)<<2),((226)<<2),((226)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
5329*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((242)<<2),((238)<<2),((239)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
5330*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((242)<<2),((238)<<2),((239)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
5331*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,FALSE,((255)<<2),((255)<<2),((255)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
5332*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(0x01,0x01,FALSE,TRUE,((255)<<2),((255)<<2),((255)<<2),E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
5333*53ee8cc1Swenshuai.xi 
5334*53ee8cc1Swenshuai.xi     }
5335*53ee8cc1Swenshuai.xi 
5336*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_write_enable(FALSE);
5337*53ee8cc1Swenshuai.xi 
5338*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_write_fastmode(FALSE);
5339*53ee8cc1Swenshuai.xi 
5340*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_set_wraddr(0x00);
5341*53ee8cc1Swenshuai.xi 
5342*53ee8cc1Swenshuai.xi     //reg_sram_jump_thr
5343*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_set_jump_threshold(0x00);
5344*53ee8cc1Swenshuai.xi 
5345*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_write_enable(TRUE);
5346*53ee8cc1Swenshuai.xi 
5347*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_write_fastmode(TRUE);
5348*53ee8cc1Swenshuai.xi 
5349*53ee8cc1Swenshuai.xi     //Write the border command to second SRAM
5350*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Pattern2_Border(pInstance);
5351*53ee8cc1Swenshuai.xi 
5352*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_write_enable(FALSE);
5353*53ee8cc1Swenshuai.xi 
5354*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_write_fastmode(FALSE);
5355*53ee8cc1Swenshuai.xi 
5356*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writedone();
5357*53ee8cc1Swenshuai.xi 
5358*53ee8cc1Swenshuai.xi }
5359*53ee8cc1Swenshuai.xi 
MDrv_SC_OP1_Set_Pattern3_Border(void * pInstance)5360*53ee8cc1Swenshuai.xi void MDrv_SC_OP1_Set_Pattern3_Border(void* pInstance)
5361*53ee8cc1Swenshuai.xi {
5362*53ee8cc1Swenshuai.xi     MS_U8 u8BoldValType[5] = {0};
5363*53ee8cc1Swenshuai.xi     MS_U8 u8ValType[5] = {0};
5364*53ee8cc1Swenshuai.xi     MS_U16 i;
5365*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
5366*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
5367*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
5368*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
5369*53ee8cc1Swenshuai.xi 
5370*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_enable_border(TRUE,0x3FF,0x3FF,0x3FF);
5371*53ee8cc1Swenshuai.xi 
5372*53ee8cc1Swenshuai.xi     for(i=0;i< ((((24*17))/5));i++)   //tile1~ tile405
5373*53ee8cc1Swenshuai.xi     {
5374*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5375*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5376*53ee8cc1Swenshuai.xi     }
5377*53ee8cc1Swenshuai.xi 
5378*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5379*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5380*53ee8cc1Swenshuai.xi 
5381*53ee8cc1Swenshuai.xi     //tile411 ~ 415
5382*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
5383*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
5384*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5385*53ee8cc1Swenshuai.xi 
5386*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5387*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5388*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5389*53ee8cc1Swenshuai.xi 
5390*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5391*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5392*53ee8cc1Swenshuai.xi 
5393*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
5394*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
5395*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5396*53ee8cc1Swenshuai.xi 
5397*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5398*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5399*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5400*53ee8cc1Swenshuai.xi 
5401*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
5402*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,3,10,10,10,10);
5403*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5404*53ee8cc1Swenshuai.xi     //row1 : starts at 437
5405*53ee8cc1Swenshuai.xi 
5406*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5407*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
5408*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5409*53ee8cc1Swenshuai.xi 
5410*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
5411*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5412*53ee8cc1Swenshuai.xi 
5413*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
5414*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,1,0,0);
5415*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5416*53ee8cc1Swenshuai.xi 
5417*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
5418*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
5419*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5420*53ee8cc1Swenshuai.xi 
5421*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
5422*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
5423*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5424*53ee8cc1Swenshuai.xi 
5425*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5426*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
5427*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5428*53ee8cc1Swenshuai.xi 
5429*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
5430*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5431*53ee8cc1Swenshuai.xi 
5432*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
5433*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,1,0,0,0);
5434*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5435*53ee8cc1Swenshuai.xi 
5436*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
5437*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,10);
5438*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5439*53ee8cc1Swenshuai.xi 
5440*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5441*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
5442*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5443*53ee8cc1Swenshuai.xi 
5444*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
5445*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5446*53ee8cc1Swenshuai.xi 
5447*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
5448*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
5449*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5450*53ee8cc1Swenshuai.xi 
5451*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
5452*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
5453*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5454*53ee8cc1Swenshuai.xi 
5455*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
5456*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,10,10);
5457*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5458*53ee8cc1Swenshuai.xi 
5459*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5460*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
5461*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5462*53ee8cc1Swenshuai.xi 
5463*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
5464*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5465*53ee8cc1Swenshuai.xi 
5466*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
5467*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,1);
5468*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5469*53ee8cc1Swenshuai.xi 
5470*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5471*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5472*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5473*53ee8cc1Swenshuai.xi 
5474*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
5475*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,13,13,13);
5476*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5477*53ee8cc1Swenshuai.xi 
5478*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5479*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
5480*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5481*53ee8cc1Swenshuai.xi 
5482*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
5483*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5484*53ee8cc1Swenshuai.xi 
5485*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
5486*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,1,0);
5487*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5488*53ee8cc1Swenshuai.xi 
5489*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5490*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5491*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5492*53ee8cc1Swenshuai.xi 
5493*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
5494*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,3,11,11,11,11); //row2
5495*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5496*53ee8cc1Swenshuai.xi 
5497*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5498*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
5499*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5500*53ee8cc1Swenshuai.xi 
5501*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
5502*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5503*53ee8cc1Swenshuai.xi 
5504*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
5505*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,1,0,0);
5506*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5507*53ee8cc1Swenshuai.xi 
5508*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
5509*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
5510*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5511*53ee8cc1Swenshuai.xi 
5512*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
5513*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
5514*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5515*53ee8cc1Swenshuai.xi 
5516*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5517*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
5518*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5519*53ee8cc1Swenshuai.xi 
5520*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
5521*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5522*53ee8cc1Swenshuai.xi 
5523*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
5524*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,1,0,0,0);
5525*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5526*53ee8cc1Swenshuai.xi 
5527*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
5528*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,13);
5529*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5530*53ee8cc1Swenshuai.xi 
5531*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5532*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
5533*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5534*53ee8cc1Swenshuai.xi 
5535*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
5536*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5537*53ee8cc1Swenshuai.xi 
5538*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
5539*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
5540*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5541*53ee8cc1Swenshuai.xi 
5542*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
5543*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
5544*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5545*53ee8cc1Swenshuai.xi 
5546*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
5547*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,11,11); //row 3
5548*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5549*53ee8cc1Swenshuai.xi 
5550*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5551*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
5552*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5553*53ee8cc1Swenshuai.xi 
5554*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
5555*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5556*53ee8cc1Swenshuai.xi 
5557*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
5558*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,1);
5559*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5560*53ee8cc1Swenshuai.xi 
5561*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5562*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5563*53ee8cc1Swenshuai.xi 
5564*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
5565*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,10,10,10);
5566*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5567*53ee8cc1Swenshuai.xi 
5568*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5569*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
5570*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5571*53ee8cc1Swenshuai.xi 
5572*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
5573*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5574*53ee8cc1Swenshuai.xi 
5575*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
5576*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,1,0);
5577*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5578*53ee8cc1Swenshuai.xi 
5579*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5580*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5581*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5582*53ee8cc1Swenshuai.xi 
5583*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
5584*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,3,13,13,13,13);
5585*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5586*53ee8cc1Swenshuai.xi 
5587*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5588*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
5589*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5590*53ee8cc1Swenshuai.xi 
5591*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
5592*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5593*53ee8cc1Swenshuai.xi 
5594*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
5595*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,1,0,0);
5596*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5597*53ee8cc1Swenshuai.xi 
5598*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
5599*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
5600*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5601*53ee8cc1Swenshuai.xi 
5602*53ee8cc1Swenshuai.xi     ///-----
5603*53ee8cc1Swenshuai.xi     if (pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.bMirror)
5604*53ee8cc1Swenshuai.xi     {
5605*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
5606*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,5,2,6,5,2); //pure block -1
5607*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5608*53ee8cc1Swenshuai.xi 
5609*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5610*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,2,2,2,2,2);
5611*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5612*53ee8cc1Swenshuai.xi 
5613*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,2,2,6,5,2);
5614*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5615*53ee8cc1Swenshuai.xi 
5616*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
5617*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,6,1,0,0,0);
5618*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5619*53ee8cc1Swenshuai.xi 
5620*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
5621*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);//pure block -2
5622*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5623*53ee8cc1Swenshuai.xi 
5624*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5625*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
5626*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5627*53ee8cc1Swenshuai.xi 
5628*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5629*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5630*53ee8cc1Swenshuai.xi 
5631*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
5632*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
5633*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5634*53ee8cc1Swenshuai.xi 
5635*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
5636*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
5637*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5638*53ee8cc1Swenshuai.xi 
5639*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
5640*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
5641*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);//pure block -3
5642*53ee8cc1Swenshuai.xi 
5643*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5644*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
5645*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5646*53ee8cc1Swenshuai.xi 
5647*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5648*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5649*53ee8cc1Swenshuai.xi 
5650*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
5651*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);
5652*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5653*53ee8cc1Swenshuai.xi 
5654*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5655*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5656*53ee8cc1Swenshuai.xi 
5657*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
5658*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3); //pure block -4
5659*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5660*53ee8cc1Swenshuai.xi 
5661*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5662*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
5663*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5664*53ee8cc1Swenshuai.xi 
5665*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
5666*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5667*53ee8cc1Swenshuai.xi 
5668*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
5669*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);
5670*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5671*53ee8cc1Swenshuai.xi 
5672*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5673*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5674*53ee8cc1Swenshuai.xi 
5675*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
5676*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1); //pure block -5
5677*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5678*53ee8cc1Swenshuai.xi 
5679*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5680*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5681*53ee8cc1Swenshuai.xi 
5682*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);
5683*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5684*53ee8cc1Swenshuai.xi 
5685*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
5686*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
5687*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5688*53ee8cc1Swenshuai.xi 
5689*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
5690*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
5691*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5692*53ee8cc1Swenshuai.xi 
5693*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
5694*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);//pure block -6
5695*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5696*53ee8cc1Swenshuai.xi 
5697*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5698*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5699*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5700*53ee8cc1Swenshuai.xi 
5701*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
5702*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5703*53ee8cc1Swenshuai.xi 
5704*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
5705*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
5706*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5707*53ee8cc1Swenshuai.xi 
5708*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
5709*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);//pure block -7
5710*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5711*53ee8cc1Swenshuai.xi 
5712*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5713*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
5714*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5715*53ee8cc1Swenshuai.xi 
5716*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5717*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5718*53ee8cc1Swenshuai.xi 
5719*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
5720*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
5721*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5722*53ee8cc1Swenshuai.xi 
5723*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
5724*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
5725*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5726*53ee8cc1Swenshuai.xi 
5727*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
5728*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
5729*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);//pure block -8
5730*53ee8cc1Swenshuai.xi 
5731*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5732*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
5733*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5734*53ee8cc1Swenshuai.xi 
5735*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5736*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5737*53ee8cc1Swenshuai.xi 
5738*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
5739*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);
5740*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5741*53ee8cc1Swenshuai.xi 
5742*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5743*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5744*53ee8cc1Swenshuai.xi 
5745*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
5746*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);//pure block -9
5747*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5748*53ee8cc1Swenshuai.xi 
5749*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5750*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
5751*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5752*53ee8cc1Swenshuai.xi 
5753*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
5754*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5755*53ee8cc1Swenshuai.xi 
5756*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
5757*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);
5758*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5759*53ee8cc1Swenshuai.xi 
5760*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5761*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5762*53ee8cc1Swenshuai.xi 
5763*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
5764*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);//pure block -10
5765*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5766*53ee8cc1Swenshuai.xi 
5767*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5768*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5769*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5770*53ee8cc1Swenshuai.xi 
5771*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);
5772*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5773*53ee8cc1Swenshuai.xi 
5774*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
5775*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
5776*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5777*53ee8cc1Swenshuai.xi 
5778*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
5779*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
5780*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5781*53ee8cc1Swenshuai.xi 
5782*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
5783*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0); //pure block -11
5784*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5785*53ee8cc1Swenshuai.xi 
5786*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5787*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5788*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5789*53ee8cc1Swenshuai.xi 
5790*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
5791*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5792*53ee8cc1Swenshuai.xi 
5793*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
5794*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
5795*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5796*53ee8cc1Swenshuai.xi 
5797*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
5798*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1); //pure block -12
5799*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5800*53ee8cc1Swenshuai.xi 
5801*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5802*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
5803*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5804*53ee8cc1Swenshuai.xi 
5805*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5806*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5807*53ee8cc1Swenshuai.xi 
5808*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
5809*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
5810*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5811*53ee8cc1Swenshuai.xi 
5812*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
5813*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
5814*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5815*53ee8cc1Swenshuai.xi 
5816*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
5817*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
5818*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType); //pure block -13
5819*53ee8cc1Swenshuai.xi 
5820*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5821*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
5822*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5823*53ee8cc1Swenshuai.xi 
5824*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5825*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5826*53ee8cc1Swenshuai.xi 
5827*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
5828*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);
5829*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5830*53ee8cc1Swenshuai.xi 
5831*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5832*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5833*53ee8cc1Swenshuai.xi 
5834*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
5835*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);//pure block -14
5836*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5837*53ee8cc1Swenshuai.xi 
5838*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5839*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
5840*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5841*53ee8cc1Swenshuai.xi 
5842*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
5843*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5844*53ee8cc1Swenshuai.xi 
5845*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
5846*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);
5847*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5848*53ee8cc1Swenshuai.xi 
5849*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5850*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5851*53ee8cc1Swenshuai.xi 
5852*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
5853*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);//pure block -15
5854*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5855*53ee8cc1Swenshuai.xi 
5856*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5857*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5858*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5859*53ee8cc1Swenshuai.xi 
5860*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);
5861*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5862*53ee8cc1Swenshuai.xi 
5863*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
5864*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
5865*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5866*53ee8cc1Swenshuai.xi 
5867*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
5868*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
5869*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5870*53ee8cc1Swenshuai.xi 
5871*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
5872*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);//pure block -16
5873*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5874*53ee8cc1Swenshuai.xi 
5875*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5876*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5877*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5878*53ee8cc1Swenshuai.xi 
5879*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
5880*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5881*53ee8cc1Swenshuai.xi 
5882*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
5883*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
5884*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5885*53ee8cc1Swenshuai.xi 
5886*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
5887*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);//pure block -17
5888*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5889*53ee8cc1Swenshuai.xi 
5890*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5891*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
5892*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5893*53ee8cc1Swenshuai.xi 
5894*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5895*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5896*53ee8cc1Swenshuai.xi 
5897*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
5898*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
5899*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5900*53ee8cc1Swenshuai.xi 
5901*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
5902*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
5903*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5904*53ee8cc1Swenshuai.xi 
5905*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
5906*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
5907*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);//pure block -18
5908*53ee8cc1Swenshuai.xi 
5909*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5910*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
5911*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5912*53ee8cc1Swenshuai.xi 
5913*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5914*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5915*53ee8cc1Swenshuai.xi 
5916*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
5917*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);
5918*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5919*53ee8cc1Swenshuai.xi 
5920*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5921*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5922*53ee8cc1Swenshuai.xi 
5923*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
5924*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);//pure block -19
5925*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5926*53ee8cc1Swenshuai.xi 
5927*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5928*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
5929*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5930*53ee8cc1Swenshuai.xi 
5931*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
5932*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5933*53ee8cc1Swenshuai.xi 
5934*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
5935*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);
5936*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5937*53ee8cc1Swenshuai.xi 
5938*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5939*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5940*53ee8cc1Swenshuai.xi 
5941*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
5942*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);//pure block -20
5943*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5944*53ee8cc1Swenshuai.xi 
5945*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
5946*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5947*53ee8cc1Swenshuai.xi 
5948*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);
5949*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5950*53ee8cc1Swenshuai.xi 
5951*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
5952*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
5953*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5954*53ee8cc1Swenshuai.xi 
5955*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
5956*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
5957*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5958*53ee8cc1Swenshuai.xi 
5959*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
5960*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,8,4,7,8,4);//pure block -21
5961*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5962*53ee8cc1Swenshuai.xi 
5963*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5964*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,4,4,4,4,4);
5965*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5966*53ee8cc1Swenshuai.xi 
5967*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,4,4,7,8,4);
5968*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5969*53ee8cc1Swenshuai.xi 
5970*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
5971*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,7,1,0,0,0);
5972*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5973*53ee8cc1Swenshuai.xi 
5974*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
5975*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,11);//middle pure - 1
5976*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5977*53ee8cc1Swenshuai.xi 
5978*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5979*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
5980*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5981*53ee8cc1Swenshuai.xi 
5982*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,15,15,11,11);
5983*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5984*53ee8cc1Swenshuai.xi 
5985*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
5986*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
5987*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5988*53ee8cc1Swenshuai.xi 
5989*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
5990*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
5991*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5992*53ee8cc1Swenshuai.xi 
5993*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
5994*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,10,10);//middle pure - 2
5995*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
5996*53ee8cc1Swenshuai.xi 
5997*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
5998*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
5999*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6000*53ee8cc1Swenshuai.xi 
6001*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
6002*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6003*53ee8cc1Swenshuai.xi 
6004*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6005*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,1);
6006*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6007*53ee8cc1Swenshuai.xi 
6008*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6009*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6010*53ee8cc1Swenshuai.xi 
6011*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6012*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,10,10,10);//middle pure - 3
6013*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6014*53ee8cc1Swenshuai.xi 
6015*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6016*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
6017*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6018*53ee8cc1Swenshuai.xi 
6019*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
6020*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6021*53ee8cc1Swenshuai.xi 
6022*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6023*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,1,0);
6024*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6025*53ee8cc1Swenshuai.xi 
6026*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6027*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6028*53ee8cc1Swenshuai.xi 
6029*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6030*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,10,10,10,10);//middle pure - 4
6031*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6032*53ee8cc1Swenshuai.xi 
6033*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6034*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
6035*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6036*53ee8cc1Swenshuai.xi 
6037*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
6038*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6039*53ee8cc1Swenshuai.xi 
6040*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6041*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,1,0,0);
6042*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6043*53ee8cc1Swenshuai.xi 
6044*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6045*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
6046*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6047*53ee8cc1Swenshuai.xi 
6048*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6049*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13); //middle pure - 5
6050*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6051*53ee8cc1Swenshuai.xi 
6052*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6053*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
6054*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6055*53ee8cc1Swenshuai.xi 
6056*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
6057*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6058*53ee8cc1Swenshuai.xi 
6059*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6060*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,1,0,0,0);
6061*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6062*53ee8cc1Swenshuai.xi 
6063*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6064*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,5); // linedot1-1
6065*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6066*53ee8cc1Swenshuai.xi 
6067*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6068*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,2,6,5,2,2);
6069*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6070*53ee8cc1Swenshuai.xi 
6071*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,2,15,15,2,2);
6072*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6073*53ee8cc1Swenshuai.xi 
6074*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6075*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,2,6,5,2,6);
6076*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6077*53ee8cc1Swenshuai.xi 
6078*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6079*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
6080*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6081*53ee8cc1Swenshuai.xi 
6082*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6083*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
6084*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);// linedot1-2
6085*53ee8cc1Swenshuai.xi 
6086*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6087*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
6088*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6089*53ee8cc1Swenshuai.xi 
6090*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6091*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6092*53ee8cc1Swenshuai.xi 
6093*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6094*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);
6095*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6096*53ee8cc1Swenshuai.xi 
6097*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6098*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6099*53ee8cc1Swenshuai.xi 
6100*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6101*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);// linedot1-3
6102*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6103*53ee8cc1Swenshuai.xi 
6104*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6105*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
6106*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6107*53ee8cc1Swenshuai.xi 
6108*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
6109*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6110*53ee8cc1Swenshuai.xi 
6111*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6112*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);
6113*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6114*53ee8cc1Swenshuai.xi 
6115*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6116*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6117*53ee8cc1Swenshuai.xi 
6118*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6119*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1); // linedot1-4
6120*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6121*53ee8cc1Swenshuai.xi 
6122*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6123*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6124*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6125*53ee8cc1Swenshuai.xi 
6126*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);
6127*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6128*53ee8cc1Swenshuai.xi 
6129*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6130*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
6131*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6132*53ee8cc1Swenshuai.xi 
6133*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6134*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
6135*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6136*53ee8cc1Swenshuai.xi 
6137*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6138*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0); // linedot1-5
6139*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6140*53ee8cc1Swenshuai.xi 
6141*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6142*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6143*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6144*53ee8cc1Swenshuai.xi 
6145*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
6146*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6147*53ee8cc1Swenshuai.xi 
6148*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6149*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
6150*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6151*53ee8cc1Swenshuai.xi 
6152*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6153*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);// linedot1-6
6154*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6155*53ee8cc1Swenshuai.xi 
6156*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
6157*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6158*53ee8cc1Swenshuai.xi 
6159*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6160*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6161*53ee8cc1Swenshuai.xi 
6162*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6163*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
6164*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6165*53ee8cc1Swenshuai.xi 
6166*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6167*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
6168*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6169*53ee8cc1Swenshuai.xi 
6170*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6171*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,8,4);// linedot1-7
6172*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6173*53ee8cc1Swenshuai.xi 
6174*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6175*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,7,1,0,0,0);
6176*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6177*53ee8cc1Swenshuai.xi 
6178*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6179*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6180*53ee8cc1Swenshuai.xi 
6181*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6182*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);
6183*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6184*53ee8cc1Swenshuai.xi 
6185*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6186*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6187*53ee8cc1Swenshuai.xi 
6188*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6189*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,5,2,6);// linedot2-1
6190*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6191*53ee8cc1Swenshuai.xi 
6192*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6193*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
6194*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6195*53ee8cc1Swenshuai.xi 
6196*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
6197*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6198*53ee8cc1Swenshuai.xi 
6199*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6200*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);
6201*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6202*53ee8cc1Swenshuai.xi 
6203*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6204*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6205*53ee8cc1Swenshuai.xi 
6206*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6207*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1); // linedot2-2
6208*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6209*53ee8cc1Swenshuai.xi 
6210*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6211*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6212*53ee8cc1Swenshuai.xi 
6213*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);
6214*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6215*53ee8cc1Swenshuai.xi 
6216*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6217*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
6218*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6219*53ee8cc1Swenshuai.xi 
6220*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6221*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
6222*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6223*53ee8cc1Swenshuai.xi 
6224*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6225*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);// linedot2-3
6226*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6227*53ee8cc1Swenshuai.xi 
6228*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6229*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6230*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6231*53ee8cc1Swenshuai.xi 
6232*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
6233*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6234*53ee8cc1Swenshuai.xi 
6235*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6236*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
6237*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6238*53ee8cc1Swenshuai.xi 
6239*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6240*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);// linedot2-4
6241*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6242*53ee8cc1Swenshuai.xi 
6243*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6244*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
6245*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6246*53ee8cc1Swenshuai.xi 
6247*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6248*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6249*53ee8cc1Swenshuai.xi 
6250*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6251*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
6252*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6253*53ee8cc1Swenshuai.xi 
6254*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6255*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
6256*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6257*53ee8cc1Swenshuai.xi 
6258*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6259*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
6260*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);// linedot2-5
6261*53ee8cc1Swenshuai.xi 
6262*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6263*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
6264*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6265*53ee8cc1Swenshuai.xi 
6266*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6267*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6268*53ee8cc1Swenshuai.xi 
6269*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6270*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);
6271*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6272*53ee8cc1Swenshuai.xi 
6273*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6274*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6275*53ee8cc1Swenshuai.xi 
6276*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6277*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);// linedot2-6
6278*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6279*53ee8cc1Swenshuai.xi 
6280*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6281*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
6282*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6283*53ee8cc1Swenshuai.xi 
6284*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
6285*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6286*53ee8cc1Swenshuai.xi 
6287*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6288*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);
6289*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6290*53ee8cc1Swenshuai.xi 
6291*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6292*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6293*53ee8cc1Swenshuai.xi 
6294*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6295*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,8,4,7,1);// linedot2-7
6296*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6297*53ee8cc1Swenshuai.xi 
6298*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6299*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6300*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6301*53ee8cc1Swenshuai.xi 
6302*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);
6303*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6304*53ee8cc1Swenshuai.xi 
6305*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6306*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
6307*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6308*53ee8cc1Swenshuai.xi 
6309*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6310*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
6311*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6312*53ee8cc1Swenshuai.xi 
6313*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6314*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,5,2,6,1,0);// linedot3-1
6315*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6316*53ee8cc1Swenshuai.xi 
6317*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6318*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6319*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6320*53ee8cc1Swenshuai.xi 
6321*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
6322*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6323*53ee8cc1Swenshuai.xi 
6324*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6325*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
6326*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6327*53ee8cc1Swenshuai.xi 
6328*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6329*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);// linedot3-2
6330*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6331*53ee8cc1Swenshuai.xi 
6332*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6333*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
6334*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6335*53ee8cc1Swenshuai.xi 
6336*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6337*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6338*53ee8cc1Swenshuai.xi 
6339*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6340*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
6341*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6342*53ee8cc1Swenshuai.xi 
6343*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6344*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
6345*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6346*53ee8cc1Swenshuai.xi 
6347*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6348*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
6349*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);// linedot3-3
6350*53ee8cc1Swenshuai.xi 
6351*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6352*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
6353*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6354*53ee8cc1Swenshuai.xi 
6355*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6356*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6357*53ee8cc1Swenshuai.xi 
6358*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6359*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);
6360*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6361*53ee8cc1Swenshuai.xi 
6362*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6363*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6364*53ee8cc1Swenshuai.xi 
6365*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6366*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);// linedot3-4
6367*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6368*53ee8cc1Swenshuai.xi 
6369*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6370*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
6371*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6372*53ee8cc1Swenshuai.xi 
6373*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
6374*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6375*53ee8cc1Swenshuai.xi 
6376*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6377*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);
6378*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6379*53ee8cc1Swenshuai.xi 
6380*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6381*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6382*53ee8cc1Swenshuai.xi 
6383*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6384*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);// linedot3-5
6385*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6386*53ee8cc1Swenshuai.xi 
6387*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6388*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6389*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6390*53ee8cc1Swenshuai.xi 
6391*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);
6392*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6393*53ee8cc1Swenshuai.xi 
6394*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6395*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
6396*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6397*53ee8cc1Swenshuai.xi 
6398*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6399*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
6400*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6401*53ee8cc1Swenshuai.xi 
6402*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6403*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);// linedot3-6
6404*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6405*53ee8cc1Swenshuai.xi 
6406*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6407*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6408*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6409*53ee8cc1Swenshuai.xi 
6410*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
6411*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6412*53ee8cc1Swenshuai.xi 
6413*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6414*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
6415*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6416*53ee8cc1Swenshuai.xi 
6417*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6418*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,8);// linedot3-7
6419*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6420*53ee8cc1Swenshuai.xi 
6421*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6422*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,4,7,1,0,0);
6423*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6424*53ee8cc1Swenshuai.xi 
6425*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6426*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6427*53ee8cc1Swenshuai.xi 
6428*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6429*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
6430*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6431*53ee8cc1Swenshuai.xi 
6432*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6433*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
6434*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6435*53ee8cc1Swenshuai.xi 
6436*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6437*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,11,11);// bottom row
6438*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6439*53ee8cc1Swenshuai.xi 
6440*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6441*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
6442*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6443*53ee8cc1Swenshuai.xi 
6444*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
6445*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6446*53ee8cc1Swenshuai.xi 
6447*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6448*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,1);
6449*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6450*53ee8cc1Swenshuai.xi 
6451*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6452*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6453*53ee8cc1Swenshuai.xi 
6454*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6455*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,10,10,10);
6456*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6457*53ee8cc1Swenshuai.xi 
6458*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6459*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
6460*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6461*53ee8cc1Swenshuai.xi 
6462*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
6463*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6464*53ee8cc1Swenshuai.xi 
6465*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6466*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,1,0);
6467*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6468*53ee8cc1Swenshuai.xi 
6469*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6470*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6471*53ee8cc1Swenshuai.xi 
6472*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6473*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,13,13,13,13);
6474*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6475*53ee8cc1Swenshuai.xi 
6476*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6477*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
6478*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6479*53ee8cc1Swenshuai.xi 
6480*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
6481*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6482*53ee8cc1Swenshuai.xi 
6483*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6484*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,1,0,0);
6485*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6486*53ee8cc1Swenshuai.xi 
6487*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6488*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
6489*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6490*53ee8cc1Swenshuai.xi     }
6491*53ee8cc1Swenshuai.xi     else
6492*53ee8cc1Swenshuai.xi     {
6493*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6494*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11); //row4
6495*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6496*53ee8cc1Swenshuai.xi 
6497*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6498*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
6499*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6500*53ee8cc1Swenshuai.xi 
6501*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
6502*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6503*53ee8cc1Swenshuai.xi 
6504*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6505*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,1,0,0,0);
6506*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6507*53ee8cc1Swenshuai.xi 
6508*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6509*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,10);
6510*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6511*53ee8cc1Swenshuai.xi 
6512*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6513*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
6514*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6515*53ee8cc1Swenshuai.xi 
6516*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6517*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
6518*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6519*53ee8cc1Swenshuai.xi 
6520*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6521*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
6522*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6523*53ee8cc1Swenshuai.xi 
6524*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6525*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
6526*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6527*53ee8cc1Swenshuai.xi 
6528*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6529*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,13,13);
6530*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6531*53ee8cc1Swenshuai.xi 
6532*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6533*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
6534*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6535*53ee8cc1Swenshuai.xi 
6536*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
6537*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6538*53ee8cc1Swenshuai.xi 
6539*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6540*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,1);
6541*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6542*53ee8cc1Swenshuai.xi 
6543*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6544*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6545*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6546*53ee8cc1Swenshuai.xi 
6547*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6548*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,5,2,6); // linedot1-1
6549*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6550*53ee8cc1Swenshuai.xi 
6551*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6552*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,5,2,2,2,2);
6553*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6554*53ee8cc1Swenshuai.xi 
6555*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,2,2,2,2,6);
6556*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6557*53ee8cc1Swenshuai.xi 
6558*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6559*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,5,2,6,1,0);
6560*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6561*53ee8cc1Swenshuai.xi 
6562*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6563*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6564*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6565*53ee8cc1Swenshuai.xi 
6566*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6567*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1); // linedot1-2
6568*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6569*53ee8cc1Swenshuai.xi 
6570*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6571*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6572*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6573*53ee8cc1Swenshuai.xi 
6574*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);
6575*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6576*53ee8cc1Swenshuai.xi 
6577*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6578*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
6579*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6580*53ee8cc1Swenshuai.xi 
6581*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6582*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
6583*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6584*53ee8cc1Swenshuai.xi 
6585*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6586*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);// linedot1-3
6587*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6588*53ee8cc1Swenshuai.xi 
6589*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6590*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6591*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6592*53ee8cc1Swenshuai.xi 
6593*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
6594*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6595*53ee8cc1Swenshuai.xi 
6596*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6597*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
6598*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6599*53ee8cc1Swenshuai.xi 
6600*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6601*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);// linedot1-4
6602*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6603*53ee8cc1Swenshuai.xi 
6604*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6605*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
6606*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6607*53ee8cc1Swenshuai.xi 
6608*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6609*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6610*53ee8cc1Swenshuai.xi 
6611*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6612*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
6613*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6614*53ee8cc1Swenshuai.xi 
6615*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6616*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
6617*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6618*53ee8cc1Swenshuai.xi 
6619*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6620*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
6621*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);// linedot1-5
6622*53ee8cc1Swenshuai.xi 
6623*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6624*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
6625*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6626*53ee8cc1Swenshuai.xi 
6627*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6628*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6629*53ee8cc1Swenshuai.xi 
6630*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6631*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);
6632*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6633*53ee8cc1Swenshuai.xi 
6634*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6635*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6636*53ee8cc1Swenshuai.xi 
6637*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6638*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);// linedot1-6
6639*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6640*53ee8cc1Swenshuai.xi 
6641*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6642*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
6643*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6644*53ee8cc1Swenshuai.xi 
6645*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
6646*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6647*53ee8cc1Swenshuai.xi 
6648*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6649*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);
6650*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6651*53ee8cc1Swenshuai.xi 
6652*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6653*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6654*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6655*53ee8cc1Swenshuai.xi 
6656*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6657*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);// linedot1-7
6658*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6659*53ee8cc1Swenshuai.xi 
6660*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6661*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6662*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6663*53ee8cc1Swenshuai.xi 
6664*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,8);
6665*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6666*53ee8cc1Swenshuai.xi 
6667*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6668*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,4,7,1,0,0);
6669*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6670*53ee8cc1Swenshuai.xi 
6671*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6672*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
6673*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6674*53ee8cc1Swenshuai.xi 
6675*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6676*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0); //linedot2-1
6677*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6678*53ee8cc1Swenshuai.xi 
6679*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6680*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6681*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6682*53ee8cc1Swenshuai.xi 
6683*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,5,2);
6684*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6685*53ee8cc1Swenshuai.xi 
6686*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6687*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,6,1,0,0,0);
6688*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6689*53ee8cc1Swenshuai.xi 
6690*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6691*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);//linedot2-2
6692*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6693*53ee8cc1Swenshuai.xi 
6694*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6695*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
6696*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6697*53ee8cc1Swenshuai.xi 
6698*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6699*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6700*53ee8cc1Swenshuai.xi 
6701*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6702*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
6703*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6704*53ee8cc1Swenshuai.xi 
6705*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6706*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
6707*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6708*53ee8cc1Swenshuai.xi 
6709*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6710*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
6711*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);//linedot2-3
6712*53ee8cc1Swenshuai.xi 
6713*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6714*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
6715*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6716*53ee8cc1Swenshuai.xi 
6717*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6718*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6719*53ee8cc1Swenshuai.xi 
6720*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6721*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);
6722*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6723*53ee8cc1Swenshuai.xi 
6724*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6725*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6726*53ee8cc1Swenshuai.xi 
6727*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6728*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);//linedot2-4
6729*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6730*53ee8cc1Swenshuai.xi 
6731*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6732*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
6733*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6734*53ee8cc1Swenshuai.xi 
6735*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
6736*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6737*53ee8cc1Swenshuai.xi 
6738*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6739*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);
6740*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6741*53ee8cc1Swenshuai.xi 
6742*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6743*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6744*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6745*53ee8cc1Swenshuai.xi 
6746*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6747*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);//linedot2-5
6748*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6749*53ee8cc1Swenshuai.xi 
6750*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6751*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6752*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6753*53ee8cc1Swenshuai.xi 
6754*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);
6755*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6756*53ee8cc1Swenshuai.xi 
6757*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6758*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
6759*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6760*53ee8cc1Swenshuai.xi 
6761*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6762*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
6763*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6764*53ee8cc1Swenshuai.xi 
6765*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6766*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);//linedot2-6
6767*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6768*53ee8cc1Swenshuai.xi 
6769*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6770*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6771*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6772*53ee8cc1Swenshuai.xi 
6773*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
6774*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6775*53ee8cc1Swenshuai.xi 
6776*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6777*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
6778*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6779*53ee8cc1Swenshuai.xi 
6780*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6781*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);//linedot2-7
6782*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6783*53ee8cc1Swenshuai.xi 
6784*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
6785*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6786*53ee8cc1Swenshuai.xi 
6787*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6788*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6789*53ee8cc1Swenshuai.xi 
6790*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6791*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,8,4,7);
6792*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6793*53ee8cc1Swenshuai.xi 
6794*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6795*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
6796*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6797*53ee8cc1Swenshuai.xi 
6798*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6799*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
6800*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);//linedot3-1
6801*53ee8cc1Swenshuai.xi 
6802*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6803*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
6804*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6805*53ee8cc1Swenshuai.xi 
6806*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6807*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6808*53ee8cc1Swenshuai.xi 
6809*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6810*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,5,2,6,1);
6811*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6812*53ee8cc1Swenshuai.xi 
6813*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6814*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6815*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6816*53ee8cc1Swenshuai.xi 
6817*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6818*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);//linedot3-2
6819*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6820*53ee8cc1Swenshuai.xi 
6821*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6822*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
6823*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6824*53ee8cc1Swenshuai.xi 
6825*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
6826*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6827*53ee8cc1Swenshuai.xi 
6828*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6829*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);
6830*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6831*53ee8cc1Swenshuai.xi 
6832*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6833*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6834*53ee8cc1Swenshuai.xi 
6835*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6836*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);//linedot3-3
6837*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6838*53ee8cc1Swenshuai.xi 
6839*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6840*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6841*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6842*53ee8cc1Swenshuai.xi 
6843*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);
6844*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6845*53ee8cc1Swenshuai.xi 
6846*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6847*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
6848*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6849*53ee8cc1Swenshuai.xi 
6850*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6851*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
6852*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6853*53ee8cc1Swenshuai.xi 
6854*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6855*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);//linedot3-4
6856*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6857*53ee8cc1Swenshuai.xi 
6858*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6859*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6860*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6861*53ee8cc1Swenshuai.xi 
6862*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
6863*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6864*53ee8cc1Swenshuai.xi 
6865*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6866*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
6867*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6868*53ee8cc1Swenshuai.xi 
6869*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6870*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);//linedot3-5
6871*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6872*53ee8cc1Swenshuai.xi 
6873*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6874*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
6875*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6876*53ee8cc1Swenshuai.xi 
6877*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6878*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6879*53ee8cc1Swenshuai.xi 
6880*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6881*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
6882*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6883*53ee8cc1Swenshuai.xi 
6884*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6885*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
6886*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6887*53ee8cc1Swenshuai.xi 
6888*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6889*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
6890*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);//linedot3-6
6891*53ee8cc1Swenshuai.xi 
6892*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6893*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
6894*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6895*53ee8cc1Swenshuai.xi 
6896*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6897*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6898*53ee8cc1Swenshuai.xi 
6899*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6900*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);
6901*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6902*53ee8cc1Swenshuai.xi 
6903*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6904*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6905*53ee8cc1Swenshuai.xi 
6906*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6907*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,8,4,7);//linedot3-7
6908*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6909*53ee8cc1Swenshuai.xi 
6910*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6911*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,8,4,4,4,15);
6912*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6913*53ee8cc1Swenshuai.xi 
6914*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,15,4,4,4,7);
6915*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6916*53ee8cc1Swenshuai.xi 
6917*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6918*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,8,4,7,1,0);
6919*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6920*53ee8cc1Swenshuai.xi 
6921*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6922*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6923*53ee8cc1Swenshuai.xi 
6924*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6925*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,11,11,11,11);//middle pure - 1
6926*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6927*53ee8cc1Swenshuai.xi 
6928*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6929*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
6930*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6931*53ee8cc1Swenshuai.xi 
6932*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
6933*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6934*53ee8cc1Swenshuai.xi 
6935*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6936*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,1,0,0);
6937*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6938*53ee8cc1Swenshuai.xi 
6939*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6940*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
6941*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6942*53ee8cc1Swenshuai.xi 
6943*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6944*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10); //middle pure - 2
6945*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6946*53ee8cc1Swenshuai.xi 
6947*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6948*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
6949*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6950*53ee8cc1Swenshuai.xi 
6951*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
6952*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6953*53ee8cc1Swenshuai.xi 
6954*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
6955*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,1,0,0,0);
6956*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6957*53ee8cc1Swenshuai.xi 
6958*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6959*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,10);//middle pure - 3
6960*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6961*53ee8cc1Swenshuai.xi 
6962*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6963*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
6964*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6965*53ee8cc1Swenshuai.xi 
6966*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
6967*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6968*53ee8cc1Swenshuai.xi 
6969*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
6970*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
6971*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6972*53ee8cc1Swenshuai.xi 
6973*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
6974*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
6975*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6976*53ee8cc1Swenshuai.xi 
6977*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
6978*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,10,10);//middle pure - 4
6979*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6980*53ee8cc1Swenshuai.xi 
6981*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6982*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
6983*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6984*53ee8cc1Swenshuai.xi 
6985*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
6986*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6987*53ee8cc1Swenshuai.xi 
6988*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
6989*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,1);
6990*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6991*53ee8cc1Swenshuai.xi 
6992*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
6993*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
6994*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6995*53ee8cc1Swenshuai.xi 
6996*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
6997*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,13,13,13);//middle pure - 5
6998*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
6999*53ee8cc1Swenshuai.xi 
7000*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7001*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,15);
7002*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7003*53ee8cc1Swenshuai.xi 
7004*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,15,13,13,13,13);
7005*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7006*53ee8cc1Swenshuai.xi 
7007*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
7008*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,1,0);
7009*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7010*53ee8cc1Swenshuai.xi 
7011*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7012*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7013*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7014*53ee8cc1Swenshuai.xi 
7015*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
7016*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,5,2,6,5); // pure block - 1
7017*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7018*53ee8cc1Swenshuai.xi 
7019*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7020*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,2,2,2,2,2);
7021*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7022*53ee8cc1Swenshuai.xi 
7023*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,2,2,2,6,5);
7024*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7025*53ee8cc1Swenshuai.xi 
7026*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
7027*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,2,6,1,0,0);
7028*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7029*53ee8cc1Swenshuai.xi 
7030*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
7031*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
7032*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7033*53ee8cc1Swenshuai.xi 
7034*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
7035*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0); // pure block - 2
7036*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7037*53ee8cc1Swenshuai.xi 
7038*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7039*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7040*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7041*53ee8cc1Swenshuai.xi 
7042*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
7043*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7044*53ee8cc1Swenshuai.xi 
7045*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
7046*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
7047*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7048*53ee8cc1Swenshuai.xi 
7049*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
7050*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);// pure block - 3
7051*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7052*53ee8cc1Swenshuai.xi 
7053*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7054*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
7055*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7056*53ee8cc1Swenshuai.xi 
7057*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7058*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7059*53ee8cc1Swenshuai.xi 
7060*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
7061*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
7062*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7063*53ee8cc1Swenshuai.xi 
7064*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
7065*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
7066*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7067*53ee8cc1Swenshuai.xi 
7068*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
7069*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
7070*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);// pure block - 4
7071*53ee8cc1Swenshuai.xi 
7072*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7073*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
7074*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7075*53ee8cc1Swenshuai.xi 
7076*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7077*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7078*53ee8cc1Swenshuai.xi 
7079*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
7080*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);
7081*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7082*53ee8cc1Swenshuai.xi 
7083*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7084*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7085*53ee8cc1Swenshuai.xi 
7086*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
7087*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);// pure block - 5
7088*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7089*53ee8cc1Swenshuai.xi 
7090*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
7091*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7092*53ee8cc1Swenshuai.xi 
7093*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
7094*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7095*53ee8cc1Swenshuai.xi 
7096*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
7097*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);
7098*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7099*53ee8cc1Swenshuai.xi 
7100*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7101*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7102*53ee8cc1Swenshuai.xi 
7103*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
7104*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1); // pure block - 6
7105*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7106*53ee8cc1Swenshuai.xi 
7107*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7108*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7109*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7110*53ee8cc1Swenshuai.xi 
7111*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);
7112*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7113*53ee8cc1Swenshuai.xi 
7114*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
7115*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
7116*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7117*53ee8cc1Swenshuai.xi 
7118*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
7119*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
7120*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7121*53ee8cc1Swenshuai.xi 
7122*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
7123*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);
7124*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7125*53ee8cc1Swenshuai.xi 
7126*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7127*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7128*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7129*53ee8cc1Swenshuai.xi 
7130*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
7131*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7132*53ee8cc1Swenshuai.xi 
7133*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
7134*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
7135*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7136*53ee8cc1Swenshuai.xi 
7137*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
7138*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);// pure block - 7
7139*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7140*53ee8cc1Swenshuai.xi 
7141*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7142*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
7143*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7144*53ee8cc1Swenshuai.xi 
7145*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7146*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7147*53ee8cc1Swenshuai.xi 
7148*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
7149*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
7150*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7151*53ee8cc1Swenshuai.xi 
7152*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
7153*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
7154*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7155*53ee8cc1Swenshuai.xi 
7156*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
7157*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
7158*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);// pure block - 9
7159*53ee8cc1Swenshuai.xi 
7160*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7161*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
7162*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7163*53ee8cc1Swenshuai.xi 
7164*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7165*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7166*53ee8cc1Swenshuai.xi 
7167*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
7168*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);
7169*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7170*53ee8cc1Swenshuai.xi 
7171*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7172*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7173*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7174*53ee8cc1Swenshuai.xi 
7175*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
7176*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);// pure block - 10
7177*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7178*53ee8cc1Swenshuai.xi 
7179*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7180*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
7181*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7182*53ee8cc1Swenshuai.xi 
7183*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
7184*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7185*53ee8cc1Swenshuai.xi 
7186*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
7187*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);
7188*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7189*53ee8cc1Swenshuai.xi 
7190*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7191*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7192*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7193*53ee8cc1Swenshuai.xi 
7194*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
7195*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);// pure block - 11
7196*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7197*53ee8cc1Swenshuai.xi 
7198*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7199*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7200*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7201*53ee8cc1Swenshuai.xi 
7202*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);
7203*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7204*53ee8cc1Swenshuai.xi 
7205*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
7206*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
7207*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7208*53ee8cc1Swenshuai.xi 
7209*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
7210*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
7211*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7212*53ee8cc1Swenshuai.xi 
7213*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
7214*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);// pure block - 12
7215*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7216*53ee8cc1Swenshuai.xi 
7217*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7218*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7219*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7220*53ee8cc1Swenshuai.xi 
7221*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
7222*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7223*53ee8cc1Swenshuai.xi 
7224*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
7225*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
7226*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7227*53ee8cc1Swenshuai.xi 
7228*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
7229*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);// pure block - 13
7230*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7231*53ee8cc1Swenshuai.xi 
7232*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7233*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
7234*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7235*53ee8cc1Swenshuai.xi 
7236*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7237*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7238*53ee8cc1Swenshuai.xi 
7239*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
7240*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
7241*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7242*53ee8cc1Swenshuai.xi 
7243*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
7244*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
7245*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7246*53ee8cc1Swenshuai.xi 
7247*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
7248*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
7249*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);// pure block - 14
7250*53ee8cc1Swenshuai.xi 
7251*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7252*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
7253*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7254*53ee8cc1Swenshuai.xi 
7255*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7256*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7257*53ee8cc1Swenshuai.xi 
7258*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
7259*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);
7260*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7261*53ee8cc1Swenshuai.xi 
7262*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7263*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7264*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7265*53ee8cc1Swenshuai.xi 
7266*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
7267*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);// pure block - 15
7268*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7269*53ee8cc1Swenshuai.xi 
7270*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7271*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
7272*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7273*53ee8cc1Swenshuai.xi 
7274*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
7275*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7276*53ee8cc1Swenshuai.xi 
7277*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
7278*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);
7279*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7280*53ee8cc1Swenshuai.xi 
7281*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7282*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7283*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7284*53ee8cc1Swenshuai.xi 
7285*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
7286*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);// pure block - 16
7287*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7288*53ee8cc1Swenshuai.xi 
7289*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7290*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7291*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7292*53ee8cc1Swenshuai.xi 
7293*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);
7294*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7295*53ee8cc1Swenshuai.xi 
7296*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
7297*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
7298*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7299*53ee8cc1Swenshuai.xi 
7300*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
7301*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
7302*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7303*53ee8cc1Swenshuai.xi 
7304*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
7305*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);// pure block - 17
7306*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7307*53ee8cc1Swenshuai.xi 
7308*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7309*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7310*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7311*53ee8cc1Swenshuai.xi 
7312*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
7313*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7314*53ee8cc1Swenshuai.xi 
7315*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
7316*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
7317*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7318*53ee8cc1Swenshuai.xi 
7319*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
7320*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);// pure block - 18
7321*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7322*53ee8cc1Swenshuai.xi 
7323*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7324*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,0);
7325*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7326*53ee8cc1Swenshuai.xi 
7327*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7328*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7329*53ee8cc1Swenshuai.xi 
7330*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
7331*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);
7332*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7333*53ee8cc1Swenshuai.xi 
7334*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
7335*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
7336*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7337*53ee8cc1Swenshuai.xi 
7338*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
7339*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,1,0);
7340*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);// pure block - 19
7341*53ee8cc1Swenshuai.xi 
7342*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7343*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,0,0);
7344*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7345*53ee8cc1Swenshuai.xi 
7346*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7347*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7348*53ee8cc1Swenshuai.xi 
7349*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
7350*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,1,0,3,1);
7351*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7352*53ee8cc1Swenshuai.xi 
7353*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7354*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7355*53ee8cc1Swenshuai.xi 
7356*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
7357*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,1,0,3);// pure block - 20
7358*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7359*53ee8cc1Swenshuai.xi 
7360*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
7361*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7362*53ee8cc1Swenshuai.xi 
7363*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
7364*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7365*53ee8cc1Swenshuai.xi 
7366*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
7367*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,3,1,0);
7368*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7369*53ee8cc1Swenshuai.xi 
7370*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7371*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7372*53ee8cc1Swenshuai.xi 
7373*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
7374*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,3,8,4,7,8);// pure block - 21
7375*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7376*53ee8cc1Swenshuai.xi 
7377*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7378*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,4,4,4,4,4);
7379*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7380*53ee8cc1Swenshuai.xi 
7381*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,4,4,4,7,8);
7382*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7383*53ee8cc1Swenshuai.xi 
7384*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
7385*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,4,7,1,0,0);
7386*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7387*53ee8cc1Swenshuai.xi 
7388*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
7389*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
7390*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7391*53ee8cc1Swenshuai.xi 
7392*53ee8cc1Swenshuai.xi     }
7393*53ee8cc1Swenshuai.xi     ///------
7394*53ee8cc1Swenshuai.xi 
7395*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
7396*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);// bottom row 1 -1
7397*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7398*53ee8cc1Swenshuai.xi 
7399*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7400*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
7401*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7402*53ee8cc1Swenshuai.xi 
7403*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
7404*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7405*53ee8cc1Swenshuai.xi 
7406*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
7407*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,11,1,0,0,0);
7408*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7409*53ee8cc1Swenshuai.xi 
7410*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
7411*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,10); // bottom row 1 -2
7412*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7413*53ee8cc1Swenshuai.xi 
7414*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7415*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
7416*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7417*53ee8cc1Swenshuai.xi 
7418*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
7419*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7420*53ee8cc1Swenshuai.xi 
7421*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
7422*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
7423*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7424*53ee8cc1Swenshuai.xi 
7425*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
7426*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
7427*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7428*53ee8cc1Swenshuai.xi 
7429*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
7430*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,13,13);// bottom row 1 -3
7431*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7432*53ee8cc1Swenshuai.xi 
7433*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7434*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
7435*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7436*53ee8cc1Swenshuai.xi 
7437*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
7438*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7439*53ee8cc1Swenshuai.xi 
7440*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
7441*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,1);
7442*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7443*53ee8cc1Swenshuai.xi 
7444*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7445*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7446*53ee8cc1Swenshuai.xi 
7447*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
7448*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,11,11,11); // bottom row 2 -1
7449*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7450*53ee8cc1Swenshuai.xi 
7451*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7452*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
7453*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7454*53ee8cc1Swenshuai.xi 
7455*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
7456*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7457*53ee8cc1Swenshuai.xi 
7458*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
7459*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,1,0);
7460*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7461*53ee8cc1Swenshuai.xi 
7462*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7463*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7464*53ee8cc1Swenshuai.xi 
7465*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
7466*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,3,10,10,10,10);// bottom row 2 -2
7467*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7468*53ee8cc1Swenshuai.xi 
7469*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7470*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
7471*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7472*53ee8cc1Swenshuai.xi 
7473*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
7474*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7475*53ee8cc1Swenshuai.xi 
7476*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
7477*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,1,0,0);
7478*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7479*53ee8cc1Swenshuai.xi 
7480*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
7481*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
7482*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7483*53ee8cc1Swenshuai.xi 
7484*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
7485*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);// bottom row 2 -3
7486*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7487*53ee8cc1Swenshuai.xi 
7488*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7489*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
7490*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7491*53ee8cc1Swenshuai.xi 
7492*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,13,13,13,13,13);
7493*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7494*53ee8cc1Swenshuai.xi 
7495*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
7496*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,13,1,0,0,0);
7497*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7498*53ee8cc1Swenshuai.xi 
7499*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
7500*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,11);// bottom row 3 -1
7501*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7502*53ee8cc1Swenshuai.xi 
7503*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7504*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
7505*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7506*53ee8cc1Swenshuai.xi 
7507*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
7508*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7509*53ee8cc1Swenshuai.xi 
7510*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
7511*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,11,11,11,11,11);
7512*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7513*53ee8cc1Swenshuai.xi 
7514*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
7515*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
7516*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7517*53ee8cc1Swenshuai.xi 
7518*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
7519*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,3,10,10);// bottom row 3 -2
7520*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7521*53ee8cc1Swenshuai.xi 
7522*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7523*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
7524*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7525*53ee8cc1Swenshuai.xi 
7526*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
7527*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7528*53ee8cc1Swenshuai.xi 
7529*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
7530*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,1);
7531*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7532*53ee8cc1Swenshuai.xi 
7533*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7534*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7535*53ee8cc1Swenshuai.xi 
7536*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
7537*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,3,10,10,10);// bottom row 3 -3
7538*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7539*53ee8cc1Swenshuai.xi 
7540*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7541*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
7542*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7543*53ee8cc1Swenshuai.xi 
7544*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
7545*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7546*53ee8cc1Swenshuai.xi 
7547*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,3,1,0);
7548*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,1,0);
7549*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7550*53ee8cc1Swenshuai.xi 
7551*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7552*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7553*53ee8cc1Swenshuai.xi 
7554*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
7555*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,3,10,10,10,10);// bottom row 3 -4
7556*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7557*53ee8cc1Swenshuai.xi 
7558*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7559*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
7560*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7561*53ee8cc1Swenshuai.xi 
7562*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
7563*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7564*53ee8cc1Swenshuai.xi 
7565*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,3,1,0,0);
7566*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,1,0,0);
7567*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7568*53ee8cc1Swenshuai.xi 
7569*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
7570*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
7571*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7572*53ee8cc1Swenshuai.xi 
7573*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
7574*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);// bottom row 3 -5
7575*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7576*53ee8cc1Swenshuai.xi 
7577*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,0);
7578*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
7579*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7580*53ee8cc1Swenshuai.xi 
7581*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,10,10,10,10,10);
7582*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7583*53ee8cc1Swenshuai.xi 
7584*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,3,1,0,0,0);
7585*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,13,1,0,0,0);
7586*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7587*53ee8cc1Swenshuai.xi 
7588*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,3,1);
7589*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,3,1);
7590*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7591*53ee8cc1Swenshuai.xi 
7592*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7593*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7594*53ee8cc1Swenshuai.xi 
7595*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7596*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7597*53ee8cc1Swenshuai.xi 
7598*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,0,0,0,0,3);
7599*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,3);
7600*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7601*53ee8cc1Swenshuai.xi 
7602*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8BoldValType,1,0,0,0,0);
7603*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,1,0,0,0,0);
7604*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7605*53ee8cc1Swenshuai.xi 
7606*53ee8cc1Swenshuai.xi     for(i=0;i<(412/5)-1;i++)
7607*53ee8cc1Swenshuai.xi     {
7608*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7609*53ee8cc1Swenshuai.xi         MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7610*53ee8cc1Swenshuai.xi     }
7611*53ee8cc1Swenshuai.xi 
7612*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Type(u8ValType,0,0,0,0,0);
7613*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Border_Sram(u8BoldValType, u8ValType);
7614*53ee8cc1Swenshuai.xi 
7615*53ee8cc1Swenshuai.xi }
7616*53ee8cc1Swenshuai.xi 
MDrv_SC_OP1_3_Pattern(void * pInstance,MS_U16 u16HTileCnt,MS_U16 u16VTileCnt)7617*53ee8cc1Swenshuai.xi void MDrv_SC_OP1_3_Pattern(void *pInstance, MS_U16 u16HTileCnt, MS_U16 u16VTileCnt)
7618*53ee8cc1Swenshuai.xi {
7619*53ee8cc1Swenshuai.xi     MS_U16 u16HTileSize = 0, u16VTileSize = 0;
7620*53ee8cc1Swenshuai.xi     MS_U16 u16HTotalSize = 0, u16VTotalSize = 0;
7621*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
7622*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
7623*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
7624*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
7625*53ee8cc1Swenshuai.xi 
7626*53ee8cc1Swenshuai.xi     //clear default pattern
7627*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_pure_color(0x00);
7628*53ee8cc1Swenshuai.xi 
7629*53ee8cc1Swenshuai.xi     //disable border
7630*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_enable_border(FALSE,0x3FF,0x3FF,0x3FF);
7631*53ee8cc1Swenshuai.xi 
7632*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Align_Width_Height(pInstance, u16HTileCnt, u16VTileCnt, &u16HTotalSize, &u16VTotalSize);
7633*53ee8cc1Swenshuai.xi 
7634*53ee8cc1Swenshuai.xi     u16HTileSize = u16HTotalSize/u16HTileCnt;
7635*53ee8cc1Swenshuai.xi     u16VTileSize = u16VTotalSize/u16VTileCnt;
7636*53ee8cc1Swenshuai.xi     MHal_SC_OP1_PatGen_adjust_frame_size(u16HTotalSize, u16VTotalSize);
7637*53ee8cc1Swenshuai.xi 
7638*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writestart();
7639*53ee8cc1Swenshuai.xi 
7640*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_define_tile(u16HTileSize, u16VTileSize);
7641*53ee8cc1Swenshuai.xi 
7642*53ee8cc1Swenshuai.xi     if (pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.bMirror)
7643*53ee8cc1Swenshuai.xi     {
7644*53ee8cc1Swenshuai.xi 
7645*53ee8cc1Swenshuai.xi         //bottom black border
7646*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,16,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7647*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,16,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7648*53ee8cc1Swenshuai.xi 
7649*53ee8cc1Swenshuai.xi         //rigth black border - no.12
7650*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,0,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7651*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(16,0,FALSE,FALSE,0x3FF,0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
7652*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,0,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7653*53ee8cc1Swenshuai.xi 
7654*53ee8cc1Swenshuai.xi         //rigth black border - no.12
7655*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,4,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7656*53ee8cc1Swenshuai.xi 
7657*53ee8cc1Swenshuai.xi         //Fade: 3
7658*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((255)<<2),((255)<<2),((255)<<2),E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
7659*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((255)<<2),((255)<<2),((255)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
7660*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((242)<<2),((238)<<2),((239)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
7661*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((242)<<2),((238)<<2),((239)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
7662*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((226)<<2),((226)<<2),((226)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
7663*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((226)<<2),((226)<<2),((226)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
7664*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((217)<<2),((213)<<2),((214)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
7665*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((217)<<2),((213)<<2),((214)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
7666*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((79)<<2),((79)<<2),((79)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
7667*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((79)<<2),((79)<<2),((79)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
7668*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((56)<<2),((56)<<2),((56)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
7669*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((56)<<2),((56)<<2),((56)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
7670*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((37)<<2),((37)<<2),((37)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
7671*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((37)<<2),((37)<<2),((37)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
7672*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((1)<<2),((1)<<2),((1)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
7673*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((1)<<2),((1)<<2),((1)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
7674*53ee8cc1Swenshuai.xi 
7675*53ee8cc1Swenshuai.xi         //left black border - no.12
7676*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,4,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7677*53ee8cc1Swenshuai.xi 
7678*53ee8cc1Swenshuai.xi         //rigth black border - no.11
7679*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,2,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7680*53ee8cc1Swenshuai.xi 
7681*53ee8cc1Swenshuai.xi         //Fade:  2
7682*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(239)<<2, (88)<<2,(204)<<2,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
7683*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(233)<<2, (89)<<2,(239)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
7684*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(238)<<2, (73)<<2,(248)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
7685*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(249)<<2, (52)<<2,(254)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
7686*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(253)<<2, (2)<<2,(253)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
7687*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(0)<<2, (219)<<2,(223)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
7688*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(79)<<2, (209)<<2,(211)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
7689*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(82)<<2, (223)<<2,(230)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
7690*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(67)<<2, (229)<<2,(231)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
7691*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(44)<<2, (240)<<2,(238)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
7692*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(0)<<2, (255)<<2,(253)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
7693*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(221)<<2, (254)<<2,(22)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
7694*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(223)<<2, (252)<<2,(76)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
7695*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(255)<<2, (249)<<2,(80)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
7696*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(254)<<2, (248)<<2,(48)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
7697*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(255)<<2, (255)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
7698*53ee8cc1Swenshuai.xi 
7699*53ee8cc1Swenshuai.xi          //left black border - no.11
7700*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,2,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7701*53ee8cc1Swenshuai.xi 
7702*53ee8cc1Swenshuai.xi         //rigth black border - no.12
7703*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,2,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7704*53ee8cc1Swenshuai.xi 
7705*53ee8cc1Swenshuai.xi         //Fade: 1
7706*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(255)<<2, (255)<<2,(255)<<2,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
7707*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(247)<<2, (247)<<2,(247)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
7708*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(229)<<2, (229)<<2,(229)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
7709*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(211)<<2, (211)<<2,(211)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
7710*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(194)<<2, (194)<<2,(194)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
7711*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(181)<<2, (181)<<2,(181)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
7712*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(160)<<2, (160)<<2,(160)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
7713*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(145)<<2, (145)<<2,(145)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
7714*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(128)<<2, (128)<<2,(128)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
7715*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(112)<<2, (112)<<2,(112)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
7716*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(97)<<2, (97)<<2,(97)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
7717*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(80)<<2, (80)<<2,(80)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
7718*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(64)<<2, (64)<<2,(64)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
7719*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(49)<<2, (49)<<2,(49)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
7720*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(19)<<2, (15)<<2,(12)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
7721*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(1)<<2, (1)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
7722*53ee8cc1Swenshuai.xi 
7723*53ee8cc1Swenshuai.xi          //left black border - no.12
7724*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,2,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7725*53ee8cc1Swenshuai.xi 
7726*53ee8cc1Swenshuai.xi         //rigth black border - no.13
7727*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,20,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7728*53ee8cc1Swenshuai.xi 
7729*53ee8cc1Swenshuai.xi         //rigth pure block
7730*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,20,FALSE,FALSE,0x13c, 0x28,0x1d5,E_XC_OP1_PATTERN_TYPE_PURE);
7731*53ee8cc1Swenshuai.xi 
7732*53ee8cc1Swenshuai.xi         //middle pure block
7733*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(10,20,FALSE,FALSE,0x161, 0x161,0x161,E_XC_OP1_PATTERN_TYPE_PURE);
7734*53ee8cc1Swenshuai.xi 
7735*53ee8cc1Swenshuai.xi         //left pure block
7736*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,20,FALSE,FALSE,0x00, 0x1c9,0x2f2,E_XC_OP1_PATTERN_TYPE_PURE);
7737*53ee8cc1Swenshuai.xi 
7738*53ee8cc1Swenshuai.xi          //left black border - no.13
7739*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,20,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7740*53ee8cc1Swenshuai.xi 
7741*53ee8cc1Swenshuai.xi         //rigth black border - no.14
7742*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,4,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7743*53ee8cc1Swenshuai.xi 
7744*53ee8cc1Swenshuai.xi         //pure gray 55
7745*53ee8cc1Swenshuai.xi         int i=0;
7746*53ee8cc1Swenshuai.xi         for(i=0;i<16;i++)
7747*53ee8cc1Swenshuai.xi         {
7748*53ee8cc1Swenshuai.xi             MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,0xDC, 0xDC,0xDC,E_XC_OP1_PATTERN_TYPE_PURE);
7749*53ee8cc1Swenshuai.xi         }
7750*53ee8cc1Swenshuai.xi 
7751*53ee8cc1Swenshuai.xi         //left black border - no.14
7752*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,4,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7753*53ee8cc1Swenshuai.xi 
7754*53ee8cc1Swenshuai.xi         //rigth black border -
7755*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,0,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7756*53ee8cc1Swenshuai.xi 
7757*53ee8cc1Swenshuai.xi         //item:4
7758*53ee8cc1Swenshuai.xi         //LineDot: right
7759*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,0,FALSE,FALSE,0x470,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
7760*53ee8cc1Swenshuai.xi         //end of linedot item 4-----------------------------------------------------------------------------
7761*53ee8cc1Swenshuai.xi 
7762*53ee8cc1Swenshuai.xi 
7763*53ee8cc1Swenshuai.xi         //Pure between LineDot itme4
7764*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,0,FALSE,FALSE,0x336, 0x336,0x336,E_XC_OP1_PATTERN_TYPE_PURE);
7765*53ee8cc1Swenshuai.xi 
7766*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,FALSE,FALSE,0xDC, 0xDC,0xDC,E_XC_OP1_PATTERN_TYPE_PURE);
7767*53ee8cc1Swenshuai.xi 
7768*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,FALSE,FALSE,0xDC, 0xDC,0xDC,E_XC_OP1_PATTERN_TYPE_PURE);
7769*53ee8cc1Swenshuai.xi 
7770*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,0,FALSE,FALSE,0x336, 0x336,0x336,E_XC_OP1_PATTERN_TYPE_PURE);
7771*53ee8cc1Swenshuai.xi 
7772*53ee8cc1Swenshuai.xi          //linedot item4--------------------------------------------------------------------------------------
7773*53ee8cc1Swenshuai.xi          //LineDot : left
7774*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,0,FALSE,FALSE,0x7F0,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
7775*53ee8cc1Swenshuai.xi 
7776*53ee8cc1Swenshuai.xi         //left black border -
7777*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,0,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7778*53ee8cc1Swenshuai.xi 
7779*53ee8cc1Swenshuai.xi         //rigth black border - no.15
7780*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,5,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7781*53ee8cc1Swenshuai.xi 
7782*53ee8cc1Swenshuai.xi         //item:3
7783*53ee8cc1Swenshuai.xi         //LineDot: right
7784*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,5,FALSE,FALSE,0x470,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
7785*53ee8cc1Swenshuai.xi         //end of linedot item 3-----------------------------------------------------------------------------
7786*53ee8cc1Swenshuai.xi 
7787*53ee8cc1Swenshuai.xi 
7788*53ee8cc1Swenshuai.xi         //Pure between LineDot itme3
7789*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(10,5,FALSE,FALSE,0x336, 0x336,0x336,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
7790*53ee8cc1Swenshuai.xi 
7791*53ee8cc1Swenshuai.xi 
7792*53ee8cc1Swenshuai.xi         //linedot item3--------------------------------------------------------------------------------------
7793*53ee8cc1Swenshuai.xi         //LineDot : left
7794*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,5,FALSE,FALSE,0x7F0,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
7795*53ee8cc1Swenshuai.xi 
7796*53ee8cc1Swenshuai.xi         //left black border - no.15
7797*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,5,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7798*53ee8cc1Swenshuai.xi 
7799*53ee8cc1Swenshuai.xi 
7800*53ee8cc1Swenshuai.xi         //rigth black border - no.16
7801*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,6,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7802*53ee8cc1Swenshuai.xi 
7803*53ee8cc1Swenshuai.xi         //itme2
7804*53ee8cc1Swenshuai.xi         //LineDot: right
7805*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,6,FALSE,FALSE,0x570,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
7806*53ee8cc1Swenshuai.xi 
7807*53ee8cc1Swenshuai.xi         //Pure between LineDot itme2
7808*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(10,6,FALSE,FALSE,0x336, 0x336,0x336,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
7809*53ee8cc1Swenshuai.xi 
7810*53ee8cc1Swenshuai.xi         //linedot item2--------------------------------------------------------------------------------------
7811*53ee8cc1Swenshuai.xi         //LineDot : left
7812*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,6,FALSE,FALSE,0x7F0,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
7813*53ee8cc1Swenshuai.xi 
7814*53ee8cc1Swenshuai.xi         //left black border - no.16
7815*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,6,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7816*53ee8cc1Swenshuai.xi 
7817*53ee8cc1Swenshuai.xi         //rigth black border - no.17
7818*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,6,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7819*53ee8cc1Swenshuai.xi 
7820*53ee8cc1Swenshuai.xi         //itme1:
7821*53ee8cc1Swenshuai.xi         //LineDot: right
7822*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,6,FALSE,FALSE,0x1F0,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
7823*53ee8cc1Swenshuai.xi 
7824*53ee8cc1Swenshuai.xi         //Pure between LineDot item1
7825*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(10,6,FALSE,FALSE,0x336, 0x336,0x336,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
7826*53ee8cc1Swenshuai.xi 
7827*53ee8cc1Swenshuai.xi         //linedot item1--------------------------------------------------------------------------------------
7828*53ee8cc1Swenshuai.xi         //LineDot : left
7829*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,6,FALSE,FALSE,0x7F0,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
7830*53ee8cc1Swenshuai.xi 
7831*53ee8cc1Swenshuai.xi         //left black border - no.17
7832*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,6,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7833*53ee8cc1Swenshuai.xi 
7834*53ee8cc1Swenshuai.xi         //rigth black border - no.18
7835*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,2,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7836*53ee8cc1Swenshuai.xi 
7837*53ee8cc1Swenshuai.xi         //Fade:  White
7838*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(255)<<2, (255)<<2,(255)<<2,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
7839*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(241)<<2, (241)<<2,(241)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
7840*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(224)<<2, (224)<<2,(224)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
7841*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(205)<<2, (205)<<2,(205)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
7842*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(187)<<2, (187)<<2,(187)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
7843*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(172)<<2, (172)<<2,(172)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
7844*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(157)<<2, (157)<<2,(157)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
7845*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(139)<<2, (139)<<2,(139)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
7846*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(121)<<2, (121)<<2,(121)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
7847*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(106)<<2, (106)<<2,(106)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
7848*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(88)<<2, (88)<<2,(88)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
7849*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(71)<<2, (71)<<2,(71)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
7850*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(55)<<2, (55)<<2,(55)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
7851*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(37)<<2, (37)<<2,(37)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
7852*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(19)<<2, (19)<<2,(19)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
7853*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(1)<<2, (1)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
7854*53ee8cc1Swenshuai.xi 
7855*53ee8cc1Swenshuai.xi         //left black border - no.18
7856*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,2,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7857*53ee8cc1Swenshuai.xi 
7858*53ee8cc1Swenshuai.xi         //rigth black border - no.19
7859*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,2,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7860*53ee8cc1Swenshuai.xi 
7861*53ee8cc1Swenshuai.xi         //Fade: Blue
7862*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(0)<<2, (0)<<2,(254)<<2,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
7863*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(1)<<2, (1)<<2,(239)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
7864*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(1)<<2, (1)<<2,(223)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
7865*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(1)<<2, (0)<<2,(202)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
7866*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(1)<<2, (1)<<2,(187)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
7867*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(0)<<2, (0)<<2,(170)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
7868*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(1)<<2, (2)<<2,(154)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
7869*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(2)<<2, (0)<<2,(136)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
7870*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(0)<<2, (0)<<2,(120)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
7871*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(0)<<2, (2)<<2,(105)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
7872*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(2)<<2, (0)<<2,(84)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
7873*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(0)<<2, (0)<<2,(72)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
7874*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(3)<<2, (0)<<2,(57)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
7875*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(0)<<2, (1)<<2,(32)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
7876*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(0)<<2, (0)<<2,(20)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
7877*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(1)<<2, (1)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
7878*53ee8cc1Swenshuai.xi 
7879*53ee8cc1Swenshuai.xi         //left black border - no.19
7880*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,2,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7881*53ee8cc1Swenshuai.xi 
7882*53ee8cc1Swenshuai.xi         //rigth black border - no.20
7883*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,2,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7884*53ee8cc1Swenshuai.xi 
7885*53ee8cc1Swenshuai.xi         //Fade: Red
7886*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(254)<<2, (0)<<2,(2)<<2,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
7887*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(240)<<2, (1)<<2,(4)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
7888*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(224)<<2, (0)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
7889*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(203)<<2, (0)<<2,(4)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
7890*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(185)<<2, (0)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
7891*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(171)<<2, (1)<<2,(2)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
7892*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(153)<<2, (1)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
7893*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(136)<<2, (0)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
7894*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(121)<<2, (1)<<2,(3)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
7895*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(105)<<2, (0)<<2,(4)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
7896*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(85)<<2, (1)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
7897*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(72)<<2, (0)<<2,(3)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
7898*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(56)<<2, (0)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
7899*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(36)<<2, (0)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
7900*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(21)<<2, (1)<<2,(2)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
7901*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(1)<<2, (1)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
7902*53ee8cc1Swenshuai.xi 
7903*53ee8cc1Swenshuai.xi         //left black border - no.20
7904*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,2,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7905*53ee8cc1Swenshuai.xi 
7906*53ee8cc1Swenshuai.xi         //rigth black border - no.21
7907*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,4,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7908*53ee8cc1Swenshuai.xi 
7909*53ee8cc1Swenshuai.xi         //Fade: Green
7910*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((2)<<2),((255)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
7911*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((0)<<2),((242)<<2),((0)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
7912*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((3)<<2),((225)<<2),((0)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
7913*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((3)<<2),((204)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
7914*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((3)<<2),((186)<<2),((0)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
7915*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((1)<<2),((171)<<2),((4)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
7916*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((1)<<2),((156)<<2),((3)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
7917*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((2)<<2),((138)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
7918*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((1)<<2),((120)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
7919*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((0)<<2),((105)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
7920*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((2)<<2),((87)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
7921*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((2)<<2),((72)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
7922*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((0)<<2),((55)<<2),((0)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
7923*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((1)<<2),((36)<<2),((3)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
7924*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((0)<<2),((19)<<2),((0)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
7925*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((1)<<2),((1)<<2),((1)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
7926*53ee8cc1Swenshuai.xi 
7927*53ee8cc1Swenshuai.xi         //left black border - no.21
7928*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,4,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7929*53ee8cc1Swenshuai.xi 
7930*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,0,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7931*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(16,0,FALSE,FALSE,0x3FF,0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
7932*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,0,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7933*53ee8cc1Swenshuai.xi 
7934*53ee8cc1Swenshuai.xi         //top black border
7935*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,16,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7936*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,16,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7937*53ee8cc1Swenshuai.xi     }
7938*53ee8cc1Swenshuai.xi     else
7939*53ee8cc1Swenshuai.xi     {
7940*53ee8cc1Swenshuai.xi         //top black border
7941*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,16,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7942*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,16,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7943*53ee8cc1Swenshuai.xi 
7944*53ee8cc1Swenshuai.xi         //top white border
7945*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,0,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7946*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(16,0,FALSE,FALSE,0x3FF,0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
7947*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,0,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7948*53ee8cc1Swenshuai.xi 
7949*53ee8cc1Swenshuai.xi         //left black border - no.1
7950*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,4,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7951*53ee8cc1Swenshuai.xi 
7952*53ee8cc1Swenshuai.xi         //Fade: Green
7953*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((1)<<2),((1)<<2),((1)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
7954*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((0)<<2),((19)<<2),((0)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
7955*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((1)<<2),((36)<<2),((3)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
7956*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((0)<<2),((55)<<2),((0)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
7957*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((2)<<2),((72)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
7958*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((2)<<2),((87)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
7959*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((0)<<2),((105)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
7960*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((1)<<2),((120)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
7961*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((2)<<2),((138)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
7962*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((1)<<2),((156)<<2),((3)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
7963*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((1)<<2),((171)<<2),((4)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
7964*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((3)<<2),((186)<<2),((0)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
7965*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((3)<<2),((204)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
7966*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((3)<<2),((225)<<2),((0)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
7967*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((0)<<2),((242)<<2),((0)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
7968*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((2)<<2),((255)<<2),((2)<<2),E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
7969*53ee8cc1Swenshuai.xi 
7970*53ee8cc1Swenshuai.xi         //rigth black border - no.1
7971*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,4,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7972*53ee8cc1Swenshuai.xi 
7973*53ee8cc1Swenshuai.xi         //left black border - no.2
7974*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,2,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7975*53ee8cc1Swenshuai.xi 
7976*53ee8cc1Swenshuai.xi         //Fade: Red
7977*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(1)<<2, (1)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
7978*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(21)<<2, (1)<<2,(2)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
7979*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(36)<<2, (0)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
7980*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(56)<<2, (0)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
7981*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(72)<<2, (0)<<2,(3)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
7982*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(85)<<2, (1)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
7983*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(105)<<2, (0)<<2,(4)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
7984*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(121)<<2, (1)<<2,(3)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
7985*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(136)<<2, (0)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
7986*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(153)<<2, (1)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
7987*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(171)<<2, (1)<<2,(2)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
7988*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(185)<<2, (0)<<2,(0)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
7989*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(203)<<2, (0)<<2,(4)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
7990*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(224)<<2, (0)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
7991*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(240)<<2, (1)<<2,(4)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
7992*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(254)<<2, (0)<<2,(2)<<2,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
7993*53ee8cc1Swenshuai.xi 
7994*53ee8cc1Swenshuai.xi         //rigth black border - no.2
7995*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,2,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7996*53ee8cc1Swenshuai.xi 
7997*53ee8cc1Swenshuai.xi         //left black border - no.3
7998*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,2,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
7999*53ee8cc1Swenshuai.xi 
8000*53ee8cc1Swenshuai.xi         //Fade: Blue
8001*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(1)<<2, (1)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
8002*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(0)<<2, (0)<<2,(20)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
8003*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(0)<<2, (1)<<2,(32)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
8004*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(3)<<2, (0)<<2,(57)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
8005*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(0)<<2, (0)<<2,(72)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
8006*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(2)<<2, (0)<<2,(84)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
8007*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(0)<<2, (2)<<2,(105)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
8008*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(0)<<2, (0)<<2,(120)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
8009*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(2)<<2, (0)<<2,(136)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
8010*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(1)<<2, (2)<<2,(154)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
8011*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(0)<<2, (0)<<2,(170)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
8012*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(1)<<2, (1)<<2,(187)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
8013*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(1)<<2, (0)<<2,(202)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
8014*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(1)<<2, (1)<<2,(223)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
8015*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(1)<<2, (1)<<2,(239)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
8016*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(0)<<2, (0)<<2,(254)<<2,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
8017*53ee8cc1Swenshuai.xi 
8018*53ee8cc1Swenshuai.xi         //rigth black border - no.3
8019*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,2,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8020*53ee8cc1Swenshuai.xi 
8021*53ee8cc1Swenshuai.xi         //left black border - no.4
8022*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,2,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8023*53ee8cc1Swenshuai.xi 
8024*53ee8cc1Swenshuai.xi         //Fade:  White
8025*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(1)<<2, (1)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
8026*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(19)<<2, (19)<<2,(19)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
8027*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(37)<<2, (37)<<2,(37)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
8028*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(55)<<2, (55)<<2,(55)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
8029*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(71)<<2, (71)<<2,(71)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
8030*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(88)<<2, (88)<<2,(88)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
8031*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(106)<<2, (106)<<2,(106)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
8032*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(121)<<2, (121)<<2,(121)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
8033*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(139)<<2, (139)<<2,(139)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
8034*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(157)<<2, (157)<<2,(157)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
8035*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(172)<<2, (172)<<2,(172)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
8036*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(187)<<2, (187)<<2,(187)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
8037*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(205)<<2, (205)<<2,(205)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
8038*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(224)<<2, (224)<<2,(224)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
8039*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(241)<<2, (241)<<2,(241)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
8040*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(255)<<2, (255)<<2,(255)<<2,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
8041*53ee8cc1Swenshuai.xi 
8042*53ee8cc1Swenshuai.xi         //rigth black border - no.4
8043*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,2,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8044*53ee8cc1Swenshuai.xi 
8045*53ee8cc1Swenshuai.xi         //left black border - no.5
8046*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,6,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8047*53ee8cc1Swenshuai.xi 
8048*53ee8cc1Swenshuai.xi         //linedot item1--------------------------------------------------------------------------------------
8049*53ee8cc1Swenshuai.xi         //LineDot : left
8050*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,6,FALSE,FALSE,0x7F0,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
8051*53ee8cc1Swenshuai.xi 
8052*53ee8cc1Swenshuai.xi         //Pure between LineDot
8053*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(10,6,FALSE,FALSE,0x336, 0x336,0x336,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
8054*53ee8cc1Swenshuai.xi 
8055*53ee8cc1Swenshuai.xi         //LineDot: right
8056*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,6,FALSE,FALSE,0x0F0,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
8057*53ee8cc1Swenshuai.xi 
8058*53ee8cc1Swenshuai.xi         //rigth black border - no.5
8059*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,6,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8060*53ee8cc1Swenshuai.xi 
8061*53ee8cc1Swenshuai.xi         //left black border - no.6
8062*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,6,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8063*53ee8cc1Swenshuai.xi 
8064*53ee8cc1Swenshuai.xi         //linedot item2--------------------------------------------------------------------------------------
8065*53ee8cc1Swenshuai.xi         //LineDot : left
8066*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,6,FALSE,FALSE,0x7F0,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
8067*53ee8cc1Swenshuai.xi 
8068*53ee8cc1Swenshuai.xi         //Pure between LineDot
8069*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(10,6,FALSE,FALSE,0x336, 0x336,0x336,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
8070*53ee8cc1Swenshuai.xi 
8071*53ee8cc1Swenshuai.xi         //LineDot: right
8072*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,6,FALSE,FALSE,0x570,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
8073*53ee8cc1Swenshuai.xi 
8074*53ee8cc1Swenshuai.xi         //rigth black border - no.6
8075*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,6,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8076*53ee8cc1Swenshuai.xi 
8077*53ee8cc1Swenshuai.xi         //left black border - no.7
8078*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,5,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8079*53ee8cc1Swenshuai.xi 
8080*53ee8cc1Swenshuai.xi         //linedot item3--------------------------------------------------------------------------------------
8081*53ee8cc1Swenshuai.xi         //LineDot : left
8082*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,5,FALSE,FALSE,0x7F0,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
8083*53ee8cc1Swenshuai.xi 
8084*53ee8cc1Swenshuai.xi         //Pure between LineDot
8085*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(10,5,FALSE,FALSE,0x336, 0x336,0x336,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
8086*53ee8cc1Swenshuai.xi 
8087*53ee8cc1Swenshuai.xi         //LineDot: right
8088*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,5,FALSE,FALSE,0x470,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
8089*53ee8cc1Swenshuai.xi         //end of linedot item1~3-----------------------------------------------------------------------------
8090*53ee8cc1Swenshuai.xi 
8091*53ee8cc1Swenshuai.xi         //rigth black border - no.7
8092*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,5,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8093*53ee8cc1Swenshuai.xi 
8094*53ee8cc1Swenshuai.xi 
8095*53ee8cc1Swenshuai.xi         //left black border -
8096*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,0,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8097*53ee8cc1Swenshuai.xi 
8098*53ee8cc1Swenshuai.xi         //linedot item4--------------------------------------------------------------------------------------
8099*53ee8cc1Swenshuai.xi         //LineDot : left
8100*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,0,FALSE,FALSE,0x7F0,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
8101*53ee8cc1Swenshuai.xi 
8102*53ee8cc1Swenshuai.xi         //Pure between LineDot
8103*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,0,FALSE,FALSE,0x336, 0x336,0x336,E_XC_OP1_PATTERN_TYPE_PURE);
8104*53ee8cc1Swenshuai.xi 
8105*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,FALSE,FALSE,0xDC, 0xDC,0xDC,E_XC_OP1_PATTERN_TYPE_PURE);
8106*53ee8cc1Swenshuai.xi 
8107*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,0,FALSE,FALSE,0xDC, 0xDC,0xDC,E_XC_OP1_PATTERN_TYPE_PURE);
8108*53ee8cc1Swenshuai.xi 
8109*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,0,FALSE,FALSE,0x336, 0x336,0x336,E_XC_OP1_PATTERN_TYPE_PURE);
8110*53ee8cc1Swenshuai.xi 
8111*53ee8cc1Swenshuai.xi 
8112*53ee8cc1Swenshuai.xi         //LineDot: right
8113*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,0,FALSE,FALSE,0x470,0x03,0x3FF,E_XC_OP1_PATTERN_TYPE_LINEDOT);
8114*53ee8cc1Swenshuai.xi         //end of linedot item 4-----------------------------------------------------------------------------
8115*53ee8cc1Swenshuai.xi 
8116*53ee8cc1Swenshuai.xi         //rigth black border -
8117*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,0,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8118*53ee8cc1Swenshuai.xi 
8119*53ee8cc1Swenshuai.xi         //left black border - no.8
8120*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,4,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8121*53ee8cc1Swenshuai.xi 
8122*53ee8cc1Swenshuai.xi         //pure gray 55
8123*53ee8cc1Swenshuai.xi         int i=0;
8124*53ee8cc1Swenshuai.xi         for(i=0;i<16;i++)
8125*53ee8cc1Swenshuai.xi         {
8126*53ee8cc1Swenshuai.xi             MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,0xDC, 0xDC,0xDC,E_XC_OP1_PATTERN_TYPE_PURE);
8127*53ee8cc1Swenshuai.xi         }
8128*53ee8cc1Swenshuai.xi 
8129*53ee8cc1Swenshuai.xi         //rigth black border - no.8
8130*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,4,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8131*53ee8cc1Swenshuai.xi 
8132*53ee8cc1Swenshuai.xi         //left black border - no.9
8133*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,20,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8134*53ee8cc1Swenshuai.xi 
8135*53ee8cc1Swenshuai.xi         //left pure block
8136*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,20,FALSE,FALSE,0x00, 0x1c9,0x2f2,E_XC_OP1_PATTERN_TYPE_PURE);
8137*53ee8cc1Swenshuai.xi         //middle pure block
8138*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(10,20,FALSE,FALSE,0x161, 0x161,0x161,E_XC_OP1_PATTERN_TYPE_PURE);
8139*53ee8cc1Swenshuai.xi         //rigth pure block
8140*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,20,FALSE,FALSE,0x13c, 0x28,0x1d5,E_XC_OP1_PATTERN_TYPE_PURE);
8141*53ee8cc1Swenshuai.xi 
8142*53ee8cc1Swenshuai.xi         //rigth black border - no.9
8143*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,20,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8144*53ee8cc1Swenshuai.xi 
8145*53ee8cc1Swenshuai.xi         //left black border - no.10
8146*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,2,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8147*53ee8cc1Swenshuai.xi 
8148*53ee8cc1Swenshuai.xi         //Fade: 1
8149*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(1)<<2, (1)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
8150*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(19)<<2, (15)<<2,(12)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
8151*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(49)<<2, (49)<<2,(49)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
8152*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(64)<<2, (64)<<2,(64)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
8153*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(80)<<2, (80)<<2,(80)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
8154*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(97)<<2, (97)<<2,(97)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
8155*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(112)<<2, (112)<<2,(112)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
8156*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(128)<<2, (128)<<2,(128)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
8157*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(145)<<2, (145)<<2,(145)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
8158*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(160)<<2, (160)<<2,(160)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
8159*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(181)<<2, (181)<<2,(181)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
8160*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(194)<<2, (194)<<2,(194)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
8161*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(211)<<2, (211)<<2,(211)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
8162*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(229)<<2, (229)<<2,(229)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
8163*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(247)<<2, (247)<<2,(247)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
8164*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(255)<<2, (255)<<2,(255)<<2,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
8165*53ee8cc1Swenshuai.xi 
8166*53ee8cc1Swenshuai.xi         //rigth black border - no.10
8167*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,2,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8168*53ee8cc1Swenshuai.xi 
8169*53ee8cc1Swenshuai.xi         //left black border - no.11
8170*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,2,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8171*53ee8cc1Swenshuai.xi 
8172*53ee8cc1Swenshuai.xi         //Fade:  2
8173*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(255)<<2, (255)<<2,(1)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
8174*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(254)<<2, (248)<<2,(48)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
8175*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(255)<<2, (249)<<2,(80)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
8176*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(223)<<2, (252)<<2,(76)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
8177*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(221)<<2, (254)<<2,(22)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
8178*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(0)<<2, (255)<<2,(253)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
8179*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(44)<<2, (240)<<2,(238)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
8180*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(67)<<2, (229)<<2,(231)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
8181*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(82)<<2, (223)<<2,(230)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
8182*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(79)<<2, (209)<<2,(211)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
8183*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(0)<<2, (219)<<2,(223)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
8184*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(253)<<2, (2)<<2,(253)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
8185*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(249)<<2, (52)<<2,(254)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
8186*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(238)<<2, (73)<<2,(248)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
8187*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(233)<<2, (89)<<2,(239)<<2,E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
8188*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,(239)<<2, (88)<<2,(204)<<2,E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
8189*53ee8cc1Swenshuai.xi 
8190*53ee8cc1Swenshuai.xi         //rigth black border - no.11
8191*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,2,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8192*53ee8cc1Swenshuai.xi 
8193*53ee8cc1Swenshuai.xi         //left black border - no.12
8194*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,4,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8195*53ee8cc1Swenshuai.xi 
8196*53ee8cc1Swenshuai.xi         //Fade: 3
8197*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((1)<<2),((1)<<2),((1)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.1
8198*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((1)<<2),((1)<<2),((1)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.2
8199*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((37)<<2),((37)<<2),((37)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.3
8200*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((37)<<2),((37)<<2),((37)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.4
8201*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((56)<<2),((56)<<2),((56)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.5
8202*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((56)<<2),((56)<<2),((56)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.6
8203*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((79)<<2),((79)<<2),((79)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.7
8204*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((79)<<2),((79)<<2),((79)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.8
8205*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((217)<<2),((213)<<2),((214)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.9
8206*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((217)<<2),((213)<<2),((214)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.10
8207*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((226)<<2),((226)<<2),((226)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.11
8208*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((226)<<2),((226)<<2),((226)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.12
8209*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((242)<<2),((238)<<2),((239)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.13
8210*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((242)<<2),((238)<<2),((239)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.14
8211*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((255)<<2),((255)<<2),((255)<<2),E_XC_OP1_PATTERN_TYPE_PURE);   //NO.15
8212*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,4,FALSE,FALSE,((255)<<2),((255)<<2),((255)<<2),E_XC_OP1_PATTERN_TYPE_PURE);    //NO.16
8213*53ee8cc1Swenshuai.xi 
8214*53ee8cc1Swenshuai.xi         //rigth black border - no.12
8215*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,4,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8216*53ee8cc1Swenshuai.xi 
8217*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,0,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8218*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(16,0,FALSE,FALSE,0x3FF,0x3FF,0x3FF,E_XC_OP1_PATTERN_TYPE_PURE);
8219*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(4,0,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8220*53ee8cc1Swenshuai.xi 
8221*53ee8cc1Swenshuai.xi 
8222*53ee8cc1Swenshuai.xi         //bottom black border
8223*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,16,TRUE,FALSE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8224*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(12,16,FALSE,TRUE,0,0,0,E_XC_OP1_PATTERN_TYPE_PURE);
8225*53ee8cc1Swenshuai.xi 
8226*53ee8cc1Swenshuai.xi     }
8227*53ee8cc1Swenshuai.xi 
8228*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_write_enable(FALSE);
8229*53ee8cc1Swenshuai.xi 
8230*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_write_fastmode(FALSE);
8231*53ee8cc1Swenshuai.xi 
8232*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_set_wraddr(0x00);
8233*53ee8cc1Swenshuai.xi 
8234*53ee8cc1Swenshuai.xi     //reg_sram_jump_thr
8235*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_set_jump_threshold(0x00);
8236*53ee8cc1Swenshuai.xi 
8237*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_write_enable(TRUE);
8238*53ee8cc1Swenshuai.xi 
8239*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_write_fastmode(TRUE);
8240*53ee8cc1Swenshuai.xi 
8241*53ee8cc1Swenshuai.xi     //Write the border command to second SRAM
8242*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Set_Pattern3_Border(pInstance);
8243*53ee8cc1Swenshuai.xi 
8244*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_write_enable(FALSE);
8245*53ee8cc1Swenshuai.xi 
8246*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_write_fastmode(FALSE);
8247*53ee8cc1Swenshuai.xi 
8248*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writedone();
8249*53ee8cc1Swenshuai.xi }
8250*53ee8cc1Swenshuai.xi 
MDrv_SC_OP1_3D_Pattern(void * pInstance,MS_U16 u16HTileCnt,MS_U16 u16VTileCnt)8251*53ee8cc1Swenshuai.xi void MDrv_SC_OP1_3D_Pattern(void *pInstance, MS_U16 u16HTileCnt, MS_U16 u16VTileCnt)
8252*53ee8cc1Swenshuai.xi {
8253*53ee8cc1Swenshuai.xi     int i=0;
8254*53ee8cc1Swenshuai.xi     MS_U16 u16Val =0;
8255*53ee8cc1Swenshuai.xi     MS_U16 u16Step = 1024/32;
8256*53ee8cc1Swenshuai.xi     MS_U16 u16HTileSize = 0, u16VTileSize = 0;
8257*53ee8cc1Swenshuai.xi     MS_U16 u16HTotalSize = 0, u16VTotalSize = 0;
8258*53ee8cc1Swenshuai.xi     XC_INSTANCE_PRIVATE *psXCInstPri = NULL;
8259*53ee8cc1Swenshuai.xi     UtopiaInstanceGetPrivate(pInstance, (void**)&psXCInstPri);
8260*53ee8cc1Swenshuai.xi     XC_RESOURCE_PRIVATE* pXCResourcePrivate = NULL;
8261*53ee8cc1Swenshuai.xi     UtopiaResourceGetPrivate(g_pXCResource[_XC_SELECT_INTERNAL_VARIABLE(psXCInstPri->u32DeviceID)],(void**)(&pXCResourcePrivate));
8262*53ee8cc1Swenshuai.xi 
8263*53ee8cc1Swenshuai.xi     //clear default pattern
8264*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_pure_color(0x00);
8265*53ee8cc1Swenshuai.xi 
8266*53ee8cc1Swenshuai.xi     //disable border
8267*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_enable_border(FALSE,0x3FF,0x3FF,0x3FF);
8268*53ee8cc1Swenshuai.xi 
8269*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Align_Width_Height(pInstance, u16HTileCnt, u16VTileCnt, &u16HTotalSize, &u16VTotalSize);
8270*53ee8cc1Swenshuai.xi 
8271*53ee8cc1Swenshuai.xi     u16HTileSize = u16HTotalSize/u16HTileCnt;
8272*53ee8cc1Swenshuai.xi     u16VTileSize = u16VTotalSize/u16VTileCnt;
8273*53ee8cc1Swenshuai.xi     MHal_SC_OP1_PatGen_adjust_frame_size(u16HTotalSize, u16VTotalSize);
8274*53ee8cc1Swenshuai.xi 
8275*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writestart();
8276*53ee8cc1Swenshuai.xi 
8277*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_define_tile(u16HTileSize, u16VTileSize);
8278*53ee8cc1Swenshuai.xi 
8279*53ee8cc1Swenshuai.xi     if (pXCResourcePrivate->stdrvXC_MVideo_Context.g_XC_InitData.bMirror)
8280*53ee8cc1Swenshuai.xi     {
8281*53ee8cc1Swenshuai.xi         //no.7----------------------------------------------------------------------
8282*53ee8cc1Swenshuai.xi         //RIGHT
8283*53ee8cc1Swenshuai.xi         u16Val = 1023;
8284*53ee8cc1Swenshuai.xi         for(i=0;i<32;i++)
8285*53ee8cc1Swenshuai.xi         {
8286*53ee8cc1Swenshuai.xi             if(i==0)
8287*53ee8cc1Swenshuai.xi             {
8288*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,16,TRUE,FALSE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
8289*53ee8cc1Swenshuai.xi             }
8290*53ee8cc1Swenshuai.xi             else if(i== 31)
8291*53ee8cc1Swenshuai.xi             {
8292*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,16,FALSE,FALSE,0,0,0, E_XC_OP1_PATTERN_TYPE_PURE);
8293*53ee8cc1Swenshuai.xi             }
8294*53ee8cc1Swenshuai.xi             else
8295*53ee8cc1Swenshuai.xi             {
8296*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,16,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8297*53ee8cc1Swenshuai.xi             }
8298*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8299*53ee8cc1Swenshuai.xi         }
8300*53ee8cc1Swenshuai.xi 
8301*53ee8cc1Swenshuai.xi         //LEFT
8302*53ee8cc1Swenshuai.xi         u16Val = 1023;
8303*53ee8cc1Swenshuai.xi         for(i=0;i<32;i++)
8304*53ee8cc1Swenshuai.xi         {
8305*53ee8cc1Swenshuai.xi             if(i==0)
8306*53ee8cc1Swenshuai.xi             {
8307*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,16,FALSE,FALSE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
8308*53ee8cc1Swenshuai.xi             }
8309*53ee8cc1Swenshuai.xi             else if(i== 31)
8310*53ee8cc1Swenshuai.xi             {
8311*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,16,FALSE,TRUE,0,0,0, E_XC_OP1_PATTERN_TYPE_PURE);
8312*53ee8cc1Swenshuai.xi             }
8313*53ee8cc1Swenshuai.xi             else
8314*53ee8cc1Swenshuai.xi             {
8315*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,16,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8316*53ee8cc1Swenshuai.xi             }
8317*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8318*53ee8cc1Swenshuai.xi         }
8319*53ee8cc1Swenshuai.xi 
8320*53ee8cc1Swenshuai.xi         //no.6----------------------------------------------------------------------
8321*53ee8cc1Swenshuai.xi         u16Val = 1023;
8322*53ee8cc1Swenshuai.xi         for(i=0;i<18;i++)
8323*53ee8cc1Swenshuai.xi         {
8324*53ee8cc1Swenshuai.xi             if(i==0)
8325*53ee8cc1Swenshuai.xi             {
8326*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,TRUE,FALSE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
8327*53ee8cc1Swenshuai.xi             }
8328*53ee8cc1Swenshuai.xi             else
8329*53ee8cc1Swenshuai.xi             {
8330*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8331*53ee8cc1Swenshuai.xi             }
8332*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8333*53ee8cc1Swenshuai.xi         }
8334*53ee8cc1Swenshuai.xi 
8335*53ee8cc1Swenshuai.xi         //green box -16
8336*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2), E_XC_OP1_PATTERN_TYPE_PURE);
8337*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8338*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8339*53ee8cc1Swenshuai.xi 
8340*53ee8cc1Swenshuai.xi         //RIGHT
8341*53ee8cc1Swenshuai.xi         for(i=0;i<12;i++)
8342*53ee8cc1Swenshuai.xi         {
8343*53ee8cc1Swenshuai.xi             if(i==11)
8344*53ee8cc1Swenshuai.xi             {
8345*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0,0,0, E_XC_OP1_PATTERN_TYPE_PURE);
8346*53ee8cc1Swenshuai.xi             }
8347*53ee8cc1Swenshuai.xi             else
8348*53ee8cc1Swenshuai.xi             {
8349*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8350*53ee8cc1Swenshuai.xi             }
8351*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8352*53ee8cc1Swenshuai.xi         }
8353*53ee8cc1Swenshuai.xi 
8354*53ee8cc1Swenshuai.xi         u16Val = 1023;
8355*53ee8cc1Swenshuai.xi         for(i=0;i<10;i++)
8356*53ee8cc1Swenshuai.xi         {
8357*53ee8cc1Swenshuai.xi            MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8358*53ee8cc1Swenshuai.xi            u16Val -= u16Step;
8359*53ee8cc1Swenshuai.xi         }
8360*53ee8cc1Swenshuai.xi 
8361*53ee8cc1Swenshuai.xi         // green box - 15
8362*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8363*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8364*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8365*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8366*53ee8cc1Swenshuai.xi 
8367*53ee8cc1Swenshuai.xi         for(i=0;i<7;i++)
8368*53ee8cc1Swenshuai.xi         {
8369*53ee8cc1Swenshuai.xi            MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8370*53ee8cc1Swenshuai.xi            u16Val -= u16Step;
8371*53ee8cc1Swenshuai.xi         }
8372*53ee8cc1Swenshuai.xi 
8373*53ee8cc1Swenshuai.xi         //green box -14
8374*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8375*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8376*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8377*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8378*53ee8cc1Swenshuai.xi 
8379*53ee8cc1Swenshuai.xi         //LEFT
8380*53ee8cc1Swenshuai.xi         for(i=0;i<9;i++)
8381*53ee8cc1Swenshuai.xi         {
8382*53ee8cc1Swenshuai.xi            if(i==8)
8383*53ee8cc1Swenshuai.xi            {
8384*53ee8cc1Swenshuai.xi                MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,TRUE,0,0,0, E_XC_OP1_PATTERN_TYPE_PURE);
8385*53ee8cc1Swenshuai.xi            }
8386*53ee8cc1Swenshuai.xi            else
8387*53ee8cc1Swenshuai.xi            {
8388*53ee8cc1Swenshuai.xi                MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8389*53ee8cc1Swenshuai.xi            }
8390*53ee8cc1Swenshuai.xi            u16Val -= u16Step;
8391*53ee8cc1Swenshuai.xi          }
8392*53ee8cc1Swenshuai.xi 
8393*53ee8cc1Swenshuai.xi         //no.5
8394*53ee8cc1Swenshuai.xi         for(i=0;i<8;i++)
8395*53ee8cc1Swenshuai.xi         {
8396*53ee8cc1Swenshuai.xi             if(i== 0)
8397*53ee8cc1Swenshuai.xi             {
8398*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,TRUE,FALSE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
8399*53ee8cc1Swenshuai.xi             }
8400*53ee8cc1Swenshuai.xi             else
8401*53ee8cc1Swenshuai.xi             {
8402*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8403*53ee8cc1Swenshuai.xi             }
8404*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8405*53ee8cc1Swenshuai.xi         }
8406*53ee8cc1Swenshuai.xi 
8407*53ee8cc1Swenshuai.xi         //green box -13
8408*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8409*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8410*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8411*53ee8cc1Swenshuai.xi 
8412*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8413*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8414*53ee8cc1Swenshuai.xi 
8415*53ee8cc1Swenshuai.xi         //green box -12
8416*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8417*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8418*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8419*53ee8cc1Swenshuai.xi 
8420*53ee8cc1Swenshuai.xi         for(i=0;i<5;i++)
8421*53ee8cc1Swenshuai.xi         {
8422*53ee8cc1Swenshuai.xi             MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8423*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8424*53ee8cc1Swenshuai.xi         }
8425*53ee8cc1Swenshuai.xi 
8426*53ee8cc1Swenshuai.xi         //green box -11
8427*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8428*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8429*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8430*53ee8cc1Swenshuai.xi 
8431*53ee8cc1Swenshuai.xi         //RIGHT
8432*53ee8cc1Swenshuai.xi         for(i=0;i<12;i++)
8433*53ee8cc1Swenshuai.xi         {
8434*53ee8cc1Swenshuai.xi             if(i==11)
8435*53ee8cc1Swenshuai.xi             {
8436*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0,0,0, E_XC_OP1_PATTERN_TYPE_PURE);
8437*53ee8cc1Swenshuai.xi             }
8438*53ee8cc1Swenshuai.xi             else
8439*53ee8cc1Swenshuai.xi             {
8440*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8441*53ee8cc1Swenshuai.xi             }
8442*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8443*53ee8cc1Swenshuai.xi         }
8444*53ee8cc1Swenshuai.xi 
8445*53ee8cc1Swenshuai.xi         //LEFT
8446*53ee8cc1Swenshuai.xi         u16Val =1023;
8447*53ee8cc1Swenshuai.xi         for(i=0;i<32;i++)
8448*53ee8cc1Swenshuai.xi         {
8449*53ee8cc1Swenshuai.xi             if(i==0)
8450*53ee8cc1Swenshuai.xi             {
8451*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
8452*53ee8cc1Swenshuai.xi             }
8453*53ee8cc1Swenshuai.xi             else if(i== 31)
8454*53ee8cc1Swenshuai.xi             {
8455*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,TRUE,0,0,0, E_XC_OP1_PATTERN_TYPE_PURE);
8456*53ee8cc1Swenshuai.xi             }
8457*53ee8cc1Swenshuai.xi             else
8458*53ee8cc1Swenshuai.xi             {
8459*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8460*53ee8cc1Swenshuai.xi             }
8461*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8462*53ee8cc1Swenshuai.xi         }
8463*53ee8cc1Swenshuai.xi 
8464*53ee8cc1Swenshuai.xi         //no.4
8465*53ee8cc1Swenshuai.xi         u16Val = 1023;
8466*53ee8cc1Swenshuai.xi         for(i=0;i<8;i++)
8467*53ee8cc1Swenshuai.xi         {
8468*53ee8cc1Swenshuai.xi             if(i== 0)
8469*53ee8cc1Swenshuai.xi             {
8470*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,TRUE,FALSE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
8471*53ee8cc1Swenshuai.xi             }
8472*53ee8cc1Swenshuai.xi             else
8473*53ee8cc1Swenshuai.xi             {
8474*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8475*53ee8cc1Swenshuai.xi             }
8476*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8477*53ee8cc1Swenshuai.xi          }
8478*53ee8cc1Swenshuai.xi 
8479*53ee8cc1Swenshuai.xi         //green box -10
8480*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8481*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8482*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8483*53ee8cc1Swenshuai.xi 
8484*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8485*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8486*53ee8cc1Swenshuai.xi 
8487*53ee8cc1Swenshuai.xi         //green box -9
8488*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8489*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8490*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8491*53ee8cc1Swenshuai.xi 
8492*53ee8cc1Swenshuai.xi         for(i=0;i<5;i++)
8493*53ee8cc1Swenshuai.xi         {
8494*53ee8cc1Swenshuai.xi             MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8495*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8496*53ee8cc1Swenshuai.xi         }
8497*53ee8cc1Swenshuai.xi 
8498*53ee8cc1Swenshuai.xi         //green box -8
8499*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8500*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8501*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8502*53ee8cc1Swenshuai.xi 
8503*53ee8cc1Swenshuai.xi         //RIGHT
8504*53ee8cc1Swenshuai.xi         for(i=0;i<12;i++)
8505*53ee8cc1Swenshuai.xi         {
8506*53ee8cc1Swenshuai.xi             if(i==11)
8507*53ee8cc1Swenshuai.xi             {
8508*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0,0,0, E_XC_OP1_PATTERN_TYPE_PURE);
8509*53ee8cc1Swenshuai.xi             }
8510*53ee8cc1Swenshuai.xi             else
8511*53ee8cc1Swenshuai.xi             {
8512*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8513*53ee8cc1Swenshuai.xi             }
8514*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8515*53ee8cc1Swenshuai.xi         }
8516*53ee8cc1Swenshuai.xi 
8517*53ee8cc1Swenshuai.xi         u16Val = 1023;
8518*53ee8cc1Swenshuai.xi         for(i=0;i<20;i++)
8519*53ee8cc1Swenshuai.xi         {
8520*53ee8cc1Swenshuai.xi             if(i==0)
8521*53ee8cc1Swenshuai.xi             {
8522*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
8523*53ee8cc1Swenshuai.xi             }
8524*53ee8cc1Swenshuai.xi             else
8525*53ee8cc1Swenshuai.xi             {
8526*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8527*53ee8cc1Swenshuai.xi             }
8528*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8529*53ee8cc1Swenshuai.xi         }
8530*53ee8cc1Swenshuai.xi 
8531*53ee8cc1Swenshuai.xi         //green box -7
8532*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8533*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8534*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8535*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8536*53ee8cc1Swenshuai.xi 
8537*53ee8cc1Swenshuai.xi         //LEFT
8538*53ee8cc1Swenshuai.xi         for(i=0;i<9;i++)
8539*53ee8cc1Swenshuai.xi         {
8540*53ee8cc1Swenshuai.xi             if(i==8)
8541*53ee8cc1Swenshuai.xi             {
8542*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,TRUE,0,0,0, E_XC_OP1_PATTERN_TYPE_PURE);
8543*53ee8cc1Swenshuai.xi             }
8544*53ee8cc1Swenshuai.xi             else
8545*53ee8cc1Swenshuai.xi             {
8546*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8547*53ee8cc1Swenshuai.xi             }
8548*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8549*53ee8cc1Swenshuai.xi         }
8550*53ee8cc1Swenshuai.xi 
8551*53ee8cc1Swenshuai.xi         //no.3
8552*53ee8cc1Swenshuai.xi         u16Val = 1023;
8553*53ee8cc1Swenshuai.xi         for(i=0;i<8;i++)
8554*53ee8cc1Swenshuai.xi         {
8555*53ee8cc1Swenshuai.xi             if(i== 0)
8556*53ee8cc1Swenshuai.xi             {
8557*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,TRUE,FALSE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
8558*53ee8cc1Swenshuai.xi             }
8559*53ee8cc1Swenshuai.xi             else
8560*53ee8cc1Swenshuai.xi             {
8561*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8562*53ee8cc1Swenshuai.xi             }
8563*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8564*53ee8cc1Swenshuai.xi         }
8565*53ee8cc1Swenshuai.xi 
8566*53ee8cc1Swenshuai.xi         //green box -6
8567*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8568*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8569*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8570*53ee8cc1Swenshuai.xi 
8571*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8572*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8573*53ee8cc1Swenshuai.xi 
8574*53ee8cc1Swenshuai.xi         //green box -5
8575*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8576*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8577*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8578*53ee8cc1Swenshuai.xi 
8579*53ee8cc1Swenshuai.xi         for(i=0;i<5;i++)
8580*53ee8cc1Swenshuai.xi         {
8581*53ee8cc1Swenshuai.xi             MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8582*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8583*53ee8cc1Swenshuai.xi         }
8584*53ee8cc1Swenshuai.xi 
8585*53ee8cc1Swenshuai.xi         //green box -4
8586*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8587*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8588*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8589*53ee8cc1Swenshuai.xi 
8590*53ee8cc1Swenshuai.xi         //RIGHT
8591*53ee8cc1Swenshuai.xi         for(i=0;i<12;i++)
8592*53ee8cc1Swenshuai.xi         {
8593*53ee8cc1Swenshuai.xi             if(i==11)
8594*53ee8cc1Swenshuai.xi             {
8595*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0,0,0, E_XC_OP1_PATTERN_TYPE_PURE);
8596*53ee8cc1Swenshuai.xi             }
8597*53ee8cc1Swenshuai.xi             else
8598*53ee8cc1Swenshuai.xi             {
8599*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8600*53ee8cc1Swenshuai.xi             }
8601*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8602*53ee8cc1Swenshuai.xi         }
8603*53ee8cc1Swenshuai.xi 
8604*53ee8cc1Swenshuai.xi         //LEFT
8605*53ee8cc1Swenshuai.xi         u16Val =1023;
8606*53ee8cc1Swenshuai.xi         for(i=0;i<32;i++)
8607*53ee8cc1Swenshuai.xi         {
8608*53ee8cc1Swenshuai.xi             if(i==0)
8609*53ee8cc1Swenshuai.xi             {
8610*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8611*53ee8cc1Swenshuai.xi             }
8612*53ee8cc1Swenshuai.xi             else if(i== 31)
8613*53ee8cc1Swenshuai.xi             {
8614*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,TRUE,0,0,0, E_XC_OP1_PATTERN_TYPE_PURE);
8615*53ee8cc1Swenshuai.xi             }
8616*53ee8cc1Swenshuai.xi             else
8617*53ee8cc1Swenshuai.xi             {
8618*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8619*53ee8cc1Swenshuai.xi             }
8620*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8621*53ee8cc1Swenshuai.xi         }
8622*53ee8cc1Swenshuai.xi 
8623*53ee8cc1Swenshuai.xi         //no.2
8624*53ee8cc1Swenshuai.xi         u16Val =1023;
8625*53ee8cc1Swenshuai.xi         for(i=0;i<18;i++)
8626*53ee8cc1Swenshuai.xi         {
8627*53ee8cc1Swenshuai.xi             if(i==0)
8628*53ee8cc1Swenshuai.xi             {
8629*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,TRUE,FALSE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
8630*53ee8cc1Swenshuai.xi             }
8631*53ee8cc1Swenshuai.xi             else
8632*53ee8cc1Swenshuai.xi             {
8633*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8634*53ee8cc1Swenshuai.xi             }
8635*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8636*53ee8cc1Swenshuai.xi         }
8637*53ee8cc1Swenshuai.xi 
8638*53ee8cc1Swenshuai.xi         //green box -3
8639*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8640*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8641*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8642*53ee8cc1Swenshuai.xi 
8643*53ee8cc1Swenshuai.xi         //RIGTH
8644*53ee8cc1Swenshuai.xi         for(i=0;i<12;i++)
8645*53ee8cc1Swenshuai.xi         {
8646*53ee8cc1Swenshuai.xi             if(i==11)
8647*53ee8cc1Swenshuai.xi             {
8648*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,0,0,0, E_XC_OP1_PATTERN_TYPE_PURE);
8649*53ee8cc1Swenshuai.xi             }
8650*53ee8cc1Swenshuai.xi             else
8651*53ee8cc1Swenshuai.xi             {
8652*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8653*53ee8cc1Swenshuai.xi             }
8654*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8655*53ee8cc1Swenshuai.xi         }
8656*53ee8cc1Swenshuai.xi 
8657*53ee8cc1Swenshuai.xi         u16Val = 1023;
8658*53ee8cc1Swenshuai.xi         for(i=0;i<10;i++)
8659*53ee8cc1Swenshuai.xi         {
8660*53ee8cc1Swenshuai.xi             if(i==0)
8661*53ee8cc1Swenshuai.xi             {
8662*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
8663*53ee8cc1Swenshuai.xi             }
8664*53ee8cc1Swenshuai.xi             else
8665*53ee8cc1Swenshuai.xi             {
8666*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8667*53ee8cc1Swenshuai.xi             }
8668*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8669*53ee8cc1Swenshuai.xi         }
8670*53ee8cc1Swenshuai.xi 
8671*53ee8cc1Swenshuai.xi         // green box - 2
8672*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8673*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8674*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8675*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8676*53ee8cc1Swenshuai.xi 
8677*53ee8cc1Swenshuai.xi         for(i=0;i<7;i++)
8678*53ee8cc1Swenshuai.xi         {
8679*53ee8cc1Swenshuai.xi             MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8680*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8681*53ee8cc1Swenshuai.xi         }
8682*53ee8cc1Swenshuai.xi 
8683*53ee8cc1Swenshuai.xi         //green box -1
8684*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8685*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8686*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8687*53ee8cc1Swenshuai.xi         u16Val -= u16Step;
8688*53ee8cc1Swenshuai.xi 
8689*53ee8cc1Swenshuai.xi         //LEFT
8690*53ee8cc1Swenshuai.xi         for(i=0;i<9;i++)
8691*53ee8cc1Swenshuai.xi         {
8692*53ee8cc1Swenshuai.xi             if(i==8)
8693*53ee8cc1Swenshuai.xi             {
8694*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,TRUE,0,0,0, E_XC_OP1_PATTERN_TYPE_PURE);
8695*53ee8cc1Swenshuai.xi             }
8696*53ee8cc1Swenshuai.xi             else
8697*53ee8cc1Swenshuai.xi             {
8698*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8699*53ee8cc1Swenshuai.xi             }
8700*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8701*53ee8cc1Swenshuai.xi         }
8702*53ee8cc1Swenshuai.xi 
8703*53ee8cc1Swenshuai.xi         // no.1
8704*53ee8cc1Swenshuai.xi         //RIGHT
8705*53ee8cc1Swenshuai.xi         u16Val = 1023;
8706*53ee8cc1Swenshuai.xi         for(i=0;i<32;i++)
8707*53ee8cc1Swenshuai.xi         {
8708*53ee8cc1Swenshuai.xi             if(i==0)
8709*53ee8cc1Swenshuai.xi             {
8710*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,2,TRUE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8711*53ee8cc1Swenshuai.xi             }
8712*53ee8cc1Swenshuai.xi             else if(i== 31)
8713*53ee8cc1Swenshuai.xi             {
8714*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,0,0,0, E_XC_OP1_PATTERN_TYPE_PURE);
8715*53ee8cc1Swenshuai.xi             }
8716*53ee8cc1Swenshuai.xi             else
8717*53ee8cc1Swenshuai.xi             {
8718*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8719*53ee8cc1Swenshuai.xi             }
8720*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8721*53ee8cc1Swenshuai.xi         }
8722*53ee8cc1Swenshuai.xi 
8723*53ee8cc1Swenshuai.xi         //LEFT
8724*53ee8cc1Swenshuai.xi         u16Val = 1023;
8725*53ee8cc1Swenshuai.xi         for(i=0;i<32;i++)
8726*53ee8cc1Swenshuai.xi         {
8727*53ee8cc1Swenshuai.xi             if(i==0)
8728*53ee8cc1Swenshuai.xi             {
8729*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8730*53ee8cc1Swenshuai.xi             }
8731*53ee8cc1Swenshuai.xi             else if(i== 31)
8732*53ee8cc1Swenshuai.xi             {
8733*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,TRUE,0,0,0, E_XC_OP1_PATTERN_TYPE_PURE);
8734*53ee8cc1Swenshuai.xi             }
8735*53ee8cc1Swenshuai.xi             else
8736*53ee8cc1Swenshuai.xi             {
8737*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8738*53ee8cc1Swenshuai.xi             }
8739*53ee8cc1Swenshuai.xi             u16Val -= u16Step;
8740*53ee8cc1Swenshuai.xi         }
8741*53ee8cc1Swenshuai.xi     }
8742*53ee8cc1Swenshuai.xi     else
8743*53ee8cc1Swenshuai.xi     {
8744*53ee8cc1Swenshuai.xi          //no.1----------------------------------------------------------------------
8745*53ee8cc1Swenshuai.xi          //LEFT
8746*53ee8cc1Swenshuai.xi          for(i=0;i<32;i++){
8747*53ee8cc1Swenshuai.xi                 if(i==0){
8748*53ee8cc1Swenshuai.xi                     MHal_SC_OP1_Pattern_customize_blcok(1,2,TRUE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8749*53ee8cc1Swenshuai.xi                 }else if(i== 31){
8750*53ee8cc1Swenshuai.xi                     MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
8751*53ee8cc1Swenshuai.xi                 }else{
8752*53ee8cc1Swenshuai.xi                     MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8753*53ee8cc1Swenshuai.xi                 }
8754*53ee8cc1Swenshuai.xi                 u16Val += u16Step;
8755*53ee8cc1Swenshuai.xi           }
8756*53ee8cc1Swenshuai.xi 
8757*53ee8cc1Swenshuai.xi          //RIGHT
8758*53ee8cc1Swenshuai.xi          u16Val = 0;
8759*53ee8cc1Swenshuai.xi          for(i=0;i<32;i++){
8760*53ee8cc1Swenshuai.xi                 if(i==0){
8761*53ee8cc1Swenshuai.xi                     MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8762*53ee8cc1Swenshuai.xi                 }else if(i== 31){
8763*53ee8cc1Swenshuai.xi                     MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,TRUE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
8764*53ee8cc1Swenshuai.xi                 }else{
8765*53ee8cc1Swenshuai.xi                     MHal_SC_OP1_Pattern_customize_blcok(1,2,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8766*53ee8cc1Swenshuai.xi                 }
8767*53ee8cc1Swenshuai.xi                 u16Val += u16Step;
8768*53ee8cc1Swenshuai.xi           }
8769*53ee8cc1Swenshuai.xi 
8770*53ee8cc1Swenshuai.xi          //no.2-----------------------------------------------------------------------
8771*53ee8cc1Swenshuai.xi          //LEFT
8772*53ee8cc1Swenshuai.xi          u16Val = 0;
8773*53ee8cc1Swenshuai.xi          for(i=0;i<9;i++){
8774*53ee8cc1Swenshuai.xi                 if(i==0){
8775*53ee8cc1Swenshuai.xi                     MHal_SC_OP1_Pattern_customize_blcok(1,1,TRUE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8776*53ee8cc1Swenshuai.xi                 }
8777*53ee8cc1Swenshuai.xi                 else{
8778*53ee8cc1Swenshuai.xi                     MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8779*53ee8cc1Swenshuai.xi                 }
8780*53ee8cc1Swenshuai.xi                 u16Val += u16Step;
8781*53ee8cc1Swenshuai.xi           }
8782*53ee8cc1Swenshuai.xi 
8783*53ee8cc1Swenshuai.xi          //green box -1
8784*53ee8cc1Swenshuai.xi          MHal_SC_OP1_Pattern_customize_blcok(3,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8785*53ee8cc1Swenshuai.xi          u16Val += u16Step;
8786*53ee8cc1Swenshuai.xi          u16Val += u16Step;
8787*53ee8cc1Swenshuai.xi          u16Val += u16Step;
8788*53ee8cc1Swenshuai.xi 
8789*53ee8cc1Swenshuai.xi          for(i=0;i<7;i++){
8790*53ee8cc1Swenshuai.xi             MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8791*53ee8cc1Swenshuai.xi             u16Val += u16Step;
8792*53ee8cc1Swenshuai.xi          }
8793*53ee8cc1Swenshuai.xi 
8794*53ee8cc1Swenshuai.xi          // green box - 2
8795*53ee8cc1Swenshuai.xi          MHal_SC_OP1_Pattern_customize_blcok(3,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8796*53ee8cc1Swenshuai.xi          u16Val += u16Step;
8797*53ee8cc1Swenshuai.xi          u16Val += u16Step;
8798*53ee8cc1Swenshuai.xi          u16Val += u16Step;
8799*53ee8cc1Swenshuai.xi 
8800*53ee8cc1Swenshuai.xi          for(i=0;i<10;i++){
8801*53ee8cc1Swenshuai.xi             if(i==9){
8802*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
8803*53ee8cc1Swenshuai.xi             }else{
8804*53ee8cc1Swenshuai.xi                 MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8805*53ee8cc1Swenshuai.xi             }
8806*53ee8cc1Swenshuai.xi             u16Val += u16Step;
8807*53ee8cc1Swenshuai.xi          }
8808*53ee8cc1Swenshuai.xi 
8809*53ee8cc1Swenshuai.xi          //RIGTH
8810*53ee8cc1Swenshuai.xi          u16Val=0;
8811*53ee8cc1Swenshuai.xi          for(i=0;i<12;i++){
8812*53ee8cc1Swenshuai.xi             MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8813*53ee8cc1Swenshuai.xi             u16Val += u16Step;
8814*53ee8cc1Swenshuai.xi          }
8815*53ee8cc1Swenshuai.xi 
8816*53ee8cc1Swenshuai.xi          //green box -3
8817*53ee8cc1Swenshuai.xi          MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8818*53ee8cc1Swenshuai.xi          u16Val += u16Step;
8819*53ee8cc1Swenshuai.xi          u16Val += u16Step;
8820*53ee8cc1Swenshuai.xi 
8821*53ee8cc1Swenshuai.xi         for(i=0;i<18;i++){
8822*53ee8cc1Swenshuai.xi                if(i==17){
8823*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,TRUE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
8824*53ee8cc1Swenshuai.xi                }
8825*53ee8cc1Swenshuai.xi                else{
8826*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8827*53ee8cc1Swenshuai.xi                }
8828*53ee8cc1Swenshuai.xi                u16Val += u16Step;
8829*53ee8cc1Swenshuai.xi          }
8830*53ee8cc1Swenshuai.xi 
8831*53ee8cc1Swenshuai.xi         //no.3
8832*53ee8cc1Swenshuai.xi         //LEFT
8833*53ee8cc1Swenshuai.xi         u16Val =0;
8834*53ee8cc1Swenshuai.xi         for(i=0;i<32;i++){
8835*53ee8cc1Swenshuai.xi                if(i==0){
8836*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,TRUE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8837*53ee8cc1Swenshuai.xi                }else if(i== 31){
8838*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
8839*53ee8cc1Swenshuai.xi                }else{
8840*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8841*53ee8cc1Swenshuai.xi                }
8842*53ee8cc1Swenshuai.xi                u16Val += u16Step;
8843*53ee8cc1Swenshuai.xi          }
8844*53ee8cc1Swenshuai.xi 
8845*53ee8cc1Swenshuai.xi         //RIGHT
8846*53ee8cc1Swenshuai.xi          u16Val=0;
8847*53ee8cc1Swenshuai.xi          for(i=0;i<12;i++){
8848*53ee8cc1Swenshuai.xi             MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8849*53ee8cc1Swenshuai.xi             u16Val += u16Step;
8850*53ee8cc1Swenshuai.xi          }
8851*53ee8cc1Swenshuai.xi 
8852*53ee8cc1Swenshuai.xi         //green box -4
8853*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8854*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8855*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8856*53ee8cc1Swenshuai.xi 
8857*53ee8cc1Swenshuai.xi         for(i=0;i<5;i++){
8858*53ee8cc1Swenshuai.xi            MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8859*53ee8cc1Swenshuai.xi            u16Val += u16Step;
8860*53ee8cc1Swenshuai.xi         }
8861*53ee8cc1Swenshuai.xi 
8862*53ee8cc1Swenshuai.xi         //green box -5
8863*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8864*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8865*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8866*53ee8cc1Swenshuai.xi 
8867*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8868*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8869*53ee8cc1Swenshuai.xi 
8870*53ee8cc1Swenshuai.xi         //green box -6
8871*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8872*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8873*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8874*53ee8cc1Swenshuai.xi 
8875*53ee8cc1Swenshuai.xi         for(i=0;i<8;i++){
8876*53ee8cc1Swenshuai.xi                 if(i== 7){
8877*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,TRUE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
8878*53ee8cc1Swenshuai.xi                }else{
8879*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8880*53ee8cc1Swenshuai.xi                }
8881*53ee8cc1Swenshuai.xi                u16Val += u16Step;
8882*53ee8cc1Swenshuai.xi          }
8883*53ee8cc1Swenshuai.xi 
8884*53ee8cc1Swenshuai.xi         //no.4
8885*53ee8cc1Swenshuai.xi         //LEFT
8886*53ee8cc1Swenshuai.xi         u16Val = 0;
8887*53ee8cc1Swenshuai.xi         for(i=0;i<9;i++){
8888*53ee8cc1Swenshuai.xi                if(i==0){
8889*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,TRUE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8890*53ee8cc1Swenshuai.xi                }
8891*53ee8cc1Swenshuai.xi                else{
8892*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8893*53ee8cc1Swenshuai.xi                }
8894*53ee8cc1Swenshuai.xi                u16Val += u16Step;
8895*53ee8cc1Swenshuai.xi          }
8896*53ee8cc1Swenshuai.xi 
8897*53ee8cc1Swenshuai.xi         //green box -7
8898*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8899*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8900*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8901*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8902*53ee8cc1Swenshuai.xi 
8903*53ee8cc1Swenshuai.xi         for(i=0;i<20;i++){
8904*53ee8cc1Swenshuai.xi                if(i==19){
8905*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
8906*53ee8cc1Swenshuai.xi                }
8907*53ee8cc1Swenshuai.xi                else{
8908*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8909*53ee8cc1Swenshuai.xi                }
8910*53ee8cc1Swenshuai.xi                u16Val += u16Step;
8911*53ee8cc1Swenshuai.xi          }
8912*53ee8cc1Swenshuai.xi 
8913*53ee8cc1Swenshuai.xi         //RIGHT
8914*53ee8cc1Swenshuai.xi         u16Val=0;
8915*53ee8cc1Swenshuai.xi         for(i=0;i<12;i++){
8916*53ee8cc1Swenshuai.xi            MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8917*53ee8cc1Swenshuai.xi            u16Val += u16Step;
8918*53ee8cc1Swenshuai.xi         }
8919*53ee8cc1Swenshuai.xi 
8920*53ee8cc1Swenshuai.xi         //green box -8
8921*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8922*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8923*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8924*53ee8cc1Swenshuai.xi 
8925*53ee8cc1Swenshuai.xi         for(i=0;i<5;i++){
8926*53ee8cc1Swenshuai.xi            MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8927*53ee8cc1Swenshuai.xi            u16Val += u16Step;
8928*53ee8cc1Swenshuai.xi         }
8929*53ee8cc1Swenshuai.xi 
8930*53ee8cc1Swenshuai.xi         //green box -9
8931*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8932*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8933*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8934*53ee8cc1Swenshuai.xi 
8935*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8936*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8937*53ee8cc1Swenshuai.xi 
8938*53ee8cc1Swenshuai.xi         //green box -10
8939*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8940*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8941*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8942*53ee8cc1Swenshuai.xi 
8943*53ee8cc1Swenshuai.xi         for(i=0;i<8;i++){
8944*53ee8cc1Swenshuai.xi                 if(i== 7){
8945*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,TRUE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
8946*53ee8cc1Swenshuai.xi                }else{
8947*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8948*53ee8cc1Swenshuai.xi                 }
8949*53ee8cc1Swenshuai.xi                u16Val += u16Step;
8950*53ee8cc1Swenshuai.xi         }
8951*53ee8cc1Swenshuai.xi 
8952*53ee8cc1Swenshuai.xi         //no.5
8953*53ee8cc1Swenshuai.xi         //LEFT
8954*53ee8cc1Swenshuai.xi         u16Val =0;
8955*53ee8cc1Swenshuai.xi         for(i=0;i<32;i++){
8956*53ee8cc1Swenshuai.xi                if(i==0){
8957*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,TRUE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8958*53ee8cc1Swenshuai.xi                }else if(i== 31){
8959*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
8960*53ee8cc1Swenshuai.xi                }else{
8961*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8962*53ee8cc1Swenshuai.xi                }
8963*53ee8cc1Swenshuai.xi                u16Val += u16Step;
8964*53ee8cc1Swenshuai.xi          }
8965*53ee8cc1Swenshuai.xi 
8966*53ee8cc1Swenshuai.xi         //RIGHT
8967*53ee8cc1Swenshuai.xi          u16Val=0;
8968*53ee8cc1Swenshuai.xi          for(i=0;i<12;i++){
8969*53ee8cc1Swenshuai.xi             MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8970*53ee8cc1Swenshuai.xi             u16Val += u16Step;
8971*53ee8cc1Swenshuai.xi         }
8972*53ee8cc1Swenshuai.xi 
8973*53ee8cc1Swenshuai.xi         //green box -11
8974*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2),E_XC_OP1_PATTERN_TYPE_PURE);
8975*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8976*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8977*53ee8cc1Swenshuai.xi 
8978*53ee8cc1Swenshuai.xi         for(i=0;i<5;i++){
8979*53ee8cc1Swenshuai.xi            MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8980*53ee8cc1Swenshuai.xi            u16Val += u16Step;
8981*53ee8cc1Swenshuai.xi         }
8982*53ee8cc1Swenshuai.xi 
8983*53ee8cc1Swenshuai.xi         //green box -12
8984*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2), E_XC_OP1_PATTERN_TYPE_PURE);
8985*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8986*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8987*53ee8cc1Swenshuai.xi 
8988*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
8989*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8990*53ee8cc1Swenshuai.xi 
8991*53ee8cc1Swenshuai.xi         //green box -13
8992*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2), E_XC_OP1_PATTERN_TYPE_PURE);
8993*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8994*53ee8cc1Swenshuai.xi         u16Val += u16Step;
8995*53ee8cc1Swenshuai.xi 
8996*53ee8cc1Swenshuai.xi         for(i=0;i<8;i++){
8997*53ee8cc1Swenshuai.xi                 if(i== 7){
8998*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,TRUE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
8999*53ee8cc1Swenshuai.xi                }else{
9000*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
9001*53ee8cc1Swenshuai.xi                }
9002*53ee8cc1Swenshuai.xi                u16Val += u16Step;
9003*53ee8cc1Swenshuai.xi          }
9004*53ee8cc1Swenshuai.xi 
9005*53ee8cc1Swenshuai.xi         //no.6
9006*53ee8cc1Swenshuai.xi         //LEFT
9007*53ee8cc1Swenshuai.xi         u16Val = 0;
9008*53ee8cc1Swenshuai.xi         for(i=0;i<9;i++){
9009*53ee8cc1Swenshuai.xi                if(i==0){
9010*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,TRUE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
9011*53ee8cc1Swenshuai.xi                }
9012*53ee8cc1Swenshuai.xi                else{
9013*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
9014*53ee8cc1Swenshuai.xi             }
9015*53ee8cc1Swenshuai.xi                u16Val += u16Step;
9016*53ee8cc1Swenshuai.xi         }
9017*53ee8cc1Swenshuai.xi 
9018*53ee8cc1Swenshuai.xi         //green box -14
9019*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2), E_XC_OP1_PATTERN_TYPE_PURE);
9020*53ee8cc1Swenshuai.xi         u16Val += u16Step;
9021*53ee8cc1Swenshuai.xi         u16Val += u16Step;
9022*53ee8cc1Swenshuai.xi         u16Val += u16Step;
9023*53ee8cc1Swenshuai.xi 
9024*53ee8cc1Swenshuai.xi         for(i=0;i<7;i++){
9025*53ee8cc1Swenshuai.xi            MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
9026*53ee8cc1Swenshuai.xi            u16Val += u16Step;
9027*53ee8cc1Swenshuai.xi         }
9028*53ee8cc1Swenshuai.xi 
9029*53ee8cc1Swenshuai.xi         // green box - 15
9030*53ee8cc1Swenshuai.xi         MHal_SC_OP1_Pattern_customize_blcok(3,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2), E_XC_OP1_PATTERN_TYPE_PURE);
9031*53ee8cc1Swenshuai.xi         u16Val += u16Step;
9032*53ee8cc1Swenshuai.xi         u16Val += u16Step;
9033*53ee8cc1Swenshuai.xi         u16Val += u16Step;
9034*53ee8cc1Swenshuai.xi 
9035*53ee8cc1Swenshuai.xi         for(i=0;i<10;i++){
9036*53ee8cc1Swenshuai.xi            if(i==9){
9037*53ee8cc1Swenshuai.xi                MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
9038*53ee8cc1Swenshuai.xi            }else{
9039*53ee8cc1Swenshuai.xi                MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
9040*53ee8cc1Swenshuai.xi            }
9041*53ee8cc1Swenshuai.xi            u16Val += u16Step;
9042*53ee8cc1Swenshuai.xi         }
9043*53ee8cc1Swenshuai.xi 
9044*53ee8cc1Swenshuai.xi         //RIGHT
9045*53ee8cc1Swenshuai.xi         u16Val = 0;
9046*53ee8cc1Swenshuai.xi          for(i=0;i<12;i++){
9047*53ee8cc1Swenshuai.xi             MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
9048*53ee8cc1Swenshuai.xi             u16Val += u16Step;
9049*53ee8cc1Swenshuai.xi          }
9050*53ee8cc1Swenshuai.xi 
9051*53ee8cc1Swenshuai.xi          //green box -16
9052*53ee8cc1Swenshuai.xi          MHal_SC_OP1_Pattern_customize_blcok(2,1,FALSE,FALSE,(30<<2),(200<<2),(30<<2), E_XC_OP1_PATTERN_TYPE_PURE);
9053*53ee8cc1Swenshuai.xi          u16Val += u16Step;
9054*53ee8cc1Swenshuai.xi          u16Val += u16Step;
9055*53ee8cc1Swenshuai.xi 
9056*53ee8cc1Swenshuai.xi         for(i=0;i<18;i++){
9057*53ee8cc1Swenshuai.xi                if(i==17){
9058*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,TRUE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
9059*53ee8cc1Swenshuai.xi                }
9060*53ee8cc1Swenshuai.xi                else{
9061*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,1,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
9062*53ee8cc1Swenshuai.xi                }
9063*53ee8cc1Swenshuai.xi                u16Val += u16Step;
9064*53ee8cc1Swenshuai.xi         }
9065*53ee8cc1Swenshuai.xi 
9066*53ee8cc1Swenshuai.xi         //no.7----------------------------------------------------------------------
9067*53ee8cc1Swenshuai.xi         //LEFT
9068*53ee8cc1Swenshuai.xi         for(i=0;i<32;i++){
9069*53ee8cc1Swenshuai.xi                if(i==0){
9070*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,16,TRUE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
9071*53ee8cc1Swenshuai.xi                }else if(i== 31){
9072*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,16,FALSE,FALSE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
9073*53ee8cc1Swenshuai.xi                }else{
9074*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,16,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
9075*53ee8cc1Swenshuai.xi                }
9076*53ee8cc1Swenshuai.xi                u16Val += u16Step;
9077*53ee8cc1Swenshuai.xi          }
9078*53ee8cc1Swenshuai.xi 
9079*53ee8cc1Swenshuai.xi         //RIGHT
9080*53ee8cc1Swenshuai.xi         u16Val =0;
9081*53ee8cc1Swenshuai.xi         for(i=0;i<32;i++){
9082*53ee8cc1Swenshuai.xi                if(i==0){
9083*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,16,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
9084*53ee8cc1Swenshuai.xi                }else if(i== 31){
9085*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,16,FALSE,TRUE,1023,1023,1023, E_XC_OP1_PATTERN_TYPE_PURE);
9086*53ee8cc1Swenshuai.xi                }else{
9087*53ee8cc1Swenshuai.xi                    MHal_SC_OP1_Pattern_customize_blcok(1,16,FALSE,FALSE,u16Val,u16Val,u16Val, E_XC_OP1_PATTERN_TYPE_PURE);
9088*53ee8cc1Swenshuai.xi                }
9089*53ee8cc1Swenshuai.xi                u16Val += u16Step;
9090*53ee8cc1Swenshuai.xi          }
9091*53ee8cc1Swenshuai.xi     }
9092*53ee8cc1Swenshuai.xi 
9093*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writedone();
9094*53ee8cc1Swenshuai.xi 
9095*53ee8cc1Swenshuai.xi }
9096*53ee8cc1Swenshuai.xi 
MDrv_SC_OP1_Pure_Color_Tile_Pattern(void * pInstance,MS_U16 u16HTileCnt,MS_U16 u16VTileCnt,MS_U16 u16RVal,MS_U16 u16GVal,MS_U16 u16BVal)9097*53ee8cc1Swenshuai.xi void MDrv_SC_OP1_Pure_Color_Tile_Pattern(void *pInstance, MS_U16 u16HTileCnt, MS_U16 u16VTileCnt, MS_U16 u16RVal, MS_U16 u16GVal, MS_U16 u16BVal)
9098*53ee8cc1Swenshuai.xi {
9099*53ee8cc1Swenshuai.xi     MS_U16 u16HTileSize = 0, u16VTileSize = 0;
9100*53ee8cc1Swenshuai.xi     MS_U16 u16HTotalSize = 0, u16VTotalSize = 0;
9101*53ee8cc1Swenshuai.xi 
9102*53ee8cc1Swenshuai.xi     //clear default pattern
9103*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_pure_color(0x00);
9104*53ee8cc1Swenshuai.xi 
9105*53ee8cc1Swenshuai.xi     //disable border
9106*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_enable_border(FALSE,0x3FF,0x3FF,0x3FF);
9107*53ee8cc1Swenshuai.xi 
9108*53ee8cc1Swenshuai.xi     MDrv_SC_OP1_Align_Width_Height(pInstance, u16HTileCnt, u16VTileCnt, &u16HTotalSize, &u16VTotalSize);
9109*53ee8cc1Swenshuai.xi 
9110*53ee8cc1Swenshuai.xi     u16HTileSize = u16HTotalSize/u16HTileCnt;
9111*53ee8cc1Swenshuai.xi     u16VTileSize = u16VTotalSize/u16VTileCnt;
9112*53ee8cc1Swenshuai.xi     MHal_SC_OP1_PatGen_adjust_frame_size(u16HTotalSize, u16VTotalSize);
9113*53ee8cc1Swenshuai.xi 
9114*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writestart();
9115*53ee8cc1Swenshuai.xi 
9116*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_define_tile(u16HTileSize, u16VTileSize);
9117*53ee8cc1Swenshuai.xi 
9118*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_customize_blcok(u16HTileCnt,(u16VTileCnt-1),true,true,u16RVal,u16GVal,u16BVal,E_XC_OP1_PATTERN_TYPE_PURE);
9119*53ee8cc1Swenshuai.xi 
9120*53ee8cc1Swenshuai.xi     MHal_SC_OP1_Pattern_sram_writedone();
9121*53ee8cc1Swenshuai.xi }
9122*53ee8cc1Swenshuai.xi #endif
9123*53ee8cc1Swenshuai.xi #endif
9124*53ee8cc1Swenshuai.xi 
9125*53ee8cc1Swenshuai.xi #ifndef MSOS_TYPE_NOS
9126*53ee8cc1Swenshuai.xi #undef _GNU_SOURCE // need this _GNU_SOURCE because we need to check tid by "syscall"
9127*53ee8cc1Swenshuai.xi #endif
9128