• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED.
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License
6  * as published by the Free Software Foundation; either version 2
7  * of the License, or (at your 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, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
17  */
18 #ifndef __HHDMI_REG_TX_H__
19 #define __HHDMI_REG_TX_H__
20 
21 #include "hi_type.h"
22 
23 typedef union {
24     struct {
25         unsigned int tmds_pack_mode       : 2;  /* [1:0] */
26         unsigned int reg_fifo_auto_rst_en : 1;  /* [2] */
27         unsigned int reg_fifo_manu_rst    : 1;  /* [3] */
28         unsigned int reg_clock_det_en     : 1;  /* [4] */
29         unsigned int reg_ext_tmds_para    : 1;  /* [5] */
30         unsigned int rsv_0                : 2;  /* [7:6] */
31         unsigned int reg_fifo_delay_cnt   : 8;  /* [15:8] */
32         unsigned int rsv_1                : 16; /* [31:16] */
33     } bits;
34     unsigned int u32;
35 } tx_pack_fifo_ctrl;
36 
37 typedef union {
38     struct {
39         unsigned int pclk2tclk_stable : 1;  /* [0] */
40         unsigned int rsv_2            : 31; /* [31:1] */
41     } bits;
42     unsigned int u32;
43 } tx_pack_fifo_st;
44 
45 typedef union {
46     struct {
47         unsigned int reg_pclk_refer_cnt : 18; /* [17:0] */
48         unsigned int rsv_3              : 14; /* [31:18] */
49     } bits;
50     unsigned int u32;
51 } pclk_refer_cnt;
52 
53 typedef union {
54     struct {
55         unsigned int reg_tcnt_lower_threshold : 18; /* [17:0] */
56         unsigned int rsv_4                    : 14; /* [31:18] */
57     } bits;
58     unsigned int u32;
59 } tclk_lower_threshold;
60 
61 typedef union {
62     struct {
63         unsigned int reg_tcnt_upper_threshold : 18; /* [17:0] */
64         unsigned int rsv_5                    : 14; /* [31:18] */
65     } bits;
66     unsigned int u32;
67 } tclk_upper_threshold;
68 
69 typedef union {
70     struct {
71         unsigned int avi_pkt_hb0 : 8; /* [7:0] */
72         unsigned int avi_pkt_hb1 : 8; /* [15:8] */
73         unsigned int avi_pkt_hb2 : 8; /* [23:16] */
74         unsigned int rsv_6       : 8; /* [31:24] */
75     } bits;
76     unsigned int u32;
77 } avi_pkt_header;
78 
79 typedef union {
80     struct {
81         unsigned int avi_sub_pkt0_pb0 : 8; /* [7:0] */
82         unsigned int avi_sub_pkt0_pb1 : 8; /* [15:8] */
83         unsigned int avi_sub_pkt0_pb2 : 8; /* [23:16] */
84         unsigned int avi_sub_pkt0_pb3 : 8; /* [31:24] */
85     } bits;
86     unsigned int u32;
87 } avi_sub_pkt0_low;
88 
89 typedef union {
90     struct {
91         unsigned int avi_sub_pkt0_pb4 : 8; /* [7:0] */
92         unsigned int avi_sub_pkt0_pb5 : 8; /* [15:8] */
93         unsigned int avi_sub_pkt0_pb6 : 8; /* [23:16] */
94         unsigned int rsv_7            : 8; /* [31:24] */
95     } bits;
96     unsigned int u32;
97 } avi_sub_pkt0_high;
98 
99 typedef union {
100     struct {
101         unsigned int avi_sub_pkt1_pb0 : 8; /* [7:0] */
102         unsigned int avi_sub_pkt1_pb1 : 8; /* [15:8] */
103         unsigned int avi_sub_pkt1_pb2 : 8; /* [23:16] */
104         unsigned int avi_sub_pkt1_pb3 : 8; /* [31:24] */
105     } bits;
106     unsigned int u32;
107 } avi_sub_pkt1_low;
108 
109 typedef union {
110     struct {
111         unsigned int avi_sub_pkt1_pb4 : 8; /* [7:0] */
112         unsigned int avi_sub_pkt1_pb5 : 8; /* [15:8] */
113         unsigned int avi_sub_pkt1_pb6 : 8; /* [23:16] */
114         unsigned int rsv_8            : 8; /* [31:24] */
115     } bits;
116     unsigned int u32;
117 } avi_sub_pkt1_high;
118 
119 typedef union {
120     struct {
121         unsigned int avi_sub_pkt2_pb0 : 8; /* [7:0] */
122         unsigned int avi_sub_pkt2_pb1 : 8; /* [15:8] */
123         unsigned int avi_sub_pkt2_pb2 : 8; /* [23:16] */
124         unsigned int avi_sub_pkt2_pb3 : 8; /* [31:24] */
125     } bits;
126     unsigned int u32;
127 } avi_sub_pkt2_low;
128 
129 typedef union {
130     struct {
131         unsigned int avi_sub_pkt2_pb4 : 8; /* [7:0] */
132         unsigned int avi_sub_pkt2_pb5 : 8; /* [15:8] */
133         unsigned int avi_sub_pkt2_pb6 : 8; /* [23:16] */
134         unsigned int rsv_9            : 8; /* [31:24] */
135     } bits;
136     unsigned int u32;
137 } avi_sub_pkt2_high;
138 
139 typedef union {
140     struct {
141         unsigned int avi_sub_pkt3_pb0 : 8; /* [7:0] */
142         unsigned int avi_sub_pkt3_pb1 : 8; /* [15:8] */
143         unsigned int avi_sub_pkt3_pb2 : 8; /* [23:16] */
144         unsigned int avi_sub_pkt3_pb3 : 8; /* [31:24] */
145     } bits;
146     unsigned int u32;
147 } avi_sub_pkt3_low;
148 
149 typedef union {
150     struct {
151         unsigned int avi_sub_pkt3_pb4 : 8; /* [7:0] */
152         unsigned int avi_sub_pkt3_pb5 : 8; /* [15:8] */
153         unsigned int avi_sub_pkt3_pb6 : 8; /* [23:16] */
154         unsigned int rsv_10           : 8; /* [31:24] */
155     } bits;
156     unsigned int u32;
157 } avi_sub_pkt3_high;
158 
159 typedef union {
160     struct {
161         unsigned int aif_pkt_hb0 : 8; /* [7:0] */
162         unsigned int aif_pkt_hb1 : 8; /* [15:8] */
163         unsigned int aif_pkt_hb2 : 8; /* [23:16] */
164         unsigned int rsv_11      : 8; /* [31:24] */
165     } bits;
166     unsigned int u32;
167 } aif_pkt_header;
168 
169 typedef union {
170     struct {
171         unsigned int aif_sub_pkt0_pb0 : 8; /* [7:0] */
172         unsigned int aif_sub_pkt0_pb1 : 8; /* [15:8] */
173         unsigned int aif_sub_pkt0_pb2 : 8; /* [23:16] */
174         unsigned int aif_sub_pkt0_pb3 : 8; /* [31:24] */
175     } bits;
176     unsigned int u32;
177 } aif_sub_pkt0_low;
178 
179 typedef union {
180     struct {
181         unsigned int aif_sub_pkt0_pb4 : 8; /* [7:0] */
182         unsigned int aif_sub_pkt0_pb5 : 8; /* [15:8] */
183         unsigned int aif_sub_pkt0_pb6 : 8; /* [23:16] */
184         unsigned int rsv_12           : 8; /* [31:24] */
185     } bits;
186     unsigned int u32;
187 } aif_sub_pkt0_high;
188 
189 typedef union {
190     struct {
191         unsigned int aif_sub_pkt1_pb0 : 8; /* [7:0] */
192         unsigned int aif_sub_pkt1_pb1 : 8; /* [15:8] */
193         unsigned int aif_sub_pkt1_pb2 : 8; /* [23:16] */
194         unsigned int aif_sub_pkt1_pb3 : 8; /* [31:24] */
195     } bits;
196     unsigned int u32;
197 } aif_sub_pkt1_low;
198 
199 typedef union {
200     struct {
201         unsigned int aif_sub_pkt1_pb4 : 8; /* [7:0] */
202         unsigned int aif_sub_pkt1_pb5 : 8; /* [15:8] */
203         unsigned int aif_sub_pkt1_pb6 : 8; /* [23:16] */
204         unsigned int rsv_13           : 8; /* [31:24] */
205     } bits;
206     unsigned int u32;
207 } aif_sub_pkt1_high;
208 
209 typedef union {
210     struct {
211         unsigned int aif_sub_pkt2_pb0 : 8; /* [7:0] */
212         unsigned int aif_sub_pkt2_pb1 : 8; /* [15:8] */
213         unsigned int aif_sub_pkt2_pb2 : 8; /* [23:16] */
214         unsigned int aif_sub_pkt2_pb3 : 8; /* [31:24] */
215     } bits;
216     unsigned int u32;
217 } aif_sub_pkt2_low;
218 
219 typedef union {
220     struct {
221         unsigned int aif_sub_pkt2_pb4 : 8; /* [7:0] */
222         unsigned int aif_sub_pkt2_pb5 : 8; /* [15:8] */
223         unsigned int aif_sub_pkt2_pb6 : 8; /* [23:16] */
224         unsigned int rsv_14           : 8; /* [31:24] */
225     } bits;
226     unsigned int u32;
227 } aif_sub_pkt2_high;
228 
229 typedef union {
230     struct {
231         unsigned int aif_sub_pkt3_pb0 : 8; /* [7:0] */
232         unsigned int aif_sub_pkt3_pb1 : 8; /* [15:8] */
233         unsigned int aif_sub_pkt3_pb2 : 8; /* [23:16] */
234         unsigned int aif_sub_pkt3_pb3 : 8; /* [31:24] */
235     } bits;
236     unsigned int u32;
237 } aif_sub_pkt3_low;
238 
239 typedef union {
240     struct {
241         unsigned int aif_sub_pkt3_pb4 : 8; /* [7:0] */
242         unsigned int aif_sub_pkt3_pb5 : 8; /* [15:8] */
243         unsigned int aif_sub_pkt3_pb6 : 8; /* [23:16] */
244         unsigned int rsv_15           : 8; /* [31:24] */
245     } bits;
246     unsigned int u32;
247 } aif_sub_pkt3_high;
248 
249 typedef union {
250     struct {
251         unsigned int spd_pkt_hb0 : 8; /* [7:0] */
252         unsigned int spd_pkt_hb1 : 8; /* [15:8] */
253         unsigned int spd_pkt_hb2 : 8; /* [23:16] */
254         unsigned int rsv_16      : 8; /* [31:24] */
255     } bits;
256     unsigned int u32;
257 } spif_pkt_header;
258 
259 typedef union {
260     struct {
261         unsigned int spd_sub_pkt0_pb0 : 8; /* [7:0] */
262         unsigned int spd_sub_pkt0_pb1 : 8; /* [15:8] */
263         unsigned int spd_sub_pkt0_pb2 : 8; /* [23:16] */
264         unsigned int spd_sub_pkt0_pb3 : 8; /* [31:24] */
265     } bits;
266     unsigned int u32;
267 } spif_sub_pkt0_low;
268 
269 typedef union {
270     struct {
271         unsigned int spd_sub_pkt0_pb4 : 8; /* [7:0] */
272         unsigned int spd_sub_pkt0_pb5 : 8; /* [15:8] */
273         unsigned int spd_sub_pkt0_pb6 : 8; /* [23:16] */
274         unsigned int rsv_17           : 8; /* [31:24] */
275     } bits;
276     unsigned int u32;
277 } spif_sub_pkt0_high;
278 
279 typedef union {
280     struct {
281         unsigned int spd_sub_pkt1_pb0 : 8; /* [7:0] */
282         unsigned int spd_sub_pkt1_pb1 : 8; /* [15:8] */
283         unsigned int spd_sub_pkt1_pb2 : 8; /* [23:16] */
284         unsigned int spd_sub_pkt1_pb3 : 8; /* [31:24] */
285     } bits;
286     unsigned int u32;
287 } spif_sub_pkt1_low;
288 
289 typedef union {
290     struct {
291         unsigned int spd_sub_pkt1_pb4 : 8; /* [7:0] */
292         unsigned int spd_sub_pkt1_pb5 : 8; /* [15:8] */
293         unsigned int spd_sub_pkt1_pb6 : 8; /* [23:16] */
294         unsigned int rsv_18           : 8; /* [31:24] */
295     } bits;
296     unsigned int u32;
297 } spif_sub_pkt1_high;
298 
299 typedef union {
300     struct {
301         unsigned int spd_sub_pkt2_pb0 : 8; /* [7:0] */
302         unsigned int spd_sub_pkt2_pb1 : 8; /* [15:8] */
303         unsigned int spd_sub_pkt2_pb2 : 8; /* [23:16] */
304         unsigned int spd_sub_pkt2_pb3 : 8; /* [31:24] */
305     } bits;
306     unsigned int u32;
307 } spif_sub_pkt2_low;
308 
309 typedef union {
310     struct {
311         unsigned int spd_sub_pkt2_pb4 : 8; /* [7:0] */
312         unsigned int spd_sub_pkt2_pb5 : 8; /* [15:8] */
313         unsigned int spd_sub_pkt2_pb6 : 8; /* [23:16] */
314         unsigned int rsv_19           : 8; /* [31:24] */
315     } bits;
316     unsigned int u32;
317 } spif_sub_pkt2_high;
318 
319 typedef union {
320     struct {
321         unsigned int spd_sub_pkt3_pb0 : 8; /* [7:0] */
322         unsigned int spd_sub_pkt3_pb1 : 8; /* [15:8] */
323         unsigned int spd_sub_pkt3_pb2 : 8; /* [23:16] */
324         unsigned int spd_sub_pkt3_pb3 : 8; /* [31:24] */
325     } bits;
326     unsigned int u32;
327 } spif_sub_pkt3_low;
328 
329 typedef union {
330     struct {
331         unsigned int spd_sub_pkt3_pb4 : 8; /* [7:0] */
332         unsigned int spd_sub_pkt3_pb5 : 8; /* [15:8] */
333         unsigned int spd_sub_pkt3_pb6 : 8; /* [23:16] */
334         unsigned int rsv_20           : 8; /* [31:24] */
335     } bits;
336     unsigned int u32;
337 } spif_sub_pkt3_high;
338 
339 typedef union {
340     struct {
341         unsigned int mpeg_pkt_hb0 : 8; /* [7:0] */
342         unsigned int mpeg_pkt_hb1 : 8; /* [15:8] */
343         unsigned int mpeg_pkt_hb2 : 8; /* [23:16] */
344         unsigned int rsv_21       : 8; /* [31:24] */
345     } bits;
346     unsigned int u32;
347 } speg_pkt_header;
348 
349 typedef union {
350     struct {
351         unsigned int mpeg_sub_pkt0_pb0 : 8; /* [7:0] */
352         unsigned int mpeg_sub_pkt0_pb1 : 8; /* [15:8] */
353         unsigned int mpeg_sub_pkt0_pb2 : 8; /* [23:16] */
354         unsigned int mpeg_sub_pkt0_pb3 : 8; /* [31:24] */
355     } bits;
356     unsigned int u32;
357 } speg_sub_pkt0_low;
358 
359 typedef union {
360     struct {
361         unsigned int mpeg_sub_pkt0_pb4 : 8; /* [7:0] */
362         unsigned int mpeg_sub_pkt0_pb5 : 8; /* [15:8] */
363         unsigned int mpeg_sub_pkt0_pb6 : 8; /* [23:16] */
364         unsigned int rsv_22            : 8; /* [31:24] */
365     } bits;
366     unsigned int u32;
367 } speg_sub_pkt0_high;
368 
369 typedef union {
370     struct {
371         unsigned int mpeg_sub_pkt1_pb0 : 8; /* [7:0] */
372         unsigned int mpeg_sub_pkt1_pb1 : 8; /* [15:8] */
373         unsigned int mpeg_sub_pkt1_pb2 : 8; /* [23:16] */
374         unsigned int mpeg_sub_pkt1_pb3 : 8; /* [31:24] */
375     } bits;
376     unsigned int u32;
377 } speg_sub_pkt1_low;
378 
379 typedef union {
380     struct {
381         unsigned int mpeg_sub_pkt1_pb4 : 8; /* [7:0] */
382         unsigned int mpeg_sub_pkt1_pb5 : 8; /* [15:8] */
383         unsigned int mpeg_sub_pkt1_pb6 : 8; /* [23:16] */
384         unsigned int rsv_23            : 8; /* [31:24] */
385     } bits;
386     unsigned int u32;
387 } mpeg_sub_pkt1_high;
388 
389 typedef union {
390     struct {
391         unsigned int mpeg_sub_pkt2_pb0 : 8; /* [7:0] */
392         unsigned int mpeg_sub_pkt2_pb1 : 8; /* [15:8] */
393         unsigned int mpeg_sub_pkt2_pb2 : 8; /* [23:16] */
394         unsigned int mpeg_sub_pkt2_pb3 : 8; /* [31:24] */
395     } bits;
396     unsigned int u32;
397 } mpeg_sub_pkt2_low;
398 
399 typedef union {
400     struct {
401         unsigned int mpeg_sub_pkt2_pb4 : 8; /* [7:0] */
402         unsigned int mpeg_sub_pkt2_pb5 : 8; /* [15:8] */
403         unsigned int mpeg_sub_pkt2_pb6 : 8; /* [23:16] */
404         unsigned int rsv_24            : 8; /* [31:24] */
405     } bits;
406     unsigned int u32;
407 } mpeg_sub_pkt2_high;
408 
409 typedef union {
410     struct {
411         unsigned int mpeg_sub_pkt3_pb0 : 8; /* [7:0] */
412         unsigned int mpeg_sub_pkt3_pb1 : 8; /* [15:8] */
413         unsigned int mpeg_sub_pkt3_pb2 : 8; /* [23:16] */
414         unsigned int mpeg_sub_pkt3_pb3 : 8; /* [31:24] */
415     } bits;
416     unsigned int u32;
417 } mpeg_sub_pkt3_low;
418 
419 typedef union {
420     struct {
421         unsigned int mpeg_sub_pkt3_pb4 : 8; /* [7:0] */
422         unsigned int mpeg_sub_pkt3_pb5 : 8; /* [15:8] */
423         unsigned int mpeg_sub_pkt3_pb6 : 8; /* [23:16] */
424         unsigned int rsv_25            : 8; /* [31:24] */
425     } bits;
426     unsigned int u32;
427 } mpeg_sub_pkt3_high;
428 
429 typedef union {
430     struct {
431         unsigned int gen_pkt_hb0 : 8; /* [7:0] */
432         unsigned int gen_pkt_hb1 : 8; /* [15:8] */
433         unsigned int gen_pkt_hb2 : 8; /* [23:16] */
434         unsigned int rsv_26      : 8; /* [31:24] */
435     } bits;
436     unsigned int u32;
437 } gen_pkt_header;
438 
439 typedef union {
440     struct {
441         unsigned int gen_sub_pkt0_pb0 : 8; /* [7:0] */
442         unsigned int gen_sub_pkt0_pb1 : 8; /* [15:8] */
443         unsigned int gen_sub_pkt0_pb2 : 8; /* [23:16] */
444         unsigned int gen_sub_pkt0_pb3 : 8; /* [31:24] */
445     } bits;
446     unsigned int u32;
447 } gen_sub_pkt0_low;
448 
449 typedef union {
450     struct {
451         unsigned int gen_sub_pkt0_pb4 : 8; /* [7:0] */
452         unsigned int gen_sub_pkt0_pb5 : 8; /* [15:8] */
453         unsigned int gen_sub_pkt0_pb6 : 8; /* [23:16] */
454         unsigned int rsv_27           : 8; /* [31:24] */
455     } bits;
456     unsigned int u32;
457 } gen_sub_pkt0_high;
458 
459 typedef union {
460     struct {
461         unsigned int gen_sub_pkt1_pb0 : 8; /* [7:0] */
462         unsigned int gen_sub_pkt1_pb1 : 8; /* [15:8] */
463         unsigned int gen_sub_pkt1_pb2 : 8; /* [23:16] */
464         unsigned int gen_sub_pkt1_pb3 : 8; /* [31:24] */
465     } bits;
466     unsigned int u32;
467 } gen_sub_pkt1_low;
468 
469 typedef union {
470     struct {
471         unsigned int gen_sub_pkt1_pb4 : 8; /* [7:0] */
472         unsigned int gen_sub_pkt1_pb5 : 8; /* [15:8] */
473         unsigned int gen_sub_pkt1_pb6 : 8; /* [23:16] */
474         unsigned int rsv_28           : 8; /* [31:24] */
475     } bits;
476     unsigned int u32;
477 } gen_sub_pkt1_high;
478 
479 typedef union {
480     struct {
481         unsigned int gen_sub_pkt2_pb0 : 8; /* [7:0] */
482         unsigned int gen_sub_pkt2_pb1 : 8; /* [15:8] */
483         unsigned int gen_sub_pkt2_pb2 : 8; /* [23:16] */
484         unsigned int gen_sub_pkt2_pb3 : 8; /* [31:24] */
485     } bits;
486     unsigned int u32;
487 } gen_sub_pkt2_low;
488 
489 typedef union {
490     struct {
491         unsigned int gen_sub_pkt2_pb4 : 8; /* [7:0] */
492         unsigned int gen_sub_pkt2_pb5 : 8; /* [15:8] */
493         unsigned int gen_sub_pkt2_pb6 : 8; /* [23:16] */
494         unsigned int rsv_29           : 8; /* [31:24] */
495     } bits;
496     unsigned int u32;
497 } gen_sub_pkt2_high;
498 
499 typedef union {
500     struct {
501         unsigned int gen_sub_pkt3_pb0 : 8; /* [7:0] */
502         unsigned int gen_sub_pkt3_pb1 : 8; /* [15:8] */
503         unsigned int gen_sub_pkt3_pb2 : 8; /* [23:16] */
504         unsigned int gen_sub_pkt3_pb3 : 8; /* [31:24] */
505     } bits;
506     unsigned int u32;
507 } gen_sub_pkt3_low;
508 
509 typedef union {
510     struct {
511         unsigned int gen_sub_pkt3_pb4 : 8; /* [7:0] */
512         unsigned int gen_sub_pkt3_pb5 : 8; /* [15:8] */
513         unsigned int gen_sub_pkt3_pb6 : 8; /* [23:16] */
514         unsigned int rsv_30           : 8; /* [31:24] */
515     } bits;
516     unsigned int u32;
517 } gen_sub_pkt3_high;
518 
519 typedef union {
520     struct {
521         unsigned int gen2_pkt_hb0 : 8; /* [7:0] */
522         unsigned int gen2_pkt_hb1 : 8; /* [15:8] */
523         unsigned int gen2_pkt_hb2 : 8; /* [23:16] */
524         unsigned int rsv_31       : 8; /* [31:24] */
525     } bits;
526     unsigned int u32;
527 } gen2_pkt_header;
528 
529 typedef union {
530     struct {
531         unsigned int gen2_sub_pkt0_pb0 : 8; /* [7:0] */
532         unsigned int gen2_sub_pkt0_pb1 : 8; /* [15:8] */
533         unsigned int gen2_sub_pkt0_pb2 : 8; /* [23:16] */
534         unsigned int gen2_sub_pkt0_pb3 : 8; /* [31:24] */
535     } bits;
536     unsigned int u32;
537 } gen2_sub_pkt0_low;
538 
539 typedef union {
540     struct {
541         unsigned int gen2_sub_pkt0_pb4 : 8; /* [7:0] */
542         unsigned int gen2_sub_pkt0_pb5 : 8; /* [15:8] */
543         unsigned int gen2_sub_pkt0_pb6 : 8; /* [23:16] */
544         unsigned int rsv_32            : 8; /* [31:24] */
545     } bits;
546     unsigned int u32;
547 } gen2_sub_pkt0_high;
548 
549 typedef union {
550     struct {
551         unsigned int gen2_sub_pkt1_pb0 : 8; /* [7:0] */
552         unsigned int gen2_sub_pkt1_pb1 : 8; /* [15:8] */
553         unsigned int gen2_sub_pkt1_pb2 : 8; /* [23:16] */
554         unsigned int gen2_sub_pkt1_pb3 : 8; /* [31:24] */
555     } bits;
556     unsigned int u32;
557 } gen2_sub_pkt1_low;
558 
559 typedef union {
560     struct {
561         unsigned int gen2_sub_pkt1_pb4 : 8; /* [7:0] */
562         unsigned int gen2_sub_pkt1_pb5 : 8; /* [15:8] */
563         unsigned int gen2_sub_pkt1_pb6 : 8; /* [23:16] */
564         unsigned int rsv_33            : 8; /* [31:24] */
565     } bits;
566     unsigned int u32;
567 } gen2_sub_pkt1_high;
568 
569 typedef union {
570     struct {
571         unsigned int gen2_sub_pkt2_pb0 : 8; /* [7:0] */
572         unsigned int gen2_sub_pkt2_pb1 : 8; /* [15:8] */
573         unsigned int gen2_sub_pkt2_pb2 : 8; /* [23:16] */
574         unsigned int gen2_sub_pkt2_pb3 : 8; /* [31:24] */
575     } bits;
576     unsigned int u32;
577 } gen2_sub_pkt2_low;
578 
579 typedef union {
580     struct {
581         unsigned int gen2_sub_pkt2_pb4 : 8; /* [7:0] */
582         unsigned int gen2_sub_pkt2_pb5 : 8; /* [15:8] */
583         unsigned int gen2_sub_pkt2_pb6 : 8; /* [23:16] */
584         unsigned int rsv_34            : 8; /* [31:24] */
585     } bits;
586     unsigned int u32;
587 } gen2_sub_pkt2_high;
588 
589 typedef union {
590     struct {
591         unsigned int gen2_sub_pkt3_pb0 : 8; /* [7:0] */
592         unsigned int gen2_sub_pkt3_pb1 : 8; /* [15:8] */
593         unsigned int gen2_sub_pkt3_pb2 : 8; /* [23:16] */
594         unsigned int gen2_sub_pkt3_pb3 : 8; /* [31:24] */
595     } bits;
596     unsigned int u32;
597 } gen2_sub_pkt3_low;
598 
599 typedef union {
600     struct {
601         unsigned int gen2_sub_pkt3_pb4 : 8; /* [7:0] */
602         unsigned int gen2_sub_pkt3_pb5 : 8; /* [15:8] */
603         unsigned int gen2_sub_pkt3_pb6 : 8; /* [23:16] */
604         unsigned int rsv_35            : 8; /* [31:24] */
605     } bits;
606     unsigned int u32;
607 } gen2_sub_pkt3_high;
608 
609 typedef union {
610     struct {
611         unsigned int gen3_pkt_hb0 : 8; /* [7:0] */
612         unsigned int gen3_pkt_hb1 : 8; /* [15:8] */
613         unsigned int gen3_pkt_hb2 : 8; /* [23:16] */
614         unsigned int rsv_36       : 8; /* [31:24] */
615     } bits;
616     unsigned int u32;
617 } gen3_pkt_header;
618 
619 typedef union {
620     struct {
621         unsigned int gen3_sub_pkt0_pb0 : 8; /* [7:0] */
622         unsigned int gen3_sub_pkt0_pb1 : 8; /* [15:8] */
623         unsigned int gen3_sub_pkt0_pb2 : 8; /* [23:16] */
624         unsigned int gen3_sub_pkt0_pb3 : 8; /* [31:24] */
625     } bits;
626     unsigned int u32;
627 } gen3_sub_pkt0_low;
628 
629 typedef union {
630     struct {
631         unsigned int gen3_sub_pkt0_pb4 : 8; /* [7:0] */
632         unsigned int gen3_sub_pkt0_pb5 : 8; /* [15:8] */
633         unsigned int gen3_sub_pkt0_pb6 : 8; /* [23:16] */
634         unsigned int rsv_37            : 8; /* [31:24] */
635     } bits;
636     unsigned int u32;
637 } gen3_sub_pkt0_high;
638 
639 typedef union {
640     struct {
641         unsigned int gen3_sub_pkt1_pb0 : 8; /* [7:0] */
642         unsigned int gen3_sub_pkt1_pb1 : 8; /* [15:8] */
643         unsigned int gen3_sub_pkt1_pb2 : 8; /* [23:16] */
644         unsigned int gen3_sub_pkt1_pb3 : 8; /* [31:24] */
645     } bits;
646     unsigned int u32;
647 } gen3_sub_pkt1_low;
648 
649 typedef union {
650     struct {
651         unsigned int gen3_sub_pkt1_pb4 : 8; /* [7:0] */
652         unsigned int gen3_sub_pkt1_pb5 : 8; /* [15:8] */
653         unsigned int gen3_sub_pkt1_pb6 : 8; /* [23:16] */
654         unsigned int rsv_38            : 8; /* [31:24] */
655     } bits;
656     unsigned int u32;
657 } gen3_sub_pkt1_high;
658 
659 typedef union {
660     struct {
661         unsigned int gen3_sub_pkt2_pb0 : 8; /* [7:0] */
662         unsigned int gen3_sub_pkt2_pb1 : 8; /* [15:8] */
663         unsigned int gen3_sub_pkt2_pb2 : 8; /* [23:16] */
664         unsigned int gen3_sub_pkt2_pb3 : 8; /* [31:24] */
665     } bits;
666     unsigned int u32;
667 } gen3_sub_pkt2_low;
668 
669 typedef union {
670     struct {
671         unsigned int gen3_sub_pkt2_pb4 : 8; /* [7:0] */
672         unsigned int gen3_sub_pkt2_pb5 : 8; /* [15:8] */
673         unsigned int gen3_sub_pkt2_pb6 : 8; /* [23:16] */
674         unsigned int rsv_39            : 8; /* [31:24] */
675     } bits;
676     unsigned int u32;
677 } gen3_sub_pkt2_high;
678 
679 typedef union {
680     struct {
681         unsigned int gen3_sub_pkt3_pb0 : 8; /* [7:0] */
682         unsigned int gen3_sub_pkt3_pb1 : 8; /* [15:8] */
683         unsigned int gen3_sub_pkt3_pb2 : 8; /* [23:16] */
684         unsigned int gen3_sub_pkt3_pb3 : 8; /* [31:24] */
685     } bits;
686     unsigned int u32;
687 } gen3_sub_pkt3_low;
688 
689 typedef union {
690     struct {
691         unsigned int gen3_sub_pkt3_pb4 : 8; /* [7:0] */
692         unsigned int gen3_sub_pkt3_pb5 : 8; /* [15:8] */
693         unsigned int gen3_sub_pkt3_pb6 : 8; /* [23:16] */
694         unsigned int rsv_40            : 8; /* [31:24] */
695     } bits;
696     unsigned int u32;
697 } gen3_sub_pkt3_high;
698 
699 typedef union {
700     struct {
701         unsigned int gen4_pkt_hb0 : 8; /* [7:0] */
702         unsigned int gen4_pkt_hb1 : 8; /* [15:8] */
703         unsigned int gen4_pkt_hb2 : 8; /* [23:16] */
704         unsigned int rsv_41       : 8; /* [31:24] */
705     } bits;
706     unsigned int u32;
707 } gen4_pkt_header;
708 
709 typedef union {
710     struct {
711         unsigned int gen4_sub_pkt0_pb0 : 8; /* [7:0] */
712         unsigned int gen4_sub_pkt0_pb1 : 8; /* [15:8] */
713         unsigned int gen4_sub_pkt0_pb2 : 8; /* [23:16] */
714         unsigned int gen4_sub_pkt0_pb3 : 8; /* [31:24] */
715     } bits;
716     unsigned int u32;
717 } gen4_sub_pkt0_low;
718 
719 typedef union {
720     struct {
721         unsigned int gen4_sub_pkt0_pb4 : 8; /* [7:0] */
722         unsigned int gen4_sub_pkt0_pb5 : 8; /* [15:8] */
723         unsigned int gen4_sub_pkt0_pb6 : 8; /* [23:16] */
724         unsigned int rsv_42            : 8; /* [31:24] */
725     } bits;
726     unsigned int u32;
727 } gen4_sub_pkt0_high;
728 
729 typedef union {
730     struct {
731         unsigned int gen4_sub_pkt1_pb0 : 8; /* [7:0] */
732         unsigned int gen4_sub_pkt1_pb1 : 8; /* [15:8] */
733         unsigned int gen4_sub_pkt1_pb2 : 8; /* [23:16] */
734         unsigned int gen4_sub_pkt1_pb3 : 8; /* [31:24] */
735     } bits;
736     unsigned int u32;
737 } gen4_sub_pkt1_low;
738 
739 typedef union {
740     struct {
741         unsigned int gen4_sub_pkt1_pb4 : 8; /* [7:0] */
742         unsigned int gen4_sub_pkt1_pb5 : 8; /* [15:8] */
743         unsigned int gen4_sub_pkt1_pb6 : 8; /* [23:16] */
744         unsigned int rsv_43            : 8; /* [31:24] */
745     } bits;
746     unsigned int u32;
747 } gen4_sub_pkt1_high;
748 
749 typedef union {
750     struct {
751         unsigned int gen4_sub_pkt2_pb0 : 8; /* [7:0] */
752         unsigned int gen4_sub_pkt2_pb1 : 8; /* [15:8] */
753         unsigned int gen4_sub_pkt2_pb2 : 8; /* [23:16] */
754         unsigned int gen4_sub_pkt2_pb3 : 8; /* [31:24] */
755     } bits;
756     unsigned int u32;
757 } gen4_sub_pkt2_low;
758 
759 typedef union {
760     struct {
761         unsigned int gen4_sub_pkt2_pb4 : 8; /* [7:0] */
762         unsigned int gen4_sub_pkt2_pb5 : 8; /* [15:8] */
763         unsigned int gen4_sub_pkt2_pb6 : 8; /* [23:16] */
764         unsigned int rsv_44            : 8; /* [31:24] */
765     } bits;
766     unsigned int u32;
767 } gen4_sub_pkt2_high;
768 
769 typedef union {
770     struct {
771         unsigned int gen4_sub_pkt3_pb0 : 8; /* [7:0] */
772         unsigned int gen4_sub_pkt3_pb1 : 8; /* [15:8] */
773         unsigned int gen4_sub_pkt3_pb2 : 8; /* [23:16] */
774         unsigned int gen4_sub_pkt3_pb3 : 8; /* [31:24] */
775     } bits;
776     unsigned int u32;
777 } gen4_sub_pkt3_low;
778 
779 typedef union {
780     struct {
781         unsigned int gen4_sub_pkt3_pb4 : 8; /* [7:0] */
782         unsigned int gen4_sub_pkt3_pb5 : 8; /* [15:8] */
783         unsigned int gen4_sub_pkt3_pb6 : 8; /* [23:16] */
784         unsigned int rsv_45            : 8; /* [31:24] */
785     } bits;
786     unsigned int u32;
787 } gen4_sub_pkt3_high;
788 
789 typedef union {
790     struct {
791         unsigned int gen5_pkt_hb0 : 8; /* [7:0] */
792         unsigned int gen5_pkt_hb1 : 8; /* [15:8] */
793         unsigned int gen5_pkt_hb2 : 8; /* [23:16] */
794         unsigned int rsv_46       : 8; /* [31:24] */
795     } bits;
796     unsigned int u32;
797 } gen5_pkt_header;
798 
799 typedef union {
800     struct {
801         unsigned int gen5_sub_pkt0_pb0 : 8; /* [7:0] */
802         unsigned int gen5_sub_pkt0_pb1 : 8; /* [15:8] */
803         unsigned int gen5_sub_pkt0_pb2 : 8; /* [23:16] */
804         unsigned int gen5_sub_pkt0_pb3 : 8; /* [31:24] */
805     } bits;
806     unsigned int u32;
807 } gen5_sub_pkt0_low;
808 
809 typedef union {
810     struct {
811         unsigned int gen5_sub_pkt0_pb4 : 8; /* [7:0] */
812         unsigned int gen5_sub_pkt0_pb5 : 8; /* [15:8] */
813         unsigned int gen5_sub_pkt0_pb6 : 8; /* [23:16] */
814         unsigned int rsv_47            : 8; /* [31:24] */
815     } bits;
816     unsigned int u32;
817 } gen5_sub_pkt0_high;
818 
819 typedef union {
820     struct {
821         unsigned int gen5_sub_pkt1_pb0 : 8; /* [7:0] */
822         unsigned int gen5_sub_pkt1_pb1 : 8; /* [15:8] */
823         unsigned int gen5_sub_pkt1_pb2 : 8; /* [23:16] */
824         unsigned int gen5_sub_pkt1_pb3 : 8; /* [31:24] */
825     } bits;
826     unsigned int u32;
827 } gen5_sub_pkt1_low;
828 
829 typedef union {
830     struct {
831         unsigned int gen5_sub_pkt1_pb4 : 8; /* [7:0] */
832         unsigned int gen5_sub_pkt1_pb5 : 8; /* [15:8] */
833         unsigned int gen5_sub_pkt1_pb6 : 8; /* [23:16] */
834         unsigned int rsv_48            : 8; /* [31:24] */
835     } bits;
836     unsigned int u32;
837 } gen5_sub_pkt1_high;
838 
839 typedef union {
840     struct {
841         unsigned int gen5_sub_pkt2_pb0 : 8; /* [7:0] */
842         unsigned int gen5_sub_pkt2_pb1 : 8; /* [15:8] */
843         unsigned int gen5_sub_pkt2_pb2 : 8; /* [23:16] */
844         unsigned int gen5_sub_pkt2_pb3 : 8; /* [31:24] */
845     } bits;
846     unsigned int u32;
847 } gen5_sub_pkt2_low;
848 
849 typedef union {
850     struct {
851         unsigned int gen5_sub_pkt2_pb4 : 8; /* [7:0] */
852         unsigned int gen5_sub_pkt2_pb5 : 8; /* [15:8] */
853         unsigned int gen5_sub_pkt2_pb6 : 8; /* [23:16] */
854         unsigned int rsv_49            : 8; /* [31:24] */
855     } bits;
856     unsigned int u32;
857 } gen5_sub_pkt2_high;
858 
859 typedef union {
860     struct {
861         unsigned int gen5_sub_pkt3_pb0 : 8; /* [7:0] */
862         unsigned int gen5_sub_pkt3_pb1 : 8; /* [15:8] */
863         unsigned int gen5_sub_pkt3_pb2 : 8; /* [23:16] */
864         unsigned int gen5_sub_pkt3_pb3 : 8; /* [31:24] */
865     } bits;
866     unsigned int u32;
867 } gen5_sub_pkt3_low;
868 
869 typedef union {
870     struct {
871         unsigned int gen5_sub_pkt3_pb4 : 8; /* [7:0] */
872         unsigned int gen5_sub_pkt3_pb5 : 8; /* [15:8] */
873         unsigned int gen5_sub_pkt3_pb6 : 8; /* [23:16] */
874         unsigned int rsv_50            : 8; /* [31:24] */
875     } bits;
876     unsigned int u32;
877 } gen5_sub_pkt3_high;
878 
879 typedef union {
880     struct {
881         unsigned int gamut_pkt_hb0 : 8; /* [7:0] */
882         unsigned int gamut_pkt_hb1 : 8; /* [15:8] */
883         unsigned int gamut_pkt_hb2 : 8; /* [23:16] */
884         unsigned int rsv_51        : 8; /* [31:24] */
885     } bits;
886     unsigned int u32;
887 } gamut_pkt_header;
888 
889 typedef union {
890     struct {
891         unsigned int gamut_sub_pkt0_pb0 : 8; /* [7:0] */
892         unsigned int gamut_sub_pkt0_pb1 : 8; /* [15:8] */
893         unsigned int gamut_sub_pkt0_pb2 : 8; /* [23:16] */
894         unsigned int gamut_sub_pkt0_pb3 : 8; /* [31:24] */
895     } bits;
896     unsigned int u32;
897 } gamut_sub_pkt0_low;
898 
899 typedef union {
900     struct {
901         unsigned int gamut_sub_pkt0_pb4 : 8; /* [7:0] */
902         unsigned int gamut_sub_pkt0_pb5 : 8; /* [15:8] */
903         unsigned int gamut_sub_pkt0_pb6 : 8; /* [23:16] */
904         unsigned int rsv_52             : 8; /* [31:24] */
905     } bits;
906     unsigned int u32;
907 } gamut_sub_pkt0_high;
908 
909 typedef union {
910     struct {
911         unsigned int gamut_sub_pkt1_pb0 : 8; /* [7:0] */
912         unsigned int gamut_sub_pkt1_pb1 : 8; /* [15:8] */
913         unsigned int gamut_sub_pkt1_pb2 : 8; /* [23:16] */
914         unsigned int gamut_sub_pkt1_pb3 : 8; /* [31:24] */
915     } bits;
916     unsigned int u32;
917 } gamut_sub_pkt1_low;
918 
919 typedef union {
920     struct {
921         unsigned int gamut_sub_pkt1_pb4 : 8; /* [7:0] */
922         unsigned int gamut_sub_pkt1_pb5 : 8; /* [15:8] */
923         unsigned int gamut_sub_pkt1_pb6 : 8; /* [23:16] */
924         unsigned int rsv_53             : 8; /* [31:24] */
925     } bits;
926     unsigned int u32;
927 } gamut_sub_pkt1_high;
928 
929 typedef union {
930     struct {
931         unsigned int gamut_sub_pkt2_pb0 : 8; /* [7:0] */
932         unsigned int gamut_sub_pkt2_pb1 : 8; /* [15:8] */
933         unsigned int gamut_sub_pkt2_pb2 : 8; /* [23:16] */
934         unsigned int gamut_sub_pkt2_pb3 : 8; /* [31:24] */
935     } bits;
936     unsigned int u32;
937 } gamut_sub_pkt2_low;
938 
939 typedef union {
940     struct {
941         unsigned int gamut_sub_pkt2_pb4 : 8; /* [7:0] */
942         unsigned int gamut_sub_pkt2_pb5 : 8; /* [15:8] */
943         unsigned int gamut_sub_pkt2_pb6 : 8; /* [23:16] */
944         unsigned int rsv_54             : 8; /* [31:24] */
945     } bits;
946     unsigned int u32;
947 } gamut_sub_pkt2_high;
948 
949 typedef union {
950     struct {
951         unsigned int gamut_sub_pkt3_pb0 : 8; /* [7:0] */
952         unsigned int gamut_sub_pkt3_pb1 : 8; /* [15:8] */
953         unsigned int gamut_sub_pkt3_pb2 : 8; /* [23:16] */
954         unsigned int gamut_sub_pkt3_pb3 : 8; /* [31:24] */
955     } bits;
956     unsigned int u32;
957 } gamut_sub_pkt3_low;
958 
959 typedef union {
960     struct {
961         unsigned int gamut_sub_pkt3_pb4 : 8; /* [7:0] */
962         unsigned int gamut_sub_pkt3_pb5 : 8; /* [15:8] */
963         unsigned int gamut_sub_pkt3_pb6 : 8; /* [23:16] */
964         unsigned int rsv_55             : 8; /* [31:24] */
965     } bits;
966     unsigned int u32;
967 } gamut_sub_pkt3_high;
968 
969 typedef union {
970     struct {
971         unsigned int vsif_pkt_hb0 : 8; /* [7:0] */
972         unsigned int vsif_pkt_hb1 : 8; /* [15:8] */
973         unsigned int vsif_pkt_hb2 : 8; /* [23:16] */
974         unsigned int rsv_56       : 8; /* [31:24] */
975     } bits;
976     unsigned int u32;
977 } vsif_pkt_header;
978 
979 typedef union {
980     struct {
981         unsigned int vsif_sub_pkt0_pb0 : 8; /* [7:0] */
982         unsigned int vsif_sub_pkt0_pb1 : 8; /* [15:8] */
983         unsigned int vsif_sub_pkt0_pb2 : 8; /* [23:16] */
984         unsigned int vsif_sub_pkt0_pb3 : 8; /* [31:24] */
985     } bits;
986     unsigned int u32;
987 } vsif_sub_pkt0_low;
988 
989 typedef union {
990     struct {
991         unsigned int vsif_sub_pkt0_pb4 : 8; /* [7:0] */
992         unsigned int vsif_sub_pkt0_pb5 : 8; /* [15:8] */
993         unsigned int vsif_sub_pkt0_pb6 : 8; /* [23:16] */
994         unsigned int rsv_57            : 8; /* [31:24] */
995     } bits;
996     unsigned int u32;
997 } vsif_sub_pkt0_high;
998 
999 typedef union {
1000     struct {
1001         unsigned int vsif_sub_pkt1_pb0 : 8; /* [7:0] */
1002         unsigned int vsif_sub_pkt1_pb1 : 8; /* [15:8] */
1003         unsigned int vsif_sub_pkt1_pb2 : 8; /* [23:16] */
1004         unsigned int vsif_sub_pkt1_pb3 : 8; /* [31:24] */
1005     } bits;
1006     unsigned int u32;
1007 } vsif_sub_pkt1_low;
1008 
1009 typedef union {
1010     struct {
1011         unsigned int vsif_sub_pkt1_pb4 : 8; /* [7:0] */
1012         unsigned int vsif_sub_pkt1_pb5 : 8; /* [15:8] */
1013         unsigned int vsif_sub_pkt1_pb6 : 8; /* [23:16] */
1014         unsigned int rsv_58            : 8; /* [31:24] */
1015     } bits;
1016     unsigned int u32;
1017 } vsif_sub_pkt1_high;
1018 
1019 typedef union {
1020     struct {
1021         unsigned int vsif_sub_pkt2_pb0 : 8; /* [7:0] */
1022         unsigned int vsif_sub_pkt2_pb1 : 8; /* [15:8] */
1023         unsigned int vsif_sub_pkt2_pb2 : 8; /* [23:16] */
1024         unsigned int vsif_sub_pkt2_pb3 : 8; /* [31:24] */
1025     } bits;
1026     unsigned int u32;
1027 } vsif_sub_pkt2_low;
1028 
1029 typedef union {
1030     struct {
1031         unsigned int vsif_sub_pkt2_pb4 : 8; /* [7:0] */
1032         unsigned int vsif_sub_pkt2_pb5 : 8; /* [15:8] */
1033         unsigned int vsif_sub_pkt2_pb6 : 8; /* [23:16] */
1034         unsigned int rsv_59            : 8; /* [31:24] */
1035     } bits;
1036     unsigned int u32;
1037 } vsif_sub_pkt2_high;
1038 
1039 typedef union {
1040     struct {
1041         unsigned int vsif_sub_pkt3_pb0 : 8; /* [7:0] */
1042         unsigned int vsif_sub_pkt3_pb1 : 8; /* [15:8] */
1043         unsigned int vsif_sub_pkt3_pb2 : 8; /* [23:16] */
1044         unsigned int vsif_sub_pkt3_pb3 : 8; /* [31:24] */
1045     } bits;
1046     unsigned int u32;
1047 } vsif_sub_pkt3_low;
1048 
1049 typedef union {
1050     struct {
1051         unsigned int vsif_sub_pkt3_pb4 : 8; /* [7:0] */
1052         unsigned int vsif_sub_pkt3_pb5 : 8; /* [15:8] */
1053         unsigned int vsif_sub_pkt3_pb6 : 8; /* [23:16] */
1054         unsigned int rsv_60            : 8; /* [31:24] */
1055     } bits;
1056     unsigned int u32;
1057 } vsif_sub_pkt3_high;
1058 
1059 typedef union {
1060     struct {
1061         unsigned int cea_avi_en     : 1;  /* [0] */
1062         unsigned int cea_avi_rpt_en : 1;  /* [1] */
1063         unsigned int rsv_61         : 30; /* [31:2] */
1064     } bits;
1065     unsigned int u32;
1066 } cea_avi_cfg;
1067 
1068 typedef union {
1069     struct {
1070         unsigned int cea_spf_en     : 1;  /* [0] */
1071         unsigned int cea_spf_rpt_en : 1;  /* [1] */
1072         unsigned int rsv_62         : 30; /* [31:2] */
1073     } bits;
1074     unsigned int u32;
1075 } cea_spf_cfg;
1076 
1077 typedef union {
1078     struct {
1079         unsigned int cea_aud_en     : 1;  /* [0] */
1080         unsigned int cea_aud_rpt_en : 1;  /* [1] */
1081         unsigned int rsv_63         : 30; /* [31:2] */
1082     } bits;
1083     unsigned int u32;
1084 } cea_aud_cfg;
1085 
1086 typedef union {
1087     struct {
1088         unsigned int cea_mpeg_en     : 1;  /* [0] */
1089         unsigned int cea_mpeg_rpt_en : 1;  /* [1] */
1090         unsigned int rsv_64          : 30; /* [31:2] */
1091     } bits;
1092     unsigned int u32;
1093 } cea_mpeg_cfg;
1094 
1095 typedef union {
1096     struct {
1097         unsigned int cea_gen_en     : 1;  /* [0] */
1098         unsigned int cea_gen_rpt_en : 1;  /* [1] */
1099         unsigned int rsv_65         : 30; /* [31:2] */
1100     } bits;
1101     unsigned int u32;
1102 } cea_gen_cfg;
1103 
1104 typedef union {
1105     struct {
1106         unsigned int cea_cp_en      : 1;  /* [0] */
1107         unsigned int cea_cp_rpt_en  : 1;  /* [1] */
1108         unsigned int cea_cp_rpt_cnt : 8;  /* [2:7] */
1109         unsigned int rsv_66         : 22; /* [31:8] */
1110     } bits;
1111     unsigned int u32;
1112 } cea_cp_cfg;
1113 
1114 typedef union {
1115     struct {
1116         unsigned int cea_gen2_en     : 1;  /* [0] */
1117         unsigned int cea_gen2_rpt_en : 1;  /* [1] */
1118         unsigned int rsv_67          : 30; /* [31:2] */
1119     } bits;
1120     unsigned int u32;
1121 } cea_gen2_cfg;
1122 
1123 typedef union {
1124     struct {
1125         unsigned int cea_gen3_en     : 1;  /* [0] */
1126         unsigned int cea_gen3_rpt_en : 1;  /* [1] */
1127         unsigned int rsv_68          : 30; /* [31:2] */
1128     } bits;
1129     unsigned int u32;
1130 } cea_gen3_cfg;
1131 
1132 typedef union {
1133     struct {
1134         unsigned int cea_gen4_en     : 1;  /* [0] */
1135         unsigned int cea_gen4_rpt_en : 1;  /* [1] */
1136         unsigned int rsv_69          : 30; /* [31:2] */
1137     } bits;
1138     unsigned int u32;
1139 } cea_gen4_cfg;
1140 
1141 typedef union {
1142     struct {
1143         unsigned int cea_gen5_en     : 1;  /* [0] */
1144         unsigned int cea_gen5_rpt_en : 1;  /* [1] */
1145         unsigned int rsv_70          : 30; /* [31:2] */
1146     } bits;
1147     unsigned int u32;
1148 } cea_gen5_cfg;
1149 
1150 typedef union {
1151     struct {
1152         unsigned int cea_gamut_en     : 1;  /* [0] */
1153         unsigned int cea_gamut_rpt_en : 1;  /* [1] */
1154         unsigned int rsv_71           : 30; /* [31:2] */
1155     } bits;
1156     unsigned int u32;
1157 } cea_gamut_cfg;
1158 
1159 typedef union {
1160     struct {
1161         unsigned int cea_vsif_en     : 1;  /* [0] */
1162         unsigned int cea_vsif_rpt_en : 1;  /* [1] */
1163         unsigned int rsv_72          : 30; /* [31:2] */
1164     } bits;
1165     unsigned int u32;
1166 } cea_vsif_cfg;
1167 
1168 typedef union {
1169     struct {
1170         unsigned int cea_avi_state   : 1;  /* [0] */
1171         unsigned int cea_aud_state   : 1;  /* [1] */
1172         unsigned int cea_cp_state    : 1;  /* [2] */
1173         unsigned int cea_gen_state   : 1;  /* [3] */
1174         unsigned int cea_gen2_state  : 1;  /* [4] */
1175         unsigned int cea_gen3_state  : 1;  /* [5] */
1176         unsigned int cea_gen4_state  : 1;  /* [6] */
1177         unsigned int cea_gen5_state  : 1;  /* [7] */
1178         unsigned int cea_spd_state   : 1;  /* [8] */
1179         unsigned int cea_mpeg_state  : 1;  /* [9] */
1180         unsigned int cea_gamut_state : 1;  /* [10] */
1181         unsigned int cea_vsif_state  : 1;  /* [11] */
1182         unsigned int rsv_73          : 20; /* [31:12] */
1183     } bits;
1184     unsigned int u32;
1185 } cea_pktf_state;
1186 
1187 typedef union {
1188     struct {
1189         unsigned int hdmi_mode           : 1;  /* [0] */
1190         unsigned int dc_pkt_en           : 1;  /* [1] */
1191         unsigned int null_pkt_en         : 1;  /* [2] */
1192         unsigned int null_pkt_en_vs_high : 1;  /* [3] */
1193         unsigned int intr_encryption     : 1;  /* [4] */
1194         unsigned int ovr_dc_pkt_en       : 1;  /* [5] */
1195         unsigned int priotity_ctl        : 1;  /* [6] */
1196         unsigned int pkt_bypass_mode     : 1;  /* [7] */
1197         unsigned int avmute_in_phase     : 1;  /* [8] */
1198         unsigned int hdmi_dvi_sel        : 1;  /* [9] */
1199         unsigned int eess_mode_en        : 1;  /* [10] */
1200         unsigned int rsv_74              : 21; /* [31:11] */
1201     } bits;
1202     unsigned int u32;
1203 } cea_avmixer_config;
1204 
1205 typedef union {
1206     struct {
1207         unsigned int cp_set_avmute : 1;  /* [0] */
1208         unsigned int cp_clr_avmute : 1;  /* [1] */
1209         unsigned int rsv_75        : 30; /* [31:2] */
1210     } bits;
1211     unsigned int u32;
1212 } cp_pkt_avmute;
1213 
1214 typedef union {
1215     struct {
1216         unsigned int video_blank : 24; /* [23:0] */
1217         unsigned int rsv_76      : 8;  /* [31:24] */
1218     } bits;
1219     unsigned int u32;
1220 } video_blank_cfg;
1221 
1222 typedef union {
1223     struct {
1224         unsigned int reg_tbist_en         : 1;  /* [0] */
1225         unsigned int reg_tbist_syn_pol    : 2;  /* [2:1] */
1226         unsigned int reg_tbist_timing_sel : 6;  /* [8:3] */
1227         unsigned int reg_tbist_patt_sel   : 5;  /* [13:9] */
1228         unsigned int rsv_77               : 18; /* [31:14] */
1229     } bits;
1230     unsigned int u32;
1231 } tmds_bist_ctrl;
1232 
1233 typedef union {
1234     struct {
1235         unsigned int enc_hdmi2_on   : 1;  /* [0] */
1236         unsigned int enc_scr_on     : 1;  /* [1] */
1237         unsigned int enc_scr_md     : 1;  /* [2] */
1238         unsigned int enc_hdmi_val   : 1;  /* [3] */
1239         unsigned int enc_hdmi_ovr   : 1;  /* [4] */
1240         unsigned int enc_bypass     : 1;  /* [5] */
1241         unsigned int enc_ck_div_sel : 2;  /* [7:6] */
1242         unsigned int rsv_78         : 24; /* [31:8] */
1243     } bits;
1244     unsigned int u32;
1245 } hdmi_enc_ctrl;
1246 
1247 typedef union {
1248     struct {
1249         unsigned int enc_ck_sharp0 : 10; /* [9:0] */
1250         unsigned int enc_ck_sharp1 : 10; /* [19:10] */
1251         unsigned int enc_ck_sharp2 : 10; /* [29:20] */
1252         unsigned int rsv_79        : 2;  /* [31:30] */
1253     } bits;
1254     unsigned int u32;
1255 } enc_ck_sharp;
1256 
1257 typedef struct {
1258     volatile tx_pack_fifo_ctrl    pack_fifo_ctrl;   /* 1800 */
1259     volatile tx_pack_fifo_st      pack_fifo_status; /* 1804 */
1260     volatile pclk_refer_cnt       pclk_ref_cnt;     /* 1808 */
1261     volatile tclk_lower_threshold lower_threshold;  /* 180C */
1262     volatile tclk_upper_threshold upper_threshold;  /* 1810 */
1263     unsigned int                  reserved_0[1];    /* 1814 */
1264     volatile avi_pkt_header       avi_head;         /* 1818 */
1265     volatile avi_sub_pkt0_low     avi_pkt0l;        /* 181C */
1266     volatile avi_sub_pkt0_high    avi_pkt0h;        /* 1820 */
1267     volatile avi_sub_pkt1_low     avi_pkt1l;        /* 1824 */
1268     volatile avi_sub_pkt1_high    avi_pkt1h;        /* 1828 */
1269     volatile avi_sub_pkt1_low     avi_pkt2l;        /* 182C */
1270     volatile avi_sub_pkt2_high    avi_pkt2h;        /* 1830 */
1271     volatile avi_sub_pkt3_low     avi_pkt3l;        /* 1834 */
1272     volatile avi_sub_pkt3_high    avi_pkt3h;        /* 1838 */
1273     volatile aif_pkt_header       aif_pkt_head;     /* 183C */
1274     volatile aif_sub_pkt0_low     aif_pkt0l;        /* 1840 */
1275     volatile aif_sub_pkt0_high    aif_pkt0h;        /* 1844 */
1276     volatile aif_sub_pkt1_low     aif_pkt1l;        /* 1848 */
1277     volatile aif_sub_pkt1_high    aif_pkt1h;        /* 184C */
1278     volatile aif_sub_pkt2_low     aif_pkt2l;        /* 1850 */
1279     volatile aif_sub_pkt2_high    aif_pkt2h;        /* 1854 */
1280     volatile aif_sub_pkt3_low     aif_pkt3l;        /* 1858 */
1281     volatile aif_sub_pkt3_high    aif_pkt3h;        /* 185C */
1282     volatile spif_pkt_header      spif_pkt_head;    /* 1860 */
1283     volatile spif_sub_pkt0_low    spif_pkt0l;       /* 1864 */
1284     volatile spif_sub_pkt0_high   spif_pkt0h;       /* 1868 */
1285     volatile spif_sub_pkt1_low    spif_pkt1l;       /* 186C */
1286     volatile spif_sub_pkt1_high   spif_pkt1h;       /* 1870 */
1287     volatile spif_sub_pkt2_low    spif_pkt2l;       /* 1874 */
1288     volatile spif_sub_pkt2_high   spif_pkt2h;       /* 1878 */
1289     volatile spif_sub_pkt3_low    spif_pkt3l;       /* 187C */
1290     volatile spif_sub_pkt3_high   spif_pkt3h;       /* 1880 */
1291     volatile speg_pkt_header      mpeg_pkt_head;    /* 1884 */
1292     volatile speg_sub_pkt0_low    mpeg_pkt0l;       /* 1888 */
1293     volatile speg_sub_pkt0_high   mpeg_pkt0h;       /* 188C */
1294     volatile speg_sub_pkt1_low    mpeg_pkt1l;       /* 1890 */
1295     volatile mpeg_sub_pkt1_high   mpeg_pkt1h;       /* 1894 */
1296     volatile mpeg_sub_pkt2_low    mpeg_pkt2l;       /* 1898 */
1297     volatile mpeg_sub_pkt2_high   mpeg_pkt2h;       /* 189C */
1298     volatile mpeg_sub_pkt3_low    mpeg_pkt3l;       /* 18A0 */
1299     volatile mpeg_sub_pkt3_high   mpeg_pkt3h;       /* 18A4 */
1300     volatile gen_pkt_header       gen_pkt_head;     /* 18A8 */
1301     volatile gen_sub_pkt0_low     gen_pkt0l;        /* 18AC */
1302     volatile gen_sub_pkt0_high    gen_pkt0h;        /* 18B0 */
1303     volatile gen_sub_pkt1_low     gen_pkt1l;        /* 18B4 */
1304     volatile gen_sub_pkt1_high    gen_pkt1h;        /* 18B8 */
1305     volatile gen_sub_pkt2_low     gen_pkt2l;        /* 18BC */
1306     volatile gen_sub_pkt2_high    gen_pkt2h;        /* 18C0 */
1307     volatile gen_sub_pkt3_low     gen_pkt3l;        /* 18C4 */
1308     volatile gen_sub_pkt3_high    gen_pkt3h;        /* 18C8 */
1309     volatile gen2_pkt_header      gen2_pkt_head;    /* 18CC */
1310     volatile gen2_sub_pkt0_low    gen2_pkt0l;       /* 18D0 */
1311     volatile gen2_sub_pkt0_high   gen2_pkt0h;       /* 18D4 */
1312     volatile gen2_sub_pkt1_low    gen2_pkt1l;       /* 18D8 */
1313     volatile gen2_sub_pkt1_high   gen2_pkt1h;       /* 18DC */
1314     volatile gen2_sub_pkt2_low    gen2_pkt2l;       /* 18E0 */
1315     volatile gen2_sub_pkt2_high   gen2_pkt2h;       /* 18E4 */
1316     volatile gen2_sub_pkt3_low    gen2_pkt3l;       /* 18E8 */
1317     volatile gen2_sub_pkt3_high   gen2_pkt3h;       /* 18EC */
1318     volatile gen3_pkt_header      gen3_pkt_head;    /* 18F0 */
1319     volatile gen3_sub_pkt0_low    gen3_pkt0l;       /* 18F4 */
1320     volatile gen3_sub_pkt0_high   gen3_pkt0h;       /* 18F8 */
1321     volatile gen3_sub_pkt1_low    gen3_pkt1l;       /* 18FC */
1322     volatile gen3_sub_pkt1_high   gen3_pkt1h;       /* 1900 */
1323     volatile gen3_sub_pkt2_low    gen3_pkt2l;       /* 1904 */
1324     volatile gen3_sub_pkt2_high   gen3_pkt2h;       /* 1908 */
1325     volatile gen3_sub_pkt3_low    gen3_pkt3l;       /* 190C */
1326     volatile gen3_sub_pkt3_high   gen3_pkt3h;       /* 1910 */
1327     volatile gen4_pkt_header      gen4_pkt_head;    /* 1914 */
1328     volatile gen4_sub_pkt0_low    gen4_pkt0l;       /* 1918 */
1329     volatile gen4_sub_pkt0_high   gen4_pkt0h;       /* 191C */
1330     volatile gen4_sub_pkt1_low    gen4_pkt1l;       /* 1920 */
1331     volatile gen4_sub_pkt1_high   gen4_pkt1h;       /* 1924 */
1332     volatile gen4_sub_pkt2_low    gen4_pkt2l;       /* 1928 */
1333     volatile gen4_sub_pkt2_high   gen4_pkt2h;       /* 192C */
1334     volatile gen4_sub_pkt3_low    gen4_pkt3l;       /* 1930 */
1335     volatile gen4_sub_pkt3_high   gen4_pkt3h;       /* 1934 */
1336     volatile gen5_pkt_header      gen5_pkt_head;    /* 1938 */
1337     volatile gen5_sub_pkt0_low    gen5_pkt0l;       /* 193C */
1338     volatile gen5_sub_pkt0_high   gen5_pkt0h;       /* 1940 */
1339     volatile gen5_sub_pkt1_low    gen5_pkt1l;       /* 1944 */
1340     volatile gen5_sub_pkt1_high   gen5_pkt1h;       /* 1948 */
1341     volatile gen5_sub_pkt2_low    gen5_pkt2l;       /* 194C */
1342     volatile gen5_sub_pkt2_high   gen5_pkt2h;       /* 1950 */
1343     volatile gen5_sub_pkt3_low    gen5_pkt3l;       /* 1954 */
1344     volatile gen5_sub_pkt3_high   gen5_pkt3h;       /* 1958 */
1345     volatile gamut_pkt_header     gamut_pkt_head;   /* 195C */
1346     volatile gamut_sub_pkt0_low   gamut_pkt0l;      /* 1960 */
1347     volatile gamut_sub_pkt0_high  gamut_pkt0h;      /* 1964 */
1348     volatile gamut_sub_pkt1_low   gamut_pkt1l;      /* 1968 */
1349     volatile gamut_sub_pkt1_high  gamut_pkt1h;      /* 196C */
1350     volatile gamut_sub_pkt2_low   gamut_pkt2l;      /* 1970 */
1351     volatile gamut_sub_pkt2_high  gamut_pkt2h;      /* 1974 */
1352     volatile gamut_sub_pkt3_low   gamut_pkt3l;      /* 1978 */
1353     volatile gamut_sub_pkt3_high  gamut_pkt3h;      /* 197C */
1354     volatile vsif_pkt_header      vsif_pkt_head;    /* 1980 */
1355     volatile vsif_sub_pkt0_low    vsif_pkt0l;       /* 1984 */
1356     volatile vsif_sub_pkt0_high   vsif_pkt0h;       /* 1988 */
1357     volatile vsif_sub_pkt1_low    vsif_pkt1l;       /* 198C */
1358     volatile vsif_sub_pkt1_high   vsif_pkt1h;       /* 1990 */
1359     volatile vsif_sub_pkt2_low    vsif_pkt2l;       /* 1994 */
1360     volatile vsif_sub_pkt2_high   vsif_pkt2h;       /* 1998 */
1361     volatile vsif_sub_pkt3_low    vsif_pkt3l;       /* 199C */
1362     volatile vsif_sub_pkt3_high   vsif_pkt3h;       /* 19A0 */
1363     volatile cea_avi_cfg          avi_cfg;          /* 19A4 */
1364     volatile cea_spf_cfg          spf_cfg;          /* 19A8 */
1365     volatile cea_aud_cfg          aud_cfg;          /* 19AC */
1366     volatile cea_mpeg_cfg         mpeg_cfg;         /* 19B0 */
1367     volatile cea_gen_cfg          gen_cfg;          /* 19B4 */
1368     volatile cea_cp_cfg           cp_cfg;           /* 19B8 */
1369     volatile cea_gen2_cfg         gen2_cfg;         /* 19BC */
1370     volatile cea_gen3_cfg         gen3_cfg;         /* 19C0 */
1371     volatile cea_gen4_cfg         gen4_cfg;         /* 19C4 */
1372     volatile cea_gen5_cfg         gen5_cfg;         /* 19C8 */
1373     volatile cea_gamut_cfg        gamut_cfg;        /* 19CC */
1374     volatile cea_vsif_cfg         vsif_cfg;         /* 19D0 */
1375     unsigned int                  reserved_1[3];    /* 19D4-19DC */
1376     volatile cea_pktf_state       pkt_stats;        /* 19E0 */
1377     unsigned int                  reserved_2[9];    /* 19E4-1A04 */
1378     volatile cea_avmixer_config   avmixer_cfg;      /* 1A08 */
1379     volatile cp_pkt_avmute        pkt_avmute;       /* 1A0C */
1380     volatile video_blank_cfg      vblank_cfg;       /* 1A10 */
1381     unsigned int                  reserved_3[16];   /* 1A14-1A50 */
1382     volatile tmds_bist_ctrl       bist_ctrl;        /* 1A54 */
1383     unsigned int                  reserved_4[2];    /* 1A58-1A5C */
1384     volatile hdmi_enc_ctrl        enc_ctrl;         /* 1A60 */
1385     volatile enc_ck_sharp         enc_sharp;        /* 1A64 */
1386 } tx_hdmi_reg_regs_type;
1387 
1388 int hdmi_reg_tx_hdmi_regs_init(hi_char *addr);
1389 int hdmi_reg_tx_hdmi_regs_deinit(void);
1390 int hdmi_reg_tmds_pack_mode_set(unsigned int tmds_pack_mode);
1391 int hdmi_reg_avi_pkt_header_hb_set(unsigned int hb0, unsigned int hb1, unsigned int hb2);
1392 int hdmi_reg_avi_pkt0_low_set(unsigned int avi_pkt0_pb0, unsigned int avi_pkt0_pb1,
1393     unsigned int avi_pkt0_pb2, unsigned int avi_pkt0_pb3);
1394 int hdmi_reg_avi_pkt0_high_set(unsigned int avi_pkt0_pb4, unsigned int avi_pkt0_pb5, unsigned int avi_pkt0_pb6);
1395 int hdmi_reg_avi_pkt1_low_set(unsigned int avi_pkt1_pb0, unsigned int avi_pkt1_pb1,
1396     unsigned int avi_pkt1_pb2, unsigned int avi_pkt1_pb3);
1397 int hdmi_reg_avi_pkt1_high_set(unsigned int avi_pkt1_pb4, unsigned int avi_pkt1_pb5, unsigned int avi_pkt1_pb6);
1398 int hdmi_reg_avi_pkt2_low_set(unsigned int avi_pkt2_pb0, unsigned int avi_pkt2_pb1,
1399     unsigned int avi_pkt2_pb2, unsigned int avi_pkt2_pb3);
1400 int hdmi_reg_avi_pkt2_high_set(unsigned int avi_pkt2_pb4, unsigned int avi_pkt2_pb5, unsigned int avi_pkt2_pb6);
1401 int hdmi_reg_avi_pkt3_low_set(unsigned int avi_pkt3_pb0, unsigned int avi_pkt3_pb1,
1402     unsigned int avi_pkt3_pb2, unsigned int avi_pkt3_pb3);
1403 int hdmi_reg_avi_pkt3_high_set(unsigned int avi_pkt3_pb4, unsigned int avi_pkt3_pb5, unsigned int avi_pkt3_pb6);
1404 int hdmi_reg_avi_pkt_header_hb_get(avi_pkt_header *pkt_header);
1405 int hdmi_reg_avi_pkt0_low_get(avi_sub_pkt0_low *sub_pkt0_low);
1406 int hdmi_reg_avi_pkt0_high_get(avi_sub_pkt0_high *sub_pkt0_high);
1407 int hdmi_reg_avi_pkt1_low_get(avi_sub_pkt1_low *sub_pkt1_low);
1408 int hdmi_reg_avi_pkt1_high_get(avi_sub_pkt1_high *sub_pkt1_high);
1409 int hdmi_reg_avi_pkt2_low_get(avi_sub_pkt2_low *sub_pkt2_low);
1410 void hdmi_reg_avi_pkt2_high_get(avi_sub_pkt2_high *sub_pkt2_high);
1411 void hdmi_reg_avi_pkt3_low_get(avi_sub_pkt3_low *sub_pkt3_low);
1412 void hdmi_reg_avi_pkt3_high_get(avi_sub_pkt3_high *sub_pkt3_high);
1413 int hdmi_reg_audio_pkt_header_set(unsigned int hb0, unsigned int hb1, unsigned int hb2);
1414 int hdmi_reg_audio_pkt0_low_set(unsigned int avi_pkt0_pb0, unsigned int avi_pkt0_pb1,
1415     unsigned int avi_pkt0_pb2, unsigned int avi_pkt0_pb3);
1416 int hdmi_reg_audio_pkt0_high_set(unsigned int avi_pkt0_pb4, unsigned int avi_pkt0_pb5,
1417     unsigned int avi_pkt0_pb6);
1418 int hdmi_reg_audio_pkt1_low_set(unsigned int avi_pkt1_pb0, unsigned int avi_pkt1_pb1,
1419     unsigned int avi_pkt1_pb2, unsigned int avi_pkt1_pb3);
1420 int hdmi_reg_audio_pkt1_high_set(unsigned int avi_pkt1_pb4, unsigned int avi_pkt1_pb5, unsigned int avi_pkt1_pb6);
1421 int hdmi_reg_audio_pkt2_low_set(unsigned int avi_pkt2_pb0, unsigned int avi_pkt2_pb1,
1422     unsigned int avi_pkt2_pb2, unsigned int avi_pkt2_pb3);
1423 int hdmi_reg_audio_pkt2_high_set(unsigned int avi_pkt2_pb4, unsigned int avi_pkt2_pb5,
1424     unsigned int avi_pkt2_pb6);
1425 int hdmi_reg_audio_pkt3_low_set(unsigned int avi_pkt3_pb0, unsigned int avi_pkt3_pb1,
1426     unsigned int avi_pkt3_pb2, unsigned int avi_pkt3_pb3);
1427 int hdmi_reg_audio_pkt3_high_set(unsigned int avi_pkt3_pb4, unsigned int avi_pkt3_pb5, unsigned int avi_pkt3_pb6);
1428 int hdmi_reg_aif_pkt_header_get(aif_pkt_header *pkt_header);
1429 int hdmi_reg_aif_pkt0_low_get(aif_sub_pkt0_low *sub_pkt0_low);
1430 int hdmi_reg_aif_pkt0_high_get(aif_sub_pkt0_high *sub_pkt0_high);
1431 int hdmi_reg_aif_pkt1_low_get(aif_sub_pkt1_low *sub_pkt1_low);
1432 int hdmi_reg_aif_pkt1_high_get(aif_sub_pkt1_high *sub_pkt1_high);
1433 int hdmi_reg_aif_pkt2_low_get(aif_sub_pkt2_low *sub_pkt2_low);
1434 int hdmi_reg_aif_pkt2_high_get(aif_sub_pkt2_high *sub_pkt2_high);
1435 int hdmi_reg_aif_pkt3_low_get(aif_sub_pkt3_low *sub_pkt3_low);
1436 int hdmi_reg_aif_pkt3_high_get(aif_sub_pkt3_high *sub_pkt3_high);
1437 int hdmi_reg_gen_pkt_header_set(unsigned int hb0, unsigned int hb1, unsigned int hb2);
1438 int hdmi_reg_gen_pkt0_low_set(unsigned int gen_pkt0_pb0, unsigned int gen_pkt0_pb1,
1439     unsigned int gen_pkt0_pb2, unsigned int gen_pkt0_pb3);
1440 int hdmi_reg_gen_pkt0_high_set(unsigned int gen_pkt0_pb4, unsigned int gen_pkt0_pb5, unsigned int gen_pkt0_pb6);
1441 int hdmi_reg_gen_pkt1_low_set(unsigned int gen_pkt1_pb0, unsigned int gen_pkt1_pb1,
1442     unsigned int gen_pkt1_pb2, unsigned int gen_pkt1_pb3);
1443 int hdmi_reg_gen_pkt1_high_set(unsigned int gen_pkt1_pb4, unsigned int gen_pkt1_pb5, unsigned int gen_pkt1_pb6);
1444 int hdmi_reg_gen_pkt2_low_set(unsigned int gen_pkt2_pb0, unsigned int gen_pkt2_pb1,
1445     unsigned int gen_pkt2_pb2, unsigned int gen_pkt2_pb3);
1446 int hdmi_reg_gen_pkt2_high_set(unsigned int gen_pkt2_pb4, unsigned int gen_pkt2_pb5, unsigned int gen_pkt2_pb6);
1447 int hdmi_reg_gen_pkt3_low_set(unsigned int gen_pkt3_pb0, unsigned int gen_pkt3_pb1,
1448     unsigned int gen_pkt3_pb2, unsigned int gen_pkt3_pb3);
1449 int hdmi_reg_gen_pkt3_high_set(unsigned int gen_pkt3_pb4, unsigned int gen_pkt3_pb5, unsigned int gen_pkt3_pb6);
1450 int hdmi_reg_gen_pkt_header_get(gen_pkt_header *pkt_header);
1451 int hdmi_reg_gen_pkt0_low_get(gen_sub_pkt0_low *sub_pkt0_low);
1452 int hdmi_reg_gen_pkt0_high_get(gen_sub_pkt0_high *sub_pkt0_high);
1453 int hdmi_reg_gen_pkt1_low_get(gen_sub_pkt1_low *sub_pkt1_low);
1454 int hdmi_reg_gen_pkt1_high_get(gen_sub_pkt1_high *sub_pkt1_high);
1455 int hdmi_reg_gen_pkt2_low_get(gen_sub_pkt2_low *sub_pkt2_low);
1456 int hdmi_reg_gen_pkt2_high_get(gen_sub_pkt2_high *sub_pkt2_high);
1457 int hdmi_reg_gen_pkt3_low_get(gen_sub_pkt3_low *sub_pkt3_low);
1458 int hdmi_reg_gen_pkt3_high_get(gen_sub_pkt3_high *sub_pkt3_high);
1459 int hdmi_reg_gamut_pkt_header_get(gamut_pkt_header *pkt_header);
1460 int hdmi_reg_gamut_pkt0_low_get(gamut_sub_pkt0_low *sub_pkt0_low);
1461 int hdmi_reg_gamut_pkt0_high_get(gamut_sub_pkt0_high *sub_pkt0_high);
1462 int hdmi_reg_gamut_pkt1_low_get(gamut_sub_pkt1_low *sub_pkt1_low);
1463 int hdmi_reg_gamut_pkt1_high_get(gamut_sub_pkt1_high *sub_pkt1_high);
1464 int hdmi_reg_gamut_pkt2_low_get(gamut_sub_pkt2_low *sub_pkt2_low);
1465 int hdmi_reg_gamut_pkt2_high_get(gamut_sub_pkt2_high *sub_pkt2_high);
1466 int hdmi_reg_gamut_pkt3_low_get(gamut_sub_pkt3_low *sub_pkt3_low);
1467 int hdmi_reg_gamut_pkt3_high_get(gamut_sub_pkt3_high *sub_pkt3_high);
1468 int hdmi_reg_vsif_header_set(unsigned int hb0, unsigned int hb1, unsigned int hb2);
1469 int hdmi_reg_vsif_pkt0_low_set(unsigned int vsif_pkt0_pb0, unsigned int vsif_pkt0_pb1,
1470     unsigned int vsif_pkt0_pb2, unsigned int vsif_pkt0_pb3);
1471 int hdmi_reg_vsif_pkt0_high_set(unsigned int vsif_pkt0_pb4, unsigned int vsif_pkt0_pb5,
1472     unsigned int vsif_pkt0_pb6);
1473 int hdmi_reg_vsif_pkt1_low_set(unsigned int vsif_pkt1_pb0, unsigned int vsif_pkt1_pb1,
1474     unsigned int vsif_pkt1_pb2, unsigned int vsif_pkt1_pb3);
1475 int hdmi_reg_vsif_pkt1_high_set(unsigned int vsif_pkt1_pb4, unsigned int vsif_pkt1_pb5,
1476     unsigned int vsif_pkt1_pb6);
1477 int hdmi_reg_vsif_pkt2_low_set(unsigned int vsif_pkt2_pb0, unsigned int vsif_pkt2_pb1,
1478     unsigned int vsif_pkt2_pb2, unsigned int vsif_pkt2_pb3);
1479 int hdmi_reg_vsif_pkt2_high_set(unsigned int vsif_pkt2_pb4, unsigned int vsif_pkt2_pb5,
1480     unsigned int vsif_pkt2_pb6);
1481 int hdmi_reg_vsif_pkt3_low_set(unsigned int vsif_pkt3_pb0, unsigned int vsif_pkt3_pb1,
1482     unsigned int vsif_pkt3_pb2, unsigned int vsif_pkt3_pb3);
1483 int hdmi_reg_vsif_pkt3_high_set(unsigned int vsif_pkt3_pb4, unsigned int vsif_pkt3_pb5,
1484     unsigned int vsif_pkt3_pb6);
1485 int hdmi_reg_vsif_pkt_header_get(vsif_pkt_header *pkt_header);
1486 int hdmi_reg_vsif_pkt0_low_get(vsif_sub_pkt0_low *sub_pkt0_low);
1487 int hdmi_reg_vsif_pkt0_high_get(vsif_sub_pkt0_high *sub_pkt0_high);
1488 int hdmi_reg_vsif_pkt1_low_get(vsif_sub_pkt1_low *sub_pkt1_low);
1489 int hdmi_reg_vsif_pkt1_high_get(vsif_sub_pkt1_high *sub_pkt1_high);
1490 int hdmi_reg_vsif_pkt2_low_get(vsif_sub_pkt2_low *sub_pkt2_low);
1491 int hdmi_reg_vsif_pkt2_high_get(vsif_sub_pkt2_high *sub_pkt2_high);
1492 int hdmi_reg_vsif_pkt3_low_get(vsif_sub_pkt3_low *sub_pkt3_low);
1493 int hdmi_reg_vsif_pkt3_high_get(vsif_sub_pkt3_high *sub_pkt3_high);
1494 int hdmi_reg_cea_avi_en_set(unsigned int cea_avi_en);
1495 int hdmi_reg_cea_avi_rpt_en_set(unsigned int cea_avi_rpt_en);
1496 int hdmi_reg_cea_aud_en_set(unsigned int cea_aud_en);
1497 int hdmi_reg_cea_aud_rpt_en_set(unsigned int cea_aud_rpt_en);
1498 int hdmi_reg_cea_gen_en_set(unsigned int cea_gen_en);
1499 int hdmi_reg_cea_gen_rpt_en_set(unsigned int cea_gen_rpt_en);
1500 int hdmi_reg_cea_cp_en_set(unsigned int cea_cp_en);
1501 int hdmi_reg_cea_cp_rpt_cnt_set(unsigned int cea_cp_rpt_cnt);
1502 int hdmi_reg_cea_cp_rpt_en_set(unsigned int cea_cp_rpt_en);
1503 int hdmi_reg_cea_gamut_en_set(unsigned int cea_gamut_en);
1504 int hdmi_reg_cea_gamut_rpt_en_set(unsigned int cea_gamut_rpt_en);
1505 int hdmi_reg_cea_vsif_en_set(unsigned int cea_vsif_en);
1506 int hdmi_reg_cea_vsif_rpt_en_set(unsigned int cea_vsif_rpt_en);
1507 int hdmi_reg_hdmi_mode_set(unsigned int hdmi_mode);
1508 int hdmi_reg_dc_pkt_en_set(unsigned int dc_pkt_en);
1509 int hdmi_reg_null_pkt_en_set(unsigned int null_pkt_en);
1510 int hdmi_reg_hdmi_dvi_sel_set(unsigned int hdmi_dvi_sel);
1511 int hdmi_reg_eess_mode_en_set(unsigned int eess_mode_en);
1512 int hdmi_reg_cp_set_avmute_set(unsigned int cp_set_avmute);
1513 int hdmi_reg_cp_clr_avmute_set(unsigned int cp_clr_avmute);
1514 int hdmi_reg_enc_hdmi2_on_set(unsigned int enc_hdmi2_on);
1515 int hdmi_reg_enc_scr_on_set(unsigned int enc_scr_on);
1516 int hdmi_reg_enc_bypass_set(unsigned int enc_bypass);
1517 hi_u32 hdmi_reg_tmds_pack_mode_get(hi_void);
1518 hi_u32 hdmi_reg_pclk2tclk_stable_get(hi_void);
1519 hi_u32 hdmi_reg_cea_avi_en_get(hi_void);
1520 hi_u32 hdmi_reg_cea_aud_en_get(hi_void);
1521 hi_u32 hdmi_reg_cea_gen_en_get(hi_void);
1522 hi_u32 hdmi_reg_cea_cp_rpt_en_get(hi_void);
1523 hi_u32 hdmi_reg_cea_gamut_en_get(hi_void);
1524 hi_u32 hdmi_reg_cea_vsif_rpt_en_get(hi_void);
1525 hi_u32 hdmi_reg_hdmi_mode_get(hi_void);
1526 hi_u32 hdmi_reg_dc_pkt_en_get(hi_void);
1527 hi_u32 hdmi_reg_cp_set_avmute_get(hi_void);
1528 hi_u32 hdmi_reg_enc_hdmi2_on_get(hi_void);
1529 hi_u32 hdmi_reg_enc_scr_on_get(hi_void);
1530 hi_u32 hdmi_reg_null_pkt_en_get(hi_void);
1531 
1532 #endif  /* __HHDMI_REG_TX_H__ */
1533 
1534