1*53ee8cc1Swenshuai.xi //<MStar Software> 2*53ee8cc1Swenshuai.xi //****************************************************************************** 3*53ee8cc1Swenshuai.xi // MStar Software 4*53ee8cc1Swenshuai.xi // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved. 5*53ee8cc1Swenshuai.xi // All software, firmware and related documentation herein ("MStar Software") are 6*53ee8cc1Swenshuai.xi // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by 7*53ee8cc1Swenshuai.xi // law, including, but not limited to, copyright law and international treaties. 8*53ee8cc1Swenshuai.xi // Any use, modification, reproduction, retransmission, or republication of all 9*53ee8cc1Swenshuai.xi // or part of MStar Software is expressly prohibited, unless prior written 10*53ee8cc1Swenshuai.xi // permission has been granted by MStar. 11*53ee8cc1Swenshuai.xi // 12*53ee8cc1Swenshuai.xi // By accessing, browsing and/or using MStar Software, you acknowledge that you 13*53ee8cc1Swenshuai.xi // have read, understood, and agree, to be bound by below terms ("Terms") and to 14*53ee8cc1Swenshuai.xi // comply with all applicable laws and regulations: 15*53ee8cc1Swenshuai.xi // 16*53ee8cc1Swenshuai.xi // 1. MStar shall retain any and all right, ownership and interest to MStar 17*53ee8cc1Swenshuai.xi // Software and any modification/derivatives thereof. 18*53ee8cc1Swenshuai.xi // No right, ownership, or interest to MStar Software and any 19*53ee8cc1Swenshuai.xi // modification/derivatives thereof is transferred to you under Terms. 20*53ee8cc1Swenshuai.xi // 21*53ee8cc1Swenshuai.xi // 2. You understand that MStar Software might include, incorporate or be 22*53ee8cc1Swenshuai.xi // supplied together with third party`s software and the use of MStar 23*53ee8cc1Swenshuai.xi // Software may require additional licenses from third parties. 24*53ee8cc1Swenshuai.xi // Therefore, you hereby agree it is your sole responsibility to separately 25*53ee8cc1Swenshuai.xi // obtain any and all third party right and license necessary for your use of 26*53ee8cc1Swenshuai.xi // such third party`s software. 27*53ee8cc1Swenshuai.xi // 28*53ee8cc1Swenshuai.xi // 3. MStar Software and any modification/derivatives thereof shall be deemed as 29*53ee8cc1Swenshuai.xi // MStar`s confidential information and you agree to keep MStar`s 30*53ee8cc1Swenshuai.xi // confidential information in strictest confidence and not disclose to any 31*53ee8cc1Swenshuai.xi // third party. 32*53ee8cc1Swenshuai.xi // 33*53ee8cc1Swenshuai.xi // 4. MStar Software is provided on an "AS IS" basis without warranties of any 34*53ee8cc1Swenshuai.xi // kind. Any warranties are hereby expressly disclaimed by MStar, including 35*53ee8cc1Swenshuai.xi // without limitation, any warranties of merchantability, non-infringement of 36*53ee8cc1Swenshuai.xi // intellectual property rights, fitness for a particular purpose, error free 37*53ee8cc1Swenshuai.xi // and in conformity with any international standard. You agree to waive any 38*53ee8cc1Swenshuai.xi // claim against MStar for any loss, damage, cost or expense that you may 39*53ee8cc1Swenshuai.xi // incur related to your use of MStar Software. 40*53ee8cc1Swenshuai.xi // In no event shall MStar be liable for any direct, indirect, incidental or 41*53ee8cc1Swenshuai.xi // consequential damages, including without limitation, lost of profit or 42*53ee8cc1Swenshuai.xi // revenues, lost or damage of data, and unauthorized system use. 43*53ee8cc1Swenshuai.xi // You agree that this Section 4 shall still apply without being affected 44*53ee8cc1Swenshuai.xi // even if MStar Software has been modified by MStar in accordance with your 45*53ee8cc1Swenshuai.xi // request or instruction for your use, except otherwise agreed by both 46*53ee8cc1Swenshuai.xi // parties in writing. 47*53ee8cc1Swenshuai.xi // 48*53ee8cc1Swenshuai.xi // 5. If requested, MStar may from time to time provide technical supports or 49*53ee8cc1Swenshuai.xi // services in relation with MStar Software to you for your use of 50*53ee8cc1Swenshuai.xi // MStar Software in conjunction with your or your customer`s product 51*53ee8cc1Swenshuai.xi // ("Services"). 52*53ee8cc1Swenshuai.xi // You understand and agree that, except otherwise agreed by both parties in 53*53ee8cc1Swenshuai.xi // writing, Services are provided on an "AS IS" basis and the warranty 54*53ee8cc1Swenshuai.xi // disclaimer set forth in Section 4 above shall apply. 55*53ee8cc1Swenshuai.xi // 56*53ee8cc1Swenshuai.xi // 6. Nothing contained herein shall be construed as by implication, estoppels 57*53ee8cc1Swenshuai.xi // or otherwise: 58*53ee8cc1Swenshuai.xi // (a) conferring any license or right to use MStar name, trademark, service 59*53ee8cc1Swenshuai.xi // mark, symbol or any other identification; 60*53ee8cc1Swenshuai.xi // (b) obligating MStar or any of its affiliates to furnish any person, 61*53ee8cc1Swenshuai.xi // including without limitation, you and your customers, any assistance 62*53ee8cc1Swenshuai.xi // of any kind whatsoever, or any information; or 63*53ee8cc1Swenshuai.xi // (c) conferring any license or right under any intellectual property right. 64*53ee8cc1Swenshuai.xi // 65*53ee8cc1Swenshuai.xi // 7. These terms shall be governed by and construed in accordance with the laws 66*53ee8cc1Swenshuai.xi // of Taiwan, R.O.C., excluding its conflict of law rules. 67*53ee8cc1Swenshuai.xi // Any and all dispute arising out hereof or related hereto shall be finally 68*53ee8cc1Swenshuai.xi // settled by arbitration referred to the Chinese Arbitration Association, 69*53ee8cc1Swenshuai.xi // Taipei in accordance with the ROC Arbitration Law and the Arbitration 70*53ee8cc1Swenshuai.xi // Rules of the Association by three (3) arbitrators appointed in accordance 71*53ee8cc1Swenshuai.xi // with the said Rules. 72*53ee8cc1Swenshuai.xi // The place of arbitration shall be in Taipei, Taiwan and the language shall 73*53ee8cc1Swenshuai.xi // be English. 74*53ee8cc1Swenshuai.xi // The arbitration award shall be final and binding to both parties. 75*53ee8cc1Swenshuai.xi // 76*53ee8cc1Swenshuai.xi //****************************************************************************** 77*53ee8cc1Swenshuai.xi //<MStar Software> 78*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 79*53ee8cc1Swenshuai.xi // 80*53ee8cc1Swenshuai.xi // Copyright (c) 2008-2009 MStar Semiconductor, Inc. 81*53ee8cc1Swenshuai.xi // All rights reserved. 82*53ee8cc1Swenshuai.xi // 83*53ee8cc1Swenshuai.xi // Unless otherwise stipulated in writing, any and all information contained 84*53ee8cc1Swenshuai.xi // herein regardless in any format shall remain the sole proprietary of 85*53ee8cc1Swenshuai.xi // MStar Semiconductor Inc. and be kept in strict confidence 86*53ee8cc1Swenshuai.xi // ("MStar Confidential Information") by the recipient. 87*53ee8cc1Swenshuai.xi // Any unauthorized act including without limitation unauthorized disclosure, 88*53ee8cc1Swenshuai.xi // copying, use, reproduction, sale, distribution, modification, disassembling, 89*53ee8cc1Swenshuai.xi // reverse engineering and compiling of the contents of MStar Confidential 90*53ee8cc1Swenshuai.xi // Information is unlawful and strictly prohibited. MStar hereby reserves the 91*53ee8cc1Swenshuai.xi // rights to any and all damages, losses, costs and expenses resulting therefrom. 92*53ee8cc1Swenshuai.xi // 93*53ee8cc1Swenshuai.xi //////////////////////////////////////////////////////////////////////////////// 94*53ee8cc1Swenshuai.xi 95*53ee8cc1Swenshuai.xi /////////////////////////////////////////////////////////////////////////////////////////////////// 96*53ee8cc1Swenshuai.xi /// 97*53ee8cc1Swenshuai.xi /// file regGE.h 98*53ee8cc1Swenshuai.xi /// @brief GE Module Register Definition 99*53ee8cc1Swenshuai.xi /// @author MStar Semiconductor Inc. 100*53ee8cc1Swenshuai.xi /////////////////////////////////////////////////////////////////////////////////////////////////// 101*53ee8cc1Swenshuai.xi 102*53ee8cc1Swenshuai.xi #ifndef _REG_GE_H_ 103*53ee8cc1Swenshuai.xi #define _REG_GE_H_ 104*53ee8cc1Swenshuai.xi 105*53ee8cc1Swenshuai.xi //#include "regCHIP.h" 106*53ee8cc1Swenshuai.xi 107*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------------------------- 108*53ee8cc1Swenshuai.xi // Hardware Capability 109*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------------------------- 110*53ee8cc1Swenshuai.xi 111*53ee8cc1Swenshuai.xi #define EUCLID_BRINGUP 1 //[EUCLID] BRINGUP will remove after bringup 112*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------------------------- 113*53ee8cc1Swenshuai.xi // Macro and Define 114*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------------------------- 115*53ee8cc1Swenshuai.xi #if defined (__aeon__) 116*53ee8cc1Swenshuai.xi #define RIU_MAP pGEHalLocal->va_mmio_base 117*53ee8cc1Swenshuai.xi #else 118*53ee8cc1Swenshuai.xi #define RIU_MAP pGEHalLocal->va_mmio_base 119*53ee8cc1Swenshuai.xi #endif 120*53ee8cc1Swenshuai.xi /* Chip Reversion*/ 121*53ee8cc1Swenshuai.xi #define CHIP_REG_BASE 0x1E00UL // 0x1E00 - 0x1EFF 122*53ee8cc1Swenshuai.xi #define CHIP_CLK_BASE 0x0B00UL // 0x1E00 - 0x1EFF 123*53ee8cc1Swenshuai.xi #define GHIP_REVERSION (0x02UL) 124*53ee8cc1Swenshuai.xi #define CHIP_GE_CLK (0x48UL) 125*53ee8cc1Swenshuai.xi #define MIU1_REG_BASE 0x0600UL 126*53ee8cc1Swenshuai.xi #define MIU_SELETE_OFFSET 31UL 127*53ee8cc1Swenshuai.xi 128*53ee8cc1Swenshuai.xi #define RIU ((unsigned short volatile *) RIU_MAP) 129*53ee8cc1Swenshuai.xi #define RIU8 ((unsigned char volatile *) RIU_MAP) 130*53ee8cc1Swenshuai.xi 131*53ee8cc1Swenshuai.xi #define REG8(a) RIU8[((a) * 2) - ((a) & 1)] 132*53ee8cc1Swenshuai.xi 133*53ee8cc1Swenshuai.xi #define REG_GE_BASE (0xBF800000UL+(0x1400UL<<2)) // 0xbf805000 134*53ee8cc1Swenshuai.xi //#define GE_REG(addr) (*((volatile MS_U16*)(REG_GE_BASE + ((addr)<<2)))) 135*53ee8cc1Swenshuai.xi #define MIU1_GEGROUP 0x7CUL 136*53ee8cc1Swenshuai.xi #define MIU1_GE_CLIENT BIT(1) 137*53ee8cc1Swenshuai.xi #define MIU1_REG(addr) RIU[ (((addr)*2) + 0x600UL)] 138*53ee8cc1Swenshuai.xi #define GE_REG(addr) RIU[ (((addr)*2) + 0x2800UL)] 139*53ee8cc1Swenshuai.xi #define GE1_REG(addr) RIU[ (((addr)*2) + 0x10700UL)] 140*53ee8cc1Swenshuai.xi #define CLK_REG(addr) RIU[ (((addr)*2) + 0x0B00UL)] 141*53ee8cc1Swenshuai.xi 142*53ee8cc1Swenshuai.xi #define REG_GE_EN 0x0000UL 143*53ee8cc1Swenshuai.xi #define GE_EN_GE BIT(0) 144*53ee8cc1Swenshuai.xi #define GE_EN_DITHER BIT(1) 145*53ee8cc1Swenshuai.xi #define GE_EN_BLEND BIT(2) 146*53ee8cc1Swenshuai.xi #if (EUCLID_BRINGUP==1) 147*53ee8cc1Swenshuai.xi #define GE_EN_ASCK BIT(3) 148*53ee8cc1Swenshuai.xi #define GE_EN_DSCK BIT(4) 149*53ee8cc1Swenshuai.xi #endif 150*53ee8cc1Swenshuai.xi #define GE_EN_ROP2 BIT(5) 151*53ee8cc1Swenshuai.xi #define GE_EN_SCK BIT(6) 152*53ee8cc1Swenshuai.xi #define GE_EN_DCK BIT(7) 153*53ee8cc1Swenshuai.xi #define GE_EN_LINEPAT BIT(8) 154*53ee8cc1Swenshuai.xi #define GE_EN_DITHER_RAND BIT(9) //[OBERON] 155*53ee8cc1Swenshuai.xi #define GE_EN_DFB_BLD BIT(10) 156*53ee8cc1Swenshuai.xi #define GE_EN_ACMP BIT(11) 157*53ee8cc1Swenshuai.xi #define GE_EN_ATEST BIT(12) //[OBERON] 158*53ee8cc1Swenshuai.xi #define GE_EN_CALC_SRC_WH BIT(13) 159*53ee8cc1Swenshuai.xi #if (EUCLID_BRINGUP==1) 160*53ee8cc1Swenshuai.xi #define GE_EN_TRAP_SUB_CORR BIT(14) //[Euclid] 161*53ee8cc1Swenshuai.xi #endif 162*53ee8cc1Swenshuai.xi #define GE_EN_BURST BIT(14) 163*53ee8cc1Swenshuai.xi #define GE_EN_ONE_PIXEL_MODE BIT(15) //[OBERON] 164*53ee8cc1Swenshuai.xi #define REG_GE_CFG 0x0001UL 165*53ee8cc1Swenshuai.xi #define GE_CFG_CMDQ_MASK BMASK(3:0) 166*53ee8cc1Swenshuai.xi #define GE_CFG_CMDQ BIT(0) 167*53ee8cc1Swenshuai.xi #define GE_CFG_VCMDQ BIT(1) //[OBERON] 168*53ee8cc1Swenshuai.xi #define GE_CFG_RPRIO BIT(2) 169*53ee8cc1Swenshuai.xi 170*53ee8cc1Swenshuai.xi #if (EUCLID_BRINGUP==1) 171*53ee8cc1Swenshuai.xi #define GE_CFG_DISABLE_MIU_ACS BIT(3) //[Euclid] 172*53ee8cc1Swenshuai.xi #else 173*53ee8cc1Swenshuai.xi #define GE_CFG_WPRIO BIT(3) 174*53ee8cc1Swenshuai.xi #endif 175*53ee8cc1Swenshuai.xi #define GE_CFG_BLT_STRETCH BIT(4) 176*53ee8cc1Swenshuai.xi #define GE_CFG_EN_CLIPCHK BIT(5) //[OBERON] hw patch for both start/end out of clipping window 177*53ee8cc1Swenshuai.xi #define GE_CFG_BLT_ITALIC BIT(6) 178*53ee8cc1Swenshuai.xi #define GE_CFG_LENGTH_LIMIT BIT(7) //[OBERON] burst length limit to 1 179*53ee8cc1Swenshuai.xi #define GE_CFG_SRC_TILE BIT(8) //[OBERON] source buffer tile mode 180*53ee8cc1Swenshuai.xi #define GE_CFG_DST_TILE BIT(9) //[OBERON] destination buffer tile mode 181*53ee8cc1Swenshuai.xi #define GE_CFG_MIU0_PROT BIT(10) //[OBERON] 182*53ee8cc1Swenshuai.xi #define GE_CFG_MIU1_PROT BIT(11) //[OBERON] 183*53ee8cc1Swenshuai.xi #define GE_CFG_RW_SPLIT BIT(14) //[OBERON] 184*53ee8cc1Swenshuai.xi #if (EUCLID_BRINGUP==1) 185*53ee8cc1Swenshuai.xi #define GE_CFG_CLR_MIU_FLG BIT(12) //[Euclid] 186*53ee8cc1Swenshuai.xi #define GE_CFG_EN_DNY_CLK_GATE BIT(15) //[Euclid] 187*53ee8cc1Swenshuai.xi #endif 188*53ee8cc1Swenshuai.xi #define REG_GE_DBG 0x0002UL 189*53ee8cc1Swenshuai.xi #if (EUCLID_BRINGUP==1) 190*53ee8cc1Swenshuai.xi #define GE_DBG_MIU_MAX_LEG BMASK(8:12) //[Euclid] 191*53ee8cc1Swenshuai.xi #define GE_DBG_POL_VAR_MODE BIT(14) //[Euclid] 192*53ee8cc1Swenshuai.xi #define GE_DBG_LEG_MODE BIT(15) //[Euclid] 193*53ee8cc1Swenshuai.xi #endif 194*53ee8cc1Swenshuai.xi 195*53ee8cc1Swenshuai.xi #define REG_GE_TH 0x0003UL 196*53ee8cc1Swenshuai.xi #define GE_TH_STBB_MASK BMASK(3:0) 197*53ee8cc1Swenshuai.xi #define GE_TH_CMDQ_MASK BMASK(7:4) //[OBERON] 198*53ee8cc1Swenshuai.xi #define GE_TH_CMDQ2_MASK BMASK(11:8) //[OBERON] 199*53ee8cc1Swenshuai.xi #define REG_GE_VCMDQ_STAT 0x0004UL 200*53ee8cc1Swenshuai.xi #define REG_GE_BIST_STAT 0x0005UL 201*53ee8cc1Swenshuai.xi #define GE_VCMDQ_STAT_H_MASK BMASK(0:0) //[OBERON] virtual queue status [16] 202*53ee8cc1Swenshuai.xi #define GE_STAT_VCMDQ_MAX 131071UL 203*53ee8cc1Swenshuai.xi #define REG_GE_STAT 0x0007UL 204*53ee8cc1Swenshuai.xi #define GE_STAT_BUSY BIT(0) 205*53ee8cc1Swenshuai.xi #define GE_STAT_CMDQ2_MASK BMASK(7:3) 206*53ee8cc1Swenshuai.xi #define GE_STAT_CMDQ2_SHFT 3UL 207*53ee8cc1Swenshuai.xi #define GE_STAT_CMDQ2_MAX 16UL 208*53ee8cc1Swenshuai.xi #define GE_STAT_CMDQ_MASK BMASK(15:11) 209*53ee8cc1Swenshuai.xi #define GE_STAT_CMDQ_SHFT 11UL 210*53ee8cc1Swenshuai.xi #define GE_STAT_CMDQ_MAX 8UL 211*53ee8cc1Swenshuai.xi #define REG_GE_MIU_PROT_LTH_L(_miu) (0x0008UL+(_miu<<2)) 212*53ee8cc1Swenshuai.xi #define REG_GE_MIU_PROT_LTH_H(_miu) (0x0009UL+(_miu<<2)) 213*53ee8cc1Swenshuai.xi #define GE_MIU_PROT_LTH_H_MASK BMASK(10:0) 214*53ee8cc1Swenshuai.xi #define GE_MIU_PROT_MODE_MASK BIT(15) 215*53ee8cc1Swenshuai.xi #define GE_MIU_PROT_MODE_SHFT 15UL 216*53ee8cc1Swenshuai.xi #define GE_MIU_PROT_MODE_EQ BITS(15:15, 0) 217*53ee8cc1Swenshuai.xi #define GE_MIU_PROT_MODE_NE BITS(15:15, 1) 218*53ee8cc1Swenshuai.xi #define REG_GE_MIU_PROT_HTH_L(_miu) (0x000A+(_miu<<2)) 219*53ee8cc1Swenshuai.xi #define REG_GE_MIU_PROT_HTH_H(_miu) (0x000B+(_miu<<2)) 220*53ee8cc1Swenshuai.xi #define REG_GE_ROP2 0x0010UL 221*53ee8cc1Swenshuai.xi #define GE_ROP2_MASK BMASK(3:0) 222*53ee8cc1Swenshuai.xi #define REG_GE_BLEND 0x0011UL // source coefficient of alpha blending 223*53ee8cc1Swenshuai.xi #define GE_BLEND_MASK BMASK(3:0) 224*53ee8cc1Swenshuai.xi #define GE_BLEND_ONE BITS(3:0, 0) 225*53ee8cc1Swenshuai.xi #define GE_BLEND_CONST BITS(3:0, 1) 226*53ee8cc1Swenshuai.xi #define GE_BLEND_ASRC BITS(3:0, 2) 227*53ee8cc1Swenshuai.xi #define GE_BLEND_ADST BITS(3:0, 3) 228*53ee8cc1Swenshuai.xi #define GE_BLEND_ROP8_ALPHA BITS(3:0, 4) //[OBERON] 229*53ee8cc1Swenshuai.xi #define GE_BLEND_ROP8_SRCOVER BITS(3:0, 5) //[OBERON] 230*53ee8cc1Swenshuai.xi #define GE_BLEND_ROP8_DSTOVER BITS(3:0, 6) //[OBERON] 231*53ee8cc1Swenshuai.xi #if (EUCLID_BRINGUP==1) 232*53ee8cc1Swenshuai.xi #define GE_BLEND_ROP8_DSTNEW BITS(3:0, 7) //[Euclid] Csrc*Aconst 233*53ee8cc1Swenshuai.xi #endif 234*53ee8cc1Swenshuai.xi #define GE_BLEND_ZERO BITS(3:0, 8) 235*53ee8cc1Swenshuai.xi #define GE_BLEND_CONST_INV BITS(3:0, 9) 236*53ee8cc1Swenshuai.xi #define GE_BLEND_ASRC_INV BITS(3:0, 10) 237*53ee8cc1Swenshuai.xi #define GE_BLEND_ADST_INV1 BITS(3:0, 11) 238*53ee8cc1Swenshuai.xi #define GE_BLEND_ADST_INV2 BITS(3:0, 12) 239*53ee8cc1Swenshuai.xi #define GE_BLEND_ADST_INV3 BITS(3:0, 13) 240*53ee8cc1Swenshuai.xi #if (EUCLID_BRINGUP==1) 241*53ee8cc1Swenshuai.xi #define GE_BLEND_ADST_INV4 BITS(3:0, 14) //[Euclid] Csrc*Aconst 242*53ee8cc1Swenshuai.xi #define GE_BLEND_ADST_INV5 BITS(3:0, 15) //[Euclid] Csrc*Aconst 243*53ee8cc1Swenshuai.xi #endif 244*53ee8cc1Swenshuai.xi 245*53ee8cc1Swenshuai.xi #define GE_ALPHA_ARGB1555 BMASK(15:8) //[OBERON] 246*53ee8cc1Swenshuai.xi #define REG_GE_ALPHA 0x0012UL 247*53ee8cc1Swenshuai.xi #define GE_ALPHA_MASK BMASK(12:8) 248*53ee8cc1Swenshuai.xi #define GE_ALPHA_SHFT 8UL 249*53ee8cc1Swenshuai.xi #define REG_GE_ALPHA_CONST 0x0013UL 250*53ee8cc1Swenshuai.xi #define GE_ALPHA_CONST_MASK BMASK(7:0) 251*53ee8cc1Swenshuai.xi #define GE_ALPHA_SRCMASK_MASK BMASK(15:8) 252*53ee8cc1Swenshuai.xi 253*53ee8cc1Swenshuai.xi #define REG_GE_SCK_HTH_L 0x0014UL //ARGB8888(32), CrYCb, BLINK(16), I8(8) 254*53ee8cc1Swenshuai.xi #define REG_GE_SCK_HTH_H 0x0015UL // 255*53ee8cc1Swenshuai.xi #define REG_GE_SCK_LTH_L 0x0016UL //ARGB8888(32), CrYCb, BLINK(16), I8(8) 256*53ee8cc1Swenshuai.xi #define REG_GE_SCK_LTH_H 0x0017UL // 257*53ee8cc1Swenshuai.xi #define REG_GE_DCK_HTH_L 0x0018UL //ARGB8888(32), CrYCb, BLINK(16), I8(8) 258*53ee8cc1Swenshuai.xi #define REG_GE_DCK_HTH_H 0x0019UL // 259*53ee8cc1Swenshuai.xi #define REG_GE_DCK_LTH_L 0x001AUL //ARGB8888(32), CrYCb, BLINK(16), I8(8) 260*53ee8cc1Swenshuai.xi #define REG_GE_DCK_LTH_H 0x001BUL // 261*53ee8cc1Swenshuai.xi #define REG_GE_OP_MODE 0x001CUL 262*53ee8cc1Swenshuai.xi #define GE_OP_SCK_SHFT 0UL 263*53ee8cc1Swenshuai.xi #define GE_OP_SCK_NE BIT(0) // 264*53ee8cc1Swenshuai.xi #define GE_OP_DCK_SHFT 1UL 265*53ee8cc1Swenshuai.xi #define GE_OP_DCK_NE BIT(1) // 266*53ee8cc1Swenshuai.xi #define GE_OP_ACMP_SHFT 4UL 267*53ee8cc1Swenshuai.xi #define GE_OP_ACMP_MIN BIT(4) // MIN(Asrc,Adst) 268*53ee8cc1Swenshuai.xi #define GE_OP_ATEST_SHFT 5UL 269*53ee8cc1Swenshuai.xi #define GE_OP_ATEST_NE BIT(5) 270*53ee8cc1Swenshuai.xi #define GE_SRCCOLOR_MASK_B BMASK(15:8) 271*53ee8cc1Swenshuai.xi #define GE_SRCCOLOR_MASK_B_SHIFT 8UL 272*53ee8cc1Swenshuai.xi #define REG_GE_ATEST_TH 0x001DUL 273*53ee8cc1Swenshuai.xi #define GE_ATEST_HTH_MASK BMASK(7:0) 274*53ee8cc1Swenshuai.xi #define GE_ATEST_LTH_MASK BMASK(15:8) 275*53ee8cc1Swenshuai.xi #define REG_GE_SRCMASK_GB 0x001EUL 276*53ee8cc1Swenshuai.xi #define GE_SRCCOLOR_MASK_G BMASK(7:0) 277*53ee8cc1Swenshuai.xi #define GE_SRCCOLOR_MASK_G_SHIFT 0UL 278*53ee8cc1Swenshuai.xi #define GE_SRCCOLOR_MASK_R BMASK(15:8) 279*53ee8cc1Swenshuai.xi #define GE_SRCCOLOR_MASK_R_SHIFT 8UL 280*53ee8cc1Swenshuai.xi #define REG_GE_YUV_MODE 0x001FUL //[URANUS] write only 281*53ee8cc1Swenshuai.xi #define GE_FMT_YVYU 0UL 282*53ee8cc1Swenshuai.xi #define GE_FMT_YUYV 1UL 283*53ee8cc1Swenshuai.xi #define GE_FMT_VYUY 2UL 284*53ee8cc1Swenshuai.xi #define GE_FMT_UYVY 3UL 285*53ee8cc1Swenshuai.xi #define GE_YUV_RGB2YUV_MASK BMASK(1:0) 286*53ee8cc1Swenshuai.xi #define GE_YUV_RGB2YUV_SHFT 0UL 287*53ee8cc1Swenshuai.xi #define GE_YUV_RGB2YUV_PC BITS(1:0, 0) 288*53ee8cc1Swenshuai.xi #define GE_YUV_RGB2YUV_255 BITS(1:0, 1) 289*53ee8cc1Swenshuai.xi #define GE_YUV_OUT_RANGE_MASK BMASK(2) 290*53ee8cc1Swenshuai.xi #define GE_YUV_OUT_RANGE_SHFT 2UL 291*53ee8cc1Swenshuai.xi #define GE_YUV_OUT_255 BITS(2:2, 0) 292*53ee8cc1Swenshuai.xi #define GE_YUV_OUT_PC BITS(2:2, 1) 293*53ee8cc1Swenshuai.xi #define GE_YUV_IN_RANGE_MASK BMASK(3) 294*53ee8cc1Swenshuai.xi #define GE_YUV_IN_RANGE_SHFT 3UL 295*53ee8cc1Swenshuai.xi #define GE_YUV_IN_255 BITS(3:3, 0) 296*53ee8cc1Swenshuai.xi #define GE_YUV_IN_127 BITS(3:3, 1) 297*53ee8cc1Swenshuai.xi #define GE_YUV_SRC_YUV422_MASK BMASK(5:4) 298*53ee8cc1Swenshuai.xi #define GE_YUV_SRC_YUV422_SHFT 4UL 299*53ee8cc1Swenshuai.xi #define GE_YUV_SRC_YVYU BITS(5:4, GE_FMT_YVYU) // CbY1CrY0 300*53ee8cc1Swenshuai.xi #define GE_YUV_SRC_YUYV BITS(5:4, GE_FMT_YUYV) // CrY1CbY0 (ATI) 301*53ee8cc1Swenshuai.xi #define GE_YUV_SRC_VYUY BITS(5:4, GE_FMT_VYUY) // Y1CbY0Cr 302*53ee8cc1Swenshuai.xi #define GE_YUV_SRC_UYVY BITS(5:4, GE_FMT_UYVY) // Y1CrY0Cb 303*53ee8cc1Swenshuai.xi #define GE_YUV_DST_YUV422_MASK BMASK(7:6) 304*53ee8cc1Swenshuai.xi #define GE_YUV_DST_YUV422_SHFT 6UL 305*53ee8cc1Swenshuai.xi #define GE_YUV_DST_YVYU BITS(7:6, GE_FMT_YVYU) 306*53ee8cc1Swenshuai.xi #define GE_YUV_DST_YUYV BITS(7:6, GE_FMT_YUYV) 307*53ee8cc1Swenshuai.xi #define GE_YUV_DST_VYUY BITS(7:6, GE_FMT_VYUY) 308*53ee8cc1Swenshuai.xi #define GE_YUV_DST_UYVY BITS(7:6, GE_FMT_UYVY) 309*53ee8cc1Swenshuai.xi #define GE_YUV_CSC_MASK BMASK(7:0) 310*53ee8cc1Swenshuai.xi #define GE_SRC_BUFFER_MIU_H_SHFT 13UL 311*53ee8cc1Swenshuai.xi #define GE_DST_BUFFER_MIU_H_SHFT 14UL 312*53ee8cc1Swenshuai.xi #define GE_VCMQ_MIU_SEL_H BIT(15) 313*53ee8cc1Swenshuai.xi #define REG_GE_SRC_BASE_L 0x0020UL 314*53ee8cc1Swenshuai.xi #define REG_GE_SRC_BASE_H 0x0021UL 315*53ee8cc1Swenshuai.xi #if (EUCLID_BRINGUP==1) 316*53ee8cc1Swenshuai.xi #define GE_SB_MIU_SEL BIT(15) //[Euclid] Source Buffer MIU Selection 317*53ee8cc1Swenshuai.xi #endif 318*53ee8cc1Swenshuai.xi #define REG_GE_DST_BASE_L 0x0026UL 319*53ee8cc1Swenshuai.xi #define REG_GE_DST_BASE_H 0x0027UL 320*53ee8cc1Swenshuai.xi #if (EUCLID_BRINGUP==1) 321*53ee8cc1Swenshuai.xi #define GE_DB_MIU_SEL BIT(15) //[Euclid] Destination Buffer MIU Selection 322*53ee8cc1Swenshuai.xi #endif 323*53ee8cc1Swenshuai.xi 324*53ee8cc1Swenshuai.xi #define REG_GE_VCMDQ_BASE_L 0x0028UL 325*53ee8cc1Swenshuai.xi #define REG_GE_VCMDQ_BASE_H 0x0029UL 326*53ee8cc1Swenshuai.xi #if (EUCLID_BRINGUP==1) 327*53ee8cc1Swenshuai.xi #define GE_VCMQ_MIU_SEL BIT(15) //[Euclid] Virtual Command Queue MIU Selection 328*53ee8cc1Swenshuai.xi #endif 329*53ee8cc1Swenshuai.xi 330*53ee8cc1Swenshuai.xi #define REG_GE_VCMDQ_SIZE 0x002AUL 331*53ee8cc1Swenshuai.xi #define GE_VCMDQ_SIZE_MASK BMASK(2:0) 332*53ee8cc1Swenshuai.xi #define GE_VCMDQ_SIZE_MIN 0x00001000UL // 4KB 333*53ee8cc1Swenshuai.xi #define GE_VCMDQ_SIZE_MAX 0x00080000UL // 512KB 334*53ee8cc1Swenshuai.xi #define GE_VCMDQ_SIZE(_size) ( (_size>>19) ? 7 : \ 335*53ee8cc1Swenshuai.xi (_size>>18) ? 6 : \ 336*53ee8cc1Swenshuai.xi (_size>>17) ? 5 : \ 337*53ee8cc1Swenshuai.xi (_size>>16) ? 4 : \ 338*53ee8cc1Swenshuai.xi (_size>>15) ? 3 : \ 339*53ee8cc1Swenshuai.xi (_size>>14) ? 2 : \ 340*53ee8cc1Swenshuai.xi (_size>>13) ? 1 : 0 ) 341*53ee8cc1Swenshuai.xi #define REG_GE_DFB_BLD_OP 0x002AUL 342*53ee8cc1Swenshuai.xi #define GE_DFB_SRC_COLORMASK BIT(7) 343*53ee8cc1Swenshuai.xi #define GE_DFB_SRC_COLORMASK_SHIFT 7UL 344*53ee8cc1Swenshuai.xi #define GE_DFB_SRCBLD_OP_MASK BMASK(11:8) 345*53ee8cc1Swenshuai.xi #define GE_DFB_SRCBLD_OP_SHFT 8UL 346*53ee8cc1Swenshuai.xi #define GE_DFB_SRCBLD_OP_ZERO BITS(11:8, 0) 347*53ee8cc1Swenshuai.xi #define GE_DFB_SRCBLD_OP_ONE BITS(11:8, 1) 348*53ee8cc1Swenshuai.xi #define GE_DFB_SRCBLD_OP_SRCCOLOR BITS(11:8, 2) 349*53ee8cc1Swenshuai.xi #define GE_DFB_SRCBLD_OP_INVSRCCOLOR BITS(11:8, 3) 350*53ee8cc1Swenshuai.xi #define GE_DFB_SRCBLD_OP_SRCALPHA BITS(11:8, 4) 351*53ee8cc1Swenshuai.xi #define GE_DFB_SRCBLD_OP_INVSRCALPHA BITS(11:8, 5) 352*53ee8cc1Swenshuai.xi #define GE_DFB_SRCBLD_OP_DESTALPHA BITS(11:8, 6) 353*53ee8cc1Swenshuai.xi #define GE_DFB_SRCBLD_OP_INVDESTALPHA BITS(11:8, 7) 354*53ee8cc1Swenshuai.xi #define GE_DFB_SRCBLD_OP_DESTCOLOR BITS(11:8, 8) 355*53ee8cc1Swenshuai.xi #define GE_DFB_SRCBLD_OP_INVDESTCOLOR BITS(11:8, 9) 356*53ee8cc1Swenshuai.xi #define GE_DFB_SRCBLD_OP_SRCALPHASAT BITS(11:8, 10) 357*53ee8cc1Swenshuai.xi #define GE_DFB_DSTBLD_OP_MASK BMASK(15:12) 358*53ee8cc1Swenshuai.xi #define GE_DFB_DSTBLD_OP_SHFT 12UL 359*53ee8cc1Swenshuai.xi #define GE_DFB_DSTBLD_OP_ZERO BITS(15:12, 0) 360*53ee8cc1Swenshuai.xi #define GE_DFB_DSTBLD_OP_ONE BITS(15:12, 1) 361*53ee8cc1Swenshuai.xi #define GE_DFB_DSTBLD_OP_SRCCOLOR BITS(15:12, 2) 362*53ee8cc1Swenshuai.xi #define GE_DFB_DSTBLD_OP_INVSRCCOLOR BITS(15:12, 3) 363*53ee8cc1Swenshuai.xi #define GE_DFB_DSTBLD_OP_SRCALPHA BITS(15:12, 4) 364*53ee8cc1Swenshuai.xi #define GE_DFB_DSTBLD_OP_INVSRCALPHA BITS(15:12, 5) 365*53ee8cc1Swenshuai.xi #define GE_DFB_DSTBLD_OP_DESTALPHA BITS(15:12, 6) 366*53ee8cc1Swenshuai.xi #define GE_DFB_DSTBLD_OP_INVDESTALPHA BITS(15:12, 7) 367*53ee8cc1Swenshuai.xi #define GE_DFB_DSTBLD_OP_DESTCOLOR BITS(15:12, 8) 368*53ee8cc1Swenshuai.xi #define GE_DFB_DSTBLD_OP_INVDESTCOLOR BITS(15:12, 9) 369*53ee8cc1Swenshuai.xi #define GE_DFB_DSTBLD_OP_SRCALPHASAT BITS(15:12, 10) 370*53ee8cc1Swenshuai.xi #define REG_GE_DFB_BLD_FLAGS 0x002BUL 371*53ee8cc1Swenshuai.xi #define GE_DFB_BLD_FLAGS_MASK BMASK(7:0) 372*53ee8cc1Swenshuai.xi #define GE_DFB_BLD_FLAG_COLORALPHA BIT(0) 373*53ee8cc1Swenshuai.xi #define GE_DFB_BLD_FLAG_ALPHACHANNEL BIT(1) 374*53ee8cc1Swenshuai.xi #define GE_DFB_BLD_FLAG_COLORIZE BIT(2) 375*53ee8cc1Swenshuai.xi #define GE_DFB_BLD_FLAG_SRCPREMUL BIT(3) 376*53ee8cc1Swenshuai.xi #define GE_DFB_BLD_FLAG_SRCPREMULCOL BIT(4) 377*53ee8cc1Swenshuai.xi #define GE_DFB_BLD_FLAG_DSTPREMUL BIT(5) 378*53ee8cc1Swenshuai.xi #define GE_DFB_BLD_FLAG_XOR BIT(6) 379*53ee8cc1Swenshuai.xi #define GE_DFB_BLD_FLAG_DEMULTIPLY BIT(7) 380*53ee8cc1Swenshuai.xi #define REG_GE_B_CONST 0x002BUL 381*53ee8cc1Swenshuai.xi #define GE_B_CONST_MASK BMASK(15:8) 382*53ee8cc1Swenshuai.xi #define GE_B_CONST_SHIFT 8UL 383*53ee8cc1Swenshuai.xi #define REG_GE_G_CONST 0x002CUL 384*53ee8cc1Swenshuai.xi #define GE_G_CONST_MASK BMASK(7:0) 385*53ee8cc1Swenshuai.xi #define GE_G_CONST_SHIFT 0UL 386*53ee8cc1Swenshuai.xi #define REG_GE_R_CONST 0x002CUL 387*53ee8cc1Swenshuai.xi #define GE_R_CONST_MASK BMASK(15:8) 388*53ee8cc1Swenshuai.xi #define GE_R_CONST_SHIFT 8UL 389*53ee8cc1Swenshuai.xi #define REG_GE_CLUT_L 0x002DUL 390*53ee8cc1Swenshuai.xi #define REG_GE_CLUT_H 0x002EUL 391*53ee8cc1Swenshuai.xi #define REG_GE_CLUT_CTRL 0x002FUL 392*53ee8cc1Swenshuai.xi #define GE_CLUT_CTRL_IDX_MASK BMASK(7:0) 393*53ee8cc1Swenshuai.xi #define GE_CLUT_CTRL_RD BITS(8:8, 0) 394*53ee8cc1Swenshuai.xi #define GE_CLUT_CTRL_WR BITS(8:8, 1) 395*53ee8cc1Swenshuai.xi #define REG_GE_SRC_PITCH 0x0030UL 396*53ee8cc1Swenshuai.xi #define REG_GE_TAG 0x0032UL 397*53ee8cc1Swenshuai.xi #define REG_GE_DST_PITCH 0x0033UL 398*53ee8cc1Swenshuai.xi #define REG_GE_FMT 0x0034UL 399*53ee8cc1Swenshuai.xi #define GE_SRC_FMT_MASK BMASK(4:0) 400*53ee8cc1Swenshuai.xi #define GE_SRC_FMT_SHFT 0UL 401*53ee8cc1Swenshuai.xi #define GE_DST_FMT_MASK BMASK(12:8) 402*53ee8cc1Swenshuai.xi #define GE_DST_FMT_SHFT 8UL 403*53ee8cc1Swenshuai.xi #define REG_GE_C_L(_idx) (0x0035UL+(_idx<<1)) // [31:0]ARGB8888, [15:0]blink, [7:0]I8 404*53ee8cc1Swenshuai.xi #define REG_GE_C_H(_idx) (0x0036UL+(_idx<<1)) 405*53ee8cc1Swenshuai.xi #define REG_GE_CLIP_L 0x0055UL 406*53ee8cc1Swenshuai.xi #define REG_GE_CLIP_R 0x0056UL 407*53ee8cc1Swenshuai.xi #define REG_GE_CLIP_T 0x0057UL 408*53ee8cc1Swenshuai.xi #define REG_GE_CLIP_B 0x0058UL 409*53ee8cc1Swenshuai.xi #define REG_GE_ROT_MODE 0x0059UL 410*53ee8cc1Swenshuai.xi #define REG_GE_ROT_MODE_MASK BMASK(1:0) 411*53ee8cc1Swenshuai.xi #define REG_GE_ROT_MODE_SHFT 0UL 412*53ee8cc1Swenshuai.xi #define REG_GE_ROT_0 BITS(1:0, 0) 413*53ee8cc1Swenshuai.xi #define REG_GE_ROT_90 BITS(1:0, 1) 414*53ee8cc1Swenshuai.xi #define REG_GE_ROT_180 BITS(1:0, 2) 415*53ee8cc1Swenshuai.xi #define REG_GE_ROT_270 BITS(1:0, 3) 416*53ee8cc1Swenshuai.xi #if (EUCLID_BRINGUP==1) 417*53ee8cc1Swenshuai.xi #define GE_TRAP_DX1 BMASK(15:0) 418*53ee8cc1Swenshuai.xi #define REG_GE_BLT_SCK_MODE 0x0059UL 419*53ee8cc1Swenshuai.xi #define GE_BLT_SCK_MODE_MASK BMASK(7:6) 420*53ee8cc1Swenshuai.xi #define GE_BLT_SCK_BILINEAR BITS(7:6, 0) //[Euclid] Do nothing 421*53ee8cc1Swenshuai.xi #define GE_BLT_SCK_NEAREST BITS(7:6, 1) //[Euclid] NEAREST WHEN THE COLOR KEY HAPPENED 422*53ee8cc1Swenshuai.xi #define GE_BLT_SCK_CONST BITS(7:6, 2) //[Euclid] REPLACE THE KEY TO CUSTOM COLOR 423*53ee8cc1Swenshuai.xi #define GE_TRAP_DX0_MSB BMASK(9:8) 424*53ee8cc1Swenshuai.xi #define GE_TRAP_DX0_MSB_SHFT 8UL 425*53ee8cc1Swenshuai.xi #define GE_TRAP_DX1_MSB BMASK(13:12) 426*53ee8cc1Swenshuai.xi #define GE_TRAP_DX1_MSB_SHFT 12UL 427*53ee8cc1Swenshuai.xi 428*53ee8cc1Swenshuai.xi #define REG_GE_TRAPEZOID_DX0 0x005AUL 429*53ee8cc1Swenshuai.xi #define GE_TRAP_DX0 BMASK(15:0) 430*53ee8cc1Swenshuai.xi #define REG_GE_TRAPEZOID_DX1 0x005BUL 431*53ee8cc1Swenshuai.xi #define GE_TRAP_DX1 BMASK(15:0) 432*53ee8cc1Swenshuai.xi #else 433*53ee8cc1Swenshuai.xi #define REG_GE_BLT_SCK_MODE 0x005BUL 434*53ee8cc1Swenshuai.xi #define GE_BLT_SCK_MODE_MASK BMASK(1:0) 435*53ee8cc1Swenshuai.xi #define GE_BLT_SCK_BILINEAR BITS(1:0, 0) 436*53ee8cc1Swenshuai.xi #define GE_BLT_SCK_NEAREST BITS(1:0, 1) 437*53ee8cc1Swenshuai.xi #define GE_BLT_SCK_CONST BITS(1:0, 2) // replace to const color 438*53ee8cc1Swenshuai.xi #endif 439*53ee8cc1Swenshuai.xi #define REG_GE_BLT_SCK_CONST_L 0x005CUL // GB 440*53ee8cc1Swenshuai.xi #define REG_GE_BLT_SCK_CONST_H 0x005DUL // R, Uranus doesn't have alpha key 441*53ee8cc1Swenshuai.xi #define REG_GE_BLT_DST_X_OFST 0x005EUL // (s.12) 442*53ee8cc1Swenshuai.xi #if (EUCLID_BRINGUP==1) 443*53ee8cc1Swenshuai.xi #define GE_STBB_DX_MSB BIT(15) 444*53ee8cc1Swenshuai.xi #define GE_STBB_DX_MSB_SHFT 15UL 445*53ee8cc1Swenshuai.xi #endif 446*53ee8cc1Swenshuai.xi #define REG_GE_BLT_DST_Y_OFST 0x005FUL // (s.12) 447*53ee8cc1Swenshuai.xi #if (EUCLID_BRINGUP==1) 448*53ee8cc1Swenshuai.xi #define GE_STBB_DY_MSB BIT(15) 449*53ee8cc1Swenshuai.xi #define GE_STBB_DY_MSB_SHFT 15UL 450*53ee8cc1Swenshuai.xi #endif 451*53ee8cc1Swenshuai.xi #define REG_GE_CMD 0x0060UL 452*53ee8cc1Swenshuai.xi #define GE_PRIM_TYPE_MASK BMASK(6:4) 453*53ee8cc1Swenshuai.xi #define GE_PRIM_LINE BITS(6:4, 1) 454*53ee8cc1Swenshuai.xi #if (EUCLID_BRINGUP==1) 455*53ee8cc1Swenshuai.xi #define GE_PRIM_TRAPEZOID BITS(6:4, 2) 456*53ee8cc1Swenshuai.xi #endif 457*53ee8cc1Swenshuai.xi #define GE_PRIM_RECT BITS(6:4, 3) 458*53ee8cc1Swenshuai.xi #define GE_PRIM_BITBLT BITS(6:4, 4) 459*53ee8cc1Swenshuai.xi #if (EUCLID_BRINGUP==1) 460*53ee8cc1Swenshuai.xi #define GE_PRIM_TRAPEZOID_BLT BITS(6:4, 5) 461*53ee8cc1Swenshuai.xi #endif 462*53ee8cc1Swenshuai.xi #define GE_SRC_DIR_X_INV BIT(7) 463*53ee8cc1Swenshuai.xi #define GE_SRC_DIR_Y_INV BIT(8) 464*53ee8cc1Swenshuai.xi #define GE_DST_DIR_X_INV BIT(9) 465*53ee8cc1Swenshuai.xi #define GE_DST_DIR_Y_INV BIT(10) 466*53ee8cc1Swenshuai.xi #define GE_LINE_GRADIENT BIT(11) 467*53ee8cc1Swenshuai.xi #define GE_RECT_GRADIENT_H BIT(12) 468*53ee8cc1Swenshuai.xi #define GE_RECT_GRADIENT_V BIT(13) 469*53ee8cc1Swenshuai.xi #define GE_STRETCH_BILINEAR BITS(14:14, 0) 470*53ee8cc1Swenshuai.xi #define GE_STRETCH_NEAREST BITS(14:14, 1) 471*53ee8cc1Swenshuai.xi #define GE_STRETCH_CLAMP BIT(15) 472*53ee8cc1Swenshuai.xi #define REG_GE_LINE_DELTA 0x0061UL 473*53ee8cc1Swenshuai.xi #define GE_LINE_DELTA_MASK BMASK(14:1) // (s1.12) minor direction delta value of line 474*53ee8cc1Swenshuai.xi #define GE_LINE_DELTA_SHFT 1UL 475*53ee8cc1Swenshuai.xi #define GE_LINE_MAJOR_X BITS(15:15, 0) 476*53ee8cc1Swenshuai.xi #define GE_LINE_MAJOR_Y BITS(15:15, 1) 477*53ee8cc1Swenshuai.xi #define REG_GE_LINE_STYLE 0x0062UL 478*53ee8cc1Swenshuai.xi #define GE_LINEPAT_MASK BMASK(5:0) 479*53ee8cc1Swenshuai.xi #define GE_LINEPAT_RST BIT(8) 480*53ee8cc1Swenshuai.xi #define GE_LINE_LAST BIT(9) 481*53ee8cc1Swenshuai.xi #define GE_LINEPAT_REP_MASK BMASK(7:6) 482*53ee8cc1Swenshuai.xi #define GE_LINEPAT_REP_SHFT 6UL 483*53ee8cc1Swenshuai.xi #define GE_LINEPAT_REP1 BITS(7:6, 0) 484*53ee8cc1Swenshuai.xi #define GE_LINEPAT_REP2 BITS(7:6, 1) 485*53ee8cc1Swenshuai.xi #define GE_LINEPAT_REP3 BITS(7:6, 2) 486*53ee8cc1Swenshuai.xi #define GE_LINEPAT_REP4 BITS(7:6, 3) 487*53ee8cc1Swenshuai.xi #define REG_GE_LINE_LENGTH 0x0063UL 488*53ee8cc1Swenshuai.xi #define GE_LINE_LENGTH_MASK BMASK(11:0) 489*53ee8cc1Swenshuai.xi #define REG_GE_BLT_SRC_DX 0x0064UL //[EUCLID] (5.12) 490*53ee8cc1Swenshuai.xi #define REG_GE_BLT_SRC_DY 0x0065UL //[EUCLID] (5.12) 491*53ee8cc1Swenshuai.xi #define GE_STBB_DXY_MASK BMASK(12:0) 492*53ee8cc1Swenshuai.xi #define REG_GE_ITALIC_OFFSET 0x0066UL 493*53ee8cc1Swenshuai.xi #define GE_ITALIC_X_MASK BMASK(7:0) 494*53ee8cc1Swenshuai.xi #define GE_ITALIC_X_SHFT 0UL 495*53ee8cc1Swenshuai.xi #define GE_ITALIC_Y_MASK BMASK(15:8) 496*53ee8cc1Swenshuai.xi #define GE_ITALIC_Y_SHFT 8UL 497*53ee8cc1Swenshuai.xi #define REG_GE_ITALIC_DELTA 0x0067UL 498*53ee8cc1Swenshuai.xi #define GE_ITALIC_D_MASK BMASK(7:0) // (s1.3) 499*53ee8cc1Swenshuai.xi #define GE_ITALIC_D_SHFT 0UL 500*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_V0_X 0x0068UL //[EUCLID] COORDINATE X0 OF PRIMITIVE VERTEX 0 501*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_V0_Y 0x0069UL //[EUCLID] COORDINATE Y0 OF PRIMITIVE VERTEX 0 502*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_V1_X 0x006AUL //[EUCLID] COORDINATE X1 OF PRIMITIVE VERTEX 1 503*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_V1_Y 0x006BUL //[EUCLID] COORDINATE Y1 OF PRIMITIVE VERTEX 1 504*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_V2_X 0x006CUL 505*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_V2_Y 0x006DUL 506*53ee8cc1Swenshuai.xi #define REG_GE_BLT_SRC_W 0x006EUL 507*53ee8cc1Swenshuai.xi #define REG_GE_BLT_SRC_H 0x006FUL 508*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_C_L 0x0070UL // [L]:B,Bg(AXFB2355,AAFB2266),I8, [H]:G,Fg(AXFB2355,AAFB2266) 509*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_C_H 0x0071UL // [L]:R,AX(AXFB2355),Ba(AAFB2266), [H]:A,1(AXFB2355),Fa(AAFB2266) 510*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_RDX_L 0x0072UL // (s7.12) 511*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_RDX_H 0x0073UL 512*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_RDY_L 0x0074UL 513*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_RDY_H 0x0075UL 514*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_GDX_L 0x0076UL 515*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_GDX_H 0x0077UL 516*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_GDY_L 0x0078UL 517*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_GDY_H 0x0079UL 518*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_BDX_L 0x007AUL 519*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_BDX_H 0x007BUL 520*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_BDY_L 0x007CUL 521*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_BDY_H 0x007DUL 522*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_ADX 0x007EUL // (s4.11) 523*53ee8cc1Swenshuai.xi #define REG_GE_PRIM_ADY 0x007FUL 524*53ee8cc1Swenshuai.xi 525*53ee8cc1Swenshuai.xi #define REG_GE_TLB_TYPE_EN 0x0000UL 526*53ee8cc1Swenshuai.xi #define GE_TLB_MODE_MASK BMASK(2:1) 527*53ee8cc1Swenshuai.xi #define GE_TLB_SRC BIT(1) 528*53ee8cc1Swenshuai.xi #define GE_TLB_DST BIT(2) 529*53ee8cc1Swenshuai.xi #define GE_TLB_FLUSH BIT(3) 530*53ee8cc1Swenshuai.xi 531*53ee8cc1Swenshuai.xi #define REG_GE_TLB_EN 0x0001UL 532*53ee8cc1Swenshuai.xi #define GE_TLB_EN BIT(0) 533*53ee8cc1Swenshuai.xi 534*53ee8cc1Swenshuai.xi #define REG_GE_TLB_TAG 0x0010UL 535*53ee8cc1Swenshuai.xi #define GE_TLB_TAG BMASK(5:0) 536*53ee8cc1Swenshuai.xi 537*53ee8cc1Swenshuai.xi #define REG_GE_TLB_BASE_MIU_H 0x001FUL 538*53ee8cc1Swenshuai.xi #define GE_SB_TLB_SRC_MIU_SEL_H BIT(13) 539*53ee8cc1Swenshuai.xi #define GE_SB_TLB_DST_MIU_SEL_H BIT(14) 540*53ee8cc1Swenshuai.xi 541*53ee8cc1Swenshuai.xi #define REG_GE_SRC_TLB_BASE_L 0x0020UL 542*53ee8cc1Swenshuai.xi #define REG_GE_SRC_TLB_BASE_H 0x0021UL 543*53ee8cc1Swenshuai.xi #define GE_SB_TLB_MIU_SEL BIT(15) 544*53ee8cc1Swenshuai.xi 545*53ee8cc1Swenshuai.xi #define REG_GE_DST_TLB_BASE_L 0x0022UL 546*53ee8cc1Swenshuai.xi #define REG_GE_DST_TLB_BASE_H 0x0023UL 547*53ee8cc1Swenshuai.xi #define GE_DB_TLB_MIU_SEL BIT(15) 548*53ee8cc1Swenshuai.xi 549*53ee8cc1Swenshuai.xi 550*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------------------------- 551*53ee8cc1Swenshuai.xi // Type and Structure 552*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------------------------- 553*53ee8cc1Swenshuai.xi 554*53ee8cc1Swenshuai.xi 555*53ee8cc1Swenshuai.xi #endif // _REG_GE_H_ 556*53ee8cc1Swenshuai.xi 557