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