/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __REG_INFO_H__ #define __REG_INFO_H__ //#include "chip_register.h" //#include "rga_struct.h" #include "rga.h" #ifndef MIN #define MIN(X, Y) ((X)<(Y)?(X):(Y)) #endif #ifndef MAX #define MAX(X, Y) ((X)>(Y)?(X):(Y)) #endif #ifndef ABS #define ABS(X) (((X) < 0) ? (-(X)) : (X)) #endif #ifndef CLIP #define CLIP(x, a, b) ((x) < (a)) ? (a) : (((x) > (b)) ? (b) : (x)) #endif //RGA register map //General Registers #define rRGA_SYS_CTRL (*(volatile uint32_t *)(RGA_BASE + RGA_SYS_CTRL)) #define rRGA_CMD_CTRL (*(volatile uint32_t *)(RGA_BASE + RGA_CMD_CTRL)) #define rRGA_CMD_ADDR (*(volatile uint32_t *)(RGA_BASE + RGA_CMD_ADDR)) #define rRGA_STATUS (*(volatile uint32_t *)(RGA_BASE + RGA_STATUS)) #define rRGA_INT (*(volatile uint32_t *)(RGA_BASE + RGA_INT)) #define rRGA_AXI_ID (*(volatile uint32_t *)(RGA_BASE + RGA_AXI_ID)) #define rRGA_MMU_STA_CTRL (*(volatile uint32_t *)(RGA_BASE + RGA_MMU_STA_CTRL)) #define rRGA_MMU_STA (*(volatile uint32_t *)(RGA_BASE + RGA_MMU_STA)) //Command code start #define rRGA_MODE_CTRL (*(volatile uint32_t *)(RGA_BASE + RGA_MODE_CTRL)) //Source Image Registers #define rRGA_SRC_Y_MST (*(volatile uint32_t *)(RGA_BASE + RGA_SRC_Y_MST)) #define rRGA_SRC_CB_MST (*(volatile uint32_t *)(RGA_BASE + RGA_SRC_CB_MST)) #define rRGA_MASK_READ_MST (*(volatile uint32_t *)(RGA_BASE + RGA_MASK_READ_MST)) //repeat #define rRGA_SRC_CR_MST (*(volatile uint32_t *)(RGA_BASE + RGA_SRC_CR_MST)) #define rRGA_SRC_VIR_INFO (*(volatile uint32_t *)(RGA_BASE + RGA_SRC_VIR_INFO)) #define rRGA_SRC_ACT_INFO (*(volatile uint32_t *)(RGA_BASE + RGA_SRC_ACT_INFO)) #define rRGA_SRC_X_PARA (*(volatile uint32_t *)(RGA_BASE + RGA_SRC_X_PARA)) #define rRGA_SRC_Y_PARA (*(volatile uint32_t *)(RGA_BASE + RGA_SRC_Y_PARA)) #define rRGA_SRC_TILE_XINFO (*(volatile uint32_t *)(RGA_BASE + RGA_SRC_TILE_XINFO)) #define rRGA_SRC_TILE_YINFO (*(volatile uint32_t *)(RGA_BASE + RGA_SRC_TILE_YINFO)) #define rRGA_SRC_TILE_H_INCR (*(volatile uint32_t *)(RGA_BASE + RGA_SRC_TILE_H_INCR)) #define rRGA_SRC_TILE_V_INCR (*(volatile uint32_t *)(RGA_BASE + RGA_SRC_TILE_V_INCR)) #define rRGA_SRC_TILE_OFFSETX (*(volatile uint32_t *)(RGA_BASE + RGA_SRC_TILE_OFFSETX)) #define rRGA_SRC_TILE_OFFSETY (*(volatile uint32_t *)(RGA_BASE + RGA_SRC_TILE_OFFSETY)) #define rRGA_SRC_BG_COLOR (*(volatile uint32_t *)(RGA_BASE + RGA_SRC_BG_COLOR)) #define rRGA_SRC_FG_COLOR (*(volatile uint32_t *)(RGA_BASE + RGA_SRC_FG_COLOR)) #define rRGA_LINE_DRAWING_COLOR (*(volatile uint32_t *)(RGA_BASE + RGA_LINE_DRAWING_COLOR)) //repeat #define rRGA_SRC_TR_COLOR0 (*(volatile uint32_t *)(RGA_BASE + RGA_SRC_TR_COLOR0)) #define rRGA_CP_GR_A (*(volatile uint32_t *)(RGA_BASE + RGA_CP_GR_A)) //repeat #define rRGA_SRC_TR_COLOR1 (*(volatile uint32_t *)(RGA_BASE + RGA_SRC_TR_COLOR1)) #define rRGA_CP_GR_B (*(volatile uint32_t *)(RGA_BASE + RGA_CP_GR_B)) //repeat #define rRGA_LINE_DRAW (*(volatile uint32_t *)(RGA_BASE + RGA_LINE_DRAW)) #define rRGA_PAT_START_POINT (*(volatile uint32_t *)(RGA_BASE + RGA_PAT_START_POINT)) //repeat //Destination Image Registers #define rRGA_DST_MST (*(volatile uint32_t *)(RGA_BASE + RGA_DST_MST)) #define rRGA_LUT_MST (*(volatile uint32_t *)(RGA_BASE + RGA_LUT_MST)) //repeat #define rRGA_PAT_MST (*(volatile uint32_t *)(RGA_BASE + RGA_PAT_MST)) //repeat #define rRGA_LINE_DRAWING_MST (*(volatile uint32_t *)(RGA_BASE + RGA_LINE_DRAWING_MST)) //repeat #define rRGA_DST_VIR_INFO (*(volatile uint32_t *)(RGA_BASE + RGA_DST_VIR_INFO)) #define rRGA_DST_CTR_INFO (*(volatile uint32_t *)(RGA_BASE + RGA_DST_CTR_INFO)) #define rRGA_LINE_DRAW_XY_INFO (*(volatile uint32_t *)(RGA_BASE + RGA_LINE_DRAW_XY_INFO)) //repeat //Alpha/ROP Registers #define rRGA_ALPHA_CON (*(volatile uint32_t *)(RGA_BASE + RGA_ALPHA_CON)) #define rRGA_FADING_CON (*(volatile uint32_t *)(RGA_BASE + RGA_FADING_CON)) #define rRGA_PAT_CON (*(volatile uint32_t *)(RGA_BASE + RGA_PAT_CON)) #define rRGA_DST_VIR_WIDTH_PIX (*(volatile uint32_t *)(RGA_BASE + RGA_DST_VIR_WIDTH_PIX)) //repeat #define rRGA_ROP_CON0 (*(volatile uint32_t *)(RGA_BASE + RGA_ROP_CON0)) #define rRGA_CP_GR_G (*(volatile uint32_t *)(RGA_BASE + RGA_CP_GR_G)) //repeat #define rRGA_PRESCL_CB_MST (*(volatile uint32_t *)(RGA_BASE + RGA_PRESCL_CB_MST)) //repeat #define rRGA_ROP_CON1 (*(volatile uint32_t *)(RGA_BASE + RGA_ROP_CON1)) #define rRGA_CP_GR_R (*(volatile uint32_t *)(RGA_BASE + RGA_CP_GR_R)) //repeat #define rRGA_PRESCL_CR_MST (*(volatile uint32_t *)(RGA_BASE + RGA_PRESCL_CR_MST)) //repeat //MMU Register #define rRGA_MMU_CTRL (*(volatile uint32_t *)(RGA_BASE + RGA_MMU_CTRL)) //----------------------------------------------------------------- //reg detail definition //----------------------------------------------------------------- /*RGA_SYS_CTRL*/ #define m_RGA_SYS_CTRL_CMD_MODE ( 1<<2 ) #define m_RGA_SYS_CTRL_OP_ST_SLV ( 1<<1 ) #define m_RGA_sys_CTRL_SOFT_RESET ( 1<<0 ) #define s_RGA_SYS_CTRL_CMD_MODE(x) ( (x&0x1)<<2 ) #define s_RGA_SYS_CTRL_OP_ST_SLV(x) ( (x&0x1)<<1 ) #define s_RGA_sys_CTRL_SOFT_RESET(x) ( (x&0x1)<<0 ) /*RGA_CMD_CTRL*/ #define m_RGA_CMD_CTRL_CMD_INCR_NUM ( 0x3ff<<3 ) #define m_RGA_CMD_CTRL_CMD_STOP_MODE ( 1<<2 ) #define m_RGA_CMD_CTRL_CMD_INCR_VALID ( 1<<1 ) #define m_RGA_CMD_CTRL_CMD_LINE_FET_ST ( 1<<0 ) #define s_RGA_CMD_CTRL_CMD_INCR_NUM(x) ( (x&0x3ff)<<3 ) #define s_RGA_CMD_CTRL_CMD_STOP_MODE(x) ( (x&0x1)<<2 ) #define s_RGA_CMD_CTRL_CMD_INCR_VALID(x) ( (x&0x1)<<1 ) #define s_RGA_CMD_CTRL_CMD_LINE_FET_ST(x) ( (x*0x1)<<0 ) /*RGA_STATUS*/ #define m_RGA_CMD_STATUS_CMD_TOTAL_NUM ( 0xfff<<20 ) #define m_RGA_CMD_STATUS_NOW_CMD_NUM ( 0xfff<<8 ) #define m_RGA_CMD_STATUS_ENGINE_STATUS ( 1<<0 ) /*RGA_INT*/ #define m_RGA_INT_ALL_CMD_DONE_INT_EN ( 1<<10 ) #define m_RGA_INT_MMU_INT_EN ( 1<<9 ) #define m_RGA_INT_ERROR_INT_EN ( 1<<8 ) #define m_RGA_INT_NOW_CMD_DONE_INT_CLEAR ( 1<<7 ) #define m_RGA_INT_ALL_CMD_DONE_INT_CLEAR ( 1<<6 ) #define m_RGA_INT_MMU_INT_CLEAR ( 1<<5 ) #define m_RGA_INT_ERROR_INT_CLEAR ( 1<<4 ) #define m_RGA_INT_NOW_CMD_DONE_INT_FLAG ( 1<<3 ) #define m_RGA_INT_ALL_CMD_DONE_INT_FLAG ( 1<<2 ) #define m_RGA_INT_MMU_INT_FLAG ( 1<<1 ) #define m_RGA_INT_ERROR_INT_FLAG ( 1<<0 ) #define s_RGA_INT_ALL_CMD_DONE_INT_EN(x) ( (x&0x1)<<10 ) #define s_RGA_INT_MMU_INT_EN(x) ( (x&0x1)<<9 ) #define s_RGA_INT_ERROR_INT_EN(x) ( (x&0x1)<<8 ) #define s_RGA_INT_NOW_CMD_DONE_INT_CLEAR(x) ( (x&0x1)<<7 ) #define s_RGA_INT_ALL_CMD_DONE_INT_CLEAR(x) ( (x&0x1)<<6 ) #define s_RGA_INT_MMU_INT_CLEAR(x) ( (x&0x1)<<5 ) #define s_RGA_INT_ERROR_INT_CLEAR(x) ( (x&0x1)<<4 ) /*RGA_AXI_ID*/ #define m_RGA_AXI_ID_MMU_READ ( 3<<30 ) #define m_RGA_AXI_ID_MMU_WRITE ( 3<<28 ) #define m_RGA_AXI_ID_MASK_READ ( 0xf<<24 ) #define m_RGA_AXI_ID_CMD_FET ( 0xf<<20 ) #define m_RGA_AXI_ID_DST_WRITE ( 0xf<<16 ) #define m_RGA_AXI_ID_DST_READ ( 0xf<<12 ) #define m_RGA_AXI_ID_SRC_CR_READ ( 0xf<<8 ) #define m_RGA_AXI_ID_SRC_CB_READ ( 0xf<<4 ) #define m_RGA_AXI_ID_SRC_Y_READ ( 0xf<<0 ) #define s_RGA_AXI_ID_MMU_READ(x) ( (x&0x3)<<30 ) #define s_RGA_AXI_ID_MMU_WRITE(x) ( (x&0x3)<<28 ) #define s_RGA_AXI_ID_MASK_READ(x) ( (x&0xf)<<24 ) #define s_RGA_AXI_ID_CMD_FET(x) ( (x&0xf)<<20 ) #define s_RGA_AXI_ID_DST_WRITE(x) ( (x&0xf)<<16 ) #define s_RGA_AXI_ID_DST_READ(x) ( (x&0xf)<<12 ) #define s_RGA_AXI_ID_SRC_CR_READ(x) ( (x&0xf)<<8 ) #define s_RGA_AXI_ID_SRC_CB_READ(x) ( (x&0xf)<<4 ) #define s_RGA_AXI_ID_SRC_Y_READ(x) ( (x&0xf)<<0 ) /*RGA_MMU_STA_CTRL*/ #define m_RGA_MMU_STA_CTRL_TLB_STA_CLEAR ( 1<<3 ) #define m_RGA_MMU_STA_CTRL_TLB_STA_RESUME ( 1<<2 ) #define m_RGA_MMU_STA_CTRL_TLB_STA_PAUSE ( 1<<1 ) #define m_RGA_MMU_STA_CTRL_TLB_STA_EN ( 1<<0 ) #define s_RGA_MMU_STA_CTRL_TLB_STA_CLEAR(x) ( (x&0x1)<<3 ) #define s_RGA_MMU_STA_CTRL_TLB_STA_RESUME(x) ( (x&0x1)<<2 ) #define s_RGA_MMU_STA_CTRL_TLB_STA_PAUSE(x) ( (x&0x1)<<1 ) #define s_RGA_MMU_STA_CTRL_TLB_STA_EN(x) ( (x&0x1)<<0 ) /* RGA_MODE_CTRL */ #define m_RGA_MODE_CTRL_2D_RENDER_MODE ( 7<<0 ) #define m_RGA_MODE_CTRL_SRC_RGB_PACK ( 1<<3 ) #define m_RGA_MODE_CTRL_SRC_FORMAT ( 15<<4 ) #define m_RGA_MODE_CTRL_SRC_RB_SWAP ( 1<<8 ) #define m_RGA_MODE_CTRL_SRC_ALPHA_SWAP ( 1<<9 ) #define m_RGA_MODE_CTRL_SRC_UV_SWAP_MODE ( 1<<10 ) #define m_RGA_MODE_CTRL_YUV2RGB_CON_MODE ( 3<<11 ) #define m_RGA_MODE_CTRL_SRC_TRANS_MODE (0x1f<<13 ) #define m_RGA_MODE_CTRL_SRC_TR_MODE ( 1<<13 ) #define m_RGA_MODE_CTRL_SRC_TR_R_EN ( 1<<14 ) #define m_RGA_MODE_CTRL_SRC_TR_G_EN ( 1<<15 ) #define m_RGA_MODE_CTRL_SRC_TR_B_EN ( 1<<16 ) #define m_RGA_MODE_CTRL_SRC_TR_A_EN ( 1<<17 ) #define m_RGA_MODE_CTRL_ROTATE_MODE ( 3<<18 ) #define m_RGA_MODE_CTRL_SCALE_MODE ( 3<<20 ) #define m_RGA_MODE_CTRL_PAT_SEL ( 1<<22 ) #define m_RGA_MODE_CTRL_DST_FORMAT ( 3<<23 ) #define m_RGA_MODE_CTRL_DST_RGB_PACK ( 1<<25 ) #define m_RGA_MODE_CTRL_DST_RB_SWAP ( 1<<26 ) #define m_RGA_MODE_CTRL_DST_ALPHA_SWAP ( 1<<27 ) #define m_RGA_MODE_CTRL_LUT_ENDIAN_MODE ( 1<<28 ) #define m_RGA_MODE_CTRL_CMD_INT_ENABLE ( 1<<29 ) #define m_RGA_MODE_CTRL_ZERO_MODE_ENABLE ( 1<<30 ) #define m_RGA_MODE_CTRL_DST_ALPHA_ENABLE ( 1<<30 ) #define s_RGA_MODE_CTRL_2D_RENDER_MODE(x) ( (x&0x7)<<0 ) #define s_RGA_MODE_CTRL_SRC_RGB_PACK(x) ( (x&0x1)<<3 ) #define s_RGA_MODE_CTRL_SRC_FORMAT(x) ( (x&0xf)<<4 ) #define s_RGA_MODE_CTRL_SRC_RB_SWAP(x) ( (x&0x1)<<8 ) #define s_RGA_MODE_CTRL_SRC_ALPHA_SWAP(x) ( (x&0x1)<<9 ) #define s_RGA_MODE_CTRL_SRC_UV_SWAP_MODE(x) ( (x&0x1)<<10 ) #define s_RGA_MODE_CTRL_YUV2RGB_CON_MODE(x) ( (x&0x3)<<11 ) #define s_RGA_MODE_CTRL_SRC_TRANS_MODE(x) ( (x&0x1f)<<13 ) #define s_RGA_MODE_CTRL_SRC_TR_MODE(x) ( (x&0x1)<<13 ) #define s_RGA_MODE_CTRL_SRC_TR_R_EN(x) ( (x&0x1)<<14 ) #define s_RGA_MODE_CTRL_SRC_TR_G_EN(x) ( (x&0x1)<<15 ) #define s_RGA_MODE_CTRL_SRC_TR_B_EN(x) ( (x&0x1)<<16 ) #define s_RGA_MODE_CTRL_SRC_TR_A_EN(x) ( (x&0x1)<<17 ) #define s_RGA_MODE_CTRL_ROTATE_MODE(x) ( (x&0x3)<<18 ) #define s_RGA_MODE_CTRL_SCALE_MODE(x) ( (x&0x3)<<20 ) #define s_RGA_MODE_CTRL_PAT_SEL(x) ( (x&0x1)<<22 ) #define s_RGA_MODE_CTRL_DST_FORMAT(x) ( (x&0x3)<<23 ) #define s_RGA_MODE_CTRL_DST_RGB_PACK(x) ( (x&0x1)<<25 ) #define s_RGA_MODE_CTRL_DST_RB_SWAP(x) ( (x&0x1)<<26 ) #define s_RGA_MODE_CTRL_DST_ALPHA_SWAP(x) ( (x&0x1)<<27 ) #define s_RGA_MODE_CTRL_LUT_ENDIAN_MODE(x) ( (x&0x1)<<28 ) #define s_RGA_MODE_CTRL_CMD_INT_ENABLE(x) ( (x&0x1)<<29 ) #define s_RGA_MODE_CTRL_ZERO_MODE_ENABLE(x) ( (x&0x1)<<30 ) #define s_RGA_MODE_CTRL_DST_ALPHA_ENABLE(x) ( (x&0x1)<<31 ) /* RGA_LINE_DRAW */ #define m_RGA_LINE_DRAW_MAJOR_WIDTH ( 0x7ff<<0 ) #define m_RGA_LINE_DRAW_LINE_DIRECTION ( 0x1<<11) #define m_RGA_LINE_DRAW_LINE_WIDTH ( 0xf<<12) #define m_RGA_LINE_DRAW_INCR_VALUE ( 0xfff<<16) #define m_RGA_LINE_DRAW_DIR_MAJOR ( 0x1<<28) #define m_RGA_LINE_DRAW_DIR_SEMI_MAJOR ( 0x1<<29) #define m_RGA_LINE_DRAW_LAST_POINT ( 0x1<<30) #define m_RGA_LINE_DRAW_ANTI_ALISING ( 0x1<<31) #define s_RGA_LINE_DRAW_MAJOR_WIDTH(x) (((x)&0x7ff)<<0 ) #define s_RGA_LINE_DRAW_LINE_DIRECTION(x) ( ((x)&0x1)<<11) #define s_RGA_LINE_DRAW_LINE_WIDTH(x) ( ((x)&0xf)<<12) #define s_RGA_LINE_DRAW_INCR_VALUE(x) (((x)&0xfff)<<16) #define s_RGA_LINE_DRAW_DIR_MAJOR(x) ( ((x)&0x1)<<28) #define s_RGA_LINE_DRAW_DIR_SEMI_MAJOR(x) ( ((x)&0x1)<<29) #define s_RGA_LINE_DRAW_LAST_POINT(x) ( ((x)&0x1)<<30) #define s_RGA_LINE_DRAW_ANTI_ALISING(x) ( ((x)&0x1)<<31) /* RGA_ALPHA_CON */ #define m_RGA_ALPHA_CON_ENABLE ( 0x1<<0 ) #define m_RGA_ALPHA_CON_A_OR_R_SEL ( 0x1<<1 ) #define m_RGA_ALPHA_CON_ALPHA_MODE ( 0x3<<2 ) #define m_RGA_ALPHA_CON_PD_MODE ( 0xf<<4 ) #define m_RGA_ALPHA_CON_SET_CONSTANT_VALUE (0xff<<8 ) #define m_RGA_ALPHA_CON_PD_M_SEL ( 0x1<<16) #define m_RGA_ALPHA_CON_FADING_ENABLE ( 0x1<<17) #define m_RGA_ALPHA_CON_ROP_MODE_SEL ( 0x3<<18) #define m_RGA_ALPHA_CON_CAL_MODE_SEL ( 0x1<<28) #define m_RGA_ALPHA_CON_DITHER_ENABLE ( 0x1<<29) #define m_RGA_ALPHA_CON_GRADIENT_CAL_MODE ( 0x1<<30) #define m_RGA_ALPHA_CON_AA_SEL ( 0x1<<31) #define s_RGA_ALPHA_CON_ENABLE(x) ( (x&0x1)<<0 ) #define s_RGA_ALPHA_CON_A_OR_R_SEL(x) ( (x&0x1)<<1 ) #define s_RGA_ALPHA_CON_ALPHA_MODE(x) ( (x&0x3)<<2 ) #define s_RGA_ALPHA_CON_PD_MODE(x) ( (x&0xf)<<4 ) #define s_RGA_ALPHA_CON_SET_CONSTANT_VALUE(x) ((x&0xff)<<8 ) #define s_RGA_ALPHA_CON_PD_M_SEL(x) ( (x&0x1)<<16) #define s_RGA_ALPHA_CON_FADING_ENABLE(x) ( (x&0x1)<<17) #define s_RGA_ALPHA_CON_ROP_MODE_SEL(x) ( (x&0x3)<<18) #define s_RGA_ALPHA_CON_CAL_MODE_SEL(x) ( (x&0x1)<<28) #define s_RGA_ALPHA_CON_DITHER_ENABLE(x) ( (x&0x1)<<29) #define s_RGA_ALPHA_CON_GRADIENT_CAL_MODE(x) ( (x&0x1)<<30) #define s_RGA_ALPHA_CON_AA_SEL(x) ( (x&0x1)<<31) /* blur sharp mode */ #define m_RGA_BLUR_SHARP_FILTER_MODE ( 0x1<<25 ) #define m_RGA_BLUR_SHARP_FILTER_TYPE ( 0x3<<26 ) #define s_RGA_BLUR_SHARP_FILTER_MODE(x) ( (x&0x1)<<25 ) #define s_RGA_BLUR_SHARP_FILTER_TYPE(x) ( (x&0x3)<<26 ) /* pre scale mode */ #define m_RGA_PRE_SCALE_HOR_RATIO ( 0x3 <<20 ) #define m_RGA_PRE_SCALE_VER_RATIO ( 0x3 <<22 ) #define m_RGA_PRE_SCALE_OUTPUT_FORMAT ( 0x1 <<24 ) #define s_RGA_PRE_SCALE_HOR_RATIO(x) ( (x&0x3) <<20 ) #define s_RGA_PRE_SCALE_VER_RATIO(x) ( (x&0x3) <<22 ) #define s_RGA_PRE_SCALE_OUTPUT_FORMAT(x) ( (x&0x1) <<24 ) /* RGA_MMU_CTRL*/ #define m_RGA_MMU_CTRL_TLB_ADDR ( 0xffffffff<<0) #define m_RGA_MMU_CTRL_PAGE_TABLE_SIZE ( 0x3<<4 ) #define m_RGA_MMU_CTRL_MMU_ENABLE ( 0x1<<0 ) #define m_RGA_MMU_CTRL_SRC_FLUSH ( 0x1<<1 ) #define m_RGA_MMU_CTRL_DST_FLUSH ( 0x1<<2 ) #define m_RGA_MMU_CTRL_CMD_CHAN_FLUSH ( 0x1<<3 ) #define s_RGA_MMU_CTRL_TLB_ADDR(x) ((x&0xffffffff)) #define s_RGA_MMU_CTRL_PAGE_TABLE_SIZE(x) ((x&0x3)<<4) #define s_RGA_MMU_CTRL_MMU_ENABLE(x) ((x&0x1)<<0) #define s_RGA_MMU_CTRL_SRC_FLUSH(x) ((x&0x1)<<1) #define s_RGA_MMU_CTRL_DST_FLUSH(x) ((x&0x1)<<2) #define s_RGA_MMU_CTRL_CMD_CHAN_FLUSH(x) ((x&0x1)<<3) #endif /* #define RGA_MODE_CTRL_OFFSET 0x0 #define RGA_SRC_Y_MST_OFFSET 0x4 #define RGA_SRC_CB_MST_OFFSET 0x8 #define RGA_SRC_CR_MST_OFFSET 0xc #define RGA_SRC_VIR_INFO_OFFSET 0x10 #define RGA_SRC_ACT_INFO_OFFSET 0x14 #define RGA_SRC_X_PARA_OFFSET 0x18 #define RGA_SRC_Y_PARA_OFFSET 0x1c #define RGA_SRC_TILE_XINFO_OFFSET 0x20 #define RGA_SRC_TILE_YINFO_OFFSET 0x24 #define RGA_SRC_TILE_H_INCR_OFFSET 0x28 #define RGA_SRC_TILE_V_INCR_OFFSET 0x2c #define RGA_SRC_TILE_OFFSETX_OFFSET 0x30 #define RGA_SRC_TILE_OFFSETY_OFFSET 0x34 #define RGA_SRC_BG_COLOR_OFFSET 0x38 #define RGA_SRC_FG_COLOR_OFFSET 0x3c #define RGA_LINE_DRAWING_COLOR_OFFSET 0x3c #define RGA_SRC_TR_COLOR0_OFFSET 0x40 #define RGA_CP_GR_A_OFFSET 0x40 //repeat #define RGA_SRC_TR_COLOR1_OFFSET 0x44 #define RGA_CP_GR_B_OFFSET 0x44 //repeat #define RGA_LINE_DRAW_OFFSET 0x48 #define RGA_PAT_START_POINT_OFFSET 0x48 //repeat #define RGA_DST_MST_OFFSET 0x4c #define RGA_LUT_MST_OFFSET 0x4c //repeat #define RGA_PAT_MST_OFFSET 0x4c //repeat #define RGA_LINE_DRAWING_MST_OFFSET 0x4c //repeat #define RGA_DST_VIR_INFO_OFFSET 0x50 #define RGA_DST_CTR_INFO_OFFSET 0x54 #define RGA_LINE_DRAW_XY_INFO_OFFSET 0x54 //repeat #define RGA_ALPHA_CON_OFFSET 0x58 #define RGA_FADING_CON_OFFSET 0x5c #define RGA_PAT_CON_OFFSET 0x60 #define RGA_LINE_DRAWING_WIDTH_OFFSET 0x60 //repeat #define RGA_ROP_CON0_OFFSET 0x64 #define RGA_CP_GR_G_OFFSET 0x64 //repeat #define RGA_PRESCL_CB_MST_OFFSET 0x64 //repeat #define RGA_ROP_CON1_OFFSET 0x68 #define RGA_CP_GR_R_OFFSET 0x68 //repeat #define RGA_PRESCL_CR_MST_OFFSET 0x68 //repeat #define RGA_MMU_CTRL_OFFSET 0x6c #define RGA_SYS_CTRL_OFFSET 0x000 #define RGA_CMD_CTRL_OFFSET 0x004 #define RGA_CMD_ADDR_OFFSET 0x008 #define RGA_STATUS_OFFSET 0x00c #define RGA_INT_OFFSET 0x010 #define RGA_AXI_ID_OFFSET 0x014 #define RGA_MMU_STA_CTRL_OFFSET 0x018 #define RGA_MMU_STA_OFFSET 0x01c */ //hxx #define RGA_SYS_CTRL_OFFSET (RGA_SYS_CTRL-0x100) #define RGA_CMD_CTRL_OFFSET (RGA_CMD_CTRL-0x100) #define RGA_CMD_ADDR_OFFSET (RGA_CMD_ADDR-0x100) #define RGA_STATUS_OFFSET (RGA_STATUS-0x100) #define RGA_INT_OFFSET (RGA_INT-0x100) #define RGA_AXI_ID_OFFSET (RGA_AXI_ID-0x100) #define RGA_MMU_STA_CTRL_OFFSET (RGA_MMU_STA_CTRL-0x100) #define RGA_MMU_STA_OFFSET (RGA_MMU_STA-0x100) #define RGA_MODE_CTRL_OFFSET (RGA_MODE_CTRL-0x100) #define RGA_SRC_Y_MST_OFFSET (RGA_SRC_Y_MST-0x100) #define RGA_SRC_CB_MST_OFFSET (RGA_SRC_CB_MST-0x100) #define RGA_SRC_CR_MST_OFFSET (RGA_SRC_CR_MST-0x100) #define RGA_SRC_VIR_INFO_OFFSET (RGA_SRC_VIR_INFO-0x100) #define RGA_SRC_ACT_INFO_OFFSET (RGA_SRC_ACT_INFO-0x100) #define RGA_SRC_X_PARA_OFFSET (RGA_SRC_X_PARA-0x100) #define RGA_SRC_Y_PARA_OFFSET (RGA_SRC_Y_PARA-0x100) #define RGA_SRC_TILE_XINFO_OFFSET (RGA_SRC_TILE_XINFO-0x100) #define RGA_SRC_TILE_YINFO_OFFSET (RGA_SRC_TILE_YINFO-0x100) #define RGA_SRC_TILE_H_INCR_OFFSET (RGA_SRC_TILE_H_INCR-0x100) #define RGA_SRC_TILE_V_INCR_OFFSET (RGA_SRC_TILE_V_INCR-0x100) #define RGA_SRC_TILE_OFFSETX_OFFSET (RGA_SRC_TILE_OFFSETX-0x100) #define RGA_SRC_TILE_OFFSETY_OFFSET (RGA_SRC_TILE_OFFSETY-0x100) #define RGA_SRC_BG_COLOR_OFFSET (RGA_SRC_BG_COLOR-0x100) #define RGA_SRC_FG_COLOR_OFFSET (RGA_SRC_FG_COLOR-0x100) #define RGA_LINE_DRAWING_COLOR_OFFSET (RGA_LINE_DRAWING_COLOR-0x100) #define RGA_SRC_TR_COLOR0_OFFSET (RGA_SRC_TR_COLOR0-0x100) #define RGA_CP_GR_A_OFFSET (RGA_CP_GR_A-0x100) //repeat #define RGA_SRC_TR_COLOR1_OFFSET (RGA_SRC_TR_COLOR1-0x100) #define RGA_CP_GR_B_OFFSET (RGA_CP_GR_B-0x100) //repeat #define RGA_LINE_DRAW_OFFSET (RGA_LINE_DRAW-0x100) #define RGA_PAT_START_POINT_OFFSET (RGA_PAT_START_POINT-0x100) //repeat #define RGA_DST_MST_OFFSET (RGA_DST_MST-0x100) #define RGA_LUT_MST_OFFSET (RGA_LUT_MST-0x100) //repeat #define RGA_PAT_MST_OFFSET (RGA_PAT_MST-0x100) //repeat #define RGA_LINE_DRAWING_MST_OFFSET (RGA_LINE_DRAWING_MST-0x100) //repeat #define RGA_DST_VIR_INFO_OFFSET (RGA_DST_VIR_INFO-0x100) #define RGA_DST_CTR_INFO_OFFSET (RGA_DST_CTR_INFO-0x100) #define RGA_LINE_DRAW_XY_INFO_OFFSET (RGA_LINE_DRAW_XY_INFO-0x100) //repeat #define RGA_ALPHA_CON_OFFSET (RGA_ALPHA_CON-0x100) #define RGA_PAT_CON_OFFSET (RGA_PAT_CON-0x100) #define RGA_LINE_DRAWING_WIDTH_OFFSET (RGA_DST_VIR_WIDTH_PIX-0x100) //repeat #define RGA_ROP_CON0_OFFSET (RGA_ROP_CON0-0x100) #define RGA_CP_GR_G_OFFSET (RGA_CP_GR_G-0x100) //repeat #define RGA_PRESCL_CB_MST_OFFSET (RGA_PRESCL_CB_MST-0x100) //repeat #define RGA_ROP_CON1_OFFSET (RGA_ROP_CON1-0x100) #define RGA_CP_GR_R_OFFSET (RGA_CP_GR_R-0x100) //repeat #define RGA_PRESCL_CR_MST_OFFSET (RGA_PRESCL_CR_MST-0x100) //repeat #define RGA_FADING_CON_OFFSET (RGA_FADING_CON-0x100) #define RGA_MMU_TLB_OFFSET (RGA_MMU_TBL-0x100) #define RGA_YUV_OUT_CFG_OFFSET (RGA_YUV_OUT_CFG-0x100) #define RGA_DST_UV_MST_OFFSET (RGA_DST_UV_MST-0x100) void matrix_cal(const struct rga_req *msg, TILE_INFO *tile); int RGA_gen_reg_info(const struct rga_req *msg, unsigned char *base); uint8_t RGA_pixel_width_init(uint32_t format);