1*437bfbebSnyanmisaka /* 2*437bfbebSnyanmisaka * Copyright 2015 Rockchip Electronics Co. LTD 3*437bfbebSnyanmisaka * 4*437bfbebSnyanmisaka * Licensed under the Apache License, Version 2.0 (the "License"); 5*437bfbebSnyanmisaka * you may not use this file except in compliance with the License. 6*437bfbebSnyanmisaka * You may obtain a copy of the License at 7*437bfbebSnyanmisaka * 8*437bfbebSnyanmisaka * http://www.apache.org/licenses/LICENSE-2.0 9*437bfbebSnyanmisaka * 10*437bfbebSnyanmisaka * Unless required by applicable law or agreed to in writing, software 11*437bfbebSnyanmisaka * distributed under the License is distributed on an "AS IS" BASIS, 12*437bfbebSnyanmisaka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*437bfbebSnyanmisaka * See the License for the specific language governing permissions and 14*437bfbebSnyanmisaka * limitations under the License. 15*437bfbebSnyanmisaka */ 16*437bfbebSnyanmisaka 17*437bfbebSnyanmisaka #ifndef __HAL_AVSD_VDPU2_REG_H__ 18*437bfbebSnyanmisaka #define __HAL_AVSD_VDPU2_REG_H__ 19*437bfbebSnyanmisaka 20*437bfbebSnyanmisaka 21*437bfbebSnyanmisaka typedef struct { 22*437bfbebSnyanmisaka RK_U32 sw00_49[50]; 23*437bfbebSnyanmisaka struct { 24*437bfbebSnyanmisaka RK_U32 dec_tiled_msb : 1; 25*437bfbebSnyanmisaka RK_U32 adtion_latency : 6; 26*437bfbebSnyanmisaka RK_U32 dec_fixed_quant : 1; 27*437bfbebSnyanmisaka RK_U32 filtering_dis : 1; 28*437bfbebSnyanmisaka RK_U32 skip_mode : 1; 29*437bfbebSnyanmisaka RK_U32 dec_ascmd0_dis : 1; 30*437bfbebSnyanmisaka RK_U32 adv_pref_dis : 1; 31*437bfbebSnyanmisaka RK_U32 dec_tiled_lsb : 1; 32*437bfbebSnyanmisaka RK_U32 refbuf_thrd : 12; 33*437bfbebSnyanmisaka RK_U32 refbuf_pid : 5; 34*437bfbebSnyanmisaka RK_U32 reverse0 : 2; 35*437bfbebSnyanmisaka } sw50; 36*437bfbebSnyanmisaka struct { 37*437bfbebSnyanmisaka RK_U32 stream_len : 24; 38*437bfbebSnyanmisaka RK_U32 stream_len_ext : 1; 39*437bfbebSnyanmisaka RK_U32 init_qp : 6; 40*437bfbebSnyanmisaka RK_U32 reverse0 : 1; 41*437bfbebSnyanmisaka } sw51; 42*437bfbebSnyanmisaka struct { 43*437bfbebSnyanmisaka RK_U32 startmb_y : 8; 44*437bfbebSnyanmisaka RK_U32 startmb_x : 9; 45*437bfbebSnyanmisaka RK_U32 adv_pref_thrd : 14; 46*437bfbebSnyanmisaka RK_U32 reverse0 : 1; 47*437bfbebSnyanmisaka } sw52; 48*437bfbebSnyanmisaka struct { 49*437bfbebSnyanmisaka RK_U32 dec_fmt_sel : 4; 50*437bfbebSnyanmisaka RK_U32 reverse0 : 28; 51*437bfbebSnyanmisaka } sw53; 52*437bfbebSnyanmisaka struct { 53*437bfbebSnyanmisaka RK_U32 dec_in_endian : 1; 54*437bfbebSnyanmisaka RK_U32 dec_out_endian : 1; 55*437bfbebSnyanmisaka RK_U32 dec_in_wordsp : 1; 56*437bfbebSnyanmisaka RK_U32 dec_out_wordsp : 1; 57*437bfbebSnyanmisaka RK_U32 dec_strm_wordsp : 1; 58*437bfbebSnyanmisaka RK_U32 dec_strendian_e : 1; 59*437bfbebSnyanmisaka RK_U32 reverse0 : 26; 60*437bfbebSnyanmisaka } sw54; 61*437bfbebSnyanmisaka struct { 62*437bfbebSnyanmisaka RK_U32 dec_irq : 1; 63*437bfbebSnyanmisaka RK_U32 dec_irq_dis : 1; 64*437bfbebSnyanmisaka RK_U32 reverse0 : 2; 65*437bfbebSnyanmisaka RK_U32 dec_rdy_sts : 1; 66*437bfbebSnyanmisaka RK_U32 pp_bus_sts : 1; 67*437bfbebSnyanmisaka RK_U32 buf_emt_sts : 1; 68*437bfbebSnyanmisaka RK_U32 reverse1 : 1; 69*437bfbebSnyanmisaka RK_U32 aso_det_sts : 1; 70*437bfbebSnyanmisaka RK_U32 slice_det_sts : 1; 71*437bfbebSnyanmisaka RK_U32 bslice_det_sts : 1; 72*437bfbebSnyanmisaka RK_U32 reverse2 : 1; 73*437bfbebSnyanmisaka RK_U32 error_det_sts : 1; 74*437bfbebSnyanmisaka RK_U32 timeout_det_sts : 1; 75*437bfbebSnyanmisaka RK_U32 reverse3 : 18; 76*437bfbebSnyanmisaka } sw55; 77*437bfbebSnyanmisaka struct { 78*437bfbebSnyanmisaka RK_U32 dec_axi_id_rd : 8; 79*437bfbebSnyanmisaka RK_U32 dec_axi_id_wr : 8; 80*437bfbebSnyanmisaka RK_U32 dec_max_burlen : 5; 81*437bfbebSnyanmisaka RK_U32 bus_pos_sel : 1; 82*437bfbebSnyanmisaka RK_U32 dec_data_discd_en : 1; 83*437bfbebSnyanmisaka RK_U32 axi_sel : 1; 84*437bfbebSnyanmisaka RK_U32 reverse0 : 8; 85*437bfbebSnyanmisaka } sw56; 86*437bfbebSnyanmisaka struct { 87*437bfbebSnyanmisaka RK_U32 dec_e : 1; 88*437bfbebSnyanmisaka RK_U32 refpic_buf2_en : 1; 89*437bfbebSnyanmisaka RK_U32 dec_out_dis : 1; 90*437bfbebSnyanmisaka RK_U32 reverse0 : 1; 91*437bfbebSnyanmisaka RK_U32 dec_clkgate_en : 1; 92*437bfbebSnyanmisaka RK_U32 timeout_sts_en : 1; 93*437bfbebSnyanmisaka RK_U32 rd_cnt_tab_en : 1; 94*437bfbebSnyanmisaka RK_U32 reverse1 : 1; 95*437bfbebSnyanmisaka RK_U32 first_reftop_en : 1; 96*437bfbebSnyanmisaka RK_U32 reftop_en : 1; 97*437bfbebSnyanmisaka RK_U32 dmmv_wr_en : 1; 98*437bfbebSnyanmisaka RK_U32 reverse2 : 1; 99*437bfbebSnyanmisaka RK_U32 fwd_interlace_e : 1; 100*437bfbebSnyanmisaka RK_U32 pic_topfield_e : 1; 101*437bfbebSnyanmisaka RK_U32 pic_inter_e : 1; 102*437bfbebSnyanmisaka RK_U32 pic_b_e : 1; 103*437bfbebSnyanmisaka RK_U32 pic_fieldmode_e : 1; 104*437bfbebSnyanmisaka RK_U32 pic_interlace_e : 1; 105*437bfbebSnyanmisaka RK_U32 reverse3 : 2; 106*437bfbebSnyanmisaka RK_U32 rlc_mode_en : 1; 107*437bfbebSnyanmisaka RK_U32 addit_ch_fmt_wen : 1; 108*437bfbebSnyanmisaka RK_U32 st_code_exit : 1; 109*437bfbebSnyanmisaka RK_U32 reverse4 : 2; 110*437bfbebSnyanmisaka RK_U32 inter_dblspeed : 1; 111*437bfbebSnyanmisaka RK_U32 intra_dblspeed : 1; 112*437bfbebSnyanmisaka RK_U32 intra_dbl3t : 1; 113*437bfbebSnyanmisaka RK_U32 pref_sigchan : 1; 114*437bfbebSnyanmisaka RK_U32 cache_en : 1; 115*437bfbebSnyanmisaka RK_U32 reverse5 : 1; 116*437bfbebSnyanmisaka RK_U32 dec_timeout_mode : 1; 117*437bfbebSnyanmisaka } sw57; 118*437bfbebSnyanmisaka RK_U32 sw58; 119*437bfbebSnyanmisaka struct { 120*437bfbebSnyanmisaka RK_U32 reserve : 2; 121*437bfbebSnyanmisaka RK_U32 pred_bc_tap_0_2 : 10; 122*437bfbebSnyanmisaka RK_U32 pred_bc_tap_0_1 : 10; 123*437bfbebSnyanmisaka RK_U32 pred_bc_tap_0_0 : 10; 124*437bfbebSnyanmisaka } sw59; 125*437bfbebSnyanmisaka RK_U32 sw60; 126*437bfbebSnyanmisaka RK_U32 sw61; 127*437bfbebSnyanmisaka struct { 128*437bfbebSnyanmisaka RK_U32 dmmv_st_adr : 32; 129*437bfbebSnyanmisaka } sw62; 130*437bfbebSnyanmisaka struct { 131*437bfbebSnyanmisaka RK_U32 dec_out_st_adr : 32; 132*437bfbebSnyanmisaka } sw63; 133*437bfbebSnyanmisaka struct { 134*437bfbebSnyanmisaka RK_U32 rlc_vlc_st_adr : 32; 135*437bfbebSnyanmisaka } sw64; 136*437bfbebSnyanmisaka RK_U32 sw65_119[55]; 137*437bfbebSnyanmisaka struct { 138*437bfbebSnyanmisaka RK_U32 pic_refer_flag : 1; 139*437bfbebSnyanmisaka RK_U32 reserver0 : 6; 140*437bfbebSnyanmisaka RK_U32 mb_height_off : 4; 141*437bfbebSnyanmisaka RK_U32 pic_mb_height_p : 8; 142*437bfbebSnyanmisaka RK_U32 mb_width_off : 4; 143*437bfbebSnyanmisaka RK_U32 pic_mb_width : 9; 144*437bfbebSnyanmisaka } sw120; 145*437bfbebSnyanmisaka struct { 146*437bfbebSnyanmisaka RK_U32 reserve0 : 25; 147*437bfbebSnyanmisaka RK_U32 avs_h_ext : 1; 148*437bfbebSnyanmisaka RK_U32 reserve1 : 6; 149*437bfbebSnyanmisaka } sw121; 150*437bfbebSnyanmisaka struct { 151*437bfbebSnyanmisaka RK_U32 beta_offset : 5; 152*437bfbebSnyanmisaka RK_U32 alpha_offset : 5; 153*437bfbebSnyanmisaka RK_U32 reserver0 : 16; 154*437bfbebSnyanmisaka RK_U32 strm_start_bit : 6; 155*437bfbebSnyanmisaka } sw122; 156*437bfbebSnyanmisaka RK_U32 sw123_128[6]; 157*437bfbebSnyanmisaka struct { 158*437bfbebSnyanmisaka RK_U32 ref_invd_col_0 : 16; 159*437bfbebSnyanmisaka RK_U32 ref_invd_col_1 : 16; 160*437bfbebSnyanmisaka } sw129; 161*437bfbebSnyanmisaka struct { 162*437bfbebSnyanmisaka RK_U32 ref_invd_col_2 : 16; 163*437bfbebSnyanmisaka RK_U32 ref_invd_col_3 : 16; 164*437bfbebSnyanmisaka } sw130; 165*437bfbebSnyanmisaka union { 166*437bfbebSnyanmisaka RK_U32 refer0_base : 32; 167*437bfbebSnyanmisaka struct { //!< left move 10bit 168*437bfbebSnyanmisaka RK_U32 refer0_topc_e : 1; 169*437bfbebSnyanmisaka RK_U32 refer0_field_e : 1; 170*437bfbebSnyanmisaka }; 171*437bfbebSnyanmisaka } sw131; 172*437bfbebSnyanmisaka struct { 173*437bfbebSnyanmisaka RK_U32 ref_dist_cur_0 : 16; 174*437bfbebSnyanmisaka RK_U32 ref_dist_cur_1 : 16; 175*437bfbebSnyanmisaka } sw132; 176*437bfbebSnyanmisaka struct { 177*437bfbebSnyanmisaka RK_U32 ref_dist_cur_2 : 16; 178*437bfbebSnyanmisaka RK_U32 ref_dist_cur_3 : 16; 179*437bfbebSnyanmisaka } sw133; 180*437bfbebSnyanmisaka union { 181*437bfbebSnyanmisaka RK_U32 refer2_base : 32; 182*437bfbebSnyanmisaka struct { //!< left move 10bit 183*437bfbebSnyanmisaka RK_U32 refer2_topc_e : 1; 184*437bfbebSnyanmisaka RK_U32 refer2_field_e : 1; 185*437bfbebSnyanmisaka }; 186*437bfbebSnyanmisaka } sw134; 187*437bfbebSnyanmisaka union { 188*437bfbebSnyanmisaka RK_U32 refer3_base : 32; 189*437bfbebSnyanmisaka struct { //!< left move 10bit 190*437bfbebSnyanmisaka RK_U32 refer3_topc_e : 1; 191*437bfbebSnyanmisaka RK_U32 refer3_field_e : 1; 192*437bfbebSnyanmisaka }; 193*437bfbebSnyanmisaka } sw135; 194*437bfbebSnyanmisaka struct { 195*437bfbebSnyanmisaka RK_U32 prev_anc_type : 1; 196*437bfbebSnyanmisaka RK_U32 reserver0 : 31; 197*437bfbebSnyanmisaka } sw136; 198*437bfbebSnyanmisaka RK_U32 sw137_145[9]; 199*437bfbebSnyanmisaka struct { 200*437bfbebSnyanmisaka RK_U32 ref_invd_cur_0 : 16; 201*437bfbebSnyanmisaka RK_U32 ref_invd_cur_1 : 16; 202*437bfbebSnyanmisaka } sw146; 203*437bfbebSnyanmisaka struct { 204*437bfbebSnyanmisaka RK_U32 ref_invd_cur_2 : 16; 205*437bfbebSnyanmisaka RK_U32 ref_invd_cur_3 : 16; 206*437bfbebSnyanmisaka } sw147; 207*437bfbebSnyanmisaka union { 208*437bfbebSnyanmisaka RK_U32 refer1_base : 32; 209*437bfbebSnyanmisaka struct { //!< left move 10bit 210*437bfbebSnyanmisaka RK_U32 refer1_topc_e : 1; 211*437bfbebSnyanmisaka RK_U32 refer1_field_e : 1; 212*437bfbebSnyanmisaka }; 213*437bfbebSnyanmisaka } sw148; 214*437bfbebSnyanmisaka RK_U32 sw149_152[4]; 215*437bfbebSnyanmisaka struct { 216*437bfbebSnyanmisaka RK_U32 reserve : 2; 217*437bfbebSnyanmisaka RK_U32 pred_bc_tap_1_1 : 10; 218*437bfbebSnyanmisaka RK_U32 pred_bc_tap_1_0 : 10; 219*437bfbebSnyanmisaka RK_U32 pred_bc_tap_0_3 : 10; 220*437bfbebSnyanmisaka } sw153; 221*437bfbebSnyanmisaka struct { 222*437bfbebSnyanmisaka RK_U32 reserve : 2; 223*437bfbebSnyanmisaka RK_U32 pred_bc_tap_2_0 : 10; 224*437bfbebSnyanmisaka RK_U32 pred_bc_tap_1_3 : 10; 225*437bfbebSnyanmisaka RK_U32 pred_bc_tap_1_2 : 10; 226*437bfbebSnyanmisaka } sw154; 227*437bfbebSnyanmisaka RK_U32 sw155_158[4]; 228*437bfbebSnyanmisaka } AvsdVdpu2Regs_t; 229*437bfbebSnyanmisaka 230*437bfbebSnyanmisaka #endif /*__HAL_AVSD_VDPU2_REG_H__*/ 231