1 /* SPDX-License-Identifier: Apache-2.0 OR MIT */ 2 /* 3 * Copyright (c) 2024 Rockchip Electronics Co., Ltd. 4 */ 5 6 #ifndef __VDPP_COMMON_H__ 7 #define __VDPP_COMMON_H__ 8 9 #include <string.h> 10 11 #include "rk_type.h" 12 #include "mpp_err.h" 13 #include "mpp_common.h" 14 #include "vdpp_api.h" 15 16 /* marco define */ 17 #define VDPP_TILE_W_MAX (120) 18 #define VDPP_TILE_H_MAX (480) 19 20 #define SCALE_FACTOR_DN_FIXPOINT_SHIFT (12) 21 #define SCALE_FACTOR_UP_FIXPOINT_SHIFT (16) 22 #define GET_SCALE_FACTOR_DN(src,dst) ((((src) - 1) << SCALE_FACTOR_DN_FIXPOINT_SHIFT) / ((dst) - 1)) 23 #define GET_SCALE_FACTOR_UP(src,dst) ((((src) - 1) << SCALE_FACTOR_UP_FIXPOINT_SHIFT) / ((dst) - 1)) 24 25 extern const char *working_mode_name[]; 26 27 enum ZME_FMT { 28 FMT_YCbCr420_888 = 4, 29 FMT_YCbCr444_888 = 6, 30 }; 31 32 enum { 33 SCL_NEI = 0, 34 SCL_BIL = 1, 35 SCL_BIC = 2, 36 SCL_MPH = 3, 37 }; 38 39 struct dmsr_params { 40 bool dmsr_enable; 41 RK_U32 dmsr_str_pri_y; 42 RK_U32 dmsr_str_sec_y; 43 RK_U32 dmsr_dumping_y; 44 RK_U32 dmsr_wgt_pri_gain_even_1; 45 RK_U32 dmsr_wgt_pri_gain_even_2; 46 RK_U32 dmsr_wgt_pri_gain_odd_1; 47 RK_U32 dmsr_wgt_pri_gain_odd_2; 48 RK_U32 dmsr_wgt_sec_gain; 49 RK_U32 dmsr_blk_flat_th; 50 RK_U32 dmsr_contrast_to_conf_map_x0; 51 RK_U32 dmsr_contrast_to_conf_map_x1; 52 RK_U32 dmsr_contrast_to_conf_map_y0; 53 RK_U32 dmsr_contrast_to_conf_map_y1; 54 RK_U32 dmsr_diff_core_th0; 55 RK_U32 dmsr_diff_core_th1; 56 RK_U32 dmsr_diff_core_wgt0; 57 RK_U32 dmsr_diff_core_wgt1; 58 RK_U32 dmsr_diff_core_wgt2; 59 RK_U32 dmsr_edge_th_low_arr[7]; 60 RK_U32 dmsr_edge_th_high_arr[7]; 61 }; 62 63 struct dmsr_reg { 64 65 struct { 66 RK_U32 sw_dmsr_edge_low_thre_0 : 16; 67 RK_U32 sw_dmsr_edge_high_thre_0 : 16; 68 } reg0; /* 0x0080 */ 69 70 struct { 71 RK_U32 sw_dmsr_edge_low_thre_1 : 16; 72 RK_U32 sw_dmsr_edge_high_thre_1 : 16; 73 } reg1; /* 0x0084 */ 74 75 struct { 76 RK_U32 sw_dmsr_edge_low_thre_2 : 16; 77 RK_U32 sw_dmsr_edge_high_thre_2 : 16; 78 } reg2; /* 0x0088 */ 79 80 struct { 81 RK_U32 sw_dmsr_edge_low_thre_3 : 16; 82 RK_U32 sw_dmsr_edge_high_thre_3 : 16; 83 } reg3; /* 0x008C */ 84 85 struct { 86 RK_U32 sw_dmsr_edge_low_thre_4 : 16; 87 RK_U32 sw_dmsr_edge_high_thre_4 : 16; 88 } reg4; /* 0x0090 */ 89 90 struct { 91 RK_U32 sw_dmsr_edge_low_thre_5 : 16; 92 RK_U32 sw_dmsr_edge_high_thre_5 : 16; 93 } reg5; /* 0x0094 */ 94 95 struct { 96 RK_U32 sw_dmsr_edge_low_thre_6 : 16; 97 RK_U32 sw_dmsr_edge_high_thre_6 : 16; 98 } reg6; /* 0x0098 */ 99 100 struct { 101 RK_U32 sw_dmsr_edge_k_0 : 16; 102 RK_U32 sw_dmsr_edge_k_1 : 16; 103 } reg7; /* 0x009C */ 104 105 struct { 106 RK_U32 sw_dmsr_edge_k_2 : 16; 107 RK_U32 sw_dmsr_edge_k_3 : 16; 108 } reg8; /* 0x00A0 */ 109 110 struct { 111 RK_U32 sw_dmsr_edge_k_4 : 16; 112 RK_U32 sw_dmsr_edge_k_5 : 16; 113 } reg9; /* 0x00A4 */ 114 115 struct { 116 RK_U32 sw_dmsr_edge_k_6 : 16; 117 RK_U32 sw_dmsr_dir_contrast_conf_f : 16; 118 } reg10; /* 0x00A8 */ 119 120 struct { 121 RK_U32 sw_dmsr_dir_contrast_conf_x0 : 16; 122 RK_U32 sw_dmsr_dir_contrast_conf_x1 : 16; 123 } reg11; /* 0x00AC */ 124 125 struct { 126 RK_U32 sw_dmsr_dir_contrast_conf_y0 : 16; 127 RK_U32 sw_dmsr_dir_contrast_conf_y1 : 16; 128 } reg12; /* 0x00B0 */ 129 130 struct { 131 RK_U32 sw_dmsr_var_th : 16; 132 } reg13; /* 0x00B4 */ 133 134 struct { 135 RK_U32 sw_dmsr_diff_coring_th0 : 8; 136 RK_U32 sw_dmsr_diff_coring_th1 : 8; 137 } reg14; /* 0x00B8 */ 138 139 struct { 140 RK_U32 sw_dmsr_diff_coring_wgt0 : 6; 141 RK_U32 sw_reserved_1 : 2; 142 RK_U32 sw_dmsr_diff_coring_wgt1 : 6; 143 RK_U32 sw_reserved_2 : 2; 144 RK_U32 sw_dmsr_diff_coring_wgt2 : 6; 145 } reg15; /* 0x00BC */ 146 147 struct { 148 RK_U32 sw_dmsr_diff_coring_y0 : 14; 149 RK_U32 sw_reserved_1 : 2; 150 RK_U32 sw_dmsr_diff_coring_y1 : 14; 151 RK_U32 sw_reserved_2 : 2; 152 } reg16; /* 0x00C0 */ 153 154 struct { 155 RK_U32 sw_dmsr_wgt_pri_gain_1_odd : 6; 156 RK_U32 sw_reserved_1 : 2; 157 RK_U32 sw_dmsr_wgt_pri_gain_1_even : 6; 158 RK_U32 sw_reserved_2 : 2; 159 RK_U32 sw_dmsr_wgt_pri_gain_2_odd : 6; 160 RK_U32 sw_reserved_3 : 2; 161 RK_U32 sw_dmsr_wgt_pri_gain_2_even : 6; 162 } reg17; /* 0x00C4 */ 163 164 struct { 165 RK_U32 sw_dmsr_wgt_sec_gain_1 : 6; 166 RK_U32 sw_reserved_1 : 2; 167 RK_U32 sw_dmsr_wgt_sec_gain_2 : 6; 168 } reg18; /* 0x00C8 */ 169 170 struct { 171 RK_U32 sw_dmsr_strength_pri : 5; 172 RK_U32 sw_reserved_1 : 3; 173 RK_U32 sw_dmsr_strength_sec : 5; 174 RK_U32 sw_reserved_2 : 3; 175 RK_U32 sw_dmsr_dump : 4; 176 } reg19; /* 0x00CC */ 177 178 struct { 179 RK_U32 sw_dmsr_obv_point_h : 12; 180 RK_U32 sw_dmsr_obv_point_v : 12; 181 RK_U32 sw_dmsr_obv_enable : 1; 182 RK_U32 sw_dmsr_obv_mode : 1; 183 } reg20; /* 0x00D0 */ 184 }; /* offset: 0x1080 */ 185 186 187 typedef struct { 188 RK_U16 act_width; 189 RK_U16 dsp_width; 190 191 RK_U16 act_height; 192 RK_U16 dsp_height; 193 194 RK_U8 dering_en; 195 196 RK_U8 xsd_en; 197 RK_U8 xsu_en; 198 RK_U8 xsd_bypass; 199 RK_U8 xsu_bypass; 200 RK_U8 xscl_mode; 201 RK_U16 xscl_factor; 202 RK_U8 xscl_offset; 203 204 RK_U8 ysd_en; 205 RK_U8 ysu_en; 206 RK_U8 ys_bypass; 207 RK_U8 yscl_mode; 208 RK_U16 yscl_factor; 209 RK_U8 yscl_offset; 210 211 RK_U8 xavg_en; 212 RK_U8 xgt_en; 213 RK_U8 xgt_mode; 214 215 RK_U8 yavg_en; 216 RK_U8 ygt_en; 217 RK_U8 ygt_mode; 218 219 RK_S16 (*xscl_zme_coe)[8]; 220 RK_S16 (*yscl_zme_coe)[8]; 221 } scl_info; 222 223 typedef struct FdTransInfo_t { 224 RK_U32 reg_idx; 225 RK_U32 offset; 226 } RegOffsetInfo; 227 228 struct vdpp_addr { 229 RK_U32 y; 230 RK_U32 cbcr; 231 RK_U32 cbcr_offset; 232 }; 233 234 struct zme_params { 235 RK_U32 zme_bypass_en; 236 RK_U32 zme_dering_enable; 237 RK_U32 zme_dering_sen_0; 238 RK_U32 zme_dering_sen_1; 239 RK_U32 zme_dering_blend_alpha; 240 RK_U32 zme_dering_blend_beta; 241 RK_S16 (*zme_tap8_coeff)[17][8]; 242 RK_S16 (*zme_tap6_coeff)[17][8]; 243 244 /* for scl_info */ 245 RK_U32 src_width; 246 RK_U32 src_height; 247 RK_U32 dst_width; 248 RK_U32 dst_height; 249 RK_U32 dst_fmt; 250 /* 3576 feature */ 251 RK_U32 yuv_out_diff; 252 RK_U32 dst_c_width; 253 RK_U32 dst_c_height; 254 }; 255 256 257 struct zme_reg { 258 struct { 259 struct { 260 RK_U32 yrgb_hor_coe0_0 : 10; 261 RK_U32 sw_reserved_1 : 6; 262 RK_U32 yrgb_hor_coe0_1 : 10; 263 } reg0; /* 0x0000 */ 264 struct { 265 RK_U32 yrgb_hor_coe0_2 : 10; 266 RK_U32 sw_reserved_1 : 6; 267 RK_U32 yrgb_hor_coe0_3 : 10; 268 } reg1; /* 0x0004 */ 269 struct { 270 RK_U32 yrgb_hor_coe0_4 : 10; 271 RK_U32 sw_reserved_1 : 6; 272 RK_U32 yrgb_hor_coe0_5 : 10; 273 } reg2; /* 0x0008 */ 274 struct { 275 RK_U32 yrgb_hor_coe0_6 : 10; 276 RK_U32 sw_reserved_1 : 6; 277 RK_U32 yrgb_hor_coe0_7 : 10; 278 } reg3; /* 0x000c */ 279 struct { 280 RK_U32 yrgb_hor_coe1_0 : 10; 281 RK_U32 sw_reserved_1 : 6; 282 RK_U32 yrgb_hor_coe1_1 : 10; 283 } reg4; /* 0x0010 */ 284 struct { 285 RK_U32 yrgb_hor_coe1_2 : 10; 286 RK_U32 sw_reserved_1 : 6; 287 RK_U32 yrgb_hor_coe1_3 : 10; 288 } reg5; /* 0x0014 */ 289 struct { 290 RK_U32 yrgb_hor_coe1_4 : 10; 291 RK_U32 sw_reserved_1 : 6; 292 RK_U32 yrgb_hor_coe1_5 : 10; 293 } reg6; /* 0x0018 */ 294 struct { 295 RK_U32 yrgb_hor_coe1_6 : 10; 296 RK_U32 sw_reserved_1 : 6; 297 RK_U32 yrgb_hor_coe1_7 : 10; 298 } reg7; /* 0x001c */ 299 struct { 300 RK_U32 yrgb_hor_coe2_0 : 10; 301 RK_U32 sw_reserved_1 : 6; 302 RK_U32 yrgb_hor_coe2_1 : 10; 303 } reg8; /* 0x0020 */ 304 struct { 305 RK_U32 yrgb_hor_coe2_2 : 10; 306 RK_U32 sw_reserved_1 : 6; 307 RK_U32 yrgb_hor_coe2_3 : 10; 308 } reg9; /* 0x0024 */ 309 struct { 310 RK_U32 yrgb_hor_coe2_4 : 10; 311 RK_U32 sw_reserved_1 : 6; 312 RK_U32 yrgb_hor_coe2_5 : 10; 313 } reg10; /* 0x0028 */ 314 struct { 315 RK_U32 yrgb_hor_coe2_6 : 10; 316 RK_U32 sw_reserved_1 : 6; 317 RK_U32 yrgb_hor_coe2_7 : 10; 318 } reg11; /* 0x002c */ 319 struct { 320 RK_U32 yrgb_hor_coe3_0 : 10; 321 RK_U32 sw_reserved_1 : 6; 322 RK_U32 yrgb_hor_coe3_1 : 10; 323 } reg12; /* 0x0030 */ 324 struct { 325 RK_U32 yrgb_hor_coe3_2 : 10; 326 RK_U32 sw_reserved_1 : 6; 327 RK_U32 yrgb_hor_coe3_3 : 10; 328 } reg13; /* 0x0034 */ 329 struct { 330 RK_U32 yrgb_hor_coe3_4 : 10; 331 RK_U32 sw_reserved_1 : 6; 332 RK_U32 yrgb_hor_coe3_5 : 10; 333 } reg14; /* 0x0038 */ 334 struct { 335 RK_U32 yrgb_hor_coe3_6 : 10; 336 RK_U32 sw_reserved_1 : 6; 337 RK_U32 yrgb_hor_coe3_7 : 10; 338 } reg15; /* 0x003c */ 339 struct { 340 RK_U32 yrgb_hor_coe4_0 : 10; 341 RK_U32 sw_reserved_1 : 6; 342 RK_U32 yrgb_hor_coe4_1 : 10; 343 } reg16; /* 0x0040 */ 344 struct { 345 RK_U32 yrgb_hor_coe4_2 : 10; 346 RK_U32 sw_reserved_1 : 6; 347 RK_U32 yrgb_hor_coe4_3 : 10; 348 } reg17; /* 0x0044 */ 349 struct { 350 RK_U32 yrgb_hor_coe4_4 : 10; 351 RK_U32 sw_reserved_1 : 6; 352 RK_U32 yrgb_hor_coe4_5 : 10; 353 } reg18; /* 0x0048 */ 354 struct { 355 RK_U32 yrgb_hor_coe4_6 : 10; 356 RK_U32 sw_reserved_1 : 6; 357 RK_U32 yrgb_hor_coe4_7 : 10; 358 } reg19; /* 0x004c */ 359 struct { 360 RK_U32 yrgb_hor_coe5_0 : 10; 361 RK_U32 sw_reserved_1 : 6; 362 RK_U32 yrgb_hor_coe5_1 : 10; 363 } reg20; /* 0x0050 */ 364 struct { 365 RK_U32 yrgb_hor_coe5_2 : 10; 366 RK_U32 sw_reserved_1 : 6; 367 RK_U32 yrgb_hor_coe5_3 : 10; 368 } reg21; /* 0x0054 */ 369 struct { 370 RK_U32 yrgb_hor_coe5_4 : 10; 371 RK_U32 sw_reserved_1 : 6; 372 RK_U32 yrgb_hor_coe5_5 : 10; 373 } reg22; /* 0x0058 */ 374 struct { 375 RK_U32 yrgb_hor_coe5_6 : 10; 376 RK_U32 sw_reserved_1 : 6; 377 RK_U32 yrgb_hor_coe5_7 : 10; 378 } reg23; /* 0x005c */ 379 struct { 380 RK_U32 yrgb_hor_coe6_0 : 10; 381 RK_U32 sw_reserved_1 : 6; 382 RK_U32 yrgb_hor_coe6_1 : 10; 383 } reg24; /* 0x0060 */ 384 struct { 385 RK_U32 yrgb_hor_coe6_2 : 10; 386 RK_U32 sw_reserved_1 : 6; 387 RK_U32 yrgb_hor_coe6_3 : 10; 388 } reg25; /* 0x0064 */ 389 struct { 390 RK_U32 yrgb_hor_coe6_4 : 10; 391 RK_U32 sw_reserved_1 : 6; 392 RK_U32 yrgb_hor_coe6_5 : 10; 393 } reg26; /* 0x0068 */ 394 struct { 395 RK_U32 yrgb_hor_coe6_6 : 10; 396 RK_U32 sw_reserved_1 : 6; 397 RK_U32 yrgb_hor_coe6_7 : 10; 398 } reg27; /* 0x006c */ 399 struct { 400 RK_U32 yrgb_hor_coe7_0 : 10; 401 RK_U32 sw_reserved_1 : 6; 402 RK_U32 yrgb_hor_coe7_1 : 10; 403 } reg28; /* 0x0070 */ 404 struct { 405 RK_U32 yrgb_hor_coe7_2 : 10; 406 RK_U32 sw_reserved_1 : 6; 407 RK_U32 yrgb_hor_coe7_3 : 10; 408 } reg29; /* 0x0074 */ 409 struct { 410 RK_U32 yrgb_hor_coe7_4 : 10; 411 RK_U32 sw_reserved_1 : 6; 412 RK_U32 yrgb_hor_coe7_5 : 10; 413 } reg30; /* 0x0078 */ 414 struct { 415 RK_U32 yrgb_hor_coe7_6 : 10; 416 RK_U32 sw_reserved_1 : 6; 417 RK_U32 yrgb_hor_coe7_7 : 10; 418 } reg31; /* 0x007c */ 419 struct { 420 RK_U32 yrgb_hor_coe8_0 : 10; 421 RK_U32 sw_reserved_1 : 6; 422 RK_U32 yrgb_hor_coe8_1 : 10; 423 } reg32; /* 0x0080 */ 424 struct { 425 RK_U32 yrgb_hor_coe8_2 : 10; 426 RK_U32 sw_reserved_1 : 6; 427 RK_U32 yrgb_hor_coe8_3 : 10; 428 } reg33; /* 0x0084 */ 429 struct { 430 RK_U32 yrgb_hor_coe8_4 : 10; 431 RK_U32 sw_reserved_1 : 6; 432 RK_U32 yrgb_hor_coe8_5 : 10; 433 } reg34; /* 0x0088 */ 434 struct { 435 RK_U32 yrgb_hor_coe8_6 : 10; 436 RK_U32 sw_reserved_1 : 6; 437 RK_U32 yrgb_hor_coe8_7 : 10; 438 } reg35; /* 0x008c */ 439 struct { 440 RK_U32 yrgb_hor_coe9_0 : 10; 441 RK_U32 sw_reserved_1 : 6; 442 RK_U32 yrgb_hor_coe9_1 : 10; 443 } reg36; /* 0x0090 */ 444 struct { 445 RK_U32 yrgb_hor_coe9_2 : 10; 446 RK_U32 sw_reserved_1 : 6; 447 RK_U32 yrgb_hor_coe9_3 : 10; 448 } reg37; /* 0x0094 */ 449 struct { 450 RK_U32 yrgb_hor_coe9_4 : 10; 451 RK_U32 sw_reserved_1 : 6; 452 RK_U32 yrgb_hor_coe9_5 : 10; 453 } reg38; /* 0x0098 */ 454 struct { 455 RK_U32 yrgb_hor_coe9_6 : 10; 456 RK_U32 sw_reserved_1 : 6; 457 RK_U32 yrgb_hor_coe9_7 : 10; 458 } reg39; /* 0x009c */ 459 struct { 460 RK_U32 yrgb_hor_coe10_0 : 10; 461 RK_U32 sw_reserved_1 : 6; 462 RK_U32 yrgb_hor_coe10_1 : 10; 463 } reg40; /* 0x00a0 */ 464 struct { 465 RK_U32 yrgb_hor_coe10_2 : 10; 466 RK_U32 sw_reserved_1 : 6; 467 RK_U32 yrgb_hor_coe10_3 : 10; 468 } reg41; /* 0x00a4 */ 469 struct { 470 RK_U32 yrgb_hor_coe10_4 : 10; 471 RK_U32 sw_reserved_1 : 6; 472 RK_U32 yrgb_hor_coe10_5 : 10; 473 } reg42; /* 0x00a8 */ 474 struct { 475 RK_U32 yrgb_hor_coe10_6 : 10; 476 RK_U32 sw_reserved_1 : 6; 477 RK_U32 yrgb_hor_coe10_7 : 10; 478 } reg43; /* 0x00ac */ 479 struct { 480 RK_U32 yrgb_hor_coe11_0 : 10; 481 RK_U32 sw_reserved_1 : 6; 482 RK_U32 yrgb_hor_coe11_1 : 10; 483 } reg44; /* 0x00b0 */ 484 struct { 485 RK_U32 yrgb_hor_coe11_2 : 10; 486 RK_U32 sw_reserved_1 : 6; 487 RK_U32 yrgb_hor_coe11_3 : 10; 488 } reg45; /* 0x00b4 */ 489 struct { 490 RK_U32 yrgb_hor_coe11_4 : 10; 491 RK_U32 sw_reserved_1 : 6; 492 RK_U32 yrgb_hor_coe11_5 : 10; 493 } reg46; /* 0x00b8 */ 494 struct { 495 RK_U32 yrgb_hor_coe11_6 : 10; 496 RK_U32 sw_reserved_1 : 6; 497 RK_U32 yrgb_hor_coe11_7 : 10; 498 } reg47; /* 0x00bc */ 499 struct { 500 RK_U32 yrgb_hor_coe12_0 : 10; 501 RK_U32 sw_reserved_1 : 6; 502 RK_U32 yrgb_hor_coe12_1 : 10; 503 } reg48; /* 0x00c0 */ 504 struct { 505 RK_U32 yrgb_hor_coe12_2 : 10; 506 RK_U32 sw_reserved_1 : 6; 507 RK_U32 yrgb_hor_coe12_3 : 10; 508 } reg49; /* 0x00c4 */ 509 struct { 510 RK_U32 yrgb_hor_coe12_4 : 10; 511 RK_U32 sw_reserved_1 : 6; 512 RK_U32 yrgb_hor_coe12_5 : 10; 513 } reg50; /* 0x00c8 */ 514 struct { 515 RK_U32 yrgb_hor_coe12_6 : 10; 516 RK_U32 sw_reserved_1 : 6; 517 RK_U32 yrgb_hor_coe12_7 : 10; 518 } reg51; /* 0x00cc */ 519 struct { 520 RK_U32 yrgb_hor_coe13_0 : 10; 521 RK_U32 sw_reserved_1 : 6; 522 RK_U32 yrgb_hor_coe13_1 : 10; 523 } reg52; /* 0x00d0 */ 524 struct { 525 RK_U32 yrgb_hor_coe13_2 : 10; 526 RK_U32 sw_reserved_1 : 6; 527 RK_U32 yrgb_hor_coe13_3 : 10; 528 } reg53; /* 0x00d4 */ 529 struct { 530 RK_U32 yrgb_hor_coe13_4 : 10; 531 RK_U32 sw_reserved_1 : 6; 532 RK_U32 yrgb_hor_coe13_5 : 10; 533 } reg54; /* 0x00d8 */ 534 struct { 535 RK_U32 yrgb_hor_coe13_6 : 10; 536 RK_U32 sw_reserved_1 : 6; 537 RK_U32 yrgb_hor_coe13_7 : 10; 538 } reg55; /* 0x00dc */ 539 struct { 540 RK_U32 yrgb_hor_coe14_0 : 10; 541 RK_U32 sw_reserved_1 : 6; 542 RK_U32 yrgb_hor_coe14_1 : 10; 543 } reg56; /* 0x00e0 */ 544 struct { 545 RK_U32 yrgb_hor_coe14_2 : 10; 546 RK_U32 sw_reserved_1 : 6; 547 RK_U32 yrgb_hor_coe14_3 : 10; 548 } reg57; /* 0x00e4 */ 549 struct { 550 RK_U32 yrgb_hor_coe14_4 : 10; 551 RK_U32 sw_reserved_1 : 6; 552 RK_U32 yrgb_hor_coe14_5 : 10; 553 } reg58; /* 0x00e8 */ 554 struct { 555 RK_U32 yrgb_hor_coe14_6 : 10; 556 RK_U32 sw_reserved_1 : 6; 557 RK_U32 yrgb_hor_coe14_7 : 10; 558 } reg59; /* 0x00ec */ 559 struct { 560 RK_U32 yrgb_hor_coe15_0 : 10; 561 RK_U32 sw_reserved_1 : 6; 562 RK_U32 yrgb_hor_coe15_1 : 10; 563 } reg60; /* 0x00f0 */ 564 struct { 565 RK_U32 yrgb_hor_coe15_2 : 10; 566 RK_U32 sw_reserved_1 : 6; 567 RK_U32 yrgb_hor_coe15_3 : 10; 568 } reg61; /* 0x00f4 */ 569 struct { 570 RK_U32 yrgb_hor_coe15_4 : 10; 571 RK_U32 sw_reserved_1 : 6; 572 RK_U32 yrgb_hor_coe15_5 : 10; 573 } reg62; /* 0x00f8 */ 574 struct { 575 RK_U32 yrgb_hor_coe15_6 : 10; 576 RK_U32 sw_reserved_1 : 6; 577 RK_U32 yrgb_hor_coe15_7 : 10; 578 } reg63; /* 0x00fc */ 579 struct { 580 RK_U32 yrgb_hor_coe16_0 : 10; 581 RK_U32 sw_reserved_1 : 6; 582 RK_U32 yrgb_hor_coe16_1 : 10; 583 } reg64; /* 0x0100 */ 584 struct { 585 RK_U32 yrgb_hor_coe16_2 : 10; 586 RK_U32 sw_reserved_1 : 6; 587 RK_U32 yrgb_hor_coe16_3 : 10; 588 } reg65; /* 0x0104 */ 589 struct { 590 RK_U32 yrgb_hor_coe16_4 : 10; 591 RK_U32 sw_reserved_1 : 6; 592 RK_U32 yrgb_hor_coe16_5 : 10; 593 } reg66; /* 0x0108 */ 594 struct { 595 RK_U32 yrgb_hor_coe16_6 : 10; 596 RK_U32 sw_reserved_1 : 6; 597 RK_U32 yrgb_hor_coe16_7 : 10; 598 } reg67; /* 0x010c */ 599 600 } yrgb_hor_coe; 601 602 struct { 603 struct { 604 RK_U32 yrgb_ver_coe0_0 : 10; 605 RK_U32 sw_reserved_1 : 6; 606 RK_U32 yrgb_ver_coe0_1 : 10; 607 } reg0; /* 0x0200 */ 608 struct { 609 RK_U32 yrgb_ver_coe0_2 : 10; 610 RK_U32 sw_reserved_1 : 6; 611 RK_U32 yrgb_ver_coe0_3 : 10; 612 } reg1; /* 0x0204 */ 613 struct { 614 RK_U32 yrgb_ver_coe0_4 : 10; 615 RK_U32 sw_reserved_1 : 6; 616 RK_U32 yrgb_ver_coe0_5 : 10; 617 } reg2; /* 0x0208 */ 618 struct { 619 RK_U32 yrgb_ver_coe0_6 : 10; 620 RK_U32 sw_reserved_1 : 6; 621 RK_U32 yrgb_ver_coe0_7 : 10; 622 } reg3; /* 0x020c */ 623 struct { 624 RK_U32 yrgb_ver_coe1_0 : 10; 625 RK_U32 sw_reserved_1 : 6; 626 RK_U32 yrgb_ver_coe1_1 : 10; 627 } reg4; /* 0x0210 */ 628 struct { 629 RK_U32 yrgb_ver_coe1_2 : 10; 630 RK_U32 sw_reserved_1 : 6; 631 RK_U32 yrgb_ver_coe1_3 : 10; 632 } reg5; /* 0x0214 */ 633 struct { 634 RK_U32 yrgb_ver_coe1_4 : 10; 635 RK_U32 sw_reserved_1 : 6; 636 RK_U32 yrgb_ver_coe1_5 : 10; 637 } reg6; /* 0x0218 */ 638 struct { 639 RK_U32 yrgb_ver_coe1_6 : 10; 640 RK_U32 sw_reserved_1 : 6; 641 RK_U32 yrgb_ver_coe1_7 : 10; 642 } reg7; /* 0x021c */ 643 struct { 644 RK_U32 yrgb_ver_coe2_0 : 10; 645 RK_U32 sw_reserved_1 : 6; 646 RK_U32 yrgb_ver_coe2_1 : 10; 647 } reg8; /* 0x0220 */ 648 struct { 649 RK_U32 yrgb_ver_coe2_2 : 10; 650 RK_U32 sw_reserved_1 : 6; 651 RK_U32 yrgb_ver_coe2_3 : 10; 652 } reg9; /* 0x0224 */ 653 struct { 654 RK_U32 yrgb_ver_coe2_4 : 10; 655 RK_U32 sw_reserved_1 : 6; 656 RK_U32 yrgb_ver_coe2_5 : 10; 657 } reg10; /* 0x0228 */ 658 struct { 659 RK_U32 yrgb_ver_coe2_6 : 10; 660 RK_U32 sw_reserved_1 : 6; 661 RK_U32 yrgb_ver_coe2_7 : 10; 662 } reg11; /* 0x022c */ 663 struct { 664 RK_U32 yrgb_ver_coe3_0 : 10; 665 RK_U32 sw_reserved_1 : 6; 666 RK_U32 yrgb_ver_coe3_1 : 10; 667 } reg12; /* 0x0230 */ 668 struct { 669 RK_U32 yrgb_ver_coe3_2 : 10; 670 RK_U32 sw_reserved_1 : 6; 671 RK_U32 yrgb_ver_coe3_3 : 10; 672 } reg13; /* 0x0234 */ 673 struct { 674 RK_U32 yrgb_ver_coe3_4 : 10; 675 RK_U32 sw_reserved_1 : 6; 676 RK_U32 yrgb_ver_coe3_5 : 10; 677 } reg14; /* 0x0238 */ 678 struct { 679 RK_U32 yrgb_ver_coe3_6 : 10; 680 RK_U32 sw_reserved_1 : 6; 681 RK_U32 yrgb_ver_coe3_7 : 10; 682 } reg15; /* 0x023c */ 683 struct { 684 RK_U32 yrgb_ver_coe4_0 : 10; 685 RK_U32 sw_reserved_1 : 6; 686 RK_U32 yrgb_ver_coe4_1 : 10; 687 } reg16; /* 0x0240 */ 688 struct { 689 RK_U32 yrgb_ver_coe4_2 : 10; 690 RK_U32 sw_reserved_1 : 6; 691 RK_U32 yrgb_ver_coe4_3 : 10; 692 } reg17; /* 0x0244 */ 693 struct { 694 RK_U32 yrgb_ver_coe4_4 : 10; 695 RK_U32 sw_reserved_1 : 6; 696 RK_U32 yrgb_ver_coe4_5 : 10; 697 } reg18; /* 0x0248 */ 698 struct { 699 RK_U32 yrgb_ver_coe4_6 : 10; 700 RK_U32 sw_reserved_1 : 6; 701 RK_U32 yrgb_ver_coe4_7 : 10; 702 } reg19; /* 0x024c */ 703 struct { 704 RK_U32 yrgb_ver_coe5_0 : 10; 705 RK_U32 sw_reserved_1 : 6; 706 RK_U32 yrgb_ver_coe5_1 : 10; 707 } reg20; /* 0x0250 */ 708 struct { 709 RK_U32 yrgb_ver_coe5_2 : 10; 710 RK_U32 sw_reserved_1 : 6; 711 RK_U32 yrgb_ver_coe5_3 : 10; 712 } reg21; /* 0x0254 */ 713 struct { 714 RK_U32 yrgb_ver_coe5_4 : 10; 715 RK_U32 sw_reserved_1 : 6; 716 RK_U32 yrgb_ver_coe5_5 : 10; 717 } reg22; /* 0x0258 */ 718 struct { 719 RK_U32 yrgb_ver_coe5_6 : 10; 720 RK_U32 sw_reserved_1 : 6; 721 RK_U32 yrgb_ver_coe5_7 : 10; 722 } reg23; /* 0x025c */ 723 struct { 724 RK_U32 yrgb_ver_coe6_0 : 10; 725 RK_U32 sw_reserved_1 : 6; 726 RK_U32 yrgb_ver_coe6_1 : 10; 727 } reg24; /* 0x0260 */ 728 struct { 729 RK_U32 yrgb_ver_coe6_2 : 10; 730 RK_U32 sw_reserved_1 : 6; 731 RK_U32 yrgb_ver_coe6_3 : 10; 732 } reg25; /* 0x0264 */ 733 struct { 734 RK_U32 yrgb_ver_coe6_4 : 10; 735 RK_U32 sw_reserved_1 : 6; 736 RK_U32 yrgb_ver_coe6_5 : 10; 737 } reg26; /* 0x0268 */ 738 struct { 739 RK_U32 yrgb_ver_coe6_6 : 10; 740 RK_U32 sw_reserved_1 : 6; 741 RK_U32 yrgb_ver_coe6_7 : 10; 742 } reg27; /* 0x026c */ 743 struct { 744 RK_U32 yrgb_ver_coe7_0 : 10; 745 RK_U32 sw_reserved_1 : 6; 746 RK_U32 yrgb_ver_coe7_1 : 10; 747 } reg28; /* 0x0270 */ 748 struct { 749 RK_U32 yrgb_ver_coe7_2 : 10; 750 RK_U32 sw_reserved_1 : 6; 751 RK_U32 yrgb_ver_coe7_3 : 10; 752 } reg29; /* 0x0274 */ 753 struct { 754 RK_U32 yrgb_ver_coe7_4 : 10; 755 RK_U32 sw_reserved_1 : 6; 756 RK_U32 yrgb_ver_coe7_5 : 10; 757 } reg30; /* 0x0278 */ 758 struct { 759 RK_U32 yrgb_ver_coe7_6 : 10; 760 RK_U32 sw_reserved_1 : 6; 761 RK_U32 yrgb_ver_coe7_7 : 10; 762 } reg31; /* 0x027c */ 763 struct { 764 RK_U32 yrgb_ver_coe8_0 : 10; 765 RK_U32 sw_reserved_1 : 6; 766 RK_U32 yrgb_ver_coe8_1 : 10; 767 } reg32; /* 0x0280 */ 768 struct { 769 RK_U32 yrgb_ver_coe8_2 : 10; 770 RK_U32 sw_reserved_1 : 6; 771 RK_U32 yrgb_ver_coe8_3 : 10; 772 } reg33; /* 0x0284 */ 773 struct { 774 RK_U32 yrgb_ver_coe8_4 : 10; 775 RK_U32 sw_reserved_1 : 6; 776 RK_U32 yrgb_ver_coe8_5 : 10; 777 } reg34; /* 0x0288 */ 778 struct { 779 RK_U32 yrgb_ver_coe8_6 : 10; 780 RK_U32 sw_reserved_1 : 6; 781 RK_U32 yrgb_ver_coe8_7 : 10; 782 } reg35; /* 0x028c */ 783 struct { 784 RK_U32 yrgb_ver_coe9_0 : 10; 785 RK_U32 sw_reserved_1 : 6; 786 RK_U32 yrgb_ver_coe9_1 : 10; 787 } reg36; /* 0x0290 */ 788 struct { 789 RK_U32 yrgb_ver_coe9_2 : 10; 790 RK_U32 sw_reserved_1 : 6; 791 RK_U32 yrgb_ver_coe9_3 : 10; 792 } reg37; /* 0x0294 */ 793 struct { 794 RK_U32 yrgb_ver_coe9_4 : 10; 795 RK_U32 sw_reserved_1 : 6; 796 RK_U32 yrgb_ver_coe9_5 : 10; 797 } reg38; /* 0x0298 */ 798 struct { 799 RK_U32 yrgb_ver_coe9_6 : 10; 800 RK_U32 sw_reserved_1 : 6; 801 RK_U32 yrgb_ver_coe9_7 : 10; 802 } reg39; /* 0x029c */ 803 struct { 804 RK_U32 yrgb_ver_coe10_0 : 10; 805 RK_U32 sw_reserved_1 : 6; 806 RK_U32 yrgb_ver_coe10_1 : 10; 807 } reg40; /* 0x02a0 */ 808 struct { 809 RK_U32 yrgb_ver_coe10_2 : 10; 810 RK_U32 sw_reserved_1 : 6; 811 RK_U32 yrgb_ver_coe10_3 : 10; 812 } reg41; /* 0x02a4 */ 813 struct { 814 RK_U32 yrgb_ver_coe10_4 : 10; 815 RK_U32 sw_reserved_1 : 6; 816 RK_U32 yrgb_ver_coe10_5 : 10; 817 } reg42; /* 0x02a8 */ 818 struct { 819 RK_U32 yrgb_ver_coe10_6 : 10; 820 RK_U32 sw_reserved_1 : 6; 821 RK_U32 yrgb_ver_coe10_7 : 10; 822 } reg43; /* 0x02ac */ 823 struct { 824 RK_U32 yrgb_ver_coe11_0 : 10; 825 RK_U32 sw_reserved_1 : 6; 826 RK_U32 yrgb_ver_coe11_1 : 10; 827 } reg44; /* 0x02b0 */ 828 struct { 829 RK_U32 yrgb_ver_coe11_2 : 10; 830 RK_U32 sw_reserved_1 : 6; 831 RK_U32 yrgb_ver_coe11_3 : 10; 832 } reg45; /* 0x02b4 */ 833 struct { 834 RK_U32 yrgb_ver_coe11_4 : 10; 835 RK_U32 sw_reserved_1 : 6; 836 RK_U32 yrgb_ver_coe11_5 : 10; 837 } reg46; /* 0x02b8 */ 838 struct { 839 RK_U32 yrgb_ver_coe11_6 : 10; 840 RK_U32 sw_reserved_1 : 6; 841 RK_U32 yrgb_ver_coe11_7 : 10; 842 } reg47; /* 0x02bc */ 843 struct { 844 RK_U32 yrgb_ver_coe12_0 : 10; 845 RK_U32 sw_reserved_1 : 6; 846 RK_U32 yrgb_ver_coe12_1 : 10; 847 } reg48; /* 0x02c0 */ 848 struct { 849 RK_U32 yrgb_ver_coe12_2 : 10; 850 RK_U32 sw_reserved_1 : 6; 851 RK_U32 yrgb_ver_coe12_3 : 10; 852 } reg49; /* 0x02c4 */ 853 struct { 854 RK_U32 yrgb_ver_coe12_4 : 10; 855 RK_U32 sw_reserved_1 : 6; 856 RK_U32 yrgb_ver_coe12_5 : 10; 857 } reg50; /* 0x02c8 */ 858 struct { 859 RK_U32 yrgb_ver_coe12_6 : 10; 860 RK_U32 sw_reserved_1 : 6; 861 RK_U32 yrgb_ver_coe12_7 : 10; 862 } reg51; /* 0x02cc */ 863 struct { 864 RK_U32 yrgb_ver_coe13_0 : 10; 865 RK_U32 sw_reserved_1 : 6; 866 RK_U32 yrgb_ver_coe13_1 : 10; 867 } reg52; /* 0x02d0 */ 868 struct { 869 RK_U32 yrgb_ver_coe13_2 : 10; 870 RK_U32 sw_reserved_1 : 6; 871 RK_U32 yrgb_ver_coe13_3 : 10; 872 } reg53; /* 0x02d4 */ 873 struct { 874 RK_U32 yrgb_ver_coe13_4 : 10; 875 RK_U32 sw_reserved_1 : 6; 876 RK_U32 yrgb_ver_coe13_5 : 10; 877 } reg54; /* 0x02d8 */ 878 struct { 879 RK_U32 yrgb_ver_coe13_6 : 10; 880 RK_U32 sw_reserved_1 : 6; 881 RK_U32 yrgb_ver_coe13_7 : 10; 882 } reg55; /* 0x02dc */ 883 struct { 884 RK_U32 yrgb_ver_coe14_0 : 10; 885 RK_U32 sw_reserved_1 : 6; 886 RK_U32 yrgb_ver_coe14_1 : 10; 887 } reg56; /* 0x02e0 */ 888 struct { 889 RK_U32 yrgb_ver_coe14_2 : 10; 890 RK_U32 sw_reserved_1 : 6; 891 RK_U32 yrgb_ver_coe14_3 : 10; 892 } reg57; /* 0x02e4 */ 893 struct { 894 RK_U32 yrgb_ver_coe14_4 : 10; 895 RK_U32 sw_reserved_1 : 6; 896 RK_U32 yrgb_ver_coe14_5 : 10; 897 } reg58; /* 0x02e8 */ 898 struct { 899 RK_U32 yrgb_ver_coe14_6 : 10; 900 RK_U32 sw_reserved_1 : 6; 901 RK_U32 yrgb_ver_coe14_7 : 10; 902 } reg59; /* 0x02ec */ 903 struct { 904 RK_U32 yrgb_ver_coe15_0 : 10; 905 RK_U32 sw_reserved_1 : 6; 906 RK_U32 yrgb_ver_coe15_1 : 10; 907 } reg60; /* 0x02f0 */ 908 struct { 909 RK_U32 yrgb_ver_coe15_2 : 10; 910 RK_U32 sw_reserved_1 : 6; 911 RK_U32 yrgb_ver_coe15_3 : 10; 912 } reg61; /* 0x02f4 */ 913 struct { 914 RK_U32 yrgb_ver_coe15_4 : 10; 915 RK_U32 sw_reserved_1 : 6; 916 RK_U32 yrgb_ver_coe15_5 : 10; 917 } reg62; /* 0x02f8 */ 918 struct { 919 RK_U32 yrgb_ver_coe15_6 : 10; 920 RK_U32 sw_reserved_1 : 6; 921 RK_U32 yrgb_ver_coe15_7 : 10; 922 } reg63; /* 0x02fc */ 923 struct { 924 RK_U32 yrgb_ver_coe16_0 : 10; 925 RK_U32 sw_reserved_1 : 6; 926 RK_U32 yrgb_ver_coe16_1 : 10; 927 } reg64; /* 0x0300 */ 928 struct { 929 RK_U32 yrgb_ver_coe16_2 : 10; 930 RK_U32 sw_reserved_1 : 6; 931 RK_U32 yrgb_ver_coe16_3 : 10; 932 } reg65; /* 0x0304 */ 933 struct { 934 RK_U32 yrgb_ver_coe16_4 : 10; 935 RK_U32 sw_reserved_1 : 6; 936 RK_U32 yrgb_ver_coe16_5 : 10; 937 } reg66; /* 0x0308 */ 938 struct { 939 RK_U32 yrgb_ver_coe16_6 : 10; 940 RK_U32 sw_reserved_1 : 6; 941 RK_U32 yrgb_ver_coe16_7 : 10; 942 } reg67; /* 0x030c */ 943 944 } yrgb_ver_coe; 945 946 struct { 947 struct { 948 RK_U32 cbcr_hor_coe0_0 : 10; 949 RK_U32 sw_reserved_1 : 6; 950 RK_U32 cbcr_hor_coe0_1 : 10; 951 } reg0; /* 0x0400 */ 952 struct { 953 RK_U32 cbcr_hor_coe0_2 : 10; 954 RK_U32 sw_reserved_1 : 6; 955 RK_U32 cbcr_hor_coe0_3 : 10; 956 } reg1; /* 0x0404 */ 957 struct { 958 RK_U32 cbcr_hor_coe0_4 : 10; 959 RK_U32 sw_reserved_1 : 6; 960 RK_U32 cbcr_hor_coe0_5 : 10; 961 } reg2; /* 0x0408 */ 962 struct { 963 RK_U32 cbcr_hor_coe0_6 : 10; 964 RK_U32 sw_reserved_1 : 6; 965 RK_U32 cbcr_hor_coe0_7 : 10; 966 } reg3; /* 0x040c */ 967 struct { 968 RK_U32 cbcr_hor_coe1_0 : 10; 969 RK_U32 sw_reserved_1 : 6; 970 RK_U32 cbcr_hor_coe1_1 : 10; 971 } reg4; /* 0x0410 */ 972 struct { 973 RK_U32 cbcr_hor_coe1_2 : 10; 974 RK_U32 sw_reserved_1 : 6; 975 RK_U32 cbcr_hor_coe1_3 : 10; 976 } reg5; /* 0x0414 */ 977 struct { 978 RK_U32 cbcr_hor_coe1_4 : 10; 979 RK_U32 sw_reserved_1 : 6; 980 RK_U32 cbcr_hor_coe1_5 : 10; 981 } reg6; /* 0x0418 */ 982 struct { 983 RK_U32 cbcr_hor_coe1_6 : 10; 984 RK_U32 sw_reserved_1 : 6; 985 RK_U32 cbcr_hor_coe1_7 : 10; 986 } reg7; /* 0x041c */ 987 struct { 988 RK_U32 cbcr_hor_coe2_0 : 10; 989 RK_U32 sw_reserved_1 : 6; 990 RK_U32 cbcr_hor_coe2_1 : 10; 991 } reg8; /* 0x0420 */ 992 struct { 993 RK_U32 cbcr_hor_coe2_2 : 10; 994 RK_U32 sw_reserved_1 : 6; 995 RK_U32 cbcr_hor_coe2_3 : 10; 996 } reg9; /* 0x0424 */ 997 struct { 998 RK_U32 cbcr_hor_coe2_4 : 10; 999 RK_U32 sw_reserved_1 : 6; 1000 RK_U32 cbcr_hor_coe2_5 : 10; 1001 } reg10; /* 0x0428 */ 1002 struct { 1003 RK_U32 cbcr_hor_coe2_6 : 10; 1004 RK_U32 sw_reserved_1 : 6; 1005 RK_U32 cbcr_hor_coe2_7 : 10; 1006 } reg11; /* 0x042c */ 1007 struct { 1008 RK_U32 cbcr_hor_coe3_0 : 10; 1009 RK_U32 sw_reserved_1 : 6; 1010 RK_U32 cbcr_hor_coe3_1 : 10; 1011 } reg12; /* 0x0430 */ 1012 struct { 1013 RK_U32 cbcr_hor_coe3_2 : 10; 1014 RK_U32 sw_reserved_1 : 6; 1015 RK_U32 cbcr_hor_coe3_3 : 10; 1016 } reg13; /* 0x0434 */ 1017 struct { 1018 RK_U32 cbcr_hor_coe3_4 : 10; 1019 RK_U32 sw_reserved_1 : 6; 1020 RK_U32 cbcr_hor_coe3_5 : 10; 1021 } reg14; /* 0x0438 */ 1022 struct { 1023 RK_U32 cbcr_hor_coe3_6 : 10; 1024 RK_U32 sw_reserved_1 : 6; 1025 RK_U32 cbcr_hor_coe3_7 : 10; 1026 } reg15; /* 0x043c */ 1027 struct { 1028 RK_U32 cbcr_hor_coe4_0 : 10; 1029 RK_U32 sw_reserved_1 : 6; 1030 RK_U32 cbcr_hor_coe4_1 : 10; 1031 } reg16; /* 0x0440 */ 1032 struct { 1033 RK_U32 cbcr_hor_coe4_2 : 10; 1034 RK_U32 sw_reserved_1 : 6; 1035 RK_U32 cbcr_hor_coe4_3 : 10; 1036 } reg17; /* 0x0444 */ 1037 struct { 1038 RK_U32 cbcr_hor_coe4_4 : 10; 1039 RK_U32 sw_reserved_1 : 6; 1040 RK_U32 cbcr_hor_coe4_5 : 10; 1041 } reg18; /* 0x0448 */ 1042 struct { 1043 RK_U32 cbcr_hor_coe4_6 : 10; 1044 RK_U32 sw_reserved_1 : 6; 1045 RK_U32 cbcr_hor_coe4_7 : 10; 1046 } reg19; /* 0x044c */ 1047 struct { 1048 RK_U32 cbcr_hor_coe5_0 : 10; 1049 RK_U32 sw_reserved_1 : 6; 1050 RK_U32 cbcr_hor_coe5_1 : 10; 1051 } reg20; /* 0x0450 */ 1052 struct { 1053 RK_U32 cbcr_hor_coe5_2 : 10; 1054 RK_U32 sw_reserved_1 : 6; 1055 RK_U32 cbcr_hor_coe5_3 : 10; 1056 } reg21; /* 0x0454 */ 1057 struct { 1058 RK_U32 cbcr_hor_coe5_4 : 10; 1059 RK_U32 sw_reserved_1 : 6; 1060 RK_U32 cbcr_hor_coe5_5 : 10; 1061 } reg22; /* 0x0458 */ 1062 struct { 1063 RK_U32 cbcr_hor_coe5_6 : 10; 1064 RK_U32 sw_reserved_1 : 6; 1065 RK_U32 cbcr_hor_coe5_7 : 10; 1066 } reg23; /* 0x045c */ 1067 struct { 1068 RK_U32 cbcr_hor_coe6_0 : 10; 1069 RK_U32 sw_reserved_1 : 6; 1070 RK_U32 cbcr_hor_coe6_1 : 10; 1071 } reg24; /* 0x0460 */ 1072 struct { 1073 RK_U32 cbcr_hor_coe6_2 : 10; 1074 RK_U32 sw_reserved_1 : 6; 1075 RK_U32 cbcr_hor_coe6_3 : 10; 1076 } reg25; /* 0x0464 */ 1077 struct { 1078 RK_U32 cbcr_hor_coe6_4 : 10; 1079 RK_U32 sw_reserved_1 : 6; 1080 RK_U32 cbcr_hor_coe6_5 : 10; 1081 } reg26; /* 0x0468 */ 1082 struct { 1083 RK_U32 cbcr_hor_coe6_6 : 10; 1084 RK_U32 sw_reserved_1 : 6; 1085 RK_U32 cbcr_hor_coe6_7 : 10; 1086 } reg27; /* 0x046c */ 1087 struct { 1088 RK_U32 cbcr_hor_coe7_0 : 10; 1089 RK_U32 sw_reserved_1 : 6; 1090 RK_U32 cbcr_hor_coe7_1 : 10; 1091 } reg28; /* 0x0470 */ 1092 struct { 1093 RK_U32 cbcr_hor_coe7_2 : 10; 1094 RK_U32 sw_reserved_1 : 6; 1095 RK_U32 cbcr_hor_coe7_3 : 10; 1096 } reg29; /* 0x0474 */ 1097 struct { 1098 RK_U32 cbcr_hor_coe7_4 : 10; 1099 RK_U32 sw_reserved_1 : 6; 1100 RK_U32 cbcr_hor_coe7_5 : 10; 1101 } reg30; /* 0x0478 */ 1102 struct { 1103 RK_U32 cbcr_hor_coe7_6 : 10; 1104 RK_U32 sw_reserved_1 : 6; 1105 RK_U32 cbcr_hor_coe7_7 : 10; 1106 } reg31; /* 0x047c */ 1107 struct { 1108 RK_U32 cbcr_hor_coe8_0 : 10; 1109 RK_U32 sw_reserved_1 : 6; 1110 RK_U32 cbcr_hor_coe8_1 : 10; 1111 } reg32; /* 0x0480 */ 1112 struct { 1113 RK_U32 cbcr_hor_coe8_2 : 10; 1114 RK_U32 sw_reserved_1 : 6; 1115 RK_U32 cbcr_hor_coe8_3 : 10; 1116 } reg33; /* 0x0484 */ 1117 struct { 1118 RK_U32 cbcr_hor_coe8_4 : 10; 1119 RK_U32 sw_reserved_1 : 6; 1120 RK_U32 cbcr_hor_coe8_5 : 10; 1121 } reg34; /* 0x0488 */ 1122 struct { 1123 RK_U32 cbcr_hor_coe8_6 : 10; 1124 RK_U32 sw_reserved_1 : 6; 1125 RK_U32 cbcr_hor_coe8_7 : 10; 1126 } reg35; /* 0x048c */ 1127 struct { 1128 RK_U32 cbcr_hor_coe9_0 : 10; 1129 RK_U32 sw_reserved_1 : 6; 1130 RK_U32 cbcr_hor_coe9_1 : 10; 1131 } reg36; /* 0x0490 */ 1132 struct { 1133 RK_U32 cbcr_hor_coe9_2 : 10; 1134 RK_U32 sw_reserved_1 : 6; 1135 RK_U32 cbcr_hor_coe9_3 : 10; 1136 } reg37; /* 0x0494 */ 1137 struct { 1138 RK_U32 cbcr_hor_coe9_4 : 10; 1139 RK_U32 sw_reserved_1 : 6; 1140 RK_U32 cbcr_hor_coe9_5 : 10; 1141 } reg38; /* 0x0498 */ 1142 struct { 1143 RK_U32 cbcr_hor_coe9_6 : 10; 1144 RK_U32 sw_reserved_1 : 6; 1145 RK_U32 cbcr_hor_coe9_7 : 10; 1146 } reg39; /* 0x049c */ 1147 struct { 1148 RK_U32 cbcr_hor_coe10_0 : 10; 1149 RK_U32 sw_reserved_1 : 6; 1150 RK_U32 cbcr_hor_coe10_1 : 10; 1151 } reg40; /* 0x04a0 */ 1152 struct { 1153 RK_U32 cbcr_hor_coe10_2 : 10; 1154 RK_U32 sw_reserved_1 : 6; 1155 RK_U32 cbcr_hor_coe10_3 : 10; 1156 } reg41; /* 0x04a4 */ 1157 struct { 1158 RK_U32 cbcr_hor_coe10_4 : 10; 1159 RK_U32 sw_reserved_1 : 6; 1160 RK_U32 cbcr_hor_coe10_5 : 10; 1161 } reg42; /* 0x04a8 */ 1162 struct { 1163 RK_U32 cbcr_hor_coe10_6 : 10; 1164 RK_U32 sw_reserved_1 : 6; 1165 RK_U32 cbcr_hor_coe10_7 : 10; 1166 } reg43; /* 0x04ac */ 1167 struct { 1168 RK_U32 cbcr_hor_coe11_0 : 10; 1169 RK_U32 sw_reserved_1 : 6; 1170 RK_U32 cbcr_hor_coe11_1 : 10; 1171 } reg44; /* 0x04b0 */ 1172 struct { 1173 RK_U32 cbcr_hor_coe11_2 : 10; 1174 RK_U32 sw_reserved_1 : 6; 1175 RK_U32 cbcr_hor_coe11_3 : 10; 1176 } reg45; /* 0x04b4 */ 1177 struct { 1178 RK_U32 cbcr_hor_coe11_4 : 10; 1179 RK_U32 sw_reserved_1 : 6; 1180 RK_U32 cbcr_hor_coe11_5 : 10; 1181 } reg46; /* 0x04b8 */ 1182 struct { 1183 RK_U32 cbcr_hor_coe11_6 : 10; 1184 RK_U32 sw_reserved_1 : 6; 1185 RK_U32 cbcr_hor_coe11_7 : 10; 1186 } reg47; /* 0x04bc */ 1187 struct { 1188 RK_U32 cbcr_hor_coe12_0 : 10; 1189 RK_U32 sw_reserved_1 : 6; 1190 RK_U32 cbcr_hor_coe12_1 : 10; 1191 } reg48; /* 0x04c0 */ 1192 struct { 1193 RK_U32 cbcr_hor_coe12_2 : 10; 1194 RK_U32 sw_reserved_1 : 6; 1195 RK_U32 cbcr_hor_coe12_3 : 10; 1196 } reg49; /* 0x04c4 */ 1197 struct { 1198 RK_U32 cbcr_hor_coe12_4 : 10; 1199 RK_U32 sw_reserved_1 : 6; 1200 RK_U32 cbcr_hor_coe12_5 : 10; 1201 } reg50; /* 0x04c8 */ 1202 struct { 1203 RK_U32 cbcr_hor_coe12_6 : 10; 1204 RK_U32 sw_reserved_1 : 6; 1205 RK_U32 cbcr_hor_coe12_7 : 10; 1206 } reg51; /* 0x04cc */ 1207 struct { 1208 RK_U32 cbcr_hor_coe13_0 : 10; 1209 RK_U32 sw_reserved_1 : 6; 1210 RK_U32 cbcr_hor_coe13_1 : 10; 1211 } reg52; /* 0x04d0 */ 1212 struct { 1213 RK_U32 cbcr_hor_coe13_2 : 10; 1214 RK_U32 sw_reserved_1 : 6; 1215 RK_U32 cbcr_hor_coe13_3 : 10; 1216 } reg53; /* 0x04d4 */ 1217 struct { 1218 RK_U32 cbcr_hor_coe13_4 : 10; 1219 RK_U32 sw_reserved_1 : 6; 1220 RK_U32 cbcr_hor_coe13_5 : 10; 1221 } reg54; /* 0x04d8 */ 1222 struct { 1223 RK_U32 cbcr_hor_coe13_6 : 10; 1224 RK_U32 sw_reserved_1 : 6; 1225 RK_U32 cbcr_hor_coe13_7 : 10; 1226 } reg55; /* 0x04dc */ 1227 struct { 1228 RK_U32 cbcr_hor_coe14_0 : 10; 1229 RK_U32 sw_reserved_1 : 6; 1230 RK_U32 cbcr_hor_coe14_1 : 10; 1231 } reg56; /* 0x04e0 */ 1232 struct { 1233 RK_U32 cbcr_hor_coe14_2 : 10; 1234 RK_U32 sw_reserved_1 : 6; 1235 RK_U32 cbcr_hor_coe14_3 : 10; 1236 } reg57; /* 0x04e4 */ 1237 struct { 1238 RK_U32 cbcr_hor_coe14_4 : 10; 1239 RK_U32 sw_reserved_1 : 6; 1240 RK_U32 cbcr_hor_coe14_5 : 10; 1241 } reg58; /* 0x04e8 */ 1242 struct { 1243 RK_U32 cbcr_hor_coe14_6 : 10; 1244 RK_U32 sw_reserved_1 : 6; 1245 RK_U32 cbcr_hor_coe14_7 : 10; 1246 } reg59; /* 0x04ec */ 1247 struct { 1248 RK_U32 cbcr_hor_coe15_0 : 10; 1249 RK_U32 sw_reserved_1 : 6; 1250 RK_U32 cbcr_hor_coe15_1 : 10; 1251 } reg60; /* 0x04f0 */ 1252 struct { 1253 RK_U32 cbcr_hor_coe15_2 : 10; 1254 RK_U32 sw_reserved_1 : 6; 1255 RK_U32 cbcr_hor_coe15_3 : 10; 1256 } reg61; /* 0x04f4 */ 1257 struct { 1258 RK_U32 cbcr_hor_coe15_4 : 10; 1259 RK_U32 sw_reserved_1 : 6; 1260 RK_U32 cbcr_hor_coe15_5 : 10; 1261 } reg62; /* 0x04f8 */ 1262 struct { 1263 RK_U32 cbcr_hor_coe15_6 : 10; 1264 RK_U32 sw_reserved_1 : 6; 1265 RK_U32 cbcr_hor_coe15_7 : 10; 1266 } reg63; /* 0x04fc */ 1267 struct { 1268 RK_U32 cbcr_hor_coe16_0 : 10; 1269 RK_U32 sw_reserved_1 : 6; 1270 RK_U32 cbcr_hor_coe16_1 : 10; 1271 } reg64; /* 0x0500 */ 1272 struct { 1273 RK_U32 cbcr_hor_coe16_2 : 10; 1274 RK_U32 sw_reserved_1 : 6; 1275 RK_U32 cbcr_hor_coe16_3 : 10; 1276 } reg65; /* 0x0504 */ 1277 struct { 1278 RK_U32 cbcr_hor_coe16_4 : 10; 1279 RK_U32 sw_reserved_1 : 6; 1280 RK_U32 cbcr_hor_coe16_5 : 10; 1281 } reg66; /* 0x0508 */ 1282 struct { 1283 RK_U32 cbcr_hor_coe16_6 : 10; 1284 RK_U32 sw_reserved_1 : 6; 1285 RK_U32 cbcr_hor_coe16_7 : 10; 1286 } reg67; /* 0x050c */ 1287 1288 } cbcr_hor_coe; 1289 1290 struct { 1291 struct { 1292 RK_U32 cbcr_ver_coe0_0 : 10; 1293 RK_U32 sw_reserved_1 : 6; 1294 RK_U32 cbcr_ver_coe0_1 : 10; 1295 } reg0; /* 0x0600 */ 1296 struct { 1297 RK_U32 cbcr_ver_coe0_2 : 10; 1298 RK_U32 sw_reserved_1 : 6; 1299 RK_U32 cbcr_ver_coe0_3 : 10; 1300 } reg1; /* 0x0604 */ 1301 struct { 1302 RK_U32 cbcr_ver_coe0_4 : 10; 1303 RK_U32 sw_reserved_1 : 6; 1304 RK_U32 cbcr_ver_coe0_5 : 10; 1305 } reg2; /* 0x0608 */ 1306 struct { 1307 RK_U32 cbcr_ver_coe0_6 : 10; 1308 RK_U32 sw_reserved_1 : 6; 1309 RK_U32 cbcr_ver_coe0_7 : 10; 1310 } reg3; /* 0x060c */ 1311 struct { 1312 RK_U32 cbcr_ver_coe1_0 : 10; 1313 RK_U32 sw_reserved_1 : 6; 1314 RK_U32 cbcr_ver_coe1_1 : 10; 1315 } reg4; /* 0x0610 */ 1316 struct { 1317 RK_U32 cbcr_ver_coe1_2 : 10; 1318 RK_U32 sw_reserved_1 : 6; 1319 RK_U32 cbcr_ver_coe1_3 : 10; 1320 } reg5; /* 0x0614 */ 1321 struct { 1322 RK_U32 cbcr_ver_coe1_4 : 10; 1323 RK_U32 sw_reserved_1 : 6; 1324 RK_U32 cbcr_ver_coe1_5 : 10; 1325 } reg6; /* 0x0618 */ 1326 struct { 1327 RK_U32 cbcr_ver_coe1_6 : 10; 1328 RK_U32 sw_reserved_1 : 6; 1329 RK_U32 cbcr_ver_coe1_7 : 10; 1330 } reg7; /* 0x061c */ 1331 struct { 1332 RK_U32 cbcr_ver_coe2_0 : 10; 1333 RK_U32 sw_reserved_1 : 6; 1334 RK_U32 cbcr_ver_coe2_1 : 10; 1335 } reg8; /* 0x0620 */ 1336 struct { 1337 RK_U32 cbcr_ver_coe2_2 : 10; 1338 RK_U32 sw_reserved_1 : 6; 1339 RK_U32 cbcr_ver_coe2_3 : 10; 1340 } reg9; /* 0x0624 */ 1341 struct { 1342 RK_U32 cbcr_ver_coe2_4 : 10; 1343 RK_U32 sw_reserved_1 : 6; 1344 RK_U32 cbcr_ver_coe2_5 : 10; 1345 } reg10; /* 0x0628 */ 1346 struct { 1347 RK_U32 cbcr_ver_coe2_6 : 10; 1348 RK_U32 sw_reserved_1 : 6; 1349 RK_U32 cbcr_ver_coe2_7 : 10; 1350 } reg11; /* 0x062c */ 1351 struct { 1352 RK_U32 cbcr_ver_coe3_0 : 10; 1353 RK_U32 sw_reserved_1 : 6; 1354 RK_U32 cbcr_ver_coe3_1 : 10; 1355 } reg12; /* 0x0630 */ 1356 struct { 1357 RK_U32 cbcr_ver_coe3_2 : 10; 1358 RK_U32 sw_reserved_1 : 6; 1359 RK_U32 cbcr_ver_coe3_3 : 10; 1360 } reg13; /* 0x0634 */ 1361 struct { 1362 RK_U32 cbcr_ver_coe3_4 : 10; 1363 RK_U32 sw_reserved_1 : 6; 1364 RK_U32 cbcr_ver_coe3_5 : 10; 1365 } reg14; /* 0x0638 */ 1366 struct { 1367 RK_U32 cbcr_ver_coe3_6 : 10; 1368 RK_U32 sw_reserved_1 : 6; 1369 RK_U32 cbcr_ver_coe3_7 : 10; 1370 } reg15; /* 0x063c */ 1371 struct { 1372 RK_U32 cbcr_ver_coe4_0 : 10; 1373 RK_U32 sw_reserved_1 : 6; 1374 RK_U32 cbcr_ver_coe4_1 : 10; 1375 } reg16; /* 0x0640 */ 1376 struct { 1377 RK_U32 cbcr_ver_coe4_2 : 10; 1378 RK_U32 sw_reserved_1 : 6; 1379 RK_U32 cbcr_ver_coe4_3 : 10; 1380 } reg17; /* 0x0644 */ 1381 struct { 1382 RK_U32 cbcr_ver_coe4_4 : 10; 1383 RK_U32 sw_reserved_1 : 6; 1384 RK_U32 cbcr_ver_coe4_5 : 10; 1385 } reg18; /* 0x0648 */ 1386 struct { 1387 RK_U32 cbcr_ver_coe4_6 : 10; 1388 RK_U32 sw_reserved_1 : 6; 1389 RK_U32 cbcr_ver_coe4_7 : 10; 1390 } reg19; /* 0x064c */ 1391 struct { 1392 RK_U32 cbcr_ver_coe5_0 : 10; 1393 RK_U32 sw_reserved_1 : 6; 1394 RK_U32 cbcr_ver_coe5_1 : 10; 1395 } reg20; /* 0x0650 */ 1396 struct { 1397 RK_U32 cbcr_ver_coe5_2 : 10; 1398 RK_U32 sw_reserved_1 : 6; 1399 RK_U32 cbcr_ver_coe5_3 : 10; 1400 } reg21; /* 0x0654 */ 1401 struct { 1402 RK_U32 cbcr_ver_coe5_4 : 10; 1403 RK_U32 sw_reserved_1 : 6; 1404 RK_U32 cbcr_ver_coe5_5 : 10; 1405 } reg22; /* 0x0658 */ 1406 struct { 1407 RK_U32 cbcr_ver_coe5_6 : 10; 1408 RK_U32 sw_reserved_1 : 6; 1409 RK_U32 cbcr_ver_coe5_7 : 10; 1410 } reg23; /* 0x065c */ 1411 struct { 1412 RK_U32 cbcr_ver_coe6_0 : 10; 1413 RK_U32 sw_reserved_1 : 6; 1414 RK_U32 cbcr_ver_coe6_1 : 10; 1415 } reg24; /* 0x0660 */ 1416 struct { 1417 RK_U32 cbcr_ver_coe6_2 : 10; 1418 RK_U32 sw_reserved_1 : 6; 1419 RK_U32 cbcr_ver_coe6_3 : 10; 1420 } reg25; /* 0x0664 */ 1421 struct { 1422 RK_U32 cbcr_ver_coe6_4 : 10; 1423 RK_U32 sw_reserved_1 : 6; 1424 RK_U32 cbcr_ver_coe6_5 : 10; 1425 } reg26; /* 0x0668 */ 1426 struct { 1427 RK_U32 cbcr_ver_coe6_6 : 10; 1428 RK_U32 sw_reserved_1 : 6; 1429 RK_U32 cbcr_ver_coe6_7 : 10; 1430 } reg27; /* 0x066c */ 1431 struct { 1432 RK_U32 cbcr_ver_coe7_0 : 10; 1433 RK_U32 sw_reserved_1 : 6; 1434 RK_U32 cbcr_ver_coe7_1 : 10; 1435 } reg28; /* 0x0670 */ 1436 struct { 1437 RK_U32 cbcr_ver_coe7_2 : 10; 1438 RK_U32 sw_reserved_1 : 6; 1439 RK_U32 cbcr_ver_coe7_3 : 10; 1440 } reg29; /* 0x0674 */ 1441 struct { 1442 RK_U32 cbcr_ver_coe7_4 : 10; 1443 RK_U32 sw_reserved_1 : 6; 1444 RK_U32 cbcr_ver_coe7_5 : 10; 1445 } reg30; /* 0x0678 */ 1446 struct { 1447 RK_U32 cbcr_ver_coe7_6 : 10; 1448 RK_U32 sw_reserved_1 : 6; 1449 RK_U32 cbcr_ver_coe7_7 : 10; 1450 } reg31; /* 0x067c */ 1451 struct { 1452 RK_U32 cbcr_ver_coe8_0 : 10; 1453 RK_U32 sw_reserved_1 : 6; 1454 RK_U32 cbcr_ver_coe8_1 : 10; 1455 } reg32; /* 0x0680 */ 1456 struct { 1457 RK_U32 cbcr_ver_coe8_2 : 10; 1458 RK_U32 sw_reserved_1 : 6; 1459 RK_U32 cbcr_ver_coe8_3 : 10; 1460 } reg33; /* 0x0684 */ 1461 struct { 1462 RK_U32 cbcr_ver_coe8_4 : 10; 1463 RK_U32 sw_reserved_1 : 6; 1464 RK_U32 cbcr_ver_coe8_5 : 10; 1465 } reg34; /* 0x0688 */ 1466 struct { 1467 RK_U32 cbcr_ver_coe8_6 : 10; 1468 RK_U32 sw_reserved_1 : 6; 1469 RK_U32 cbcr_ver_coe8_7 : 10; 1470 } reg35; /* 0x068c */ 1471 struct { 1472 RK_U32 cbcr_ver_coe9_0 : 10; 1473 RK_U32 sw_reserved_1 : 6; 1474 RK_U32 cbcr_ver_coe9_1 : 10; 1475 } reg36; /* 0x0690 */ 1476 struct { 1477 RK_U32 cbcr_ver_coe9_2 : 10; 1478 RK_U32 sw_reserved_1 : 6; 1479 RK_U32 cbcr_ver_coe9_3 : 10; 1480 } reg37; /* 0x0694 */ 1481 struct { 1482 RK_U32 cbcr_ver_coe9_4 : 10; 1483 RK_U32 sw_reserved_1 : 6; 1484 RK_U32 cbcr_ver_coe9_5 : 10; 1485 } reg38; /* 0x0698 */ 1486 struct { 1487 RK_U32 cbcr_ver_coe9_6 : 10; 1488 RK_U32 sw_reserved_1 : 6; 1489 RK_U32 cbcr_ver_coe9_7 : 10; 1490 } reg39; /* 0x069c */ 1491 struct { 1492 RK_U32 cbcr_ver_coe10_0 : 10; 1493 RK_U32 sw_reserved_1 : 6; 1494 RK_U32 cbcr_ver_coe10_1 : 10; 1495 } reg40; /* 0x06a0 */ 1496 struct { 1497 RK_U32 cbcr_ver_coe10_2 : 10; 1498 RK_U32 sw_reserved_1 : 6; 1499 RK_U32 cbcr_ver_coe10_3 : 10; 1500 } reg41; /* 0x06a4 */ 1501 struct { 1502 RK_U32 cbcr_ver_coe10_4 : 10; 1503 RK_U32 sw_reserved_1 : 6; 1504 RK_U32 cbcr_ver_coe10_5 : 10; 1505 } reg42; /* 0x06a8 */ 1506 struct { 1507 RK_U32 cbcr_ver_coe10_6 : 10; 1508 RK_U32 sw_reserved_1 : 6; 1509 RK_U32 cbcr_ver_coe10_7 : 10; 1510 } reg43; /* 0x06ac */ 1511 struct { 1512 RK_U32 cbcr_ver_coe11_0 : 10; 1513 RK_U32 sw_reserved_1 : 6; 1514 RK_U32 cbcr_ver_coe11_1 : 10; 1515 } reg44; /* 0x06b0 */ 1516 struct { 1517 RK_U32 cbcr_ver_coe11_2 : 10; 1518 RK_U32 sw_reserved_1 : 6; 1519 RK_U32 cbcr_ver_coe11_3 : 10; 1520 } reg45; /* 0x06b4 */ 1521 struct { 1522 RK_U32 cbcr_ver_coe11_4 : 10; 1523 RK_U32 sw_reserved_1 : 6; 1524 RK_U32 cbcr_ver_coe11_5 : 10; 1525 } reg46; /* 0x06b8 */ 1526 struct { 1527 RK_U32 cbcr_ver_coe11_6 : 10; 1528 RK_U32 sw_reserved_1 : 6; 1529 RK_U32 cbcr_ver_coe11_7 : 10; 1530 } reg47; /* 0x06bc */ 1531 struct { 1532 RK_U32 cbcr_ver_coe12_0 : 10; 1533 RK_U32 sw_reserved_1 : 6; 1534 RK_U32 cbcr_ver_coe12_1 : 10; 1535 } reg48; /* 0x06c0 */ 1536 struct { 1537 RK_U32 cbcr_ver_coe12_2 : 10; 1538 RK_U32 sw_reserved_1 : 6; 1539 RK_U32 cbcr_ver_coe12_3 : 10; 1540 } reg49; /* 0x06c4 */ 1541 struct { 1542 RK_U32 cbcr_ver_coe12_4 : 10; 1543 RK_U32 sw_reserved_1 : 6; 1544 RK_U32 cbcr_ver_coe12_5 : 10; 1545 } reg50; /* 0x06c8 */ 1546 struct { 1547 RK_U32 cbcr_ver_coe12_6 : 10; 1548 RK_U32 sw_reserved_1 : 6; 1549 RK_U32 cbcr_ver_coe12_7 : 10; 1550 } reg51; /* 0x06cc */ 1551 struct { 1552 RK_U32 cbcr_ver_coe13_0 : 10; 1553 RK_U32 sw_reserved_1 : 6; 1554 RK_U32 cbcr_ver_coe13_1 : 10; 1555 } reg52; /* 0x06d0 */ 1556 struct { 1557 RK_U32 cbcr_ver_coe13_2 : 10; 1558 RK_U32 sw_reserved_1 : 6; 1559 RK_U32 cbcr_ver_coe13_3 : 10; 1560 } reg53; /* 0x06d4 */ 1561 struct { 1562 RK_U32 cbcr_ver_coe13_4 : 10; 1563 RK_U32 sw_reserved_1 : 6; 1564 RK_U32 cbcr_ver_coe13_5 : 10; 1565 } reg54; /* 0x06d8 */ 1566 struct { 1567 RK_U32 cbcr_ver_coe13_6 : 10; 1568 RK_U32 sw_reserved_1 : 6; 1569 RK_U32 cbcr_ver_coe13_7 : 10; 1570 } reg55; /* 0x06dc */ 1571 struct { 1572 RK_U32 cbcr_ver_coe14_0 : 10; 1573 RK_U32 sw_reserved_1 : 6; 1574 RK_U32 cbcr_ver_coe14_1 : 10; 1575 } reg56; /* 0x06e0 */ 1576 struct { 1577 RK_U32 cbcr_ver_coe14_2 : 10; 1578 RK_U32 sw_reserved_1 : 6; 1579 RK_U32 cbcr_ver_coe14_3 : 10; 1580 } reg57; /* 0x06e4 */ 1581 struct { 1582 RK_U32 cbcr_ver_coe14_4 : 10; 1583 RK_U32 sw_reserved_1 : 6; 1584 RK_U32 cbcr_ver_coe14_5 : 10; 1585 } reg58; /* 0x06e8 */ 1586 struct { 1587 RK_U32 cbcr_ver_coe14_6 : 10; 1588 RK_U32 sw_reserved_1 : 6; 1589 RK_U32 cbcr_ver_coe14_7 : 10; 1590 } reg59; /* 0x06ec */ 1591 struct { 1592 RK_U32 cbcr_ver_coe15_0 : 10; 1593 RK_U32 sw_reserved_1 : 6; 1594 RK_U32 cbcr_ver_coe15_1 : 10; 1595 } reg60; /* 0x06f0 */ 1596 struct { 1597 RK_U32 cbcr_ver_coe15_2 : 10; 1598 RK_U32 sw_reserved_1 : 6; 1599 RK_U32 cbcr_ver_coe15_3 : 10; 1600 } reg61; /* 0x06f4 */ 1601 struct { 1602 RK_U32 cbcr_ver_coe15_4 : 10; 1603 RK_U32 sw_reserved_1 : 6; 1604 RK_U32 cbcr_ver_coe15_5 : 10; 1605 } reg62; /* 0x06f8 */ 1606 struct { 1607 RK_U32 cbcr_ver_coe15_6 : 10; 1608 RK_U32 sw_reserved_1 : 6; 1609 RK_U32 cbcr_ver_coe15_7 : 10; 1610 } reg63; /* 0x06fc */ 1611 struct { 1612 RK_U32 cbcr_ver_coe16_0 : 10; 1613 RK_U32 sw_reserved_1 : 6; 1614 RK_U32 cbcr_ver_coe16_1 : 10; 1615 } reg64; /* 0x0700 */ 1616 struct { 1617 RK_U32 cbcr_ver_coe16_2 : 10; 1618 RK_U32 sw_reserved_1 : 6; 1619 RK_U32 cbcr_ver_coe16_3 : 10; 1620 } reg65; /* 0x0704 */ 1621 struct { 1622 RK_U32 cbcr_ver_coe16_4 : 10; 1623 RK_U32 sw_reserved_1 : 6; 1624 RK_U32 cbcr_ver_coe16_5 : 10; 1625 } reg66; /* 0x0708 */ 1626 struct { 1627 RK_U32 cbcr_ver_coe16_6 : 10; 1628 RK_U32 sw_reserved_1 : 6; 1629 RK_U32 cbcr_ver_coe16_7 : 10; 1630 } reg67; /* 0x070c */ 1631 1632 } cbcr_ver_coe; 1633 1634 struct { 1635 struct { 1636 RK_U32 bypass_en : 1; 1637 RK_U32 align_en : 1; 1638 RK_U32 reserved_1 : 2; 1639 RK_U32 format_in : 4; 1640 RK_U32 format_out : 4; 1641 RK_U32 reserved_2 : 19; 1642 RK_U32 auto_gating_en : 1; 1643 } reg0; /* 0x0800 */ 1644 1645 RK_U32 reg1; /* 0x0804 */ 1646 RK_U32 reg2; /* 0x0808 */ 1647 1648 struct { 1649 RK_U32 vir_width : 16; 1650 RK_U32 vir_height : 16; 1651 } reg3; /* 0x080C */ 1652 1653 struct { 1654 RK_U32 yrgb_xsd_en : 1; 1655 RK_U32 yrgb_xsu_en : 1; 1656 RK_U32 yrgb_scl_mode : 2; 1657 RK_U32 yrgb_ysd_en : 1; 1658 RK_U32 yrgb_ysu_en : 1; 1659 RK_U32 yrgb_yscl_mode : 2; 1660 RK_U32 yrgb_dering_en : 1; 1661 RK_U32 yrgb_gt_en : 1; 1662 RK_U32 yrgb_gt_mode : 2; 1663 RK_U32 yrgb_xgt_en : 1; 1664 RK_U32 reserved_1 : 1; 1665 RK_U32 yrgb_xgt_mode : 2; 1666 RK_U32 yrgb_xsd_bypass : 1; 1667 RK_U32 yrgb_ys_bypass : 1; 1668 RK_U32 yrgb_xsu_bypass : 1; 1669 } reg4; /* 0x0810 */ 1670 1671 struct { 1672 RK_U32 yrgb_src_width : 16; 1673 RK_U32 yrgb_src_height : 16; 1674 } reg5; /* 0x0814 */ 1675 1676 struct { 1677 RK_U32 yrgb_dst_width : 16; 1678 RK_U32 yrgb_dst_height : 16; 1679 } reg6; /* 0x0818 */ 1680 1681 struct { 1682 RK_U32 yrgb_dering_sen0 : 5; 1683 RK_U32 reserved_1 : 3; 1684 RK_U32 yrgb_dering_sen1 : 5; 1685 RK_U32 reserved_2 : 3; 1686 RK_U32 yrgb_dering_alpha: 5; 1687 RK_U32 reserved_3 : 3; 1688 RK_U32 yrgb_dering_delta: 5; 1689 } reg7; /* 0x081C */ 1690 1691 struct { 1692 RK_U32 yrgb_xscl_factor : 16; 1693 RK_U32 yrgb_xscl_offset : 16; 1694 } reg8; /* 0x0820 */ 1695 1696 struct { 1697 RK_U32 yrgb_yscl_factor : 16; 1698 RK_U32 yrgb_yscl_offset : 16; 1699 } reg9; /* 0x0824 */ 1700 1701 RK_U32 reg10; /* 0x0828 */ 1702 RK_U32 reg11; /* 0x082C */ 1703 1704 struct { 1705 RK_U32 cbcr_xsd_en : 1; 1706 RK_U32 cbcr_xsu_en : 1; 1707 RK_U32 cbcr_scl_mode : 2; 1708 RK_U32 cbcr_ysd_en : 1; 1709 RK_U32 cbcr_ysu_en : 1; 1710 RK_U32 cbcr_yscl_mode : 2; 1711 RK_U32 cbcr_dering_en : 1; 1712 RK_U32 cbcr_gt_en : 1; 1713 RK_U32 cbcr_gt_mode : 2; 1714 RK_U32 cbcr_xgt_en : 1; 1715 RK_U32 reserved_1 : 1; 1716 RK_U32 cbcr_xgt_mode : 2; 1717 RK_U32 cbcr_xsd_bypass : 1; 1718 RK_U32 cbcr_ys_bypass : 1; 1719 RK_U32 cbcr_xsu_bypass : 1; 1720 } reg12; /* 0x0830 */ 1721 1722 struct { 1723 RK_U32 cbcr_src_width : 16; 1724 RK_U32 cbcr_src_height : 16; 1725 } reg13; /* 0x0834 */ 1726 1727 struct { 1728 RK_U32 cbcr_dst_width : 16; 1729 RK_U32 cbcr_dst_height : 16; 1730 } reg14; /* 0x0838 */ 1731 1732 struct { 1733 RK_U32 cbcr_dering_sen0 : 5; 1734 RK_U32 reserved_1 : 3; 1735 RK_U32 cbcr_dering_sen1 : 5; 1736 RK_U32 reserved_2 : 3; 1737 RK_U32 cbcr_dering_alpha: 5; 1738 RK_U32 reserved_3 : 3; 1739 RK_U32 cbcr_dering_delta: 5; 1740 } reg15; /* 0x083C */ 1741 1742 struct { 1743 RK_U32 cbcr_xscl_factor : 16; 1744 RK_U32 cbcr_xscl_offset : 16; 1745 } reg16; /* 0x0840 */ 1746 1747 struct { 1748 RK_U32 cbcr_yscl_factor : 16; 1749 RK_U32 cbcr_yscl_offset : 16; 1750 } reg17; /* 0x0844 */ 1751 1752 } common; 1753 1754 }; /* offset: 0x2000 */ 1755 1756 #ifdef __cplusplus 1757 extern "C" { 1758 #endif 1759 1760 void set_dmsr_to_vdpp_reg(struct dmsr_params* p_dmsr_param, struct dmsr_reg* dmsr); 1761 1762 void vdpp_set_default_zme_param(struct zme_params* param); 1763 void set_zme_to_vdpp_reg(struct zme_params *zme_params, struct zme_reg *zme); 1764 1765 #ifdef __cplusplus 1766 } 1767 #endif 1768 1769 #endif 1770