SemiDrive SSDK Appication Program Interface
PTG3.0
drivers
include
asw
gama_regs.h
Go to the documentation of this file.
1
9
#ifndef __GAMA_REGS_H__
10
#define __GAMA_REGS_H__
11
12
#define GAMA_LB_JUMP 0x00200000
13
#define GAMA_IB_JUMP 0x00100000
14
#define GAMA_IRQST_JUMP 0x000F0000
15
#define GAMA_ASW_JUMP 0x00030000
16
#define GAMA_DMA_JUMP 0x00020000
17
#define GAMA_FRS_JUMP 0x00011000
18
#define GAMA_VS_JUMP 0x00010000
19
#define GAMA_STN_CFG_JUMP 0x00000000
20
21
#define ASW_REG(x) ((x) + GAMA_ASW_JUMP)
22
23
/* GAMA ASW registers (RMW mode) definition */
24
25
/* ASW_FCTRL */
26
#define ASW_FCTRL ASW_REG(0x0)
27
#define ASW_M2M_FS_SHIFT 0
28
#define ASW_M2M_FS_MASK 0x1 << ASW_M2M_FS_SHIFT
29
30
/*ASW_SOFT_RESET*/
31
#define ASW_SOFT_RESET ASW_REG(0x4)
32
#define ASW_SOFT_RESET_SHIFT 0
33
#define ASW_SOFT_RESET_MASK 0x1 << ASW_SOFT_RESET_SHIFT
34
35
/*ASW_PARA_SET*/
36
#define ASW_PARA_SET ASW_REG(0x8)
37
#define CSI_LN_START_ASW_SHIFT 20
38
#define CSI_LN_START_ASW_MASK 0xFFFUL << CSI_LN_START_ASW_SHIFT
39
#define ASW_DC_BUF_SIZE_SHIFT 12
40
#define ASW_DC_BUF_SIZE_MASK 0x3 << ASW_DC_BUF_SIZE_SHIFT
41
#define EXT_LUT_FORMAT_SHIFT 11
42
#define EXT_LUT_FORMAT_MASK 0x1 << EXT_LUT_FORMAT_SHIFT
43
#define EXT_CSPLINE_EN_SHIFT 10
44
#define EXT_CSPLINE_EN_MASK 0x1 << EXT_CSPLINE_EN_SHIFT
45
#define WORK_MODE_SHIFT 8
46
#define WORK_MODE_MASK 0x3 << WORK_MODE_SHIFT
47
#define CACHE_N_WAY_SHIFT 4
48
#define CACHE_N_WAY_MASK 0xF << CACHE_N_WAY_SHIFT
49
#define C_ENTRY_TYPE_SHIFT 1
50
#define C_ENTRY_TYPE_MASK 0x7 << C_ENTRY_TYPE_SHIFT
51
#define LUT_INTERP_MODE_SHIFT 0
52
#define LUT_INTERP_MODE_MASK 0x1 << LUT_INTERP_MODE_SHIFT
53
54
/*ASW_PARA_SET1*/
55
#define ASW_PARA_SET1 ASW_REG(0xc)
56
#define UV_V_OFFSET_SHIFT 12
57
#define UV_V_OFFSET_MASK 0x3 << UV_V_OFFSET_SHIFT
58
#define UV_H_OFFSET_SHIFT 10
59
#define UV_H_OFFSET_MASK 0x3 << UV_H_OFFSET_SHIFT
60
#define ADB_OFFSET_SHIFT 4
61
#define ADB_OFFSET_MASK 0x3F << ADB_OFFSET_SHIFT
62
#define ADB_SLOPE_SHIFT 0
63
#define ADB_SLOPE_MASK 0xF << ADB_SLOPE_SHIFT
64
65
/*ASW_SRC_RES*/
66
#define ASW_SRC_RES ASW_REG(0x10)
67
#define SRC_RES_VSIZE_SHIFT 16
68
#define SRC_RES_VSIZE_MASK 0xFFF << SRC_RES_VSIZE_SHIFT
69
#define SRC_RES_HSIZE_SHIFT 0
70
#define SRC_RES_HSIZE_MASK 0xFFF << SRC_RES_HSIZE_SHIFT
71
72
/*ASW_DES_RES*/
73
#define ASW_DES_RES ASW_REG(0x14)
74
#define DES_RES_VSIZE_SHIFT 16
75
#define DES_RES_VSIZE_MASK 0xFFF << DES_RES_VSIZE_SHIFT
76
#define DES_RES_HSIZE_SHIFT 0
77
#define DES_RES_HSIZE_MASK 0xFFF << DES_RES_HSIZE_SHIFT
78
79
/*ASW_IMG_FMT*/
80
#define ASW_IMG_FMT ASW_REG(0x18)
81
#define DES_VFLIP_SHIFT 25
82
#define DES_VFLIP_MASK 0x1 << DES_VFLIP_SHIFT
83
#define DES_HFLIP_SHIFT 24
84
#define DES_HFLIP_MASK 0x1 << DES_HFLIP_SHIFT
85
#define DES_FMT_SHIFT 16
86
#define DES_FMT_MASK 0xF << DES_FMT_SHIFT
87
#define SRC_VFLIP_SHIFT 9
88
#define SRC_VFLIP_MASK 0x1 << SRC_VFLIP_SHIFT
89
#define SRC_HFLIP_SHIFT 8
90
#define SRC_HFLIP_MASK 0x1 << SRC_HFLIP_SHIFT
91
#define SRC_FMT_SHIFT 0
92
#define SRC_FMT_MASK 0xF << SRC_FMT_SHIFT
93
94
/*ASW_CFG_PROT*/
95
#define ASW_CFG_PORT ASW_REG(0x1c)
96
#define ADR_PORT_BIT_SHIFT 1
97
#define ADR_PORT_BIT_MASK 0x1 << ADR_PORT_BIT_SHIFT
98
#define CFG_PORT_BIT_SHIFT 0
99
#define CFG_PORT_BIT_MASK 0x1 << CFG_PORT_BIT_SHIFT
100
101
/*ASW_LUT_SIZE*/
102
#define ASW_LUT_SIZE ASW_REG(0x20)
103
#define LUT_SIZE_HEIGHT_SHIFT 16
104
#define LUT_SIZE_HEIGHT_MASK 0x3FF << LUT_SIZE_HEIGHT_SHIFT
105
#define LUT_SIZE_WIDTH_SHIFT 0
106
#define LUT_SIZE_WIDTH_MASK 0x3FF << LUT_SIZE_WIDTH_SHIFT
107
108
/*ASW_LUT_STEP*/
109
#define ASW_LUT_STEP ASW_REG(0x24)
110
#define LUT_STEP_VVAL_SHIFT 16
111
#define LUT_STEP_VVAL_MASK 0xFFF << LUT_STEP_VVAL_SHIFT
112
#define LUT_STEP_HVAL_SHIFT 0
113
#define LUT_STEP_HVAL_MASK 0xFFF << LUT_STEP_HVAL_SHIFT
114
115
/*ASW_LUT_SETPH_RECP*/
116
#define ASW_LUT_SETPH_RECP ASW_REG(0x28)
117
#define LUT_SETPH_RECP_VAL_SHIFT 0
118
#define LUT_SETPH_RECP_VAL_MASK 0xFFFFF << LUT_SETPH_RECP_VAL_SHIFT
119
120
/*ASW_LUT_SETPV_RECP*/
121
#define ASW_LUT_SETPV_RECP ASW_REG(0x2c)
122
#define LUT_SETPV_RECP_VAL_SHIFT 0
123
#define LUT_SETPV_RECP_VAL_MASK 0xFFFFF << LUT_SETPV_RECP_VAL_SHIFT
124
125
/*ASW_POS_CALC_PFILE_BA*/
126
#define ASW_POS_CALC_PFILE_BA ASW_REG(0x30)
127
128
/*ASW_POS_LUT_BA*/
129
#define ASW_POS_LUT_BA ASW_REG(0x34)
130
131
/*ASW_POS_M_V_BA*/
132
#define ASW_POS_M_V_BA ASW_REG(0x38)
133
134
/*ASW_RY_CACHE_BA*/
135
#define ASW_RY_CACHE_BA ASW_REG(0x40)
136
137
/*ASW_GU_CACHE_BA*/
138
#define ASW_GU_CACHE_BA ASW_REG(0x44)
139
140
/*ASW_BV_CACHE_BA*/
141
#define ASW_BV_CACHE_BA ASW_REG(0x48)
142
143
/*ASW_A_CACHE_BA*/
144
#define ASW_A_CACHE_BA ASW_REG(0x4c)
145
146
/*ASW_PIX_R_BA*/
147
#define ASW_PIX_R_BA ASW_REG(0x50)
148
149
/*ASW_PIX_R_STRIDE*/
150
#define ASW_PIX_R_STRIDE ASW_REG(0x58)
151
152
/*ASW_SRC_RY_BA*/
153
#define ASW_SRC_RY_BA ASW_REG(0x60)
154
155
/*ASW_SRC_GU_BA*/
156
#define ASW_SRC_GU_BA ASW_REG(0x64)
157
158
/*ASW_SRC_BV_BA*/
159
#define ASW_SRC_BV_BA ASW_REG(0x68)
160
161
/*ASW_SRC_RY_STRIDE*/
162
#define ASW_SRC_RY_STRIDE ASW_REG(0x6c)
163
164
/*ASW_SRC_GU_STRIDE*/
165
#define ASW_SRC_GU_STRIDE ASW_REG(0x70)
166
167
/*ASW_SRC_BV_STRIDE*/
168
#define ASW_SRC_BV_STRIDE ASW_REG(0x74)
169
170
/*ASW_DES_BA*/
171
#define ASW_DES_BA ASW_REG(0x80)
172
173
/*ASW_DES_STRIDE*/
174
#define ASW_DES_STRIDE ASW_REG(0x84)
175
176
/*ASW_DES_BG_COLOR*/
177
#define ASW_DES_BG_COLOR ASW_REG(0x88)
178
#define DES_BG_COLOR_A_VAL_SHIFT 24
179
#define DES_BG_COLOR_A_VAL_MASK 0xFF << DES_BG_COLOR_A_VAL_SHIFT
180
#define DES_BG_COLOR_B_VAL_SHIFT 16
181
#define DES_BG_COLOR_B_VAL_MASK 0xFF << DES_BG_COLOR_B_VAL_SHIFT
182
#define DES_BG_COLOR_G_VAL_SHIFT 8
183
#define DES_BG_COLOR_G_VAL_MASK 0xFF << DES_BG_COLOR_G_VAL_SHIFT
184
#define DES_BG_COLOR_R_VAL_SHIFT 0
185
#define DES_BG_COLOR_R_VAL_MASK 0xFF << DES_BG_COLOR_R_VAL_SHIFT
186
187
/*ASW_EXT_MLUT_RX_BA*/
188
#define ASW_EXT_MLUT_RX_BA ASW_REG(0x90)
189
190
/*ASW_EXT_MLUT_RY_BA*/
191
#define ASW_EXT_MLUT_RY_BA ASW_REG(0x94)
192
193
/*ASW_EXT_MLUT_GX_BA*/
194
#define ASW_EXT_MLUT_GX_BA ASW_REG(0x98)
195
196
/*ASW_EXT_MLUT_GY_BA*/
197
#define ASW_EXT_MLUT_GY_BA ASW_REG(0x9c)
198
199
/*ASW_EXT_MLUT_BX_BA*/
200
#define ASW_EXT_MLUT_BX_BA ASW_REG(0xa0)
201
202
/*ASW_EXT_MLUT_BY_BA*/
203
#define ASW_EXT_MLUT_BY_BA ASW_REG(0xa4)
204
205
/*ASW_EXT_MLUT_RX_STRIDE*/
206
#define ASW_EXT_MLUT_RX_STRIDE ASW_REG(0xa8)
207
208
/*ASW_EXT_MLUT_RY_STRIDE*/
209
#define ASW_EXT_MLUT_RY_STRIDE ASW_REG(0xac)
210
211
/*ASW_EXT_MLUT_GX_STRIDE*/
212
#define ASW_EXT_MLUT_GX_STRIDE ASW_REG(0xb0)
213
214
/*ASW_EXT_MLUT_GY_STRIDE*/
215
#define ASW_EXT_MLUT_GY_STRIDE ASW_REG(0xb4)
216
217
/*ASW_EXT_MLUT_BX_STRIDE*/
218
#define ASW_EXT_MLUT_BX_STRIDE ASW_REG(0xb8)
219
220
/*ASW_EXT_MLUT_RY_STRIDE*/
221
#define ASW_EXT_MLUT_BY_STRIDE ASW_REG(0xbc)
222
223
/*ASW_ABNORM_HANDLE*/
224
#define ASW_ABNORM_HANDLE ASW_REG(0xe0)
225
#define LB_LUT_TYPE_SHIFT 2
226
#define LB_LUT_TYPE_MASK 0x3 << LB_LUT_TYPE_SHIFT
227
#define RECOVERY_MODE_SHIFT 1
228
#define RECOVERY_MODE_MASK 00x1 << RECOVERY_MODE_SHIFT
229
#define LN_UPDATE_EN_SHIFT 0
230
#define LN_UPDATE_EN_MASK 0x1 << LN_UPDATE_EN_SHIFT
231
232
/*ASW_JP_LB_PROG*/
233
#define ASW_JP_LB_PROG ASW_REG(0xe4)
234
235
/*ASW_CLOAD_PEAK_BW*/
236
#define ASW_CLOAD_PEAK_BW ASW_REG(0xf0)
237
238
/*ASW_CLOAD_TOTAL_BW*/
239
#define ASW_CLOAD_TOTAL_BW ASW_REG(0xf4)
240
241
/*ASW_POS_ST*/
242
#define ASW_POS_ST ASW_REG(0xf8)
243
244
/*ASW_FR_OUT_ST*/
245
#define ASW_FR_OUT_ST ASW_REG(0xfc)
246
247
/*ASW_DBG_POS_ST0*/
248
#define ASW_DBG_POS_ST0 ASW_REG(0x100)
249
250
/*ASW_DBG_POS_ST1*/
251
#define ASW_DBG_POS_ST1 ASW_REG(0x104)
252
253
/*ASW_DBG_POS_ST2*/
254
#define ASW_DBG_POS_ST2 ASW_REG(0x108)
255
256
/*ASW_DBG_POS_ST3*/
257
#define ASW_DBG_POS_ST3 ASW_REG(0x10c)
258
259
/*ASW_DBG_POS_ST4*/
260
#define ASW_DBG_POS_ST4 ASW_REG(0x110)
261
262
/*ASW_DBG_POS_ST5*/
263
#define ASW_DBG_POS_ST5 ASW_REG(0x114)
264
265
/*ASW_DBG_DBC_ST0*/
266
#define ASW_DBG_DBC_ST0 ASW_REG(0x118)
267
268
/*ASW_DBG_DBC_ST1*/
269
#define ASW_DBG_DBC_ST1 ASW_REG(0x11c)
270
271
/*ASW_DBG_DBC_ST2*/
272
#define ASW_DBG_DBC_ST2 ASW_REG(0x120)
273
274
/*ASW_DBG_DBC_ST3*/
275
#define ASW_DBG_DBC_ST3 ASW_REG(0x124)
276
277
/*ASW_DBG_LBC_ST0*/
278
#define ASW_DBG_LBC_ST0 ASW_REG(0x128)
279
280
/*ASW_DBG_LBC_ST1*/
281
#define ASW_DBG_LBC_ST1 ASW_REG(0x12c)
282
283
/****irqst ab0*****/
284
285
#define IRQST_REG(x) ((x) + GAMA_IRQST_JUMP)
286
287
/*GAMA_HW_MODE*/
288
#define GAMA_HW_MODE IRQST_REG(0x10)
289
#define DMA_WR_LB_TO_SHIFT 26
290
#define DMA_WR_LB_TO_MASK 0x3F << DMA_WR_LB_TO_SHIFT
291
#define DMA_RD_LB_TO_SHIFT 20
292
#define DMA_RD_LB_TO_MASK 0x3F << DMA_RD_LB_TO_SHIFT
293
#define AHB_RW_LB_TO_SHIFT 14
294
#define AHB_RW_LB_TO_MASK 0x3F << AHB_RW_LB_TO_SHIFT
295
#define LB_REQ_PRIORITY_SHIFT 12
296
#define LB_REQ_PRIORITY_MASK 0x3 << LB_REQ_PRIORITY_SHIFT
297
#define DMA_WR_LB_TO_EN_SHIFT 11
298
#define DMA_WR_LB_TO_EN_MASK 0x1 << DMA_WR_LB_TO_EN_SHIFT
299
#define DMA_RD_LB_TO_EN_SHIFT 10
300
#define DMA_RD_LB_TO_EN_MASK 0x1 << DMA_RD_LB_TO_EN_SHIFT
301
#define AHB_RW_LB_TO_EN_SHIFT 9
302
#define AHB_RW_LB_TO_EN_MASK 0x1 << AHB_RW_LB_TO_EN_SHIFT
303
#define ASW_EN_SHIFT 2
304
#define ASW_EN_MASK 0x1 << ASW_EN_SHIFT
305
#define LB_LAYOUT_TYPE_SHIFT 1
306
#define LB_LAYOUT_TYPE_MASK 0x1 << LB_LAYOUT_TYPE_SHIFT
307
#define EPU_CTRL_MODE_SHIFT 0
308
#define EPU_CTRL_MODE_MASK 0x1 << EPU_CTRL_MODE_SHIFT
309
310
/*irqst ab0*/
311
312
#define INT_ST1 IRQST_REG(0x1024)
313
#define INT_MSK1 IRQST_REG(0x1028)
314
#define INT_PTY1 IRQST_REG(0x102c)
315
#define INT_CLR1 IRQST_REG(0x1030)
316
#define INT_SET1 IRQST_REG(0x1034)
317
318
#define WRITE_OUT_FRM_DONE_SHIFT 0
319
#define WRITE_OUT_FRM_DONE_MASK 1 << WRITE_OUT_FRM_DONE_SHIFT
320
321
/*dma*/
322
323
#define DMA_REG(x) ((x) + GAMA_DMA_JUMP)
324
#define RD_CHN_NUM 3
325
#define RD_CHN_JUMP 0x40
326
#define WD_CHN_NUM 2
327
#define WD_CHN_JUMP 0x40
328
329
#define RDMA_SRC_CFG_(i) (DMA_REG(0x0) + RD_CHN_JUMP * (i))
330
#define WDMA_DST_CFG_(i) (DMA_REG(0xc) + WD_CHN_JUMP * (i))
331
#define RDMA_PRIORITY_SHIFT 30
332
#define RDMA_PRIORITY_MASK 0x3 << RDMA_PRIORITY_SHIFT
333
#define RDMA_BURST_LEN_SHIFT 20
334
#define RDMA_BURST_LEN_MASK 0xF << RDMA_BURST_LEN_SHIFT
335
#define RDMA_STRIDE_SHIFT 0
336
#define RDMA_STRIDE_MASK 0xFFFFF << RDMA_STRIDE_SHIFT
337
338
#define RDMA_CFIFO_DEPTH_(i) (DMA_REG(0x10) + RD_CHN_JUMP * (i))
339
#define RDMA_DFIFO_DEPTH_(i) (DMA_REG(0x14) + RD_CHN_JUMP * (i))
340
341
#define RDMA_AXI_CTRL_(i) (DMA_REG(0x18) + RD_CHN_JUMP * (i))
342
#define RDMA_AXI_PROT_SHIFT 4
343
#define RDMA_AXI_PROT_MASK 0x3 << RDMA_AXI_PROT_SHIFT
344
#define RDMA_AXI_CACHE_SHIFT 0
345
#define RDMA_AXI_CACHE_MASK 0xF << RDMA_AXI_CACHE_SHIFT
346
347
#define RDMA_ADDR_LOW_(i) (DMA_REG(0x1c) + RD_CHN_JUMP * (i))
348
#define RDMA_ADDR_HIGH_(i) (DMA_REG(0x20) + RD_CHN_JUMP * (i))
349
350
#define RDMA_FB_CTRL_(i) (DMA_REG(0x24) + RD_CHN_JUMP * (i))
351
#define RDMA_FB_WRAP_RAGNGE_SHIFT 1
352
#define RDMA_FB_WRAP_RAGNGE_MASK 0x7 << RDMA_FB_WRAP_RAGNGE_SHIFT
353
#define RDMA_FB_CIRCULAR_EN_SHIFT 0
354
#define RDMA_FB_CIRCULAR_EN_MASK 0x1 << RDMA_FB_CIRCULAR_EN_SHIFT
355
356
#define RDMA_CTRL DMA_REG(0x1000)
357
#define RDMA_CFG_LOAD_SHIFT 1
358
#define RDMA_CFG_LOAD_MASK 0x1 << RDMA_CFG_LOAD_SHIFT
359
#define RDMA_ARB_SEL_SHIFT 0
360
#define RDMA_ARB_SEL_MASK 0x1 << RDMA_ARB_SEL_SHIFT
361
362
#define WDMA_CFIFO_DEPTH_(i) (DMA_REG(0x2000) + WD_CHN_JUMP * (i))
363
#define WDMA_DFIFO_DEPTH_(i) (DMA_REG(0x2004) + WD_CHN_JUMP * (i))
364
365
#define WDMA_AXI_CTRL_(i) (DMA_REG(0x2008) + WD_CHN_JUMP * (i))
366
#define WDMA_AXI_CHN_RST_SHIFT 7
367
#define WDMA_AXI_CHN_RST_MASK 0x1 << WDMA_AXI_CHN_RST_SHIFT
368
#define WDMA_AXI_BUFAB_CFG_SHIFT 6
369
#define WDMA_AXI_BUFAB_CFG_MASK 0x7F << WDMA_AXI_BUFAB_CFG_SHIFT
370
#define WDMA_AXI_PROT_SHIFT 4
371
#define WDMA_AXI_PROT_MASK 0x3 << WDMA_AXI_PROT_SHIFT
372
#define WDMA_AXI_CACHE_SHIFT 0
373
#define WDMA_AXI_CACHE_MASK 0xF << WDMA_AXI_CACHE_SHIFT
374
375
#define WDMA_ADDR_LOW_(i) (DMA_REG(0x200c) + WD_CHN_JUMP * (i))
376
#define WDMA_ADDR_HIGH_(i) (DMA_REG(0x2010) + WD_CHN_JUMP * (i))
377
378
#define WDMA_FB_CTRL_(i) (DMA_REG(0x2014) + WD_CHN_JUMP * (i))
379
#define WDMA_FB_WRAP_RAGNGE_SHIFT 1
380
#define WDMA_FB_WRAP_RAGNGE_MASK 0x7 << WDMA_FB_WRAP_RAGNGE_SHIFT
381
#define WDMA_FB_CIRCULAR_EN_SHIFT 0
382
#define WDMA_FB_CIRCULAR_EN_MASK 0x1 << WDMA_FB_CIRCULAR_EN_SHIFT
383
384
#define WDMA_CTRL DMA_REG(0x3000)
385
#define WDMA_CFG_LOAD_SHIFT 1
386
#define WDMA_CFG_LOAD_MASK 0x1 << WDMA_CFG_LOAD_SHIFT
387
#define WDMA_ARB_SEL_SHIFT 0
388
#define WDMA_ARB_SEL_MASK 0x1 << WDMA_ARB_SEL_SHIFT
389
390
#endif
//__GAMA_REGS_H__
Generated by
1.9.4