1 /* 2 * Copyright (c) 2020 HiSilicon (Shanghai) Technologies CO., LIMITED. 3 * 4 * This program is free software; you can redistribute it and/or modify it 5 * under the terms of the GNU General Public License as published by the 6 * Free Software Foundation; either version 2 of the License, or (at your 7 * option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program. If not, see <http://www.gnu.org/licenses/>. 16 * 17 * Description: jpegd register header file. 18 */ 19 #ifndef __JPEGD_REG_H__ 20 #define __JPEGD_REG_H__ 21 22 #ifdef __cplusplus 23 extern "C" { 24 #endif /* End of #ifdef __cplusplus */ 25 26 /* Define the union U_JPEG_DEC_START */ 27 typedef union { 28 /* Define the struct bits */ 29 struct { 30 unsigned int jpeg_dec_start : 1; /* [0] */ 31 unsigned int rst_busy : 1; /* [1] */ 32 unsigned int axi_sep_bypass : 1; /* [2] */ 33 unsigned int reserved_0 : 1; /* [3] */ 34 unsigned int axi_sep_typ : 1; /* [4] */ 35 unsigned int reserved_1 : 27; /* [31..5] */ 36 } bits; 37 38 /* Define an unsigned member */ 39 unsigned int u32; 40 } U_JPEG_DEC_START; 41 42 /* Define the union U_JPEG_RESUME_START */ 43 typedef union { 44 /* Define the struct bits */ 45 struct { 46 unsigned int jpeg_resume_start : 1; /* [0] */ 47 unsigned int last_resume_in_pic : 1; /* [1] */ 48 unsigned int reserved : 30; /* [31..2] */ 49 } bits; 50 51 /* Define an unsigned member */ 52 unsigned int u32; 53 } U_JPEG_RESUME_START; 54 55 /* Define the union U_JPEG_STRIDE */ 56 typedef union { 57 /* Define the struct bits */ 58 struct { 59 unsigned int y_stride : 16; /* [15..0] */ 60 unsigned int uv_stride : 16; /* [31..16] */ 61 } bits; 62 63 /* Define an unsigned member */ 64 unsigned int u32; 65 } U_JPEG_STRIDE; 66 67 /* Define the union U_PICTURE_SIZE */ 68 typedef union { 69 /* Define the struct bits */ 70 struct { 71 unsigned int pic_width_in_mcu : 12; /* [11..0] */ 72 unsigned int reserved_0 : 4; /* [15..12] */ 73 unsigned int pic_height_in_mcu : 12; /* [27..16] */ 74 unsigned int reserved_1 : 4; /* [31..28] */ 75 } bits; 76 77 /* Define an unsigned member */ 78 unsigned int u32; 79 } U_PICTURE_SIZE; 80 81 /* Define the union PICTURE_TYPE */ 82 typedef union { 83 /* Define the struct bits */ 84 struct { 85 unsigned int pic_type : 3; /* [2..0] */ 86 unsigned int reserved : 29; /* [31..3] */ 87 } bits; 88 89 /* Define an unsigned member */ 90 unsigned int u32; 91 } U_PICTURE_TYPE; 92 93 /* Define the union U_RGB_OUT_STRIDE */ 94 typedef union { 95 /* Define the struct bits */ 96 struct { 97 unsigned int jcfg2jdo_out_stride : 16; /* [15..0] */ 98 unsigned int reserved : 16; /* [31..16] */ 99 } bits; 100 101 /* Define an unsigned member */ 102 unsigned int u32; 103 } U_RGB_OUT_STRIDE; 104 105 /* Define the union U_PD_SUM_CFG_CBCR */ 106 typedef union { 107 /* Define the struct bits */ 108 struct { 109 unsigned int jcfg2jvld_pd_cb : 16; /* [15..0] */ 110 unsigned int jcfg2jvld_pd_cr : 16; /* [31..16] */ 111 } bits; 112 113 /* Define an unsigned member */ 114 unsigned int u32; 115 } U_PD_SUM_CFG_CBCR; 116 117 /* Define the union U_PD_SUM_CFG_Y */ 118 typedef union { 119 /* Define the struct bits */ 120 struct { 121 unsigned int jcfg2jvld_pd_y : 16; /* [15..0] */ 122 unsigned int jcfg2jbs_flag_cur : 1; /* [16] */ 123 unsigned int reserved : 15; /* [31..17] */ 124 } bits; 125 126 /* Define an unsigned member */ 127 unsigned int u32; 128 } U_PD_SUM_CFG_Y; 129 130 /* Define the union U_FREQ_SCALE */ 131 typedef union { 132 /* Define the struct bits */ 133 struct { 134 unsigned int freq_scale : 2; /* [1..0] */ 135 unsigned int jidct_emar_en : 1; /* [2] */ 136 unsigned int ck_gt_en : 1; /* [3] */ 137 unsigned int outstanding : 4; /* [7..4] */ 138 unsigned int axi_id : 4; /* [11..8] */ 139 unsigned int reserved : 20; /* [31..12] */ 140 } bits; 141 142 /* Define an unsigned member */ 143 unsigned int u32; 144 } U_FREQ_SCALE; 145 146 /* Define the union U_OUT_TYPE */ 147 typedef union { 148 /* Define the struct bits */ 149 struct { 150 unsigned int out_rgb_type_old : 2; /* [1..0] */ 151 unsigned int jidct_yuv420_en : 1; /* [2] */ 152 unsigned int hor_med_en : 1; /* [3] */ 153 unsigned int ver_med_en : 1; /* [4] */ 154 unsigned int dither_en : 1; /* [5] */ 155 unsigned int reserved_0 : 2; /* [7..6] */ 156 unsigned int out_rgb_type : 3; /* [10..8] */ 157 unsigned int reserved_1 : 21; /* [31..11] */ 158 } bits; 159 160 /* Define an unsigned member */ 161 unsigned int u32; 162 } U_OUT_TYPE; 163 164 /* Define the union U_JPGE_ALPHA; */ 165 typedef union { 166 /* Define the struct bits */ 167 struct { 168 unsigned int jpgd_a : 8; /* [7..0] */ 169 unsigned int reserved : 24; /* [31..8] */ 170 } bits; 171 172 /* Define an unsigned member */ 173 unsigned int u32; 174 } U_JPGD_ALPHA; 175 176 /* Define the union U_HOR_PHASE0_COEF01 */ 177 typedef union { 178 /* Define the struct bits */ 179 struct { 180 unsigned int hor_phase0_coef0 : 10; /* [9..0] */ 181 unsigned int reserved_0 : 6; /* [15..10] */ 182 unsigned int hor_phase0_coef1 : 10; /* [25..16] */ 183 unsigned int reserved_1 : 6; /* [31..26] */ 184 } bits; 185 186 /* Define an unsigned member */ 187 unsigned int u32; 188 } U_HOR_PHASE0_COEF01; 189 190 /* Define the union U_HOR_PHASE0_COEF23 */ 191 typedef union { 192 /* Define the struct bits */ 193 struct { 194 unsigned int hor_phase0_coef2 : 10; /* [9..0] */ 195 unsigned int reserved_0 : 6; /* [15..10] */ 196 unsigned int hor_phase0_coef3 : 10; /* [25..16] */ 197 unsigned int reserved_1 : 6; /* [31..26] */ 198 } bits; 199 200 /* Define an unsigned member */ 201 unsigned int u32; 202 } U_HOR_PHASE0_COEF23; 203 204 /* Define the union U_HOR_PHASE0_COEF45 */ 205 typedef union { 206 /* Define the struct bits */ 207 struct { 208 unsigned int hor_phase0_coef4 : 10; /* [9..0] */ 209 unsigned int reserved_0 : 6; /* [15..10] */ 210 unsigned int hor_phase0_coef5 : 10; /* [25..16] */ 211 unsigned int reserved_1 : 6; /* [31..26] */ 212 } bits; 213 214 /* Define an unsigned member */ 215 unsigned int u32; 216 } U_HOR_PHASE0_COEF45; 217 218 /* Define the union U_HOR_PHASE0_COEF67 */ 219 typedef union { 220 /* Define the struct bits */ 221 struct { 222 unsigned int hor_phase0_coef6 : 10; /* [9..0] */ 223 unsigned int reserved_0 : 6; /* [15..10] */ 224 unsigned int hor_phase0_coef7 : 10; /* [25..16] */ 225 unsigned int reserved_1 : 6; /* [31..26] */ 226 } bits; 227 228 /* Define an unsigned member */ 229 unsigned int u32; 230 } U_HOR_PHASE0_COEF67; 231 232 /* Define the union U_HOR_PHASE2_COEF01 */ 233 typedef union { 234 /* Define the struct bits */ 235 struct { 236 unsigned int hor_phase2_coef0 : 10; /* [9..0] */ 237 unsigned int reserved_0 : 6; /* [15..10] */ 238 unsigned int hor_phase2_coef1 : 10; /* [25..16] */ 239 unsigned int reserved_1 : 6; /* [31..26] */ 240 } bits; 241 242 /* Define an unsigned member */ 243 unsigned int u32; 244 } U_HOR_PHASE2_COEF01; 245 246 /* Define the union U_HOR_PHASE2_COEF23 */ 247 typedef union { 248 /* Define the struct bits */ 249 struct { 250 unsigned int hor_phase2_coef2 : 10; /* [9..0] */ 251 unsigned int reserved_0 : 6; /* [15..10] */ 252 unsigned int hor_phase2_coef3 : 10; /* [25..16] */ 253 unsigned int reserved_1 : 6; /* [31..26] */ 254 } bits; 255 256 /* Define an unsigned member */ 257 unsigned int u32; 258 } U_HOR_PHASE2_COEF23; 259 260 /* Define the union U_HOR_PHASE2_COEF45 */ 261 typedef union { 262 /* Define the struct bits */ 263 struct { 264 unsigned int hor_phase2_coef4 : 10; /* [9..0] */ 265 unsigned int reserved_0 : 6; /* [15..10] */ 266 unsigned int hor_phase2_coef5 : 10; /* [25..16] */ 267 unsigned int reserved_1 : 6; /* [31..26] */ 268 } bits; 269 270 /* Define an unsigned member */ 271 unsigned int u32; 272 } U_HOR_PHASE2_COEF45; 273 274 /* Define the union U_HOR_PHASE2_COEF67 */ 275 typedef union { 276 /* Define the struct bits */ 277 struct { 278 unsigned int hor_phase2_coef6 : 10; /* [9..0] */ 279 unsigned int reserved_0 : 6; /* [15..10] */ 280 unsigned int hor_phase2_coef7 : 10; /* [25..16] */ 281 unsigned int reserved_1 : 6; /* [31..26] */ 282 } bits; 283 284 /* Define an unsigned member */ 285 unsigned int u32; 286 } U_HOR_PHASE2_COEF67; 287 288 /* Define the union U_VER_PHASE0_COEF01 */ 289 typedef union { 290 /* Define the struct bits */ 291 struct { 292 unsigned int ver_phase0_coef0 : 10; /* [9..0] */ 293 unsigned int reserved_0 : 6; /* [15..10] */ 294 unsigned int ver_phase0_coef1 : 10; /* [25..16] */ 295 unsigned int reserved_1 : 6; /* [31..26] */ 296 } bits; 297 298 /* Define an unsigned member */ 299 unsigned int u32; 300 } U_VER_PHASE0_COEF01; 301 302 /* Define the union U_VER_PHASE0_COEF23 */ 303 typedef union { 304 /* Define the struct bits */ 305 struct { 306 unsigned int ver_phase0_coef2 : 10; /* [9..0] */ 307 unsigned int reserved_0 : 6; /* [15..10] */ 308 unsigned int ver_phase0_coef3 : 10; /* [25..16] */ 309 unsigned int reserved_1 : 6; /* [31..26] */ 310 } bits; 311 312 /* Define an unsigned member */ 313 unsigned int u32; 314 } U_VER_PHASE0_COEF23; 315 316 /* Define the union U_VER_PHASE2_COEF01 */ 317 typedef union { 318 /* Define the struct bits */ 319 struct { 320 unsigned int ver_phase2_coef0 : 10; /* [9..0] */ 321 unsigned int reserved_0 : 6; /* [15..10] */ 322 unsigned int ver_phase2_coef1 : 10; /* [25..16] */ 323 unsigned int reserved_1 : 6; /* [31..26] */ 324 } bits; 325 326 /* Define an unsigned member */ 327 unsigned int u32; 328 } U_VER_PHASE2_COEF01; 329 330 /* Define the union U_VER_PHASE2_COEF23 */ 331 typedef union { 332 /* Define the struct bits */ 333 struct { 334 unsigned int ver_phase2_coef2 : 10; /* [9..0] */ 335 unsigned int reserved_0 : 6; /* [15..10] */ 336 unsigned int ver_phase2_coef3 : 10; /* [25..16] */ 337 unsigned int reserved_1 : 6; /* [31..26] */ 338 } bits; 339 340 /* Define an unsigned member */ 341 unsigned int u32; 342 } U_VER_PHASE2_COEF23; 343 344 /* Define the union U_CSC_IN_DC_COEF */ 345 typedef union { 346 /* Define the struct bits */ 347 struct { 348 unsigned int csc_in_dc_coef0 : 9; /* [8..0] */ 349 unsigned int reserved_0 : 1; /* [9] */ 350 unsigned int csc_in_dc_coef1 : 9; /* [18..10] */ 351 unsigned int reserved_1 : 1; /* [19] */ 352 unsigned int csc_in_dc_coef2 : 9; /* [28..20] */ 353 unsigned int reserved_2 : 3; /* [31..29] */ 354 } bits; 355 356 /* Define an unsigned member */ 357 unsigned int u32; 358 } U_CSC_IN_DC_COEF; 359 360 /* Define the union U_CSC_OUT_DC_COEF */ 361 typedef union { 362 /* Define the struct bits */ 363 struct { 364 unsigned int csc_out_dc_coef0 : 9; /* [8..0] */ 365 unsigned int reserved_0 : 1; /* [9] */ 366 unsigned int csc_out_dc_coef1 : 9; /* [18..10] */ 367 unsigned int reserved_1 : 1; /* [19] */ 368 unsigned int csc_out_dc_coef2 : 9; /* [28..20] */ 369 unsigned int reserved_2 : 3; /* [31..29] */ 370 } bits; 371 372 /* Define an unsigned member */ 373 unsigned int u32; 374 } U_CSC_OUT_DC_COEF; 375 376 /* Define the union U_CSC_TRANS_COEF0 */ 377 typedef union { 378 /* Define the struct bits */ 379 struct { 380 unsigned int csc_p_00 : 15; /* [14..0] */ 381 unsigned int reserved_0 : 1; /* [15] */ 382 unsigned int csc_p_01 : 15; /* [30..16] */ 383 unsigned int reserved_1 : 1; /* [31] */ 384 } bits; 385 386 /* Define an unsigned member */ 387 unsigned int u32; 388 } U_CSC_TRANS_COEF0; 389 390 /* Define the union U_CSC_TRANS_COEF1 */ 391 typedef union { 392 /* Define the struct bits */ 393 struct { 394 unsigned int csc_p_02 : 15; /* [14..0] */ 395 unsigned int reserved_0 : 1; /* [15] */ 396 unsigned int csc_p_10 : 15; /* [30..16] */ 397 unsigned int reserved_1 : 1; /* [31] */ 398 } bits; 399 400 /* Define an unsigned member */ 401 unsigned int u32; 402 } U_CSC_TRANS_COEF1; 403 404 /* Define the union U_CSC_TRANS_COEF2 */ 405 typedef union { 406 /* Define the struct bits */ 407 struct { 408 unsigned int csc_p_11 : 15; /* [14..0] */ 409 unsigned int reserved_0 : 1; /* [15] */ 410 unsigned int csc_p_12 : 15; /* [30..16] */ 411 unsigned int reserved_1 : 1; /* [31] */ 412 } bits; 413 414 /* Define an unsigned member */ 415 unsigned int u32; 416 } U_CSC_TRANS_COEF2; 417 418 /* Define the union U_CSC_TRANS_COEF3 */ 419 typedef union { 420 /* Define the struct bits */ 421 struct { 422 unsigned int csc_p_20 : 15; /* [14..0] */ 423 unsigned int reserved_0 : 1; /* [15] */ 424 unsigned int csc_p_21 : 15; /* [30..16] */ 425 unsigned int reserved_1 : 1; /* [31] */ 426 } bits; 427 428 /* Define an unsigned member */ 429 unsigned int u32; 430 } U_CSC_TRANS_COEF3; 431 432 /* Define the union U_CSC_TRANS_COEF4 */ 433 typedef union { 434 /* Define the struct bits */ 435 struct { 436 unsigned int csc_p_22 : 15; /* [14..0] */ 437 unsigned int reserved : 17; /* [31..15] */ 438 } bits; 439 440 /* Define an unsigned member */ 441 unsigned int u32; 442 } U_CSC_TRANS_COEF4; 443 444 /* Define the union U_MCU_PRO_STARTPOS */ 445 typedef union { 446 /* Define the struct bits */ 447 struct { 448 unsigned int jcfg2jvld_mcu_starty : 12; /* [11..0] */ 449 unsigned int reserved : 20; /* [31..12] */ 450 } bits; 451 452 /* Define an unsigned member */ 453 unsigned int u32; 454 } U_MCU_PRO_STARTPOS; 455 456 /* Define the union U_PICCUT_STARTPOS */ 457 typedef union { 458 /* Define the struct bits */ 459 struct { 460 unsigned int jcfg2jytr_pic_startx : 15; /* [14..0] */ 461 unsigned int reserved_0 : 1; /* [15] */ 462 unsigned int jcfg2jytr_pic_starty : 15; /* [30..16] */ 463 unsigned int reserved_1 : 1; /* [31] */ 464 } bits; 465 466 /* Define an unsigned member */ 467 unsigned int u32; 468 } U_PICCUT_STARTPOS; 469 470 /* Define the union U_PICCUT_ENDPOS */ 471 typedef union { 472 /* Define the struct bits */ 473 struct { 474 unsigned int jcfg2jytr_pic_endx : 15; /* [14..0] */ 475 unsigned int reserved_0 : 1; /* [15] */ 476 unsigned int jcfg2jytr_pic_endy : 15; /* [30..16] */ 477 unsigned int reserved_1 : 1; /* [31] */ 478 } bits; 479 480 /* Define an unsigned member */ 481 unsigned int u32; 482 } U_PICCUT_ENDPOS; 483 484 /* Define the union U_MCU_PRO_CURPOS */ 485 typedef union { 486 /* Define the struct bits */ 487 struct { 488 unsigned int jvld2jcfg_mcu_y : 12; /* [11..0] */ 489 unsigned int reserved : 20; /* [31..12] */ 490 } bits; 491 492 /* Define an unsigned member */ 493 unsigned int u32; 494 } U_MCU_PRO_CURPOS; 495 496 /* Define the union U_BS_RES_BIT_CFG */ 497 typedef union { 498 /* Define the struct bits */ 499 struct { 500 unsigned int jcfg2jbs_bs_remain : 7; /* [6..0] */ 501 unsigned int reserved : 25; /* [31..7] */ 502 } bits; 503 504 /* Define an unsigned member */ 505 unsigned int u32; 506 } U_BS_RES_BIT_CFG; 507 508 /* Define the union U_JPEG_INT */ 509 typedef union { 510 /* Define the struct bits */ 511 struct { 512 unsigned int int_dec_fnsh : 1; /* [0] */ 513 unsigned int int_dec_err : 1; /* [1] */ 514 unsigned int int_bs_res : 1; /* [2] */ 515 unsigned int debug_state : 1; /* [3] */ 516 unsigned int int_over_time : 1; /* [4] */ 517 unsigned int reserved : 27; /* [31..5] */ 518 } bits; 519 520 /* Define an unsigned member */ 521 unsigned int u32; 522 } U_JPEG_INT; 523 524 /* Define the union U_INT_MASK */ 525 typedef union { 526 /* Define the struct bits */ 527 struct { 528 unsigned int intm_dec_fnsh : 1; /* [0] */ 529 unsigned int intm_dec_err : 1; /* [1] */ 530 unsigned int intm_bs_res : 1; /* [2] */ 531 unsigned int reserved_0 : 1; /* [3] */ 532 unsigned int intm_over_time : 1; /* [4] */ 533 unsigned int reserved_1 : 27; /* [31..5] */ 534 } bits; 535 536 /* Define an unsigned member */ 537 unsigned int u32; 538 } U_INT_MASK; 539 540 /* Define the union U_PD_SUM_Y */ 541 typedef union { 542 /* Define the struct bits */ 543 struct { 544 unsigned int jvld2jcfg_pd_y : 16; /* [15..0] */ 545 unsigned int jbs2jcfg_flag_cur : 1; /* [16] */ 546 unsigned int reserved : 15; /* [31..17] */ 547 } bits; 548 549 /* Define an unsigned member */ 550 unsigned int u32; 551 } U_PD_SUM_Y; 552 553 /* Define the union U_PD_SUM_CBCR */ 554 typedef union { 555 /* Define the struct bits */ 556 struct { 557 unsigned int jvld2jcfg_pd_cb : 16; /* [15..0] */ 558 unsigned int jvld2jcfg_pd_cr : 16; /* [31..16] */ 559 } bits; 560 561 /* Define an unsigned member */ 562 unsigned int u32; 563 } U_PD_SUM_CBCR; 564 565 /* Define the union U_LUMA_PIX_SUM1 */ 566 typedef union { 567 /* Define the struct bits */ 568 struct { 569 unsigned int luma_pix_sum1 : 4; /* [3..0] */ 570 unsigned int reserved : 27; /* [30..4] */ 571 unsigned int jidct_luma_sum_en : 1; /* [31] */ 572 } bits; 573 574 /* Define an unsigned member */ 575 unsigned int u32; 576 } U_LUMA_PIX_SUM1; 577 578 /* Define the union U_AXI_4K_CNT */ 579 typedef union { 580 /* Define the struct bits */ 581 struct { 582 unsigned int wr_over_4k_cnt : 16; /* [15..0] */ 583 unsigned int rd_over_4k_cnt : 16; /* [31..16] */ 584 } bits; 585 586 /* Define an unsigned member */ 587 unsigned int u32; 588 } U_AXI_4K_CNT; 589 590 /* Define the union U_AXI_16M_CNT */ 591 typedef union { 592 /* Define the struct bits */ 593 struct { 594 unsigned int wr_over_16m_cnt : 16; /* [15..0] */ 595 unsigned int rd_over_16m_cnt : 16; /* [31..16] */ 596 } bits; 597 598 /* Define an unsigned member */ 599 unsigned int u32; 600 } U_AXI_16M_CNT; 601 602 /* Define the union U_SAMPLING_FACTOR */ 603 typedef union { 604 /* Define the struct bits */ 605 struct { 606 unsigned int v_fac : 8; /* [7..0] */ 607 unsigned int u_fac : 8; /* [15..8] */ 608 unsigned int y_fac : 8; /* [23..16] */ 609 unsigned int reserved : 8; /* [31..24] */ 610 } bits; 611 612 /* Define an unsigned member */ 613 unsigned int u32; 614 } U_SAMPLING_FACTOR; 615 616 /* Define the union U_DRI */ 617 typedef union { 618 /* Define the struct bits */ 619 struct { 620 unsigned int jcfg2jvld_ri : 16; /* [15..0] */ 621 unsigned int reserved_0 : 16; /* [31..16] */ 622 } bits; 623 624 /* Define an unsigned member */ 625 unsigned int u32; 626 } U_DRI; 627 628 /* Define the union U_DRI_CNT_CFG */ 629 typedef union { 630 /* Define the struct bits */ 631 struct { 632 unsigned int jcfg2jvld_dri_cnt : 16; /* [15..0] */ 633 unsigned int reserved_0 : 16; /* [31..16] */ 634 } bits; 635 636 /* Define an unsigned member */ 637 unsigned int u32; 638 } U_DRI_CNT_CFG; 639 640 /* Define the union U_DRI_CNT */ 641 typedef union { 642 /* Define the struct bits */ 643 struct { 644 unsigned int jvld2jcfg_dri_cnt : 16; /* [15..0] */ 645 unsigned int reserved_0 : 16; /* [31..16] */ 646 } bits; 647 648 /* Define an unsigned member */ 649 unsigned int u32; 650 } U_DRI_CNT; 651 652 /* Define the union U_MEM_CTRL */ 653 typedef union { 654 /* Define the struct bits */ 655 struct { 656 unsigned int mem_ctrl_rfs : 16; /* [15..0] */ 657 unsigned int mem_ctrl_rft : 16; /* [31..16] */ 658 } bits; 659 660 /* Define an unsigned member */ 661 unsigned int u32; 662 } U_MEM_CTRL; 663 664 /* Define the union U_BITBUFFER_STADDR_MSB */ 665 typedef union { 666 /* Define the struct bits */ 667 struct { 668 unsigned int bb_staddr_msb : 2; /* [1..0] */ 669 unsigned int reserved_0 : 30; /* [31..2] */ 670 } bits; 671 672 /* Define an unsigned member */ 673 unsigned int u32; 674 } U_BITBUFFER_STADDR_MSB; 675 676 /* Define the union U_BITBUFFER_ENDADDR_MSB */ 677 typedef union { 678 /* Define the struct bits */ 679 struct { 680 unsigned int bb_endaddr_msb : 2; /* [1..0] */ 681 unsigned int reserved_0 : 30; /* [31..2] */ 682 } bits; 683 684 /* Define an unsigned member */ 685 unsigned int u32; 686 } U_BITBUFFER_ENDADDR_MSB; 687 688 /* Define the union U_BITSTREAM_STADDR_MSB */ 689 typedef union { 690 /* Define the struct bits */ 691 struct { 692 unsigned int bs_staddr_msb : 2; /* [1..0] */ 693 unsigned int reserved_0 : 30; /* [31..2] */ 694 } bits; 695 696 /* Define an unsigned member */ 697 unsigned int u32; 698 } U_BITSTREAMS_STADDR_MSB; 699 700 /* Define the union U_BITSTREAM_ENDADDR_MSB */ 701 typedef union { 702 /* Define the struct bits */ 703 struct { 704 unsigned int bs_endaddr_msb : 2; /* [1..0] */ 705 unsigned int reserved_0 : 30; /* [31..2] */ 706 } bits; 707 708 /* Define an unsigned member */ 709 unsigned int u32; 710 } U_BITSTREAMS_ENDADDR_MSB; 711 712 /* Define the union U_PICTURE_YSTADDR_MSB */ 713 typedef union { 714 /* Define the struct bits */ 715 struct { 716 unsigned int pic_ystaddr_msb : 2; /* [1..0] */ 717 unsigned int reserved_0 : 30; /* [31..2] */ 718 } bits; 719 720 /* Define an unsigned member */ 721 unsigned int u32; 722 } U_PICTURE_YSTADDR_MSB; 723 724 /* Define the union U_PICTURE_UVSTADDR_MSB */ 725 typedef union { 726 /* Define the struct bits */ 727 struct { 728 unsigned int pic_uvstaddr_msb : 2; /* [1..0] */ 729 unsigned int reserved_0 : 30; /* [31..2] */ 730 } bits; 731 732 /* Define an unsigned member */ 733 unsigned int u32; 734 } U_PICTURE_UVSTADDR_MSB; 735 736 /* Define the union U_MTN_ADDRESS0_MSB */ 737 typedef union { 738 /* Define the struct bits */ 739 struct { 740 unsigned int mtn_address0_msb : 2; /* [1..0] */ 741 unsigned int reserved_0 : 30; /* [31..2] */ 742 } bits; 743 744 /* Define an unsigned member */ 745 unsigned int u32; 746 } U_MTN_ADDRESS0_MSB; 747 748 /* Define the union U_MTN_ADDRESS1_MSB */ 749 typedef union { 750 /* Define the struct bits */ 751 struct { 752 unsigned int mtn_address1_msb : 2; /* [1..0] */ 753 unsigned int reserved_0 : 30; /* [31..2] */ 754 } bits; 755 756 /* Define an unsigned member */ 757 unsigned int u32; 758 } U_MTN_ADDRESS1_MSB; 759 760 /* Define the union U_QUANT_TABLE */ 761 typedef union { 762 /* Define the struct bits */ 763 struct { 764 unsigned int qtab_y : 8; /* [7..0] */ 765 unsigned int qtab_cb : 8; /* [15..8] */ 766 unsigned int qtab_cr : 8; /* [23..16] */ 767 unsigned int reserved : 8; /* [31..24] */ 768 } bits; 769 770 /* Define an unsigned member */ 771 unsigned int u32; 772 } U_QUANT_TABLE; 773 774 /* Define the union U_HDC_TABLE */ 775 typedef union { 776 /* Define the struct bits */ 777 struct { 778 unsigned int hdc_lu : 12; /* [11..0] */ 779 unsigned int hdc_ch : 12; /* [23..12] */ 780 unsigned int reserved : 8; /* [31..24] */ 781 } bits; 782 783 /* Define an unsigned member */ 784 unsigned int u32; 785 } U_HDC_TABLE; 786 787 /* Define the union U_HAC_MIN_TABLE */ 788 typedef union { 789 /* Define the struct bits */ 790 struct { 791 unsigned int hac_lu_mincode_even : 8; /* [7..0] */ 792 unsigned int hac_lu_mincode_odd : 8; /* [15..8] */ 793 unsigned int hac_ch_mincode_even : 8; /* [23..16] */ 794 unsigned int hac_ch_mincode_odd : 8; /* [31..24] */ 795 } bits; 796 797 /* Define an unsigned member */ 798 unsigned int u32; 799 } U_HAC_MIN_TABLE; 800 801 /* Define the union U_HAC_BASE_TABLE */ 802 typedef union { 803 /* Define the struct bits */ 804 struct { 805 unsigned int hac_lu_base_even : 8; /* [7..0] */ 806 unsigned int hac_lu_base_odd : 8; /* [15..8] */ 807 unsigned int hac_ch_base_even : 8; /* [23..16] */ 808 unsigned int hac_ch_base_odd : 8; /* [31..24] */ 809 } bits; 810 811 /* Define an unsigned member */ 812 unsigned int u32; 813 } U_HAC_BASE_TABLE; 814 815 /* Define the union U_HAC_SYMBOL_TABLE */ 816 typedef union { 817 /* Define the struct bits */ 818 struct { 819 unsigned int sel2_chn_wr : 8; /* [7..0] */ 820 unsigned int sel1_chn_wr : 8; /* [15..8] */ 821 unsigned int sel2_chn_rd : 8; /* [23..16] */ 822 unsigned int reserved_0 : 8; /* [31..24] */ 823 } bits; 824 825 /* Define an unsigned member */ 826 unsigned int u32; 827 } U_HAC_SYMBOL_TABLE; 828 829 /* Define the global struct */ 830 typedef struct { 831 volatile U_JPEG_DEC_START JPEG_DEC_START; /* 0x00 */ 832 volatile U_JPEG_RESUME_START JPEG_RESUME_START; /* 0x04 */ 833 volatile unsigned int PIC_VLD_NUM; /* 0x08 */ 834 volatile U_JPEG_STRIDE JPEG_STRIDE; /* 0x0c */ 835 volatile U_PICTURE_SIZE PICTURE_SIZE; /* 0x10 */ 836 volatile U_PICTURE_TYPE PICTURE_TYPE; /* 0x14 */ 837 volatile unsigned int PICDEC_TIME; /* 0x18 */ 838 volatile U_RGB_OUT_STRIDE RGB_OUT_STRIDE; /* 0x1c */ 839 volatile unsigned int BITBUFFER_STADDR_LSB; /* 0x20 */ 840 volatile unsigned int BITBUFFER_ENDADDR_LSB; /* 0x24 */ 841 volatile unsigned int BITSTREAMS_STADDR_LSB; /* 0x28 */ 842 volatile unsigned int BITSTREAMS_ENDADDR_LSB; /* 0x2C */ 843 volatile unsigned int PICTURE_YSTADDR_LSB; /* 0x30 */ 844 volatile unsigned int PICTURE_UVSTADDR_LSB; 845 volatile U_PD_SUM_CFG_CBCR PD_SUM_CFG_CBCR; 846 volatile U_PD_SUM_CFG_Y PD_SUM_CFG_Y; 847 volatile U_FREQ_SCALE FREQ_SCALE; /* 0x40 */ 848 volatile U_OUT_TYPE OUT_TYPE; 849 volatile U_JPGD_ALPHA JPGD_ALPHA; 850 volatile U_HOR_PHASE0_COEF01 HOR_PHASE0_COEF01; /* 0x4c */ 851 volatile U_HOR_PHASE0_COEF23 HOR_PHASE0_COEF23; /* 0x50 */ 852 volatile U_HOR_PHASE0_COEF45 HOR_PHASE0_COEF45; /* 0x54 */ 853 volatile U_HOR_PHASE0_COEF67 HOR_PHASE0_COEF67; /* 0x58 */ 854 volatile unsigned int RESERVED0[4]; /* 0x5c 0x60 0x64 0x68 */ 855 volatile U_HOR_PHASE2_COEF01 HOR_PHASE2_COEF01; /* 0x6c */ 856 volatile U_HOR_PHASE2_COEF23 HOR_PHASE2_COEF23; /* 0x70 */ 857 volatile U_HOR_PHASE2_COEF45 HOR_PHASE2_COEF45; /* 0x74 */ 858 volatile U_HOR_PHASE2_COEF67 HOR_PHASE2_COEF67; /* 0x78 */ 859 volatile unsigned int RESERVED1[4]; /* 0x7c 0x80 0x84 0x88 */ 860 volatile U_VER_PHASE0_COEF01 VER_PHASE0_COEF01; /* 0x8C */ 861 volatile U_VER_PHASE0_COEF23 VER_PHASE0_COEF23; /* 0x90 */ 862 volatile unsigned int RESERVED2[2]; /* 2:0x94 0x98 */ 863 volatile U_VER_PHASE2_COEF01 VER_PHASE2_COEF01; /* 0x9c */ 864 volatile U_VER_PHASE2_COEF23 VER_PHASE2_COEF23; /* 0xA0 */ 865 volatile unsigned int RESERVED3[2]; /* 2:0xA4 0xA8 */ 866 volatile U_CSC_IN_DC_COEF CSC_IN_DC_COEF; /* 0xAC */ 867 volatile U_CSC_OUT_DC_COEF CSC_OUT_DC_COEF; /* 0xB0 */ 868 volatile U_CSC_TRANS_COEF0 CSC_TRANS_COEF0; /* 0xB4 */ 869 volatile U_CSC_TRANS_COEF1 CSC_TRANS_COEF1; /* 0xB8 */ 870 volatile U_CSC_TRANS_COEF2 CSC_TRANS_COEF2; /* 0xBC */ 871 volatile U_CSC_TRANS_COEF3 CSC_TRANS_COEF3; /* 0xC0 */ 872 volatile U_CSC_TRANS_COEF4 CSC_TRANS_COEF4; /* 0xC4 */ 873 volatile unsigned int MTN_ADDRESS0_LSB; /* 0xC8 */ 874 volatile unsigned int MTN_ADDRESS1_LSB; /* 0xCC */ 875 volatile unsigned int RESERVED4; /* 0xD0 */ 876 volatile U_MCU_PRO_STARTPOS MCU_PRO_STARTPOS; /* 0xD4 */ 877 volatile U_PICCUT_STARTPOS PICCUT_STARTPOS; /* 0xD8 */ 878 volatile U_PICCUT_ENDPOS PICCUT_ENDPOS; /* 0xDC */ 879 volatile U_MCU_PRO_CURPOS MCU_PRO_CURPOS; /* 0xE0 */ 880 volatile unsigned int BS_CONSU; /* 0xE4 */ 881 volatile unsigned int BS_RESUME_DATA0; /* 0xE8 */ 882 volatile unsigned int BS_RESUME_DATA1; /* 0xEC */ 883 volatile unsigned int BS_RESUME_BIT; /* 0xF0 */ 884 volatile unsigned int BS_RES_DATA_CFG0; /* 0xF4 */ 885 volatile unsigned int BS_RES_DATA_CFG1; /* 0xF8 */ 886 volatile U_BS_RES_BIT_CFG BS_RES_BIT_CFG; /* 0xFC */ 887 volatile U_JPEG_INT JPEG_INT; /* 0x100 */ 888 volatile U_INT_MASK INT_MASK; /* 0x104 */ 889 volatile unsigned int OVER_TIME_THD; /* 0x108 */ 890 volatile U_PD_SUM_Y PD_SUM_Y; /* 0x10C */ 891 volatile U_PD_SUM_CBCR PD_SUM_CBCR; /* 0x110 */ 892 volatile unsigned int LUMA_PIX_SUM0; /* 0x114 */ 893 volatile U_LUMA_PIX_SUM1 LUMA_PIX_SUM1; /* 0x118 */ 894 volatile U_AXI_4K_CNT AXI_4K_CNT; /* 0x11C */ 895 volatile U_AXI_16M_CNT AXI_16M_CNT; /* 0x120 */ 896 volatile U_SAMPLING_FACTOR SAMPLING_FACTOR; /* 0x124 */ 897 volatile U_DRI DRI; /* 0x128 */ 898 volatile U_DRI_CNT_CFG DRI_CNT_CFG; /* 0x12c */ 899 volatile U_DRI_CNT DRI_CNT; /* 0x130 */ 900 volatile unsigned int RESERVED5[3]; /* 0x134 0x138 0x13c */ 901 volatile U_MEM_CTRL MEM_CTRL; /* 0x140 */ 902 volatile unsigned int RESERVED6; /* 0x144 */ 903 volatile U_BITBUFFER_STADDR_MSB BITBUFFER_STADDR_MSB; /* 0x148 */ 904 volatile U_BITBUFFER_ENDADDR_MSB BITBUFFER_ENDADDR_MSB; /* 0x14c */ 905 volatile U_BITSTREAMS_STADDR_MSB BITSTREAMS_STADDR_MSB; /* 0x150 */ 906 volatile U_BITSTREAMS_ENDADDR_MSB BITSTREAMS_ENDADDR_MSB; /* 0x154 */ 907 volatile U_PICTURE_YSTADDR_MSB PICTURE_YSTADDR_MSB; /* 0x158 */ 908 volatile U_PICTURE_UVSTADDR_MSB PICTURE_UVSTADDR_MSB; /* 0x15c */ 909 volatile U_MTN_ADDRESS0_MSB MTN_ADDRESS0_MSB; /* 0x160 */ 910 volatile U_MTN_ADDRESS1_MSB MTN_ADDRESS1_MSB; /* 0x164 */ 911 volatile unsigned int RESERVED7[38]; /* 38:0x168~0x1fc */ 912 volatile U_QUANT_TABLE QUANT_TABLE[64]; /* 64:0x200~0x2fc */ 913 volatile U_HDC_TABLE HDC_TABLE[12]; /* 12:0x300~0x32c */ 914 volatile unsigned int RESERVED8[4]; /* 4:0x330~0x33c */ 915 volatile U_HAC_MIN_TABLE HAC_MIN_TABLE[8]; /* 8:0x340~0x35c */ 916 volatile U_HAC_BASE_TABLE HAC_BASE_TABLE[8]; /* 8:0x360~0x37c */ 917 volatile unsigned int RESERVED9[32]; /* 32:0x380~0x3fc */ 918 volatile unsigned int HAC_SYMBOL_TABLE[176]; /* 176:0x400~0x6c0 */ 919 } S_JPGD_REGS_TYPE; 920 921 #ifdef __cplusplus 922 } 923 #endif /* End of #ifdef __cplusplus */ 924 925 #endif 926