1
2
3
4
5
6
7
8
9
10
11 #ifndef EXYNOS_REGS_SCALER_H
12 #define EXYNOS_REGS_SCALER_H
13
14
15
16
17 #define SCALER_STATUS 0x0
18 #define SCALER_CFG 0x4
19
20
21 #define SCALER_INT_EN 0x8
22 #define SCALER_INT_STATUS 0xc
23
24
25 #define SCALER_SRC_CFG 0x10
26 #define SCALER_SRC_Y_BASE 0x14
27 #define SCALER_SRC_CB_BASE 0x18
28 #define SCALER_SRC_CR_BASE 0x294
29 #define SCALER_SRC_SPAN 0x1c
30 #define SCALER_SRC_Y_POS 0x20
31 #define SCALER_SRC_WH 0x24
32 #define SCALER_SRC_C_POS 0x28
33
34
35 #define SCALER_DST_CFG 0x30
36 #define SCALER_DST_Y_BASE 0x34
37 #define SCALER_DST_CB_BASE 0x38
38 #define SCALER_DST_CR_BASE 0x298
39 #define SCALER_DST_SPAN 0x3c
40 #define SCALER_DST_WH 0x40
41 #define SCALER_DST_POS 0x44
42
43
44 #define SCALER_H_RATIO 0x50
45 #define SCALER_V_RATIO 0x54
46
47
48 #define SCALER_ROT_CFG 0x58
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79 #define _SCALER_HCOEF_DELTA(r, c) ((r) * 0x10 + (c) * 0x4)
80 #define _SCALER_VCOEF_DELTA(r, c) ((r) * 0x8 + (c) * 0x4)
81
82 #define SCALER_YHCOEF(r, c) (0x60 + _SCALER_HCOEF_DELTA((r), (c)))
83 #define SCALER_YVCOEF(r, c) (0xf0 + _SCALER_VCOEF_DELTA((r), (c)))
84 #define SCALER_CHCOEF(r, c) (0x140 + _SCALER_HCOEF_DELTA((r), (c)))
85 #define SCALER_CVCOEF(r, c) (0x1d0 + _SCALER_VCOEF_DELTA((r), (c)))
86
87
88
89 #define SCALER_CSC_COEF(x, y) (0x220 + (y) * 0xc + (x) * 0x4)
90
91
92 #define SCALER_DITH_CFG 0x250
93
94
95 #define SCALER_VER 0x260
96
97
98 #define SCALER_CYCLE_COUNT 0x278
99 #define SCALER_TIMEOUT_CTRL 0x2c0
100 #define SCALER_TIMEOUT_CNT 0x2c4
101
102
103 #define SCALER_SRC_BLEND_COLOR 0x280
104 #define SCALER_SRC_BLEND_ALPHA 0x284
105 #define SCALER_DST_BLEND_COLOR 0x288
106 #define SCALER_DST_BLEND_ALPHA 0x28c
107
108
109 #define SCALER_FILL_COLOR 0x290
110
111
112 #define SCALER_ADDR_Q_CONFIG 0x2a0
113 #define SCALER_SRC_ADDR_Q_STATUS 0x2a4
114 #define SCALER_SRC_ADDR_Q 0x2a8
115
116
117 #define SCALER_CRC_COLOR00_10 0x2b0
118 #define SCALER_CRC_COLOR20_30 0x2b4
119 #define SCALER_CRC_COLOR01_11 0x2b8
120 #define SCALER_CRC_COLOR21_31 0x2bc
121
122
123 #define SCALER_SHADOW_OFFSET 0x1000
124
125
126
127 #define SCALER_MASK(hi_b, lo_b) ((1 << ((hi_b) - (lo_b) + 1)) - 1)
128 #define SCALER_GET(reg, hi_b, lo_b) \
129 (((reg) >> (lo_b)) & SCALER_MASK(hi_b, lo_b))
130 #define SCALER_SET(val, hi_b, lo_b) \
131 (((val) & SCALER_MASK(hi_b, lo_b)) << lo_b)
132
133
134 #define SCALER_STATUS_SCALER_RUNNING (1 << 1)
135 #define SCALER_STATUS_SCALER_READY_CLK_DOWN (1 << 0)
136
137
138 #define SCALER_CFG_FILL_EN (1 << 24)
139 #define SCALER_CFG_BLEND_COLOR_DIVIDE_ALPHA_EN (1 << 17)
140 #define SCALER_CFG_BLEND_EN (1 << 16)
141 #define SCALER_CFG_CSC_Y_OFFSET_SRC_EN (1 << 10)
142 #define SCALER_CFG_CSC_Y_OFFSET_DST_EN (1 << 9)
143 #define SCALER_CFG_16_BURST_MODE (1 << 8)
144 #define SCALER_CFG_SOFT_RESET (1 << 1)
145 #define SCALER_CFG_START_CMD (1 << 0)
146
147
148 #define SCALER_INT_EN_TIMEOUT (1 << 31)
149 #define SCALER_INT_EN_ILLEGAL_BLEND (1 << 24)
150 #define SCALER_INT_EN_ILLEGAL_RATIO (1 << 23)
151 #define SCALER_INT_EN_ILLEGAL_DST_HEIGHT (1 << 22)
152 #define SCALER_INT_EN_ILLEGAL_DST_WIDTH (1 << 21)
153 #define SCALER_INT_EN_ILLEGAL_DST_V_POS (1 << 20)
154 #define SCALER_INT_EN_ILLEGAL_DST_H_POS (1 << 19)
155 #define SCALER_INT_EN_ILLEGAL_DST_C_SPAN (1 << 18)
156 #define SCALER_INT_EN_ILLEGAL_DST_Y_SPAN (1 << 17)
157 #define SCALER_INT_EN_ILLEGAL_DST_CR_BASE (1 << 16)
158 #define SCALER_INT_EN_ILLEGAL_DST_CB_BASE (1 << 15)
159 #define SCALER_INT_EN_ILLEGAL_DST_Y_BASE (1 << 14)
160 #define SCALER_INT_EN_ILLEGAL_DST_COLOR (1 << 13)
161 #define SCALER_INT_EN_ILLEGAL_SRC_HEIGHT (1 << 12)
162 #define SCALER_INT_EN_ILLEGAL_SRC_WIDTH (1 << 11)
163 #define SCALER_INT_EN_ILLEGAL_SRC_CV_POS (1 << 10)
164 #define SCALER_INT_EN_ILLEGAL_SRC_CH_POS (1 << 9)
165 #define SCALER_INT_EN_ILLEGAL_SRC_YV_POS (1 << 8)
166 #define SCALER_INT_EN_ILLEGAL_SRC_YH_POS (1 << 7)
167 #define SCALER_INT_EN_ILLEGAL_DST_SPAN (1 << 6)
168 #define SCALER_INT_EN_ILLEGAL_SRC_Y_SPAN (1 << 5)
169 #define SCALER_INT_EN_ILLEGAL_SRC_CR_BASE (1 << 4)
170 #define SCALER_INT_EN_ILLEGAL_SRC_CB_BASE (1 << 3)
171 #define SCALER_INT_EN_ILLEGAL_SRC_Y_BASE (1 << 2)
172 #define SCALER_INT_EN_ILLEGAL_SRC_COLOR (1 << 1)
173 #define SCALER_INT_EN_FRAME_END (1 << 0)
174
175
176 #define SCALER_INT_STATUS_TIMEOUT (1 << 31)
177 #define SCALER_INT_STATUS_ILLEGAL_BLEND (1 << 24)
178 #define SCALER_INT_STATUS_ILLEGAL_RATIO (1 << 23)
179 #define SCALER_INT_STATUS_ILLEGAL_DST_HEIGHT (1 << 22)
180 #define SCALER_INT_STATUS_ILLEGAL_DST_WIDTH (1 << 21)
181 #define SCALER_INT_STATUS_ILLEGAL_DST_V_POS (1 << 20)
182 #define SCALER_INT_STATUS_ILLEGAL_DST_H_POS (1 << 19)
183 #define SCALER_INT_STATUS_ILLEGAL_DST_C_SPAN (1 << 18)
184 #define SCALER_INT_STATUS_ILLEGAL_DST_Y_SPAN (1 << 17)
185 #define SCALER_INT_STATUS_ILLEGAL_DST_CR_BASE (1 << 16)
186 #define SCALER_INT_STATUS_ILLEGAL_DST_CB_BASE (1 << 15)
187 #define SCALER_INT_STATUS_ILLEGAL_DST_Y_BASE (1 << 14)
188 #define SCALER_INT_STATUS_ILLEGAL_DST_COLOR (1 << 13)
189 #define SCALER_INT_STATUS_ILLEGAL_SRC_HEIGHT (1 << 12)
190 #define SCALER_INT_STATUS_ILLEGAL_SRC_WIDTH (1 << 11)
191 #define SCALER_INT_STATUS_ILLEGAL_SRC_CV_POS (1 << 10)
192 #define SCALER_INT_STATUS_ILLEGAL_SRC_CH_POS (1 << 9)
193 #define SCALER_INT_STATUS_ILLEGAL_SRC_YV_POS (1 << 8)
194 #define SCALER_INT_STATUS_ILLEGAL_SRC_YH_POS (1 << 7)
195 #define SCALER_INT_STATUS_ILLEGAL_DST_SPAN (1 << 6)
196 #define SCALER_INT_STATUS_ILLEGAL_SRC_Y_SPAN (1 << 5)
197 #define SCALER_INT_STATUS_ILLEGAL_SRC_CR_BASE (1 << 4)
198 #define SCALER_INT_STATUS_ILLEGAL_SRC_CB_BASE (1 << 3)
199 #define SCALER_INT_STATUS_ILLEGAL_SRC_Y_BASE (1 << 2)
200 #define SCALER_INT_STATUS_ILLEGAL_SRC_COLOR (1 << 1)
201 #define SCALER_INT_STATUS_FRAME_END (1 << 0)
202
203
204 #define SCALER_SRC_CFG_TILE_EN (1 << 10)
205 #define SCALER_SRC_CFG_GET_BYTE_SWAP(r) SCALER_GET(r, 6, 5)
206 #define SCALER_SRC_CFG_SET_BYTE_SWAP(v) SCALER_SET(v, 6, 5)
207 #define SCALER_SRC_CFG_GET_COLOR_FORMAT(r) SCALER_GET(r, 4, 0)
208 #define SCALER_SRC_CFG_SET_COLOR_FORMAT(v) SCALER_SET(v, 4, 0)
209 #define SCALER_YUV420_2P_UV 0
210 #define SCALER_YUV422_2P_UV 2
211 #define SCALER_YUV444_2P_UV 3
212 #define SCALER_RGB_565 4
213 #define SCALER_ARGB1555 5
214 #define SCALER_ARGB8888 6
215 #define SCALER_ARGB8888_PRE 7
216 #define SCALER_YUV422_1P_YVYU 9
217 #define SCALER_YUV422_1P_YUYV 10
218 #define SCALER_YUV422_1P_UYVY 11
219 #define SCALER_ARGB4444 12
220 #define SCALER_L8A8 13
221 #define SCALER_RGBA8888 14
222 #define SCALER_L8 15
223 #define SCALER_YUV420_2P_VU 16
224 #define SCALER_YUV422_2P_VU 18
225 #define SCALER_YUV444_2P_VU 19
226 #define SCALER_YUV420_3P 20
227 #define SCALER_YUV422_3P 22
228 #define SCALER_YUV444_3P 23
229
230
231 #define SCALER_SRC_SPAN_GET_C_SPAN(r) SCALER_GET(r, 29, 16)
232 #define SCALER_SRC_SPAN_SET_C_SPAN(v) SCALER_SET(v, 29, 16)
233 #define SCALER_SRC_SPAN_GET_Y_SPAN(r) SCALER_GET(r, 13, 0)
234 #define SCALER_SRC_SPAN_SET_Y_SPAN(v) SCALER_SET(v, 13, 0)
235
236
237 #define SCALER_SRC_Y_POS_GET_YH_POS(r) SCALER_GET(r, 31, 16)
238 #define SCALER_SRC_Y_POS_SET_YH_POS(v) SCALER_SET(v, 31, 16)
239 #define SCALER_SRC_Y_POS_GET_YV_POS(r) SCALER_GET(r, 15, 0)
240 #define SCALER_SRC_Y_POS_SET_YV_POS(v) SCALER_SET(v, 15, 0)
241
242
243 #define SCALER_SRC_WH_GET_WIDTH(r) SCALER_GET(r, 29, 16)
244 #define SCALER_SRC_WH_SET_WIDTH(v) SCALER_SET(v, 29, 16)
245 #define SCALER_SRC_WH_GET_HEIGHT(r) SCALER_GET(r, 13, 0)
246 #define SCALER_SRC_WH_SET_HEIGHT(v) SCALER_SET(v, 13, 0)
247
248
249 #define SCALER_SRC_C_POS_GET_CH_POS(r) SCALER_GET(r, 31, 16)
250 #define SCALER_SRC_C_POS_SET_CH_POS(v) SCALER_SET(v, 31, 16)
251 #define SCALER_SRC_C_POS_GET_CV_POS(r) SCALER_GET(r, 15, 0)
252 #define SCALER_SRC_C_POS_SET_CV_POS(v) SCALER_SET(v, 15, 0)
253
254
255 #define SCALER_DST_CFG_GET_BYTE_SWAP(r) SCALER_GET(r, 6, 5)
256 #define SCALER_DST_CFG_SET_BYTE_SWAP(v) SCALER_SET(v, 6, 5)
257 #define SCALER_DST_CFG_GET_COLOR_FORMAT(r) SCALER_GET(r, 4, 0)
258 #define SCALER_DST_CFG_SET_COLOR_FORMAT(v) SCALER_SET(v, 4, 0)
259
260
261 #define SCALER_DST_SPAN_GET_C_SPAN(r) SCALER_GET(r, 29, 16)
262 #define SCALER_DST_SPAN_SET_C_SPAN(v) SCALER_SET(v, 29, 16)
263 #define SCALER_DST_SPAN_GET_Y_SPAN(r) SCALER_GET(r, 13, 0)
264 #define SCALER_DST_SPAN_SET_Y_SPAN(v) SCALER_SET(v, 13, 0)
265
266
267 #define SCALER_DST_WH_GET_WIDTH(r) SCALER_GET(r, 29, 16)
268 #define SCALER_DST_WH_SET_WIDTH(v) SCALER_SET(v, 29, 16)
269 #define SCALER_DST_WH_GET_HEIGHT(r) SCALER_GET(r, 13, 0)
270 #define SCALER_DST_WH_SET_HEIGHT(v) SCALER_SET(v, 13, 0)
271
272
273 #define SCALER_DST_POS_GET_H_POS(r) SCALER_GET(r, 29, 16)
274 #define SCALER_DST_POS_SET_H_POS(v) SCALER_SET(v, 29, 16)
275 #define SCALER_DST_POS_GET_V_POS(r) SCALER_GET(r, 13, 0)
276 #define SCALER_DST_POS_SET_V_POS(v) SCALER_SET(v, 13, 0)
277
278
279 #define SCALER_H_RATIO_GET(r) SCALER_GET(r, 18, 0)
280 #define SCALER_H_RATIO_SET(v) SCALER_SET(v, 18, 0)
281
282
283 #define SCALER_V_RATIO_GET(r) SCALER_GET(r, 18, 0)
284 #define SCALER_V_RATIO_SET(v) SCALER_SET(v, 18, 0)
285
286
287 #define SCALER_ROT_CFG_FLIP_X_EN (1 << 3)
288 #define SCALER_ROT_CFG_FLIP_Y_EN (1 << 2)
289 #define SCALER_ROT_CFG_GET_ROTMODE(r) SCALER_GET(r, 1, 0)
290 #define SCALER_ROT_CFG_SET_ROTMODE(v) SCALER_SET(v, 1, 0)
291 #define SCALER_ROT_MODE_90 1
292 #define SCALER_ROT_MODE_180 2
293 #define SCALER_ROT_MODE_270 3
294
295
296 #define SCALER_COEF_SHIFT(i) (16 * (1 - (i) % 2))
297 #define SCALER_COEF_GET(r, i) \
298 (((r) >> SCALER_COEF_SHIFT(i)) & 0x1ff)
299 #define SCALER_COEF_SET(v, i) \
300 (((v) & 0x1ff) << SCALER_COEF_SHIFT(i))
301
302
303 #define SCALER_CSC_COEF_GET(r) SCALER_GET(r, 11, 0)
304 #define SCALER_CSC_COEF_SET(v) SCALER_SET(v, 11, 0)
305
306
307 #define SCALER_DITH_CFG_GET_R_TYPE(r) SCALER_GET(r, 8, 6)
308 #define SCALER_DITH_CFG_SET_R_TYPE(v) SCALER_SET(v, 8, 6)
309 #define SCALER_DITH_CFG_GET_G_TYPE(r) SCALER_GET(r, 5, 3)
310 #define SCALER_DITH_CFG_SET_G_TYPE(v) SCALER_SET(v, 5, 3)
311 #define SCALER_DITH_CFG_GET_B_TYPE(r) SCALER_GET(r, 2, 0)
312 #define SCALER_DITH_CFG_SET_B_TYPE(v) SCALER_SET(v, 2, 0)
313
314
315 #define SCALER_TIMEOUT_CTRL_GET_TIMER_VALUE(r) SCALER_GET(r, 31, 16)
316 #define SCALER_TIMEOUT_CTRL_SET_TIMER_VALUE(v) SCALER_SET(v, 31, 16)
317 #define SCALER_TIMEOUT_CTRL_GET_TIMER_DIV(r) SCALER_GET(r, 7, 4)
318 #define SCALER_TIMEOUT_CTRL_SET_TIMER_DIV(v) SCALER_SET(v, 7, 4)
319 #define SCALER_TIMEOUT_CTRL_TIMER_ENABLE (1 << 0)
320
321
322 #define SCALER_TIMEOUT_CTRL_GET_TIMER_COUNT(r) SCALER_GET(r, 31, 16)
323
324
325 #define SCALER_SRC_BLEND_COLOR_SEL_INV (1 << 31)
326 #define SCALER_SRC_BLEND_COLOR_GET_SEL(r) SCALER_GET(r, 30, 29)
327 #define SCALER_SRC_BLEND_COLOR_SET_SEL(v) SCALER_SET(v, 30, 29)
328 #define SCALER_SRC_BLEND_COLOR_OP_SEL_INV (1 << 28)
329 #define SCALER_SRC_BLEND_COLOR_GET_OP_SEL(r) SCALER_GET(r, 27, 24)
330 #define SCALER_SRC_BLEND_COLOR_SET_OP_SEL(v) SCALER_SET(v, 27, 24)
331 #define SCALER_SRC_BLEND_COLOR_GET_COLOR0(r) SCALER_GET(r, 23, 16)
332 #define SCALER_SRC_BLEND_COLOR_SET_COLOR0(v) SCALER_SET(v, 23, 16)
333 #define SCALER_SRC_BLEND_COLOR_GET_COLOR1(r) SCALER_GET(r, 15, 8)
334 #define SCALER_SRC_BLEND_COLOR_SET_COLOR1(v) SCALER_SET(v, 15, 8)
335 #define SCALER_SRC_BLEND_COLOR_GET_COLOR2(r) SCALER_GET(r, 7, 0)
336 #define SCALER_SRC_BLEND_COLOR_SET_COLOR2(v) SCALER_SET(v, 7, 0)
337
338
339 #define SCALER_SRC_BLEND_ALPHA_SEL_INV (1 << 31)
340 #define SCALER_SRC_BLEND_ALPHA_GET_SEL(r) SCALER_GET(r, 30, 29)
341 #define SCALER_SRC_BLEND_ALPHA_SET_SEL(v) SCALER_SET(v, 30, 29)
342 #define SCALER_SRC_BLEND_ALPHA_OP_SEL_INV (1 << 28)
343 #define SCALER_SRC_BLEND_ALPHA_GET_OP_SEL(r) SCALER_GET(r, 27, 24)
344 #define SCALER_SRC_BLEND_ALPHA_SET_OP_SEL(v) SCALER_SET(v, 27, 24)
345 #define SCALER_SRC_BLEND_ALPHA_GET_ALPHA(r) SCALER_GET(r, 7, 0)
346 #define SCALER_SRC_BLEND_ALPHA_SET_ALPHA(v) SCALER_SET(v, 7, 0)
347
348
349 #define SCALER_DST_BLEND_COLOR_SEL_INV (1 << 31)
350 #define SCALER_DST_BLEND_COLOR_GET_SEL(r) SCALER_GET(r, 30, 29)
351 #define SCALER_DST_BLEND_COLOR_SET_SEL(v) SCALER_SET(v, 30, 29)
352 #define SCALER_DST_BLEND_COLOR_OP_SEL_INV (1 << 28)
353 #define SCALER_DST_BLEND_COLOR_GET_OP_SEL(r) SCALER_GET(r, 27, 24)
354 #define SCALER_DST_BLEND_COLOR_SET_OP_SEL(v) SCALER_SET(v, 27, 24)
355 #define SCALER_DST_BLEND_COLOR_GET_COLOR0(r) SCALER_GET(r, 23, 16)
356 #define SCALER_DST_BLEND_COLOR_SET_COLOR0(v) SCALER_SET(v, 23, 16)
357 #define SCALER_DST_BLEND_COLOR_GET_COLOR1(r) SCALER_GET(r, 15, 8)
358 #define SCALER_DST_BLEND_COLOR_SET_COLOR1(v) SCALER_SET(v, 15, 8)
359 #define SCALER_DST_BLEND_COLOR_GET_COLOR2(r) SCALER_GET(r, 7, 0)
360 #define SCALER_DST_BLEND_COLOR_SET_COLOR2(v) SCALER_SET(v, 7, 0)
361
362
363 #define SCALER_DST_BLEND_ALPHA_SEL_INV (1 << 31)
364 #define SCALER_DST_BLEND_ALPHA_GET_SEL(r) SCALER_GET(r, 30, 29)
365 #define SCALER_DST_BLEND_ALPHA_SET_SEL(v) SCALER_SET(v, 30, 29)
366 #define SCALER_DST_BLEND_ALPHA_OP_SEL_INV (1 << 28)
367 #define SCALER_DST_BLEND_ALPHA_GET_OP_SEL(r) SCALER_GET(r, 27, 24)
368 #define SCALER_DST_BLEND_ALPHA_SET_OP_SEL(v) SCALER_SET(v, 27, 24)
369 #define SCALER_DST_BLEND_ALPHA_GET_ALPHA(r) SCALER_GET(r, 7, 0)
370 #define SCALER_DST_BLEND_ALPHA_SET_ALPHA(v) SCALER_SET(v, 7, 0)
371
372
373 #define SCALER_FILL_COLOR_GET_ALPHA(r) SCALER_GET(r, 31, 24)
374 #define SCALER_FILL_COLOR_SET_ALPHA(v) SCALER_SET(v, 31, 24)
375 #define SCALER_FILL_COLOR_GET_FILL_COLOR0(r) SCALER_GET(r, 23, 16)
376 #define SCALER_FILL_COLOR_SET_FILL_COLOR0(v) SCALER_SET(v, 23, 16)
377 #define SCALER_FILL_COLOR_GET_FILL_COLOR1(r) SCALER_GET(r, 15, 8)
378 #define SCALER_FILL_COLOR_SET_FILL_COLOR1(v) SCALER_SET(v, 15, 8)
379 #define SCALER_FILL_COLOR_GET_FILL_COLOR2(r) SCALER_GET(r, 7, 0)
380 #define SCALER_FILL_COLOR_SET_FILL_COLOR2(v) SCALER_SET(v, 7, 0)
381
382
383 #define SCALER_ADDR_Q_CONFIG_RST (1 << 0)
384
385
386 #define SCALER_SRC_ADDR_Q_STATUS_Y_FULL (1 << 23)
387 #define SCALER_SRC_ADDR_Q_STATUS_Y_EMPTY (1 << 22)
388 #define SCALER_SRC_ADDR_Q_STATUS_GET_Y_WR_IDX(r) SCALER_GET(r, 21, 16)
389 #define SCALER_SRC_ADDR_Q_STATUS_CB_FULL (1 << 15)
390 #define SCALER_SRC_ADDR_Q_STATUS_CB_EMPTY (1 << 14)
391 #define SCALER_SRC_ADDR_Q_STATUS_GET_CB_WR_IDX(r) SCALER_GET(r, 13, 8)
392 #define SCALER_SRC_ADDR_Q_STATUS_CR_FULL (1 << 7)
393 #define SCALER_SRC_ADDR_Q_STATUS_CR_EMPTY (1 << 6)
394 #define SCALER_SRC_ADDR_Q_STATUS_GET_CR_WR_IDX(r) SCALER_GET(r, 5, 0)
395
396
397 #define SCALER_DST_ADDR_Q_STATUS_Y_FULL (1 << 23)
398 #define SCALER_DST_ADDR_Q_STATUS_Y_EMPTY (1 << 22)
399 #define SCALER_DST_ADDR_Q_STATUS_GET_Y_WR_IDX(r) SCALER_GET(r, 21, 16)
400 #define SCALER_DST_ADDR_Q_STATUS_CB_FULL (1 << 15)
401 #define SCALER_DST_ADDR_Q_STATUS_CB_EMPTY (1 << 14)
402 #define SCALER_DST_ADDR_Q_STATUS_GET_CB_WR_IDX(r) SCALER_GET(r, 13, 8)
403 #define SCALER_DST_ADDR_Q_STATUS_CR_FULL (1 << 7)
404 #define SCALER_DST_ADDR_Q_STATUS_CR_EMPTY (1 << 6)
405 #define SCALER_DST_ADDR_Q_STATUS_GET_CR_WR_IDX(r) SCALER_GET(r, 5, 0)
406
407
408 #define SCALER_CRC_COLOR00_10_GET_00(r) SCALER_GET(r, 31, 16)
409 #define SCALER_CRC_COLOR00_10_GET_10(r) SCALER_GET(r, 15, 0)
410
411
412 #define SCALER_CRC_COLOR20_30_GET_20(r) SCALER_GET(r, 31, 16)
413 #define SCALER_CRC_COLOR20_30_GET_30(r) SCALER_GET(r, 15, 0)
414
415
416 #define SCALER_CRC_COLOR01_11_GET_01(r) SCALER_GET(r, 31, 16)
417 #define SCALER_CRC_COLOR01_11_GET_11(r) SCALER_GET(r, 15, 0)
418
419
420 #define SCALER_CRC_COLOR21_31_GET_21(r) SCALER_GET(r, 31, 16)
421 #define SCALER_CRC_COLOR21_31_GET_31(r) SCALER_GET(r, 15, 0)
422
423 #endif