SemiDrive SSDK Appication Program Interface
PTG3.0
drivers
include
dispss
dc_reg.h
Go to the documentation of this file.
1
9
#ifndef DC_REG_H__
10
#define DC_REG_H__
11
12
/* DC registers (RMW mode) definition */
13
14
#define REG(x) (x)
15
/* CTRL */
16
#define DC_DC_CTRL REG(0x0)
17
#define DC_CTRL_SW_RST_SHIFT 31
18
#define DC_CTRL_SW_RST_MASK 1UL << DC_CTRL_SW_RST_SHIFT
19
#define DC_CTRL_UNDERRUN_CLR_MODE_SHIFT 3
20
#define DC_CTRL_UNDERRUN_CLR_MODE_MASK 1UL << DC_CTRL_UNDERRUN_CLR_MODE_SHIFT
21
#define DC_CTRL_MLC_DISCARD_MODE_SHIFT 2
22
#define DC_CTRL_MLC_DISCARD_MODE_MASK 1UL << DC_CTRL_MLC_DISCARD_MODE_SHIFT
23
#define DC_CTRL_MS_MODE_SHIFT 1
24
#define DC_CTRL_MS_MODE_MASK 0x1 << DC_CTRL_MS_MODE_SHIFT
25
#define DC_CTRL_SF_MODE_SHIFT 0
26
#define DC_CTRL_SF_MODE_MASK 1UL << DC_CTRL_SF_MODE_SHIFT
27
28
/* FLC */
29
#define DC_FLC_CTRL REG(0x4)
30
#define CRC32_TRIG_SHIFT 3
31
#define CRC32_TRIG_MASK 1UL << CRC32_TRIG_SHIFT
32
#define TCON_TRIG_SHIFT 2
33
#define TCON_TRIG_MASK 1UL << TCON_TRIG_SHIFT
34
#define DI_TRIG_SHIFT 1
35
#define DI_TRIG_MASK 1UL << DI_TRIG_SHIFT
36
#define FLC_TRIG_SHIFT 0
37
#define FLC_TRIG_MASK 1 << FLC_TRIG_SHIFT
38
39
#define DC_FLC_UPDATE REG(0x8)
40
#define DC_FLC_UP_FORCE_SHIFT 0
41
#define DC_FLC_UP_FORCE_MASK 1UL << DC_FLC_UP_FORCE_SHIFT
42
43
#define DC_SDMA_CTRL REG(0x10)
44
#define SDMA_CTRL_GAMMA_EN_SHIFT 4
45
#define SDMA_CTRL_GAMMA_EN_MASK 0xF << SDMA_CTRL_GAMMA_EN_SHIFT
46
#define SDMA_CTRL_SDMA_EN_SHIFT 0
47
#define SDMA_CTRL_SDMA_EN_MASK 0x1 << SDMA_CTRL_SDMA_EN_SHIFT
48
49
#define DC_INT_MASK REG(0x20)
50
#define DC_INT_STATUS REG(0x24)
51
#define DC_INIT_DEF_MASK 0x3FFFFFFF
52
53
#define RDMA_SHIFT 0
54
#define RDMA_MASK 1UL << RDMA_SHIFT
55
56
#define RLE_SHIFT 1
57
#define RLE_MASK 1UL << RLE_SHIFT
58
59
#define MLC_SHIFT 2
60
#define MLC_MASK 1UL << MLC_SHIFT
61
62
#define TCON_SOF_SHIFT 3
63
#define TCON_SOF_MASK 1UL << TCON_SOF_SHIFT
64
65
#define TCON_EOF_SHIFT 4
66
#define TCON_EOF_MASK 1UL << TCON_EOF_SHIFT
67
68
#define TCON_UNDERRUN_SHIFT 5
69
#define TCON_UNDERRUN_MASK 1UL << TCON_UNDERRUN_SHIFT
70
71
#define DC_UNDERRUN_SHIFT 6
72
#define DC_UNDERRUN_MASK 1UL << DC_UNDERRUN_SHIFT
73
74
#define SDMA_DONE_SHIFT 7
75
#define SDMA_DONE_MASK 1UL << SDMA_DONE_SHIFT
76
77
#define TCON_LAYER_KICK_SHIFT 8
78
#define TCON_LAYER_KICK_MASK 0xFFFFF << TCON_LAYER_KICK_SHIFT
79
80
#define CSI_TIMING_DECT_DONE_SHIFT 28
81
#define CSI_TIMING_DECT_DONE_MASK 1UL << CSI_TIMING_DECT_DONE_SHIFT
82
83
#define CSI_TCON_VSYNC_DLY_DONE_SHIFT 29
84
#define CSI_TCON_VSYNC_DLY_DONE_MASK 1UL << CSI_TCON_VSYNC_DLY_DONE_SHIFT
85
86
#define DC_SF_FLC_CTRL REG(0x100)
87
#define DC_SF_INT_MASK REG(0x120)
88
#define DC_SF_INT_STATUS REG(0x124)
89
/* offset definition see DC_FLC_xxx */
90
91
/* RDMA */
92
#define RDMA_CHN_JMP 0x20
93
#define RDMA_CHN_COUNT 4
94
#define DC_RDMA_DFIFO_WML_(i) (REG(0x1000) + RDMA_CHN_JMP * (i))
95
#define RDMA_DFIFO_WML_SHIFT 0
96
#define RDMA_DFIFO_WML_MASK (0xFFFF << RDMA_DFIFO_WML_SHIFT)
97
98
#define DC_RDMA_DFIFO_DEPTH_(i) (REG(0x1004) + RDMA_CHN_JMP * (i))
99
#define RDMA_DFIFO_DEPTH_SHIFT 0
100
#define RDMA_DFIFO_DEPTH_MASK (0xFFFF << RDMA_DFIFO_DEPTH_SHIFT)
101
102
#define DC_RDMA_CFIFO_DEPTH_(i) (REG(0x1008) + RDMA_CHN_JMP * (i))
103
#define RDMA_CFIFO_DEPTH_SHIFT 0
104
#define RDMA_CFIFO_DEPTH_MASK (0xFFFF << RDMA_DFIFO_DEPTH_SHIFT)
105
106
#define DC_RDMA_CH_PRIO_(i) (REG(0x100c) + RDMA_CHN_JMP * (i))
107
#define RDMA_CH_PRIO_SCHE_SHIFT 16
108
#define RDMA_CH_PRIO_SCHE_MASK 0x3f << RDMA_CH_PRIO_SCHE_SHIFT
109
#define RDMA_CH_PRIO_P1_SHIFT 8
110
#define RDMA_CH_PRIO_P1_MASK 0x3f << RDMA_CH_PRIO_P1_SHIFT
111
#define RDMA_CH_PRIO_P0_SHIFT 0
112
#define RDMA_CH_PRIO_P0_MASK 0x3f << RDMA_CH_PRIO_P0_SHIFT
113
114
#define DC_RDMA_BURST_(i) (REG(0x1010) + RDMA_CHN_JMP * (i))
115
#define RDMA_BURST_MODE_SHIFT 3
116
#define RDMA_BURST_MODE_MASK 0x1UL << RDMA_BURST_MODE_SHIFT
117
#define RDMA_BURST_LEN_SHIFT 0
118
#define RDMA_BURST_LEN_MASK 0x7UL << RDMA_BURST_LEN_SHIFT
119
120
#define DC_RDMA_AXI_USER_(i) (REG(0x1014) + RDMA_CHN_JMP * (i))
121
#define RDMA_AXI_USER_SHIFT 0
122
#define RDMA_AXI_USER_MASK 0xFFFFF << RDMA_AXI_USER_SHIFT
123
124
#define DC_RDMA_AXI_CTRL_(i) (REG(0x1018) + RDMA_CHN_JMP * (i))
125
#define RDMA_AXI_CTRL_PORT_SHIFT 4
126
#define RDMA_AXI_CTRL_PORT_MASK 0x3 << RDMA_AXI_CTRL_PORT_SHIFT
127
#define RDMA_AXI_CTRL_CACHE_SHIFT 0
128
#define RDMA_AXI_CTRL_CACHE_MASK 0xF << RDMA_AXI_CTRL_CACHE_SHIFT
129
130
#define DC_RDMA_PRES_WML_(i) (REG(0x101c) + RDMA_CHN_JMP * (i))
131
#define RDMA_PRES_REQ_INTERVAL_SHIFT 16
132
#define RDMA_PRES_REQ_INTERVAL_MASK 0x3FF << RDMA_PRES_REQ_INTERVAL_SHIFT
133
#define RDMA_PRES_WML_DOWN_SHIFT 4
134
#define RDMA_PRES_WML_DOWN_MASK 0x7 << RDMA_PRES_WML_DOWN_SHIFT
135
#define RDMA_PRES_WML_UP_SHIFT 0
136
#define RDMA_PRES_WML_UP_MASK 0x7 << RDMA_PRES_WML_UP_SHIFT
137
138
#define DC_RDMA_CTRL REG(0x1100)
139
#define RDMA_CTRL_CFG_LOAD_SHIFT 1
140
#define RDMA_CTRL_CFG_LOAD_MASK 0x1UL << RDMA_CTRL_CFG_LOAD_SHIFT
141
#define RDMA_CTRL_ARB_SEL_SHIFT 0
142
#define RDMA_CTRL_ARB_SEL_MASK 0x1UL << RDMA_CTRL_ARB_SEL_SHIFT
143
144
#define DC_RDMA_DFIFO_FULL REG(0x1200)
145
#define DC_RDMA_DFIFO_EMPTY REG(0x1204)
146
#define DC_RDMA_CFIFO_FULL REG(0x1208)
147
#define DC_RDMA_CFIFO_EMPTY REG(0x120c)
148
#define DC_RDMA_CH_IDLE REG(0x1210)
149
#define DC_RDMA_INT_MASK REG(0x1220)
150
#define DC_RDMA_INT_STATUS REG(0x1224)
151
#define RDMA_INT_DEF_MASK 0x7F
152
#define RDMA_CH_6_SHIFT 6
153
#define RDMA_CH_6_MASK 1UL << RDMA_CH_6_SHIFT
154
#define RDMA_CH_5_SHIFT 5
155
#define RDMA_CH_5_MASK 1UL << RDMA_CH_5_SHIFT
156
#define RDMA_CH_4_SHIFT 4
157
#define RDMA_CH_4_MASK 1UL << RDMA_CH_4_SHIFT
158
#define RDMA_CH_3_SHIFT 3
159
#define RDMA_CH_3_MASK 1UL << RDMA_CH_3_SHIFT
160
#define RDMA_CH_2_SHIFT 2
161
#define RDMA_CH_2_MASK 1UL << RDMA_CH_2_SHIFT
162
#define RDMA_CH_1_SHIFT 1
163
#define RDMA_CH_1_MASK 1UL << RDMA_CH_1_SHIFT
164
#define RDMA_CH_0_SHIFT 0
165
#define RDMA_CH_0_MASK 1UL << RDMA_CH_0_SHIFT
166
167
#define DC_RDMA_DEBUG_CTRL REG(0x1240)
168
#define RDMA_SEL_SHIFT 0
169
#define RDMA_SEL_MASK 0xF << RDMA_SEL_SHIFT
170
#define DC_RDMA_DEBUG_STA REG(0x1244)
171
#define RDMA_CFIFO_DEP_SHIFT 16
172
#define RDMA_CFIFO_DEP_MASK 0xFFFF << RDMA_CFIFO_DEP_SHIFT
173
#define RDMA_DFIFO_DEP_SHIFT 0
174
#define RDMA_DFIFO_DEP_MASK 0xFFFF << RDMA_DFIFO_DEP_SHIFT
175
176
#define S_RDMA_DFIFO_WML_(i) (REG(0x1400) + RDMA_CHN_JMP * (i))
177
#define S_RDMA_DFIFO_DEPTH_(i) (REG(0x1404) + RDMA_CHN_JMP * (i))
178
#define S_RDMA_CFIFO_DEPTH_(i) (REG(0x1408) + RDMA_CHN_JMP * (i))
179
#define S_RDMA_CH_PRIO_(i) (REG(0x140c) + RDMA_CHN_JMP * (i))
180
#define S_RDMA_BURST_(i) (REG(0x1410) + RDMA_CHN_JMP * (i))
181
#define S_RDMA_AXI_USER_(i) (REG(0x1414) + RDMA_CHN_JMP * (i))
182
#define S_RDMA_AXI_CTRL_(i) (REG(0x1418) + RDMA_CHN_JMP * (i))
183
#define S_RDMA_PRES_WML_(i) (REG(0x141c) + RDMA_CHN_JMP * (i))
184
#define S_RDMA_CTRL REG(0x1500)
185
#define S_RDMA_DFIFO_FULL REG(0x1600)
186
#define S_RDMA_DFIFO_EMPTY REG(0x1604)
187
#define S_RDMA_CFIFO_FULL REG(0x1608)
188
#define S_RDMA_CFIFO_EMPTY REG(0x160c)
189
#define S_RDMA_CH_IDLE REG(0x1610)
190
#define S_RDMA_INT_MASK REG(0x1620)
191
#define S_RDMA_INT_STATUS REG(0x1624)
192
#define S_RDMA_DEBUG_CTRL REG(0x1640)
193
#define S_RDMA_DEBUG_STA REG(0x1644)
194
195
/* GP */
196
#define DC_GP_PIX_COMP REG(0x2000)
197
#define BPV_SHIFT 24
198
#define BPV_MASK 0xF << BPV_SHIFT
199
#define BPU_SHIFT 16
200
#define BPU_MASK 0xF << BPU_SHIFT
201
#define BPY_SHIFT 8
202
#define BPY_MASK 0x1F << BPY_SHIFT
203
#define BPA_SHIFT 0
204
#define BPA_MASK 0xF << BPA_SHIFT
205
206
#define DC_GP_FRM_CTRL REG(0x2004)
207
#define ENDIAN_CTRL_SHIFT 16
208
#define ENDIAN_CTRL_MASK 0x7 << ENDIAN_CTRL_SHIFT
209
#define COMP_SWAP_SHIFT 12
210
#define COMP_SWAP_MASK 0xF << COMP_SWAP_SHIFT
211
#define ROT_SHIFT 8
212
#define ROT_MASK 0x7 << ROT_SHIFT
213
#define RGB_YUV_SHIFT 7
214
#define RGB_YUV_MASK 1UL << RGB_YUV_SHIFT
215
#define UV_SWAP_SHIFT 6
216
#define UV_SWAP_MASK 1 << UV_SWAP_SHIFT
217
#define UV_MODE_SHIFT 4
218
#define UV_MODE_MASK 0x3 << UV_MODE_SHIFT
219
#define MODE_MODE_SHIFT 2
220
#define MODE_MODE_MASK 0x3 << MODE_MODE_SHIFT
221
#define FMT_SHIFT 0
222
#define FMT_MASK 0x3 << FMT_SHIFT
223
224
#define DC_GP_FRM_SIZE REG(0x2008)
225
#define FRM_HEIGHT_SHIFT 16
226
#define FRM_HEIGHT_MASK (unsigned int)0xFFFF << FRM_HEIGHT_SHIFT
227
#define FRM_WIDTH_SHIFT 0
228
#define FRM_WIDTH_MASK 0xFFFF << FRM_WIDTH_SHIFT
229
230
#define DC_GP_Y_BADDR_L REG(0x200c)
231
#define BADDR_L_Y_SHIFT 0
232
#define BADDR_L_Y_MASK 0xFFFFFFFF << BADDR_L_Y_SHIFT
233
234
#define DC_GP_Y_BADDR_H REG(0x2010)
235
#define BADDR_H_Y_SHIFT 0
236
#define BADDR_H_Y_MASK 0xFF << BADDR_H_Y_SHIFT
237
238
#define DC_GP_U_BADDR_L REG(0x2014)
239
#define BADDR_L_U_SHIFT 0
240
#define BADDR_L_U_MASK 0xFFFFFFFF << BADDR_L_U_SHIFT
241
242
#define DC_GP_U_BADDR_H REG(0x2018)
243
#define BADDR_H_U_SHIFT 0
244
#define BADDR_H_U_MASK 0xFF << BADDR_H_U_SHIFT
245
246
#define DC_GP_V_BADDR_L REG(0x201c)
247
#define BADDR_L_V_SHIFT 0
248
#define BADDR_L_V_MASK 0xFFFFFFFF << BADDR_L_V_SHIFT
249
250
#define DC_GP_V_BADDR_H REG(0x2020)
251
#define BADDR_H_V_SHIFT 0
252
#define BADDR_H_V_MASK 0xFF << BADDR_H_V_SHIFT
253
254
#define DC_GP_Y_STRIDE REG(0x202c)
255
#define STRIDE_Y_SHIFT 0
256
#define STRIDE_Y_MASK 0x3FFFFUL << STRIDE_Y_SHIFT
257
258
#define DC_GP_U_STRIDE REG(0x2030)
259
#define STRIDE_U_SHIFT 0
260
#define STRIDE_U_MASK 0x3FFFFUL << STRIDE_U_SHIFT
261
262
#define DC_GP_V_STRIDE REG(0x2034)
263
#define STRIDE_V_SHIFT 0
264
#define STRIDE_V_MASK 0x3FFFFUL << STRIDE_V_SHIFT
265
266
#define DC_GP_FRM_OFFSET REG(0x2040)
267
#define FRM_Y_SHIFT 16
268
#define FRM_Y_MASK 0xFFFFUL << FRM_Y_SHIFT
269
#define FRM_X_SHIFT 0
270
#define FRM_X_MASK 0xFFFFUL << FRM_X_SHIFT
271
272
#define DC_GP_YUVUP_CTRL REG(0x2044)
273
#define DC_GP_YUVUP_EN_SHIFT 31
274
#define DC_GP_YUVUP_EN_MASK (unsigned int)0x1 << DC_GP_YUVUP_EN_SHIFT
275
#define DC_GP_YUVUP_VOFSET_SHIFT 6
276
#define DC_GP_YUVUP_VOFSET_MASK 0x3 << DC_GP_YUVUP_VOFSET_SHIFT
277
#define DC_GP_YUVUP_HOFSET_SHIFT 4
278
#define DC_GP_YUVUP_HOFSET_MASK 0x3 << DC_GP_YUVUP_HOFSET_SHIFT
279
#define DC_GP_YUVUP_FILTER_MODE_SHIFT 3
280
#define DC_GP_YUVUP_FILTER_MODE_MASK 0x1 << DC_GP_YUVUP_FILTER_MODE_SHIFT
281
#define DC_GP_YUVUP_UPV_BYPASS_SHIFT 2
282
#define DC_GP_YUVUP_UPV_BYPASS_MASK 0x1 << DC_GP_YUVUP_UPV_BYPASS_SHIFT
283
#define DC_GP_YUVUP_UPH_BYPASS_SHIFT 1
284
#define DC_GP_YUVUP_UPH_BYPASS_MASK 0x1 << DC_GP_YUVUP_UPH_BYPASS_SHIFT
285
#define DC_GP_YUVUP_BYPASS_SHIFT 0
286
#define DC_GP_YUVUP_BYPASS_MASK 0x1 << DC_GP_YUVUP_BYPASS_SHIFT
287
288
/* GP CSC */
289
#define DC_GP_CSC_CTRL REG(0x2200)
290
#define GP_CSC_ALPHA_SHIFT 2
291
#define GP_CSC_ALPHA_MASK 0x1 << GP_CSC_ALPHA_SHIFT
292
#define GP_CSC_SBUP_CONV_SHIFT 1
293
#define GP_CSC_SBUP_CONV_MASK 0x1 << GP_CSC_SBUP_CONV_SHIFT
294
#define GP_CSC_BYPASS_SHIFT 0
295
#define GP_CSC_BYPASS_MASK 0x1 << GP_CSC_BYPASS_SHIFT
296
297
#define DC_GP_CSC_COEF1 REG(0x2204)
298
#define GP_CSC_COEF1_A01_SHIFT 16
299
#define GP_CSC_COEF1_A01_MASK 0x3FFF << GP_CSC_COEF1_A01_SHIFT
300
#define GP_CSC_COEF1_A00_SHIFT 0
301
#define GP_CSC_COEF1_A00_MASK 0x3FFF << GP_CSC_COEF1_A00_SHIFT
302
303
#define DC_GP_CSC_COEF2 REG(0x2208)
304
#define GP_CSC_COEF2_A10_SHIFT 16
305
#define GP_CSC_COEF2_A10_MASK 0x3FFF << GP_CSC_COEF2_A10_SHIFT
306
#define GP_CSC_COEF2_A02_SHIFT 0
307
#define GP_CSC_COEF2_A02_MASK 0x3FFF << GP_CSC_COEF2_A02_SHIFT
308
309
#define DC_GP_CSC_COEF3 REG(0x220c)
310
#define GP_CSC_COEF3_A12_SHIFT 16
311
#define GP_CSC_COEF3_A12_MASK 0x3FFF << GP_CSC_COEF3_A12_SHIFT
312
#define GP_CSC_COEF3_A11_SHIFT 0
313
#define GP_CSC_COEF3_A11_MASK 0x3FFF << GP_CSC_COEF3_A11_SHIFT
314
315
#define DC_GP_CSC_COEF4 REG(0x2210)
316
#define GP_CSC_COEF4_A21_SHIFT 16
317
#define GP_CSC_COEF4_A21_MASK 0x3FFF << GP_CSC_COEF4_A21_SHIFT
318
#define GP_CSC_COEF4_A20_SHIFT 0
319
#define GP_CSC_COEF4_A20_MASK 0x3FFF << GP_CSC_COEF4_A20_SHIFT
320
321
#define DC_GP_CSC_COEF5 REG(0x2214)
322
#define GP_CSC_COEF5_B0_SHIFT 16
323
#define GP_CSC_COEF5_B0_MASK 0x3FFF << GP_CSC_COEF5_B0_SHIFT
324
#define GP_CSC_COEF5_A22_SHIFT 0
325
#define GP_CSC_COEF5_A22_MASK 0x3FFF << GP_CSC_COEF5_A22_SHIFT
326
327
#define DC_GP_CSC_COEF6 REG(0x2218)
328
#define GP_CSC_COEF6_B2_SHIFT 16
329
#define GP_CSC_COEF6_B2_MASK 0x3FFF << GP_CSC_COEF6_B2_SHIFT
330
#define GP_CSC_COEF6_B1_SHIFT 0
331
#define GP_CSC_COEF6_B1_MASK 0x3FFF << GP_CSC_COEF6_B1_SHIFT
332
333
#define DC_GP_CSC_COEF7 REG(0x221c)
334
#define GP_CSC_COEF7_C1_SHIFT 16
335
#define GP_CSC_COEF7_C1_MASK 0x3FF << GP_CSC_COEF7_C1_SHIFT
336
#define GP_CSC_COEF7_C0_SHIFT 0
337
#define GP_CSC_COEF7_C0_MASK 0x3FF << GP_CSC_COEF7_C0_SHIFT
338
339
#define DC_GP_CSC_COEF8 REG(0x2220)
340
#define GP_CSC_COEF8_C2_SHIFT 0
341
#define GP_CSC_COEF8_C2_MASK 0x3FF << GP_CSC_COEF8_C2_SHIFT
342
343
/* GP HSDK */
344
#define DC_GP_HSDK_CTRL REG(0x2d00)
345
#define GP_HSDK_MODE_SHIFT 1
346
#define GP_HSDK_MODE_MASK 3 << GP_HSDK_MODE_SHIFT
347
#define GP_HSDK_EN_SHIFT 0
348
#define GP_HSDK_EN_MASK 1 << GP_HSDK_EN_SHIFT
349
350
#define DC_GP_HSDK_STATUS REG(0x2d04)
351
#define GP_HSDK_Y_RDY_1_SHIFT 3
352
#define GP_HSDK_Y_RDY_1_MASK 1 << GP_HSDK_Y_RDY_1_SHIFT
353
#define GP_HSDK_Y_RDY_0_SHIFT 0
354
#define GP_HSDK_Y_RDY_0_MASK 1 << GP_HSDK_Y_RDY_0_SHIFT
355
356
/* GP RST */
357
#define DC_GP_SW_RST REG(0x2e00)
358
#define GP_SW_RST_SHIFT 0
359
#define GP_SW_RST_MASK 1 << GP_SW_RST_SHIFT
360
361
/* GP SDW */
362
#define DC_GP_SDW_CTRL REG(0x2f00)
363
#define GP_SDW_CTRL_TRIG_SHIFT 0
364
#define GP_SDW_CTRL_TRIG_MASK 1 << GP_SDW_CTRL_TRIG_SHIFT
365
366
/* SP */
367
#define SP_JMP 0x1000
368
#define SP_COUNT 2
// One is normal SP, Other one is S_SP
369
370
/* SHIFT MASK define see DC_GP_XX area */
371
#define DC_SP_PIX_COMP_(i) (REG(0x5000) + SP_JMP * i)
372
#define DC_SP_FRM_CTRL_(i) (REG(0x5004) + SP_JMP * i)
373
#define DC_SP_FRM_SIZE_(i) (REG(0x5008) + SP_JMP * i)
374
#define DC_SP_Y_BADDR_L_(i) (REG(0x500c) + SP_JMP * i)
375
#define DC_SP_Y_BADDR_H_(i) (REG(0x5010) + SP_JMP * i)
376
#define DC_SP_Y_STRIDE_(i) (REG(0x502c) + SP_JMP * i)
377
378
#define DC_SP_FRM_OFFSET_(i) (REG(0x5040) + SP_JMP * i)
379
380
/* RLE */
381
#define DC_RLE_Y_LEN_(i) (REG(0x5100) + SP_JMP * i)
382
#define RLE_Y_LEN_Y_SHIFT 0
383
#define RLE_Y_LEN_Y_MASK 0xFFFFFF << RLE_Y_LEN_Y_SHIFT
384
385
#define DC_RLE_Y_CHECK_SUM_(i) (REG(0x5110) + SP_JMP * i)
386
#define RLE_Y_CHECK_SUM_Y_SHIFT 0
387
#define RLE_Y_CHECK_SUM_Y_MASK 0xFFFFFFFF << RLE_Y_CHECK_SUM_Y_SHIFT
388
389
#define DC_RLE_CTRL_(i) (REG(0x5120) + SP_JMP * i)
390
#define RLE_DATA_SIZE_SHIFT 1
391
#define RLE_DATA_SIZE_MASK 0x3 << RLE_DATA_SIZE_SHIFT
392
#define RLE_EN_SHIFT 0
393
#define RLE_EN_MASK 0x1 << RLE_EN_SHIFT
394
395
#define DC_RLE_Y_CHECK_SUM_ST_(i) (REG(0x5130) + SP_JMP * i)
396
#define DC_RLE_U_CHECK_SUM_ST_(i) (REG(0x5134) + SP_JMP * i)
397
#define DC_RLE_V_CHECK_SUM_ST_(i) (REG(0x5138) + SP_JMP * i)
398
#define DC_RLE_A_CHECK_SUM_ST_(i) (REG(0x513c) + SP_JMP * i)
399
400
#define DC_RLE_INT_MASK_(i) (REG(0x5140) + SP_JMP * i)
401
#define DC_RLE_INT_STATUS_(i) (REG(0x5144) + SP_JMP * i)
402
#define DC_RLE_INT_V_ERR_SHIFT 3
403
#define DC_RLE_INT_V_ERR_MASK 0x1 << RLE_INT_V_ERR_SHIFT
404
#define DC_RLE_INT_U_ERR_SHIFT 2
405
#define DC_RLE_INT_U_ERR_MASK 0x1 << RLE_INT_U_ERR_SHIFT
406
#define DC_RLE_INT_Y_ERR_SHIFT 1
407
#define DC_RLE_INT_Y_ERR_MASK 0x1 << RLE_INT_Y_ERR_SHIFT
408
#define DC_RLE_INT_A_ERR_SHIFT 0
409
#define DC_RLE_INT_A_ERR_MASK 0x1 << RLE_INT_A_ERR_SHIFT
410
411
/* CLUT */
412
#define DC_CLUT_A_CTRL_(i) (REG(0x5200) + SP_JMP * i)
413
#define CLUT_HAS_ALPHA_SHIFT 18
414
#define CLUT_HAS_ALPHA_MASK 0x1 << CLUT_HAS_ALPHA_SHIFT
415
#define CLUT_A_Y_SEL_SHIFT 17
416
#define CLUT_A_Y_SEL_MASK 0x1 << CLUT_A_Y_SEL_SHIFT
417
#define CLUT_A_BYPASS_SHIFT 16
418
#define CLUT_A_BYPASS_MASK 0x1 << CLUT_A_BYPASS_SHIFT
419
#define CLUT_A_OFFSET_SHIFT 8
420
#define CLUT_A_OFFSET_MASK 0xFF << CLUT_A_OFFSET_SHIFT
421
#define CLUT_A_DEPTH_SHIFT 0
422
#define CLUT_A_DEPTH_MASK 0xF << CLUT_A_DEPTH_SHIFT
423
424
#define DC_CLUT_Y_CTRL_(i) (REG(0x5204) + SP_JMP * i)
425
#define CLUT_Y_BYPASS_SHIFT 16
426
#define CLUT_Y_BYPASS_MASK 0x1 << CLUT_Y_BYPASS_SHIFT
427
#define CLUT_Y_OFFSET_SHIFT 8
428
#define CLUT_Y_OFFSET_MASK 0xFF << CLUT_Y_OFFSET_SHIFT
429
#define CLUT_Y_DEPTH_SHIFT 0
430
#define CLUT_Y_DEPTH_MASK 0xF << CLUT_Y_DEPTH_SHIFT
431
432
#define DC_CLUT_U_CTRL_(i) (REG(0x5208) + SP_JMP * i)
433
#define CLUT_U_Y_SEL_SHIFT 17
434
#define CLUT_U_Y_SEL_MASK 0x1 << CLUT_U_Y_SEL_SHIFT
435
#define CLUT_U_BYPASS_SHIFT 16
436
#define CLUT_U_BYPASS_MASK 0x1 << CLUT_U_BYPASS_SHIFT
437
#define CLUT_U_OFFSET_SHIFT 8
438
#define CLUT_U_OFFSET_MASK 0xFF << CLUT_U_OFFSET_SHIFT
439
#define CLUT_U_DEPTH_SHIFT 0
440
#define CLUT_U_DEPTH_MASK 0xF << CLUT_U_DEPTH_SHIFT
441
442
#define DC_CLUT_V_CTRL_(i) (REG(0x520c) + SP_JMP * i)
443
#define CLUT_V_Y_SEL_SHIFT 17
444
#define CLUT_V_Y_SEL_MASK 0x1 << CLUT_V_Y_SEL_SHIFT
445
#define CLUT_V_BYPASS_SHIFT 16
446
#define CLUT_V_BYPASS_MASK 0x1 << CLUT_V_BYPASS_SHIFT
447
#define CLUT_V_OFFSET_SHIFT 8
448
#define CLUT_V_OFFSET_MASK 0xFF << CLUT_V_OFFSET_SHIFT
449
#define CLUT_V_DEPTH_SHIFT 0
450
#define CLUT_V_DEPTH_MASK 0xF << CLUT_V_DEPTH_SHIFT
451
452
#define DC_CLUT_READ_CTRL_(i) (REG(0x5210) + SP_JMP * i)
453
#define CLUT_APB_SEL_SHIFT 0
454
#define CLUT_APB_SEL_MASK 0x1 << CLUT_APB_SEL_SHIFT
455
456
#define DC_CLUT_BADDRL_(i) (REG(0x5214) + SP_JMP * i)
457
#define CLUT_BADDRL_SHIFT 0
458
#define CLIT_BADDRL_MASK 0xFFFFFFFF << CLUT_BADDRL_SHIFT
459
460
#define DC_CLUT_BADDRH_(i) (REG(0x5218) + SP_JMP * i)
461
#define CLUT_BADDRH_SHIFT 0
462
#define CLIT_BADDRH_MASK 0xFF << CLUT_BADDRH_SHIFT
463
464
#define DC_CLUT_LOAD_CTRL_(i) (REG(0x521c) + SP_JMP * i)
465
#define CLUT_LOAD_CTRL_EN_SHIFT 0
466
#define CLUT_LOAD_CTRL_EN_MASK 1 << CLUT_LOAD_CTRL_EN_SHIFT
467
468
/* SP RST */
469
#define DC_SP_SW_RST_(i) (REG(0x5e00) + SP_JMP * i)
470
#define SP_SW_RST_SHIFT 0
471
#define SP_SW_RST_MASK 1 << SP_SW_RST_SHIFT
472
473
/* SP_SDW_CTRL */
474
#define DC_SP_SDW_CTRL_(i) (REG(0x5f00) + SP_JMP * i)
475
#define SP_SDW_CTRL_TRIG_SHIFT 0
476
#define SP_SDW_CTRL_TRIG_MASK 0x1 << SP_SDW_CTRL_TRIG_SHIFT
477
478
/* MLC */
479
#define MLC_LAYER_JMP 0x30
480
#define MLC_LAYER_COUNT 4
481
#define MLC_PATH_JMP 0x4
482
#define MLC_PATH_COUNT 5
483
484
#define DC_MLC_SF_CTRL_(i) (REG(0x7000) + MLC_LAYER_JMP * (i))
485
#define MLC_SF_PROT_VAL_SHIFT 8
486
#define MLC_SF_PROT_VAL_MASK 0x3F << MLC_SF_PROT_VAL_SHIFT
487
#define MLC_SF_VPOS_PROT_EN_SHIFT 7
488
#define MLC_SF_VPOS_PROT_EN_MASK 0x1 << MLC_SF_VPOS_PROT_EN_SHIFT
489
#define MLC_SF_SLOWDOWN_EN_SHIFT 6
490
#define MLC_SF_SLOWDOWN_EN_MASK 0x1 << MLC_SF_SLOWDOWN_EN_SHIFT
491
#define MLC_SF_AFLU_PSEL_SHIFT 5
492
#define MLC_SF_AFLU_PSEL_MASK 0x1 << MLC_SF_AFLU_PSEL_SHIFT
493
#define MLC_SF_AFLU_EN_SHIFT 4
494
#define MLC_SF_AFLU_EN_MASK 0x1 << MLC_SF_AFLU_EN_SHIFT
495
#define MLC_SF_CKEY_EN_SHIFT 3
496
#define MLC_SF_CKEY_EN_MASK 0x1 << MLC_SF_CKEY_EN_SHIFT
497
#define MLC_SF_G_ALPHA_EN_SHIFT 2
498
#define MLC_SF_G_ALPHA_EN_MASK 0x1 << MLC_SF_G_ALPHA_EN_SHIFT
499
#define MLC_SF_CROP_EN_SHIFT 1
500
#define MLC_SF_CROP_EN_MASK 0x1 << MLC_SF_CROP_EN_SHIFT
501
#define MLC_SF_EN_SHIFT 0
502
#define MLC_SF_EN_MASK 0x1 << MLC_SF_EN_SHIFT
503
504
#define DC_MLC_SF_H_SPOS_(i) (REG(0x7004) + MLC_LAYER_JMP * (i))
505
#define MLC_SF_H_SPOS_H_SHIFT 0
506
#define MLC_SF_H_SPOS_H_MASK 0x1FFFF << MLC_SF_H_SPOS_H_SHIFT
507
508
#define DC_MLC_SF_V_SPOS_(i) (REG(0x7008) + MLC_LAYER_JMP * (i))
509
#define MLC_SF_V_SPOS_V_SHIFT 0
510
#define MLC_SF_V_SPOS_V_MASK 0x1FFFF << MLC_SF_V_SPOS_V_SHIFT
511
512
#define DC_MLC_SF_SIZE_(i) (REG(0x700c) + MLC_LAYER_JMP * (i))
513
#define MLC_SF_SIZE_V_SHIFT 16
514
#define MLC_SF_SIZE_V_MASK 0xFFFF << MLC_SF_SIZE_V_SHIFT
515
#define MLC_SF_SIZE_H_SHIFT 0
516
#define MLC_SF_SIZE_H_MASK 0xFFFF << MLC_SF_SIZE_H_SHIFT
517
518
#define DC_MLC_SF_CROP_H_POS_(i) (REG(0x7010) + MLC_LAYER_JMP * (i))
519
#define DC_MLC_SF_CROP_V_POS_(i) (REG(0x7014) + MLC_LAYER_JMP * (i))
520
#define MLC_SF_CROP_END_SHIFT 16
521
#define MLC_SF_CROP_END_MASK 0xFFFF << MLC_SF_CROP_END_SHIFT
522
#define MLC_SF_CROP_START_SHIFT 0
523
#define MLC_SF_CROP_START_MASK 0xFFFF << MLC_SF_CROP_START_SHIFT
524
525
#define DC_MLC_SF_G_ALPHA_(i) (REG(0x7018) + MLC_LAYER_JMP * (i))
526
#define MLC_SF_G_ALPHA_A_SHIFT 0
527
#define MLC_SF_G_ALPHA_A_MASK 0xFF << MLC_SF_G_ALPHA_A_SHIFT
528
529
#define DC_MLC_SF_CKEY_ALPHA_(i) (REG(0x701c) + MLC_LAYER_JMP * (i))
530
#define MLC_SF_CKEY_ALPHA_A_SHIFT 0
531
#define MLC_SF_CKEY_ALPHA_A_MASK 0xFF << MLC_SF_CKEY_ALPHA_A_SHIFT
532
533
#define DC_MLC_SF_CKEY_R_LV_(i) (REG(0x7020) + MLC_LAYER_JMP * (i))
534
#define DC_MLC_SF_CKEY_G_LV_(i) (REG(0x7024) + MLC_LAYER_JMP * (i))
535
#define DC_MLC_SF_CKEY_B_LV_(i) (REG(0x7028) + MLC_LAYER_JMP * (i))
536
#define MLC_SF_CKEY_LV_UP_SHIFT 16
537
#define MLC_SF_CKEY_LV_UP_MASK 0x3FF << MLC_SF_CKEY_LV_UP_SHIFT
538
#define MLC_SF_CKEY_LV_DN_SHIFT 0
539
#define MLC_SF_CKEY_LV_DN_MASK 0x3FF << MLC_SF_CKEY_LV_DN_SHIFT
540
541
#define DC_MLC_SF_AFLU_TIME_(i) (REG(0x702c) + MLC_LAYER_JMP * (i))
542
#define MLC_SF_AFLU_TIMER_SHIFT 0
543
#define MLC_SF_AFLU_TIMER_MASK 0xFFFFFFFF << MLC_SF_AFLU_TIMER_SHIFT
544
545
#define DC_MLC_PATH_CTRL_(i) (REG(0x7200) + MLC_PATH_JMP * (i))
546
#define ALPHA_BLD_IDX_SHIFT 16
547
#define ALPHA_BLD_IDX_MASK 0xF << ALPHA_BLD_IDX_SHIFT
548
#define LAYER_OUT_IDX_SHIFT 0
549
#define LAYER_OUT_IDX_MASK 0xF << LAYER_OUT_IDX_SHIFT
550
551
#define DC_MLC_BG_CTRL REG(0x7220)
552
#define BG_A_SHIFT 8
553
#define BG_A_MASK 0xFF << BG_A_SHIFT
554
#define AFLU_EN_SHIFT 7
555
#define AFLU_EN_MASK 0x1 << AFLU_EN_SHIFT
556
#define FSTART_SEL_SHIFT 4
557
#define FSTART_SEL_MASK 0x7 << FSTART_SEL_SHIFT
558
#define BG_A_SEL_SHIFT 2
559
#define BG_A_SEL_MASK 0x1 << BG_A_SEL_SHIFT
560
#define BG_EN_SHIFT 1
561
#define BG_EN_MASK 0x1 << BG_EN_SHIFT
562
#define ALPHA_BLD_BYPS_SHIFT 0
563
#define ALPHA_BLD_BYPS_MASK 0x1 << ALPHA_BLD_BYPS_SHIFT
564
565
#define DC_MLC_BG_COLOR REG(0x7224)
566
#define BG_COLOR_R_SHIFT 20
567
#define BG_COLOR_R_MASK 0x3FF << BG_COLOR_R_SHIFT
568
#define BG_COLOR_G_SHIFT 10
569
#define BG_COLOR_G_MASK 0x3FF << BG_COLOR_G_SHIFT
570
#define BG_COLOR_B_SHIFT 0
571
#define BG_COLOR_B_MASK 0x3FF << BG_COLOR_B_SHIFT
572
573
#define DC_MLC_BG_AFLU_TIME REG(0x7228)
574
#define MLC_BG_AFLU_TIMER_SHIFT 0
575
#define MLC_BG_AFLU_TIMER_MASK 0xFFFFFFFF << MLC_BG_AFLU_TIMER_SHIFT
576
577
#define DC_MLC_CANVAS_COLOR REG(0x7230)
578
#define CANVAS_COLOR_R_SHIFT 20
579
#define CANVAS_COLOR_R_MASK 0x3FF << CANVAS_COLOR_R_SHIFT
580
#define CANVAS_COLOR_G_SHIFT 10
581
#define CANVAS_COLOR_G_MASK 0x3FF << CANVAS_COLOR_G_SHIFT
582
#define CANVAS_COLOR_B_SHIFT 0
583
#define CANVAS_COLOR_B_MASK 0x3FF << CANVAS_COLOR_B_SHIFT
584
585
#define DC_MLC_CLK_RATIO REG(0x7234)
586
#define MLC_CLK_RATIO_SHIFT 0
587
#define MLC_CLK_RATIO_MASK 0xFFFF << MLC_CLK_RATIO_SHIFT
588
589
#define DC_MLC_INT_MASK REG(0x7240)
590
#define MLC_MASK_ERR_L_5_SHIFT 12
591
#define MLC_MASK_ERR_L_5_MASK 0x1 << MLC_MASK_ERR_L_5_SHIFT
592
#define MLC_MASK_ERR_L_4_SHIFT 11
593
#define MLC_MASK_ERR_L_4_MASK 0x1 << MLC_MASK_ERR_L_4_SHIFT
594
#define MLC_MASK_ERR_L_3_SHIFT 10
595
#define MLC_MASK_ERR_L_3_MASK 0x1 << MLC_MASK_ERR_L_3_SHIFT
596
#define MLC_MASK_ERR_L_2_SHIFT 9
597
#define MLC_MASK_ERR_L_2_MASK 0x1 << MLC_MASK_ERR_L_2_SHIFT
598
#define MLC_MASK_ERR_L_1_SHIFT 8
599
#define MLC_MASK_ERR_L_1_MASK 0x1 << MLC_MASK_ERR_L_1_SHIFT
600
#define MLC_MASK_ERR_L_0_SHIFT 7
601
#define MLC_MASK_ERR_L_0_MASK 0x1 << MLC_MASK_ERR_L_0_SHIFT
602
#define MLC_MASK_FLU_L_5_SHIFT 6
603
#define MLC_MASK_FLU_L_5_MASK 0x1 << MLC_MASK_FLU_L_5_SHIFT
604
#define MLC_MASK_FLU_L_4_SHIFT 5
605
#define MLC_MASK_FLU_L_4_MASK 0x1 << MLC_MASK_FLU_L_4_SHIFT
606
#define MLC_MASK_FLU_L_3_SHIFT 4
607
#define MLC_MASK_FLU_L_3_MASK 0x1 << MLC_MASK_FLU_L_3_SHIFT
608
#define MLC_MASK_FLU_L_2_SHIFT 3
609
#define MLC_MASK_FLU_L_2_MASK 0x1 << MLC_MASK_FLU_L_2_SHIFT
610
#define MLC_MASK_FLU_L_1_SHIFT 2
611
#define MLC_MASK_FLU_L_1_MASK 0x1 << MLC_MASK_FLU_L_1_SHIFT
612
#define MLC_MASK_FLU_L_0_SHIFT 1
613
#define MLC_MASK_FLU_L_0_MASK 0x1 << MLC_MASK_FLU_L_0_SHIFT
614
#define MLC_MASK_FRM_END_SHIFT 0
615
#define MLC_MASK_FRM_END_MASK 0x1 << MLC_MASK_FRM_END_SHIFT
616
617
#define DC_MLC_INT_STATUS REG(0x7244)
618
#define MLC_S_SLOWD_L_5_SHIFT 27
619
#define MLC_S_SLOWD_L_5_MASK 0x1 << MLC_S_SLOWD_L_5_SHIFT
620
#define MLC_S_SLOWD_L_4_SHIFT 26
621
#define MLC_S_SLOWD_L_4_MASK 0x1 << MLC_S_SLOWD_L_4_SHIFT
622
#define MLC_S_SLOWD_L_3_SHIFT 25
623
#define MLC_S_SLOWD_L_3_MASK 0x1 << MLC_S_SLOWD_L_3_SHIFT
624
#define MLC_S_SLOWD_L_2_SHIFT 24
625
#define MLC_S_SLOWD_L_2_MASK 0x1 << MLC_S_SLOWD_L_2_SHIFT
626
#define MLC_S_SLOWD_L_1_SHIFT 23
627
#define MLC_S_SLOWD_L_1_MASK 0x1 << MLC_S_SLOWD_L_1_SHIFT
628
#define MLC_S_SLOWD_L_0_SHIFT 22
629
#define MLC_S_SLOWD_L_0_MASK 0x1 << MLC_S_SLOWD_L_0_SHIFT
630
#define MLC_S_CROP_E_L_5_SHIFT 21
631
#define MLC_S_CROP_E_L_5_MASK 0x1 << MLC_S_CROP_E_L_5_SHIFT
632
#define MLC_S_CROP_E_L_4_SHIFT 20
633
#define MLC_S_CROP_E_L_4_MASK 0x1 << MLC_S_CROP_E_L_4_SHIFT
634
#define MLC_S_CROP_E_L_3_SHIFT 19
635
#define MLC_S_CROP_E_L_3_MASK 0x1 << MLC_S_CROP_E_L_3_SHIFT
636
#define MLC_S_CROP_E_L_2_SHIFT 18
637
#define MLC_S_CROP_E_L_2_MASK 0x1 << MLC_S_CROP_E_L_2_SHIFT
638
#define MLC_S_CROP_E_L_1_SHIFT 17
639
#define MLC_S_CROP_E_L_1_MASK 0x1 << MLC_S_CROP_E_L_1_SHIFT
640
#define MLC_S_CROP_E_L_0_SHIFT 16
641
#define MLC_S_CROP_E_L_0_MASK 0x1 << MLC_S_CROP_E_L_0_SHIFT
642
#define MLC_S_E_L_5_SHIFT 12
643
#define MLC_S_E_L_5_MASK 0x1 << MLC_S_E_L_5_SHIFT
644
#define MLC_S_E_L_4_SHIFT 11
645
#define MLC_S_E_L_4_MASK 0x1 << MLC_S_E_L_4_SHIFT
646
#define MLC_S_E_L_3_SHIFT 10
647
#define MLC_S_E_L_3_MASK 0x1 << MLC_S_E_L_3_SHIFT
648
#define MLC_S_E_L_2_SHIFT 9
649
#define MLC_S_E_L_2_MASK 0x1 << MLC_S_E_L_2_SHIFT
650
#define MLC_S_E_L_1_SHIFT 8
651
#define MLC_S_E_L_1_MASK 0x1 << MLC_S_E_L_1_SHIFT
652
#define MLC_S_E_L_0_SHIFT 7
653
#define MLC_S_E_L_0_MASK 0x1 << MLC_S_E_L_0_SHIFT
654
#define MLC_S_FLU_L_5_SHIFT 6
655
#define MLC_S_FLU_L_5_MASK 0x1 << MLC_S_FLU_L_5_SHIFT
656
#define MLC_S_FLU_L_4_SHIFT 5
657
#define MLC_S_FLU_L_4_MASK 0x1 << MLC_S_FLU_L_4_SHIFT
658
#define MLC_S_FLU_L_3_SHIFT 4
659
#define MLC_S_FLU_L_3_MASK 0x1 << MLC_S_FLU_L_3_SHIFT
660
#define MLC_S_FLU_L_2_SHIFT 3
661
#define MLC_S_FLU_L_2_MASK 0x1 << MLC_S_FLU_L_2_SHIFT
662
#define MLC_S_FLU_L_1_SHIFT 2
663
#define MLC_S_FLU_L_1_MASK 0x1 << MLC_S_FLU_L_1_SHIFT
664
#define MLC_S_FLU_L_0_SHIFT 1
665
#define MLC_S_FLU_L_0_MASK 0x1 << MLC_S_FLU_L_0_SHIFT
666
#define MLC_S_FRM_END_SHIFT 0
667
#define MLC_S_FRM_END_MASK 0x1 << MLC_S_FRM_END_SHIFT
668
669
#define MLC_SF_CTRL_S_(i) (REG(0x8000) + MLC_LAYER_JMP * (i))
670
#define MLC_SF_H_SPOS_S_(i) (REG(0x8004) + MLC_LAYER_JMP * (i))
671
#define MLC_SF_V_SPOS_S_(i) (REG(0x8008) + MLC_LAYER_JMP * (i))
672
#define MLC_SF_SIZE_S_(i) (REG(0x800c) + MLC_LAYER_JMP * (i))
673
#define MLC_SF_CROP_H_POS_S_(i) (REG(0x8010) + MLC_LAYER_JMP * (i))
674
#define MLC_SF_CROP_V_POS_S_(i) (REG(0x8014) + MLC_LAYER_JMP * (i))
675
#define MLC_SF_G_ALPHA_S_(i) (REG(0x8018) + MLC_LAYER_JMP * (i))
676
#define MLC_SF_CKEY_ALPHA_S_(i) (REG(0x801c) + MLC_LAYER_JMP * (i))
677
#define MLC_SF_CKEY_R_LV_S_(i) (REG(0x8020) + MLC_LAYER_JMP * (i))
678
#define MLC_SF_CKEY_G_LV_S_(i) (REG(0x8024) + MLC_LAYER_JMP * (i))
679
#define MLC_SF_CKEY_B_LV_S_(i) (REG(0x8028) + MLC_LAYER_JMP * (i))
680
#define MLC_SF_AFLU_TIME_S_(i) (REG(0x802c) + MLC_LAYER_JMP * (i))
681
#define MLC_PATH_CTRL_S_(i) (REG(0x8200) + MLC_PATH_JMP * (i))
682
#define MLC_BG_CTRL_S REG(0x8220)
683
#define MLC_BG_COLOR_S REG(0x8224)
684
#define MLC_BG_AFLU_TIME_S REG(0x8228)
685
#define MLC_CANVAS_COLOR_S REG(0x8230)
686
#define MLC_CLK_RATIO_S REG(0x8234)
687
#define MLC_INT_MASK_S REG(0x8240)
688
#define MLC_INT_STATUS_S REG(0x8244)
689
690
/* TCON */
691
#define KICK_LAYER_JMP 0x8
692
#define KICK_LAYER_COUNT 7
693
694
#define TCON_H_PARA_1 REG(0x9000)
695
#define TCON_HACT_SHIFT 16
696
#define TCON_HACT_MASK (unsigned int)0xFFFF << TCON_HACT_SHIFT
697
#define TCON_HTOL_SHIFT 0
698
#define TCON_HTOL_MASK 0xFFFF << TCON_HTOL_SHIFT
699
700
#define TCON_H_PARA_2 REG(0x9004)
701
#define TCON_HSBP_SHIFT 16
702
#define TCON_HSBP_MASK (unsigned int)0xFFFF << TCON_HSBP_SHIFT
703
#define TCON_HSYNC_SHIFT 0
704
#define TCON_HSYNC_MASK 0xFFFF << TCON_HSYNC_SHIFT
705
706
#define TCON_V_PARA_1 REG(0x9008)
707
#define TCON_VACT_SHIFT 16
708
#define TCON_VACT_MASK (unsigned int)0xFFFF << TCON_VACT_SHIFT
709
#define TCON_VTOL_SHIFT 0
710
#define TCON_VTOL_MASK 0xFFFF << TCON_VTOL_SHIFT
711
712
#define TCON_V_PARA_2 REG(0x900c)
713
#define TCON_VSBP_SHIFT 16
714
#define TCON_VSBP_MASK (unsigned int)0xFFFF << TCON_VSBP_SHIFT
715
#define TCON_VSYNC_SHIFT 0
716
#define TCON_VSYNC_MASK 0xFFFF << TCON_VSYNC_SHIFT
717
718
#define TCON_CTRL REG(0x9010)
719
#define TCON_PIX_SCR_SHIFT 6
720
#define TCON_PIX_SCR_MASK 0x3 << TCON_PIX_SCR_SHIFT
721
#define TCON_DSP_CLK_EN_SHIFT 5
722
#define TCON_DSP_CLK_EN_MASK 0x1 << TCON_DSP_CLK_EN_SHIFT
723
#define TCON_DSP_CLK_POL_SHIFT 4
724
#define TCON_DSP_CLK_POL_MASK 0x1 << TCON_DSP_CLK_POL_SHIFT
725
#define TCON_DE_POL_SHITF 3
726
#define TCON_DE_POL_MASK 0x1 << TCON_DE_POL_SHITF
727
#define TCON_VSYNC_POL_SHIFT 2
728
#define TCON_VSYNC_POL_MASK 0x1 << TCON_VSYNC_POL_SHIFT
729
#define TCON_HSYNC_POL_SHIFT 1
730
#define TCON_HSYNC_POL_MASK 0x1 << TCON_HSYNC_POL_SHIFT
731
#define TCON_EN_SHIFT 0
732
#define TCON_EN_MASK 0x1 << TCON_EN_SHIFT
733
734
#define TCON_LAYER_KICK_COOR_(i) (REG(0x9020) + KICK_LAYER_JMP * (i))
735
#define TCON_LAYER_KICK_Y_SHIFT 16
736
#define TCON_LAYER_KICK_Y_MASK (unsigned int)0xFFFF << TCON_LAYER_KICK_Y_SHIFT
737
#define TCON_LAYER_KICK_X_SHIFT 0
738
#define TCON_LAYER_KICK_X_MASK 0xFFFF << TCON_LAYER_KICK_X_SHIFT
739
740
#define TCON_LAYER_KICK_EN_(i) (REG(0x9024) + KICK_LAYER_JMP * (i))
741
#define TCON_LAYER_KICK_EN_SHIFT 0
742
#define TCON_LAYER_KICK_EN_MASK 0x1 << TCON_LAYER_KICK_EN_SHIFT
743
744
#define TCON_UNDERRUN_CNT REG(0x9100)
745
#define TCON_UNDERRUN_S_SHIFT 0
746
#define TCON_UNDERRUN_S_MASK 0xFFFFFFFF << TCON_UNDERRUN_S_SHIFT
747
748
#define TCON_CSI_FRAM_LOCK_CTRL REG(0x9500)
749
#define TCON_DE_DLY_SHIFT 16
750
#define TCON_DE_DLY_MASK (unsigned int)0xFFFF << TCON_DE_DLY_SHIFT
751
#define AUTO_ADJ_EN_SHIFT 8
752
#define AUTO_ADJ_EN_MASK 0x1 << AUTO_ADJ_EN_SHIFT
753
#define FRM_RATIO_SHIFT 4
754
#define FRM_RATIO_MASK 0x3 << FRM_RATIO_SHIFT
755
#define VS_MASK_SHIFT 2
756
#define VS_MASK_MASK 0x3 << VS_MASK_SHIFT
757
#define VS_POL_SHIFT 1
758
#define VS_POL_MASK 0x1 << VS_POL_SHIFT
759
#define HS_POL_SHIFT 0
760
#define HS_POL_MASK 0x1 << HS_POL_SHIFT
761
762
#define TCON_CSI_TIMING_DETECT REG(0x9504)
763
#define TCON_CSI_HTOL REG(0x9510)
764
#define TCON_CSI_VTOL REG(0x9514)
765
#define TCON_CSI_VSBP REG(0x9518)
766
#define TCON_CSI_VSYNC REG(0x951C)
767
#define TCON_VSYNC_COUNT REG(0x9520)
768
/* TCON SDW */
769
#define TCON_SDW_CONTROL REG(0x9600)
770
#define TCON_SDW_CTRL_TRIG_SHIFT 0
771
#define TCON_SDW_CTRL_TRIG_MASK 0x1 << TCON_SDW_CTRL_TRIG_SHIFT
772
773
/* DC_CSC */
774
#define DC_DC_CSC_CTRL REG(0xa000)
775
#define DC_CSC_ALPHA_SHIFT 2
776
#define DC_CSC_ALPHA_MASK 0x1 << DC_CSC_ALPHA_SHIFT
777
#define DC_CSC_SBUP_CONV_SHIFT 1
778
#define DC_CSC_SBUP_CONV_MASK 0x1 << DC_CSC_SBUP_CONV_SHIFT
779
#define DC_CSC_BYPASS_SHIFT 0
780
#define DC_CSC_BYPASS_MASK 0x1 << DC_CSC_BYPASS_SHIFT
781
782
#define DC_DC_CSC_COEF1 REG(0xa004)
783
#define DC_CSC_COEF1_A01_SHIFT 16
784
#define DC_CSC_COEF1_A01_MASK 0x3FFF << DC_CSC_COEF1_A01_SHIFT
785
#define DC_CSC_COEF1_A00_SHIFT 0
786
#define DC_CSC_COEF1_A00_MASK 0x3FFF << DC_CSC_COEF1_A00_SHIFT
787
788
#define DC_DC_CSC_COEF2 REG(0xa008)
789
#define DC_CSC_COEF2_A10_SHIFT 16
790
#define DC_CSC_COEF2_A10_MASK 0x3FFF << DC_CSC_COEF2_A10_SHIFT
791
#define DC_CSC_COEF2_A02_SHIFT 0
792
#define DC_CSC_COEF2_A02_MASK 0x3FFF << DC_CSC_COEF2_A02_SHIFT
793
794
#define DC_DC_CSC_COEF3 REG(0xa00c)
795
#define DC_CSC_COEF3_A12_SHIFT 16
796
#define DC_CSC_COEF3_A12_MASK 0x3FFF << DC_CSC_COEF3_A12_SHIFT
797
#define DC_CSC_COEF3_A11_SHIFT 0
798
#define DC_CSC_COEF3_A11_MASK 0x3FFF << DC_CSC_COEF3_A11_SHIFT
799
800
#define DC_DC_CSC_COEF4 REG(0xa010)
801
#define DC_CSC_COEF4_A21_SHIFT 16
802
#define DC_CSC_COEF4_A21_MASK 0x3FFF << DC_CSC_COEF4_A21_SHIFT
803
#define DC_CSC_COEF4_A20_SHIFT 0
804
#define DC_CSC_COEF4_A20_MASK 0x3FFF << DC_CSC_COEF4_A20_SHIFT
805
806
#define DC_DC_CSC_COEF5 REG(0xa014)
807
#define DC_CSC_COEF5_B0_SHIFT 16
808
#define DC_CSC_COEF5_B0_MASK 0x3FFF << DC_CSC_COEF5_B0_SHIFT
809
#define DC_CSC_COEF5_A22_SHIFT 0
810
#define DC_CSC_COEF5_A22_MASK 0x3FFF << DC_CSC_COEF5_A22_SHIFT
811
812
#define DC_DC_CSC_COEF6 REG(0xa018)
813
#define DC_CSC_COEF6_B2_SHIFT 16
814
#define DC_CSC_COEF6_B2_MASK 0x3FFF << DC_CSC_COEF6_B2_SHIFT
815
#define DC_CSC_COEF6_B1_SHIFT 0
816
#define DC_CSC_COEF6_B1_MASK 0x3FFF << DC_CSC_COEF6_B1_SHIFT
817
818
#define DC_DC_CSC_COEF7 REG(0xa01c)
819
#define DC_CSC_COEF7_C1_SHIFT 16
820
#define DC_CSC_COEF7_C1_MASK 0x3FF << DC_CSC_COEF7_C1_SHIFT
821
#define DC_CSC_COEF7_C0_SHIFT 0
822
#define DC_CSC_COEF7_C0_MASK 0x3FF << DC_CSC_COEF7_C0_SHIFT
823
824
#define DC_DC_CSC_COEF8 REG(0xa020)
825
#define DC_CSC_COEF8_C2_SHIFT 0
826
#define DC_CSC_COEF8_C2_MASK 0x3FF << DC_CSC_COEF8_C2_SHIFT
827
828
#define GAMMA_CTRL REG(0xc000)
829
#define GAMMA_APB_RD_TO_SHIFT 8
830
#define GAMMA_APB_RD_TO_MASK 0xFF << GAMMA_APB_RD_TO_SHIFT
831
#define GMMA_BYPASS_SHIFT 0
832
#define GMMA_BYPASS_MASK 0x1 << GMMA_BYPASS_SHIFT
833
834
#define DITHER_CTRL REG(0xc004)
835
#define DITHER_V_DEP_SHIFT 16
836
#define DITHER_V_DEP_MASK 0xF << DITHER_V_DEP_SHIFT
837
#define DITHER_U_DEP_SHIFT 12
838
#define DITHER_U_DEP_MASK 0xF << DITHER_U_DEP_SHIFT
839
#define DITHER_Y_DEP_SHIFT 8
840
#define DITHER_Y_DEP_MASK 0xF << DITHER_Y_DEP_SHIFT
841
#define DITHER_MODE_12_SHIFT 6
842
#define DITHER_MODE_12_MASK 0x1 << DITHER_MODE_12_SHIFT
843
#define DITHER_SPA_LSB_EXP_MODE_SHIFT 4
844
#define DITHER_SPA_LSB_EXP_MODE_MASK 0x3 << DITHER_SPA_LSB_EXP_MODE_SHIFT
845
#define DITHER_SPA_1ST_SHIFT 3
846
#define DITHER_SPA_1ST_MASK 0x3 << DITHER_SPA_1ST_SHIFT
847
#define DITHER_SPA_EN_SHIFT 2
848
#define DITHER_SPA_EN_MASK 0x1 << DITHER_SPA_EN_SHIFT
849
#define DITHER_TEM_EN_SHIFT 1
850
#define DITHER_TEM_EN_MASK 0x1 << DITHER_TEM_EN_SHIFT
851
#define DITHER_BYPASS_SHIFT 0
852
#define DITHER_BYPASS_MASK 0x1 << DITHER_BYPASS_SHIFT
853
854
/* CRC32 */
855
#define CRC_BLK_JMP 0x4
856
#define CRC_BLK_COUNT 8
857
858
#define CRC32_CTRL REG(0xe000)
859
#define CRC32_VSYNC_POL_SHIFT 9
860
#define CRC32_VSYNC_POL_MASK 0x1 << CRC32_VSYNC_POL_SHIFT
861
#define CRC32_HSYNC_POL_SHIFT 8
862
#define CRC32_HSYNC_POL_MASK 0x1 << CRC32_HSYNC_POL_SHIFT
863
#define CRC32_DATA_EN_POL_SHIFT 7
864
#define CRC32_DATA_EN_POL_MASK 0x1 << CRC32_DATA_EN_POL_SHIFT
865
#define CRC32_GLOBAL_ENABLE_SHIFT 0
866
#define CRC32_GLOBAL_ENABLE_MASK 0x1 << CRC32_GLOBAL_ENABLE_SHIFT
867
868
#define CRC32_INT_ST REG(0xe004)
869
#define CRC32_INT_MASK REG(0xe008)
870
#define CRC_ERROR_7_SHIFT 15
871
#define CRC_ERROR_7_MASK 0x1 << CRC_ERROR_7_SHIFT
872
#define CRC_ERROR_6_SHIFT 14
873
#define CRC_ERROR_6_MASK 0x1 << CRC_ERROR_6_SHIFT
874
#define CRC_ERROR_5_SHIFT 13
875
#define CRC_ERROR_5_MASK 0x1 << CRC_ERROR_5_SHIFT
876
#define CRC_ERROR_4_SHIFT 12
877
#define CRC_ERROR_4_MASK 0x1 << CRC_ERROR_4_SHIFT
878
#define CRC_ERROR_3_SHIFT 11
879
#define CRC_ERROR_3_MASK 0x1 << CRC_ERROR_3_SHIFT
880
#define CRC_ERROR_2_SHIFT 10
881
#define CRC_ERROR_2_MASK 0x1 << CRC_ERROR_2_SHIFT
882
#define CRC_ERROR_1_SHIFT 9
883
#define CRC_ERROR_1_MASK 0x1 << CRC_ERROR_1_SHIFT
884
#define CRC_ERROR_0_SHIFT 8
885
#define CRC_ERROR_0_MASK 0x1 << CRC_ERROR_0_SHIFT
886
#define CRC_DONE_7_SHIFT 7
887
#define CRC_DONE_7_MASK 0x1 << CRC_DONE_7_SHIFT
888
#define CRC_DONE_6_SHIFT 6
889
#define CRC_DONE_6_MASK 0x1 << CRC_DONE_6_SHIFT
890
#define CRC_DONE_5_SHIFT 5
891
#define CRC_DONE_5_MASK 0x1 << CRC_DONE_5_SHIFT
892
#define CRC_DONE_4_SHIFT 4
893
#define CRC_DONE_4_MASK 0x1 << CRC_DONE_4_SHIFT
894
#define CRC_DONE_3_SHIFT 3
895
#define CRC_DONE_3_MASK 0x1 << CRC_DONE_3_SHIFT
896
#define CRC_DONE_2_SHIFT 2
897
#define CRC_DONE_2_MASK 0x1 << CRC_DONE_2_SHIFT
898
#define CRC_DONE_1_SHIFT 1
899
#define CRC_DONE_1_MASK 0x1 << CRC_DONE_1_SHIFT
900
#define CRC_DONE_0_SHIFT 0
901
#define CRC_DONE_0_MASK 0x1 << CRC_DONE_0_SHIFT
902
903
#define CRC32_BLOCK_CTRL0_(i) (REG(0xe010) + CRC_BLK_JMP * (i))
904
#define CRC32_BLOCK_ENABLE_SHIFT 31
905
#define CRC32_BLOCK_ENABLE_MASK (unsigned int)0x1 << CRC32_BLOCK_ENABLE_SHIFT
906
#define CRC32_BLOCK_LOCK_SHIFT 30
907
#define CRC32_BLOCK_LOCK_MASK 0X1 << CRC32_BLOCK_LOCK_SHIFT
908
#define CRC32_POS_START_Y_SHIFT 16
909
#define CRC32_POS_START_Y_MASK 0x3FFF << CRC32_POS_START_Y_SHIFT
910
#define CRC32_POS_START_X_SHIFT 0
911
#define CRC32_POS_START_X_MASK 0x3FFF << CRC32_POS_START_X_SHIFT
912
913
#define CRC32_BLOCK_CTRL1_(i) (REG(0xe014) + CRC_BLK_JMP * (i))
914
#define CRC32_POS_END_Y_SHIFT 16
915
#define CRC32_POS_END_Y_MASK 0x3FFF << CRC32_POS_END_Y_SHIFT
916
#define CRC32_POS_END_X_SHIFT 0
917
#define CRC32_POS_END_X_MASK 0x3FFF << CRC32_POS_END_X_SHIFT
918
919
#define CRC32_BLOCK_EXPECT_DATA_(i) (REG(0xe018) + CRC_BLK_JMP * (i))
920
#define CRC32_EXPECT_DATA_SHIFT 0
921
#define CRC32_EXPECT_DATA_MASK 0xFFFFFFFF << CRC32_EXPECT_DATA_SHIFT
922
923
#define CRC32_BLOCK_RESULT_DATA_(i) (REG(0xe01c) + CRC_BLK_JMP * (i))
924
#define CRC32_RESULT_DATA_SHIFT 0
925
#define CRC32_RESULT_DATA_MASK 0xFFFFFFFF << CRC32_RESULT_DATA_SHIFT
926
927
#endif
/* DC_REG_H__ */
Generated by
1.9.4