xref: /rockchip-linux_mpp/mpp/hal/rkdec/vp9d/hal_vp9d_rkv_reg.h (revision 437bfbeb9567cca9cd9080e3f6954aa9d6a94f18)
1*437bfbebSnyanmisaka /*
2*437bfbebSnyanmisaka  * Copyright 2020 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_VP9D_REG_H__
18*437bfbebSnyanmisaka #define __HAL_VP9D_REG_H__
19*437bfbebSnyanmisaka 
20*437bfbebSnyanmisaka #include "rk_type.h"
21*437bfbebSnyanmisaka 
22*437bfbebSnyanmisaka typedef struct {
23*437bfbebSnyanmisaka     struct {
24*437bfbebSnyanmisaka         RK_U32   minor_ver   : 8;
25*437bfbebSnyanmisaka         RK_U32    level       : 1;
26*437bfbebSnyanmisaka         RK_U32    dec_support : 3;
27*437bfbebSnyanmisaka         RK_U32    profile     : 1;
28*437bfbebSnyanmisaka         RK_U32    reserve0    : 1;
29*437bfbebSnyanmisaka         RK_U32    codec_flag  : 1;
30*437bfbebSnyanmisaka         RK_U32    reserve1    : 1;
31*437bfbebSnyanmisaka         RK_U32    prod_num    : 16;
32*437bfbebSnyanmisaka     } swreg0_id;
33*437bfbebSnyanmisaka 
34*437bfbebSnyanmisaka     struct {
35*437bfbebSnyanmisaka         RK_U32    sw_dec_e                        : 1;//0
36*437bfbebSnyanmisaka         RK_U32    sw_dec_clkgate_e                : 1; // 1
37*437bfbebSnyanmisaka         RK_U32    reserve0                        : 1;// 2
38*437bfbebSnyanmisaka         RK_U32    sw_timeout_mode                 : 1; // 3
39*437bfbebSnyanmisaka         RK_U32    sw_dec_irq_dis                  : 1;//4    // 4
40*437bfbebSnyanmisaka         RK_U32    sw_dec_timeout_e                : 1; //5
41*437bfbebSnyanmisaka         RK_U32    sw_buf_empty_en                 : 1; // 6
42*437bfbebSnyanmisaka         RK_U32    sw_stmerror_waitdecfifo_empty   : 1; // 7
43*437bfbebSnyanmisaka         RK_U32    sw_dec_irq                      : 1; // 8
44*437bfbebSnyanmisaka         RK_U32    sw_dec_irq_raw                  : 1; // 9
45*437bfbebSnyanmisaka         RK_U32    reserve2                        : 2;
46*437bfbebSnyanmisaka         RK_U32    sw_dec_rdy_sta                  : 1; //12
47*437bfbebSnyanmisaka         RK_U32    sw_dec_bus_sta                  : 1; //13
48*437bfbebSnyanmisaka         RK_U32    sw_dec_error_sta                : 1; // 14
49*437bfbebSnyanmisaka         RK_U32    sw_dec_timeout_sta              : 1; //15
50*437bfbebSnyanmisaka         RK_U32    sw_dec_empty_sta                : 1; // 16
51*437bfbebSnyanmisaka         RK_U32    sw_colmv_ref_error_sta          : 1; // 17
52*437bfbebSnyanmisaka         RK_U32    sw_cabu_end_sta                 : 1; // 18
53*437bfbebSnyanmisaka         RK_U32    sw_h264orvp9_error_mode         : 1; //19
54*437bfbebSnyanmisaka         RK_U32    sw_softrst_en_p                 : 1; //20
55*437bfbebSnyanmisaka         RK_U32    sw_force_softreset_valid        : 1; //21
56*437bfbebSnyanmisaka         RK_U32    sw_softreset_rdy                : 1; // 22
57*437bfbebSnyanmisaka     } swreg1_int;
58*437bfbebSnyanmisaka 
59*437bfbebSnyanmisaka     struct {
60*437bfbebSnyanmisaka         RK_U32    sw_in_endian                    : 1;
61*437bfbebSnyanmisaka         RK_U32    sw_in_swap32_e                  : 1;
62*437bfbebSnyanmisaka         RK_U32    sw_in_swap64_e                  : 1;
63*437bfbebSnyanmisaka         RK_U32    sw_str_endian                   : 1;
64*437bfbebSnyanmisaka         RK_U32    sw_str_swap32_e                 : 1;
65*437bfbebSnyanmisaka         RK_U32    sw_str_swap64_e                 : 1;
66*437bfbebSnyanmisaka         RK_U32    sw_out_endian                   : 1;
67*437bfbebSnyanmisaka         RK_U32    sw_out_swap32_e                 : 1;
68*437bfbebSnyanmisaka         RK_U32    sw_out_cbcr_swap                : 1;
69*437bfbebSnyanmisaka         RK_U32    reserve0                        : 1;
70*437bfbebSnyanmisaka         RK_U32    sw_rlc_mode_direct_write        : 1;
71*437bfbebSnyanmisaka         RK_U32    sw_rlc_mode                     : 1;
72*437bfbebSnyanmisaka         RK_U32    sw_strm_start_bit               : 7;
73*437bfbebSnyanmisaka         RK_U32    reserve1                        : 1;
74*437bfbebSnyanmisaka         RK_U32    sw_dec_mode                     : 2;
75*437bfbebSnyanmisaka         RK_U32    reserve2                        : 2;
76*437bfbebSnyanmisaka         RK_U32    sw_h264_rps_mode                : 1;
77*437bfbebSnyanmisaka         RK_U32    sw_h264_stream_mode             : 1;
78*437bfbebSnyanmisaka         RK_U32    sw_h264_stream_lastpacket       : 1;
79*437bfbebSnyanmisaka         RK_U32    sw_h264_firstslice_flag         : 1;
80*437bfbebSnyanmisaka         RK_U32    sw_h264_frame_orslice           : 1;
81*437bfbebSnyanmisaka         RK_U32    sw_buspr_slot_disable           : 1;
82*437bfbebSnyanmisaka         RK_U32  reserve3                        : 2;
83*437bfbebSnyanmisaka     } swreg2_sysctrl;
84*437bfbebSnyanmisaka 
85*437bfbebSnyanmisaka     struct {
86*437bfbebSnyanmisaka         RK_U32    sw_y_hor_virstride              : 9;
87*437bfbebSnyanmisaka         RK_U32    reserve                         : 2;
88*437bfbebSnyanmisaka         RK_U32    sw_slice_num_highbit            : 1;
89*437bfbebSnyanmisaka         RK_U32    sw_uv_hor_virstride             : 9;
90*437bfbebSnyanmisaka         RK_U32    sw_slice_num_lowbits            : 11;
91*437bfbebSnyanmisaka     } swreg3_picpar;
92*437bfbebSnyanmisaka 
93*437bfbebSnyanmisaka     RK_U32 swreg4_strm_rlc_base;
94*437bfbebSnyanmisaka     RK_U32 swreg5_stream_len;
95*437bfbebSnyanmisaka     RK_U32 swreg6_cabactbl_prob_base;
96*437bfbebSnyanmisaka     RK_U32 swreg7_decout_base;
97*437bfbebSnyanmisaka 
98*437bfbebSnyanmisaka     struct {
99*437bfbebSnyanmisaka         RK_U32    sw_y_virstride                  : 20;
100*437bfbebSnyanmisaka         RK_U32    reverse0                        : 12;
101*437bfbebSnyanmisaka     } swreg8_y_virstride;
102*437bfbebSnyanmisaka 
103*437bfbebSnyanmisaka     struct {
104*437bfbebSnyanmisaka         RK_U32    sw_yuv_virstride                : 21;
105*437bfbebSnyanmisaka         RK_U32    reverse                         : 11;
106*437bfbebSnyanmisaka     } swreg9_yuv_virstride;
107*437bfbebSnyanmisaka 
108*437bfbebSnyanmisaka 
109*437bfbebSnyanmisaka     //only for vp9
110*437bfbebSnyanmisaka     struct {
111*437bfbebSnyanmisaka         RK_U32    sw_vp9_cprheader_offset         : 16;
112*437bfbebSnyanmisaka         RK_U32    reverse                         : 16;
113*437bfbebSnyanmisaka     } swreg10_vp9_cprheader_offset;
114*437bfbebSnyanmisaka 
115*437bfbebSnyanmisaka     RK_U32 swreg11_vp9_referlast_base;
116*437bfbebSnyanmisaka     RK_U32 swreg12_vp9_refergolden_base;
117*437bfbebSnyanmisaka     RK_U32 swreg13_vp9_referalfter_base;
118*437bfbebSnyanmisaka     RK_U32 swreg14_vp9_count_base;
119*437bfbebSnyanmisaka     RK_U32 swreg15_vp9_segidlast_base;
120*437bfbebSnyanmisaka     RK_U32 swreg16_vp9_segidcur_base;
121*437bfbebSnyanmisaka 
122*437bfbebSnyanmisaka     struct {
123*437bfbebSnyanmisaka         RK_U32    sw_framewidth_last              : 16;
124*437bfbebSnyanmisaka         RK_U32    sw_frameheight_last             : 16;
125*437bfbebSnyanmisaka     } swreg17_vp9_frame_size_last;
126*437bfbebSnyanmisaka 
127*437bfbebSnyanmisaka     struct {
128*437bfbebSnyanmisaka         RK_U32    sw_framewidth_golden            : 16;
129*437bfbebSnyanmisaka         RK_U32    sw_frameheight_golden           : 16;
130*437bfbebSnyanmisaka     } swreg18_vp9_frame_size_golden;
131*437bfbebSnyanmisaka 
132*437bfbebSnyanmisaka 
133*437bfbebSnyanmisaka     struct {
134*437bfbebSnyanmisaka         RK_U32    sw_framewidth_alfter            : 16;
135*437bfbebSnyanmisaka         RK_U32    sw_frameheight_alfter           : 16;
136*437bfbebSnyanmisaka     } swreg19_vp9_frame_size_altref;
137*437bfbebSnyanmisaka 
138*437bfbebSnyanmisaka 
139*437bfbebSnyanmisaka     struct {
140*437bfbebSnyanmisaka         RK_U32    sw_vp9segid_abs_delta                      : 1; //NOTE: only in reg#20, this bit is valid.
141*437bfbebSnyanmisaka         RK_U32    sw_vp9segid_frame_qp_delta_en              : 1;
142*437bfbebSnyanmisaka         RK_U32    sw_vp9segid_frame_qp_delta                 : 9;
143*437bfbebSnyanmisaka         RK_U32    sw_vp9segid_frame_loopfitler_value_en      : 1;
144*437bfbebSnyanmisaka         RK_U32    sw_vp9segid_frame_loopfilter_value         : 7;
145*437bfbebSnyanmisaka         RK_U32    sw_vp9segid_referinfo_en                   : 1;
146*437bfbebSnyanmisaka         RK_U32    sw_vp9segid_referinfo                      : 2;
147*437bfbebSnyanmisaka         RK_U32    sw_vp9segid_frame_skip_en                  : 1;
148*437bfbebSnyanmisaka         RK_U32    reverse                                    : 9;
149*437bfbebSnyanmisaka     } swreg20_27_vp9_segid_grp[8];
150*437bfbebSnyanmisaka 
151*437bfbebSnyanmisaka 
152*437bfbebSnyanmisaka     struct {
153*437bfbebSnyanmisaka         RK_U32    sw_vp9_tx_mode                              : 3;
154*437bfbebSnyanmisaka         RK_U32    sw_vp9_frame_reference_mode                 : 2;
155*437bfbebSnyanmisaka         RK_U32    reserved                                    : 27;
156*437bfbebSnyanmisaka     } swreg28_vp9_cprheader_config;
157*437bfbebSnyanmisaka 
158*437bfbebSnyanmisaka 
159*437bfbebSnyanmisaka     struct {
160*437bfbebSnyanmisaka         RK_U32    sw_vp9_lref_hor_scale                       : 16;
161*437bfbebSnyanmisaka         RK_U32    sw_vp9_lref_ver_scale                       : 16;
162*437bfbebSnyanmisaka     } swreg29_vp9_lref_scale;
163*437bfbebSnyanmisaka 
164*437bfbebSnyanmisaka     struct {
165*437bfbebSnyanmisaka         RK_U32    sw_vp9_gref_hor_scale                       : 16;
166*437bfbebSnyanmisaka         RK_U32    sw_vp9_gref_ver_scale                       : 16;
167*437bfbebSnyanmisaka     } swreg30_vp9_gref_scale;
168*437bfbebSnyanmisaka 
169*437bfbebSnyanmisaka     struct {
170*437bfbebSnyanmisaka         RK_U32    sw_vp9_aref_hor_scale                       : 16;
171*437bfbebSnyanmisaka         RK_U32    sw_vp9_aref_ver_scale                       : 16;
172*437bfbebSnyanmisaka     } swreg31_vp9_aref_scale;
173*437bfbebSnyanmisaka 
174*437bfbebSnyanmisaka     struct {
175*437bfbebSnyanmisaka         RK_U32    sw_vp9_ref_deltas_lastframe                 : 28;
176*437bfbebSnyanmisaka         RK_U32    reserve                                     : 4;
177*437bfbebSnyanmisaka     } swreg32_vp9_ref_deltas_lastframe;
178*437bfbebSnyanmisaka 
179*437bfbebSnyanmisaka     struct {
180*437bfbebSnyanmisaka         RK_U32    sw_vp9_mode_deltas_lastframe                : 14;
181*437bfbebSnyanmisaka         RK_U32    reserve0                                    : 2;
182*437bfbebSnyanmisaka         RK_U32    sw_segmentation_enable_lstframe             : 1;
183*437bfbebSnyanmisaka         RK_U32    sw_vp9_last_show_frame                      : 1;
184*437bfbebSnyanmisaka         RK_U32    sw_vp9_last_intra_only                      : 1;
185*437bfbebSnyanmisaka         RK_U32    sw_vp9_last_widthheight_eqcur               : 1;
186*437bfbebSnyanmisaka         RK_U32    sw_vp9_color_space_lastkeyframe             : 3;
187*437bfbebSnyanmisaka         RK_U32    reserve1                                    : 9;
188*437bfbebSnyanmisaka     } swreg33_vp9_info_lastframe;
189*437bfbebSnyanmisaka 
190*437bfbebSnyanmisaka     RK_U32 swreg34_vp9_intercmd_base;
191*437bfbebSnyanmisaka 
192*437bfbebSnyanmisaka     struct {
193*437bfbebSnyanmisaka         RK_U32    sw_vp9_intercmd_num                         : 24;
194*437bfbebSnyanmisaka         RK_U32    reserve                                     : 8;
195*437bfbebSnyanmisaka     } swreg35_vp9_intercmd_num;
196*437bfbebSnyanmisaka 
197*437bfbebSnyanmisaka     struct {
198*437bfbebSnyanmisaka         RK_U32    sw_vp9_lasttile_size                        : 24;
199*437bfbebSnyanmisaka         RK_U32    reserve                                     : 8;
200*437bfbebSnyanmisaka     } swreg36_vp9_lasttile_size;
201*437bfbebSnyanmisaka 
202*437bfbebSnyanmisaka     struct {
203*437bfbebSnyanmisaka         RK_U32    sw_vp9_lastfy_hor_virstride                 : 9;
204*437bfbebSnyanmisaka         RK_U32    reserve0                                    : 7;
205*437bfbebSnyanmisaka         RK_U32    sw_vp9_lastfuv_hor_virstride                : 9;
206*437bfbebSnyanmisaka         RK_U32    reserve1                                    : 7;
207*437bfbebSnyanmisaka     } swreg37_vp9_lastf_hor_virstride;
208*437bfbebSnyanmisaka 
209*437bfbebSnyanmisaka     struct {
210*437bfbebSnyanmisaka         RK_U32    sw_vp9_goldenfy_hor_virstride               : 9;
211*437bfbebSnyanmisaka         RK_U32    reserve0                                    : 7;
212*437bfbebSnyanmisaka         RK_U32    sw_vp9_goldenuv_hor_virstride               : 9;
213*437bfbebSnyanmisaka         RK_U32    reserve1                                    : 7;
214*437bfbebSnyanmisaka     } swreg38_vp9_goldenf_hor_virstride;
215*437bfbebSnyanmisaka 
216*437bfbebSnyanmisaka     struct {
217*437bfbebSnyanmisaka         RK_U32    sw_vp9_altreffy_hor_virstride               : 9;
218*437bfbebSnyanmisaka         RK_U32    reserve0                                    : 7;
219*437bfbebSnyanmisaka         RK_U32    sw_vp9_altreffuv_hor_virstride              : 9;
220*437bfbebSnyanmisaka         RK_U32    reserve1                                    : 7;
221*437bfbebSnyanmisaka     } swreg39_vp9_altreff_hor_virstride;
222*437bfbebSnyanmisaka 
223*437bfbebSnyanmisaka     struct {
224*437bfbebSnyanmisaka         RK_U32 sw_cur_poc                                     : 32;
225*437bfbebSnyanmisaka     } swreg40_cur_poc;
226*437bfbebSnyanmisaka 
227*437bfbebSnyanmisaka     struct {
228*437bfbebSnyanmisaka         RK_U32 reserve                                        : 3;
229*437bfbebSnyanmisaka         RK_U32 sw_rlcwrite_base                               : 29;
230*437bfbebSnyanmisaka     } swreg41_rlcwrite_base;
231*437bfbebSnyanmisaka 
232*437bfbebSnyanmisaka     struct {
233*437bfbebSnyanmisaka         RK_U32 reserve                                        : 4;
234*437bfbebSnyanmisaka         RK_U32 sw_pps_base                                    : 28;
235*437bfbebSnyanmisaka     } swreg42_pps_base;
236*437bfbebSnyanmisaka 
237*437bfbebSnyanmisaka     struct {
238*437bfbebSnyanmisaka         RK_U32 reserve                                        : 4;
239*437bfbebSnyanmisaka         RK_U32 sw_rps_base                                    : 28;
240*437bfbebSnyanmisaka     } swreg43_rps_base;
241*437bfbebSnyanmisaka 
242*437bfbebSnyanmisaka     struct {
243*437bfbebSnyanmisaka         RK_U32 sw_strmd_error_e                               : 28;
244*437bfbebSnyanmisaka         RK_U32 reserve                                        : 4;
245*437bfbebSnyanmisaka     } swreg44_strmd_error_en;
246*437bfbebSnyanmisaka 
247*437bfbebSnyanmisaka     struct {
248*437bfbebSnyanmisaka         RK_U32 vp9_error_info0                                : 32;
249*437bfbebSnyanmisaka     } swreg45_vp9_error_info0;
250*437bfbebSnyanmisaka 
251*437bfbebSnyanmisaka     struct {
252*437bfbebSnyanmisaka         RK_U32 sw_strmd_error_ctu_xoffset                     : 8;
253*437bfbebSnyanmisaka         RK_U32 sw_strmd_error_ctu_yoffset                     : 8;
254*437bfbebSnyanmisaka         RK_U32 sw_streamfifo_space2full                       : 7;
255*437bfbebSnyanmisaka         RK_U32 reserve                                        : 1;
256*437bfbebSnyanmisaka         RK_U32 sw_vp9_error_ctu0_en                           : 1;
257*437bfbebSnyanmisaka     } swreg46_strmd_error_ctu;
258*437bfbebSnyanmisaka 
259*437bfbebSnyanmisaka     struct {
260*437bfbebSnyanmisaka         RK_U32 sw_saowr_xoffet                                : 9;
261*437bfbebSnyanmisaka         RK_U32 reserve                                        : 7;
262*437bfbebSnyanmisaka         RK_U32 sw_saowr_yoffset                               : 10;
263*437bfbebSnyanmisaka     } swreg47_sao_ctu_position;
264*437bfbebSnyanmisaka 
265*437bfbebSnyanmisaka     struct {
266*437bfbebSnyanmisaka         RK_U32 sw_vp9_lastfy_virstride                        : 20;
267*437bfbebSnyanmisaka         RK_U32 reserve                                        : 12;
268*437bfbebSnyanmisaka     } swreg48_vp9_last_ystride;
269*437bfbebSnyanmisaka 
270*437bfbebSnyanmisaka     struct {
271*437bfbebSnyanmisaka         RK_U32 sw_vp9_goldeny_virstride                       : 20;
272*437bfbebSnyanmisaka         RK_U32 reserve                                        : 12;
273*437bfbebSnyanmisaka     } swreg49_vp9_golden_ystride;
274*437bfbebSnyanmisaka 
275*437bfbebSnyanmisaka     struct {
276*437bfbebSnyanmisaka         RK_U32 sw_vp9_altrefy_virstride                       : 20;
277*437bfbebSnyanmisaka         RK_U32 reserve                                        : 12;
278*437bfbebSnyanmisaka     } swreg50_vp9_altrefy_ystride;
279*437bfbebSnyanmisaka 
280*437bfbebSnyanmisaka     struct {
281*437bfbebSnyanmisaka         RK_U32 sw_vp9_lastref_yuv_virstride                   : 21;
282*437bfbebSnyanmisaka         RK_U32 reserve                                        : 11;
283*437bfbebSnyanmisaka     } swreg51_vp9_lastref_yuvstride;
284*437bfbebSnyanmisaka 
285*437bfbebSnyanmisaka 
286*437bfbebSnyanmisaka     RK_U32 swreg52_vp9_refcolmv_base;
287*437bfbebSnyanmisaka 
288*437bfbebSnyanmisaka     RK_U32 reg_not_use0[64 - 52 - 1];
289*437bfbebSnyanmisaka 
290*437bfbebSnyanmisaka     struct {
291*437bfbebSnyanmisaka         RK_U32 sw_performance_cycle                           : 32;
292*437bfbebSnyanmisaka     } swreg64_performance_cycle;
293*437bfbebSnyanmisaka 
294*437bfbebSnyanmisaka     struct {
295*437bfbebSnyanmisaka         RK_U32 sw_axi_ddr_rdata                               : 32;
296*437bfbebSnyanmisaka     } swreg65_axi_ddr_rdata;
297*437bfbebSnyanmisaka 
298*437bfbebSnyanmisaka     struct {
299*437bfbebSnyanmisaka         RK_U32 sw_axi_ddr_wdata                               : 32;
300*437bfbebSnyanmisaka     } swreg66_axi_ddr_wdata;
301*437bfbebSnyanmisaka 
302*437bfbebSnyanmisaka     struct {
303*437bfbebSnyanmisaka         RK_U32 sw_busifd_resetn                               : 1;
304*437bfbebSnyanmisaka         RK_U32 sw_cabac_resetn                                : 1;
305*437bfbebSnyanmisaka         RK_U32 sw_dec_ctrl_resetn                             : 1;
306*437bfbebSnyanmisaka         RK_U32 sw_transd_resetn                               : 1;
307*437bfbebSnyanmisaka         RK_U32 sw_intra_resetn                                : 1;
308*437bfbebSnyanmisaka         RK_U32 sw_inter_resetn                                : 1;
309*437bfbebSnyanmisaka         RK_U32 sw_recon_resetn                                : 1;
310*437bfbebSnyanmisaka         RK_U32 sw_filer_resetn                                : 1;
311*437bfbebSnyanmisaka     } swreg67_fpgadebug_reset;
312*437bfbebSnyanmisaka 
313*437bfbebSnyanmisaka     struct {
314*437bfbebSnyanmisaka         RK_U32 perf_cnt0_sel  : 6;
315*437bfbebSnyanmisaka         RK_U32 reserve0       : 2;
316*437bfbebSnyanmisaka         RK_U32 perf_cnt1_sel  : 6;
317*437bfbebSnyanmisaka         RK_U32 reserve1       : 2;
318*437bfbebSnyanmisaka         RK_U32 perf_cnt2_sel  : 6;
319*437bfbebSnyanmisaka     } swreg68_performance_sel;
320*437bfbebSnyanmisaka 
321*437bfbebSnyanmisaka     struct {
322*437bfbebSnyanmisaka         RK_U32 perf_cnt0 : 32;
323*437bfbebSnyanmisaka     } swreg69_performance_cnt0;
324*437bfbebSnyanmisaka 
325*437bfbebSnyanmisaka     struct {
326*437bfbebSnyanmisaka         RK_U32 perf_cnt1 : 32;
327*437bfbebSnyanmisaka     } swreg70_performance_cnt1;
328*437bfbebSnyanmisaka 
329*437bfbebSnyanmisaka     struct {
330*437bfbebSnyanmisaka         RK_U32 perf_cnt2 : 32;
331*437bfbebSnyanmisaka     } swreg71_performance_cnt2;
332*437bfbebSnyanmisaka 
333*437bfbebSnyanmisaka     RK_U32 reg_not_use1[74 - 71 - 1];
334*437bfbebSnyanmisaka 
335*437bfbebSnyanmisaka     struct {
336*437bfbebSnyanmisaka         RK_U32 sw_h264_cur_poc1 : 32;
337*437bfbebSnyanmisaka     } swreg74_h264_cur_poc1;
338*437bfbebSnyanmisaka 
339*437bfbebSnyanmisaka     struct {
340*437bfbebSnyanmisaka         RK_U32 vp9_error_info1 : 32;
341*437bfbebSnyanmisaka     } swreg75_vp9_error_info1;
342*437bfbebSnyanmisaka 
343*437bfbebSnyanmisaka     struct {
344*437bfbebSnyanmisaka         RK_U32 vp9_error_ctu1_x       : 6;
345*437bfbebSnyanmisaka         RK_U32 reserve0               : 2;
346*437bfbebSnyanmisaka         RK_U32 vp9_error_ctu1_y       : 6;
347*437bfbebSnyanmisaka         RK_U32 reserve1               : 1;
348*437bfbebSnyanmisaka         RK_U32 vp9_error_ctu1_en      : 1;
349*437bfbebSnyanmisaka         RK_U32 reserve2               : 16;
350*437bfbebSnyanmisaka     } swreg76_vp9_error_ctu1;
351*437bfbebSnyanmisaka 
352*437bfbebSnyanmisaka     RK_U32 reg_not_use2;
353*437bfbebSnyanmisaka } VP9_REGS;
354*437bfbebSnyanmisaka 
355*437bfbebSnyanmisaka #endif
356