1*437bfbebSnyanmisaka /* SPDX-License-Identifier: Apache-2.0 OR MIT */ 2*437bfbebSnyanmisaka /* 3*437bfbebSnyanmisaka * Copyright (c) 2024 Rockchip Electronics Co., Ltd. 4*437bfbebSnyanmisaka */ 5*437bfbebSnyanmisaka 6*437bfbebSnyanmisaka #ifndef __VDPP2_REG_H__ 7*437bfbebSnyanmisaka #define __VDPP2_REG_H__ 8*437bfbebSnyanmisaka 9*437bfbebSnyanmisaka #include "rk_type.h" 10*437bfbebSnyanmisaka 11*437bfbebSnyanmisaka #define VDPP_REG_OFF_DMSR (0x80) 12*437bfbebSnyanmisaka #define VDPP_REG_OFF_DCI (0xE0) 13*437bfbebSnyanmisaka #define VDPP_REG_OFF_ES (0x0100) 14*437bfbebSnyanmisaka #define VDPP_REG_OFF_SHARP (0x0200) 15*437bfbebSnyanmisaka #define VDPP_REG_OFF_YRGB_HOR_COE (0x2000) 16*437bfbebSnyanmisaka #define VDPP_REG_OFF_YRGB_VER_COE (0x2200) 17*437bfbebSnyanmisaka #define VDPP_REG_OFF_CBCR_HOR_COE (0x2400) 18*437bfbebSnyanmisaka #define VDPP_REG_OFF_CBCR_VER_COE (0x2600) 19*437bfbebSnyanmisaka #define VDPP_REG_OFF_ZME_COMMON (0x2800) 20*437bfbebSnyanmisaka 21*437bfbebSnyanmisaka struct vdpp2_reg { 22*437bfbebSnyanmisaka struct { 23*437bfbebSnyanmisaka 24*437bfbebSnyanmisaka struct { 25*437bfbebSnyanmisaka RK_U32 sw_vdpp_frm_en : 1; 26*437bfbebSnyanmisaka } reg0; // 0x0000 27*437bfbebSnyanmisaka 28*437bfbebSnyanmisaka struct { 29*437bfbebSnyanmisaka RK_U32 sw_vdpp_src_fmt : 2; 30*437bfbebSnyanmisaka RK_U32 sw_reserved_1 : 2; 31*437bfbebSnyanmisaka RK_U32 sw_vdpp_src_yuv_swap : 2; 32*437bfbebSnyanmisaka RK_U32 sw_reserved_2 : 2; 33*437bfbebSnyanmisaka RK_U32 sw_vdpp_dst_fmt : 2; 34*437bfbebSnyanmisaka RK_U32 sw_vdpp_yuvout_diff_en : 1; 35*437bfbebSnyanmisaka RK_U32 sw_reserved_3 : 1; 36*437bfbebSnyanmisaka RK_U32 sw_vdpp_dst_yuv_swap : 2; 37*437bfbebSnyanmisaka RK_U32 sw_reserved_4 : 2; 38*437bfbebSnyanmisaka RK_U32 sw_vdpp_debug_data_en: 1; 39*437bfbebSnyanmisaka RK_U32 sw_reserved_5 : 3; 40*437bfbebSnyanmisaka RK_U32 sw_vdpp_rst_protect_dis : 1; 41*437bfbebSnyanmisaka RK_U32 sys_vdpp_sreset_p : 1; 42*437bfbebSnyanmisaka RK_U32 sw_vdpp_init_dis : 1; 43*437bfbebSnyanmisaka RK_U32 sw_reserved_6 : 1; 44*437bfbebSnyanmisaka RK_U32 sw_vdpp_dbmsr_en : 1; 45*437bfbebSnyanmisaka RK_U32 sw_dci_en : 1; 46*437bfbebSnyanmisaka } reg1; // 0x0004 47*437bfbebSnyanmisaka 48*437bfbebSnyanmisaka struct { 49*437bfbebSnyanmisaka RK_U32 sw_vdpp_working_mode : 2; 50*437bfbebSnyanmisaka } reg2; // 0x0008 51*437bfbebSnyanmisaka 52*437bfbebSnyanmisaka struct { 53*437bfbebSnyanmisaka RK_U32 sw_vdpp_arqos_en : 1; 54*437bfbebSnyanmisaka RK_U32 sw_vdpp_awqos_en : 1; 55*437bfbebSnyanmisaka RK_U32 sw_reserved_1 : 2; 56*437bfbebSnyanmisaka RK_U32 sw_ar_mmu_qos3 : 4; 57*437bfbebSnyanmisaka } reg3; // 0x000C 58*437bfbebSnyanmisaka 59*437bfbebSnyanmisaka struct { 60*437bfbebSnyanmisaka RK_U32 sw_vdpp_clk_on : 1; 61*437bfbebSnyanmisaka RK_U32 sw_md_clk_on : 1; 62*437bfbebSnyanmisaka RK_U32 sw_dect_clk_on : 1; 63*437bfbebSnyanmisaka RK_U32 sw_me_clk_on : 1; 64*437bfbebSnyanmisaka RK_U32 sw_mc_clk_on : 1; 65*437bfbebSnyanmisaka RK_U32 sw_eedi_clk_on : 1; 66*437bfbebSnyanmisaka RK_U32 sw_ble_clk_on : 1; 67*437bfbebSnyanmisaka RK_U32 sw_out_clk_on : 1; 68*437bfbebSnyanmisaka RK_U32 sw_ctrl_clk_on : 1; 69*437bfbebSnyanmisaka RK_U32 sw_ram_clk_on : 1; 70*437bfbebSnyanmisaka RK_U32 sw_dma_clk_on : 1; 71*437bfbebSnyanmisaka RK_U32 sw_reg_clk_on : 1; 72*437bfbebSnyanmisaka } reg4; // 0x0010 73*437bfbebSnyanmisaka 74*437bfbebSnyanmisaka struct { 75*437bfbebSnyanmisaka RK_U32 ro_arst_finish_done : 1; 76*437bfbebSnyanmisaka } reg5; // 0x0014 77*437bfbebSnyanmisaka 78*437bfbebSnyanmisaka struct { 79*437bfbebSnyanmisaka RK_U32 sw_ar_y_qos1 : 4; 80*437bfbebSnyanmisaka RK_U32 sw_ar_y_qos2 : 4; 81*437bfbebSnyanmisaka RK_U32 sw_ar_uv_qos1 : 4; 82*437bfbebSnyanmisaka RK_U32 sw_ar_uv_qos2 : 4; 83*437bfbebSnyanmisaka } reg6; // 0x0018 84*437bfbebSnyanmisaka 85*437bfbebSnyanmisaka struct { 86*437bfbebSnyanmisaka RK_U32 sw_aw_id7_qos : 4; 87*437bfbebSnyanmisaka RK_U32 sw_aw_id8_qos : 4; 88*437bfbebSnyanmisaka RK_U32 sw_aw_id9_qos : 4; 89*437bfbebSnyanmisaka RK_U32 sw_aw_id10_qos : 4; 90*437bfbebSnyanmisaka } reg7; // 0x001c 91*437bfbebSnyanmisaka 92*437bfbebSnyanmisaka struct { 93*437bfbebSnyanmisaka RK_U32 sw_vdpp_frm_done_en : 1; 94*437bfbebSnyanmisaka RK_U32 sw_vdpp_osd_max_en : 1; 95*437bfbebSnyanmisaka RK_U32 sw_reserved_1 : 2; 96*437bfbebSnyanmisaka RK_U32 sw_vdpp_bus_error_en : 1; 97*437bfbebSnyanmisaka RK_U32 sw_vdpp_timeout_int_en : 1; 98*437bfbebSnyanmisaka RK_U32 sw_vdpp_config_error_en : 1; 99*437bfbebSnyanmisaka } reg8; // 0x0020 100*437bfbebSnyanmisaka 101*437bfbebSnyanmisaka struct { 102*437bfbebSnyanmisaka RK_U32 sw_vdpp_frm_done_clr : 1; 103*437bfbebSnyanmisaka RK_U32 sw_vdpp_osd_max_clr : 1; 104*437bfbebSnyanmisaka RK_U32 sw_reserved_1 : 2; 105*437bfbebSnyanmisaka RK_U32 sw_vdpp_bus_error_clr: 1; 106*437bfbebSnyanmisaka RK_U32 sw_vdpp_timeout_int_clr : 1; 107*437bfbebSnyanmisaka RK_U32 sw_vdpp_config_error_clr : 1; 108*437bfbebSnyanmisaka } reg9; // 0x0024 109*437bfbebSnyanmisaka 110*437bfbebSnyanmisaka struct { 111*437bfbebSnyanmisaka RK_U32 ro_frm_done_sts : 1; 112*437bfbebSnyanmisaka RK_U32 ro_osd_max_sts : 1; 113*437bfbebSnyanmisaka RK_U32 sw_reserved_1 : 2; 114*437bfbebSnyanmisaka RK_U32 ro_bus_error_sts : 1; 115*437bfbebSnyanmisaka RK_U32 ro_timeout_sts : 1; 116*437bfbebSnyanmisaka RK_U32 ro_config_error_sts : 1; 117*437bfbebSnyanmisaka } reg10; // 0x0028, read only 118*437bfbebSnyanmisaka 119*437bfbebSnyanmisaka struct { 120*437bfbebSnyanmisaka RK_U32 ro_frm_done_raw : 1; 121*437bfbebSnyanmisaka RK_U32 ro_osd_max_raw : 1; 122*437bfbebSnyanmisaka RK_U32 sw_reserved_1 : 2; 123*437bfbebSnyanmisaka RK_U32 ro_bus_error_raw : 1; 124*437bfbebSnyanmisaka RK_U32 ro_timeout_raw : 1; 125*437bfbebSnyanmisaka RK_U32 ro_config_error_raw : 1; 126*437bfbebSnyanmisaka } reg11; // 0x002C, read only 127*437bfbebSnyanmisaka 128*437bfbebSnyanmisaka struct { 129*437bfbebSnyanmisaka RK_U32 sw_vdpp_src_vir_y_stride : 16; 130*437bfbebSnyanmisaka } reg12; // 0x0030 131*437bfbebSnyanmisaka 132*437bfbebSnyanmisaka struct { 133*437bfbebSnyanmisaka RK_U32 sw_vdpp_dst_vir_y_stride : 16; 134*437bfbebSnyanmisaka RK_U32 sw_vdpp_dst_vir_c_stride : 16; 135*437bfbebSnyanmisaka } reg13; // 0x0034 136*437bfbebSnyanmisaka 137*437bfbebSnyanmisaka struct { 138*437bfbebSnyanmisaka RK_U32 sw_vdpp_src_pic_width : 11; 139*437bfbebSnyanmisaka RK_U32 sw_reserved_1 : 1; 140*437bfbebSnyanmisaka RK_U32 sw_vdpp_src_right_redundant : 4; 141*437bfbebSnyanmisaka RK_U32 sw_vdpp_src_pic_height : 11; 142*437bfbebSnyanmisaka RK_U32 sw_reserved_2 : 1; 143*437bfbebSnyanmisaka RK_U32 sw_vdpp_src_down_redundant : 3; 144*437bfbebSnyanmisaka } reg14; // 0x0038 145*437bfbebSnyanmisaka 146*437bfbebSnyanmisaka struct { 147*437bfbebSnyanmisaka RK_U32 sw_vdpp_dst_pic_width : 11; 148*437bfbebSnyanmisaka RK_U32 sw_reserved_1 : 1; 149*437bfbebSnyanmisaka RK_U32 sw_vdpp_dst_right_redundant : 4; 150*437bfbebSnyanmisaka RK_U32 sw_vdpp_dst_pic_height : 11; 151*437bfbebSnyanmisaka } reg15; // 0x003C 152*437bfbebSnyanmisaka 153*437bfbebSnyanmisaka struct { 154*437bfbebSnyanmisaka RK_U32 sw_vdpp_dst_pic_width_c : 11; 155*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 156*437bfbebSnyanmisaka RK_U32 sw_vdpp_dst_right_redundant_c: 4; 157*437bfbebSnyanmisaka RK_U32 sw_vdpp_dst_pic_height_c : 11; 158*437bfbebSnyanmisaka } reg16; // 0x0040 159*437bfbebSnyanmisaka 160*437bfbebSnyanmisaka RK_U32 reg17; // 0x0044 161*437bfbebSnyanmisaka RK_U32 reg18; // 0x0048 162*437bfbebSnyanmisaka RK_U32 reg19; // 0x004C 163*437bfbebSnyanmisaka 164*437bfbebSnyanmisaka struct { 165*437bfbebSnyanmisaka RK_U32 sw_vdpp_timeout_cnt : 31; 166*437bfbebSnyanmisaka RK_U32 sw_vdpp_timeout_en : 1; 167*437bfbebSnyanmisaka } reg20; // 0x0050 168*437bfbebSnyanmisaka 169*437bfbebSnyanmisaka struct { 170*437bfbebSnyanmisaka RK_U32 svnbuild : 20; 171*437bfbebSnyanmisaka RK_U32 minor : 8; 172*437bfbebSnyanmisaka RK_U32 major : 4; 173*437bfbebSnyanmisaka } reg21; // 0x0054 174*437bfbebSnyanmisaka 175*437bfbebSnyanmisaka struct { 176*437bfbebSnyanmisaka RK_U32 dbg_frm_cnt : 16; 177*437bfbebSnyanmisaka } reg22; // 0x0058 178*437bfbebSnyanmisaka 179*437bfbebSnyanmisaka RK_U32 reg23; // 0x005C 180*437bfbebSnyanmisaka 181*437bfbebSnyanmisaka struct { 182*437bfbebSnyanmisaka RK_U32 sw_vdpp_src_addr_y : 32; 183*437bfbebSnyanmisaka } reg24; // 0x0060 184*437bfbebSnyanmisaka 185*437bfbebSnyanmisaka struct { 186*437bfbebSnyanmisaka RK_U32 sw_vdpp_src_addr_uv : 32; 187*437bfbebSnyanmisaka } reg25; // 0x0064 188*437bfbebSnyanmisaka 189*437bfbebSnyanmisaka struct { 190*437bfbebSnyanmisaka RK_U32 sw_vdpp_dst_addr_y : 32; 191*437bfbebSnyanmisaka } reg26; // 0x0068 192*437bfbebSnyanmisaka 193*437bfbebSnyanmisaka struct { 194*437bfbebSnyanmisaka RK_U32 sw_vdpp_dst_addr_uv : 32; 195*437bfbebSnyanmisaka } reg27; // 0x006C 196*437bfbebSnyanmisaka 197*437bfbebSnyanmisaka } common; // offset: 0x1000 198*437bfbebSnyanmisaka 199*437bfbebSnyanmisaka struct { 200*437bfbebSnyanmisaka struct { 201*437bfbebSnyanmisaka RK_U32 sw_dci_yrgb_addr : 32; 202*437bfbebSnyanmisaka } reg0; // 0x00E0 203*437bfbebSnyanmisaka 204*437bfbebSnyanmisaka struct { 205*437bfbebSnyanmisaka RK_U32 sw_dci_yrgb_vir_stride : 16; 206*437bfbebSnyanmisaka RK_U32 sw_dci_yrgb_gather_num : 4; 207*437bfbebSnyanmisaka RK_U32 sw_dci_yrgb_gather_en: 1; 208*437bfbebSnyanmisaka } reg1; // 0x00E4 209*437bfbebSnyanmisaka 210*437bfbebSnyanmisaka struct { 211*437bfbebSnyanmisaka RK_U32 sw_vdpp_src_pic_width: 12; 212*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 213*437bfbebSnyanmisaka RK_U32 sw_vdpp_src_pic_height : 12; 214*437bfbebSnyanmisaka } reg2; // 0x00E8 215*437bfbebSnyanmisaka 216*437bfbebSnyanmisaka struct { 217*437bfbebSnyanmisaka RK_U32 sw_dci_data_format : 3; 218*437bfbebSnyanmisaka RK_U32 sw_dci_csc_range : 1; 219*437bfbebSnyanmisaka RK_U32 sw_dci_vsd_mode : 2; 220*437bfbebSnyanmisaka RK_U32 sw_dci_hsd_mode : 1; 221*437bfbebSnyanmisaka RK_U32 sw_dci_alpha_swap : 1; 222*437bfbebSnyanmisaka RK_U32 sw_dci_rb_swap : 1; 223*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 224*437bfbebSnyanmisaka RK_U32 sw_dci_blk_hsize : 8; 225*437bfbebSnyanmisaka RK_U32 sw_dci_blk_vsize : 8; 226*437bfbebSnyanmisaka } reg3; // 0x00EC 227*437bfbebSnyanmisaka 228*437bfbebSnyanmisaka struct { 229*437bfbebSnyanmisaka RK_U32 sw_dci_hist_addr : 32; 230*437bfbebSnyanmisaka } reg4; // 0x00F0 231*437bfbebSnyanmisaka 232*437bfbebSnyanmisaka } dci; // offset: 0x10E0 233*437bfbebSnyanmisaka 234*437bfbebSnyanmisaka RK_U32 reg_5_7[3]; 235*437bfbebSnyanmisaka 236*437bfbebSnyanmisaka struct { 237*437bfbebSnyanmisaka struct { 238*437bfbebSnyanmisaka RK_U32 es_enable : 1; 239*437bfbebSnyanmisaka } reg0; // 0x0100 240*437bfbebSnyanmisaka 241*437bfbebSnyanmisaka struct { 242*437bfbebSnyanmisaka RK_U32 flat_th : 8; 243*437bfbebSnyanmisaka RK_U32 dir_th : 8; 244*437bfbebSnyanmisaka } reg1; // 0x0104 245*437bfbebSnyanmisaka 246*437bfbebSnyanmisaka struct { 247*437bfbebSnyanmisaka RK_U32 tan_hi_th : 9; 248*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 249*437bfbebSnyanmisaka RK_U32 tan_lo_th : 9; 250*437bfbebSnyanmisaka } reg2; // 0x0108 251*437bfbebSnyanmisaka 252*437bfbebSnyanmisaka struct { 253*437bfbebSnyanmisaka RK_U32 ep_chk_en : 1; 254*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 255*437bfbebSnyanmisaka RK_U32 mem_gat_en : 1; 256*437bfbebSnyanmisaka } reg3; // 0x010C 257*437bfbebSnyanmisaka 258*437bfbebSnyanmisaka struct { 259*437bfbebSnyanmisaka RK_U32 diff_gain0 : 16; 260*437bfbebSnyanmisaka RK_U32 diff_limit : 16; 261*437bfbebSnyanmisaka } reg4; // 0x0110 262*437bfbebSnyanmisaka 263*437bfbebSnyanmisaka struct { 264*437bfbebSnyanmisaka RK_U32 lut_x0 : 16; 265*437bfbebSnyanmisaka RK_U32 diff_gain1 : 16; 266*437bfbebSnyanmisaka } reg5; // 0x0114 267*437bfbebSnyanmisaka 268*437bfbebSnyanmisaka struct { 269*437bfbebSnyanmisaka RK_U32 lut_x2 : 16; 270*437bfbebSnyanmisaka RK_U32 lut_x1 : 16; 271*437bfbebSnyanmisaka } reg6; // 0x0118 272*437bfbebSnyanmisaka 273*437bfbebSnyanmisaka struct { 274*437bfbebSnyanmisaka RK_U32 lut_x4 : 16; 275*437bfbebSnyanmisaka RK_U32 lut_x3 : 16; 276*437bfbebSnyanmisaka } reg7; // 0x011C 277*437bfbebSnyanmisaka 278*437bfbebSnyanmisaka struct { 279*437bfbebSnyanmisaka RK_U32 lut_x6 : 16; 280*437bfbebSnyanmisaka RK_U32 lut_x5 : 16; 281*437bfbebSnyanmisaka } reg8; // 0x0120 282*437bfbebSnyanmisaka 283*437bfbebSnyanmisaka struct { 284*437bfbebSnyanmisaka RK_U32 lut_x8 : 16; 285*437bfbebSnyanmisaka RK_U32 lut_x7 : 16; 286*437bfbebSnyanmisaka } reg9; // 0x0124 287*437bfbebSnyanmisaka 288*437bfbebSnyanmisaka struct { 289*437bfbebSnyanmisaka RK_U32 lut_y0 : 8; 290*437bfbebSnyanmisaka RK_U32 lut_y1 : 8; 291*437bfbebSnyanmisaka RK_U32 lut_y2 : 8; 292*437bfbebSnyanmisaka RK_U32 lut_y3 : 8; 293*437bfbebSnyanmisaka } reg10; // 0x0128 294*437bfbebSnyanmisaka 295*437bfbebSnyanmisaka struct { 296*437bfbebSnyanmisaka RK_U32 lut_y4 : 8; 297*437bfbebSnyanmisaka RK_U32 lut_y5 : 8; 298*437bfbebSnyanmisaka RK_U32 lut_y6 : 8; 299*437bfbebSnyanmisaka RK_U32 lut_y7 : 8; 300*437bfbebSnyanmisaka } reg11; // 0x012C 301*437bfbebSnyanmisaka 302*437bfbebSnyanmisaka struct { 303*437bfbebSnyanmisaka RK_U32 lut_y8 : 8; 304*437bfbebSnyanmisaka } reg12; // 0x0130 305*437bfbebSnyanmisaka 306*437bfbebSnyanmisaka struct { 307*437bfbebSnyanmisaka RK_U32 lut_k0 : 8; 308*437bfbebSnyanmisaka RK_U32 lut_k1 : 8; 309*437bfbebSnyanmisaka RK_U32 lut_k2 : 8; 310*437bfbebSnyanmisaka RK_U32 lut_k3 : 8; 311*437bfbebSnyanmisaka } reg13; // 0x0134 312*437bfbebSnyanmisaka 313*437bfbebSnyanmisaka struct { 314*437bfbebSnyanmisaka RK_U32 lut_k4 : 8; 315*437bfbebSnyanmisaka RK_U32 lut_k5 : 8; 316*437bfbebSnyanmisaka RK_U32 lut_k6 : 8; 317*437bfbebSnyanmisaka RK_U32 lut_k7 : 8; 318*437bfbebSnyanmisaka } reg14; // 0x0138 319*437bfbebSnyanmisaka 320*437bfbebSnyanmisaka struct { 321*437bfbebSnyanmisaka RK_U32 wgt_decay : 8; 322*437bfbebSnyanmisaka RK_U32 wgt_gain : 8; 323*437bfbebSnyanmisaka } reg15; // 0x013C 324*437bfbebSnyanmisaka 325*437bfbebSnyanmisaka struct { 326*437bfbebSnyanmisaka RK_U32 conf_mean_th : 8; 327*437bfbebSnyanmisaka RK_U32 conf_cnt_th : 4; 328*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 329*437bfbebSnyanmisaka RK_U32 low_conf_ratio : 8; 330*437bfbebSnyanmisaka RK_U32 low_conf_th : 8; 331*437bfbebSnyanmisaka } reg16; // 0x0140 332*437bfbebSnyanmisaka 333*437bfbebSnyanmisaka struct { 334*437bfbebSnyanmisaka RK_U32 ink_en : 1; 335*437bfbebSnyanmisaka RK_U32 reserved1 : 3; 336*437bfbebSnyanmisaka RK_U32 ink_mode : 4; 337*437bfbebSnyanmisaka } reg17; // 0x0144 338*437bfbebSnyanmisaka 339*437bfbebSnyanmisaka RK_U32 reg_18_27[10]; 340*437bfbebSnyanmisaka 341*437bfbebSnyanmisaka struct { 342*437bfbebSnyanmisaka RK_U32 in_rdy : 1; 343*437bfbebSnyanmisaka RK_U32 reserved1 : 3; 344*437bfbebSnyanmisaka RK_U32 mem_in_vsync : 1; 345*437bfbebSnyanmisaka RK_U32 reserved2 : 3; 346*437bfbebSnyanmisaka RK_U32 in_hsync : 1; 347*437bfbebSnyanmisaka RK_U32 reserved3 : 3; 348*437bfbebSnyanmisaka RK_U32 in_vld : 1; 349*437bfbebSnyanmisaka RK_U32 reserved4 : 3; 350*437bfbebSnyanmisaka RK_U32 mem_in_line_cnt : 11; 351*437bfbebSnyanmisaka } reg28; // 0x0170 352*437bfbebSnyanmisaka 353*437bfbebSnyanmisaka struct { 354*437bfbebSnyanmisaka RK_U32 in_pix : 16; 355*437bfbebSnyanmisaka RK_U32 in_dir : 6; 356*437bfbebSnyanmisaka RK_U32 reserved1 : 2; 357*437bfbebSnyanmisaka RK_U32 in_flat : 2; 358*437bfbebSnyanmisaka } reg29; // 0x0174 359*437bfbebSnyanmisaka 360*437bfbebSnyanmisaka struct { 361*437bfbebSnyanmisaka RK_U32 out_rdy : 1; 362*437bfbebSnyanmisaka RK_U32 reserved1 : 3; 363*437bfbebSnyanmisaka RK_U32 out_vsync : 1; 364*437bfbebSnyanmisaka RK_U32 reserved2 : 3; 365*437bfbebSnyanmisaka RK_U32 out_hsync : 1; 366*437bfbebSnyanmisaka RK_U32 reserved3 : 3; 367*437bfbebSnyanmisaka RK_U32 out_vld : 1; 368*437bfbebSnyanmisaka RK_U32 reserved4 : 3; 369*437bfbebSnyanmisaka RK_U32 out_line_cnt : 11; 370*437bfbebSnyanmisaka } reg30; // 0x0178 371*437bfbebSnyanmisaka 372*437bfbebSnyanmisaka struct { 373*437bfbebSnyanmisaka RK_U32 out_pix : 16; 374*437bfbebSnyanmisaka } reg31; // 0x017C 375*437bfbebSnyanmisaka 376*437bfbebSnyanmisaka } es; // offset: 0x1100 377*437bfbebSnyanmisaka 378*437bfbebSnyanmisaka RK_U32 reg_32_63[32]; 379*437bfbebSnyanmisaka 380*437bfbebSnyanmisaka struct { 381*437bfbebSnyanmisaka struct { 382*437bfbebSnyanmisaka RK_U32 sw_sharp_enable : 1; 383*437bfbebSnyanmisaka RK_U32 sw_lti_enable : 1; 384*437bfbebSnyanmisaka RK_U32 sw_cti_enable : 1; 385*437bfbebSnyanmisaka RK_U32 sw_peaking_enable : 1; 386*437bfbebSnyanmisaka RK_U32 sw_peaking_ctrl_enable : 1; 387*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 388*437bfbebSnyanmisaka RK_U32 sw_edge_proc_enable : 1; 389*437bfbebSnyanmisaka RK_U32 sw_shoot_ctrl_enable : 1; 390*437bfbebSnyanmisaka RK_U32 sw_gain_ctrl_enable : 1; 391*437bfbebSnyanmisaka RK_U32 sw_color_adj_enable : 1; 392*437bfbebSnyanmisaka RK_U32 sw_texture_adj_enable: 1; 393*437bfbebSnyanmisaka RK_U32 sw_coloradj_bypass_en: 1; 394*437bfbebSnyanmisaka RK_U32 sw_ink_enable : 1; 395*437bfbebSnyanmisaka RK_U32 sw_sharp_redundent_bypass : 1; 396*437bfbebSnyanmisaka } reg0; // 0x0200 397*437bfbebSnyanmisaka 398*437bfbebSnyanmisaka struct { 399*437bfbebSnyanmisaka RK_U32 sw_mem_gating_en : 1; 400*437bfbebSnyanmisaka RK_U32 sw_lti_gating_en : 1; 401*437bfbebSnyanmisaka RK_U32 sw_cti_gating_en : 1; 402*437bfbebSnyanmisaka RK_U32 sw_peaking_gating_en : 1; 403*437bfbebSnyanmisaka RK_U32 sw_peaking_ctrl_gating_en : 1; 404*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 405*437bfbebSnyanmisaka RK_U32 sw_edge_proc_gating_en : 1; 406*437bfbebSnyanmisaka RK_U32 sw_shoot_ctrl_gating_en : 1; 407*437bfbebSnyanmisaka RK_U32 sw_gain_ctrl_gating_en : 1; 408*437bfbebSnyanmisaka RK_U32 sw_color_adj_gating_en : 1; 409*437bfbebSnyanmisaka RK_U32 sw_texture_adj_gating_en : 1; 410*437bfbebSnyanmisaka } reg1; // 0x0204 411*437bfbebSnyanmisaka 412*437bfbebSnyanmisaka struct { 413*437bfbebSnyanmisaka RK_U32 sw_peaking_v00 : 4; 414*437bfbebSnyanmisaka RK_U32 sw_peaking_v01 : 4; 415*437bfbebSnyanmisaka RK_U32 sw_peaking_v02 : 4; 416*437bfbebSnyanmisaka RK_U32 sw_peaking_v10 : 4; 417*437bfbebSnyanmisaka RK_U32 sw_peaking_v11 : 4; 418*437bfbebSnyanmisaka RK_U32 sw_peaking_v12 : 4; 419*437bfbebSnyanmisaka } reg2; // 0x0208 420*437bfbebSnyanmisaka 421*437bfbebSnyanmisaka struct { 422*437bfbebSnyanmisaka RK_U32 sw_peaking_v20 : 4; 423*437bfbebSnyanmisaka RK_U32 sw_peaking_v21 : 4; 424*437bfbebSnyanmisaka RK_U32 sw_peaking_v22 : 4; 425*437bfbebSnyanmisaka RK_U32 sw_peaking_usm0 : 4; 426*437bfbebSnyanmisaka RK_U32 sw_peaking_usm1 : 4; 427*437bfbebSnyanmisaka RK_U32 sw_peaking_usm2 : 4; 428*437bfbebSnyanmisaka RK_U32 sw_diag_coef : 3; 429*437bfbebSnyanmisaka } reg3; // 0x020C 430*437bfbebSnyanmisaka 431*437bfbebSnyanmisaka struct { 432*437bfbebSnyanmisaka RK_U32 sw_peaking_h00 : 6; 433*437bfbebSnyanmisaka RK_U32 reserved1 : 2; 434*437bfbebSnyanmisaka RK_U32 sw_peaking_h01 : 6; 435*437bfbebSnyanmisaka RK_U32 reserved2 : 2; 436*437bfbebSnyanmisaka RK_U32 sw_peaking_h02 : 6; 437*437bfbebSnyanmisaka } reg4; // 0x0210 438*437bfbebSnyanmisaka 439*437bfbebSnyanmisaka RK_U32 reg5; 440*437bfbebSnyanmisaka 441*437bfbebSnyanmisaka struct { 442*437bfbebSnyanmisaka RK_U32 sw_peaking_h10 : 6; 443*437bfbebSnyanmisaka RK_U32 reserved1 : 2; 444*437bfbebSnyanmisaka RK_U32 sw_peaking_h11 : 6; 445*437bfbebSnyanmisaka RK_U32 reserved2 : 2; 446*437bfbebSnyanmisaka RK_U32 sw_peaking_h12 : 6; 447*437bfbebSnyanmisaka } reg6; // 0x0218 448*437bfbebSnyanmisaka 449*437bfbebSnyanmisaka RK_U32 reg7; 450*437bfbebSnyanmisaka 451*437bfbebSnyanmisaka struct { 452*437bfbebSnyanmisaka RK_U32 sw_peaking_h20 : 6; 453*437bfbebSnyanmisaka RK_U32 reserved1 : 2; 454*437bfbebSnyanmisaka RK_U32 sw_peaking_h21 : 6; 455*437bfbebSnyanmisaka RK_U32 reserved2 : 2; 456*437bfbebSnyanmisaka RK_U32 sw_peaking_h22 : 6; 457*437bfbebSnyanmisaka } reg8; // 0x0220 458*437bfbebSnyanmisaka 459*437bfbebSnyanmisaka RK_U32 reg_9_11[3]; 460*437bfbebSnyanmisaka 461*437bfbebSnyanmisaka struct { 462*437bfbebSnyanmisaka RK_U32 sw_peaking0_idx_n0 : 9; 463*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 464*437bfbebSnyanmisaka RK_U32 sw_peaking0_idx_n1 : 9; 465*437bfbebSnyanmisaka } reg12; // 0x0230 466*437bfbebSnyanmisaka 467*437bfbebSnyanmisaka struct { 468*437bfbebSnyanmisaka RK_U32 sw_peaking0_idx_n2 : 9; 469*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 470*437bfbebSnyanmisaka RK_U32 sw_peaking0_idx_n3 : 9; 471*437bfbebSnyanmisaka } reg13; // 0x0234 472*437bfbebSnyanmisaka 473*437bfbebSnyanmisaka struct { 474*437bfbebSnyanmisaka RK_U32 sw_peaking0_idx_p0 : 9; 475*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 476*437bfbebSnyanmisaka RK_U32 sw_peaking0_idx_p1 : 9; 477*437bfbebSnyanmisaka } reg14; // 0x0238 478*437bfbebSnyanmisaka 479*437bfbebSnyanmisaka struct { 480*437bfbebSnyanmisaka RK_U32 sw_peaking0_idx_p2 : 9; 481*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 482*437bfbebSnyanmisaka RK_U32 sw_peaking0_idx_p3 : 9; 483*437bfbebSnyanmisaka } reg15; // 0x023C 484*437bfbebSnyanmisaka 485*437bfbebSnyanmisaka struct { 486*437bfbebSnyanmisaka RK_U32 sw_peaking0_value_n1 : 9; 487*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 488*437bfbebSnyanmisaka RK_U32 sw_peaking0_value_n2 : 9; 489*437bfbebSnyanmisaka } reg16; // 0x0240 490*437bfbebSnyanmisaka 491*437bfbebSnyanmisaka struct { 492*437bfbebSnyanmisaka RK_U32 sw_peaking0_value_n3 : 9; 493*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 494*437bfbebSnyanmisaka RK_U32 sw_peaking0_value_p1 : 9; 495*437bfbebSnyanmisaka } reg17; // 0x0244 496*437bfbebSnyanmisaka 497*437bfbebSnyanmisaka struct { 498*437bfbebSnyanmisaka RK_U32 sw_peaking0_value_p2 : 9; 499*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 500*437bfbebSnyanmisaka RK_U32 sw_peaking0_value_p3 : 9; 501*437bfbebSnyanmisaka } reg18; // 0x0248 502*437bfbebSnyanmisaka 503*437bfbebSnyanmisaka struct { 504*437bfbebSnyanmisaka RK_U32 sw_peaking0_ratio_n01: 12; 505*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 506*437bfbebSnyanmisaka RK_U32 sw_peaking0_ratio_n12: 12; 507*437bfbebSnyanmisaka } reg19; // 0x024C 508*437bfbebSnyanmisaka 509*437bfbebSnyanmisaka struct { 510*437bfbebSnyanmisaka RK_U32 sw_peaking0_ratio_n23: 12; 511*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 512*437bfbebSnyanmisaka RK_U32 sw_peaking0_ratio_p01: 12; 513*437bfbebSnyanmisaka } reg20; // 0x0250 514*437bfbebSnyanmisaka 515*437bfbebSnyanmisaka struct { 516*437bfbebSnyanmisaka RK_U32 sw_peaking0_ratio_p12: 12; 517*437bfbebSnyanmisaka RK_U32 sw_peaking0_ratio_p23: 12; 518*437bfbebSnyanmisaka } reg21; // 0x0254 519*437bfbebSnyanmisaka 520*437bfbebSnyanmisaka RK_U32 reg22; 521*437bfbebSnyanmisaka 522*437bfbebSnyanmisaka struct { 523*437bfbebSnyanmisaka RK_U32 sw_peaking1_idx_n0 : 9; 524*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 525*437bfbebSnyanmisaka RK_U32 sw_peaking1_idx_n1 : 9; 526*437bfbebSnyanmisaka } reg23; // 0x025C 527*437bfbebSnyanmisaka 528*437bfbebSnyanmisaka struct { 529*437bfbebSnyanmisaka RK_U32 sw_peaking1_idx_n2 : 9; 530*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 531*437bfbebSnyanmisaka RK_U32 sw_peaking1_idx_n3 : 9; 532*437bfbebSnyanmisaka } reg24; // 0x0260 533*437bfbebSnyanmisaka 534*437bfbebSnyanmisaka struct { 535*437bfbebSnyanmisaka RK_U32 sw_peaking1_idx_p0 : 9; 536*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 537*437bfbebSnyanmisaka RK_U32 sw_peaking1_idx_p1 : 9; 538*437bfbebSnyanmisaka } reg25; // 0x0264 539*437bfbebSnyanmisaka 540*437bfbebSnyanmisaka struct { 541*437bfbebSnyanmisaka RK_U32 sw_peaking1_idx_p2 : 9; 542*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 543*437bfbebSnyanmisaka RK_U32 sw_peaking1_idx_p3 : 9; 544*437bfbebSnyanmisaka } reg26; // 0x0268 545*437bfbebSnyanmisaka 546*437bfbebSnyanmisaka struct { 547*437bfbebSnyanmisaka RK_U32 sw_peaking1_value_n1 : 9; 548*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 549*437bfbebSnyanmisaka RK_U32 sw_peaking1_value_n2 : 9; 550*437bfbebSnyanmisaka } reg27; // 0x026C 551*437bfbebSnyanmisaka 552*437bfbebSnyanmisaka struct { 553*437bfbebSnyanmisaka RK_U32 sw_peaking1_value_n3 : 9; 554*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 555*437bfbebSnyanmisaka RK_U32 sw_peaking1_value_p1 : 9; 556*437bfbebSnyanmisaka } reg28; // 0x0270 557*437bfbebSnyanmisaka 558*437bfbebSnyanmisaka struct { 559*437bfbebSnyanmisaka RK_U32 sw_peaking1_value_p2 : 9; 560*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 561*437bfbebSnyanmisaka RK_U32 sw_peaking1_value_p3 : 9; 562*437bfbebSnyanmisaka } reg29; // 0x0274 563*437bfbebSnyanmisaka 564*437bfbebSnyanmisaka struct { 565*437bfbebSnyanmisaka RK_U32 sw_peaking1_ratio_n01: 12; 566*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 567*437bfbebSnyanmisaka RK_U32 sw_peaking1_ratio_n12: 12; 568*437bfbebSnyanmisaka } reg30; // 0x0278 569*437bfbebSnyanmisaka 570*437bfbebSnyanmisaka struct { 571*437bfbebSnyanmisaka RK_U32 sw_peaking1_ratio_n23: 12; 572*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 573*437bfbebSnyanmisaka RK_U32 sw_peaking1_ratio_p01: 12; 574*437bfbebSnyanmisaka } reg31; // 0x027C 575*437bfbebSnyanmisaka 576*437bfbebSnyanmisaka struct { 577*437bfbebSnyanmisaka RK_U32 sw_peaking1_ratio_p12: 12; 578*437bfbebSnyanmisaka RK_U32 sw_peaking1_ratio_p23: 12; 579*437bfbebSnyanmisaka } reg32; // 0x0280 580*437bfbebSnyanmisaka 581*437bfbebSnyanmisaka RK_U32 reg33; 582*437bfbebSnyanmisaka 583*437bfbebSnyanmisaka struct { 584*437bfbebSnyanmisaka RK_U32 sw_peaking2_idx_n0 : 9; 585*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 586*437bfbebSnyanmisaka RK_U32 sw_peaking2_idx_n1 : 9; 587*437bfbebSnyanmisaka } reg34; // 0x0288 588*437bfbebSnyanmisaka 589*437bfbebSnyanmisaka struct { 590*437bfbebSnyanmisaka RK_U32 sw_peaking2_idx_n2 : 9; 591*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 592*437bfbebSnyanmisaka RK_U32 sw_peaking2_idx_n3 : 9; 593*437bfbebSnyanmisaka } reg35; // 0x028C 594*437bfbebSnyanmisaka 595*437bfbebSnyanmisaka struct { 596*437bfbebSnyanmisaka RK_U32 sw_peaking2_idx_p0 : 9; 597*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 598*437bfbebSnyanmisaka RK_U32 sw_peaking2_idx_p1 : 9; 599*437bfbebSnyanmisaka } reg36; // 0x0290 600*437bfbebSnyanmisaka 601*437bfbebSnyanmisaka struct { 602*437bfbebSnyanmisaka RK_U32 sw_peaking2_idx_p2 : 9; 603*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 604*437bfbebSnyanmisaka RK_U32 sw_peaking2_idx_p3 : 9; 605*437bfbebSnyanmisaka } reg37; // 0x0294 606*437bfbebSnyanmisaka 607*437bfbebSnyanmisaka struct { 608*437bfbebSnyanmisaka RK_U32 sw_peaking2_value_n1 : 9; 609*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 610*437bfbebSnyanmisaka RK_U32 sw_peaking2_value_n2 : 9; 611*437bfbebSnyanmisaka } reg38; // 0x0298 612*437bfbebSnyanmisaka 613*437bfbebSnyanmisaka struct { 614*437bfbebSnyanmisaka RK_U32 sw_peaking2_value_n3 : 9; 615*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 616*437bfbebSnyanmisaka RK_U32 sw_peaking2_value_p1 : 9; 617*437bfbebSnyanmisaka } reg39; // 0x029C 618*437bfbebSnyanmisaka 619*437bfbebSnyanmisaka struct { 620*437bfbebSnyanmisaka RK_U32 sw_peaking2_value_p2 : 9; 621*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 622*437bfbebSnyanmisaka RK_U32 sw_peaking2_value_p3 : 9; 623*437bfbebSnyanmisaka } reg40; // 0x02A0 624*437bfbebSnyanmisaka 625*437bfbebSnyanmisaka struct { 626*437bfbebSnyanmisaka RK_U32 sw_peaking2_ratio_n01: 12; 627*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 628*437bfbebSnyanmisaka RK_U32 sw_peaking2_ratio_n12: 12; 629*437bfbebSnyanmisaka } reg41; // 0x02A4 630*437bfbebSnyanmisaka 631*437bfbebSnyanmisaka struct { 632*437bfbebSnyanmisaka RK_U32 sw_peaking2_ratio_n23: 12; 633*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 634*437bfbebSnyanmisaka RK_U32 sw_peaking2_ratio_p01: 12; 635*437bfbebSnyanmisaka } reg42; // 0x02A8 636*437bfbebSnyanmisaka 637*437bfbebSnyanmisaka struct { 638*437bfbebSnyanmisaka RK_U32 sw_peaking2_ratio_p12: 12; 639*437bfbebSnyanmisaka RK_U32 sw_peaking2_ratio_p23: 12; 640*437bfbebSnyanmisaka } reg43; // 0x02AC 641*437bfbebSnyanmisaka 642*437bfbebSnyanmisaka RK_U32 reg44; 643*437bfbebSnyanmisaka 644*437bfbebSnyanmisaka struct { 645*437bfbebSnyanmisaka RK_U32 sw_peaking3_idx_n0 : 9; 646*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 647*437bfbebSnyanmisaka RK_U32 sw_peaking3_idx_n1 : 9; 648*437bfbebSnyanmisaka } reg45; // 0x02B4 649*437bfbebSnyanmisaka 650*437bfbebSnyanmisaka struct { 651*437bfbebSnyanmisaka RK_U32 sw_peaking3_idx_n2 : 9; 652*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 653*437bfbebSnyanmisaka RK_U32 sw_peaking3_idx_n3 : 9; 654*437bfbebSnyanmisaka } reg46; // 0x02B8 655*437bfbebSnyanmisaka 656*437bfbebSnyanmisaka struct { 657*437bfbebSnyanmisaka RK_U32 sw_peaking3_idx_p0 : 9; 658*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 659*437bfbebSnyanmisaka RK_U32 sw_peaking3_idx_p1 : 9; 660*437bfbebSnyanmisaka } reg47; // 0x02BC 661*437bfbebSnyanmisaka 662*437bfbebSnyanmisaka struct { 663*437bfbebSnyanmisaka RK_U32 sw_peaking3_idx_p2 : 9; 664*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 665*437bfbebSnyanmisaka RK_U32 sw_peaking3_idx_p3 : 9; 666*437bfbebSnyanmisaka } reg48; // 0x02C0 667*437bfbebSnyanmisaka 668*437bfbebSnyanmisaka struct { 669*437bfbebSnyanmisaka RK_U32 sw_peaking3_value_n1 : 9; 670*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 671*437bfbebSnyanmisaka RK_U32 sw_peaking3_value_n2 : 9; 672*437bfbebSnyanmisaka } reg49; // 0x02C4 673*437bfbebSnyanmisaka 674*437bfbebSnyanmisaka struct { 675*437bfbebSnyanmisaka RK_U32 sw_peaking3_value_n3 : 9; 676*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 677*437bfbebSnyanmisaka RK_U32 sw_peaking3_value_p1 : 9; 678*437bfbebSnyanmisaka } reg50; // 0x02C8 679*437bfbebSnyanmisaka 680*437bfbebSnyanmisaka struct { 681*437bfbebSnyanmisaka RK_U32 sw_peaking3_value_p2 : 9; 682*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 683*437bfbebSnyanmisaka RK_U32 sw_peaking3_value_p3 : 9; 684*437bfbebSnyanmisaka } reg51; // 0x02CC 685*437bfbebSnyanmisaka 686*437bfbebSnyanmisaka struct { 687*437bfbebSnyanmisaka RK_U32 sw_peaking3_ratio_n01: 12; 688*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 689*437bfbebSnyanmisaka RK_U32 sw_peaking3_ratio_n12: 12; 690*437bfbebSnyanmisaka } reg52; // 0x02D0 691*437bfbebSnyanmisaka 692*437bfbebSnyanmisaka struct { 693*437bfbebSnyanmisaka RK_U32 sw_peaking3_ratio_n23: 12; 694*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 695*437bfbebSnyanmisaka RK_U32 sw_peaking3_ratio_p01: 12; 696*437bfbebSnyanmisaka } reg53; // 0x02D4 697*437bfbebSnyanmisaka 698*437bfbebSnyanmisaka struct { 699*437bfbebSnyanmisaka RK_U32 sw_peaking3_ratio_p12: 12; 700*437bfbebSnyanmisaka RK_U32 sw_peaking3_ratio_p23: 12; 701*437bfbebSnyanmisaka } reg54; // 0x02D8 702*437bfbebSnyanmisaka 703*437bfbebSnyanmisaka RK_U32 reg55; 704*437bfbebSnyanmisaka 705*437bfbebSnyanmisaka struct { 706*437bfbebSnyanmisaka RK_U32 sw_peaking4_idx_n0 : 9; 707*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 708*437bfbebSnyanmisaka RK_U32 sw_peaking4_idx_n1 : 9; 709*437bfbebSnyanmisaka } reg56; // 0x02E0 710*437bfbebSnyanmisaka 711*437bfbebSnyanmisaka struct { 712*437bfbebSnyanmisaka RK_U32 sw_peaking4_idx_n2 : 9; 713*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 714*437bfbebSnyanmisaka RK_U32 sw_peaking4_idx_n3 : 9; 715*437bfbebSnyanmisaka } reg57; // 0x02E4 716*437bfbebSnyanmisaka 717*437bfbebSnyanmisaka struct { 718*437bfbebSnyanmisaka RK_U32 sw_peaking4_idx_p0 : 9; 719*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 720*437bfbebSnyanmisaka RK_U32 sw_peaking4_idx_p1 : 9; 721*437bfbebSnyanmisaka } reg58; // 0x02E8 722*437bfbebSnyanmisaka 723*437bfbebSnyanmisaka struct { 724*437bfbebSnyanmisaka RK_U32 sw_peaking4_idx_p2 : 9; 725*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 726*437bfbebSnyanmisaka RK_U32 sw_peaking4_idx_p3 : 9; 727*437bfbebSnyanmisaka } reg59; // 0x02EC 728*437bfbebSnyanmisaka 729*437bfbebSnyanmisaka struct { 730*437bfbebSnyanmisaka RK_U32 sw_peaking4_value_n1 : 9; 731*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 732*437bfbebSnyanmisaka RK_U32 sw_peaking4_value_n2 : 9; 733*437bfbebSnyanmisaka } reg60; // 0x02F0 734*437bfbebSnyanmisaka 735*437bfbebSnyanmisaka struct { 736*437bfbebSnyanmisaka RK_U32 sw_peaking4_value_n3 : 9; 737*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 738*437bfbebSnyanmisaka RK_U32 sw_peaking4_value_p1 : 9; 739*437bfbebSnyanmisaka } reg61; // 0x02F4 740*437bfbebSnyanmisaka 741*437bfbebSnyanmisaka struct { 742*437bfbebSnyanmisaka RK_U32 sw_peaking4_value_p2 : 9; 743*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 744*437bfbebSnyanmisaka RK_U32 sw_peaking4_value_p3 : 9; 745*437bfbebSnyanmisaka } reg62; // 0x02F8 746*437bfbebSnyanmisaka 747*437bfbebSnyanmisaka struct { 748*437bfbebSnyanmisaka RK_U32 sw_peaking4_ratio_n01: 12; 749*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 750*437bfbebSnyanmisaka RK_U32 sw_peaking4_ratio_n12: 12; 751*437bfbebSnyanmisaka } reg63; // 0x02FC 752*437bfbebSnyanmisaka 753*437bfbebSnyanmisaka struct { 754*437bfbebSnyanmisaka RK_U32 sw_peaking4_ratio_n23: 12; 755*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 756*437bfbebSnyanmisaka RK_U32 sw_peaking4_ratio_p01: 12; 757*437bfbebSnyanmisaka } reg64; // 0x0300 758*437bfbebSnyanmisaka 759*437bfbebSnyanmisaka struct { 760*437bfbebSnyanmisaka RK_U32 sw_peaking4_ratio_p12: 12; 761*437bfbebSnyanmisaka RK_U32 sw_peaking4_ratio_p23: 12; 762*437bfbebSnyanmisaka } reg65; // 0x0304 763*437bfbebSnyanmisaka 764*437bfbebSnyanmisaka RK_U32 reg66; 765*437bfbebSnyanmisaka 766*437bfbebSnyanmisaka struct { 767*437bfbebSnyanmisaka RK_U32 sw_peaking5_idx_n0 : 9; 768*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 769*437bfbebSnyanmisaka RK_U32 sw_peaking5_idx_n1 : 9; 770*437bfbebSnyanmisaka } reg67; // 0x030C 771*437bfbebSnyanmisaka 772*437bfbebSnyanmisaka struct { 773*437bfbebSnyanmisaka RK_U32 sw_peaking5_idx_n2 : 9; 774*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 775*437bfbebSnyanmisaka RK_U32 sw_peaking5_idx_n3 : 9; 776*437bfbebSnyanmisaka } reg68; // 0x0310 777*437bfbebSnyanmisaka 778*437bfbebSnyanmisaka struct { 779*437bfbebSnyanmisaka RK_U32 sw_peaking5_idx_p0 : 9; 780*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 781*437bfbebSnyanmisaka RK_U32 sw_peaking5_idx_p1 : 9; 782*437bfbebSnyanmisaka } reg69; // 0x0314 783*437bfbebSnyanmisaka 784*437bfbebSnyanmisaka struct { 785*437bfbebSnyanmisaka RK_U32 sw_peaking5_idx_p2 : 9; 786*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 787*437bfbebSnyanmisaka RK_U32 sw_peaking5_idx_p3 : 9; 788*437bfbebSnyanmisaka } reg70; // 0x0318 789*437bfbebSnyanmisaka 790*437bfbebSnyanmisaka struct { 791*437bfbebSnyanmisaka RK_U32 sw_peaking5_value_n1 : 9; 792*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 793*437bfbebSnyanmisaka RK_U32 sw_peaking5_value_n2 : 9; 794*437bfbebSnyanmisaka } reg71; // 0x031C 795*437bfbebSnyanmisaka 796*437bfbebSnyanmisaka struct { 797*437bfbebSnyanmisaka RK_U32 sw_peaking5_value_n3 : 9; 798*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 799*437bfbebSnyanmisaka RK_U32 sw_peaking5_value_p1 : 9; 800*437bfbebSnyanmisaka } reg72; // 0x0320 801*437bfbebSnyanmisaka 802*437bfbebSnyanmisaka struct { 803*437bfbebSnyanmisaka RK_U32 sw_peaking5_value_p2 : 9; 804*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 805*437bfbebSnyanmisaka RK_U32 sw_peaking5_value_p3 : 9; 806*437bfbebSnyanmisaka } reg73; // 0x0324 807*437bfbebSnyanmisaka 808*437bfbebSnyanmisaka struct { 809*437bfbebSnyanmisaka RK_U32 sw_peaking5_ratio_n01: 12; 810*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 811*437bfbebSnyanmisaka RK_U32 sw_peaking5_ratio_n12: 12; 812*437bfbebSnyanmisaka } reg74; // 0x0328 813*437bfbebSnyanmisaka 814*437bfbebSnyanmisaka struct { 815*437bfbebSnyanmisaka RK_U32 sw_peaking5_ratio_n23: 12; 816*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 817*437bfbebSnyanmisaka RK_U32 sw_peaking5_ratio_p01: 12; 818*437bfbebSnyanmisaka } reg75; // 0x032C 819*437bfbebSnyanmisaka 820*437bfbebSnyanmisaka struct { 821*437bfbebSnyanmisaka RK_U32 sw_peaking5_ratio_p12: 12; 822*437bfbebSnyanmisaka RK_U32 sw_peaking5_ratio_p23: 12; 823*437bfbebSnyanmisaka } reg76; // 0x0330 824*437bfbebSnyanmisaka 825*437bfbebSnyanmisaka RK_U32 reg77; 826*437bfbebSnyanmisaka 827*437bfbebSnyanmisaka struct { 828*437bfbebSnyanmisaka RK_U32 sw_peaking6_idx_n0 : 12; 829*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 830*437bfbebSnyanmisaka RK_U32 sw_peaking6_idx_n1 : 12; 831*437bfbebSnyanmisaka } reg78; // 0x0338 832*437bfbebSnyanmisaka 833*437bfbebSnyanmisaka struct { 834*437bfbebSnyanmisaka RK_U32 sw_peaking6_idx_n2 : 9; 835*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 836*437bfbebSnyanmisaka RK_U32 sw_peaking6_idx_n3 : 9; 837*437bfbebSnyanmisaka } reg79; // 0x033C 838*437bfbebSnyanmisaka 839*437bfbebSnyanmisaka struct { 840*437bfbebSnyanmisaka RK_U32 sw_peaking6_idx_p0 : 9; 841*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 842*437bfbebSnyanmisaka RK_U32 sw_peaking6_idx_p1 : 9; 843*437bfbebSnyanmisaka } reg80; // 0x0340 844*437bfbebSnyanmisaka 845*437bfbebSnyanmisaka struct { 846*437bfbebSnyanmisaka RK_U32 sw_peaking6_idx_p2 : 9; 847*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 848*437bfbebSnyanmisaka RK_U32 sw_peaking6_idx_p3 : 9; 849*437bfbebSnyanmisaka } reg81; // 0x0344 850*437bfbebSnyanmisaka 851*437bfbebSnyanmisaka struct { 852*437bfbebSnyanmisaka RK_U32 sw_peaking6_value_n1 : 9; 853*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 854*437bfbebSnyanmisaka RK_U32 sw_peaking6_value_n2 : 9; 855*437bfbebSnyanmisaka } reg82; // 0x0348 856*437bfbebSnyanmisaka 857*437bfbebSnyanmisaka struct { 858*437bfbebSnyanmisaka RK_U32 sw_peaking6_value_n3 : 9; 859*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 860*437bfbebSnyanmisaka RK_U32 sw_peaking6_value_p1 : 9; 861*437bfbebSnyanmisaka } reg83; // 0x034C 862*437bfbebSnyanmisaka 863*437bfbebSnyanmisaka struct { 864*437bfbebSnyanmisaka RK_U32 sw_peaking6_value_p2 : 9; 865*437bfbebSnyanmisaka RK_U32 reserved1 : 7; 866*437bfbebSnyanmisaka RK_U32 sw_peaking6_value_p3 : 9; 867*437bfbebSnyanmisaka } reg84; // 0x0350 868*437bfbebSnyanmisaka 869*437bfbebSnyanmisaka struct { 870*437bfbebSnyanmisaka RK_U32 sw_peaking6_ratio_n01: 12; 871*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 872*437bfbebSnyanmisaka RK_U32 sw_peaking6_ratio_n12: 12; 873*437bfbebSnyanmisaka } reg85; // 0x0354 874*437bfbebSnyanmisaka 875*437bfbebSnyanmisaka struct { 876*437bfbebSnyanmisaka RK_U32 sw_peaking6_ratio_n23: 12; 877*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 878*437bfbebSnyanmisaka RK_U32 sw_peaking6_ratio_p01: 12; 879*437bfbebSnyanmisaka } reg86; // 0x0358 880*437bfbebSnyanmisaka 881*437bfbebSnyanmisaka struct { 882*437bfbebSnyanmisaka RK_U32 sw_peaking6_ratio_p12: 12; 883*437bfbebSnyanmisaka RK_U32 sw_peaking6_ratio_p23: 12; 884*437bfbebSnyanmisaka } reg87; // 0x035C 885*437bfbebSnyanmisaka 886*437bfbebSnyanmisaka RK_U32 reg_88_99[12]; 887*437bfbebSnyanmisaka 888*437bfbebSnyanmisaka struct { 889*437bfbebSnyanmisaka RK_U32 sw_peaking_gain : 10; 890*437bfbebSnyanmisaka RK_U32 reserved1 : 2; 891*437bfbebSnyanmisaka RK_U32 sw_nondir_thr : 7; 892*437bfbebSnyanmisaka RK_U32 reserved2 : 1; 893*437bfbebSnyanmisaka RK_U32 sw_dir_cmp_ratio : 4; 894*437bfbebSnyanmisaka RK_U32 sw_nondir_wgt_ratio : 5; 895*437bfbebSnyanmisaka } reg100; // 0x0390 896*437bfbebSnyanmisaka 897*437bfbebSnyanmisaka struct { 898*437bfbebSnyanmisaka RK_U32 sw_nondir_wgt_offset : 8; 899*437bfbebSnyanmisaka RK_U32 sw_dir_cnt_thr : 4; 900*437bfbebSnyanmisaka RK_U32 sw_dir_cnt_avg : 3; 901*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 902*437bfbebSnyanmisaka RK_U32 sw_dir_cnt_offset : 4; 903*437bfbebSnyanmisaka RK_U32 sw_diag_dir_thr : 7; 904*437bfbebSnyanmisaka } reg101; // 0x0394 905*437bfbebSnyanmisaka 906*437bfbebSnyanmisaka struct { 907*437bfbebSnyanmisaka RK_U32 sw_diag_adjgain_tab0 : 4; 908*437bfbebSnyanmisaka RK_U32 sw_diag_adjgain_tab1 : 4; 909*437bfbebSnyanmisaka RK_U32 sw_diag_adjgain_tab2 : 4; 910*437bfbebSnyanmisaka RK_U32 sw_diag_adjgain_tab3 : 4; 911*437bfbebSnyanmisaka RK_U32 sw_diag_adjgain_tab4 : 4; 912*437bfbebSnyanmisaka RK_U32 sw_diag_adjgain_tab5 : 4; 913*437bfbebSnyanmisaka RK_U32 sw_diag_adjgain_tab6 : 4; 914*437bfbebSnyanmisaka RK_U32 sw_diag_adjgain_tab7 : 4; 915*437bfbebSnyanmisaka } reg102; // 0x0398 916*437bfbebSnyanmisaka 917*437bfbebSnyanmisaka struct { 918*437bfbebSnyanmisaka RK_U32 sw_edge_alpha_over_non : 7; 919*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 920*437bfbebSnyanmisaka RK_U32 sw_edge_alpha_under_non : 7; 921*437bfbebSnyanmisaka RK_U32 reserved2 : 1; 922*437bfbebSnyanmisaka RK_U32 sw_edge_alpha_over_unlimit_non : 7; 923*437bfbebSnyanmisaka RK_U32 reserved3 : 1; 924*437bfbebSnyanmisaka RK_U32 sw_edge_alpha_under_unlimit_non : 7; 925*437bfbebSnyanmisaka } reg103; // 0x039C 926*437bfbebSnyanmisaka 927*437bfbebSnyanmisaka struct { 928*437bfbebSnyanmisaka RK_U32 sw_edge_alpha_over_v : 7; 929*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 930*437bfbebSnyanmisaka RK_U32 sw_edge_alpha_under_v: 7; 931*437bfbebSnyanmisaka RK_U32 reserved2 : 1; 932*437bfbebSnyanmisaka RK_U32 sw_edge_alpha_over_unlimit_v : 7; 933*437bfbebSnyanmisaka RK_U32 reserved3 : 1; 934*437bfbebSnyanmisaka RK_U32 sw_edge_alpha_under_unlimit_v: 7; 935*437bfbebSnyanmisaka } reg104; // 0x03A0 936*437bfbebSnyanmisaka 937*437bfbebSnyanmisaka struct { 938*437bfbebSnyanmisaka RK_U32 sw_edge_alpha_over_h : 7; 939*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 940*437bfbebSnyanmisaka RK_U32 sw_edge_alpha_under_h: 7; 941*437bfbebSnyanmisaka RK_U32 reserved2 : 1; 942*437bfbebSnyanmisaka RK_U32 sw_edge_alpha_over_unlimit_h : 7; 943*437bfbebSnyanmisaka RK_U32 reserved3 : 1; 944*437bfbebSnyanmisaka RK_U32 sw_edge_alpha_under_unlimit_h: 7; 945*437bfbebSnyanmisaka } reg105; // 0x03A4 946*437bfbebSnyanmisaka 947*437bfbebSnyanmisaka struct { 948*437bfbebSnyanmisaka RK_U32 sw_edge_alpha_over_d0: 7; 949*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 950*437bfbebSnyanmisaka RK_U32 sw_edge_alpha_under_d0 : 7; 951*437bfbebSnyanmisaka RK_U32 reserved2 : 1; 952*437bfbebSnyanmisaka RK_U32 sw_edge_alpha_over_unlimit_d0: 7; 953*437bfbebSnyanmisaka RK_U32 reserved3 : 1; 954*437bfbebSnyanmisaka RK_U32 sw_edge_alpha_under_unlimit_d0 : 7; 955*437bfbebSnyanmisaka } reg106; // 0x03A8 956*437bfbebSnyanmisaka 957*437bfbebSnyanmisaka struct { 958*437bfbebSnyanmisaka RK_U32 sw_edge_alpha_over_d1: 7; 959*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 960*437bfbebSnyanmisaka RK_U32 sw_edge_alpha_under_d1 : 7; 961*437bfbebSnyanmisaka RK_U32 reserved2 : 1; 962*437bfbebSnyanmisaka RK_U32 sw_edge_alpha_over_unlimit_d1: 7; 963*437bfbebSnyanmisaka RK_U32 reserved3 : 1; 964*437bfbebSnyanmisaka RK_U32 sw_edge_alpha_under_unlimit_d1 : 7; 965*437bfbebSnyanmisaka } reg107; // 0x03AC 966*437bfbebSnyanmisaka 967*437bfbebSnyanmisaka struct { 968*437bfbebSnyanmisaka RK_U32 sw_edge_delta_offset_non : 8; 969*437bfbebSnyanmisaka RK_U32 sw_edge_delta_offset_v : 8; 970*437bfbebSnyanmisaka RK_U32 sw_edge_delta_offset_h : 8; 971*437bfbebSnyanmisaka } reg108; // 0x03B0 972*437bfbebSnyanmisaka 973*437bfbebSnyanmisaka struct { 974*437bfbebSnyanmisaka RK_U32 sw_edge_delta_offset_d0 : 8; 975*437bfbebSnyanmisaka RK_U32 sw_edge_delta_offset_d1 : 8; 976*437bfbebSnyanmisaka } reg109; // 0x03B4 977*437bfbebSnyanmisaka 978*437bfbebSnyanmisaka struct { 979*437bfbebSnyanmisaka RK_U32 sw_shoot_filt_radius : 1; 980*437bfbebSnyanmisaka RK_U32 reserved1 : 3; 981*437bfbebSnyanmisaka RK_U32 sw_shoot_delta_offset: 8; 982*437bfbebSnyanmisaka RK_U32 sw_shoot_alpha_over : 7; 983*437bfbebSnyanmisaka RK_U32 reserved2 : 1; 984*437bfbebSnyanmisaka RK_U32 sw_shoot_alpha_under : 7; 985*437bfbebSnyanmisaka } reg110; // 0x03B8 986*437bfbebSnyanmisaka 987*437bfbebSnyanmisaka struct { 988*437bfbebSnyanmisaka RK_U32 sw_shoot_alpha_over_unlimit : 7; 989*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 990*437bfbebSnyanmisaka RK_U32 sw_shoot_alpha_under_unlimit : 7; 991*437bfbebSnyanmisaka } reg111; // 0x03BC 992*437bfbebSnyanmisaka 993*437bfbebSnyanmisaka struct { 994*437bfbebSnyanmisaka RK_U32 sw_adp_idx0 : 8; 995*437bfbebSnyanmisaka RK_U32 reserved1 : 2; 996*437bfbebSnyanmisaka RK_U32 sw_adp_idx1 : 8; 997*437bfbebSnyanmisaka RK_U32 reserved2 : 2; 998*437bfbebSnyanmisaka RK_U32 sw_adp_idx2 : 8; 999*437bfbebSnyanmisaka } reg112; // 0x03C0 1000*437bfbebSnyanmisaka 1001*437bfbebSnyanmisaka struct { 1002*437bfbebSnyanmisaka RK_U32 sw_adp_idx3 : 8; 1003*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 1004*437bfbebSnyanmisaka RK_U32 sw_adp_gain0 : 7; 1005*437bfbebSnyanmisaka RK_U32 reserved2 : 1; 1006*437bfbebSnyanmisaka RK_U32 sw_adp_gain1 : 7; 1007*437bfbebSnyanmisaka } reg113; // 0x03C4 1008*437bfbebSnyanmisaka 1009*437bfbebSnyanmisaka struct { 1010*437bfbebSnyanmisaka RK_U32 sw_adp_gain2 : 7; 1011*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 1012*437bfbebSnyanmisaka RK_U32 sw_adp_gain3 : 7; 1013*437bfbebSnyanmisaka RK_U32 reserved2 : 1; 1014*437bfbebSnyanmisaka RK_U32 sw_adp_gain4 : 7; 1015*437bfbebSnyanmisaka } reg114; // 0x03C8 1016*437bfbebSnyanmisaka 1017*437bfbebSnyanmisaka struct { 1018*437bfbebSnyanmisaka RK_U32 sw_adp_slp01 : 11; 1019*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 1020*437bfbebSnyanmisaka RK_U32 sw_adp_slp12 : 11; 1021*437bfbebSnyanmisaka } reg115; // 0x03CC 1022*437bfbebSnyanmisaka 1023*437bfbebSnyanmisaka RK_U32 reg_116_127[12]; 1024*437bfbebSnyanmisaka 1025*437bfbebSnyanmisaka struct { 1026*437bfbebSnyanmisaka RK_U32 sw_adp_slp23 : 11; 1027*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 1028*437bfbebSnyanmisaka RK_U32 sw_adp_slp34 : 11; 1029*437bfbebSnyanmisaka } reg128; // 0x0400 1030*437bfbebSnyanmisaka 1031*437bfbebSnyanmisaka struct { 1032*437bfbebSnyanmisaka RK_U32 sw_adp_slp45 : 11; 1033*437bfbebSnyanmisaka RK_U32 sw_var_idx0 : 8; 1034*437bfbebSnyanmisaka RK_U32 reserved1 : 2; 1035*437bfbebSnyanmisaka RK_U32 sw_var_idx1 : 8; 1036*437bfbebSnyanmisaka } reg129; // 0x0404 1037*437bfbebSnyanmisaka 1038*437bfbebSnyanmisaka struct { 1039*437bfbebSnyanmisaka RK_U32 sw_var_idx2 : 8; 1040*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 1041*437bfbebSnyanmisaka RK_U32 sw_var_idx3 : 8; 1042*437bfbebSnyanmisaka RK_U32 reserved2 : 4; 1043*437bfbebSnyanmisaka RK_U32 sw_var_gain0 : 7; 1044*437bfbebSnyanmisaka } reg130; // 0x0408 1045*437bfbebSnyanmisaka 1046*437bfbebSnyanmisaka struct { 1047*437bfbebSnyanmisaka RK_U32 sw_var_gain1 : 7; 1048*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 1049*437bfbebSnyanmisaka RK_U32 sw_var_gain2 : 7; 1050*437bfbebSnyanmisaka RK_U32 reserved2 : 1; 1051*437bfbebSnyanmisaka RK_U32 sw_var_gain3 : 7; 1052*437bfbebSnyanmisaka RK_U32 reserved3 : 1; 1053*437bfbebSnyanmisaka RK_U32 sw_var_gain4 : 7; 1054*437bfbebSnyanmisaka } reg131; // 0x040C 1055*437bfbebSnyanmisaka 1056*437bfbebSnyanmisaka struct { 1057*437bfbebSnyanmisaka RK_U32 sw_var_slp01 : 11; 1058*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 1059*437bfbebSnyanmisaka RK_U32 sw_var_slp12 : 11; 1060*437bfbebSnyanmisaka } reg132; // 0x0410 1061*437bfbebSnyanmisaka 1062*437bfbebSnyanmisaka struct { 1063*437bfbebSnyanmisaka RK_U32 sw_var_slp23 : 11; 1064*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 1065*437bfbebSnyanmisaka RK_U32 sw_var_slp34 : 11; 1066*437bfbebSnyanmisaka } reg133; // 0x0414 1067*437bfbebSnyanmisaka 1068*437bfbebSnyanmisaka struct { 1069*437bfbebSnyanmisaka RK_U32 sw_var_slp45 : 11; 1070*437bfbebSnyanmisaka RK_U32 reserved1 : 5; 1071*437bfbebSnyanmisaka RK_U32 sw_lum_select : 2; 1072*437bfbebSnyanmisaka RK_U32 reserved2 : 2; 1073*437bfbebSnyanmisaka RK_U32 sw_lum_idx0 : 8; 1074*437bfbebSnyanmisaka } reg134; // 0x0418 1075*437bfbebSnyanmisaka 1076*437bfbebSnyanmisaka struct { 1077*437bfbebSnyanmisaka RK_U32 sw_lum_idx1 : 8; 1078*437bfbebSnyanmisaka RK_U32 reserved1 : 2; 1079*437bfbebSnyanmisaka RK_U32 sw_lum_idx2 : 8; 1080*437bfbebSnyanmisaka RK_U32 reserved2 : 2; 1081*437bfbebSnyanmisaka RK_U32 sw_lum_idx3 : 8; 1082*437bfbebSnyanmisaka } reg135; // 0x041C 1083*437bfbebSnyanmisaka 1084*437bfbebSnyanmisaka struct { 1085*437bfbebSnyanmisaka RK_U32 sw_lum_gain0 : 7; 1086*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 1087*437bfbebSnyanmisaka RK_U32 sw_lum_gain1 : 7; 1088*437bfbebSnyanmisaka RK_U32 reserved2 : 1; 1089*437bfbebSnyanmisaka RK_U32 sw_lum_gain2 : 7; 1090*437bfbebSnyanmisaka RK_U32 reserved3 : 1; 1091*437bfbebSnyanmisaka RK_U32 sw_lum_gain3 : 7; 1092*437bfbebSnyanmisaka } reg136; // 0x0420 1093*437bfbebSnyanmisaka 1094*437bfbebSnyanmisaka struct { 1095*437bfbebSnyanmisaka RK_U32 sw_lum_gain4 : 7; 1096*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 1097*437bfbebSnyanmisaka RK_U32 sw_lum_slp01 : 11; 1098*437bfbebSnyanmisaka RK_U32 reserved2 : 1; 1099*437bfbebSnyanmisaka RK_U32 sw_lum_slp12 : 11; 1100*437bfbebSnyanmisaka } reg137; // 0x0424 1101*437bfbebSnyanmisaka 1102*437bfbebSnyanmisaka struct { 1103*437bfbebSnyanmisaka RK_U32 sw_lum_slp23 : 11; 1104*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 1105*437bfbebSnyanmisaka RK_U32 sw_lum_slp34 : 11; 1106*437bfbebSnyanmisaka } reg138; // 0x0428 1107*437bfbebSnyanmisaka 1108*437bfbebSnyanmisaka struct { 1109*437bfbebSnyanmisaka RK_U32 sw_lum_slp45 : 11; 1110*437bfbebSnyanmisaka } reg139; // 0x042C 1111*437bfbebSnyanmisaka 1112*437bfbebSnyanmisaka struct { 1113*437bfbebSnyanmisaka RK_U32 sw_adj_point_x0 : 8; 1114*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 1115*437bfbebSnyanmisaka RK_U32 sw_adj_point_y0 : 8; 1116*437bfbebSnyanmisaka RK_U32 reserved2 : 4; 1117*437bfbebSnyanmisaka RK_U32 sw_adj_scaling_coef0 : 3; 1118*437bfbebSnyanmisaka } reg140; // 0x0430 1119*437bfbebSnyanmisaka 1120*437bfbebSnyanmisaka struct { 1121*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab0_0 : 5; 1122*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab0_1 : 5; 1123*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab0_2 : 5; 1124*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab0_3 : 5; 1125*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab0_4 : 5; 1126*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab0_5 : 5; 1127*437bfbebSnyanmisaka } reg141; // 0x0434 1128*437bfbebSnyanmisaka 1129*437bfbebSnyanmisaka struct { 1130*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab0_6 : 5; 1131*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab0_7 : 5; 1132*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab0_8 : 5; 1133*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab0_9 : 5; 1134*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab0_10 : 5; 1135*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab0_11 : 5; 1136*437bfbebSnyanmisaka } reg142; // 0x0438 1137*437bfbebSnyanmisaka 1138*437bfbebSnyanmisaka struct { 1139*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab0_12 : 5; 1140*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab0_13 : 5; 1141*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab0_14 : 5; 1142*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab0_15 : 5; 1143*437bfbebSnyanmisaka } reg143; // 0x043C 1144*437bfbebSnyanmisaka 1145*437bfbebSnyanmisaka struct { 1146*437bfbebSnyanmisaka RK_U32 sw_adj_point_x1 : 8; 1147*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 1148*437bfbebSnyanmisaka RK_U32 sw_adj_point_y1 : 8; 1149*437bfbebSnyanmisaka RK_U32 reserved2 : 4; 1150*437bfbebSnyanmisaka RK_U32 sw_adj_scaling_coef1 : 3; 1151*437bfbebSnyanmisaka } reg144; // 0x0440 1152*437bfbebSnyanmisaka 1153*437bfbebSnyanmisaka struct { 1154*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab1_0 : 5; 1155*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab1_1 : 5; 1156*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab1_2 : 5; 1157*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab1_3 : 5; 1158*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab1_4 : 5; 1159*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab1_5 : 5; 1160*437bfbebSnyanmisaka } reg145; // 0x0444 1161*437bfbebSnyanmisaka 1162*437bfbebSnyanmisaka struct { 1163*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab1_6 : 5; 1164*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab1_7 : 5; 1165*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab1_8 : 5; 1166*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab1_9 : 5; 1167*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab1_10 : 5; 1168*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab1_11 : 5; 1169*437bfbebSnyanmisaka } reg146; // 0x0448 1170*437bfbebSnyanmisaka 1171*437bfbebSnyanmisaka struct { 1172*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab1_12 : 5; 1173*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab1_13 : 5; 1174*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab1_14 : 5; 1175*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab1_15 : 5; 1176*437bfbebSnyanmisaka } reg147; // 0x044C 1177*437bfbebSnyanmisaka 1178*437bfbebSnyanmisaka struct { 1179*437bfbebSnyanmisaka RK_U32 sw_adj_point_x2 : 8; 1180*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 1181*437bfbebSnyanmisaka RK_U32 sw_adj_point_y2 : 8; 1182*437bfbebSnyanmisaka RK_U32 reserved2 : 4; 1183*437bfbebSnyanmisaka RK_U32 sw_adj_scaling_coef2 : 3; 1184*437bfbebSnyanmisaka } reg148; // 0x0450 1185*437bfbebSnyanmisaka 1186*437bfbebSnyanmisaka struct { 1187*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab2_0 : 5; 1188*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab2_1 : 5; 1189*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab2_2 : 5; 1190*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab2_3 : 5; 1191*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab2_4 : 5; 1192*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab2_5 : 5; 1193*437bfbebSnyanmisaka } reg149; // 0x0454 1194*437bfbebSnyanmisaka 1195*437bfbebSnyanmisaka struct { 1196*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab2_6 : 5; 1197*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab2_7 : 5; 1198*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab2_8 : 5; 1199*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab2_9 : 5; 1200*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab2_10 : 5; 1201*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab2_11 : 5; 1202*437bfbebSnyanmisaka } reg150; // 0x0458 1203*437bfbebSnyanmisaka 1204*437bfbebSnyanmisaka struct { 1205*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab2_12 : 5; 1206*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab2_13 : 5; 1207*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab2_14 : 5; 1208*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab2_15 : 5; 1209*437bfbebSnyanmisaka } reg151; // 0x045C 1210*437bfbebSnyanmisaka 1211*437bfbebSnyanmisaka struct { 1212*437bfbebSnyanmisaka RK_U32 sw_adj_point_x3 : 8; 1213*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 1214*437bfbebSnyanmisaka RK_U32 sw_adj_point_y3 : 8; 1215*437bfbebSnyanmisaka RK_U32 reserved2 : 4; 1216*437bfbebSnyanmisaka RK_U32 sw_adj_scaling_coef3 : 3; 1217*437bfbebSnyanmisaka } reg152; // 0x0460 1218*437bfbebSnyanmisaka 1219*437bfbebSnyanmisaka struct { 1220*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab3_0 : 5; 1221*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab3_1 : 5; 1222*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab3_2 : 5; 1223*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab3_3 : 5; 1224*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab3_4 : 5; 1225*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab3_5 : 5; 1226*437bfbebSnyanmisaka } reg153; // 0x0464 1227*437bfbebSnyanmisaka 1228*437bfbebSnyanmisaka struct { 1229*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab3_6 : 5; 1230*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab3_7 : 5; 1231*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab3_8 : 5; 1232*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab3_9 : 5; 1233*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab3_10 : 5; 1234*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab3_11 : 5; 1235*437bfbebSnyanmisaka } reg154; // 0x0468 1236*437bfbebSnyanmisaka 1237*437bfbebSnyanmisaka struct { 1238*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab3_12 : 5; 1239*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab3_13 : 5; 1240*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab3_14 : 5; 1241*437bfbebSnyanmisaka RK_U32 sw_coloradj_tab3_15 : 5; 1242*437bfbebSnyanmisaka } reg155; // 0x046C 1243*437bfbebSnyanmisaka 1244*437bfbebSnyanmisaka struct { 1245*437bfbebSnyanmisaka RK_U32 sw_idxmode_select : 1; 1246*437bfbebSnyanmisaka RK_U32 sw_ymode_select : 2; 1247*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 1248*437bfbebSnyanmisaka RK_U32 sw_tex_idx0 : 8; 1249*437bfbebSnyanmisaka RK_U32 reserved2 : 4; 1250*437bfbebSnyanmisaka RK_U32 sw_tex_idx1 : 8; 1251*437bfbebSnyanmisaka } reg156; // 0x0470 1252*437bfbebSnyanmisaka 1253*437bfbebSnyanmisaka struct { 1254*437bfbebSnyanmisaka RK_U32 sw_tex_idx2 : 8; 1255*437bfbebSnyanmisaka RK_U32 reserved1 : 4; 1256*437bfbebSnyanmisaka RK_U32 sw_tex_idx3 : 8; 1257*437bfbebSnyanmisaka RK_U32 reserved2 : 4; 1258*437bfbebSnyanmisaka RK_U32 sw_tex_gain0 : 7; 1259*437bfbebSnyanmisaka } reg157; // 0x0474 1260*437bfbebSnyanmisaka 1261*437bfbebSnyanmisaka struct { 1262*437bfbebSnyanmisaka RK_U32 sw_tex_gain1 : 7; 1263*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 1264*437bfbebSnyanmisaka RK_U32 sw_tex_gain2 : 7; 1265*437bfbebSnyanmisaka RK_U32 reserved2 : 1; 1266*437bfbebSnyanmisaka RK_U32 sw_tex_gain3 : 7; 1267*437bfbebSnyanmisaka RK_U32 reserved3 : 1; 1268*437bfbebSnyanmisaka RK_U32 sw_tex_gain4 : 7; 1269*437bfbebSnyanmisaka } reg158; // 0x0478 1270*437bfbebSnyanmisaka 1271*437bfbebSnyanmisaka struct { 1272*437bfbebSnyanmisaka RK_U32 sw_tex_slp01 : 11; 1273*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 1274*437bfbebSnyanmisaka RK_U32 sw_tex_slp12 : 11; 1275*437bfbebSnyanmisaka } reg159; // 0x047C 1276*437bfbebSnyanmisaka 1277*437bfbebSnyanmisaka struct { 1278*437bfbebSnyanmisaka RK_U32 sw_tex_slp23 : 11; 1279*437bfbebSnyanmisaka RK_U32 reserved1 : 1; 1280*437bfbebSnyanmisaka RK_U32 sw_tex_slp34 : 11; 1281*437bfbebSnyanmisaka } reg160; // 0x0480 1282*437bfbebSnyanmisaka 1283*437bfbebSnyanmisaka struct { 1284*437bfbebSnyanmisaka RK_U32 sw_tex_slp45 : 11; 1285*437bfbebSnyanmisaka } reg161; // 0x0484 1286*437bfbebSnyanmisaka 1287*437bfbebSnyanmisaka struct { 1288*437bfbebSnyanmisaka RK_U32 sw_ltih_radius : 1; 1289*437bfbebSnyanmisaka RK_U32 reserved1 : 3; 1290*437bfbebSnyanmisaka RK_U32 sw_ltih_slp1 : 9; 1291*437bfbebSnyanmisaka RK_U32 reserved2 : 3; 1292*437bfbebSnyanmisaka RK_U32 sw_ltih_thr1 : 9; 1293*437bfbebSnyanmisaka } reg162; // 0x0488 1294*437bfbebSnyanmisaka 1295*437bfbebSnyanmisaka struct { 1296*437bfbebSnyanmisaka RK_U32 sw_ltih_noisethrneg : 10; 1297*437bfbebSnyanmisaka RK_U32 reserved1 : 2; 1298*437bfbebSnyanmisaka RK_U32 sw_ltih_noisethrpos : 10; 1299*437bfbebSnyanmisaka RK_U32 reserved2 : 2; 1300*437bfbebSnyanmisaka RK_U32 sw_ltih_tigain : 5; 1301*437bfbebSnyanmisaka } reg163; // 0x048C 1302*437bfbebSnyanmisaka 1303*437bfbebSnyanmisaka struct { 1304*437bfbebSnyanmisaka RK_U32 sw_ltiv_radius : 1; 1305*437bfbebSnyanmisaka RK_U32 reserved1 : 3; 1306*437bfbebSnyanmisaka RK_U32 sw_ltiv_slp1 : 9; 1307*437bfbebSnyanmisaka RK_U32 reserved2 : 3; 1308*437bfbebSnyanmisaka RK_U32 sw_ltiv_thr1 : 9; 1309*437bfbebSnyanmisaka } reg164; // 0x0490 1310*437bfbebSnyanmisaka 1311*437bfbebSnyanmisaka struct { 1312*437bfbebSnyanmisaka RK_U32 sw_ltiv_noisethrneg : 10; 1313*437bfbebSnyanmisaka RK_U32 reserved1 : 2; 1314*437bfbebSnyanmisaka RK_U32 sw_ltiv_noisethrpos : 10; 1315*437bfbebSnyanmisaka RK_U32 reserved2 : 2; 1316*437bfbebSnyanmisaka RK_U32 sw_ltiv_tigain : 5; 1317*437bfbebSnyanmisaka } reg165; // 0x0494 1318*437bfbebSnyanmisaka 1319*437bfbebSnyanmisaka struct { 1320*437bfbebSnyanmisaka RK_U32 sw_ctih_radius : 1; 1321*437bfbebSnyanmisaka RK_U32 reserved1 : 3; 1322*437bfbebSnyanmisaka RK_U32 sw_ctih_slp1 : 9; 1323*437bfbebSnyanmisaka RK_U32 reserved2 : 3; 1324*437bfbebSnyanmisaka RK_U32 sw_ctih_thr1 : 9; 1325*437bfbebSnyanmisaka } reg166; // 0x0498 1326*437bfbebSnyanmisaka 1327*437bfbebSnyanmisaka struct { 1328*437bfbebSnyanmisaka RK_U32 sw_ctih_noisethrneg : 10; 1329*437bfbebSnyanmisaka RK_U32 reserved1 : 2; 1330*437bfbebSnyanmisaka RK_U32 sw_ctih_noisethrpos : 10; 1331*437bfbebSnyanmisaka RK_U32 reserved2 : 2; 1332*437bfbebSnyanmisaka RK_U32 sw_ctih_tigain : 5; 1333*437bfbebSnyanmisaka } reg167; // 0x049C 1334*437bfbebSnyanmisaka 1335*437bfbebSnyanmisaka RK_U32 reg_168_169[2]; 1336*437bfbebSnyanmisaka 1337*437bfbebSnyanmisaka struct { 1338*437bfbebSnyanmisaka RK_U32 sw_ink_mode : 4; 1339*437bfbebSnyanmisaka } reg170; // 0x04A8 1340*437bfbebSnyanmisaka 1341*437bfbebSnyanmisaka RK_U32 reg171; 1342*437bfbebSnyanmisaka 1343*437bfbebSnyanmisaka } sharp; // offset: 0x1200 1344*437bfbebSnyanmisaka 1345*437bfbebSnyanmisaka }; 1346*437bfbebSnyanmisaka 1347*437bfbebSnyanmisaka #endif 1348