clk: rockchip: support setting ddr clock via SCPI APIs
[firefly-linux-kernel-4.4.55.git] / drivers / video / rockchip / rga2 / rga2_reg_info.h
1 #ifndef __REG2_INFO_H__\r
2 #define __REG2_INFO_H__\r
3 \r
4 \r
5 //#include "chip_register.h"\r
6 \r
7 //#include "rga_struct.h"\r
8 #include "rga2.h"\r
9 \r
10 #ifndef MIN\r
11 #define MIN(X, Y)           ((X)<(Y)?(X):(Y))\r
12 #endif\r
13 \r
14 #ifndef MAX\r
15 #define MAX(X, Y)           ((X)>(Y)?(X):(Y))\r
16 #endif\r
17 \r
18 #ifndef ABS\r
19 #define ABS(X)              (((X) < 0) ? (-(X)) : (X))\r
20 #endif\r
21 \r
22 #ifndef CLIP\r
23 #define CLIP(x, a,  b)                          ((x) < (a)) ? (a) : (((x) > (b)) ? (b) : (x))\r
24 #endif\r
25 \r
26 #define rRGA_SYS_CTRL             (*(volatile u32 *)(RGA2_BASE + RGA2_SYS_CTRL_OFFSET    ))\r
27 #define rRGA_CMD_CTRL             (*(volatile u32 *)(RGA2_BASE + RGA2_CMD_CTRL_OFFSET    ))\r
28 #define rRGA_CMD_BASE             (*(volatile u32 *)(RGA2_BASE + RGA2_CMD_BASE_OFFSET    ))\r
29 #define rRGA_STATUS               (*(volatile u32 *)(RGA2_BASE + RGA2_STATUS_OFFSET      ))\r
30 #define rRGA_INT                  (*(volatile u32 *)(RGA2_BASE + RGA2_INT_OFFSET         ))\r
31 #define rRGA_MMU_CTRL0            (*(volatile u32 *)(RGA2_BASE + RGA2_MMU_CTRL0_OFFSET   ))\r
32 #define rRGA_MMU_CMD_BASE         (*(volatile u32 *)(RGA2_BASE + RGA2_MMU_CMD_BASE_OFFSET))\r
33 #define rRGA_CMD_ADDR             (*(volatile u32 *)(RGA2_BASE + RGA2_CMD_ADDR))\r
34 \r
35 /*RGA_INT*/\r
36 #define m_RGA2_INT_ALL_CMD_DONE_INT_EN             ( 1<<10 )\r
37 #define m_RGA2_INT_MMU_INT_EN                      ( 1<<9  )\r
38 #define m_RGA2_INT_ERROR_INT_EN                    ( 1<<8  )\r
39 #define m_RGA2_INT_NOW_CMD_DONE_INT_CLEAR          ( 1<<7  )\r
40 #define m_RGA2_INT_ALL_CMD_DONE_INT_CLEAR          ( 1<<6  )\r
41 #define m_RGA2_INT_MMU_INT_CLEAR                   ( 1<<5  )\r
42 #define m_RGA2_INT_ERROR_INT_CLEAR                 ( 1<<4  )\r
43 #define m_RGA2_INT_CUR_CMD_DONE_INT_FLAG           ( 1<<3  )\r
44 #define m_RGA2_INT_ALL_CMD_DONE_INT_FLAG           ( 1<<2  )\r
45 #define m_RGA2_INT_MMU_INT_FLAG                    ( 1<<1  )\r
46 #define m_RGA2_INT_ERROR_INT_FLAG                  ( 1<<0  )\r
47 \r
48 #define s_RGA2_INT_ALL_CMD_DONE_INT_EN(x)          ( (x&0x1)<<10 )\r
49 #define s_RGA2_INT_MMU_INT_EN(x)                   ( (x&0x1)<<9  )\r
50 #define s_RGA2_INT_ERROR_INT_EN(x)                 ( (x&0x1)<<8  )\r
51 #define s_RGA2_INT_NOW_CMD_DONE_INT_CLEAR(x)       ( (x&0x1)<<7  )\r
52 #define s_RGA2_INT_ALL_CMD_DONE_INT_CLEAR(x)       ( (x&0x1)<<6  )\r
53 #define s_RGA2_INT_MMU_INT_CLEAR(x)                ( (x&0x1)<<5  )\r
54 #define s_RGA2_INT_ERROR_INT_CLEAR(x)              ( (x&0x1)<<4  )\r
55 \r
56 \r
57 \r
58 /* RGA_MODE_CTRL */\r
59 #define m_RGA2_MODE_CTRL_SW_RENDER_MODE         (  0x7<<0  )\r
60 #define m_RGA2_MODE_CTRL_SW_BITBLT_MODE         (  0x1<<3  )\r
61 #define m_RGA2_MODE_CTRL_SW_CF_ROP4_PAT         (  0x1<<4  )\r
62 #define m_RGA2_MODE_CTRL_SW_ALPHA_ZERO_KET      (  0x1<<5  )\r
63 #define m_RGA2_MODE_CTRL_SW_GRADIENT_SAT        (  0x1<<6  )\r
64 #define m_RGA2_MODE_CTRL_SW_INTR_CF_E           (  0x1<<7  )\r
65 \r
66 #define s_RGA2_MODE_CTRL_SW_RENDER_MODE(x)      (  (x&0x7)<<0  )\r
67 #define s_RGA2_MODE_CTRL_SW_BITBLT_MODE(x)      (  (x&0x1)<<3  )\r
68 #define s_RGA2_MODE_CTRL_SW_CF_ROP4_PAT(x)      (  (x&0x1)<<4  )\r
69 #define s_RGA2_MODE_CTRL_SW_ALPHA_ZERO_KET(x)   (  (x&0x1)<<5  )\r
70 #define s_RGA2_MODE_CTRL_SW_GRADIENT_SAT(x)     (  (x&0x1)<<6  )\r
71 #define s_RGA2_MODE_CTRL_SW_INTR_CF_E(x)        (  (x&0x1)<<7  )\r
72 \r
73 /* RGA_SRC_INFO */\r
74 #define m_RGA2_SRC_INFO_SW_SRC_FMT                (   0xf<<0   )\r
75 #define m_RGA2_SRC_INFO_SW_SW_SRC_RB_SWAP         (   0x1<<4   )\r
76 #define m_RGA2_SRC_INFO_SW_SW_SRC_ALPHA_SWAP      (   0x1<<5   )\r
77 #define m_RGA2_SRC_INFO_SW_SW_SRC_UV_SWAP         (   0x1<<6   )\r
78 #define m_RGA2_SRC_INFO_SW_SW_CP_ENDAIN           (   0x1<<7   )\r
79 #define m_RGA2_SRC_INFO_SW_SW_SRC_CSC_MODE        (   0x3<<8   )\r
80 #define m_RGA2_SRC_INFO_SW_SW_SRC_ROT_MODE        (   0x3<<10  )\r
81 #define m_RGA2_SRC_INFO_SW_SW_SRC_MIR_MODE        (   0x3<<12  )\r
82 #define m_RGA2_SRC_INFO_SW_SW_SRC_HSCL_MODE       (   0x3<<14  )\r
83 #define m_RGA2_SRC_INFO_SW_SW_SRC_VSCL_MODE       (   0x3<<16  )\r
84 #define m_RGA2_SRC_INFO_SW_SW_SRC_TRANS_MODE      (   0x1<<18  )\r
85 #define m_RGA2_SRC_INFO_SW_SW_SRC_TRANS_E         (   0xf<<19  )\r
86 #define m_RGA2_SRC_INFO_SW_SW_SRC_DITHER_UP_E     (   0x1<<23  )\r
87 #define m_RGA2_SRC_INFO_SW_SW_SRC_SCL_FILTER      (   0x3<<24  )\r
88 #define m_RGA2_SRC_INFO_SW_SW_VSP_MODE_SEL        (   0x1<<26  )\r
89 #define m_RGA2_SRC_INFO_SW_SW_YUV10_E             (   0x1<<27  )\r
90 #define m_RGA2_SRC_INFO_SW_SW_YUV10_ROUND_E       (   0x1<<28  )\r
91 \r
92 \r
93 \r
94 \r
95 \r
96 #define s_RGA2_SRC_INFO_SW_SRC_FMT(x)                (   (x&0xf)<<0   )\r
97 #define s_RGA2_SRC_INFO_SW_SW_SRC_RB_SWAP(x)         (   (x&0x1)<<4   )\r
98 #define s_RGA2_SRC_INFO_SW_SW_SRC_ALPHA_SWAP(x)      (   (x&0x1)<<5   )\r
99 #define s_RGA2_SRC_INFO_SW_SW_SRC_UV_SWAP(x)         (   (x&0x1)<<6   )\r
100 #define s_RGA2_SRC_INFO_SW_SW_CP_ENDAIN(x)           (   (x&0x1)<<7   )\r
101 #define s_RGA2_SRC_INFO_SW_SW_SRC_CSC_MODE(x)        (   (x&0x3)<<8   )\r
102 #define s_RGA2_SRC_INFO_SW_SW_SRC_ROT_MODE(x)        (   (x&0x3)<<10  )\r
103 #define s_RGA2_SRC_INFO_SW_SW_SRC_MIR_MODE(x)        (   (x&0x3)<<12  )\r
104 #define s_RGA2_SRC_INFO_SW_SW_SRC_HSCL_MODE(x)       (   (x&0x3)<<14  )\r
105 #define s_RGA2_SRC_INFO_SW_SW_SRC_VSCL_MODE(x)       (   (x&0x3)<<16  )\r
106 \r
107 #define s_RGA2_SRC_INFO_SW_SW_SRC_TRANS_MODE(x)      (   (x&0x1)<<18  )\r
108 #define s_RGA2_SRC_INFO_SW_SW_SRC_TRANS_E(x)         (   (x&0xf)<<19  )\r
109 #define s_RGA2_SRC_INFO_SW_SW_SRC_DITHER_UP_E(x)     (   (x&0x1)<<23  )\r
110 #define s_RGA2_SRC_INFO_SW_SW_SRC_SCL_FILTER(x)      (   (x&0x3)<<24  )\r
111 #define s_RGA2_SRC_INFO_SW_SW_VSP_MODE_SEL(x)        (   (x&0x1)<<26  )\r
112 #define s_RGA2_SRC_INFO_SW_SW_YUV10_E(x)             (   (x&0x1)<<27  )\r
113 #define s_RGA2_SRC_INFO_SW_SW_YUV10_ROUND_E(x)       (   (x&0x1)<<28  )\r
114 \r
115 /* RGA_SRC_VIR_INFO */\r
116 #define m_RGA2_SRC_VIR_INFO_SW_SRC_VIR_STRIDE        (  0x7fff<<0  )         //modify\r
117 #define m_RGA2_SRC_VIR_INFO_SW_MASK_VIR_STRIDE       (   0x3ff<<16 )         //modify\r
118 \r
119 #define s_RGA2_SRC_VIR_INFO_SW_SRC_VIR_STRIDE(x)        ( (x&0x7fff)<<0  )   //modify\r
120 #define s_RGA2_SRC_VIR_INFO_SW_MASK_VIR_STRIDE(x)       (   (x&0x3ff)<<16 )  //modify\r
121 \r
122 \r
123 /* RGA_SRC_ACT_INFO */\r
124 #define m_RGA2_SRC_ACT_INFO_SW_SRC_ACT_WIDTH        (  0x1fff<<0  )\r
125 #define m_RGA2_SRC_ACT_INFO_SW_SRC_ACT_HEIGHT       (  0x1fff<<16  )\r
126 \r
127 #define s_RGA2_SRC_ACT_INFO_SW_SRC_ACT_WIDTH(x)        (  (x&0x1fff)<<0  )\r
128 #define s_RGA2_SRC_ACT_INFO_SW_SRC_ACT_HEIGHT(x)       (  (x&0x1fff<)<16  )\r
129 \r
130 \r
131 /* RGA_DST_INFO */\r
132 #define m_RGA2_DST_INFO_SW_DST_FMT                   (  0xf<<0 )\r
133 #define m_RGA2_DST_INFO_SW_DST_RB_SWAP               (  0x1<<4 )\r
134 #define m_RGA2_DST_INFO_SW_ALPHA_SWAP                (  0x1<<5 )\r
135 #define m_RGA2_DST_INFO_SW_DST_UV_SWAP               (  0x1<<6 )\r
136 #define m_RGA2_DST_INFO_SW_SRC1_FMT                  (  0x7<<7 )\r
137 #define m_RGA2_DST_INFO_SW_SRC1_RB_SWP               (  0x1<<10)\r
138 #define m_RGA2_DST_INFO_SW_SRC1_ALPHA_SWP            (  0x1<<11)\r
139 #define m_RGA2_DST_INFO_SW_DITHER_UP_E               (  0x1<<12)\r
140 #define m_RGA2_DST_INFO_SW_DITHER_DOWN_E             (  0x1<<13)\r
141 #define m_RGA2_DST_INFO_SW_DITHER_MODE               (  0x3<<14)\r
142 #define m_RGA2_DST_INFO_SW_DST_CSC_MODE              (  0x3<<16)    //add\r
143 #define m_RGA2_DST_INFO_SW_CSC_CLIP_MODE             (  0x1<<18)\r
144 \r
145 #define s_RGA2_DST_INFO_SW_DST_FMT(x)                   (  (x&0xf)<<0 )\r
146 #define s_RGA2_DST_INFO_SW_DST_RB_SWAP(x)               (  (x&0x1)<<4 )\r
147 #define s_RGA2_DST_INFO_SW_ALPHA_SWAP(x)                (  (x&0x1)<<5 )\r
148 #define s_RGA2_DST_INFO_SW_DST_UV_SWAP(x)               (  (x&0x1)<<6 )\r
149 #define s_RGA2_DST_INFO_SW_SRC1_FMT(x)                  (  (x&0x7)<<7 )\r
150 #define s_RGA2_DST_INFO_SW_SRC1_RB_SWP(x)               (  (x&0x1)<<10)\r
151 #define s_RGA2_DST_INFO_SW_SRC1_ALPHA_SWP(x)            (  (x&0x1)<<11)\r
152 #define s_RGA2_DST_INFO_SW_DITHER_UP_E(x)               (  (x&0x1)<<12)\r
153 #define s_RGA2_DST_INFO_SW_DITHER_DOWN_E(x)             (  (x&0x1)<<13)\r
154 #define s_RGA2_DST_INFO_SW_DITHER_MODE(x)               (  (x&0x3)<<14)\r
155 #define s_RGA2_DST_INFO_SW_DST_CSC_MODE(x)              (  (x&0x3)<<16)    //add\r
156 #define s_RGA2_DST_INFO_SW_CSC_CLIP_MODE(x)             (  (x&0x1)<<18)\r
157 \r
158 \r
159 /* RGA_ALPHA_CTRL0 */\r
160 #define m_RGA2_ALPHA_CTRL0_SW_ALPHA_ROP_0             (  0x1<<0  )\r
161 #define m_RGA2_ALPHA_CTRL0_SW_ALPHA_ROP_SEL           (  0x1<<1  )\r
162 #define m_RGA2_ALPHA_CTRL0_SW_ROP_MODE                (  0x3<<2  )\r
163 #define m_RGA2_ALPHA_CTRL0_SW_SRC_GLOBAL_ALPHA        ( 0xff<<4  )\r
164 #define m_RGA2_ALPHA_CTRL0_SW_DST_GLOBAL_ALPHA        ( 0xff<<12 )\r
165 #define m_RGA2_ALPHA_CTRLO_SW_MASK_ENDIAN             (  0x1<<20 )         //add\r
166 \r
167 #define s_RGA2_ALPHA_CTRL0_SW_ALPHA_ROP_0(x)             (  (x&0x1)<<0  )\r
168 #define s_RGA2_ALPHA_CTRL0_SW_ALPHA_ROP_SEL(x)           (  (x&0x1)<<1  )\r
169 #define s_RGA2_ALPHA_CTRL0_SW_ROP_MODE(x)                (  (x&0x3)<<2  )\r
170 #define s_RGA2_ALPHA_CTRL0_SW_SRC_GLOBAL_ALPHA(x)        ( (x&0xff)<<4  )\r
171 #define s_RGA2_ALPHA_CTRL0_SW_DST_GLOBAL_ALPHA(x)        ( (x&0xff)<<12 )\r
172 #define s_RGA2_ALPHA_CTRLO_SW_MASK_ENDIAN(x)             (  (x&0x1)<<20 )  //add\r
173 \r
174 \r
175 \r
176 /* RGA_ALPHA_CTRL1 */\r
177 #define m_RGA2_ALPHA_CTRL1_SW_DST_COLOR_M0            ( 0x1<<0 )\r
178 #define m_RGA2_ALPHA_CTRL1_SW_SRC_COLOR_M0            ( 0x1<<1 )\r
179 #define m_RGA2_ALPHA_CTRL1_SW_DST_FACTOR_M0           ( 0x7<<2 )\r
180 #define m_RGA2_ALPHA_CTRL1_SW_SRC_FACTOR_M0           ( 0x7<<5 )\r
181 #define m_RGA2_ALPHA_CTRL1_SW_DST_ALPHA_CAL_M0        ( 0x1<<8 )\r
182 #define m_RGA2_ALPHA_CTRL1_SW_SRC_ALPHA_CAL_M0        ( 0x1<<9 )\r
183 #define m_RGA2_ALPHA_CTRL1_SW_DST_BLEND_M0            ( 0x3<<10)\r
184 #define m_RGA2_ALPHA_CTRL1_SW_SRC_BLEND_M0            ( 0x3<<12)\r
185 #define m_RGA2_ALPHA_CTRL1_SW_DST_ALPHA_M0            ( 0x1<<14)\r
186 #define m_RGA2_ALPHA_CTRL1_SW_SRC_ALPHA_M0            ( 0x1<<15)\r
187 #define m_RGA2_ALPHA_CTRL1_SW_DST_FACTOR_M1           ( 0x7<<16)\r
188 #define m_RGA2_ALPHA_CTRL1_SW_SRC_FACTOR_M1           ( 0x7<<19)\r
189 #define m_RGA2_ALPHA_CTRL1_SW_DST_ALPHA_CAL_M1        ( 0x1<<22)\r
190 #define m_RGA2_ALPHA_CTRL1_SW_SRC_ALPHA_CAL_M1        ( 0x1<<23)\r
191 #define m_RGA2_ALPHA_CTRL1_SW_DST_BLEND_M1            ( 0x3<<24)\r
192 #define m_RGA2_ALPHA_CTRL1_SW_SRC_BLEND_M1            ( 0x3<<26)\r
193 #define m_RGA2_ALPHA_CTRL1_SW_DST_ALPHA_M1            ( 0x1<<28)\r
194 #define m_RGA2_ALPHA_CTRL1_SW_SRC_ALPHA_M1            ( 0x1<<29)\r
195 \r
196 #define s_RGA2_ALPHA_CTRL1_SW_DST_COLOR_M0(x)            ( (x&0x1)<<0 )\r
197 #define s_RGA2_ALPHA_CTRL1_SW_SRC_COLOR_M0(x)            ( (x&0x1)<<1 )\r
198 #define s_RGA2_ALPHA_CTRL1_SW_DST_FACTOR_M0(x)           ( (x&0x7)<<2 )\r
199 #define s_RGA2_ALPHA_CTRL1_SW_SRC_FACTOR_M0(x)           ( (x&0x7)<<5 )\r
200 #define s_RGA2_ALPHA_CTRL1_SW_DST_ALPHA_CAL_M0(x)        ( (x&0x1)<<8 )\r
201 #define s_RGA2_ALPHA_CTRL1_SW_SRC_ALPHA_CAL_M0(x)        ( (x&0x1)<<9 )\r
202 #define s_RGA2_ALPHA_CTRL1_SW_DST_BLEND_M0(x)            ( (x&0x3)<<10)\r
203 #define s_RGA2_ALPHA_CTRL1_SW_SRC_BLEND_M0(x)            ( (x&0x3)<<12)\r
204 #define s_RGA2_ALPHA_CTRL1_SW_DST_ALPHA_M0(x)            ( (x&0x1)<<14)\r
205 #define s_RGA2_ALPHA_CTRL1_SW_SRC_ALPHA_M0(x)            ( (x&0x1)<<15)\r
206 #define s_RGA2_ALPHA_CTRL1_SW_DST_FACTOR_M1(x)           ( (x&0x7)<<16)\r
207 #define s_RGA2_ALPHA_CTRL1_SW_SRC_FACTOR_M1(x)           ( (x&0x7)<<19)\r
208 #define s_RGA2_ALPHA_CTRL1_SW_DST_ALPHA_CAL_M1(x)        ( (x&0x1)<<22)\r
209 #define s_RGA2_ALPHA_CTRL1_SW_SRC_ALPHA_CAL_M1(x)        ( (x&0x1)<<23)\r
210 #define s_RGA2_ALPHA_CTRL1_SW_DST_BLEND_M1(x)            ( (x&0x3)<<24)\r
211 #define s_RGA2_ALPHA_CTRL1_SW_SRC_BLEND_M1(x)            ( (x&0x3)<<26)\r
212 #define s_RGA2_ALPHA_CTRL1_SW_DST_ALPHA_M1(x)            ( (x&0x1)<<28)\r
213 #define s_RGA2_ALPHA_CTRL1_SW_SRC_ALPHA_M1(x)            ( (x&0x1)<<29)\r
214 \r
215 \r
216 \r
217 /* RGA_MMU_CTRL1 */\r
218 #define m_RGA2_MMU_CTRL1_SW_SRC_MMU_EN                  (  0x1<<0 )\r
219 #define m_RGA2_MMU_CTRL1_SW_SRC_MMU_FLUSH               (  0x1<<1 )\r
220 #define m_RGA2_MMU_CTRL1_SW_SRC_MMU_PREFETCH_EN         (  0x1<<2 )\r
221 #define m_RGA2_MMU_CTRL1_SW_SRC_MMU_PREFETCH_DIR        (  0x1<<3 )\r
222 #define m_RGA2_MMU_CTRL1_SW_SRC1_MMU_EN                 (  0x1<<4 )\r
223 #define m_RGA2_MMU_CTRL1_SW_SRC1_MMU_FLUSH              (  0x1<<5 )\r
224 #define m_RGA2_MMU_CTRL1_SW_SRC1_MMU_PREFETCH_EN        (  0x1<<6 )\r
225 #define m_RGA2_MMU_CTRL1_SW_SRC1_MMU_PREFETCH_DIR       (  0x1<<7 )\r
226 #define m_RGA2_MMU_CTRL1_SW_DST_MMU_EN                  (  0x1<<8 )\r
227 #define m_RGA2_MMU_CTRL1_SW_DST_MMU_FLUSH               (  0x1<<9 )\r
228 #define m_RGA2_MMU_CTRL1_SW_DST_MMU_PREFETCH_EN         (  0x1<<10 )\r
229 #define m_RGA2_MMU_CTRL1_SW_DST_MMU_PREFETCH_DIR        (  0x1<<11 )\r
230 #define m_RGA2_MMU_CTRL1_SW_ELS_MMU_EN                  (  0x1<<12 )\r
231 #define m_RGA2_MMU_CTRL1_SW_ELS_MMU_FLUSH               (  0x1<<13 )\r
232 \r
233 #define s_RGA2_MMU_CTRL1_SW_SRC_MMU_EN(x)                  (  (x&0x1)<<0 )\r
234 #define s_RGA2_MMU_CTRL1_SW_SRC_MMU_FLUSH(x)               (  (x&0x1)<<1 )\r
235 #define s_RGA2_MMU_CTRL1_SW_SRC_MMU_PREFETCH_EN(x)         (  (x&0x1)<<2 )\r
236 #define s_RGA2_MMU_CTRL1_SW_SRC_MMU_PREFETCH_DIR(x)        (  (x&0x1)<<3 )\r
237 #define s_RGA2_MMU_CTRL1_SW_SRC1_MMU_EN(x)                 (  (x&0x1)<<4 )\r
238 #define s_RGA2_MMU_CTRL1_SW_SRC1_MMU_FLUSH(x)              (  (x&0x1)<<5 )\r
239 #define s_RGA2_MMU_CTRL1_SW_SRC1_MMU_PREFETCH_EN(x)        (  (x&0x1)<<6 )\r
240 #define s_RGA2_MMU_CTRL1_SW_SRC1_MMU_PREFETCH_DIR(x)       (  (x&0x1)<<7 )\r
241 #define s_RGA2_MMU_CTRL1_SW_DST_MMU_EN(x)                  (  (x&0x1)<<8 )\r
242 #define s_RGA2_MMU_CTRL1_SW_DST_MMU_FLUSH(x)               (  (x&0x1)<<9 )\r
243 #define s_RGA2_MMU_CTRL1_SW_DST_MMU_PREFETCH_EN(x)         (  (x&0x1)<<10 )\r
244 #define s_RGA2_MMU_CTRL1_SW_DST_MMU_PREFETCH_DIR(x)        (  (x&0x1)<<11 )\r
245 #define s_RGA2_MMU_CTRL1_SW_ELS_MMU_EN(x)                  (  (x&0x1)<<12 )\r
246 #define s_RGA2_MMU_CTRL1_SW_ELS_MMU_FLUSH(x)               (  (x&0x1)<<13 )\r
247 \r
248 \r
249 #define RGA2_SYS_CTRL_OFFSET             0x0\r
250 #define RGA2_CMD_CTRL_OFFSET             0x4\r
251 #define RGA2_CMD_BASE_OFFSET             0x8\r
252 #define RGA2_STATUS_OFFSET               0xc\r
253 #define RGA2_INT_OFFSET                  0x10\r
254 #define RGA2_MMU_CTRL0_OFFSET            0x14\r
255 #define RGA2_MMU_CMD_BASE_OFFSET         0x18\r
256 \r
257 #define RGA2_MODE_CTRL_OFFSET                   0x00\r
258 #define RGA2_SRC_INFO_OFFSET                    0x04\r
259 #define RGA2_SRC_BASE0_OFFSET                   0x08\r
260 #define RGA2_SRC_BASE1_OFFSET                   0x0c\r
261 #define RGA2_SRC_BASE2_OFFSET                   0x10\r
262 #define RGA2_SRC_BASE3_OFFSET                   0x14\r
263 #define RGA2_SRC_VIR_INFO_OFFSET                0x18\r
264 #define RGA2_SRC_ACT_INFO_OFFSET                0x1c\r
265 #define RGA2_SRC_X_FACTOR_OFFSET                0x20\r
266 #define RGA2_SRC_Y_FACTOR_OFFSET                0x24\r
267 #define RGA2_SRC_BG_COLOR_OFFSET                0x28\r
268 #define RGA2_SRC_FG_COLOR_OFFSET                0x2c\r
269 #define RGA2_SRC_TR_COLOR0_OFFSET               0x30\r
270 #define RGA2_CF_GR_A_OFFSET                     0x30 // repeat\r
271 #define RGA2_SRC_TR_COLOR1_OFFSET               0x34\r
272 #define RGA2_CF_GR_B_OFFSET                     0x34 // repeat\r
273 #define RGA2_DST_INFO_OFFSET                    0x38\r
274 #define RGA2_DST_BASE0_OFFSET                   0x3c\r
275 #define RGA2_DST_BASE1_OFFSET                   0x40\r
276 #define RGA2_DST_BASE2_OFFSET                   0x44\r
277 #define RGA2_DST_VIR_INFO_OFFSET                0x48\r
278 #define RGA2_DST_ACT_INFO_OFFSET                0x4c\r
279 #define RGA2_ALPHA_CTRL0_OFFSET                 0x50\r
280 #define RGA2_ALPHA_CTRL1_OFFSET                 0x54\r
281 #define RGA2_FADING_CTRL_OFFSET                 0x58\r
282 #define RGA2_PAT_CON_OFFSET                     0x5c\r
283 #define RGA2_ROP_CTRL0_OFFSET                   0x60\r
284 #define RGA2_CF_GR_G_OFFSET                     0x60 // repeat\r
285 #define RGA2_ROP_CTRL1_OFFSET                   0x64\r
286 #define RGA2_CF_GR_R_OFFSET                     0x64 // repeat\r
287 #define RGA2_MASK_BASE_OFFSET                   0x68\r
288 #define RGA2_MMU_CTRL1_OFFSET                   0x6c\r
289 #define RGA2_MMU_SRC_BASE_OFFSET                0x70\r
290 #define RGA2_MMU_SRC1_BASE_OFFSET               0x74\r
291 #define RGA2_MMU_DST_BASE_OFFSET                0x78\r
292 #define RGA2_MMU_ELS_BASE_OFFSET                0x7c\r
293 \r
294 int RGA2_gen_reg_info(unsigned char *base, struct rga2_req *msg);\r
295 void RGA_MSG_2_RGA2_MSG(struct rga_req *req_rga, struct rga2_req *req);\r
296 void RGA_MSG_2_RGA2_MSG_32(struct rga_req_32 *req_rga, struct rga2_req *req);\r
297 \r
298 \r
299 \r
300 #endif\r
301 \r