⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 g2d_reg.h

📁 6410BSP1
💻 H
字号:
//
// Copyright (c) Samsung Electronics. Co. LTD.  All rights reserved.
//
/*++
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.
--*/
/**
*    @file        g2d_reg.h
*    @brief    Defines the FIMGSE-2D Graphics Accerlerator's register layout and definitions.
*    @author    Jiwon Kim
*    
*    @note This version is made for S3C6410
*    @note IP version is v2.0
*/

#ifndef __G2D_REG_H__
#define __G2D_REG_H__

#ifdef __cplusplus
extern "C"
{
#endif


//------------------------------------------------------------------------------
//  Type: G2D_REG
//
//  2D Graphics Acclerator registers. This register bank is located by the constant
//  <CPU>_BASE_REG_XX_2DGRAPHICS in the configuration file <cpu>_base_regs.h.
//

typedef struct _reg_g2d_v2
{
    // General Registers
    UINT32 CONTROL;                        //       (G2D_BASE+0x00)
    UINT32 INTEN;                            //    (G2D_BASE+0x04)
    UINT32 FIFO_INTC;            //    (G2D_BASE+0x08)
    UINT32 INTC_PEND;                    //        (G2D_BASE+0x0c)
    UINT32 FIFO_STATUS;        //    (G2D_BASE+0x10)
    UINT32 PAD1[0x3B];

    // Command Registers
    UINT32 CMDR0;                            //    (G2D_BASE+0x100)
    UINT32 CMDR1;                            //    (G2D_BASE+0x104)
    UINT32 CMDR2;                            //    (G2D_BASE+0x108)
    UINT32 CMDR3;                            //    (G2D_BASE+0x10c)
    UINT32 CMDR4;                            //    (G2D_BASE+0x110)
    UINT32 CMDR5;                            //    (G2D_BASE+0x114)
    UINT32 CMDR6;                            //    (G2D_BASE+0x118)
    UINT32 CMDR7;                            //    (G2D_BASE+0x11c)

    UINT32 PAD2[0x38];
    // Common Resource Registers
    UINT32 SRC_RES;                        //    (G2D_BASE+0x200)
    UINT32 SRC_HORI_RES;            //    (G2D_BASE+0x204)
    UINT32 SRC_VERT_RES;            //    (G2D_BASE+0x208)
    UINT32 PAD3[1];
    UINT32 SC_RES;                        //        (G2D_BASE+0x210)
    UINT32 SC_HORI_RES;                //    (G2D_BASE+0x214)
    UINT32 SC_VERT_RES;                //       (G2D_BASE+0x218)
    UINT32 PAD4[1];
    UINT32 CW_LEFT_TOP;                //    (G2D_BASE+0x220)
    UINT32 CW_LEFT_TOP_X;            //       (G2D_BASE+0x224)
    UINT32 CW_LEFT_TOP_Y;            //       (G2D_BASE+0x228)
    UINT32 PAD5[1];
    UINT32 CW_RIGHT_BOTTOM;        //    (G2D_BASE+0x230)
    UINT32 CW_RIGHT_BOTTOM_X;    //       (G2D_BASE+0x234)
    UINT32 CW_RIGHT_BOTTOM_Y; //       (G2D_BASE+0x238)
    UINT32 PAD6[0x31];
    UINT32 COORD0;                        //       (G2D_BASE+0x300)
    UINT32 COORD0_X;                    //    (G2D_BASE+0x304)
    UINT32 COORD0_Y;                    //    (G2D_BASE+0x308)
    UINT32 PAD7[1];
    UINT32 COORD1;                        //       (G2D_BASE+0x310)
    UINT32 COORD1_X;                    //    (G2D_BASE+0x314)
    UINT32 COORD1_Y;                    //    (G2D_BASE+0x318)
    UINT32 PAD8[1];
    UINT32 COORD2;                        //       (G2D_BASE+0x320)
    UINT32 COORD2_X;                    //    (G2D_BASE+0x324)
    UINT32 COORD2_Y;                    //    (G2D_BASE+0x328)
    UINT32 PAD9[1];
    UINT32 COORD3;                        //       (G2D_BASE+0x330)
    UINT32 COORD3_X;                    //    (G2D_BASE+0x334)
    UINT32 COORD3_Y;                    //    (G2D_BASE+0x338)
    UINT32 PAD10[1];
    UINT32 ROT_OC;                        //       (G2D_BASE+0x340)
    UINT32 ROT_OC_X;                    //    (G2D_BASE+0x344)
    UINT32 ROT_OC_Y;                    //    (G2D_BASE+0x348)
    UINT32 ROT_MODE;                    //    (G2D_BASE+0x34c)
    UINT32 ENDIAN;                        //       (G2D_BASE+0x350)
    UINT32 PAD11[0x2b];
    UINT32 X_INCR;                        //    (G2D_BASE+0x400)
    UINT32 Y_INCR;                        //    (G2D_BASE+0x404)
    UINT32 PAD12[2];
    UINT32 ROP;                                //       (G2D_BASE+0x410)
    UINT32 PAD13[3];
    UINT32 ALPHA;                            //    (G2D_BASE+0x420)
    UINT32 PAD14[0x37];

    UINT32 FG_COLOR;                    //    (G2D_BASE+0x500)
    UINT32 BG_COLOR;                    //    (G2D_BASE+0x504)
    UINT32 BS_COLOR;                    //    (G2D_BASE+0x508)
    UINT32 PAD141[0x1];    
    UINT32 SRC_COLOR_MODE;        //        (G2D_BASE+0x510)
    UINT32 DST_COLOR_MODE;        //        (G2D_BASE+0x514)
    UINT32 PAD15[0x3a];
    
    UINT32 PATTERN_ADDR[0x20];//    (G2D_BASE+0x600~0x67c)
    UINT32 PAD16[0x20];
    UINT32 PAT_OFF_XY;                //       (G2D_BASE+0x700)
    UINT32 PAT_OFF_X;                    //    (G2D_BASE+0x704)
    UINT32 PAT_OFF_Y;                    //    (G2D_BASE+0x708)                                                                                                                                                                                                      
    UINT32 PAD17[5];
    UINT32 COLORKEY_CNTL;            //    (G2D_BASE+0x720)    
    UINT32 COLORKEY_DR_MIN;        //    (G2D_BASE+0x724)
    UINT32 COLORKEY_DR_MAX;        //    (G2D_BASE+0x728)
    
    UINT32 PAD18[1];
    UINT32 SRC_BASE_ADDR;            //    (G2D_BASE+0x730)
    UINT32 DST_BASE_ADDR;            //    (G2D_BASE+0x734)    

} G2D_REG, *PG2D_REG;

 
#ifdef __cplusplus
}
#endif


#endif /*__G2D_REG_H__*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -