android13/vendor/rockchip/hardware/interfaces/vtunnel/vdpp/vdpp_reg.h

1810 lines
67 KiB
C
Executable File

/*
* Copyright 2022 Rockchip Electronics Co. LTD
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef __VDPP_REG_H__
#define __VDPP_REG_H__
#include "rk_type.h"
#define VDPP_REG_OFF_DMSR (0x80)
#define VDPP_REG_OFF_YRGB_HOR_COE (0x2000)
#define VDPP_REG_OFF_YRGB_VER_COE (0x2200)
#define VDPP_REG_OFF_CBCR_HOR_COE (0x2400)
#define VDPP_REG_OFF_CBCR_VER_COE (0x2600)
#define VDPP_REG_OFF_ZME_COMMON (0x2800)
struct vdpp_reg {
struct {
struct {
RK_U32 sw_vdpp_frm_en : 1;
} reg0; // 0x0000
struct {
RK_U32 sw_vdpp_src_fmt : 2;
RK_U32 sw_reserved_1 : 2;
RK_U32 sw_vdpp_src_yuv_swap : 2;
RK_U32 sw_reserved_2 : 2;
RK_U32 sw_vdpp_dst_fmt : 2;
RK_U32 sw_reserved_3 : 2;
RK_U32 sw_vdpp_dst_yuv_swap : 2;
RK_U32 sw_reserved_4 : 2;
RK_U32 sw_vdpp_debug_data_en: 1;
RK_U32 sw_reserved_5 : 3;
RK_U32 sw_vdpp_rst_protect_dis : 1;
RK_U32 sys_vdpp_sreset_p : 1;
RK_U32 sw_vdpp_init_dis : 1;
RK_U32 sw_reserved_6 : 1;
RK_U32 sw_vdpp_dbmsr_en : 1;
} reg1; // 0x0004
struct {
RK_U32 sw_vdpp_working_mode : 2;
} reg2; // 0x0008
RK_U32 reg3; // 0x000C
struct {
RK_U32 sw_vdpp_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
RK_U32 reg6; // 0x0018
RK_U32 reg7; // 0x001c
struct {
RK_U32 sw_vdpp_frm_done_en : 1;
RK_U32 sw_vdpp_osd_max_en : 1;
RK_U32 sw_reserved_1 : 2;
RK_U32 sw_vdpp_bus_error_en : 1;
RK_U32 sw_vdpp_timeout_int_en : 1;
RK_U32 sw_vdpp_config_error_en : 1;
} reg8; // 0x0020
struct {
RK_U32 sw_vdpp_frm_done_clr : 1;
RK_U32 sw_vdpp_osd_max_clr : 1;
RK_U32 sw_reserved_1 : 2;
RK_U32 sw_vdpp_bus_error_clr: 1;
RK_U32 sw_vdpp_timeout_int_clr : 1;
RK_U32 sw_vdpp_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_vdpp_src_vir_y_stride : 16;
} reg12; // 0x0030
struct {
RK_U32 sw_vdpp_dst_vir_y_stride : 16;
} reg13; // 0x0034
struct {
RK_U32 sw_vdpp_src_pic_width : 11;
RK_U32 sw_reserved_1 : 1;
RK_U32 sw_vdpp_src_right_redundant : 4;
RK_U32 sw_vdpp_src_pic_height : 11;
RK_U32 sw_reserved_2 : 1;
RK_U32 sw_vdpp_src_down_redundant : 3;
} reg14; // 0x0038
struct {
RK_U32 sw_vdpp_dst_pic_width : 11;
RK_U32 sw_reserved_1 : 1;
RK_U32 sw_vdpp_dst_right_redundant : 4;
RK_U32 sw_vdpp_dst_pic_height : 11;
} reg15; // 0x003C
RK_U32 reg16; // 0x0040
RK_U32 reg17; // 0x0044
RK_U32 reg18; // 0x0048
RK_U32 reg19; // 0x004C
struct {
RK_U32 sw_vdpp_timeout_cnt : 31;
RK_U32 sw_vdpp_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_vdpp_src_addr_y : 32;
} reg24; // 0x0060
struct {
RK_U32 sw_vdpp_src_addr_uv : 32;
} reg25; // 0x0064
struct {
RK_U32 sw_vdpp_dst_addr_y : 32;
} reg26; // 0x0068
struct {
RK_U32 sw_vdpp_dst_addr_uv : 32;
} reg27; // 0x006C
} common; // offset: 0x1000
RK_U32 reg_common_28_31[4];
struct {
struct {
RK_U32 sw_dmsr_edge_low_thre_0 : 16;
RK_U32 sw_dmsr_edge_high_thre_0 : 16;
} reg0; // 0x0080
struct {
RK_U32 sw_dmsr_edge_low_thre_1 : 16;
RK_U32 sw_dmsr_edge_high_thre_1 : 16;
} reg1; // 0x0084
struct {
RK_U32 sw_dmsr_edge_low_thre_2 : 16;
RK_U32 sw_dmsr_edge_high_thre_2 : 16;
} reg2; // 0x0088
struct {
RK_U32 sw_dmsr_edge_low_thre_3 : 16;
RK_U32 sw_dmsr_edge_high_thre_3 : 16;
} reg3; // 0x008C
struct {
RK_U32 sw_dmsr_edge_low_thre_4 : 16;
RK_U32 sw_dmsr_edge_high_thre_4 : 16;
} reg4; // 0x0090
struct {
RK_U32 sw_dmsr_edge_low_thre_5 : 16;
RK_U32 sw_dmsr_edge_high_thre_5 : 16;
} reg5; // 0x0094
struct {
RK_U32 sw_dmsr_edge_low_thre_6 : 16;
RK_U32 sw_dmsr_edge_high_thre_6 : 16;
} reg6; // 0x0098
struct {
RK_U32 sw_dmsr_edge_k_0 : 16;
RK_U32 sw_dmsr_edge_k_1 : 16;
} reg7; // 0x009C
struct {
RK_U32 sw_dmsr_edge_k_2 : 16;
RK_U32 sw_dmsr_edge_k_3 : 16;
} reg8; // 0x00A0
struct {
RK_U32 sw_dmsr_edge_k_4 : 16;
RK_U32 sw_dmsr_edge_k_5 : 16;
} reg9; // 0x00A4
struct {
RK_U32 sw_dmsr_edge_k_6 : 16;
RK_U32 sw_dmsr_dir_contrast_conf_f : 16;
} reg10; // 0x00A8
struct {
RK_U32 sw_dmsr_dir_contrast_conf_x0 : 16;
RK_U32 sw_dmsr_dir_contrast_conf_x1 : 16;
} reg11; // 0x00AC
struct {
RK_U32 sw_dmsr_dir_contrast_conf_y0 : 16;
RK_U32 sw_dmsr_dir_contrast_conf_y1 : 16;
} reg12; // 0x00B0
struct {
RK_U32 sw_dmsr_var_th : 16;
} reg13; // 0x00B4
struct {
RK_U32 sw_dmsr_diff_coring_th0 : 8;
RK_U32 sw_dmsr_diff_coring_th1 : 8;
} reg14; // 0x00B8
struct {
RK_U32 sw_dmsr_diff_coring_wgt0 : 6;
RK_U32 sw_reserved_1 : 2;
RK_U32 sw_dmsr_diff_coring_wgt1 : 6;
RK_U32 sw_reserved_2 : 2;
RK_U32 sw_dmsr_diff_coring_wgt2 : 6;
} reg15; // 0x00BC
struct {
RK_U32 sw_dmsr_diff_coring_y0 : 14;
RK_U32 sw_reserved_1 : 2;
RK_U32 sw_dmsr_diff_coring_y1 : 14;
RK_U32 sw_reserved_2 : 2;
} reg16; // 0x00C0
struct {
RK_U32 sw_dmsr_wgt_pri_gain_1_odd : 6;
RK_U32 sw_reserved_1 : 2;
RK_U32 sw_dmsr_wgt_pri_gain_1_even : 6;
RK_U32 sw_reserved_2 : 2;
RK_U32 sw_dmsr_wgt_pri_gain_2_odd : 6;
RK_U32 sw_reserved_3 : 2;
RK_U32 sw_dmsr_wgt_pri_gain_2_even : 6;
} reg17; // 0x00C4
struct {
RK_U32 sw_dmsr_wgt_sec_gain_1 : 6;
RK_U32 sw_reserved_1 : 2;
RK_U32 sw_dmsr_wgt_sec_gain_2 : 6;
} reg18; // 0x00C8
struct {
RK_U32 sw_dmsr_strength_pri : 5;
RK_U32 sw_reserved_1 : 3;
RK_U32 sw_dmsr_strength_sec : 5;
RK_U32 sw_reserved_2 : 3;
RK_U32 sw_dmsr_dump : 4;
} reg19; // 0x00CC
struct {
RK_U32 sw_dmsr_obv_point_h : 12;
RK_U32 sw_dmsr_obv_point_v : 12;
RK_U32 sw_dmsr_obv_enable : 1;
RK_U32 sw_dmsr_obv_mode : 1;
} reg20; // 0x00D0
} dmsr; // offset: 0x1080
RK_U32 reg_dmsr_21_33[3];
struct {
struct {
struct {
RK_U32 yrgb_hor_coe0_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe0_1 : 10;
} reg0; // 0x0000
struct {
RK_U32 yrgb_hor_coe0_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe0_3 : 10;
} reg1; // 0x0004
struct {
RK_U32 yrgb_hor_coe0_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe0_5 : 10;
} reg2; // 0x0008
struct {
RK_U32 yrgb_hor_coe0_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe0_7 : 10;
} reg3; // 0x000c
struct {
RK_U32 yrgb_hor_coe1_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe1_1 : 10;
} reg4; // 0x0010
struct {
RK_U32 yrgb_hor_coe1_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe1_3 : 10;
} reg5; // 0x0014
struct {
RK_U32 yrgb_hor_coe1_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe1_5 : 10;
} reg6; // 0x0018
struct {
RK_U32 yrgb_hor_coe1_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe1_7 : 10;
} reg7; // 0x001c
struct {
RK_U32 yrgb_hor_coe2_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe2_1 : 10;
} reg8; // 0x0020
struct {
RK_U32 yrgb_hor_coe2_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe2_3 : 10;
} reg9; // 0x0024
struct {
RK_U32 yrgb_hor_coe2_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe2_5 : 10;
} reg10; // 0x0028
struct {
RK_U32 yrgb_hor_coe2_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe2_7 : 10;
} reg11; // 0x002c
struct {
RK_U32 yrgb_hor_coe3_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe3_1 : 10;
} reg12; // 0x0030
struct {
RK_U32 yrgb_hor_coe3_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe3_3 : 10;
} reg13; // 0x0034
struct {
RK_U32 yrgb_hor_coe3_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe3_5 : 10;
} reg14; // 0x0038
struct {
RK_U32 yrgb_hor_coe3_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe3_7 : 10;
} reg15; // 0x003c
struct {
RK_U32 yrgb_hor_coe4_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe4_1 : 10;
} reg16; // 0x0040
struct {
RK_U32 yrgb_hor_coe4_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe4_3 : 10;
} reg17; // 0x0044
struct {
RK_U32 yrgb_hor_coe4_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe4_5 : 10;
} reg18; // 0x0048
struct {
RK_U32 yrgb_hor_coe4_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe4_7 : 10;
} reg19; // 0x004c
struct {
RK_U32 yrgb_hor_coe5_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe5_1 : 10;
} reg20; // 0x0050
struct {
RK_U32 yrgb_hor_coe5_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe5_3 : 10;
} reg21; // 0x0054
struct {
RK_U32 yrgb_hor_coe5_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe5_5 : 10;
} reg22; // 0x0058
struct {
RK_U32 yrgb_hor_coe5_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe5_7 : 10;
} reg23; // 0x005c
struct {
RK_U32 yrgb_hor_coe6_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe6_1 : 10;
} reg24; // 0x0060
struct {
RK_U32 yrgb_hor_coe6_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe6_3 : 10;
} reg25; // 0x0064
struct {
RK_U32 yrgb_hor_coe6_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe6_5 : 10;
} reg26; // 0x0068
struct {
RK_U32 yrgb_hor_coe6_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe6_7 : 10;
} reg27; // 0x006c
struct {
RK_U32 yrgb_hor_coe7_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe7_1 : 10;
} reg28; // 0x0070
struct {
RK_U32 yrgb_hor_coe7_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe7_3 : 10;
} reg29; // 0x0074
struct {
RK_U32 yrgb_hor_coe7_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe7_5 : 10;
} reg30; // 0x0078
struct {
RK_U32 yrgb_hor_coe7_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe7_7 : 10;
} reg31; // 0x007c
struct {
RK_U32 yrgb_hor_coe8_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe8_1 : 10;
} reg32; // 0x0080
struct {
RK_U32 yrgb_hor_coe8_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe8_3 : 10;
} reg33; // 0x0084
struct {
RK_U32 yrgb_hor_coe8_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe8_5 : 10;
} reg34; // 0x0088
struct {
RK_U32 yrgb_hor_coe8_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe8_7 : 10;
} reg35; // 0x008c
struct {
RK_U32 yrgb_hor_coe9_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe9_1 : 10;
} reg36; // 0x0090
struct {
RK_U32 yrgb_hor_coe9_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe9_3 : 10;
} reg37; // 0x0094
struct {
RK_U32 yrgb_hor_coe9_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe9_5 : 10;
} reg38; // 0x0098
struct {
RK_U32 yrgb_hor_coe9_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe9_7 : 10;
} reg39; // 0x009c
struct {
RK_U32 yrgb_hor_coe10_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe10_1 : 10;
} reg40; // 0x00a0
struct {
RK_U32 yrgb_hor_coe10_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe10_3 : 10;
} reg41; // 0x00a4
struct {
RK_U32 yrgb_hor_coe10_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe10_5 : 10;
} reg42; // 0x00a8
struct {
RK_U32 yrgb_hor_coe10_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe10_7 : 10;
} reg43; // 0x00ac
struct {
RK_U32 yrgb_hor_coe11_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe11_1 : 10;
} reg44; // 0x00b0
struct {
RK_U32 yrgb_hor_coe11_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe11_3 : 10;
} reg45; // 0x00b4
struct {
RK_U32 yrgb_hor_coe11_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe11_5 : 10;
} reg46; // 0x00b8
struct {
RK_U32 yrgb_hor_coe11_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe11_7 : 10;
} reg47; // 0x00bc
struct {
RK_U32 yrgb_hor_coe12_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe12_1 : 10;
} reg48; // 0x00c0
struct {
RK_U32 yrgb_hor_coe12_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe12_3 : 10;
} reg49; // 0x00c4
struct {
RK_U32 yrgb_hor_coe12_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe12_5 : 10;
} reg50; // 0x00c8
struct {
RK_U32 yrgb_hor_coe12_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe12_7 : 10;
} reg51; // 0x00cc
struct {
RK_U32 yrgb_hor_coe13_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe13_1 : 10;
} reg52; // 0x00d0
struct {
RK_U32 yrgb_hor_coe13_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe13_3 : 10;
} reg53; // 0x00d4
struct {
RK_U32 yrgb_hor_coe13_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe13_5 : 10;
} reg54; // 0x00d8
struct {
RK_U32 yrgb_hor_coe13_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe13_7 : 10;
} reg55; // 0x00dc
struct {
RK_U32 yrgb_hor_coe14_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe14_1 : 10;
} reg56; // 0x00e0
struct {
RK_U32 yrgb_hor_coe14_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe14_3 : 10;
} reg57; // 0x00e4
struct {
RK_U32 yrgb_hor_coe14_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe14_5 : 10;
} reg58; // 0x00e8
struct {
RK_U32 yrgb_hor_coe14_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe14_7 : 10;
} reg59; // 0x00ec
struct {
RK_U32 yrgb_hor_coe15_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe15_1 : 10;
} reg60; // 0x00f0
struct {
RK_U32 yrgb_hor_coe15_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe15_3 : 10;
} reg61; // 0x00f4
struct {
RK_U32 yrgb_hor_coe15_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe15_5 : 10;
} reg62; // 0x00f8
struct {
RK_U32 yrgb_hor_coe15_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe15_7 : 10;
} reg63; // 0x00fc
struct {
RK_U32 yrgb_hor_coe16_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe16_1 : 10;
} reg64; // 0x0100
struct {
RK_U32 yrgb_hor_coe16_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe16_3 : 10;
} reg65; // 0x0104
struct {
RK_U32 yrgb_hor_coe16_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe16_5 : 10;
} reg66; // 0x0108
struct {
RK_U32 yrgb_hor_coe16_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_hor_coe16_7 : 10;
} reg67; // 0x010c
} yrgb_hor_coe;
struct {
struct {
RK_U32 yrgb_ver_coe0_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe0_1 : 10;
} reg0; // 0x0200
struct {
RK_U32 yrgb_ver_coe0_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe0_3 : 10;
} reg1; // 0x0204
struct {
RK_U32 yrgb_ver_coe0_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe0_5 : 10;
} reg2; // 0x0208
struct {
RK_U32 yrgb_ver_coe0_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe0_7 : 10;
} reg3; // 0x020c
struct {
RK_U32 yrgb_ver_coe1_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe1_1 : 10;
} reg4; // 0x0210
struct {
RK_U32 yrgb_ver_coe1_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe1_3 : 10;
} reg5; // 0x0214
struct {
RK_U32 yrgb_ver_coe1_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe1_5 : 10;
} reg6; // 0x0218
struct {
RK_U32 yrgb_ver_coe1_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe1_7 : 10;
} reg7; // 0x021c
struct {
RK_U32 yrgb_ver_coe2_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe2_1 : 10;
} reg8; // 0x0220
struct {
RK_U32 yrgb_ver_coe2_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe2_3 : 10;
} reg9; // 0x0224
struct {
RK_U32 yrgb_ver_coe2_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe2_5 : 10;
} reg10; // 0x0228
struct {
RK_U32 yrgb_ver_coe2_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe2_7 : 10;
} reg11; // 0x022c
struct {
RK_U32 yrgb_ver_coe3_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe3_1 : 10;
} reg12; // 0x0230
struct {
RK_U32 yrgb_ver_coe3_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe3_3 : 10;
} reg13; // 0x0234
struct {
RK_U32 yrgb_ver_coe3_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe3_5 : 10;
} reg14; // 0x0238
struct {
RK_U32 yrgb_ver_coe3_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe3_7 : 10;
} reg15; // 0x023c
struct {
RK_U32 yrgb_ver_coe4_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe4_1 : 10;
} reg16; // 0x0240
struct {
RK_U32 yrgb_ver_coe4_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe4_3 : 10;
} reg17; // 0x0244
struct {
RK_U32 yrgb_ver_coe4_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe4_5 : 10;
} reg18; // 0x0248
struct {
RK_U32 yrgb_ver_coe4_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe4_7 : 10;
} reg19; // 0x024c
struct {
RK_U32 yrgb_ver_coe5_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe5_1 : 10;
} reg20; // 0x0250
struct {
RK_U32 yrgb_ver_coe5_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe5_3 : 10;
} reg21; // 0x0254
struct {
RK_U32 yrgb_ver_coe5_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe5_5 : 10;
} reg22; // 0x0258
struct {
RK_U32 yrgb_ver_coe5_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe5_7 : 10;
} reg23; // 0x025c
struct {
RK_U32 yrgb_ver_coe6_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe6_1 : 10;
} reg24; // 0x0260
struct {
RK_U32 yrgb_ver_coe6_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe6_3 : 10;
} reg25; // 0x0264
struct {
RK_U32 yrgb_ver_coe6_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe6_5 : 10;
} reg26; // 0x0268
struct {
RK_U32 yrgb_ver_coe6_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe6_7 : 10;
} reg27; // 0x026c
struct {
RK_U32 yrgb_ver_coe7_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe7_1 : 10;
} reg28; // 0x0270
struct {
RK_U32 yrgb_ver_coe7_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe7_3 : 10;
} reg29; // 0x0274
struct {
RK_U32 yrgb_ver_coe7_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe7_5 : 10;
} reg30; // 0x0278
struct {
RK_U32 yrgb_ver_coe7_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe7_7 : 10;
} reg31; // 0x027c
struct {
RK_U32 yrgb_ver_coe8_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe8_1 : 10;
} reg32; // 0x0280
struct {
RK_U32 yrgb_ver_coe8_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe8_3 : 10;
} reg33; // 0x0284
struct {
RK_U32 yrgb_ver_coe8_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe8_5 : 10;
} reg34; // 0x0288
struct {
RK_U32 yrgb_ver_coe8_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe8_7 : 10;
} reg35; // 0x028c
struct {
RK_U32 yrgb_ver_coe9_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe9_1 : 10;
} reg36; // 0x0290
struct {
RK_U32 yrgb_ver_coe9_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe9_3 : 10;
} reg37; // 0x0294
struct {
RK_U32 yrgb_ver_coe9_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe9_5 : 10;
} reg38; // 0x0298
struct {
RK_U32 yrgb_ver_coe9_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe9_7 : 10;
} reg39; // 0x029c
struct {
RK_U32 yrgb_ver_coe10_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe10_1 : 10;
} reg40; // 0x02a0
struct {
RK_U32 yrgb_ver_coe10_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe10_3 : 10;
} reg41; // 0x02a4
struct {
RK_U32 yrgb_ver_coe10_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe10_5 : 10;
} reg42; // 0x02a8
struct {
RK_U32 yrgb_ver_coe10_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe10_7 : 10;
} reg43; // 0x02ac
struct {
RK_U32 yrgb_ver_coe11_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe11_1 : 10;
} reg44; // 0x02b0
struct {
RK_U32 yrgb_ver_coe11_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe11_3 : 10;
} reg45; // 0x02b4
struct {
RK_U32 yrgb_ver_coe11_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe11_5 : 10;
} reg46; // 0x02b8
struct {
RK_U32 yrgb_ver_coe11_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe11_7 : 10;
} reg47; // 0x02bc
struct {
RK_U32 yrgb_ver_coe12_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe12_1 : 10;
} reg48; // 0x02c0
struct {
RK_U32 yrgb_ver_coe12_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe12_3 : 10;
} reg49; // 0x02c4
struct {
RK_U32 yrgb_ver_coe12_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe12_5 : 10;
} reg50; // 0x02c8
struct {
RK_U32 yrgb_ver_coe12_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe12_7 : 10;
} reg51; // 0x02cc
struct {
RK_U32 yrgb_ver_coe13_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe13_1 : 10;
} reg52; // 0x02d0
struct {
RK_U32 yrgb_ver_coe13_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe13_3 : 10;
} reg53; // 0x02d4
struct {
RK_U32 yrgb_ver_coe13_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe13_5 : 10;
} reg54; // 0x02d8
struct {
RK_U32 yrgb_ver_coe13_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe13_7 : 10;
} reg55; // 0x02dc
struct {
RK_U32 yrgb_ver_coe14_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe14_1 : 10;
} reg56; // 0x02e0
struct {
RK_U32 yrgb_ver_coe14_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe14_3 : 10;
} reg57; // 0x02e4
struct {
RK_U32 yrgb_ver_coe14_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe14_5 : 10;
} reg58; // 0x02e8
struct {
RK_U32 yrgb_ver_coe14_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe14_7 : 10;
} reg59; // 0x02ec
struct {
RK_U32 yrgb_ver_coe15_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe15_1 : 10;
} reg60; // 0x02f0
struct {
RK_U32 yrgb_ver_coe15_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe15_3 : 10;
} reg61; // 0x02f4
struct {
RK_U32 yrgb_ver_coe15_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe15_5 : 10;
} reg62; // 0x02f8
struct {
RK_U32 yrgb_ver_coe15_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe15_7 : 10;
} reg63; // 0x02fc
struct {
RK_U32 yrgb_ver_coe16_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe16_1 : 10;
} reg64; // 0x0300
struct {
RK_U32 yrgb_ver_coe16_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe16_3 : 10;
} reg65; // 0x0304
struct {
RK_U32 yrgb_ver_coe16_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe16_5 : 10;
} reg66; // 0x0308
struct {
RK_U32 yrgb_ver_coe16_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 yrgb_ver_coe16_7 : 10;
} reg67; // 0x030c
} yrgb_ver_coe;
struct {
struct {
RK_U32 cbcr_hor_coe0_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe0_1 : 10;
} reg0; // 0x0400
struct {
RK_U32 cbcr_hor_coe0_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe0_3 : 10;
} reg1; // 0x0404
struct {
RK_U32 cbcr_hor_coe0_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe0_5 : 10;
} reg2; // 0x0408
struct {
RK_U32 cbcr_hor_coe0_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe0_7 : 10;
} reg3; // 0x040c
struct {
RK_U32 cbcr_hor_coe1_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe1_1 : 10;
} reg4; // 0x0410
struct {
RK_U32 cbcr_hor_coe1_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe1_3 : 10;
} reg5; // 0x0414
struct {
RK_U32 cbcr_hor_coe1_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe1_5 : 10;
} reg6; // 0x0418
struct {
RK_U32 cbcr_hor_coe1_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe1_7 : 10;
} reg7; // 0x041c
struct {
RK_U32 cbcr_hor_coe2_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe2_1 : 10;
} reg8; // 0x0420
struct {
RK_U32 cbcr_hor_coe2_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe2_3 : 10;
} reg9; // 0x0424
struct {
RK_U32 cbcr_hor_coe2_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe2_5 : 10;
} reg10; // 0x0428
struct {
RK_U32 cbcr_hor_coe2_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe2_7 : 10;
} reg11; // 0x042c
struct {
RK_U32 cbcr_hor_coe3_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe3_1 : 10;
} reg12; // 0x0430
struct {
RK_U32 cbcr_hor_coe3_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe3_3 : 10;
} reg13; // 0x0434
struct {
RK_U32 cbcr_hor_coe3_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe3_5 : 10;
} reg14; // 0x0438
struct {
RK_U32 cbcr_hor_coe3_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe3_7 : 10;
} reg15; // 0x043c
struct {
RK_U32 cbcr_hor_coe4_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe4_1 : 10;
} reg16; // 0x0440
struct {
RK_U32 cbcr_hor_coe4_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe4_3 : 10;
} reg17; // 0x0444
struct {
RK_U32 cbcr_hor_coe4_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe4_5 : 10;
} reg18; // 0x0448
struct {
RK_U32 cbcr_hor_coe4_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe4_7 : 10;
} reg19; // 0x044c
struct {
RK_U32 cbcr_hor_coe5_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe5_1 : 10;
} reg20; // 0x0450
struct {
RK_U32 cbcr_hor_coe5_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe5_3 : 10;
} reg21; // 0x0454
struct {
RK_U32 cbcr_hor_coe5_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe5_5 : 10;
} reg22; // 0x0458
struct {
RK_U32 cbcr_hor_coe5_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe5_7 : 10;
} reg23; // 0x045c
struct {
RK_U32 cbcr_hor_coe6_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe6_1 : 10;
} reg24; // 0x0460
struct {
RK_U32 cbcr_hor_coe6_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe6_3 : 10;
} reg25; // 0x0464
struct {
RK_U32 cbcr_hor_coe6_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe6_5 : 10;
} reg26; // 0x0468
struct {
RK_U32 cbcr_hor_coe6_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe6_7 : 10;
} reg27; // 0x046c
struct {
RK_U32 cbcr_hor_coe7_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe7_1 : 10;
} reg28; // 0x0470
struct {
RK_U32 cbcr_hor_coe7_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe7_3 : 10;
} reg29; // 0x0474
struct {
RK_U32 cbcr_hor_coe7_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe7_5 : 10;
} reg30; // 0x0478
struct {
RK_U32 cbcr_hor_coe7_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe7_7 : 10;
} reg31; // 0x047c
struct {
RK_U32 cbcr_hor_coe8_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe8_1 : 10;
} reg32; // 0x0480
struct {
RK_U32 cbcr_hor_coe8_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe8_3 : 10;
} reg33; // 0x0484
struct {
RK_U32 cbcr_hor_coe8_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe8_5 : 10;
} reg34; // 0x0488
struct {
RK_U32 cbcr_hor_coe8_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe8_7 : 10;
} reg35; // 0x048c
struct {
RK_U32 cbcr_hor_coe9_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe9_1 : 10;
} reg36; // 0x0490
struct {
RK_U32 cbcr_hor_coe9_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe9_3 : 10;
} reg37; // 0x0494
struct {
RK_U32 cbcr_hor_coe9_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe9_5 : 10;
} reg38; // 0x0498
struct {
RK_U32 cbcr_hor_coe9_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe9_7 : 10;
} reg39; // 0x049c
struct {
RK_U32 cbcr_hor_coe10_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe10_1 : 10;
} reg40; // 0x04a0
struct {
RK_U32 cbcr_hor_coe10_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe10_3 : 10;
} reg41; // 0x04a4
struct {
RK_U32 cbcr_hor_coe10_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe10_5 : 10;
} reg42; // 0x04a8
struct {
RK_U32 cbcr_hor_coe10_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe10_7 : 10;
} reg43; // 0x04ac
struct {
RK_U32 cbcr_hor_coe11_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe11_1 : 10;
} reg44; // 0x04b0
struct {
RK_U32 cbcr_hor_coe11_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe11_3 : 10;
} reg45; // 0x04b4
struct {
RK_U32 cbcr_hor_coe11_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe11_5 : 10;
} reg46; // 0x04b8
struct {
RK_U32 cbcr_hor_coe11_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe11_7 : 10;
} reg47; // 0x04bc
struct {
RK_U32 cbcr_hor_coe12_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe12_1 : 10;
} reg48; // 0x04c0
struct {
RK_U32 cbcr_hor_coe12_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe12_3 : 10;
} reg49; // 0x04c4
struct {
RK_U32 cbcr_hor_coe12_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe12_5 : 10;
} reg50; // 0x04c8
struct {
RK_U32 cbcr_hor_coe12_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe12_7 : 10;
} reg51; // 0x04cc
struct {
RK_U32 cbcr_hor_coe13_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe13_1 : 10;
} reg52; // 0x04d0
struct {
RK_U32 cbcr_hor_coe13_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe13_3 : 10;
} reg53; // 0x04d4
struct {
RK_U32 cbcr_hor_coe13_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe13_5 : 10;
} reg54; // 0x04d8
struct {
RK_U32 cbcr_hor_coe13_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe13_7 : 10;
} reg55; // 0x04dc
struct {
RK_U32 cbcr_hor_coe14_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe14_1 : 10;
} reg56; // 0x04e0
struct {
RK_U32 cbcr_hor_coe14_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe14_3 : 10;
} reg57; // 0x04e4
struct {
RK_U32 cbcr_hor_coe14_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe14_5 : 10;
} reg58; // 0x04e8
struct {
RK_U32 cbcr_hor_coe14_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe14_7 : 10;
} reg59; // 0x04ec
struct {
RK_U32 cbcr_hor_coe15_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe15_1 : 10;
} reg60; // 0x04f0
struct {
RK_U32 cbcr_hor_coe15_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe15_3 : 10;
} reg61; // 0x04f4
struct {
RK_U32 cbcr_hor_coe15_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe15_5 : 10;
} reg62; // 0x04f8
struct {
RK_U32 cbcr_hor_coe15_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe15_7 : 10;
} reg63; // 0x04fc
struct {
RK_U32 cbcr_hor_coe16_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe16_1 : 10;
} reg64; // 0x0500
struct {
RK_U32 cbcr_hor_coe16_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe16_3 : 10;
} reg65; // 0x0504
struct {
RK_U32 cbcr_hor_coe16_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe16_5 : 10;
} reg66; // 0x0508
struct {
RK_U32 cbcr_hor_coe16_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_hor_coe16_7 : 10;
} reg67; // 0x050c
} cbcr_hor_coe;
struct {
struct {
RK_U32 cbcr_ver_coe0_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe0_1 : 10;
} reg0; // 0x0600
struct {
RK_U32 cbcr_ver_coe0_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe0_3 : 10;
} reg1; // 0x0604
struct {
RK_U32 cbcr_ver_coe0_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe0_5 : 10;
} reg2; // 0x0608
struct {
RK_U32 cbcr_ver_coe0_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe0_7 : 10;
} reg3; // 0x060c
struct {
RK_U32 cbcr_ver_coe1_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe1_1 : 10;
} reg4; // 0x0610
struct {
RK_U32 cbcr_ver_coe1_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe1_3 : 10;
} reg5; // 0x0614
struct {
RK_U32 cbcr_ver_coe1_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe1_5 : 10;
} reg6; // 0x0618
struct {
RK_U32 cbcr_ver_coe1_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe1_7 : 10;
} reg7; // 0x061c
struct {
RK_U32 cbcr_ver_coe2_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe2_1 : 10;
} reg8; // 0x0620
struct {
RK_U32 cbcr_ver_coe2_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe2_3 : 10;
} reg9; // 0x0624
struct {
RK_U32 cbcr_ver_coe2_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe2_5 : 10;
} reg10; // 0x0628
struct {
RK_U32 cbcr_ver_coe2_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe2_7 : 10;
} reg11; // 0x062c
struct {
RK_U32 cbcr_ver_coe3_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe3_1 : 10;
} reg12; // 0x0630
struct {
RK_U32 cbcr_ver_coe3_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe3_3 : 10;
} reg13; // 0x0634
struct {
RK_U32 cbcr_ver_coe3_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe3_5 : 10;
} reg14; // 0x0638
struct {
RK_U32 cbcr_ver_coe3_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe3_7 : 10;
} reg15; // 0x063c
struct {
RK_U32 cbcr_ver_coe4_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe4_1 : 10;
} reg16; // 0x0640
struct {
RK_U32 cbcr_ver_coe4_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe4_3 : 10;
} reg17; // 0x0644
struct {
RK_U32 cbcr_ver_coe4_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe4_5 : 10;
} reg18; // 0x0648
struct {
RK_U32 cbcr_ver_coe4_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe4_7 : 10;
} reg19; // 0x064c
struct {
RK_U32 cbcr_ver_coe5_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe5_1 : 10;
} reg20; // 0x0650
struct {
RK_U32 cbcr_ver_coe5_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe5_3 : 10;
} reg21; // 0x0654
struct {
RK_U32 cbcr_ver_coe5_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe5_5 : 10;
} reg22; // 0x0658
struct {
RK_U32 cbcr_ver_coe5_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe5_7 : 10;
} reg23; // 0x065c
struct {
RK_U32 cbcr_ver_coe6_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe6_1 : 10;
} reg24; // 0x0660
struct {
RK_U32 cbcr_ver_coe6_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe6_3 : 10;
} reg25; // 0x0664
struct {
RK_U32 cbcr_ver_coe6_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe6_5 : 10;
} reg26; // 0x0668
struct {
RK_U32 cbcr_ver_coe6_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe6_7 : 10;
} reg27; // 0x066c
struct {
RK_U32 cbcr_ver_coe7_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe7_1 : 10;
} reg28; // 0x0670
struct {
RK_U32 cbcr_ver_coe7_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe7_3 : 10;
} reg29; // 0x0674
struct {
RK_U32 cbcr_ver_coe7_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe7_5 : 10;
} reg30; // 0x0678
struct {
RK_U32 cbcr_ver_coe7_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe7_7 : 10;
} reg31; // 0x067c
struct {
RK_U32 cbcr_ver_coe8_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe8_1 : 10;
} reg32; // 0x0680
struct {
RK_U32 cbcr_ver_coe8_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe8_3 : 10;
} reg33; // 0x0684
struct {
RK_U32 cbcr_ver_coe8_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe8_5 : 10;
} reg34; // 0x0688
struct {
RK_U32 cbcr_ver_coe8_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe8_7 : 10;
} reg35; // 0x068c
struct {
RK_U32 cbcr_ver_coe9_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe9_1 : 10;
} reg36; // 0x0690
struct {
RK_U32 cbcr_ver_coe9_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe9_3 : 10;
} reg37; // 0x0694
struct {
RK_U32 cbcr_ver_coe9_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe9_5 : 10;
} reg38; // 0x0698
struct {
RK_U32 cbcr_ver_coe9_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe9_7 : 10;
} reg39; // 0x069c
struct {
RK_U32 cbcr_ver_coe10_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe10_1 : 10;
} reg40; // 0x06a0
struct {
RK_U32 cbcr_ver_coe10_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe10_3 : 10;
} reg41; // 0x06a4
struct {
RK_U32 cbcr_ver_coe10_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe10_5 : 10;
} reg42; // 0x06a8
struct {
RK_U32 cbcr_ver_coe10_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe10_7 : 10;
} reg43; // 0x06ac
struct {
RK_U32 cbcr_ver_coe11_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe11_1 : 10;
} reg44; // 0x06b0
struct {
RK_U32 cbcr_ver_coe11_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe11_3 : 10;
} reg45; // 0x06b4
struct {
RK_U32 cbcr_ver_coe11_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe11_5 : 10;
} reg46; // 0x06b8
struct {
RK_U32 cbcr_ver_coe11_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe11_7 : 10;
} reg47; // 0x06bc
struct {
RK_U32 cbcr_ver_coe12_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe12_1 : 10;
} reg48; // 0x06c0
struct {
RK_U32 cbcr_ver_coe12_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe12_3 : 10;
} reg49; // 0x06c4
struct {
RK_U32 cbcr_ver_coe12_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe12_5 : 10;
} reg50; // 0x06c8
struct {
RK_U32 cbcr_ver_coe12_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe12_7 : 10;
} reg51; // 0x06cc
struct {
RK_U32 cbcr_ver_coe13_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe13_1 : 10;
} reg52; // 0x06d0
struct {
RK_U32 cbcr_ver_coe13_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe13_3 : 10;
} reg53; // 0x06d4
struct {
RK_U32 cbcr_ver_coe13_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe13_5 : 10;
} reg54; // 0x06d8
struct {
RK_U32 cbcr_ver_coe13_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe13_7 : 10;
} reg55; // 0x06dc
struct {
RK_U32 cbcr_ver_coe14_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe14_1 : 10;
} reg56; // 0x06e0
struct {
RK_U32 cbcr_ver_coe14_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe14_3 : 10;
} reg57; // 0x06e4
struct {
RK_U32 cbcr_ver_coe14_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe14_5 : 10;
} reg58; // 0x06e8
struct {
RK_U32 cbcr_ver_coe14_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe14_7 : 10;
} reg59; // 0x06ec
struct {
RK_U32 cbcr_ver_coe15_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe15_1 : 10;
} reg60; // 0x06f0
struct {
RK_U32 cbcr_ver_coe15_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe15_3 : 10;
} reg61; // 0x06f4
struct {
RK_U32 cbcr_ver_coe15_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe15_5 : 10;
} reg62; // 0x06f8
struct {
RK_U32 cbcr_ver_coe15_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe15_7 : 10;
} reg63; // 0x06fc
struct {
RK_U32 cbcr_ver_coe16_0 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe16_1 : 10;
} reg64; // 0x0700
struct {
RK_U32 cbcr_ver_coe16_2 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe16_3 : 10;
} reg65; // 0x0704
struct {
RK_U32 cbcr_ver_coe16_4 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe16_5 : 10;
} reg66; // 0x0708
struct {
RK_U32 cbcr_ver_coe16_6 : 10;
RK_U32 sw_reserved_1 : 6;
RK_U32 cbcr_ver_coe16_7 : 10;
} reg67; // 0x070c
} cbcr_ver_coe;
struct {
struct {
RK_U32 bypass_en : 1;
RK_U32 align_en : 1;
RK_U32 reserved_1 : 2;
RK_U32 format_in : 4;
RK_U32 format_out : 4;
RK_U32 reserved_2 : 19;
RK_U32 auto_gating_en : 1;
} reg0; // 0x0800
RK_U32 reg1; // 0x0804
RK_U32 reg2; // 0x0808
struct {
RK_U32 vir_width : 16;
RK_U32 vir_height : 16;
} reg3; // 0x080C
struct {
RK_U32 yrgb_xsd_en : 1;
RK_U32 yrgb_xsu_en : 1;
RK_U32 yrgb_scl_mode : 2;
RK_U32 yrgb_ysd_en : 1;
RK_U32 yrgb_ysu_en : 1;
RK_U32 yrgb_yscl_mode : 2;
RK_U32 yrgb_dering_en : 1;
RK_U32 yrgb_gt_en : 1;
RK_U32 yrgb_gt_mode : 2;
RK_U32 yrgb_xgt_en : 1;
RK_U32 reserved_1 : 1;
RK_U32 yrgb_xgt_mode : 2;
RK_U32 yrgb_xsd_bypass : 1;
RK_U32 yrgb_ys_bypass : 1;
RK_U32 yrgb_xsu_bypass : 1;
} reg4; // 0x0810
struct {
RK_U32 yrgb_src_width : 16;
RK_U32 yrgb_src_height : 16;
} reg5; // 0x0814
struct {
RK_U32 yrgb_dst_width : 16;
RK_U32 yrgb_dst_height : 16;
} reg6; // 0x0818
struct {
RK_U32 yrgb_dering_sen0 : 5;
RK_U32 reserved_1 : 3;
RK_U32 yrgb_dering_sen1 : 5;
RK_U32 reserved_2 : 3;
RK_U32 yrgb_dering_alpha: 5;
RK_U32 reserved_3 : 3;
RK_U32 yrgb_dering_delta: 5;
} reg7; // 0x081C
struct {
RK_U32 yrgb_xscl_factor : 16;
RK_U32 yrgb_xscl_offset : 16;
} reg8; // 0x0820
struct {
RK_U32 yrgb_yscl_factor : 16;
RK_U32 yrgb_yscl_offset : 16;
} reg9; // 0x0824
RK_U32 reg10; // 0x0828
RK_U32 reg11; // 0x082C
struct {
RK_U32 cbcr_xsd_en : 1;
RK_U32 cbcr_xsu_en : 1;
RK_U32 cbcr_scl_mode : 2;
RK_U32 cbcr_ysd_en : 1;
RK_U32 cbcr_ysu_en : 1;
RK_U32 cbcr_yscl_mode : 2;
RK_U32 cbcr_dering_en : 1;
RK_U32 cbcr_gt_en : 1;
RK_U32 cbcr_gt_mode : 2;
RK_U32 cbcr_xgt_en : 1;
RK_U32 reserved_1 : 1;
RK_U32 cbcr_xgt_mode : 2;
RK_U32 cbcr_xsd_bypass : 1;
RK_U32 cbcr_ys_bypass : 1;
RK_U32 cbcr_xsu_bypass : 1;
} reg12; // 0x0830
struct {
RK_U32 cbcr_src_width : 16;
RK_U32 cbcr_src_height : 16;
} reg13; // 0x0834
struct {
RK_U32 cbcr_dst_width : 16;
RK_U32 cbcr_dst_height : 16;
} reg14; // 0x0838
struct {
RK_U32 cbcr_dering_sen0 : 5;
RK_U32 reserved_1 : 3;
RK_U32 cbcr_dering_sen1 : 5;
RK_U32 reserved_2 : 3;
RK_U32 cbcr_dering_alpha: 5;
RK_U32 reserved_3 : 3;
RK_U32 cbcr_dering_delta: 5;
} reg15; // 0x083C
struct {
RK_U32 cbcr_xscl_factor : 16;
RK_U32 cbcr_xscl_offset : 16;
} reg16; // 0x0840
struct {
RK_U32 cbcr_yscl_factor : 16;
RK_U32 cbcr_yscl_offset : 16;
} reg17; // 0x0844
} common;
} zme; // offset: 0x2000
};
#endif