xref: /rockchip-linux_mpp/mpp/hal/rkenc/h265e/hal_h265e_vepu580_reg.h (revision 437bfbeb9567cca9cd9080e3f6954aa9d6a94f18)
1*437bfbebSnyanmisaka /*
2*437bfbebSnyanmisaka  * Copyright 2021 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_H265E_VEPU580_REG_H__
18*437bfbebSnyanmisaka #define __HAL_H265E_VEPU580_REG_H__
19*437bfbebSnyanmisaka 
20*437bfbebSnyanmisaka #include "rk_type.h"
21*437bfbebSnyanmisaka 
22*437bfbebSnyanmisaka #define VEPU580_CTL_OFFSET          (0 * sizeof(RK_U32))
23*437bfbebSnyanmisaka #define VEPU580_BASE_OFFSET         (160 * sizeof(RK_U32))
24*437bfbebSnyanmisaka #define VEPU580_RCKULT_OFFSET       (1024 * sizeof(RK_U32))
25*437bfbebSnyanmisaka #define VEPU580_WEG_OFFSET          (1472 * sizeof(RK_U32))
26*437bfbebSnyanmisaka #define VEPU580_RDOCFG_OFFSET       (2048 * sizeof(RK_U32))
27*437bfbebSnyanmisaka #define VEPU580_OSD_OFFSET          (3072 * sizeof(RK_U32))
28*437bfbebSnyanmisaka #define VEPU580_STATUS_OFFSET       (4096 * sizeof(RK_U32))
29*437bfbebSnyanmisaka #define VEPU580_DEBUG_OFFSET        (5120 * sizeof(RK_U32))
30*437bfbebSnyanmisaka #define VEPU580_REG_BASE_HW_STATUS  0x2c
31*437bfbebSnyanmisaka 
32*437bfbebSnyanmisaka /* class: control/link */
33*437bfbebSnyanmisaka /* 0x00000000 reg0 - 0x00000120 reg72 */
34*437bfbebSnyanmisaka typedef struct HevcVepu580ControlCfg_t {
35*437bfbebSnyanmisaka     /* 0x00000000 reg0 */
36*437bfbebSnyanmisaka     struct {
37*437bfbebSnyanmisaka         RK_U32 sub_ver      : 8;
38*437bfbebSnyanmisaka         RK_U32 h264_cap     : 1;
39*437bfbebSnyanmisaka         RK_U32 hevc_cap     : 1;
40*437bfbebSnyanmisaka         RK_U32 reserved     : 2;
41*437bfbebSnyanmisaka         RK_U32 res_cap      : 4;
42*437bfbebSnyanmisaka         RK_U32 osd_cap      : 2;
43*437bfbebSnyanmisaka         RK_U32 filtr_cap    : 2;
44*437bfbebSnyanmisaka         RK_U32 bfrm_cap     : 1;
45*437bfbebSnyanmisaka         RK_U32 fbc_cap      : 2;
46*437bfbebSnyanmisaka         RK_U32 reserved1    : 1;
47*437bfbebSnyanmisaka         RK_U32 ip_id        : 8;
48*437bfbebSnyanmisaka     } reg0001_version;
49*437bfbebSnyanmisaka 
50*437bfbebSnyanmisaka     /* 0x4 - 0xc */
51*437bfbebSnyanmisaka     RK_U32 reserved1_3[3];
52*437bfbebSnyanmisaka 
53*437bfbebSnyanmisaka     /* 0x00000010 reg4 */
54*437bfbebSnyanmisaka     struct {
55*437bfbebSnyanmisaka         RK_U32 lkt_num     : 8;
56*437bfbebSnyanmisaka         RK_U32 vepu_cmd    : 2;
57*437bfbebSnyanmisaka         RK_U32 reserved    : 22;
58*437bfbebSnyanmisaka     } reg0004_enc_strt;
59*437bfbebSnyanmisaka 
60*437bfbebSnyanmisaka     /* 0x00000014 reg5 */
61*437bfbebSnyanmisaka     struct {
62*437bfbebSnyanmisaka         RK_U32 safe_clr     : 1;
63*437bfbebSnyanmisaka         RK_U32 force_clr    : 1;
64*437bfbebSnyanmisaka         RK_U32 reserved     : 30;
65*437bfbebSnyanmisaka     } reg0005_enc_clr;
66*437bfbebSnyanmisaka 
67*437bfbebSnyanmisaka     /* 0x18 - 0x1c */
68*437bfbebSnyanmisaka     RK_U32 reserved6_7[2];
69*437bfbebSnyanmisaka 
70*437bfbebSnyanmisaka     /* 0x00000020 reg8 */
71*437bfbebSnyanmisaka     struct {
72*437bfbebSnyanmisaka         RK_U32 enc_done_en         : 1;
73*437bfbebSnyanmisaka         RK_U32 lkt_node_done_en    : 1;
74*437bfbebSnyanmisaka         RK_U32 sclr_done_en        : 1;
75*437bfbebSnyanmisaka         RK_U32 slc_done_en         : 1;
76*437bfbebSnyanmisaka         RK_U32 bsf_oflw_en         : 1;
77*437bfbebSnyanmisaka         RK_U32 brsp_otsd_en        : 1;
78*437bfbebSnyanmisaka         RK_U32 wbus_err_en         : 1;
79*437bfbebSnyanmisaka         RK_U32 rbus_err_en         : 1;
80*437bfbebSnyanmisaka         RK_U32 wdg_en              : 1;
81*437bfbebSnyanmisaka         RK_U32 lkt_err_int_en      : 1;
82*437bfbebSnyanmisaka         RK_U32 reserved            : 22;
83*437bfbebSnyanmisaka     } reg0008_int_en;
84*437bfbebSnyanmisaka 
85*437bfbebSnyanmisaka     /* 0x00000024 reg9 */
86*437bfbebSnyanmisaka     struct {
87*437bfbebSnyanmisaka         RK_U32 enc_done_msk         : 1;
88*437bfbebSnyanmisaka         RK_U32 lkt_node_done_msk    : 1;
89*437bfbebSnyanmisaka         RK_U32 sclr_done_msk        : 1;
90*437bfbebSnyanmisaka         RK_U32 slc_done_msk         : 1;
91*437bfbebSnyanmisaka         RK_U32 bsf_oflw_msk         : 1;
92*437bfbebSnyanmisaka         RK_U32 brsp_otsd_msk        : 1;
93*437bfbebSnyanmisaka         RK_U32 wbus_err_msk         : 1;
94*437bfbebSnyanmisaka         RK_U32 rbus_err_msk         : 1;
95*437bfbebSnyanmisaka         RK_U32 wdg_msk              : 1;
96*437bfbebSnyanmisaka         RK_U32 lkt_err_msk          : 1;
97*437bfbebSnyanmisaka         RK_U32 reserved             : 22;
98*437bfbebSnyanmisaka     } reg0009_int_msk;
99*437bfbebSnyanmisaka 
100*437bfbebSnyanmisaka     /* 0x00000028 reg10 */
101*437bfbebSnyanmisaka     struct {
102*437bfbebSnyanmisaka         RK_U32 enc_done_clr         : 1;
103*437bfbebSnyanmisaka         RK_U32 lkt_node_done_clr    : 1;
104*437bfbebSnyanmisaka         RK_U32 sclr_done_clr        : 1;
105*437bfbebSnyanmisaka         RK_U32 slc_done_clr         : 1;
106*437bfbebSnyanmisaka         RK_U32 bsf_oflw_clr         : 1;
107*437bfbebSnyanmisaka         RK_U32 brsp_otsd_clr        : 1;
108*437bfbebSnyanmisaka         RK_U32 wbus_err_clr         : 1;
109*437bfbebSnyanmisaka         RK_U32 rbus_err_clr         : 1;
110*437bfbebSnyanmisaka         RK_U32 wdg_clr              : 1;
111*437bfbebSnyanmisaka         RK_U32 lkt_err_clr          : 1;
112*437bfbebSnyanmisaka         RK_U32 reserved             : 22;
113*437bfbebSnyanmisaka     } reg0010_int_clr;
114*437bfbebSnyanmisaka 
115*437bfbebSnyanmisaka     /* 0x0000002c reg11 */
116*437bfbebSnyanmisaka     struct {
117*437bfbebSnyanmisaka         RK_U32 enc_done_sta         : 1;
118*437bfbebSnyanmisaka         RK_U32 lkt_node_done_sta    : 1;
119*437bfbebSnyanmisaka         RK_U32 sclr_done_sta        : 1;
120*437bfbebSnyanmisaka         RK_U32 slc_done_sta         : 1;
121*437bfbebSnyanmisaka         RK_U32 bsf_oflw_sta         : 1;
122*437bfbebSnyanmisaka         RK_U32 brsp_otsd_sta        : 1;
123*437bfbebSnyanmisaka         RK_U32 wbus_err_sta         : 1;
124*437bfbebSnyanmisaka         RK_U32 rbus_err_sta         : 1;
125*437bfbebSnyanmisaka         RK_U32 wdg_sta              : 1;
126*437bfbebSnyanmisaka         RK_U32 lkt_err_sta          : 1;
127*437bfbebSnyanmisaka         RK_U32 reserved             : 22;
128*437bfbebSnyanmisaka     } reg0011_int_sta;
129*437bfbebSnyanmisaka 
130*437bfbebSnyanmisaka     /* 0x00000030 reg12 */
131*437bfbebSnyanmisaka     struct {
132*437bfbebSnyanmisaka         RK_U32 lpfw_bus_ordr        : 1;
133*437bfbebSnyanmisaka         RK_U32 cmvw_bus_ordr        : 1;
134*437bfbebSnyanmisaka         RK_U32 dspw_bus_ordr        : 1;
135*437bfbebSnyanmisaka         RK_U32 rfpw_bus_ordr        : 1;
136*437bfbebSnyanmisaka         RK_U32 src_bus_edin         : 4;
137*437bfbebSnyanmisaka         RK_U32 meiw_bus_edin        : 4;
138*437bfbebSnyanmisaka         RK_U32 bsw_bus_edin         : 3;
139*437bfbebSnyanmisaka         RK_U32 lktr_bus_edin        : 4;
140*437bfbebSnyanmisaka         RK_U32 roir_bus_edin        : 4;
141*437bfbebSnyanmisaka         RK_U32 lktw_bus_edin        : 4;
142*437bfbebSnyanmisaka         RK_U32 afbc_bsize           : 1;
143*437bfbebSnyanmisaka         RK_U32 ebufw_bus_ordr       : 1;
144*437bfbebSnyanmisaka         RK_U32 rec_nfbc_bus_edin    : 3;
145*437bfbebSnyanmisaka     } reg0012_dtrns_map;
146*437bfbebSnyanmisaka 
147*437bfbebSnyanmisaka     /* 0x00000034 reg13 */
148*437bfbebSnyanmisaka     struct {
149*437bfbebSnyanmisaka         RK_U32 reserved        : 7;
150*437bfbebSnyanmisaka         RK_U32 dspr_otsd       : 1;
151*437bfbebSnyanmisaka         RK_U32 reserved1       : 8;
152*437bfbebSnyanmisaka         RK_U32 axi_brsp_cke    : 8;
153*437bfbebSnyanmisaka         RK_U32 reserved2       : 8;
154*437bfbebSnyanmisaka     } reg0013_dtrns_cfg;
155*437bfbebSnyanmisaka 
156*437bfbebSnyanmisaka     /* 0x00000038 reg14 */
157*437bfbebSnyanmisaka     struct {
158*437bfbebSnyanmisaka         RK_U32 vs_load_thd     : 24;
159*437bfbebSnyanmisaka         RK_U32 rfp_load_thd    : 8;
160*437bfbebSnyanmisaka     } reg0014_enc_wdg;
161*437bfbebSnyanmisaka 
162*437bfbebSnyanmisaka     /* 0x0000003c reg15 */
163*437bfbebSnyanmisaka     struct {
164*437bfbebSnyanmisaka         RK_U32 hurry_en      : 1;
165*437bfbebSnyanmisaka         RK_U32 hurry_low     : 3;
166*437bfbebSnyanmisaka         RK_U32 hurry_mid     : 3;
167*437bfbebSnyanmisaka         RK_U32 hurry_high    : 3;
168*437bfbebSnyanmisaka         RK_U32 reserved      : 22;
169*437bfbebSnyanmisaka     } reg0015_qos_cfg;
170*437bfbebSnyanmisaka 
171*437bfbebSnyanmisaka     /* 0x00000040 reg16 */
172*437bfbebSnyanmisaka     struct {
173*437bfbebSnyanmisaka         RK_U32 qos_period    : 16;
174*437bfbebSnyanmisaka         RK_U32 reserved      : 16;
175*437bfbebSnyanmisaka     } reg0016_qos_perd;
176*437bfbebSnyanmisaka 
177*437bfbebSnyanmisaka     /* 0x00000044 reg17 */
178*437bfbebSnyanmisaka     RK_U32 reg0017_hurry_thd_low;
179*437bfbebSnyanmisaka 
180*437bfbebSnyanmisaka     /* 0x00000048 reg18 */
181*437bfbebSnyanmisaka     RK_U32 reg0018_hurry_thd_mid;
182*437bfbebSnyanmisaka 
183*437bfbebSnyanmisaka     /* 0x0000004c reg19 */
184*437bfbebSnyanmisaka     RK_U32 reg0019_hurry_thd_high;
185*437bfbebSnyanmisaka 
186*437bfbebSnyanmisaka     /* 0x00000050 reg20 */
187*437bfbebSnyanmisaka     struct {
188*437bfbebSnyanmisaka         RK_U32 idle_en_core    : 1;
189*437bfbebSnyanmisaka         RK_U32 idle_en_axi     : 1;
190*437bfbebSnyanmisaka         RK_U32 idle_en_ahb     : 1;
191*437bfbebSnyanmisaka         RK_U32 reserved        : 29;
192*437bfbebSnyanmisaka     } reg0020_enc_idle_en;
193*437bfbebSnyanmisaka 
194*437bfbebSnyanmisaka     /* 0x00000054 reg21 */
195*437bfbebSnyanmisaka     struct {
196*437bfbebSnyanmisaka         RK_U32 cke                 : 1;
197*437bfbebSnyanmisaka         RK_U32 resetn_hw_en        : 1;
198*437bfbebSnyanmisaka         RK_U32 enc_done_tmvp_en    : 1;
199*437bfbebSnyanmisaka         RK_U32 sram_ckg_en         : 1;
200*437bfbebSnyanmisaka         RK_U32 reserved            : 28;
201*437bfbebSnyanmisaka     } reg0021_func_en;
202*437bfbebSnyanmisaka 
203*437bfbebSnyanmisaka     /* 0x00000058 reg22 */
204*437bfbebSnyanmisaka     struct {
205*437bfbebSnyanmisaka         RK_U32 recon32_ckg       : 1;
206*437bfbebSnyanmisaka         RK_U32 iqit32_ckg        : 1;
207*437bfbebSnyanmisaka         RK_U32 q32_ckg           : 1;
208*437bfbebSnyanmisaka         RK_U32 t32_ckg           : 1;
209*437bfbebSnyanmisaka         RK_U32 cabac32_ckg       : 1;
210*437bfbebSnyanmisaka         RK_U32 recon16_ckg       : 1;
211*437bfbebSnyanmisaka         RK_U32 iqit16_ckg        : 1;
212*437bfbebSnyanmisaka         RK_U32 q16_ckg           : 1;
213*437bfbebSnyanmisaka         RK_U32 t16_ckg           : 1;
214*437bfbebSnyanmisaka         RK_U32 cabac16_ckg       : 1;
215*437bfbebSnyanmisaka         RK_U32 recon8_ckg        : 1;
216*437bfbebSnyanmisaka         RK_U32 iqit8_ckg         : 1;
217*437bfbebSnyanmisaka         RK_U32 q8_ckg            : 1;
218*437bfbebSnyanmisaka         RK_U32 t8_ckg            : 1;
219*437bfbebSnyanmisaka         RK_U32 cabac8_ckg        : 1;
220*437bfbebSnyanmisaka         RK_U32 recon4_ckg        : 1;
221*437bfbebSnyanmisaka         RK_U32 iqit4_ckg         : 1;
222*437bfbebSnyanmisaka         RK_U32 q4_ckg            : 1;
223*437bfbebSnyanmisaka         RK_U32 t4_ckg            : 1;
224*437bfbebSnyanmisaka         RK_U32 cabac4_ckg        : 1;
225*437bfbebSnyanmisaka         RK_U32 intra32_ckg       : 1;
226*437bfbebSnyanmisaka         RK_U32 intra16_ckg       : 1;
227*437bfbebSnyanmisaka         RK_U32 intra8_ckg        : 1;
228*437bfbebSnyanmisaka         RK_U32 intra4_ckg        : 1;
229*437bfbebSnyanmisaka         RK_U32 inter_pred_ckg    : 1;
230*437bfbebSnyanmisaka         RK_U32 reserved          : 7;
231*437bfbebSnyanmisaka     } reg0022_rdo_ckg_hevc;
232*437bfbebSnyanmisaka 
233*437bfbebSnyanmisaka     /* 0x0000005c reg23 */
234*437bfbebSnyanmisaka     struct {
235*437bfbebSnyanmisaka         RK_U32 core_id     : 2;
236*437bfbebSnyanmisaka         RK_U32 reserved    : 30;
237*437bfbebSnyanmisaka     } reg0023_enc_id;
238*437bfbebSnyanmisaka } hevc_vepu580_control_cfg;
239*437bfbebSnyanmisaka 
240*437bfbebSnyanmisaka /* class: buffer/video syntax */
241*437bfbebSnyanmisaka /* 0x00000280 reg160 - 0x000003f4 reg253*/
242*437bfbebSnyanmisaka typedef struct HevcVepu580Base_t {
243*437bfbebSnyanmisaka     /* 0x00000280 reg160 */
244*437bfbebSnyanmisaka     RK_U32 reg0160_adr_src0;
245*437bfbebSnyanmisaka 
246*437bfbebSnyanmisaka     /* 0x00000284 reg161 */
247*437bfbebSnyanmisaka     RK_U32 reg0161_adr_src1;
248*437bfbebSnyanmisaka 
249*437bfbebSnyanmisaka     /* 0x00000288 reg162 */
250*437bfbebSnyanmisaka     RK_U32 reg0162_adr_src2;
251*437bfbebSnyanmisaka 
252*437bfbebSnyanmisaka     /* 0x0000028c reg163 */
253*437bfbebSnyanmisaka     RK_U32 reg0163_rfpw_h_addr;
254*437bfbebSnyanmisaka 
255*437bfbebSnyanmisaka     /* 0x00000290 reg164 */
256*437bfbebSnyanmisaka     RK_U32 reg0164_rfpw_b_addr;
257*437bfbebSnyanmisaka 
258*437bfbebSnyanmisaka     /* 0x00000294 reg165 */
259*437bfbebSnyanmisaka     RK_U32 reg0165_rfpr_h_addr;
260*437bfbebSnyanmisaka 
261*437bfbebSnyanmisaka     /* 0x00000298 reg166 */
262*437bfbebSnyanmisaka     RK_U32 reg0166_rfpr_b_addr;
263*437bfbebSnyanmisaka 
264*437bfbebSnyanmisaka     /* 0x0000029c reg167 */
265*437bfbebSnyanmisaka     RK_U32 reg0167_cmvw_addr;
266*437bfbebSnyanmisaka 
267*437bfbebSnyanmisaka     /* 0x000002a0 reg168 */
268*437bfbebSnyanmisaka     RK_U32 reg0168_cmvr_addr;
269*437bfbebSnyanmisaka 
270*437bfbebSnyanmisaka     /* 0x000002a4 reg169 */
271*437bfbebSnyanmisaka     RK_U32 reg0169_dspw_addr;
272*437bfbebSnyanmisaka 
273*437bfbebSnyanmisaka     /* 0x000002a8 reg170 */
274*437bfbebSnyanmisaka     RK_U32 reg0170_dspr_addr;
275*437bfbebSnyanmisaka 
276*437bfbebSnyanmisaka     /* 0x000002ac reg171 */
277*437bfbebSnyanmisaka     RK_U32 reg0171_meiw_addr;
278*437bfbebSnyanmisaka 
279*437bfbebSnyanmisaka     /* 0x000002b0 reg172 */
280*437bfbebSnyanmisaka     RK_U32 reg0172_bsbt_addr;
281*437bfbebSnyanmisaka 
282*437bfbebSnyanmisaka     /* 0x000002b4 reg173 */
283*437bfbebSnyanmisaka     RK_U32 reg0173_bsbb_addr;
284*437bfbebSnyanmisaka 
285*437bfbebSnyanmisaka     /* 0x000002b8 reg174 */
286*437bfbebSnyanmisaka     RK_U32 reg0174_bsbr_addr;
287*437bfbebSnyanmisaka 
288*437bfbebSnyanmisaka     /* 0x000002bc reg175 */
289*437bfbebSnyanmisaka     RK_U32 reg0175_adr_bsbs;
290*437bfbebSnyanmisaka 
291*437bfbebSnyanmisaka     /* 0x000002c0 reg176 */
292*437bfbebSnyanmisaka     RK_U32 reg0176_lpfw_addr;
293*437bfbebSnyanmisaka 
294*437bfbebSnyanmisaka     /* 0x000002c4 reg177 */
295*437bfbebSnyanmisaka     RK_U32 reg0177_lpfr_addr;
296*437bfbebSnyanmisaka 
297*437bfbebSnyanmisaka     /* 0x000002c8 reg178 */
298*437bfbebSnyanmisaka     RK_U32 reg0178_roi_addr;
299*437bfbebSnyanmisaka 
300*437bfbebSnyanmisaka     /* 0x000002cc reg179 */
301*437bfbebSnyanmisaka     RK_U32 reg0179_roi_qp_addr;
302*437bfbebSnyanmisaka 
303*437bfbebSnyanmisaka     /* 0x000002d0 reg180 */
304*437bfbebSnyanmisaka     RK_U32 reg0180_roi_amv_addr;
305*437bfbebSnyanmisaka 
306*437bfbebSnyanmisaka     /* 0x000002d4 reg181 */
307*437bfbebSnyanmisaka     RK_U32 reg0181_roi_mv_addr;
308*437bfbebSnyanmisaka 
309*437bfbebSnyanmisaka     /* 0x000002d8 reg182 */
310*437bfbebSnyanmisaka     RK_U32 reg0182_ebuft_addr;
311*437bfbebSnyanmisaka 
312*437bfbebSnyanmisaka     /* 0x000002dc reg183 */
313*437bfbebSnyanmisaka     RK_U32 reg183_ebufb_addr;
314*437bfbebSnyanmisaka 
315*437bfbebSnyanmisaka     /* 0x2e0 - 0x2fc */
316*437bfbebSnyanmisaka     RK_U32 reserved184_191[8];
317*437bfbebSnyanmisaka 
318*437bfbebSnyanmisaka     /* 0x00000300 reg192 */
319*437bfbebSnyanmisaka     struct {
320*437bfbebSnyanmisaka         RK_U32 enc_stnd           : 1;
321*437bfbebSnyanmisaka         RK_U32 roi_en             : 1;
322*437bfbebSnyanmisaka         RK_U32 cur_frm_ref        : 1;
323*437bfbebSnyanmisaka         RK_U32 mei_stor           : 1;
324*437bfbebSnyanmisaka         RK_U32 bs_scp             : 1;
325*437bfbebSnyanmisaka         RK_U32 reserved           : 3;
326*437bfbebSnyanmisaka         RK_U32 pic_qp             : 6;
327*437bfbebSnyanmisaka         RK_U32 num_pic_tot_cur    : 5;
328*437bfbebSnyanmisaka         RK_U32 log2_ctu_num       : 5;
329*437bfbebSnyanmisaka         RK_U32 reserved1          : 6;
330*437bfbebSnyanmisaka         RK_U32 slen_fifo          : 1;
331*437bfbebSnyanmisaka         RK_U32 rec_fbc_dis        : 1;
332*437bfbebSnyanmisaka     } reg0192_enc_pic;
333*437bfbebSnyanmisaka 
334*437bfbebSnyanmisaka     /* 0x00000304 reg193 */
335*437bfbebSnyanmisaka     struct {
336*437bfbebSnyanmisaka         RK_U32 dchs_txid    : 2;
337*437bfbebSnyanmisaka         RK_U32 dchs_rxid    : 2;
338*437bfbebSnyanmisaka         RK_U32 dchs_txe     : 1;
339*437bfbebSnyanmisaka         RK_U32 dchs_rxe     : 1;
340*437bfbebSnyanmisaka         RK_U32 reserved     : 10;
341*437bfbebSnyanmisaka         RK_U32 dchs_ofst    : 11;
342*437bfbebSnyanmisaka         RK_U32 reserved1    : 5;
343*437bfbebSnyanmisaka     } reg0193_dual_core;
344*437bfbebSnyanmisaka 
345*437bfbebSnyanmisaka     /* 0x308 - 0x30c */
346*437bfbebSnyanmisaka     RK_U32 reserved194_195[2];
347*437bfbebSnyanmisaka 
348*437bfbebSnyanmisaka     /* 0x00000310 reg196 */
349*437bfbebSnyanmisaka     struct {
350*437bfbebSnyanmisaka         RK_U32 pic_wd8_m1    : 11;
351*437bfbebSnyanmisaka         RK_U32 reserved      : 5;
352*437bfbebSnyanmisaka         RK_U32 pic_hd8_m1    : 11;
353*437bfbebSnyanmisaka         RK_U32 reserved1     : 5;
354*437bfbebSnyanmisaka     } reg0196_enc_rsl;
355*437bfbebSnyanmisaka 
356*437bfbebSnyanmisaka     /* 0x00000314 reg197 */
357*437bfbebSnyanmisaka     struct {
358*437bfbebSnyanmisaka         RK_U32 pic_wfill    : 6;
359*437bfbebSnyanmisaka         RK_U32 reserved     : 10;
360*437bfbebSnyanmisaka         RK_U32 pic_hfill    : 6;
361*437bfbebSnyanmisaka         RK_U32 reserved1    : 10;
362*437bfbebSnyanmisaka     } reg0197_src_fill;
363*437bfbebSnyanmisaka 
364*437bfbebSnyanmisaka     /* 0x00000318 reg198 */
365*437bfbebSnyanmisaka     struct {
366*437bfbebSnyanmisaka         RK_U32 alpha_swap    : 1;
367*437bfbebSnyanmisaka         RK_U32 rbuv_swap     : 1;
368*437bfbebSnyanmisaka         RK_U32 src_cfmt      : 4;
369*437bfbebSnyanmisaka         RK_U32 src_range     : 1;
370*437bfbebSnyanmisaka         RK_U32 out_fmt       : 1;
371*437bfbebSnyanmisaka         RK_U32 reserved      : 24;
372*437bfbebSnyanmisaka     } reg0198_src_fmt;
373*437bfbebSnyanmisaka 
374*437bfbebSnyanmisaka     /* 0x0000031c reg199 */
375*437bfbebSnyanmisaka     struct {
376*437bfbebSnyanmisaka         RK_U32 csc_wgt_b2y    : 9;
377*437bfbebSnyanmisaka         RK_U32 csc_wgt_g2y    : 9;
378*437bfbebSnyanmisaka         RK_U32 csc_wgt_r2y    : 9;
379*437bfbebSnyanmisaka         RK_U32 reserved       : 5;
380*437bfbebSnyanmisaka     } reg0199_src_udfy;
381*437bfbebSnyanmisaka 
382*437bfbebSnyanmisaka     /* 0x00000320 reg200 */
383*437bfbebSnyanmisaka     struct {
384*437bfbebSnyanmisaka         RK_U32 csc_wgt_b2u    : 9;
385*437bfbebSnyanmisaka         RK_U32 csc_wgt_g2u    : 9;
386*437bfbebSnyanmisaka         RK_U32 csc_wgt_r2u    : 9;
387*437bfbebSnyanmisaka         RK_U32 reserved       : 5;
388*437bfbebSnyanmisaka     } reg0200_src_udfu;
389*437bfbebSnyanmisaka 
390*437bfbebSnyanmisaka     /* 0x00000324 reg201 */
391*437bfbebSnyanmisaka     struct {
392*437bfbebSnyanmisaka         RK_U32 csc_wgt_b2v    : 9;
393*437bfbebSnyanmisaka         RK_U32 csc_wgt_g2v    : 9;
394*437bfbebSnyanmisaka         RK_U32 csc_wgt_r2v    : 9;
395*437bfbebSnyanmisaka         RK_U32 reserved       : 5;
396*437bfbebSnyanmisaka     } reg0201_src_udfv;
397*437bfbebSnyanmisaka 
398*437bfbebSnyanmisaka     /* 0x00000328 reg202 */
399*437bfbebSnyanmisaka     struct {
400*437bfbebSnyanmisaka         RK_U32 csc_ofst_v    : 8;
401*437bfbebSnyanmisaka         RK_U32 csc_ofst_u    : 8;
402*437bfbebSnyanmisaka         RK_U32 csc_ofst_y    : 5;
403*437bfbebSnyanmisaka         RK_U32 reserved      : 11;
404*437bfbebSnyanmisaka     } reg0202_src_udfo;
405*437bfbebSnyanmisaka 
406*437bfbebSnyanmisaka     /* 0x0000032c reg203 */
407*437bfbebSnyanmisaka     struct {
408*437bfbebSnyanmisaka         RK_U32 reserved0    : 26;
409*437bfbebSnyanmisaka         RK_U32 src_mirr     : 1;
410*437bfbebSnyanmisaka         RK_U32 src_rot      : 2;
411*437bfbebSnyanmisaka         RK_U32 txa_en       : 1;
412*437bfbebSnyanmisaka         RK_U32 afbcd_en     : 1;
413*437bfbebSnyanmisaka         RK_U32 reserved1    : 1;
414*437bfbebSnyanmisaka     } reg0203_src_proc;
415*437bfbebSnyanmisaka 
416*437bfbebSnyanmisaka     /* 0x00000330 reg204 */
417*437bfbebSnyanmisaka     struct {
418*437bfbebSnyanmisaka         RK_U32 pic_ofst_x    : 14;
419*437bfbebSnyanmisaka         RK_U32 reserved      : 2;
420*437bfbebSnyanmisaka         RK_U32 pic_ofst_y    : 14;
421*437bfbebSnyanmisaka         RK_U32 reserved1     : 2;
422*437bfbebSnyanmisaka     } reg0204_pic_ofst;
423*437bfbebSnyanmisaka 
424*437bfbebSnyanmisaka     /* 0x00000334 reg205 */
425*437bfbebSnyanmisaka     struct {
426*437bfbebSnyanmisaka         RK_U32 src_strd0    : 17;
427*437bfbebSnyanmisaka         RK_U32 reserved     : 15;
428*437bfbebSnyanmisaka     } reg0205_src_strd0;
429*437bfbebSnyanmisaka 
430*437bfbebSnyanmisaka     /* 0x00000338 reg206 */
431*437bfbebSnyanmisaka     struct {
432*437bfbebSnyanmisaka         RK_U32 src_strd1    : 16;
433*437bfbebSnyanmisaka         RK_U32 reserved     : 16;
434*437bfbebSnyanmisaka     } reg0206_src_strd1;
435*437bfbebSnyanmisaka 
436*437bfbebSnyanmisaka     /* 0x33c - 0x34c */
437*437bfbebSnyanmisaka     RK_U32 reserved207_211[5];
438*437bfbebSnyanmisaka 
439*437bfbebSnyanmisaka     /* 0x00000350 reg212 */
440*437bfbebSnyanmisaka     struct {
441*437bfbebSnyanmisaka         RK_U32 rc_en         : 1;
442*437bfbebSnyanmisaka         RK_U32 aq_en         : 1;
443*437bfbebSnyanmisaka         RK_U32 aq_mode       : 1;
444*437bfbebSnyanmisaka         RK_U32 reserved      : 9;
445*437bfbebSnyanmisaka         RK_U32 rc_ctu_num    : 20;
446*437bfbebSnyanmisaka     } reg212_rc_cfg;
447*437bfbebSnyanmisaka 
448*437bfbebSnyanmisaka     /* 0x00000354 reg213 */
449*437bfbebSnyanmisaka     struct {
450*437bfbebSnyanmisaka         RK_U32 reserved       : 16;
451*437bfbebSnyanmisaka         RK_U32 rc_qp_range    : 4;
452*437bfbebSnyanmisaka         RK_U32 rc_max_qp      : 6;
453*437bfbebSnyanmisaka         RK_U32 rc_min_qp      : 6;
454*437bfbebSnyanmisaka     } reg213_rc_qp;
455*437bfbebSnyanmisaka 
456*437bfbebSnyanmisaka     /* 0x00000358 reg214 */
457*437bfbebSnyanmisaka     struct {
458*437bfbebSnyanmisaka         RK_U32 ctu_ebit    : 20;
459*437bfbebSnyanmisaka         RK_U32 reserved    : 12;
460*437bfbebSnyanmisaka     } reg214_rc_tgt;
461*437bfbebSnyanmisaka 
462*437bfbebSnyanmisaka     /* 0x35c */
463*437bfbebSnyanmisaka     RK_U32 reserved_215;
464*437bfbebSnyanmisaka 
465*437bfbebSnyanmisaka     /* 0x00000360 reg216 */
466*437bfbebSnyanmisaka     struct {
467*437bfbebSnyanmisaka         RK_U32 sli_splt          : 1;
468*437bfbebSnyanmisaka         RK_U32 sli_splt_mode     : 1;
469*437bfbebSnyanmisaka         RK_U32 sli_splt_cpst     : 1;
470*437bfbebSnyanmisaka         RK_U32 reserved          : 12;
471*437bfbebSnyanmisaka         RK_U32 sli_flsh          : 1;
472*437bfbebSnyanmisaka         RK_U32 sli_max_num_m1    : 15;
473*437bfbebSnyanmisaka         RK_U32 reserved1         : 1;
474*437bfbebSnyanmisaka     } reg0216_sli_splt;
475*437bfbebSnyanmisaka 
476*437bfbebSnyanmisaka     /* 0x00000364 reg217 */
477*437bfbebSnyanmisaka     struct {
478*437bfbebSnyanmisaka         RK_U32 sli_splt_byte    : 20;
479*437bfbebSnyanmisaka         RK_U32 reserved         : 12;
480*437bfbebSnyanmisaka     } reg0217_sli_byte;
481*437bfbebSnyanmisaka 
482*437bfbebSnyanmisaka     /* 0x00000368 reg218 */
483*437bfbebSnyanmisaka     struct {
484*437bfbebSnyanmisaka         RK_U32 sli_splt_cnum_m1    : 20;
485*437bfbebSnyanmisaka         RK_U32 reserved            : 12;
486*437bfbebSnyanmisaka     } reg0218_sli_cnum;
487*437bfbebSnyanmisaka 
488*437bfbebSnyanmisaka     /* 0x36c */
489*437bfbebSnyanmisaka     RK_U32 reserved_219;
490*437bfbebSnyanmisaka 
491*437bfbebSnyanmisaka     /* 0x00000370 reg220 */
492*437bfbebSnyanmisaka     struct {
493*437bfbebSnyanmisaka         RK_U32 cme_srch_h     : 4;
494*437bfbebSnyanmisaka         RK_U32 cme_srch_v     : 4;
495*437bfbebSnyanmisaka         RK_U32 rme_srch_h     : 3;
496*437bfbebSnyanmisaka         RK_U32 rme_srch_v     : 3;
497*437bfbebSnyanmisaka         RK_U32 reserved       : 2;
498*437bfbebSnyanmisaka         RK_U32 dlt_frm_num    : 16;
499*437bfbebSnyanmisaka     } reg0220_me_rnge;
500*437bfbebSnyanmisaka 
501*437bfbebSnyanmisaka     /* 0x00000374 reg221 */
502*437bfbebSnyanmisaka     struct {
503*437bfbebSnyanmisaka         RK_U32 pmv_mdst_h    : 8;
504*437bfbebSnyanmisaka         RK_U32 pmv_mdst_v    : 8;
505*437bfbebSnyanmisaka         RK_U32 mv_limit      : 2;
506*437bfbebSnyanmisaka         RK_U32 pmv_num       : 2;
507*437bfbebSnyanmisaka         RK_U32 colmv_stor    : 1;
508*437bfbebSnyanmisaka         RK_U32 colmv_load    : 1;
509*437bfbebSnyanmisaka         RK_U32 reserved1     : 1;
510*437bfbebSnyanmisaka         RK_U32 rme_dis       : 4;
511*437bfbebSnyanmisaka         RK_U32 reserved2     : 1;
512*437bfbebSnyanmisaka         RK_U32 fme_dis       : 4;
513*437bfbebSnyanmisaka     } reg0221_me_cfg;
514*437bfbebSnyanmisaka 
515*437bfbebSnyanmisaka 
516*437bfbebSnyanmisaka     /* 0x00000378 reg222 */
517*437bfbebSnyanmisaka     struct {
518*437bfbebSnyanmisaka         RK_U32 cme_rama_max      : 11;
519*437bfbebSnyanmisaka         RK_U32 cme_rama_h        : 5;
520*437bfbebSnyanmisaka         RK_U32 cach_l2_tag       : 2;
521*437bfbebSnyanmisaka         RK_U32 cme_linebuf_w     : 9;
522*437bfbebSnyanmisaka         RK_U32 reserved          : 5;
523*437bfbebSnyanmisaka     } reg0222_me_cach;
524*437bfbebSnyanmisaka 
525*437bfbebSnyanmisaka     /* 0x37c */
526*437bfbebSnyanmisaka     RK_U32 reserved_223;
527*437bfbebSnyanmisaka 
528*437bfbebSnyanmisaka     /* 0x00000380 reg224 */
529*437bfbebSnyanmisaka     struct {
530*437bfbebSnyanmisaka         RK_U32 gmv_x        : 13;
531*437bfbebSnyanmisaka         RK_U32 reserved     : 3;
532*437bfbebSnyanmisaka         RK_U32 gmv_y        : 13;
533*437bfbebSnyanmisaka         RK_U32 reserved1    : 3;
534*437bfbebSnyanmisaka     } reg0224_gmv;
535*437bfbebSnyanmisaka 
536*437bfbebSnyanmisaka     /* 0x384 - 0x38c */
537*437bfbebSnyanmisaka     RK_U32 reserved225_227[3];
538*437bfbebSnyanmisaka 
539*437bfbebSnyanmisaka     /* 0x00000390 reg228 */
540*437bfbebSnyanmisaka     struct {
541*437bfbebSnyanmisaka         RK_U32 roi_qp_en     : 1;
542*437bfbebSnyanmisaka         RK_U32 roi_amv_en    : 1;
543*437bfbebSnyanmisaka         RK_U32 roi_mv_en     : 1;
544*437bfbebSnyanmisaka         RK_U32 reserved      : 29;
545*437bfbebSnyanmisaka     } reg0228_roi_en;
546*437bfbebSnyanmisaka 
547*437bfbebSnyanmisaka     /* 0x394 - 0x39c */
548*437bfbebSnyanmisaka     RK_U32 reserved229_231[3];
549*437bfbebSnyanmisaka 
550*437bfbebSnyanmisaka     /* 0x000003a0 reg232 */
551*437bfbebSnyanmisaka     struct {
552*437bfbebSnyanmisaka         RK_U32 ltm_col          : 1;
553*437bfbebSnyanmisaka         RK_U32 ltm_idx0l0       : 1;
554*437bfbebSnyanmisaka         RK_U32 chrm_spcl        : 1;
555*437bfbebSnyanmisaka         RK_U32 cu_inter_e       : 12;
556*437bfbebSnyanmisaka         RK_U32 reserved         : 4;
557*437bfbebSnyanmisaka         RK_U32 cu_intra_e       : 4;
558*437bfbebSnyanmisaka         RK_U32 ccwa_e           : 1;
559*437bfbebSnyanmisaka         RK_U32 scl_lst_sel      : 2;
560*437bfbebSnyanmisaka         RK_U32 reserved1        : 2;
561*437bfbebSnyanmisaka         RK_U32 satd_byps_flg    : 4;
562*437bfbebSnyanmisaka     } reg0232_rdo_cfg;
563*437bfbebSnyanmisaka 
564*437bfbebSnyanmisaka     /* 0x000003a4 reg233 */
565*437bfbebSnyanmisaka     struct {
566*437bfbebSnyanmisaka         RK_U32 vthd_y       : 12;
567*437bfbebSnyanmisaka         RK_U32 reserved     : 4;
568*437bfbebSnyanmisaka         RK_U32 vthd_c       : 12;
569*437bfbebSnyanmisaka         RK_U32 reserved1    : 4;
570*437bfbebSnyanmisaka     } reg0233_iprd_csts;
571*437bfbebSnyanmisaka 
572*437bfbebSnyanmisaka     /* 0x3a8 - 0x3ac */
573*437bfbebSnyanmisaka     RK_U32 reserved234_235[2];
574*437bfbebSnyanmisaka 
575*437bfbebSnyanmisaka     /* 0x000003b0 reg236 */
576*437bfbebSnyanmisaka 
577*437bfbebSnyanmisaka     struct {
578*437bfbebSnyanmisaka         RK_U32 nal_unit_type    : 6;
579*437bfbebSnyanmisaka         RK_U32 reserved         : 26;
580*437bfbebSnyanmisaka     } reg0236_synt_nal;
581*437bfbebSnyanmisaka 
582*437bfbebSnyanmisaka     /* 0x000003b4 reg237 */
583*437bfbebSnyanmisaka     struct {
584*437bfbebSnyanmisaka         RK_U32 smpl_adpt_ofst_e    : 1;
585*437bfbebSnyanmisaka         RK_U32 num_st_ref_pic      : 7;
586*437bfbebSnyanmisaka         RK_U32 lt_ref_pic_prsnt    : 1;
587*437bfbebSnyanmisaka         RK_U32 num_lt_ref_pic      : 6;
588*437bfbebSnyanmisaka         RK_U32 tmpl_mvp_e          : 1;
589*437bfbebSnyanmisaka         RK_U32 log2_max_poc_lsb    : 4;
590*437bfbebSnyanmisaka         RK_U32 strg_intra_smth     : 1;
591*437bfbebSnyanmisaka         RK_U32 reserved            : 11;
592*437bfbebSnyanmisaka     } reg0237_synt_sps;
593*437bfbebSnyanmisaka 
594*437bfbebSnyanmisaka     /* 0x000003b8 reg238 */
595*437bfbebSnyanmisaka     struct {
596*437bfbebSnyanmisaka         RK_U32 dpdnt_sli_seg_en       : 1;
597*437bfbebSnyanmisaka         RK_U32 out_flg_prsnt_flg      : 1;
598*437bfbebSnyanmisaka         RK_U32 num_extr_sli_hdr       : 3;
599*437bfbebSnyanmisaka         RK_U32 sgn_dat_hid_en         : 1;
600*437bfbebSnyanmisaka         RK_U32 cbc_init_prsnt_flg     : 1;
601*437bfbebSnyanmisaka         RK_U32 pic_init_qp            : 6;
602*437bfbebSnyanmisaka         RK_U32 cu_qp_dlt_en           : 1;
603*437bfbebSnyanmisaka         RK_U32 chrm_qp_ofst_prsn      : 1;
604*437bfbebSnyanmisaka         RK_U32 lp_fltr_acrs_sli       : 1;
605*437bfbebSnyanmisaka         RK_U32 dblk_fltr_ovrd_en      : 1;
606*437bfbebSnyanmisaka         RK_U32 lst_mdfy_prsnt_flg     : 1;
607*437bfbebSnyanmisaka         RK_U32 sli_seg_hdr_extn       : 1;
608*437bfbebSnyanmisaka         RK_U32 cu_qp_dlt_depth        : 2;
609*437bfbebSnyanmisaka         RK_U32 lpf_fltr_acrs_til      : 1;
610*437bfbebSnyanmisaka         RK_U32 reserved               : 10;
611*437bfbebSnyanmisaka     } reg0238_synt_pps;
612*437bfbebSnyanmisaka 
613*437bfbebSnyanmisaka     /* 0x000003bc reg239 */
614*437bfbebSnyanmisaka     struct {
615*437bfbebSnyanmisaka         RK_U32 cbc_init_flg           : 1;
616*437bfbebSnyanmisaka         RK_U32 mvd_l1_zero_flg        : 1;
617*437bfbebSnyanmisaka         RK_U32 mrg_up_flg             : 1;
618*437bfbebSnyanmisaka         RK_U32 mrg_lft_flg            : 1;
619*437bfbebSnyanmisaka         RK_U32 reserved               : 1;
620*437bfbebSnyanmisaka         RK_U32 ref_pic_lst_mdf_l0     : 1;
621*437bfbebSnyanmisaka         RK_U32 num_refidx_l1_act      : 2;
622*437bfbebSnyanmisaka         RK_U32 num_refidx_l0_act      : 2;
623*437bfbebSnyanmisaka         RK_U32 num_refidx_act_ovrd    : 1;
624*437bfbebSnyanmisaka         RK_U32 sli_sao_chrm_flg       : 1;
625*437bfbebSnyanmisaka         RK_U32 sli_sao_luma_flg       : 1;
626*437bfbebSnyanmisaka         RK_U32 sli_tmprl_mvp_e        : 1;
627*437bfbebSnyanmisaka         RK_U32 pic_out_flg            : 1;
628*437bfbebSnyanmisaka         RK_U32 sli_type               : 2;
629*437bfbebSnyanmisaka         RK_U32 sli_rsrv_flg           : 7;
630*437bfbebSnyanmisaka         RK_U32 dpdnt_sli_seg_flg      : 1;
631*437bfbebSnyanmisaka         RK_U32 sli_pps_id             : 6;
632*437bfbebSnyanmisaka         RK_U32 no_out_pri_pic         : 1;
633*437bfbebSnyanmisaka     } reg0239_synt_sli0;
634*437bfbebSnyanmisaka 
635*437bfbebSnyanmisaka     /* 0x000003c0 reg240 */
636*437bfbebSnyanmisaka     struct {
637*437bfbebSnyanmisaka         RK_U32 sp_tc_ofst_div2         : 4;
638*437bfbebSnyanmisaka         RK_U32 sp_beta_ofst_div2       : 4;
639*437bfbebSnyanmisaka         RK_U32 sli_lp_fltr_acrs_sli    : 1;
640*437bfbebSnyanmisaka         RK_U32 sp_dblk_fltr_dis        : 1;
641*437bfbebSnyanmisaka         RK_U32 dblk_fltr_ovrd_flg      : 1;
642*437bfbebSnyanmisaka         RK_U32 sli_cb_qp_ofst          : 5;
643*437bfbebSnyanmisaka         RK_U32 sli_qp                  : 6;
644*437bfbebSnyanmisaka         RK_U32 max_mrg_cnd             : 2;
645*437bfbebSnyanmisaka         RK_U32 reserved                : 1;
646*437bfbebSnyanmisaka         RK_U32 col_ref_idx             : 1;
647*437bfbebSnyanmisaka         RK_U32 col_frm_l0_flg          : 1;
648*437bfbebSnyanmisaka         RK_U32 lst_entry_l0            : 4;
649*437bfbebSnyanmisaka         RK_U32 reserved1               : 1;
650*437bfbebSnyanmisaka     } reg0240_synt_sli1;
651*437bfbebSnyanmisaka 
652*437bfbebSnyanmisaka     /* 0x000003c4 reg241 */
653*437bfbebSnyanmisaka     struct {
654*437bfbebSnyanmisaka         RK_U32 sli_poc_lsb        : 16;
655*437bfbebSnyanmisaka         RK_U32 sli_hdr_ext_len    : 9;
656*437bfbebSnyanmisaka         RK_U32 reserved           : 7;
657*437bfbebSnyanmisaka     } reg0241_synt_sli2;
658*437bfbebSnyanmisaka 
659*437bfbebSnyanmisaka     /* 0x000003c8 reg242 */
660*437bfbebSnyanmisaka 
661*437bfbebSnyanmisaka     struct {
662*437bfbebSnyanmisaka         RK_U32 st_ref_pic_flg    : 1;
663*437bfbebSnyanmisaka         RK_U32 poc_lsb_lt0       : 16;
664*437bfbebSnyanmisaka         RK_U32 lt_idx_sps        : 5;
665*437bfbebSnyanmisaka         RK_U32 num_lt_pic        : 2;
666*437bfbebSnyanmisaka         RK_U32 st_ref_pic_idx    : 6;
667*437bfbebSnyanmisaka         RK_U32 num_lt_sps        : 2;
668*437bfbebSnyanmisaka     } reg0242_synt_refm0;
669*437bfbebSnyanmisaka 
670*437bfbebSnyanmisaka     /* 0x000003cc reg243 */
671*437bfbebSnyanmisaka     struct {
672*437bfbebSnyanmisaka         RK_U32 used_by_s0_flg        : 4;
673*437bfbebSnyanmisaka         RK_U32 num_pos_pic           : 1;
674*437bfbebSnyanmisaka         RK_U32 num_negative_pics     : 5;
675*437bfbebSnyanmisaka         RK_U32 dlt_poc_msb_cycl0     : 16;
676*437bfbebSnyanmisaka         RK_U32 dlt_poc_msb_prsnt0    : 1;
677*437bfbebSnyanmisaka         RK_U32 dlt_poc_msb_prsnt1    : 1;
678*437bfbebSnyanmisaka         RK_U32 dlt_poc_msb_prsnt2    : 1;
679*437bfbebSnyanmisaka         RK_U32 used_by_lt_flg0       : 1;
680*437bfbebSnyanmisaka         RK_U32 used_by_lt_flg1       : 1;
681*437bfbebSnyanmisaka         RK_U32 used_by_lt_flg2       : 1;
682*437bfbebSnyanmisaka     } reg0243_synt_refm1;
683*437bfbebSnyanmisaka 
684*437bfbebSnyanmisaka     /* 0x000003d0 reg244 */
685*437bfbebSnyanmisaka     struct {
686*437bfbebSnyanmisaka         RK_U32 dlt_poc_s0_m10    : 16;
687*437bfbebSnyanmisaka         RK_U32 dlt_poc_s0_m11    : 16;
688*437bfbebSnyanmisaka     } reg0244_synt_refm2;
689*437bfbebSnyanmisaka     /* 0x000003d4 reg245 */
690*437bfbebSnyanmisaka     struct {
691*437bfbebSnyanmisaka         RK_U32 dlt_poc_s0_m12    : 16;
692*437bfbebSnyanmisaka         RK_U32 dlt_poc_s0_m13    : 16;
693*437bfbebSnyanmisaka     } reg0245_synt_refm3;
694*437bfbebSnyanmisaka 
695*437bfbebSnyanmisaka     /* 0x000003d8 reg246 */
696*437bfbebSnyanmisaka     struct {
697*437bfbebSnyanmisaka         RK_U32 poc_lsb_lt1    : 16;
698*437bfbebSnyanmisaka         RK_U32 poc_lsb_lt2    : 16;
699*437bfbebSnyanmisaka     } reg0246_synt_long_refm0;
700*437bfbebSnyanmisaka 
701*437bfbebSnyanmisaka     /* 0x000003dc reg247 */
702*437bfbebSnyanmisaka     struct {
703*437bfbebSnyanmisaka         RK_U32 dlt_poc_msb_cycl1    : 16;
704*437bfbebSnyanmisaka         RK_U32 dlt_poc_msb_cycl2    : 16;
705*437bfbebSnyanmisaka     } reg0247_synt_long_refm1;
706*437bfbebSnyanmisaka 
707*437bfbebSnyanmisaka     /* 0x3e0 - 0x3ec */
708*437bfbebSnyanmisaka     RK_U32 reserved248_251[4];
709*437bfbebSnyanmisaka 
710*437bfbebSnyanmisaka     /* 0x000003f0 reg252 */
711*437bfbebSnyanmisaka 
712*437bfbebSnyanmisaka     struct {
713*437bfbebSnyanmisaka         RK_U32 tile_w_m1    : 8;
714*437bfbebSnyanmisaka         RK_U32 reserved     : 8;
715*437bfbebSnyanmisaka         RK_U32 tile_h_m1    : 8;
716*437bfbebSnyanmisaka         RK_U32 reserved1    : 7;
717*437bfbebSnyanmisaka         RK_U32 tile_en      : 1;
718*437bfbebSnyanmisaka     } reg0252_tile_cfg;
719*437bfbebSnyanmisaka     /* 0x000003f4 reg253 */
720*437bfbebSnyanmisaka     struct {
721*437bfbebSnyanmisaka         RK_U32 tile_x       : 8;
722*437bfbebSnyanmisaka         RK_U32 reserved     : 8;
723*437bfbebSnyanmisaka         RK_U32 tile_y       : 8;
724*437bfbebSnyanmisaka         RK_U32 reserved1    : 8;
725*437bfbebSnyanmisaka     } reg0253_tile_pos;
726*437bfbebSnyanmisaka } hevc_vepu580_base;
727*437bfbebSnyanmisaka 
728*437bfbebSnyanmisaka /* class: rc/roi/aq/klut */
729*437bfbebSnyanmisaka /* 0x00001000 reg1024 - 0x000010e0 reg1080 */
730*437bfbebSnyanmisaka typedef struct HevcVepu580RcKlut_t {
731*437bfbebSnyanmisaka     /* 0x00001000 reg1024 */
732*437bfbebSnyanmisaka     struct {
733*437bfbebSnyanmisaka         RK_U32 qp_adj0     : 5;
734*437bfbebSnyanmisaka         RK_U32 qp_adj1     : 5;
735*437bfbebSnyanmisaka         RK_U32 qp_adj2     : 5;
736*437bfbebSnyanmisaka         RK_U32 qp_adj3     : 5;
737*437bfbebSnyanmisaka         RK_U32 qp_adj4     : 5;
738*437bfbebSnyanmisaka         RK_U32 reserved    : 7;
739*437bfbebSnyanmisaka     } rc_adj0;
740*437bfbebSnyanmisaka 
741*437bfbebSnyanmisaka     /* 0x00001004 reg1025 */
742*437bfbebSnyanmisaka     struct {
743*437bfbebSnyanmisaka         RK_U32 qp_adj5     : 5;
744*437bfbebSnyanmisaka         RK_U32 qp_adj6     : 5;
745*437bfbebSnyanmisaka         RK_U32 qp_adj7     : 5;
746*437bfbebSnyanmisaka         RK_U32 qp_adj8     : 5;
747*437bfbebSnyanmisaka         RK_U32 reserved    : 12;
748*437bfbebSnyanmisaka     } rc_adj1;
749*437bfbebSnyanmisaka 
750*437bfbebSnyanmisaka     /* 0x00001008 reg1026 - 0x00001028 reg1034 */
751*437bfbebSnyanmisaka     RK_U32 rc_dthd_0_8[9];
752*437bfbebSnyanmisaka 
753*437bfbebSnyanmisaka     /* 0x102c */
754*437bfbebSnyanmisaka     RK_U32 reserved_1035;
755*437bfbebSnyanmisaka 
756*437bfbebSnyanmisaka     /* 0x00001030 reg1036 */
757*437bfbebSnyanmisaka     struct {
758*437bfbebSnyanmisaka         RK_U32 qpmin_area0    : 6;
759*437bfbebSnyanmisaka         RK_U32 qpmax_area0    : 6;
760*437bfbebSnyanmisaka         RK_U32 qpmin_area1    : 6;
761*437bfbebSnyanmisaka         RK_U32 qpmax_area1    : 6;
762*437bfbebSnyanmisaka         RK_U32 qpmin_area2    : 6;
763*437bfbebSnyanmisaka         RK_U32 reserved       : 2;
764*437bfbebSnyanmisaka     } roi_qthd0;
765*437bfbebSnyanmisaka 
766*437bfbebSnyanmisaka     /* 0x00001034 reg1037 */
767*437bfbebSnyanmisaka     struct {
768*437bfbebSnyanmisaka         RK_U32 qpmax_area2    : 6;
769*437bfbebSnyanmisaka         RK_U32 qpmin_area3    : 6;
770*437bfbebSnyanmisaka         RK_U32 qpmax_area3    : 6;
771*437bfbebSnyanmisaka         RK_U32 qpmin_area4    : 6;
772*437bfbebSnyanmisaka         RK_U32 qpmax_area4    : 6;
773*437bfbebSnyanmisaka         RK_U32 reserved       : 2;
774*437bfbebSnyanmisaka     } roi_qthd1;
775*437bfbebSnyanmisaka 
776*437bfbebSnyanmisaka     /* 0x00001038 reg1038 */
777*437bfbebSnyanmisaka     struct {
778*437bfbebSnyanmisaka         RK_U32 qpmin_area5    : 6;
779*437bfbebSnyanmisaka         RK_U32 qpmax_area5    : 6;
780*437bfbebSnyanmisaka         RK_U32 qpmin_area6    : 6;
781*437bfbebSnyanmisaka         RK_U32 qpmax_area6    : 6;
782*437bfbebSnyanmisaka         RK_U32 qpmin_area7    : 6;
783*437bfbebSnyanmisaka         RK_U32 reserved       : 2;
784*437bfbebSnyanmisaka     } roi_qthd2;
785*437bfbebSnyanmisaka 
786*437bfbebSnyanmisaka     /* 0x0000103c reg1039 */
787*437bfbebSnyanmisaka     struct {
788*437bfbebSnyanmisaka         RK_U32 qpmax_area7    : 6;
789*437bfbebSnyanmisaka         RK_U32 reserved       : 24;
790*437bfbebSnyanmisaka         RK_U32 qpmap_mode     : 2;
791*437bfbebSnyanmisaka     } roi_qthd3;
792*437bfbebSnyanmisaka 
793*437bfbebSnyanmisaka     /* 0x00001040 reg1040 */
794*437bfbebSnyanmisaka     struct {
795*437bfbebSnyanmisaka         RK_U32 madi_mode    : 1;
796*437bfbebSnyanmisaka         RK_U32 reserved     : 15;
797*437bfbebSnyanmisaka         RK_U32 madi_thd     : 8;
798*437bfbebSnyanmisaka         RK_U32 reserved1    : 8;
799*437bfbebSnyanmisaka     } madi_cfg;
800*437bfbebSnyanmisaka 
801*437bfbebSnyanmisaka     /* 0x00001044 reg1041 - 0x00001050 reg1044 */
802*437bfbebSnyanmisaka     RK_U8 aq_tthd[16];
803*437bfbebSnyanmisaka     /*
804*437bfbebSnyanmisaka      * 0x00001054 reg1045 - 0x00001060 reg1048
805*437bfbebSnyanmisaka      * only low 6bits is valid for per step.
806*437bfbebSnyanmisaka      */
807*437bfbebSnyanmisaka     RK_U8 aq_step[16];
808*437bfbebSnyanmisaka 
809*437bfbebSnyanmisaka     /* 0x1064 - 0x106c */
810*437bfbebSnyanmisaka     RK_U32 reserved1049_1051[3];
811*437bfbebSnyanmisaka 
812*437bfbebSnyanmisaka     /* 0x00001070 reg1052 */
813*437bfbebSnyanmisaka     struct {
814*437bfbebSnyanmisaka         RK_U32 md_sad_thd0    : 8;
815*437bfbebSnyanmisaka         RK_U32 md_sad_thd1    : 8;
816*437bfbebSnyanmisaka         RK_U32 md_sad_thd2    : 8;
817*437bfbebSnyanmisaka         RK_U32 reserved       : 8;
818*437bfbebSnyanmisaka     } md_sad_thd;
819*437bfbebSnyanmisaka 
820*437bfbebSnyanmisaka     /* 0x00001074 reg1053 */
821*437bfbebSnyanmisaka     struct {
822*437bfbebSnyanmisaka         RK_U32 madi_thd0    : 8;
823*437bfbebSnyanmisaka         RK_U32 madi_thd1    : 8;
824*437bfbebSnyanmisaka         RK_U32 madi_thd2    : 8;
825*437bfbebSnyanmisaka         RK_U32 reserved     : 8;
826*437bfbebSnyanmisaka     } madi_thd;
827*437bfbebSnyanmisaka 
828*437bfbebSnyanmisaka     /* 0x1078 - 0x107c */
829*437bfbebSnyanmisaka     RK_U32 reserved1054_1055[2];
830*437bfbebSnyanmisaka 
831*437bfbebSnyanmisaka     /* 0x00001080 reg1056 */
832*437bfbebSnyanmisaka     struct {
833*437bfbebSnyanmisaka         RK_U32 chrm_klut_ofst    : 3;
834*437bfbebSnyanmisaka         RK_U32 reserved          : 29;
835*437bfbebSnyanmisaka     } klut_ofst;
836*437bfbebSnyanmisaka 
837*437bfbebSnyanmisaka     /* 0x00001084 reg1057 */
838*437bfbebSnyanmisaka     struct {
839*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt0       : 18;
840*437bfbebSnyanmisaka         RK_U32 reserved             : 5;
841*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt1_l9    : 9;
842*437bfbebSnyanmisaka     } klut_wgt0;
843*437bfbebSnyanmisaka 
844*437bfbebSnyanmisaka     /* 0x00001088 reg1058 */
845*437bfbebSnyanmisaka     struct {
846*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt1_h9    : 9;
847*437bfbebSnyanmisaka         RK_U32 reserved             : 5;
848*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt2       : 18;
849*437bfbebSnyanmisaka     } klut_wgt1;
850*437bfbebSnyanmisaka 
851*437bfbebSnyanmisaka     /* 0x0000108c reg1059 */
852*437bfbebSnyanmisaka     struct {
853*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt3       : 18;
854*437bfbebSnyanmisaka         RK_U32 reserved             : 5;
855*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt4_l9    : 9;
856*437bfbebSnyanmisaka     } klut_wgt2;
857*437bfbebSnyanmisaka 
858*437bfbebSnyanmisaka     /* 0x00001090 reg1060 */
859*437bfbebSnyanmisaka     struct {
860*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt4_h9    : 9;
861*437bfbebSnyanmisaka         RK_U32 reserved             : 5;
862*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt5       : 18;
863*437bfbebSnyanmisaka     } klut_wgt3;
864*437bfbebSnyanmisaka 
865*437bfbebSnyanmisaka     /* 0x00001094 reg1061 */
866*437bfbebSnyanmisaka     struct {
867*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt6       : 18;
868*437bfbebSnyanmisaka         RK_U32 reserved             : 5;
869*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt7_l9    : 9;
870*437bfbebSnyanmisaka     } klut_wgt4;
871*437bfbebSnyanmisaka 
872*437bfbebSnyanmisaka     /* 0x00001098 reg1062 */
873*437bfbebSnyanmisaka     struct {
874*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt7_h9    : 9;
875*437bfbebSnyanmisaka         RK_U32 reserved             : 5;
876*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt8       : 18;
877*437bfbebSnyanmisaka     } klut_wgt5;
878*437bfbebSnyanmisaka 
879*437bfbebSnyanmisaka     /* 0x0000109c reg1063 */
880*437bfbebSnyanmisaka     struct {
881*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt9        : 18;
882*437bfbebSnyanmisaka         RK_U32 reserved              : 5;
883*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt10_l9    : 9;
884*437bfbebSnyanmisaka     } klut_wgt6;
885*437bfbebSnyanmisaka 
886*437bfbebSnyanmisaka     /* 0x000010a0 reg1064 */
887*437bfbebSnyanmisaka     struct {
888*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt10_h9    : 9;
889*437bfbebSnyanmisaka         RK_U32 reserved              : 5;
890*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt11       : 18;
891*437bfbebSnyanmisaka     } klut_wgt7;
892*437bfbebSnyanmisaka 
893*437bfbebSnyanmisaka     /* 0x000010a4 reg1065 */
894*437bfbebSnyanmisaka     struct {
895*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt12       : 18;
896*437bfbebSnyanmisaka         RK_U32 reserved              : 5;
897*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt13_l9    : 9;
898*437bfbebSnyanmisaka     } klut_wgt8;
899*437bfbebSnyanmisaka 
900*437bfbebSnyanmisaka     /* 0x000010a8 reg1066 */
901*437bfbebSnyanmisaka     struct {
902*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt13_h9    : 9;
903*437bfbebSnyanmisaka         RK_U32 reserved              : 5;
904*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt14       : 18;
905*437bfbebSnyanmisaka     } klut_wgt9;
906*437bfbebSnyanmisaka 
907*437bfbebSnyanmisaka     /* 0x000010ac reg1067 */
908*437bfbebSnyanmisaka     struct {
909*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt15       : 18;
910*437bfbebSnyanmisaka         RK_U32 reserved              : 5;
911*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt16_l9    : 9;
912*437bfbebSnyanmisaka     } klut_wgt10;
913*437bfbebSnyanmisaka 
914*437bfbebSnyanmisaka     /* 0x000010b0 reg1068 */
915*437bfbebSnyanmisaka     struct {
916*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt16_h9    : 9;
917*437bfbebSnyanmisaka         RK_U32 reserved              : 5;
918*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt17       : 18;
919*437bfbebSnyanmisaka     } klut_wgt11;
920*437bfbebSnyanmisaka 
921*437bfbebSnyanmisaka     /* 0x000010b4 reg1069 */
922*437bfbebSnyanmisaka     struct {
923*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt18       : 18;
924*437bfbebSnyanmisaka         RK_U32 reserved              : 5;
925*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt19_l9    : 9;
926*437bfbebSnyanmisaka     } klut_wgt12;
927*437bfbebSnyanmisaka 
928*437bfbebSnyanmisaka     /* 0x000010b8 reg1070 */
929*437bfbebSnyanmisaka     struct {
930*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt19_h9    : 9;
931*437bfbebSnyanmisaka         RK_U32 reserved              : 5;
932*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt20       : 18;
933*437bfbebSnyanmisaka     } klut_wgt13;
934*437bfbebSnyanmisaka 
935*437bfbebSnyanmisaka     /* 0x000010bc reg1071 */
936*437bfbebSnyanmisaka     struct {
937*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt21       : 18;
938*437bfbebSnyanmisaka         RK_U32 reserved              : 5;
939*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt22_l9    : 9;
940*437bfbebSnyanmisaka     } klut_wgt14;
941*437bfbebSnyanmisaka 
942*437bfbebSnyanmisaka     /* 0x000010c0 reg1072 */
943*437bfbebSnyanmisaka     struct {
944*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt22_h9    : 9;
945*437bfbebSnyanmisaka         RK_U32 reserved              : 5;
946*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt23       : 18;
947*437bfbebSnyanmisaka     } klut_wgt15;
948*437bfbebSnyanmisaka 
949*437bfbebSnyanmisaka     /* 0x000010c4 reg1073 */
950*437bfbebSnyanmisaka     struct {
951*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt24       : 18;
952*437bfbebSnyanmisaka         RK_U32 reserved              : 5;
953*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt25_l9    : 9;
954*437bfbebSnyanmisaka     } klut_wgt16;
955*437bfbebSnyanmisaka 
956*437bfbebSnyanmisaka     /* 0x000010c8 reg1074 */
957*437bfbebSnyanmisaka     struct {
958*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt25_h9    : 9;
959*437bfbebSnyanmisaka         RK_U32 reserved              : 5;
960*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt26       : 18;
961*437bfbebSnyanmisaka     } klut_wgt17;
962*437bfbebSnyanmisaka 
963*437bfbebSnyanmisaka     /* 0x000010cc reg1075 */
964*437bfbebSnyanmisaka     struct {
965*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt27       : 18;
966*437bfbebSnyanmisaka         RK_U32 reserved              : 5;
967*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt28_l9    : 9;
968*437bfbebSnyanmisaka     } klut_wgt18;
969*437bfbebSnyanmisaka 
970*437bfbebSnyanmisaka     /* 0x000010d0 reg1076 */
971*437bfbebSnyanmisaka     struct {
972*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt28_h9    : 9;
973*437bfbebSnyanmisaka         RK_U32 reserved              : 5;
974*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt29       : 18;
975*437bfbebSnyanmisaka     } klut_wgt19;
976*437bfbebSnyanmisaka 
977*437bfbebSnyanmisaka     /* 0x000010d4 reg1077 */
978*437bfbebSnyanmisaka     struct {
979*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt30       : 18;
980*437bfbebSnyanmisaka         RK_U32 reserved              : 5;
981*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt31_l9    : 9;
982*437bfbebSnyanmisaka     } klut_wgt20;
983*437bfbebSnyanmisaka 
984*437bfbebSnyanmisaka     /* 0x000010d8 reg1078 */
985*437bfbebSnyanmisaka     struct {
986*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt31_h9    : 9;
987*437bfbebSnyanmisaka         RK_U32 reserved              : 5;
988*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt32       : 18;
989*437bfbebSnyanmisaka     } klut_wgt21;
990*437bfbebSnyanmisaka 
991*437bfbebSnyanmisaka     /* 0x000010dc reg1079 */
992*437bfbebSnyanmisaka     struct {
993*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt33       : 18;
994*437bfbebSnyanmisaka         RK_U32 reserved              : 5;
995*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt34_l9    : 9;
996*437bfbebSnyanmisaka     } klut_wgt22;
997*437bfbebSnyanmisaka 
998*437bfbebSnyanmisaka     /* 0x000010e0 reg1080 */
999*437bfbebSnyanmisaka     struct {
1000*437bfbebSnyanmisaka         RK_U32 chrm_klut_wgt34_h9    : 9;
1001*437bfbebSnyanmisaka         RK_U32 reserved              : 23;
1002*437bfbebSnyanmisaka     } klut_wgt23;
1003*437bfbebSnyanmisaka } hevc_vepu580_rc_klut;
1004*437bfbebSnyanmisaka 
1005*437bfbebSnyanmisaka /* class: iprd/iprd_wgt/rdo_wgta/prei_dif/sobel */
1006*437bfbebSnyanmisaka /* 0x00001700 reg1472 - 0x00001cd4 reg1845 */
1007*437bfbebSnyanmisaka typedef struct HevcVepu580Wgt_t {
1008*437bfbebSnyanmisaka     /* 0x00001700 reg1472 */
1009*437bfbebSnyanmisaka     struct {
1010*437bfbebSnyanmisaka         RK_U32 lvl32_intra_cst_thd0 : 12;
1011*437bfbebSnyanmisaka         RK_U32 reserved0 : 4;
1012*437bfbebSnyanmisaka         RK_U32 lvl32_intra_cst_thd1 : 12;
1013*437bfbebSnyanmisaka         RK_U32 reserved1 : 4;
1014*437bfbebSnyanmisaka     } lvl32_intra_CST_THD0;
1015*437bfbebSnyanmisaka 
1016*437bfbebSnyanmisaka     /* 0x1704 */
1017*437bfbebSnyanmisaka     struct {
1018*437bfbebSnyanmisaka         RK_U32 lvl32_intra_cst_thd2 : 12;
1019*437bfbebSnyanmisaka         RK_U32 reserved0 : 4;
1020*437bfbebSnyanmisaka         RK_U32 lvl32_intra_cst_thd3 : 12;
1021*437bfbebSnyanmisaka         RK_U32 reserved1 : 4;
1022*437bfbebSnyanmisaka     } lvl32_intra_CST_THD1;
1023*437bfbebSnyanmisaka 
1024*437bfbebSnyanmisaka     /* 0x1708 */
1025*437bfbebSnyanmisaka     struct {
1026*437bfbebSnyanmisaka         RK_U32 lvl16_intra_cst_thd0 : 12;
1027*437bfbebSnyanmisaka         RK_U32 reserved0 : 4;
1028*437bfbebSnyanmisaka         RK_U32 lvl16_intra_cst_thd1 : 12;
1029*437bfbebSnyanmisaka         RK_U32 reserved1 : 4;
1030*437bfbebSnyanmisaka     } lvl16_intra_CST_THD0;
1031*437bfbebSnyanmisaka 
1032*437bfbebSnyanmisaka     /* 0x170c */
1033*437bfbebSnyanmisaka     struct {
1034*437bfbebSnyanmisaka         RK_U32 lvl16_intra_cst_thd2 : 12;
1035*437bfbebSnyanmisaka         RK_U32 reserved0 : 4;
1036*437bfbebSnyanmisaka         RK_U32 lvl16_intra_cst_thd3 : 12;
1037*437bfbebSnyanmisaka         RK_U32 reserved1 : 4;
1038*437bfbebSnyanmisaka     } lvl16_intra_CST_THD1;
1039*437bfbebSnyanmisaka 
1040*437bfbebSnyanmisaka     /* 0x10-0x18 - reserved */
1041*437bfbebSnyanmisaka     RK_U32 reserved_0x1710_0x0x1718[3];
1042*437bfbebSnyanmisaka 
1043*437bfbebSnyanmisaka     /* 0x171c */
1044*437bfbebSnyanmisaka     struct {
1045*437bfbebSnyanmisaka         RK_U32 lvl32_intra_cst_wgt0 : 8;
1046*437bfbebSnyanmisaka         RK_U32 lvl32_intra_cst_wgt1 : 8;
1047*437bfbebSnyanmisaka         RK_U32 lvl32_intra_cst_wgt2 : 8;
1048*437bfbebSnyanmisaka         RK_U32 lvl32_intra_cst_wgt3 : 8;
1049*437bfbebSnyanmisaka     } lvl32_intra_CST_WGT0;
1050*437bfbebSnyanmisaka 
1051*437bfbebSnyanmisaka     /* 0x1720 */
1052*437bfbebSnyanmisaka     struct {
1053*437bfbebSnyanmisaka         RK_U32 lvl32_intra_cst_wgt4 : 8;
1054*437bfbebSnyanmisaka         RK_U32 lvl32_intra_cst_wgt5 : 8;
1055*437bfbebSnyanmisaka         RK_U32 lvl32_intra_cst_wgt6 : 8;
1056*437bfbebSnyanmisaka         RK_U32 reserved2 : 8;
1057*437bfbebSnyanmisaka     } lvl32_intra_CST_WGT1;
1058*437bfbebSnyanmisaka 
1059*437bfbebSnyanmisaka     /* 0x1724 */
1060*437bfbebSnyanmisaka     struct {
1061*437bfbebSnyanmisaka         RK_U32 lvl16_intra_cst_wgt0 : 8;
1062*437bfbebSnyanmisaka         RK_U32 lvl16_intra_cst_wgt1 : 8;
1063*437bfbebSnyanmisaka         RK_U32 lvl16_intra_cst_wgt2 : 8;
1064*437bfbebSnyanmisaka         RK_U32 lvl16_intra_cst_wgt3 : 8;
1065*437bfbebSnyanmisaka     } lvl16_intra_CST_WGT0;
1066*437bfbebSnyanmisaka 
1067*437bfbebSnyanmisaka     /* 0x1728 */
1068*437bfbebSnyanmisaka     struct {
1069*437bfbebSnyanmisaka         RK_U32 lvl16_intra_cst_wgt4 : 8;
1070*437bfbebSnyanmisaka         RK_U32 lvl16_intra_cst_wgt5 : 8;
1071*437bfbebSnyanmisaka         RK_U32 lvl16_intra_cst_wgt6 : 8;
1072*437bfbebSnyanmisaka         RK_U32 reserved2 : 8;
1073*437bfbebSnyanmisaka     } lvl16_intra_CST_WGT1;
1074*437bfbebSnyanmisaka 
1075*437bfbebSnyanmisaka 
1076*437bfbebSnyanmisaka     /* 0x172c */
1077*437bfbebSnyanmisaka     RK_U32 reserved_1483;
1078*437bfbebSnyanmisaka 
1079*437bfbebSnyanmisaka     /* 0x00001730 reg1484 */
1080*437bfbebSnyanmisaka     struct {
1081*437bfbebSnyanmisaka         RK_U32 qnt_bias_i    : 10;
1082*437bfbebSnyanmisaka         RK_U32 qnt_bias_p    : 10;
1083*437bfbebSnyanmisaka         RK_U32 reserved      : 12;
1084*437bfbebSnyanmisaka     } reg1484_qnt_bias_comb;
1085*437bfbebSnyanmisaka 
1086*437bfbebSnyanmisaka     /* 0x1734 - 0x175c */
1087*437bfbebSnyanmisaka     RK_U32 reserved1485_1495[11];
1088*437bfbebSnyanmisaka 
1089*437bfbebSnyanmisaka     /* 0x00001760 reg1496 */
1090*437bfbebSnyanmisaka     struct {
1091*437bfbebSnyanmisaka         RK_U32 cime_sad_mod_sel          : 1;
1092*437bfbebSnyanmisaka         RK_U32 cime_sad_use_big_block    : 1;
1093*437bfbebSnyanmisaka         RK_U32 cime_pmv_set_zero         : 1;
1094*437bfbebSnyanmisaka         RK_U32 reserved                  : 5;
1095*437bfbebSnyanmisaka         RK_U32 cime_pmv_num              : 2;
1096*437bfbebSnyanmisaka         RK_U32 reserved1                 : 22;
1097*437bfbebSnyanmisaka     } cime_sqi_cfg;
1098*437bfbebSnyanmisaka 
1099*437bfbebSnyanmisaka     /* 0x00001764 reg1497 */
1100*437bfbebSnyanmisaka     struct {
1101*437bfbebSnyanmisaka         RK_U32 cime_mvd_th0    : 9;
1102*437bfbebSnyanmisaka         RK_U32 reserved        : 1;
1103*437bfbebSnyanmisaka         RK_U32 cime_mvd_th1    : 9;
1104*437bfbebSnyanmisaka         RK_U32 reserved1       : 1;
1105*437bfbebSnyanmisaka         RK_U32 cime_mvd_th2    : 9;
1106*437bfbebSnyanmisaka         RK_U32 reserved2       : 3;
1107*437bfbebSnyanmisaka     } cime_sqi_thd;
1108*437bfbebSnyanmisaka 
1109*437bfbebSnyanmisaka     /* 0x00001768 reg1498 */
1110*437bfbebSnyanmisaka     struct {
1111*437bfbebSnyanmisaka         RK_U32 cime_multi0    : 10;
1112*437bfbebSnyanmisaka         RK_U32 reserved       : 6;
1113*437bfbebSnyanmisaka         RK_U32 cime_multi1    : 10;
1114*437bfbebSnyanmisaka         RK_U32 reserved1      : 6;
1115*437bfbebSnyanmisaka     } cime_sqi_multi0;
1116*437bfbebSnyanmisaka 
1117*437bfbebSnyanmisaka     /* 0x0000176c reg1499 */
1118*437bfbebSnyanmisaka     struct {
1119*437bfbebSnyanmisaka         RK_U32 cime_multi2    : 10;
1120*437bfbebSnyanmisaka         RK_U32 reserved       : 6;
1121*437bfbebSnyanmisaka         RK_U32 cime_multi3    : 10;
1122*437bfbebSnyanmisaka         RK_U32 reserved1      : 6;
1123*437bfbebSnyanmisaka     } cime_sqi_multi1;
1124*437bfbebSnyanmisaka 
1125*437bfbebSnyanmisaka     /* 0x00001770 reg1500 */
1126*437bfbebSnyanmisaka     struct {
1127*437bfbebSnyanmisaka         RK_U32 cime_sad_th0    : 12;
1128*437bfbebSnyanmisaka         RK_U32 reserved        : 4;
1129*437bfbebSnyanmisaka         RK_U32 rime_mvd_th0    : 4;
1130*437bfbebSnyanmisaka         RK_U32 reserved1       : 4;
1131*437bfbebSnyanmisaka         RK_U32 rime_mvd_th1    : 4;
1132*437bfbebSnyanmisaka         RK_U32 reserved2       : 4;
1133*437bfbebSnyanmisaka     } rime_sqi_thd;
1134*437bfbebSnyanmisaka 
1135*437bfbebSnyanmisaka     /* 0x00001774 reg1501 */
1136*437bfbebSnyanmisaka     struct {
1137*437bfbebSnyanmisaka         RK_U32 rime_multi0    : 10;
1138*437bfbebSnyanmisaka         RK_U32 rime_multi1    : 10;
1139*437bfbebSnyanmisaka         RK_U32 rime_multi2    : 10;
1140*437bfbebSnyanmisaka         RK_U32 reserved       : 2;
1141*437bfbebSnyanmisaka     } rime_sqi_multi;
1142*437bfbebSnyanmisaka 
1143*437bfbebSnyanmisaka     /* 0x00001778 reg1502 */
1144*437bfbebSnyanmisaka     struct {
1145*437bfbebSnyanmisaka         RK_U32 cime_sad_pu16_th    : 12;
1146*437bfbebSnyanmisaka         RK_U32 reserved            : 4;
1147*437bfbebSnyanmisaka         RK_U32 cime_sad_pu32_th    : 12;
1148*437bfbebSnyanmisaka         RK_U32 reserved1           : 4;
1149*437bfbebSnyanmisaka     } fme_sqi_thd0;
1150*437bfbebSnyanmisaka 
1151*437bfbebSnyanmisaka     /* 0x0000177c reg1503 */
1152*437bfbebSnyanmisaka     struct {
1153*437bfbebSnyanmisaka         RK_U32 cime_sad_pu64_th    : 12;
1154*437bfbebSnyanmisaka         RK_U32 reserved            : 4;
1155*437bfbebSnyanmisaka         RK_U32 move_lambda         : 4;
1156*437bfbebSnyanmisaka         RK_U32 reserved1           : 12;
1157*437bfbebSnyanmisaka     } fme_sqi_thd1;
1158*437bfbebSnyanmisaka 
1159*437bfbebSnyanmisaka     /* 0x1780 - 0x17fc */
1160*437bfbebSnyanmisaka     RK_U32 reserved1504_1535[32];
1161*437bfbebSnyanmisaka 
1162*437bfbebSnyanmisaka     /* 0x00001800 reg1536 - 0x000018cc reg1587  */
1163*437bfbebSnyanmisaka     // struct {
1164*437bfbebSnyanmisaka     //     RK_U32 wgt_qp0     : 20;
1165*437bfbebSnyanmisaka     //     RK_U32 reserved    : 12;
1166*437bfbebSnyanmisaka     // } iprd_wgt_qp_hevc_0_51[52];
1167*437bfbebSnyanmisaka     RK_U32 iprd_wgt_qp_hevc_0_51[52];
1168*437bfbebSnyanmisaka 
1169*437bfbebSnyanmisaka     /* 0x18d0 - 0x18fc */
1170*437bfbebSnyanmisaka     RK_U32 reserved1588_1599[12];
1171*437bfbebSnyanmisaka 
1172*437bfbebSnyanmisaka     /* wgt_qp48_grpa */
1173*437bfbebSnyanmisaka     /* 0x00001900 reg1600 */
1174*437bfbebSnyanmisaka     RK_U32 rdo_wgta_qp_grpa_0_51[52];
1175*437bfbebSnyanmisaka 
1176*437bfbebSnyanmisaka     /* 0x19d0 - 0x1afc */
1177*437bfbebSnyanmisaka     RK_U32 reserved1652_1727[76];
1178*437bfbebSnyanmisaka     // 0x1b00
1179*437bfbebSnyanmisaka 
1180*437bfbebSnyanmisaka     struct {
1181*437bfbebSnyanmisaka         RK_U32 pre_intra_cla0_m0 : 6;
1182*437bfbebSnyanmisaka         RK_U32 pre_intra_cla0_m1 : 6;
1183*437bfbebSnyanmisaka         RK_U32 pre_intra_cla0_m2 : 6;
1184*437bfbebSnyanmisaka         RK_U32 pre_intra_cla0_m3 : 6;
1185*437bfbebSnyanmisaka         RK_U32 pre_intra_cla0_m4 : 6;
1186*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1187*437bfbebSnyanmisaka     } pre_intra_cla0_B0;
1188*437bfbebSnyanmisaka 
1189*437bfbebSnyanmisaka     // 0x1b04
1190*437bfbebSnyanmisaka     struct {
1191*437bfbebSnyanmisaka         RK_U32 pre_intra_cla0_m5 : 6;
1192*437bfbebSnyanmisaka         RK_U32 pre_intra_cla0_m6 : 6;
1193*437bfbebSnyanmisaka         RK_U32 pre_intra_cla0_m7 : 6;
1194*437bfbebSnyanmisaka         RK_U32 pre_intra_cla0_m8 : 6;
1195*437bfbebSnyanmisaka         RK_U32 pre_intra_cla0_m9 : 6;
1196*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1197*437bfbebSnyanmisaka     } pre_intra_cla0_B1;
1198*437bfbebSnyanmisaka 
1199*437bfbebSnyanmisaka     // 0x1b08
1200*437bfbebSnyanmisaka     struct {
1201*437bfbebSnyanmisaka         RK_U32 pre_intra_cla1_m0 : 6;
1202*437bfbebSnyanmisaka         RK_U32 pre_intra_cla1_m1 : 6;
1203*437bfbebSnyanmisaka         RK_U32 pre_intra_cla1_m2 : 6;
1204*437bfbebSnyanmisaka         RK_U32 pre_intra_cla1_m3 : 6;
1205*437bfbebSnyanmisaka         RK_U32 pre_intra_cla1_m4 : 6;
1206*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1207*437bfbebSnyanmisaka     } pre_intra_cla1_B0;
1208*437bfbebSnyanmisaka 
1209*437bfbebSnyanmisaka     // 0x1b0c
1210*437bfbebSnyanmisaka     struct {
1211*437bfbebSnyanmisaka         RK_U32 pre_intra_cla1_m5 : 6;
1212*437bfbebSnyanmisaka         RK_U32 pre_intra_cla1_m6 : 6;
1213*437bfbebSnyanmisaka         RK_U32 pre_intra_cla1_m7 : 6;
1214*437bfbebSnyanmisaka         RK_U32 pre_intra_cla1_m8 : 6;
1215*437bfbebSnyanmisaka         RK_U32 pre_intra_cla1_m9 : 6;
1216*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1217*437bfbebSnyanmisaka     } pre_intra_cla1_B1;
1218*437bfbebSnyanmisaka 
1219*437bfbebSnyanmisaka     // 0x1b10
1220*437bfbebSnyanmisaka     // 0x0320
1221*437bfbebSnyanmisaka     struct {
1222*437bfbebSnyanmisaka         RK_U32 pre_intra_cla2_m0 : 6;
1223*437bfbebSnyanmisaka         RK_U32 pre_intra_cla2_m1 : 6;
1224*437bfbebSnyanmisaka         RK_U32 pre_intra_cla2_m2 : 6;
1225*437bfbebSnyanmisaka         RK_U32 pre_intra_cla2_m3 : 6;
1226*437bfbebSnyanmisaka         RK_U32 pre_intra_cla2_m4 : 6;
1227*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1228*437bfbebSnyanmisaka     } pre_intra_cla2_B0;
1229*437bfbebSnyanmisaka 
1230*437bfbebSnyanmisaka     // 0x1b14
1231*437bfbebSnyanmisaka     struct {
1232*437bfbebSnyanmisaka         RK_U32 pre_intra_cla2_m5 : 6;
1233*437bfbebSnyanmisaka         RK_U32 pre_intra_cla2_m6 : 6;
1234*437bfbebSnyanmisaka         RK_U32 pre_intra_cla2_m7 : 6;
1235*437bfbebSnyanmisaka         RK_U32 pre_intra_cla2_m8 : 6;
1236*437bfbebSnyanmisaka         RK_U32 pre_intra_cla2_m9 : 6;
1237*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1238*437bfbebSnyanmisaka     } pre_intra_cla2_B1;
1239*437bfbebSnyanmisaka 
1240*437bfbebSnyanmisaka     // 0x1b18
1241*437bfbebSnyanmisaka     struct {
1242*437bfbebSnyanmisaka         RK_U32 pre_intra_cla3_m0 : 6;
1243*437bfbebSnyanmisaka         RK_U32 pre_intra_cla3_m1 : 6;
1244*437bfbebSnyanmisaka         RK_U32 pre_intra_cla3_m2 : 6;
1245*437bfbebSnyanmisaka         RK_U32 pre_intra_cla3_m3 : 6;
1246*437bfbebSnyanmisaka         RK_U32 pre_intra_cla3_m4 : 6;
1247*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1248*437bfbebSnyanmisaka     } pre_intra_cla3_B0;
1249*437bfbebSnyanmisaka 
1250*437bfbebSnyanmisaka     // 0x1b1c
1251*437bfbebSnyanmisaka     struct {
1252*437bfbebSnyanmisaka         RK_U32 pre_intra_cla3_m5 : 6;
1253*437bfbebSnyanmisaka         RK_U32 pre_intra_cla3_m6 : 6;
1254*437bfbebSnyanmisaka         RK_U32 pre_intra_cla3_m7 : 6;
1255*437bfbebSnyanmisaka         RK_U32 pre_intra_cla3_m8 : 6;
1256*437bfbebSnyanmisaka         RK_U32 pre_intra_cla3_m9 : 6;
1257*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1258*437bfbebSnyanmisaka     } pre_intra_cla3_B1;
1259*437bfbebSnyanmisaka 
1260*437bfbebSnyanmisaka     // 0x1b20
1261*437bfbebSnyanmisaka     struct {
1262*437bfbebSnyanmisaka         RK_U32 pre_intra_cla4_m0 : 6;
1263*437bfbebSnyanmisaka         RK_U32 pre_intra_cla4_m1 : 6;
1264*437bfbebSnyanmisaka         RK_U32 pre_intra_cla4_m2 : 6;
1265*437bfbebSnyanmisaka         RK_U32 pre_intra_cla4_m3 : 6;
1266*437bfbebSnyanmisaka         RK_U32 pre_intra_cla4_m4 : 6;
1267*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1268*437bfbebSnyanmisaka     } pre_intra_cla4_B0;
1269*437bfbebSnyanmisaka 
1270*437bfbebSnyanmisaka     // 0x1b24
1271*437bfbebSnyanmisaka     struct {
1272*437bfbebSnyanmisaka         RK_U32 pre_intra_cla4_m5 : 6;
1273*437bfbebSnyanmisaka         RK_U32 pre_intra_cla4_m6 : 6;
1274*437bfbebSnyanmisaka         RK_U32 pre_intra_cla4_m7 : 6;
1275*437bfbebSnyanmisaka         RK_U32 pre_intra_cla4_m8 : 6;
1276*437bfbebSnyanmisaka         RK_U32 pre_intra_cla4_m9 : 6;
1277*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1278*437bfbebSnyanmisaka     } pre_intra_cla4_B1;
1279*437bfbebSnyanmisaka 
1280*437bfbebSnyanmisaka     // 0x1b28
1281*437bfbebSnyanmisaka     struct {
1282*437bfbebSnyanmisaka         RK_U32 pre_intra_cla5_m0 : 6;
1283*437bfbebSnyanmisaka         RK_U32 pre_intra_cla5_m1 : 6;
1284*437bfbebSnyanmisaka         RK_U32 pre_intra_cla5_m2 : 6;
1285*437bfbebSnyanmisaka         RK_U32 pre_intra_cla5_m3 : 6;
1286*437bfbebSnyanmisaka         RK_U32 pre_intra_cla5_m4 : 6;
1287*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1288*437bfbebSnyanmisaka     } pre_intra_cla5_B0;
1289*437bfbebSnyanmisaka 
1290*437bfbebSnyanmisaka     // 0x1b2c
1291*437bfbebSnyanmisaka     struct {
1292*437bfbebSnyanmisaka         RK_U32 pre_intra_cla5_m5 : 6;
1293*437bfbebSnyanmisaka         RK_U32 pre_intra_cla5_m6 : 6;
1294*437bfbebSnyanmisaka         RK_U32 pre_intra_cla5_m7 : 6;
1295*437bfbebSnyanmisaka         RK_U32 pre_intra_cla5_m8 : 6;
1296*437bfbebSnyanmisaka         RK_U32 pre_intra_cla5_m9 : 6;
1297*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1298*437bfbebSnyanmisaka     } pre_intra_cla5_B1;
1299*437bfbebSnyanmisaka 
1300*437bfbebSnyanmisaka     // 0x1b30
1301*437bfbebSnyanmisaka     struct {
1302*437bfbebSnyanmisaka         RK_U32 pre_intra_cla6_m0 : 6;
1303*437bfbebSnyanmisaka         RK_U32 pre_intra_cla6_m1 : 6;
1304*437bfbebSnyanmisaka         RK_U32 pre_intra_cla6_m2 : 6;
1305*437bfbebSnyanmisaka         RK_U32 pre_intra_cla6_m3 : 6;
1306*437bfbebSnyanmisaka         RK_U32 pre_intra_cla6_m4 : 6;
1307*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1308*437bfbebSnyanmisaka     } pre_intra_cla6_B0;
1309*437bfbebSnyanmisaka 
1310*437bfbebSnyanmisaka     // 0x1b34
1311*437bfbebSnyanmisaka     struct {
1312*437bfbebSnyanmisaka         RK_U32 pre_intra_cla6_m5 : 6;
1313*437bfbebSnyanmisaka         RK_U32 pre_intra_cla6_m6 : 6;
1314*437bfbebSnyanmisaka         RK_U32 pre_intra_cla6_m7 : 6;
1315*437bfbebSnyanmisaka         RK_U32 pre_intra_cla6_m8 : 6;
1316*437bfbebSnyanmisaka         RK_U32 pre_intra_cla6_m9 : 6;
1317*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1318*437bfbebSnyanmisaka     } pre_intra_cla6_B1;
1319*437bfbebSnyanmisaka 
1320*437bfbebSnyanmisaka     // 0x1b38
1321*437bfbebSnyanmisaka     struct {
1322*437bfbebSnyanmisaka         RK_U32 pre_intra_cla7_m0 : 6;
1323*437bfbebSnyanmisaka         RK_U32 pre_intra_cla7_m1 : 6;
1324*437bfbebSnyanmisaka         RK_U32 pre_intra_cla7_m2 : 6;
1325*437bfbebSnyanmisaka         RK_U32 pre_intra_cla7_m3 : 6;
1326*437bfbebSnyanmisaka         RK_U32 pre_intra_cla7_m4 : 6;
1327*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1328*437bfbebSnyanmisaka     } pre_intra_cla7_B0;
1329*437bfbebSnyanmisaka 
1330*437bfbebSnyanmisaka     // 0x1b3c
1331*437bfbebSnyanmisaka     struct {
1332*437bfbebSnyanmisaka         RK_U32 pre_intra_cla7_m5 : 6;
1333*437bfbebSnyanmisaka         RK_U32 pre_intra_cla7_m6 : 6;
1334*437bfbebSnyanmisaka         RK_U32 pre_intra_cla7_m7 : 6;
1335*437bfbebSnyanmisaka         RK_U32 pre_intra_cla7_m8 : 6;
1336*437bfbebSnyanmisaka         RK_U32 pre_intra_cla7_m9 : 6;
1337*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1338*437bfbebSnyanmisaka     } pre_intra_cla7_B1;
1339*437bfbebSnyanmisaka 
1340*437bfbebSnyanmisaka     // 0x1b40
1341*437bfbebSnyanmisaka     struct {
1342*437bfbebSnyanmisaka         RK_U32 pre_intra_cla8_m0 : 6;
1343*437bfbebSnyanmisaka         RK_U32 pre_intra_cla8_m1 : 6;
1344*437bfbebSnyanmisaka         RK_U32 pre_intra_cla8_m2 : 6;
1345*437bfbebSnyanmisaka         RK_U32 pre_intra_cla8_m3 : 6;
1346*437bfbebSnyanmisaka         RK_U32 pre_intra_cla8_m4 : 6;
1347*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1348*437bfbebSnyanmisaka     } pre_intra_cla8_B0;
1349*437bfbebSnyanmisaka 
1350*437bfbebSnyanmisaka     // 0x1b44
1351*437bfbebSnyanmisaka     struct {
1352*437bfbebSnyanmisaka         RK_U32 pre_intra_cla8_m5 : 6;
1353*437bfbebSnyanmisaka         RK_U32 pre_intra_cla8_m6 : 6;
1354*437bfbebSnyanmisaka         RK_U32 pre_intra_cla8_m7 : 6;
1355*437bfbebSnyanmisaka         RK_U32 pre_intra_cla8_m8 : 6;
1356*437bfbebSnyanmisaka         RK_U32 pre_intra_cla8_m9 : 6;
1357*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1358*437bfbebSnyanmisaka     } pre_intra_cla8_B1;
1359*437bfbebSnyanmisaka 
1360*437bfbebSnyanmisaka     // 0x1b48
1361*437bfbebSnyanmisaka     struct {
1362*437bfbebSnyanmisaka         RK_U32 pre_intra_cla9_m0 : 6;
1363*437bfbebSnyanmisaka         RK_U32 pre_intra_cla9_m1 : 6;
1364*437bfbebSnyanmisaka         RK_U32 pre_intra_cla9_m2 : 6;
1365*437bfbebSnyanmisaka         RK_U32 pre_intra_cla9_m3 : 6;
1366*437bfbebSnyanmisaka         RK_U32 pre_intra_cla9_m4 : 6;
1367*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1368*437bfbebSnyanmisaka     } pre_intra_cla9_B0;
1369*437bfbebSnyanmisaka 
1370*437bfbebSnyanmisaka     // 0x1b4c
1371*437bfbebSnyanmisaka     struct {
1372*437bfbebSnyanmisaka         RK_U32 pre_intra_cla9_m5 : 6;
1373*437bfbebSnyanmisaka         RK_U32 pre_intra_cla9_m6 : 6;
1374*437bfbebSnyanmisaka         RK_U32 pre_intra_cla9_m7 : 6;
1375*437bfbebSnyanmisaka         RK_U32 pre_intra_cla9_m8 : 6;
1376*437bfbebSnyanmisaka         RK_U32 pre_intra_cla9_m9 : 6;
1377*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1378*437bfbebSnyanmisaka     } pre_intra_cla9_B1;
1379*437bfbebSnyanmisaka 
1380*437bfbebSnyanmisaka     // 0x1b50
1381*437bfbebSnyanmisaka     struct {
1382*437bfbebSnyanmisaka         RK_U32 pre_intra_cla10_m0 : 6;
1383*437bfbebSnyanmisaka         RK_U32 pre_intra_cla10_m1 : 6;
1384*437bfbebSnyanmisaka         RK_U32 pre_intra_cla10_m2 : 6;
1385*437bfbebSnyanmisaka         RK_U32 pre_intra_cla10_m3 : 6;
1386*437bfbebSnyanmisaka         RK_U32 pre_intra_cla10_m4 : 6;
1387*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1388*437bfbebSnyanmisaka     } pre_intra_cla10_B0;
1389*437bfbebSnyanmisaka 
1390*437bfbebSnyanmisaka     // 0x1b54
1391*437bfbebSnyanmisaka     struct {
1392*437bfbebSnyanmisaka         RK_U32 pre_intra_cla10_m5 : 6;
1393*437bfbebSnyanmisaka         RK_U32 pre_intra_cla10_m6 : 6;
1394*437bfbebSnyanmisaka         RK_U32 pre_intra_cla10_m7 : 6;
1395*437bfbebSnyanmisaka         RK_U32 pre_intra_cla10_m8 : 6;
1396*437bfbebSnyanmisaka         RK_U32 pre_intra_cla10_m9 : 6;
1397*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1398*437bfbebSnyanmisaka     } pre_intra_cla10_B1;
1399*437bfbebSnyanmisaka 
1400*437bfbebSnyanmisaka     // 0x1b58
1401*437bfbebSnyanmisaka     struct {
1402*437bfbebSnyanmisaka         RK_U32 pre_intra_cla11_m0 : 6;
1403*437bfbebSnyanmisaka         RK_U32 pre_intra_cla11_m1 : 6;
1404*437bfbebSnyanmisaka         RK_U32 pre_intra_cla11_m2 : 6;
1405*437bfbebSnyanmisaka         RK_U32 pre_intra_cla11_m3 : 6;
1406*437bfbebSnyanmisaka         RK_U32 pre_intra_cla11_m4 : 6;
1407*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1408*437bfbebSnyanmisaka     } pre_intra_cla11_B0;
1409*437bfbebSnyanmisaka 
1410*437bfbebSnyanmisaka     // 0x1b5c
1411*437bfbebSnyanmisaka     struct {
1412*437bfbebSnyanmisaka         RK_U32 pre_intra_cla11_m5 : 6;
1413*437bfbebSnyanmisaka         RK_U32 pre_intra_cla11_m6 : 6;
1414*437bfbebSnyanmisaka         RK_U32 pre_intra_cla11_m7 : 6;
1415*437bfbebSnyanmisaka         RK_U32 pre_intra_cla11_m8 : 6;
1416*437bfbebSnyanmisaka         RK_U32 pre_intra_cla11_m9 : 6;
1417*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1418*437bfbebSnyanmisaka     } pre_intra_cla11_B1;
1419*437bfbebSnyanmisaka 
1420*437bfbebSnyanmisaka     // 0x1b60
1421*437bfbebSnyanmisaka     struct {
1422*437bfbebSnyanmisaka         RK_U32 pre_intra_cla12_m0 : 6;
1423*437bfbebSnyanmisaka         RK_U32 pre_intra_cla12_m1 : 6;
1424*437bfbebSnyanmisaka         RK_U32 pre_intra_cla12_m2 : 6;
1425*437bfbebSnyanmisaka         RK_U32 pre_intra_cla12_m3 : 6;
1426*437bfbebSnyanmisaka         RK_U32 pre_intra_cla12_m4 : 6;
1427*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1428*437bfbebSnyanmisaka     } pre_intra_cla12_B0;
1429*437bfbebSnyanmisaka 
1430*437bfbebSnyanmisaka     // 0x1b64
1431*437bfbebSnyanmisaka     struct {
1432*437bfbebSnyanmisaka         RK_U32 pre_intra_cla12_m5 : 6;
1433*437bfbebSnyanmisaka         RK_U32 pre_intra_cla12_m6 : 6;
1434*437bfbebSnyanmisaka         RK_U32 pre_intra_cla12_m7 : 6;
1435*437bfbebSnyanmisaka         RK_U32 pre_intra_cla12_m8 : 6;
1436*437bfbebSnyanmisaka         RK_U32 pre_intra_cla12_m9 : 6;
1437*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1438*437bfbebSnyanmisaka     } pre_intra_cla12_B1;
1439*437bfbebSnyanmisaka 
1440*437bfbebSnyanmisaka     // 0x1b68
1441*437bfbebSnyanmisaka     struct {
1442*437bfbebSnyanmisaka         RK_U32 pre_intra_cla13_m0 : 6;
1443*437bfbebSnyanmisaka         RK_U32 pre_intra_cla13_m1 : 6;
1444*437bfbebSnyanmisaka         RK_U32 pre_intra_cla13_m2 : 6;
1445*437bfbebSnyanmisaka         RK_U32 pre_intra_cla13_m3 : 6;
1446*437bfbebSnyanmisaka         RK_U32 pre_intra_cla13_m4 : 6;
1447*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1448*437bfbebSnyanmisaka     } pre_intra_cla13_B0;
1449*437bfbebSnyanmisaka 
1450*437bfbebSnyanmisaka     // 0x1b6c
1451*437bfbebSnyanmisaka     struct {
1452*437bfbebSnyanmisaka         RK_U32 pre_intra_cla13_m5 : 6;
1453*437bfbebSnyanmisaka         RK_U32 pre_intra_cla13_m6 : 6;
1454*437bfbebSnyanmisaka         RK_U32 pre_intra_cla13_m7 : 6;
1455*437bfbebSnyanmisaka         RK_U32 pre_intra_cla13_m8 : 6;
1456*437bfbebSnyanmisaka         RK_U32 pre_intra_cla13_m9 : 6;
1457*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1458*437bfbebSnyanmisaka     } pre_intra_cla13_B1;
1459*437bfbebSnyanmisaka 
1460*437bfbebSnyanmisaka     // 0x1b70
1461*437bfbebSnyanmisaka     struct {
1462*437bfbebSnyanmisaka         RK_U32 pre_intra_cla14_m0 : 6;
1463*437bfbebSnyanmisaka         RK_U32 pre_intra_cla14_m1 : 6;
1464*437bfbebSnyanmisaka         RK_U32 pre_intra_cla14_m2 : 6;
1465*437bfbebSnyanmisaka         RK_U32 pre_intra_cla14_m3 : 6;
1466*437bfbebSnyanmisaka         RK_U32 pre_intra_cla14_m4 : 6;
1467*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1468*437bfbebSnyanmisaka     } pre_intra_cla14_B0;
1469*437bfbebSnyanmisaka 
1470*437bfbebSnyanmisaka     // 0x1b74
1471*437bfbebSnyanmisaka     struct {
1472*437bfbebSnyanmisaka         RK_U32 pre_intra_cla14_m5 : 6;
1473*437bfbebSnyanmisaka         RK_U32 pre_intra_cla14_m6 : 6;
1474*437bfbebSnyanmisaka         RK_U32 pre_intra_cla14_m7 : 6;
1475*437bfbebSnyanmisaka         RK_U32 pre_intra_cla14_m8 : 6;
1476*437bfbebSnyanmisaka         RK_U32 pre_intra_cla14_m9 : 6;
1477*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1478*437bfbebSnyanmisaka     } pre_intra_cla14_B1;
1479*437bfbebSnyanmisaka 
1480*437bfbebSnyanmisaka     // 0x1b78
1481*437bfbebSnyanmisaka     struct {
1482*437bfbebSnyanmisaka         RK_U32 pre_intra_cla15_m0 : 6;
1483*437bfbebSnyanmisaka         RK_U32 pre_intra_cla15_m1 : 6;
1484*437bfbebSnyanmisaka         RK_U32 pre_intra_cla15_m2 : 6;
1485*437bfbebSnyanmisaka         RK_U32 pre_intra_cla15_m3 : 6;
1486*437bfbebSnyanmisaka         RK_U32 pre_intra_cla15_m4 : 6;
1487*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1488*437bfbebSnyanmisaka     } pre_intra_cla15_B0;
1489*437bfbebSnyanmisaka 
1490*437bfbebSnyanmisaka     // 0x1b7c
1491*437bfbebSnyanmisaka     struct {
1492*437bfbebSnyanmisaka         RK_U32 pre_intra_cla15_m5 : 6;
1493*437bfbebSnyanmisaka         RK_U32 pre_intra_cla15_m6 : 6;
1494*437bfbebSnyanmisaka         RK_U32 pre_intra_cla15_m7 : 6;
1495*437bfbebSnyanmisaka         RK_U32 pre_intra_cla15_m8 : 6;
1496*437bfbebSnyanmisaka         RK_U32 pre_intra_cla15_m9 : 6;
1497*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1498*437bfbebSnyanmisaka     } pre_intra_cla15_B1;
1499*437bfbebSnyanmisaka 
1500*437bfbebSnyanmisaka     // 0x1b80
1501*437bfbebSnyanmisaka     struct {
1502*437bfbebSnyanmisaka         RK_U32 pre_intra_cla16_m0 : 6;
1503*437bfbebSnyanmisaka         RK_U32 pre_intra_cla16_m1 : 6;
1504*437bfbebSnyanmisaka         RK_U32 pre_intra_cla16_m2 : 6;
1505*437bfbebSnyanmisaka         RK_U32 pre_intra_cla16_m3 : 6;
1506*437bfbebSnyanmisaka         RK_U32 pre_intra_cla16_m4 : 6;
1507*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1508*437bfbebSnyanmisaka     } pre_intra_cla16_B0;
1509*437bfbebSnyanmisaka 
1510*437bfbebSnyanmisaka     // 0x1b84
1511*437bfbebSnyanmisaka     struct {
1512*437bfbebSnyanmisaka         RK_U32 pre_intra_cla16_m5 : 6;
1513*437bfbebSnyanmisaka         RK_U32 pre_intra_cla16_m6 : 6;
1514*437bfbebSnyanmisaka         RK_U32 pre_intra_cla16_m7 : 6;
1515*437bfbebSnyanmisaka         RK_U32 pre_intra_cla16_m8 : 6;
1516*437bfbebSnyanmisaka         RK_U32 pre_intra_cla16_m9 : 6;
1517*437bfbebSnyanmisaka         RK_U32 reserved : 2;
1518*437bfbebSnyanmisaka     } pre_intra_cla16_B1;
1519*437bfbebSnyanmisaka 
1520*437bfbebSnyanmisaka     /* 0x1b88 - 0x1bfc */
1521*437bfbebSnyanmisaka     RK_U32 reserved1762_1791[30];
1522*437bfbebSnyanmisaka 
1523*437bfbebSnyanmisaka     /* 0x00001c00 reg1792 */
1524*437bfbebSnyanmisaka     struct {
1525*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_t0    : 12;
1526*437bfbebSnyanmisaka         RK_U32 reserved              : 4;
1527*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_t1    : 12;
1528*437bfbebSnyanmisaka         RK_U32 reserved1             : 4;
1529*437bfbebSnyanmisaka     } i16_sobel_t;
1530*437bfbebSnyanmisaka 
1531*437bfbebSnyanmisaka     /* 0x00001c04 reg1793 */
1532*437bfbebSnyanmisaka     struct {
1533*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_a0_qp0    : 6;
1534*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_a0_qp1    : 6;
1535*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_a0_qp2    : 6;
1536*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_a0_qp3    : 6;
1537*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_a0_qp4    : 6;
1538*437bfbebSnyanmisaka         RK_U32 reserved                  : 2;
1539*437bfbebSnyanmisaka     } i16_sobel_a_00;
1540*437bfbebSnyanmisaka 
1541*437bfbebSnyanmisaka     /* 0x00001c08 reg1794 */
1542*437bfbebSnyanmisaka     struct {
1543*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_a0_qp5    : 6;
1544*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_a0_qp6    : 6;
1545*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_a0_qp7    : 6;
1546*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_a0_qp8    : 6;
1547*437bfbebSnyanmisaka         RK_U32 reserved                  : 8;
1548*437bfbebSnyanmisaka     } i16_sobel_a_01;
1549*437bfbebSnyanmisaka 
1550*437bfbebSnyanmisaka     /* 0x00001c0c reg1795 */
1551*437bfbebSnyanmisaka     struct {
1552*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_b0_qp0    : 15;
1553*437bfbebSnyanmisaka         RK_U32 reserved                  : 1;
1554*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_b0_qp1    : 15;
1555*437bfbebSnyanmisaka         RK_U32 reserved1                 : 1;
1556*437bfbebSnyanmisaka     } i16_sobel_b_00;
1557*437bfbebSnyanmisaka 
1558*437bfbebSnyanmisaka     /* 0x00001c10 reg1796 */
1559*437bfbebSnyanmisaka     struct {
1560*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_b0_qp2    : 15;
1561*437bfbebSnyanmisaka         RK_U32 reserved                  : 1;
1562*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_b0_qp3    : 15;
1563*437bfbebSnyanmisaka         RK_U32 reserved1                 : 1;
1564*437bfbebSnyanmisaka     } i16_sobel_b_01;
1565*437bfbebSnyanmisaka 
1566*437bfbebSnyanmisaka     /* 0x00001c14 reg1797 */
1567*437bfbebSnyanmisaka     struct {
1568*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_b0_qp4    : 15;
1569*437bfbebSnyanmisaka         RK_U32 reserved                  : 1;
1570*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_b0_qp5    : 15;
1571*437bfbebSnyanmisaka         RK_U32 reserved1                 : 1;
1572*437bfbebSnyanmisaka     } i16_sobel_b_02;
1573*437bfbebSnyanmisaka 
1574*437bfbebSnyanmisaka     /* 0x00001c18 reg1798 */
1575*437bfbebSnyanmisaka     struct {
1576*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_b0_qp6    : 15;
1577*437bfbebSnyanmisaka         RK_U32 reserved                  : 1;
1578*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_b0_qp7    : 15;
1579*437bfbebSnyanmisaka         RK_U32 reserved1                 : 1;
1580*437bfbebSnyanmisaka     } i16_sobel_b_03;
1581*437bfbebSnyanmisaka 
1582*437bfbebSnyanmisaka     /* 0x00001c1c reg1799 */
1583*437bfbebSnyanmisaka     struct {
1584*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_b0_qp8    : 15;
1585*437bfbebSnyanmisaka         RK_U32 reserved                  : 17;
1586*437bfbebSnyanmisaka     } i16_sobel_b_04;
1587*437bfbebSnyanmisaka 
1588*437bfbebSnyanmisaka     /* 0x00001c20 reg1800 */
1589*437bfbebSnyanmisaka     struct {
1590*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_c0_qp0    : 6;
1591*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_c0_qp1    : 6;
1592*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_c0_qp2    : 6;
1593*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_c0_qp3    : 6;
1594*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_c0_qp4    : 6;
1595*437bfbebSnyanmisaka         RK_U32 reserved                  : 2;
1596*437bfbebSnyanmisaka     } i16_sobel_c_00;
1597*437bfbebSnyanmisaka 
1598*437bfbebSnyanmisaka     /* 0x00001c24 reg1801 */
1599*437bfbebSnyanmisaka     struct {
1600*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_c0_qp5    : 6;
1601*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_c0_qp6    : 6;
1602*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_c0_qp7    : 6;
1603*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_c0_qp8    : 6;
1604*437bfbebSnyanmisaka         RK_U32 reserved                  : 8;
1605*437bfbebSnyanmisaka     } i16_sobel_c_01;
1606*437bfbebSnyanmisaka 
1607*437bfbebSnyanmisaka     /* 0x00001c28 reg1802 */
1608*437bfbebSnyanmisaka     struct {
1609*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_d0_qp0    : 15;
1610*437bfbebSnyanmisaka         RK_U32 reserved                  : 1;
1611*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_d0_qp1    : 15;
1612*437bfbebSnyanmisaka         RK_U32 reserved1                 : 1;
1613*437bfbebSnyanmisaka     } i16_sobel_d_00;
1614*437bfbebSnyanmisaka 
1615*437bfbebSnyanmisaka     /* 0x00001c2c reg1803 */
1616*437bfbebSnyanmisaka     struct {
1617*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_d0_qp2    : 15;
1618*437bfbebSnyanmisaka         RK_U32 reserved                  : 1;
1619*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_d0_qp3    : 15;
1620*437bfbebSnyanmisaka         RK_U32 reserved1                 : 1;
1621*437bfbebSnyanmisaka     } i16_sobel_d_01;
1622*437bfbebSnyanmisaka 
1623*437bfbebSnyanmisaka     /* 0x00001c30 reg1804 */
1624*437bfbebSnyanmisaka     struct {
1625*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_d0_qp4    : 15;
1626*437bfbebSnyanmisaka         RK_U32 reserved                  : 1;
1627*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_d0_qp5    : 15;
1628*437bfbebSnyanmisaka         RK_U32 reserved1                 : 1;
1629*437bfbebSnyanmisaka     } i16_sobel_d_02;
1630*437bfbebSnyanmisaka 
1631*437bfbebSnyanmisaka     /* 0x00001c34 reg1805 */
1632*437bfbebSnyanmisaka     struct {
1633*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_d0_qp6    : 15;
1634*437bfbebSnyanmisaka         RK_U32 reserved                  : 1;
1635*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_d0_qp7    : 15;
1636*437bfbebSnyanmisaka         RK_U32 reserved1                 : 1;
1637*437bfbebSnyanmisaka     } i16_sobel_d_03;
1638*437bfbebSnyanmisaka 
1639*437bfbebSnyanmisaka     /* 0x00001c38 reg1806 */
1640*437bfbebSnyanmisaka     struct {
1641*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_d0_qp8    : 15;
1642*437bfbebSnyanmisaka         RK_U32 reserved                  : 17;
1643*437bfbebSnyanmisaka     } i16_sobel_d_04;
1644*437bfbebSnyanmisaka 
1645*437bfbebSnyanmisaka     /* 0x00001c3c reg1807 */
1646*437bfbebSnyanmisaka     RK_U32 intra_l16_sobel_e0_qp0_low;
1647*437bfbebSnyanmisaka 
1648*437bfbebSnyanmisaka     /* 0x00001c40 reg1808 */
1649*437bfbebSnyanmisaka     struct {
1650*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_e0_qp0_high    : 2;
1651*437bfbebSnyanmisaka         RK_U32 reserved                       : 30;
1652*437bfbebSnyanmisaka     } i16_sobel_e_01;
1653*437bfbebSnyanmisaka 
1654*437bfbebSnyanmisaka     /* 0x00001c44 reg1809 */
1655*437bfbebSnyanmisaka     RK_U32 intra_l16_sobel_e0_qp1_low;
1656*437bfbebSnyanmisaka 
1657*437bfbebSnyanmisaka     /* 0x00001c48 reg1810 */
1658*437bfbebSnyanmisaka     struct {
1659*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_e0_qp1_high    : 2;
1660*437bfbebSnyanmisaka         RK_U32 reserved                       : 30;
1661*437bfbebSnyanmisaka     } i16_sobel_e_03;
1662*437bfbebSnyanmisaka 
1663*437bfbebSnyanmisaka     /* 0x00001c4c reg1811 */
1664*437bfbebSnyanmisaka     RK_U32 intra_l16_sobel_e0_qp2_low;
1665*437bfbebSnyanmisaka 
1666*437bfbebSnyanmisaka     /* 0x00001c50 reg1812 */
1667*437bfbebSnyanmisaka     struct {
1668*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_e0_qp2_high    : 2;
1669*437bfbebSnyanmisaka         RK_U32 reserved                       : 30;
1670*437bfbebSnyanmisaka     } i16_sobel_e_05;
1671*437bfbebSnyanmisaka 
1672*437bfbebSnyanmisaka     /* 0x00001c54 reg1813 */
1673*437bfbebSnyanmisaka     RK_U32 intra_l16_sobel_e0_qp3_low;
1674*437bfbebSnyanmisaka 
1675*437bfbebSnyanmisaka     /* 0x00001c58 reg1814 */
1676*437bfbebSnyanmisaka     struct {
1677*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_e0_qp3_high    : 2;
1678*437bfbebSnyanmisaka         RK_U32 reserved                       : 30;
1679*437bfbebSnyanmisaka     } i16_sobel_e_07;
1680*437bfbebSnyanmisaka 
1681*437bfbebSnyanmisaka     /* 0x00001c5c reg1815 */
1682*437bfbebSnyanmisaka     RK_U32 intra_l16_sobel_e0_qp4_low;
1683*437bfbebSnyanmisaka 
1684*437bfbebSnyanmisaka     /* 0x00001c60 reg1816 */
1685*437bfbebSnyanmisaka     struct {
1686*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_e0_qp4_high    : 2;
1687*437bfbebSnyanmisaka         RK_U32 reserved                       : 30;
1688*437bfbebSnyanmisaka     } i16_sobel_e_09;
1689*437bfbebSnyanmisaka 
1690*437bfbebSnyanmisaka     /* 0x00001c64 reg1817 */
1691*437bfbebSnyanmisaka     RK_U32 intra_l16_sobel_e0_qp5_low;
1692*437bfbebSnyanmisaka 
1693*437bfbebSnyanmisaka     /* 0x00001c68 reg1818 */
1694*437bfbebSnyanmisaka     struct {
1695*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_e0_qp5_high    : 2;
1696*437bfbebSnyanmisaka         RK_U32 reserved                       : 30;
1697*437bfbebSnyanmisaka     } i16_sobel_e_11;
1698*437bfbebSnyanmisaka 
1699*437bfbebSnyanmisaka     /* 0x00001c6c reg1819 */
1700*437bfbebSnyanmisaka     RK_U32 intra_l16_sobel_e0_qp6_low;
1701*437bfbebSnyanmisaka 
1702*437bfbebSnyanmisaka     /* 0x00001c70 reg1820 */
1703*437bfbebSnyanmisaka     struct {
1704*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_e0_qp6_high    : 2;
1705*437bfbebSnyanmisaka         RK_U32 reserved                       : 30;
1706*437bfbebSnyanmisaka     } i16_sobel_e_13;
1707*437bfbebSnyanmisaka 
1708*437bfbebSnyanmisaka     /* 0x00001c74 reg1821 */
1709*437bfbebSnyanmisaka     RK_U32 intra_l16_sobel_e0_qp7_low;
1710*437bfbebSnyanmisaka 
1711*437bfbebSnyanmisaka     /* 0x00001c78 reg1822 */
1712*437bfbebSnyanmisaka     struct {
1713*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_e0_qp7_high    : 2;
1714*437bfbebSnyanmisaka         RK_U32 reserved                       : 30;
1715*437bfbebSnyanmisaka     } i16_sobel_e_15;
1716*437bfbebSnyanmisaka 
1717*437bfbebSnyanmisaka     /* 0x00001c7c reg1823 */
1718*437bfbebSnyanmisaka     RK_U32 intra_l16_sobel_e0_qp8_low;
1719*437bfbebSnyanmisaka 
1720*437bfbebSnyanmisaka     /* 0x00001c80 reg1824 */
1721*437bfbebSnyanmisaka     struct {
1722*437bfbebSnyanmisaka         RK_U32 intra_l16_sobel_e0_qp8_high    : 2;
1723*437bfbebSnyanmisaka         RK_U32 reserved                       : 30;
1724*437bfbebSnyanmisaka     } i16_sobel_e_17;
1725*437bfbebSnyanmisaka 
1726*437bfbebSnyanmisaka     /* 0x00001c84 reg1825 */
1727*437bfbebSnyanmisaka     struct {
1728*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_t2    : 12;
1729*437bfbebSnyanmisaka         RK_U32 reserved              : 4;
1730*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_t3    : 12;
1731*437bfbebSnyanmisaka         RK_U32 reserved1             : 4;
1732*437bfbebSnyanmisaka     } i32_sobel_t_00;
1733*437bfbebSnyanmisaka 
1734*437bfbebSnyanmisaka     /* 0x00001c88 reg1826 */
1735*437bfbebSnyanmisaka     struct {
1736*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_t4    : 6;
1737*437bfbebSnyanmisaka         RK_U32 reserved              : 26;
1738*437bfbebSnyanmisaka     } i32_sobel_t_01;
1739*437bfbebSnyanmisaka 
1740*437bfbebSnyanmisaka     /* 0x00001c8c reg1827 */
1741*437bfbebSnyanmisaka     struct {
1742*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_t5    : 12;
1743*437bfbebSnyanmisaka         RK_U32 reserved              : 4;
1744*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_t6    : 12;
1745*437bfbebSnyanmisaka         RK_U32 reserved1             : 4;
1746*437bfbebSnyanmisaka     } i32_sobel_t_02;
1747*437bfbebSnyanmisaka 
1748*437bfbebSnyanmisaka     /* 0x00001c90 reg1828 */
1749*437bfbebSnyanmisaka     struct {
1750*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_a1_qp0    : 6;
1751*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_a1_qp1    : 6;
1752*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_a1_qp2    : 6;
1753*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_a1_qp3    : 6;
1754*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_a1_qp4    : 6;
1755*437bfbebSnyanmisaka         RK_U32 reserved                  : 2;
1756*437bfbebSnyanmisaka     } i32_sobel_a;
1757*437bfbebSnyanmisaka 
1758*437bfbebSnyanmisaka     /* 0x00001c94 reg1829 */
1759*437bfbebSnyanmisaka     struct {
1760*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_b1_qp0    : 15;
1761*437bfbebSnyanmisaka         RK_U32 reserved                  : 1;
1762*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_b1_qp1    : 15;
1763*437bfbebSnyanmisaka         RK_U32 reserved1                 : 1;
1764*437bfbebSnyanmisaka     } i32_sobel_b_00;
1765*437bfbebSnyanmisaka 
1766*437bfbebSnyanmisaka     /* 0x00001c98 reg1830 */
1767*437bfbebSnyanmisaka     struct {
1768*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_b1_qp2    : 15;
1769*437bfbebSnyanmisaka         RK_U32 reserved                  : 1;
1770*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_b1_qp3    : 15;
1771*437bfbebSnyanmisaka         RK_U32 reserved1                 : 1;
1772*437bfbebSnyanmisaka     } i32_sobel_b_01;
1773*437bfbebSnyanmisaka 
1774*437bfbebSnyanmisaka     /* 0x00001c9c reg1831 */
1775*437bfbebSnyanmisaka     struct {
1776*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_b1_qp4    : 15;
1777*437bfbebSnyanmisaka         RK_U32 reserved                  : 17;
1778*437bfbebSnyanmisaka     } i32_sobel_b_02;
1779*437bfbebSnyanmisaka 
1780*437bfbebSnyanmisaka     /* 0x00001ca0 reg1832 */
1781*437bfbebSnyanmisaka     struct {
1782*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_c1_qp0    : 6;
1783*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_c1_qp1    : 6;
1784*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_c1_qp2    : 6;
1785*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_c1_qp3    : 6;
1786*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_c1_qp4    : 6;
1787*437bfbebSnyanmisaka         RK_U32 reserved                  : 2;
1788*437bfbebSnyanmisaka     } i32_sobel_c;
1789*437bfbebSnyanmisaka 
1790*437bfbebSnyanmisaka     /* 0x00001ca4 reg1833 */
1791*437bfbebSnyanmisaka     struct {
1792*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_d1_qp0    : 15;
1793*437bfbebSnyanmisaka         RK_U32 reserved                  : 1;
1794*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_d1_qp1    : 15;
1795*437bfbebSnyanmisaka         RK_U32 reserved1                 : 1;
1796*437bfbebSnyanmisaka     } i32_sobel_d_00;
1797*437bfbebSnyanmisaka 
1798*437bfbebSnyanmisaka     /* 0x00001ca8 reg1834 */
1799*437bfbebSnyanmisaka     struct {
1800*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_d1_qp2    : 15;
1801*437bfbebSnyanmisaka         RK_U32 reserved                  : 1;
1802*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_d1_qp3    : 15;
1803*437bfbebSnyanmisaka         RK_U32 reserved1                 : 1;
1804*437bfbebSnyanmisaka     } i32_sobel_d_01;
1805*437bfbebSnyanmisaka 
1806*437bfbebSnyanmisaka     /* 0x00001cac reg1835 */
1807*437bfbebSnyanmisaka     struct {
1808*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_d1_qp4    : 15;
1809*437bfbebSnyanmisaka         RK_U32 reserved                  : 17;
1810*437bfbebSnyanmisaka     } i32_sobel_d_02;
1811*437bfbebSnyanmisaka 
1812*437bfbebSnyanmisaka     /* 0x00001cb0 reg1836 */
1813*437bfbebSnyanmisaka     RK_U32 intra_l32_sobel_e1_qp0_low;
1814*437bfbebSnyanmisaka 
1815*437bfbebSnyanmisaka     /* 0x00001cb4 reg1837 */
1816*437bfbebSnyanmisaka     struct {
1817*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_e1_qp0_high    : 9;
1818*437bfbebSnyanmisaka         RK_U32 reserved                       : 23;
1819*437bfbebSnyanmisaka     } i32_sobel_e_01;
1820*437bfbebSnyanmisaka 
1821*437bfbebSnyanmisaka     /* 0x00001cb8 reg1838 */
1822*437bfbebSnyanmisaka     RK_U32 intra_l32_sobel_e1_qp1_low;
1823*437bfbebSnyanmisaka 
1824*437bfbebSnyanmisaka     /* 0x00001cbc reg1839 */
1825*437bfbebSnyanmisaka     struct {
1826*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_e1_qp1_high    : 9;
1827*437bfbebSnyanmisaka         RK_U32 reserved                       : 23;
1828*437bfbebSnyanmisaka     } i32_sobel_e_03;
1829*437bfbebSnyanmisaka 
1830*437bfbebSnyanmisaka     /* 0x00001cc0 reg1840 */
1831*437bfbebSnyanmisaka     RK_U32 intra_l32_sobel_e1_qp2_low;
1832*437bfbebSnyanmisaka 
1833*437bfbebSnyanmisaka     /* 0x00001cc4 reg1841 */
1834*437bfbebSnyanmisaka     struct {
1835*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_e1_qp2_high    : 9;
1836*437bfbebSnyanmisaka         RK_U32 reserved                       : 23;
1837*437bfbebSnyanmisaka     } i32_sobel_e_05;
1838*437bfbebSnyanmisaka 
1839*437bfbebSnyanmisaka     /* 0x00001cc8 reg1842 */
1840*437bfbebSnyanmisaka     RK_U32 intra_l32_sobel_e1_qp3_low;
1841*437bfbebSnyanmisaka 
1842*437bfbebSnyanmisaka     /* 0x00001ccc reg1843 */
1843*437bfbebSnyanmisaka     struct {
1844*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_e1_qp3_high    : 9;
1845*437bfbebSnyanmisaka         RK_U32 reserved                       : 23;
1846*437bfbebSnyanmisaka     } i32_sobel_e_07;
1847*437bfbebSnyanmisaka 
1848*437bfbebSnyanmisaka     /* 0x00001cd0 reg1844 */
1849*437bfbebSnyanmisaka     RK_U32 intra_l32_sobel_e1_qp4_low;
1850*437bfbebSnyanmisaka 
1851*437bfbebSnyanmisaka     /* 0x00001cd4 reg1845 */
1852*437bfbebSnyanmisaka     struct {
1853*437bfbebSnyanmisaka         RK_U32 intra_l32_sobel_e1_qp4_high    : 9;
1854*437bfbebSnyanmisaka         RK_U32 reserved                       : 23;
1855*437bfbebSnyanmisaka     } i32_sobel_e_09;
1856*437bfbebSnyanmisaka } hevc_vepu580_wgt;
1857*437bfbebSnyanmisaka 
1858*437bfbebSnyanmisaka typedef struct {
1859*437bfbebSnyanmisaka     struct {
1860*437bfbebSnyanmisaka         RK_U32 cu_rdo_cime_thd0 : 12;
1861*437bfbebSnyanmisaka         RK_U32 reserved0 : 4;
1862*437bfbebSnyanmisaka         RK_U32 cu_rdo_cime_thd1 : 12;
1863*437bfbebSnyanmisaka         RK_U32 reserved1 : 4;
1864*437bfbebSnyanmisaka     } rdo_b_cime_thd0;
1865*437bfbebSnyanmisaka 
1866*437bfbebSnyanmisaka     struct {
1867*437bfbebSnyanmisaka         RK_U32 cu_rdo_cime_thd2 : 12;
1868*437bfbebSnyanmisaka         RK_U32 reserved : 20;
1869*437bfbebSnyanmisaka     } rdo_b_cime_thd1;
1870*437bfbebSnyanmisaka 
1871*437bfbebSnyanmisaka     struct {
1872*437bfbebSnyanmisaka         RK_U32 cu_rdo_var_thd00 : 12;
1873*437bfbebSnyanmisaka         RK_U32 reserved0 : 4;
1874*437bfbebSnyanmisaka         RK_U32 cu_rdo_var_thd01 : 12;
1875*437bfbebSnyanmisaka         RK_U32 reserved1 : 4;
1876*437bfbebSnyanmisaka     } rdo_b_var_thd0;
1877*437bfbebSnyanmisaka 
1878*437bfbebSnyanmisaka     struct {
1879*437bfbebSnyanmisaka         RK_U32 cu_rdo_var_thd10 : 12;
1880*437bfbebSnyanmisaka         RK_U32 reserved0 : 4;
1881*437bfbebSnyanmisaka         RK_U32 cu_rdo_var_thd11 : 12;
1882*437bfbebSnyanmisaka         RK_U32 reserved1 : 4;
1883*437bfbebSnyanmisaka     } rdo_b_var_thd1;
1884*437bfbebSnyanmisaka 
1885*437bfbebSnyanmisaka     struct {
1886*437bfbebSnyanmisaka         RK_U32 cu_rdo_var_thd20 : 12;
1887*437bfbebSnyanmisaka         RK_U32 reserved0 : 4;
1888*437bfbebSnyanmisaka         RK_U32 cu_rdo_var_thd21 : 12;
1889*437bfbebSnyanmisaka         RK_U32 reserved1 : 4;
1890*437bfbebSnyanmisaka     } rdo_b_var_thd2;
1891*437bfbebSnyanmisaka 
1892*437bfbebSnyanmisaka     struct {
1893*437bfbebSnyanmisaka         RK_U32 cu_rdo_var_thd30 : 12;
1894*437bfbebSnyanmisaka         RK_U32 reserved0 : 4;
1895*437bfbebSnyanmisaka         RK_U32 cu_rdo_var_thd31 : 12;
1896*437bfbebSnyanmisaka         RK_U32 reserved1 : 4;
1897*437bfbebSnyanmisaka     } rdo_b_var_thd3;
1898*437bfbebSnyanmisaka 
1899*437bfbebSnyanmisaka     struct {
1900*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt00 : 8;
1901*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt01 : 8;
1902*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt02 : 8;
1903*437bfbebSnyanmisaka         RK_U32 reserved : 8;
1904*437bfbebSnyanmisaka     } rdo_b_atf_wgt0;
1905*437bfbebSnyanmisaka 
1906*437bfbebSnyanmisaka     struct {
1907*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt10 : 8;
1908*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt11 : 8;
1909*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt12 : 8;
1910*437bfbebSnyanmisaka         RK_U32 reserved : 8;
1911*437bfbebSnyanmisaka     } rdo_b_atf_wgt1;
1912*437bfbebSnyanmisaka 
1913*437bfbebSnyanmisaka     struct {
1914*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt20 : 8;
1915*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt21 : 8;
1916*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt22 : 8;
1917*437bfbebSnyanmisaka         RK_U32 reserved : 8;
1918*437bfbebSnyanmisaka     } rdo_b_atf_wgt2;
1919*437bfbebSnyanmisaka 
1920*437bfbebSnyanmisaka     struct {
1921*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt30 : 8;
1922*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt31 : 8;
1923*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt32 : 8;
1924*437bfbebSnyanmisaka         RK_U32 reserved : 8;
1925*437bfbebSnyanmisaka     } rdo_b_atf_wgt3;
1926*437bfbebSnyanmisaka } RdoAtfCfg;
1927*437bfbebSnyanmisaka 
1928*437bfbebSnyanmisaka 
1929*437bfbebSnyanmisaka typedef struct {
1930*437bfbebSnyanmisaka     struct {
1931*437bfbebSnyanmisaka         RK_U32 cu_rdo_cime_thd0 : 12;
1932*437bfbebSnyanmisaka         RK_U32 reserved0 : 4;
1933*437bfbebSnyanmisaka         RK_U32 cu_rdo_cime_thd1 : 12;
1934*437bfbebSnyanmisaka         RK_U32 reserved1 : 4;
1935*437bfbebSnyanmisaka     } rdo_b_cime_thd0;
1936*437bfbebSnyanmisaka 
1937*437bfbebSnyanmisaka     struct {
1938*437bfbebSnyanmisaka         RK_U32 cu_rdo_cime_thd2 : 12;
1939*437bfbebSnyanmisaka         RK_U32 reserved0 : 4;
1940*437bfbebSnyanmisaka         RK_U32 cu_rdo_cime_thd3 : 12;
1941*437bfbebSnyanmisaka         RK_U32 reserved1 : 4;
1942*437bfbebSnyanmisaka     } rdo_b_cime_thd1;
1943*437bfbebSnyanmisaka 
1944*437bfbebSnyanmisaka     struct {
1945*437bfbebSnyanmisaka         RK_U32 cu_rdo_var_thd10 : 12;
1946*437bfbebSnyanmisaka         RK_U32 reserved0 : 4;
1947*437bfbebSnyanmisaka         RK_U32 cu_rdo_var_thd11 : 12;
1948*437bfbebSnyanmisaka         RK_U32 reserved1 : 4;
1949*437bfbebSnyanmisaka     } rdo_b_var_thd0;
1950*437bfbebSnyanmisaka 
1951*437bfbebSnyanmisaka     struct {
1952*437bfbebSnyanmisaka         RK_U32 cu_rdo_var_thd20 : 12;
1953*437bfbebSnyanmisaka         RK_U32 reserved0 : 4;
1954*437bfbebSnyanmisaka         RK_U32 cu_rdo_var_thd21 : 12;
1955*437bfbebSnyanmisaka         RK_U32 reserved1 : 4;
1956*437bfbebSnyanmisaka     } rdo_b_var_thd1;
1957*437bfbebSnyanmisaka 
1958*437bfbebSnyanmisaka     struct {
1959*437bfbebSnyanmisaka         RK_U32 cu_rdo_var_thd30 : 12;
1960*437bfbebSnyanmisaka         RK_U32 reserved0 : 4;
1961*437bfbebSnyanmisaka         RK_U32 cu_rdo_var_thd31 : 12;
1962*437bfbebSnyanmisaka         RK_U32 reserved1 : 4;
1963*437bfbebSnyanmisaka     } rdo_b_var_thd2;
1964*437bfbebSnyanmisaka 
1965*437bfbebSnyanmisaka     struct {
1966*437bfbebSnyanmisaka         RK_U32 cu_rdo_var_thd40 : 12;
1967*437bfbebSnyanmisaka         RK_U32 reserved0 : 4;
1968*437bfbebSnyanmisaka         RK_U32 cu_rdo_var_thd41 : 12;
1969*437bfbebSnyanmisaka         RK_U32 reserved1 : 4;
1970*437bfbebSnyanmisaka     } rdo_b_var_thd3;
1971*437bfbebSnyanmisaka 
1972*437bfbebSnyanmisaka     struct {
1973*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt00 : 8;
1974*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt10 : 8;
1975*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt11 : 8;
1976*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt12 : 8;
1977*437bfbebSnyanmisaka     } rdo_b_atf_wgt0;
1978*437bfbebSnyanmisaka 
1979*437bfbebSnyanmisaka     struct {
1980*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt20 : 8;
1981*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt21 : 8;
1982*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt22 : 8;
1983*437bfbebSnyanmisaka         RK_U32 reserved : 8;
1984*437bfbebSnyanmisaka     } rdo_b_atf_wgt1;
1985*437bfbebSnyanmisaka 
1986*437bfbebSnyanmisaka     struct {
1987*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt30 : 8;
1988*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt31 : 8;
1989*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt32 : 8;
1990*437bfbebSnyanmisaka         RK_U32 reserved : 8;
1991*437bfbebSnyanmisaka     } rdo_b_atf_wgt2;
1992*437bfbebSnyanmisaka 
1993*437bfbebSnyanmisaka     struct {
1994*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt40 : 8;
1995*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt41 : 8;
1996*437bfbebSnyanmisaka         RK_U32 cu_rdo_atf_wgt42 : 8;
1997*437bfbebSnyanmisaka         RK_U32 reserved : 8;
1998*437bfbebSnyanmisaka     } rdo_b_atf_wgt3;
1999*437bfbebSnyanmisaka } RdoAtfSkipCfg;
2000*437bfbebSnyanmisaka 
2001*437bfbebSnyanmisaka /* class: rdo/q_i */
2002*437bfbebSnyanmisaka /* 0x00002000 reg2048 - 0x00002c98 reg2854 */
2003*437bfbebSnyanmisaka typedef struct Vepu580RdoCfg_t {
2004*437bfbebSnyanmisaka     /* 0x00002000 reg2048 */
2005*437bfbebSnyanmisaka     struct {
2006*437bfbebSnyanmisaka         RK_U32 rdo_segment_en    : 1;
2007*437bfbebSnyanmisaka         RK_U32 rdo_smear_en      : 1;
2008*437bfbebSnyanmisaka         RK_U32 reserved          : 30;
2009*437bfbebSnyanmisaka     } rdo_sqi_cfg;
2010*437bfbebSnyanmisaka     // 0x2004  - 0x2028     start   VEPU_RDO_B64_INTER_CIME_THD0
2011*437bfbebSnyanmisaka     RdoAtfCfg rdo_b64_inter_atf;
2012*437bfbebSnyanmisaka     // 0x202c  - 0x2050
2013*437bfbebSnyanmisaka     RdoAtfSkipCfg rdo_b64_skip_atf;
2014*437bfbebSnyanmisaka     // 0x2054  - 0x2078
2015*437bfbebSnyanmisaka     RdoAtfCfg rdo_b32_intra_atf;
2016*437bfbebSnyanmisaka     // 0x207c  - 0x20a0
2017*437bfbebSnyanmisaka     RdoAtfCfg rdo_b32_inter_atf;
2018*437bfbebSnyanmisaka     // 0x20a4  - 0x20c8
2019*437bfbebSnyanmisaka     RdoAtfSkipCfg rdo_b32_skip_atf;
2020*437bfbebSnyanmisaka     // 0x20cc  - 0x20f0
2021*437bfbebSnyanmisaka     RdoAtfCfg rdo_b16_intra_atf;
2022*437bfbebSnyanmisaka     // 0x20f4  - 0x2118
2023*437bfbebSnyanmisaka     RdoAtfCfg rdo_b16_inter_atf;
2024*437bfbebSnyanmisaka     // 0x211c  - 0x2140
2025*437bfbebSnyanmisaka     RdoAtfSkipCfg rdo_b16_skip_atf;
2026*437bfbebSnyanmisaka     // 0x2144  - 0x2168
2027*437bfbebSnyanmisaka     RdoAtfCfg rdo_b8_intra_atf;
2028*437bfbebSnyanmisaka     // 0x216c  - 0x2190
2029*437bfbebSnyanmisaka     RdoAtfCfg rdo_b8_inter_atf;
2030*437bfbebSnyanmisaka     // 0x2194  - 0x21b8
2031*437bfbebSnyanmisaka     RdoAtfSkipCfg rdo_b8_skip_atf;
2032*437bfbebSnyanmisaka 
2033*437bfbebSnyanmisaka     /* 0x000021bc reg2159 */
2034*437bfbebSnyanmisaka     struct {
2035*437bfbebSnyanmisaka         RK_U32 rdo_segment_cu64_th0    : 12;
2036*437bfbebSnyanmisaka         RK_U32 reserved                : 4;
2037*437bfbebSnyanmisaka         RK_U32 rdo_segment_cu64_th1    : 12;
2038*437bfbebSnyanmisaka         RK_U32 reserved1               : 4;
2039*437bfbebSnyanmisaka     } rdo_segment_b64_thd0;
2040*437bfbebSnyanmisaka 
2041*437bfbebSnyanmisaka     /* 0x000021c0 reg2160 */
2042*437bfbebSnyanmisaka     struct {
2043*437bfbebSnyanmisaka         RK_U32 rdo_segment_cu64_th2           : 12;
2044*437bfbebSnyanmisaka         RK_U32 reserved                       : 4;
2045*437bfbebSnyanmisaka         RK_U32 rdo_segment_cu64_th3           : 4;
2046*437bfbebSnyanmisaka         RK_U32 rdo_segment_cu64_th4           : 4;
2047*437bfbebSnyanmisaka         RK_U32 rdo_segment_cu64_th5_minus1    : 4;
2048*437bfbebSnyanmisaka         RK_U32 rdo_segment_cu64_th6_minus1    : 4;
2049*437bfbebSnyanmisaka     } rdo_segment_b64_thd1;
2050*437bfbebSnyanmisaka 
2051*437bfbebSnyanmisaka     /* 0x000021c4 reg2161 */
2052*437bfbebSnyanmisaka     struct {
2053*437bfbebSnyanmisaka         RK_U32 rdo_segment_cu32_th0    : 12;
2054*437bfbebSnyanmisaka         RK_U32 reserved                : 4;
2055*437bfbebSnyanmisaka         RK_U32 rdo_segment_cu32_th1    : 12;
2056*437bfbebSnyanmisaka         RK_U32 reserved1               : 4;
2057*437bfbebSnyanmisaka     } rdo_segment_b32_thd0;
2058*437bfbebSnyanmisaka 
2059*437bfbebSnyanmisaka     /* 0x000021c8 reg2162 */
2060*437bfbebSnyanmisaka     struct {
2061*437bfbebSnyanmisaka         RK_U32 rdo_segment_cu32_th2           : 12;
2062*437bfbebSnyanmisaka         RK_U32 reserved                       : 4;
2063*437bfbebSnyanmisaka         RK_U32 rdo_segment_cu32_th3           : 2;
2064*437bfbebSnyanmisaka         RK_U32 reserved1                      : 2;
2065*437bfbebSnyanmisaka         RK_U32 rdo_segment_cu32_th4           : 2;
2066*437bfbebSnyanmisaka         RK_U32 reserved2                      : 2;
2067*437bfbebSnyanmisaka         RK_U32 rdo_segment_cu32_th5_minus1    : 2;
2068*437bfbebSnyanmisaka         RK_U32 reserved3                      : 2;
2069*437bfbebSnyanmisaka         RK_U32 rdo_segment_cu32_th6_minus1    : 2;
2070*437bfbebSnyanmisaka         RK_U32 reserved4                      : 2;
2071*437bfbebSnyanmisaka     } rdo_segment_b32_thd1;
2072*437bfbebSnyanmisaka 
2073*437bfbebSnyanmisaka     /* 0x000021cc reg2163 */
2074*437bfbebSnyanmisaka     struct {
2075*437bfbebSnyanmisaka         RK_U32 rdo_segment_cu64_multi    : 8;
2076*437bfbebSnyanmisaka         RK_U32 rdo_segment_cu32_multi    : 8;
2077*437bfbebSnyanmisaka         RK_U32 rdo_smear_cu16_multi      : 8;
2078*437bfbebSnyanmisaka         RK_U32 reserved                  : 8;
2079*437bfbebSnyanmisaka     } rdo_segment_multi;
2080*437bfbebSnyanmisaka 
2081*437bfbebSnyanmisaka     /* 0x000021d0 reg2164 */
2082*437bfbebSnyanmisaka     struct {
2083*437bfbebSnyanmisaka         RK_U32 rdo_smear_cu16_cime_sad_th0    : 12;
2084*437bfbebSnyanmisaka         RK_U32 reserved                       : 4;
2085*437bfbebSnyanmisaka         RK_U32 rdo_smear_cu16_cime_sad_th1    : 12;
2086*437bfbebSnyanmisaka         RK_U32 reserved1                      : 4;
2087*437bfbebSnyanmisaka     } rdo_b16_smear_thd0;
2088*437bfbebSnyanmisaka 
2089*437bfbebSnyanmisaka     /* 0x000021d4 reg2165 */
2090*437bfbebSnyanmisaka     struct {
2091*437bfbebSnyanmisaka         RK_U32 rdo_smear_cu16_cime_sad_th2    : 12;
2092*437bfbebSnyanmisaka         RK_U32 reserved                       : 4;
2093*437bfbebSnyanmisaka         RK_U32 rdo_smear_cu16_cime_sad_th3    : 12;
2094*437bfbebSnyanmisaka         RK_U32 reserved1                      : 4;
2095*437bfbebSnyanmisaka     } rdo_b16_smear_thd1;
2096*437bfbebSnyanmisaka 
2097*437bfbebSnyanmisaka     /* 0x000021d8 reg2166 */
2098*437bfbebSnyanmisaka     struct {
2099*437bfbebSnyanmisaka         RK_U32 pre_intra32_cst_var_th00    : 12;
2100*437bfbebSnyanmisaka         RK_U32 reserved                    : 4;
2101*437bfbebSnyanmisaka         RK_U32 pre_intra32_cst_var_th01    : 12;
2102*437bfbebSnyanmisaka         RK_U32 reserved1                   : 1;
2103*437bfbebSnyanmisaka         RK_U32 pre_intra32_mode_th         : 3;
2104*437bfbebSnyanmisaka     } preintra_b32_cst_var_thd;
2105*437bfbebSnyanmisaka 
2106*437bfbebSnyanmisaka     /* 0x000021dc reg2167 */
2107*437bfbebSnyanmisaka     struct {
2108*437bfbebSnyanmisaka         RK_U32 pre_intra32_cst_wgt00    : 8;
2109*437bfbebSnyanmisaka         RK_U32 reserved                 : 8;
2110*437bfbebSnyanmisaka         RK_U32 pre_intra32_cst_wgt01    : 8;
2111*437bfbebSnyanmisaka         RK_U32 reserved1                : 8;
2112*437bfbebSnyanmisaka     } preintra_b32_cst_wgt;
2113*437bfbebSnyanmisaka 
2114*437bfbebSnyanmisaka     /* 0x000021e0 reg2168 */
2115*437bfbebSnyanmisaka     struct {
2116*437bfbebSnyanmisaka         RK_U32 pre_intra16_cst_var_th00    : 12;
2117*437bfbebSnyanmisaka         RK_U32 reserved                    : 4;
2118*437bfbebSnyanmisaka         RK_U32 pre_intra16_cst_var_th01    : 12;
2119*437bfbebSnyanmisaka         RK_U32 reserved1                   : 1;
2120*437bfbebSnyanmisaka         RK_U32 pre_intra16_mode_th         : 3;
2121*437bfbebSnyanmisaka     } preintra_b16_cst_var_thd;
2122*437bfbebSnyanmisaka 
2123*437bfbebSnyanmisaka     /* 0x000021e4 reg2169 */
2124*437bfbebSnyanmisaka     struct {
2125*437bfbebSnyanmisaka         RK_U32 pre_intra16_cst_wgt00    : 8;
2126*437bfbebSnyanmisaka         RK_U32 reserved                 : 8;
2127*437bfbebSnyanmisaka         RK_U32 pre_intra16_cst_wgt01    : 8;
2128*437bfbebSnyanmisaka         RK_U32 reserved1                : 8;
2129*437bfbebSnyanmisaka     } preintra_b16_cst_wgt;
2130*437bfbebSnyanmisaka 
2131*437bfbebSnyanmisaka     RK_U32 reserved_0x21e8_0x21fc[6];
2132*437bfbebSnyanmisaka 
2133*437bfbebSnyanmisaka     // 0x2200 ~ 0x2c94
2134*437bfbebSnyanmisaka     RK_U32 scaling_list_reg[678]; /* total number really: 678 */
2135*437bfbebSnyanmisaka     // 0x2c98
2136*437bfbebSnyanmisaka     RK_U32 scal_cfg_reg;
2137*437bfbebSnyanmisaka } vepu580_rdo_cfg;
2138*437bfbebSnyanmisaka 
2139*437bfbebSnyanmisaka /* class: osd */
2140*437bfbebSnyanmisaka /* 0x00003000 reg3072 - 0x00003084 reg3105*/
2141*437bfbebSnyanmisaka typedef struct Vepu580OsdCfg_t {
2142*437bfbebSnyanmisaka     /* 0x00003000 reg3072 */
2143*437bfbebSnyanmisaka     struct {
2144*437bfbebSnyanmisaka         RK_U32 osd_lu_inv_en     : 8;
2145*437bfbebSnyanmisaka         RK_U32 osd_ch_inv_en     : 8;
2146*437bfbebSnyanmisaka         RK_U32 osd_lu_inv_msk    : 8;
2147*437bfbebSnyanmisaka         RK_U32 osd_ch_inv_msk    : 8;
2148*437bfbebSnyanmisaka     } osd_inv_en;
2149*437bfbebSnyanmisaka 
2150*437bfbebSnyanmisaka     /* 0x00003004 reg3073 */
2151*437bfbebSnyanmisaka     struct {
2152*437bfbebSnyanmisaka         RK_U32 osd_ithd_r0    : 4;
2153*437bfbebSnyanmisaka         RK_U32 osd_ithd_r1    : 4;
2154*437bfbebSnyanmisaka         RK_U32 osd_ithd_r2    : 4;
2155*437bfbebSnyanmisaka         RK_U32 osd_ithd_r3    : 4;
2156*437bfbebSnyanmisaka         RK_U32 osd_ithd_r4    : 4;
2157*437bfbebSnyanmisaka         RK_U32 osd_ithd_r5    : 4;
2158*437bfbebSnyanmisaka         RK_U32 osd_ithd_r6    : 4;
2159*437bfbebSnyanmisaka         RK_U32 osd_ithd_r7    : 4;
2160*437bfbebSnyanmisaka     } osd_inv_thd;
2161*437bfbebSnyanmisaka 
2162*437bfbebSnyanmisaka     /* 0x00003008 reg3074 */
2163*437bfbebSnyanmisaka     struct {
2164*437bfbebSnyanmisaka         RK_U32 osd_en         : 8;
2165*437bfbebSnyanmisaka         RK_U32 osd_itype      : 8;
2166*437bfbebSnyanmisaka         RK_U32 osd_plt_cks    : 1;
2167*437bfbebSnyanmisaka         RK_U32 osd_plt_typ    : 1;
2168*437bfbebSnyanmisaka         RK_U32 reserved       : 14;
2169*437bfbebSnyanmisaka     } osd_cfg;
2170*437bfbebSnyanmisaka 
2171*437bfbebSnyanmisaka     /* 0x300c */
2172*437bfbebSnyanmisaka     RK_U32 reserved_3075;
2173*437bfbebSnyanmisaka 
2174*437bfbebSnyanmisaka     /* 0x00003010 reg3076 */
2175*437bfbebSnyanmisaka     struct {
2176*437bfbebSnyanmisaka         RK_U32 osd0_lt_x    : 10;
2177*437bfbebSnyanmisaka         RK_U32 reserved     : 6;
2178*437bfbebSnyanmisaka         RK_U32 osd0_lt_y    : 10;
2179*437bfbebSnyanmisaka         RK_U32 reserved1    : 6;
2180*437bfbebSnyanmisaka     } osd0_lt_pos;
2181*437bfbebSnyanmisaka 
2182*437bfbebSnyanmisaka     /* 0x00003014 reg3077 */
2183*437bfbebSnyanmisaka     struct {
2184*437bfbebSnyanmisaka         RK_U32 osd0_rb_x    : 10;
2185*437bfbebSnyanmisaka         RK_U32 reserved     : 6;
2186*437bfbebSnyanmisaka         RK_U32 osd0_rb_y    : 10;
2187*437bfbebSnyanmisaka         RK_U32 reserved1    : 6;
2188*437bfbebSnyanmisaka     } osd0_rb_pos;
2189*437bfbebSnyanmisaka 
2190*437bfbebSnyanmisaka     /* 0x00003018 reg3078 */
2191*437bfbebSnyanmisaka     struct {
2192*437bfbebSnyanmisaka         RK_U32 osd1_lt_x    : 10;
2193*437bfbebSnyanmisaka         RK_U32 reserved     : 6;
2194*437bfbebSnyanmisaka         RK_U32 osd1_lt_y    : 10;
2195*437bfbebSnyanmisaka         RK_U32 reserved1    : 6;
2196*437bfbebSnyanmisaka     } osd1_lt_pos;
2197*437bfbebSnyanmisaka 
2198*437bfbebSnyanmisaka     /* 0x0000301c reg3079 */
2199*437bfbebSnyanmisaka     struct {
2200*437bfbebSnyanmisaka         RK_U32 osd1_rb_x    : 10;
2201*437bfbebSnyanmisaka         RK_U32 reserved     : 6;
2202*437bfbebSnyanmisaka         RK_U32 osd1_rb_y    : 10;
2203*437bfbebSnyanmisaka         RK_U32 reserved1    : 6;
2204*437bfbebSnyanmisaka     } osd1_rb_pos;
2205*437bfbebSnyanmisaka 
2206*437bfbebSnyanmisaka     /* 0x00003020 reg3080 */
2207*437bfbebSnyanmisaka     struct {
2208*437bfbebSnyanmisaka         RK_U32 osd2_lt_x    : 10;
2209*437bfbebSnyanmisaka         RK_U32 reserved     : 6;
2210*437bfbebSnyanmisaka         RK_U32 osd2_lt_y    : 10;
2211*437bfbebSnyanmisaka         RK_U32 reserved1    : 6;
2212*437bfbebSnyanmisaka     } osd2_lt_pos;
2213*437bfbebSnyanmisaka 
2214*437bfbebSnyanmisaka     /* 0x00003024 reg3081 */
2215*437bfbebSnyanmisaka     struct {
2216*437bfbebSnyanmisaka         RK_U32 osd2_rb_x    : 10;
2217*437bfbebSnyanmisaka         RK_U32 reserved     : 6;
2218*437bfbebSnyanmisaka         RK_U32 osd2_rb_y    : 10;
2219*437bfbebSnyanmisaka         RK_U32 reserved1    : 6;
2220*437bfbebSnyanmisaka     } osd2_rb_pos;
2221*437bfbebSnyanmisaka 
2222*437bfbebSnyanmisaka     /* 0x00003028 reg3082 */
2223*437bfbebSnyanmisaka     struct {
2224*437bfbebSnyanmisaka         RK_U32 osd3_lt_x    : 10;
2225*437bfbebSnyanmisaka         RK_U32 reserved     : 6;
2226*437bfbebSnyanmisaka         RK_U32 osd3_lt_y    : 10;
2227*437bfbebSnyanmisaka         RK_U32 reserved1    : 6;
2228*437bfbebSnyanmisaka     } osd3_lt_pos;
2229*437bfbebSnyanmisaka 
2230*437bfbebSnyanmisaka     /* 0x0000302c reg3083 */
2231*437bfbebSnyanmisaka     struct {
2232*437bfbebSnyanmisaka         RK_U32 osd3_rb_x    : 10;
2233*437bfbebSnyanmisaka         RK_U32 reserved     : 6;
2234*437bfbebSnyanmisaka         RK_U32 osd3_rb_y    : 10;
2235*437bfbebSnyanmisaka         RK_U32 reserved1    : 6;
2236*437bfbebSnyanmisaka     } osd3_rb_pos;
2237*437bfbebSnyanmisaka 
2238*437bfbebSnyanmisaka     /* 0x00003030 reg3084 */
2239*437bfbebSnyanmisaka     struct {
2240*437bfbebSnyanmisaka         RK_U32 osd4_lt_x    : 10;
2241*437bfbebSnyanmisaka         RK_U32 reserved     : 6;
2242*437bfbebSnyanmisaka         RK_U32 osd4_lt_y    : 10;
2243*437bfbebSnyanmisaka         RK_U32 reserved1    : 6;
2244*437bfbebSnyanmisaka     } osd4_lt_pos;
2245*437bfbebSnyanmisaka 
2246*437bfbebSnyanmisaka     /* 0x00003034 reg3085 */
2247*437bfbebSnyanmisaka     struct {
2248*437bfbebSnyanmisaka         RK_U32 osd4_rb_x    : 10;
2249*437bfbebSnyanmisaka         RK_U32 reserved     : 6;
2250*437bfbebSnyanmisaka         RK_U32 osd4_rb_y    : 10;
2251*437bfbebSnyanmisaka         RK_U32 reserved1    : 6;
2252*437bfbebSnyanmisaka     } osd4_rb_pos;
2253*437bfbebSnyanmisaka 
2254*437bfbebSnyanmisaka     /* 0x00003038 reg3086 */
2255*437bfbebSnyanmisaka     struct {
2256*437bfbebSnyanmisaka         RK_U32 osd5_lt_x    : 10;
2257*437bfbebSnyanmisaka         RK_U32 reserved     : 6;
2258*437bfbebSnyanmisaka         RK_U32 osd5_lt_y    : 10;
2259*437bfbebSnyanmisaka         RK_U32 reserved1    : 6;
2260*437bfbebSnyanmisaka     } osd5_lt_pos;
2261*437bfbebSnyanmisaka 
2262*437bfbebSnyanmisaka     /* 0x0000303c reg3087 */
2263*437bfbebSnyanmisaka     struct {
2264*437bfbebSnyanmisaka         RK_U32 osd5_rb_x    : 10;
2265*437bfbebSnyanmisaka         RK_U32 reserved     : 6;
2266*437bfbebSnyanmisaka         RK_U32 osd5_rb_y    : 10;
2267*437bfbebSnyanmisaka         RK_U32 reserved1    : 6;
2268*437bfbebSnyanmisaka     } osd5_rb_pos;
2269*437bfbebSnyanmisaka 
2270*437bfbebSnyanmisaka     /* 0x00003040 reg3088 */
2271*437bfbebSnyanmisaka     struct {
2272*437bfbebSnyanmisaka         RK_U32 osd6_lt_x    : 10;
2273*437bfbebSnyanmisaka         RK_U32 reserved     : 6;
2274*437bfbebSnyanmisaka         RK_U32 osd6_lt_y    : 10;
2275*437bfbebSnyanmisaka         RK_U32 reserved1    : 6;
2276*437bfbebSnyanmisaka     } osd6_lt_pos;
2277*437bfbebSnyanmisaka 
2278*437bfbebSnyanmisaka     /* 0x00003044 reg3089 */
2279*437bfbebSnyanmisaka     struct {
2280*437bfbebSnyanmisaka         RK_U32 osd6_rb_x    : 10;
2281*437bfbebSnyanmisaka         RK_U32 reserved     : 6;
2282*437bfbebSnyanmisaka         RK_U32 osd6_rb_y    : 10;
2283*437bfbebSnyanmisaka         RK_U32 reserved1    : 6;
2284*437bfbebSnyanmisaka     } osd6_rb_pos;
2285*437bfbebSnyanmisaka 
2286*437bfbebSnyanmisaka     /* 0x00003048 reg3090 */
2287*437bfbebSnyanmisaka     struct {
2288*437bfbebSnyanmisaka         RK_U32 osd7_lt_x    : 10;
2289*437bfbebSnyanmisaka         RK_U32 reserved     : 6;
2290*437bfbebSnyanmisaka         RK_U32 osd7_lt_y    : 10;
2291*437bfbebSnyanmisaka         RK_U32 reserved1    : 6;
2292*437bfbebSnyanmisaka     } osd7_lt_pos;
2293*437bfbebSnyanmisaka 
2294*437bfbebSnyanmisaka     /* 0x0000304c reg3091 */
2295*437bfbebSnyanmisaka     struct {
2296*437bfbebSnyanmisaka         RK_U32 osd7_rb_x    : 10;
2297*437bfbebSnyanmisaka         RK_U32 reserved     : 6;
2298*437bfbebSnyanmisaka         RK_U32 osd7_rb_y    : 10;
2299*437bfbebSnyanmisaka         RK_U32 reserved1    : 6;
2300*437bfbebSnyanmisaka     } osd7_rb_pos;
2301*437bfbebSnyanmisaka 
2302*437bfbebSnyanmisaka     /* 0x00003050 reg3092 */
2303*437bfbebSnyanmisaka     RK_U32 osd0_addr;
2304*437bfbebSnyanmisaka 
2305*437bfbebSnyanmisaka     /* 0x00003054 reg3093 */
2306*437bfbebSnyanmisaka     RK_U32 osd1_addr;
2307*437bfbebSnyanmisaka 
2308*437bfbebSnyanmisaka     /* 0x00003058 reg3094 */
2309*437bfbebSnyanmisaka     RK_U32 osd2_addr;
2310*437bfbebSnyanmisaka 
2311*437bfbebSnyanmisaka     /* 0x0000305c reg3095 */
2312*437bfbebSnyanmisaka     RK_U32 osd3_addr;
2313*437bfbebSnyanmisaka 
2314*437bfbebSnyanmisaka     /* 0x00003060 reg3096 */
2315*437bfbebSnyanmisaka     RK_U32 osd4_addr;
2316*437bfbebSnyanmisaka 
2317*437bfbebSnyanmisaka     /* 0x00003064 reg3097 */
2318*437bfbebSnyanmisaka     RK_U32 osd5_addr;
2319*437bfbebSnyanmisaka 
2320*437bfbebSnyanmisaka     /* 0x00003068 reg3098 */
2321*437bfbebSnyanmisaka     RK_U32 osd6_addr;
2322*437bfbebSnyanmisaka 
2323*437bfbebSnyanmisaka     /* 0x0000306c reg3099 */
2324*437bfbebSnyanmisaka     RK_U32 osd7_addr;
2325*437bfbebSnyanmisaka 
2326*437bfbebSnyanmisaka     /* 0x3070 - 0x307c */
2327*437bfbebSnyanmisaka     RK_U32 reserved3100_3103[4];
2328*437bfbebSnyanmisaka     /* 0x03080-0x347c reg3104-reg3360 */
2329*437bfbebSnyanmisaka     RK_U32 plt[256];
2330*437bfbebSnyanmisaka } vepu580_osd_cfg;
2331*437bfbebSnyanmisaka 
2332*437bfbebSnyanmisaka /* class: st */
2333*437bfbebSnyanmisaka /* 0x00004000 reg4096 - 0x000042cc reg4275 */
2334*437bfbebSnyanmisaka typedef struct Vepu580Status_t {
2335*437bfbebSnyanmisaka     /* 0x00004000 reg4096 */
2336*437bfbebSnyanmisaka     RK_U32 bs_lgth_l32;
2337*437bfbebSnyanmisaka 
2338*437bfbebSnyanmisaka     /* 0x00004004 reg4097 */
2339*437bfbebSnyanmisaka     struct {
2340*437bfbebSnyanmisaka         RK_U32 bs_lgth_h8    : 8;
2341*437bfbebSnyanmisaka         RK_U32 reserved      : 8;
2342*437bfbebSnyanmisaka         RK_U32 sse_l16       : 16;
2343*437bfbebSnyanmisaka     } st_sse_bsl;
2344*437bfbebSnyanmisaka 
2345*437bfbebSnyanmisaka     /* 0x00004008 reg4098 */
2346*437bfbebSnyanmisaka     RK_U32 sse_h32;
2347*437bfbebSnyanmisaka 
2348*437bfbebSnyanmisaka     /* 0x0000400c reg4099 */
2349*437bfbebSnyanmisaka     RK_U32 qp_sum;
2350*437bfbebSnyanmisaka 
2351*437bfbebSnyanmisaka     /* 0x00004010 reg4100 */
2352*437bfbebSnyanmisaka     struct {
2353*437bfbebSnyanmisaka         RK_U32 sao_cnum    : 16;
2354*437bfbebSnyanmisaka         RK_U32 sao_ynum    : 16;
2355*437bfbebSnyanmisaka     } st_sao;
2356*437bfbebSnyanmisaka 
2357*437bfbebSnyanmisaka     /* 0x00004014 reg4101 */
2358*437bfbebSnyanmisaka     RK_U32 rdo_head_bits;
2359*437bfbebSnyanmisaka 
2360*437bfbebSnyanmisaka     /* 0x00004018 reg4102 */
2361*437bfbebSnyanmisaka     struct {
2362*437bfbebSnyanmisaka         RK_U32 rdo_head_bits_h8    : 8;
2363*437bfbebSnyanmisaka         RK_U32 reserved            : 8;
2364*437bfbebSnyanmisaka         RK_U32 rdo_res_bits_l16    : 16;
2365*437bfbebSnyanmisaka     } st_head_res_bl;
2366*437bfbebSnyanmisaka 
2367*437bfbebSnyanmisaka     /* 0x0000401c reg4103 */
2368*437bfbebSnyanmisaka     RK_U32 rdo_res_bits_h24;
2369*437bfbebSnyanmisaka 
2370*437bfbebSnyanmisaka     /* 0x00004020 reg4104 */
2371*437bfbebSnyanmisaka     struct {
2372*437bfbebSnyanmisaka         RK_U32 st_enc      : 2;
2373*437bfbebSnyanmisaka         RK_U32 st_sclr     : 1;
2374*437bfbebSnyanmisaka         RK_U32 reserved    : 29;
2375*437bfbebSnyanmisaka     } st_enc;
2376*437bfbebSnyanmisaka 
2377*437bfbebSnyanmisaka     /* 0x00004024 reg4105 */
2378*437bfbebSnyanmisaka     struct {
2379*437bfbebSnyanmisaka         RK_U32 fnum_cfg_done    : 8;
2380*437bfbebSnyanmisaka         RK_U32 fnum_cfg         : 8;
2381*437bfbebSnyanmisaka         RK_U32 fnum_int         : 8;
2382*437bfbebSnyanmisaka         RK_U32 fnum_enc_done    : 8;
2383*437bfbebSnyanmisaka     } st_lkt;
2384*437bfbebSnyanmisaka 
2385*437bfbebSnyanmisaka     /* 0x00004028 reg4106 */
2386*437bfbebSnyanmisaka     RK_U32 node_addr;
2387*437bfbebSnyanmisaka 
2388*437bfbebSnyanmisaka     /* 0x0000402c reg4107 */
2389*437bfbebSnyanmisaka     struct {
2390*437bfbebSnyanmisaka         RK_U32 bsbw_ovfl    : 1;
2391*437bfbebSnyanmisaka         RK_U32 reserved     : 2;
2392*437bfbebSnyanmisaka         RK_U32 bsbw_addr    : 28;
2393*437bfbebSnyanmisaka         RK_U32 reserved1    : 1;
2394*437bfbebSnyanmisaka     } st_bsb;
2395*437bfbebSnyanmisaka 
2396*437bfbebSnyanmisaka     /* 0x00004030 reg4108 */
2397*437bfbebSnyanmisaka     struct {
2398*437bfbebSnyanmisaka         RK_U32 axib_idl     : 8;
2399*437bfbebSnyanmisaka         RK_U32 axib_ovfl    : 8;
2400*437bfbebSnyanmisaka         RK_U32 axib_err     : 8;
2401*437bfbebSnyanmisaka         RK_U32 axir_err     : 7;
2402*437bfbebSnyanmisaka         RK_U32 reserved     : 1;
2403*437bfbebSnyanmisaka     } st_bus;
2404*437bfbebSnyanmisaka 
2405*437bfbebSnyanmisaka     /* 0x00004034 reg4109 */
2406*437bfbebSnyanmisaka     struct {
2407*437bfbebSnyanmisaka         RK_U32 sli_num     : 6;
2408*437bfbebSnyanmisaka         RK_U32 reserved    : 26;
2409*437bfbebSnyanmisaka     } st_snum;
2410*437bfbebSnyanmisaka 
2411*437bfbebSnyanmisaka     /* 0x00004038 reg4110 */
2412*437bfbebSnyanmisaka     struct {
2413*437bfbebSnyanmisaka         RK_U32 sli_len     : 25;
2414*437bfbebSnyanmisaka         RK_U32 reserved    : 7;
2415*437bfbebSnyanmisaka     } st_slen;
2416*437bfbebSnyanmisaka 
2417*437bfbebSnyanmisaka     /* 0x403c - 0x40fc */
2418*437bfbebSnyanmisaka     RK_U32 reserved4111_4159[49];
2419*437bfbebSnyanmisaka 
2420*437bfbebSnyanmisaka     /* 0x00004100 reg4160 */
2421*437bfbebSnyanmisaka     struct {
2422*437bfbebSnyanmisaka         RK_U32 pnum_p64    : 17;
2423*437bfbebSnyanmisaka         RK_U32 reserved    : 15;
2424*437bfbebSnyanmisaka     } st_pnum_p64;
2425*437bfbebSnyanmisaka 
2426*437bfbebSnyanmisaka     /* 0x00004104 reg4161 */
2427*437bfbebSnyanmisaka     struct {
2428*437bfbebSnyanmisaka         RK_U32 pnum_p32    : 19;
2429*437bfbebSnyanmisaka         RK_U32 reserved    : 13;
2430*437bfbebSnyanmisaka     } st_pnum_p32;
2431*437bfbebSnyanmisaka 
2432*437bfbebSnyanmisaka     /* 0x00004108 reg4162 */
2433*437bfbebSnyanmisaka     struct {
2434*437bfbebSnyanmisaka         RK_U32 pnum_p16    : 21;
2435*437bfbebSnyanmisaka         RK_U32 reserved    : 11;
2436*437bfbebSnyanmisaka     } st_pnum_p16;
2437*437bfbebSnyanmisaka 
2438*437bfbebSnyanmisaka     /* 0x0000410c reg4163 */
2439*437bfbebSnyanmisaka     struct {
2440*437bfbebSnyanmisaka         RK_U32 pnum_p8     : 23;
2441*437bfbebSnyanmisaka         RK_U32 reserved    : 9;
2442*437bfbebSnyanmisaka     } st_pnum_p8;
2443*437bfbebSnyanmisaka 
2444*437bfbebSnyanmisaka     /* 0x00004110 reg4164 */
2445*437bfbebSnyanmisaka     struct {
2446*437bfbebSnyanmisaka         RK_U32 pnum_i32    : 19;
2447*437bfbebSnyanmisaka         RK_U32 reserved    : 13;
2448*437bfbebSnyanmisaka     } st_pnum_i32;
2449*437bfbebSnyanmisaka 
2450*437bfbebSnyanmisaka     /* 0x00004114 reg4165 */
2451*437bfbebSnyanmisaka     struct {
2452*437bfbebSnyanmisaka         RK_U32 pnum_i16    : 21;
2453*437bfbebSnyanmisaka         RK_U32 reserved    : 11;
2454*437bfbebSnyanmisaka     } st_pnum_i16;
2455*437bfbebSnyanmisaka 
2456*437bfbebSnyanmisaka     /* 0x00004118 reg4166 */
2457*437bfbebSnyanmisaka     struct {
2458*437bfbebSnyanmisaka         RK_U32 pnum_i8     : 23;
2459*437bfbebSnyanmisaka         RK_U32 reserved    : 9;
2460*437bfbebSnyanmisaka     } st_pnum_i8;
2461*437bfbebSnyanmisaka 
2462*437bfbebSnyanmisaka     /* 0x0000411c reg4167 */
2463*437bfbebSnyanmisaka     struct {
2464*437bfbebSnyanmisaka         RK_U32 pnum_i4     : 23;
2465*437bfbebSnyanmisaka         RK_U32 reserved    : 9;
2466*437bfbebSnyanmisaka     } st_pnum_i4;
2467*437bfbebSnyanmisaka 
2468*437bfbebSnyanmisaka     /* 0x00004120 reg4168 */
2469*437bfbebSnyanmisaka     RK_U32 madp;
2470*437bfbebSnyanmisaka 
2471*437bfbebSnyanmisaka     /* 0x00004124 reg4169 */
2472*437bfbebSnyanmisaka     struct {
2473*437bfbebSnyanmisaka         RK_U32 num_ctu     : 21;
2474*437bfbebSnyanmisaka         RK_U32 reserved    : 11;
2475*437bfbebSnyanmisaka     } st_bnum_cme;
2476*437bfbebSnyanmisaka 
2477*437bfbebSnyanmisaka     /* 0x00004128 reg4170 */
2478*437bfbebSnyanmisaka     RK_U32 madi;
2479*437bfbebSnyanmisaka 
2480*437bfbebSnyanmisaka     /* 0x0000412c reg4171 */
2481*437bfbebSnyanmisaka     struct {
2482*437bfbebSnyanmisaka         RK_U32 num_b16     : 23;
2483*437bfbebSnyanmisaka         RK_U32 reserved    : 9;
2484*437bfbebSnyanmisaka     } st_bnum_b16;
2485*437bfbebSnyanmisaka 
2486*437bfbebSnyanmisaka     /* 0x00004130 reg4172 */
2487*437bfbebSnyanmisaka     RK_U32 num_madi_max_b16;
2488*437bfbebSnyanmisaka 
2489*437bfbebSnyanmisaka     /* 0x00004134 reg4173 */
2490*437bfbebSnyanmisaka     RK_U32 md_sad_b16num0;
2491*437bfbebSnyanmisaka 
2492*437bfbebSnyanmisaka     /* 0x00004138 reg4174 */
2493*437bfbebSnyanmisaka     RK_U32 md_sad_b16num1;
2494*437bfbebSnyanmisaka 
2495*437bfbebSnyanmisaka     /* 0x0000413c reg4175 */
2496*437bfbebSnyanmisaka     RK_U32 md_sad_b16num2;
2497*437bfbebSnyanmisaka 
2498*437bfbebSnyanmisaka     /* 0x00004140 reg4176 */
2499*437bfbebSnyanmisaka     RK_U32 md_sad_b16num3;
2500*437bfbebSnyanmisaka 
2501*437bfbebSnyanmisaka     /* 0x00004144 reg4177 */
2502*437bfbebSnyanmisaka     RK_U32 madi_b16num0;
2503*437bfbebSnyanmisaka 
2504*437bfbebSnyanmisaka     /* 0x00004148 reg4178 */
2505*437bfbebSnyanmisaka     RK_U32 madi_b16num1;
2506*437bfbebSnyanmisaka 
2507*437bfbebSnyanmisaka     /* 0x0000414c reg4179 */
2508*437bfbebSnyanmisaka     RK_U32 madi_b16num2;
2509*437bfbebSnyanmisaka 
2510*437bfbebSnyanmisaka     /* 0x00004150 reg4180 */
2511*437bfbebSnyanmisaka     RK_U32 madi_b16num3;
2512*437bfbebSnyanmisaka 
2513*437bfbebSnyanmisaka     /* 0x4154 - 0x41fc */
2514*437bfbebSnyanmisaka     RK_U32 reserved4181_4223[43];
2515*437bfbebSnyanmisaka 
2516*437bfbebSnyanmisaka     /* 0x00004200 reg4224 */
2517*437bfbebSnyanmisaka     struct {
2518*437bfbebSnyanmisaka         RK_U32 b8num_qp0    : 22;
2519*437bfbebSnyanmisaka         RK_U32 reserved     : 10;
2520*437bfbebSnyanmisaka     } st_b8_qp0;
2521*437bfbebSnyanmisaka 
2522*437bfbebSnyanmisaka     /* 0x00004204 reg4225 */
2523*437bfbebSnyanmisaka     struct {
2524*437bfbebSnyanmisaka         RK_U32 b8num_qp1    : 22;
2525*437bfbebSnyanmisaka         RK_U32 reserved     : 10;
2526*437bfbebSnyanmisaka     } st_b8_qp1;
2527*437bfbebSnyanmisaka 
2528*437bfbebSnyanmisaka     /* 0x00004208 reg4226 */
2529*437bfbebSnyanmisaka     struct {
2530*437bfbebSnyanmisaka         RK_U32 b8num_qp2    : 22;
2531*437bfbebSnyanmisaka         RK_U32 reserved     : 10;
2532*437bfbebSnyanmisaka     } st_b8_qp2;
2533*437bfbebSnyanmisaka 
2534*437bfbebSnyanmisaka     /* 0x0000420c reg4227 */
2535*437bfbebSnyanmisaka     struct {
2536*437bfbebSnyanmisaka         RK_U32 b8num_qp3    : 22;
2537*437bfbebSnyanmisaka         RK_U32 reserved     : 10;
2538*437bfbebSnyanmisaka     } st_b8_qp3;
2539*437bfbebSnyanmisaka 
2540*437bfbebSnyanmisaka     /* 0x00004210 reg4228 */
2541*437bfbebSnyanmisaka     struct {
2542*437bfbebSnyanmisaka         RK_U32 b8num_qp4    : 22;
2543*437bfbebSnyanmisaka         RK_U32 reserved     : 10;
2544*437bfbebSnyanmisaka     } st_b8_qp4;
2545*437bfbebSnyanmisaka 
2546*437bfbebSnyanmisaka     /* 0x00004214 reg4229 */
2547*437bfbebSnyanmisaka     struct {
2548*437bfbebSnyanmisaka         RK_U32 b8num_qp5    : 22;
2549*437bfbebSnyanmisaka         RK_U32 reserved     : 10;
2550*437bfbebSnyanmisaka     } st_b8_qp5;
2551*437bfbebSnyanmisaka 
2552*437bfbebSnyanmisaka     /* 0x00004218 reg4230 */
2553*437bfbebSnyanmisaka     struct {
2554*437bfbebSnyanmisaka         RK_U32 b8num_qp6    : 22;
2555*437bfbebSnyanmisaka         RK_U32 reserved     : 10;
2556*437bfbebSnyanmisaka     } st_b8_qp6;
2557*437bfbebSnyanmisaka 
2558*437bfbebSnyanmisaka     /* 0x0000421c reg4231 */
2559*437bfbebSnyanmisaka     struct {
2560*437bfbebSnyanmisaka         RK_U32 b8num_qp7    : 22;
2561*437bfbebSnyanmisaka         RK_U32 reserved     : 10;
2562*437bfbebSnyanmisaka     } st_b8_qp7;
2563*437bfbebSnyanmisaka 
2564*437bfbebSnyanmisaka     /* 0x00004220 reg4232 */
2565*437bfbebSnyanmisaka     struct {
2566*437bfbebSnyanmisaka         RK_U32 b8num_qp8    : 22;
2567*437bfbebSnyanmisaka         RK_U32 reserved     : 10;
2568*437bfbebSnyanmisaka     } st_b8_qp8;
2569*437bfbebSnyanmisaka 
2570*437bfbebSnyanmisaka     /* 0x00004224 reg4233 */
2571*437bfbebSnyanmisaka     struct {
2572*437bfbebSnyanmisaka         RK_U32 b8num_qp9    : 22;
2573*437bfbebSnyanmisaka         RK_U32 reserved     : 10;
2574*437bfbebSnyanmisaka     } st_b8_qp9;
2575*437bfbebSnyanmisaka 
2576*437bfbebSnyanmisaka     /* 0x00004228 reg4234 */
2577*437bfbebSnyanmisaka     struct {
2578*437bfbebSnyanmisaka         RK_U32 b8num_qp10    : 22;
2579*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2580*437bfbebSnyanmisaka     } st_b8_qp10;
2581*437bfbebSnyanmisaka 
2582*437bfbebSnyanmisaka     /* 0x0000422c reg4235 */
2583*437bfbebSnyanmisaka     struct {
2584*437bfbebSnyanmisaka         RK_U32 b8num_qp11    : 22;
2585*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2586*437bfbebSnyanmisaka     } st_b8_qp11;
2587*437bfbebSnyanmisaka 
2588*437bfbebSnyanmisaka     /* 0x00004230 reg4236 */
2589*437bfbebSnyanmisaka     struct {
2590*437bfbebSnyanmisaka         RK_U32 b8num_qp12    : 22;
2591*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2592*437bfbebSnyanmisaka     } st_b8_qp12;
2593*437bfbebSnyanmisaka 
2594*437bfbebSnyanmisaka     /* 0x00004234 reg4237 */
2595*437bfbebSnyanmisaka     struct {
2596*437bfbebSnyanmisaka         RK_U32 b8num_qp13    : 22;
2597*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2598*437bfbebSnyanmisaka     } st_b8_qp13;
2599*437bfbebSnyanmisaka 
2600*437bfbebSnyanmisaka     /* 0x00004238 reg4238 */
2601*437bfbebSnyanmisaka     struct {
2602*437bfbebSnyanmisaka         RK_U32 b8num_qp14    : 22;
2603*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2604*437bfbebSnyanmisaka     } st_b8_qp14;
2605*437bfbebSnyanmisaka 
2606*437bfbebSnyanmisaka     /* 0x0000423c reg4239 */
2607*437bfbebSnyanmisaka     struct {
2608*437bfbebSnyanmisaka         RK_U32 b8num_qp15    : 22;
2609*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2610*437bfbebSnyanmisaka     } st_b8_qp15;
2611*437bfbebSnyanmisaka 
2612*437bfbebSnyanmisaka     /* 0x00004240 reg4240 */
2613*437bfbebSnyanmisaka     struct {
2614*437bfbebSnyanmisaka         RK_U32 b8num_qp16    : 22;
2615*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2616*437bfbebSnyanmisaka     } st_b8_qp16;
2617*437bfbebSnyanmisaka 
2618*437bfbebSnyanmisaka     /* 0x00004244 reg4241 */
2619*437bfbebSnyanmisaka     struct {
2620*437bfbebSnyanmisaka         RK_U32 b8num_qp17    : 22;
2621*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2622*437bfbebSnyanmisaka     } st_b8_qp17;
2623*437bfbebSnyanmisaka 
2624*437bfbebSnyanmisaka     /* 0x00004248 reg4242 */
2625*437bfbebSnyanmisaka     struct {
2626*437bfbebSnyanmisaka         RK_U32 b8num_qp18    : 22;
2627*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2628*437bfbebSnyanmisaka     } st_b8_qp18;
2629*437bfbebSnyanmisaka 
2630*437bfbebSnyanmisaka     /* 0x0000424c reg4243 */
2631*437bfbebSnyanmisaka     struct {
2632*437bfbebSnyanmisaka         RK_U32 b8num_qp19    : 22;
2633*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2634*437bfbebSnyanmisaka     } st_b8_qp19;
2635*437bfbebSnyanmisaka 
2636*437bfbebSnyanmisaka     /* 0x00004250 reg4244 */
2637*437bfbebSnyanmisaka     struct {
2638*437bfbebSnyanmisaka         RK_U32 b8num_qp20    : 22;
2639*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2640*437bfbebSnyanmisaka     } st_b8_qp20;
2641*437bfbebSnyanmisaka 
2642*437bfbebSnyanmisaka     /* 0x00004254 reg4245 */
2643*437bfbebSnyanmisaka     struct {
2644*437bfbebSnyanmisaka         RK_U32 b8num_qp21    : 22;
2645*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2646*437bfbebSnyanmisaka     } st_b8_qp21;
2647*437bfbebSnyanmisaka 
2648*437bfbebSnyanmisaka     /* 0x00004258 reg4246 */
2649*437bfbebSnyanmisaka     struct {
2650*437bfbebSnyanmisaka         RK_U32 b8num_qp22    : 22;
2651*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2652*437bfbebSnyanmisaka     } st_b8_qp22;
2653*437bfbebSnyanmisaka 
2654*437bfbebSnyanmisaka     /* 0x0000425c reg4247 */
2655*437bfbebSnyanmisaka     struct {
2656*437bfbebSnyanmisaka         RK_U32 b8num_qp23    : 22;
2657*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2658*437bfbebSnyanmisaka     } st_b8_qp23;
2659*437bfbebSnyanmisaka 
2660*437bfbebSnyanmisaka     /* 0x00004260 reg4248 */
2661*437bfbebSnyanmisaka     struct {
2662*437bfbebSnyanmisaka         RK_U32 b8num_qp24    : 22;
2663*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2664*437bfbebSnyanmisaka     } st_b8_qp24;
2665*437bfbebSnyanmisaka 
2666*437bfbebSnyanmisaka     /* 0x00004264 reg4249 */
2667*437bfbebSnyanmisaka     struct {
2668*437bfbebSnyanmisaka         RK_U32 b8num_qp25    : 22;
2669*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2670*437bfbebSnyanmisaka     } st_b8_qp25;
2671*437bfbebSnyanmisaka 
2672*437bfbebSnyanmisaka     /* 0x00004268 reg4250 */
2673*437bfbebSnyanmisaka     struct {
2674*437bfbebSnyanmisaka         RK_U32 b8num_qp26    : 22;
2675*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2676*437bfbebSnyanmisaka     } st_b8_qp26;
2677*437bfbebSnyanmisaka 
2678*437bfbebSnyanmisaka     /* 0x0000426c reg4251 */
2679*437bfbebSnyanmisaka     struct {
2680*437bfbebSnyanmisaka         RK_U32 b8num_qp27    : 22;
2681*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2682*437bfbebSnyanmisaka     } st_b8_qp27;
2683*437bfbebSnyanmisaka 
2684*437bfbebSnyanmisaka     /* 0x00004270 reg4252 */
2685*437bfbebSnyanmisaka     struct {
2686*437bfbebSnyanmisaka         RK_U32 b8num_qp28    : 22;
2687*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2688*437bfbebSnyanmisaka     } st_b8_qp28;
2689*437bfbebSnyanmisaka 
2690*437bfbebSnyanmisaka     /* 0x00004274 reg4253 */
2691*437bfbebSnyanmisaka     struct {
2692*437bfbebSnyanmisaka         RK_U32 b8num_qp29    : 22;
2693*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2694*437bfbebSnyanmisaka     } st_b8_qp29;
2695*437bfbebSnyanmisaka 
2696*437bfbebSnyanmisaka     /* 0x00004278 reg4254 */
2697*437bfbebSnyanmisaka     struct {
2698*437bfbebSnyanmisaka         RK_U32 b8num_qp30    : 22;
2699*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2700*437bfbebSnyanmisaka     } st_b8_qp30;
2701*437bfbebSnyanmisaka 
2702*437bfbebSnyanmisaka     /* 0x0000427c reg4255 */
2703*437bfbebSnyanmisaka     struct {
2704*437bfbebSnyanmisaka         RK_U32 b8num_qp31    : 22;
2705*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2706*437bfbebSnyanmisaka     } st_b8_qp31;
2707*437bfbebSnyanmisaka 
2708*437bfbebSnyanmisaka     /* 0x00004280 reg4256 */
2709*437bfbebSnyanmisaka     struct {
2710*437bfbebSnyanmisaka         RK_U32 b8num_qp32    : 22;
2711*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2712*437bfbebSnyanmisaka     } st_b8_qp32;
2713*437bfbebSnyanmisaka 
2714*437bfbebSnyanmisaka     /* 0x00004284 reg4257 */
2715*437bfbebSnyanmisaka     struct {
2716*437bfbebSnyanmisaka         RK_U32 b8num_qp33    : 22;
2717*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2718*437bfbebSnyanmisaka     } st_b8_qp33;
2719*437bfbebSnyanmisaka 
2720*437bfbebSnyanmisaka     /* 0x00004288 reg4258 */
2721*437bfbebSnyanmisaka     struct {
2722*437bfbebSnyanmisaka         RK_U32 b8num_qp34    : 22;
2723*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2724*437bfbebSnyanmisaka     } st_b8_qp34;
2725*437bfbebSnyanmisaka 
2726*437bfbebSnyanmisaka     /* 0x0000428c reg4259 */
2727*437bfbebSnyanmisaka     struct {
2728*437bfbebSnyanmisaka         RK_U32 b8num_qp35    : 22;
2729*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2730*437bfbebSnyanmisaka     } st_b8_qp35;
2731*437bfbebSnyanmisaka 
2732*437bfbebSnyanmisaka     /* 0x00004290 reg4260 */
2733*437bfbebSnyanmisaka     struct {
2734*437bfbebSnyanmisaka         RK_U32 b8num_qp36    : 22;
2735*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2736*437bfbebSnyanmisaka     } st_b8_qp36;
2737*437bfbebSnyanmisaka 
2738*437bfbebSnyanmisaka     /* 0x00004294 reg4261 */
2739*437bfbebSnyanmisaka     struct {
2740*437bfbebSnyanmisaka         RK_U32 b8num_qp37    : 22;
2741*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2742*437bfbebSnyanmisaka     } st_b8_qp37;
2743*437bfbebSnyanmisaka 
2744*437bfbebSnyanmisaka     /* 0x00004298 reg4262 */
2745*437bfbebSnyanmisaka     struct {
2746*437bfbebSnyanmisaka         RK_U32 b8num_qp38    : 22;
2747*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2748*437bfbebSnyanmisaka     } st_b8_qp38;
2749*437bfbebSnyanmisaka 
2750*437bfbebSnyanmisaka     /* 0x0000429c reg4263 */
2751*437bfbebSnyanmisaka     struct {
2752*437bfbebSnyanmisaka         RK_U32 b8num_qp39    : 22;
2753*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2754*437bfbebSnyanmisaka     } st_b8_qp39;
2755*437bfbebSnyanmisaka 
2756*437bfbebSnyanmisaka     /* 0x000042a0 reg4264 */
2757*437bfbebSnyanmisaka     struct {
2758*437bfbebSnyanmisaka         RK_U32 b8num_qp40    : 22;
2759*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2760*437bfbebSnyanmisaka     } st_b8_qp40;
2761*437bfbebSnyanmisaka 
2762*437bfbebSnyanmisaka     /* 0x000042a4 reg4265 */
2763*437bfbebSnyanmisaka     struct {
2764*437bfbebSnyanmisaka         RK_U32 b8num_qp41    : 22;
2765*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2766*437bfbebSnyanmisaka     } st_b8_qp41;
2767*437bfbebSnyanmisaka 
2768*437bfbebSnyanmisaka     /* 0x000042a8 reg4266 */
2769*437bfbebSnyanmisaka     struct {
2770*437bfbebSnyanmisaka         RK_U32 b8num_qp42    : 22;
2771*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2772*437bfbebSnyanmisaka     } st_b8_qp42;
2773*437bfbebSnyanmisaka 
2774*437bfbebSnyanmisaka     /* 0x000042ac reg4267 */
2775*437bfbebSnyanmisaka     struct {
2776*437bfbebSnyanmisaka         RK_U32 b8num_qp43    : 22;
2777*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2778*437bfbebSnyanmisaka     } st_b8_qp43;
2779*437bfbebSnyanmisaka 
2780*437bfbebSnyanmisaka     /* 0x000042b0 reg4268 */
2781*437bfbebSnyanmisaka     struct {
2782*437bfbebSnyanmisaka         RK_U32 b8num_qp44    : 22;
2783*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2784*437bfbebSnyanmisaka     } st_b8_qp44;
2785*437bfbebSnyanmisaka 
2786*437bfbebSnyanmisaka     /* 0x000042b4 reg4269 */
2787*437bfbebSnyanmisaka     struct {
2788*437bfbebSnyanmisaka         RK_U32 b8num_qp45    : 22;
2789*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2790*437bfbebSnyanmisaka     } st_b8_qp45;
2791*437bfbebSnyanmisaka 
2792*437bfbebSnyanmisaka     /* 0x000042b8 reg4270 */
2793*437bfbebSnyanmisaka     struct {
2794*437bfbebSnyanmisaka         RK_U32 b8num_qp46    : 22;
2795*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2796*437bfbebSnyanmisaka     } st_b8_qp46;
2797*437bfbebSnyanmisaka 
2798*437bfbebSnyanmisaka     /* 0x000042bc reg4271 */
2799*437bfbebSnyanmisaka     struct {
2800*437bfbebSnyanmisaka         RK_U32 b8num_qp47    : 22;
2801*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2802*437bfbebSnyanmisaka     } st_b8_qp47;
2803*437bfbebSnyanmisaka 
2804*437bfbebSnyanmisaka     /* 0x000042c0 reg4272 */
2805*437bfbebSnyanmisaka     struct {
2806*437bfbebSnyanmisaka         RK_U32 b8num_qp48    : 22;
2807*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2808*437bfbebSnyanmisaka     } st_b8_qp48;
2809*437bfbebSnyanmisaka 
2810*437bfbebSnyanmisaka     /* 0x000042c4 reg4273 */
2811*437bfbebSnyanmisaka     struct {
2812*437bfbebSnyanmisaka         RK_U32 b8num_qp49    : 22;
2813*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2814*437bfbebSnyanmisaka     } st_b8_qp49;
2815*437bfbebSnyanmisaka 
2816*437bfbebSnyanmisaka     /* 0x000042c8 reg4274 */
2817*437bfbebSnyanmisaka     struct {
2818*437bfbebSnyanmisaka         RK_U32 b8num_qp50    : 22;
2819*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2820*437bfbebSnyanmisaka     } st_b8_qp50;
2821*437bfbebSnyanmisaka 
2822*437bfbebSnyanmisaka     /* 0x000042cc reg4275 */
2823*437bfbebSnyanmisaka     struct {
2824*437bfbebSnyanmisaka         RK_U32 b8num_qp51    : 22;
2825*437bfbebSnyanmisaka         RK_U32 reserved      : 10;
2826*437bfbebSnyanmisaka     } st_b8_qp51;
2827*437bfbebSnyanmisaka } vepu580Status;
2828*437bfbebSnyanmisaka 
2829*437bfbebSnyanmisaka /* class: dbg/st/axipn */
2830*437bfbebSnyanmisaka /* 0x00005000 reg5120 - 0x00005354 reg5333*/
2831*437bfbebSnyanmisaka typedef struct Vepu580Dbg_t {
2832*437bfbebSnyanmisaka     /* 0x00005000 reg5120 */
2833*437bfbebSnyanmisaka     struct {
2834*437bfbebSnyanmisaka         RK_U32 pp_tout      : 1;
2835*437bfbebSnyanmisaka         RK_U32 cme_tout     : 1;
2836*437bfbebSnyanmisaka         RK_U32 swn_tout     : 1;
2837*437bfbebSnyanmisaka         RK_U32 rme_tout     : 1;
2838*437bfbebSnyanmisaka         RK_U32 fme_tout     : 1;
2839*437bfbebSnyanmisaka         RK_U32 rdo_tout     : 1;
2840*437bfbebSnyanmisaka         RK_U32 lpf_tout     : 1;
2841*437bfbebSnyanmisaka         RK_U32 etpy_tout    : 1;
2842*437bfbebSnyanmisaka         RK_U32 frm_tout     : 1;
2843*437bfbebSnyanmisaka         RK_U32 reserved     : 23;
2844*437bfbebSnyanmisaka     } st_wdg;
2845*437bfbebSnyanmisaka 
2846*437bfbebSnyanmisaka     /* 0x00005004 reg5121 */
2847*437bfbebSnyanmisaka     struct {
2848*437bfbebSnyanmisaka         RK_U32 pp_wrk      : 1;
2849*437bfbebSnyanmisaka         RK_U32 cme_wrk     : 1;
2850*437bfbebSnyanmisaka         RK_U32 swn_wrk     : 1;
2851*437bfbebSnyanmisaka         RK_U32 rme_wrk     : 1;
2852*437bfbebSnyanmisaka         RK_U32 fme_wrk     : 1;
2853*437bfbebSnyanmisaka         RK_U32 rdo_wrk     : 1;
2854*437bfbebSnyanmisaka         RK_U32 lpf_wrk     : 1;
2855*437bfbebSnyanmisaka         RK_U32 etpy_wrk    : 1;
2856*437bfbebSnyanmisaka         RK_U32 frm_wrk     : 1;
2857*437bfbebSnyanmisaka         RK_U32 reserved    : 23;
2858*437bfbebSnyanmisaka     } st_ppl;
2859*437bfbebSnyanmisaka 
2860*437bfbebSnyanmisaka     /* 0x00005008 reg5122 */
2861*437bfbebSnyanmisaka     struct {
2862*437bfbebSnyanmisaka         RK_U32 pp_pos_x    : 16;
2863*437bfbebSnyanmisaka         RK_U32 pp_pos_y    : 16;
2864*437bfbebSnyanmisaka     } st_ppl_pos_pp;
2865*437bfbebSnyanmisaka 
2866*437bfbebSnyanmisaka     /* 0x0000500c reg5123 */
2867*437bfbebSnyanmisaka     struct {
2868*437bfbebSnyanmisaka         RK_U32 cme_pos_x    : 16;
2869*437bfbebSnyanmisaka         RK_U32 cme_pos_y    : 16;
2870*437bfbebSnyanmisaka     } st_ppl_pos_cme;
2871*437bfbebSnyanmisaka 
2872*437bfbebSnyanmisaka     /* 0x00005010 reg5124 */
2873*437bfbebSnyanmisaka     struct {
2874*437bfbebSnyanmisaka         RK_U32 swin_pos_x    : 16;
2875*437bfbebSnyanmisaka         RK_U32 swin_pos_y    : 16;
2876*437bfbebSnyanmisaka     } st_ppl_pos_swin;
2877*437bfbebSnyanmisaka 
2878*437bfbebSnyanmisaka     /* 0x00005014 reg5125 */
2879*437bfbebSnyanmisaka     struct {
2880*437bfbebSnyanmisaka         RK_U32 rme_pos_x    : 16;
2881*437bfbebSnyanmisaka         RK_U32 rme_pos_y    : 16;
2882*437bfbebSnyanmisaka     } st_ppl_pos_rme;
2883*437bfbebSnyanmisaka 
2884*437bfbebSnyanmisaka     /* 0x00005018 reg5126 */
2885*437bfbebSnyanmisaka     struct {
2886*437bfbebSnyanmisaka         RK_U32 fme_pos_x    : 16;
2887*437bfbebSnyanmisaka         RK_U32 fme_pos_y    : 16;
2888*437bfbebSnyanmisaka     } st_ppl_pos_fme;
2889*437bfbebSnyanmisaka 
2890*437bfbebSnyanmisaka     /* 0x0000501c reg5127 */
2891*437bfbebSnyanmisaka     struct {
2892*437bfbebSnyanmisaka         RK_U32 rdo_pos_x    : 16;
2893*437bfbebSnyanmisaka         RK_U32 rdo_pos_y    : 16;
2894*437bfbebSnyanmisaka     } st_ppl_pos_rdo;
2895*437bfbebSnyanmisaka 
2896*437bfbebSnyanmisaka     /* 0x00005020 reg5128 */
2897*437bfbebSnyanmisaka     struct {
2898*437bfbebSnyanmisaka         RK_U32 lpf_pos_x    : 16;
2899*437bfbebSnyanmisaka         RK_U32 lpf_pos_y    : 16;
2900*437bfbebSnyanmisaka     } st_ppl_pos_lpf;
2901*437bfbebSnyanmisaka 
2902*437bfbebSnyanmisaka     /* 0x00005024 reg5129 */
2903*437bfbebSnyanmisaka     struct {
2904*437bfbebSnyanmisaka         RK_U32 etpy_pos_x    : 16;
2905*437bfbebSnyanmisaka         RK_U32 etpy_pos_y    : 16;
2906*437bfbebSnyanmisaka     } st_ppl_pos_etpy;
2907*437bfbebSnyanmisaka 
2908*437bfbebSnyanmisaka     /* 0x00005028 reg5130 */
2909*437bfbebSnyanmisaka     struct {
2910*437bfbebSnyanmisaka         RK_U32 sli_num     : 15;
2911*437bfbebSnyanmisaka         RK_U32 reserved    : 17;
2912*437bfbebSnyanmisaka     } st_sli_num;
2913*437bfbebSnyanmisaka 
2914*437bfbebSnyanmisaka     /* 0x0000502c reg5131 */
2915*437bfbebSnyanmisaka     struct {
2916*437bfbebSnyanmisaka         RK_U32 lkt_err     : 3;
2917*437bfbebSnyanmisaka         RK_U32 reserved    : 29;
2918*437bfbebSnyanmisaka     } st_lkt_err;
2919*437bfbebSnyanmisaka 
2920*437bfbebSnyanmisaka     /* 0x5030 - 0x50fc */
2921*437bfbebSnyanmisaka     RK_U32 reserved5132_5183[52];
2922*437bfbebSnyanmisaka 
2923*437bfbebSnyanmisaka     /* 0x00005100 reg5184 */
2924*437bfbebSnyanmisaka     struct {
2925*437bfbebSnyanmisaka         RK_U32 empty_oafifo        : 1;
2926*437bfbebSnyanmisaka         RK_U32 full_cmd_oafifo     : 1;
2927*437bfbebSnyanmisaka         RK_U32 full_data_oafifo    : 1;
2928*437bfbebSnyanmisaka         RK_U32 empty_iafifo        : 1;
2929*437bfbebSnyanmisaka         RK_U32 full_cmd_iafifo     : 1;
2930*437bfbebSnyanmisaka         RK_U32 full_info_iafifo    : 1;
2931*437bfbebSnyanmisaka         RK_U32 fbd_brq_st          : 4;
2932*437bfbebSnyanmisaka         RK_U32 fbd_hdr_vld         : 1;
2933*437bfbebSnyanmisaka         RK_U32 fbd_bmng_end        : 1;
2934*437bfbebSnyanmisaka         RK_U32 nfbd_req_st         : 4;
2935*437bfbebSnyanmisaka         RK_U32 acc_axi_cmd         : 8;
2936*437bfbebSnyanmisaka         RK_U32 reserved            : 8;
2937*437bfbebSnyanmisaka     } dbg_pp_st;
2938*437bfbebSnyanmisaka 
2939*437bfbebSnyanmisaka     /* 0x00005104 reg5185 */
2940*437bfbebSnyanmisaka     struct {
2941*437bfbebSnyanmisaka         RK_U32 cur_state_cime    : 2;
2942*437bfbebSnyanmisaka         RK_U32 cur_state_ds      : 3;
2943*437bfbebSnyanmisaka         RK_U32 cur_state_ref     : 2;
2944*437bfbebSnyanmisaka         RK_U32 cur_state_cst     : 2;
2945*437bfbebSnyanmisaka         RK_U32 reserved          : 23;
2946*437bfbebSnyanmisaka     } dbg_cime_st;
2947*437bfbebSnyanmisaka 
2948*437bfbebSnyanmisaka     /* 0x00005108 reg5186 */
2949*437bfbebSnyanmisaka     RK_U32 swin_dbg_inf;
2950*437bfbebSnyanmisaka 
2951*437bfbebSnyanmisaka     /* 0x0000510c reg5187 */
2952*437bfbebSnyanmisaka     struct {
2953*437bfbebSnyanmisaka         RK_U32 bbrq_cmps_left_len2    : 1;
2954*437bfbebSnyanmisaka         RK_U32 bbrq_cmps_left_len1    : 1;
2955*437bfbebSnyanmisaka         RK_U32 cmps_left_len0         : 1;
2956*437bfbebSnyanmisaka         RK_U32 bbrq_rdy2              : 1;
2957*437bfbebSnyanmisaka         RK_U32 dcps_vld2              : 1;
2958*437bfbebSnyanmisaka         RK_U32 bbrq_rdy1              : 1;
2959*437bfbebSnyanmisaka         RK_U32 dcps_vld1              : 1;
2960*437bfbebSnyanmisaka         RK_U32 bbrq_rdy0              : 1;
2961*437bfbebSnyanmisaka         RK_U32 dcps_vld0              : 1;
2962*437bfbebSnyanmisaka         RK_U32 hb_rdy2                : 1;
2963*437bfbebSnyanmisaka         RK_U32 bbrq_vld2              : 1;
2964*437bfbebSnyanmisaka         RK_U32 hb_rdy1                : 1;
2965*437bfbebSnyanmisaka         RK_U32 bbrq_vld1              : 1;
2966*437bfbebSnyanmisaka         RK_U32 hb_rdy0                : 1;
2967*437bfbebSnyanmisaka         RK_U32 bbrq_vld0              : 1;
2968*437bfbebSnyanmisaka         RK_U32 idle_msb2              : 1;
2969*437bfbebSnyanmisaka         RK_U32 idle_msb1              : 1;
2970*437bfbebSnyanmisaka         RK_U32 idle_msb0              : 1;
2971*437bfbebSnyanmisaka         RK_U32 cur_state_dcps         : 1;
2972*437bfbebSnyanmisaka         RK_U32 cur_state_bbrq         : 1;
2973*437bfbebSnyanmisaka         RK_U32 cur_state_hb           : 1;
2974*437bfbebSnyanmisaka         RK_U32 cke_bbrq_dcps          : 1;
2975*437bfbebSnyanmisaka         RK_U32 cke_dcps               : 1;
2976*437bfbebSnyanmisaka         RK_U32 cke_bbrq               : 1;
2977*437bfbebSnyanmisaka         RK_U32 rdy_lwcd_rsp           : 1;
2978*437bfbebSnyanmisaka         RK_U32 vld_lwcd_rsp           : 1;
2979*437bfbebSnyanmisaka         RK_U32 rdy_lwcd_req           : 1;
2980*437bfbebSnyanmisaka         RK_U32 vld_lwcd_req           : 1;
2981*437bfbebSnyanmisaka         RK_U32 rdy_lwrsp              : 1;
2982*437bfbebSnyanmisaka         RK_U32 vld_lwrsp              : 1;
2983*437bfbebSnyanmisaka         RK_U32 rdy_lwreq              : 1;
2984*437bfbebSnyanmisaka         RK_U32 vld_lwreq              : 1;
2985*437bfbebSnyanmisaka     } dbg_fbd_hhit0;
2986*437bfbebSnyanmisaka 
2987*437bfbebSnyanmisaka     /* 0x5110 */
2988*437bfbebSnyanmisaka     RK_U32 reserved_5188;
2989*437bfbebSnyanmisaka 
2990*437bfbebSnyanmisaka     /* 0x00005114 reg5189 */
2991*437bfbebSnyanmisaka     struct {
2992*437bfbebSnyanmisaka         RK_U32 mscnt_clr    : 1;
2993*437bfbebSnyanmisaka         RK_U32 reserved     : 31;
2994*437bfbebSnyanmisaka     } dbg_cach_clr;
2995*437bfbebSnyanmisaka 
2996*437bfbebSnyanmisaka     /* 0x00005118 reg5190 */
2997*437bfbebSnyanmisaka     RK_U32 l1_mis;
2998*437bfbebSnyanmisaka 
2999*437bfbebSnyanmisaka     /* 0x0000511c reg5191 */
3000*437bfbebSnyanmisaka     RK_U32 l2_mis;
3001*437bfbebSnyanmisaka 
3002*437bfbebSnyanmisaka     /* 0x00005120 reg5192 */
3003*437bfbebSnyanmisaka     RK_U32 rdo_st;
3004*437bfbebSnyanmisaka 
3005*437bfbebSnyanmisaka     /* 0x00005124 reg5193 */
3006*437bfbebSnyanmisaka     RK_U32 rdo_if;
3007*437bfbebSnyanmisaka 
3008*437bfbebSnyanmisaka     /* 0x00005128 reg5194 */
3009*437bfbebSnyanmisaka     struct {
3010*437bfbebSnyanmisaka         RK_U32 h264_sh_st_cs    : 4;
3011*437bfbebSnyanmisaka         RK_U32 rsd_st_cs        : 4;
3012*437bfbebSnyanmisaka         RK_U32 h264_sd_st_cs    : 5;
3013*437bfbebSnyanmisaka         RK_U32 etpy_rdy         : 1;
3014*437bfbebSnyanmisaka         RK_U32 reserved         : 18;
3015*437bfbebSnyanmisaka     } dbg_etpy;
3016*437bfbebSnyanmisaka 
3017*437bfbebSnyanmisaka     /* 0x0000512c reg5195 */
3018*437bfbebSnyanmisaka     struct {
3019*437bfbebSnyanmisaka         RK_U32 crdy_ppr    : 1;
3020*437bfbebSnyanmisaka         RK_U32 cvld_ppr    : 1;
3021*437bfbebSnyanmisaka         RK_U32 drdy_ppw    : 1;
3022*437bfbebSnyanmisaka         RK_U32 dvld_ppw    : 1;
3023*437bfbebSnyanmisaka         RK_U32 crdy_ppw    : 1;
3024*437bfbebSnyanmisaka         RK_U32 cvld_ppw    : 1;
3025*437bfbebSnyanmisaka         RK_U32 reserved    : 26;
3026*437bfbebSnyanmisaka     } dbg_dma_pp;
3027*437bfbebSnyanmisaka 
3028*437bfbebSnyanmisaka     /* 0x00005130 reg5196 */
3029*437bfbebSnyanmisaka     struct {
3030*437bfbebSnyanmisaka         RK_U32 axi_wrdy     : 8;
3031*437bfbebSnyanmisaka         RK_U32 axi_wvld     : 8;
3032*437bfbebSnyanmisaka         RK_U32 axi_awrdy    : 8;
3033*437bfbebSnyanmisaka         RK_U32 axi_awvld    : 8;
3034*437bfbebSnyanmisaka     } dbg_dma_w;
3035*437bfbebSnyanmisaka 
3036*437bfbebSnyanmisaka     /* 0x00005134 reg5197 */
3037*437bfbebSnyanmisaka     struct {
3038*437bfbebSnyanmisaka         RK_U32 axi_otsd_read    : 16;
3039*437bfbebSnyanmisaka         RK_U32 axi_arrdy        : 7;
3040*437bfbebSnyanmisaka         RK_U32 reserved         : 1;
3041*437bfbebSnyanmisaka         RK_U32 axi_arvld        : 7;
3042*437bfbebSnyanmisaka         RK_U32 reserved1        : 1;
3043*437bfbebSnyanmisaka     } dbg_dma_r;
3044*437bfbebSnyanmisaka 
3045*437bfbebSnyanmisaka     /* 0x00005138 reg5198 */
3046*437bfbebSnyanmisaka     struct {
3047*437bfbebSnyanmisaka         RK_U32 dfifo0_lvl    : 4;
3048*437bfbebSnyanmisaka         RK_U32 dfifo1_lvl    : 4;
3049*437bfbebSnyanmisaka         RK_U32 dfifo2_lvl    : 4;
3050*437bfbebSnyanmisaka         RK_U32 dfifo3_lvl    : 4;
3051*437bfbebSnyanmisaka         RK_U32 dfifo4_lvl    : 4;
3052*437bfbebSnyanmisaka         RK_U32 dfifo5_lvl    : 4;
3053*437bfbebSnyanmisaka         RK_U32 reserved      : 6;
3054*437bfbebSnyanmisaka         RK_U32 cmd_vld       : 1;
3055*437bfbebSnyanmisaka         RK_U32 reserved1     : 1;
3056*437bfbebSnyanmisaka     } dbg_dma_rfpr;
3057*437bfbebSnyanmisaka 
3058*437bfbebSnyanmisaka     /* 0x0000513c reg5199 */
3059*437bfbebSnyanmisaka     struct {
3060*437bfbebSnyanmisaka         RK_U32 meiw_busy    : 1;
3061*437bfbebSnyanmisaka         RK_U32 dspw_busy    : 1;
3062*437bfbebSnyanmisaka         RK_U32 bsw_rdy      : 1;
3063*437bfbebSnyanmisaka         RK_U32 bsw_flsh     : 1;
3064*437bfbebSnyanmisaka         RK_U32 bsw_busy     : 1;
3065*437bfbebSnyanmisaka         RK_U32 crpw_busy    : 1;
3066*437bfbebSnyanmisaka         RK_U32 lktw_busy    : 1;
3067*437bfbebSnyanmisaka         RK_U32 lpfw_busy    : 1;
3068*437bfbebSnyanmisaka         RK_U32 roir_busy    : 1;
3069*437bfbebSnyanmisaka         RK_U32 dspr_crdy    : 1;
3070*437bfbebSnyanmisaka         RK_U32 dspr_cvld    : 1;
3071*437bfbebSnyanmisaka         RK_U32 lktr_busy    : 1;
3072*437bfbebSnyanmisaka         RK_U32 lpfr_otsd    : 4;
3073*437bfbebSnyanmisaka         RK_U32 rfpr_otsd    : 12;
3074*437bfbebSnyanmisaka         RK_U32 dspr_otsd    : 4;
3075*437bfbebSnyanmisaka     } dbg_dma_ch_st;
3076*437bfbebSnyanmisaka 
3077*437bfbebSnyanmisaka     /* 0x00005140 reg5200 */
3078*437bfbebSnyanmisaka     struct {
3079*437bfbebSnyanmisaka         RK_U32 cpip_st     : 2;
3080*437bfbebSnyanmisaka         RK_U32 mvp_st      : 3;
3081*437bfbebSnyanmisaka         RK_U32 qpd6_st     : 2;
3082*437bfbebSnyanmisaka         RK_U32 cmd_st      : 2;
3083*437bfbebSnyanmisaka         RK_U32 reserved    : 23;
3084*437bfbebSnyanmisaka     } dbg_tctrl_cime_st;
3085*437bfbebSnyanmisaka 
3086*437bfbebSnyanmisaka     /* 0x00005144 reg5201 */
3087*437bfbebSnyanmisaka     struct {
3088*437bfbebSnyanmisaka         RK_U32 cme_byps      : 1;
3089*437bfbebSnyanmisaka         RK_U32 swin_byps     : 1;
3090*437bfbebSnyanmisaka         RK_U32 rme_byps      : 1;
3091*437bfbebSnyanmisaka         RK_U32 intra_byps    : 1;
3092*437bfbebSnyanmisaka         RK_U32 fme_byps      : 1;
3093*437bfbebSnyanmisaka         RK_U32 rdo_byps      : 1;
3094*437bfbebSnyanmisaka         RK_U32 lpf_byps      : 1;
3095*437bfbebSnyanmisaka         RK_U32 etpy_byps     : 1;
3096*437bfbebSnyanmisaka         RK_U32 reserved      : 24;
3097*437bfbebSnyanmisaka     } dbg_tctrl;
3098*437bfbebSnyanmisaka 
3099*437bfbebSnyanmisaka     /* 0x5148 */
3100*437bfbebSnyanmisaka     RK_U32 reserved_5202;
3101*437bfbebSnyanmisaka 
3102*437bfbebSnyanmisaka     /* 0x0000514c reg5203 */
3103*437bfbebSnyanmisaka     RK_U32 dbg_lpf_st;
3104*437bfbebSnyanmisaka 
3105*437bfbebSnyanmisaka     /* 0x00005150 reg5204 */
3106*437bfbebSnyanmisaka     RK_U32 dbg_topc_lpfr;
3107*437bfbebSnyanmisaka 
3108*437bfbebSnyanmisaka     /* 0x00005154 reg5205 */
3109*437bfbebSnyanmisaka     RK_U32 dbg0_cache;
3110*437bfbebSnyanmisaka 
3111*437bfbebSnyanmisaka     /* 0x00005158 reg5206 */
3112*437bfbebSnyanmisaka     RK_U32 dbg1_cache;
3113*437bfbebSnyanmisaka 
3114*437bfbebSnyanmisaka     /* 0x0000515c reg5207 */
3115*437bfbebSnyanmisaka     RK_U32 dbg2_cache;
3116*437bfbebSnyanmisaka 
3117*437bfbebSnyanmisaka     /* 0x5160 - 0x51fc */
3118*437bfbebSnyanmisaka     RK_U32 reserved5208_5247[40];
3119*437bfbebSnyanmisaka 
3120*437bfbebSnyanmisaka     /* 0x00005200 reg5248 */
3121*437bfbebSnyanmisaka     RK_U32 frame_cyc;
3122*437bfbebSnyanmisaka 
3123*437bfbebSnyanmisaka     /* 0x00005204 reg5249 */
3124*437bfbebSnyanmisaka     RK_U32 pp_fcyc;
3125*437bfbebSnyanmisaka 
3126*437bfbebSnyanmisaka     /* 0x00005208 reg5250 */
3127*437bfbebSnyanmisaka     RK_U32 cme_fcyc;
3128*437bfbebSnyanmisaka 
3129*437bfbebSnyanmisaka     /* 0x0000520c reg5251 */
3130*437bfbebSnyanmisaka     RK_U32 cme_dspr_fcyc;
3131*437bfbebSnyanmisaka 
3132*437bfbebSnyanmisaka     /* 0x00005210 reg5252 */
3133*437bfbebSnyanmisaka     RK_U32 ldr_fcyc;
3134*437bfbebSnyanmisaka 
3135*437bfbebSnyanmisaka     /* 0x00005214 reg5253 */
3136*437bfbebSnyanmisaka     RK_U32 rme_fcyc;
3137*437bfbebSnyanmisaka 
3138*437bfbebSnyanmisaka     /* 0x00005218 reg5254 */
3139*437bfbebSnyanmisaka     RK_U32 fme_fcyc;
3140*437bfbebSnyanmisaka 
3141*437bfbebSnyanmisaka     /* 0x0000521c reg5255 */
3142*437bfbebSnyanmisaka     RK_U32 rdo_fcyc;
3143*437bfbebSnyanmisaka 
3144*437bfbebSnyanmisaka     /* 0x00005220 reg5256 */
3145*437bfbebSnyanmisaka     RK_U32 lpf_fcyc;
3146*437bfbebSnyanmisaka 
3147*437bfbebSnyanmisaka     /* 0x00005224 reg5257 */
3148*437bfbebSnyanmisaka     RK_U32 etpy_fcyc;
3149*437bfbebSnyanmisaka 
3150*437bfbebSnyanmisaka     /* 0x5228 - 0x52fc */
3151*437bfbebSnyanmisaka     RK_U32 reserved5258_5311[54];
3152*437bfbebSnyanmisaka 
3153*437bfbebSnyanmisaka     /* 0x00005300 reg5312 */
3154*437bfbebSnyanmisaka     struct {
3155*437bfbebSnyanmisaka         RK_U32 axip_e      : 1;
3156*437bfbebSnyanmisaka         RK_U32 axip_clr    : 1;
3157*437bfbebSnyanmisaka         RK_U32 axip_mod    : 1;
3158*437bfbebSnyanmisaka         RK_U32 reserved    : 29;
3159*437bfbebSnyanmisaka     } axip0_cmd;
3160*437bfbebSnyanmisaka 
3161*437bfbebSnyanmisaka     /* 0x00005304 reg5313 */
3162*437bfbebSnyanmisaka     struct {
3163*437bfbebSnyanmisaka         RK_U32 axip_ltcy_id     : 4;
3164*437bfbebSnyanmisaka         RK_U32 axip_ltcy_thd    : 12;
3165*437bfbebSnyanmisaka         RK_U32 reserved         : 16;
3166*437bfbebSnyanmisaka     } axip0_ltcy;
3167*437bfbebSnyanmisaka 
3168*437bfbebSnyanmisaka     /* 0x00005308 reg5314 */
3169*437bfbebSnyanmisaka     struct {
3170*437bfbebSnyanmisaka         RK_U32 axip_cnt_typ    : 1;
3171*437bfbebSnyanmisaka         RK_U32 axip_cnt_ddr    : 2;
3172*437bfbebSnyanmisaka         RK_U32 axip_cnt_rid    : 5;
3173*437bfbebSnyanmisaka         RK_U32 axip_cnt_wid    : 5;
3174*437bfbebSnyanmisaka         RK_U32 reserved        : 19;
3175*437bfbebSnyanmisaka     } axip0_cnt;
3176*437bfbebSnyanmisaka 
3177*437bfbebSnyanmisaka     /* 0x530c */
3178*437bfbebSnyanmisaka     RK_U32 reserved_5315;
3179*437bfbebSnyanmisaka 
3180*437bfbebSnyanmisaka     /* 0x00005310 reg5316 */
3181*437bfbebSnyanmisaka     struct {
3182*437bfbebSnyanmisaka         RK_U32 axip_e      : 1;
3183*437bfbebSnyanmisaka         RK_U32 axip_clr    : 1;
3184*437bfbebSnyanmisaka         RK_U32 axip_mod    : 1;
3185*437bfbebSnyanmisaka         RK_U32 reserved    : 29;
3186*437bfbebSnyanmisaka     } axip1_cmd;
3187*437bfbebSnyanmisaka 
3188*437bfbebSnyanmisaka     /* 0x00005314 reg5317 */
3189*437bfbebSnyanmisaka     struct {
3190*437bfbebSnyanmisaka         RK_U32 axip_ltcy_id     : 4;
3191*437bfbebSnyanmisaka         RK_U32 axip_ltcy_thd    : 12;
3192*437bfbebSnyanmisaka         RK_U32 reserved         : 16;
3193*437bfbebSnyanmisaka     } axip1_ltcy;
3194*437bfbebSnyanmisaka 
3195*437bfbebSnyanmisaka     /* 0x00005318 reg5318 */
3196*437bfbebSnyanmisaka     struct {
3197*437bfbebSnyanmisaka         RK_U32 axip_cnt_typ    : 1;
3198*437bfbebSnyanmisaka         RK_U32 axip_cnt_ddr    : 2;
3199*437bfbebSnyanmisaka         RK_U32 axip_cnt_rid    : 5;
3200*437bfbebSnyanmisaka         RK_U32 axip_cnt_wid    : 5;
3201*437bfbebSnyanmisaka         RK_U32 reserved        : 19;
3202*437bfbebSnyanmisaka     } axip1_cnt;
3203*437bfbebSnyanmisaka 
3204*437bfbebSnyanmisaka     /* 0x531c */
3205*437bfbebSnyanmisaka     RK_U32 reserved_5319;
3206*437bfbebSnyanmisaka 
3207*437bfbebSnyanmisaka     /* 0x00005320 reg5320 */
3208*437bfbebSnyanmisaka     struct {
3209*437bfbebSnyanmisaka         RK_U32 axip_max_ltcy    : 16;
3210*437bfbebSnyanmisaka         RK_U32 reserved         : 16;
3211*437bfbebSnyanmisaka     } st_axip0_maxl;
3212*437bfbebSnyanmisaka 
3213*437bfbebSnyanmisaka     /* 0x00005324 reg5321 */
3214*437bfbebSnyanmisaka     RK_U32 axip0_num_ltcy;
3215*437bfbebSnyanmisaka 
3216*437bfbebSnyanmisaka     /* 0x00005328 reg5322 */
3217*437bfbebSnyanmisaka     RK_U32 axip0_sum_ltcy;
3218*437bfbebSnyanmisaka 
3219*437bfbebSnyanmisaka     /* 0x0000532c reg5323 */
3220*437bfbebSnyanmisaka     RK_U32 axip0_rbyt;
3221*437bfbebSnyanmisaka 
3222*437bfbebSnyanmisaka     /* 0x00005330 reg5324 */
3223*437bfbebSnyanmisaka     RK_U32 axip0_wbyt;
3224*437bfbebSnyanmisaka 
3225*437bfbebSnyanmisaka     /* 0x00005334 reg5325 */
3226*437bfbebSnyanmisaka     RK_U32 axip0_wrk_cyc;
3227*437bfbebSnyanmisaka 
3228*437bfbebSnyanmisaka     /* 0x5338 - 0x533c */
3229*437bfbebSnyanmisaka     RK_U32 reserved5326_5327[2];
3230*437bfbebSnyanmisaka 
3231*437bfbebSnyanmisaka     /* 0x00005340 reg5328 */
3232*437bfbebSnyanmisaka     struct {
3233*437bfbebSnyanmisaka         RK_U32 axip_max_ltcy    : 16;
3234*437bfbebSnyanmisaka         RK_U32 reserved         : 16;
3235*437bfbebSnyanmisaka     } st_axip1_maxl;
3236*437bfbebSnyanmisaka 
3237*437bfbebSnyanmisaka     /* 0x00005344 reg5329 */
3238*437bfbebSnyanmisaka     RK_U32 axip1_num_ltcy;
3239*437bfbebSnyanmisaka 
3240*437bfbebSnyanmisaka     /* 0x00005348 reg5330 */
3241*437bfbebSnyanmisaka     RK_U32 axip1_sum_ltcy;
3242*437bfbebSnyanmisaka 
3243*437bfbebSnyanmisaka     /* 0x0000534c reg5331 */
3244*437bfbebSnyanmisaka     RK_U32 axip1_rbyt;
3245*437bfbebSnyanmisaka 
3246*437bfbebSnyanmisaka     /* 0x00005350 reg5332 */
3247*437bfbebSnyanmisaka     RK_U32 axip1_wbyt;
3248*437bfbebSnyanmisaka 
3249*437bfbebSnyanmisaka     /* 0x00005354 reg5333 */
3250*437bfbebSnyanmisaka     RK_U32 axip1_wrk_cyc;
3251*437bfbebSnyanmisaka } Vepu580_dbg;
3252*437bfbebSnyanmisaka 
3253*437bfbebSnyanmisaka typedef struct H265eV580RegSet_t {
3254*437bfbebSnyanmisaka     hevc_vepu580_control_cfg reg_ctl;
3255*437bfbebSnyanmisaka     hevc_vepu580_base reg_base;
3256*437bfbebSnyanmisaka     hevc_vepu580_rc_klut reg_rc_klut;
3257*437bfbebSnyanmisaka     hevc_vepu580_wgt reg_wgt;
3258*437bfbebSnyanmisaka     vepu580_rdo_cfg reg_rdo;
3259*437bfbebSnyanmisaka     vepu580_osd_cfg reg_osd_cfg;
3260*437bfbebSnyanmisaka     Vepu580_dbg reg_dbg;
3261*437bfbebSnyanmisaka } H265eV580RegSet;
3262*437bfbebSnyanmisaka 
3263*437bfbebSnyanmisaka typedef struct H265eV580StatusElem_t {
3264*437bfbebSnyanmisaka     RK_U32 hw_status;
3265*437bfbebSnyanmisaka     vepu580Status st;
3266*437bfbebSnyanmisaka } H265eV580StatusElem;
3267*437bfbebSnyanmisaka 
3268*437bfbebSnyanmisaka #endif
3269