1346 lines
39 KiB
C
1346 lines
39 KiB
C
/* SPDX-License-Identifier: Apache-2.0 OR MIT */
|
|
/*
|
|
* Copyright (c) 2024 Rockchip Electronics Co., Ltd.
|
|
*/
|
|
|
|
#ifndef VDPP2_REG_H
|
|
#define VDPP2_REG_H
|
|
|
|
#include "vdpp_reg.h"
|
|
|
|
#define VDPP2_REG_OFF_DMSR (0x0080) // 0x1080
|
|
#define VDPP2_REG_OFF_DCI_HIST (0x00E0) // 0x10E0
|
|
#define VDPP2_REG_OFF_ES (0x0100) // 0x1100
|
|
#define VDPP2_REG_OFF_SHARP (0x0200) // 0x1200
|
|
#define VDPP2_REG_OFF_YRGB_HOR_COE (0x2000)
|
|
#define VDPP2_REG_OFF_YRGB_VER_COE (0x2200)
|
|
#define VDPP2_REG_OFF_CBCR_HOR_COE (0x2400)
|
|
#define VDPP2_REG_OFF_CBCR_VER_COE (0x2600)
|
|
#define VDPP2_REG_OFF_ZME_COMMON (0x2800)
|
|
|
|
typedef struct vdpp2_com2_reg {
|
|
struct {
|
|
RK_U32 sw_vep_frm_en : 1;
|
|
} reg0; // 0x0000
|
|
|
|
struct {
|
|
RK_U32 sw_vep_src_fmt : 2;
|
|
RK_U32 sw_reserved_1 : 2;
|
|
RK_U32 sw_vep_src_yuv_swap : 2;
|
|
RK_U32 sw_reserved_2 : 2;
|
|
RK_U32 sw_vep_dst_fmt : 2;
|
|
RK_U32 sw_vep_yuvout_diff_en : 1;
|
|
RK_U32 sw_reserved_3 : 1;
|
|
RK_U32 sw_vep_dst_yuv_swap : 2;
|
|
RK_U32 sw_reserved_4 : 2;
|
|
RK_U32 sw_vep_debug_data_en : 1;
|
|
RK_U32 sw_reserved_5 : 3;
|
|
RK_U32 sw_vep_rst_protect_dis : 1;
|
|
RK_U32 sys_vep_sreset_p : 1;
|
|
RK_U32 sw_vep_init_dis : 1;
|
|
RK_U32 sw_reserved_6 : 1;
|
|
RK_U32 sw_vep_dbmsr_en : 1;
|
|
RK_U32 sw_dci_en : 1;
|
|
} reg1; // 0x0004
|
|
|
|
struct {
|
|
RK_U32 sw_vdpp_working_mode : 2;
|
|
} reg2; // 0x0008
|
|
|
|
struct {
|
|
RK_U32 sw_vep_arqos_en : 1;
|
|
RK_U32 sw_vep_awqos_en : 1;
|
|
RK_U32 sw_reserved_1 : 2;
|
|
RK_U32 sw_ar_mmu_qos3 : 4;
|
|
} reg3; // 0x000C
|
|
|
|
struct {
|
|
RK_U32 sw_vep_clk_on : 1;
|
|
RK_U32 sw_md_clk_on : 1;
|
|
RK_U32 sw_dect_clk_on : 1;
|
|
RK_U32 sw_me_clk_on : 1;
|
|
RK_U32 sw_mc_clk_on : 1;
|
|
RK_U32 sw_eedi_clk_on : 1;
|
|
RK_U32 sw_ble_clk_on : 1;
|
|
RK_U32 sw_out_clk_on : 1;
|
|
RK_U32 sw_ctrl_clk_on : 1;
|
|
RK_U32 sw_ram_clk_on : 1;
|
|
RK_U32 sw_dma_clk_on : 1;
|
|
RK_U32 sw_reg_clk_on : 1;
|
|
} reg4; // 0x0010
|
|
|
|
struct {
|
|
RK_U32 ro_arst_finish_done : 1;
|
|
} reg5; // 0x0014
|
|
|
|
struct {
|
|
RK_U32 sw_ar_y_qos1 : 4;
|
|
RK_U32 sw_ar_y_qos2 : 4;
|
|
RK_U32 sw_ar_uv_qos1 : 4;
|
|
RK_U32 sw_ar_uv_qos2 : 4;
|
|
} reg6; // 0x0018
|
|
|
|
struct {
|
|
RK_U32 sw_aw_id7_qos : 4;
|
|
RK_U32 sw_aw_id8_qos : 4;
|
|
RK_U32 sw_aw_id9_qos : 4;
|
|
RK_U32 sw_aw_id10_qos : 4;
|
|
} reg7; // 0x001c
|
|
|
|
struct {
|
|
RK_U32 sw_vep_frm_done_en : 1;
|
|
RK_U32 sw_vep_osd_max_en : 1;
|
|
RK_U32 sw_reserved_1 : 2;
|
|
RK_U32 sw_vep_bus_error_en : 1;
|
|
RK_U32 sw_vep_timeout_int_en : 1;
|
|
RK_U32 sw_vep_config_error_en : 1;
|
|
} reg8; // 0x0020
|
|
|
|
struct {
|
|
RK_U32 sw_vep_frm_done_clr : 1;
|
|
RK_U32 sw_vep_osd_max_clr : 1;
|
|
RK_U32 sw_reserved_1 : 2;
|
|
RK_U32 sw_vep_bus_error_clr : 1;
|
|
RK_U32 sw_vep_timeout_int_clr : 1;
|
|
RK_U32 sw_vep_config_error_clr : 1;
|
|
} reg9; // 0x0024
|
|
|
|
struct {
|
|
RK_U32 ro_frm_done_sts : 1;
|
|
RK_U32 ro_osd_max_sts : 1;
|
|
RK_U32 sw_reserved_1 : 2;
|
|
RK_U32 ro_bus_error_sts : 1;
|
|
RK_U32 ro_timeout_sts : 1;
|
|
RK_U32 ro_config_error_sts : 1;
|
|
} reg10; // 0x0028, read only
|
|
|
|
struct {
|
|
RK_U32 ro_frm_done_raw : 1;
|
|
RK_U32 ro_osd_max_raw : 1;
|
|
RK_U32 sw_reserved_1 : 2;
|
|
RK_U32 ro_bus_error_raw : 1;
|
|
RK_U32 ro_timeout_raw : 1;
|
|
RK_U32 ro_config_error_raw : 1;
|
|
} reg11; // 0x002C, read only
|
|
|
|
struct {
|
|
RK_U32 sw_vep_src_vir_y_stride : 16;
|
|
} reg12; // 0x0030
|
|
|
|
struct {
|
|
RK_U32 sw_vep_dst_vir_y_stride : 16;
|
|
RK_U32 sw_vep_dst_vir_c_stride : 16;
|
|
} reg13; // 0x0034
|
|
|
|
struct {
|
|
RK_U32 sw_vep_src_pic_width : 11;
|
|
RK_U32 sw_reserved_1 : 1;
|
|
RK_U32 sw_vep_src_right_redundant : 4;
|
|
RK_U32 sw_vep_src_pic_height : 11;
|
|
RK_U32 sw_reserved_2 : 1;
|
|
RK_U32 sw_vep_src_down_redundant : 3;
|
|
} reg14; // 0x0038
|
|
|
|
struct {
|
|
RK_U32 sw_vep_dst_pic_width : 11;
|
|
RK_U32 sw_reserved_1 : 1;
|
|
RK_U32 sw_vep_dst_right_redundant : 4;
|
|
RK_U32 sw_vep_dst_pic_height : 11;
|
|
} reg15; // 0x003C
|
|
|
|
struct {
|
|
RK_U32 sw_vep_dst_pic_width_c : 11;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_vep_dst_right_redundant_c : 4;
|
|
RK_U32 sw_vep_dst_pic_height_c : 11;
|
|
} reg16; // 0x0040
|
|
|
|
RK_U32 reg17; // 0x0044
|
|
RK_U32 reg18; // 0x0048
|
|
RK_U32 reg19; // 0x004C
|
|
|
|
struct {
|
|
RK_U32 sw_vep_timeout_cnt : 31;
|
|
RK_U32 sw_vep_timeout_en : 1;
|
|
} reg20; // 0x0050
|
|
|
|
struct {
|
|
RK_U32 svnbuild : 20;
|
|
RK_U32 minor : 8;
|
|
RK_U32 major : 4;
|
|
} reg21; // 0x0054
|
|
|
|
struct {
|
|
RK_U32 dbg_frm_cnt : 16;
|
|
} reg22; // 0x0058
|
|
|
|
RK_U32 reg23; // 0x005C
|
|
|
|
struct {
|
|
RK_U32 sw_vep_src_addr_y : 32;
|
|
} reg24; // 0x0060
|
|
|
|
struct {
|
|
RK_U32 sw_vep_src_addr_uv : 32;
|
|
} reg25; // 0x0064
|
|
|
|
struct {
|
|
RK_U32 sw_vep_dst_addr_y : 32;
|
|
} reg26; // 0x0068
|
|
|
|
struct {
|
|
RK_U32 sw_vep_dst_addr_uv : 32;
|
|
} reg27; // 0x006C
|
|
} RegCom2; // 0x0000 ~ 0x006C, 28 regs
|
|
|
|
typedef struct vdpp2_hist_reg {
|
|
struct {
|
|
RK_U32 sw_dci_yrgb_addr : 32;
|
|
} reg0; // 0x00E0
|
|
|
|
struct {
|
|
RK_U32 sw_dci_yrgb_vir_stride : 16;
|
|
RK_U32 sw_dci_yrgb_gather_num : 4;
|
|
RK_U32 sw_dci_yrgb_gather_en : 1;
|
|
} reg1; // 0x00E4
|
|
|
|
struct {
|
|
RK_U32 sw_vep_src_pic_width : 12;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_vep_src_pic_height : 12;
|
|
} reg2; // 0x00E8
|
|
|
|
struct {
|
|
RK_U32 sw_dci_data_format : 3;
|
|
RK_U32 sw_dci_csc_range : 1;
|
|
RK_U32 sw_dci_vsd_mode : 2;
|
|
RK_U32 sw_dci_hsd_mode : 1;
|
|
RK_U32 sw_dci_alpha_swap : 1;
|
|
RK_U32 sw_dci_rb_swap : 1;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_dci_blk_hsize : 8;
|
|
RK_U32 sw_dci_blk_vsize : 8;
|
|
} reg3; // 0x00EC
|
|
|
|
struct {
|
|
RK_U32 sw_dci_hist_addr : 32;
|
|
} reg4; // 0x00F0
|
|
} RegHist; // 0x10E0 -> 0x00F0, 5 regs
|
|
|
|
typedef struct vdpp2_es_reg {
|
|
struct {
|
|
RK_U32 es_enable : 1;
|
|
} reg0; // 0x0100
|
|
|
|
struct {
|
|
RK_U32 flat_th : 8;
|
|
RK_U32 dir_th : 8;
|
|
} reg1; // 0x0104
|
|
|
|
struct {
|
|
RK_U32 tan_hi_th : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 tan_lo_th : 9;
|
|
} reg2; // 0x0108
|
|
|
|
struct {
|
|
RK_U32 ep_chk_en : 1;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 mem_gat_en : 1;
|
|
} reg3; // 0x010C
|
|
|
|
struct {
|
|
RK_U32 diff_gain0 : 16;
|
|
RK_U32 diff_limit : 16;
|
|
} reg4; // 0x0110
|
|
|
|
struct {
|
|
RK_U32 lut_x0 : 16;
|
|
RK_U32 diff_gain1 : 16;
|
|
} reg5; // 0x0114
|
|
|
|
struct {
|
|
RK_U32 lut_x2 : 16;
|
|
RK_U32 lut_x1 : 16;
|
|
} reg6; // 0x0118
|
|
|
|
struct {
|
|
RK_U32 lut_x4 : 16;
|
|
RK_U32 lut_x3 : 16;
|
|
} reg7; // 0x011C
|
|
|
|
struct {
|
|
RK_U32 lut_x6 : 16;
|
|
RK_U32 lut_x5 : 16;
|
|
} reg8; // 0x0120
|
|
|
|
struct {
|
|
RK_U32 lut_x8 : 16;
|
|
RK_U32 lut_x7 : 16;
|
|
} reg9; // 0x0124
|
|
|
|
struct {
|
|
RK_U32 lut_y0 : 8;
|
|
RK_U32 lut_y1 : 8;
|
|
RK_U32 lut_y2 : 8;
|
|
RK_U32 lut_y3 : 8;
|
|
} reg10; // 0x0128
|
|
|
|
struct {
|
|
RK_U32 lut_y4 : 8;
|
|
RK_U32 lut_y5 : 8;
|
|
RK_U32 lut_y6 : 8;
|
|
RK_U32 lut_y7 : 8;
|
|
} reg11; // 0x012C
|
|
|
|
struct {
|
|
RK_U32 lut_y8 : 8;
|
|
} reg12; // 0x0130
|
|
|
|
struct {
|
|
RK_U32 lut_k0 : 8;
|
|
RK_U32 lut_k1 : 8;
|
|
RK_U32 lut_k2 : 8;
|
|
RK_U32 lut_k3 : 8;
|
|
} reg13; // 0x0134
|
|
|
|
struct {
|
|
RK_U32 lut_k4 : 8;
|
|
RK_U32 lut_k5 : 8;
|
|
RK_U32 lut_k6 : 8;
|
|
RK_U32 lut_k7 : 8;
|
|
} reg14; // 0x0138
|
|
|
|
struct {
|
|
RK_U32 wgt_decay : 8;
|
|
RK_U32 wgt_gain : 8;
|
|
} reg15; // 0x013C
|
|
|
|
struct {
|
|
RK_U32 conf_mean_th : 8;
|
|
RK_U32 conf_cnt_th : 4;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 low_conf_ratio : 8;
|
|
RK_U32 low_conf_th : 8;
|
|
} reg16; // 0x0140
|
|
|
|
struct {
|
|
RK_U32 ink_en : 1;
|
|
RK_U32 reserved1 : 3;
|
|
RK_U32 ink_mode : 4;
|
|
} reg17; // 0x0144
|
|
|
|
RK_U32 reg_018_027[10];
|
|
|
|
struct {
|
|
RK_U32 in_rdy : 1;
|
|
RK_U32 reserved1 : 3;
|
|
RK_U32 mem_in_vsync : 1;
|
|
RK_U32 reserved2 : 3;
|
|
RK_U32 in_hsync : 1;
|
|
RK_U32 reserved3 : 3;
|
|
RK_U32 in_vld : 1;
|
|
RK_U32 reserved4 : 3;
|
|
RK_U32 mem_in_line_cnt : 11;
|
|
} reg28; // 0x0170
|
|
|
|
struct {
|
|
RK_U32 in_pix : 16;
|
|
RK_U32 in_dir : 6;
|
|
RK_U32 reserved1 : 2;
|
|
RK_U32 in_flat : 2;
|
|
} reg29; // 0x0174
|
|
|
|
struct {
|
|
RK_U32 out_rdy : 1;
|
|
RK_U32 reserved1 : 3;
|
|
RK_U32 out_vsync : 1;
|
|
RK_U32 reserved2 : 3;
|
|
RK_U32 out_hsync : 1;
|
|
RK_U32 reserved3 : 3;
|
|
RK_U32 out_vld : 1;
|
|
RK_U32 reserved4 : 3;
|
|
RK_U32 out_line_cnt : 11;
|
|
} reg30; // 0x0178
|
|
|
|
struct {
|
|
RK_U32 out_pix : 16;
|
|
} reg31; // 0x017C
|
|
|
|
} RegEs; // 0x1100 ~ 0x117C, 32 regs
|
|
|
|
typedef struct vdpp2_shp_reg {
|
|
struct {
|
|
RK_U32 sw_sharp_enable : 1;
|
|
RK_U32 sw_lti_enable : 1;
|
|
RK_U32 sw_cti_enable : 1;
|
|
RK_U32 sw_peaking_enable : 1;
|
|
RK_U32 sw_peaking_ctrl_enable : 1;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_edge_proc_enable : 1;
|
|
RK_U32 sw_shoot_ctrl_enable : 1;
|
|
RK_U32 sw_gain_ctrl_enable : 1;
|
|
RK_U32 sw_color_adj_enable : 1;
|
|
RK_U32 sw_texture_adj_enable: 1;
|
|
RK_U32 sw_coloradj_bypass_en: 1;
|
|
RK_U32 sw_ink_enable : 1;
|
|
RK_U32 sw_sharp_redundent_bypass : 1;
|
|
} reg0; // 0x0200
|
|
|
|
struct {
|
|
RK_U32 sw_mem_gating_en : 1;
|
|
RK_U32 sw_lti_gating_en : 1;
|
|
RK_U32 sw_cti_gating_en : 1;
|
|
RK_U32 sw_peaking_gating_en : 1;
|
|
RK_U32 sw_peaking_ctrl_gating_en : 1;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_edge_proc_gating_en : 1;
|
|
RK_U32 sw_shoot_ctrl_gating_en : 1;
|
|
RK_U32 sw_gain_ctrl_gating_en : 1;
|
|
RK_U32 sw_color_adj_gating_en : 1;
|
|
RK_U32 sw_texture_adj_gating_en : 1;
|
|
} reg1; // 0x0204
|
|
|
|
struct {
|
|
RK_U32 sw_peaking_v00 : 4;
|
|
RK_U32 sw_peaking_v01 : 4;
|
|
RK_U32 sw_peaking_v02 : 4;
|
|
RK_U32 sw_peaking_v10 : 4;
|
|
RK_U32 sw_peaking_v11 : 4;
|
|
RK_U32 sw_peaking_v12 : 4;
|
|
} reg2; // 0x0208
|
|
|
|
struct {
|
|
RK_U32 sw_peaking_v20 : 4;
|
|
RK_U32 sw_peaking_v21 : 4;
|
|
RK_U32 sw_peaking_v22 : 4;
|
|
RK_U32 sw_peaking_usm0 : 4;
|
|
RK_U32 sw_peaking_usm1 : 4;
|
|
RK_U32 sw_peaking_usm2 : 4;
|
|
RK_U32 sw_diag_coef : 3;
|
|
} reg3; // 0x020C
|
|
|
|
struct {
|
|
RK_U32 sw_peaking_h00 : 6;
|
|
RK_U32 reserved1 : 2;
|
|
RK_U32 sw_peaking_h01 : 6;
|
|
RK_U32 reserved2 : 2;
|
|
RK_U32 sw_peaking_h02 : 6;
|
|
} reg4; // 0x0210
|
|
|
|
RK_U32 reg5;
|
|
|
|
struct {
|
|
RK_U32 sw_peaking_h10 : 6;
|
|
RK_U32 reserved1 : 2;
|
|
RK_U32 sw_peaking_h11 : 6;
|
|
RK_U32 reserved2 : 2;
|
|
RK_U32 sw_peaking_h12 : 6;
|
|
} reg6; // 0x0218
|
|
|
|
RK_U32 reg7;
|
|
|
|
struct {
|
|
RK_U32 sw_peaking_h20 : 6;
|
|
RK_U32 reserved1 : 2;
|
|
RK_U32 sw_peaking_h21 : 6;
|
|
RK_U32 reserved2 : 2;
|
|
RK_U32 sw_peaking_h22 : 6;
|
|
} reg8; // 0x0220
|
|
|
|
RK_U32 reg_9_11[3];
|
|
|
|
struct {
|
|
RK_U32 sw_peaking0_idx_n0 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking0_idx_n1 : 9;
|
|
} reg12; // 0x0230
|
|
|
|
struct {
|
|
RK_U32 sw_peaking0_idx_n2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking0_idx_n3 : 9;
|
|
} reg13; // 0x0234
|
|
|
|
struct {
|
|
RK_U32 sw_peaking0_idx_p0 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking0_idx_p1 : 9;
|
|
} reg14; // 0x0238
|
|
|
|
struct {
|
|
RK_U32 sw_peaking0_idx_p2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking0_idx_p3 : 9;
|
|
} reg15; // 0x023C
|
|
|
|
struct {
|
|
RK_U32 sw_peaking0_value_n1 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking0_value_n2 : 9;
|
|
} reg16; // 0x0240
|
|
|
|
struct {
|
|
RK_U32 sw_peaking0_value_n3 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking0_value_p1 : 9;
|
|
} reg17; // 0x0244
|
|
|
|
struct {
|
|
RK_U32 sw_peaking0_value_p2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking0_value_p3 : 9;
|
|
} reg18; // 0x0248
|
|
|
|
struct {
|
|
RK_U32 sw_peaking0_ratio_n01: 12;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_peaking0_ratio_n12: 12;
|
|
} reg19; // 0x024C
|
|
|
|
struct {
|
|
RK_U32 sw_peaking0_ratio_n23: 12;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_peaking0_ratio_p01: 12;
|
|
} reg20; // 0x0250
|
|
|
|
struct {
|
|
RK_U32 sw_peaking0_ratio_p12: 12;
|
|
RK_U32 sw_peaking0_ratio_p23: 12;
|
|
} reg21; // 0x0254
|
|
|
|
RK_U32 reg22;
|
|
|
|
struct {
|
|
RK_U32 sw_peaking1_idx_n0 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking1_idx_n1 : 9;
|
|
} reg23; // 0x025C
|
|
|
|
struct {
|
|
RK_U32 sw_peaking1_idx_n2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking1_idx_n3 : 9;
|
|
} reg24; // 0x0260
|
|
|
|
struct {
|
|
RK_U32 sw_peaking1_idx_p0 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking1_idx_p1 : 9;
|
|
} reg25; // 0x0264
|
|
|
|
struct {
|
|
RK_U32 sw_peaking1_idx_p2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking1_idx_p3 : 9;
|
|
} reg26; // 0x0268
|
|
|
|
struct {
|
|
RK_U32 sw_peaking1_value_n1 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking1_value_n2 : 9;
|
|
} reg27; // 0x026C
|
|
|
|
struct {
|
|
RK_U32 sw_peaking1_value_n3 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking1_value_p1 : 9;
|
|
} reg28; // 0x0270
|
|
|
|
struct {
|
|
RK_U32 sw_peaking1_value_p2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking1_value_p3 : 9;
|
|
} reg29; // 0x0274
|
|
|
|
struct {
|
|
RK_U32 sw_peaking1_ratio_n01: 12;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_peaking1_ratio_n12: 12;
|
|
} reg30; // 0x0278
|
|
|
|
struct {
|
|
RK_U32 sw_peaking1_ratio_n23: 12;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_peaking1_ratio_p01: 12;
|
|
} reg31; // 0x027C
|
|
|
|
struct {
|
|
RK_U32 sw_peaking1_ratio_p12: 12;
|
|
RK_U32 sw_peaking1_ratio_p23: 12;
|
|
} reg32; // 0x0280
|
|
|
|
RK_U32 reg33;
|
|
|
|
struct {
|
|
RK_U32 sw_peaking2_idx_n0 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking2_idx_n1 : 9;
|
|
} reg34; // 0x0288
|
|
|
|
struct {
|
|
RK_U32 sw_peaking2_idx_n2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking2_idx_n3 : 9;
|
|
} reg35; // 0x028C
|
|
|
|
struct {
|
|
RK_U32 sw_peaking2_idx_p0 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking2_idx_p1 : 9;
|
|
} reg36; // 0x0290
|
|
|
|
struct {
|
|
RK_U32 sw_peaking2_idx_p2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking2_idx_p3 : 9;
|
|
} reg37; // 0x0294
|
|
|
|
struct {
|
|
RK_U32 sw_peaking2_value_n1 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking2_value_n2 : 9;
|
|
} reg38; // 0x0298
|
|
|
|
struct {
|
|
RK_U32 sw_peaking2_value_n3 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking2_value_p1 : 9;
|
|
} reg39; // 0x029C
|
|
|
|
struct {
|
|
RK_U32 sw_peaking2_value_p2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking2_value_p3 : 9;
|
|
} reg40; // 0x02A0
|
|
|
|
struct {
|
|
RK_U32 sw_peaking2_ratio_n01: 12;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_peaking2_ratio_n12: 12;
|
|
} reg41; // 0x02A4
|
|
|
|
struct {
|
|
RK_U32 sw_peaking2_ratio_n23: 12;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_peaking2_ratio_p01: 12;
|
|
} reg42; // 0x02A8
|
|
|
|
struct {
|
|
RK_U32 sw_peaking2_ratio_p12: 12;
|
|
RK_U32 sw_peaking2_ratio_p23: 12;
|
|
} reg43; // 0x02AC
|
|
|
|
RK_U32 reg44;
|
|
|
|
struct {
|
|
RK_U32 sw_peaking3_idx_n0 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking3_idx_n1 : 9;
|
|
} reg45; // 0x02B4
|
|
|
|
struct {
|
|
RK_U32 sw_peaking3_idx_n2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking3_idx_n3 : 9;
|
|
} reg46; // 0x02B8
|
|
|
|
struct {
|
|
RK_U32 sw_peaking3_idx_p0 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking3_idx_p1 : 9;
|
|
} reg47; // 0x02BC
|
|
|
|
struct {
|
|
RK_U32 sw_peaking3_idx_p2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking3_idx_p3 : 9;
|
|
} reg48; // 0x02C0
|
|
|
|
struct {
|
|
RK_U32 sw_peaking3_value_n1 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking3_value_n2 : 9;
|
|
} reg49; // 0x02C4
|
|
|
|
struct {
|
|
RK_U32 sw_peaking3_value_n3 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking3_value_p1 : 9;
|
|
} reg50; // 0x02C8
|
|
|
|
struct {
|
|
RK_U32 sw_peaking3_value_p2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking3_value_p3 : 9;
|
|
} reg51; // 0x02CC
|
|
|
|
struct {
|
|
RK_U32 sw_peaking3_ratio_n01: 12;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_peaking3_ratio_n12: 12;
|
|
} reg52; // 0x02D0
|
|
|
|
struct {
|
|
RK_U32 sw_peaking3_ratio_n23: 12;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_peaking3_ratio_p01: 12;
|
|
} reg53; // 0x02D4
|
|
|
|
struct {
|
|
RK_U32 sw_peaking3_ratio_p12: 12;
|
|
RK_U32 sw_peaking3_ratio_p23: 12;
|
|
} reg54; // 0x02D8
|
|
|
|
RK_U32 reg55;
|
|
|
|
struct {
|
|
RK_U32 sw_peaking4_idx_n0 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking4_idx_n1 : 9;
|
|
} reg56; // 0x02E0
|
|
|
|
struct {
|
|
RK_U32 sw_peaking4_idx_n2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking4_idx_n3 : 9;
|
|
} reg57; // 0x02E4
|
|
|
|
struct {
|
|
RK_U32 sw_peaking4_idx_p0 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking4_idx_p1 : 9;
|
|
} reg58; // 0x02E8
|
|
|
|
struct {
|
|
RK_U32 sw_peaking4_idx_p2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking4_idx_p3 : 9;
|
|
} reg59; // 0x02EC
|
|
|
|
struct {
|
|
RK_U32 sw_peaking4_value_n1 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking4_value_n2 : 9;
|
|
} reg60; // 0x02F0
|
|
|
|
struct {
|
|
RK_U32 sw_peaking4_value_n3 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking4_value_p1 : 9;
|
|
} reg61; // 0x02F4
|
|
|
|
struct {
|
|
RK_U32 sw_peaking4_value_p2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking4_value_p3 : 9;
|
|
} reg62; // 0x02F8
|
|
|
|
struct {
|
|
RK_U32 sw_peaking4_ratio_n01: 12;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_peaking4_ratio_n12: 12;
|
|
} reg63; // 0x02FC
|
|
|
|
struct {
|
|
RK_U32 sw_peaking4_ratio_n23: 12;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_peaking4_ratio_p01: 12;
|
|
} reg64; // 0x0300
|
|
|
|
struct {
|
|
RK_U32 sw_peaking4_ratio_p12: 12;
|
|
RK_U32 sw_peaking4_ratio_p23: 12;
|
|
} reg65; // 0x0304
|
|
|
|
RK_U32 reg66;
|
|
|
|
struct {
|
|
RK_U32 sw_peaking5_idx_n0 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking5_idx_n1 : 9;
|
|
} reg67; // 0x030C
|
|
|
|
struct {
|
|
RK_U32 sw_peaking5_idx_n2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking5_idx_n3 : 9;
|
|
} reg68; // 0x0310
|
|
|
|
struct {
|
|
RK_U32 sw_peaking5_idx_p0 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking5_idx_p1 : 9;
|
|
} reg69; // 0x0314
|
|
|
|
struct {
|
|
RK_U32 sw_peaking5_idx_p2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking5_idx_p3 : 9;
|
|
} reg70; // 0x0318
|
|
|
|
struct {
|
|
RK_U32 sw_peaking5_value_n1 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking5_value_n2 : 9;
|
|
} reg71; // 0x031C
|
|
|
|
struct {
|
|
RK_U32 sw_peaking5_value_n3 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking5_value_p1 : 9;
|
|
} reg72; // 0x0320
|
|
|
|
struct {
|
|
RK_U32 sw_peaking5_value_p2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking5_value_p3 : 9;
|
|
} reg73; // 0x0324
|
|
|
|
struct {
|
|
RK_U32 sw_peaking5_ratio_n01: 12;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_peaking5_ratio_n12: 12;
|
|
} reg74; // 0x0328
|
|
|
|
struct {
|
|
RK_U32 sw_peaking5_ratio_n23: 12;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_peaking5_ratio_p01: 12;
|
|
} reg75; // 0x032C
|
|
|
|
struct {
|
|
RK_U32 sw_peaking5_ratio_p12: 12;
|
|
RK_U32 sw_peaking5_ratio_p23: 12;
|
|
} reg76; // 0x0330
|
|
|
|
RK_U32 reg77;
|
|
|
|
struct {
|
|
RK_U32 sw_peaking6_idx_n0 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking6_idx_n1 : 9;
|
|
} reg78; // 0x0338
|
|
|
|
struct {
|
|
RK_U32 sw_peaking6_idx_n2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking6_idx_n3 : 9;
|
|
} reg79; // 0x033C
|
|
|
|
struct {
|
|
RK_U32 sw_peaking6_idx_p0 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking6_idx_p1 : 9;
|
|
} reg80; // 0x0340
|
|
|
|
struct {
|
|
RK_U32 sw_peaking6_idx_p2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking6_idx_p3 : 9;
|
|
} reg81; // 0x0344
|
|
|
|
struct {
|
|
RK_U32 sw_peaking6_value_n1 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking6_value_n2 : 9;
|
|
} reg82; // 0x0348
|
|
|
|
struct {
|
|
RK_U32 sw_peaking6_value_n3 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking6_value_p1 : 9;
|
|
} reg83; // 0x034C
|
|
|
|
struct {
|
|
RK_U32 sw_peaking6_value_p2 : 9;
|
|
RK_U32 reserved1 : 7;
|
|
RK_U32 sw_peaking6_value_p3 : 9;
|
|
} reg84; // 0x0350
|
|
|
|
struct {
|
|
RK_U32 sw_peaking6_ratio_n01: 12;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_peaking6_ratio_n12: 12;
|
|
} reg85; // 0x0354
|
|
|
|
struct {
|
|
RK_U32 sw_peaking6_ratio_n23: 12;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_peaking6_ratio_p01: 12;
|
|
} reg86; // 0x0358
|
|
|
|
struct {
|
|
RK_U32 sw_peaking6_ratio_p12: 12;
|
|
RK_U32 sw_peaking6_ratio_p23: 12;
|
|
} reg87; // 0x035C
|
|
|
|
RK_U32 reg_88_99[12];
|
|
|
|
struct {
|
|
RK_U32 sw_peaking_gain : 10;
|
|
RK_U32 reserved1 : 2;
|
|
RK_U32 sw_nondir_thr : 7;
|
|
RK_U32 reserved2 : 1;
|
|
RK_U32 sw_dir_cmp_ratio : 4;
|
|
RK_U32 sw_nondir_wgt_ratio : 5;
|
|
} reg100; // 0x0390
|
|
|
|
struct {
|
|
RK_U32 sw_nondir_wgt_offset : 8;
|
|
RK_U32 sw_dir_cnt_thr : 4;
|
|
RK_U32 sw_dir_cnt_avg : 3;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_dir_cnt_offset : 4;
|
|
RK_U32 sw_diag_dir_thr : 7;
|
|
} reg101; // 0x0394
|
|
|
|
struct {
|
|
RK_U32 sw_diag_adjgain_tab0 : 4;
|
|
RK_U32 sw_diag_adjgain_tab1 : 4;
|
|
RK_U32 sw_diag_adjgain_tab2 : 4;
|
|
RK_U32 sw_diag_adjgain_tab3 : 4;
|
|
RK_U32 sw_diag_adjgain_tab4 : 4;
|
|
RK_U32 sw_diag_adjgain_tab5 : 4;
|
|
RK_U32 sw_diag_adjgain_tab6 : 4;
|
|
RK_U32 sw_diag_adjgain_tab7 : 4;
|
|
} reg102; // 0x0398
|
|
|
|
struct {
|
|
RK_U32 sw_edge_alpha_over_non : 7;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_edge_alpha_under_non : 7;
|
|
RK_U32 reserved2 : 1;
|
|
RK_U32 sw_edge_alpha_over_unlimit_non : 7;
|
|
RK_U32 reserved3 : 1;
|
|
RK_U32 sw_edge_alpha_under_unlimit_non : 7;
|
|
} reg103; // 0x039C
|
|
|
|
struct {
|
|
RK_U32 sw_edge_alpha_over_v : 7;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_edge_alpha_under_v: 7;
|
|
RK_U32 reserved2 : 1;
|
|
RK_U32 sw_edge_alpha_over_unlimit_v : 7;
|
|
RK_U32 reserved3 : 1;
|
|
RK_U32 sw_edge_alpha_under_unlimit_v: 7;
|
|
} reg104; // 0x03A0
|
|
|
|
struct {
|
|
RK_U32 sw_edge_alpha_over_h : 7;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_edge_alpha_under_h: 7;
|
|
RK_U32 reserved2 : 1;
|
|
RK_U32 sw_edge_alpha_over_unlimit_h : 7;
|
|
RK_U32 reserved3 : 1;
|
|
RK_U32 sw_edge_alpha_under_unlimit_h: 7;
|
|
} reg105; // 0x03A4
|
|
|
|
struct {
|
|
RK_U32 sw_edge_alpha_over_d0: 7;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_edge_alpha_under_d0 : 7;
|
|
RK_U32 reserved2 : 1;
|
|
RK_U32 sw_edge_alpha_over_unlimit_d0: 7;
|
|
RK_U32 reserved3 : 1;
|
|
RK_U32 sw_edge_alpha_under_unlimit_d0 : 7;
|
|
} reg106; // 0x03A8
|
|
|
|
struct {
|
|
RK_U32 sw_edge_alpha_over_d1: 7;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_edge_alpha_under_d1 : 7;
|
|
RK_U32 reserved2 : 1;
|
|
RK_U32 sw_edge_alpha_over_unlimit_d1: 7;
|
|
RK_U32 reserved3 : 1;
|
|
RK_U32 sw_edge_alpha_under_unlimit_d1 : 7;
|
|
} reg107; // 0x03AC
|
|
|
|
struct {
|
|
RK_U32 sw_edge_delta_offset_non : 8;
|
|
RK_U32 sw_edge_delta_offset_v : 8;
|
|
RK_U32 sw_edge_delta_offset_h : 8;
|
|
} reg108; // 0x03B0
|
|
|
|
struct {
|
|
RK_U32 sw_edge_delta_offset_d0 : 8;
|
|
RK_U32 sw_edge_delta_offset_d1 : 8;
|
|
} reg109; // 0x03B4
|
|
|
|
struct {
|
|
RK_U32 sw_shoot_filt_radius : 1;
|
|
RK_U32 reserved1 : 3;
|
|
RK_U32 sw_shoot_delta_offset: 8;
|
|
RK_U32 sw_shoot_alpha_over : 7;
|
|
RK_U32 reserved2 : 1;
|
|
RK_U32 sw_shoot_alpha_under : 7;
|
|
} reg110; // 0x03B8
|
|
|
|
struct {
|
|
RK_U32 sw_shoot_alpha_over_unlimit : 7;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_shoot_alpha_under_unlimit : 7;
|
|
} reg111; // 0x03BC
|
|
|
|
struct {
|
|
RK_U32 sw_adp_idx0 : 8;
|
|
RK_U32 reserved1 : 2;
|
|
RK_U32 sw_adp_idx1 : 8;
|
|
RK_U32 reserved2 : 2;
|
|
RK_U32 sw_adp_idx2 : 8;
|
|
} reg112; // 0x03C0
|
|
|
|
struct {
|
|
RK_U32 sw_adp_idx3 : 8;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_adp_gain0 : 7;
|
|
RK_U32 reserved2 : 1;
|
|
RK_U32 sw_adp_gain1 : 7;
|
|
} reg113; // 0x03C4
|
|
|
|
struct {
|
|
RK_U32 sw_adp_gain2 : 7;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_adp_gain3 : 7;
|
|
RK_U32 reserved2 : 1;
|
|
RK_U32 sw_adp_gain4 : 7;
|
|
} reg114; // 0x03C8
|
|
|
|
struct {
|
|
RK_U32 sw_adp_slp01 : 11;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_adp_slp12 : 11;
|
|
} reg115; // 0x03CC
|
|
|
|
RK_U32 reg_116_127[12];
|
|
|
|
struct {
|
|
RK_U32 sw_adp_slp23 : 11;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_adp_slp34 : 11;
|
|
} reg128; // 0x0400
|
|
|
|
struct {
|
|
RK_U32 sw_adp_slp45 : 11;
|
|
RK_U32 sw_var_idx0 : 8;
|
|
RK_U32 reserved1 : 2;
|
|
RK_U32 sw_var_idx1 : 8;
|
|
} reg129; // 0x0404
|
|
|
|
struct {
|
|
RK_U32 sw_var_idx2 : 8;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_var_idx3 : 8;
|
|
RK_U32 reserved2 : 4;
|
|
RK_U32 sw_var_gain0 : 7;
|
|
} reg130; // 0x0408
|
|
|
|
struct {
|
|
RK_U32 sw_var_gain1 : 7;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_var_gain2 : 7;
|
|
RK_U32 reserved2 : 1;
|
|
RK_U32 sw_var_gain3 : 7;
|
|
RK_U32 reserved3 : 1;
|
|
RK_U32 sw_var_gain4 : 7;
|
|
} reg131; // 0x040C
|
|
|
|
struct {
|
|
RK_U32 sw_var_slp01 : 11;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_var_slp12 : 11;
|
|
} reg132; // 0x0410
|
|
|
|
struct {
|
|
RK_U32 sw_var_slp23 : 11;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_var_slp34 : 11;
|
|
} reg133; // 0x0414
|
|
|
|
struct {
|
|
RK_U32 sw_var_slp45 : 11;
|
|
RK_U32 reserved1 : 5;
|
|
RK_U32 sw_lum_select : 2;
|
|
RK_U32 reserved2 : 2;
|
|
RK_U32 sw_lum_idx0 : 8;
|
|
} reg134; // 0x0418
|
|
|
|
struct {
|
|
RK_U32 sw_lum_idx1 : 8;
|
|
RK_U32 reserved1 : 2;
|
|
RK_U32 sw_lum_idx2 : 8;
|
|
RK_U32 reserved2 : 2;
|
|
RK_U32 sw_lum_idx3 : 8;
|
|
} reg135; // 0x041C
|
|
|
|
struct {
|
|
RK_U32 sw_lum_gain0 : 7;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_lum_gain1 : 7;
|
|
RK_U32 reserved2 : 1;
|
|
RK_U32 sw_lum_gain2 : 7;
|
|
RK_U32 reserved3 : 1;
|
|
RK_U32 sw_lum_gain3 : 7;
|
|
} reg136; // 0x0420
|
|
|
|
struct {
|
|
RK_U32 sw_lum_gain4 : 7;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_lum_slp01 : 11;
|
|
RK_U32 reserved2 : 1;
|
|
RK_U32 sw_lum_slp12 : 11;
|
|
} reg137; // 0x0424
|
|
|
|
struct {
|
|
RK_U32 sw_lum_slp23 : 11;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_lum_slp34 : 11;
|
|
} reg138; // 0x0428
|
|
|
|
struct {
|
|
RK_U32 sw_lum_slp45 : 11;
|
|
} reg139; // 0x042C
|
|
|
|
struct {
|
|
RK_U32 sw_adj_point_x0 : 8;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_adj_point_y0 : 8;
|
|
RK_U32 reserved2 : 4;
|
|
RK_U32 sw_adj_scaling_coef0 : 3;
|
|
} reg140; // 0x0430
|
|
|
|
struct {
|
|
RK_U32 sw_coloradj_tab0_0 : 5;
|
|
RK_U32 sw_coloradj_tab0_1 : 5;
|
|
RK_U32 sw_coloradj_tab0_2 : 5;
|
|
RK_U32 sw_coloradj_tab0_3 : 5;
|
|
RK_U32 sw_coloradj_tab0_4 : 5;
|
|
RK_U32 sw_coloradj_tab0_5 : 5;
|
|
} reg141; // 0x0434
|
|
|
|
struct {
|
|
RK_U32 sw_coloradj_tab0_6 : 5;
|
|
RK_U32 sw_coloradj_tab0_7 : 5;
|
|
RK_U32 sw_coloradj_tab0_8 : 5;
|
|
RK_U32 sw_coloradj_tab0_9 : 5;
|
|
RK_U32 sw_coloradj_tab0_10 : 5;
|
|
RK_U32 sw_coloradj_tab0_11 : 5;
|
|
} reg142; // 0x0438
|
|
|
|
struct {
|
|
RK_U32 sw_coloradj_tab0_12 : 5;
|
|
RK_U32 sw_coloradj_tab0_13 : 5;
|
|
RK_U32 sw_coloradj_tab0_14 : 5;
|
|
RK_U32 sw_coloradj_tab0_15 : 5;
|
|
} reg143; // 0x043C
|
|
|
|
struct {
|
|
RK_U32 sw_adj_point_x1 : 8;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_adj_point_y1 : 8;
|
|
RK_U32 reserved2 : 4;
|
|
RK_U32 sw_adj_scaling_coef1 : 3;
|
|
} reg144; // 0x0440
|
|
|
|
struct {
|
|
RK_U32 sw_coloradj_tab1_0 : 5;
|
|
RK_U32 sw_coloradj_tab1_1 : 5;
|
|
RK_U32 sw_coloradj_tab1_2 : 5;
|
|
RK_U32 sw_coloradj_tab1_3 : 5;
|
|
RK_U32 sw_coloradj_tab1_4 : 5;
|
|
RK_U32 sw_coloradj_tab1_5 : 5;
|
|
} reg145; // 0x0444
|
|
|
|
struct {
|
|
RK_U32 sw_coloradj_tab1_6 : 5;
|
|
RK_U32 sw_coloradj_tab1_7 : 5;
|
|
RK_U32 sw_coloradj_tab1_8 : 5;
|
|
RK_U32 sw_coloradj_tab1_9 : 5;
|
|
RK_U32 sw_coloradj_tab1_10 : 5;
|
|
RK_U32 sw_coloradj_tab1_11 : 5;
|
|
} reg146; // 0x0448
|
|
|
|
struct {
|
|
RK_U32 sw_coloradj_tab1_12 : 5;
|
|
RK_U32 sw_coloradj_tab1_13 : 5;
|
|
RK_U32 sw_coloradj_tab1_14 : 5;
|
|
RK_U32 sw_coloradj_tab1_15 : 5;
|
|
} reg147; // 0x044C
|
|
|
|
struct {
|
|
RK_U32 sw_adj_point_x2 : 8;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_adj_point_y2 : 8;
|
|
RK_U32 reserved2 : 4;
|
|
RK_U32 sw_adj_scaling_coef2 : 3;
|
|
} reg148; // 0x0450
|
|
|
|
struct {
|
|
RK_U32 sw_coloradj_tab2_0 : 5;
|
|
RK_U32 sw_coloradj_tab2_1 : 5;
|
|
RK_U32 sw_coloradj_tab2_2 : 5;
|
|
RK_U32 sw_coloradj_tab2_3 : 5;
|
|
RK_U32 sw_coloradj_tab2_4 : 5;
|
|
RK_U32 sw_coloradj_tab2_5 : 5;
|
|
} reg149; // 0x0454
|
|
|
|
struct {
|
|
RK_U32 sw_coloradj_tab2_6 : 5;
|
|
RK_U32 sw_coloradj_tab2_7 : 5;
|
|
RK_U32 sw_coloradj_tab2_8 : 5;
|
|
RK_U32 sw_coloradj_tab2_9 : 5;
|
|
RK_U32 sw_coloradj_tab2_10 : 5;
|
|
RK_U32 sw_coloradj_tab2_11 : 5;
|
|
} reg150; // 0x0458
|
|
|
|
struct {
|
|
RK_U32 sw_coloradj_tab2_12 : 5;
|
|
RK_U32 sw_coloradj_tab2_13 : 5;
|
|
RK_U32 sw_coloradj_tab2_14 : 5;
|
|
RK_U32 sw_coloradj_tab2_15 : 5;
|
|
} reg151; // 0x045C
|
|
|
|
struct {
|
|
RK_U32 sw_adj_point_x3 : 8;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_adj_point_y3 : 8;
|
|
RK_U32 reserved2 : 4;
|
|
RK_U32 sw_adj_scaling_coef3 : 3;
|
|
} reg152; // 0x0460
|
|
|
|
struct {
|
|
RK_U32 sw_coloradj_tab3_0 : 5;
|
|
RK_U32 sw_coloradj_tab3_1 : 5;
|
|
RK_U32 sw_coloradj_tab3_2 : 5;
|
|
RK_U32 sw_coloradj_tab3_3 : 5;
|
|
RK_U32 sw_coloradj_tab3_4 : 5;
|
|
RK_U32 sw_coloradj_tab3_5 : 5;
|
|
} reg153; // 0x0464
|
|
|
|
struct {
|
|
RK_U32 sw_coloradj_tab3_6 : 5;
|
|
RK_U32 sw_coloradj_tab3_7 : 5;
|
|
RK_U32 sw_coloradj_tab3_8 : 5;
|
|
RK_U32 sw_coloradj_tab3_9 : 5;
|
|
RK_U32 sw_coloradj_tab3_10 : 5;
|
|
RK_U32 sw_coloradj_tab3_11 : 5;
|
|
} reg154; // 0x0468
|
|
|
|
struct {
|
|
RK_U32 sw_coloradj_tab3_12 : 5;
|
|
RK_U32 sw_coloradj_tab3_13 : 5;
|
|
RK_U32 sw_coloradj_tab3_14 : 5;
|
|
RK_U32 sw_coloradj_tab3_15 : 5;
|
|
} reg155; // 0x046C
|
|
|
|
struct {
|
|
RK_U32 sw_idxmode_select : 1;
|
|
RK_U32 sw_ymode_select : 2;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_tex_idx0 : 8;
|
|
RK_U32 reserved2 : 4;
|
|
RK_U32 sw_tex_idx1 : 8;
|
|
} reg156; // 0x0470
|
|
|
|
struct {
|
|
RK_U32 sw_tex_idx2 : 8;
|
|
RK_U32 reserved1 : 4;
|
|
RK_U32 sw_tex_idx3 : 8;
|
|
RK_U32 reserved2 : 4;
|
|
RK_U32 sw_tex_gain0 : 7;
|
|
} reg157; // 0x0474
|
|
|
|
struct {
|
|
RK_U32 sw_tex_gain1 : 7;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_tex_gain2 : 7;
|
|
RK_U32 reserved2 : 1;
|
|
RK_U32 sw_tex_gain3 : 7;
|
|
RK_U32 reserved3 : 1;
|
|
RK_U32 sw_tex_gain4 : 7;
|
|
} reg158; // 0x0478
|
|
|
|
struct {
|
|
RK_U32 sw_tex_slp01 : 11;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_tex_slp12 : 11;
|
|
} reg159; // 0x047C
|
|
|
|
struct {
|
|
RK_U32 sw_tex_slp23 : 11;
|
|
RK_U32 reserved1 : 1;
|
|
RK_U32 sw_tex_slp34 : 11;
|
|
} reg160; // 0x0480
|
|
|
|
struct {
|
|
RK_U32 sw_tex_slp45 : 11;
|
|
} reg161; // 0x0484
|
|
|
|
struct {
|
|
RK_U32 sw_ltih_radius : 1;
|
|
RK_U32 reserved1 : 3;
|
|
RK_U32 sw_ltih_slp1 : 9;
|
|
RK_U32 reserved2 : 3;
|
|
RK_U32 sw_ltih_thr1 : 9;
|
|
} reg162; // 0x0488
|
|
|
|
struct {
|
|
RK_U32 sw_ltih_noisethrneg : 10;
|
|
RK_U32 reserved1 : 2;
|
|
RK_U32 sw_ltih_noisethrpos : 10;
|
|
RK_U32 reserved2 : 2;
|
|
RK_U32 sw_ltih_tigain : 5;
|
|
} reg163; // 0x048C
|
|
|
|
struct {
|
|
RK_U32 sw_ltiv_radius : 1;
|
|
RK_U32 reserved1 : 3;
|
|
RK_U32 sw_ltiv_slp1 : 9;
|
|
RK_U32 reserved2 : 3;
|
|
RK_U32 sw_ltiv_thr1 : 9;
|
|
} reg164; // 0x0490
|
|
|
|
struct {
|
|
RK_U32 sw_ltiv_noisethrneg : 10;
|
|
RK_U32 reserved1 : 2;
|
|
RK_U32 sw_ltiv_noisethrpos : 10;
|
|
RK_U32 reserved2 : 2;
|
|
RK_U32 sw_ltiv_tigain : 5;
|
|
} reg165; // 0x0494
|
|
|
|
struct {
|
|
RK_U32 sw_ctih_radius : 1;
|
|
RK_U32 reserved1 : 3;
|
|
RK_U32 sw_ctih_slp1 : 9;
|
|
RK_U32 reserved2 : 3;
|
|
RK_U32 sw_ctih_thr1 : 9;
|
|
} reg166; // 0x0498
|
|
|
|
struct {
|
|
RK_U32 sw_ctih_noisethrneg : 10;
|
|
RK_U32 reserved1 : 2;
|
|
RK_U32 sw_ctih_noisethrpos : 10;
|
|
RK_U32 reserved2 : 2;
|
|
RK_U32 sw_ctih_tigain : 5;
|
|
} reg167; // 0x049C
|
|
|
|
RK_U32 reg_168_169[2];
|
|
|
|
struct {
|
|
RK_U32 sw_ink_mode : 4;
|
|
} reg170; // 0x04A8
|
|
|
|
RK_U32 reg171;
|
|
|
|
} RegShp; // 0x1200 ~ 0x14a8, 171 regs
|
|
|
|
typedef struct vdpp2_reg {
|
|
RegCom2 common; /* offset: 0x1000, end: 0x106C, size: 112 */
|
|
RegDmsr dmsr; /* offset: 0x1080, end: 0x10D0, size: 84 */
|
|
RegHist hist; /* offset: 0x10E0, end: 0x10F0, size: 20 */
|
|
RegEs es; /* offset: 0x1100, end: 0x117C, size: 128 */
|
|
RegShp sharp; /* offset: 0x1200, end: 0x14a8, size: 684 */
|
|
RegZme zme; /* offset: 0x2000, end: 0x2844, size: 1160(valid)/2120(total) */
|
|
} Vdpp2Regs;
|
|
|
|
#endif /* VDPP2_REG_H */
|