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 VE_REG_BASE 0x3B00UL 118*53ee8cc1Swenshuai.xi #define SC1_DIRREG_BASE 0x130000UL 119*53ee8cc1Swenshuai.xi 120*53ee8cc1Swenshuai.xi //---------------------------------------------------------------------------- 121*53ee8cc1Swenshuai.xi // Scaler Reg 122*53ee8cc1Swenshuai.xi //---------------------------------------------------------------------------- 123*53ee8cc1Swenshuai.xi #define XC_REG(bk, reg) (SC1_REG_BASE+((MS_U32)(bk)<<16) + (reg) * 2) 124*53ee8cc1Swenshuai.xi 125*53ee8cc1Swenshuai.xi #define REG_SC_BK00_00_L XC_REG(0x00, 0x00) 126*53ee8cc1Swenshuai.xi #define REG_SC_BK00_05_L XC_REG(0x00, 0x05) 127*53ee8cc1Swenshuai.xi #define REG_SC_BK00_06_L XC_REG(0x00, 0x06) 128*53ee8cc1Swenshuai.xi #define REG_SC_BK01_02_L XC_REG(0x01, 0x02) 129*53ee8cc1Swenshuai.xi #define REG_SC_BK01_05_L XC_REG(0x01, 0x05) 130*53ee8cc1Swenshuai.xi #define REG_SC_BK01_1E_L XC_REG(0x01, 0x1E) 131*53ee8cc1Swenshuai.xi #define REG_SC_BK02_5F_L XC_REG(0x02, 0x5F) 132*53ee8cc1Swenshuai.xi #define REG_SC_BK0F_2B_L XC_REG(0x0F, 0x2B) 133*53ee8cc1Swenshuai.xi #define REG_SC_BK10_23_L XC_REG(0x10, 0x23) 134*53ee8cc1Swenshuai.xi #define REG_SC_BK10_5B_L XC_REG(0x10, 0x5B) 135*53ee8cc1Swenshuai.xi #define REG_SC_BK12_03_L XC_REG(0x12, 0x03) 136*53ee8cc1Swenshuai.xi #define REG_SC_BK2F_27_L XC_REG(0x2F, 0x27) 137*53ee8cc1Swenshuai.xi #define REG_SC_BK2F_37_L XC_REG(0x2F, 0x37) 138*53ee8cc1Swenshuai.xi #define REG_SC_BK2F_38_L XC_REG(0x2F, 0x38) 139*53ee8cc1Swenshuai.xi #define REG_SC_BK2F_3A_L XC_REG(0x2F, 0x3A) 140*53ee8cc1Swenshuai.xi #define REG_SC_BK2F_3B_L XC_REG(0x2F, 0x3B) 141*53ee8cc1Swenshuai.xi #define REG_SC_BK2F_3C_L XC_REG(0x2F, 0x3C) 142*53ee8cc1Swenshuai.xi #define REG_SC_BK37_22_L XC_REG(0x37, 0x22) 143*53ee8cc1Swenshuai.xi #define REG_SC_BK37_24_L XC_REG(0x37, 0x24) 144*53ee8cc1Swenshuai.xi #define REG_SC_BK37_28_L XC_REG(0x37, 0x28) 145*53ee8cc1Swenshuai.xi #define REG_SC_BK3D_0D_L XC_REG(0x3D, 0x0D) 146*53ee8cc1Swenshuai.xi #define REG_SC_BK40_22_L XC_REG(0x40, 0x22) 147*53ee8cc1Swenshuai.xi #define REG_SC_BK40_23_L XC_REG(0x40, 0x23) 148*53ee8cc1Swenshuai.xi #define REG_SC_BK40_24_L XC_REG(0x40, 0x24) 149*53ee8cc1Swenshuai.xi #define REG_SC_BK40_25_L XC_REG(0x40, 0x25) 150*53ee8cc1Swenshuai.xi #define REG_SC_BK7F_10_L XC_REG(0x7F, 0x10) 151*53ee8cc1Swenshuai.xi #define REG_SC_BK7F_11_L XC_REG(0x7F, 0x11) 152*53ee8cc1Swenshuai.xi 153*53ee8cc1Swenshuai.xi #define REG_SC1_BK00_05_L XC_REG(0x80+0x00, 0x05) 154*53ee8cc1Swenshuai.xi #define REG_SC1_BK00_06_L XC_REG(0x80+0x00, 0x06) 155*53ee8cc1Swenshuai.xi #define REG_SC1_BK10_23_L XC_REG(0x80+0x10, 0x23) 156*53ee8cc1Swenshuai.xi 157*53ee8cc1Swenshuai.xi #define GOP_SC_BANKSEL REG_SC_BK00_00_L 158*53ee8cc1Swenshuai.xi #define GOP_SC_CHANNELSYNC REG_SC_BK00_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_IP2GOP_SRCSEL REG_SC_BK02_5F_L 164*53ee8cc1Swenshuai.xi #define GOP_SC_OSD_CHECK_ALPHA REG_SC_BK0F_2B_L 165*53ee8cc1Swenshuai.xi #define GOP_SC_VOPNBL REG_SC_BK10_23_L 166*53ee8cc1Swenshuai.xi #define GOP_SC_ALPHAMODE REG_SC_BK10_5B_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_BLEND0_GOP_SWITCH REG_SC_BK2F_27_L 170*53ee8cc1Swenshuai.xi #define GOP_SC_VOP2BLENDING_L REG_SC_BK2F_37_L 171*53ee8cc1Swenshuai.xi #define GOP_SC_VOP2BLENDING_H REG_SC_BK2F_38_L 172*53ee8cc1Swenshuai.xi #define GOP_SC_VOPVTK REG_SC_BK2F_3A_L 173*53ee8cc1Swenshuai.xi #define GOP_SC_VOPVTK_L REG_SC_BK2F_3B_L 174*53ee8cc1Swenshuai.xi #define GOP_SC_VOPVTK_H REG_SC_BK2F_3C_L 175*53ee8cc1Swenshuai.xi #define GOP_SC_OCMIXER REG_SC_BK37_22_L 176*53ee8cc1Swenshuai.xi #define GOP_SC_OCMISC REG_SC_BK37_24_L 177*53ee8cc1Swenshuai.xi #define GOP_SC_OCALPHA REG_SC_BK37_28_L 178*53ee8cc1Swenshuai.xi #define GOP_SC_GOPSC_SRAM_CTRL REG_SC_BK3D_0D_L 179*53ee8cc1Swenshuai.xi #define GOP_SC_FRC_LAYER1_L_EN REG_SC_BK40_22_L 180*53ee8cc1Swenshuai.xi #define GOP_SC_FRC_LAYER1_R_EN REG_SC_BK40_23_L 181*53ee8cc1Swenshuai.xi #define GOP_SC_FRC_LAYER2_L_EN REG_SC_BK40_24_L 182*53ee8cc1Swenshuai.xi #define GOP_SC_FRC_LAYER2_R_EN REG_SC_BK40_25_L 183*53ee8cc1Swenshuai.xi #define GOP_SC_MIU_SEL REG_SC_BK7F_10_L 184*53ee8cc1Swenshuai.xi #define GOP_SC_MIU_IP_SEL REG_SC_BK7F_11_L 185*53ee8cc1Swenshuai.xi 186*53ee8cc1Swenshuai.xi #define GOP_SC1_CHANNELSYNC REG_SC1_BK00_05_L 187*53ee8cc1Swenshuai.xi #define GOP_SC1_GOPEN REG_SC1_BK00_06_L 188*53ee8cc1Swenshuai.xi #define GOP_SC1_VOPNBL REG_SC1_BK10_23_L 189*53ee8cc1Swenshuai.xi //---------------------------------------------------------------------------- 190*53ee8cc1Swenshuai.xi // MVOP Reg 191*53ee8cc1Swenshuai.xi //---------------------------------------------------------------------------- 192*53ee8cc1Swenshuai.xi #define GOP_MVOP_MIRRORCFG (MVOP_REG_BASE+0x76) 193*53ee8cc1Swenshuai.xi 194*53ee8cc1Swenshuai.xi //---------------------------------------------------------------------------- 195*53ee8cc1Swenshuai.xi // VE Reg 196*53ee8cc1Swenshuai.xi //---------------------------------------------------------------------------- 197*53ee8cc1Swenshuai.xi #define GOP_VE_TVS_CTRL 0x00 198*53ee8cc1Swenshuai.xi #define GOP_VE_TVS_OSD_EN 0x55 199*53ee8cc1Swenshuai.xi #define GOP_VE_TVS_OSD1_EN 0x60 200*53ee8cc1Swenshuai.xi #define GOP_VE_TVE_SWRST 0x07 201*53ee8cc1Swenshuai.xi 202*53ee8cc1Swenshuai.xi //---------------------------------------------------------------------------- 203*53ee8cc1Swenshuai.xi // GE Reg 204*53ee8cc1Swenshuai.xi //---------------------------------------------------------------------------- 205*53ee8cc1Swenshuai.xi #define GOP_GE_FMT_BLT (GE_REG_BASE+(0x01*2)) 206*53ee8cc1Swenshuai.xi #define GOP_GE_EN_CMDQ BIT(0) 207*53ee8cc1Swenshuai.xi #define GOP_GE_EN_VCMDQ BIT(1) 208*53ee8cc1Swenshuai.xi 209*53ee8cc1Swenshuai.xi #define GOP_GE_VQ_FIFO_STATUS_L (GE_REG_BASE+(0x04*2)) 210*53ee8cc1Swenshuai.xi #define GOP_GE_VQ_FIFO_STATUS_H (GE_REG_BASE+(0x05*2)) 211*53ee8cc1Swenshuai.xi 212*53ee8cc1Swenshuai.xi #define GOP_GE_STATUS (GE_REG_BASE+(0x07*2)) 213*53ee8cc1Swenshuai.xi #define GOP_GE_BUSY BIT(0) 214*53ee8cc1Swenshuai.xi #define GOP_GE_CMDQ1_STATUS BMASK(7:3) 215*53ee8cc1Swenshuai.xi #define GOP_GE_CMDQ2_STATUS BMASK(15:11) 216*53ee8cc1Swenshuai.xi 217*53ee8cc1Swenshuai.xi #define GOP_GE_TAG (GE_REG_BASE+(0x2C*2)) 218*53ee8cc1Swenshuai.xi 219*53ee8cc1Swenshuai.xi #define GOP_GE_DBBASE0 (GE_REG_BASE+(0x26*2)) 220*53ee8cc1Swenshuai.xi #define GOP_GE_DBBASE1 (GE_REG_BASE+(0x27*2)) 221*53ee8cc1Swenshuai.xi #define GOP_GE_DBPIT (GE_REG_BASE+(0x33*2)) 222*53ee8cc1Swenshuai.xi #define GOP_GE_FBFMT (GE_REG_BASE+(0x34*2)) 223*53ee8cc1Swenshuai.xi #define GOP_GE_SRCW (GE_REG_BASE+(0x6e*2)) 224*53ee8cc1Swenshuai.xi #define GOP_GE_SRCH (GE_REG_BASE+(0x6f*2)) 225*53ee8cc1Swenshuai.xi 226*53ee8cc1Swenshuai.xi 227*53ee8cc1Swenshuai.xi //---------------------------------------------------------------------------- 228*53ee8cc1Swenshuai.xi // ChipTop Reg 229*53ee8cc1Swenshuai.xi //---------------------------------------------------------------------------- 230*53ee8cc1Swenshuai.xi /* GOP0 and GOP1 CLK */ 231*53ee8cc1Swenshuai.xi #define GOP_GOPCLK (CKG_REG_BASE+(0x40<<1)) 232*53ee8cc1Swenshuai.xi #define CKG_GOPG0_DISABLE_CLK ~(GOP_BIT0) 233*53ee8cc1Swenshuai.xi #define CKG_GOPG0_DISABLE_CLK_MASK (GOP_BIT0) 234*53ee8cc1Swenshuai.xi #define CKG_GOPG0_MASK (GOP_BIT4 | GOP_BIT3 | GOP_BIT2) 235*53ee8cc1Swenshuai.xi 236*53ee8cc1Swenshuai.xi #define CKG_GOPG1_DISABLE_CLK ~(GOP_BIT8) 237*53ee8cc1Swenshuai.xi #define CKG_GOPG1_DISABLE_CLK_MASK (GOP_BIT8) 238*53ee8cc1Swenshuai.xi #define CKG_GOPG1_MASK (GOP_BIT12 | GOP_BIT11 | GOP_BIT10) 239*53ee8cc1Swenshuai.xi 240*53ee8cc1Swenshuai.xi /* GOP Mixer CLK */ 241*53ee8cc1Swenshuai.xi #define CKG_GOPMIXER_CLK (CKG_REG_BASE+(0x41<<1)) 242*53ee8cc1Swenshuai.xi #define CKG_GOPMIXER_ODCLK (4<<2) 243*53ee8cc1Swenshuai.xi #define CKG_GOPMIXER_VECLK (6<<2) 244*53ee8cc1Swenshuai.xi #define CKG_GOPMIXER_MASK (GOP_BIT4|GOP_BIT3 | GOP_BIT2) 245*53ee8cc1Swenshuai.xi 246*53ee8cc1Swenshuai.xi /* GOPD CLK */ 247*53ee8cc1Swenshuai.xi #define GOP_GOPDCLK (CKG_REG_BASE+(0x41<<1)) 248*53ee8cc1Swenshuai.xi #define CKG_GOPD_CLK_IDCLK2 (0 << 10) 249*53ee8cc1Swenshuai.xi #define CKG_GOPD_CLK_ODCLK (1 << 10) 250*53ee8cc1Swenshuai.xi #define CKG_GOPD_CLK_DC0CLK (2 << 10) 251*53ee8cc1Swenshuai.xi #define CKG_GOPD_CLK_SUBDC0CLK (3 << 10) 252*53ee8cc1Swenshuai.xi #define CKG_GOPD_CLK_MIXERCLK_VE (4 << 10) 253*53ee8cc1Swenshuai.xi #define CKG_GOPD_MASK (GOP_BIT12 | GOP_BIT11 | GOP_BIT10) 254*53ee8cc1Swenshuai.xi 255*53ee8cc1Swenshuai.xi /* GOP2 CLK */ 256*53ee8cc1Swenshuai.xi #define GOP_GOP2CLK (CKG_REG_BASE+(0x42<<1)) 257*53ee8cc1Swenshuai.xi #define CKG_GOPG2_DISABLE_CLK ~(GOP_BIT0) 258*53ee8cc1Swenshuai.xi #define CKG_GOPG2_DISABLE_CLK_MASK (GOP_BIT0) 259*53ee8cc1Swenshuai.xi #define CKG_GOPG2_MASK (GOP_BIT4 | GOP_BIT3 | GOP_BIT2) 260*53ee8cc1Swenshuai.xi 261*53ee8cc1Swenshuai.xi /* GOP3 CLK*/ 262*53ee8cc1Swenshuai.xi #define GOP_GOP3CLK (CKG_REG_BASE+(0x42<<1)) 263*53ee8cc1Swenshuai.xi #define CKG_GOPG3_DISABLE_CLK ~(GOP_BIT8) 264*53ee8cc1Swenshuai.xi #define CKG_GOPG3_DISABLE_CLK_MASK (GOP_BIT8) 265*53ee8cc1Swenshuai.xi #define CKG_GOPG3_MASK (GOP_BIT12 | GOP_BIT11 | GOP_BIT10) 266*53ee8cc1Swenshuai.xi #define CKG_GOPD_DISABLE_CLK ~(GOP_BIT8) 267*53ee8cc1Swenshuai.xi 268*53ee8cc1Swenshuai.xi /* GOP4 CLK*/ 269*53ee8cc1Swenshuai.xi #define GOP_GOP4CLK (CKG_REG_BASE+(0x44<<1)) 270*53ee8cc1Swenshuai.xi #define CKG_GOPG4_DISABLE_CLK_MASK (GOP_BIT0) 271*53ee8cc1Swenshuai.xi #define CKG_GOPG4_DISABLE_CLK_MASK (GOP_BIT0) 272*53ee8cc1Swenshuai.xi #define CKG_GOPG4_MASK (GOP_BIT4 | GOP_BIT3 | GOP_BIT2) 273*53ee8cc1Swenshuai.xi 274*53ee8cc1Swenshuai.xi /* GOP5 CLK*/ 275*53ee8cc1Swenshuai.xi #define GOP_GOP5CLK (CKG_REG_BASE+(0x44<<1)) 276*53ee8cc1Swenshuai.xi #define CKG_GOPG5_DISABLE_CLK_MASK (GOP_BIT8) 277*53ee8cc1Swenshuai.xi #define CKG_GOPG5_CLK_ODCLK (0<<10) 278*53ee8cc1Swenshuai.xi #define CKG_GOPG5_CLK_DC0 (1<<10) 279*53ee8cc1Swenshuai.xi #define CKG_GOPG5_CLK_EXTDI (2<<10) 280*53ee8cc1Swenshuai.xi #define CKG_GOPG5_CLK_DVI (3<<10) 281*53ee8cc1Swenshuai.xi #define CKG_GOPG5_CLK_SC1_EDCLK (4<<10) 282*53ee8cc1Swenshuai.xi #define CKG_GOPG5_CLK_SC1_ODCLK (5<<10) 283*53ee8cc1Swenshuai.xi #define CKG_GOPG5_CLK_27 (6<<10) 284*53ee8cc1Swenshuai.xi #define CKG_GOPG5_CLK_SUB_DC0 (7<<10) 285*53ee8cc1Swenshuai.xi #define CKG_GOPG5_MASK (GOP_BIT12 | GOP_BIT11 | GOP_BIT10) 286*53ee8cc1Swenshuai.xi 287*53ee8cc1Swenshuai.xi /* SRAM CLK */ 288*53ee8cc1Swenshuai.xi #define GOP_SRAMCLK (CKG_REG_BASE+(0x43<<1)) 289*53ee8cc1Swenshuai.xi #define CKG_SRAM0_DISABLE_CLK (GOP_BIT0) 290*53ee8cc1Swenshuai.xi #define CKG_SRAM1_DISABLE_CLK (GOP_BIT2) 291*53ee8cc1Swenshuai.xi #define CKG_SRAM0_MASK (GOP_BIT0|GOP_BIT1) 292*53ee8cc1Swenshuai.xi #define CKG_SRAM1_MASK (GOP_BIT2|GOP_BIT3) 293*53ee8cc1Swenshuai.xi 294*53ee8cc1Swenshuai.xi /* LINE BUFFER SRAM CLK */ 295*53ee8cc1Swenshuai.xi #define GOP_LB_SRAMCLK (CKG_REG_BASE+(0x45<<1)) 296*53ee8cc1Swenshuai.xi #define CKG_LB_SRAM1_DISABLE_CLK (GOP_BIT0) /*GOP1*/ 297*53ee8cc1Swenshuai.xi #define CKG_LB_SRAM2_DISABLE_CLK (GOP_BIT4) /*GOP2*/ 298*53ee8cc1Swenshuai.xi #define CKG_LB_SRAM1_MASK (GOP_BIT2|GOP_BIT3) 299*53ee8cc1Swenshuai.xi #define CKG_LB_SRAM2_MASK (GOP_BIT6|GOP_BIT7) 300*53ee8cc1Swenshuai.xi 301*53ee8cc1Swenshuai.xi /*AFBC CLK*/ 302*53ee8cc1Swenshuai.xi #define GOP_AFBCCLK (CKG_REG_BASE+(0x5F<<1)) 303*53ee8cc1Swenshuai.xi #define CKG_AFBCCLK_DISABLE_CLK (GOP_BIT0) 304*53ee8cc1Swenshuai.xi #define CKG_AFBCCLK_216 (0 << 2) 305*53ee8cc1Swenshuai.xi #define CKG_AFBCCLK_432 (1 << 2) 306*53ee8cc1Swenshuai.xi #define CKG_AFBCCLK_DISABLE_CLK_MASK (GOP_BIT0|GOP_BIT1|GOP_BIT2|GOP_BIT3) 307*53ee8cc1Swenshuai.xi 308*53ee8cc1Swenshuai.xi //---------------------------------------------------------------------------- 309*53ee8cc1Swenshuai.xi // MIU Reg 310*53ee8cc1Swenshuai.xi //---------------------------------------------------------------------------- 311*53ee8cc1Swenshuai.xi #define GOP_CLIENT_REG 0x7D 312*53ee8cc1Swenshuai.xi #define GOP_MIU_GROUP (MIU0_REG_BASE+(GOP_CLIENT_REG*2)) 313*53ee8cc1Swenshuai.xi #define GOP_MIU_GROUP1 (MIU_REG_BASE+(GOP_CLIENT_REG*2)) 314*53ee8cc1Swenshuai.xi 315*53ee8cc1Swenshuai.xi /*Define each gop miu clint bit*/ 316*53ee8cc1Swenshuai.xi #define GOP_MIU_CLIENT_DWIN 0xFF 317*53ee8cc1Swenshuai.xi #define GOP_MIU_CLIENT_GOP0 0x0 318*53ee8cc1Swenshuai.xi #define GOP_MIU_CLIENT_GOP1 0x1 319*53ee8cc1Swenshuai.xi #define GOP_MIU_CLIENT_GOP2 0x2 320*53ee8cc1Swenshuai.xi #define GOP_MIU_CLIENT_GOP3 0x3 321*53ee8cc1Swenshuai.xi #define GOP_MIU_CLIENT_GOP4 0x4 322*53ee8cc1Swenshuai.xi 323*53ee8cc1Swenshuai.xi #define GOP5_CLIENT_REG 0x7C 324*53ee8cc1Swenshuai.xi #define GOP5_MIU_GROUP (MIU0_REG_BASE+(GOP_CLIENT_REG*2)) 325*53ee8cc1Swenshuai.xi #define GOP5_MIU_GROUP1 (MIU_REG_BASE+(GOP_CLIENT_REG*2)) 326*53ee8cc1Swenshuai.xi 327*53ee8cc1Swenshuai.xi #define GOP_MIU_CLIENT_GOP5 0x2 328*53ee8cc1Swenshuai.xi 329*53ee8cc1Swenshuai.xi //---------------------------------------------------------------------------- 330*53ee8cc1Swenshuai.xi // GOP Reg 331*53ee8cc1Swenshuai.xi //---------------------------------------------------------------------------- 332*53ee8cc1Swenshuai.xi #define GOP_REG(bk, reg) (GOP_REG_BASE+((MS_U32)(bk)<<16) + (reg) * 2) 333*53ee8cc1Swenshuai.xi #define __GOP_REG(reg) (GOP_REG_BASE+(reg) * 2) 334*53ee8cc1Swenshuai.xi #define GOP_REG_DIRECT_BASE (0x120200) 335*53ee8cc1Swenshuai.xi #define GOP_REG_GOP4_BK_OFFSET 0x1900 336*53ee8cc1Swenshuai.xi #define GOP_REG_GOP4_GW_OFFSET 0x1C00 337*53ee8cc1Swenshuai.xi #define GOP_REG_GOP4_ST_OFFSET 0x1D00 338*53ee8cc1Swenshuai.xi 339*53ee8cc1Swenshuai.xi #define GOP_REG_VAL(x) (1<<x) 340*53ee8cc1Swenshuai.xi 341*53ee8cc1Swenshuai.xi //MUX Setting 342*53ee8cc1Swenshuai.xi #define GOP_MUX_SHIFT 0x3 343*53ee8cc1Swenshuai.xi #define GOP_REGMUX_MASK BMASK((GOP_MUX_SHIFT-1):0) 344*53ee8cc1Swenshuai.xi #define GOP_MUX0_MASK (GOP_REGMUX_MASK<<(GOP_MUX_SHIFT*0)) 345*53ee8cc1Swenshuai.xi #define GOP_MUX1_MASK (GOP_REGMUX_MASK<<(GOP_MUX_SHIFT*1)) 346*53ee8cc1Swenshuai.xi #define GOP_MUX2_MASK (GOP_REGMUX_MASK<<(GOP_MUX_SHIFT*2)) 347*53ee8cc1Swenshuai.xi #define GOP_MUX3_MASK (GOP_REGMUX_MASK<<(GOP_MUX_SHIFT*3)) 348*53ee8cc1Swenshuai.xi #define GOP_MUX4_MASK (GOP_REGMUX_MASK<<(GOP_MUX_SHIFT*4)) 349*53ee8cc1Swenshuai.xi #define GOP_MUX4_SHIFT 1<<14 350*53ee8cc1Swenshuai.xi 351*53ee8cc1Swenshuai.xi //Priority Setting 352*53ee8cc1Swenshuai.xi #define GOP_REGPRI_MASK BMASK(1:0) 353*53ee8cc1Swenshuai.xi #define GWIN0_PRI_SHIFT 0 354*53ee8cc1Swenshuai.xi #define GWIN0_PRI_MASK (GOP_REGPRI_MASK<<GWIN0_PRI_SHIFT) 355*53ee8cc1Swenshuai.xi #define GWIN1_PRI_SHIFT 4 356*53ee8cc1Swenshuai.xi #define GWIN1_PRI_MASK (GOP_REGPRI_MASK<<GWIN1_PRI_SHIFT) 357*53ee8cc1Swenshuai.xi #define GWIN2_PRI_SHIFT 8 358*53ee8cc1Swenshuai.xi #define GWIN2_PRI_MASK (GOP_REGPRI_MASK<<GWIN2_PRI_SHIFT) 359*53ee8cc1Swenshuai.xi #define GWIN3_PRI_SHIFT 12 360*53ee8cc1Swenshuai.xi #define GWIN3_PRI_MASK (GOP_REGPRI_MASK<<GWIN3_PRI_SHIFT) 361*53ee8cc1Swenshuai.xi 362*53ee8cc1Swenshuai.xi //IP and VOP MUX Setting 363*53ee8cc1Swenshuai.xi #define GOP_IP_MAIN_MUX_SHIFT 0 364*53ee8cc1Swenshuai.xi #define GOP_IP_MAIN_MUX_MASK (BMASK((GOP_MUX_SHIFT-1):0))<<GOP_IP_MAIN_MUX_SHIFT 365*53ee8cc1Swenshuai.xi #define GOP_IP_SUB_MUX_SHIFT 3 366*53ee8cc1Swenshuai.xi #define GOP_IP_SUB_MUX_MASK (BMASK((GOP_MUX_SHIFT-1):0))<<GOP_IP_SUB_MUX_SHIFT 367*53ee8cc1Swenshuai.xi #define GOP_IP_VOP0_MUX_SHIFT 6 368*53ee8cc1Swenshuai.xi #define GOP_IP_VOP0_MUX_MASK (BMASK((GOP_MUX_SHIFT-1):0))<<GOP_IP_VOP0_MUX_SHIFT 369*53ee8cc1Swenshuai.xi #define GOP_IP_VOP1_MUX_SHIFT 9 370*53ee8cc1Swenshuai.xi #define GOP_IP_VOP1_MUX_MASK (BMASK((GOP_MUX_SHIFT-1):0))<<GOP_IP_VOP1_MUX_SHIFT 371*53ee8cc1Swenshuai.xi 372*53ee8cc1Swenshuai.xi 373*53ee8cc1Swenshuai.xi //IP and VOP MUX Setting 374*53ee8cc1Swenshuai.xi #define GOP_Mix_MUX0_SHIFT 0 375*53ee8cc1Swenshuai.xi #define GOP_Mix_MUX0_MASK (BMASK((GOP_MUX_SHIFT-1):0))<<GOP_Mix_MUX0_SHIFT 376*53ee8cc1Swenshuai.xi #define GOP_Mix_MUX1_SHIFT 3 377*53ee8cc1Swenshuai.xi #define GOP_Mix_MUX1_MASK (BMASK((GOP_MUX_SHIFT-1):0))<<GOP_Mix_MUX1_SHIFT 378*53ee8cc1Swenshuai.xi #define GOP_VE0_MUX_SHIFT 6 379*53ee8cc1Swenshuai.xi #define GOP_VE0_MUX_MASK (BMASK((GOP_MUX_SHIFT-1):0))<<GOP_VE0_MUX_SHIFT 380*53ee8cc1Swenshuai.xi #define GOP_VE1_MUX_SHIFT 9 381*53ee8cc1Swenshuai.xi #define GOP_VE1_MUX_MASK (BMASK((GOP_MUX_SHIFT-1):0))<<GOP_VE1_MUX_SHIFT 382*53ee8cc1Swenshuai.xi 383*53ee8cc1Swenshuai.xi 384*53ee8cc1Swenshuai.xi //4k2k FRC MUX Setting 385*53ee8cc1Swenshuai.xi #define GOP_FRC_MUX_SHIFT 0x3 386*53ee8cc1Swenshuai.xi #define GOP_FRC_REGMUX_MASK BMASK((GOP_MUX_SHIFT-1):0) 387*53ee8cc1Swenshuai.xi #define GOP_FRC_MUX0_MASK (GOP_REGMUX_MASK<<(GOP_MUX_SHIFT*0)) 388*53ee8cc1Swenshuai.xi #define GOP_FRC_MUX1_MASK (GOP_REGMUX_MASK<<(GOP_MUX_SHIFT*1)) 389*53ee8cc1Swenshuai.xi #define GOP_FRC_MUX2_MASK (GOP_REGMUX_MASK<<(GOP_MUX_SHIFT*2)) 390*53ee8cc1Swenshuai.xi #define GOP_FRC_MUX3_MASK (GOP_REGMUX_MASK<<(GOP_MUX_SHIFT*3)) 391*53ee8cc1Swenshuai.xi 392*53ee8cc1Swenshuai.xi //DIP Setting 393*53ee8cc1Swenshuai.xi #define GOP_DIP_MUX_SHIFT 12 394*53ee8cc1Swenshuai.xi #define GOP_DIP_MUX_MASK (BMASK((GOP_MUX_SHIFT-1):0))<<GOP_DIP_MUX_SHIFT 395*53ee8cc1Swenshuai.xi 396*53ee8cc1Swenshuai.xi #define GOP_BANK_OFFSET 0x3 397*53ee8cc1Swenshuai.xi #define GOP_4G_OFST 0x0 398*53ee8cc1Swenshuai.xi #define GOP_2G_OFST (0x1*GOP_BANK_OFFSET) 399*53ee8cc1Swenshuai.xi #define GOP_1G_OFST (0x2*GOP_BANK_OFFSET) 400*53ee8cc1Swenshuai.xi #define GOP_1GX_OFST (0x3*GOP_BANK_OFFSET) 401*53ee8cc1Swenshuai.xi #define GOP_DW_OFST (0x4*GOP_BANK_OFFSET) 402*53ee8cc1Swenshuai.xi #define GOP_AFBC_OFST 0xE 403*53ee8cc1Swenshuai.xi #define GOP_MIXER_OFST 0xD 404*53ee8cc1Swenshuai.xi #define GOP_1GS0_OFST 0xE 405*53ee8cc1Swenshuai.xi #define GOP_1GS1_OFST 0x17 406*53ee8cc1Swenshuai.xi 407*53ee8cc1Swenshuai.xi #define GOP_OFFSET_WR 8 408*53ee8cc1Swenshuai.xi #define GOP_VAL_WR GOP_REG_VAL(GOP_OFFSET_WR) 409*53ee8cc1Swenshuai.xi #define GOP_OFFSET_FWR 9 410*53ee8cc1Swenshuai.xi #define GOP_VAL_FWR GOP_REG_VAL(GOP_OFFSET_FWR) 411*53ee8cc1Swenshuai.xi #define GOP_OFFSET_FCLR 11 412*53ee8cc1Swenshuai.xi #define GOP_VAL_FCL GOP_REG_VAL(GOP_OFFSET_FCLR) 413*53ee8cc1Swenshuai.xi #define GOP4G_OFFSET_WR_ACK 12 414*53ee8cc1Swenshuai.xi #define GOP4G_VAL_WR_ACK GOP_REG_VAL(GOP4G_OFFSET_WR_ACK) 415*53ee8cc1Swenshuai.xi #define GOP2G_OFFSET_WR_ACK 13 416*53ee8cc1Swenshuai.xi #define GOP2G_VAL_WR_ACK GOP_REG_VAL(GOP2G_OFFSET_WR_ACK) 417*53ee8cc1Swenshuai.xi #define GOPD_OFFSET_WR_ACK 14 418*53ee8cc1Swenshuai.xi #define GOPD_VAL_WR_ACK GOP_REG_VAL(GOPD_OFFSET_WR_ACK) 419*53ee8cc1Swenshuai.xi #define GOP1G_OFFSET_WR_ACK 15 420*53ee8cc1Swenshuai.xi #define GOP1G_VAL_WR_ACK GOP_REG_VAL(GOPD_OFFSET_WR_ACK) 421*53ee8cc1Swenshuai.xi #define GOP_VAL_ACK(x) GOP_REG_VAL(GOP4G_OFFSET_WR_ACK+x) 422*53ee8cc1Swenshuai.xi 423*53ee8cc1Swenshuai.xi #define GOP_4G_CTRL0 GOP_REG(GOP_4G_OFST, 0x00) 424*53ee8cc1Swenshuai.xi #define GOP_4G_CTRL1 GOP_REG(GOP_4G_OFST, 0x01) 425*53ee8cc1Swenshuai.xi #define GOP_4G_RATE GOP_REG(GOP_4G_OFST, 0x02) 426*53ee8cc1Swenshuai.xi #define GOP_4G_PALDATA_L GOP_REG(GOP_4G_OFST, 0x03) 427*53ee8cc1Swenshuai.xi #define GOP_4G_PALDATA_H GOP_REG(GOP_4G_OFST, 0x04) 428*53ee8cc1Swenshuai.xi #define GOP_4G_PALCTRL GOP_REG(GOP_4G_OFST, 0x05) 429*53ee8cc1Swenshuai.xi #define GOP_4G_REGDMA_END GOP_REG(GOP_4G_OFST, 0x06) 430*53ee8cc1Swenshuai.xi #define GOP_4G_REGDMA_STR GOP_REG(GOP_4G_OFST, 0x07) 431*53ee8cc1Swenshuai.xi #define GOP_4G_INT GOP_REG(GOP_4G_OFST, 0x08) 432*53ee8cc1Swenshuai.xi #define GOP_4G_HWSTATE GOP_REG(GOP_4G_OFST, 0x09) 433*53ee8cc1Swenshuai.xi #define GOP_4G_SVM_HSTR GOP_REG(GOP_4G_OFST, 0x0a) 434*53ee8cc1Swenshuai.xi #define GOP_4G_SVM_HEND GOP_REG(GOP_4G_OFST, 0x0b) 435*53ee8cc1Swenshuai.xi #define GOP_4G_SVM_VSTR GOP_REG(GOP_4G_OFST, 0x0c) 436*53ee8cc1Swenshuai.xi #define GOP_4G_SVM_VEND GOP_REG(GOP_4G_OFST, 0x0d) 437*53ee8cc1Swenshuai.xi #define GOP_4G_RDMA_HT GOP_REG(GOP_4G_OFST, 0x0e) 438*53ee8cc1Swenshuai.xi #define GOP_4G_HS_PIPE GOP_REG(GOP_4G_OFST, 0x0f) 439*53ee8cc1Swenshuai.xi #define GOP_4G_SLOW GOP_REG(GOP_4G_OFST, 0x10) 440*53ee8cc1Swenshuai.xi #define GOP_4G_BRI GOP_REG(GOP_4G_OFST, 0x11) 441*53ee8cc1Swenshuai.xi #define GOP_4G_CON GOP_REG(GOP_4G_OFST, 0x12) 442*53ee8cc1Swenshuai.xi #define GOP_4G_BW GOP_REG(GOP_4G_OFST, 0x19) 443*53ee8cc1Swenshuai.xi #define GOP_4G_H121 GOP_REG(GOP_4G_OFST, 0x1B) 444*53ee8cc1Swenshuai.xi #define GOP_4G_NEW_BW GOP_REG(GOP_4G_OFST, 0x1C) 445*53ee8cc1Swenshuai.xi #define GOP_4G_SRAM_BORROW GOP_REG(GOP_4G_OFST, 0x1D) 446*53ee8cc1Swenshuai.xi #define GOP_4G_3D_MIDDLE GOP_REG(GOP_4G_OFST, 0x1E) 447*53ee8cc1Swenshuai.xi #define GOP_4G_MIU_SEL GOP_REG(GOP_4G_OFST, 0x1F) 448*53ee8cc1Swenshuai.xi #define GOP_4G_PRI0 GOP_REG(GOP_4G_OFST, 0x20) 449*53ee8cc1Swenshuai.xi #define GOP_4G_BOT_HS GOP_REG(GOP_4G_OFST, 0x23) 450*53ee8cc1Swenshuai.xi #define GOP_4G_TRSCLR_L GOP_REG(GOP_4G_OFST, 0x24) 451*53ee8cc1Swenshuai.xi #define GOP_4G_TRSCLR_H GOP_REG(GOP_4G_OFST, 0x25) 452*53ee8cc1Swenshuai.xi #define GOP_4G_YUV_SWAP GOP_REG(GOP_4G_OFST, 0x28) 453*53ee8cc1Swenshuai.xi #define GOP_4G_OP_MUX_DBF GOP_REG(GOP_4G_OFST, 0x29) 454*53ee8cc1Swenshuai.xi #define GOP_4G_STRCH_HSZ GOP_REG(GOP_4G_OFST, 0x30) 455*53ee8cc1Swenshuai.xi #define GOP_4G_STRCH_VSZ GOP_REG(GOP_4G_OFST, 0x31) 456*53ee8cc1Swenshuai.xi #define GOP_4G_STRCH_HSTR GOP_REG(GOP_4G_OFST, 0x32) 457*53ee8cc1Swenshuai.xi #define GOP_4G_STRCH_VSTR GOP_REG(GOP_4G_OFST, 0x34) 458*53ee8cc1Swenshuai.xi #define GOP_4G_HSTRCH GOP_REG(GOP_4G_OFST, 0x35) 459*53ee8cc1Swenshuai.xi #define GOP_4G_VSTRCH GOP_REG(GOP_4G_OFST, 0x36) 460*53ee8cc1Swenshuai.xi #define GOP_4G_HSTRCH_INI GOP_REG(GOP_4G_OFST, 0x38) 461*53ee8cc1Swenshuai.xi #define GOP_4G_VSTRCH_INI GOP_REG(GOP_4G_OFST, 0x39) 462*53ee8cc1Swenshuai.xi #define GOP_4G_HVSTRCHMD GOP_REG(GOP_4G_OFST, 0x3a) 463*53ee8cc1Swenshuai.xi #define GOP_4G_OLDADDR GOP_REG(GOP_4G_OFST, 0x3b) 464*53ee8cc1Swenshuai.xi #define GOP_4G_MULTI_ALPHA GOP_REG(GOP_4G_OFST, 0x3c) 465*53ee8cc1Swenshuai.xi #define GOP_4G_VIP_VOP_TIMING_SEL GOP_4G_MULTI_ALPHA 466*53ee8cc1Swenshuai.xi #define GOP_4G_TWO_LINEBUFFER GOP_4G_MULTI_ALPHA 467*53ee8cc1Swenshuai.xi #define GOP_4G_HW_USAGE GOP_REG(GOP_4G_OFST, 0x40) 468*53ee8cc1Swenshuai.xi #define GOP_4G_BANK_FWR GOP_REG(GOP_4G_OFST, 0x50) 469*53ee8cc1Swenshuai.xi #define GOP_4G_BANK_HVAILDSIZE GOP_REG(GOP_4G_OFST, 0x52) 470*53ee8cc1Swenshuai.xi #define GOP_4G_BANK_VVAILDSIZE GOP_REG(GOP_4G_OFST, 0x53) 471*53ee8cc1Swenshuai.xi #define GOP_4G_SCALING_H_OUTPUTSIZE GOP_REG(GOP_4G_OFST, 0x56) 472*53ee8cc1Swenshuai.xi #define GOP_4G_SCALING_HRATIO_L GOP_REG(GOP_4G_OFST, 0x59) //GOP scaling down ratio dst / out * 2^20 473*53ee8cc1Swenshuai.xi #define GOP_4G_SCALING_HRATIO_H GOP_REG(GOP_4G_OFST, 0x5A) 474*53ee8cc1Swenshuai.xi #define GOP_4G_SCALING_CFG GOP_REG(GOP_4G_OFST, 0x5B) 475*53ee8cc1Swenshuai.xi #define GOP_4G_SCALING_VRATIO_L GOP_REG(GOP_4G_OFST, 0x5C) //GOP scaling down ratio dst / out * 2^20 476*53ee8cc1Swenshuai.xi #define GOP_4G_SCALING_VRATIO_H GOP_REG(GOP_4G_OFST, 0x5D) 477*53ee8cc1Swenshuai.xi 478*53ee8cc1Swenshuai.xi 479*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK0_VOFFL GOP_REG(GOP_4G_OFST, 0x60) 480*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK0_VOFFH GOP_REG(GOP_4G_OFST, 0x61) 481*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK1_VOFFL GOP_REG(GOP_4G_OFST, 0x62) 482*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK1_VOFFH GOP_REG(GOP_4G_OFST, 0x63) 483*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK2_VOFFL GOP_REG(GOP_4G_OFST, 0x64) 484*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK2_VOFFH GOP_REG(GOP_4G_OFST, 0x65) 485*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK3_VOFFL GOP_REG(GOP_4G_OFST, 0x66) 486*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK3_VOFFH GOP_REG(GOP_4G_OFST, 0x67) 487*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK0_HOFF GOP_REG(GOP_4G_OFST, 0x70) 488*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK1_HOFF GOP_REG(GOP_4G_OFST, 0x71) 489*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK2_HOFF GOP_REG(GOP_4G_OFST, 0x72) 490*53ee8cc1Swenshuai.xi #define GOP_4G_RBLK3_HOFF GOP_REG(GOP_4G_OFST, 0x73) 491*53ee8cc1Swenshuai.xi #define GOP_4G_REGDMA_EN GOP_REG(GOP_4G_OFST, 0x78) 492*53ee8cc1Swenshuai.xi #define GOP_MUX_IPVOP __GOP_REG(0x77) 493*53ee8cc1Swenshuai.xi #define GOP_MUX_SC1 __GOP_REG(0x7A) 494*53ee8cc1Swenshuai.xi #define GOP_MUX4_MIX_VE __GOP_REG(0x7B) 495*53ee8cc1Swenshuai.xi #define GOP_BAK_SEL_EX __GOP_REG(0x7C) 496*53ee8cc1Swenshuai.xi #define GOP_MUX_4K2K __GOP_REG(0x7D) 497*53ee8cc1Swenshuai.xi #define GOP_MUX __GOP_REG(0x7e) 498*53ee8cc1Swenshuai.xi #define GOP_BAK_SEL __GOP_REG(0x7f) 499*53ee8cc1Swenshuai.xi 500*53ee8cc1Swenshuai.xi #define GOP_4G_GWIN0_CTRL(id) GOP_REG(GOP_4G_OFST+1, 0x00 + (0x20*((id)%MAX_GOP0_GWIN))) 501*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_RBLK_L(id) GOP_REG(GOP_4G_OFST+1, 0x01 + (0x20*((id)%MAX_GOP0_GWIN))) 502*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_RBLK_H(id) GOP_REG(GOP_4G_OFST+1, 0x02 + (0x20*((id)%MAX_GOP0_GWIN))) 503*53ee8cc1Swenshuai.xi #define GOP_4G_DEL_PIXEL(id) GOP_REG(GOP_4G_OFST+1, 0x03 + (0x20*((id)%MAX_GOP1_GWIN))) 504*53ee8cc1Swenshuai.xi #define GOP_4G_HSTR(id) GOP_REG(GOP_4G_OFST+1, 0x04 + (0x20*((id)%MAX_GOP0_GWIN))) 505*53ee8cc1Swenshuai.xi #define GOP_4G_HEND(id) GOP_REG(GOP_4G_OFST+1, 0x05 + (0x20*((id)%MAX_GOP0_GWIN))) 506*53ee8cc1Swenshuai.xi #define GOP_4G_VSTR(id) GOP_REG(GOP_4G_OFST+1, 0x06 + (0x20*((id)%MAX_GOP0_GWIN))) 507*53ee8cc1Swenshuai.xi #define GOP_4G_GWIN_MIDDLE(id) GOP_REG(GOP_4G_OFST+1, 0x07 + (0x20*((id)%MAX_GOP0_GWIN))) 508*53ee8cc1Swenshuai.xi #define GOP_4G_VEND(id) GOP_REG(GOP_4G_OFST+1, 0x08 + (0x20*((id)%MAX_GOP0_GWIN))) 509*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_RBLK_HSIZE(id) GOP_REG(GOP_4G_OFST+1, 0x09 + (0x20*((id)%MAX_GOP0_GWIN))) 510*53ee8cc1Swenshuai.xi #define GOP_4G_GWIN_ALPHA01(id) GOP_REG(GOP_4G_OFST+1, 0x0A + (0x20*((id)%MAX_GOP0_GWIN))) 511*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_VSTR_L(id) GOP_REG(GOP_4G_OFST+1, 0x0C + (0x20*((id)%MAX_GOP0_GWIN))) 512*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_VSTR_H(id) GOP_REG(GOP_4G_OFST+1, 0x0D + (0x20*((id)%MAX_GOP0_GWIN))) 513*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_HSTR(id) GOP_REG(GOP_4G_OFST+1, 0x0E + (0x20*((id)%MAX_GOP0_GWIN))) 514*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_RBLK_SIZE_L(id) GOP_REG(GOP_4G_OFST+1, 0x10 + (0x20*((id)%MAX_GOP0_GWIN))) 515*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_RBLK_SIZE_H(id) GOP_REG(GOP_4G_OFST+1, 0x11 + (0x20*((id)%MAX_GOP0_GWIN))) 516*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_RLEN_L(id) GOP_REG(GOP_4G_OFST+1, 0x12 + (0x20*((id)%MAX_GOP0_GWIN))) 517*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_RLEN_H(id) GOP_REG(GOP_4G_OFST+1, 0x13 + (0x20*((id)%MAX_GOP0_GWIN))) 518*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_HVSTOP_L(id) GOP_REG(GOP_4G_OFST+1, 0x14 + (0x20*((id)%MAX_GOP0_GWIN))) 519*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_HVSTOP_H(id) GOP_REG(GOP_4G_OFST+1, 0x15 + (0x20*((id)%MAX_GOP0_GWIN))) 520*53ee8cc1Swenshuai.xi #define GOP_4G_DRAM_FADE(id) GOP_REG(GOP_4G_OFST+1, 0x16 + (0x20*((id)%MAX_GOP0_GWIN))) 521*53ee8cc1Swenshuai.xi #define GOP_4G_BG_CLR(id) GOP_REG(GOP_4G_OFST+1, 0x18 + (0x20*((id)%MAX_GOP0_GWIN))) 522*53ee8cc1Swenshuai.xi #define GOP_4G_BG_HSTR(id) GOP_REG(GOP_4G_OFST+1, 0x19 + (0x20*((id)%MAX_GOP0_GWIN))) 523*53ee8cc1Swenshuai.xi #define GOP_4G_BG_HEND(id) GOP_REG(GOP_4G_OFST+1, 0x1a + (0x20*((id)%MAX_GOP0_GWIN))) 524*53ee8cc1Swenshuai.xi #define GOP_4G_BG_VSTR(id) GOP_REG(GOP_4G_OFST+1, 0x1C + (0x20*((id)%MAX_GOP0_GWIN))) 525*53ee8cc1Swenshuai.xi #define GOP_4G_BG_VEND(id) GOP_REG(GOP_4G_OFST+1, 0x1D + (0x20*((id)%MAX_GOP0_GWIN))) 526*53ee8cc1Swenshuai.xi #define GOP_4G_3DOSD_SUB_RBLK_L(id) GOP_REG(GOP_4G_OFST+1, 0x1E + (0x20*((id)%MAX_GOP0_GWIN))) 527*53ee8cc1Swenshuai.xi #define GOP_4G_3DOSD_SUB_RBLK_H(id) GOP_REG(GOP_4G_OFST+1, 0x1F + (0x20*((id)%MAX_GOP0_GWIN))) 528*53ee8cc1Swenshuai.xi 529*53ee8cc1Swenshuai.xi 530*53ee8cc1Swenshuai.xi #define GOP_2G_CTRL0 GOP_REG(GOP_2G_OFST, 0x00) 531*53ee8cc1Swenshuai.xi #define GOP_2G_CTRL1 GOP_REG(GOP_2G_OFST, 0x01) 532*53ee8cc1Swenshuai.xi #define GOP_2G_RATE GOP_REG(GOP_2G_OFST, 0x02) 533*53ee8cc1Swenshuai.xi #define GOP_2G_PALDATA_L GOP_REG(GOP_2G_OFST, 0x03) 534*53ee8cc1Swenshuai.xi #define GOP_2G_PALDATA_H GOP_REG(GOP_2G_OFST, 0x04) 535*53ee8cc1Swenshuai.xi #define GOP_2G_PALCTRL GOP_REG(GOP_2G_OFST, 0x05) 536*53ee8cc1Swenshuai.xi #define GOP_2G_REGDMA_END GOP_REG(GOP_2G_OFST, 0x06) 537*53ee8cc1Swenshuai.xi #define GOP_2G_REGDMA_STR GOP_REG(GOP_2G_OFST, 0x07) 538*53ee8cc1Swenshuai.xi #define GOP_2G_INT GOP_REG(GOP_2G_OFST, 0x08) 539*53ee8cc1Swenshuai.xi #define GOP_2G_HWSTATE GOP_REG(GOP_2G_OFST, 0x09) 540*53ee8cc1Swenshuai.xi #define GOP_2G_RDMA_HT GOP_REG(GOP_2G_OFST, 0x0e) 541*53ee8cc1Swenshuai.xi #define GOP_2G_HS_PIPE GOP_REG(GOP_2G_OFST, 0x0f) 542*53ee8cc1Swenshuai.xi #define GOP_2G_SLOW GOP_REG(GOP_2G_OFST, 0x10) 543*53ee8cc1Swenshuai.xi #define GOP_2G_BRI GOP_REG(GOP_2G_OFST, 0x11) 544*53ee8cc1Swenshuai.xi #define GOP_2G_CON GOP_REG(GOP_2G_OFST, 0x12) 545*53ee8cc1Swenshuai.xi #define GOP_2G_BW GOP_REG(GOP_2G_OFST, 0x19) 546*53ee8cc1Swenshuai.xi #define GOP_2G_3D_MIDDLE GOP_REG(GOP_2G_OFST, 0x1E) 547*53ee8cc1Swenshuai.xi #define GOP_2G_PRI0 GOP_REG(GOP_2G_OFST, 0x20) 548*53ee8cc1Swenshuai.xi #define GOP_2G_TRSCLR_L GOP_REG(GOP_2G_OFST, 0x24) 549*53ee8cc1Swenshuai.xi #define GOP_2G_TRSCLR_H GOP_REG(GOP_2G_OFST, 0x25) 550*53ee8cc1Swenshuai.xi #define GOP_2G_STRCH_HSZ GOP_REG(GOP_2G_OFST, 0x30) 551*53ee8cc1Swenshuai.xi #define GOP_2G_STRCH_VSZ GOP_REG(GOP_2G_OFST, 0x31) 552*53ee8cc1Swenshuai.xi #define GOP_2G_STRCH_HSTR GOP_REG(GOP_2G_OFST, 0x32) 553*53ee8cc1Swenshuai.xi #define GOP_2G_STRCH_VSTR GOP_REG(GOP_2G_OFST, 0x34) 554*53ee8cc1Swenshuai.xi #define GOP_2G_HSTRCH GOP_REG(GOP_2G_OFST, 0x35) 555*53ee8cc1Swenshuai.xi #define GOP_2G_VSTRCH GOP_REG(GOP_2G_OFST, 0x36) 556*53ee8cc1Swenshuai.xi #define GOP_2G_HSTRCH_INI GOP_REG(GOP_2G_OFST, 0x38) 557*53ee8cc1Swenshuai.xi #define GOP_2G_VSTRCH_INI GOP_REG(GOP_2G_OFST, 0x39) 558*53ee8cc1Swenshuai.xi #define GOP_2G_HVStrch_MD GOP_REG(GOP_2G_OFST, 0x3a) 559*53ee8cc1Swenshuai.xi #define GOP_2G_OLDADDR GOP_REG(GOP_2G_OFST, 0x3b) 560*53ee8cc1Swenshuai.xi #define GOP_2G_MULTI_ALPHA GOP_REG(GOP_2G_OFST, 0x3c) 561*53ee8cc1Swenshuai.xi #define GOP_2G_REGDMA_EN GOP_REG(GOP_2G_OFST, 0x78) 562*53ee8cc1Swenshuai.xi 563*53ee8cc1Swenshuai.xi 564*53ee8cc1Swenshuai.xi #define GOP_2G_GWIN0_CTRL(id) GOP_REG(GOP_2G_OFST+1, 0x00 + (0x20*((id)%MAX_GOP1_GWIN))) 565*53ee8cc1Swenshuai.xi #define GOP_2G_GWIN_CTRL(id) GOP_REG(GOP_2G_OFST+1, 0x00 + (0x20*((id)%MAX_GOP1_GWIN))) 566*53ee8cc1Swenshuai.xi #define GOP_2G_DRAM_RBLK_L(id) GOP_REG(GOP_2G_OFST+1, 0x01 + (0x20*((id)%MAX_GOP1_GWIN))) 567*53ee8cc1Swenshuai.xi #define GOP_2G_DRAM_RBLK_H(id) GOP_REG(GOP_2G_OFST+1, 0x02 + (0x20*((id)%MAX_GOP1_GWIN))) 568*53ee8cc1Swenshuai.xi #define GOP_2G_DEL_PIXEL(id) GOP_REG(GOP_2G_OFST+1, 0x03 + (0x20*((id)%MAX_GOP1_GWIN))) 569*53ee8cc1Swenshuai.xi #define GOP_2G_HSTR(id) GOP_REG(GOP_2G_OFST+1, 0x04 + (0x20*((id)%MAX_GOP1_GWIN))) 570*53ee8cc1Swenshuai.xi #define GOP_2G_HEND(id) GOP_REG(GOP_2G_OFST+1, 0x05 + (0x20*((id)%MAX_GOP1_GWIN))) 571*53ee8cc1Swenshuai.xi #define GOP_2G_VSTR(id) GOP_REG(GOP_2G_OFST+1, 0x06 + (0x20*((id)%MAX_GOP1_GWIN))) 572*53ee8cc1Swenshuai.xi #define GOP_2G_VEND(id) GOP_REG(GOP_2G_OFST+1, 0x08 + (0x20*((id)%MAX_GOP1_GWIN))) 573*53ee8cc1Swenshuai.xi #define GOP_2G_DRAM_RBLK_HSIZE(id) GOP_REG(GOP_2G_OFST+1, 0x09 + (0x20*((id)%MAX_GOP1_GWIN))) 574*53ee8cc1Swenshuai.xi #define GOP_2G_GWIN_ALPHA01(id) GOP_REG(GOP_2G_OFST+1, 0x0A + (0x20*((id)%MAX_GOP1_GWIN))) 575*53ee8cc1Swenshuai.xi #define GOP_2G_DRAM_VSTR_L(id) GOP_REG(GOP_2G_OFST+1, 0x0C + (0x20*((id)%MAX_GOP1_GWIN))) 576*53ee8cc1Swenshuai.xi #define GOP_2G_DRAM_VSTR_H(id) GOP_REG(GOP_2G_OFST+1, 0x0D + (0x20*((id)%MAX_GOP1_GWIN))) 577*53ee8cc1Swenshuai.xi #define GOP_2G_DRAM_FADE(id) GOP_REG(GOP_2G_OFST+1, 0x16 + (0x20*((id)%MAX_GOP1_GWIN))) 578*53ee8cc1Swenshuai.xi #define GOP_2G_3DOSD_SUB_RBLK_L(id) GOP_REG(GOP_2G_OFST+1, 0x1E + (0x20*((id)%MAX_GOP1_GWIN))) 579*53ee8cc1Swenshuai.xi #define GOP_2G_3DOSD_SUB_RBLK_H(id) GOP_REG(GOP_2G_OFST+1, 0x1F + (0x20*((id)%MAX_GOP1_GWIN))) 580*53ee8cc1Swenshuai.xi 581*53ee8cc1Swenshuai.xi // DWIN reg 582*53ee8cc1Swenshuai.xi #define GOP_DW_CTL0_EN GOP_REG(GOP_DW_OFST, 0x00) 583*53ee8cc1Swenshuai.xi #define GOP_DWIN_EN (0x00) 584*53ee8cc1Swenshuai.xi #define GOP_DWIN_EN_VAL GOP_REG_VAL(GOP_DWIN_EN) 585*53ee8cc1Swenshuai.xi #define GOP_DWIN_SHOT (0x07) 586*53ee8cc1Swenshuai.xi #define GOP_DWIN_SHOT_VAL GOP_REG_VAL(GOP_DWIN_SHOT) 587*53ee8cc1Swenshuai.xi 588*53ee8cc1Swenshuai.xi #define GOP_DW_LSTR_WBE GOP_REG(GOP_DW_OFST, 0x01) 589*53ee8cc1Swenshuai.xi #define GOP_DW_INT_MASK GOP_REG(GOP_DW_OFST, 0x02) 590*53ee8cc1Swenshuai.xi #define GOP_DW_DEBUG GOP_REG(GOP_DW_OFST, 0x03) 591*53ee8cc1Swenshuai.xi #define GOP_DW_ALPHA GOP_REG(GOP_DW_OFST, 0x04) 592*53ee8cc1Swenshuai.xi #define GOP_DW_BW GOP_REG(GOP_DW_OFST, 0x05) 593*53ee8cc1Swenshuai.xi #define GOP_DW_VSTR GOP_REG(GOP_DW_OFST, 0x10) 594*53ee8cc1Swenshuai.xi #define GOP_DW_HSTR GOP_REG(GOP_DW_OFST, 0x11) 595*53ee8cc1Swenshuai.xi #define GOP_DW_VEND GOP_REG(GOP_DW_OFST, 0x12) 596*53ee8cc1Swenshuai.xi #define GOP_DW_HEND GOP_REG(GOP_DW_OFST, 0x13) 597*53ee8cc1Swenshuai.xi #define GOP_DW_HSIZE GOP_REG(GOP_DW_OFST, 0x14) 598*53ee8cc1Swenshuai.xi #define GOP_DW_JMPLEN GOP_REG(GOP_DW_OFST, 0x15) 599*53ee8cc1Swenshuai.xi #define GOP_DW_DSTR_L GOP_REG(GOP_DW_OFST, 0x16) 600*53ee8cc1Swenshuai.xi #define GOP_DW_DSTR_H GOP_REG(GOP_DW_OFST, 0x17) 601*53ee8cc1Swenshuai.xi #define GOP_DW_UB_L GOP_REG(GOP_DW_OFST, 0x18) 602*53ee8cc1Swenshuai.xi #define GOP_DW_UB_H GOP_REG(GOP_DW_OFST, 0x19) 603*53ee8cc1Swenshuai.xi 604*53ee8cc1Swenshuai.xi #define GOP_DW_PON_DSTR_L GOP_REG(GOP_DW_OFST, 0x1a) 605*53ee8cc1Swenshuai.xi #define GOP_DW_PON_DSTR_H GOP_REG(GOP_DW_OFST, 0x1b) 606*53ee8cc1Swenshuai.xi #define GOP_DW_PON_UB_L GOP_REG(GOP_DW_OFST, 0x1c) 607*53ee8cc1Swenshuai.xi #define GOP_DW_PON_UB_H GOP_REG(GOP_DW_OFST, 0x1d) 608*53ee8cc1Swenshuai.xi #define GOP_DW_FRAME_CTRL GOP_REG(GOP_DW_OFST, 0x30) 609*53ee8cc1Swenshuai.xi 610*53ee8cc1Swenshuai.xi #define GOP_VE_DATA_MUX GOP_REG(GOP_MIXER_OFST, 0x30) 611*53ee8cc1Swenshuai.xi 612*53ee8cc1Swenshuai.xi #define GOP_1G_CTRL0 GOP_REG(GOP_1G_OFST, 0x00) 613*53ee8cc1Swenshuai.xi #define GOP_1G_CTRL1 GOP_REG(GOP_1G_OFST, 0x01) 614*53ee8cc1Swenshuai.xi #define GOP_1G_RATE GOP_REG(GOP_1G_OFST, 0x02) 615*53ee8cc1Swenshuai.xi #define GOP_1G_PALDATA_L GOP_REG(GOP_1G_OFST, 0x03) 616*53ee8cc1Swenshuai.xi #define GOP_1G_PALDATA_H GOP_REG(GOP_1G_OFST, 0x04) 617*53ee8cc1Swenshuai.xi #define GOP_1G_PALCTRL GOP_REG(GOP_1G_OFST, 0x05) 618*53ee8cc1Swenshuai.xi #define GOP_1G_REGDMA_END GOP_REG(GOP_1G_OFST, 0x06) 619*53ee8cc1Swenshuai.xi #define GOP_1G_REGDMA_STR GOP_REG(GOP_1G_OFST, 0x07) 620*53ee8cc1Swenshuai.xi #define GOP_1G_INT GOP_REG(GOP_1G_OFST, 0x08) 621*53ee8cc1Swenshuai.xi #define GOP_1G_HWSTATE GOP_REG(GOP_1G_OFST, 0x09) 622*53ee8cc1Swenshuai.xi #define GOP_1G_RDMA_HT GOP_REG(GOP_1G_OFST, 0x0e) 623*53ee8cc1Swenshuai.xi #define GOP_1G_HS_PIPE GOP_REG(GOP_1G_OFST, 0x0f) 624*53ee8cc1Swenshuai.xi #define GOP_1G_BRI GOP_REG(GOP_1G_OFST, 0x11) 625*53ee8cc1Swenshuai.xi #define GOP_1G_CON GOP_REG(GOP_1G_OFST, 0x12) 626*53ee8cc1Swenshuai.xi #define GOP_1G_BW GOP_REG(GOP_1G_OFST, 0x19) 627*53ee8cc1Swenshuai.xi #define GOP_1G_3D_MIDDLE GOP_REG(GOP_1G_OFST, 0x1E) 628*53ee8cc1Swenshuai.xi #define GOP_1G_TRSCLR_L GOP_REG(GOP_1G_OFST, 0x24) 629*53ee8cc1Swenshuai.xi #define GOP_1G_TRSCLR_H GOP_REG(GOP_1G_OFST, 0x25) 630*53ee8cc1Swenshuai.xi #define GOP_1G_STRCH_HSZ GOP_REG(GOP_1G_OFST, 0x30) 631*53ee8cc1Swenshuai.xi #define GOP_1G_STRCH_VSZ GOP_REG(GOP_1G_OFST, 0x31) 632*53ee8cc1Swenshuai.xi #define GOP_1G_STRCH_HSTR GOP_REG(GOP_1G_OFST, 0x32) 633*53ee8cc1Swenshuai.xi #define GOP_1G_STRCH_VSTR GOP_REG(GOP_1G_OFST, 0x34) 634*53ee8cc1Swenshuai.xi #define GOP_1G_HSTRCH GOP_REG(GOP_1G_OFST, 0x35) 635*53ee8cc1Swenshuai.xi #define GOP_1G_HSTRCH_INI GOP_REG(GOP_1G_OFST, 0x38) 636*53ee8cc1Swenshuai.xi #define GOP_1G_VSTRCH_INI GOP_REG(GOP_1G_OFST, 0x39) 637*53ee8cc1Swenshuai.xi #define GOP_1G_HStrch_MD GOP_REG(GOP_1G_OFST, 0x3a) 638*53ee8cc1Swenshuai.xi #define GOP_1G_OLDADDR GOP_REG(GOP_1G_OFST, 0x3b) 639*53ee8cc1Swenshuai.xi #define GOP_1G_MULTI_ALPHA GOP_REG(GOP_1G_OFST, 0x3c) 640*53ee8cc1Swenshuai.xi 641*53ee8cc1Swenshuai.xi #define GOP_1G_GWIN0_CTRL GOP_REG(GOP_1G_OFST+1, 0x0) 642*53ee8cc1Swenshuai.xi #define GOP_1G_DRAM_RBLK_L GOP_REG(GOP_1G_OFST+1, 0x1) 643*53ee8cc1Swenshuai.xi #define GOP_1G_DRAM_RBLK_H GOP_REG(GOP_1G_OFST+1, 0x2) 644*53ee8cc1Swenshuai.xi #define GOP_1G_DEL_PIXEL GOP_REG(GOP_1G_OFST+1, 0x3) 645*53ee8cc1Swenshuai.xi #define GOP_1G_HSTR GOP_REG(GOP_1G_OFST+1, 0x4) 646*53ee8cc1Swenshuai.xi #define GOP_1G_HEND GOP_REG(GOP_1G_OFST+1, 0x5) 647*53ee8cc1Swenshuai.xi #define GOP_1G_VSTR GOP_REG(GOP_1G_OFST+1, 0x6) 648*53ee8cc1Swenshuai.xi #define GOP_1G_VEND GOP_REG(GOP_1G_OFST+1, 0x8) 649*53ee8cc1Swenshuai.xi #define GOP_1G_DRAM_RBLK_HSIZE GOP_REG(GOP_1G_OFST+1, 0x9) 650*53ee8cc1Swenshuai.xi #define GOP_1G_GWIN_ALPHA01 GOP_REG(GOP_1G_OFST+1, 0xA) 651*53ee8cc1Swenshuai.xi #define GOP_1G_DRAM_VSTR_L GOP_REG(GOP_1G_OFST+1, 0x0C) 652*53ee8cc1Swenshuai.xi #define GOP_1G_DRAM_VSTR_H GOP_REG(GOP_1G_OFST+1, 0x0D) 653*53ee8cc1Swenshuai.xi #define GOP_1G_DRAM_FADE GOP_REG(GOP_1G_OFST+1, 0x16) 654*53ee8cc1Swenshuai.xi #define GOP_1G_3DOSD_SUB_RBLK_L GOP_REG(GOP_1G_OFST+1, 0x1E) 655*53ee8cc1Swenshuai.xi #define GOP_1G_3DOSD_SUB_RBLK_H GOP_REG(GOP_1G_OFST+1, 0x1F) 656*53ee8cc1Swenshuai.xi 657*53ee8cc1Swenshuai.xi #define GOP_1GX_CTRL0 GOP_REG(GOP_1GX_OFST, 0x00) 658*53ee8cc1Swenshuai.xi #define GOP_1GX_CTRL1 GOP_REG(GOP_1GX_OFST, 0x01) 659*53ee8cc1Swenshuai.xi #define GOP_1GX_RATE GOP_REG(GOP_1GX_OFST, 0x02) 660*53ee8cc1Swenshuai.xi #define GOP_1GX_PALDATA_L GOP_REG(GOP_1GX_OFST, 0x03) 661*53ee8cc1Swenshuai.xi #define GOP_1GX_PALDATA_H GOP_REG(GOP_1GX_OFST, 0x04) 662*53ee8cc1Swenshuai.xi #define GOP_1GX_PALCTRL GOP_REG(GOP_1GX_OFST, 0x05) 663*53ee8cc1Swenshuai.xi #define GOP_1GX_REGDMA_END GOP_REG(GOP_1GX_OFST, 0x06) 664*53ee8cc1Swenshuai.xi #define GOP_1GX_REGDMA_STR GOP_REG(GOP_1GX_OFST, 0x07) 665*53ee8cc1Swenshuai.xi #define GOP_1GX_INT GOP_REG(GOP_1GX_OFST, 0x08) 666*53ee8cc1Swenshuai.xi #define GOP_1GX_HWSTATE GOP_REG(GOP_1GX_OFST, 0x09) 667*53ee8cc1Swenshuai.xi #define GOP_1GX_RDMA_HT GOP_REG(GOP_1GX_OFST, 0x0e) 668*53ee8cc1Swenshuai.xi #define GOP_1GX_HS_PIPE GOP_REG(GOP_1GX_OFST, 0x0f) 669*53ee8cc1Swenshuai.xi #define GOP_1GX_BRI GOP_REG(GOP_1GX_OFST, 0x11) 670*53ee8cc1Swenshuai.xi #define GOP_1GX_CON GOP_REG(GOP_1GX_OFST, 0x12) 671*53ee8cc1Swenshuai.xi #define GOP_1GX_BW GOP_REG(GOP_1GX_OFST, 0x19) 672*53ee8cc1Swenshuai.xi #define GOP_1GX_3D_MIDDLE GOP_REG(GOP_1GX_OFST, 0x1E) 673*53ee8cc1Swenshuai.xi #define GOP_1GX_TRSCLR_L GOP_REG(GOP_1GX_OFST, 0x24) 674*53ee8cc1Swenshuai.xi #define GOP_1GX_TRSCLR_H GOP_REG(GOP_1GX_OFST, 0x25) 675*53ee8cc1Swenshuai.xi #define GOP_1GX_STRCH_HSZ GOP_REG(GOP_1GX_OFST, 0x30) 676*53ee8cc1Swenshuai.xi #define GOP_1GX_STRCH_VSZ GOP_REG(GOP_1GX_OFST, 0x31) 677*53ee8cc1Swenshuai.xi #define GOP_1GX_STRCH_HSTR GOP_REG(GOP_1GX_OFST, 0x32) 678*53ee8cc1Swenshuai.xi #define GOP_1GX_STRCH_VSTR GOP_REG(GOP_1GX_OFST, 0x34) 679*53ee8cc1Swenshuai.xi #define GOP_1GX_HSTRCH GOP_REG(GOP_1GX_OFST, 0x35) 680*53ee8cc1Swenshuai.xi #define GOP_1GX_HSTRCH_INI GOP_REG(GOP_1GX_OFST, 0x38) 681*53ee8cc1Swenshuai.xi #define GOP_1GX_VSTRCH_INI GOP_REG(GOP_1GX_OFST, 0x39) 682*53ee8cc1Swenshuai.xi #define GOP_1GX_HStrch_MD GOP_REG(GOP_1GX_OFST, 0x3a) 683*53ee8cc1Swenshuai.xi #define GOP_1GX_OLDADDR GOP_REG(GOP_1GX_OFST, 0x3b) 684*53ee8cc1Swenshuai.xi #define GOP_1GX_MULTI_ALPHA GOP_REG(GOP_1GX_OFST, 0x3c) 685*53ee8cc1Swenshuai.xi 686*53ee8cc1Swenshuai.xi #define GOP_1GX_GWIN0_CTRL GOP_REG(GOP_1GX_OFST+1, 0x00) 687*53ee8cc1Swenshuai.xi #define GOP_1GX_DRAM_RBLK_L GOP_REG(GOP_1GX_OFST+1, 0x01) 688*53ee8cc1Swenshuai.xi #define GOP_1GX_DRAM_RBLK_H GOP_REG(GOP_1GX_OFST+1, 0x02) 689*53ee8cc1Swenshuai.xi #define GOP_1GX_DEL_PIXEL GOP_REG(GOP_1GX_OFST+1, 0x03) 690*53ee8cc1Swenshuai.xi #define GOP_1GX_HSTR GOP_REG(GOP_1GX_OFST+1, 0x04) 691*53ee8cc1Swenshuai.xi #define GOP_1GX_HEND GOP_REG(GOP_1GX_OFST+1, 0x05) 692*53ee8cc1Swenshuai.xi #define GOP_1GX_VSTR GOP_REG(GOP_1GX_OFST+1, 0x06) 693*53ee8cc1Swenshuai.xi #define GOP_1GX_VEND GOP_REG(GOP_1GX_OFST+1, 0x08) 694*53ee8cc1Swenshuai.xi #define GOP_1GX_DRAM_RBLK_HSIZE GOP_REG(GOP_1GX_OFST+1, 0x09) 695*53ee8cc1Swenshuai.xi #define GOP_1GX_GWIN_ALPHA01 GOP_REG(GOP_1GX_OFST+1, 0x0A) 696*53ee8cc1Swenshuai.xi #define GOP_1GX_DRAM_VSTR_L GOP_REG(GOP_1GX_OFST+1, 0x0C) 697*53ee8cc1Swenshuai.xi #define GOP_1GX_DRAM_VSTR_H GOP_REG(GOP_1GX_OFST+1, 0x0D) 698*53ee8cc1Swenshuai.xi #define GOP_1GX_DRAM_FADE GOP_REG(GOP_1GX_OFST+1, 0x16) 699*53ee8cc1Swenshuai.xi #define GOP_1GX_3DOSD_SUB_RBLK_L GOP_REG(GOP_1GX_OFST+1, 0x1E) 700*53ee8cc1Swenshuai.xi #define GOP_1GX_3DOSD_SUB_RBLK_H GOP_REG(GOP_1GX_OFST+1, 0x1F) 701*53ee8cc1Swenshuai.xi 702*53ee8cc1Swenshuai.xi #define GOP_MIXER_CTRL GOP_REG(GOP_MIXER_OFST, 0x0) 703*53ee8cc1Swenshuai.xi 704*53ee8cc1Swenshuai.xi #define GOP_MIXER_EN_GOP_MIX0 (1<<0) 705*53ee8cc1Swenshuai.xi #define GOP_MIXER_EN_GOP_MIX1 (1<<1) 706*53ee8cc1Swenshuai.xi #define GOP_MIXER_GOP_MIX_MODE (1<<2) 707*53ee8cc1Swenshuai.xi #define GOP_MIXER_HS_POL (1<<5) 708*53ee8cc1Swenshuai.xi #define GOP_MIXER_VS_POL (1<<6) 709*53ee8cc1Swenshuai.xi #define GOP_MIXER_EN_FLD_FREERUN_MD (1<<7) 710*53ee8cc1Swenshuai.xi #define GOP_MIXER_INV_FIELD_VEOSD (1<<8) 711*53ee8cc1Swenshuai.xi #define GOP_MIXER_ABL_POL (1<<9) 712*53ee8cc1Swenshuai.xi #define GOP_MIXER_EN_MIX (1<<15) 713*53ee8cc1Swenshuai.xi 714*53ee8cc1Swenshuai.xi 715*53ee8cc1Swenshuai.xi #define GOP_MIXER_FHST GOP_REG(GOP_MIXER_OFST, 0x1) 716*53ee8cc1Swenshuai.xi #define GOP_MIXER_FVST GOP_REG(GOP_MIXER_OFST, 0x2) 717*53ee8cc1Swenshuai.xi #define GOP_MIXER_FHEND GOP_REG(GOP_MIXER_OFST, 0x3) 718*53ee8cc1Swenshuai.xi #define GOP_MIXER_FVEND GOP_REG(GOP_MIXER_OFST, 0x4) 719*53ee8cc1Swenshuai.xi #define GOP_MIXER_HTT GOP_REG(GOP_MIXER_OFST, 0x5) 720*53ee8cc1Swenshuai.xi #define GOP_MIXER_HS_DELAY GOP_REG(GOP_MIXER_OFST, 0x6) 721*53ee8cc1Swenshuai.xi #define GOP_MIXER_FLD_DELAY_LINE GOP_REG(GOP_MIXER_OFST, 0x7) 722*53ee8cc1Swenshuai.xi #define GOP_MIXER_FLD_DE_ADJUST GOP_REG(GOP_MIXER_OFST, 0x8) 723*53ee8cc1Swenshuai.xi #define GOP_MIXER_C_FIL_COEF0COEF1 GOP_REG(GOP_MIXER_OFST, 0x9) 724*53ee8cc1Swenshuai.xi #define GOP_MIXER_C_FIL_COEF2COEF3 GOP_REG(GOP_MIXER_OFST, 0xa) 725*53ee8cc1Swenshuai.xi #define GOP_MIXER_VFIL_RATIO GOP_REG(GOP_MIXER_OFST, 0xb) 726*53ee8cc1Swenshuai.xi #define GOP_MIXER_MIX_DUMMY GOP_REG(GOP_MIXER_OFST, 0xc) 727*53ee8cc1Swenshuai.xi #define GOP_MIXER_DEBUG_H GOP_REG(GOP_MIXER_OFST, 0xd) 728*53ee8cc1Swenshuai.xi #define GOP_MIXER_DEBUG_V GOP_REG(GOP_MIXER_OFST, 0xe) 729*53ee8cc1Swenshuai.xi #define GOP_MIXER_DEBUG_PIXEL_L GOP_REG(GOP_MIXER_OFST, 0xf) 730*53ee8cc1Swenshuai.xi #define GOP_MIXER_DEBUG_PIXEL_H GOP_REG(GOP_MIXER_OFST, 0x10) 731*53ee8cc1Swenshuai.xi #define GOP_MIXER_VE GOP_REG(GOP_MIXER_OFST, 0x11) 732*53ee8cc1Swenshuai.xi #define GOP_MIXER_FULL_WIN_DE GOP_REG(GOP_MIXER_OFST, 0x20) 733*53ee8cc1Swenshuai.xi #define GOP_VE_DATA_MUX GOP_REG(GOP_MIXER_OFST, 0x30) 734*53ee8cc1Swenshuai.xi 735*53ee8cc1Swenshuai.xi #define GOP_MIXER_EN_VFIL (1<<0) 736*53ee8cc1Swenshuai.xi #define GOP_MIXER_EN_VFIL_MASK GOP_BIT0 737*53ee8cc1Swenshuai.xi #define GOP_MIXER_VS_FLD_ON (1<<7) 738*53ee8cc1Swenshuai.xi #define GOP_MIXER_VS_FLD_ON_MASK GOP_BIT7 739*53ee8cc1Swenshuai.xi #define GOP_MIXER_REG_DUMMY GOP_REG(GOP_MIXER_OFST, 0x20) 740*53ee8cc1Swenshuai.xi 741*53ee8cc1Swenshuai.xi #define GOP_1GS0_CTRL0 GOP_REG(GOP_1GS0_OFST, 0x00) 742*53ee8cc1Swenshuai.xi #define GOP_1GS0_CTRL1 GOP_REG(GOP_1GS0_OFST, 0x01) 743*53ee8cc1Swenshuai.xi #define GOP_1GS0_RATE GOP_REG(GOP_1GS0_OFST, 0x02) 744*53ee8cc1Swenshuai.xi #define GOP_1GS0_PALDATA_L GOP_REG(GOP_1GS0_OFST, 0x03) 745*53ee8cc1Swenshuai.xi #define GOP_1GS0_PALDATA_H GOP_REG(GOP_1GS0_OFST, 0x04) 746*53ee8cc1Swenshuai.xi #define GOP_1GS0_PALCTRL GOP_REG(GOP_1GS0_OFST, 0x05) 747*53ee8cc1Swenshuai.xi #define GOP_1GS0_REGDMA_END GOP_REG(GOP_1GS0_OFST, 0x06) 748*53ee8cc1Swenshuai.xi #define GOP_1GS0_REGDMA_STR GOP_REG(GOP_1GS0_OFST, 0x07) 749*53ee8cc1Swenshuai.xi #define GOP_1GS0_INT GOP_REG(GOP_1GS0_OFST, 0x08) 750*53ee8cc1Swenshuai.xi #define GOP_1GS0_HWSTATE GOP_REG(GOP_1GS0_OFST, 0x09) 751*53ee8cc1Swenshuai.xi #define GOP_1GS0_RDMA_HT GOP_REG(GOP_1GS0_OFST, 0x0e) 752*53ee8cc1Swenshuai.xi #define GOP_1GS0_HS_PIPE GOP_REG(GOP_1GS0_OFST, 0x0f) 753*53ee8cc1Swenshuai.xi #define GOP_1GS0_BRI GOP_REG(GOP_1GS0_OFST, 0x11) 754*53ee8cc1Swenshuai.xi #define GOP_1GS0_CON GOP_REG(GOP_1GS0_OFST, 0x12) 755*53ee8cc1Swenshuai.xi #define GOP_1GS0_BW GOP_REG(GOP_1GS0_OFST, 0x19) 756*53ee8cc1Swenshuai.xi #define GOP_1GS0_TRSCLR_L GOP_REG(GOP_1GS0_OFST, 0x24) 757*53ee8cc1Swenshuai.xi #define GOP_1GS0_TRSCLR_H GOP_REG(GOP_1GS0_OFST, 0x25) 758*53ee8cc1Swenshuai.xi #define GOP_1GS0_STRCH_HSZ GOP_REG(GOP_1GS0_OFST, 0x30) 759*53ee8cc1Swenshuai.xi #define GOP_1GS0_STRCH_VSZ GOP_REG(GOP_1GS0_OFST, 0x31) 760*53ee8cc1Swenshuai.xi #define GOP_1GS0_STRCH_HSTR GOP_REG(GOP_1GS0_OFST, 0x32) 761*53ee8cc1Swenshuai.xi #define GOP_1GS0_STRCH_VSTR GOP_REG(GOP_1GS0_OFST, 0x34) 762*53ee8cc1Swenshuai.xi #define GOP_1GS0_HSTRCH GOP_REG(GOP_1GS0_OFST, 0x35) 763*53ee8cc1Swenshuai.xi #define GOP_1GS0_HSTRCH_INI GOP_REG(GOP_1GS0_OFST, 0x38) 764*53ee8cc1Swenshuai.xi #define GOP_1GS0_VSTRCH_INI GOP_REG(GOP_1GS0_OFST, 0x39) 765*53ee8cc1Swenshuai.xi #define GOP_1GS0_HVStrch_MD GOP_REG(GOP_1GS0_OFST, 0x3a) 766*53ee8cc1Swenshuai.xi #define GOP_1GS0_OLDADDR GOP_REG(GOP_1GS0_OFST, 0x3b) 767*53ee8cc1Swenshuai.xi #define GOP_1GS0_MULTI_ALPHA GOP_REG(GOP_1GS0_OFST, 0x3c) 768*53ee8cc1Swenshuai.xi 769*53ee8cc1Swenshuai.xi #define GOP_1GS0_GWIN0_CTRL GOP_REG(GOP_1GS0_OFST+1, 0x00) 770*53ee8cc1Swenshuai.xi #define GOP_1GS0_DRAM_RBLK_L GOP_REG(GOP_1GS0_OFST+1, 0x01) 771*53ee8cc1Swenshuai.xi #define GOP_1GS0_DRAM_RBLK_H GOP_REG(GOP_1GS0_OFST+1, 0x02) 772*53ee8cc1Swenshuai.xi #define GOP_1GS0_DEL_PIXEL GOP_REG(GOP_1GS0_OFST+1, 0x03) 773*53ee8cc1Swenshuai.xi #define GOP_1GS0_HSTR GOP_REG(GOP_1GS0_OFST+1, 0x04) 774*53ee8cc1Swenshuai.xi #define GOP_1GS0_HEND GOP_REG(GOP_1GS0_OFST+1, 0x05) 775*53ee8cc1Swenshuai.xi #define GOP_1GS0_VSTR GOP_REG(GOP_1GS0_OFST+1, 0x06) 776*53ee8cc1Swenshuai.xi #define GOP_1GS0_VEND GOP_REG(GOP_1GS0_OFST+1, 0x08) 777*53ee8cc1Swenshuai.xi #define GOP_1GS0_DRAM_RBLK_HSIZE GOP_REG(GOP_1GS0_OFST+1, 0x09) 778*53ee8cc1Swenshuai.xi #define GOP_1GS0_GWIN_ALPHA01 GOP_REG(GOP_1GS0_OFST+1, 0x0A) 779*53ee8cc1Swenshuai.xi #define GOP_1GS0_DRAM_VSTR_L GOP_REG(GOP_1GS0_OFST+1, 0x0C) 780*53ee8cc1Swenshuai.xi #define GOP_1GS0_DRAM_VSTR_H GOP_REG(GOP_1GS0_OFST+1, 0x0D) 781*53ee8cc1Swenshuai.xi #define GOP_1GS0_DRAM_FADE GOP_REG(GOP_1GS0_OFST+1, 0x16) 782*53ee8cc1Swenshuai.xi #define GOP_1GS0_3DOSD_SUB_RBLK_L GOP_REG(GOP_1GS0_OFST+1, 0x1E) 783*53ee8cc1Swenshuai.xi #define GOP_1GS0_3DOSD_SUB_RBLK_H GOP_REG(GOP_1GS0_OFST+1, 0x1F) 784*53ee8cc1Swenshuai.xi 785*53ee8cc1Swenshuai.xi #define GOP_1GS1_CTRL0 GOP_REG(GOP_1GS1_OFST, 0x00) 786*53ee8cc1Swenshuai.xi #define GOP_1GS1_CTRL1 GOP_REG(GOP_1GS1_OFST, 0x01) 787*53ee8cc1Swenshuai.xi #define GOP_1GS1_RATE GOP_REG(GOP_1GS1_OFST, 0x02) 788*53ee8cc1Swenshuai.xi #define GOP_1GS1_PALDATA_L GOP_REG(GOP_1GS1_OFST, 0x03) 789*53ee8cc1Swenshuai.xi #define GOP_1GS1_PALDATA_H GOP_REG(GOP_1GS1_OFST, 0x04) 790*53ee8cc1Swenshuai.xi #define GOP_1GS1_PALCTRL GOP_REG(GOP_1GS1_OFST, 0x05) 791*53ee8cc1Swenshuai.xi #define GOP_1GS1_REGDMA_END GOP_REG(GOP_1GS1_OFST, 0x06) 792*53ee8cc1Swenshuai.xi #define GOP_1GS1_REGDMA_STR GOP_REG(GOP_1GS1_OFST, 0x07) 793*53ee8cc1Swenshuai.xi #define GOP_1GS1_INT GOP_REG(GOP_1GS1_OFST, 0x08) 794*53ee8cc1Swenshuai.xi #define GOP_1GS1_HWSTATE GOP_REG(GOP_1GS1_OFST, 0x09) 795*53ee8cc1Swenshuai.xi #define GOP_1GS1_RDMA_HT GOP_REG(GOP_1GS1_OFST, 0x0e) 796*53ee8cc1Swenshuai.xi #define GOP_1GS1_HS_PIPE GOP_REG(GOP_1GS1_OFST, 0x0f) 797*53ee8cc1Swenshuai.xi #define GOP_1GS1_BRI GOP_REG(GOP_1GS1_OFST, 0x11) 798*53ee8cc1Swenshuai.xi #define GOP_1GS1_CON GOP_REG(GOP_1GS1_OFST, 0x12) 799*53ee8cc1Swenshuai.xi #define GOP_1GS1_BW GOP_REG(GOP_1GS1_OFST, 0x19) 800*53ee8cc1Swenshuai.xi #define GOP_1GS1_TRSCLR_L GOP_REG(GOP_1GS1_OFST, 0x24) 801*53ee8cc1Swenshuai.xi #define GOP_1GS1_TRSCLR_H GOP_REG(GOP_1GS1_OFST, 0x25) 802*53ee8cc1Swenshuai.xi #define GOP_1GS1_STRCH_HSZ GOP_REG(GOP_1GS1_OFST, 0x30) 803*53ee8cc1Swenshuai.xi #define GOP_1GS1_STRCH_VSZ GOP_REG(GOP_1GS1_OFST, 0x31) 804*53ee8cc1Swenshuai.xi #define GOP_1GS1_STRCH_HSTR GOP_REG(GOP_1GS1_OFST, 0x32) 805*53ee8cc1Swenshuai.xi #define GOP_1GS1_STRCH_VSTR GOP_REG(GOP_1GS1_OFST, 0x34) 806*53ee8cc1Swenshuai.xi #define GOP_1GS1_HSTRCH GOP_REG(GOP_1GS1_OFST, 0x35) 807*53ee8cc1Swenshuai.xi #define GOP_1GS1_HSTRCH_INI GOP_REG(GOP_1GS1_OFST, 0x38) 808*53ee8cc1Swenshuai.xi #define GOP_1GS1_VSTRCH_INI GOP_REG(GOP_1GS1_OFST, 0x39) 809*53ee8cc1Swenshuai.xi #define GOP_1GS1_HVStrch_MD GOP_REG(GOP_1GS1_OFST, 0x3a) 810*53ee8cc1Swenshuai.xi #define GOP_1GS1_OLDADDR GOP_REG(GOP_1GS1_OFST, 0x3b) 811*53ee8cc1Swenshuai.xi #define GOP_1GS1_MULTI_ALPHA GOP_REG(GOP_1GS1_OFST, 0x3c) 812*53ee8cc1Swenshuai.xi 813*53ee8cc1Swenshuai.xi #define GOP_1GS1_GWIN0_CTRL GOP_REG(GOP_1GS1_OFST+1, 0x00) 814*53ee8cc1Swenshuai.xi #define GOP_1GS1_DRAM_RBLK_L GOP_REG(GOP_1GS1_OFST+1, 0x01) 815*53ee8cc1Swenshuai.xi #define GOP_1GS1_DRAM_RBLK_H GOP_REG(GOP_1GS1_OFST+1, 0x02) 816*53ee8cc1Swenshuai.xi #define GOP_1GS1_DEL_PIXEL GOP_REG(GOP_1GS1_OFST+1, 0x03) 817*53ee8cc1Swenshuai.xi #define GOP_1GS1_HSTR GOP_REG(GOP_1GS1_OFST+1, 0x04) 818*53ee8cc1Swenshuai.xi #define GOP_1GS1_HEND GOP_REG(GOP_1GS1_OFST+1, 0x05) 819*53ee8cc1Swenshuai.xi #define GOP_1GS1_VSTR GOP_REG(GOP_1GS1_OFST+1, 0x06) 820*53ee8cc1Swenshuai.xi #define GOP_1GS1_VEND GOP_REG(GOP_1GS1_OFST+1, 0x08) 821*53ee8cc1Swenshuai.xi #define GOP_1GS1_DRAM_RBLK_HSIZE GOP_REG(GOP_1GS1_OFST+1, 0x09) 822*53ee8cc1Swenshuai.xi #define GOP_1GS1_GWIN_ALPHA01 GOP_REG(GOP_1GS1_OFST+1, 0x0A) 823*53ee8cc1Swenshuai.xi #define GOP_1GS1_DRAM_VSTR_L GOP_REG(GOP_1GS1_OFST+1, 0x0C) 824*53ee8cc1Swenshuai.xi #define GOP_1GS1_DRAM_VSTR_H GOP_REG(GOP_1GS1_OFST+1, 0x0D) 825*53ee8cc1Swenshuai.xi #define GOP_1GS1_DRAM_FADE GOP_REG(GOP_1GS1_OFST+1, 0x16) 826*53ee8cc1Swenshuai.xi #define GOP_1GS1_3DOSD_SUB_RBLK_L GOP_REG(GOP_1GS1_OFST+1, 0x1E) 827*53ee8cc1Swenshuai.xi #define GOP_1GS1_3DOSD_SUB_RBLK_H GOP_REG(GOP_1GS1_OFST+1, 0x1F) 828*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------------------------- 829*53ee8cc1Swenshuai.xi // Type and Structure 830*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------------------------- 831*53ee8cc1Swenshuai.xi 832*53ee8cc1Swenshuai.xi //---------------------------------------------------------------------------- 833*53ee8cc1Swenshuai.xi // GOP Test Pattern Reg 834*53ee8cc1Swenshuai.xi //---------------------------------------------------------------------------- 835*53ee8cc1Swenshuai.xi #define REG_TSTCLR_EN GOP_REG(GOP_4G_OFST, 0x00) 836*53ee8cc1Swenshuai.xi #define REG_TSTCLR_ALPHA_EN GOP_REG(GOP_4G_OFST+2, 0x00) 837*53ee8cc1Swenshuai.xi #define REG_TLB_TAG_ADDR_L GOP_REG(GOP_4G_OFST+2, 0x2C) 838*53ee8cc1Swenshuai.xi #define REG_TLB_TAG_ADDR_H GOP_REG(GOP_4G_OFST+2, 0x2D) 839*53ee8cc1Swenshuai.xi #define REG_TLB_TAG_ADDR_RVIEW_L GOP_REG(GOP_4G_OFST+2, 0x2E) 840*53ee8cc1Swenshuai.xi #define REG_TLB_TAG_ADDR_RVIEW_H GOP_REG(GOP_4G_OFST+2, 0x2F) 841*53ee8cc1Swenshuai.xi #define REG_TSTCLR_ALPHA GOP_REG(GOP_4G_OFST+2, 0x40) 842*53ee8cc1Swenshuai.xi #define REG_R_STC GOP_REG(GOP_4G_OFST+2, 0x41) 843*53ee8cc1Swenshuai.xi #define REG_G_STC GOP_REG(GOP_4G_OFST+2, 0x48) 844*53ee8cc1Swenshuai.xi #define REG_B_STC GOP_REG(GOP_4G_OFST+2, 0x49) 845*53ee8cc1Swenshuai.xi #define REG_TSTCLR_HDUP GOP_REG(GOP_4G_OFST+2, 0x01) 846*53ee8cc1Swenshuai.xi #define REG_TSTCLR_VDUP GOP_REG(GOP_4G_OFST+2, 0x01) 847*53ee8cc1Swenshuai.xi #define REG_HR_INC GOP_REG(GOP_4G_OFST+2, 0x42) 848*53ee8cc1Swenshuai.xi #define REG_HR_INC_SIGNZ GOP_REG(GOP_4G_OFST+2, 0x42) 849*53ee8cc1Swenshuai.xi #define REG_HG_INC GOP_REG(GOP_4G_OFST+2, 0x43) 850*53ee8cc1Swenshuai.xi #define REG_HG_INC_SIGNZ GOP_REG(GOP_4G_OFST+2, 0x43) 851*53ee8cc1Swenshuai.xi #define REG_HB_INC GOP_REG(GOP_4G_OFST+2, 0x44) 852*53ee8cc1Swenshuai.xi #define REG_HB_INC_SIGNZ GOP_REG(GOP_4G_OFST+2, 0x44) 853*53ee8cc1Swenshuai.xi #define REG_HR_STEP GOP_REG(GOP_4G_OFST+2, 0x4A) 854*53ee8cc1Swenshuai.xi #define REG_HG_STEP GOP_REG(GOP_4G_OFST+2, 0x4B) 855*53ee8cc1Swenshuai.xi #define REG_HB_STEP GOP_REG(GOP_4G_OFST+2, 0x4C) 856*53ee8cc1Swenshuai.xi #define REG_VR_INC GOP_REG(GOP_4G_OFST+2, 0x45) 857*53ee8cc1Swenshuai.xi #define REG_VR_INC_SIGNZ GOP_REG(GOP_4G_OFST+2, 0x45) 858*53ee8cc1Swenshuai.xi #define REG_VG_INC GOP_REG(GOP_4G_OFST+2, 0x46) 859*53ee8cc1Swenshuai.xi #define REG_VG_INC_SIGNZ GOP_REG(GOP_4G_OFST+2, 0x46) 860*53ee8cc1Swenshuai.xi #define REG_VB_INC GOP_REG(GOP_4G_OFST+2, 0x47) 861*53ee8cc1Swenshuai.xi #define REG_VB_INC_SIGNZ GOP_REG(GOP_4G_OFST+2, 0x47) 862*53ee8cc1Swenshuai.xi #define REG_VR_STEP GOP_REG(GOP_4G_OFST+2, 0x4D) 863*53ee8cc1Swenshuai.xi #define REG_VG_STEP GOP_REG(GOP_4G_OFST+2, 0x4E) 864*53ee8cc1Swenshuai.xi #define REG_VB_STEP GOP_REG(GOP_4G_OFST+2, 0x4F) 865*53ee8cc1Swenshuai.xi #define REG_TLB_BASE_ADDR_L GOP_REG(GOP_4G_OFST+2, 0x58) 866*53ee8cc1Swenshuai.xi #define REG_TLB_BASE_ADDR_H GOP_REG(GOP_4G_OFST+2, 0x59) 867*53ee8cc1Swenshuai.xi #define REG_TLB_BASE_ADDR_RVIEW_L GOP_REG(GOP_4G_OFST+2, 0x5A) 868*53ee8cc1Swenshuai.xi #define REG_TLB_BASE_ADDR_RVIEW_H GOP_REG(GOP_4G_OFST+2, 0x5B) 869*53ee8cc1Swenshuai.xi 870*53ee8cc1Swenshuai.xi #define MASK_TSTCLR_EN GOP_BIT6 871*53ee8cc1Swenshuai.xi #define MASK_TSTCLR_ALPHA_EN GOP_BIT1 872*53ee8cc1Swenshuai.xi #define MASK_TSTCLR_ALPHA BMASK(11:8)|BMASK(3:0) 873*53ee8cc1Swenshuai.xi #define MASK_RGB_STC_VALID BMASK(7:0) 874*53ee8cc1Swenshuai.xi #define MASK_R_STC BMASK(11:8)|BMASK(3:0) 875*53ee8cc1Swenshuai.xi #define MASK_G_STC BMASK(11:8)|BMASK(3:0) 876*53ee8cc1Swenshuai.xi #define MASK_B_STC BMASK(11:8)|BMASK(3:0) 877*53ee8cc1Swenshuai.xi #define MASK_INI_TSTCLR_EN GOP_BIT0 878*53ee8cc1Swenshuai.xi #define MASK_TSTCLR_HDUP BMASK(3:2) 879*53ee8cc1Swenshuai.xi #define MASK_TSTCLR_VDUP BMASK(1:0) 880*53ee8cc1Swenshuai.xi #define MASK_HR_INC BMASK(10:8)|BMASK(3:0) 881*53ee8cc1Swenshuai.xi #define MASK_HR_INC_SIGNZ GOP_BIT11 882*53ee8cc1Swenshuai.xi #define MASK_HG_INC BMASK(10:8)|BMASK(3:0) 883*53ee8cc1Swenshuai.xi #define MASK_HG_INC_SIGNZ GOP_BIT11 884*53ee8cc1Swenshuai.xi #define MASK_HB_INC BMASK(10:8)|BMASK(3:0) 885*53ee8cc1Swenshuai.xi #define MASK_HB_INC_SIGNZ GOP_BIT11 886*53ee8cc1Swenshuai.xi #define MASK_HR_STEP BMASK(11:8)|BMASK(3:0) 887*53ee8cc1Swenshuai.xi #define MASK_HG_STEP BMASK(11:8)|BMASK(3:0) 888*53ee8cc1Swenshuai.xi #define MASK_HB_STEP BMASK(11:8)|BMASK(3:0) 889*53ee8cc1Swenshuai.xi #define MASK_VR_INC BMASK(10:8)|BMASK(3:0) 890*53ee8cc1Swenshuai.xi #define MASK_VR_INC_SIGNZ GOP_BIT11 891*53ee8cc1Swenshuai.xi #define MASK_VG_INC BMASK(10:8)|BMASK(3:0) 892*53ee8cc1Swenshuai.xi #define MASK_VG_INC_SIGNZ GOP_BIT11 893*53ee8cc1Swenshuai.xi #define MASK_VB_INC BMASK(10:8)|BMASK(3:0) 894*53ee8cc1Swenshuai.xi #define MASK_VB_INC_SIGNZ GOP_BIT11 895*53ee8cc1Swenshuai.xi #define MASK_VR_STEP BMASK(11:8)|BMASK(3:0) 896*53ee8cc1Swenshuai.xi #define MASK_VG_STEP BMASK(11:8)|BMASK(3:0) 897*53ee8cc1Swenshuai.xi #define MASK_VB_STEP BMASK(11:8)|BMASK(3:0) 898*53ee8cc1Swenshuai.xi 899*53ee8cc1Swenshuai.xi #define SHIFT_TSTCLR_EN 6 900*53ee8cc1Swenshuai.xi #define SHIFT_TSTCLR_ALPHA_EN 1 901*53ee8cc1Swenshuai.xi #define SHIFT_TSTCLR_ALPHA 8 902*53ee8cc1Swenshuai.xi #define SHIFT_R_STC 0 903*53ee8cc1Swenshuai.xi #define SHIFT_G_STC 0 904*53ee8cc1Swenshuai.xi #define SHIFT_B_STC 0 905*53ee8cc1Swenshuai.xi #define SHIFT_INI_TSTCLR_EN 0 906*53ee8cc1Swenshuai.xi #define SHIFT_TSTCLR_HDUP 2 907*53ee8cc1Swenshuai.xi #define SHIFT_TSTCLR_VDUP 0 908*53ee8cc1Swenshuai.xi #define SHIFT_HR_INC 0 909*53ee8cc1Swenshuai.xi #define SHIFT_HR_INC_SIGNZ 11 910*53ee8cc1Swenshuai.xi #define SHIFT_HG_INC 0 911*53ee8cc1Swenshuai.xi #define SHIFT_HG_INC_SIGNZ 11 912*53ee8cc1Swenshuai.xi #define SHIFT_HB_INC 0 913*53ee8cc1Swenshuai.xi #define SHIFT_HB_INC_SIGNZ 11 914*53ee8cc1Swenshuai.xi #define SHIFT_HR_STEP 0 915*53ee8cc1Swenshuai.xi #define SHIFT_HG_STEP 0 916*53ee8cc1Swenshuai.xi #define SHIFT_HB_STEP 0 917*53ee8cc1Swenshuai.xi #define SHIFT_VR_INC 0 918*53ee8cc1Swenshuai.xi #define SHIFT_VR_INC_SIGNZ 11 919*53ee8cc1Swenshuai.xi #define SHIFT_VG_INC 0 920*53ee8cc1Swenshuai.xi #define SHIFT_VG_INC_SIGNZ 11 921*53ee8cc1Swenshuai.xi #define SHIFT_VB_INC 0 922*53ee8cc1Swenshuai.xi #define SHIFT_VB_INC_SIGNZ 11 923*53ee8cc1Swenshuai.xi #define SHIFT_VR_STEP 0 924*53ee8cc1Swenshuai.xi #define SHIFT_VG_STEP 0 925*53ee8cc1Swenshuai.xi #define SHIFT_VB_STEP 0 926*53ee8cc1Swenshuai.xi 927*53ee8cc1Swenshuai.xi 928*53ee8cc1Swenshuai.xi //---------------------------------------------------------------------------- 929*53ee8cc1Swenshuai.xi // GOP AFBC Reg 930*53ee8cc1Swenshuai.xi //---------------------------------------------------------------------------- 931*53ee8cc1Swenshuai.xi #define REG_AFBC_CORE_EN(id) GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x00+(0x20*id)) 932*53ee8cc1Swenshuai.xi #define REG_AFBC_ADDR_L(id) GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x01+(0x20*id)) 933*53ee8cc1Swenshuai.xi #define REG_AFBC_ADDR_H(id) GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x02+(0x20*id)) 934*53ee8cc1Swenshuai.xi #define REG_AFBC_FMT(id) GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x0C+(0x20*id)) 935*53ee8cc1Swenshuai.xi #define REG_AFBC_WIDTH(id) GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x0A+(0x20*id)) 936*53ee8cc1Swenshuai.xi #define REG_AFBC_HEIGHT(id) GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x0B+(0x20*id)) 937*53ee8cc1Swenshuai.xi #define REG_AFBC_RESP(id) GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x0F+(0x20*id)) 938*53ee8cc1Swenshuai.xi #define REG_AFBC_MIU GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x43) 939*53ee8cc1Swenshuai.xi #define REG_AFBC_DEBUG(id) GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x44+(0x20*id)) 940*53ee8cc1Swenshuai.xi #define REG_AFBC_READCNT(id) GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x4C+(0x20*id)) 941*53ee8cc1Swenshuai.xi #define REG_AFBC_TRIGGER GOP_REG(GOP_4G_OFST+GOP_AFBC_OFST, 0x50) 942*53ee8cc1Swenshuai.xi 943*53ee8cc1Swenshuai.xi #endif // _REG_GOP_H_ 944