1*437bfbebSnyanmisaka /* 2*437bfbebSnyanmisaka * Copyright 2022 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 __VEPU540C_COMMON_H__ 18*437bfbebSnyanmisaka #define __VEPU540C_COMMON_H__ 19*437bfbebSnyanmisaka 20*437bfbebSnyanmisaka #include "rk_venc_cmd.h" 21*437bfbebSnyanmisaka #include "mpp_device.h" 22*437bfbebSnyanmisaka 23*437bfbebSnyanmisaka #define VEPU540C_CTL_OFFSET (0 * sizeof(RK_U32)) 24*437bfbebSnyanmisaka #define VEPU540C_BASE_OFFSET (156 * sizeof(RK_U32)) 25*437bfbebSnyanmisaka #define VEPU540C_RCROI_OFFSET (1024 * sizeof(RK_U32)) 26*437bfbebSnyanmisaka #define VEPU540C_WEG_OFFSET (1472 * sizeof(RK_U32)) 27*437bfbebSnyanmisaka #define VEPU540C_RDOCFG_OFFSET (2048 * sizeof(RK_U32)) 28*437bfbebSnyanmisaka #define VEPU540C_SCLCFG_OFFSET (2168 * sizeof(RK_U32)) 29*437bfbebSnyanmisaka #define VEPU540C_JPEGTAB_OFFSET (2848 * sizeof(RK_U32)) 30*437bfbebSnyanmisaka 31*437bfbebSnyanmisaka #define VEPU540C_OSD_OFFSET (3072 * sizeof(RK_U32)) 32*437bfbebSnyanmisaka #define VEPU540C_STATUS_OFFSET (4096 * sizeof(RK_U32)) 33*437bfbebSnyanmisaka #define VEPU540C_DEBUG_OFFSET (5120 * sizeof(RK_U32)) 34*437bfbebSnyanmisaka #define VEPU540C_REG_BASE_HW_STATUS 0x2c 35*437bfbebSnyanmisaka 36*437bfbebSnyanmisaka #define VEPU540C_MAX_ROI_NUM 8 37*437bfbebSnyanmisaka #define VEPU540C_SLICE_FIFO_LEN 8 38*437bfbebSnyanmisaka 39*437bfbebSnyanmisaka typedef union { 40*437bfbebSnyanmisaka struct { 41*437bfbebSnyanmisaka RK_U32 enc_done_sta : 1; 42*437bfbebSnyanmisaka RK_U32 lkt_node_done_sta : 1; 43*437bfbebSnyanmisaka RK_U32 sclr_done_sta : 1; 44*437bfbebSnyanmisaka RK_U32 vslc_done_sta : 1; 45*437bfbebSnyanmisaka RK_U32 vbsf_oflw_sta : 1; 46*437bfbebSnyanmisaka RK_U32 vbuf_lens_sta : 1; 47*437bfbebSnyanmisaka RK_U32 enc_err_sta : 1; 48*437bfbebSnyanmisaka RK_U32 dvbm_fcfg_sta : 1; 49*437bfbebSnyanmisaka RK_U32 wdg_sta : 1; 50*437bfbebSnyanmisaka RK_U32 lkt_err_int_sta : 1; 51*437bfbebSnyanmisaka RK_U32 lkt_err_stop_sta : 1; 52*437bfbebSnyanmisaka RK_U32 lkt_force_stop_sta : 1; 53*437bfbebSnyanmisaka RK_U32 jslc_done_sta : 1; 54*437bfbebSnyanmisaka RK_U32 jbsf_oflw_sta : 1; 55*437bfbebSnyanmisaka RK_U32 jbuf_lens_sta : 1; 56*437bfbebSnyanmisaka RK_U32 dvbm_dcnt_sta : 1; 57*437bfbebSnyanmisaka RK_U32 reserved : 16; 58*437bfbebSnyanmisaka } int_sta; 59*437bfbebSnyanmisaka 60*437bfbebSnyanmisaka RK_U32 val; 61*437bfbebSnyanmisaka } vepu540c_hw_status; 62*437bfbebSnyanmisaka 63*437bfbebSnyanmisaka typedef struct Vepu540cOnline_t { 64*437bfbebSnyanmisaka /* 0x00000270 reg156 */ 65*437bfbebSnyanmisaka RK_U32 reg0156_adr_vsy_t; 66*437bfbebSnyanmisaka /* 0x00000274 reg157 */ 67*437bfbebSnyanmisaka RK_U32 reg0157_adr_vsc_t; 68*437bfbebSnyanmisaka /* 0x00000278 reg158 */ 69*437bfbebSnyanmisaka RK_U32 reg0158_adr_vsy_b; 70*437bfbebSnyanmisaka /* 0x0000027c reg159 */ 71*437bfbebSnyanmisaka RK_U32 reg0159_adr_vsc_b; 72*437bfbebSnyanmisaka } vepu540c_online; 73*437bfbebSnyanmisaka 74*437bfbebSnyanmisaka typedef struct IpRaw8_t { 75*437bfbebSnyanmisaka RK_U8 intra_val[8]; 76*437bfbebSnyanmisaka RK_U8 inter_val[8]; 77*437bfbebSnyanmisaka } ip_raw8; 78*437bfbebSnyanmisaka 79*437bfbebSnyanmisaka typedef struct IpRaw32_16_t { 80*437bfbebSnyanmisaka RK_U16 q_intra16[4]; 81*437bfbebSnyanmisaka RK_U16 q_intra32[2]; 82*437bfbebSnyanmisaka RK_U8 iq_intra16[4]; 83*437bfbebSnyanmisaka } ip_raw32_16; 84*437bfbebSnyanmisaka 85*437bfbebSnyanmisaka /* 0x000021e0 reg2168 - 0x00002c7c reg2847*/ 86*437bfbebSnyanmisaka typedef struct Vepu540cSclCfg_t { 87*437bfbebSnyanmisaka /* 0x000021e0 reg2168 */ 88*437bfbebSnyanmisaka RK_U32 q_dc_y16; 89*437bfbebSnyanmisaka RK_U32 q_dc_u16; 90*437bfbebSnyanmisaka RK_U32 q_dc_v16; 91*437bfbebSnyanmisaka RK_U32 q_dc_y32; 92*437bfbebSnyanmisaka RK_U32 iq_dc_0; 93*437bfbebSnyanmisaka RK_U32 iq_dc_1; 94*437bfbebSnyanmisaka 95*437bfbebSnyanmisaka /* 0x000021f8 reg2174 */ 96*437bfbebSnyanmisaka struct { 97*437bfbebSnyanmisaka RK_U32 scal_clk_sel : 1; 98*437bfbebSnyanmisaka RK_U32 reserved : 31; 99*437bfbebSnyanmisaka } scal_cfg; 100*437bfbebSnyanmisaka /* 0x21fc */ 101*437bfbebSnyanmisaka RK_U32 reserved_2175; 102*437bfbebSnyanmisaka /* 0x00002200 reg2176 - 0x0000227c reg2207*/ 103*437bfbebSnyanmisaka RK_U16 q_intra_y8[64]; 104*437bfbebSnyanmisaka /* 0x00002280 reg2208 - 0x000022fc reg2239*/ 105*437bfbebSnyanmisaka RK_U16 q_intra_u8[64]; 106*437bfbebSnyanmisaka /* 0x00002300 reg2240 - 0x0000237c reg2271*/ 107*437bfbebSnyanmisaka RK_U16 q_intra_v8[64]; 108*437bfbebSnyanmisaka 109*437bfbebSnyanmisaka /* 0x00002380 reg2272 - 0x000023fc reg2303*/ 110*437bfbebSnyanmisaka RK_U16 q_inter_y8[64]; 111*437bfbebSnyanmisaka /* 0x00002400 reg2304 - 0x0000247c reg2335*/ 112*437bfbebSnyanmisaka RK_U16 q_inter_u8[64]; 113*437bfbebSnyanmisaka /* 0x00002480 reg2336 - 0x000024fc reg2367*/ 114*437bfbebSnyanmisaka RK_U16 q_inter_v8[64]; 115*437bfbebSnyanmisaka 116*437bfbebSnyanmisaka /* 0x00002500 reg2368 - 0x000025fc reg2431*/ 117*437bfbebSnyanmisaka ip_raw32_16 q_intra_y[16]; 118*437bfbebSnyanmisaka /* 0x00002600 reg2432 - 0x000026fc reg2495*/ 119*437bfbebSnyanmisaka ip_raw32_16 q_intra_u[16]; 120*437bfbebSnyanmisaka /* 0x00002700 reg2496 - 0x000027fc reg2559 */ 121*437bfbebSnyanmisaka ip_raw32_16 q_intra_v[16]; 122*437bfbebSnyanmisaka 123*437bfbebSnyanmisaka /*0x00002800 reg2560 - 0x000028fc reg2623*/ 124*437bfbebSnyanmisaka ip_raw32_16 q_inter_y[16]; 125*437bfbebSnyanmisaka /*0x00002900 reg2624 - 0x000029fc reg2687*/ 126*437bfbebSnyanmisaka ip_raw32_16 q_inter_u[16]; 127*437bfbebSnyanmisaka /*0x00002a00 reg2688 - 0x00002afc reg2751 */ 128*437bfbebSnyanmisaka ip_raw32_16 q_inter_v[16]; 129*437bfbebSnyanmisaka 130*437bfbebSnyanmisaka /* 0x00002b00 reg2752 - 0x00002b7c reg2783 */ 131*437bfbebSnyanmisaka ip_raw8 ip_y8[8]; 132*437bfbebSnyanmisaka /* 0x00002b80 reg2784 - 0x00002bfc reg2815 */ 133*437bfbebSnyanmisaka ip_raw8 ip_u8[8]; 134*437bfbebSnyanmisaka /* 0x00002c00 reg2816 - 0x00002c7c reg2847 */ 135*437bfbebSnyanmisaka ip_raw8 ip_v8[8]; 136*437bfbebSnyanmisaka } vepu540c_scl_cfg; 137*437bfbebSnyanmisaka 138*437bfbebSnyanmisaka typedef struct PreCstPar_t { 139*437bfbebSnyanmisaka struct { 140*437bfbebSnyanmisaka RK_U32 madi_thd0 : 8; 141*437bfbebSnyanmisaka RK_U32 madi_thd1 : 8; 142*437bfbebSnyanmisaka RK_U32 madi_thd2 : 8; 143*437bfbebSnyanmisaka RK_U32 madi_thd3 : 8; 144*437bfbebSnyanmisaka } cst_madi_thd0; 145*437bfbebSnyanmisaka 146*437bfbebSnyanmisaka /* 0x000020c4 reg2097 */ 147*437bfbebSnyanmisaka struct { 148*437bfbebSnyanmisaka RK_U32 madi_thd4 : 8; 149*437bfbebSnyanmisaka RK_U32 madi_thd5 : 8; 150*437bfbebSnyanmisaka RK_U32 reserved : 16; 151*437bfbebSnyanmisaka } cst_madi_thd1; 152*437bfbebSnyanmisaka 153*437bfbebSnyanmisaka /* 0x000020c8 reg2098 */ 154*437bfbebSnyanmisaka struct { 155*437bfbebSnyanmisaka RK_U32 wgt0 : 8; 156*437bfbebSnyanmisaka RK_U32 wgt1 : 8; 157*437bfbebSnyanmisaka RK_U32 wgt2 : 8; 158*437bfbebSnyanmisaka RK_U32 wgt3 : 8; 159*437bfbebSnyanmisaka } cst_wgt0; 160*437bfbebSnyanmisaka 161*437bfbebSnyanmisaka /* 0x000020cc reg2099 */ 162*437bfbebSnyanmisaka struct { 163*437bfbebSnyanmisaka RK_U32 wgt4 : 8; 164*437bfbebSnyanmisaka RK_U32 wgt5 : 8; 165*437bfbebSnyanmisaka RK_U32 wgt6 : 8; 166*437bfbebSnyanmisaka RK_U32 wgt7 : 8; 167*437bfbebSnyanmisaka } cst_wgt1; 168*437bfbebSnyanmisaka 169*437bfbebSnyanmisaka /* 0x000020d0 reg2100 */ 170*437bfbebSnyanmisaka struct { 171*437bfbebSnyanmisaka RK_U32 wgt8 : 8; 172*437bfbebSnyanmisaka RK_U32 wgt9 : 8; 173*437bfbebSnyanmisaka RK_U32 mode_th : 3; 174*437bfbebSnyanmisaka RK_U32 reserved : 13; 175*437bfbebSnyanmisaka } cst_wgt2; 176*437bfbebSnyanmisaka } pre_cst_par; 177*437bfbebSnyanmisaka 178*437bfbebSnyanmisaka typedef struct RdoSkipPar_t { 179*437bfbebSnyanmisaka struct { 180*437bfbebSnyanmisaka RK_U32 madp_thd0 : 12; 181*437bfbebSnyanmisaka RK_U32 reserved : 4; 182*437bfbebSnyanmisaka RK_U32 madp_thd1 : 12; 183*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 184*437bfbebSnyanmisaka } atf_thd0; 185*437bfbebSnyanmisaka 186*437bfbebSnyanmisaka /* 0x00002064 reg2073 */ 187*437bfbebSnyanmisaka struct { 188*437bfbebSnyanmisaka RK_U32 madp_thd2 : 12; 189*437bfbebSnyanmisaka RK_U32 reserved : 4; 190*437bfbebSnyanmisaka RK_U32 madp_thd3 : 12; 191*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 192*437bfbebSnyanmisaka } atf_thd1; 193*437bfbebSnyanmisaka 194*437bfbebSnyanmisaka /* 0x00002068 reg2074 */ 195*437bfbebSnyanmisaka struct { 196*437bfbebSnyanmisaka RK_U32 wgt0 : 8; 197*437bfbebSnyanmisaka RK_U32 wgt1 : 8; 198*437bfbebSnyanmisaka RK_U32 wgt2 : 8; 199*437bfbebSnyanmisaka RK_U32 wgt3 : 8; 200*437bfbebSnyanmisaka } atf_wgt0; 201*437bfbebSnyanmisaka 202*437bfbebSnyanmisaka /* 0x0000206c reg2075 */ 203*437bfbebSnyanmisaka struct { 204*437bfbebSnyanmisaka RK_U32 wgt4 : 8; 205*437bfbebSnyanmisaka RK_U32 reserved : 24; 206*437bfbebSnyanmisaka } atf_wgt1; 207*437bfbebSnyanmisaka } rdo_skip_par; 208*437bfbebSnyanmisaka 209*437bfbebSnyanmisaka typedef struct RdoNoSkipPar_t { 210*437bfbebSnyanmisaka /* 0x00002080 reg2080 */ 211*437bfbebSnyanmisaka struct { 212*437bfbebSnyanmisaka RK_U32 madp_thd0 : 12; 213*437bfbebSnyanmisaka RK_U32 reserved : 4; 214*437bfbebSnyanmisaka RK_U32 madp_thd1 : 12; 215*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 216*437bfbebSnyanmisaka } ratf_thd0; 217*437bfbebSnyanmisaka 218*437bfbebSnyanmisaka /* 0x00002084 reg2081 */ 219*437bfbebSnyanmisaka struct { 220*437bfbebSnyanmisaka RK_U32 madp_thd2 : 12; 221*437bfbebSnyanmisaka RK_U32 reserved : 20; 222*437bfbebSnyanmisaka } ratf_thd1; 223*437bfbebSnyanmisaka 224*437bfbebSnyanmisaka /* 0x00002088 reg2082 */ 225*437bfbebSnyanmisaka struct { 226*437bfbebSnyanmisaka RK_U32 wgt0 : 8; 227*437bfbebSnyanmisaka RK_U32 wgt1 : 8; 228*437bfbebSnyanmisaka RK_U32 wgt2 : 8; 229*437bfbebSnyanmisaka RK_U32 wgt3 : 8; 230*437bfbebSnyanmisaka } atf_wgt; 231*437bfbebSnyanmisaka } rdo_noskip_par; 232*437bfbebSnyanmisaka 233*437bfbebSnyanmisaka /* class: rdo/q_i */ 234*437bfbebSnyanmisaka /* 0x00002000 reg2048 - 0x00002c7c reg2847*/ 235*437bfbebSnyanmisaka typedef struct Vepu540cRdoCfg_t { 236*437bfbebSnyanmisaka 237*437bfbebSnyanmisaka /* 0x2000 - 0x200c */ 238*437bfbebSnyanmisaka RK_U32 reserved2048_2051[4]; 239*437bfbebSnyanmisaka 240*437bfbebSnyanmisaka /* 0x00002010 reg2052 */ 241*437bfbebSnyanmisaka struct { 242*437bfbebSnyanmisaka RK_U32 rdo_segment_multi : 8; 243*437bfbebSnyanmisaka RK_U32 rdo_segment_en : 1; 244*437bfbebSnyanmisaka RK_U32 reserved : 7; 245*437bfbebSnyanmisaka RK_U32 rdo_smear_lvl4_multi : 8; 246*437bfbebSnyanmisaka RK_U32 rdo_smear_lvl8_multi : 8; 247*437bfbebSnyanmisaka } rdo_segment_cfg; 248*437bfbebSnyanmisaka 249*437bfbebSnyanmisaka /* 0x00002014 reg2053 */ 250*437bfbebSnyanmisaka struct { 251*437bfbebSnyanmisaka RK_U32 rdo_smear_lvl16_multi : 8; 252*437bfbebSnyanmisaka RK_U32 rdo_smear_dlt_qp : 4; 253*437bfbebSnyanmisaka RK_U32 rdo_smear_order_state : 1; 254*437bfbebSnyanmisaka RK_U32 stated_mode : 2; 255*437bfbebSnyanmisaka RK_U32 rdo_smear_en : 1; 256*437bfbebSnyanmisaka RK_U32 online_en : 1; 257*437bfbebSnyanmisaka RK_U32 reserved : 3; 258*437bfbebSnyanmisaka RK_U32 smear_stride : 12; 259*437bfbebSnyanmisaka } rdo_smear_cfg_comb; 260*437bfbebSnyanmisaka 261*437bfbebSnyanmisaka /* 0x00002018 reg2054 */ 262*437bfbebSnyanmisaka struct { 263*437bfbebSnyanmisaka RK_U32 rdo_smear_madp_cur_thd0 : 12; 264*437bfbebSnyanmisaka RK_U32 reserved : 4; 265*437bfbebSnyanmisaka RK_U32 rdo_smear_madp_cur_thd1 : 12; 266*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 267*437bfbebSnyanmisaka } rdo_smear_madp_thd0_comb; 268*437bfbebSnyanmisaka 269*437bfbebSnyanmisaka /* 0x0000201c reg2055 */ 270*437bfbebSnyanmisaka struct { 271*437bfbebSnyanmisaka RK_U32 rdo_smear_madp_cur_thd2 : 12; 272*437bfbebSnyanmisaka RK_U32 reserved : 4; 273*437bfbebSnyanmisaka RK_U32 rdo_smear_madp_cur_thd3 : 12; 274*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 275*437bfbebSnyanmisaka } rdo_smear_madp_thd1_comb; 276*437bfbebSnyanmisaka 277*437bfbebSnyanmisaka /* 0x00002020 reg2056 */ 278*437bfbebSnyanmisaka struct { 279*437bfbebSnyanmisaka RK_U32 rdo_smear_madp_around_thd0 : 12; 280*437bfbebSnyanmisaka RK_U32 reserved : 4; 281*437bfbebSnyanmisaka RK_U32 rdo_smear_madp_around_thd1 : 12; 282*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 283*437bfbebSnyanmisaka } rdo_smear_madp_thd2_comb; 284*437bfbebSnyanmisaka 285*437bfbebSnyanmisaka /* 0x00002024 reg2057 */ 286*437bfbebSnyanmisaka struct { 287*437bfbebSnyanmisaka RK_U32 rdo_smear_madp_around_thd2 : 12; 288*437bfbebSnyanmisaka RK_U32 reserved : 4; 289*437bfbebSnyanmisaka RK_U32 rdo_smear_madp_around_thd3 : 12; 290*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 291*437bfbebSnyanmisaka } rdo_smear_madp_thd3_comb; 292*437bfbebSnyanmisaka 293*437bfbebSnyanmisaka /* 0x00002028 reg2058 */ 294*437bfbebSnyanmisaka struct { 295*437bfbebSnyanmisaka RK_U32 rdo_smear_madp_around_thd4 : 12; 296*437bfbebSnyanmisaka RK_U32 reserved : 4; 297*437bfbebSnyanmisaka RK_U32 rdo_smear_madp_around_thd5 : 12; 298*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 299*437bfbebSnyanmisaka } rdo_smear_madp_thd4_comb; 300*437bfbebSnyanmisaka 301*437bfbebSnyanmisaka /* 0x0000202c reg2059 */ 302*437bfbebSnyanmisaka struct { 303*437bfbebSnyanmisaka RK_U32 rdo_smear_madp_ref_thd0 : 12; 304*437bfbebSnyanmisaka RK_U32 reserved : 4; 305*437bfbebSnyanmisaka RK_U32 rdo_smear_madp_ref_thd1 : 12; 306*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 307*437bfbebSnyanmisaka } rdo_smear_madp_thd5_comb; 308*437bfbebSnyanmisaka 309*437bfbebSnyanmisaka /* 0x00002030 reg2060 */ 310*437bfbebSnyanmisaka struct { 311*437bfbebSnyanmisaka RK_U32 rdo_smear_cnt_cur_thd0 : 4; 312*437bfbebSnyanmisaka RK_U32 reserved : 4; 313*437bfbebSnyanmisaka RK_U32 rdo_smear_cnt_cur_thd1 : 4; 314*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 315*437bfbebSnyanmisaka RK_U32 rdo_smear_cnt_cur_thd2 : 4; 316*437bfbebSnyanmisaka RK_U32 reserved2 : 4; 317*437bfbebSnyanmisaka RK_U32 rdo_smear_cnt_cur_thd3 : 4; 318*437bfbebSnyanmisaka RK_U32 reserved3 : 4; 319*437bfbebSnyanmisaka } rdo_smear_cnt_thd0_comb; 320*437bfbebSnyanmisaka 321*437bfbebSnyanmisaka /* 0x00002034 reg2061 */ 322*437bfbebSnyanmisaka struct { 323*437bfbebSnyanmisaka RK_U32 rdo_smear_cnt_around_thd0 : 4; 324*437bfbebSnyanmisaka RK_U32 reserved : 4; 325*437bfbebSnyanmisaka RK_U32 rdo_smear_cnt_around_thd1 : 4; 326*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 327*437bfbebSnyanmisaka RK_U32 rdo_smear_cnt_around_thd2 : 4; 328*437bfbebSnyanmisaka RK_U32 reserved2 : 4; 329*437bfbebSnyanmisaka RK_U32 rdo_smear_cnt_around_thd3 : 4; 330*437bfbebSnyanmisaka RK_U32 reserved3 : 4; 331*437bfbebSnyanmisaka } rdo_smear_cnt_thd1_comb; 332*437bfbebSnyanmisaka 333*437bfbebSnyanmisaka /* 0x00002038 reg2062 */ 334*437bfbebSnyanmisaka struct { 335*437bfbebSnyanmisaka RK_U32 rdo_smear_cnt_around_thd4 : 4; 336*437bfbebSnyanmisaka RK_U32 reserved : 4; 337*437bfbebSnyanmisaka RK_U32 rdo_smear_cnt_around_thd5 : 4; 338*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 339*437bfbebSnyanmisaka RK_U32 rdo_smear_cnt_around_thd6 : 4; 340*437bfbebSnyanmisaka RK_U32 reserved2 : 4; 341*437bfbebSnyanmisaka RK_U32 rdo_smear_cnt_around_thd7 : 4; 342*437bfbebSnyanmisaka RK_U32 reserved3 : 4; 343*437bfbebSnyanmisaka } rdo_smear_cnt_thd2_comb; 344*437bfbebSnyanmisaka 345*437bfbebSnyanmisaka /* 0x0000203c reg2063 */ 346*437bfbebSnyanmisaka struct { 347*437bfbebSnyanmisaka RK_U32 rdo_smear_cnt_ref_thd0 : 4; 348*437bfbebSnyanmisaka RK_U32 reserved : 4; 349*437bfbebSnyanmisaka RK_U32 rdo_smear_cnt_ref_thd1 : 4; 350*437bfbebSnyanmisaka RK_U32 reserved1 : 20; 351*437bfbebSnyanmisaka } rdo_smear_cnt_thd3_comb; 352*437bfbebSnyanmisaka 353*437bfbebSnyanmisaka /* 0x00002040 reg2064 */ 354*437bfbebSnyanmisaka struct { 355*437bfbebSnyanmisaka RK_U32 rdo_smear_resi_small_cur_th0 : 6; 356*437bfbebSnyanmisaka RK_U32 reserved : 2; 357*437bfbebSnyanmisaka RK_U32 rdo_smear_resi_big_cur_th0 : 6; 358*437bfbebSnyanmisaka RK_U32 reserved1 : 2; 359*437bfbebSnyanmisaka RK_U32 rdo_smear_resi_small_cur_th1 : 6; 360*437bfbebSnyanmisaka RK_U32 reserved2 : 2; 361*437bfbebSnyanmisaka RK_U32 rdo_smear_resi_big_cur_th1 : 6; 362*437bfbebSnyanmisaka RK_U32 reserved3 : 2; 363*437bfbebSnyanmisaka } rdo_smear_resi_thd0_comb; 364*437bfbebSnyanmisaka 365*437bfbebSnyanmisaka /* 0x00002044 reg2065 */ 366*437bfbebSnyanmisaka struct { 367*437bfbebSnyanmisaka RK_U32 rdo_smear_resi_small_around_th0 : 6; 368*437bfbebSnyanmisaka RK_U32 reserved : 2; 369*437bfbebSnyanmisaka RK_U32 rdo_smear_resi_big_around_th0 : 6; 370*437bfbebSnyanmisaka RK_U32 reserved1 : 2; 371*437bfbebSnyanmisaka RK_U32 rdo_smear_resi_small_around_th1 : 6; 372*437bfbebSnyanmisaka RK_U32 reserved2 : 2; 373*437bfbebSnyanmisaka RK_U32 rdo_smear_resi_big_around_th1 : 6; 374*437bfbebSnyanmisaka RK_U32 reserved3 : 2; 375*437bfbebSnyanmisaka } rdo_smear_resi_thd1_comb; 376*437bfbebSnyanmisaka 377*437bfbebSnyanmisaka /* 0x00002048 reg2066 */ 378*437bfbebSnyanmisaka struct { 379*437bfbebSnyanmisaka RK_U32 rdo_smear_resi_small_around_th2 : 6; 380*437bfbebSnyanmisaka RK_U32 reserved : 2; 381*437bfbebSnyanmisaka RK_U32 rdo_smear_resi_big_around_th2 : 6; 382*437bfbebSnyanmisaka RK_U32 reserved1 : 2; 383*437bfbebSnyanmisaka RK_U32 rdo_smear_resi_small_around_th3 : 6; 384*437bfbebSnyanmisaka RK_U32 reserved2 : 2; 385*437bfbebSnyanmisaka RK_U32 rdo_smear_resi_big_around_th3 : 6; 386*437bfbebSnyanmisaka RK_U32 reserved3 : 2; 387*437bfbebSnyanmisaka } rdo_smear_resi_thd2_comb; 388*437bfbebSnyanmisaka 389*437bfbebSnyanmisaka /* 0x0000204c reg2067 */ 390*437bfbebSnyanmisaka struct { 391*437bfbebSnyanmisaka RK_U32 rdo_smear_resi_small_ref_th0 : 6; 392*437bfbebSnyanmisaka RK_U32 reserved : 2; 393*437bfbebSnyanmisaka RK_U32 rdo_smear_resi_big_ref_th0 : 6; 394*437bfbebSnyanmisaka RK_U32 reserved1 : 18; 395*437bfbebSnyanmisaka } rdo_smear_resi_thd3_comb; 396*437bfbebSnyanmisaka 397*437bfbebSnyanmisaka /* 0x00002050 reg2068 */ 398*437bfbebSnyanmisaka struct { 399*437bfbebSnyanmisaka RK_U32 rdo_smear_resi_th0 : 8; 400*437bfbebSnyanmisaka RK_U32 reserved : 8; 401*437bfbebSnyanmisaka RK_U32 rdo_smear_resi_th1 : 8; 402*437bfbebSnyanmisaka RK_U32 reserved1 : 8; 403*437bfbebSnyanmisaka } rdo_smear_st_thd0_comb; 404*437bfbebSnyanmisaka 405*437bfbebSnyanmisaka /* 0x00002054 reg2069 */ 406*437bfbebSnyanmisaka struct { 407*437bfbebSnyanmisaka RK_U32 rdo_smear_madp_cnt_th0 : 4; 408*437bfbebSnyanmisaka RK_U32 rdo_smear_madp_cnt_th1 : 4; 409*437bfbebSnyanmisaka RK_U32 rdo_smear_madp_cnt_th2 : 4; 410*437bfbebSnyanmisaka RK_U32 rdo_smear_madp_cnt_th3 : 4; 411*437bfbebSnyanmisaka RK_U32 rdo_smear_madp_cnt_th4 : 4; 412*437bfbebSnyanmisaka RK_U32 rdo_smear_madp_cnt_th5 : 4; 413*437bfbebSnyanmisaka RK_U32 reserved : 8; 414*437bfbebSnyanmisaka } rdo_smear_st_thd1_comb; 415*437bfbebSnyanmisaka 416*437bfbebSnyanmisaka /* 0x2058 - 0x205c */ 417*437bfbebSnyanmisaka RK_U32 reserved2070_2071[2]; 418*437bfbebSnyanmisaka /* 0x00002060 reg2072 - 0x0000206c reg2075 */ 419*437bfbebSnyanmisaka rdo_skip_par rdo_b32_skip; 420*437bfbebSnyanmisaka /* 0x00002070 reg2076 - 0x0000207c reg2079*/ 421*437bfbebSnyanmisaka rdo_skip_par rdo_b16_skip; 422*437bfbebSnyanmisaka 423*437bfbebSnyanmisaka /* 0x00002080 reg2080 - 0x00002088 reg2082 */ 424*437bfbebSnyanmisaka rdo_noskip_par rdo_b32_inter; 425*437bfbebSnyanmisaka 426*437bfbebSnyanmisaka /* 0x0000208c reg2083 - 0x00002094 reg2085 */ 427*437bfbebSnyanmisaka rdo_noskip_par rdo_b16_inter; 428*437bfbebSnyanmisaka 429*437bfbebSnyanmisaka /* 0x00002098 reg2086 - 0x000020a4 reg2089 */ 430*437bfbebSnyanmisaka rdo_noskip_par rdo_b32_intra; 431*437bfbebSnyanmisaka 432*437bfbebSnyanmisaka /* 0x000020a8 reg2090 - 0x000020ac reg2091 */ 433*437bfbebSnyanmisaka rdo_noskip_par rdo_b16_intra; 434*437bfbebSnyanmisaka 435*437bfbebSnyanmisaka /* 0x000020b0 reg2092 */ 436*437bfbebSnyanmisaka struct { 437*437bfbebSnyanmisaka RK_U32 thd0 : 6; 438*437bfbebSnyanmisaka RK_U32 reserved : 2; 439*437bfbebSnyanmisaka RK_U32 thd1 : 6; 440*437bfbebSnyanmisaka RK_U32 reserved1 : 2; 441*437bfbebSnyanmisaka RK_U32 thd2 : 6; 442*437bfbebSnyanmisaka RK_U32 reserved2 : 2; 443*437bfbebSnyanmisaka RK_U32 thd3 : 6; 444*437bfbebSnyanmisaka RK_U32 reserved3 : 2; 445*437bfbebSnyanmisaka } rdo_b32_intra_atf_cnt_thd; 446*437bfbebSnyanmisaka 447*437bfbebSnyanmisaka /* 0x000020b4 reg2093 */ 448*437bfbebSnyanmisaka struct { 449*437bfbebSnyanmisaka RK_U32 thd0 : 4; 450*437bfbebSnyanmisaka RK_U32 reserved : 4; 451*437bfbebSnyanmisaka RK_U32 thd1 : 4; 452*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 453*437bfbebSnyanmisaka RK_U32 thd2 : 4; 454*437bfbebSnyanmisaka RK_U32 reserved2 : 4; 455*437bfbebSnyanmisaka RK_U32 thd3 : 4; 456*437bfbebSnyanmisaka RK_U32 reserved3 : 4; 457*437bfbebSnyanmisaka } rdo_b16_intra_atf_cnt_thd_comb; 458*437bfbebSnyanmisaka 459*437bfbebSnyanmisaka /* 0x000020b8 reg2094 */ 460*437bfbebSnyanmisaka struct { 461*437bfbebSnyanmisaka RK_U32 big_th0 : 6; 462*437bfbebSnyanmisaka RK_U32 reserved : 2; 463*437bfbebSnyanmisaka RK_U32 big_th1 : 6; 464*437bfbebSnyanmisaka RK_U32 reserved1 : 2; 465*437bfbebSnyanmisaka RK_U32 small_th0 : 6; 466*437bfbebSnyanmisaka RK_U32 reserved2 : 2; 467*437bfbebSnyanmisaka RK_U32 small_th1 : 6; 468*437bfbebSnyanmisaka RK_U32 reserved3 : 2; 469*437bfbebSnyanmisaka } rdo_atf_resi_thd_comb; 470*437bfbebSnyanmisaka 471*437bfbebSnyanmisaka /* 0x20bc */ 472*437bfbebSnyanmisaka RK_U32 reserved_2095; 473*437bfbebSnyanmisaka 474*437bfbebSnyanmisaka /* 0x000020c0 reg2096 - 0x000020d0 reg2100 */ 475*437bfbebSnyanmisaka pre_cst_par preintra32_cst; 476*437bfbebSnyanmisaka /* 0x000020d4 reg2101 - 0x000020e4 reg2105 */ 477*437bfbebSnyanmisaka pre_cst_par preintra16_cst; 478*437bfbebSnyanmisaka 479*437bfbebSnyanmisaka /* 0x20e8 - 0x20ec */ 480*437bfbebSnyanmisaka RK_U32 reserved2106_2107[2]; 481*437bfbebSnyanmisaka 482*437bfbebSnyanmisaka /* 0x000020f0 reg2108 */ 483*437bfbebSnyanmisaka struct { 484*437bfbebSnyanmisaka RK_U32 pre_intra_qp_thd : 6; 485*437bfbebSnyanmisaka RK_U32 reserved : 2; 486*437bfbebSnyanmisaka RK_U32 pre_intra4_lambda_mv_bit : 3; 487*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 488*437bfbebSnyanmisaka RK_U32 pre_intra8_lambda_mv_bit : 3; 489*437bfbebSnyanmisaka RK_U32 reserved2 : 1; 490*437bfbebSnyanmisaka RK_U32 pre_intra16_lambda_mv_bit : 3; 491*437bfbebSnyanmisaka RK_U32 reserved3 : 1; 492*437bfbebSnyanmisaka RK_U32 pre_intra32_lambda_mv_bit : 3; 493*437bfbebSnyanmisaka RK_U32 reserved4 : 9; 494*437bfbebSnyanmisaka } preintra_sqi_cfg; 495*437bfbebSnyanmisaka 496*437bfbebSnyanmisaka /* 0x000020f4 reg2109 */ 497*437bfbebSnyanmisaka struct { 498*437bfbebSnyanmisaka RK_U32 i_cu32_madi_thd0 : 8; 499*437bfbebSnyanmisaka RK_U32 i_cu32_madi_thd1 : 8; 500*437bfbebSnyanmisaka RK_U32 i_cu32_madi_thd2 : 8; 501*437bfbebSnyanmisaka RK_U32 reserved : 8; 502*437bfbebSnyanmisaka } rdo_atr_i_cu32_madi_cfg0; 503*437bfbebSnyanmisaka 504*437bfbebSnyanmisaka /* 0x000020f8 reg2110 */ 505*437bfbebSnyanmisaka struct { 506*437bfbebSnyanmisaka RK_U32 i_cu32_madi_cnt_thd3 : 5; 507*437bfbebSnyanmisaka RK_U32 reserved : 3; 508*437bfbebSnyanmisaka RK_U32 i_cu32_madi_thd4 : 8; 509*437bfbebSnyanmisaka RK_U32 i_cu32_madi_cost_multi : 8; 510*437bfbebSnyanmisaka RK_U32 reserved1 : 8; 511*437bfbebSnyanmisaka } rdo_atr_i_cu32_madi_cfg1; 512*437bfbebSnyanmisaka 513*437bfbebSnyanmisaka /* 0x000020fc reg2111 */ 514*437bfbebSnyanmisaka struct { 515*437bfbebSnyanmisaka RK_U32 i_cu16_madi_thd0 : 8; 516*437bfbebSnyanmisaka RK_U32 i_cu16_madi_thd1 : 8; 517*437bfbebSnyanmisaka RK_U32 i_cu16_madi_cost_multi : 8; 518*437bfbebSnyanmisaka RK_U32 reserved : 8; 519*437bfbebSnyanmisaka } rdo_atr_i_cu16_madi_cfg0; 520*437bfbebSnyanmisaka } vepu540c_rdo_cfg; 521*437bfbebSnyanmisaka 522*437bfbebSnyanmisaka typedef struct Vepu540cJpegReg_t { 523*437bfbebSnyanmisaka 524*437bfbebSnyanmisaka RK_U32 reg0256_adr_bsbt; 525*437bfbebSnyanmisaka 526*437bfbebSnyanmisaka /* 0x00000404 reg257 */ 527*437bfbebSnyanmisaka RK_U32 reg0257_adr_bsbb; 528*437bfbebSnyanmisaka 529*437bfbebSnyanmisaka /* 0x00000408 reg258 */ 530*437bfbebSnyanmisaka RK_U32 reg0258_adr_bsbs; 531*437bfbebSnyanmisaka 532*437bfbebSnyanmisaka /* 0x0000040c reg259 */ 533*437bfbebSnyanmisaka RK_U32 reg0259_adr_bsbr; 534*437bfbebSnyanmisaka 535*437bfbebSnyanmisaka /* 0x00000410 reg260 */ 536*437bfbebSnyanmisaka RK_U32 reg0260_adr_vsy_b; 537*437bfbebSnyanmisaka 538*437bfbebSnyanmisaka /* 0x00000414 reg261 */ 539*437bfbebSnyanmisaka RK_U32 reg0261_adr_vsc_b; 540*437bfbebSnyanmisaka 541*437bfbebSnyanmisaka /* 0x00000418 reg262 */ 542*437bfbebSnyanmisaka RK_U32 reg0262_adr_vsy_t; 543*437bfbebSnyanmisaka 544*437bfbebSnyanmisaka /* 0x0000041c reg263 */ 545*437bfbebSnyanmisaka RK_U32 reg0263_adr_vsc_t; 546*437bfbebSnyanmisaka 547*437bfbebSnyanmisaka /* 0x00000420 reg264 */ 548*437bfbebSnyanmisaka RK_U32 reg0264_adr_src0; 549*437bfbebSnyanmisaka 550*437bfbebSnyanmisaka /* 0x00000424 reg265 */ 551*437bfbebSnyanmisaka RK_U32 reg0265_adr_src1; 552*437bfbebSnyanmisaka 553*437bfbebSnyanmisaka /* 0x00000428 reg266 */ 554*437bfbebSnyanmisaka RK_U32 reg0266_adr_src2; 555*437bfbebSnyanmisaka 556*437bfbebSnyanmisaka /* 0x0000042c reg267 */ 557*437bfbebSnyanmisaka struct { 558*437bfbebSnyanmisaka RK_U32 bsp_size_jpeg : 1; 559*437bfbebSnyanmisaka RK_U32 reserved : 31; 560*437bfbebSnyanmisaka } bsp_size_jpeg; 561*437bfbebSnyanmisaka 562*437bfbebSnyanmisaka /* 0x430 - 0x43c */ 563*437bfbebSnyanmisaka RK_U32 reserved268_271[4]; 564*437bfbebSnyanmisaka 565*437bfbebSnyanmisaka /* 0x00000440 reg272 */ 566*437bfbebSnyanmisaka struct { 567*437bfbebSnyanmisaka RK_U32 pic_wd8_m1 : 11; 568*437bfbebSnyanmisaka RK_U32 reserved : 5; 569*437bfbebSnyanmisaka RK_U32 pic_hd8_m1 : 11; 570*437bfbebSnyanmisaka RK_U32 reserved1 : 5; 571*437bfbebSnyanmisaka } reg0272_enc_rsl; 572*437bfbebSnyanmisaka 573*437bfbebSnyanmisaka /* 0x00000444 reg273 */ 574*437bfbebSnyanmisaka struct { 575*437bfbebSnyanmisaka RK_U32 pic_wfill : 6; 576*437bfbebSnyanmisaka RK_U32 reserved : 10; 577*437bfbebSnyanmisaka RK_U32 pic_hfill : 6; 578*437bfbebSnyanmisaka RK_U32 reserved1 : 10; 579*437bfbebSnyanmisaka } reg0273_src_fill; 580*437bfbebSnyanmisaka 581*437bfbebSnyanmisaka /* 0x00000448 reg274 */ 582*437bfbebSnyanmisaka struct { 583*437bfbebSnyanmisaka RK_U32 alpha_swap : 1; 584*437bfbebSnyanmisaka RK_U32 rbuv_swap : 1; 585*437bfbebSnyanmisaka RK_U32 src_cfmt : 4; 586*437bfbebSnyanmisaka RK_U32 reserved : 1; 587*437bfbebSnyanmisaka RK_U32 out_fmt : 1; 588*437bfbebSnyanmisaka RK_U32 src_range_trns_en : 1; 589*437bfbebSnyanmisaka RK_U32 src_range_trns_sel : 1; 590*437bfbebSnyanmisaka RK_U32 chroma_ds_mode : 1; 591*437bfbebSnyanmisaka RK_U32 reserved1 : 21; 592*437bfbebSnyanmisaka } reg0274_src_fmt; 593*437bfbebSnyanmisaka 594*437bfbebSnyanmisaka /* 0x0000044c reg275 */ 595*437bfbebSnyanmisaka struct { 596*437bfbebSnyanmisaka RK_U32 csc_wgt_b2y : 9; 597*437bfbebSnyanmisaka RK_U32 csc_wgt_g2y : 9; 598*437bfbebSnyanmisaka RK_U32 csc_wgt_r2y : 9; 599*437bfbebSnyanmisaka RK_U32 reserved : 5; 600*437bfbebSnyanmisaka } reg0275_src_udfy; 601*437bfbebSnyanmisaka 602*437bfbebSnyanmisaka /* 0x00000450 reg276 */ 603*437bfbebSnyanmisaka struct { 604*437bfbebSnyanmisaka RK_U32 csc_wgt_b2u : 9; 605*437bfbebSnyanmisaka RK_U32 csc_wgt_g2u : 9; 606*437bfbebSnyanmisaka RK_U32 csc_wgt_r2u : 9; 607*437bfbebSnyanmisaka RK_U32 reserved : 5; 608*437bfbebSnyanmisaka } reg0276_src_udfu; 609*437bfbebSnyanmisaka 610*437bfbebSnyanmisaka /* 0x00000454 reg277 */ 611*437bfbebSnyanmisaka struct { 612*437bfbebSnyanmisaka RK_U32 csc_wgt_b2v : 9; 613*437bfbebSnyanmisaka RK_U32 csc_wgt_g2v : 9; 614*437bfbebSnyanmisaka RK_U32 csc_wgt_r2v : 9; 615*437bfbebSnyanmisaka RK_U32 reserved : 5; 616*437bfbebSnyanmisaka } reg0277_src_udfv; 617*437bfbebSnyanmisaka 618*437bfbebSnyanmisaka /* 0x00000458 reg278 */ 619*437bfbebSnyanmisaka struct { 620*437bfbebSnyanmisaka RK_U32 csc_ofst_v : 8; 621*437bfbebSnyanmisaka RK_U32 csc_ofst_u : 8; 622*437bfbebSnyanmisaka RK_U32 csc_ofst_y : 5; 623*437bfbebSnyanmisaka RK_U32 reserved : 11; 624*437bfbebSnyanmisaka } reg0278_src_udfo; 625*437bfbebSnyanmisaka 626*437bfbebSnyanmisaka /* 0x0000045c reg279 */ 627*437bfbebSnyanmisaka struct { 628*437bfbebSnyanmisaka RK_U32 reserved : 26; 629*437bfbebSnyanmisaka RK_U32 src_mirr : 1; 630*437bfbebSnyanmisaka RK_U32 src_rot : 2; 631*437bfbebSnyanmisaka RK_U32 reserved1 : 3; 632*437bfbebSnyanmisaka } reg0279_src_proc; 633*437bfbebSnyanmisaka 634*437bfbebSnyanmisaka /* 0x00000460 reg280 */ 635*437bfbebSnyanmisaka struct { 636*437bfbebSnyanmisaka RK_U32 pic_ofst_x : 14; 637*437bfbebSnyanmisaka RK_U32 reserved : 2; 638*437bfbebSnyanmisaka RK_U32 pic_ofst_y : 14; 639*437bfbebSnyanmisaka RK_U32 reserved1 : 2; 640*437bfbebSnyanmisaka } reg0280_pic_ofst; 641*437bfbebSnyanmisaka 642*437bfbebSnyanmisaka /* 0x00000464 reg281 */ 643*437bfbebSnyanmisaka struct { 644*437bfbebSnyanmisaka RK_U32 src_strd0 : 17; 645*437bfbebSnyanmisaka RK_U32 reserved : 15; 646*437bfbebSnyanmisaka } reg0281_src_strd0; 647*437bfbebSnyanmisaka 648*437bfbebSnyanmisaka /* 0x00000468 reg282 */ 649*437bfbebSnyanmisaka struct { 650*437bfbebSnyanmisaka RK_U32 src_strd1 : 16; 651*437bfbebSnyanmisaka RK_U32 reserved : 16; 652*437bfbebSnyanmisaka } reg0282_src_strd1; 653*437bfbebSnyanmisaka 654*437bfbebSnyanmisaka /* 0x0000046c reg283 */ 655*437bfbebSnyanmisaka struct { 656*437bfbebSnyanmisaka RK_U32 pp_corner_filter_strength : 2; 657*437bfbebSnyanmisaka RK_U32 reserved : 2; 658*437bfbebSnyanmisaka RK_U32 pp_edge_filter_strength : 2; 659*437bfbebSnyanmisaka RK_U32 reserved1 : 2; 660*437bfbebSnyanmisaka RK_U32 pp_internal_filter_strength : 2; 661*437bfbebSnyanmisaka RK_U32 reserved2 : 22; 662*437bfbebSnyanmisaka } reg0283_src_flt; 663*437bfbebSnyanmisaka 664*437bfbebSnyanmisaka /* 0x00000470 reg284 */ 665*437bfbebSnyanmisaka struct { 666*437bfbebSnyanmisaka RK_U32 bias_y : 15; 667*437bfbebSnyanmisaka RK_U32 reserved : 17; 668*437bfbebSnyanmisaka } reg0284_y_cfg; 669*437bfbebSnyanmisaka 670*437bfbebSnyanmisaka /* 0x00000474 reg285 */ 671*437bfbebSnyanmisaka struct { 672*437bfbebSnyanmisaka RK_U32 bias_u : 15; 673*437bfbebSnyanmisaka RK_U32 reserved : 17; 674*437bfbebSnyanmisaka } reg0285_u_cfg; 675*437bfbebSnyanmisaka 676*437bfbebSnyanmisaka /* 0x00000478 reg286 */ 677*437bfbebSnyanmisaka struct { 678*437bfbebSnyanmisaka RK_U32 bias_v : 15; 679*437bfbebSnyanmisaka RK_U32 reserved : 17; 680*437bfbebSnyanmisaka } reg0286_v_cfg; 681*437bfbebSnyanmisaka 682*437bfbebSnyanmisaka /* 0x0000047c reg287 */ 683*437bfbebSnyanmisaka struct { 684*437bfbebSnyanmisaka RK_U32 jpeg_ri : 25; 685*437bfbebSnyanmisaka RK_U32 jpeg_out_mode : 1; 686*437bfbebSnyanmisaka RK_U32 jpeg_start_rst_m : 3; 687*437bfbebSnyanmisaka RK_U32 jpeg_pic_last_ecs : 1; 688*437bfbebSnyanmisaka RK_U32 jpeg_slen_fifo : 1; 689*437bfbebSnyanmisaka RK_U32 jpeg_stnd : 1; 690*437bfbebSnyanmisaka } reg0287_base_cfg; 691*437bfbebSnyanmisaka 692*437bfbebSnyanmisaka /* 0x00000480 reg288 */ 693*437bfbebSnyanmisaka struct { 694*437bfbebSnyanmisaka RK_U32 uvc_partition0_len : 12; 695*437bfbebSnyanmisaka RK_U32 uvc_partition_len : 12; 696*437bfbebSnyanmisaka RK_U32 uvc_skip_len : 6; 697*437bfbebSnyanmisaka RK_U32 reserved : 2; 698*437bfbebSnyanmisaka } reg0288_uvc_cfg; 699*437bfbebSnyanmisaka } Vepu540cJpegReg; 700*437bfbebSnyanmisaka 701*437bfbebSnyanmisaka /* 0x00002c80 reg2848 - - 0x00002dfc reg2943*/ 702*437bfbebSnyanmisaka typedef struct Vepu540cJpegTab_t { 703*437bfbebSnyanmisaka /* 0x00002c80 reg2848 - 0x00002cfc reg2879 */ 704*437bfbebSnyanmisaka RK_U16 qua_tab0[64]; 705*437bfbebSnyanmisaka /* 0x00002d00 reg2880 - 0x00002d7c reg2911 */ 706*437bfbebSnyanmisaka RK_U16 qua_tab1[64]; 707*437bfbebSnyanmisaka /* 0x00002d80 reg2912 - 0x00002dfc reg2943 */ 708*437bfbebSnyanmisaka RK_U16 qua_tab2[64]; 709*437bfbebSnyanmisaka } vepu540c_jpeg_tab; 710*437bfbebSnyanmisaka 711*437bfbebSnyanmisaka typedef struct Vepu540cRoiRegion_t { 712*437bfbebSnyanmisaka 713*437bfbebSnyanmisaka struct { 714*437bfbebSnyanmisaka RK_U32 roi_lt_x : 10; 715*437bfbebSnyanmisaka RK_U32 reserved : 6; 716*437bfbebSnyanmisaka RK_U32 roi_lt_y : 10; 717*437bfbebSnyanmisaka RK_U32 reserved1 : 6; 718*437bfbebSnyanmisaka } roi_pos_lt; 719*437bfbebSnyanmisaka 720*437bfbebSnyanmisaka struct { 721*437bfbebSnyanmisaka RK_U32 roi_rb_x : 10; 722*437bfbebSnyanmisaka RK_U32 reserved : 6; 723*437bfbebSnyanmisaka RK_U32 roi_rb_y : 10; 724*437bfbebSnyanmisaka RK_U32 reserved1 : 6; 725*437bfbebSnyanmisaka } roi_pos_rb; 726*437bfbebSnyanmisaka 727*437bfbebSnyanmisaka struct { 728*437bfbebSnyanmisaka RK_U32 roi_qp_value : 7; 729*437bfbebSnyanmisaka RK_U32 roi_qp_adj_mode : 1; 730*437bfbebSnyanmisaka RK_U32 roi_pri : 5; 731*437bfbebSnyanmisaka RK_U32 roi_en : 1; 732*437bfbebSnyanmisaka RK_U32 reserved : 18; 733*437bfbebSnyanmisaka } roi_base; 734*437bfbebSnyanmisaka struct { 735*437bfbebSnyanmisaka RK_U32 roi_mdc_inter16 : 4; 736*437bfbebSnyanmisaka RK_U32 roi_mdc_skip16 : 4; 737*437bfbebSnyanmisaka RK_U32 roi_mdc_intra16 : 4; 738*437bfbebSnyanmisaka RK_U32 roi0_mdc_inter32_hevc : 4; 739*437bfbebSnyanmisaka RK_U32 roi0_mdc_skip32_hevc : 4; 740*437bfbebSnyanmisaka RK_U32 roi0_mdc_intra32_hevc : 4; 741*437bfbebSnyanmisaka RK_U32 roi0_mdc_dpth_hevc : 1; 742*437bfbebSnyanmisaka RK_U32 reserved : 7; 743*437bfbebSnyanmisaka } roi_mdc; 744*437bfbebSnyanmisaka } Vepu540cRoiRegion; 745*437bfbebSnyanmisaka 746*437bfbebSnyanmisaka /* 747*437bfbebSnyanmisaka * Vepu540cRoiCfg 748*437bfbebSnyanmisaka * 749*437bfbebSnyanmisaka */ 750*437bfbebSnyanmisaka typedef struct Vepu540cRoiCfg_t { 751*437bfbebSnyanmisaka struct { 752*437bfbebSnyanmisaka RK_U32 fmdc_adju_inter16 : 4; 753*437bfbebSnyanmisaka RK_U32 fmdc_adju_skip16 : 4; 754*437bfbebSnyanmisaka RK_U32 fmdc_adju_intra16 : 4; 755*437bfbebSnyanmisaka RK_U32 fmdc_adju_inter32 : 4; 756*437bfbebSnyanmisaka RK_U32 fmdc_adju_skip32 : 4; 757*437bfbebSnyanmisaka RK_U32 fmdc_adju_intra32 : 4; 758*437bfbebSnyanmisaka RK_U32 fmdc_adj_pri : 5; 759*437bfbebSnyanmisaka RK_U32 reserved : 3; 760*437bfbebSnyanmisaka } fmdc_adj0; 761*437bfbebSnyanmisaka 762*437bfbebSnyanmisaka /* 0x00001084 reg1057 */ 763*437bfbebSnyanmisaka struct { 764*437bfbebSnyanmisaka RK_U32 fmdc_adju_inter8 : 4; 765*437bfbebSnyanmisaka RK_U32 fmdc_adju_skip8 : 4; 766*437bfbebSnyanmisaka RK_U32 fmdc_adju_intra8 : 4; 767*437bfbebSnyanmisaka RK_U32 reserved : 20; 768*437bfbebSnyanmisaka } fmdc_adj1; 769*437bfbebSnyanmisaka 770*437bfbebSnyanmisaka RK_U32 reserved_1058; 771*437bfbebSnyanmisaka 772*437bfbebSnyanmisaka /* 0x0000108c reg1059 */ 773*437bfbebSnyanmisaka struct { 774*437bfbebSnyanmisaka RK_U32 bmap_en : 1; 775*437bfbebSnyanmisaka RK_U32 bmap_pri : 5; 776*437bfbebSnyanmisaka RK_U32 bmap_qpmin : 6; 777*437bfbebSnyanmisaka RK_U32 bmap_qpmax : 6; 778*437bfbebSnyanmisaka RK_U32 bmap_mdc_dpth : 1; 779*437bfbebSnyanmisaka RK_U32 reserved : 13; 780*437bfbebSnyanmisaka } bmap_cfg; 781*437bfbebSnyanmisaka 782*437bfbebSnyanmisaka Vepu540cRoiRegion regions[8]; 783*437bfbebSnyanmisaka } Vepu540cRoiCfg; 784*437bfbebSnyanmisaka 785*437bfbebSnyanmisaka /* class: st */ 786*437bfbebSnyanmisaka /* 0x00004000 reg4096 - 0x000042cc reg4275 */ 787*437bfbebSnyanmisaka typedef struct Vepu540cStatus_t { 788*437bfbebSnyanmisaka /* 0x00004000 reg4096 */ 789*437bfbebSnyanmisaka RK_U32 bs_lgth_l32; 790*437bfbebSnyanmisaka 791*437bfbebSnyanmisaka /* 0x00004004 reg4097 */ 792*437bfbebSnyanmisaka struct { 793*437bfbebSnyanmisaka RK_U32 bs_lgth_h8 : 8; 794*437bfbebSnyanmisaka RK_U32 reserved : 8; 795*437bfbebSnyanmisaka RK_U32 sse_l16 : 16; 796*437bfbebSnyanmisaka } st_sse_bsl; 797*437bfbebSnyanmisaka 798*437bfbebSnyanmisaka /* 0x00004008 reg4098 */ 799*437bfbebSnyanmisaka RK_U32 sse_h32; 800*437bfbebSnyanmisaka 801*437bfbebSnyanmisaka /* 0x0000400c reg4099 */ 802*437bfbebSnyanmisaka RK_U32 qp_sum; 803*437bfbebSnyanmisaka 804*437bfbebSnyanmisaka /* 0x00004010 reg4100 */ 805*437bfbebSnyanmisaka struct { 806*437bfbebSnyanmisaka RK_U32 sao_cnum : 16; 807*437bfbebSnyanmisaka RK_U32 sao_ynum : 16; 808*437bfbebSnyanmisaka } st_sao; 809*437bfbebSnyanmisaka 810*437bfbebSnyanmisaka /* 0x00004014 reg4101 */ 811*437bfbebSnyanmisaka RK_U32 rdo_head_bits; 812*437bfbebSnyanmisaka 813*437bfbebSnyanmisaka /* 0x00004018 reg4102 */ 814*437bfbebSnyanmisaka struct { 815*437bfbebSnyanmisaka RK_U32 rdo_head_bits_h8 : 8; 816*437bfbebSnyanmisaka RK_U32 reserved : 8; 817*437bfbebSnyanmisaka RK_U32 rdo_res_bits_l16 : 16; 818*437bfbebSnyanmisaka } st_head_res_bl; 819*437bfbebSnyanmisaka 820*437bfbebSnyanmisaka /* 0x0000401c reg4103 */ 821*437bfbebSnyanmisaka RK_U32 rdo_res_bits_h24; 822*437bfbebSnyanmisaka 823*437bfbebSnyanmisaka /* 0x00004020 reg4104 */ 824*437bfbebSnyanmisaka struct { 825*437bfbebSnyanmisaka RK_U32 st_enc : 2; 826*437bfbebSnyanmisaka RK_U32 st_sclr : 1; 827*437bfbebSnyanmisaka RK_U32 reserved : 29; 828*437bfbebSnyanmisaka } st_enc; 829*437bfbebSnyanmisaka 830*437bfbebSnyanmisaka /* 0x00004024 reg4105 */ 831*437bfbebSnyanmisaka struct { 832*437bfbebSnyanmisaka RK_U32 fnum_cfg_done : 8; 833*437bfbebSnyanmisaka RK_U32 fnum_cfg : 8; 834*437bfbebSnyanmisaka RK_U32 fnum_int : 8; 835*437bfbebSnyanmisaka RK_U32 fnum_enc_done : 8; 836*437bfbebSnyanmisaka } st_lkt; 837*437bfbebSnyanmisaka 838*437bfbebSnyanmisaka /* 0x00004028 reg4106 */ 839*437bfbebSnyanmisaka RK_U32 node_addr; 840*437bfbebSnyanmisaka 841*437bfbebSnyanmisaka /* 0x0000402c reg4107 */ 842*437bfbebSnyanmisaka struct { 843*437bfbebSnyanmisaka RK_U32 bsbw_ovfl : 1; 844*437bfbebSnyanmisaka RK_U32 reserved : 2; 845*437bfbebSnyanmisaka RK_U32 bsbw_addr : 28; 846*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 847*437bfbebSnyanmisaka } st_bsb; 848*437bfbebSnyanmisaka 849*437bfbebSnyanmisaka /* 0x00004030 reg4108 */ 850*437bfbebSnyanmisaka struct { 851*437bfbebSnyanmisaka RK_U32 axib_idl : 8; 852*437bfbebSnyanmisaka RK_U32 axib_ovfl : 8; 853*437bfbebSnyanmisaka RK_U32 axib_err : 8; 854*437bfbebSnyanmisaka RK_U32 axir_err : 7; 855*437bfbebSnyanmisaka RK_U32 reserved : 1; 856*437bfbebSnyanmisaka } st_bus; 857*437bfbebSnyanmisaka 858*437bfbebSnyanmisaka /* 0x00004034 reg4109 */ 859*437bfbebSnyanmisaka struct { 860*437bfbebSnyanmisaka RK_U32 sli_num_video : 6; 861*437bfbebSnyanmisaka RK_U32 sli_num_jpeg : 6; 862*437bfbebSnyanmisaka RK_U32 reserved : 4; 863*437bfbebSnyanmisaka RK_U32 bpkt_num_video : 7; 864*437bfbebSnyanmisaka RK_U32 bpkt_lst_video : 1; 865*437bfbebSnyanmisaka RK_U32 bpkt_num_jpeg : 7; 866*437bfbebSnyanmisaka RK_U32 bpkt_lst_jpeg : 1; 867*437bfbebSnyanmisaka } st_snum; 868*437bfbebSnyanmisaka 869*437bfbebSnyanmisaka /* 0x00004038 reg4110 */ 870*437bfbebSnyanmisaka RK_U32 sli_len; 871*437bfbebSnyanmisaka 872*437bfbebSnyanmisaka /* 0x403c - 0x40fc */ 873*437bfbebSnyanmisaka struct { 874*437bfbebSnyanmisaka RK_U32 task_id_proc : 12; 875*437bfbebSnyanmisaka RK_U32 task_id_done : 12; 876*437bfbebSnyanmisaka RK_U32 task_done : 1; 877*437bfbebSnyanmisaka RK_U32 task_lkt_err : 3; 878*437bfbebSnyanmisaka RK_U32 dvbm_enc_err : 1; 879*437bfbebSnyanmisaka RK_U32 dvbm_fmch_err : 1; 880*437bfbebSnyanmisaka RK_U32 reserved : 1; 881*437bfbebSnyanmisaka RK_U32 rfpr_ovrb_err : 1; 882*437bfbebSnyanmisaka } st_link_task; 883*437bfbebSnyanmisaka 884*437bfbebSnyanmisaka /* 0x4040 - 0x405c */ 885*437bfbebSnyanmisaka RK_U32 reserved4111_4119[8]; 886*437bfbebSnyanmisaka 887*437bfbebSnyanmisaka RK_U32 sli_len_jpeg; 888*437bfbebSnyanmisaka 889*437bfbebSnyanmisaka /* 0x00004064 reg4121 */ 890*437bfbebSnyanmisaka RK_U32 jpeg_head_bits_l32; 891*437bfbebSnyanmisaka 892*437bfbebSnyanmisaka /* 0x00004068 reg4122 */ 893*437bfbebSnyanmisaka struct { 894*437bfbebSnyanmisaka RK_U32 jpeg_head_bits_h8 : 1; 895*437bfbebSnyanmisaka RK_U32 reserved : 31; 896*437bfbebSnyanmisaka } st_bsl_h8_jpeg; 897*437bfbebSnyanmisaka 898*437bfbebSnyanmisaka /* 0x0000406c reg4123 */ 899*437bfbebSnyanmisaka struct { 900*437bfbebSnyanmisaka RK_U32 jbsbw_ovfl : 1; 901*437bfbebSnyanmisaka RK_U32 reserved : 2; 902*437bfbebSnyanmisaka RK_U32 jbsbw_addr : 28; 903*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 904*437bfbebSnyanmisaka } st_jbsb; 905*437bfbebSnyanmisaka 906*437bfbebSnyanmisaka /* 0x4070 - 0x407c */ 907*437bfbebSnyanmisaka RK_U32 reserved4124_4127[4]; 908*437bfbebSnyanmisaka 909*437bfbebSnyanmisaka /* 0x00004080 reg4128 */ 910*437bfbebSnyanmisaka struct { 911*437bfbebSnyanmisaka RK_U32 pnum_p64 : 17; 912*437bfbebSnyanmisaka RK_U32 reserved : 15; 913*437bfbebSnyanmisaka } st_pnum_p64; 914*437bfbebSnyanmisaka 915*437bfbebSnyanmisaka /* 0x00004084 reg4129 */ 916*437bfbebSnyanmisaka struct { 917*437bfbebSnyanmisaka RK_U32 pnum_p32 : 19; 918*437bfbebSnyanmisaka RK_U32 reserved : 13; 919*437bfbebSnyanmisaka } st_pnum_p32; 920*437bfbebSnyanmisaka 921*437bfbebSnyanmisaka /* 0x00004088 reg4130 */ 922*437bfbebSnyanmisaka struct { 923*437bfbebSnyanmisaka RK_U32 pnum_p16 : 21; 924*437bfbebSnyanmisaka RK_U32 reserved : 11; 925*437bfbebSnyanmisaka } st_pnum_p16; 926*437bfbebSnyanmisaka 927*437bfbebSnyanmisaka /* 0x0000408c reg4131 */ 928*437bfbebSnyanmisaka struct { 929*437bfbebSnyanmisaka RK_U32 pnum_p8 : 23; 930*437bfbebSnyanmisaka RK_U32 reserved : 9; 931*437bfbebSnyanmisaka } st_pnum_p8; 932*437bfbebSnyanmisaka 933*437bfbebSnyanmisaka /* 0x00004090 reg4132 */ 934*437bfbebSnyanmisaka struct { 935*437bfbebSnyanmisaka RK_U32 pnum_i32 : 19; 936*437bfbebSnyanmisaka RK_U32 reserved : 13; 937*437bfbebSnyanmisaka } st_pnum_i32; 938*437bfbebSnyanmisaka 939*437bfbebSnyanmisaka /* 0x00004094 reg4133 */ 940*437bfbebSnyanmisaka struct { 941*437bfbebSnyanmisaka RK_U32 pnum_i16 : 21; 942*437bfbebSnyanmisaka RK_U32 reserved : 11; 943*437bfbebSnyanmisaka } st_pnum_i16; 944*437bfbebSnyanmisaka 945*437bfbebSnyanmisaka /* 0x00004098 reg4134 */ 946*437bfbebSnyanmisaka struct { 947*437bfbebSnyanmisaka RK_U32 pnum_i8 : 23; 948*437bfbebSnyanmisaka RK_U32 reserved : 9; 949*437bfbebSnyanmisaka } st_pnum_i8; 950*437bfbebSnyanmisaka 951*437bfbebSnyanmisaka /* 0x0000409c reg4135 */ 952*437bfbebSnyanmisaka struct { 953*437bfbebSnyanmisaka RK_U32 pnum_i4 : 23; 954*437bfbebSnyanmisaka RK_U32 reserved : 9; 955*437bfbebSnyanmisaka } st_pnum_i4; 956*437bfbebSnyanmisaka 957*437bfbebSnyanmisaka /* 0x000040a0 reg4136 */ 958*437bfbebSnyanmisaka struct { 959*437bfbebSnyanmisaka RK_U32 num_b16 : 23; 960*437bfbebSnyanmisaka RK_U32 reserved : 9; 961*437bfbebSnyanmisaka } st_bnum_b16; 962*437bfbebSnyanmisaka 963*437bfbebSnyanmisaka /* 0x000040a4 reg4137 */ 964*437bfbebSnyanmisaka struct { 965*437bfbebSnyanmisaka RK_U32 rdo_smear_cnt0 : 8; 966*437bfbebSnyanmisaka RK_U32 rdo_smear_cnt1 : 8; 967*437bfbebSnyanmisaka RK_U32 rdo_smear_cnt2 : 8; 968*437bfbebSnyanmisaka RK_U32 rdo_smear_cnt3 : 8; 969*437bfbebSnyanmisaka } st_smear_cnt; 970*437bfbebSnyanmisaka 971*437bfbebSnyanmisaka /* 0x000040a8 reg4138 */ 972*437bfbebSnyanmisaka RK_U32 madi_sum; 973*437bfbebSnyanmisaka 974*437bfbebSnyanmisaka /* 0x40ac - 0x40bc */ 975*437bfbebSnyanmisaka RK_U32 reserved4139_4143[5]; 976*437bfbebSnyanmisaka 977*437bfbebSnyanmisaka /* 0x000040c0 reg4144 */ 978*437bfbebSnyanmisaka struct { 979*437bfbebSnyanmisaka RK_U32 madi_th_lt_cnt0 : 16; 980*437bfbebSnyanmisaka RK_U32 madi_th_lt_cnt1 : 16; 981*437bfbebSnyanmisaka } st_madi_lt_num0; 982*437bfbebSnyanmisaka 983*437bfbebSnyanmisaka /* 0x000040c4 reg4145 */ 984*437bfbebSnyanmisaka struct { 985*437bfbebSnyanmisaka RK_U32 madi_th_lt_cnt2 : 16; 986*437bfbebSnyanmisaka RK_U32 madi_th_lt_cnt3 : 16; 987*437bfbebSnyanmisaka } st_madi_lt_num1; 988*437bfbebSnyanmisaka 989*437bfbebSnyanmisaka /* 0x000040c8 reg4146 */ 990*437bfbebSnyanmisaka struct { 991*437bfbebSnyanmisaka RK_U32 madi_th_rt_cnt0 : 16; 992*437bfbebSnyanmisaka RK_U32 madi_th_rt_cnt1 : 16; 993*437bfbebSnyanmisaka } st_madi_rt_num0; 994*437bfbebSnyanmisaka 995*437bfbebSnyanmisaka /* 0x000040cc reg4147 */ 996*437bfbebSnyanmisaka struct { 997*437bfbebSnyanmisaka RK_U32 madi_th_rt_cnt2 : 16; 998*437bfbebSnyanmisaka RK_U32 madi_th_rt_cnt3 : 16; 999*437bfbebSnyanmisaka } st_madi_rt_num1; 1000*437bfbebSnyanmisaka 1001*437bfbebSnyanmisaka /* 0x000040d0 reg4148 */ 1002*437bfbebSnyanmisaka struct { 1003*437bfbebSnyanmisaka RK_U32 madi_th_lb_cnt0 : 16; 1004*437bfbebSnyanmisaka RK_U32 madi_th_lb_cnt1 : 16; 1005*437bfbebSnyanmisaka } st_madi_lb_num0; 1006*437bfbebSnyanmisaka 1007*437bfbebSnyanmisaka /* 0x000040d4 reg4149 */ 1008*437bfbebSnyanmisaka struct { 1009*437bfbebSnyanmisaka RK_U32 madi_th_lb_cnt2 : 16; 1010*437bfbebSnyanmisaka RK_U32 madi_th_lb_cnt3 : 16; 1011*437bfbebSnyanmisaka } st_madi_lb_num1; 1012*437bfbebSnyanmisaka 1013*437bfbebSnyanmisaka /* 0x000040d8 reg4150 */ 1014*437bfbebSnyanmisaka struct { 1015*437bfbebSnyanmisaka RK_U32 madi_th_rb_cnt0 : 16; 1016*437bfbebSnyanmisaka RK_U32 madi_th_rb_cnt1 : 16; 1017*437bfbebSnyanmisaka } st_madi_rb_num0; 1018*437bfbebSnyanmisaka 1019*437bfbebSnyanmisaka /* 0x000040dc reg4151 */ 1020*437bfbebSnyanmisaka struct { 1021*437bfbebSnyanmisaka RK_U32 madi_th_rb_cnt2 : 16; 1022*437bfbebSnyanmisaka RK_U32 madi_th_rb_cnt3 : 16; 1023*437bfbebSnyanmisaka } st_madi_rb_num1; 1024*437bfbebSnyanmisaka 1025*437bfbebSnyanmisaka /* 0x000040e0 reg4152 */ 1026*437bfbebSnyanmisaka struct { 1027*437bfbebSnyanmisaka RK_U32 madp_th_lt_cnt0 : 16; 1028*437bfbebSnyanmisaka RK_U32 madp_th_lt_cnt1 : 16; 1029*437bfbebSnyanmisaka } st_madp_lt_num0; 1030*437bfbebSnyanmisaka 1031*437bfbebSnyanmisaka /* 0x000040e4 reg4153 */ 1032*437bfbebSnyanmisaka struct { 1033*437bfbebSnyanmisaka RK_U32 madp_th_lt_cnt2 : 16; 1034*437bfbebSnyanmisaka RK_U32 madp_th_lt_cnt3 : 16; 1035*437bfbebSnyanmisaka } st_madp_lt_num1; 1036*437bfbebSnyanmisaka 1037*437bfbebSnyanmisaka /* 0x000040e8 reg4154 */ 1038*437bfbebSnyanmisaka struct { 1039*437bfbebSnyanmisaka RK_U32 madp_th_rt_cnt0 : 16; 1040*437bfbebSnyanmisaka RK_U32 madp_th_rt_cnt1 : 16; 1041*437bfbebSnyanmisaka } st_madp_rt_num0; 1042*437bfbebSnyanmisaka 1043*437bfbebSnyanmisaka /* 0x000040ec reg4155 */ 1044*437bfbebSnyanmisaka struct { 1045*437bfbebSnyanmisaka RK_U32 madp_th_rt_cnt2 : 16; 1046*437bfbebSnyanmisaka RK_U32 madp_th_rt_cnt3 : 16; 1047*437bfbebSnyanmisaka } st_madp_rt_num1; 1048*437bfbebSnyanmisaka 1049*437bfbebSnyanmisaka /* 0x000040f0 reg4156 */ 1050*437bfbebSnyanmisaka struct { 1051*437bfbebSnyanmisaka RK_U32 madp_th_lb_cnt0 : 16; 1052*437bfbebSnyanmisaka RK_U32 madp_th_lb_cnt1 : 16; 1053*437bfbebSnyanmisaka } st_madp_lb_num0; 1054*437bfbebSnyanmisaka 1055*437bfbebSnyanmisaka /* 0x000040f4 reg4157 */ 1056*437bfbebSnyanmisaka struct { 1057*437bfbebSnyanmisaka RK_U32 madp_th_lb_cnt2 : 16; 1058*437bfbebSnyanmisaka RK_U32 madp_th_lb_cnt3 : 16; 1059*437bfbebSnyanmisaka } st_madp_lb_num1; 1060*437bfbebSnyanmisaka 1061*437bfbebSnyanmisaka /* 0x000040f8 reg4158 */ 1062*437bfbebSnyanmisaka struct { 1063*437bfbebSnyanmisaka RK_U32 madp_th_rb_cnt0 : 16; 1064*437bfbebSnyanmisaka RK_U32 madp_th_rb_cnt1 : 16; 1065*437bfbebSnyanmisaka } st_madp_rb_num0; 1066*437bfbebSnyanmisaka 1067*437bfbebSnyanmisaka /* 0x000040fc reg4159 */ 1068*437bfbebSnyanmisaka struct { 1069*437bfbebSnyanmisaka RK_U32 madp_th_rb_cnt2 : 16; 1070*437bfbebSnyanmisaka RK_U32 madp_th_rb_cnt3 : 16; 1071*437bfbebSnyanmisaka } st_madp_rb_num1; 1072*437bfbebSnyanmisaka 1073*437bfbebSnyanmisaka /* 0x00004100 reg4160 */ 1074*437bfbebSnyanmisaka struct { 1075*437bfbebSnyanmisaka RK_U32 cmv_th_lt_cnt0 : 16; 1076*437bfbebSnyanmisaka RK_U32 cmv_th_lt_cnt1 : 16; 1077*437bfbebSnyanmisaka } st_cmv_lt_num0; 1078*437bfbebSnyanmisaka 1079*437bfbebSnyanmisaka /* 0x00004104 reg4161 */ 1080*437bfbebSnyanmisaka struct { 1081*437bfbebSnyanmisaka RK_U32 cmv_th_lt_cnt2 : 16; 1082*437bfbebSnyanmisaka RK_U32 cmv_th_lt_cnt3 : 16; 1083*437bfbebSnyanmisaka } st_cmv_lt_num1; 1084*437bfbebSnyanmisaka 1085*437bfbebSnyanmisaka /* 0x00004108 reg4162 */ 1086*437bfbebSnyanmisaka struct { 1087*437bfbebSnyanmisaka RK_U32 cmv_th_rt_cnt0 : 16; 1088*437bfbebSnyanmisaka RK_U32 cmv_th_rt_cnt1 : 16; 1089*437bfbebSnyanmisaka } st_cmv_rt_num0; 1090*437bfbebSnyanmisaka 1091*437bfbebSnyanmisaka /* 0x0000410c reg4163 */ 1092*437bfbebSnyanmisaka struct { 1093*437bfbebSnyanmisaka RK_U32 cmv_th_rt_cnt2 : 16; 1094*437bfbebSnyanmisaka RK_U32 cmv_th_rt_cnt3 : 16; 1095*437bfbebSnyanmisaka } st_cmv_rt_num1; 1096*437bfbebSnyanmisaka 1097*437bfbebSnyanmisaka /* 0x00004110 reg4164 */ 1098*437bfbebSnyanmisaka struct { 1099*437bfbebSnyanmisaka RK_U32 cmv_th_lb_cnt0 : 16; 1100*437bfbebSnyanmisaka RK_U32 cmv_th_lb_cnt1 : 16; 1101*437bfbebSnyanmisaka } st_cmv_lb_num0; 1102*437bfbebSnyanmisaka 1103*437bfbebSnyanmisaka /* 0x00004114 reg4165 */ 1104*437bfbebSnyanmisaka struct { 1105*437bfbebSnyanmisaka RK_U32 cmv_th_lb_cnt2 : 16; 1106*437bfbebSnyanmisaka RK_U32 cmv_th_lb_cnt3 : 16; 1107*437bfbebSnyanmisaka } st_cmv_lb_num1; 1108*437bfbebSnyanmisaka 1109*437bfbebSnyanmisaka /* 0x00004118 reg4166 */ 1110*437bfbebSnyanmisaka struct { 1111*437bfbebSnyanmisaka RK_U32 cmv_th_rb_cnt0 : 16; 1112*437bfbebSnyanmisaka RK_U32 cmv_th_rb_cnt1 : 16; 1113*437bfbebSnyanmisaka } st_cmv_rb_num0; 1114*437bfbebSnyanmisaka 1115*437bfbebSnyanmisaka /* 0x0000411c reg4167 */ 1116*437bfbebSnyanmisaka struct { 1117*437bfbebSnyanmisaka RK_U32 cmv_th_rb_cnt2 : 16; 1118*437bfbebSnyanmisaka RK_U32 cmv_th_rb_cnt3 : 16; 1119*437bfbebSnyanmisaka } st_cmv_rb_num1; 1120*437bfbebSnyanmisaka 1121*437bfbebSnyanmisaka /* 0x00004120 reg4168 */ 1122*437bfbebSnyanmisaka struct { 1123*437bfbebSnyanmisaka RK_U32 org_y_r_max_value : 8; 1124*437bfbebSnyanmisaka RK_U32 org_y_r_min_value : 8; 1125*437bfbebSnyanmisaka RK_U32 org_u_g_max_value : 8; 1126*437bfbebSnyanmisaka RK_U32 org_u_g_min_value : 8; 1127*437bfbebSnyanmisaka } st_vsp_org_value0; 1128*437bfbebSnyanmisaka 1129*437bfbebSnyanmisaka /* 0x00004124 reg4169 */ 1130*437bfbebSnyanmisaka struct { 1131*437bfbebSnyanmisaka RK_U32 org_v_b_max_value : 8; 1132*437bfbebSnyanmisaka RK_U32 org_v_b_min_value : 8; 1133*437bfbebSnyanmisaka RK_U32 reserved : 16; 1134*437bfbebSnyanmisaka } st_vsp_org_value1; 1135*437bfbebSnyanmisaka 1136*437bfbebSnyanmisaka /* 0x00004128 reg4170 */ 1137*437bfbebSnyanmisaka struct { 1138*437bfbebSnyanmisaka RK_U32 jpeg_y_r_max_value : 8; 1139*437bfbebSnyanmisaka RK_U32 jpeg_y_r_min_value : 8; 1140*437bfbebSnyanmisaka RK_U32 jpeg_u_g_max_value : 8; 1141*437bfbebSnyanmisaka RK_U32 jpeg_u_g_min_value : 8; 1142*437bfbebSnyanmisaka } st_vsp_jpeg_value0; 1143*437bfbebSnyanmisaka 1144*437bfbebSnyanmisaka /* 0x0000412c reg4171 */ 1145*437bfbebSnyanmisaka struct { 1146*437bfbebSnyanmisaka RK_U32 jpeg_v_b_max_value : 8; 1147*437bfbebSnyanmisaka RK_U32 jpeg_v_b_min_value : 8; 1148*437bfbebSnyanmisaka RK_U32 reserved : 16; 1149*437bfbebSnyanmisaka } st_vsp_jpeg_value1; 1150*437bfbebSnyanmisaka 1151*437bfbebSnyanmisaka /* 0x4130 - 0x417c */ 1152*437bfbebSnyanmisaka RK_U32 reserved4172_4191[20]; 1153*437bfbebSnyanmisaka 1154*437bfbebSnyanmisaka /* 0x00004180 reg4192 - 0x0000424c reg4243*/ 1155*437bfbebSnyanmisaka RK_U32 st_b8_qp[52]; 1156*437bfbebSnyanmisaka 1157*437bfbebSnyanmisaka } vepu540c_status; 1158*437bfbebSnyanmisaka 1159*437bfbebSnyanmisaka /* class: dbg/st/axipn */ 1160*437bfbebSnyanmisaka /* 0x00005000 reg5120 - 0x00005354 reg5333*/ 1161*437bfbebSnyanmisaka typedef struct Vepu540cDbg_t { 1162*437bfbebSnyanmisaka struct { 1163*437bfbebSnyanmisaka RK_U32 pp0_tout : 1; 1164*437bfbebSnyanmisaka RK_U32 pp1_out : 1; 1165*437bfbebSnyanmisaka RK_U32 cme_tout : 1; 1166*437bfbebSnyanmisaka RK_U32 swn_tout : 1; 1167*437bfbebSnyanmisaka RK_U32 rfme_tout : 1; 1168*437bfbebSnyanmisaka RK_U32 pren_tout : 1; 1169*437bfbebSnyanmisaka RK_U32 rdo_tout : 1; 1170*437bfbebSnyanmisaka RK_U32 lpf_tout : 1; 1171*437bfbebSnyanmisaka RK_U32 etpy_tout : 1; 1172*437bfbebSnyanmisaka RK_U32 jpeg_tout : 1; 1173*437bfbebSnyanmisaka RK_U32 frm_tout : 1; 1174*437bfbebSnyanmisaka RK_U32 reserved : 21; 1175*437bfbebSnyanmisaka } st_wdg; 1176*437bfbebSnyanmisaka 1177*437bfbebSnyanmisaka /* 0x00005004 reg5121 */ 1178*437bfbebSnyanmisaka struct { 1179*437bfbebSnyanmisaka RK_U32 pp0_wrk : 1; 1180*437bfbebSnyanmisaka RK_U32 pp1_wrk : 1; 1181*437bfbebSnyanmisaka RK_U32 cme_wrk : 1; 1182*437bfbebSnyanmisaka RK_U32 swn_wrk : 1; 1183*437bfbebSnyanmisaka RK_U32 rfme_wrk : 1; 1184*437bfbebSnyanmisaka RK_U32 pren_wrk : 1; 1185*437bfbebSnyanmisaka RK_U32 rdo_wrk : 1; 1186*437bfbebSnyanmisaka RK_U32 lpf_wrk : 1; 1187*437bfbebSnyanmisaka RK_U32 etpy_wrk : 1; 1188*437bfbebSnyanmisaka RK_U32 jpeg_wrk : 1; 1189*437bfbebSnyanmisaka RK_U32 frm_wrk : 1; 1190*437bfbebSnyanmisaka RK_U32 reserved : 21; 1191*437bfbebSnyanmisaka } st_ppl; 1192*437bfbebSnyanmisaka 1193*437bfbebSnyanmisaka /* 0x00005008 reg5122 */ 1194*437bfbebSnyanmisaka struct { 1195*437bfbebSnyanmisaka RK_U32 vsp0_pos_x : 16; 1196*437bfbebSnyanmisaka RK_U32 vsp0_pos_y : 16; 1197*437bfbebSnyanmisaka } st_ppl_pos_vsp0; 1198*437bfbebSnyanmisaka 1199*437bfbebSnyanmisaka /* 0x0000500c reg5123 */ 1200*437bfbebSnyanmisaka struct { 1201*437bfbebSnyanmisaka RK_U32 vsp1_pos_x : 16; 1202*437bfbebSnyanmisaka RK_U32 vsp1_pos_y : 16; 1203*437bfbebSnyanmisaka } st_ppl_pos_vsp1; 1204*437bfbebSnyanmisaka 1205*437bfbebSnyanmisaka /* 0x00005010 reg5124 */ 1206*437bfbebSnyanmisaka struct { 1207*437bfbebSnyanmisaka RK_U32 cme_pos_x : 16; 1208*437bfbebSnyanmisaka RK_U32 cme_pos_y : 16; 1209*437bfbebSnyanmisaka } st_ppl_pos_cme; 1210*437bfbebSnyanmisaka 1211*437bfbebSnyanmisaka /* 0x00005014 reg5125 */ 1212*437bfbebSnyanmisaka struct { 1213*437bfbebSnyanmisaka RK_U32 swin_pos_x : 16; 1214*437bfbebSnyanmisaka RK_U32 swin_pos_y : 16; 1215*437bfbebSnyanmisaka } st_ppl_pos_swin; 1216*437bfbebSnyanmisaka 1217*437bfbebSnyanmisaka /* 0x00005018 reg5126 */ 1218*437bfbebSnyanmisaka struct { 1219*437bfbebSnyanmisaka RK_U32 rfme_pos_x : 16; 1220*437bfbebSnyanmisaka RK_U32 rfme_pos_y : 16; 1221*437bfbebSnyanmisaka } st_ppl_pos_rfme; 1222*437bfbebSnyanmisaka 1223*437bfbebSnyanmisaka /* 0x0000501c reg5127 */ 1224*437bfbebSnyanmisaka struct { 1225*437bfbebSnyanmisaka RK_U32 pren_pos_x : 16; 1226*437bfbebSnyanmisaka RK_U32 pren_pos_y : 16; 1227*437bfbebSnyanmisaka } st_ppl_pos_pren; 1228*437bfbebSnyanmisaka 1229*437bfbebSnyanmisaka /* 0x00005020 reg5128 */ 1230*437bfbebSnyanmisaka struct { 1231*437bfbebSnyanmisaka RK_U32 rdo_pos_x : 16; 1232*437bfbebSnyanmisaka RK_U32 rdo_pos_y : 16; 1233*437bfbebSnyanmisaka } st_ppl_pos_rdo; 1234*437bfbebSnyanmisaka 1235*437bfbebSnyanmisaka /* 0x00005024 reg5129 */ 1236*437bfbebSnyanmisaka struct { 1237*437bfbebSnyanmisaka RK_U32 lpf_pos_x : 16; 1238*437bfbebSnyanmisaka RK_U32 lpf_pos_y : 16; 1239*437bfbebSnyanmisaka } st_ppl_pos_lpf; 1240*437bfbebSnyanmisaka 1241*437bfbebSnyanmisaka /* 0x00005028 reg5130 */ 1242*437bfbebSnyanmisaka struct { 1243*437bfbebSnyanmisaka RK_U32 etpy_pos_x : 16; 1244*437bfbebSnyanmisaka RK_U32 etpy_pos_y : 16; 1245*437bfbebSnyanmisaka } st_ppl_pos_etpy; 1246*437bfbebSnyanmisaka 1247*437bfbebSnyanmisaka /* 0x0000502c reg5131 */ 1248*437bfbebSnyanmisaka struct { 1249*437bfbebSnyanmisaka RK_U32 vsp0_pos_x : 16; 1250*437bfbebSnyanmisaka RK_U32 vsp0_pos_y : 16; 1251*437bfbebSnyanmisaka } st_ppl_pos_jsp0; 1252*437bfbebSnyanmisaka 1253*437bfbebSnyanmisaka /* 0x00005030 reg5132 */ 1254*437bfbebSnyanmisaka struct { 1255*437bfbebSnyanmisaka RK_U32 vsp1_pos_x : 16; 1256*437bfbebSnyanmisaka RK_U32 vsp1_pos_y : 16; 1257*437bfbebSnyanmisaka } st_ppl_pos_jsp1; 1258*437bfbebSnyanmisaka 1259*437bfbebSnyanmisaka /* 0x00005034 reg5133 */ 1260*437bfbebSnyanmisaka struct { 1261*437bfbebSnyanmisaka RK_U32 jpeg_pos_x : 16; 1262*437bfbebSnyanmisaka RK_U32 jpeg_pos_y : 16; 1263*437bfbebSnyanmisaka } st_ppl_pos_jpeg; 1264*437bfbebSnyanmisaka 1265*437bfbebSnyanmisaka /* 0x5038 - 0x503c */ 1266*437bfbebSnyanmisaka RK_U32 reserved5134_5135[2]; 1267*437bfbebSnyanmisaka 1268*437bfbebSnyanmisaka /* 0x00005040 reg5136 */ 1269*437bfbebSnyanmisaka struct { 1270*437bfbebSnyanmisaka RK_U32 sli_num : 15; 1271*437bfbebSnyanmisaka RK_U32 reserved : 17; 1272*437bfbebSnyanmisaka } st_sli_num; 1273*437bfbebSnyanmisaka 1274*437bfbebSnyanmisaka /* 0x5044 - 0x50fc */ 1275*437bfbebSnyanmisaka RK_U32 reserved5137_5183[47]; 1276*437bfbebSnyanmisaka 1277*437bfbebSnyanmisaka /* 0x00005100 reg5184 */ 1278*437bfbebSnyanmisaka struct { 1279*437bfbebSnyanmisaka RK_U32 empty_oafifo : 1; 1280*437bfbebSnyanmisaka RK_U32 full_cmd_oafifo : 1; 1281*437bfbebSnyanmisaka RK_U32 full_data_oafifo : 1; 1282*437bfbebSnyanmisaka RK_U32 empty_iafifo : 1; 1283*437bfbebSnyanmisaka 1284*437bfbebSnyanmisaka RK_U32 full_cmd_iafifo : 1; 1285*437bfbebSnyanmisaka RK_U32 full_info_iafifo : 1; 1286*437bfbebSnyanmisaka RK_U32 fbd_brq_st : 4; 1287*437bfbebSnyanmisaka RK_U32 fbd_hdr_vld : 1; 1288*437bfbebSnyanmisaka RK_U32 fbd_bmng_end : 1; 1289*437bfbebSnyanmisaka 1290*437bfbebSnyanmisaka RK_U32 nfbd_req_st : 4; 1291*437bfbebSnyanmisaka RK_U32 acc_axi_cmd : 8; 1292*437bfbebSnyanmisaka RK_U32 reserved : 8; 1293*437bfbebSnyanmisaka } dbg_pp_st; 1294*437bfbebSnyanmisaka 1295*437bfbebSnyanmisaka /* 0x00005104 reg5185 */ 1296*437bfbebSnyanmisaka struct { 1297*437bfbebSnyanmisaka RK_U32 r_ena_lambd : 1; 1298*437bfbebSnyanmisaka RK_U32 r_fst_swinw_end : 1; 1299*437bfbebSnyanmisaka RK_U32 r_swinw_end : 1; 1300*437bfbebSnyanmisaka RK_U32 r_cnt_swinw : 1; 1301*437bfbebSnyanmisaka 1302*437bfbebSnyanmisaka RK_U32 r_dspw_end : 1; 1303*437bfbebSnyanmisaka RK_U32 r_dspw_cnt : 1; 1304*437bfbebSnyanmisaka RK_U32 i_sjgen_work : 1; 1305*437bfbebSnyanmisaka RK_U32 r_end_rspgen : 1; 1306*437bfbebSnyanmisaka 1307*437bfbebSnyanmisaka RK_U32 r_cost_gate : 1; 1308*437bfbebSnyanmisaka RK_U32 r_ds_gate : 1; 1309*437bfbebSnyanmisaka RK_U32 r_mvp_gate : 1; 1310*437bfbebSnyanmisaka RK_U32 i_smvp_arrdy : 1; 1311*437bfbebSnyanmisaka 1312*437bfbebSnyanmisaka RK_U32 i_smvp_arvld : 1; 1313*437bfbebSnyanmisaka RK_U32 i_stptr_wrdy : 1; 1314*437bfbebSnyanmisaka RK_U32 i_stptr_wvld : 1; 1315*437bfbebSnyanmisaka RK_U32 i_rdy_atf : 1; 1316*437bfbebSnyanmisaka 1317*437bfbebSnyanmisaka RK_U32 i_vld_atf : 1; 1318*437bfbebSnyanmisaka RK_U32 i_rdy_bmv16 : 1; 1319*437bfbebSnyanmisaka RK_U32 i_vld_bmv16 : 1; 1320*437bfbebSnyanmisaka RK_U32 i_wr_dsp : 1; 1321*437bfbebSnyanmisaka 1322*437bfbebSnyanmisaka RK_U32 i_rdy_dsp : 1; 1323*437bfbebSnyanmisaka RK_U32 i_vld_dsp : 1; 1324*437bfbebSnyanmisaka RK_U32 r_rdy_org : 1; 1325*437bfbebSnyanmisaka RK_U32 i_vld_org : 1; 1326*437bfbebSnyanmisaka 1327*437bfbebSnyanmisaka RK_U32 i_rdy_state : 1; 1328*437bfbebSnyanmisaka RK_U32 i_vld_state : 1; 1329*437bfbebSnyanmisaka RK_U32 i_rdy_madp : 1; 1330*437bfbebSnyanmisaka RK_U32 i_vld_madp : 1; 1331*437bfbebSnyanmisaka 1332*437bfbebSnyanmisaka RK_U32 i_rdy_diff : 1; 1333*437bfbebSnyanmisaka RK_U32 i_vld_diff : 1; 1334*437bfbebSnyanmisaka RK_U32 reserved : 2; 1335*437bfbebSnyanmisaka } dbg_cime_st; 1336*437bfbebSnyanmisaka 1337*437bfbebSnyanmisaka /* 0x00005108 reg5186 */ 1338*437bfbebSnyanmisaka RK_U32 swin_dbg_inf; 1339*437bfbebSnyanmisaka 1340*437bfbebSnyanmisaka /* 0x0000510c reg5187 */ 1341*437bfbebSnyanmisaka struct { 1342*437bfbebSnyanmisaka RK_U32 bbrq_cmps_left_len2 : 1; 1343*437bfbebSnyanmisaka RK_U32 bbrq_cmps_left_len1 : 1; 1344*437bfbebSnyanmisaka RK_U32 cmps_left_len0 : 1; 1345*437bfbebSnyanmisaka RK_U32 bbrq_rdy2 : 1; 1346*437bfbebSnyanmisaka RK_U32 dcps_vld2 : 1; 1347*437bfbebSnyanmisaka RK_U32 bbrq_rdy1 : 1; 1348*437bfbebSnyanmisaka RK_U32 dcps_vld1 : 1; 1349*437bfbebSnyanmisaka RK_U32 bbrq_rdy0 : 1; 1350*437bfbebSnyanmisaka RK_U32 dcps_vld0 : 1; 1351*437bfbebSnyanmisaka RK_U32 hb_rdy2 : 1; 1352*437bfbebSnyanmisaka RK_U32 bbrq_vld2 : 1; 1353*437bfbebSnyanmisaka RK_U32 hb_rdy1 : 1; 1354*437bfbebSnyanmisaka RK_U32 bbrq_vld1 : 1; 1355*437bfbebSnyanmisaka RK_U32 hb_rdy0 : 1; 1356*437bfbebSnyanmisaka RK_U32 bbrq_vld0 : 1; 1357*437bfbebSnyanmisaka RK_U32 idle_msb2 : 1; 1358*437bfbebSnyanmisaka RK_U32 idle_msb1 : 1; 1359*437bfbebSnyanmisaka RK_U32 idle_msb0 : 1; 1360*437bfbebSnyanmisaka RK_U32 cur_state_dcps : 1; 1361*437bfbebSnyanmisaka RK_U32 cur_state_bbrq : 1; 1362*437bfbebSnyanmisaka RK_U32 cur_state_hb : 1; 1363*437bfbebSnyanmisaka RK_U32 cke_bbrq_dcps : 1; 1364*437bfbebSnyanmisaka RK_U32 cke_dcps : 1; 1365*437bfbebSnyanmisaka RK_U32 cke_bbrq : 1; 1366*437bfbebSnyanmisaka RK_U32 rdy_lwcd_rsp : 1; 1367*437bfbebSnyanmisaka RK_U32 vld_lwcd_rsp : 1; 1368*437bfbebSnyanmisaka RK_U32 rdy_lwcd_req : 1; 1369*437bfbebSnyanmisaka RK_U32 vld_lwcd_req : 1; 1370*437bfbebSnyanmisaka RK_U32 rdy_lwrsp : 1; 1371*437bfbebSnyanmisaka RK_U32 vld_lwrsp : 1; 1372*437bfbebSnyanmisaka RK_U32 rdy_lwreq : 1; 1373*437bfbebSnyanmisaka RK_U32 vld_lwreq : 1; 1374*437bfbebSnyanmisaka } dbg_fbd_hhit0; 1375*437bfbebSnyanmisaka 1376*437bfbebSnyanmisaka /* 0x5110 */ 1377*437bfbebSnyanmisaka RK_U32 reserved_5188; 1378*437bfbebSnyanmisaka 1379*437bfbebSnyanmisaka /* 0x00005114 reg5189 */ 1380*437bfbebSnyanmisaka struct { 1381*437bfbebSnyanmisaka RK_U32 mscnt_clr : 1; 1382*437bfbebSnyanmisaka RK_U32 reserved : 31; 1383*437bfbebSnyanmisaka } dbg_cach_clr; 1384*437bfbebSnyanmisaka 1385*437bfbebSnyanmisaka /* 0x00005118 reg5190 */ 1386*437bfbebSnyanmisaka RK_U32 l1_mis; 1387*437bfbebSnyanmisaka 1388*437bfbebSnyanmisaka /* 0x0000511c reg5191 */ 1389*437bfbebSnyanmisaka RK_U32 l2_mis; 1390*437bfbebSnyanmisaka 1391*437bfbebSnyanmisaka /* 0x00005120 reg5192 */ 1392*437bfbebSnyanmisaka RK_U32 rdo_st; 1393*437bfbebSnyanmisaka 1394*437bfbebSnyanmisaka /* 0x00005124 reg5193 */ 1395*437bfbebSnyanmisaka RK_U32 rdo_if; 1396*437bfbebSnyanmisaka 1397*437bfbebSnyanmisaka /* 0x00005128 reg5194 */ 1398*437bfbebSnyanmisaka struct { 1399*437bfbebSnyanmisaka RK_U32 h264_sh_st_cs : 4; 1400*437bfbebSnyanmisaka RK_U32 rsd_st_cs : 4; 1401*437bfbebSnyanmisaka RK_U32 h264_sd_st_cs : 5; 1402*437bfbebSnyanmisaka RK_U32 etpy_rdy : 1; 1403*437bfbebSnyanmisaka RK_U32 reserved : 18; 1404*437bfbebSnyanmisaka } dbg_etpy; 1405*437bfbebSnyanmisaka 1406*437bfbebSnyanmisaka /* 0x0000512c reg5195 */ 1407*437bfbebSnyanmisaka struct { 1408*437bfbebSnyanmisaka RK_U32 crdy_ppr : 1; 1409*437bfbebSnyanmisaka RK_U32 cvld_ppr : 1; 1410*437bfbebSnyanmisaka RK_U32 drdy_ppw : 1; 1411*437bfbebSnyanmisaka RK_U32 dvld_ppw : 1; 1412*437bfbebSnyanmisaka RK_U32 crdy_ppw : 1; 1413*437bfbebSnyanmisaka RK_U32 cvld_ppw : 1; 1414*437bfbebSnyanmisaka RK_U32 reserved : 26; 1415*437bfbebSnyanmisaka } dbg_dma_pp; 1416*437bfbebSnyanmisaka 1417*437bfbebSnyanmisaka /* 0x00005130 reg5196 */ 1418*437bfbebSnyanmisaka struct { 1419*437bfbebSnyanmisaka RK_U32 axi_wrdy : 8; 1420*437bfbebSnyanmisaka RK_U32 axi_wvld : 8; 1421*437bfbebSnyanmisaka RK_U32 axi_awrdy : 8; 1422*437bfbebSnyanmisaka RK_U32 axi_awvld : 8; 1423*437bfbebSnyanmisaka } dbg_dma_w; 1424*437bfbebSnyanmisaka 1425*437bfbebSnyanmisaka /* 0x00005134 reg5197 */ 1426*437bfbebSnyanmisaka struct { 1427*437bfbebSnyanmisaka RK_U32 axi_otsd_read : 16; 1428*437bfbebSnyanmisaka RK_U32 axi_arrdy : 7; 1429*437bfbebSnyanmisaka RK_U32 reserved : 1; 1430*437bfbebSnyanmisaka RK_U32 axi_arvld : 7; 1431*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 1432*437bfbebSnyanmisaka } dbg_dma_ar; 1433*437bfbebSnyanmisaka 1434*437bfbebSnyanmisaka /* 0x00005138 reg5198 */ 1435*437bfbebSnyanmisaka struct { 1436*437bfbebSnyanmisaka RK_U32 dfifo0_lvl : 4; 1437*437bfbebSnyanmisaka RK_U32 dfifo1_lvl : 4; 1438*437bfbebSnyanmisaka RK_U32 dfifo2_lvl : 4; 1439*437bfbebSnyanmisaka RK_U32 dfifo3_lvl : 4; 1440*437bfbebSnyanmisaka RK_U32 dfifo4_lvl : 4; 1441*437bfbebSnyanmisaka RK_U32 dfifo5_lvl : 4; 1442*437bfbebSnyanmisaka RK_U32 reserved : 6; 1443*437bfbebSnyanmisaka RK_U32 cmd_vld : 1; 1444*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 1445*437bfbebSnyanmisaka } dbg_dma_r; 1446*437bfbebSnyanmisaka 1447*437bfbebSnyanmisaka /* 0x0000513c reg5199 */ 1448*437bfbebSnyanmisaka struct { 1449*437bfbebSnyanmisaka RK_U32 meiw_busy : 1; 1450*437bfbebSnyanmisaka RK_U32 dspw_busy : 1; 1451*437bfbebSnyanmisaka RK_U32 bsw_rdy : 1; 1452*437bfbebSnyanmisaka RK_U32 bsw_flsh : 1; 1453*437bfbebSnyanmisaka RK_U32 bsw_busy : 1; 1454*437bfbebSnyanmisaka RK_U32 crpw_busy : 1; 1455*437bfbebSnyanmisaka RK_U32 lktw_busy : 1; 1456*437bfbebSnyanmisaka RK_U32 lpfw_busy : 1; 1457*437bfbebSnyanmisaka RK_U32 roir_busy : 1; 1458*437bfbebSnyanmisaka RK_U32 dspr_crdy : 1; 1459*437bfbebSnyanmisaka RK_U32 dspr_cvld : 1; 1460*437bfbebSnyanmisaka RK_U32 lktr_busy : 1; 1461*437bfbebSnyanmisaka RK_U32 lpfr_otsd : 4; 1462*437bfbebSnyanmisaka RK_U32 rfpr_otsd : 12; 1463*437bfbebSnyanmisaka RK_U32 dspr_otsd : 4; 1464*437bfbebSnyanmisaka } dbg_dma_dbg0; 1465*437bfbebSnyanmisaka 1466*437bfbebSnyanmisaka /* 0x00005140 reg5200 */ 1467*437bfbebSnyanmisaka struct { 1468*437bfbebSnyanmisaka RK_U32 cpip_st : 2; 1469*437bfbebSnyanmisaka RK_U32 mvp_st : 3; 1470*437bfbebSnyanmisaka RK_U32 qpd6_st : 2; 1471*437bfbebSnyanmisaka RK_U32 cmd_st : 2; 1472*437bfbebSnyanmisaka RK_U32 reserved : 23; 1473*437bfbebSnyanmisaka } dbg_dma_dbg1; 1474*437bfbebSnyanmisaka 1475*437bfbebSnyanmisaka /* 0x00005144 reg5201 */ 1476*437bfbebSnyanmisaka struct { 1477*437bfbebSnyanmisaka RK_U32 cme_byps : 3; 1478*437bfbebSnyanmisaka RK_U32 reserved : 29; 1479*437bfbebSnyanmisaka } dbg_tctrl; 1480*437bfbebSnyanmisaka 1481*437bfbebSnyanmisaka /* 0x5148 */ 1482*437bfbebSnyanmisaka RK_U32 reserved_5202; 1483*437bfbebSnyanmisaka 1484*437bfbebSnyanmisaka /* 0x0000514c reg5203 */ 1485*437bfbebSnyanmisaka struct { 1486*437bfbebSnyanmisaka RK_U32 lpf_work : 1; 1487*437bfbebSnyanmisaka RK_U32 rdo_par_nrdy : 1; 1488*437bfbebSnyanmisaka RK_U32 rdo_rcn_nrdy : 1; 1489*437bfbebSnyanmisaka RK_U32 lpf_rcn_rdy : 1; 1490*437bfbebSnyanmisaka RK_U32 dblk_work : 1; 1491*437bfbebSnyanmisaka RK_U32 sao_work : 1; 1492*437bfbebSnyanmisaka RK_U32 reserved : 18; 1493*437bfbebSnyanmisaka RK_U32 tile_bdry_read : 1; 1494*437bfbebSnyanmisaka RK_U32 tile_bdry_write : 1; 1495*437bfbebSnyanmisaka RK_U32 tile_bdry_rrdy : 1; 1496*437bfbebSnyanmisaka RK_U32 rdo_read_tile_bdry : 1; 1497*437bfbebSnyanmisaka RK_U32 rdo_write_tile_bdry : 1; 1498*437bfbebSnyanmisaka RK_U32 reserved1 : 3; 1499*437bfbebSnyanmisaka } dbg_lpf; 1500*437bfbebSnyanmisaka 1501*437bfbebSnyanmisaka /* 0x00005150 reg5204 */ 1502*437bfbebSnyanmisaka RK_U32 dbg_topc_lpfr; 1503*437bfbebSnyanmisaka 1504*437bfbebSnyanmisaka /* 0x00005154 reg5205 */ 1505*437bfbebSnyanmisaka RK_U32 dbg0_cache; 1506*437bfbebSnyanmisaka 1507*437bfbebSnyanmisaka /* 0x00005158 reg5206 */ 1508*437bfbebSnyanmisaka RK_U32 dbg1_cache; 1509*437bfbebSnyanmisaka 1510*437bfbebSnyanmisaka /* 0x0000515c reg5207 */ 1511*437bfbebSnyanmisaka RK_U32 dbg2_cache; 1512*437bfbebSnyanmisaka 1513*437bfbebSnyanmisaka /* 0x00005160 reg5208 */ 1514*437bfbebSnyanmisaka struct { 1515*437bfbebSnyanmisaka RK_U32 ebuf_diff_cmd : 8; 1516*437bfbebSnyanmisaka RK_U32 lbuf_lpf_ncnt : 7; 1517*437bfbebSnyanmisaka RK_U32 lbuf_lpf_cien : 1; 1518*437bfbebSnyanmisaka RK_U32 lbuf_rdo_ncnt : 7; 1519*437bfbebSnyanmisaka RK_U32 lbuf_rdo_cien : 1; 1520*437bfbebSnyanmisaka RK_U32 reserved : 8; 1521*437bfbebSnyanmisaka } dbg_lbuf0; 1522*437bfbebSnyanmisaka 1523*437bfbebSnyanmisaka /* 0x00005164 reg5209 */ 1524*437bfbebSnyanmisaka struct { 1525*437bfbebSnyanmisaka RK_U32 rvld_ebfr : 1; 1526*437bfbebSnyanmisaka RK_U32 rrdy_ebfr : 1; 1527*437bfbebSnyanmisaka RK_U32 arvld_ebfr : 1; 1528*437bfbebSnyanmisaka RK_U32 arrdy_ebfr : 1; 1529*437bfbebSnyanmisaka RK_U32 wvld_ebfw : 1; 1530*437bfbebSnyanmisaka RK_U32 wrdy_ebfw : 1; 1531*437bfbebSnyanmisaka RK_U32 awvld_ebfw : 1; 1532*437bfbebSnyanmisaka RK_U32 awrdy_ebfw : 1; 1533*437bfbebSnyanmisaka RK_U32 lpf_lbuf_rvld : 1; 1534*437bfbebSnyanmisaka RK_U32 lpf_lbuf_rrdy : 1; 1535*437bfbebSnyanmisaka RK_U32 lpf_lbuf_wvld : 1; 1536*437bfbebSnyanmisaka RK_U32 lpf_lbuf_wrdy : 1; 1537*437bfbebSnyanmisaka RK_U32 rdo_lbuf_rvld : 1; 1538*437bfbebSnyanmisaka RK_U32 rdo_lbuf_rrdy : 1; 1539*437bfbebSnyanmisaka RK_U32 rdo_lbuf_wvld : 1; 1540*437bfbebSnyanmisaka RK_U32 rdo_lbuf_wrdy : 1; 1541*437bfbebSnyanmisaka RK_U32 fme_lbuf_rvld : 1; 1542*437bfbebSnyanmisaka RK_U32 fme_lbuf_rrdy : 1; 1543*437bfbebSnyanmisaka RK_U32 cme_lbuf_rvld : 1; 1544*437bfbebSnyanmisaka RK_U32 cme_lbuf_rrdy : 1; 1545*437bfbebSnyanmisaka RK_U32 smear_lbuf_rvld : 1; 1546*437bfbebSnyanmisaka RK_U32 smear_lbuf_rrdy : 1; 1547*437bfbebSnyanmisaka RK_U32 smear_lbuf_wvld : 1; 1548*437bfbebSnyanmisaka RK_U32 smear_lbuf_wrdy : 1; 1549*437bfbebSnyanmisaka RK_U32 rdo_lbufw_flag : 1; 1550*437bfbebSnyanmisaka RK_U32 rdo_lbufr_flag : 1; 1551*437bfbebSnyanmisaka RK_U32 cme_lbufr_flag : 1; 1552*437bfbebSnyanmisaka RK_U32 reserved : 5; 1553*437bfbebSnyanmisaka } dbg_lbuf1; 1554*437bfbebSnyanmisaka 1555*437bfbebSnyanmisaka /* 0x00005168 reg5210 */ 1556*437bfbebSnyanmisaka struct { 1557*437bfbebSnyanmisaka RK_U32 vinf_lcnt_dvbm : 14; 1558*437bfbebSnyanmisaka RK_U32 vinf_fcnt_dvbm : 8; 1559*437bfbebSnyanmisaka RK_U32 vinf_rdy_dvbm : 1; 1560*437bfbebSnyanmisaka RK_U32 vinf_vld_dvbm : 1; 1561*437bfbebSnyanmisaka RK_U32 st_cur_vinf : 3; 1562*437bfbebSnyanmisaka RK_U32 st_cur_vrsp : 2; 1563*437bfbebSnyanmisaka RK_U32 vcnt_req_sync : 1; 1564*437bfbebSnyanmisaka RK_U32 vcnt_ack_dvbm : 1; 1565*437bfbebSnyanmisaka RK_U32 vcnt_req_dvbm : 1; 1566*437bfbebSnyanmisaka } dbg_dvbm0; 1567*437bfbebSnyanmisaka 1568*437bfbebSnyanmisaka /* 0x0000516c reg5211 */ 1569*437bfbebSnyanmisaka struct { 1570*437bfbebSnyanmisaka RK_U32 vrsp_lcnt_dvbm : 14; 1571*437bfbebSnyanmisaka RK_U32 vrsp_fcnt_dvbm : 8; 1572*437bfbebSnyanmisaka RK_U32 vrsp_tgl_dvbm : 1; 1573*437bfbebSnyanmisaka RK_U32 reserved : 9; 1574*437bfbebSnyanmisaka } dbg_dvbm1; 1575*437bfbebSnyanmisaka 1576*437bfbebSnyanmisaka /* 0x00005170 reg5212 */ 1577*437bfbebSnyanmisaka struct { 1578*437bfbebSnyanmisaka RK_U32 dvbm_src_lcnt : 12; 1579*437bfbebSnyanmisaka RK_U32 jbuf_dvbm_rdy : 1; 1580*437bfbebSnyanmisaka RK_U32 vbuf_dvbm_rdy : 1; 1581*437bfbebSnyanmisaka RK_U32 work_dvbm_rdy : 1; 1582*437bfbebSnyanmisaka RK_U32 fmch_dvbm_rdy : 1; 1583*437bfbebSnyanmisaka RK_U32 vrsp_lcnt_vsld : 14; 1584*437bfbebSnyanmisaka RK_U32 vrsp_rdy_vsld : 1; 1585*437bfbebSnyanmisaka RK_U32 vrsp_vld_vsld : 1; 1586*437bfbebSnyanmisaka } dbg_dvbm2; 1587*437bfbebSnyanmisaka 1588*437bfbebSnyanmisaka /* 0x00005174 reg5213 */ 1589*437bfbebSnyanmisaka struct { 1590*437bfbebSnyanmisaka RK_U32 vsp_ctu_flag : 4; 1591*437bfbebSnyanmisaka RK_U32 reserved : 4; 1592*437bfbebSnyanmisaka RK_U32 cime_ctu_flag : 8; 1593*437bfbebSnyanmisaka RK_U32 swin_ctu_flag : 2; 1594*437bfbebSnyanmisaka RK_U32 rfme_ctu_flag : 6; 1595*437bfbebSnyanmisaka RK_U32 pnra_ctu_flag : 1; 1596*437bfbebSnyanmisaka RK_U32 rdo_ctu_flg0 : 7; 1597*437bfbebSnyanmisaka } dbg_tctrl0; 1598*437bfbebSnyanmisaka 1599*437bfbebSnyanmisaka /* 0x00005178 reg5214 */ 1600*437bfbebSnyanmisaka struct { 1601*437bfbebSnyanmisaka RK_U32 rdo_ctu_flg1 : 8; 1602*437bfbebSnyanmisaka RK_U32 jpeg_ctu_flag : 3; 1603*437bfbebSnyanmisaka RK_U32 lpf_ctu_flag : 1; 1604*437bfbebSnyanmisaka RK_U32 reserved : 4; 1605*437bfbebSnyanmisaka RK_U32 dma_brsp_idle : 1; 1606*437bfbebSnyanmisaka RK_U32 jpeg_frm_done : 1; 1607*437bfbebSnyanmisaka RK_U32 rdo_frm_done : 1; 1608*437bfbebSnyanmisaka RK_U32 lpf_frm_done : 1; 1609*437bfbebSnyanmisaka RK_U32 ent_frm_done : 1; 1610*437bfbebSnyanmisaka RK_U32 ppl_ctrl_done : 1; 1611*437bfbebSnyanmisaka RK_U32 reserved1 : 10; 1612*437bfbebSnyanmisaka } dbg_tctrl1; 1613*437bfbebSnyanmisaka 1614*437bfbebSnyanmisaka /* 0x0000517c reg5215 */ 1615*437bfbebSnyanmisaka struct { 1616*437bfbebSnyanmisaka RK_U32 criw_frm_done : 1; 1617*437bfbebSnyanmisaka RK_U32 meiw_frm_done : 1; 1618*437bfbebSnyanmisaka RK_U32 smiw_frm_done : 1; 1619*437bfbebSnyanmisaka RK_U32 strg_rsrc_done : 1; 1620*437bfbebSnyanmisaka RK_U32 reserved : 28; 1621*437bfbebSnyanmisaka } dbg_tctrl2; 1622*437bfbebSnyanmisaka 1623*437bfbebSnyanmisaka /* 0x5180 - 0x51fc */ 1624*437bfbebSnyanmisaka RK_U32 reserved5216_5247[32]; 1625*437bfbebSnyanmisaka 1626*437bfbebSnyanmisaka /* 0x00005200 reg5248 */ 1627*437bfbebSnyanmisaka RK_U32 frame_cyc; 1628*437bfbebSnyanmisaka 1629*437bfbebSnyanmisaka /* 0x00005204 reg5249 */ 1630*437bfbebSnyanmisaka RK_U32 pp0_fcyc; 1631*437bfbebSnyanmisaka 1632*437bfbebSnyanmisaka /* 0x00005208 reg5250 */ 1633*437bfbebSnyanmisaka RK_U32 pp1_fcyc; 1634*437bfbebSnyanmisaka 1635*437bfbebSnyanmisaka /* 0x0000520c reg5251 */ 1636*437bfbebSnyanmisaka RK_U32 cme_fcyc; 1637*437bfbebSnyanmisaka 1638*437bfbebSnyanmisaka /* 0x00005210 reg5252 */ 1639*437bfbebSnyanmisaka RK_U32 ldr_fcyc; 1640*437bfbebSnyanmisaka 1641*437bfbebSnyanmisaka /* 0x00005214 reg5253 */ 1642*437bfbebSnyanmisaka RK_U32 rfme_fcyc; 1643*437bfbebSnyanmisaka 1644*437bfbebSnyanmisaka /* 0x00005218 reg5254 */ 1645*437bfbebSnyanmisaka RK_U32 fme_fcyc; 1646*437bfbebSnyanmisaka 1647*437bfbebSnyanmisaka /* 0x0000521c reg5255 */ 1648*437bfbebSnyanmisaka RK_U32 rdo_fcyc; 1649*437bfbebSnyanmisaka 1650*437bfbebSnyanmisaka /* 0x00005220 reg5256 */ 1651*437bfbebSnyanmisaka RK_U32 lpf_fcyc; 1652*437bfbebSnyanmisaka 1653*437bfbebSnyanmisaka /* 0x00005224 reg5257 */ 1654*437bfbebSnyanmisaka RK_U32 etpy_fcyc; 1655*437bfbebSnyanmisaka 1656*437bfbebSnyanmisaka /* 0x00005228 reg5258 */ 1657*437bfbebSnyanmisaka RK_U32 jpeg_fcyc; 1658*437bfbebSnyanmisaka 1659*437bfbebSnyanmisaka /* 0x522c - 0x52fc */ 1660*437bfbebSnyanmisaka RK_U32 reserved5259_5311[53]; 1661*437bfbebSnyanmisaka 1662*437bfbebSnyanmisaka /* 0x00005300 reg5312 */ 1663*437bfbebSnyanmisaka struct { 1664*437bfbebSnyanmisaka RK_U32 axip_e : 1; 1665*437bfbebSnyanmisaka RK_U32 axip_clr : 1; 1666*437bfbebSnyanmisaka RK_U32 axip_mod : 1; 1667*437bfbebSnyanmisaka RK_U32 reserved : 29; 1668*437bfbebSnyanmisaka } axip0_cmd; 1669*437bfbebSnyanmisaka 1670*437bfbebSnyanmisaka /* 0x00005304 reg5313 */ 1671*437bfbebSnyanmisaka struct { 1672*437bfbebSnyanmisaka RK_U32 axip_ltcy_id : 4; 1673*437bfbebSnyanmisaka RK_U32 axip_ltcy_thd : 12; 1674*437bfbebSnyanmisaka RK_U32 reserved : 16; 1675*437bfbebSnyanmisaka } axip0_ltcy; 1676*437bfbebSnyanmisaka 1677*437bfbebSnyanmisaka /* 0x00005308 reg5314 */ 1678*437bfbebSnyanmisaka struct { 1679*437bfbebSnyanmisaka RK_U32 axip_cnt_typ : 1; 1680*437bfbebSnyanmisaka RK_U32 axip_cnt_ddr : 2; 1681*437bfbebSnyanmisaka RK_U32 axip_cnt_rid : 5; 1682*437bfbebSnyanmisaka RK_U32 axip_cnt_wid : 5; 1683*437bfbebSnyanmisaka RK_U32 reserved : 19; 1684*437bfbebSnyanmisaka } axip0_cnt; 1685*437bfbebSnyanmisaka 1686*437bfbebSnyanmisaka /* 0x530c */ 1687*437bfbebSnyanmisaka RK_U32 reserved_5315; 1688*437bfbebSnyanmisaka 1689*437bfbebSnyanmisaka /* 0x00005310 reg5316 */ 1690*437bfbebSnyanmisaka struct { 1691*437bfbebSnyanmisaka RK_U32 axip_e : 1; 1692*437bfbebSnyanmisaka RK_U32 axip_clr : 1; 1693*437bfbebSnyanmisaka RK_U32 axip_mod : 1; 1694*437bfbebSnyanmisaka RK_U32 reserved : 29; 1695*437bfbebSnyanmisaka } axip1_cmd; 1696*437bfbebSnyanmisaka 1697*437bfbebSnyanmisaka /* 0x00005314 reg5317 */ 1698*437bfbebSnyanmisaka struct { 1699*437bfbebSnyanmisaka RK_U32 axip_ltcy_id : 4; 1700*437bfbebSnyanmisaka RK_U32 axip_ltcy_thd : 12; 1701*437bfbebSnyanmisaka RK_U32 reserved : 16; 1702*437bfbebSnyanmisaka } axip1_ltcy; 1703*437bfbebSnyanmisaka 1704*437bfbebSnyanmisaka /* 0x00005318 reg5318 */ 1705*437bfbebSnyanmisaka struct { 1706*437bfbebSnyanmisaka RK_U32 axip_cnt_typ : 1; 1707*437bfbebSnyanmisaka RK_U32 axip_cnt_ddr : 2; 1708*437bfbebSnyanmisaka RK_U32 axip_cnt_rid : 5; 1709*437bfbebSnyanmisaka RK_U32 axip_cnt_wid : 5; 1710*437bfbebSnyanmisaka RK_U32 reserved : 19; 1711*437bfbebSnyanmisaka } axip1_cnt; 1712*437bfbebSnyanmisaka 1713*437bfbebSnyanmisaka /* 0x531c */ 1714*437bfbebSnyanmisaka RK_U32 reserved_5319; 1715*437bfbebSnyanmisaka 1716*437bfbebSnyanmisaka /* 0x00005320 reg5320 */ 1717*437bfbebSnyanmisaka struct { 1718*437bfbebSnyanmisaka RK_U32 axip_max_ltcy : 16; 1719*437bfbebSnyanmisaka RK_U32 reserved : 16; 1720*437bfbebSnyanmisaka } st_axip0_maxl; 1721*437bfbebSnyanmisaka 1722*437bfbebSnyanmisaka /* 0x00005324 reg5321 */ 1723*437bfbebSnyanmisaka RK_U32 axip_num_ltcy; 1724*437bfbebSnyanmisaka 1725*437bfbebSnyanmisaka /* 0x00005328 reg5322 */ 1726*437bfbebSnyanmisaka RK_U32 axip_sum_ltcy; 1727*437bfbebSnyanmisaka 1728*437bfbebSnyanmisaka /* 0x0000532c reg5323 */ 1729*437bfbebSnyanmisaka RK_U32 axip_rbyt; 1730*437bfbebSnyanmisaka 1731*437bfbebSnyanmisaka /* 0x00005330 reg5324 */ 1732*437bfbebSnyanmisaka RK_U32 axip_wbyt; 1733*437bfbebSnyanmisaka 1734*437bfbebSnyanmisaka /* 0x00005334 reg5325 */ 1735*437bfbebSnyanmisaka RK_U32 axip_wrk_cyc; 1736*437bfbebSnyanmisaka 1737*437bfbebSnyanmisaka /* 0x5338 - 0x533c */ 1738*437bfbebSnyanmisaka RK_U32 reserved5326_5327[2]; 1739*437bfbebSnyanmisaka 1740*437bfbebSnyanmisaka /* 0x00005340 reg5328 */ 1741*437bfbebSnyanmisaka struct { 1742*437bfbebSnyanmisaka RK_U32 axip_max_ltcy : 16; 1743*437bfbebSnyanmisaka RK_U32 reserved : 16; 1744*437bfbebSnyanmisaka } st_axip1_maxl; 1745*437bfbebSnyanmisaka 1746*437bfbebSnyanmisaka /* 0x00005344 reg5329 */ 1747*437bfbebSnyanmisaka RK_U32 axip1_num_ltcy; 1748*437bfbebSnyanmisaka 1749*437bfbebSnyanmisaka /* 0x00005348 reg5330 */ 1750*437bfbebSnyanmisaka RK_U32 axip1_sum_ltcy; 1751*437bfbebSnyanmisaka 1752*437bfbebSnyanmisaka /* 0x0000534c reg5331 */ 1753*437bfbebSnyanmisaka RK_U32 axip1_rbyt; 1754*437bfbebSnyanmisaka 1755*437bfbebSnyanmisaka /* 0x00005350 reg5332 */ 1756*437bfbebSnyanmisaka RK_U32 axip1_wbyt; 1757*437bfbebSnyanmisaka 1758*437bfbebSnyanmisaka /* 0x00005354 reg5333 */ 1759*437bfbebSnyanmisaka RK_U32 axip1_wrk_cyc; 1760*437bfbebSnyanmisaka } vepu540c_dbg; 1761*437bfbebSnyanmisaka 1762*437bfbebSnyanmisaka typedef struct Vepu540cJpegCfg_t { 1763*437bfbebSnyanmisaka MppDev dev; 1764*437bfbebSnyanmisaka void *jpeg_reg_base; 1765*437bfbebSnyanmisaka void *reg_tab; 1766*437bfbebSnyanmisaka void *enc_task; 1767*437bfbebSnyanmisaka void *input_fmt; 1768*437bfbebSnyanmisaka } Vepu540cJpegCfg; 1769*437bfbebSnyanmisaka 1770*437bfbebSnyanmisaka #ifdef __cplusplus 1771*437bfbebSnyanmisaka extern "C" { 1772*437bfbebSnyanmisaka #endif 1773*437bfbebSnyanmisaka 1774*437bfbebSnyanmisaka MPP_RET vepu540c_set_jpeg_reg(Vepu540cJpegCfg *cfg); 1775*437bfbebSnyanmisaka MPP_RET vepu540c_set_roi(void *roi_reg_base, MppEncROICfg * roi, RK_S32 w, 1776*437bfbebSnyanmisaka RK_S32 h); 1777*437bfbebSnyanmisaka 1778*437bfbebSnyanmisaka #ifdef __cplusplus 1779*437bfbebSnyanmisaka } 1780*437bfbebSnyanmisaka #endif 1781*437bfbebSnyanmisaka #endif /* __VEPU540C_COMMON_H__ */ 1782