xref: /utopia/UTPA2-700.0.x/modules/graphic/hal/M7821/gop/regGOP.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi //<MStar Software>
2*53ee8cc1Swenshuai.xi //******************************************************************************
3*53ee8cc1Swenshuai.xi // MStar Software
4*53ee8cc1Swenshuai.xi // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved.
5*53ee8cc1Swenshuai.xi // All software, firmware and related documentation herein ("MStar Software") are
6*53ee8cc1Swenshuai.xi // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by
7*53ee8cc1Swenshuai.xi // law, including, but not limited to, copyright law and international treaties.
8*53ee8cc1Swenshuai.xi // Any use, modification, reproduction, retransmission, or republication of all
9*53ee8cc1Swenshuai.xi // or part of MStar Software is expressly prohibited, unless prior written
10*53ee8cc1Swenshuai.xi // permission has been granted by MStar.
11*53ee8cc1Swenshuai.xi //
12*53ee8cc1Swenshuai.xi // By accessing, browsing and/or using MStar Software, you acknowledge that you
13*53ee8cc1Swenshuai.xi // have read, understood, and agree, to be bound by below terms ("Terms") and to
14*53ee8cc1Swenshuai.xi // comply with all applicable laws and regulations:
15*53ee8cc1Swenshuai.xi //
16*53ee8cc1Swenshuai.xi // 1. MStar shall retain any and all right, ownership and interest to MStar
17*53ee8cc1Swenshuai.xi //    Software and any modification/derivatives thereof.
18*53ee8cc1Swenshuai.xi //    No right, ownership, or interest to MStar Software and any
19*53ee8cc1Swenshuai.xi //    modification/derivatives thereof is transferred to you under Terms.
20*53ee8cc1Swenshuai.xi //
21*53ee8cc1Swenshuai.xi // 2. You understand that MStar Software might include, incorporate or be
22*53ee8cc1Swenshuai.xi //    supplied together with third party`s software and the use of MStar
23*53ee8cc1Swenshuai.xi //    Software may require additional licenses from third parties.
24*53ee8cc1Swenshuai.xi //    Therefore, you hereby agree it is your sole responsibility to separately
25*53ee8cc1Swenshuai.xi //    obtain any and all third party right and license necessary for your use of
26*53ee8cc1Swenshuai.xi //    such third party`s software.
27*53ee8cc1Swenshuai.xi //
28*53ee8cc1Swenshuai.xi // 3. MStar Software and any modification/derivatives thereof shall be deemed as
29*53ee8cc1Swenshuai.xi //    MStar`s confidential information and you agree to keep MStar`s
30*53ee8cc1Swenshuai.xi //    confidential information in strictest confidence and not disclose to any
31*53ee8cc1Swenshuai.xi //    third party.
32*53ee8cc1Swenshuai.xi //
33*53ee8cc1Swenshuai.xi // 4. MStar Software is provided on an "AS IS" basis without warranties of any
34*53ee8cc1Swenshuai.xi //    kind. Any warranties are hereby expressly disclaimed by MStar, including
35*53ee8cc1Swenshuai.xi //    without limitation, any warranties of merchantability, non-infringement of
36*53ee8cc1Swenshuai.xi //    intellectual property rights, fitness for a particular purpose, error free
37*53ee8cc1Swenshuai.xi //    and in conformity with any international standard.  You agree to waive any
38*53ee8cc1Swenshuai.xi //    claim against MStar for any loss, damage, cost or expense that you may
39*53ee8cc1Swenshuai.xi //    incur related to your use of MStar Software.
40*53ee8cc1Swenshuai.xi //    In no event shall MStar be liable for any direct, indirect, incidental or
41*53ee8cc1Swenshuai.xi //    consequential damages, including without limitation, lost of profit or
42*53ee8cc1Swenshuai.xi //    revenues, lost or damage of data, and unauthorized system use.
43*53ee8cc1Swenshuai.xi //    You agree that this Section 4 shall still apply without being affected
44*53ee8cc1Swenshuai.xi //    even if MStar Software has been modified by MStar in accordance with your
45*53ee8cc1Swenshuai.xi //    request or instruction for your use, except otherwise agreed by both
46*53ee8cc1Swenshuai.xi //    parties in writing.
47*53ee8cc1Swenshuai.xi //
48*53ee8cc1Swenshuai.xi // 5. If requested, MStar may from time to time provide technical supports or
49*53ee8cc1Swenshuai.xi //    services in relation with MStar Software to you for your use of
50*53ee8cc1Swenshuai.xi //    MStar Software in conjunction with your or your customer`s product
51*53ee8cc1Swenshuai.xi //    ("Services").
52*53ee8cc1Swenshuai.xi //    You understand and agree that, except otherwise agreed by both parties in
53*53ee8cc1Swenshuai.xi //    writing, Services are provided on an "AS IS" basis and the warranty
54*53ee8cc1Swenshuai.xi //    disclaimer set forth in Section 4 above shall apply.
55*53ee8cc1Swenshuai.xi //
56*53ee8cc1Swenshuai.xi // 6. Nothing contained herein shall be construed as by implication, estoppels
57*53ee8cc1Swenshuai.xi //    or otherwise:
58*53ee8cc1Swenshuai.xi //    (a) conferring any license or right to use MStar name, trademark, service
59*53ee8cc1Swenshuai.xi //        mark, symbol or any other identification;
60*53ee8cc1Swenshuai.xi //    (b) obligating MStar or any of its affiliates to furnish any person,
61*53ee8cc1Swenshuai.xi //        including without limitation, you and your customers, any assistance
62*53ee8cc1Swenshuai.xi //        of any kind whatsoever, or any information; or
63*53ee8cc1Swenshuai.xi //    (c) conferring any license or right under any intellectual property right.
64*53ee8cc1Swenshuai.xi //
65*53ee8cc1Swenshuai.xi // 7. These terms shall be governed by and construed in accordance with the laws
66*53ee8cc1Swenshuai.xi //    of Taiwan, R.O.C., excluding its conflict of law rules.
67*53ee8cc1Swenshuai.xi //    Any and all dispute arising out hereof or related hereto shall be finally
68*53ee8cc1Swenshuai.xi //    settled by arbitration referred to the Chinese Arbitration Association,
69*53ee8cc1Swenshuai.xi //    Taipei in accordance with the ROC Arbitration Law and the Arbitration
70*53ee8cc1Swenshuai.xi //    Rules of the Association by three (3) arbitrators appointed in accordance
71*53ee8cc1Swenshuai.xi //    with the said Rules.
72*53ee8cc1Swenshuai.xi //    The place of arbitration shall be in Taipei, Taiwan and the language shall
73*53ee8cc1Swenshuai.xi //    be English.
74*53ee8cc1Swenshuai.xi //    The arbitration award shall be final and binding to both parties.
75*53ee8cc1Swenshuai.xi //
76*53ee8cc1Swenshuai.xi //******************************************************************************
77*53ee8cc1Swenshuai.xi //<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 #ifndef _REG_GOP_H_
96*53ee8cc1Swenshuai.xi #define _REG_GOP_H_
97*53ee8cc1Swenshuai.xi 
98*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
99*53ee8cc1Swenshuai.xi //  Hardware Capability
100*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
101*53ee8cc1Swenshuai.xi 
102*53ee8cc1Swenshuai.xi 
103*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
104*53ee8cc1Swenshuai.xi //  Macro and Define
105*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
106*53ee8cc1Swenshuai.xi //----------------------------------------------------------------------------
107*53ee8cc1Swenshuai.xi // HW IP Reg Base Adr
108*53ee8cc1Swenshuai.xi //----------------------------------------------------------------------------
109*53ee8cc1Swenshuai.xi #define GOP_REG_BASE                           0x1F00UL
110*53ee8cc1Swenshuai.xi #define GE_REG_BASE                            0x2800UL
111*53ee8cc1Swenshuai.xi #define SC1_REG_BASE                           0x2F00UL
112*53ee8cc1Swenshuai.xi #define CKG_REG_BASE                           0x0B00UL
113*53ee8cc1Swenshuai.xi #define MIU0_REG_BASE                          0x0600UL
114*53ee8cc1Swenshuai.xi #define MIU_REG_BASE                           0x1200UL
115*53ee8cc1Swenshuai.xi #define MIU2_REG_BASE                          0x162000
116*53ee8cc1Swenshuai.xi #define MVOP_REG_BASE                          0x1400UL
117*53ee8cc1Swenshuai.xi #define SC1_DIRREG_BASE                        0x130000UL
118*53ee8cc1Swenshuai.xi #define AFBC_REG_BASE                          0x113100
119*53ee8cc1Swenshuai.xi #define MANUAL_CROP_REG_BASE                   0x137000
120*53ee8cc1Swenshuai.xi 
121*53ee8cc1Swenshuai.xi //----------------------------------------------------------------------------
122*53ee8cc1Swenshuai.xi // Scaler Reg
123*53ee8cc1Swenshuai.xi //----------------------------------------------------------------------------
124*53ee8cc1Swenshuai.xi #define XC_REG(bk, reg)                        (SC1_REG_BASE+((MS_U32)(bk)<<16) + (reg) * 2)
125*53ee8cc1Swenshuai.xi 
126*53ee8cc1Swenshuai.xi #define REG_SC_BK00_00_L                        XC_REG(0x00, 0x00)
127*53ee8cc1Swenshuai.xi #define REG_SC_BK00_05_L                        XC_REG(0x00, 0x05)
128*53ee8cc1Swenshuai.xi #define REG_SC_BK00_06_L                        XC_REG(0x00, 0x06)
129*53ee8cc1Swenshuai.xi #define REG_SC_BK01_02_L                        XC_REG(0x01, 0x02)
130*53ee8cc1Swenshuai.xi #define REG_SC_BK01_05_L                        XC_REG(0x01, 0x05)
131*53ee8cc1Swenshuai.xi #define REG_SC_BK01_1E_L                        XC_REG(0x01, 0x1E)
132*53ee8cc1Swenshuai.xi #define REG_SC_BK01_21_L                        XC_REG(0x01, 0x21)
133*53ee8cc1Swenshuai.xi #define REG_SC_BK02_5F_L                        XC_REG(0x02, 0x5F)
134*53ee8cc1Swenshuai.xi #define REG_SC_BK0F_2B_L                        XC_REG(0x0F, 0x2B)
135*53ee8cc1Swenshuai.xi #define REG_SC_BK10_23_L                        XC_REG(0x10, 0x23)
136*53ee8cc1Swenshuai.xi #define REG_SC_BK10_5B_L                        XC_REG(0x10, 0x5B)
137*53ee8cc1Swenshuai.xi #define REG_SC_BK12_03_L                        XC_REG(0x12, 0x03)
138*53ee8cc1Swenshuai.xi #define REG_SC_BK37_22_L                        XC_REG(0x37, 0x22)
139*53ee8cc1Swenshuai.xi #define REG_SC_BK37_24_L                        XC_REG(0x37, 0x24)
140*53ee8cc1Swenshuai.xi #define REG_SC_BK37_28_L                        XC_REG(0x37, 0x28)
141*53ee8cc1Swenshuai.xi #define REG_SC_BK3D_0D_L                        XC_REG(0x3D, 0x0D)
142*53ee8cc1Swenshuai.xi #define REG_SC_BK40_22_L                        XC_REG(0x40, 0x22)
143*53ee8cc1Swenshuai.xi #define REG_SC_BK40_23_L                        XC_REG(0x40, 0x23)
144*53ee8cc1Swenshuai.xi #define REG_SC_BK40_24_L                        XC_REG(0x40, 0x24)
145*53ee8cc1Swenshuai.xi #define REG_SC_BK40_25_L                        XC_REG(0x40, 0x25)
146*53ee8cc1Swenshuai.xi #define REG_SC_BK7F_10_L                        XC_REG(0x7F, 0x10)
147*53ee8cc1Swenshuai.xi #define REG_SC_BK7F_11_L                        XC_REG(0x7F, 0x11)
148*53ee8cc1Swenshuai.xi #define REG_SC_BK7F_18_L                        XC_REG(0x7F, 0x18)
149*53ee8cc1Swenshuai.xi #define REG_SC_BKC9_50_L                        XC_REG(0xC9, 0x50)
150*53ee8cc1Swenshuai.xi #define REG_SC_BKC9_51_L                        XC_REG(0xC9, 0x51)
151*53ee8cc1Swenshuai.xi #define REG_SC_BKC9_52_L                        XC_REG(0xC9, 0x52)
152*53ee8cc1Swenshuai.xi #define REG_SC_BKCB_48_L                        XC_REG(0xCB, 0x48)
153*53ee8cc1Swenshuai.xi 
154*53ee8cc1Swenshuai.xi #define REG_SC_BK80_05_L                        XC_REG(0x80, 0x05)
155*53ee8cc1Swenshuai.xi 
156*53ee8cc1Swenshuai.xi #define GOP_SC_BANKSEL                          REG_SC_BK00_00_L
157*53ee8cc1Swenshuai.xi #define GOP_SC_CHANNELSYNC                      REG_SC_BK00_05_L
158*53ee8cc1Swenshuai.xi #define GOP_SC1_CHANNELSYNC                      REG_SC_BK80_05_L
159*53ee8cc1Swenshuai.xi #define GOP_SC_GOPEN                            REG_SC_BK00_06_L
160*53ee8cc1Swenshuai.xi #define GOP_SC_IP_SYNC                          REG_SC_BK01_02_L
161*53ee8cc1Swenshuai.xi #define GOP_SC_IP_MAIN_HSTART                   REG_SC_BK01_05_L
162*53ee8cc1Swenshuai.xi #define GOP_SC_IP_MAIN_INTERLACE                REG_SC_BK01_1E_L
163*53ee8cc1Swenshuai.xi #define GOP_SC_IP_MAIN_USR_INTERLACE            REG_SC_BK01_21_L
164*53ee8cc1Swenshuai.xi #define GOP_SC_IP2GOP_SRCSEL                    REG_SC_BK02_5F_L
165*53ee8cc1Swenshuai.xi #define GOP_SC_OSD_CHECK_ALPHA                  REG_SC_BK0F_2B_L
166*53ee8cc1Swenshuai.xi #define GOP_SC_VOPNBL                           REG_SC_BK10_23_L
167*53ee8cc1Swenshuai.xi #define GOP_SC_GOPENMODE1                       REG_SC_BK10_5B_L
168*53ee8cc1Swenshuai.xi #define GOP_SC_MIRRORCFG                        REG_SC_BK12_03_L
169*53ee8cc1Swenshuai.xi #define GOP_SC_OCMIXER                          REG_SC_BK37_22_L
170*53ee8cc1Swenshuai.xi #define GOP_SC_OCMISC                           REG_SC_BK37_24_L
171*53ee8cc1Swenshuai.xi #define GOP_SC_OCALPHA                          REG_SC_BK37_28_L
172*53ee8cc1Swenshuai.xi #define GOP_SC_FRC_LAYER1_L_EN                  REG_SC_BK40_22_L
173*53ee8cc1Swenshuai.xi #define GOP_SC_FRC_LAYER1_R_EN                  REG_SC_BK40_23_L
174*53ee8cc1Swenshuai.xi #define GOP_SC_FRC_LAYER2_L_EN                  REG_SC_BK40_24_L
175*53ee8cc1Swenshuai.xi #define GOP_SC_FRC_LAYER2_R_EN                  REG_SC_BK40_25_L
176*53ee8cc1Swenshuai.xi #define GOP_SC_MIU_SEL                          REG_SC_BK7F_10_L
177*53ee8cc1Swenshuai.xi #define GOP_SC_MIU_IP_SEL                       REG_SC_BK7F_11_L
178*53ee8cc1Swenshuai.xi #define GOP_SC_4K120_EN0                        REG_SC_BKC9_50_L
179*53ee8cc1Swenshuai.xi #define GOP_SC_4K120_EN1                        REG_SC_BKC9_51_L
180*53ee8cc1Swenshuai.xi #define GOP_SC_4K120_EN2                        REG_SC_BKC9_52_L
181*53ee8cc1Swenshuai.xi #define GOP_SC_GOP_HSYNC_START                  REG_SC_BKCB_48_L
182*53ee8cc1Swenshuai.xi //----------------------------------------------------------------------------
183*53ee8cc1Swenshuai.xi // MVOP Reg
184*53ee8cc1Swenshuai.xi //----------------------------------------------------------------------------
185*53ee8cc1Swenshuai.xi #define GOP_MVOP_MIRRORCFG                      (MVOP_REG_BASE+0x76)
186*53ee8cc1Swenshuai.xi 
187*53ee8cc1Swenshuai.xi 
188*53ee8cc1Swenshuai.xi 
189*53ee8cc1Swenshuai.xi //----------------------------------------------------------------------------
190*53ee8cc1Swenshuai.xi // GE Reg
191*53ee8cc1Swenshuai.xi //----------------------------------------------------------------------------
192*53ee8cc1Swenshuai.xi #define GOP_GE_FMT_BLT                          (GE_REG_BASE+(0x01*2))
193*53ee8cc1Swenshuai.xi #define GOP_GE_EN_CMDQ                          BIT(0)
194*53ee8cc1Swenshuai.xi #define GOP_GE_EN_VCMDQ                         BIT(1)
195*53ee8cc1Swenshuai.xi 
196*53ee8cc1Swenshuai.xi #define GOP_GE_VQ_FIFO_STATUS_L                 (GE_REG_BASE+(0x04*2))
197*53ee8cc1Swenshuai.xi #define GOP_GE_VQ_FIFO_STATUS_H                 (GE_REG_BASE+(0x05*2))
198*53ee8cc1Swenshuai.xi 
199*53ee8cc1Swenshuai.xi #define GOP_GE_STATUS                           (GE_REG_BASE+(0x07*2))
200*53ee8cc1Swenshuai.xi #define GOP_GE_BUSY                             BIT(0)
201*53ee8cc1Swenshuai.xi #define GOP_GE_CMDQ1_STATUS                     BMASK(7:3)
202*53ee8cc1Swenshuai.xi #define GOP_GE_CMDQ2_STATUS                     BMASK(15:11)
203*53ee8cc1Swenshuai.xi 
204*53ee8cc1Swenshuai.xi #define GOP_GE_TAG                              (GE_REG_BASE+(0x2C*2))
205*53ee8cc1Swenshuai.xi 
206*53ee8cc1Swenshuai.xi #define GOP_GE_DBBASE0                          (GE_REG_BASE+(0x26*2))
207*53ee8cc1Swenshuai.xi #define GOP_GE_DBBASE1                          (GE_REG_BASE+(0x27*2))
208*53ee8cc1Swenshuai.xi #define GOP_GE_DBPIT                            (GE_REG_BASE+(0x33*2))
209*53ee8cc1Swenshuai.xi #define GOP_GE_FBFMT                            (GE_REG_BASE+(0x34*2))
210*53ee8cc1Swenshuai.xi #define GOP_GE_SRCW                             (GE_REG_BASE+(0x6e*2))
211*53ee8cc1Swenshuai.xi #define GOP_GE_SRCH                             (GE_REG_BASE+(0x6f*2))
212*53ee8cc1Swenshuai.xi 
213*53ee8cc1Swenshuai.xi 
214*53ee8cc1Swenshuai.xi //----------------------------------------------------------------------------
215*53ee8cc1Swenshuai.xi // ChipTop Reg
216*53ee8cc1Swenshuai.xi //----------------------------------------------------------------------------
217*53ee8cc1Swenshuai.xi /* GOP0 and GOP1 CLK */
218*53ee8cc1Swenshuai.xi #define GOP_GOPCLK              (CKG_REG_BASE+(0x40<<1))
219*53ee8cc1Swenshuai.xi #define CKG_GOPG0_DISABLE_CLK   ~(GOP_BIT0)
220*53ee8cc1Swenshuai.xi #define CKG_GOPG0_ODCLK         (0<<2)
221*53ee8cc1Swenshuai.xi #define CKG_GOPG0_IDCLK2        (1 << 2)
222*53ee8cc1Swenshuai.xi #define CKG_GOPG0_IDCLK1        (2 << 2)
223*53ee8cc1Swenshuai.xi #define CKG_GOPG0_OCC_FRCCLK    (3 << 2)
224*53ee8cc1Swenshuai.xi #define CKG_GOPG0_MIXERCLK_VE   (4 << 2)
225*53ee8cc1Swenshuai.xi #define CKG_GOPG0_FCLK          (8 << 2)
226*53ee8cc1Swenshuai.xi #define CKG_GOPG0_DISABLE_CLK_MASK    (GOP_BIT0)
227*53ee8cc1Swenshuai.xi #define CKG_GOPG0_MASK          (GOP_BIT5 | GOP_BIT4 | GOP_BIT3 | GOP_BIT2)
228*53ee8cc1Swenshuai.xi 
229*53ee8cc1Swenshuai.xi #define CKG_GOPG1_DISABLE_CLK   ~(GOP_BIT8)
230*53ee8cc1Swenshuai.xi #define CKG_GOPG1_ODCLK         (0 << 10)
231*53ee8cc1Swenshuai.xi #define CKG_GOPG1_IDCLK2        (1 << 10)
232*53ee8cc1Swenshuai.xi #define CKG_GOPG1_IDCLK1        (2 << 10)
233*53ee8cc1Swenshuai.xi #define CKG_GOPG1_OCC_FRCCLK    (3 << 10)
234*53ee8cc1Swenshuai.xi #define CKG_GOPG1_MIXERCLK_VE   (4 << 10)
235*53ee8cc1Swenshuai.xi #define CKG_GOPG1_FCLK          (8 << 10)
236*53ee8cc1Swenshuai.xi #define CKG_GOPG1_DISABLE_CLK_MASK    (GOP_BIT8)
237*53ee8cc1Swenshuai.xi #define CKG_GOPG1_MASK          (GOP_BIT13 | GOP_BIT12 | GOP_BIT11 | GOP_BIT10)
238*53ee8cc1Swenshuai.xi 
239*53ee8cc1Swenshuai.xi #define CKG_GOPG0_SCALING       (CKG_REG_BASE+0x88)
240*53ee8cc1Swenshuai.xi #define CKG_GOPG0_MG            (CKG_REG_BASE+0xFE)
241*53ee8cc1Swenshuai.xi #define CKG_GOPG0_MG_MASK       (GOP_BIT3 | GOP_BIT2)
242*53ee8cc1Swenshuai.xi #define CKG_GOPG2_MG_MASK       (GOP_BIT7 | GOP_BIT6)
243*53ee8cc1Swenshuai.xi 
244*53ee8cc1Swenshuai.xi /* GOP2 and GOPDWIN CLK */
245*53ee8cc1Swenshuai.xi #define GOP_GOP2CLK             (CKG_REG_BASE+(0x41<<1))
246*53ee8cc1Swenshuai.xi #define CKG_GOPG2_DISABLE_CLK   ~(GOP_BIT0)
247*53ee8cc1Swenshuai.xi #define CKG_GOPG2_ODCLK         (0<<2)
248*53ee8cc1Swenshuai.xi #define CKG_GOPG2_IDCLK2        (1 << 2)
249*53ee8cc1Swenshuai.xi #define CKG_GOPG2_IDCLK1        (2 << 2)
250*53ee8cc1Swenshuai.xi #define CKG_GOPG2_OCC_FRCCLK    (3 << 2)
251*53ee8cc1Swenshuai.xi #define CKG_GOPG2_MIXERCLK_VE   (4 << 2)
252*53ee8cc1Swenshuai.xi #define CKG_GOPG2_FCLK          (8 << 2)
253*53ee8cc1Swenshuai.xi #define CKG_GOPG2_DISABLE_CLK_MASK    (GOP_BIT0)
254*53ee8cc1Swenshuai.xi #define CKG_GOPG2_MASK           (GOP_BIT5 |GOP_BIT4 | GOP_BIT3 | GOP_BIT2)
255*53ee8cc1Swenshuai.xi 
256*53ee8cc1Swenshuai.xi #define CKG_GOPD_CLK_IDCLK2      (0 << 10)
257*53ee8cc1Swenshuai.xi #define CKG_GOPD_CLK_ODCLK       (1 << 10)
258*53ee8cc1Swenshuai.xi #define CKG_GOPD_CLK_DC0CLK      (2 << 10)
259*53ee8cc1Swenshuai.xi #define CKG_GOPD_CLK_SUBDC0CLK   (3 << 10)
260*53ee8cc1Swenshuai.xi #define CKG_GOPD_CLK_MIXERCLK_VE (4 << 10)
261*53ee8cc1Swenshuai.xi #define CKG_GOPD_MASK            (GOP_BIT12 | GOP_BIT11 | GOP_BIT10)
262*53ee8cc1Swenshuai.xi 
263*53ee8cc1Swenshuai.xi 
264*53ee8cc1Swenshuai.xi /* GOP3 CLK*/
265*53ee8cc1Swenshuai.xi #define GOP_GOP3CLK             (CKG_REG_BASE+(0x42<<1))
266*53ee8cc1Swenshuai.xi #define CKG_GOPG3_ODCLK         (0<<2)
267*53ee8cc1Swenshuai.xi #define CKG_GOPG3_IDCLK2        (1 << 2)
268*53ee8cc1Swenshuai.xi #define CKG_GOPG3_IDCLK1        (2 << 2)
269*53ee8cc1Swenshuai.xi #define CKG_GOPG3_OCC_FRCCLK    (3 << 2)
270*53ee8cc1Swenshuai.xi #define CKG_GOPG3_MIXERCLK_VE   (4 << 2)
271*53ee8cc1Swenshuai.xi #define CKG_GOPG3_FCLK          (8 << 2)
272*53ee8cc1Swenshuai.xi #define CKG_GOPG3_DISABLE_CLK_MASK    (GOP_BIT0)
273*53ee8cc1Swenshuai.xi #define CKG_GOPG3_MASK          (GOP_BIT5 | GOP_BIT4 | GOP_BIT3 | GOP_BIT2)
274*53ee8cc1Swenshuai.xi #define CKG_GOPD_DISABLE_CLK   ~(GOP_BIT8)
275*53ee8cc1Swenshuai.xi 
276*53ee8cc1Swenshuai.xi 
277*53ee8cc1Swenshuai.xi /* GOP4 CLK*/
278*53ee8cc1Swenshuai.xi #define GOP_GOP4CLK             (CKG_REG_BASE+(0x7E<<1))
279*53ee8cc1Swenshuai.xi #define CKG_GOPG4_ODCLK         (0 << 10)
280*53ee8cc1Swenshuai.xi #define CKG_GOPG4_IDCLK2        (1 << 10)
281*53ee8cc1Swenshuai.xi #define CKG_GOPG4_IDCLK1        (2 << 10)
282*53ee8cc1Swenshuai.xi #define CKG_GOPG4_OCC_FRCCLK    (3 << 10)
283*53ee8cc1Swenshuai.xi #define CKG_GOPG4_MIXERCLK_VE   (4 << 10)
284*53ee8cc1Swenshuai.xi #define CKG_GOPG4_FCLK          (9 << 10)
285*53ee8cc1Swenshuai.xi #define CKG_GOPG4_DISABLE_CLK_MASK    (GOP_BIT8)
286*53ee8cc1Swenshuai.xi #define CKG_GOPG4_MASK          (GOP_BIT13 |GOP_BIT12 | GOP_BIT11 | GOP_BIT10)
287*53ee8cc1Swenshuai.xi 
288*53ee8cc1Swenshuai.xi 
289*53ee8cc1Swenshuai.xi /* SRAM CLK */
290*53ee8cc1Swenshuai.xi #define GOP_SRAMCLK             (CKG_REG_BASE+(0x43<<1))
291*53ee8cc1Swenshuai.xi #define CKG_SRAM0_DISABLE_CLK   (GOP_BIT0)
292*53ee8cc1Swenshuai.xi #define CKG_SRAM1_DISABLE_CLK   (GOP_BIT8)
293*53ee8cc1Swenshuai.xi #define CKG_SRAM0_MASK          (GOP_BIT0|GOP_BIT1)
294*53ee8cc1Swenshuai.xi #define CKG_SRAM1_MASK          (GOP_BIT8|GOP_BIT9)
295*53ee8cc1Swenshuai.xi 
296*53ee8cc1Swenshuai.xi /* LINE BUFFER SRAM CLK */
297*53ee8cc1Swenshuai.xi #define GOP_LB_SRAMCLK            (CKG_REG_BASE+(0x45<<1))
298*53ee8cc1Swenshuai.xi #define CKG_LB_SRAM1_DISABLE_CLK   (GOP_BIT0)                   /*GOP1*/
299*53ee8cc1Swenshuai.xi #define CKG_LB_SRAM2_DISABLE_CLK   (GOP_BIT4)                   /*GOP2*/
300*53ee8cc1Swenshuai.xi #define CKG_LB_SRAM1_MASK          (GOP_BIT2|GOP_BIT3)
301*53ee8cc1Swenshuai.xi #define CKG_LB_SRAM2_MASK          (GOP_BIT6|GOP_BIT7)
302*53ee8cc1Swenshuai.xi 
303*53ee8cc1Swenshuai.xi /*AFBC CLK*/
304*53ee8cc1Swenshuai.xi #define GOP_AFBCCLK               (CKG_REG_BASE+(0x46<<1))
305*53ee8cc1Swenshuai.xi #define CKG_AFBCCLK_DISABLE_CLK   (GOP_BIT0)
306*53ee8cc1Swenshuai.xi #define CKG_AFBCCLK_432           (0 << 2)
307*53ee8cc1Swenshuai.xi #define CKG_AFBCCLK_216           (1 << 2)
308*53ee8cc1Swenshuai.xi #define CKG_AFBCCLK_DISABLE_CLK_MASK    (GOP_BIT0|GOP_BIT1|GOP_BIT2|GOP_BIT3)
309*53ee8cc1Swenshuai.xi 
310*53ee8cc1Swenshuai.xi //----------------------------------------------------------------------------
311*53ee8cc1Swenshuai.xi // MIU Reg
312*53ee8cc1Swenshuai.xi //----------------------------------------------------------------------------
313*53ee8cc1Swenshuai.xi #define GOP_CLIENT_REG          0x7E
314*53ee8cc1Swenshuai.xi #define GOP_MIU_GROUP           (MIU0_REG_BASE+(GOP_CLIENT_REG*2))
315*53ee8cc1Swenshuai.xi 
316*53ee8cc1Swenshuai.xi #define USE_XCBANK_MIU_SELECT 1
317*53ee8cc1Swenshuai.xi #if USE_XCBANK_MIU_SELECT==1
318*53ee8cc1Swenshuai.xi #define GOP_MIU_GROUP1          REG_SC_BK7F_10_L
319*53ee8cc1Swenshuai.xi #define GOP_MIU_GROUP2          REG_SC_BK7F_18_L
320*53ee8cc1Swenshuai.xi #else
321*53ee8cc1Swenshuai.xi #define GOP_MIU_GROUP1          (MIU_REG_BASE+(GOP_CLIENT_REG*2))
322*53ee8cc1Swenshuai.xi #define GOP_MIU_GROUP2          (MIU2_REG_BASE+(GOP_CLIENT_REG*2))
323*53ee8cc1Swenshuai.xi #endif
324*53ee8cc1Swenshuai.xi 
325*53ee8cc1Swenshuai.xi /*Define each gop miu clint bit*/
326*53ee8cc1Swenshuai.xi #define GOP_MIU_CLIENT_DWIN     0xFF
327*53ee8cc1Swenshuai.xi #define GOP_MIU_CLIENT_GOP0     0x5
328*53ee8cc1Swenshuai.xi #define GOP_MIU_CLIENT_GOP1     0x6
329*53ee8cc1Swenshuai.xi #define GOP_MIU_CLIENT_GOP2     0x7
330*53ee8cc1Swenshuai.xi #define GOP_MIU_CLIENT_GOP3     0x8
331*53ee8cc1Swenshuai.xi #define GOP_MIU_CLIENT_GOP4     0x6
332*53ee8cc1Swenshuai.xi #define GOP_MIU_CLIENT_GOP5     0xff
333*53ee8cc1Swenshuai.xi 
334*53ee8cc1Swenshuai.xi //----------------------------------------------------------------------------
335*53ee8cc1Swenshuai.xi // VE Reg
336*53ee8cc1Swenshuai.xi //----------------------------------------------------------------------------
337*53ee8cc1Swenshuai.xi #define GOP_VE_TVS_OSD_EN           0x60
338*53ee8cc1Swenshuai.xi #define GOP_VE_TVS_OSD1_EN          0x61
339*53ee8cc1Swenshuai.xi 
340*53ee8cc1Swenshuai.xi //----------------------------------------------------------------------------
341*53ee8cc1Swenshuai.xi // GOP Reg
342*53ee8cc1Swenshuai.xi //----------------------------------------------------------------------------
343*53ee8cc1Swenshuai.xi #define GOP_REG(bk, reg)                     (GOP_REG_BASE+((MS_U32)(bk)<<16) + (reg) * 2)
344*53ee8cc1Swenshuai.xi #define __GOP_REG(reg)                       (GOP_REG_BASE+(reg) * 2)
345*53ee8cc1Swenshuai.xi #define GOP_REG_DIRECT_BASE                  (0x120200)
346*53ee8cc1Swenshuai.xi #define GOP_REG_GOP4_BK_OFFSET               0x1900
347*53ee8cc1Swenshuai.xi #define GOP_REG_GOP4_GW_OFFSET               0x1C00
348*53ee8cc1Swenshuai.xi #define GOP_REG_GOP4_ST_OFFSET               0x1D00
349*53ee8cc1Swenshuai.xi 
350*53ee8cc1Swenshuai.xi #define GOP_REG_VAL(x)                       (1<<x)
351*53ee8cc1Swenshuai.xi 
352*53ee8cc1Swenshuai.xi //MUX Setting
353*53ee8cc1Swenshuai.xi #define GOP_MUX_SHIFT                       0x3
354*53ee8cc1Swenshuai.xi #define GOP_REGMUX_MASK                     BMASK((GOP_MUX_SHIFT-1):0)
355*53ee8cc1Swenshuai.xi #define GOP_MUX0_MASK                       (GOP_REGMUX_MASK<<(GOP_MUX_SHIFT*0))
356*53ee8cc1Swenshuai.xi #define GOP_MUX1_MASK                       (GOP_REGMUX_MASK<<(GOP_MUX_SHIFT*1))
357*53ee8cc1Swenshuai.xi #define GOP_MUX2_MASK                       (GOP_REGMUX_MASK<<(GOP_MUX_SHIFT*2))
358*53ee8cc1Swenshuai.xi #define GOP_MUX3_MASK                       (GOP_REGMUX_MASK<<(GOP_MUX_SHIFT*3))
359*53ee8cc1Swenshuai.xi #define GOP_MUX4_MASK                       (GOP_REGMUX_MASK<<(GOP_MUX_SHIFT*4))
360*53ee8cc1Swenshuai.xi 
361*53ee8cc1Swenshuai.xi //IP and VOP MUX Setting
362*53ee8cc1Swenshuai.xi #define GOP_IP_MAIN_MUX_SHIFT                 0
363*53ee8cc1Swenshuai.xi #define GOP_IP_MAIN_MUX_MASK                 (BMASK((GOP_MUX_SHIFT-1):0))<<GOP_IP_MAIN_MUX_SHIFT
364*53ee8cc1Swenshuai.xi #define GOP_IP_SUB_MUX_SHIFT                  3
365*53ee8cc1Swenshuai.xi #define GOP_IP_SUB_MUX_MASK                  (BMASK((GOP_MUX_SHIFT-1):0))<<GOP_IP_SUB_MUX_SHIFT
366*53ee8cc1Swenshuai.xi #define GOP_IP_VOP0_MUX_SHIFT                 6
367*53ee8cc1Swenshuai.xi #define GOP_IP_VOP0_MUX_MASK                 (BMASK((GOP_MUX_SHIFT-1):0))<<GOP_IP_VOP0_MUX_SHIFT
368*53ee8cc1Swenshuai.xi #define GOP_IP_VOP1_MUX_SHIFT                 9
369*53ee8cc1Swenshuai.xi #define GOP_IP_VOP1_MUX_MASK                 (BMASK((GOP_MUX_SHIFT-1):0))<<GOP_IP_VOP1_MUX_SHIFT
370*53ee8cc1Swenshuai.xi 
371*53ee8cc1Swenshuai.xi 
372*53ee8cc1Swenshuai.xi //IP and VOP MUX Setting
373*53ee8cc1Swenshuai.xi #define GOP_Mix_MUX0_SHIFT                    0
374*53ee8cc1Swenshuai.xi #define GOP_Mix_MUX0_MASK                    (BMASK((GOP_MUX_SHIFT-1):0))<<GOP_Mix_MUX0_SHIFT
375*53ee8cc1Swenshuai.xi #define GOP_Mix_MUX1_SHIFT                    3
376*53ee8cc1Swenshuai.xi #define GOP_Mix_MUX1_MASK                    (BMASK((GOP_MUX_SHIFT-1):0))<<GOP_Mix_MUX1_SHIFT
377*53ee8cc1Swenshuai.xi #define GOP_VE0_MUX_SHIFT                     6
378*53ee8cc1Swenshuai.xi #define GOP_VE0_MUX_MASK                     (BMASK((GOP_MUX_SHIFT-1):0))<<GOP_VE0_MUX_SHIFT
379*53ee8cc1Swenshuai.xi #define GOP_VE1_MUX_SHIFT                     9
380*53ee8cc1Swenshuai.xi #define GOP_VE1_MUX_MASK                     (BMASK((GOP_MUX_SHIFT-1):0))<<GOP_VE1_MUX_SHIFT
381*53ee8cc1Swenshuai.xi 
382*53ee8cc1Swenshuai.xi 
383*53ee8cc1Swenshuai.xi //4k2k FRC MUX Setting
384*53ee8cc1Swenshuai.xi #define GOP_FRC_MUX_SHIFT                     0x3
385*53ee8cc1Swenshuai.xi #define GOP_FRC_REGMUX_MASK                   BMASK((GOP_MUX_SHIFT-1):0)
386*53ee8cc1Swenshuai.xi #define GOP_FRC_MUX0_MASK                     (GOP_REGMUX_MASK<<(GOP_MUX_SHIFT*0))
387*53ee8cc1Swenshuai.xi #define GOP_FRC_MUX1_MASK                     (GOP_REGMUX_MASK<<(GOP_MUX_SHIFT*1))
388*53ee8cc1Swenshuai.xi #define GOP_FRC_MUX2_MASK                     (GOP_REGMUX_MASK<<(GOP_MUX_SHIFT*2))
389*53ee8cc1Swenshuai.xi #define GOP_FRC_MUX3_MASK                     (GOP_REGMUX_MASK<<(GOP_MUX_SHIFT*3))
390*53ee8cc1Swenshuai.xi 
391*53ee8cc1Swenshuai.xi //4K@120 MUX Setting
392*53ee8cc1Swenshuai.xi #define GOP_4K120_MUX_COUNT                 3
393*53ee8cc1Swenshuai.xi #define GOP_4K120_MUX_SHIFT                 0x2
394*53ee8cc1Swenshuai.xi #define GOP_4K120_REGMUX_MASK               BMASK((GOP_4K120_MUX_SHIFT-1):0)
395*53ee8cc1Swenshuai.xi #define GOP_4K120_MUX0_MASK                 (GOP_4K120_REGMUX_MASK<<(GOP_4K120_MUX_SHIFT*0))
396*53ee8cc1Swenshuai.xi #define GOP_4K120_MUX1_MASK                 (GOP_4K120_REGMUX_MASK<<(GOP_4K120_MUX_SHIFT*1))
397*53ee8cc1Swenshuai.xi #define GOP_4K120_MUX2_MASK                 (GOP_4K120_REGMUX_MASK<<(GOP_4K120_MUX_SHIFT*2))
398*53ee8cc1Swenshuai.xi #define GOP_4K120MUX_MUX0                   0
399*53ee8cc1Swenshuai.xi #define GOP_4K120MUX_MUX1                   1
400*53ee8cc1Swenshuai.xi #define GOP_4K120MUX_MUX2                   2
401*53ee8cc1Swenshuai.xi 
402*53ee8cc1Swenshuai.xi // for gwin color format mask
403*53ee8cc1Swenshuai.xi #define GOP_REG_COLORTYPE_MASK              BMASK(4:0)
404*53ee8cc1Swenshuai.xi #define GOP_REG_COLORTYPE_SHIFT             4
405*53ee8cc1Swenshuai.xi 
406*53ee8cc1Swenshuai.xi //DIP Setting
407*53ee8cc1Swenshuai.xi #define GOP_DIP_MUX_SHIFT                     12
408*53ee8cc1Swenshuai.xi #define GOP_DIP_MUX_MASK                     (BMASK((GOP_MUX_SHIFT-1):0))<<GOP_DIP_MUX_SHIFT
409*53ee8cc1Swenshuai.xi 
410*53ee8cc1Swenshuai.xi #define GOP_BANK_OFFSET                       0x3
411*53ee8cc1Swenshuai.xi #define GOP_4G_OFST                           0x0
412*53ee8cc1Swenshuai.xi #define GOP_2G_OFST                           (0x1*GOP_BANK_OFFSET)
413*53ee8cc1Swenshuai.xi #define GOP_1G_OFST                           (0x2*GOP_BANK_OFFSET)
414*53ee8cc1Swenshuai.xi #define GOP_1GX_OFST                          (0x3*GOP_BANK_OFFSET)
415*53ee8cc1Swenshuai.xi #define GOP_DW_OFST                           (0x4*GOP_BANK_OFFSET)
416*53ee8cc1Swenshuai.xi #define GOP_1GS0_OFST                         0xE
417*53ee8cc1Swenshuai.xi #define GOP_1GS1_OFST                         0x11
418*53ee8cc1Swenshuai.xi #define GOP_AFBC_OFST                         0x31
419*53ee8cc1Swenshuai.xi #define GOP_CROP_OFST                         0x70
420*53ee8cc1Swenshuai.xi 
421*53ee8cc1Swenshuai.xi #define GOP_OFFSET_WR                       8
422*53ee8cc1Swenshuai.xi #define GOP_VAL_WR                          GOP_REG_VAL(GOP_OFFSET_WR)
423*53ee8cc1Swenshuai.xi #define GOP_OFFSET_FWR                      9
424*53ee8cc1Swenshuai.xi #define GOP_VAL_FWR                         GOP_REG_VAL(GOP_OFFSET_FWR)
425*53ee8cc1Swenshuai.xi #define GOP_OFFSET_FCLR                     11
426*53ee8cc1Swenshuai.xi #define GOP_VAL_FCL                         GOP_REG_VAL(GOP_OFFSET_FCLR)
427*53ee8cc1Swenshuai.xi #define GOP4G_OFFSET_WR_ACK                 12
428*53ee8cc1Swenshuai.xi #define GOP4G_VAL_WR_ACK                    GOP_REG_VAL(GOP4G_OFFSET_WR_ACK)
429*53ee8cc1Swenshuai.xi #define GOP2G_OFFSET_WR_ACK                 13
430*53ee8cc1Swenshuai.xi #define GOP2G_VAL_WR_ACK                    GOP_REG_VAL(GOP2G_OFFSET_WR_ACK)
431*53ee8cc1Swenshuai.xi #define GOPD_OFFSET_WR_ACK                  14
432*53ee8cc1Swenshuai.xi #define GOPD_VAL_WR_ACK                     GOP_REG_VAL(GOPD_OFFSET_WR_ACK)
433*53ee8cc1Swenshuai.xi #define GOP1G_OFFSET_WR_ACK                 15
434*53ee8cc1Swenshuai.xi #define GOP1G_VAL_WR_ACK                    GOP_REG_VAL(GOPD_OFFSET_WR_ACK)
435*53ee8cc1Swenshuai.xi #define GOP_VAL_ACK(x)                      GOP_REG_VAL(GOP4G_OFFSET_WR_ACK+x)
436*53ee8cc1Swenshuai.xi 
437*53ee8cc1Swenshuai.xi #define GOP_4G_CTRL0                        GOP_REG(GOP_4G_OFST, 0x00)
438*53ee8cc1Swenshuai.xi #define GOP_4G_CTRL1                        GOP_REG(GOP_4G_OFST, 0x01)
439*53ee8cc1Swenshuai.xi #define GOP_4G_RATE                         GOP_REG(GOP_4G_OFST, 0x02)
440*53ee8cc1Swenshuai.xi #define GOP_4G_PALDATA_L                    GOP_REG(GOP_4G_OFST, 0x03)
441*53ee8cc1Swenshuai.xi #define GOP_4G_PALDATA_H                    GOP_REG(GOP_4G_OFST, 0x04)
442*53ee8cc1Swenshuai.xi #define GOP_4G_PALCTRL                      GOP_REG(GOP_4G_OFST, 0x05)
443*53ee8cc1Swenshuai.xi #define GOP_4G_REGDMA_END                   GOP_REG(GOP_4G_OFST, 0x06)
444*53ee8cc1Swenshuai.xi #define GOP_4G_REGDMA_STR                   GOP_REG(GOP_4G_OFST, 0x07)
445*53ee8cc1Swenshuai.xi #define GOP_4G_INT                          GOP_REG(GOP_4G_OFST, 0x08)
446*53ee8cc1Swenshuai.xi #define GOP_4G_HWSTATE                      GOP_REG(GOP_4G_OFST, 0x09)
447*53ee8cc1Swenshuai.xi #define GOP_4G_SVM_HSTR                     GOP_REG(GOP_4G_OFST, 0x0a)
448*53ee8cc1Swenshuai.xi #define GOP_4G_SVM_HEND                     GOP_REG(GOP_4G_OFST, 0x0b)
449*53ee8cc1Swenshuai.xi #define GOP_4G_SVM_VSTR                     GOP_REG(GOP_4G_OFST, 0x0c)
450*53ee8cc1Swenshuai.xi #define GOP_4G_SVM_VEND                     GOP_REG(GOP_4G_OFST, 0x0d)
451*53ee8cc1Swenshuai.xi #define GOP_4G_RDMA_HT                      GOP_REG(GOP_4G_OFST, 0x0e)
452*53ee8cc1Swenshuai.xi #define GOP_4G_HS_PIPE                      GOP_REG(GOP_4G_OFST, 0x0f)
453*53ee8cc1Swenshuai.xi #define GOP_4G_SLOW                         GOP_REG(GOP_4G_OFST, 0x10)
454*53ee8cc1Swenshuai.xi #define GOP_4G_BRI                          GOP_REG(GOP_4G_OFST, 0x11)
455*53ee8cc1Swenshuai.xi #define GOP_4G_CON                          GOP_REG(GOP_4G_OFST, 0x12)
456*53ee8cc1Swenshuai.xi #define GOP_4G_BW                           GOP_REG(GOP_4G_OFST, 0x19)
457*53ee8cc1Swenshuai.xi #define GOP_4G_NEW_BW                       GOP_REG(GOP_4G_OFST, 0x1C)
458*53ee8cc1Swenshuai.xi #define GOP_4G_SRAM_BORROW                  GOP_REG(GOP_4G_OFST, 0x1D)
459*53ee8cc1Swenshuai.xi #define GOP_4G_3D_MIDDLE                    GOP_REG(GOP_4G_OFST, 0x1E)
460*53ee8cc1Swenshuai.xi #define GOP_4G_MIU_SEL                      GOP_REG(GOP_4G_OFST, 0x1F)
461*53ee8cc1Swenshuai.xi #define GOP_4G_PRI0                         GOP_REG(GOP_4G_OFST, 0x20)
462*53ee8cc1Swenshuai.xi #define GOP_4G_BOT_HS                       GOP_REG(GOP_4G_OFST, 0x23)
463*53ee8cc1Swenshuai.xi #define GOP_4G_TRSCLR_L                     GOP_REG(GOP_4G_OFST, 0x24)
464*53ee8cc1Swenshuai.xi #define GOP_4G_TRSCLR_H                     GOP_REG(GOP_4G_OFST, 0x25)
465*53ee8cc1Swenshuai.xi #define GOP_4G_TRSCLR_TUV_L                 GOP_REG(GOP_4G_OFST, 0x26)
466*53ee8cc1Swenshuai.xi #define GOP_4G_TRSCLR_TUV_H                 GOP_REG(GOP_4G_OFST, 0x27)
467*53ee8cc1Swenshuai.xi #define GOP_4G_YUV_SWAP                     GOP_REG(GOP_4G_OFST, 0x28)
468*53ee8cc1Swenshuai.xi #define GOP_4G_CROP_HSTART                  GOP_REG(GOP_4G_OFST, 0x2A)
469*53ee8cc1Swenshuai.xi #define GOP_4G_CROP_HEND                    GOP_REG(GOP_4G_OFST, 0x2B)
470*53ee8cc1Swenshuai.xi #define GOP_4G_CROP_VSTART                  GOP_REG(GOP_4G_OFST, 0x2C)
471*53ee8cc1Swenshuai.xi #define GOP_4G_CROP_VEND                    GOP_REG(GOP_4G_OFST, 0x2D)
472*53ee8cc1Swenshuai.xi #define GOP_4G_STRCH_HSZ                    GOP_REG(GOP_4G_OFST, 0x30)
473*53ee8cc1Swenshuai.xi #define GOP_4G_STRCH_VSZ                    GOP_REG(GOP_4G_OFST, 0x31)
474*53ee8cc1Swenshuai.xi #define GOP_4G_STRCH_HSTR                   GOP_REG(GOP_4G_OFST, 0x32)
475*53ee8cc1Swenshuai.xi #define GOP_4G_STRCH_VSTR                   GOP_REG(GOP_4G_OFST, 0x34)
476*53ee8cc1Swenshuai.xi #define GOP_4G_HSTRCH                       GOP_REG(GOP_4G_OFST, 0x35)
477*53ee8cc1Swenshuai.xi #define GOP_4G_VSTRCH                       GOP_REG(GOP_4G_OFST, 0x36)
478*53ee8cc1Swenshuai.xi #define GOP_4G_HSTRCH_INI                   GOP_REG(GOP_4G_OFST, 0x38)
479*53ee8cc1Swenshuai.xi #define GOP_4G_VSTRCH_INI                   GOP_REG(GOP_4G_OFST, 0x39)
480*53ee8cc1Swenshuai.xi #define GOP_4G_HVSTRCHMD                    GOP_REG(GOP_4G_OFST, 0x3a)
481*53ee8cc1Swenshuai.xi #define GOP_4G_OLDADDR                      GOP_REG(GOP_4G_OFST, 0x3b)
482*53ee8cc1Swenshuai.xi #define GOP_4G_MULTI_ALPHA                  GOP_REG(GOP_4G_OFST, 0x3c)
483*53ee8cc1Swenshuai.xi #define GOP_4G_TWO_LINEBUFFER               GOP_4G_MULTI_ALPHA
484*53ee8cc1Swenshuai.xi #define GOP_4G_VIP_VOP_TIMING_SEL           GOP_4G_MULTI_ALPHA
485*53ee8cc1Swenshuai.xi #define GOP_4G_SPLIT_LRSZ                   GOP_REG(GOP_4G_OFST, 0x3E)
486*53ee8cc1Swenshuai.xi #define GOP_4G_HW_USAGE                     GOP_REG(GOP_4G_OFST, 0x40)
487*53ee8cc1Swenshuai.xi #define GOP_4G_BANK_FWR                     GOP_REG(GOP_4G_OFST, 0x50)
488*53ee8cc1Swenshuai.xi #define GOP_4G_BANK_HVAILDSIZE              GOP_REG(GOP_4G_OFST, 0x52)
489*53ee8cc1Swenshuai.xi #define GOP_4G_BANK_VVAILDSIZE              GOP_REG(GOP_4G_OFST, 0x53)
490*53ee8cc1Swenshuai.xi #define GOP_4G_SCALING_H_OUTPUTSIZE         GOP_REG(GOP_4G_OFST, 0x56)
491*53ee8cc1Swenshuai.xi #define GOP_4G_SCALING_HRATIO_L             GOP_REG(GOP_4G_OFST, 0x59)  //GOP scaling down ratio  dst / out * 2^20
492*53ee8cc1Swenshuai.xi #define GOP_4G_SCALING_HRATIO_H             GOP_REG(GOP_4G_OFST, 0x5A)
493*53ee8cc1Swenshuai.xi #define GOP_4G_SCALING_CFG                  GOP_REG(GOP_4G_OFST, 0x5B)
494*53ee8cc1Swenshuai.xi #define GOP_4G_SCALING_VRATIO_L             GOP_REG(GOP_4G_OFST, 0x5C)  //GOP scaling down ratio  dst / out * 2^20
495*53ee8cc1Swenshuai.xi #define GOP_4G_SCALING_VRATIO_H             GOP_REG(GOP_4G_OFST, 0x5D)
496*53ee8cc1Swenshuai.xi #define GOP_4G_MANUAL_CROP1                 GOP_REG(GOP_4G_OFST, 0x6E)
497*53ee8cc1Swenshuai.xi #define GOP_4G_MANUAL_CROP2                 GOP_REG(GOP_4G_OFST, 0x6F)
498*53ee8cc1Swenshuai.xi 
499*53ee8cc1Swenshuai.xi 
500*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK0_VOFFL                  GOP_REG(GOP_4G_OFST, 0x60)
501*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK0_VOFFH                  GOP_REG(GOP_4G_OFST, 0x61)
502*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK1_VOFFL                  GOP_REG(GOP_4G_OFST, 0x62)
503*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK1_VOFFH                  GOP_REG(GOP_4G_OFST, 0x63)
504*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK2_VOFFL                  GOP_REG(GOP_4G_OFST, 0x64)
505*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK2_VOFFH                  GOP_REG(GOP_4G_OFST, 0x65)
506*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK3_VOFFL                  GOP_REG(GOP_4G_OFST, 0x66)
507*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK3_VOFFH                  GOP_REG(GOP_4G_OFST, 0x67)
508*53ee8cc1Swenshuai.xi #define GOP_4G_SLPIT_GUARDBAND              GOP_REG(GOP_4G_OFST, 0x6C)
509*53ee8cc1Swenshuai.xi #define GOP_4G_SLPIT_SHIFT_PIPE             GOP_REG(GOP_4G_OFST, 0x6D)
510*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK0_HOFF                   GOP_REG(GOP_4G_OFST, 0x70)
511*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK1_HOFF                   GOP_REG(GOP_4G_OFST, 0x71)
512*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK2_HOFF                   GOP_REG(GOP_4G_OFST, 0x72)
513*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK3_HOFF                   GOP_REG(GOP_4G_OFST, 0x73)
514*53ee8cc1Swenshuai.xi #define GOP_4G_REGDMA_EN                    GOP_REG(GOP_4G_OFST, 0x78)
515*53ee8cc1Swenshuai.xi #define GOP_4G_SPLIT_LRSZ                   GOP_REG(GOP_4G_OFST, 0x3E)
516*53ee8cc1Swenshuai.xi #define GOP_MUX_IPVOP                       __GOP_REG(0x77)
517*53ee8cc1Swenshuai.xi #define GOP_MUX4_4K120                      __GOP_REG(0x7A)
518*53ee8cc1Swenshuai.xi #define GOP_MUX4_MIX_VE                     __GOP_REG(0x7B)
519*53ee8cc1Swenshuai.xi #define GOP_BAK_SEL_EX                      __GOP_REG(0x7C)
520*53ee8cc1Swenshuai.xi #define GOP_MUX_4K2K                        __GOP_REG(0x7D)
521*53ee8cc1Swenshuai.xi #define GOP_MUX                             __GOP_REG(0x7e)
522*53ee8cc1Swenshuai.xi #define GOP_BAK_SEL                         __GOP_REG(0x7f)
523*53ee8cc1Swenshuai.xi 
524*53ee8cc1Swenshuai.xi #define GOP_4G_GWIN0_CTRL(id)               GOP_REG(GOP_4G_OFST+1, 0x00 + (0x20*((id)%MAX_GOP0_GWIN)))
525*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_RBLK_L(id)              GOP_REG(GOP_4G_OFST+1, 0x01 + (0x20*((id)%MAX_GOP0_GWIN)))
526*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_RBLK_H(id)              GOP_REG(GOP_4G_OFST+1, 0x02 + (0x20*((id)%MAX_GOP0_GWIN)))
527*53ee8cc1Swenshuai.xi #define GOP_4G_DEL_PIXEL(id)                GOP_REG(GOP_4G_OFST+1, 0x03 + (0x20*((id)%MAX_GOP1_GWIN)))
528*53ee8cc1Swenshuai.xi #define GOP_4G_HSTR(id)                     GOP_REG(GOP_4G_OFST+1, 0x04 + (0x20*((id)%MAX_GOP0_GWIN)))
529*53ee8cc1Swenshuai.xi #define GOP_4G_HEND(id)                     GOP_REG(GOP_4G_OFST+1, 0x05 + (0x20*((id)%MAX_GOP0_GWIN)))
530*53ee8cc1Swenshuai.xi #define GOP_4G_VSTR(id)                     GOP_REG(GOP_4G_OFST+1, 0x06 + (0x20*((id)%MAX_GOP0_GWIN)))
531*53ee8cc1Swenshuai.xi #define GOP_4G_GWIN_MIDDLE(id)              GOP_REG(GOP_4G_OFST+1, 0x07 + (0x20*((id)%MAX_GOP0_GWIN)))
532*53ee8cc1Swenshuai.xi #define GOP_4G_VEND(id)                     GOP_REG(GOP_4G_OFST+1, 0x08 + (0x20*((id)%MAX_GOP0_GWIN)))
533*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_RBLK_HSIZE(id)          GOP_REG(GOP_4G_OFST+1, 0x09 + (0x20*((id)%MAX_GOP0_GWIN)))
534*53ee8cc1Swenshuai.xi #define GOP_4G_GWIN_ALPHA01(id)             GOP_REG(GOP_4G_OFST+1, 0x0A + (0x20*((id)%MAX_GOP0_GWIN)))
535*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_VSTR_L(id)              GOP_REG(GOP_4G_OFST+1, 0x0C + (0x20*((id)%MAX_GOP0_GWIN)))
536*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_VSTR_H(id)              GOP_REG(GOP_4G_OFST+1, 0x0D + (0x20*((id)%MAX_GOP0_GWIN)))
537*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_HSTR(id)                GOP_REG(GOP_4G_OFST+1, 0x0E + (0x20*((id)%MAX_GOP0_GWIN)))
538*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_RBLK_SIZE_L(id)         GOP_REG(GOP_4G_OFST+1, 0x10 + (0x20*((id)%MAX_GOP0_GWIN)))
539*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_RBLK_SIZE_H(id)         GOP_REG(GOP_4G_OFST+1, 0x11 + (0x20*((id)%MAX_GOP0_GWIN)))
540*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_RLEN_L(id)              GOP_REG(GOP_4G_OFST+1, 0x12 + (0x20*((id)%MAX_GOP0_GWIN)))
541*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_RLEN_H(id)              GOP_REG(GOP_4G_OFST+1, 0x13 + (0x20*((id)%MAX_GOP0_GWIN)))
542*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_HVSTOP_L(id)            GOP_REG(GOP_4G_OFST+1, 0x14 + (0x20*((id)%MAX_GOP0_GWIN)))
543*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_HVSTOP_H(id)            GOP_REG(GOP_4G_OFST+1, 0x15 + (0x20*((id)%MAX_GOP0_GWIN)))
544*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_FADE(id)                GOP_REG(GOP_4G_OFST+1, 0x16 + (0x20*((id)%MAX_GOP0_GWIN)))
545*53ee8cc1Swenshuai.xi #define GOP_4G_BG_CLR(id)                   GOP_REG(GOP_4G_OFST+1, 0x18 + (0x20*((id)%MAX_GOP0_GWIN)))
546*53ee8cc1Swenshuai.xi #define GOP_4G_BG_HSTR(id)                  GOP_REG(GOP_4G_OFST+1, 0x19 + (0x20*((id)%MAX_GOP0_GWIN)))
547*53ee8cc1Swenshuai.xi #define GOP_4G_BG_HEND(id)                  GOP_REG(GOP_4G_OFST+1, 0x1a + (0x20*((id)%MAX_GOP0_GWIN)))
548*53ee8cc1Swenshuai.xi #define GOP_4G_BG_VSTR(id)                  GOP_REG(GOP_4G_OFST+1, 0x1C + (0x20*((id)%MAX_GOP0_GWIN)))
549*53ee8cc1Swenshuai.xi #define GOP_4G_BG_VEND(id)                  GOP_REG(GOP_4G_OFST+1, 0x1D + (0x20*((id)%MAX_GOP0_GWIN)))
550*53ee8cc1Swenshuai.xi #define GOP_4G_3DOSD_SUB_RBLK_L(id)         GOP_REG(GOP_4G_OFST+1, 0x1E + (0x20*((id)%MAX_GOP0_GWIN)))
551*53ee8cc1Swenshuai.xi #define GOP_4G_3DOSD_SUB_RBLK_H(id)         GOP_REG(GOP_4G_OFST+1, 0x1F + (0x20*((id)%MAX_GOP0_GWIN)))
552*53ee8cc1Swenshuai.xi 
553*53ee8cc1Swenshuai.xi 
554*53ee8cc1Swenshuai.xi #define GOP_2G_CTRL0                        GOP_REG(GOP_2G_OFST, 0x00)
555*53ee8cc1Swenshuai.xi #define GOP_2G_CTRL1                        GOP_REG(GOP_2G_OFST, 0x01)
556*53ee8cc1Swenshuai.xi #define GOP_2G_RATE                         GOP_REG(GOP_2G_OFST, 0x02)
557*53ee8cc1Swenshuai.xi #define GOP_2G_PALDATA_L                    GOP_REG(GOP_2G_OFST, 0x03)
558*53ee8cc1Swenshuai.xi #define GOP_2G_PALDATA_H                    GOP_REG(GOP_2G_OFST, 0x04)
559*53ee8cc1Swenshuai.xi #define GOP_2G_PALCTRL                      GOP_REG(GOP_2G_OFST, 0x05)
560*53ee8cc1Swenshuai.xi #define GOP_2G_REGDMA_END                   GOP_REG(GOP_2G_OFST, 0x06)
561*53ee8cc1Swenshuai.xi #define GOP_2G_REGDMA_STR                   GOP_REG(GOP_2G_OFST, 0x07)
562*53ee8cc1Swenshuai.xi #define GOP_2G_INT                          GOP_REG(GOP_2G_OFST, 0x08)
563*53ee8cc1Swenshuai.xi #define GOP_2G_HWSTATE                      GOP_REG(GOP_2G_OFST, 0x09)
564*53ee8cc1Swenshuai.xi #define GOP_2G_RDMA_HT                      GOP_REG(GOP_2G_OFST, 0x0e)
565*53ee8cc1Swenshuai.xi #define GOP_2G_HS_PIPE                      GOP_REG(GOP_2G_OFST, 0x0f)
566*53ee8cc1Swenshuai.xi #define GOP_2G_SLOW                         GOP_REG(GOP_2G_OFST, 0x10)
567*53ee8cc1Swenshuai.xi #define GOP_2G_BRI                          GOP_REG(GOP_2G_OFST, 0x11)
568*53ee8cc1Swenshuai.xi #define GOP_2G_CON                          GOP_REG(GOP_2G_OFST, 0x12)
569*53ee8cc1Swenshuai.xi #define GOP_2G_BW                           GOP_REG(GOP_2G_OFST, 0x19)
570*53ee8cc1Swenshuai.xi #define GOP_2G_3D_MIDDLE                    GOP_REG(GOP_2G_OFST, 0x1E)
571*53ee8cc1Swenshuai.xi #define GOP_2G_PRI0                         GOP_REG(GOP_2G_OFST, 0x20)
572*53ee8cc1Swenshuai.xi #define GOP_2G_TRSCLR_L                     GOP_REG(GOP_2G_OFST, 0x24)
573*53ee8cc1Swenshuai.xi #define GOP_2G_TRSCLR_H                     GOP_REG(GOP_2G_OFST, 0x25)
574*53ee8cc1Swenshuai.xi #define GOP_2G_STRCH_HSZ                    GOP_REG(GOP_2G_OFST, 0x30)
575*53ee8cc1Swenshuai.xi #define GOP_2G_STRCH_VSZ                    GOP_REG(GOP_2G_OFST, 0x31)
576*53ee8cc1Swenshuai.xi #define GOP_2G_STRCH_HSTR                   GOP_REG(GOP_2G_OFST, 0x32)
577*53ee8cc1Swenshuai.xi #define GOP_2G_STRCH_VSTR                   GOP_REG(GOP_2G_OFST, 0x34)
578*53ee8cc1Swenshuai.xi #define GOP_2G_HSTRCH                       GOP_REG(GOP_2G_OFST, 0x35)
579*53ee8cc1Swenshuai.xi #define GOP_2G_VSTRCH                       GOP_REG(GOP_2G_OFST, 0x36)
580*53ee8cc1Swenshuai.xi #define GOP_2G_HSTRCH_INI                   GOP_REG(GOP_2G_OFST, 0x38)
581*53ee8cc1Swenshuai.xi #define GOP_2G_VSTRCH_INI                   GOP_REG(GOP_2G_OFST, 0x39)
582*53ee8cc1Swenshuai.xi #define GOP_2G_HVStrch_MD                   GOP_REG(GOP_2G_OFST, 0x3a)
583*53ee8cc1Swenshuai.xi #define GOP_2G_OLDADDR                      GOP_REG(GOP_2G_OFST, 0x3b)
584*53ee8cc1Swenshuai.xi #define GOP_2G_MULTI_ALPHA                  GOP_REG(GOP_2G_OFST, 0x3c)
585*53ee8cc1Swenshuai.xi #define GOP_2G_REGDMA_EN                    GOP_REG(GOP_2G_OFST, 0x78)
586*53ee8cc1Swenshuai.xi 
587*53ee8cc1Swenshuai.xi 
588*53ee8cc1Swenshuai.xi #define GOP_2G_GWIN0_CTRL(id)               GOP_REG(GOP_2G_OFST+1, 0x00 + (0x20*((id)%MAX_GOP1_GWIN)))
589*53ee8cc1Swenshuai.xi #define GOP_2G_GWIN_CTRL(id)                GOP_REG(GOP_2G_OFST+1, 0x00 + (0x20*((id)%MAX_GOP1_GWIN)))
590*53ee8cc1Swenshuai.xi #define GOP_2G_DRAM_RBLK_L(id)              GOP_REG(GOP_2G_OFST+1, 0x01 + (0x20*((id)%MAX_GOP1_GWIN)))
591*53ee8cc1Swenshuai.xi #define GOP_2G_DRAM_RBLK_H(id)              GOP_REG(GOP_2G_OFST+1, 0x02 + (0x20*((id)%MAX_GOP1_GWIN)))
592*53ee8cc1Swenshuai.xi #define GOP_2G_DEL_PIXEL(id)                GOP_REG(GOP_2G_OFST+1, 0x03 + (0x20*((id)%MAX_GOP1_GWIN)))
593*53ee8cc1Swenshuai.xi #define GOP_2G_HSTR(id)                     GOP_REG(GOP_2G_OFST+1, 0x04 + (0x20*((id)%MAX_GOP1_GWIN)))
594*53ee8cc1Swenshuai.xi #define GOP_2G_HEND(id)                     GOP_REG(GOP_2G_OFST+1, 0x05 + (0x20*((id)%MAX_GOP1_GWIN)))
595*53ee8cc1Swenshuai.xi #define GOP_2G_VSTR(id)                     GOP_REG(GOP_2G_OFST+1, 0x06 + (0x20*((id)%MAX_GOP1_GWIN)))
596*53ee8cc1Swenshuai.xi #define GOP_2G_VEND(id)                     GOP_REG(GOP_2G_OFST+1, 0x08 + (0x20*((id)%MAX_GOP1_GWIN)))
597*53ee8cc1Swenshuai.xi #define GOP_2G_DRAM_RBLK_HSIZE(id)          GOP_REG(GOP_2G_OFST+1, 0x09 + (0x20*((id)%MAX_GOP1_GWIN)))
598*53ee8cc1Swenshuai.xi #define GOP_2G_GWIN_ALPHA01(id)             GOP_REG(GOP_2G_OFST+1, 0x0A + (0x20*((id)%MAX_GOP1_GWIN)))
599*53ee8cc1Swenshuai.xi #define GOP_2G_DRAM_VSTR_L(id)              GOP_REG(GOP_2G_OFST+1, 0x0C + (0x20*((id)%MAX_GOP1_GWIN)))
600*53ee8cc1Swenshuai.xi #define GOP_2G_DRAM_VSTR_H(id)              GOP_REG(GOP_2G_OFST+1, 0x0D + (0x20*((id)%MAX_GOP1_GWIN)))
601*53ee8cc1Swenshuai.xi #define GOP_2G_DRAM_FADE(id)                GOP_REG(GOP_2G_OFST+1, 0x16 + (0x20*((id)%MAX_GOP1_GWIN)))
602*53ee8cc1Swenshuai.xi #define GOP_2G_3DOSD_SUB_RBLK_L(id)         GOP_REG(GOP_2G_OFST+1, 0x1E + (0x20*((id)%MAX_GOP1_GWIN)))
603*53ee8cc1Swenshuai.xi #define GOP_2G_3DOSD_SUB_RBLK_H(id)         GOP_REG(GOP_2G_OFST+1, 0x1F + (0x20*((id)%MAX_GOP1_GWIN)))
604*53ee8cc1Swenshuai.xi 
605*53ee8cc1Swenshuai.xi // DWIN reg
606*53ee8cc1Swenshuai.xi #define GOP_DW_CTL0_EN                          GOP_REG(GOP_DW_OFST, 0x00)
607*53ee8cc1Swenshuai.xi #define GOP_DWIN_EN                             (0x00)
608*53ee8cc1Swenshuai.xi #define GOP_DWIN_EN_VAL                         GOP_REG_VAL(GOP_DWIN_EN)
609*53ee8cc1Swenshuai.xi #define GOP_DWIN_SHOT                           (0x07)
610*53ee8cc1Swenshuai.xi #define GOP_DWIN_SHOT_VAL                       GOP_REG_VAL(GOP_DWIN_SHOT)
611*53ee8cc1Swenshuai.xi 
612*53ee8cc1Swenshuai.xi #define GOP_DW_LSTR_WBE                         GOP_REG(GOP_DW_OFST, 0x01)
613*53ee8cc1Swenshuai.xi #define GOP_DW_INT_MASK                         GOP_REG(GOP_DW_OFST, 0x02)
614*53ee8cc1Swenshuai.xi #define GOP_DW_DEBUG                            GOP_REG(GOP_DW_OFST, 0x03)
615*53ee8cc1Swenshuai.xi #define GOP_DW_ALPHA                            GOP_REG(GOP_DW_OFST, 0x04)
616*53ee8cc1Swenshuai.xi #define GOP_DW_BW                               GOP_REG(GOP_DW_OFST, 0x05)
617*53ee8cc1Swenshuai.xi #define GOP_DW_VSTR                             GOP_REG(GOP_DW_OFST, 0x10)
618*53ee8cc1Swenshuai.xi #define GOP_DW_HSTR                             GOP_REG(GOP_DW_OFST, 0x11)
619*53ee8cc1Swenshuai.xi #define GOP_DW_VEND                             GOP_REG(GOP_DW_OFST, 0x12)
620*53ee8cc1Swenshuai.xi #define GOP_DW_HEND                             GOP_REG(GOP_DW_OFST, 0x13)
621*53ee8cc1Swenshuai.xi #define GOP_DW_HSIZE                            GOP_REG(GOP_DW_OFST, 0x14)
622*53ee8cc1Swenshuai.xi #define GOP_DW_JMPLEN                           GOP_REG(GOP_DW_OFST, 0x15)
623*53ee8cc1Swenshuai.xi #define GOP_DW_DSTR_L                           GOP_REG(GOP_DW_OFST, 0x16)
624*53ee8cc1Swenshuai.xi #define GOP_DW_DSTR_H                           GOP_REG(GOP_DW_OFST, 0x17)
625*53ee8cc1Swenshuai.xi #define GOP_DW_UB_L                             GOP_REG(GOP_DW_OFST, 0x18)
626*53ee8cc1Swenshuai.xi #define GOP_DW_UB_H                             GOP_REG(GOP_DW_OFST, 0x19)
627*53ee8cc1Swenshuai.xi 
628*53ee8cc1Swenshuai.xi #define GOP_DW_PON_DSTR_L                       GOP_REG(GOP_DW_OFST, 0x1a)
629*53ee8cc1Swenshuai.xi #define GOP_DW_PON_DSTR_H                       GOP_REG(GOP_DW_OFST, 0x1b)
630*53ee8cc1Swenshuai.xi #define GOP_DW_PON_UB_L                         GOP_REG(GOP_DW_OFST, 0x1c)
631*53ee8cc1Swenshuai.xi #define GOP_DW_PON_UB_H                         GOP_REG(GOP_DW_OFST, 0x1d)
632*53ee8cc1Swenshuai.xi #define GOP_DW_FRAME_CTRL                       GOP_REG(GOP_DW_OFST, 0x30)
633*53ee8cc1Swenshuai.xi 
634*53ee8cc1Swenshuai.xi #define GOP_1G_CTRL0                        GOP_REG(GOP_1G_OFST, 0x00)
635*53ee8cc1Swenshuai.xi #define GOP_1G_CTRL1                        GOP_REG(GOP_1G_OFST, 0x01)
636*53ee8cc1Swenshuai.xi #define GOP_1G_RATE                         GOP_REG(GOP_1G_OFST, 0x02)
637*53ee8cc1Swenshuai.xi #define GOP_1G_PALDATA_L                    GOP_REG(GOP_1G_OFST, 0x03)
638*53ee8cc1Swenshuai.xi #define GOP_1G_PALDATA_H                    GOP_REG(GOP_1G_OFST, 0x04)
639*53ee8cc1Swenshuai.xi #define GOP_1G_PALCTRL                      GOP_REG(GOP_1G_OFST, 0x05)
640*53ee8cc1Swenshuai.xi #define GOP_1G_REGDMA_END                   GOP_REG(GOP_1G_OFST, 0x06)
641*53ee8cc1Swenshuai.xi #define GOP_1G_REGDMA_STR                   GOP_REG(GOP_1G_OFST, 0x07)
642*53ee8cc1Swenshuai.xi #define GOP_1G_INT                          GOP_REG(GOP_1G_OFST, 0x08)
643*53ee8cc1Swenshuai.xi #define GOP_1G_HWSTATE                      GOP_REG(GOP_1G_OFST, 0x09)
644*53ee8cc1Swenshuai.xi #define GOP_1G_RDMA_HT                      GOP_REG(GOP_1G_OFST, 0x0e)
645*53ee8cc1Swenshuai.xi #define GOP_1G_HS_PIPE                      GOP_REG(GOP_1G_OFST, 0x0f)
646*53ee8cc1Swenshuai.xi #define GOP_1G_BRI                          GOP_REG(GOP_1G_OFST, 0x11)
647*53ee8cc1Swenshuai.xi #define GOP_1G_CON                          GOP_REG(GOP_1G_OFST, 0x12)
648*53ee8cc1Swenshuai.xi #define GOP_1G_BW                           GOP_REG(GOP_1G_OFST, 0x19)
649*53ee8cc1Swenshuai.xi #define GOP_1G_3D_MIDDLE                    GOP_REG(GOP_1G_OFST, 0x1E)
650*53ee8cc1Swenshuai.xi #define GOP_1G_TRSCLR_L                     GOP_REG(GOP_1G_OFST, 0x24)
651*53ee8cc1Swenshuai.xi #define GOP_1G_TRSCLR_H                     GOP_REG(GOP_1G_OFST, 0x25)
652*53ee8cc1Swenshuai.xi #define GOP_1G_STRCH_HSZ                    GOP_REG(GOP_1G_OFST, 0x30)
653*53ee8cc1Swenshuai.xi #define GOP_1G_STRCH_VSZ                    GOP_REG(GOP_1G_OFST, 0x31)
654*53ee8cc1Swenshuai.xi #define GOP_1G_STRCH_HSTR                   GOP_REG(GOP_1G_OFST, 0x32)
655*53ee8cc1Swenshuai.xi #define GOP_1G_STRCH_VSTR                   GOP_REG(GOP_1G_OFST, 0x34)
656*53ee8cc1Swenshuai.xi #define GOP_1G_HSTRCH                       GOP_REG(GOP_1G_OFST, 0x35)
657*53ee8cc1Swenshuai.xi #define GOP_1G_HSTRCH_INI                   GOP_REG(GOP_1G_OFST, 0x38)
658*53ee8cc1Swenshuai.xi #define GOP_1G_VSTRCH_INI                   GOP_REG(GOP_1G_OFST, 0x39)
659*53ee8cc1Swenshuai.xi #define GOP_1G_HStrch_MD                    GOP_REG(GOP_1G_OFST, 0x3a)
660*53ee8cc1Swenshuai.xi #define GOP_1G_OLDADDR                      GOP_REG(GOP_1G_OFST, 0x3b)
661*53ee8cc1Swenshuai.xi #define GOP_1G_MULTI_ALPHA                  GOP_REG(GOP_1G_OFST, 0x3c)
662*53ee8cc1Swenshuai.xi 
663*53ee8cc1Swenshuai.xi #define GOP_1G_GWIN0_CTRL                   GOP_REG(GOP_1G_OFST+1, 0x0)
664*53ee8cc1Swenshuai.xi #define GOP_1G_DRAM_RBLK_L                  GOP_REG(GOP_1G_OFST+1, 0x1)
665*53ee8cc1Swenshuai.xi #define GOP_1G_DRAM_RBLK_H                  GOP_REG(GOP_1G_OFST+1, 0x2)
666*53ee8cc1Swenshuai.xi #define GOP_1G_DEL_PIXEL                    GOP_REG(GOP_1G_OFST+1, 0x3)
667*53ee8cc1Swenshuai.xi #define GOP_1G_HSTR                         GOP_REG(GOP_1G_OFST+1, 0x4)
668*53ee8cc1Swenshuai.xi #define GOP_1G_HEND                         GOP_REG(GOP_1G_OFST+1, 0x5)
669*53ee8cc1Swenshuai.xi #define GOP_1G_VSTR                         GOP_REG(GOP_1G_OFST+1, 0x6)
670*53ee8cc1Swenshuai.xi #define GOP_1G_VEND                         GOP_REG(GOP_1G_OFST+1, 0x8)
671*53ee8cc1Swenshuai.xi #define GOP_1G_DRAM_RBLK_HSIZE              GOP_REG(GOP_1G_OFST+1, 0x9)
672*53ee8cc1Swenshuai.xi #define GOP_1G_GWIN_ALPHA01                 GOP_REG(GOP_1G_OFST+1, 0xA)
673*53ee8cc1Swenshuai.xi #define GOP_1G_DRAM_VSTR_L                  GOP_REG(GOP_1G_OFST+1, 0x0C)
674*53ee8cc1Swenshuai.xi #define GOP_1G_DRAM_VSTR_H                  GOP_REG(GOP_1G_OFST+1, 0x0D)
675*53ee8cc1Swenshuai.xi #define GOP_1G_DRAM_FADE                    GOP_REG(GOP_1G_OFST+1, 0x16)
676*53ee8cc1Swenshuai.xi #define GOP_1G_3DOSD_SUB_RBLK_L             GOP_REG(GOP_1G_OFST+1, 0x1E)
677*53ee8cc1Swenshuai.xi #define GOP_1G_3DOSD_SUB_RBLK_H             GOP_REG(GOP_1G_OFST+1, 0x1F)
678*53ee8cc1Swenshuai.xi 
679*53ee8cc1Swenshuai.xi #define GOP_1GX_CTRL0                        GOP_REG(GOP_1GX_OFST, 0x00)
680*53ee8cc1Swenshuai.xi #define GOP_1GX_CTRL1                        GOP_REG(GOP_1GX_OFST, 0x01)
681*53ee8cc1Swenshuai.xi #define GOP_1GX_RATE                         GOP_REG(GOP_1GX_OFST, 0x02)
682*53ee8cc1Swenshuai.xi #define GOP_1GX_PALDATA_L                    GOP_REG(GOP_1GX_OFST, 0x03)
683*53ee8cc1Swenshuai.xi #define GOP_1GX_PALDATA_H                    GOP_REG(GOP_1GX_OFST, 0x04)
684*53ee8cc1Swenshuai.xi #define GOP_1GX_PALCTRL                      GOP_REG(GOP_1GX_OFST, 0x05)
685*53ee8cc1Swenshuai.xi #define GOP_1GX_REGDMA_END                   GOP_REG(GOP_1GX_OFST, 0x06)
686*53ee8cc1Swenshuai.xi #define GOP_1GX_REGDMA_STR                   GOP_REG(GOP_1GX_OFST, 0x07)
687*53ee8cc1Swenshuai.xi #define GOP_1GX_INT                          GOP_REG(GOP_1GX_OFST, 0x08)
688*53ee8cc1Swenshuai.xi #define GOP_1GX_HWSTATE                      GOP_REG(GOP_1GX_OFST, 0x09)
689*53ee8cc1Swenshuai.xi #define GOP_1GX_RDMA_HT                      GOP_REG(GOP_1GX_OFST, 0x0e)
690*53ee8cc1Swenshuai.xi #define GOP_1GX_HS_PIPE                      GOP_REG(GOP_1GX_OFST, 0x0f)
691*53ee8cc1Swenshuai.xi #define GOP_1GX_BRI                          GOP_REG(GOP_1GX_OFST, 0x11)
692*53ee8cc1Swenshuai.xi #define GOP_1GX_CON                          GOP_REG(GOP_1GX_OFST, 0x12)
693*53ee8cc1Swenshuai.xi #define GOP_1GX_BW                           GOP_REG(GOP_1GX_OFST, 0x19)
694*53ee8cc1Swenshuai.xi #define GOP_1GX_3D_MIDDLE                    GOP_REG(GOP_1GX_OFST, 0x1E)
695*53ee8cc1Swenshuai.xi #define GOP_1GX_TRSCLR_L                     GOP_REG(GOP_1GX_OFST, 0x24)
696*53ee8cc1Swenshuai.xi #define GOP_1GX_TRSCLR_H                     GOP_REG(GOP_1GX_OFST, 0x25)
697*53ee8cc1Swenshuai.xi #define GOP_1GX_STRCH_HSZ                    GOP_REG(GOP_1GX_OFST, 0x30)
698*53ee8cc1Swenshuai.xi #define GOP_1GX_STRCH_VSZ                    GOP_REG(GOP_1GX_OFST, 0x31)
699*53ee8cc1Swenshuai.xi #define GOP_1GX_STRCH_HSTR                   GOP_REG(GOP_1GX_OFST, 0x32)
700*53ee8cc1Swenshuai.xi #define GOP_1GX_STRCH_VSTR                   GOP_REG(GOP_1GX_OFST, 0x34)
701*53ee8cc1Swenshuai.xi #define GOP_1GX_HSTRCH                       GOP_REG(GOP_1GX_OFST, 0x35)
702*53ee8cc1Swenshuai.xi #define GOP_1GX_HSTRCH_INI                   GOP_REG(GOP_1GX_OFST, 0x38)
703*53ee8cc1Swenshuai.xi #define GOP_1GX_VSTRCH_INI                   GOP_REG(GOP_1GX_OFST, 0x39)
704*53ee8cc1Swenshuai.xi #define GOP_1GX_HStrch_MD                    GOP_REG(GOP_1GX_OFST, 0x3a)
705*53ee8cc1Swenshuai.xi #define GOP_1GX_OLDADDR                      GOP_REG(GOP_1GX_OFST, 0x3b)
706*53ee8cc1Swenshuai.xi #define GOP_1GX_MULTI_ALPHA                  GOP_REG(GOP_1GX_OFST, 0x3c)
707*53ee8cc1Swenshuai.xi 
708*53ee8cc1Swenshuai.xi #define GOP_1GX_GWIN0_CTRL                   GOP_REG(GOP_1GX_OFST+1, 0x00)
709*53ee8cc1Swenshuai.xi #define GOP_1GX_DRAM_RBLK_L                  GOP_REG(GOP_1GX_OFST+1, 0x01)
710*53ee8cc1Swenshuai.xi #define GOP_1GX_DRAM_RBLK_H                  GOP_REG(GOP_1GX_OFST+1, 0x02)
711*53ee8cc1Swenshuai.xi #define GOP_1GX_DEL_PIXEL                    GOP_REG(GOP_1GX_OFST+1, 0x03)
712*53ee8cc1Swenshuai.xi #define GOP_1GX_HSTR                         GOP_REG(GOP_1GX_OFST+1, 0x04)
713*53ee8cc1Swenshuai.xi #define GOP_1GX_HEND                         GOP_REG(GOP_1GX_OFST+1, 0x05)
714*53ee8cc1Swenshuai.xi #define GOP_1GX_VSTR                         GOP_REG(GOP_1GX_OFST+1, 0x06)
715*53ee8cc1Swenshuai.xi #define GOP_1GX_VEND                         GOP_REG(GOP_1GX_OFST+1, 0x08)
716*53ee8cc1Swenshuai.xi #define GOP_1GX_DRAM_RBLK_HSIZE              GOP_REG(GOP_1GX_OFST+1, 0x09)
717*53ee8cc1Swenshuai.xi #define GOP_1GX_GWIN_ALPHA01                 GOP_REG(GOP_1GX_OFST+1, 0x0A)
718*53ee8cc1Swenshuai.xi #define GOP_1GX_DRAM_VSTR_L                  GOP_REG(GOP_1GX_OFST+1, 0x0C)
719*53ee8cc1Swenshuai.xi #define GOP_1GX_DRAM_VSTR_H                  GOP_REG(GOP_1GX_OFST+1, 0x0D)
720*53ee8cc1Swenshuai.xi #define GOP_1GX_DRAM_FADE                    GOP_REG(GOP_1GX_OFST+1, 0x16)
721*53ee8cc1Swenshuai.xi #define GOP_1GX_3DOSD_SUB_RBLK_L             GOP_REG(GOP_1GX_OFST+1, 0x1E)
722*53ee8cc1Swenshuai.xi #define GOP_1GX_3DOSD_SUB_RBLK_H             GOP_REG(GOP_1GX_OFST+1, 0x1F)
723*53ee8cc1Swenshuai.xi 
724*53ee8cc1Swenshuai.xi #define GOP_1GS0_CTRL0                        GOP_REG(GOP_1GS0_OFST, 0x00)
725*53ee8cc1Swenshuai.xi #define GOP_1GS0_CTRL1                        GOP_REG(GOP_1GS0_OFST, 0x01)
726*53ee8cc1Swenshuai.xi #define GOP_1GS0_RATE                         GOP_REG(GOP_1GS0_OFST, 0x02)
727*53ee8cc1Swenshuai.xi #define GOP_1GS0_PALDATA_L                    GOP_REG(GOP_1GS0_OFST, 0x03)
728*53ee8cc1Swenshuai.xi #define GOP_1GS0_PALDATA_H                    GOP_REG(GOP_1GS0_OFST, 0x04)
729*53ee8cc1Swenshuai.xi #define GOP_1GS0_PALCTRL                      GOP_REG(GOP_1GS0_OFST, 0x05)
730*53ee8cc1Swenshuai.xi #define GOP_1GS0_REGDMA_END                   GOP_REG(GOP_1GS0_OFST, 0x06)
731*53ee8cc1Swenshuai.xi #define GOP_1GS0_REGDMA_STR                   GOP_REG(GOP_1GS0_OFST, 0x07)
732*53ee8cc1Swenshuai.xi #define GOP_1GS0_INT                          GOP_REG(GOP_1GS0_OFST, 0x08)
733*53ee8cc1Swenshuai.xi #define GOP_1GS0_HWSTATE                      GOP_REG(GOP_1GS0_OFST, 0x09)
734*53ee8cc1Swenshuai.xi #define GOP_1GS0_RDMA_HT                      GOP_REG(GOP_1GS0_OFST, 0x0e)
735*53ee8cc1Swenshuai.xi #define GOP_1GS0_HS_PIPE                      GOP_REG(GOP_1GS0_OFST, 0x0f)
736*53ee8cc1Swenshuai.xi #define GOP_1GS0_BRI                          GOP_REG(GOP_1GS0_OFST, 0x11)
737*53ee8cc1Swenshuai.xi #define GOP_1GS0_CON                          GOP_REG(GOP_1GS0_OFST, 0x12)
738*53ee8cc1Swenshuai.xi #define GOP_1GS0_BW                           GOP_REG(GOP_1GS0_OFST, 0x19)
739*53ee8cc1Swenshuai.xi #define GOP_1GS0_TRSCLR_L                     GOP_REG(GOP_1GS0_OFST, 0x24)
740*53ee8cc1Swenshuai.xi #define GOP_1GS0_TRSCLR_H                     GOP_REG(GOP_1GS0_OFST, 0x25)
741*53ee8cc1Swenshuai.xi #define GOP_1GS0_STRCH_HSZ                    GOP_REG(GOP_1GS0_OFST, 0x30)
742*53ee8cc1Swenshuai.xi #define GOP_1GS0_STRCH_VSZ                    GOP_REG(GOP_1GS0_OFST, 0x31)
743*53ee8cc1Swenshuai.xi #define GOP_1GS0_STRCH_HSTR                   GOP_REG(GOP_1GS0_OFST, 0x32)
744*53ee8cc1Swenshuai.xi #define GOP_1GS0_STRCH_VSTR                   GOP_REG(GOP_1GS0_OFST, 0x34)
745*53ee8cc1Swenshuai.xi #define GOP_1GS0_HSTRCH                       GOP_REG(GOP_1GS0_OFST, 0x35)
746*53ee8cc1Swenshuai.xi #define GOP_1GS0_HSTRCH_INI                   GOP_REG(GOP_1GS0_OFST, 0x38)
747*53ee8cc1Swenshuai.xi #define GOP_1GS0_VSTRCH_INI                   GOP_REG(GOP_1GS0_OFST, 0x39)
748*53ee8cc1Swenshuai.xi #define GOP_1GS0_HVStrch_MD                    GOP_REG(GOP_1GS0_OFST, 0x3a)
749*53ee8cc1Swenshuai.xi #define GOP_1GS0_OLDADDR                      GOP_REG(GOP_1GS0_OFST, 0x3b)
750*53ee8cc1Swenshuai.xi #define GOP_1GS0_MULTI_ALPHA                  GOP_REG(GOP_1GS0_OFST, 0x3c)
751*53ee8cc1Swenshuai.xi 
752*53ee8cc1Swenshuai.xi #define GOP_1GS0_GWIN0_CTRL                   GOP_REG(GOP_1GS0_OFST+1, 0x00)
753*53ee8cc1Swenshuai.xi #define GOP_1GS0_DRAM_RBLK_L                  GOP_REG(GOP_1GS0_OFST+1, 0x01)
754*53ee8cc1Swenshuai.xi #define GOP_1GS0_DRAM_RBLK_H                  GOP_REG(GOP_1GS0_OFST+1, 0x02)
755*53ee8cc1Swenshuai.xi #define GOP_1GS0_DEL_PIXEL                    GOP_REG(GOP_1GS0_OFST+1, 0x03)
756*53ee8cc1Swenshuai.xi #define GOP_1GS0_HSTR                         GOP_REG(GOP_1GS0_OFST+1, 0x04)
757*53ee8cc1Swenshuai.xi #define GOP_1GS0_HEND                         GOP_REG(GOP_1GS0_OFST+1, 0x05)
758*53ee8cc1Swenshuai.xi #define GOP_1GS0_VSTR                         GOP_REG(GOP_1GS0_OFST+1, 0x06)
759*53ee8cc1Swenshuai.xi #define GOP_1GS0_VEND                         GOP_REG(GOP_1GS0_OFST+1, 0x08)
760*53ee8cc1Swenshuai.xi #define GOP_1GS0_DRAM_RBLK_HSIZE              GOP_REG(GOP_1GS0_OFST+1, 0x09)
761*53ee8cc1Swenshuai.xi #define GOP_1GS0_GWIN_ALPHA01                 GOP_REG(GOP_1GS0_OFST+1, 0x0A)
762*53ee8cc1Swenshuai.xi #define GOP_1GS0_DRAM_VSTR_L                  GOP_REG(GOP_1GS0_OFST+1, 0x0C)
763*53ee8cc1Swenshuai.xi #define GOP_1GS0_DRAM_VSTR_H                  GOP_REG(GOP_1GS0_OFST+1, 0x0D)
764*53ee8cc1Swenshuai.xi #define GOP_1GS0_DRAM_FADE                    GOP_REG(GOP_1GS0_OFST+1, 0x16)
765*53ee8cc1Swenshuai.xi #define GOP_1GS0_3DOSD_SUB_RBLK_L             GOP_REG(GOP_1GS0_OFST+1, 0x1E)
766*53ee8cc1Swenshuai.xi #define GOP_1GS0_3DOSD_SUB_RBLK_H             GOP_REG(GOP_1GS0_OFST+1, 0x1F)
767*53ee8cc1Swenshuai.xi 
768*53ee8cc1Swenshuai.xi #define GOP_1GS1_CTRL0                        GOP_REG(GOP_1GS1_OFST, 0x00)
769*53ee8cc1Swenshuai.xi #define GOP_1GS1_CTRL1                        GOP_REG(GOP_1GS1_OFST, 0x01)
770*53ee8cc1Swenshuai.xi #define GOP_1GS1_RATE                         GOP_REG(GOP_1GS1_OFST, 0x02)
771*53ee8cc1Swenshuai.xi #define GOP_1GS1_PALDATA_L                    GOP_REG(GOP_1GS1_OFST, 0x03)
772*53ee8cc1Swenshuai.xi #define GOP_1GS1_PALDATA_H                    GOP_REG(GOP_1GS1_OFST, 0x04)
773*53ee8cc1Swenshuai.xi #define GOP_1GS1_PALCTRL                      GOP_REG(GOP_1GS1_OFST, 0x05)
774*53ee8cc1Swenshuai.xi #define GOP_1GS1_REGDMA_END                   GOP_REG(GOP_1GS1_OFST, 0x06)
775*53ee8cc1Swenshuai.xi #define GOP_1GS1_REGDMA_STR                   GOP_REG(GOP_1GS1_OFST, 0x07)
776*53ee8cc1Swenshuai.xi #define GOP_1GS1_INT                          GOP_REG(GOP_1GS1_OFST, 0x08)
777*53ee8cc1Swenshuai.xi #define GOP_1GS1_HWSTATE                      GOP_REG(GOP_1GS1_OFST, 0x09)
778*53ee8cc1Swenshuai.xi #define GOP_1GS1_RDMA_HT                      GOP_REG(GOP_1GS1_OFST, 0x0e)
779*53ee8cc1Swenshuai.xi #define GOP_1GS1_HS_PIPE                      GOP_REG(GOP_1GS1_OFST, 0x0f)
780*53ee8cc1Swenshuai.xi #define GOP_1GS1_BRI                          GOP_REG(GOP_1GS1_OFST, 0x11)
781*53ee8cc1Swenshuai.xi #define GOP_1GS1_CON                          GOP_REG(GOP_1GS1_OFST, 0x12)
782*53ee8cc1Swenshuai.xi #define GOP_1GS1_BW                           GOP_REG(GOP_1GS1_OFST, 0x19)
783*53ee8cc1Swenshuai.xi #define GOP_1GS1_TRSCLR_L                     GOP_REG(GOP_1GS1_OFST, 0x24)
784*53ee8cc1Swenshuai.xi #define GOP_1GS1_TRSCLR_H                     GOP_REG(GOP_1GS1_OFST, 0x25)
785*53ee8cc1Swenshuai.xi #define GOP_1GS1_STRCH_HSZ                    GOP_REG(GOP_1GS1_OFST, 0x30)
786*53ee8cc1Swenshuai.xi #define GOP_1GS1_STRCH_VSZ                    GOP_REG(GOP_1GS1_OFST, 0x31)
787*53ee8cc1Swenshuai.xi #define GOP_1GS1_STRCH_HSTR                   GOP_REG(GOP_1GS1_OFST, 0x32)
788*53ee8cc1Swenshuai.xi #define GOP_1GS1_STRCH_VSTR                   GOP_REG(GOP_1GS1_OFST, 0x34)
789*53ee8cc1Swenshuai.xi #define GOP_1GS1_HSTRCH                       GOP_REG(GOP_1GS1_OFST, 0x35)
790*53ee8cc1Swenshuai.xi #define GOP_1GS1_HSTRCH_INI                   GOP_REG(GOP_1GS1_OFST, 0x38)
791*53ee8cc1Swenshuai.xi #define GOP_1GS1_VSTRCH_INI                   GOP_REG(GOP_1GS1_OFST, 0x39)
792*53ee8cc1Swenshuai.xi #define GOP_1GS1_HVStrch_MD                    GOP_REG(GOP_1GS1_OFST, 0x3a)
793*53ee8cc1Swenshuai.xi #define GOP_1GS1_OLDADDR                      GOP_REG(GOP_1GS1_OFST, 0x3b)
794*53ee8cc1Swenshuai.xi #define GOP_1GS1_MULTI_ALPHA                  GOP_REG(GOP_1GS1_OFST, 0x3c)
795*53ee8cc1Swenshuai.xi 
796*53ee8cc1Swenshuai.xi #define GOP_1GS1_GWIN0_CTRL                   GOP_REG(GOP_1GS1_OFST+1, 0x00)
797*53ee8cc1Swenshuai.xi #define GOP_1GS1_DRAM_RBLK_L                  GOP_REG(GOP_1GS1_OFST+1, 0x01)
798*53ee8cc1Swenshuai.xi #define GOP_1GS1_DRAM_RBLK_H                  GOP_REG(GOP_1GS1_OFST+1, 0x02)
799*53ee8cc1Swenshuai.xi #define GOP_1GS1_DEL_PIXEL                    GOP_REG(GOP_1GS1_OFST+1, 0x03)
800*53ee8cc1Swenshuai.xi #define GOP_1GS1_HSTR                         GOP_REG(GOP_1GS1_OFST+1, 0x04)
801*53ee8cc1Swenshuai.xi #define GOP_1GS1_HEND                         GOP_REG(GOP_1GS1_OFST+1, 0x05)
802*53ee8cc1Swenshuai.xi #define GOP_1GS1_VSTR                         GOP_REG(GOP_1GS1_OFST+1, 0x06)
803*53ee8cc1Swenshuai.xi #define GOP_1GS1_VEND                         GOP_REG(GOP_1GS1_OFST+1, 0x08)
804*53ee8cc1Swenshuai.xi #define GOP_1GS1_DRAM_RBLK_HSIZE              GOP_REG(GOP_1GS1_OFST+1, 0x09)
805*53ee8cc1Swenshuai.xi #define GOP_1GS1_GWIN_ALPHA01                 GOP_REG(GOP_1GS1_OFST+1, 0x0A)
806*53ee8cc1Swenshuai.xi #define GOP_1GS1_DRAM_VSTR_L                  GOP_REG(GOP_1GS1_OFST+1, 0x0C)
807*53ee8cc1Swenshuai.xi #define GOP_1GS1_DRAM_VSTR_H                  GOP_REG(GOP_1GS1_OFST+1, 0x0D)
808*53ee8cc1Swenshuai.xi #define GOP_1GS1_DRAM_FADE                    GOP_REG(GOP_1GS1_OFST+1, 0x16)
809*53ee8cc1Swenshuai.xi #define GOP_1GS1_3DOSD_SUB_RBLK_L             GOP_REG(GOP_1GS1_OFST+1, 0x1E)
810*53ee8cc1Swenshuai.xi #define GOP_1GS1_3DOSD_SUB_RBLK_H             GOP_REG(GOP_1GS1_OFST+1, 0x1F)
811*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
812*53ee8cc1Swenshuai.xi //  Type and Structure
813*53ee8cc1Swenshuai.xi //-------------------------------------------------------------------------------------------------
814*53ee8cc1Swenshuai.xi 
815*53ee8cc1Swenshuai.xi //----------------------------------------------------------------------------
816*53ee8cc1Swenshuai.xi // GOP Test Pattern Reg
817*53ee8cc1Swenshuai.xi //----------------------------------------------------------------------------
818*53ee8cc1Swenshuai.xi #define REG_TSTCLR_EN                       GOP_REG(GOP_4G_OFST, 0x00)
819*53ee8cc1Swenshuai.xi #define REG_TSTCLR_ALPHA_EN                 GOP_REG(GOP_4G_OFST+2, 0x00)
820*53ee8cc1Swenshuai.xi #define REG_TLB_TAG_ADDR_L                  GOP_REG(GOP_4G_OFST+2, 0x2C)
821*53ee8cc1Swenshuai.xi #define REG_TLB_TAG_ADDR_H                  GOP_REG(GOP_4G_OFST+2, 0x2D)
822*53ee8cc1Swenshuai.xi #define REG_TLB_TAG_ADDR_RVIEW_L            GOP_REG(GOP_4G_OFST+2, 0x2E)
823*53ee8cc1Swenshuai.xi #define REG_TLB_TAG_ADDR_RVIEW_H            GOP_REG(GOP_4G_OFST+2, 0x2F)
824*53ee8cc1Swenshuai.xi #define REG_TSTCLR_ALPHA                    GOP_REG(GOP_4G_OFST+2, 0x40)
825*53ee8cc1Swenshuai.xi #define REG_R_STC                           GOP_REG(GOP_4G_OFST+2, 0x41)
826*53ee8cc1Swenshuai.xi #define REG_G_STC                           GOP_REG(GOP_4G_OFST+2, 0x48)
827*53ee8cc1Swenshuai.xi #define REG_B_STC                           GOP_REG(GOP_4G_OFST+2, 0x49)
828*53ee8cc1Swenshuai.xi #define REG_TSTCLR_HDUP                     GOP_REG(GOP_4G_OFST+2, 0x01)
829*53ee8cc1Swenshuai.xi #define REG_TSTCLR_VDUP                     GOP_REG(GOP_4G_OFST+2, 0x01)
830*53ee8cc1Swenshuai.xi #define REG_HR_INC                          GOP_REG(GOP_4G_OFST+2, 0x42)
831*53ee8cc1Swenshuai.xi #define REG_HR_INC_SIGNZ                    GOP_REG(GOP_4G_OFST+2, 0x42)
832*53ee8cc1Swenshuai.xi #define REG_HG_INC                          GOP_REG(GOP_4G_OFST+2, 0x43)
833*53ee8cc1Swenshuai.xi #define REG_HG_INC_SIGNZ                    GOP_REG(GOP_4G_OFST+2, 0x43)
834*53ee8cc1Swenshuai.xi #define REG_HB_INC                          GOP_REG(GOP_4G_OFST+2, 0x44)
835*53ee8cc1Swenshuai.xi #define REG_HB_INC_SIGNZ                    GOP_REG(GOP_4G_OFST+2, 0x44)
836*53ee8cc1Swenshuai.xi #define REG_HR_STEP                         GOP_REG(GOP_4G_OFST+2, 0x4A)
837*53ee8cc1Swenshuai.xi #define REG_HG_STEP                         GOP_REG(GOP_4G_OFST+2, 0x4B)
838*53ee8cc1Swenshuai.xi #define REG_HB_STEP                         GOP_REG(GOP_4G_OFST+2, 0x4C)
839*53ee8cc1Swenshuai.xi #define REG_VR_INC                          GOP_REG(GOP_4G_OFST+2, 0x45)
840*53ee8cc1Swenshuai.xi #define REG_VR_INC_SIGNZ                    GOP_REG(GOP_4G_OFST+2, 0x45)
841*53ee8cc1Swenshuai.xi #define REG_VG_INC                          GOP_REG(GOP_4G_OFST+2, 0x46)
842*53ee8cc1Swenshuai.xi #define REG_VG_INC_SIGNZ                    GOP_REG(GOP_4G_OFST+2, 0x46)
843*53ee8cc1Swenshuai.xi #define REG_VB_INC                          GOP_REG(GOP_4G_OFST+2, 0x47)
844*53ee8cc1Swenshuai.xi #define REG_VB_INC_SIGNZ                    GOP_REG(GOP_4G_OFST+2, 0x47)
845*53ee8cc1Swenshuai.xi #define REG_VR_STEP                         GOP_REG(GOP_4G_OFST+2, 0x4D)
846*53ee8cc1Swenshuai.xi #define REG_VG_STEP                         GOP_REG(GOP_4G_OFST+2, 0x4E)
847*53ee8cc1Swenshuai.xi #define REG_VB_STEP                         GOP_REG(GOP_4G_OFST+2, 0x4F)
848*53ee8cc1Swenshuai.xi #define REG_TLB_BASE_ADDR_L                 GOP_REG(GOP_4G_OFST+2, 0x58)
849*53ee8cc1Swenshuai.xi #define REG_TLB_BASE_ADDR_H                 GOP_REG(GOP_4G_OFST+2, 0x59)
850*53ee8cc1Swenshuai.xi #define REG_TLB_BASE_ADDR_RVIEW_L           GOP_REG(GOP_4G_OFST+2, 0x5A)
851*53ee8cc1Swenshuai.xi #define REG_TLB_BASE_ADDR_RVIEW_H           GOP_REG(GOP_4G_OFST+2, 0x5B)
852*53ee8cc1Swenshuai.xi 
853*53ee8cc1Swenshuai.xi #define MASK_TSTCLR_EN                      GOP_BIT6
854*53ee8cc1Swenshuai.xi #define MASK_TSTCLR_ALPHA_EN                GOP_BIT1
855*53ee8cc1Swenshuai.xi #define MASK_TSTCLR_ALPHA                   BMASK(11:8)|BMASK(3:0)
856*53ee8cc1Swenshuai.xi #define MASK_RGB_STC_VALID                  BMASK(7:0)
857*53ee8cc1Swenshuai.xi #define MASK_R_STC                          BMASK(11:8)|BMASK(3:0)
858*53ee8cc1Swenshuai.xi #define MASK_G_STC                          BMASK(11:8)|BMASK(3:0)
859*53ee8cc1Swenshuai.xi #define MASK_B_STC                          BMASK(11:8)|BMASK(3:0)
860*53ee8cc1Swenshuai.xi #define MASK_INI_TSTCLR_EN                  GOP_BIT0
861*53ee8cc1Swenshuai.xi #define MASK_TSTCLR_HDUP                    BMASK(3:2)
862*53ee8cc1Swenshuai.xi #define MASK_TSTCLR_VDUP                    BMASK(1:0)
863*53ee8cc1Swenshuai.xi #define MASK_HR_INC                         BMASK(10:8)|BMASK(3:0)
864*53ee8cc1Swenshuai.xi #define MASK_HR_INC_SIGNZ                   GOP_BIT11
865*53ee8cc1Swenshuai.xi #define MASK_HG_INC                         BMASK(10:8)|BMASK(3:0)
866*53ee8cc1Swenshuai.xi #define MASK_HG_INC_SIGNZ                   GOP_BIT11
867*53ee8cc1Swenshuai.xi #define MASK_HB_INC                         BMASK(10:8)|BMASK(3:0)
868*53ee8cc1Swenshuai.xi #define MASK_HB_INC_SIGNZ                   GOP_BIT11
869*53ee8cc1Swenshuai.xi #define MASK_HR_STEP                        BMASK(11:8)|BMASK(3:0)
870*53ee8cc1Swenshuai.xi #define MASK_HG_STEP                        BMASK(11:8)|BMASK(3:0)
871*53ee8cc1Swenshuai.xi #define MASK_HB_STEP                        BMASK(11:8)|BMASK(3:0)
872*53ee8cc1Swenshuai.xi #define MASK_VR_INC                         BMASK(10:8)|BMASK(3:0)
873*53ee8cc1Swenshuai.xi #define MASK_VR_INC_SIGNZ                   GOP_BIT11
874*53ee8cc1Swenshuai.xi #define MASK_VG_INC                         BMASK(10:8)|BMASK(3:0)
875*53ee8cc1Swenshuai.xi #define MASK_VG_INC_SIGNZ                   GOP_BIT11
876*53ee8cc1Swenshuai.xi #define MASK_VB_INC                         BMASK(10:8)|BMASK(3:0)
877*53ee8cc1Swenshuai.xi #define MASK_VB_INC_SIGNZ                   GOP_BIT11
878*53ee8cc1Swenshuai.xi #define MASK_VR_STEP                        BMASK(11:8)|BMASK(3:0)
879*53ee8cc1Swenshuai.xi #define MASK_VG_STEP                        BMASK(11:8)|BMASK(3:0)
880*53ee8cc1Swenshuai.xi #define MASK_VB_STEP                        BMASK(11:8)|BMASK(3:0)
881*53ee8cc1Swenshuai.xi 
882*53ee8cc1Swenshuai.xi #define SHIFT_TSTCLR_EN                     6
883*53ee8cc1Swenshuai.xi #define SHIFT_TSTCLR_ALPHA_EN               1
884*53ee8cc1Swenshuai.xi #define SHIFT_TSTCLR_ALPHA                  8
885*53ee8cc1Swenshuai.xi #define SHIFT_R_STC                         0
886*53ee8cc1Swenshuai.xi #define SHIFT_G_STC                         0
887*53ee8cc1Swenshuai.xi #define SHIFT_B_STC                         0
888*53ee8cc1Swenshuai.xi #define SHIFT_INI_TSTCLR_EN                 0
889*53ee8cc1Swenshuai.xi #define SHIFT_TSTCLR_HDUP                   2
890*53ee8cc1Swenshuai.xi #define SHIFT_TSTCLR_VDUP                   0
891*53ee8cc1Swenshuai.xi #define SHIFT_HR_INC                        0
892*53ee8cc1Swenshuai.xi #define SHIFT_HR_INC_SIGNZ                  11
893*53ee8cc1Swenshuai.xi #define SHIFT_HG_INC                        0
894*53ee8cc1Swenshuai.xi #define SHIFT_HG_INC_SIGNZ                  11
895*53ee8cc1Swenshuai.xi #define SHIFT_HB_INC                        0
896*53ee8cc1Swenshuai.xi #define SHIFT_HB_INC_SIGNZ                  11
897*53ee8cc1Swenshuai.xi #define SHIFT_HR_STEP                       0
898*53ee8cc1Swenshuai.xi #define SHIFT_HG_STEP                       0
899*53ee8cc1Swenshuai.xi #define SHIFT_HB_STEP                       0
900*53ee8cc1Swenshuai.xi #define SHIFT_VR_INC                        0
901*53ee8cc1Swenshuai.xi #define SHIFT_VR_INC_SIGNZ                  11
902*53ee8cc1Swenshuai.xi #define SHIFT_VG_INC                        0
903*53ee8cc1Swenshuai.xi #define SHIFT_VG_INC_SIGNZ                  11
904*53ee8cc1Swenshuai.xi #define SHIFT_VB_INC                        0
905*53ee8cc1Swenshuai.xi #define SHIFT_VB_INC_SIGNZ                  11
906*53ee8cc1Swenshuai.xi #define SHIFT_VR_STEP                       0
907*53ee8cc1Swenshuai.xi #define SHIFT_VG_STEP                       0
908*53ee8cc1Swenshuai.xi #define SHIFT_VB_STEP                       0
909*53ee8cc1Swenshuai.xi 
910*53ee8cc1Swenshuai.xi //----------------------------------------------------------------------------
911*53ee8cc1Swenshuai.xi // GOP AFBC Reg
912*53ee8cc1Swenshuai.xi //----------------------------------------------------------------------------
913*53ee8cc1Swenshuai.xi #define REG_AFBC_CORE_EN(id)                    GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x00+(0x20*id))
914*53ee8cc1Swenshuai.xi #define REG_AFBC_ADDR_L(id)                     GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x01+(0x20*id))
915*53ee8cc1Swenshuai.xi #define REG_AFBC_ADDR_H(id)                     GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x02+(0x20*id))
916*53ee8cc1Swenshuai.xi #define REG_AFBC_FMT(id)                        GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x0C+(0x20*id))
917*53ee8cc1Swenshuai.xi #define REG_AFBC_WIDTH(id)                      GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x0A+(0x20*id))
918*53ee8cc1Swenshuai.xi #define REG_AFBC_HEIGHT(id)                     GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x0B+(0x20*id))
919*53ee8cc1Swenshuai.xi #define REG_AFBC_RESP(id)                       GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x0F+(0x20*id))
920*53ee8cc1Swenshuai.xi #define REG_AFBC_MIU                            GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x43)
921*53ee8cc1Swenshuai.xi #define REG_AFBC_DEBUG(id)                      GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x44+(0x20*id))
922*53ee8cc1Swenshuai.xi #define REG_AFBC_READCNT(id)                    GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x4C+(0x20*id))
923*53ee8cc1Swenshuai.xi #define REG_AFBC_TRIGGER                        GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x50)
924*53ee8cc1Swenshuai.xi 
925*53ee8cc1Swenshuai.xi 
926*53ee8cc1Swenshuai.xi #define REG_SC_BK70_00(gop_id)                XC_REG(0x70, 0x00 + (0x20 * gop_id))
927*53ee8cc1Swenshuai.xi #define REG_SC_BK70_07(gop_id)                XC_REG(0x70, 0x07 + (0x20 * gop_id))
928*53ee8cc1Swenshuai.xi #define REG_SC_BK70_08(gop_id)                XC_REG(0x70, 0x08 + (0x20 * gop_id))
929*53ee8cc1Swenshuai.xi 
930*53ee8cc1Swenshuai.xi #define REG_GOP_CROP_PRECALDONE(gop_id)         REG_SC_BK70_00(gop_id)
931*53ee8cc1Swenshuai.xi #define REG_GOP_CROP_ORIHSTART(gop_id)          REG_SC_BK70_07(gop_id)
932*53ee8cc1Swenshuai.xi #define REG_GOP_CROP_ORIHEND(gop_id)            REG_SC_BK70_08(gop_id)
933*53ee8cc1Swenshuai.xi 
934*53ee8cc1Swenshuai.xi #endif // _REG_GOP_H_
935