xref: /rockchip-linux_mpp/mpp/hal/vpu/vp8d/hal_vp8d_vdpu2_reg.h (revision 437bfbeb9567cca9cd9080e3f6954aa9d6a94f18)
1*437bfbebSnyanmisaka /*
2*437bfbebSnyanmisaka  * Copyright 2015 Rockchip Electronics Co. LTD
3*437bfbebSnyanmisaka  *
4*437bfbebSnyanmisaka  * Licensed under the Apache License, Version 2.0 (the "License");
5*437bfbebSnyanmisaka  * you may not use this file except in compliance with the License.
6*437bfbebSnyanmisaka  * You may obtain a copy of the License at
7*437bfbebSnyanmisaka  *
8*437bfbebSnyanmisaka  *      http://www.apache.org/licenses/LICENSE-2.0
9*437bfbebSnyanmisaka  *
10*437bfbebSnyanmisaka  * Unless required by applicable law or agreed to in writing, software
11*437bfbebSnyanmisaka  * distributed under the License is distributed on an "AS IS" BASIS,
12*437bfbebSnyanmisaka  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*437bfbebSnyanmisaka  * See the License for the specific language governing permissions and
14*437bfbebSnyanmisaka  * limitations under the License.
15*437bfbebSnyanmisaka  */
16*437bfbebSnyanmisaka 
17*437bfbebSnyanmisaka #ifndef __HAL_VP8D_VDPU2_REG_H__
18*437bfbebSnyanmisaka #define __HAL_VP8D_VDPU2_REG_H__
19*437bfbebSnyanmisaka #include "rk_type.h"
20*437bfbebSnyanmisaka 
21*437bfbebSnyanmisaka #define VP8HWD_VP7             1
22*437bfbebSnyanmisaka #define VP8HWD_VP8             2
23*437bfbebSnyanmisaka #define VP8HWD_WEBP            3
24*437bfbebSnyanmisaka 
25*437bfbebSnyanmisaka #define DEC_MODE_VP7           9
26*437bfbebSnyanmisaka #define DEC_MODE_VP8           10
27*437bfbebSnyanmisaka 
28*437bfbebSnyanmisaka #define VP8D_PROB_TABLE_SIZE  (1<<16) /* TODO */
29*437bfbebSnyanmisaka #define VP8D_MAX_SEGMAP_SIZE  (2048 + 1024)  //1920*1080 /* TODO */
30*437bfbebSnyanmisaka 
31*437bfbebSnyanmisaka #define VP8D_REG_NUM    159
32*437bfbebSnyanmisaka 
33*437bfbebSnyanmisaka typedef struct  {
34*437bfbebSnyanmisaka     RK_U32 ppReg[50];
35*437bfbebSnyanmisaka     struct {
36*437bfbebSnyanmisaka         RK_U32  sw_dec_out_tiled_e  : 1;
37*437bfbebSnyanmisaka         RK_U32  sw_dec_latency      : 6;
38*437bfbebSnyanmisaka         RK_U32  sw_pic_fixed_quant  : 1;
39*437bfbebSnyanmisaka         RK_U32  sw_filtering_dis    : 1;
40*437bfbebSnyanmisaka         RK_U32  sw_skip_mode        : 1;
41*437bfbebSnyanmisaka         RK_U32  sw_dec_scmd_dis     : 1;
42*437bfbebSnyanmisaka         RK_U32  sw_dec_adv_pre_dis  : 1;
43*437bfbebSnyanmisaka         RK_U32  sw_priority_mode    : 1;
44*437bfbebSnyanmisaka         RK_U32  sw_refbu2_thr       : 12;
45*437bfbebSnyanmisaka         RK_U32  sw_refbu2_picid     : 5;
46*437bfbebSnyanmisaka         RK_U32  reserve1            : 2;
47*437bfbebSnyanmisaka     } reg50_dec_ctrl;
48*437bfbebSnyanmisaka 
49*437bfbebSnyanmisaka     struct {
50*437bfbebSnyanmisaka         RK_U32 sw_stream_len       : 24;
51*437bfbebSnyanmisaka         RK_U32  reserve1            : 1;
52*437bfbebSnyanmisaka         RK_U32  sw_init_qp          : 6;
53*437bfbebSnyanmisaka         RK_U32  reserve2           : 1;
54*437bfbebSnyanmisaka     } reg51_stream_info;
55*437bfbebSnyanmisaka 
56*437bfbebSnyanmisaka     struct {
57*437bfbebSnyanmisaka         RK_U32  sw_startmb_y        : 8;
58*437bfbebSnyanmisaka         RK_U32  sw_startmb_x        : 9;
59*437bfbebSnyanmisaka         RK_U32  sw_apf_threshold    : 14;
60*437bfbebSnyanmisaka         RK_U32  sw_reserve          : 1;
61*437bfbebSnyanmisaka     } reg52_error_concealment;
62*437bfbebSnyanmisaka 
63*437bfbebSnyanmisaka     RK_U32       reg53_dec_mode;
64*437bfbebSnyanmisaka 
65*437bfbebSnyanmisaka     struct {
66*437bfbebSnyanmisaka         RK_U32  sw_dec_in_endian    : 1;
67*437bfbebSnyanmisaka         RK_U32  sw_dec_out_endian   : 1;
68*437bfbebSnyanmisaka         RK_U32  sw_dec_inswap32_e   : 1;
69*437bfbebSnyanmisaka         RK_U32  sw_dec_outswap32_e  : 1;
70*437bfbebSnyanmisaka         RK_U32  sw_dec_strswap32_e  : 1;
71*437bfbebSnyanmisaka         RK_U32  sw_dec_strendian_e  : 1;
72*437bfbebSnyanmisaka         RK_U32  reserve3            : 26;
73*437bfbebSnyanmisaka     } reg54_endian;
74*437bfbebSnyanmisaka 
75*437bfbebSnyanmisaka     struct {
76*437bfbebSnyanmisaka         RK_U32  sw_dec_irq      : 1;
77*437bfbebSnyanmisaka         RK_U32  sw_dec_irq_dis  : 1;
78*437bfbebSnyanmisaka         RK_U32  reserve0        : 2;
79*437bfbebSnyanmisaka         RK_U32  sw_dec_rdy_int  : 1;
80*437bfbebSnyanmisaka         RK_U32  sw_dec_bus_int  : 1;
81*437bfbebSnyanmisaka         RK_U32  sw_dec_buffer_int   : 1;
82*437bfbebSnyanmisaka         RK_U32  reserve1        : 1;
83*437bfbebSnyanmisaka         RK_U32  sw_dec_aso_int  : 1;
84*437bfbebSnyanmisaka         RK_U32  sw_dec_slice_int    : 1;
85*437bfbebSnyanmisaka         RK_U32  sw_dec_pic_inf  : 1;
86*437bfbebSnyanmisaka         RK_U32  reserve2        : 1;
87*437bfbebSnyanmisaka         RK_U32  sw_dec_error_int: 1;
88*437bfbebSnyanmisaka         RK_U32  sw_dec_timeout  : 1;
89*437bfbebSnyanmisaka         RK_U32  reserve3        : 18;
90*437bfbebSnyanmisaka     } reg55_Interrupt;
91*437bfbebSnyanmisaka 
92*437bfbebSnyanmisaka     struct {
93*437bfbebSnyanmisaka         RK_U32  sw_dec_axi_rn_id    : 8;
94*437bfbebSnyanmisaka         RK_U32  sw_dec_axi_wr_id    : 8;
95*437bfbebSnyanmisaka         RK_U32  sw_dec_max_burst    : 5;
96*437bfbebSnyanmisaka         RK_U32  resever             : 1;
97*437bfbebSnyanmisaka         RK_U32  sw_dec_data_disc_e  : 1;
98*437bfbebSnyanmisaka         RK_U32  resever1            : 9;
99*437bfbebSnyanmisaka     } reg56_axi_ctrl;
100*437bfbebSnyanmisaka 
101*437bfbebSnyanmisaka     struct {
102*437bfbebSnyanmisaka         RK_U32  sw_dec_e            : 1;
103*437bfbebSnyanmisaka         RK_U32  sw_refbu2_buf_e     : 1;
104*437bfbebSnyanmisaka         RK_U32  sw_dec_out_dis      : 1;
105*437bfbebSnyanmisaka         RK_U32  resever             : 1;
106*437bfbebSnyanmisaka         RK_U32  sw_dec_clk_gate_e   : 1;
107*437bfbebSnyanmisaka         RK_U32  sw_dec_timeout_e    : 1;
108*437bfbebSnyanmisaka         RK_U32  sw_picord_count_e   : 1;
109*437bfbebSnyanmisaka         RK_U32  sw_seq_mbaff_e      : 1;
110*437bfbebSnyanmisaka         RK_U32  sw_reftopfirst_e    : 1;
111*437bfbebSnyanmisaka         RK_U32  sw_ref_topfield_e   : 1;
112*437bfbebSnyanmisaka         RK_U32  sw_write_mvs_e      : 1;
113*437bfbebSnyanmisaka         RK_U32  sw_sorenson_e       : 1;
114*437bfbebSnyanmisaka         RK_U32  sw_fwd_interlace_e  : 1;
115*437bfbebSnyanmisaka         RK_U32  sw_pic_topfield_e   : 1 ;
116*437bfbebSnyanmisaka         RK_U32  sw_pic_inter_e      : 1;
117*437bfbebSnyanmisaka         RK_U32  sw_pic_b_e          : 1;
118*437bfbebSnyanmisaka         RK_U32  sw_pic_fieldmode_e  : 1;
119*437bfbebSnyanmisaka         RK_U32  sw_pic_interlace_e  : 1;
120*437bfbebSnyanmisaka         RK_U32  sw_pjpeg_e          : 1;
121*437bfbebSnyanmisaka         RK_U32  sw_divx3_e          : 1;
122*437bfbebSnyanmisaka         RK_U32  sw_rlc_mode_e       : 1;
123*437bfbebSnyanmisaka         RK_U32  sw_ch_8pix_ileav_e  : 1;
124*437bfbebSnyanmisaka         RK_U32  sw_start_code_e     : 1;
125*437bfbebSnyanmisaka         RK_U32  resever1            : 8;
126*437bfbebSnyanmisaka         RK_U32 sw_dec_ahb_hlock_e  : 1;
127*437bfbebSnyanmisaka 
128*437bfbebSnyanmisaka     } reg57_enable_ctrl;
129*437bfbebSnyanmisaka 
130*437bfbebSnyanmisaka     RK_U32                        reg58_soft_rest;
131*437bfbebSnyanmisaka 
132*437bfbebSnyanmisaka     struct {
133*437bfbebSnyanmisaka         RK_U32  resever             : 2;
134*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_0_2  : 10;
135*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_0_1  : 10;
136*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_0_0  : 10;
137*437bfbebSnyanmisaka     } reg59;
138*437bfbebSnyanmisaka 
139*437bfbebSnyanmisaka     RK_U32          reg60_addit_ch_st_base;
140*437bfbebSnyanmisaka     RK_U32          reg61_qtable_base;
141*437bfbebSnyanmisaka     RK_U32          reg62_directmv_base;
142*437bfbebSnyanmisaka     RK_U32          reg63_cur_pic_base;
143*437bfbebSnyanmisaka     RK_U32          reg64_input_stream_base;
144*437bfbebSnyanmisaka 
145*437bfbebSnyanmisaka     struct {
146*437bfbebSnyanmisaka         RK_U32  sw_refbu_y_offset   : 9;
147*437bfbebSnyanmisaka         RK_U32  sw_reserve          : 3;
148*437bfbebSnyanmisaka         RK_U32  sw_refbu_fparmod_e  : 1;
149*437bfbebSnyanmisaka         RK_U32  sw_refbu_eval_e     : 1;
150*437bfbebSnyanmisaka         RK_U32  sw_refbu_picid      : 5;
151*437bfbebSnyanmisaka         RK_U32  sw_refbu_thr        : 12;
152*437bfbebSnyanmisaka         RK_U32  sw_refbu_e          : 1;
153*437bfbebSnyanmisaka     } reg65_refpicbuf_ctrl;
154*437bfbebSnyanmisaka 
155*437bfbebSnyanmisaka     struct {
156*437bfbebSnyanmisaka         RK_U32  build_version   : 3;
157*437bfbebSnyanmisaka         RK_U32  product_IDen    : 1;
158*437bfbebSnyanmisaka         RK_U32  minor_version   : 8;
159*437bfbebSnyanmisaka         RK_U32  major_version   : 4;
160*437bfbebSnyanmisaka         RK_U32  product_numer   : 16;
161*437bfbebSnyanmisaka     } reg66_id;
162*437bfbebSnyanmisaka 
163*437bfbebSnyanmisaka     struct {
164*437bfbebSnyanmisaka         RK_U32  sw_reserve          : 25;
165*437bfbebSnyanmisaka         RK_U32  sw_dec_rtl_rom      : 1;
166*437bfbebSnyanmisaka         RK_U32  sw_dec_rv_prof      : 2;
167*437bfbebSnyanmisaka         RK_U32  sw_ref_buff2_exist  : 1;
168*437bfbebSnyanmisaka         RK_U32  sw_dec_divx_prof    : 1;
169*437bfbebSnyanmisaka         RK_U32  sw_dec_refbu_ilace  : 1;
170*437bfbebSnyanmisaka         RK_U32  sw_dec_jpeg_exten   : 1;
171*437bfbebSnyanmisaka     } reg67_synthesis_cfg;
172*437bfbebSnyanmisaka 
173*437bfbebSnyanmisaka     struct {
174*437bfbebSnyanmisaka         RK_U32  sw_refbu_top_sum    : 16;
175*437bfbebSnyanmisaka         RK_U32  sw_refbu_bot_sum    : 16;
176*437bfbebSnyanmisaka     } reg68_sum_of_partitions;
177*437bfbebSnyanmisaka 
178*437bfbebSnyanmisaka     struct {
179*437bfbebSnyanmisaka         RK_U32  sw_refbu_intra_sum  : 16;
180*437bfbebSnyanmisaka         RK_U32  sw_refbu_hit_sum    : 16;
181*437bfbebSnyanmisaka     } reg69_sum_inf;
182*437bfbebSnyanmisaka 
183*437bfbebSnyanmisaka     struct {
184*437bfbebSnyanmisaka         RK_U32  sw_refbu_mv_sum : 22;
185*437bfbebSnyanmisaka         RK_U32  sw_reserve      : 10;
186*437bfbebSnyanmisaka     } reg70_sum_mv;
187*437bfbebSnyanmisaka 
188*437bfbebSnyanmisaka     RK_U32                        reg71_119_reserve[49];
189*437bfbebSnyanmisaka 
190*437bfbebSnyanmisaka     struct {
191*437bfbebSnyanmisaka         RK_U32  sw_pic_mb_h_ext     : 3;
192*437bfbebSnyanmisaka         RK_U32  sw_pic_mb_w_ext     : 3;
193*437bfbebSnyanmisaka         RK_U32  sw_alt_scan_e       : 1;
194*437bfbebSnyanmisaka         RK_U32  sw_mb_height_off    : 4;
195*437bfbebSnyanmisaka         RK_U32  sw_pic_mb_hight_p   : 8;
196*437bfbebSnyanmisaka         RK_U32  sw_mb_width_off     : 4;
197*437bfbebSnyanmisaka         RK_U32  sw_pic_mb_width     : 9;
198*437bfbebSnyanmisaka     } reg120;
199*437bfbebSnyanmisaka 
200*437bfbebSnyanmisaka     struct {
201*437bfbebSnyanmisaka         RK_U32  sw_resever         : 5;
202*437bfbebSnyanmisaka         RK_U32  sw_vp7_version     : 1;
203*437bfbebSnyanmisaka         RK_U32  sw_dc_match0       : 3;
204*437bfbebSnyanmisaka         RK_U32  sw_dc_match1       : 3;
205*437bfbebSnyanmisaka         RK_U32  sw_eable_bilinear  : 1;
206*437bfbebSnyanmisaka         RK_U32  sw_romain_mv       : 1;
207*437bfbebSnyanmisaka         RK_U32  sw_resever1        : 6;
208*437bfbebSnyanmisaka         RK_U32  sw_dct2_start_bit  : 6;
209*437bfbebSnyanmisaka         RK_U32  sw_dct1_start_bit  : 6;
210*437bfbebSnyanmisaka     } reg121;
211*437bfbebSnyanmisaka 
212*437bfbebSnyanmisaka     struct {
213*437bfbebSnyanmisaka         RK_U32  sw_boolean_range   : 8;
214*437bfbebSnyanmisaka         RK_U32  sw_boolean_value   : 8;
215*437bfbebSnyanmisaka         RK_U32  sw_multistream_e   : 1;
216*437bfbebSnyanmisaka         RK_U32  sw_huffman_e       : 1;
217*437bfbebSnyanmisaka         RK_U32  sw_strm1_start_bit : 6;
218*437bfbebSnyanmisaka         RK_U32  sw_resever         : 2;
219*437bfbebSnyanmisaka         RK_U32  sw_strm_start_bit  : 6;
220*437bfbebSnyanmisaka     } reg122;
221*437bfbebSnyanmisaka 
222*437bfbebSnyanmisaka     struct {
223*437bfbebSnyanmisaka         RK_U32  sw_dc_comp1   : 16;
224*437bfbebSnyanmisaka         RK_U32  sw_dc_comp0   : 16;
225*437bfbebSnyanmisaka     } reg123;
226*437bfbebSnyanmisaka 
227*437bfbebSnyanmisaka     struct {
228*437bfbebSnyanmisaka         RK_U32  sw_stream1_len      : 24;
229*437bfbebSnyanmisaka         RK_U32  sw_coeffs_part_am   : 4;
230*437bfbebSnyanmisaka         RK_U32  sw_resever          : 4;
231*437bfbebSnyanmisaka     } reg124;
232*437bfbebSnyanmisaka 
233*437bfbebSnyanmisaka     struct {
234*437bfbebSnyanmisaka         RK_U32  resever              : 2;
235*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_5_3   : 10;
236*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_5_2   : 10;
237*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_5_1   : 10;
238*437bfbebSnyanmisaka     } reg125;
239*437bfbebSnyanmisaka 
240*437bfbebSnyanmisaka     struct {
241*437bfbebSnyanmisaka         RK_U32  resever              : 2;
242*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_6_2   : 10;
243*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_6_1   : 10;
244*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_6_0   : 10;
245*437bfbebSnyanmisaka     } reg126;
246*437bfbebSnyanmisaka 
247*437bfbebSnyanmisaka     struct {
248*437bfbebSnyanmisaka         RK_U32  resever              : 2;
249*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_7_1   : 10;
250*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_7_0   : 10;
251*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_6_3   : 10;
252*437bfbebSnyanmisaka     } reg127;
253*437bfbebSnyanmisaka 
254*437bfbebSnyanmisaka     struct {
255*437bfbebSnyanmisaka         RK_U32  sw_pred_tap_6_4     : 2;
256*437bfbebSnyanmisaka         RK_U32  sw_pred_tap_6_M1    : 2;
257*437bfbebSnyanmisaka         RK_U32  sw_pred_tap_4_4     : 2;
258*437bfbebSnyanmisaka         RK_U32  sw_pred_tap_4_M1    : 2;
259*437bfbebSnyanmisaka         RK_U32  sw_pred_tap_2_4     : 2;
260*437bfbebSnyanmisaka         RK_U32  sw_pred_tap_2_M1    : 2;
261*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_7_3  : 10;
262*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_7_2  : 10;
263*437bfbebSnyanmisaka     } reg128;
264*437bfbebSnyanmisaka 
265*437bfbebSnyanmisaka     struct {
266*437bfbebSnyanmisaka         RK_U32  sw_filt_level_3   : 6;
267*437bfbebSnyanmisaka         RK_U32  sw_filt_level_2   : 6;
268*437bfbebSnyanmisaka         RK_U32  sw_filt_level_1   : 6;
269*437bfbebSnyanmisaka         RK_U32  sw_filt_level_0   : 6;
270*437bfbebSnyanmisaka         RK_U32  resever           : 8;
271*437bfbebSnyanmisaka     } reg129;
272*437bfbebSnyanmisaka 
273*437bfbebSnyanmisaka     struct {
274*437bfbebSnyanmisaka         RK_U32  sw_quant_1        : 11;
275*437bfbebSnyanmisaka         RK_U32  sw_quant_0        : 11;
276*437bfbebSnyanmisaka         RK_U32  sw_quant_delta_1  : 5;
277*437bfbebSnyanmisaka         RK_U32  sw_quant_delta_0  : 5;
278*437bfbebSnyanmisaka     } reg130;
279*437bfbebSnyanmisaka 
280*437bfbebSnyanmisaka 
281*437bfbebSnyanmisaka     RK_U32 reg131_ref0_base;
282*437bfbebSnyanmisaka 
283*437bfbebSnyanmisaka     struct {
284*437bfbebSnyanmisaka         RK_U32  sw_filt_mb_adj_3   : 7;
285*437bfbebSnyanmisaka         RK_U32  sw_filt_mb_adj_2   : 7;
286*437bfbebSnyanmisaka         RK_U32  sw_filt_mb_adj_1   : 7;
287*437bfbebSnyanmisaka         RK_U32  sw_filt_mb_adj_0   : 7;
288*437bfbebSnyanmisaka         RK_U32  sw_filt_sharpness  : 3;
289*437bfbebSnyanmisaka         RK_U32  sw_filt_type       : 1;
290*437bfbebSnyanmisaka     } reg132;
291*437bfbebSnyanmisaka 
292*437bfbebSnyanmisaka 
293*437bfbebSnyanmisaka     struct {
294*437bfbebSnyanmisaka         RK_U32  sw_filt_ref_adj_3  : 7;
295*437bfbebSnyanmisaka         RK_U32  sw_filt_ref_adj_2  : 7;
296*437bfbebSnyanmisaka         RK_U32  sw_filt_ref_adj_1  : 7;
297*437bfbebSnyanmisaka         RK_U32  sw_filt_ref_adj_0  : 7;
298*437bfbebSnyanmisaka         RK_U32  sw_resver          : 4;
299*437bfbebSnyanmisaka     } reg133;
300*437bfbebSnyanmisaka 
301*437bfbebSnyanmisaka     RK_U32 reg134;
302*437bfbebSnyanmisaka     RK_U32 reg135;
303*437bfbebSnyanmisaka 
304*437bfbebSnyanmisaka     RK_U32 reg136_golden_ref_base;
305*437bfbebSnyanmisaka 
306*437bfbebSnyanmisaka     union {
307*437bfbebSnyanmisaka         RK_U32 alternate_ref_base;
308*437bfbebSnyanmisaka         struct {
309*437bfbebSnyanmisaka             RK_U32  sw_scan_map_5  : 6;
310*437bfbebSnyanmisaka             RK_U32  sw_scan_map_4  : 6;
311*437bfbebSnyanmisaka             RK_U32  sw_scan_map_3  : 6;
312*437bfbebSnyanmisaka             RK_U32  sw_scan_map_2  : 6;
313*437bfbebSnyanmisaka             RK_U32  sw_scan_map_1  : 6;
314*437bfbebSnyanmisaka             RK_U32  sw_resver      : 2;
315*437bfbebSnyanmisaka         };
316*437bfbebSnyanmisaka     } reg137;
317*437bfbebSnyanmisaka 
318*437bfbebSnyanmisaka     struct {
319*437bfbebSnyanmisaka         RK_U32  sw_scan_map_10 : 6;
320*437bfbebSnyanmisaka         RK_U32  sw_scan_map_9  : 6;
321*437bfbebSnyanmisaka         RK_U32  sw_scan_map_8  : 6;
322*437bfbebSnyanmisaka         RK_U32  sw_scan_map_7  : 6;
323*437bfbebSnyanmisaka         RK_U32  sw_scan_map_6  : 6;
324*437bfbebSnyanmisaka         RK_U32  sw_resver      : 2;
325*437bfbebSnyanmisaka     } reg138;
326*437bfbebSnyanmisaka 
327*437bfbebSnyanmisaka     struct {
328*437bfbebSnyanmisaka         RK_U32  sw_scan_map_15  : 6;
329*437bfbebSnyanmisaka         RK_U32  sw_scan_map_14  : 6;
330*437bfbebSnyanmisaka         RK_U32  sw_scan_map_13  : 6;
331*437bfbebSnyanmisaka         RK_U32  sw_scan_map_12  : 6;
332*437bfbebSnyanmisaka         RK_U32  sw_scan_map_11  : 6;
333*437bfbebSnyanmisaka         RK_U32  sw_resver       : 2;
334*437bfbebSnyanmisaka     } reg139;
335*437bfbebSnyanmisaka 
336*437bfbebSnyanmisaka     RK_U32 reg_dct_strm_base[5];
337*437bfbebSnyanmisaka     RK_U32 reg145_bitpl_ctrl_base;
338*437bfbebSnyanmisaka     RK_U32 reg_dct_strm1_base[2];
339*437bfbebSnyanmisaka 
340*437bfbebSnyanmisaka     struct {
341*437bfbebSnyanmisaka         RK_U32  sw_slice_h  : 8;
342*437bfbebSnyanmisaka         RK_U32  sw_resver   : 24;
343*437bfbebSnyanmisaka     } reg148;
344*437bfbebSnyanmisaka 
345*437bfbebSnyanmisaka     RK_U32 reg149_segment_map_base;
346*437bfbebSnyanmisaka 
347*437bfbebSnyanmisaka 
348*437bfbebSnyanmisaka     struct {
349*437bfbebSnyanmisaka         RK_U32  sw_dct_start_bit_7   : 6;
350*437bfbebSnyanmisaka         RK_U32  sw_dct_start_bit_6   : 6;
351*437bfbebSnyanmisaka         RK_U32  sw_dct_start_bit_5   : 6;
352*437bfbebSnyanmisaka         RK_U32  sw_dct_start_bit_4   : 6;
353*437bfbebSnyanmisaka         RK_U32  sw_dct_start_bit_3   : 6;
354*437bfbebSnyanmisaka         RK_U32  sw_resver            : 2;
355*437bfbebSnyanmisaka     } reg150;
356*437bfbebSnyanmisaka 
357*437bfbebSnyanmisaka     struct {
358*437bfbebSnyanmisaka         RK_U32  sw_quant_3        : 11;
359*437bfbebSnyanmisaka         RK_U32  sw_quant_2        : 11;
360*437bfbebSnyanmisaka         RK_U32  sw_quant_delta_3   : 5;
361*437bfbebSnyanmisaka         RK_U32  sw_quant_delta_2   : 5;
362*437bfbebSnyanmisaka     } reg151;
363*437bfbebSnyanmisaka 
364*437bfbebSnyanmisaka     struct {
365*437bfbebSnyanmisaka         RK_U32  sw_quant_5        : 11;
366*437bfbebSnyanmisaka         RK_U32  sw_quant_4        : 11;
367*437bfbebSnyanmisaka         RK_U32  sw_resver         : 5;
368*437bfbebSnyanmisaka         RK_U32  sw_quant_delta_4  : 5;
369*437bfbebSnyanmisaka     } reg152;
370*437bfbebSnyanmisaka 
371*437bfbebSnyanmisaka     struct {
372*437bfbebSnyanmisaka         RK_U32  resever              : 2;
373*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_1_1   : 10;
374*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_1_0   : 10;
375*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_0_3   : 10;
376*437bfbebSnyanmisaka     } reg153;
377*437bfbebSnyanmisaka 
378*437bfbebSnyanmisaka     struct {
379*437bfbebSnyanmisaka         RK_U32  resever              : 2;
380*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_2_0   : 10;
381*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_1_3   : 10;
382*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_1_2   : 10;
383*437bfbebSnyanmisaka     } reg154;
384*437bfbebSnyanmisaka 
385*437bfbebSnyanmisaka     struct {
386*437bfbebSnyanmisaka         RK_U32  resever              : 2;
387*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_2_3   : 10;
388*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_2_2   : 10;
389*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_2_1   : 10;
390*437bfbebSnyanmisaka     } reg155;
391*437bfbebSnyanmisaka 
392*437bfbebSnyanmisaka     struct {
393*437bfbebSnyanmisaka         RK_U32  resever              : 2;
394*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_3_2   : 10;
395*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_3_1   : 10;
396*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_3_0   : 10;
397*437bfbebSnyanmisaka     } reg156;
398*437bfbebSnyanmisaka 
399*437bfbebSnyanmisaka     struct {
400*437bfbebSnyanmisaka         RK_U32  resever              : 2;
401*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_4_1   : 10;
402*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_4_0   : 10;
403*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_3_3   : 10;
404*437bfbebSnyanmisaka     } reg157;
405*437bfbebSnyanmisaka 
406*437bfbebSnyanmisaka     struct {
407*437bfbebSnyanmisaka         RK_U32  resever              : 2;
408*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_5_0   : 10;
409*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_4_3   : 10;
410*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_4_2   : 10;
411*437bfbebSnyanmisaka     } reg158;
412*437bfbebSnyanmisaka } VP8DRegSet_t;
413*437bfbebSnyanmisaka 
414*437bfbebSnyanmisaka #endif
415