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