• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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