xref: /rockchip-linux_mpp/mpp/hal/vpu/jpegd/hal_jpegd_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_JPEGD_VDPU2_REG_H__
18*437bfbebSnyanmisaka #define __HAL_JPEGD_VDPU2_REG_H__
19*437bfbebSnyanmisaka 
20*437bfbebSnyanmisaka #include "vcodec_service.h"
21*437bfbebSnyanmisaka 
22*437bfbebSnyanmisaka #define JPEGD_REG_NUM                         (159)
23*437bfbebSnyanmisaka 
24*437bfbebSnyanmisaka #define DEC_MODE_JPEG                         (3)
25*437bfbebSnyanmisaka #define DEC_LITTLE_ENDIAN                     (1)
26*437bfbebSnyanmisaka #define DEC_BIG_ENDIAN                        (0)
27*437bfbebSnyanmisaka 
28*437bfbebSnyanmisaka #define DEC_BUS_BURST_LENGTH_16               (16)
29*437bfbebSnyanmisaka #define DEC_SCMD_DISABLE                      (0)
30*437bfbebSnyanmisaka #define DEC_LATENCY_COMPENSATION              (0)
31*437bfbebSnyanmisaka #define DEC_DATA_DISCARD_ENABLE               (0)
32*437bfbebSnyanmisaka 
33*437bfbebSnyanmisaka typedef struct JpegRegSet {
34*437bfbebSnyanmisaka     struct {
35*437bfbebSnyanmisaka         RK_U32  sw_pp_max_burst     : 5;
36*437bfbebSnyanmisaka         RK_U32  sw_pp_scmd_dis      : 1;
37*437bfbebSnyanmisaka         RK_U32  sw_reserved_1       : 2;
38*437bfbebSnyanmisaka         RK_U32  sw_pp_axi_rd_id     : 8;
39*437bfbebSnyanmisaka         RK_U32  sw_pp_axi_wr_id     : 8;
40*437bfbebSnyanmisaka     } reg0;
41*437bfbebSnyanmisaka 
42*437bfbebSnyanmisaka     struct {
43*437bfbebSnyanmisaka         RK_U32  sw_color_coeffa1    : 10;
44*437bfbebSnyanmisaka         RK_U32  sw_color_coeffa2    : 10;
45*437bfbebSnyanmisaka         RK_U32  sw_color_coeffb     : 10;
46*437bfbebSnyanmisaka     } reg1;
47*437bfbebSnyanmisaka 
48*437bfbebSnyanmisaka     struct {
49*437bfbebSnyanmisaka         RK_U32  sw_color_coeffc     : 10;
50*437bfbebSnyanmisaka         RK_U32  sw_color_coeffd     : 10;
51*437bfbebSnyanmisaka         RK_U32  sw_color_coeffe     : 10;
52*437bfbebSnyanmisaka     } reg2;
53*437bfbebSnyanmisaka 
54*437bfbebSnyanmisaka     struct {
55*437bfbebSnyanmisaka         RK_U32  sw_pp_color_coefff  : 8;
56*437bfbebSnyanmisaka     } reg3;
57*437bfbebSnyanmisaka 
58*437bfbebSnyanmisaka     struct {
59*437bfbebSnyanmisaka         RK_U32  sw_scale_wratio     : 18;
60*437bfbebSnyanmisaka         RK_U32  sw_hor_scale_mode   : 2;
61*437bfbebSnyanmisaka         RK_U32  sw_ver_scale_mode   : 2;
62*437bfbebSnyanmisaka     } reg4;
63*437bfbebSnyanmisaka 
64*437bfbebSnyanmisaka     struct {
65*437bfbebSnyanmisaka         RK_U32  sw_scale_hratio    : 18;
66*437bfbebSnyanmisaka     } reg5;
67*437bfbebSnyanmisaka 
68*437bfbebSnyanmisaka     struct {
69*437bfbebSnyanmisaka         RK_U32  sw_wscale_invra    : 16;
70*437bfbebSnyanmisaka         RK_U32  sw_hscale_invra    : 16;
71*437bfbebSnyanmisaka     } reg6;
72*437bfbebSnyanmisaka 
73*437bfbebSnyanmisaka     RK_U32 reg7;
74*437bfbebSnyanmisaka     RK_U32 reg8;
75*437bfbebSnyanmisaka     RK_U32 reg9_r_mask;
76*437bfbebSnyanmisaka     RK_U32 reg10_g_mask;
77*437bfbebSnyanmisaka     RK_U32 reg11_b_mask;
78*437bfbebSnyanmisaka     RK_U32 reg12_pp_bot_yin_base;
79*437bfbebSnyanmisaka     RK_U32 reg13_pp_bot_cin_base;
80*437bfbebSnyanmisaka 
81*437bfbebSnyanmisaka     struct {
82*437bfbebSnyanmisaka         RK_U32  sw_crop_startx      : 9;
83*437bfbebSnyanmisaka         RK_U32  sw_crop_starty_ext  : 3;
84*437bfbebSnyanmisaka         RK_U32  sw_reserved_1       : 4;
85*437bfbebSnyanmisaka         RK_U32  sw_crop_starty      : 8;
86*437bfbebSnyanmisaka         RK_U32  sw_crop_startx_ext  : 3;
87*437bfbebSnyanmisaka         RK_U32  sw_reserved_2       : 1;
88*437bfbebSnyanmisaka         RK_U32  sw_pp_crop8_d_e     : 1;
89*437bfbebSnyanmisaka         RK_U32  sw_pp_crop8_r_e     : 1;
90*437bfbebSnyanmisaka     } reg14;
91*437bfbebSnyanmisaka 
92*437bfbebSnyanmisaka     struct {
93*437bfbebSnyanmisaka         RK_U32  sw_rangemap_coef_y      : 5;
94*437bfbebSnyanmisaka         RK_U32  sw_ycbcr_range          : 1;
95*437bfbebSnyanmisaka         RK_U32  sw_reserved_1           : 2;
96*437bfbebSnyanmisaka         RK_U32  sw_rangemap_coef_c      : 5;
97*437bfbebSnyanmisaka     } reg15;
98*437bfbebSnyanmisaka 
99*437bfbebSnyanmisaka     struct {
100*437bfbebSnyanmisaka         RK_U32  sw_rgb_r_padd       : 5;
101*437bfbebSnyanmisaka         RK_U32  sw_reserved_1       : 3;
102*437bfbebSnyanmisaka         RK_U32  sw_rgb_g_padd       : 5;
103*437bfbebSnyanmisaka         RK_U32  sw_reserved_2       : 3;
104*437bfbebSnyanmisaka         RK_U32  sw_rgb_b_padd       : 5;
105*437bfbebSnyanmisaka     } reg16;
106*437bfbebSnyanmisaka 
107*437bfbebSnyanmisaka     RK_U32 reg17;
108*437bfbebSnyanmisaka     RK_U32 reg18_pp_in_lu_base;
109*437bfbebSnyanmisaka     RK_U32 reg19;
110*437bfbebSnyanmisaka     RK_U32 reg20;
111*437bfbebSnyanmisaka     RK_U32 reg21_pp_out_lu_base;
112*437bfbebSnyanmisaka     RK_U32 reg22_pp_out_ch_base;
113*437bfbebSnyanmisaka     RK_U32 reg23;
114*437bfbebSnyanmisaka     RK_U32 reg24;
115*437bfbebSnyanmisaka     RK_U32 reg25;
116*437bfbebSnyanmisaka     RK_U32 reg26;
117*437bfbebSnyanmisaka     RK_U32 reg27;
118*437bfbebSnyanmisaka     RK_U32 reg28;
119*437bfbebSnyanmisaka     RK_U32 reg29;
120*437bfbebSnyanmisaka     RK_U32 reg30;
121*437bfbebSnyanmisaka 
122*437bfbebSnyanmisaka     struct {
123*437bfbebSnyanmisaka         RK_U32  sw_contrast_thr1      : 8;
124*437bfbebSnyanmisaka         RK_U32  sw_contrast_thr2      : 8;
125*437bfbebSnyanmisaka     } reg31;
126*437bfbebSnyanmisaka 
127*437bfbebSnyanmisaka     struct {
128*437bfbebSnyanmisaka         RK_U32  sw_contrast_off1      : 10;
129*437bfbebSnyanmisaka         RK_U32  sw_reserved_1         : 6;
130*437bfbebSnyanmisaka         RK_U32  sw_contrast_off2      : 10;
131*437bfbebSnyanmisaka     } reg32;
132*437bfbebSnyanmisaka 
133*437bfbebSnyanmisaka     RK_U32 reg33;
134*437bfbebSnyanmisaka 
135*437bfbebSnyanmisaka     struct {
136*437bfbebSnyanmisaka         RK_U32  sw_pp_in_width      : 9;
137*437bfbebSnyanmisaka         RK_U32  sw_pp_in_w_ext      : 3;
138*437bfbebSnyanmisaka         RK_U32  sw_ext_orig_width   : 9;
139*437bfbebSnyanmisaka         RK_U32  sw_pp_in_height     : 8;
140*437bfbebSnyanmisaka         RK_U32  sw_pp_in_h_ext      : 3;
141*437bfbebSnyanmisaka     } reg34;
142*437bfbebSnyanmisaka 
143*437bfbebSnyanmisaka     struct {
144*437bfbebSnyanmisaka         RK_U32  sw_pp_out_width      : 11;
145*437bfbebSnyanmisaka         RK_U32  sw_reserved_1        : 5;
146*437bfbebSnyanmisaka         RK_U32  sw_pp_out_height     : 11;
147*437bfbebSnyanmisaka     } reg35;
148*437bfbebSnyanmisaka 
149*437bfbebSnyanmisaka     struct {
150*437bfbebSnyanmisaka         RK_U32  sw_dither_select_r      : 2;
151*437bfbebSnyanmisaka         RK_U32  sw_dither_select_g      : 2;
152*437bfbebSnyanmisaka         RK_U32  sw_dither_select_b      : 2;
153*437bfbebSnyanmisaka     } reg36;
154*437bfbebSnyanmisaka 
155*437bfbebSnyanmisaka     struct {
156*437bfbebSnyanmisaka         RK_U32  sw_pp_in_endian     : 1;
157*437bfbebSnyanmisaka         RK_U32  sw_pp_in_a1_endian  : 1;
158*437bfbebSnyanmisaka         RK_U32  sw_pp_in_a2_endsel  : 1;
159*437bfbebSnyanmisaka         RK_U32  sw_pp_out_endian    : 1;
160*437bfbebSnyanmisaka         RK_U32  sw_rgb_pix_in32     : 1;
161*437bfbebSnyanmisaka         RK_U32  sw_reserved_1       : 3;
162*437bfbebSnyanmisaka         RK_U32  sw_pp_in_swap32_e   : 1;
163*437bfbebSnyanmisaka         RK_U32  sw_pp_in_a1_swap32  : 1;
164*437bfbebSnyanmisaka         RK_U32  sw_pp_out_swap16_e  : 1;
165*437bfbebSnyanmisaka         RK_U32  sw_pp_out_swap32_e  : 1;
166*437bfbebSnyanmisaka         RK_U32  sw_reserved_2       : 4;
167*437bfbebSnyanmisaka         RK_U32  sw_pp_in_start_ch   : 1;
168*437bfbebSnyanmisaka         RK_U32  sw_pp_out_start_ch  : 1;
169*437bfbebSnyanmisaka         RK_U32  sw_pp_in_cr_first   : 1;
170*437bfbebSnyanmisaka         RK_U32  sw_pp_out_cr_first  : 1;
171*437bfbebSnyanmisaka         RK_U32  sw_reserved_3       : 4;
172*437bfbebSnyanmisaka         RK_U32  sw_pp_in_struct     : 3;
173*437bfbebSnyanmisaka     } reg37;
174*437bfbebSnyanmisaka 
175*437bfbebSnyanmisaka     struct {
176*437bfbebSnyanmisaka         RK_U32  sw_rotation_mode      : 3;
177*437bfbebSnyanmisaka         RK_U32  sw_reserved_1         : 5;
178*437bfbebSnyanmisaka         RK_U32  sw_pp_in_format       : 3;
179*437bfbebSnyanmisaka         RK_U32  sw_pp_out_format      : 3;
180*437bfbebSnyanmisaka         RK_U32  sw_reserved_2         : 2;
181*437bfbebSnyanmisaka         RK_U32  sw_pp_in_format_es    : 3;
182*437bfbebSnyanmisaka     } reg38;
183*437bfbebSnyanmisaka 
184*437bfbebSnyanmisaka     struct {
185*437bfbebSnyanmisaka         RK_U32  sw_display_width      : 12;
186*437bfbebSnyanmisaka     } reg39;
187*437bfbebSnyanmisaka 
188*437bfbebSnyanmisaka     RK_U32 reg40;
189*437bfbebSnyanmisaka 
190*437bfbebSnyanmisaka     struct {
191*437bfbebSnyanmisaka         RK_U32  sw_pp_e             : 1;
192*437bfbebSnyanmisaka         RK_U32  sw_deint_blend_e    : 1;
193*437bfbebSnyanmisaka         RK_U32  sw_deint_e          : 1;
194*437bfbebSnyanmisaka         RK_U32  sw_pp_clk_gate_e    : 1;
195*437bfbebSnyanmisaka         RK_U32  sw_pp_pipeline_e    : 1;
196*437bfbebSnyanmisaka         RK_U32  sw_reserved_1       : 3;
197*437bfbebSnyanmisaka         RK_U32  sw_rangemap_y_e     : 1;
198*437bfbebSnyanmisaka         RK_U32  sw_rangemap_c_e     : 1;
199*437bfbebSnyanmisaka         RK_U32  sw_reserved_2       : 6;
200*437bfbebSnyanmisaka         RK_U32  sw_pp_data_disc_e   : 1;
201*437bfbebSnyanmisaka         RK_U32  sw_reserved_3       : 3;
202*437bfbebSnyanmisaka         RK_U32  sw_mask1_e          : 1;
203*437bfbebSnyanmisaka         RK_U32  sw_mask2_e          : 1;
204*437bfbebSnyanmisaka         RK_U32  sw_mask1_ablend_e   : 1;
205*437bfbebSnyanmisaka         RK_U32  sw_mask2_ablend_e   : 1;
206*437bfbebSnyanmisaka         RK_U32  sw_up_cross_e       : 1;
207*437bfbebSnyanmisaka         RK_U32  sw_down_cross_e     : 1;
208*437bfbebSnyanmisaka         RK_U32  sw_left_cross_e     : 1;
209*437bfbebSnyanmisaka         RK_U32  sw_right_cross_e    : 1;
210*437bfbebSnyanmisaka         RK_U32  sw_pp_ahb_hlock_e   : 1;
211*437bfbebSnyanmisaka     } reg41;
212*437bfbebSnyanmisaka 
213*437bfbebSnyanmisaka     RK_U32   ppReg2[8];
214*437bfbebSnyanmisaka     struct {
215*437bfbebSnyanmisaka         RK_U32  sw_dec_out_tiled_e  : 1;
216*437bfbebSnyanmisaka         RK_U32  sw_dec_latency      : 6;
217*437bfbebSnyanmisaka         RK_U32  sw_pic_fixed_quant  : 1;
218*437bfbebSnyanmisaka         RK_U32  sw_filtering_dis    : 1;
219*437bfbebSnyanmisaka         RK_U32  sw_skip_mode        : 1;
220*437bfbebSnyanmisaka         RK_U32  sw_dec_scmd_dis     : 1;
221*437bfbebSnyanmisaka         RK_U32  sw_dec_adv_pre_dis  : 1;
222*437bfbebSnyanmisaka         RK_U32  sw_priority_mode    : 1;
223*437bfbebSnyanmisaka         RK_U32  sw_refbu2_thr       : 12;
224*437bfbebSnyanmisaka         RK_U32  sw_refbu2_picid     : 5;
225*437bfbebSnyanmisaka         RK_U32  reserve1            : 2;
226*437bfbebSnyanmisaka     } reg50_dec_ctrl;
227*437bfbebSnyanmisaka 
228*437bfbebSnyanmisaka     struct {
229*437bfbebSnyanmisaka         RK_U32  sw_stream_len       : 24;
230*437bfbebSnyanmisaka         RK_U32  reserve1            : 1;
231*437bfbebSnyanmisaka         RK_U32  sw_init_qp          : 6;
232*437bfbebSnyanmisaka         RK_U32  reserve2            : 1;
233*437bfbebSnyanmisaka     } reg51_stream_info;
234*437bfbebSnyanmisaka 
235*437bfbebSnyanmisaka     struct {
236*437bfbebSnyanmisaka         RK_U32  sw_startmb_y        : 8;
237*437bfbebSnyanmisaka         RK_U32  sw_startmb_x        : 9;
238*437bfbebSnyanmisaka         RK_U32  sw_apf_threshold    : 14;
239*437bfbebSnyanmisaka         RK_U32  sw_reserve          : 1;
240*437bfbebSnyanmisaka     } reg52_error_concealment;
241*437bfbebSnyanmisaka 
242*437bfbebSnyanmisaka     RK_U32       reg53_dec_mode;
243*437bfbebSnyanmisaka 
244*437bfbebSnyanmisaka     struct {
245*437bfbebSnyanmisaka         RK_U32  sw_dec_in_endian    : 1;
246*437bfbebSnyanmisaka         RK_U32  sw_dec_out_endian   : 1;
247*437bfbebSnyanmisaka         RK_U32  sw_dec_inswap32_e   : 1;
248*437bfbebSnyanmisaka         RK_U32  sw_dec_outswap32_e  : 1;
249*437bfbebSnyanmisaka         RK_U32  sw_dec_strswap32_e  : 1;
250*437bfbebSnyanmisaka         RK_U32  sw_dec_strendian_e  : 1;
251*437bfbebSnyanmisaka         RK_U32  reserve3            : 26;
252*437bfbebSnyanmisaka     } reg54_endian;
253*437bfbebSnyanmisaka 
254*437bfbebSnyanmisaka     struct {
255*437bfbebSnyanmisaka         RK_U32  sw_dec_irq          : 1;
256*437bfbebSnyanmisaka         RK_U32  sw_dec_irq_dis      : 1;
257*437bfbebSnyanmisaka         RK_U32  reserve0            : 2;
258*437bfbebSnyanmisaka         RK_U32  sw_dec_rdy_int      : 1;
259*437bfbebSnyanmisaka         RK_U32  sw_dec_bus_int      : 1;
260*437bfbebSnyanmisaka         RK_U32  sw_dec_buffer_int   : 1;
261*437bfbebSnyanmisaka         RK_U32  reserve1            : 1;
262*437bfbebSnyanmisaka         RK_U32  sw_dec_aso_int      : 1;
263*437bfbebSnyanmisaka         RK_U32  sw_dec_slice_int    : 1;
264*437bfbebSnyanmisaka         RK_U32  sw_dec_pic_inf      : 1;
265*437bfbebSnyanmisaka         RK_U32  reserve2            : 1;
266*437bfbebSnyanmisaka         RK_U32  sw_dec_error_int    : 1;
267*437bfbebSnyanmisaka         RK_U32  sw_dec_timeout      : 1;
268*437bfbebSnyanmisaka         RK_U32  reserve3            : 18;
269*437bfbebSnyanmisaka     } reg55_Interrupt;
270*437bfbebSnyanmisaka 
271*437bfbebSnyanmisaka     struct {
272*437bfbebSnyanmisaka         RK_U32  sw_dec_axi_rn_id    : 8;
273*437bfbebSnyanmisaka         RK_U32  sw_dec_axi_wr_id    : 8;
274*437bfbebSnyanmisaka         RK_U32  sw_dec_max_burst    : 5;
275*437bfbebSnyanmisaka         RK_U32  resever             : 1;
276*437bfbebSnyanmisaka         RK_U32  sw_dec_data_disc_e  : 1;
277*437bfbebSnyanmisaka         RK_U32  resever1            : 9;
278*437bfbebSnyanmisaka     } reg56_axi_ctrl;
279*437bfbebSnyanmisaka 
280*437bfbebSnyanmisaka     struct {
281*437bfbebSnyanmisaka         RK_U32  sw_dec_e            : 1;
282*437bfbebSnyanmisaka         RK_U32  sw_refbu2_buf_e     : 1;
283*437bfbebSnyanmisaka         RK_U32  sw_dec_out_dis      : 1;
284*437bfbebSnyanmisaka         RK_U32  resever             : 1;
285*437bfbebSnyanmisaka         RK_U32  sw_dec_clk_gate_e   : 1;
286*437bfbebSnyanmisaka         RK_U32  sw_dec_timeout_e    : 1;
287*437bfbebSnyanmisaka         RK_U32  sw_picord_count_e   : 1;
288*437bfbebSnyanmisaka         RK_U32  sw_seq_mbaff_e      : 1;
289*437bfbebSnyanmisaka         RK_U32  sw_reftopfirst_e    : 1;
290*437bfbebSnyanmisaka         RK_U32  sw_ref_topfield_e   : 1;
291*437bfbebSnyanmisaka         RK_U32  sw_write_mvs_e      : 1;
292*437bfbebSnyanmisaka         RK_U32  sw_sorenson_e       : 1;
293*437bfbebSnyanmisaka         RK_U32  sw_fwd_interlace_e  : 1;
294*437bfbebSnyanmisaka         RK_U32  sw_pic_topfield_e   : 1;
295*437bfbebSnyanmisaka         RK_U32  sw_pic_inter_e      : 1;
296*437bfbebSnyanmisaka         RK_U32  sw_pic_b_e          : 1;
297*437bfbebSnyanmisaka         RK_U32  sw_pic_fieldmode_e  : 1;
298*437bfbebSnyanmisaka         RK_U32  sw_pic_interlace_e  : 1;
299*437bfbebSnyanmisaka         RK_U32  sw_pjpeg_e          : 1;
300*437bfbebSnyanmisaka         RK_U32  sw_divx3_e          : 1;
301*437bfbebSnyanmisaka         RK_U32  sw_rlc_mode_e       : 1;
302*437bfbebSnyanmisaka         RK_U32  sw_ch_8pix_ileav_e  : 1;
303*437bfbebSnyanmisaka         RK_U32  sw_start_code_e     : 1;
304*437bfbebSnyanmisaka         RK_U32  resever1            : 8;
305*437bfbebSnyanmisaka         RK_U32 sw_dec_ahb_hlock_e   : 1;
306*437bfbebSnyanmisaka     } reg57_enable_ctrl;
307*437bfbebSnyanmisaka 
308*437bfbebSnyanmisaka     RK_U32          reg58_soft_rest;
309*437bfbebSnyanmisaka 
310*437bfbebSnyanmisaka     struct {
311*437bfbebSnyanmisaka         RK_U32  resever             : 2;
312*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_0_2  : 10;
313*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_0_1  : 10;
314*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_0_0  : 10;
315*437bfbebSnyanmisaka     } reg59;
316*437bfbebSnyanmisaka 
317*437bfbebSnyanmisaka     RK_U32          reg60_addit_ch_st_base;
318*437bfbebSnyanmisaka     RK_U32          reg61_qtable_base;
319*437bfbebSnyanmisaka     RK_U32          reg62_directmv_base;
320*437bfbebSnyanmisaka     RK_U32          reg63_dec_out_base;
321*437bfbebSnyanmisaka     RK_U32          reg64_rlc_vlc_base;
322*437bfbebSnyanmisaka 
323*437bfbebSnyanmisaka     struct {
324*437bfbebSnyanmisaka         RK_U32  sw_refbu_y_offset   : 9;
325*437bfbebSnyanmisaka         RK_U32  sw_reserve          : 3;
326*437bfbebSnyanmisaka         RK_U32  sw_refbu_fparmod_e  : 1;
327*437bfbebSnyanmisaka         RK_U32  sw_refbu_eval_e     : 1;
328*437bfbebSnyanmisaka         RK_U32  sw_refbu_picid      : 5;
329*437bfbebSnyanmisaka         RK_U32  sw_refbu_thr        : 12;
330*437bfbebSnyanmisaka         RK_U32  sw_refbu_e          : 1;
331*437bfbebSnyanmisaka     } reg65_refpicbuf_ctrl;
332*437bfbebSnyanmisaka 
333*437bfbebSnyanmisaka     struct {
334*437bfbebSnyanmisaka         RK_U32  build_version   : 3;
335*437bfbebSnyanmisaka         RK_U32  product_IDen    : 1;
336*437bfbebSnyanmisaka         RK_U32  minor_version   : 8;
337*437bfbebSnyanmisaka         RK_U32  major_version   : 4;
338*437bfbebSnyanmisaka         RK_U32  product_numer   : 16;
339*437bfbebSnyanmisaka     } reg66_id;
340*437bfbebSnyanmisaka 
341*437bfbebSnyanmisaka     struct {
342*437bfbebSnyanmisaka         RK_U32  sw_reserve          : 25;
343*437bfbebSnyanmisaka         RK_U32  sw_dec_rtl_rom      : 1;
344*437bfbebSnyanmisaka         RK_U32  sw_dec_rv_prof      : 2;
345*437bfbebSnyanmisaka         RK_U32  sw_ref_buff2_exist  : 1;
346*437bfbebSnyanmisaka         RK_U32  sw_dec_divx_prof    : 1;
347*437bfbebSnyanmisaka         RK_U32  sw_dec_refbu_ilace  : 1;
348*437bfbebSnyanmisaka         RK_U32  sw_dec_jpeg_exten   : 1;
349*437bfbebSnyanmisaka     } reg67_synthesis_cfg;
350*437bfbebSnyanmisaka 
351*437bfbebSnyanmisaka     struct {
352*437bfbebSnyanmisaka         RK_U32  sw_refbu_top_sum    : 16;
353*437bfbebSnyanmisaka         RK_U32  sw_refbu_bot_sum    : 16;
354*437bfbebSnyanmisaka     } reg68_sum_of_partitions;
355*437bfbebSnyanmisaka 
356*437bfbebSnyanmisaka     struct {
357*437bfbebSnyanmisaka         RK_U32  sw_refbu_intra_sum  : 16;
358*437bfbebSnyanmisaka         RK_U32  sw_refbu_hit_sum    : 16;
359*437bfbebSnyanmisaka     } reg69_sum_inf;
360*437bfbebSnyanmisaka 
361*437bfbebSnyanmisaka     struct {
362*437bfbebSnyanmisaka         RK_U32  sw_refbu_mv_sum : 22;
363*437bfbebSnyanmisaka         RK_U32  sw_reserve      : 10;
364*437bfbebSnyanmisaka     } reg70_sum_mv;
365*437bfbebSnyanmisaka 
366*437bfbebSnyanmisaka     RK_U32                        reg71_119_reserve[49];
367*437bfbebSnyanmisaka 
368*437bfbebSnyanmisaka     struct {
369*437bfbebSnyanmisaka         RK_U32  sw_pic_mb_h_ext     : 3;
370*437bfbebSnyanmisaka         RK_U32  sw_pic_mb_w_ext     : 3;
371*437bfbebSnyanmisaka         RK_U32  sw_alt_scan_e       : 1;
372*437bfbebSnyanmisaka         RK_U32  sw_mb_height_off    : 4;
373*437bfbebSnyanmisaka         RK_U32  sw_pic_mb_hight_p   : 8;
374*437bfbebSnyanmisaka         RK_U32  sw_mb_width_off     : 4;
375*437bfbebSnyanmisaka         RK_U32  sw_pic_mb_width     : 9;
376*437bfbebSnyanmisaka     } reg120;
377*437bfbebSnyanmisaka 
378*437bfbebSnyanmisaka     struct {
379*437bfbebSnyanmisaka         RK_U32  sw_pjpeg_se         : 8;
380*437bfbebSnyanmisaka         RK_U32  sw_pjpeg_ss         : 8;
381*437bfbebSnyanmisaka         RK_U32  sw_pjpeg_al         : 4;
382*437bfbebSnyanmisaka         RK_U32  sw_pjpeg_ah         : 4;
383*437bfbebSnyanmisaka         RK_U32  sw_pjpeg_hdiv8      : 1;
384*437bfbebSnyanmisaka         RK_U32  sw_pjpeg_wdiv8      : 1;
385*437bfbebSnyanmisaka         RK_U32  sw_pjpeg_fildown_e  : 1;
386*437bfbebSnyanmisaka     } reg121;
387*437bfbebSnyanmisaka 
388*437bfbebSnyanmisaka     struct {
389*437bfbebSnyanmisaka         RK_U32  sw_cb_dc_vlctable3   : 1;
390*437bfbebSnyanmisaka         RK_U32  sw_cr_dc_vlctable3   : 1;
391*437bfbebSnyanmisaka         RK_U32  sw_cb_dc_vlctable    : 1;
392*437bfbebSnyanmisaka         RK_U32  sw_cr_dc_vlctable    : 1;
393*437bfbebSnyanmisaka         RK_U32  sw_cb_ac_vlctable    : 1;
394*437bfbebSnyanmisaka         RK_U32  sw_cr_ac_vlctable    : 1;
395*437bfbebSnyanmisaka         RK_U32  sw_jpeg_stream_all   : 1;
396*437bfbebSnyanmisaka         RK_U32  sw_jpeg_filright_e   : 1;
397*437bfbebSnyanmisaka         RK_U32  sw_jpeg_mode         : 3;
398*437bfbebSnyanmisaka         RK_U32  sw_jpeg_qtables      : 2;
399*437bfbebSnyanmisaka         RK_U32  sw_reserved_1        : 12;
400*437bfbebSnyanmisaka         RK_U32  sw_sync_marker_e     : 1;
401*437bfbebSnyanmisaka         RK_U32  sw_strm_start_bit    : 6;
402*437bfbebSnyanmisaka     } reg122;
403*437bfbebSnyanmisaka 
404*437bfbebSnyanmisaka     struct {
405*437bfbebSnyanmisaka         RK_U32  sw_pjpeg_rest_freq   : 16;
406*437bfbebSnyanmisaka     } reg123;
407*437bfbebSnyanmisaka 
408*437bfbebSnyanmisaka     struct {
409*437bfbebSnyanmisaka         RK_U32  sw_stream1_len      : 24;
410*437bfbebSnyanmisaka         RK_U32  sw_coeffs_part_am   : 4;
411*437bfbebSnyanmisaka         RK_U32  sw_reserved         : 4;
412*437bfbebSnyanmisaka     } reg124;
413*437bfbebSnyanmisaka 
414*437bfbebSnyanmisaka     struct {
415*437bfbebSnyanmisaka         RK_U32  resever              : 2;
416*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_5_3   : 10;
417*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_5_2   : 10;
418*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_5_1   : 10;
419*437bfbebSnyanmisaka     } reg125;
420*437bfbebSnyanmisaka 
421*437bfbebSnyanmisaka     struct {
422*437bfbebSnyanmisaka         RK_U32  resever              : 2;
423*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_6_2   : 10;
424*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_6_1   : 10;
425*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_6_0   : 10;
426*437bfbebSnyanmisaka     } reg126;
427*437bfbebSnyanmisaka 
428*437bfbebSnyanmisaka     struct {
429*437bfbebSnyanmisaka         RK_U32  resever              : 2;
430*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_7_1   : 10;
431*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_7_0   : 10;
432*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_6_3   : 10;
433*437bfbebSnyanmisaka     } reg127;
434*437bfbebSnyanmisaka 
435*437bfbebSnyanmisaka     struct {
436*437bfbebSnyanmisaka         RK_U32  sw_pred_tap_6_4     : 2;
437*437bfbebSnyanmisaka         RK_U32  sw_pred_tap_6_M1    : 2;
438*437bfbebSnyanmisaka         RK_U32  sw_pred_tap_4_4     : 2;
439*437bfbebSnyanmisaka         RK_U32  sw_pred_tap_4_M1    : 2;
440*437bfbebSnyanmisaka         RK_U32  sw_pred_tap_2_4     : 2;
441*437bfbebSnyanmisaka         RK_U32  sw_pred_tap_2_M1    : 2;
442*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_7_3  : 10;
443*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_7_2  : 10;
444*437bfbebSnyanmisaka     } reg128;
445*437bfbebSnyanmisaka 
446*437bfbebSnyanmisaka     struct {
447*437bfbebSnyanmisaka         RK_U32  sw_filt_level_3   : 6;
448*437bfbebSnyanmisaka         RK_U32  sw_filt_level_2   : 6;
449*437bfbebSnyanmisaka         RK_U32  sw_filt_level_1   : 6;
450*437bfbebSnyanmisaka         RK_U32  sw_filt_level_0   : 6;
451*437bfbebSnyanmisaka         RK_U32  resever           : 8;
452*437bfbebSnyanmisaka     } reg129;
453*437bfbebSnyanmisaka 
454*437bfbebSnyanmisaka     struct {
455*437bfbebSnyanmisaka         RK_U32  sw_quant_1        : 11;
456*437bfbebSnyanmisaka         RK_U32  sw_quant_0        : 11;
457*437bfbebSnyanmisaka         RK_U32  sw_quant_delta_1  : 5;
458*437bfbebSnyanmisaka         RK_U32  sw_quant_delta_0  : 5;
459*437bfbebSnyanmisaka     } reg130;
460*437bfbebSnyanmisaka 
461*437bfbebSnyanmisaka 
462*437bfbebSnyanmisaka     RK_U32 reg131_jpg_ch_out_base;
463*437bfbebSnyanmisaka 
464*437bfbebSnyanmisaka     struct {
465*437bfbebSnyanmisaka         RK_U32  sw_filt_mb_adj_3   : 7;
466*437bfbebSnyanmisaka         RK_U32  sw_filt_mb_adj_2   : 7;
467*437bfbebSnyanmisaka         RK_U32  sw_filt_mb_adj_1   : 7;
468*437bfbebSnyanmisaka         RK_U32  sw_filt_mb_adj_0   : 7;
469*437bfbebSnyanmisaka         RK_U32  sw_filt_sharpness  : 3;
470*437bfbebSnyanmisaka         RK_U32  sw_filt_type       : 1;
471*437bfbebSnyanmisaka     } reg132;
472*437bfbebSnyanmisaka 
473*437bfbebSnyanmisaka 
474*437bfbebSnyanmisaka     struct {
475*437bfbebSnyanmisaka         RK_U32  sw_filt_ref_adj_3  : 7;
476*437bfbebSnyanmisaka         RK_U32  sw_filt_ref_adj_2  : 7;
477*437bfbebSnyanmisaka         RK_U32  sw_filt_ref_adj_1  : 7;
478*437bfbebSnyanmisaka         RK_U32  sw_filt_ref_adj_0  : 7;
479*437bfbebSnyanmisaka         RK_U32  sw_reserved        : 4;
480*437bfbebSnyanmisaka     } reg133;
481*437bfbebSnyanmisaka 
482*437bfbebSnyanmisaka     struct {
483*437bfbebSnyanmisaka         RK_U32  sw_ac1_code1_cnt   : 2;
484*437bfbebSnyanmisaka         RK_U32  sw_reserved_1      : 1;
485*437bfbebSnyanmisaka         RK_U32  sw_ac1_code2_cnt   : 3;
486*437bfbebSnyanmisaka         RK_U32  sw_reserved_2      : 1;
487*437bfbebSnyanmisaka         RK_U32  sw_ac1_code3_cnt   : 4;
488*437bfbebSnyanmisaka         RK_U32  sw_ac1_code4_cnt   : 5;
489*437bfbebSnyanmisaka         RK_U32  sw_ac1_code5_cnt   : 6;
490*437bfbebSnyanmisaka         RK_U32  sw_reserved_3      : 2;
491*437bfbebSnyanmisaka         RK_U32  sw_ac1_code6_cnt   : 7;
492*437bfbebSnyanmisaka     } reg134;
493*437bfbebSnyanmisaka 
494*437bfbebSnyanmisaka     struct {
495*437bfbebSnyanmisaka         RK_U32  sw_ac1_code7_cnt   : 8;
496*437bfbebSnyanmisaka         RK_U32  sw_ac1_code8_cnt   : 8;
497*437bfbebSnyanmisaka         RK_U32  sw_ac1_code9_cnt   : 8;
498*437bfbebSnyanmisaka         RK_U32  sw_ac1_code10_cnt  : 8;
499*437bfbebSnyanmisaka     } reg135;
500*437bfbebSnyanmisaka 
501*437bfbebSnyanmisaka     struct {
502*437bfbebSnyanmisaka         RK_U32  sw_ac1_code11_cnt   : 8;
503*437bfbebSnyanmisaka         RK_U32  sw_ac1_code12_cnt   : 8;
504*437bfbebSnyanmisaka         RK_U32  sw_ac1_code13_cnt   : 8;
505*437bfbebSnyanmisaka         RK_U32  sw_ac1_code14_cnt   : 8;
506*437bfbebSnyanmisaka     } reg136;
507*437bfbebSnyanmisaka 
508*437bfbebSnyanmisaka     struct {
509*437bfbebSnyanmisaka         RK_U32  sw_ac1_code15_cnt   : 8;
510*437bfbebSnyanmisaka         RK_U32  sw_ac1_code16_cnt   : 8;
511*437bfbebSnyanmisaka         RK_U32  sw_ac2_code1_cnt    : 2;
512*437bfbebSnyanmisaka         RK_U32  sw_reserved_1       : 1;
513*437bfbebSnyanmisaka         RK_U32  sw_ac2_code2_cnt    : 3;
514*437bfbebSnyanmisaka         RK_U32  sw_reserved_2       : 1;
515*437bfbebSnyanmisaka         RK_U32  sw_ac2_code3_cnt    : 4;
516*437bfbebSnyanmisaka         RK_U32  sw_ac2_code4_cnt    : 5;
517*437bfbebSnyanmisaka     } reg137;
518*437bfbebSnyanmisaka 
519*437bfbebSnyanmisaka     struct {
520*437bfbebSnyanmisaka         RK_U32  sw_ac2_code5_cnt    : 6;
521*437bfbebSnyanmisaka         RK_U32  sw_reserved_1       : 2;
522*437bfbebSnyanmisaka         RK_U32  sw_ac2_code6_cnt    : 7;
523*437bfbebSnyanmisaka         RK_U32  sw_reserved_2       : 1;
524*437bfbebSnyanmisaka         RK_U32  sw_ac2_code7_cnt    : 8;
525*437bfbebSnyanmisaka         RK_U32  sw_ac2_code8_cnt    : 8;
526*437bfbebSnyanmisaka     } reg138;
527*437bfbebSnyanmisaka 
528*437bfbebSnyanmisaka     struct {
529*437bfbebSnyanmisaka         RK_U32  sw_ac2_code9_cnt    : 8;
530*437bfbebSnyanmisaka         RK_U32  sw_ac2_code10_cnt   : 8;
531*437bfbebSnyanmisaka         RK_U32  sw_ac2_code11_cnt   : 8;
532*437bfbebSnyanmisaka         RK_U32  sw_ac2_code12_cnt   : 8;
533*437bfbebSnyanmisaka     } reg139;
534*437bfbebSnyanmisaka 
535*437bfbebSnyanmisaka     struct {
536*437bfbebSnyanmisaka         RK_U32  sw_ac2_code13_cnt   : 8;
537*437bfbebSnyanmisaka         RK_U32  sw_ac2_code14_cnt   : 8;
538*437bfbebSnyanmisaka         RK_U32  sw_ac2_code15_cnt   : 8;
539*437bfbebSnyanmisaka         RK_U32  sw_ac2_code16_cnt   : 8;
540*437bfbebSnyanmisaka     } reg140;
541*437bfbebSnyanmisaka 
542*437bfbebSnyanmisaka     struct {
543*437bfbebSnyanmisaka         RK_U32  sw_dc1_code1_cnt    : 2;
544*437bfbebSnyanmisaka         RK_U32  sw_reserved_1       : 2;
545*437bfbebSnyanmisaka         RK_U32  sw_dc1_code2_cnt    : 3;
546*437bfbebSnyanmisaka         RK_U32  sw_reserved_2       : 1;
547*437bfbebSnyanmisaka         RK_U32  sw_dc1_code3_cnt    : 4;
548*437bfbebSnyanmisaka         RK_U32  sw_dc1_code4_cnt    : 4;
549*437bfbebSnyanmisaka         RK_U32  sw_dc1_code5_cnt    : 4;
550*437bfbebSnyanmisaka         RK_U32  sw_dc1_code6_cnt    : 4;
551*437bfbebSnyanmisaka         RK_U32  sw_dc1_code7_cnt    : 4;
552*437bfbebSnyanmisaka         RK_U32  sw_dc1_code8_cnt    : 4;
553*437bfbebSnyanmisaka     } reg141;
554*437bfbebSnyanmisaka 
555*437bfbebSnyanmisaka     struct {
556*437bfbebSnyanmisaka         RK_U32  sw_dc1_code9_cnt     : 4;
557*437bfbebSnyanmisaka         RK_U32  sw_dc1_code10_cnt    : 4;
558*437bfbebSnyanmisaka         RK_U32  sw_dc1_code11_cnt    : 4;
559*437bfbebSnyanmisaka         RK_U32  sw_dc1_code12_cnt    : 4;
560*437bfbebSnyanmisaka         RK_U32  sw_dc1_code13_cnt    : 4;
561*437bfbebSnyanmisaka         RK_U32  sw_dc1_code14_cnt    : 4;
562*437bfbebSnyanmisaka         RK_U32  sw_dc1_code15_cnt    : 4;
563*437bfbebSnyanmisaka         RK_U32  sw_dc1_code16_cnt    : 4;
564*437bfbebSnyanmisaka     } reg142;
565*437bfbebSnyanmisaka 
566*437bfbebSnyanmisaka     struct {
567*437bfbebSnyanmisaka         RK_U32  sw_dc2_code1_cnt    : 2;
568*437bfbebSnyanmisaka         RK_U32  sw_reserved_1       : 2;
569*437bfbebSnyanmisaka         RK_U32  sw_dc2_code2_cnt    : 3;
570*437bfbebSnyanmisaka         RK_U32  sw_reserved_2       : 1;
571*437bfbebSnyanmisaka         RK_U32  sw_dc2_code3_cnt    : 4;
572*437bfbebSnyanmisaka         RK_U32  sw_dc2_code4_cnt    : 4;
573*437bfbebSnyanmisaka         RK_U32  sw_dc2_code5_cnt    : 4;
574*437bfbebSnyanmisaka         RK_U32  sw_dc2_code6_cnt    : 4;
575*437bfbebSnyanmisaka         RK_U32  sw_dc2_code7_cnt    : 4;
576*437bfbebSnyanmisaka         RK_U32  sw_dc2_code8_cnt    : 4;
577*437bfbebSnyanmisaka     } reg143;
578*437bfbebSnyanmisaka 
579*437bfbebSnyanmisaka     struct {
580*437bfbebSnyanmisaka         RK_U32  sw_dc2_code9_cnt     : 4;
581*437bfbebSnyanmisaka         RK_U32  sw_dc2_code10_cnt    : 4;
582*437bfbebSnyanmisaka         RK_U32  sw_dc2_code11_cnt    : 4;
583*437bfbebSnyanmisaka         RK_U32  sw_dc2_code12_cnt    : 4;
584*437bfbebSnyanmisaka         RK_U32  sw_dc2_code13_cnt    : 4;
585*437bfbebSnyanmisaka         RK_U32  sw_dc2_code14_cnt    : 4;
586*437bfbebSnyanmisaka         RK_U32  sw_dc2_code15_cnt    : 4;
587*437bfbebSnyanmisaka         RK_U32  sw_dc2_code16_cnt    : 4;
588*437bfbebSnyanmisaka     } reg144;
589*437bfbebSnyanmisaka 
590*437bfbebSnyanmisaka     RK_U32 reg145_bitpl_ctrl_base;
591*437bfbebSnyanmisaka     RK_U32 reg_dct_strm1_base[2];
592*437bfbebSnyanmisaka 
593*437bfbebSnyanmisaka     struct {
594*437bfbebSnyanmisaka         RK_U32  sw_slice_h           : 8;
595*437bfbebSnyanmisaka         RK_U32  sw_reserved_1        : 12;
596*437bfbebSnyanmisaka         RK_U32  sw_jpeg_height8_flag : 1;
597*437bfbebSnyanmisaka         RK_U32  sw_syn_marker_e      : 1;
598*437bfbebSnyanmisaka         RK_U32  sw_reserved_2        : 10;
599*437bfbebSnyanmisaka     } reg148;
600*437bfbebSnyanmisaka 
601*437bfbebSnyanmisaka     RK_U32 reg149_segment_map_base;
602*437bfbebSnyanmisaka 
603*437bfbebSnyanmisaka     struct {
604*437bfbebSnyanmisaka         RK_U32  sw_dct_start_bit_7   : 6;
605*437bfbebSnyanmisaka         RK_U32  sw_dct_start_bit_6   : 6;
606*437bfbebSnyanmisaka         RK_U32  sw_dct_start_bit_5   : 6;
607*437bfbebSnyanmisaka         RK_U32  sw_dct_start_bit_4   : 6;
608*437bfbebSnyanmisaka         RK_U32  sw_dct_start_bit_3   : 6;
609*437bfbebSnyanmisaka         RK_U32  sw_reserved          : 2;
610*437bfbebSnyanmisaka     } reg150;
611*437bfbebSnyanmisaka 
612*437bfbebSnyanmisaka     struct {
613*437bfbebSnyanmisaka         RK_U32  sw_quant_3         : 11;
614*437bfbebSnyanmisaka         RK_U32  sw_quant_2         : 11;
615*437bfbebSnyanmisaka         RK_U32  sw_quant_delta_3   : 5;
616*437bfbebSnyanmisaka         RK_U32  sw_quant_delta_2   : 5;
617*437bfbebSnyanmisaka     } reg151;
618*437bfbebSnyanmisaka 
619*437bfbebSnyanmisaka     struct {
620*437bfbebSnyanmisaka         RK_U32  sw_quant_5         : 11;
621*437bfbebSnyanmisaka         RK_U32  sw_quant_4         : 11;
622*437bfbebSnyanmisaka         RK_U32  sw_quant_delta_4   : 5;
623*437bfbebSnyanmisaka         RK_U32  sw_reserved        : 5;
624*437bfbebSnyanmisaka     } reg152;
625*437bfbebSnyanmisaka 
626*437bfbebSnyanmisaka     struct {
627*437bfbebSnyanmisaka         RK_U32  resever              : 2;
628*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_1_1   : 10;
629*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_1_0   : 10;
630*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_0_3   : 10;
631*437bfbebSnyanmisaka     } reg153;
632*437bfbebSnyanmisaka 
633*437bfbebSnyanmisaka     struct {
634*437bfbebSnyanmisaka         RK_U32  resever              : 2;
635*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_2_0   : 10;
636*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_1_3   : 10;
637*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_1_2   : 10;
638*437bfbebSnyanmisaka     } reg154;
639*437bfbebSnyanmisaka 
640*437bfbebSnyanmisaka     struct {
641*437bfbebSnyanmisaka         RK_U32  resever              : 2;
642*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_2_3   : 10;
643*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_2_2   : 10;
644*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_2_1   : 10;
645*437bfbebSnyanmisaka     } reg155;
646*437bfbebSnyanmisaka 
647*437bfbebSnyanmisaka     struct {
648*437bfbebSnyanmisaka         RK_U32  resever              : 2;
649*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_3_2   : 10;
650*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_3_1   : 10;
651*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_3_0   : 10;
652*437bfbebSnyanmisaka     } reg156;
653*437bfbebSnyanmisaka 
654*437bfbebSnyanmisaka     struct {
655*437bfbebSnyanmisaka         RK_U32  resever              : 2;
656*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_4_1   : 10;
657*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_4_0   : 10;
658*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_3_3   : 10;
659*437bfbebSnyanmisaka     } reg157;
660*437bfbebSnyanmisaka 
661*437bfbebSnyanmisaka     struct {
662*437bfbebSnyanmisaka         RK_U32  resever              : 2;
663*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_5_0   : 10;
664*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_4_3   : 10;
665*437bfbebSnyanmisaka         RK_U32  sw_pred_bc_tap_4_2   : 10;
666*437bfbebSnyanmisaka     } reg158;
667*437bfbebSnyanmisaka } JpegRegSet;
668*437bfbebSnyanmisaka 
669*437bfbebSnyanmisaka typedef struct JpegdIocRegInfo_t {
670*437bfbebSnyanmisaka     JpegRegSet             regs;
671*437bfbebSnyanmisaka 
672*437bfbebSnyanmisaka     /* vepu_reg_num - vdpu_reg_num */
673*437bfbebSnyanmisaka     RK_U32                 regs_diff[184 - JPEGD_REG_NUM];
674*437bfbebSnyanmisaka     RK_U8                  extra_info[EXTRA_INFO_SIZE];
675*437bfbebSnyanmisaka } JpegdIocRegInfo;
676*437bfbebSnyanmisaka 
677*437bfbebSnyanmisaka #endif /* __HAL_JPEGD_VDPU2_REG_H__ */
678