• 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 
19 #ifndef __MIPI_RX_REG_H__
20 #define __MIPI_RX_REG_H__
21 
22 /* Define the union U_PHY_MODE_LINK */
23 typedef union {
24     /* Define the struct bits */
25     struct {
26         unsigned int phy0_rg_en_d : 4; /* [3..0]  */
27         unsigned int phy0_rg_en_clk0 : 1; /* [4]  */
28         unsigned int phy0_rg_en_clk1 : 1; /* [5]  */
29         unsigned int reserved_0 : 2; /* [7..6]  */
30         unsigned int phy0_rg_en_cmos : 1; /* [8]  */
31         unsigned int reserved_1 : 3; /* [11..9]  */
32         unsigned int phy0_rg_en_lp0 : 1; /* [12]  */
33         unsigned int phy0_rg_en_lp1 : 1; /* [13]  */
34         unsigned int reserved_2 : 2; /* [15..14]  */
35         unsigned int phy0_rg_faclk0_en : 1; /* [16]  */
36         unsigned int phy0_rg_faclk1_en : 1; /* [17]  */
37         unsigned int reserved_3 : 2; /* [19..18]  */
38         unsigned int phy0_rg_en_2l2l : 1; /* [20]  */
39         unsigned int reserved_4 : 3; /* [23..21]  */
40         unsigned int phy0_rg_mipi_mode0 : 1; /* [24]  */
41         unsigned int phy0_rg_mipi_mode1 : 1; /* [25]  */
42         unsigned int reserved_5 : 6; /* [31..26]  */
43     } bits;
44 
45     /* Define an unsigned member */
46     unsigned int u32;
47 } U_PHY_MODE_LINK;
48 
49 /* Define the union U_PHY_SKEW_LINK */
50 typedef union {
51     /* Define the struct bits */
52     struct {
53         unsigned int phy0_clk0_skew : 3; /* [2..0]  */
54         unsigned int reserved_0 : 1; /* [3]  */
55         unsigned int phy0_clk1_skew : 3; /* [6..4]  */
56         unsigned int reserved_1 : 1; /* [7]  */
57         unsigned int phy0_d0_skew : 3; /* [10..8]  */
58         unsigned int reserved_2 : 1; /* [11]  */
59         unsigned int phy0_d1_skew : 3; /* [14..12]  */
60         unsigned int reserved_3 : 1; /* [15]  */
61         unsigned int phy0_d2_skew : 3; /* [18..16]  */
62         unsigned int reserved_4 : 1; /* [19]  */
63         unsigned int phy0_d3_skew : 3; /* [22..20]  */
64         unsigned int reserved_5 : 9; /* [31..23]  */
65     } bits;
66 
67     /* Define an unsigned member */
68     unsigned int u32;
69 } U_PHY_SKEW_LINK;
70 
71 /* Define the union U_PHY_EN_LINK */
72 typedef union {
73     /* Define the struct bits */
74     struct {
75         unsigned int phy_da_d0_valid : 1; /* [0]  */
76         unsigned int phy_da_d1_valid : 1; /* [1]  */
77         unsigned int phy_da_d2_valid : 1; /* [2]  */
78         unsigned int phy_da_d3_valid : 1; /* [3]  */
79         unsigned int reserved_0 : 4; /* [7..4]  */
80         unsigned int phy_d0_term_en : 1; /* [8]  */
81         unsigned int phy_d1_term_en : 1; /* [9]  */
82         unsigned int phy_d2_term_en : 1; /* [10]  */
83         unsigned int phy_d3_term_en : 1; /* [11]  */
84         unsigned int phy_clk0_term_en : 1; /* [12]  */
85         unsigned int phy_clk1_term_en : 1; /* [13]  */
86         unsigned int reserved_1 : 18; /* [31..14]  */
87     } bits;
88 
89     /* Define an unsigned member */
90     unsigned int u32;
91 } U_PHY_EN_LINK;
92 
93 /* Define the union U_PHY_CFG_LINK */
94 typedef union {
95     /* Define the struct bits */
96     struct {
97         unsigned int phy0_da_ulpb : 4; /* [3..0]  */
98         unsigned int phy0_da_ulpb_ck0 : 1; /* [4]  */
99         unsigned int phy0_da_ulpb_ck1 : 1; /* [5]  */
100         unsigned int reserved_0 : 2; /* [7..6]  */
101         unsigned int phy0_rg_it_lp : 2; /* [9..8]  */
102         unsigned int phy0_rg_it_ck : 2; /* [11..10]  */
103         unsigned int phy0_rg_it_dt : 2; /* [13..12]  */
104         unsigned int phy0_rg_sa_en : 1; /* [14]  */
105         unsigned int reserved_1 : 17; /* [31..15]  */
106     } bits;
107 
108     /* Define an unsigned member */
109     unsigned int u32;
110 } U_PHY_CFG_LINK;
111 
112 /* Define the union U_PHY_DATA_LINK */
113 typedef union {
114     /* Define the struct bits */
115     struct {
116         unsigned int phy_data0_mipi : 8; /* [7..0]  */
117         unsigned int phy_data1_mipi : 8; /* [15..8]  */
118         unsigned int phy_data2_mipi : 8; /* [23..16]  */
119         unsigned int phy_data3_mipi : 8; /* [31..24]  */
120     } bits;
121 
122     /* Define an unsigned member */
123     unsigned int u32;
124 } U_PHY_DATA_LINK;
125 
126 /* Define the union U_PHY_PH_MIPI_LINK */
127 typedef union {
128     /* Define the struct bits */
129     struct {
130         unsigned int phy_ph0_mipi : 8; /* [7..0]  */
131         unsigned int phy_ph1_mipi : 8; /* [15..8]  */
132         unsigned int phy_ph2_mipi : 8; /* [23..16]  */
133         unsigned int phy_ph3_mipi : 8; /* [31..24]  */
134     } bits;
135 
136     /* Define an unsigned member */
137     unsigned int u32;
138 } U_PHY_PH_MIPI_LINK;
139 
140 /* Define the union U_PHY_DATA_MIPI_LINK */
141 typedef union {
142     /* Define the struct bits */
143     struct {
144         unsigned int phy_data0_mipi_hs : 8; /* [7..0]  */
145         unsigned int phy_data1_mipi_hs : 8; /* [15..8]  */
146         unsigned int phy_data2_mipi_hs : 8; /* [23..16]  */
147         unsigned int phy_data3_mipi_hs : 8; /* [31..24]  */
148     } bits;
149 
150     /* Define an unsigned member */
151     unsigned int u32;
152 } U_PHY_DATA_MIPI_LINK;
153 
154 /* Define the union U_PHY_SYNC_DCT_LINK */
155 typedef union {
156     /* Define the struct bits */
157     struct {
158         unsigned int cil_raw_type0 : 3; /* [2..0]  */
159         unsigned int reserved_0 : 5; /* [7..3]  */
160         unsigned int cil_code_big_endian0 : 1; /* [8]  */
161         unsigned int reserved_1 : 3; /* [11..9]  */
162         unsigned int cil_raw_type1 : 3; /* [14..12]  */
163         unsigned int reserved_2 : 5; /* [19..15]  */
164         unsigned int cil_code_big_endian1 : 1; /* [20]  */
165         unsigned int reserved_3 : 4; /* [24..21]  */
166         unsigned int cil_sync_det_mode : 1; /* [25]  */
167         unsigned int reserved_4 : 6; /* [31..26]  */
168     } bits;
169 
170     /* Define an unsigned member */
171     unsigned int u32;
172 } U_PHY_SYNC_DCT_LINK;
173 
174 /* Define the union U_PHY_SYNC_SOF0_LINK */
175 typedef union {
176     /* Define the struct bits */
177     struct {
178         unsigned int cil_sof0_word4_0 : 16; /* [15..0]  */
179         unsigned int cil_sof1_word4_0 : 16; /* [31..16]  */
180     } bits;
181 
182     /* Define an unsigned member */
183     unsigned int u32;
184 } U_PHY_SYNC_SOF0_LINK;
185 
186 /* Define the union U_PHY_SYNC_SOF1_LINK */
187 typedef union {
188     /* Define the struct bits */
189     struct {
190         unsigned int cil_sof0_word4_1 : 16; /* [15..0]  */
191         unsigned int cil_sof1_word4_1 : 16; /* [31..16]  */
192     } bits;
193 
194     /* Define an unsigned member */
195     unsigned int u32;
196 } U_PHY_SYNC_SOF1_LINK;
197 
198 /* Define the union U_PHY_SYNC_SOF2_LINK */
199 typedef union {
200     /* Define the struct bits */
201     struct {
202         unsigned int cil_sof0_word4_2 : 16; /* [15..0]  */
203         unsigned int cil_sof1_word4_2 : 16; /* [31..16]  */
204     } bits;
205 
206     /* Define an unsigned member */
207     unsigned int u32;
208 } U_PHY_SYNC_SOF2_LINK;
209 
210 /* Define the union U_PHY_SYNC_SOF3_LINK */
211 typedef union {
212     /* Define the struct bits */
213     struct {
214         unsigned int cil_sof0_word4_3 : 16; /* [15..0]  */
215         unsigned int cil_sof1_word4_3 : 16; /* [31..16]  */
216     } bits;
217 
218     /* Define an unsigned member */
219     unsigned int u32;
220 } U_PHY_SYNC_SOF3_LINK;
221 
222 /* Define the union U_PHY_OUT_VALID_LINK */
223 typedef union {
224     /* Define the struct bits */
225     struct {
226         unsigned int cil_lvds_out_valid : 4; /* [3..0]  */
227         unsigned int cil_mipi_out_valid : 4; /* [7..4]  */
228         unsigned int reserved_0 : 24; /* [31..8]  */
229     } bits;
230 
231     /* Define an unsigned member */
232     unsigned int u32;
233 } U_PHY_OUT_VALID_LINK;
234 
235 /* Define the union U_PHY_DATA_LVDS_LINK */
236 typedef union {
237     /* Define the struct bits */
238     struct {
239         unsigned int phy_data0_lvds_hs : 8; /* [7..0]  */
240         unsigned int phy_data1_lvds_hs : 8; /* [15..8]  */
241         unsigned int phy_data2_lvds_hs : 8; /* [23..16]  */
242         unsigned int phy_data3_lvds_hs : 8; /* [31..24]  */
243     } bits;
244 
245     /* Define an unsigned member */
246     unsigned int u32;
247 } U_PHY_DATA_LVDS_LINK;
248 
249 /* Define the union U_PHY_PIX_PUM_LINK */
250 typedef union {
251     /* Define the struct bits */
252     struct {
253         unsigned int phy_lane02_pix_num : 16; /* [15..0]  */
254         unsigned int phy_lane13_pix_num : 16; /* [31..16]  */
255     } bits;
256 
257     /* Define an unsigned member */
258     unsigned int u32;
259 } U_PHY_PIX_PUM_LINK;
260 
261 /* Define the union U_PHY_SYNC_SOL0_LINK */
262 typedef union {
263     /* Define the struct bits */
264     struct {
265         unsigned int cil_sol0_word4_0 : 16; /* [15..0]  */
266         unsigned int cil_sol1_word4_0 : 16; /* [31..16]  */
267     } bits;
268 
269     /* Define an unsigned member */
270     unsigned int u32;
271 } U_PHY_SYNC_SOL0_LINK;
272 
273 /* Define the union U_PHY_SYNC_SOL1_LINK */
274 typedef union {
275     /* Define the struct bits */
276     struct {
277         unsigned int cil_sol0_word4_1 : 16; /* [15..0]  */
278         unsigned int cil_sol1_word4_1 : 16; /* [31..16]  */
279     } bits;
280 
281     /* Define an unsigned member */
282     unsigned int u32;
283 } U_PHY_SYNC_SOL1_LINK;
284 
285 /* Define the union U_PHY_SYNC_SOL2_LINK */
286 typedef union {
287     /* Define the struct bits */
288     struct {
289         unsigned int cil_sol0_word4_2 : 16; /* [15..0]  */
290         unsigned int cil_sol1_word4_2 : 16; /* [31..16]  */
291     } bits;
292 
293     /* Define an unsigned member */
294     unsigned int u32;
295 } U_PHY_SYNC_SOL2_LINK;
296 
297 /* Define the union U_PHY_SYNC_SOL3_LINK */
298 typedef union {
299     /* Define the struct bits */
300     struct {
301         unsigned int cil_sol0_word4_3 : 16; /* [15..0]  */
302         unsigned int cil_sol1_word4_3 : 16; /* [31..16]  */
303     } bits;
304 
305     /* Define an unsigned member */
306     unsigned int u32;
307 } U_PHY_SYNC_SOL3_LINK;
308 
309 /* Define the union U_CIL_TIMEOUT_LINK */
310 typedef union {
311     /* Define the struct bits */
312     struct {
313         unsigned int cil_timeout_cyc : 24; /* [23..0]  */
314         unsigned int reserved_0 : 6; /* [29..24]  */
315         unsigned int cil_timeout_en_ck : 1; /* [30]  */
316         unsigned int cil_timeout_en_d : 1; /* [31]  */
317     } bits;
318 
319     /* Define an unsigned member */
320     unsigned int u32;
321 } U_CIL_TIMEOUT_LINK;
322 
323 /* Define the union U_CIL_FSM0_LINK */
324 typedef union {
325     /* Define the struct bits */
326     struct {
327         unsigned int cil_cyc_clk_lp00 : 6; /* [5..0]  */
328         unsigned int reserved_0 : 2; /* [7..6]  */
329         unsigned int cil_cyc_clk_hs0 : 6; /* [13..8]  */
330         unsigned int reserved_1 : 2; /* [15..14]  */
331         unsigned int cil_cyc_clk_hs_exit : 6; /* [21..16]  */
332         unsigned int reserved_2 : 2; /* [23..22]  */
333         unsigned int cil_cyc_clk_hs_trail : 6; /* [29..24]  */
334         unsigned int reserved_3 : 2; /* [31..30]  */
335     } bits;
336 
337     /* Define an unsigned member */
338     unsigned int u32;
339 } U_CIL_FSM0_LINK;
340 
341 /* Define the union U_CIL_FSM_ST0_LINK */
342 typedef union {
343     /* Define the struct bits */
344     struct {
345         unsigned int cil_cur_st_d0 : 4; /* [3..0]  */
346         unsigned int cil_nxt_st_d0 : 4; /* [7..4]  */
347         unsigned int cil_cur_st_d1 : 4; /* [11..8]  */
348         unsigned int cil_nxt_st_d1 : 4; /* [15..12]  */
349         unsigned int cil_cur_st_d2 : 4; /* [19..16]  */
350         unsigned int cil_nxt_st_d2 : 4; /* [23..20]  */
351         unsigned int cil_cur_st_d3 : 4; /* [27..24]  */
352         unsigned int cil_nxt_st_d3 : 4; /* [31..28]  */
353     } bits;
354 
355     /* Define an unsigned member */
356     unsigned int u32;
357 } U_CIL_FSM_ST0_LINK;
358 
359 /* Define the union U_CIL_FSM_ST1_LINK */
360 typedef union {
361     /* Define the struct bits */
362     struct {
363         unsigned int cil_cur_st_ck : 4; /* [3..0]  */
364         unsigned int cil_nxt_st_ck : 4; /* [7..4]  */
365         unsigned int cil_cur_st_ck2 : 4; /* [11..8]  */
366         unsigned int cil_nxt_st_ck2 : 4; /* [15..12]  */
367         unsigned int reserved_0 : 16; /* [31..16]  */
368     } bits;
369 
370     /* Define an unsigned member */
371     unsigned int u32;
372 } U_CIL_FSM_ST1_LINK;
373 
374 /* Define the union U_PHY_ST0_LINK */
375 typedef union {
376     /* Define the struct bits */
377     struct {
378         unsigned int physt0_rg_en_d : 4; /* [3..0]  */
379         unsigned int physt0_rg_en_clk0 : 1; /* [4]  */
380         unsigned int physt0_rg_en_clk1 : 1; /* [5]  */
381         unsigned int reserved_0 : 2; /* [7..6]  */
382         unsigned int physt0_rg_en_cmos : 1; /* [8]  */
383         unsigned int reserved_1 : 3; /* [11..9]  */
384         unsigned int physt0_rg_en_lp0 : 1; /* [12]  */
385         unsigned int physt0_rg_en_lp1 : 1; /* [13]  */
386         unsigned int reserved_2 : 2; /* [15..14]  */
387         unsigned int physt0_rg_faclk0_en : 1; /* [16]  */
388         unsigned int physt0_rg_faclk1_en : 1; /* [17]  */
389         unsigned int reserved_3 : 2; /* [19..18]  */
390         unsigned int physt0_rg_en_2l2l : 1; /* [20]  */
391         unsigned int reserved_4 : 3; /* [23..21]  */
392         unsigned int physt0_rg_mipi_mode0 : 1; /* [24]  */
393         unsigned int physt0_rg_mipi_mode1 : 1; /* [25]  */
394         unsigned int reserved_5 : 6; /* [31..26]  */
395     } bits;
396 
397     /* Define an unsigned member */
398     unsigned int u32;
399 } U_PHY_ST0_LINK;
400 
401 /* Define the union U_PHY_ST1_LINK */
402 typedef union {
403     /* Define the struct bits */
404     struct {
405         unsigned int physt0_clk0_skew : 3; /* [2..0]  */
406         unsigned int reserved_0 : 1; /* [3]  */
407         unsigned int physt0_clk1_skew : 3; /* [6..4]  */
408         unsigned int reserved_1 : 1; /* [7]  */
409         unsigned int physt0_d0_skew : 3; /* [10..8]  */
410         unsigned int reserved_2 : 1; /* [11]  */
411         unsigned int physt0_d1_skew : 3; /* [14..12]  */
412         unsigned int reserved_3 : 1; /* [15]  */
413         unsigned int physt0_d2_skew : 3; /* [18..16]  */
414         unsigned int reserved_4 : 1; /* [19]  */
415         unsigned int physt0_d3_skew : 3; /* [22..20]  */
416         unsigned int reserved_5 : 9; /* [31..23]  */
417     } bits;
418 
419     /* Define an unsigned member */
420     unsigned int u32;
421 } U_PHY_ST1_LINK;
422 
423 /* Define the union U_PHY_ST2_LINK */
424 typedef union {
425     /* Define the struct bits */
426     struct {
427         unsigned int physt_da_d0_valid : 1; /* [0]  */
428         unsigned int physt_da_d1_valid : 1; /* [1]  */
429         unsigned int physt_da_d2_valid : 1; /* [2]  */
430         unsigned int physt_da_d3_valid : 1; /* [3]  */
431         unsigned int reserved_0 : 4; /* [7..4]  */
432         unsigned int physt_d0_term_en : 1; /* [8]  */
433         unsigned int physt_d1_term_en : 1; /* [9]  */
434         unsigned int physt_d2_term_en : 1; /* [10]  */
435         unsigned int physt_d3_term_en : 1; /* [11]  */
436         unsigned int physt_clk0_term_en : 1; /* [12]  */
437         unsigned int physt_clk1_term_en : 1; /* [13]  */
438         unsigned int reserved_1 : 18; /* [31..14]  */
439     } bits;
440 
441     /* Define an unsigned member */
442     unsigned int u32;
443 } U_PHY_ST2_LINK;
444 
445 /* Define the union U_PHY_ST3_LINK */
446 typedef union {
447     /* Define the struct bits */
448     struct {
449         unsigned int physt0_da_ulpb : 4; /* [3..0]  */
450         unsigned int physt0_da_ulpb_ck0 : 1; /* [4]  */
451         unsigned int physt0_da_ulpb_ck1 : 1; /* [5]  */
452         unsigned int reserved_0 : 2; /* [7..6]  */
453         unsigned int physt0_rg_it_lp : 2; /* [9..8]  */
454         unsigned int physt0_rg_it_ck : 2; /* [11..10]  */
455         unsigned int physt0_rg_it_dt : 2; /* [13..12]  */
456         unsigned int physt0_rg_sa_en : 1; /* [14]  */
457         unsigned int reserved_1 : 17; /* [31..15]  */
458     } bits;
459 
460     /* Define an unsigned member */
461     unsigned int u32;
462 } U_PHY_ST3_LINK;
463 
464 /* Define the union U_CIL_FSM1_LINK */
465 typedef union {
466     /* Define the struct bits */
467     struct {
468         unsigned int cil_cyc_data_lp00 : 6; /* [5..0]  */
469         unsigned int reserved_0 : 2; /* [7..6]  */
470         unsigned int cil_cyc_data_hs0 : 6; /* [13..8]  */
471         unsigned int reserved_1 : 2; /* [15..14]  */
472         unsigned int cil_cyc_data_hs_exit : 6; /* [21..16]  */
473         unsigned int reserved_2 : 2; /* [23..22]  */
474         unsigned int cil_cyc_data_hs_trail : 6; /* [29..24]  */
475         unsigned int reserved_3 : 2; /* [31..30]  */
476     } bits;
477 
478     /* Define an unsigned member */
479     unsigned int u32;
480 } U_CIL_FSM1_LINK;
481 
482 /* Define the union U_SKEW_CAL_LENGTH0_LINK */
483 typedef union {
484     /* Define the struct bits */
485     struct {
486         unsigned int skew_cal_length0 : 16; /* [15..0]  */
487         unsigned int skew_cal_length1 : 16; /* [31..16]  */
488     } bits;
489 
490     /* Define an unsigned member */
491     unsigned int u32;
492 } U_SKEW_CAL_LENGTH0_LINK;
493 
494 /* Define the union U_SKEW_CAL_LENGTH1_LINK */
495 typedef union {
496     /* Define the struct bits */
497     struct {
498         unsigned int skew_cal_length2 : 16; /* [15..0]  */
499         unsigned int skew_cal_length3 : 16; /* [31..16]  */
500     } bits;
501 
502     /* Define an unsigned member */
503     unsigned int u32;
504 } U_SKEW_CAL_LENGTH1_LINK;
505 
506 /* Define the union U_MIPI_CIL_INT_RAW_LINK */
507 typedef union {
508     /* Define the struct bits */
509     struct {
510         unsigned int err0_escape_d0_raw : 1; /* [0]  */
511         unsigned int err0_escape_d1_raw : 1; /* [1]  */
512         unsigned int err0_escape_d2_raw : 1; /* [2]  */
513         unsigned int err0_escape_d3_raw : 1; /* [3]  */
514         unsigned int err0_escape_ck0_raw : 1; /* [4]  */
515         unsigned int err0_escape_ck1_raw : 1; /* [5]  */
516         unsigned int reserved_0 : 2; /* [7..6]  */
517         unsigned int err0_timeout_d0_raw : 1; /* [8]  */
518         unsigned int err0_timeout_d1_raw : 1; /* [9]  */
519         unsigned int err0_timeout_d2_raw : 1; /* [10]  */
520         unsigned int err0_timeout_d3_raw : 1; /* [11]  */
521         unsigned int err0_timeout_ck0_raw : 1; /* [12]  */
522         unsigned int err0_timeout_ck1_raw : 1; /* [13]  */
523         unsigned int reserved_1 : 18; /* [31..14]  */
524     } bits;
525 
526     /* Define an unsigned member */
527     unsigned int u32;
528 } U_MIPI_CIL_INT_RAW_LINK;
529 
530 /* Define the union U_MIPI_CIL_INT_LINK */
531 typedef union {
532     /* Define the struct bits */
533     struct {
534         unsigned int err0_escape_d0_st : 1; /* [0]  */
535         unsigned int err0_escape_d1_st : 1; /* [1]  */
536         unsigned int err0_escape_d2_st : 1; /* [2]  */
537         unsigned int err0_escape_d3_st : 1; /* [3]  */
538         unsigned int err0_escape_ck0_st : 1; /* [4]  */
539         unsigned int err0_escape_ck1_st : 1; /* [5]  */
540         unsigned int reserved_0 : 2; /* [7..6]  */
541         unsigned int err0_timeout_d0_st : 1; /* [8]  */
542         unsigned int err0_timeout_d1_st : 1; /* [9]  */
543         unsigned int err0_timeout_d2_st : 1; /* [10]  */
544         unsigned int err0_timeout_d3_st : 1; /* [11]  */
545         unsigned int err0_timeout_ck0_st : 1; /* [12]  */
546         unsigned int err0_timeout_ck1_st : 1; /* [13]  */
547         unsigned int reserved_1 : 18; /* [31..14]  */
548     } bits;
549 
550     /* Define an unsigned member */
551     unsigned int u32;
552 } U_MIPI_CIL_INT_LINK;
553 
554 /* Define the union U_MIPI_CIL_INT_MSK_LINK */
555 typedef union {
556     /* Define the struct bits */
557     struct {
558         unsigned int err3_escape_d0_msk : 1; /* [0]  */
559         unsigned int err3_escape_d1_msk : 1; /* [1]  */
560         unsigned int err3_escape_d2_msk : 1; /* [2]  */
561         unsigned int err3_escape_d3_msk : 1; /* [3]  */
562         unsigned int err3_escape_ck0_msk : 1; /* [4]  */
563         unsigned int err3_escape_ck1_msk : 1; /* [5]  */
564         unsigned int reserved_0 : 2; /* [7..6]  */
565         unsigned int err3_timeout_d0_msk : 1; /* [8]  */
566         unsigned int err3_timeout_d1_msk : 1; /* [9]  */
567         unsigned int err3_timeout_d2_msk : 1; /* [10]  */
568         unsigned int err3_timeout_d3_msk : 1; /* [11]  */
569         unsigned int err3_timeout_ck0_msk : 1; /* [12]  */
570         unsigned int err3_timeout_ck1_msk : 1; /* [13]  */
571         unsigned int reserved_1 : 18; /* [31..14]  */
572     } bits;
573 
574     /* Define an unsigned member */
575     unsigned int u32;
576 } U_MIPI_CIL_INT_MSK_LINK;
577 
578 /* Define the union U_HS_MODE_SELECT */
579 typedef union {
580     /* Define the struct bits */
581     struct {
582         unsigned int hs_mode : 1; /* [0]  */
583         unsigned int reserved_0 : 31; /* [31..1]  */
584     } bits;
585 
586     /* Define an unsigned member */
587     unsigned int u32;
588 } U_HS_MODE_SELECT;
589 
590 /* Define the union U_PHY_EN */
591 typedef union {
592     /* Define the struct bits */
593     struct {
594         unsigned int phy0_en : 1; /* [0]  */
595         unsigned int reserved_0 : 31; /* [31..1]  */
596     } bits;
597 
598     /* Define an unsigned member */
599     unsigned int u32;
600 } U_PHY_EN;
601 
602 /* Define the union U_LANE_EN */
603 typedef union {
604     /* Define the struct bits */
605     struct {
606         unsigned int lane0_en : 1; /* [0]  */
607         unsigned int lane1_en : 1; /* [1]  */
608         unsigned int lane2_en : 1; /* [2]  */
609         unsigned int lane3_en : 1; /* [3]  */
610         unsigned int reserved_0 : 28; /* [31..4]  */
611     } bits;
612 
613     /* Define an unsigned member */
614     unsigned int u32;
615 } U_LANE_EN;
616 
617 /* Define the union U_PHY_CIL_CTRL */
618 typedef union {
619     /* Define the struct bits */
620     struct {
621         unsigned int phycil0_cken : 1; /* [0]  */
622         unsigned int reserved_0 : 7; /* [7..1]  */
623         unsigned int cil0_rst_req : 1; /* [8]  */
624         unsigned int cil1_rst_req : 1; /* [9]  */
625         unsigned int reserved_1 : 22; /* [31..10]  */
626     } bits;
627 
628     /* Define an unsigned member */
629     unsigned int u32;
630 } U_PHY_CIL_CTRL;
631 
632 /* Define the union U_PHYCFG_MODE */
633 typedef union {
634     /* Define the struct bits */
635     struct {
636         unsigned int phycil0_0_cfg_mode : 3; /* [2..0]  */
637         unsigned int phycil0_cfg_mode_sel : 1; /* [3]  */
638         unsigned int phycil0_1_cfg_mode : 3; /* [6..4]  */
639         unsigned int reserved_0 : 25; /* [31..7]  */
640     } bits;
641 
642     /* Define an unsigned member */
643     unsigned int u32;
644 } U_PHYCFG_MODE;
645 
646 /* Define the union U_PHYCFG_EN */
647 typedef union {
648     /* Define the struct bits */
649     struct {
650         unsigned int phycil0_cfg_en : 1; /* [0]  */
651         unsigned int reserved_0 : 31; /* [31..1]  */
652     } bits;
653 
654     /* Define an unsigned member */
655     unsigned int u32;
656 } U_PHYCFG_EN;
657 
658 /* Define the union U_CHN0_MEM_CTRL */
659 typedef union {
660     /* Define the struct bits */
661     struct {
662         unsigned int chn0_mem_ck_gt : 1; /* [0]  */
663         unsigned int reserved_0 : 3; /* [3..1]  */
664         unsigned int chn0_mem_emasa : 1; /* [4]  */
665         unsigned int chn0_mem_ret1n : 1; /* [5]  */
666         unsigned int reserved_1 : 2; /* [7..6]  */
667         unsigned int chn0_mem_emaa : 3; /* [10..8]  */
668         unsigned int reserved_2 : 1; /* [11]  */
669         unsigned int chn0_mem_emab : 3; /* [14..12]  */
670         unsigned int reserved_3 : 17; /* [31..15]  */
671     } bits;
672 
673     /* Define an unsigned member */
674     unsigned int u32;
675 } U_CHN0_MEM_CTRL;
676 
677 /* Define the union U_CHN0_CLR_EN */
678 typedef union {
679     /* Define the struct bits */
680     struct {
681         unsigned int chn0_clr_en_lvds : 1; /* [0]  */
682         unsigned int chn0_clr_en_align : 1; /* [1]  */
683         unsigned int reserved_0 : 30; /* [31..2]  */
684     } bits;
685 
686     /* Define an unsigned member */
687     unsigned int u32;
688 } U_CHN0_CLR_EN;
689 
690 /* Define the union U_CHN1_MEM_CTRL */
691 typedef union {
692     /* Define the struct bits */
693     struct {
694         unsigned int chn1_mem_ck_gt : 1; /* [0]  */
695         unsigned int reserved_0 : 3; /* [3..1]  */
696         unsigned int chn1_mem_emasa : 1; /* [4]  */
697         unsigned int chn1_mem_ret1n : 1; /* [5]  */
698         unsigned int reserved_1 : 2; /* [7..6]  */
699         unsigned int chn1_mem_emaa : 3; /* [10..8]  */
700         unsigned int reserved_2 : 1; /* [11]  */
701         unsigned int chn1_mem_emab : 3; /* [14..12]  */
702         unsigned int reserved_3 : 17; /* [31..15]  */
703     } bits;
704 
705     /* Define an unsigned member */
706     unsigned int u32;
707 } U_CHN1_MEM_CTRL;
708 
709 /* Define the union U_CHN1_CLR_EN */
710 typedef union {
711     /* Define the struct bits */
712     struct {
713         unsigned int chn1_clr_en_lvds : 1; /* [0]  */
714         unsigned int chn1_clr_en_align : 1; /* [1]  */
715         unsigned int reserved_0 : 30; /* [31..2]  */
716     } bits;
717 
718     /* Define an unsigned member */
719     unsigned int u32;
720 } U_CHN1_CLR_EN;
721 
722 /* Define the union U_MIPI_TEST_PHY */
723 typedef union {
724     /* Define the struct bits */
725     struct {
726         unsigned int test_phy_en : 1; /* [0]  */
727         unsigned int reserved_0 : 3; /* [3..1]  */
728         unsigned int test_phy_srst_req : 1; /* [4]  */
729         unsigned int reserved_1 : 27; /* [31..5]  */
730     } bits;
731 
732     /* Define an unsigned member */
733     unsigned int u32;
734 } U_MIPI_TEST_PHY;
735 
736 /* Define the union U_COLORBAR_CTRL_LINK0 */
737 typedef union {
738     /* Define the struct bits */
739     struct {
740         unsigned int colorbar0_en : 1; /* [0]  */
741         unsigned int colorbar0_mode : 1; /* [1]  */
742         unsigned int colorbar0_pattern : 1; /* [2]  */
743         unsigned int colorbar0_line_init : 1; /* [3]  */
744         unsigned int colorbar0_width : 10; /* [13..4]  */
745         unsigned int reserved_0 : 18; /* [31..14]  */
746     } bits;
747 
748     /* Define an unsigned member */
749     unsigned int u32;
750 } U_COLORBAR_CTRL_LINK0;
751 
752 /* Define the union U_COLORBAR_INIT_LINK0 */
753 typedef union {
754     /* Define the struct bits */
755     struct {
756         unsigned int colorbar0_data_init : 12; /* [11..0]  */
757         unsigned int reserved_0 : 4; /* [15..12]  */
758         unsigned int colorbar0_data_inc : 12; /* [27..16]  */
759         unsigned int reserved_1 : 4; /* [31..28]  */
760     } bits;
761 
762     /* Define an unsigned member */
763     unsigned int u32;
764 } U_COLORBAR_INIT_LINK0;
765 
766 /* Define the union U_COLORBAR_V_BLK_LINK0 */
767 typedef union {
768     /* Define the struct bits */
769     struct {
770         unsigned int colorbar0_vertical_blk : 20; /* [19..0]  */
771         unsigned int reserved_0 : 12; /* [31..20]  */
772     } bits;
773 
774     /* Define an unsigned member */
775     unsigned int u32;
776 } U_COLORBAR_V_BLK_LINK0;
777 
778 /* Define the union U_COLORBAR_H_BLK_LINK0 */
779 typedef union {
780     /* Define the struct bits */
781     struct {
782         unsigned int colorbar0_line_blk : 20; /* [19..0]  */
783         unsigned int reserved_0 : 12; /* [31..20]  */
784     } bits;
785 
786     /* Define an unsigned member */
787     unsigned int u32;
788 } U_COLORBAR_H_BLK_LINK0;
789 
790 /* Define the union U_COLORBAR_IMG_SIZE_LINK0 */
791 typedef union {
792     /* Define the struct bits */
793     struct {
794         unsigned int colorbar0_imgwidth : 16; /* [15..0]  */
795         unsigned int colorbar0_imgheight : 16; /* [31..16]  */
796     } bits;
797 
798     /* Define an unsigned member */
799     unsigned int u32;
800 } U_COLORBAR_IMG_SIZE_LINK0;
801 
802 /* Define the union U_COLORBAR_SYNC_CODE0_LINK0 */
803 typedef union {
804     /* Define the struct bits */
805     struct {
806         unsigned int colorbar0_sof : 12; /* [11..0]  */
807         unsigned int reserved_0 : 4; /* [15..12]  */
808         unsigned int colorbar0_eof : 12; /* [27..16]  */
809         unsigned int reserved_1 : 4; /* [31..28]  */
810     } bits;
811 
812     /* Define an unsigned member */
813     unsigned int u32;
814 } U_COLORBAR_SYNC_CODE0_LINK0;
815 
816 /* Define the union U_COLORBAR_SYNC_CODE1_LINK0 */
817 typedef union {
818     /* Define the struct bits */
819     struct {
820         unsigned int colorbar0_sol : 12; /* [11..0]  */
821         unsigned int reserved_0 : 4; /* [15..12]  */
822         unsigned int colorbar0_eol : 12; /* [27..16]  */
823         unsigned int reserved_1 : 4; /* [31..28]  */
824     } bits;
825 
826     /* Define an unsigned member */
827     unsigned int u32;
828 } U_COLORBAR_SYNC_CODE1_LINK0;
829 
830 /* Define the union U_PHY0_TEST_OUT */
831 typedef union {
832     /* Define the struct bits */
833     struct {
834         unsigned int test_phy0_resault : 4; /* [3..0]  */
835         unsigned int test_phy0_compare : 4; /* [7..4]  */
836         unsigned int test_phy0_done : 4; /* [11..8]  */
837         unsigned int reserved_0 : 20; /* [31..12]  */
838     } bits;
839 
840     /* Define an unsigned member */
841     unsigned int u32;
842 } U_PHY0_TEST_OUT;
843 
844 /* Define the union U_MIPI_INT_RAW */
845 typedef union {
846     /* Define the struct bits */
847     struct {
848         unsigned int int_phycil0_raw : 1; /* [0]  */
849         unsigned int reserved_0 : 3; /* [3..1]  */
850         unsigned int int_chn0_raw : 1; /* [4]  */
851         unsigned int int_chn1_raw : 1; /* [5]  */
852         unsigned int reserved_1 : 26; /* [31..6]  */
853     } bits;
854 
855     /* Define an unsigned member */
856     unsigned int u32;
857 } U_MIPI_INT_RAW;
858 
859 /* Define the union U_MIPI_INT_ST */
860 typedef union {
861     /* Define the struct bits */
862     struct {
863         unsigned int int_phycil0_st : 1; /* [0]  */
864         unsigned int reserved_0 : 3; /* [3..1]  */
865         unsigned int int_chn0_st : 1; /* [4]  */
866         unsigned int int_chn1_st : 1; /* [5]  */
867         unsigned int reserved_1 : 26; /* [31..6]  */
868     } bits;
869 
870     /* Define an unsigned member */
871     unsigned int u32;
872 } U_MIPI_INT_ST;
873 
874 /* Define the union U_MIPI_INT_MSK */
875 typedef union {
876     /* Define the struct bits */
877     struct {
878         unsigned int int_phycil0_mask : 1; /* [0]  */
879         unsigned int reserved_0 : 3; /* [3..1]  */
880         unsigned int int_chn0_mask : 1; /* [4]  */
881         unsigned int int_chn1_mask : 1; /* [5]  */
882         unsigned int reserved_1 : 26; /* [31..6]  */
883     } bits;
884 
885     /* Define an unsigned member */
886     unsigned int u32;
887 } U_MIPI_INT_MSK;
888 
889 /* Define the union U_MIPI_LANES_NUM */
890 typedef union {
891     /* Define the struct bits */
892     struct {
893         unsigned int lane_num : 3; /* [2..0]  */
894         unsigned int reserved_0 : 29; /* [31..3]  */
895     } bits;
896 
897     /* Define an unsigned member */
898     unsigned int u32;
899 } U_MIPI_LANES_NUM;
900 
901 /* Define the union U_MIPI_MAIN_INT_ST */
902 typedef union {
903     /* Define the struct bits */
904     struct {
905         unsigned int reserved_0 : 1; /* [0]  */
906         unsigned int status_int_pkt_fatal : 1; /* [1]  */
907         unsigned int status_int_frame_fatal : 1; /* [2]  */
908         unsigned int reserved_1 : 14; /* [16..3]  */
909         unsigned int status_int_pkt : 1; /* [17]  */
910         unsigned int status_int_line : 1; /* [18]  */
911         unsigned int reserved_2 : 13; /* [31..19]  */
912     } bits;
913 
914     /* Define an unsigned member */
915     unsigned int u32;
916 } U_MIPI_MAIN_INT_ST;
917 
918 /* Define the union U_MIPI_DI_1 */
919 typedef union {
920     /* Define the struct bits */
921     struct {
922         unsigned int di0_dt : 6; /* [5..0]  */
923         unsigned int di0_vc : 2; /* [7..6]  */
924         unsigned int di1_dt : 6; /* [13..8]  */
925         unsigned int di1_vc : 2; /* [15..14]  */
926         unsigned int di2_dt : 6; /* [21..16]  */
927         unsigned int di2_vc : 2; /* [23..22]  */
928         unsigned int di3_dt : 6; /* [29..24]  */
929         unsigned int di3_vc : 2; /* [31..30]  */
930     } bits;
931 
932     /* Define an unsigned member */
933     unsigned int u32;
934 } U_MIPI_DI_1;
935 
936 /* Define the union U_MIPI_DI_2 */
937 typedef union {
938     /* Define the struct bits */
939     struct {
940         unsigned int di4_dt : 6; /* [5..0]  */
941         unsigned int di4_vc : 2; /* [7..6]  */
942         unsigned int di5_dt : 6; /* [13..8]  */
943         unsigned int di5_vc : 2; /* [15..14]  */
944         unsigned int di6_dt : 6; /* [21..16]  */
945         unsigned int di6_vc : 2; /* [23..22]  */
946         unsigned int di7_dt : 6; /* [29..24]  */
947         unsigned int di7_vc : 2; /* [31..30]  */
948     } bits;
949 
950     /* Define an unsigned member */
951     unsigned int u32;
952 } U_MIPI_DI_2;
953 
954 /* Define the union U_MIPI_PKT_INTR_ST */
955 typedef union {
956     /* Define the struct bits */
957     struct {
958         unsigned int vc0_err_crc : 1; /* [0]  */
959         unsigned int vc1_err_crc : 1; /* [1]  */
960         unsigned int vc2_err_crc : 1; /* [2]  */
961         unsigned int vc3_err_crc : 1; /* [3]  */
962         unsigned int reserved_0 : 12; /* [15..4]  */
963         unsigned int err_ecc_double : 1; /* [16]  */
964         unsigned int reserved_1 : 15; /* [31..17]  */
965     } bits;
966 
967     /* Define an unsigned member */
968     unsigned int u32;
969 } U_MIPI_PKT_INTR_ST;
970 
971 /* Define the union U_MIPI_PKT_INTR_MSK */
972 typedef union {
973     /* Define the struct bits */
974     struct {
975         unsigned int mask_vc0_err_crc : 1; /* [0]  */
976         unsigned int mask_vc1_err_crc : 1; /* [1]  */
977         unsigned int mask_vc2_err_crc : 1; /* [2]  */
978         unsigned int mask_vc3_err_crc : 1; /* [3]  */
979         unsigned int reserved_0 : 12; /* [15..4]  */
980         unsigned int mask_err_ecc_double : 1; /* [16]  */
981         unsigned int reserved_1 : 15; /* [31..17]  */
982     } bits;
983 
984     /* Define an unsigned member */
985     unsigned int u32;
986 } U_MIPI_PKT_INTR_MSK;
987 
988 /* Define the union U_MIPI_PKT_INTR_FORCE */
989 typedef union {
990     /* Define the struct bits */
991     struct {
992         unsigned int force_vc0_err_crc : 1; /* [0]  */
993         unsigned int force_vc1_err_crc : 1; /* [1]  */
994         unsigned int force_vc2_err_crc : 1; /* [2]  */
995         unsigned int force_vc3_err_crc : 1; /* [3]  */
996         unsigned int reserved_0 : 12; /* [15..4]  */
997         unsigned int force_err_ecc_double : 1; /* [16]  */
998         unsigned int reserved_1 : 15; /* [31..17]  */
999     } bits;
1000 
1001     /* Define an unsigned member */
1002     unsigned int u32;
1003 } U_MIPI_PKT_INTR_FORCE;
1004 
1005 /* Define the union U_MIPI_PKT_INTR2_ST */
1006 typedef union {
1007     /* Define the struct bits */
1008     struct {
1009         unsigned int err_id_vc0 : 1; /* [0]  */
1010         unsigned int err_id_vc1 : 1; /* [1]  */
1011         unsigned int err_id_vc2 : 1; /* [2]  */
1012         unsigned int err_id_vc3 : 1; /* [3]  */
1013         unsigned int reserved_0 : 12; /* [15..4]  */
1014         unsigned int vc0_err_ecc_corrected : 1; /* [16]  */
1015         unsigned int vc1_err_ecc_corrected : 1; /* [17]  */
1016         unsigned int vc2_err_ecc_corrected : 1; /* [18]  */
1017         unsigned int vc3_err_ecc_corrected : 1; /* [19]  */
1018         unsigned int reserved_1 : 12; /* [31..20]  */
1019     } bits;
1020 
1021     /* Define an unsigned member */
1022     unsigned int u32;
1023 } U_MIPI_PKT_INTR2_ST;
1024 
1025 /* Define the union U_MIPI_PKT_INTR2_MSK */
1026 typedef union {
1027     /* Define the struct bits */
1028     struct {
1029         unsigned int mask_err_id_vc0 : 1; /* [0]  */
1030         unsigned int mask_err_id_vc1 : 1; /* [1]  */
1031         unsigned int mask_err_id_vc2 : 1; /* [2]  */
1032         unsigned int mask_err_id_vc3 : 1; /* [3]  */
1033         unsigned int reserved_0 : 12; /* [15..4]  */
1034         unsigned int mask_vc0_err_ecc_corrected : 1; /* [16]  */
1035         unsigned int mask_vc1_err_ecc_corrected : 1; /* [17]  */
1036         unsigned int mask_vc2_err_ecc_corrected : 1; /* [18]  */
1037         unsigned int mask_vc3_err_ecc_corrected : 1; /* [19]  */
1038         unsigned int reserved_1 : 12; /* [31..20]  */
1039     } bits;
1040 
1041     /* Define an unsigned member */
1042     unsigned int u32;
1043 } U_MIPI_PKT_INTR2_MSK;
1044 
1045 /* Define the union U_MIPI_PKT_INTR2_FORCE */
1046 typedef union {
1047     /* Define the struct bits */
1048     struct {
1049         unsigned int force_err_id_vc0 : 1; /* [0]  */
1050         unsigned int force_err_id_vc1 : 1; /* [1]  */
1051         unsigned int force_err_id_vc2 : 1; /* [2]  */
1052         unsigned int force_err_id_vc3 : 1; /* [3]  */
1053         unsigned int reserved_0 : 12; /* [15..4]  */
1054         unsigned int force_vc0_err_ecc_corrected : 1; /* [16]  */
1055         unsigned int force_vc1_err_ecc_corrected : 1; /* [17]  */
1056         unsigned int force_vc2_err_ecc_corrected : 1; /* [18]  */
1057         unsigned int force_vc3_err_ecc_corrected : 1; /* [19]  */
1058         unsigned int reserved_1 : 12; /* [31..20]  */
1059     } bits;
1060 
1061     /* Define an unsigned member */
1062     unsigned int u32;
1063 } U_MIPI_PKT_INTR2_FORCE;
1064 
1065 /* Define the union U_MIPI_FRAME_INTR_ST */
1066 typedef union {
1067     /* Define the struct bits */
1068     struct {
1069         unsigned int err_f_bndry_match_vc0 : 1; /* [0]  */
1070         unsigned int err_f_bndry_match_vc1 : 1; /* [1]  */
1071         unsigned int err_f_bndry_match_vc2 : 1; /* [2]  */
1072         unsigned int err_f_bndry_match_vc3 : 1; /* [3]  */
1073         unsigned int reserved_0 : 4; /* [7..4]  */
1074         unsigned int err_f_seq_vc0 : 1; /* [8]  */
1075         unsigned int err_f_seq_vc1 : 1; /* [9]  */
1076         unsigned int err_f_seq_vc2 : 1; /* [10]  */
1077         unsigned int err_f_seq_vc3 : 1; /* [11]  */
1078         unsigned int reserved_1 : 4; /* [15..12]  */
1079         unsigned int err_frame_data_vc0 : 1; /* [16]  */
1080         unsigned int err_frame_data_vc1 : 1; /* [17]  */
1081         unsigned int err_frame_data_vc2 : 1; /* [18]  */
1082         unsigned int err_frame_data_vc3 : 1; /* [19]  */
1083         unsigned int reserved_2 : 12; /* [31..20]  */
1084     } bits;
1085 
1086     /* Define an unsigned member */
1087     unsigned int u32;
1088 } U_MIPI_FRAME_INTR_ST;
1089 
1090 /* Define the union U_MIPI_FRAME_INTR_MSK */
1091 typedef union {
1092     /* Define the struct bits */
1093     struct {
1094         unsigned int mask_err_f_bndry_match_vc0 : 1; /* [0]  */
1095         unsigned int mask_err_f_bndry_match_vc1 : 1; /* [1]  */
1096         unsigned int mask_err_f_bndry_match_vc2 : 1; /* [2]  */
1097         unsigned int mask_err_f_bndry_match_vc3 : 1; /* [3]  */
1098         unsigned int reserved_0 : 4; /* [7..4]  */
1099         unsigned int mask_err_f_seq_vc0 : 1; /* [8]  */
1100         unsigned int mask_err_f_seq_vc1 : 1; /* [9]  */
1101         unsigned int mask_err_f_seq_vc2 : 1; /* [10]  */
1102         unsigned int mask_err_f_seq_vc3 : 1; /* [11]  */
1103         unsigned int reserved_1 : 4; /* [15..12]  */
1104         unsigned int mask_err_frame_data_vc0 : 1; /* [16]  */
1105         unsigned int mask_err_frame_data_vc1 : 1; /* [17]  */
1106         unsigned int mask_err_frame_data_vc2 : 1; /* [18]  */
1107         unsigned int mask_err_frame_data_vc3 : 1; /* [19]  */
1108         unsigned int reserved_2 : 12; /* [31..20]  */
1109     } bits;
1110 
1111     /* Define an unsigned member */
1112     unsigned int u32;
1113 } U_MIPI_FRAME_INTR_MSK;
1114 
1115 /* Define the union U_MIPI_FRAME_INTR_FORCE */
1116 typedef union {
1117     /* Define the struct bits */
1118     struct {
1119         unsigned int force_err_f_bndry_match_vc0 : 1; /* [0]  */
1120         unsigned int force_err_f_bndry_match_vc1 : 1; /* [1]  */
1121         unsigned int force_err_f_bndry_match_vc2 : 1; /* [2]  */
1122         unsigned int force_err_f_bndry_match_vc3 : 1; /* [3]  */
1123         unsigned int reserved_0 : 4; /* [7..4]  */
1124         unsigned int force_err_f_seq_vc0 : 1; /* [8]  */
1125         unsigned int force_err_f_seq_vc1 : 1; /* [9]  */
1126         unsigned int force_err_f_seq_vc2 : 1; /* [10]  */
1127         unsigned int force_err_f_seq_vc3 : 1; /* [11]  */
1128         unsigned int reserved_1 : 4; /* [15..12]  */
1129         unsigned int force_err_frame_data_vc0 : 1; /* [16]  */
1130         unsigned int force_err_frame_data_vc1 : 1; /* [17]  */
1131         unsigned int force_err_frame_data_vc2 : 1; /* [18]  */
1132         unsigned int force_err_frame_data_vc3 : 1; /* [19]  */
1133         unsigned int reserved_2 : 12; /* [31..20]  */
1134     } bits;
1135 
1136     /* Define an unsigned member */
1137     unsigned int u32;
1138 } U_MIPI_FRAME_INTR_FORCE;
1139 
1140 /* Define the union U_MIPI_LINE_INTR_ST */
1141 typedef union {
1142     /* Define the struct bits */
1143     struct {
1144         unsigned int err_l_bndry_match_di0 : 1; /* [0]  */
1145         unsigned int err_l_bndry_match_di1 : 1; /* [1]  */
1146         unsigned int err_l_bndry_match_di2 : 1; /* [2]  */
1147         unsigned int err_l_bndry_match_di3 : 1; /* [3]  */
1148         unsigned int err_l_bndry_match_di4 : 1; /* [4]  */
1149         unsigned int err_l_bndry_match_di5 : 1; /* [5]  */
1150         unsigned int err_l_bndry_match_di6 : 1; /* [6]  */
1151         unsigned int err_l_bndry_match_di7 : 1; /* [7]  */
1152         unsigned int reserved_0 : 8; /* [15..8]  */
1153         unsigned int err_l_seq_di0 : 1; /* [16]  */
1154         unsigned int err_l_seq_di1 : 1; /* [17]  */
1155         unsigned int err_l_seq_di2 : 1; /* [18]  */
1156         unsigned int err_l_seq_di3 : 1; /* [19]  */
1157         unsigned int err_l_seq_di4 : 1; /* [20]  */
1158         unsigned int err_l_seq_di5 : 1; /* [21]  */
1159         unsigned int err_l_seq_di6 : 1; /* [22]  */
1160         unsigned int err_l_seq_di7 : 1; /* [23]  */
1161         unsigned int reserved_1 : 8; /* [31..24]  */
1162     } bits;
1163 
1164     /* Define an unsigned member */
1165     unsigned int u32;
1166 } U_MIPI_LINE_INTR_ST;
1167 
1168 /* Define the union U_MIPI_LINE_INTR_MSK */
1169 typedef union {
1170     /* Define the struct bits */
1171     struct {
1172         unsigned int mask_err_l_bndry_match_di0 : 1; /* [0]  */
1173         unsigned int mask_err_l_bndry_match_di1 : 1; /* [1]  */
1174         unsigned int mask_err_l_bndry_match_di2 : 1; /* [2]  */
1175         unsigned int mask_err_l_bndry_match_di3 : 1; /* [3]  */
1176         unsigned int mask_err_l_bndry_match_di4 : 1; /* [4]  */
1177         unsigned int mask_err_l_bndry_match_di5 : 1; /* [5]  */
1178         unsigned int mask_err_l_bndry_match_di6 : 1; /* [6]  */
1179         unsigned int mask_err_l_bndry_match_di7 : 1; /* [7]  */
1180         unsigned int reserved_0 : 8; /* [15..8]  */
1181         unsigned int mask_err_l_seq_di0 : 1; /* [16]  */
1182         unsigned int mask_err_l_seq_di1 : 1; /* [17]  */
1183         unsigned int mask_err_l_seq_di2 : 1; /* [18]  */
1184         unsigned int mask_err_l_seq_di3 : 1; /* [19]  */
1185         unsigned int mask_err_l_seq_di4 : 1; /* [20]  */
1186         unsigned int mask_err_l_seq_di5 : 1; /* [21]  */
1187         unsigned int mask_err_l_seq_di6 : 1; /* [22]  */
1188         unsigned int mask_err_l_seq_di7 : 1; /* [23]  */
1189         unsigned int reserved_1 : 8; /* [31..24]  */
1190     } bits;
1191 
1192     /* Define an unsigned member */
1193     unsigned int u32;
1194 } U_MIPI_LINE_INTR_MSK;
1195 
1196 /* Define the union U_MIPI_LINE_INTR_FORCE */
1197 typedef union {
1198     /* Define the struct bits */
1199     struct {
1200         unsigned int force_err_l_bndry_match_di0 : 1; /* [0]  */
1201         unsigned int force_err_l_bndry_match_di1 : 1; /* [1]  */
1202         unsigned int force_err_l_bndry_match_di2 : 1; /* [2]  */
1203         unsigned int force_err_l_bndry_match_di3 : 1; /* [3]  */
1204         unsigned int force_err_l_bndry_match_di4 : 1; /* [4]  */
1205         unsigned int force_err_l_bndry_match_di5 : 1; /* [5]  */
1206         unsigned int force_err_l_bndry_match_di6 : 1; /* [6]  */
1207         unsigned int force_err_l_bndry_match_di7 : 1; /* [7]  */
1208         unsigned int reserved_0 : 8; /* [15..8]  */
1209         unsigned int force_err_l_seq_di0 : 1; /* [16]  */
1210         unsigned int force_err_l_seq_di1 : 1; /* [17]  */
1211         unsigned int force_err_l_seq_di2 : 1; /* [18]  */
1212         unsigned int force_err_l_seq_di3 : 1; /* [19]  */
1213         unsigned int force_err_l_seq_di4 : 1; /* [20]  */
1214         unsigned int force_err_l_seq_di5 : 1; /* [21]  */
1215         unsigned int force_err_l_seq_di6 : 1; /* [22]  */
1216         unsigned int force_err_l_seq_di7 : 1; /* [23]  */
1217         unsigned int reserved_1 : 8; /* [31..24]  */
1218     } bits;
1219 
1220     /* Define an unsigned member */
1221     unsigned int u32;
1222 } U_MIPI_LINE_INTR_FORCE;
1223 
1224 /* Define the union U_MIPI_USERDEF_DT */
1225 typedef union {
1226     /* Define the struct bits */
1227     struct {
1228         unsigned int user_def0_dt : 3; /* [2..0]  */
1229         unsigned int reserved_0 : 1; /* [3]  */
1230         unsigned int user_def1_dt : 3; /* [6..4]  */
1231         unsigned int reserved_1 : 1; /* [7]  */
1232         unsigned int user_def2_dt : 3; /* [10..8]  */
1233         unsigned int reserved_2 : 1; /* [11]  */
1234         unsigned int user_def3_dt : 3; /* [14..12]  */
1235         unsigned int reserved_3 : 17; /* [31..15]  */
1236     } bits;
1237 
1238     /* Define an unsigned member */
1239     unsigned int u32;
1240 } U_MIPI_USERDEF_DT;
1241 
1242 /* Define the union U_MIPI_USER_DEF */
1243 typedef union {
1244     /* Define the struct bits */
1245     struct {
1246         unsigned int user_def0 : 6; /* [5..0]  */
1247         unsigned int reserved_0 : 2; /* [7..6]  */
1248         unsigned int user_def1 : 6; /* [13..8]  */
1249         unsigned int reserved_1 : 2; /* [15..14]  */
1250         unsigned int user_def2 : 6; /* [21..16]  */
1251         unsigned int reserved_2 : 2; /* [23..22]  */
1252         unsigned int user_def3 : 6; /* [29..24]  */
1253         unsigned int reserved_3 : 2; /* [31..30]  */
1254     } bits;
1255 
1256     /* Define an unsigned member */
1257     unsigned int u32;
1258 } U_MIPI_USER_DEF;
1259 
1260 /* Define the union U_MIPI_CTRL_MODE_HS */
1261 typedef union {
1262     /* Define the struct bits */
1263     struct {
1264         unsigned int hdr_mode : 1; /* [0]  */
1265         unsigned int reserved_0 : 3; /* [3..1]  */
1266         unsigned int vc_mode : 1; /* [4]  */
1267         unsigned int reserved_1 : 3; /* [7..5]  */
1268         unsigned int user_def_en : 1; /* [8]  */
1269         unsigned int reserved_2 : 3; /* [11..9]  */
1270         unsigned int lane0_location : 3; /* [14..12]  */
1271         unsigned int reserved_3 : 17; /* [31..15]  */
1272     } bits;
1273 
1274     /* Define an unsigned member */
1275     unsigned int u32;
1276 } U_MIPI_CTRL_MODE_HS;
1277 
1278 /* Define the union U_MIPI_DOL_ID_CODE0 */
1279 typedef union {
1280     /* Define the struct bits */
1281     struct {
1282         unsigned int vend_delay : 16; /* [15..0]  */
1283         unsigned int hend_delay : 16; /* [31..16]  */
1284     } bits;
1285 
1286     /* Define an unsigned member */
1287     unsigned int u32;
1288 } U_MIPI_VHEND_DELAY;
1289 
1290 /* Define the union U_MIPI_DOL_ID_CODE0 */
1291 typedef union {
1292     /* Define the struct bits */
1293     struct {
1294         unsigned int id_code_reg0 : 16; /* [15..0]  */
1295         unsigned int id_code_reg1 : 16; /* [31..16]  */
1296     } bits;
1297 
1298     /* Define an unsigned member */
1299     unsigned int u32;
1300 } U_MIPI_DOL_ID_CODE0;
1301 
1302 /* Define the union U_MIPI_DOL_ID_CODE1 */
1303 typedef union {
1304     /* Define the struct bits */
1305     struct {
1306         unsigned int id_code_reg2 : 16; /* [15..0]  */
1307         unsigned int id_code_reg3 : 16; /* [31..16]  */
1308     } bits;
1309 
1310     /* Define an unsigned member */
1311     unsigned int u32;
1312 } U_MIPI_DOL_ID_CODE1;
1313 
1314 /* Define the union U_MIPI_DOL_ID_CODE2 */
1315 typedef union {
1316     /* Define the struct bits */
1317     struct {
1318         unsigned int id_code_reg4 : 16; /* [15..0]  */
1319         unsigned int id_code_reg5 : 16; /* [31..16]  */
1320     } bits;
1321 
1322     /* Define an unsigned member */
1323     unsigned int u32;
1324 } U_MIPI_DOL_ID_CODE2;
1325 
1326 /* Define the union U_MIPI_CROP_START_CHN0 */
1327 typedef union {
1328     /* Define the struct bits */
1329     struct {
1330         unsigned int mipi_start_x_chn0 : 16; /* [15..0]  */
1331         unsigned int mipi_start_y_chn0 : 16; /* [31..16]  */
1332     } bits;
1333 
1334     /* Define an unsigned member */
1335     unsigned int u32;
1336 } U_MIPI_CROP_START_CHN0;
1337 
1338 /* Define the union U_MIPI_CROP_START_CHN1 */
1339 typedef union {
1340     /* Define the struct bits */
1341     struct {
1342         unsigned int mipi_start_x_chn1 : 16; /* [15..0]  */
1343         unsigned int mipi_start_y_chn1 : 16; /* [31..16]  */
1344     } bits;
1345 
1346     /* Define an unsigned member */
1347     unsigned int u32;
1348 } U_MIPI_CROP_START_CHN1;
1349 
1350 /* Define the union U_MIPI_CROP_START_CHN2 */
1351 typedef union {
1352     /* Define the struct bits */
1353     struct {
1354         unsigned int mipi_start_x_chn2 : 16; /* [15..0]  */
1355         unsigned int mipi_start_y_chn2 : 16; /* [31..16]  */
1356     } bits;
1357 
1358     /* Define an unsigned member */
1359     unsigned int u32;
1360 } U_MIPI_CROP_START_CHN2;
1361 
1362 /* Define the union U_MIPI_CROP_START_CHN3 */
1363 typedef union {
1364     /* Define the struct bits */
1365     struct {
1366         unsigned int mipi_start_x_chn3 : 16; /* [15..0]  */
1367         unsigned int mipi_start_y_chn3 : 16; /* [31..16]  */
1368     } bits;
1369 
1370     /* Define an unsigned member */
1371     unsigned int u32;
1372 } U_MIPI_CROP_START_CHN3;
1373 
1374 /* Define the union U_MIPI_IMGSIZE */
1375 typedef union {
1376     /* Define the struct bits */
1377     struct {
1378         unsigned int mipi_imgwidth : 16; /* [15..0]  */
1379         unsigned int mipi_imgheight : 16; /* [31..16]  */
1380     } bits;
1381 
1382     /* Define an unsigned member */
1383     unsigned int u32;
1384 } U_MIPI_IMGSIZE;
1385 
1386 /* Define the union U_MIPI_CTRL_MODE_PIXEL */
1387 typedef union {
1388     /* Define the struct bits */
1389     struct {
1390         unsigned int crop_en : 1; /* [0]  */
1391         unsigned int reserved_0 : 3; /* [3..1]  */
1392         unsigned int mipi_dol_mode : 1; /* [4]  */
1393         unsigned int reserved_1 : 3; /* [7..5]  */
1394         unsigned int rx2mode : 1; /* [8]  */
1395         unsigned int data_merge_mode : 2; /* [10..9]  */
1396         unsigned int sync_clear_en : 1; /* [11]  */
1397         unsigned int stagger_hdr_mode : 1; /* [12]  */
1398         unsigned int stagger_frm_num : 2; /* [14..13]  */
1399         unsigned int dummy_line_detect : 1; /* [15]  */
1400         unsigned int mipi_double_pix_en : 1; /* [16]  */
1401         unsigned int mipi_double_yuv_en : 1; /* [17]  */
1402         unsigned int mipi_yuv_422_en : 1; /* [18]  */
1403         unsigned int mipi_yuv_420_nolegacy_en : 1; /* [19]  */
1404         unsigned int mipi_yuv_420_legacy_en : 1; /* [20]  */
1405         unsigned int mipi_yuv_420_nolegacy_init : 1; /* [21]  */
1406         unsigned int mipi_yuv420_even_detect : 1; /* [22]  */
1407         unsigned int reserved_2 : 9; /* [31..23]  */
1408     } bits;
1409 
1410     /* Define an unsigned member */
1411     unsigned int u32;
1412 } U_MIPI_CTRL_MODE_PIXEL;
1413 
1414 /* Define the union U_MIPI_DUMMY_PIX_REG */
1415 typedef union {
1416     /* Define the struct bits */
1417     struct {
1418         unsigned int dummy_pix_reg : 16; /* [15..0]  */
1419         unsigned int reserved_0 : 16; /* [31..16]  */
1420     } bits;
1421 
1422     /* Define an unsigned member */
1423     unsigned int u32;
1424 } U_MIPI_DUMMY_PIX_REG;
1425 
1426 /* Define the union U_MIPI_YUVEVEN_THOLD */
1427 typedef union {
1428     /* Define the struct bits */
1429     struct {
1430         unsigned int mipi_yuv_even_thold : 16; /* [15..0]  */
1431         unsigned int reserved_0 : 16; /* [31..16]  */
1432     } bits;
1433 
1434     /* Define an unsigned member */
1435     unsigned int u32;
1436 } U_MIPI_YUVEVEN_THOLD;
1437 
1438 /* Define the union U_MIPI_IMGSIZE0_STATIS */
1439 typedef union {
1440     /* Define the struct bits */
1441     struct {
1442         unsigned int imgwidth_statis_vc0 : 16; /* [15..0]  */
1443         unsigned int imgheight_statis_vc0 : 16; /* [31..16]  */
1444     } bits;
1445 
1446     /* Define an unsigned member */
1447     unsigned int u32;
1448 } U_MIPI_IMGSIZE0_STATIS;
1449 
1450 /* Define the union U_MIPI_IMGSIZE1_STATIS */
1451 typedef union {
1452     /* Define the struct bits */
1453     struct {
1454         unsigned int imgwidth_statis_vc1 : 16; /* [15..0]  */
1455         unsigned int imgheight_statis_vc1 : 16; /* [31..16]  */
1456     } bits;
1457 
1458     /* Define an unsigned member */
1459     unsigned int u32;
1460 } U_MIPI_IMGSIZE1_STATIS;
1461 
1462 /* Define the union U_MIPI_IMGSIZE2_STATIS */
1463 typedef union {
1464     /* Define the struct bits */
1465     struct {
1466         unsigned int imgwidth_statis_vc2 : 16; /* [15..0]  */
1467         unsigned int imgheight_statis_vc2 : 16; /* [31..16]  */
1468     } bits;
1469 
1470     /* Define an unsigned member */
1471     unsigned int u32;
1472 } U_MIPI_IMGSIZE2_STATIS;
1473 
1474 /* Define the union U_MIPI_IMGSIZE3_STATIS */
1475 typedef union {
1476     /* Define the struct bits */
1477     struct {
1478         unsigned int imgwidth_statis_vc3 : 16; /* [15..0]  */
1479         unsigned int imgheight_statis_vc3 : 16; /* [31..16]  */
1480     } bits;
1481 
1482     /* Define an unsigned member */
1483     unsigned int u32;
1484 } U_MIPI_IMGSIZE3_STATIS;
1485 
1486 /* Define the union U_MIPI_CTRL_INT_RAW */
1487 typedef union {
1488     /* Define the struct bits */
1489     struct {
1490         unsigned int int_cfifo_wrerr_raw : 1; /* [0]  */
1491         unsigned int int_dfifo_wrerr_raw : 1; /* [1]  */
1492         unsigned int reserved_0 : 2; /* [3..2]  */
1493         unsigned int int_vsync_raw : 1; /* [4]  */
1494         unsigned int reserved_1 : 11; /* [15..5]  */
1495         unsigned int int_cfifo_rderr_raw : 1; /* [16]  */
1496         unsigned int int_dfifo_rderr_raw : 1; /* [17]  */
1497         unsigned int reserved_2 : 14; /* [31..18]  */
1498     } bits;
1499 
1500     /* Define an unsigned member */
1501     unsigned int u32;
1502 } U_MIPI_CTRL_INT_RAW;
1503 
1504 /* Define the union U_MIPI_CTRL_INT */
1505 typedef union {
1506     /* Define the struct bits */
1507     struct {
1508         unsigned int int_cfifo_wrerr_st : 1; /* [0]  */
1509         unsigned int int_dfifo_wrerr_st : 1; /* [1]  */
1510         unsigned int reserved_0 : 2; /* [3..2]  */
1511         unsigned int int_vsync_st : 1; /* [4]  */
1512         unsigned int reserved_1 : 11; /* [15..5]  */
1513         unsigned int int_cfifo_rderr_st : 1; /* [16]  */
1514         unsigned int int_dfifo_rderr_st : 1; /* [17]  */
1515         unsigned int reserved_2 : 14; /* [31..18]  */
1516     } bits;
1517 
1518     /* Define an unsigned member */
1519     unsigned int u32;
1520 } U_MIPI_CTRL_INT;
1521 
1522 /* Define the union U_MIPI_CTRL_INT_MSK */
1523 typedef union {
1524     /* Define the struct bits */
1525     struct {
1526         unsigned int int_cfifo_wrerr_msk : 1; /* [0]  */
1527         unsigned int int_dfifo_wrerr_msk : 1; /* [1]  */
1528         unsigned int reserved_0 : 2; /* [3..2]  */
1529         unsigned int int_vsync_msk : 1; /* [4]  */
1530         unsigned int reserved_1 : 11; /* [15..5]  */
1531         unsigned int int_cfifo_rderr_msk : 1; /* [16]  */
1532         unsigned int int_dfifo_rderr_msk : 1; /* [17]  */
1533         unsigned int reserved_2 : 14; /* [31..18]  */
1534     } bits;
1535 
1536     /* Define an unsigned member */
1537     unsigned int u32;
1538 } U_MIPI_CTRL_INT_MSK;
1539 
1540 /* Define the union U_LVDS_WDR */
1541 typedef union {
1542     /* Define the struct bits */
1543     struct {
1544         unsigned int lvds_wdr_en : 1; /* [0]  */
1545         unsigned int reserved_0 : 3; /* [3..1]  */
1546         unsigned int lvds_wdr_num : 2; /* [5..4]  */
1547         unsigned int reserved_1 : 2; /* [7..6]  */
1548         unsigned int lvds_wdr_mode : 4; /* [11..8]  */
1549         unsigned int lvds_wdr_id_shift : 4; /* [15..12]  */
1550         unsigned int reserved_2 : 16; /* [31..16]  */
1551     } bits;
1552 
1553     /* Define an unsigned member */
1554     unsigned int u32;
1555 } U_LVDS_WDR;
1556 
1557 /* Define the union U_LVDS_DOLSCD_HBLK */
1558 typedef union {
1559     /* Define the struct bits */
1560     struct {
1561         unsigned int dol_hblank1 : 16; /* [15..0]  */
1562         unsigned int dol_hblank2 : 16; /* [31..16]  */
1563     } bits;
1564 
1565     /* Define an unsigned member */
1566     unsigned int u32;
1567 } U_LVDS_DOLSCD_HBLK;
1568 
1569 /* Define the union U_LVDS_CTRL */
1570 typedef union {
1571     /* Define the struct bits */
1572     struct {
1573         unsigned int lvds_sync_mode : 1; /* [0]  */
1574         unsigned int reserved_0 : 3; /* [3..1]  */
1575         unsigned int lvds_raw_type : 3; /* [6..4]  */
1576         unsigned int reserved_1 : 1; /* [7]  */
1577         unsigned int lvds_pix_big_endian : 1; /* [8]  */
1578         unsigned int lvds_code_big_endian : 1; /* [9]  */
1579         unsigned int reserved_2 : 2; /* [11..10]  */
1580         unsigned int lvds_crop_en : 1; /* [12]  */
1581         unsigned int reserved_3 : 19; /* [31..13]  */
1582     } bits;
1583 
1584     /* Define an unsigned member */
1585     unsigned int u32;
1586 } U_LVDS_CTRL;
1587 
1588 /* Define the union U_LVDS_IMGSIZE */
1589 typedef union {
1590     /* Define the struct bits */
1591     struct {
1592         unsigned int lvds_imgwidth_lane : 16; /* [15..0]  */
1593         unsigned int lvds_imgheight : 16; /* [31..16]  */
1594     } bits;
1595 
1596     /* Define an unsigned member */
1597     unsigned int u32;
1598 } U_LVDS_IMGSIZE;
1599 
1600 /* Define the union U_LVDS_CROP_START0 */
1601 typedef union {
1602     /* Define the struct bits */
1603     struct {
1604         unsigned int lvds_start_x0_lane : 16; /* [15..0]  */
1605         unsigned int lvds_start_y0 : 16; /* [31..16]  */
1606     } bits;
1607 
1608     /* Define an unsigned member */
1609     unsigned int u32;
1610 } U_LVDS_CROP_START0;
1611 
1612 /* Define the union U_LVDS_CROP_START1 */
1613 typedef union {
1614     /* Define the struct bits */
1615     struct {
1616         unsigned int lvds_start_x1_lane : 16; /* [15..0]  */
1617         unsigned int lvds_start_y1 : 16; /* [31..16]  */
1618     } bits;
1619 
1620     /* Define an unsigned member */
1621     unsigned int u32;
1622 } U_LVDS_CROP_START1;
1623 
1624 /* Define the union U_LVDS_CROP_START2 */
1625 typedef union {
1626     /* Define the struct bits */
1627     struct {
1628         unsigned int lvds_start_x2_lane : 16; /* [15..0]  */
1629         unsigned int lvds_start_y2 : 16; /* [31..16]  */
1630     } bits;
1631 
1632     /* Define an unsigned member */
1633     unsigned int u32;
1634 } U_LVDS_CROP_START2;
1635 
1636 /* Define the union U_LVDS_CROP_START3 */
1637 typedef union {
1638     /* Define the struct bits */
1639     struct {
1640         unsigned int lvds_start_x3_lane : 16; /* [15..0]  */
1641         unsigned int lvds_start_y3 : 16; /* [31..16]  */
1642     } bits;
1643 
1644     /* Define an unsigned member */
1645     unsigned int u32;
1646 } U_LVDS_CROP_START3;
1647 
1648 /* Define the union U_LVDS_LANE_SOF_01 */
1649 typedef union {
1650     /* Define the struct bits */
1651     struct {
1652         unsigned int lane_sof_0 : 16; /* [15..0]  */
1653         unsigned int lane_sof_1 : 16; /* [31..16]  */
1654     } bits;
1655 
1656     /* Define an unsigned member */
1657     unsigned int u32;
1658 } U_LVDS_LANE_SOF_01;
1659 
1660 /* Define the union U_LVDS_LANE_SOF_23 */
1661 typedef union {
1662     /* Define the struct bits */
1663     struct {
1664         unsigned int lane_sof_2 : 16; /* [15..0]  */
1665         unsigned int lane_sof_3 : 16; /* [31..16]  */
1666     } bits;
1667 
1668     /* Define an unsigned member */
1669     unsigned int u32;
1670 } U_LVDS_LANE_SOF_23;
1671 
1672 /* Define the union U_LVDS_LANE_EOF_01 */
1673 typedef union {
1674     /* Define the struct bits */
1675     struct {
1676         unsigned int lane_eof_0 : 16; /* [15..0]  */
1677         unsigned int lane_eof_1 : 16; /* [31..16]  */
1678     } bits;
1679 
1680     /* Define an unsigned member */
1681     unsigned int u32;
1682 } U_LVDS_LANE_EOF_01;
1683 
1684 /* Define the union U_LVDS_LANE_EOF_23 */
1685 typedef union {
1686     /* Define the struct bits */
1687     struct {
1688         unsigned int lane_eof_2 : 16; /* [15..0]  */
1689         unsigned int lane_eof_3 : 16; /* [31..16]  */
1690     } bits;
1691 
1692     /* Define an unsigned member */
1693     unsigned int u32;
1694 } U_LVDS_LANE_EOF_23;
1695 
1696 /* Define the union U_LVDS_LANE_SOL_01 */
1697 typedef union {
1698     /* Define the struct bits */
1699     struct {
1700         unsigned int lane_sol_0 : 16; /* [15..0]  */
1701         unsigned int lane_sol_1 : 16; /* [31..16]  */
1702     } bits;
1703 
1704     /* Define an unsigned member */
1705     unsigned int u32;
1706 } U_LVDS_LANE_SOL_01;
1707 
1708 /* Define the union U_LVDS_LANE_SOL_23 */
1709 typedef union {
1710     /* Define the struct bits */
1711     struct {
1712         unsigned int lane_sol_2 : 16; /* [15..0]  */
1713         unsigned int lane_sol_3 : 16; /* [31..16]  */
1714     } bits;
1715 
1716     /* Define an unsigned member */
1717     unsigned int u32;
1718 } U_LVDS_LANE_SOL_23;
1719 
1720 /* Define the union U_LVDS_LANE_EOL_01 */
1721 typedef union {
1722     /* Define the struct bits */
1723     struct {
1724         unsigned int lane_eol_0 : 16; /* [15..0]  */
1725         unsigned int lane_eol_1 : 16; /* [31..16]  */
1726     } bits;
1727 
1728     /* Define an unsigned member */
1729     unsigned int u32;
1730 } U_LVDS_LANE_EOL_01;
1731 
1732 /* Define the union U_LVDS_LANE_EOL_23 */
1733 typedef union {
1734     /* Define the struct bits */
1735     struct {
1736         unsigned int lane_eol_2 : 16; /* [15..0]  */
1737         unsigned int lane_eol_3 : 16; /* [31..16]  */
1738     } bits;
1739 
1740     /* Define an unsigned member */
1741     unsigned int u32;
1742 } U_LVDS_LANE_EOL_23;
1743 
1744 /* Define the union U_LVDS_LANE_NXT_SOF_01 */
1745 typedef union {
1746     /* Define the struct bits */
1747     struct {
1748         unsigned int lane_nxt_sof_0 : 16; /* [15..0]  */
1749         unsigned int lane_nxt_sof_1 : 16; /* [31..16]  */
1750     } bits;
1751 
1752     /* Define an unsigned member */
1753     unsigned int u32;
1754 } U_LVDS_LANE_NXT_SOF_01;
1755 
1756 /* Define the union U_LVDS_LANE_NXT_SOF_23 */
1757 typedef union {
1758     /* Define the struct bits */
1759     struct {
1760         unsigned int lane_nxt_sof_2 : 16; /* [15..0]  */
1761         unsigned int lane_nxt_sof_3 : 16; /* [31..16]  */
1762     } bits;
1763 
1764     /* Define an unsigned member */
1765     unsigned int u32;
1766 } U_LVDS_LANE_NXT_SOF_23;
1767 
1768 /* Define the union U_LVDS_LANE_NXT_EOF_01 */
1769 typedef union {
1770     /* Define the struct bits */
1771     struct {
1772         unsigned int lane_nxt_eof_0 : 16; /* [15..0]  */
1773         unsigned int lane_nxt_eof_1 : 16; /* [31..16]  */
1774     } bits;
1775 
1776     /* Define an unsigned member */
1777     unsigned int u32;
1778 } U_LVDS_LANE_NXT_EOF_01;
1779 
1780 /* Define the union U_LVDS_LANE_NXT_EOF_23 */
1781 typedef union {
1782     /* Define the struct bits */
1783     struct {
1784         unsigned int lane_nxt_eof_2 : 16; /* [15..0]  */
1785         unsigned int lane_nxt_eof_3 : 16; /* [31..16]  */
1786     } bits;
1787 
1788     /* Define an unsigned member */
1789     unsigned int u32;
1790 } U_LVDS_LANE_NXT_EOF_23;
1791 
1792 /* Define the union U_LVDS_LANE_NXT_SOL_01 */
1793 typedef union {
1794     /* Define the struct bits */
1795     struct {
1796         unsigned int lane_nxt_sol_0 : 16; /* [15..0]  */
1797         unsigned int lane_nxt_sol_1 : 16; /* [31..16]  */
1798     } bits;
1799 
1800     /* Define an unsigned member */
1801     unsigned int u32;
1802 } U_LVDS_LANE_NXT_SOL_01;
1803 
1804 /* Define the union U_LVDS_LANE_NXT_SOL_23 */
1805 typedef union {
1806     /* Define the struct bits */
1807     struct {
1808         unsigned int lane_nxt_sol_2 : 16; /* [15..0]  */
1809         unsigned int lane_nxt_sol_3 : 16; /* [31..16]  */
1810     } bits;
1811 
1812     /* Define an unsigned member */
1813     unsigned int u32;
1814 } U_LVDS_LANE_NXT_SOL_23;
1815 
1816 /* Define the union U_LVDS_LANE_NXT_EOL_01 */
1817 typedef union {
1818     /* Define the struct bits */
1819     struct {
1820         unsigned int lane_nxt_eol_0 : 16; /* [15..0]  */
1821         unsigned int lane_nxt_eol_1 : 16; /* [31..16]  */
1822     } bits;
1823 
1824     /* Define an unsigned member */
1825     unsigned int u32;
1826 } U_LVDS_LANE_NXT_EOL_01;
1827 
1828 /* Define the union U_LVDS_LANE_NXT_EOL_23 */
1829 typedef union {
1830     /* Define the struct bits */
1831     struct {
1832         unsigned int lane_nxt_eol_2 : 16; /* [15..0]  */
1833         unsigned int lane_nxt_eol_3 : 16; /* [31..16]  */
1834     } bits;
1835 
1836     /* Define an unsigned member */
1837     unsigned int u32;
1838 } U_LVDS_LANE_NXT_EOL_23;
1839 
1840 /* Define the union U_LVDS_LI_WORD0 */
1841 typedef union {
1842     /* Define the struct bits */
1843     struct {
1844         unsigned int li_word0_0 : 16; /* [15..0]  */
1845         unsigned int li_word0_1 : 16; /* [31..16]  */
1846     } bits;
1847 
1848     /* Define an unsigned member */
1849     unsigned int u32;
1850 } U_LVDS_LI_WORD0;
1851 
1852 /* Define the union U_LVDS_LI_WORD1 */
1853 typedef union {
1854     /* Define the struct bits */
1855     struct {
1856         unsigned int li_word1_0 : 16; /* [15..0]  */
1857         unsigned int li_word1_1 : 16; /* [31..16]  */
1858     } bits;
1859 
1860     /* Define an unsigned member */
1861     unsigned int u32;
1862 } U_LVDS_LI_WORD1;
1863 
1864 /* Define the union U_LVDS_LI_WORD2 */
1865 typedef union {
1866     /* Define the struct bits */
1867     struct {
1868         unsigned int li_word2_0 : 16; /* [15..0]  */
1869         unsigned int li_word2_1 : 16; /* [31..16]  */
1870     } bits;
1871 
1872     /* Define an unsigned member */
1873     unsigned int u32;
1874 } U_LVDS_LI_WORD2;
1875 
1876 /* Define the union U_LVDS_LI_WORD3 */
1877 typedef union {
1878     /* Define the struct bits */
1879     struct {
1880         unsigned int li_word3_0 : 16; /* [15..0]  */
1881         unsigned int li_word3_1 : 16; /* [31..16]  */
1882     } bits;
1883 
1884     /* Define an unsigned member */
1885     unsigned int u32;
1886 } U_LVDS_LI_WORD3;
1887 
1888 /* Define the union U_LVDS_SYNC_BORD0 */
1889 typedef union {
1890     /* Define the struct bits */
1891     struct {
1892         unsigned int sync_bord0_lane0 : 4; /* [3..0]  */
1893         unsigned int sync_bord0_lane1 : 4; /* [7..4]  */
1894         unsigned int sync_bord0_lane2 : 4; /* [11..8]  */
1895         unsigned int sync_bord0_lane3 : 4; /* [15..12]  */
1896         unsigned int reserved_0 : 16; /* [31..16]  */
1897     } bits;
1898 
1899     /* Define an unsigned member */
1900     unsigned int u32;
1901 } U_LVDS_SYNC_BORD0;
1902 
1903 /* Define the union U_LVDS_SYNC_BORD1 */
1904 typedef union {
1905     /* Define the struct bits */
1906     struct {
1907         unsigned int sync_bord1_lane0 : 4; /* [3..0]  */
1908         unsigned int sync_bord1_lane1 : 4; /* [7..4]  */
1909         unsigned int sync_bord1_lane2 : 4; /* [11..8]  */
1910         unsigned int sync_bord1_lane3 : 4; /* [15..12]  */
1911         unsigned int reserved_0 : 16; /* [31..16]  */
1912     } bits;
1913 
1914     /* Define an unsigned member */
1915     unsigned int u32;
1916 } U_LVDS_SYNC_BORD1;
1917 
1918 /* Define the union U_LVDS_SYNC_BORD2 */
1919 typedef union {
1920     /* Define the struct bits */
1921     struct {
1922         unsigned int sync_bord2_lane0 : 4; /* [3..0]  */
1923         unsigned int sync_bord2_lane1 : 4; /* [7..4]  */
1924         unsigned int sync_bord2_lane2 : 4; /* [11..8]  */
1925         unsigned int sync_bord2_lane3 : 4; /* [15..12]  */
1926         unsigned int reserved_0 : 16; /* [31..16]  */
1927     } bits;
1928 
1929     /* Define an unsigned member */
1930     unsigned int u32;
1931 } U_LVDS_SYNC_BORD2;
1932 
1933 /* Define the union U_LVDS_SYNC_BORD3 */
1934 typedef union {
1935     /* Define the struct bits */
1936     struct {
1937         unsigned int sync_bord3_lane0 : 4; /* [3..0]  */
1938         unsigned int sync_bord3_lane1 : 4; /* [7..4]  */
1939         unsigned int sync_bord3_lane2 : 4; /* [11..8]  */
1940         unsigned int sync_bord3_lane3 : 4; /* [15..12]  */
1941         unsigned int reserved_0 : 16; /* [31..16]  */
1942     } bits;
1943 
1944     /* Define an unsigned member */
1945     unsigned int u32;
1946 } U_LVDS_SYNC_BORD3;
1947 
1948 /* Define the union U_LVDS_LANE_IMGSIZE_STATIS */
1949 typedef union {
1950     /* Define the struct bits */
1951     struct {
1952         unsigned int lane_imgwidth : 16; /* [15..0]  */
1953         unsigned int lane_imgheight : 16; /* [31..16]  */
1954     } bits;
1955 
1956     /* Define an unsigned member */
1957     unsigned int u32;
1958 } U_LVDS_LANE_IMGSIZE_STATIS;
1959 
1960 /* Define the union U_LVDS_IMGSIZE0_STATIS */
1961 typedef union {
1962     /* Define the struct bits */
1963     struct {
1964         unsigned int lvds_imgwidth0 : 16; /* [15..0]  */
1965         unsigned int lvds_imgheight0 : 16; /* [31..16]  */
1966     } bits;
1967 
1968     /* Define an unsigned member */
1969     unsigned int u32;
1970 } U_LVDS_IMGSIZE0_STATIS;
1971 
1972 /* Define the union U_LVDS_IMGSIZE1_STATIS */
1973 typedef union {
1974     /* Define the struct bits */
1975     struct {
1976         unsigned int lvds_imgwidth1 : 16; /* [15..0]  */
1977         unsigned int lvds_imgheight1 : 16; /* [31..16]  */
1978     } bits;
1979 
1980     /* Define an unsigned member */
1981     unsigned int u32;
1982 } U_LVDS_IMGSIZE1_STATIS;
1983 
1984 /* Define the union U_LVDS_IMGSIZE2_STATIS */
1985 typedef union {
1986     /* Define the struct bits */
1987     struct {
1988         unsigned int lvds_imgwidth2 : 16; /* [15..0]  */
1989         unsigned int lvds_imgheight2 : 16; /* [31..16]  */
1990     } bits;
1991 
1992     /* Define an unsigned member */
1993     unsigned int u32;
1994 } U_LVDS_IMGSIZE2_STATIS;
1995 
1996 /* Define the union U_LVDS_IMGSIZE3_STATIS */
1997 typedef union {
1998     /* Define the struct bits */
1999     struct {
2000         unsigned int lvds_imgwidth3 : 16; /* [15..0]  */
2001         unsigned int lvds_imgheight3 : 16; /* [31..16]  */
2002     } bits;
2003 
2004     /* Define an unsigned member */
2005     unsigned int u32;
2006 } U_LVDS_IMGSIZE3_STATIS;
2007 
2008 /* Define the union U_LVDS_LANE_ORDERS0 */
2009 typedef union {
2010     /* Define the struct bits */
2011     struct {
2012         unsigned int lvds_lane0_id : 4; /* [3..0]  */
2013         unsigned int lvds_lane1_id : 4; /* [7..4]  */
2014         unsigned int lvds_lane2_id : 4; /* [11..8]  */
2015         unsigned int lvds_lane3_id : 4; /* [15..12]  */
2016         unsigned int reserved_0 : 16; /* [31..16]  */
2017     } bits;
2018 
2019     /* Define an unsigned member */
2020     unsigned int u32;
2021 } U_LVDS_LANE_ORDERS0;
2022 
2023 /* Define the union U_LVDS(N)_OUTPUT_PIX_NUM */
2024 typedef union {
2025     /* Define the struct bits */
2026     struct {
2027         unsigned int lvds_double_pix_en : 1; /* [0]  */
2028         unsigned int reserved_0 : 31; /* [31..1]  */
2029     } bits;
2030 
2031     /* Define an unsigned member */
2032     unsigned int u32;
2033 } U_LVDS_OUTPUT_PIX_NUM;
2034 
2035 /* Define the union U_LVDS_CTRL_INT_RAW */
2036 typedef union {
2037     /* Define the struct bits */
2038     struct {
2039         unsigned int lane0_sync_err_raw : 1; /* [0]  */
2040         unsigned int lane1_sync_err_raw : 1; /* [1]  */
2041         unsigned int lane2_sync_err_raw : 1; /* [2]  */
2042         unsigned int lane3_sync_err_raw : 1; /* [3]  */
2043         unsigned int reserved_0 : 12; /* [15..4]  */
2044         unsigned int link0_wr_err_raw : 1; /* [16]  */
2045         unsigned int reserved_1 : 3; /* [19..17]  */
2046         unsigned int link0_rd_err_raw : 1; /* [20]  */
2047         unsigned int reserved_2 : 3; /* [23..21]  */
2048         unsigned int lvds_state_err_raw : 1; /* [24]  */
2049         unsigned int pop_err_raw : 1; /* [25]  */
2050         unsigned int cmd_wr_err_raw : 1; /* [26]  */
2051         unsigned int cmd_rd_err_raw : 1; /* [27]  */
2052         unsigned int lvds_vsync_raw : 1; /* [28]  */
2053         unsigned int reserved_3 : 3; /* [31..29]  */
2054     } bits;
2055 
2056     /* Define an unsigned member */
2057     unsigned int u32;
2058 } U_LVDS_CTRL_INT_RAW;
2059 
2060 /* Define the union U_LVDS_CTRL_INT */
2061 typedef union {
2062     /* Define the struct bits */
2063     struct {
2064         unsigned int lane0_sync_err_st : 1; /* [0]  */
2065         unsigned int lane1_sync_err_st : 1; /* [1]  */
2066         unsigned int lane2_sync_err_st : 1; /* [2]  */
2067         unsigned int lane3_sync_err_st : 1; /* [3]  */
2068         unsigned int reserved_0 : 12; /* [15..4]  */
2069         unsigned int link0_wr_err_st : 1; /* [16]  */
2070         unsigned int reserved_1 : 3; /* [19..17]  */
2071         unsigned int link0_rd_err_st : 1; /* [20]  */
2072         unsigned int reserved_2 : 3; /* [23..21]  */
2073         unsigned int lvds_state_err_st : 1; /* [24]  */
2074         unsigned int pop_err_st : 1; /* [25]  */
2075         unsigned int cmd_wr_err_st : 1; /* [26]  */
2076         unsigned int cmd_rd_err_st : 1; /* [27]  */
2077         unsigned int lvds_vsync_st : 1; /* [28]  */
2078         unsigned int reserved_3 : 3; /* [31..29]  */
2079     } bits;
2080 
2081     /* Define an unsigned member */
2082     unsigned int u32;
2083 } U_LVDS_CTRL_INT;
2084 
2085 /* Define the union U_LVDS_CTRL_INT_MSK */
2086 typedef union {
2087     /* Define the struct bits */
2088     struct {
2089         unsigned int lane0_sync_err_msk : 1; /* [0]  */
2090         unsigned int lane1_sync_err_msk : 1; /* [1]  */
2091         unsigned int lane2_sync_err_msk : 1; /* [2]  */
2092         unsigned int lane3_sync_err_msk : 1; /* [3]  */
2093         unsigned int reserved_0 : 12; /* [15..4]  */
2094         unsigned int link0_wr_err_msk : 1; /* [16]  */
2095         unsigned int reserved_1 : 3; /* [19..17]  */
2096         unsigned int link0_rd_err_msk : 1; /* [20]  */
2097         unsigned int reserved_2 : 3; /* [23..21]  */
2098         unsigned int lvds_state_err_msk : 1; /* [24]  */
2099         unsigned int pop_err_msk : 1; /* [25]  */
2100         unsigned int cmd_wr_err_msk : 1; /* [26]  */
2101         unsigned int cmd_rd_err_msk : 1; /* [27]  */
2102         unsigned int lvds_vsync_msk : 1; /* [28]  */
2103         unsigned int reserved_3 : 3; /* [31..29]  */
2104     } bits;
2105 
2106     /* Define an unsigned member */
2107     unsigned int u32;
2108 } U_LVDS_CTRL_INT_MSK;
2109 
2110 /* Define the union U_LANE_ID0_CHN */
2111 typedef union {
2112     /* Define the struct bits */
2113     struct {
2114         unsigned int lane0_id : 4; /* [3..0]  */
2115         unsigned int lane1_id : 4; /* [7..4]  */
2116         unsigned int lane2_id : 4; /* [11..8]  */
2117         unsigned int lane3_id : 4; /* [15..12]  */
2118         unsigned int reserved_0 : 16; /* [31..16]  */
2119     } bits;
2120 
2121     /* Define an unsigned member */
2122     unsigned int u32;
2123 } U_LANE_ID0_CHN;
2124 
2125 /* Define the union U_ALIGN_INT_RAW */
2126 typedef union {
2127     /* Define the struct bits */
2128     struct {
2129         unsigned int err_full_raw : 1; /* [0]  */
2130         unsigned int err_lane0_raw : 1; /* [1]  */
2131         unsigned int err_lane1_raw : 1; /* [2]  */
2132         unsigned int err_lane2_raw : 1; /* [3]  */
2133         unsigned int err_lane3_raw : 1; /* [4]  */
2134         unsigned int reserved_0 : 27; /* [31..5]  */
2135     } bits;
2136 
2137     /* Define an unsigned member */
2138     unsigned int u32;
2139 } U_ALIGN0_INT_RAW;
2140 
2141 /* Define the union U_ALIGN_INT */
2142 typedef union {
2143     /* Define the struct bits */
2144     struct {
2145         unsigned int err_full_st : 1; /* [0]  */
2146         unsigned int err_lane0_st : 1; /* [1]  */
2147         unsigned int err_lane1_st : 1; /* [2]  */
2148         unsigned int err_lane2_st : 1; /* [3]  */
2149         unsigned int err_lane3_st : 1; /* [4]  */
2150         unsigned int reserved_0 : 27; /* [31..5]  */
2151     } bits;
2152 
2153     /* Define an unsigned member */
2154     unsigned int u32;
2155 } U_ALIGN0_INT;
2156 
2157 /* Define the union U_ALIGN_INT_MASK */
2158 typedef union {
2159     /* Define the struct bits */
2160     struct {
2161         unsigned int err_full_mask : 1; /* [0]  */
2162         unsigned int err_lane0_mask : 1; /* [1]  */
2163         unsigned int err_lane1_mask : 1; /* [2]  */
2164         unsigned int err_lane2_mask : 1; /* [3]  */
2165         unsigned int err_lane3_mask : 1; /* [4]  */
2166         unsigned int reserved_0 : 27; /* [31..5]  */
2167     } bits;
2168 
2169     /* Define an unsigned member */
2170     unsigned int u32;
2171 } U_ALIGN0_INT_MSK;
2172 
2173 /* Define the union U_CHN_INT_RAW */
2174 typedef union {
2175     /* Define the struct bits */
2176     struct {
2177         unsigned int int_lvds_ctrl_raw : 1; /* [0]  */
2178         unsigned int int_mipi_csi_raw : 1; /* [1]  */
2179         unsigned int int_mipi_ctrl_raw : 1; /* [2]  */
2180         unsigned int int_data_align_raw : 1; /* [3]  */
2181         unsigned int reserved_0 : 28; /* [31..4]  */
2182     } bits;
2183 
2184     /* Define an unsigned member */
2185     unsigned int u32;
2186 } U_CHN_INT_RAW;
2187 
2188 /* Define the union U_CHN_INT */
2189 typedef union {
2190     /* Define the struct bits */
2191     struct {
2192         unsigned int int_lvds_ctrl_st : 1; /* [0]  */
2193         unsigned int int_mipi_csi_st : 1; /* [1]  */
2194         unsigned int int_mipi_ctrl_st : 1; /* [2]  */
2195         unsigned int int_data_align_st : 1; /* [3]  */
2196         unsigned int reserved_0 : 28; /* [31..4]  */
2197     } bits;
2198 
2199     /* Define an unsigned member */
2200     unsigned int u32;
2201 } U_CHN_INT;
2202 
2203 /* Define the union U_CHN_INT_MASK */
2204 typedef union {
2205     /* Define the struct bits */
2206     struct {
2207         unsigned int int_lvds_ctrl_mask : 1; /* [0]  */
2208         unsigned int int_mipi_csi_mask : 1; /* [1]  */
2209         unsigned int int_mipi_ctrl_mask : 1; /* [2]  */
2210         unsigned int int_data_align_mask : 1; /* [3]  */
2211         unsigned int reserved_0 : 28; /* [31..4]  */
2212     } bits;
2213 
2214     /* Define an unsigned member */
2215     unsigned int u32;
2216 } U_CHN_INT_MASK;
2217 
2218 // ==============================================================================
2219 /* Define the global struct */
2220 typedef struct {
2221     volatile U_PHY_MODE_LINK PHY_MODE_LINK; /* 0x0 */
2222     volatile U_PHY_SKEW_LINK PHY_SKEW_LINK; /* 0x4 */
2223     volatile unsigned int reserved_0; /* 0x8 */
2224     volatile U_PHY_EN_LINK PHY_EN_LINK; /* 0xc */
2225     volatile unsigned int reserved_1; /* 0x10 */
2226     volatile U_PHY_CFG_LINK PHY_CFG_LINK; /* 0x14 */
2227     volatile U_PHY_DATA_LINK PHY_DATA_LINK; /* 0x18 */
2228     volatile U_PHY_PH_MIPI_LINK PHY_PH_MIPI_LINK; /* 0x1c */
2229     volatile U_PHY_DATA_MIPI_LINK PHY_DATA_MIPI_LINK; /* 0x20 */
2230     volatile U_PHY_SYNC_DCT_LINK PHY_SYNC_DCT_LINK; /* 0x24 */
2231     volatile unsigned int reserved_2[2]; /* 0x28~0x2c */
2232     volatile U_PHY_SYNC_SOF0_LINK PHY_SYNC_SOF0_LINK; /* 0x30 */
2233     volatile U_PHY_SYNC_SOF1_LINK PHY_SYNC_SOF1_LINK; /* 0x34 */
2234     volatile U_PHY_SYNC_SOF2_LINK PHY_SYNC_SOF2_LINK; /* 0x38 */
2235     volatile U_PHY_SYNC_SOF3_LINK PHY_SYNC_SOF3_LINK; /* 0x3c */
2236     volatile U_PHY_OUT_VALID_LINK PHY_OUT_VALID_LINK; /* 0x40 */
2237     volatile U_PHY_DATA_LVDS_LINK PHY_DATA_LVDS_LINK; /* 0x44 */
2238     volatile unsigned int reserved_3[3]; /* 0x48~0x50, 3 index */
2239     volatile U_PHY_PIX_PUM_LINK PHY_PIX_PUM_LINK; /* 0x54 */
2240     volatile unsigned int reserved_4[2]; /* 0x58~0x5c, 2 index */
2241     volatile U_PHY_SYNC_SOL0_LINK PHY_SYNC_SOL0_LINK; /* 0x60 */
2242     volatile U_PHY_SYNC_SOL1_LINK PHY_SYNC_SOL1_LINK; /* 0x64 */
2243     volatile U_PHY_SYNC_SOL2_LINK PHY_SYNC_SOL2_LINK; /* 0x68 */
2244     volatile U_PHY_SYNC_SOL3_LINK PHY_SYNC_SOL3_LINK; /* 0x6c */
2245     volatile unsigned int reserved_5[36]; /* 0x70~0xfc, 36 index */
2246     volatile U_CIL_TIMEOUT_LINK CIL_TIMEOUT_LINK; /* 0x100 */
2247     volatile U_CIL_FSM0_LINK CIL_FSM0_LINK; /* 0x104 */
2248     volatile U_CIL_FSM_ST0_LINK CIL_FSM_ST0_LINK; /* 0x108 */
2249     volatile U_CIL_FSM_ST1_LINK CIL_FSM_ST1_LINK; /* 0x10c */
2250     volatile U_PHY_ST0_LINK PHY_ST0_LINK; /* 0x110 */
2251     volatile U_PHY_ST1_LINK PHY_ST1_LINK; /* 0x114 */
2252     volatile U_PHY_ST2_LINK PHY_ST2_LINK; /* 0x118 */
2253     volatile U_PHY_ST3_LINK PHY_ST3_LINK; /* 0x11c */
2254     volatile unsigned int reserved_6[3]; /* 0x120~0x128, 3 index */
2255     volatile U_CIL_FSM1_LINK CIL_FSM1_LINK; /* 0x12c */
2256     volatile U_SKEW_CAL_LENGTH0_LINK SKEW_CAL_LENGTH0_LINK; /* 0x130 */
2257     volatile U_SKEW_CAL_LENGTH1_LINK SKEW_CAL_LENGTH1_LINK; /* 0x134 */
2258     volatile unsigned int reserved_7[46]; /* 0x138~0x1ec, 46 index */
2259     volatile U_MIPI_CIL_INT_RAW_LINK MIPI_CIL_INT_RAW_LINK; /* 0x1f0 */
2260     volatile U_MIPI_CIL_INT_LINK MIPI_CIL_INT_LINK; /* 0x1f4 */
2261     volatile U_MIPI_CIL_INT_MSK_LINK MIPI_CIL_INT_MSK_LINK; /* 0x1f8 */
2262     volatile unsigned int reserved_8; /* 0x1fc */
2263 } mipi_rx_phy_cfg_t;
2264 
2265 typedef struct {
2266     volatile U_HS_MODE_SELECT HS_MODE_SELECT; /* 0x800 */
2267     volatile unsigned int reserved_0; /* 0x804 */
2268     volatile U_PHY_EN PHY_EN; /* 0x808 */
2269     volatile U_LANE_EN LANE_EN; /* 0x80c */
2270     volatile U_PHY_CIL_CTRL PHY_CIL_CTRL; /* 0x810 */
2271     volatile unsigned int reserved_1; /* 0x814 */
2272     volatile U_PHYCFG_MODE PHYCFG_MODE; /* 0x818 */
2273     volatile U_PHYCFG_EN PHYCFG_EN; /* 0x81c */
2274     volatile U_CHN0_MEM_CTRL CHN0_MEM_CTRL; /* 0x820 */
2275     volatile U_CHN0_CLR_EN CHN0_CLR_EN; /* 0x824 */
2276     volatile U_CHN1_MEM_CTRL CHN1_MEM_CTRL; /* 0x828 */
2277     volatile U_CHN1_CLR_EN CHN1_CLR_EN; /* 0x82c */
2278     volatile unsigned int reserved_2[20]; /* 0x830~0x87c, 20 index */
2279     volatile U_MIPI_TEST_PHY MIPI_TEST_PHY; /* 0x880 */
2280     volatile unsigned int reserved_3[31]; /* 0x884~0x8fc, 31 index */
2281     volatile U_COLORBAR_CTRL_LINK0 COLORBAR_CTRL_LINK0; /* 0x900 */
2282     volatile U_COLORBAR_INIT_LINK0 COLORBAR_INIT_LINK0; /* 0x904 */
2283     volatile U_COLORBAR_V_BLK_LINK0 COLORBAR_V_BLK_LINK0; /* 0x908 */
2284     volatile U_COLORBAR_H_BLK_LINK0 COLORBAR_H_BLK_LINK0; /* 0x90c */
2285     volatile U_COLORBAR_IMG_SIZE_LINK0 COLORBAR_IMG_SIZE_LINK0; /* 0x910 */
2286     volatile U_COLORBAR_SYNC_CODE0_LINK0 COLORBAR_SYNC_CODE0_LINK0; /* 0x914 */
2287     volatile U_COLORBAR_SYNC_CODE1_LINK0 COLORBAR_SYNC_CODE1_LINK0; /* 0x918 */
2288     volatile unsigned int reserved_4[57]; /* 0x91c~0x9fc, 57 index */
2289     volatile U_PHY0_TEST_OUT PHY0_TEST_OUT; /* 0xa00 */
2290     volatile unsigned int reserved_5[379]; /* 0xa04~0xfec, 379 index */
2291     volatile U_MIPI_INT_RAW MIPI_INT_RAW; /* 0xff0 */
2292     volatile U_MIPI_INT_ST MIPI_INT_ST; /* 0xff4 */
2293     volatile U_MIPI_INT_MSK MIPI_INT_MSK; /* 0xff8 */
2294     volatile unsigned int reserved_6; /* 0xffc */
2295 } mipi_rx_sys_regs_t;
2296 
2297 typedef struct {
2298     volatile unsigned int reserved_0; /* 0x1000 */
2299     volatile U_MIPI_LANES_NUM MIPI_LANES_NUM; /* 0x1004 */
2300     volatile unsigned int reserved_1; /* 0x1008 */
2301     volatile U_MIPI_MAIN_INT_ST MIPI_MAIN_INT_ST; /* 0x100c */
2302     volatile U_MIPI_DI_1 MIPI_DI_1; /* 0x1010 */
2303     volatile U_MIPI_DI_2 MIPI_DI_2; /* 0x1014 */
2304     volatile unsigned int reserved_2[18]; /* 0x1018~0x105c, 18 index */
2305     volatile U_MIPI_PKT_INTR_ST MIPI_PKT_INTR_ST; /* 0x1060 */
2306     volatile U_MIPI_PKT_INTR_MSK MIPI_PKT_INTR_MSK; /* 0x1064 */
2307     volatile U_MIPI_PKT_INTR_FORCE MIPI_PKT_INTR_FORCE; /* 0x1068 */
2308     volatile unsigned int reserved_3; /* 0x106c */
2309     volatile U_MIPI_PKT_INTR2_ST MIPI_PKT_INTR2_ST; /* 0x1070 */
2310     volatile U_MIPI_PKT_INTR2_MSK MIPI_PKT_INTR2_MSK; /* 0x1074 */
2311     volatile U_MIPI_PKT_INTR2_FORCE MIPI_PKT_INTR2_FORCE; /* 0x1078 */
2312     volatile unsigned int reserved_4; /* 0x107c */
2313     volatile U_MIPI_FRAME_INTR_ST MIPI_FRAME_INTR_ST; /* 0x1080 */
2314     volatile U_MIPI_FRAME_INTR_MSK MIPI_FRAME_INTR_MSK; /* 0x1084 */
2315     volatile U_MIPI_FRAME_INTR_FORCE MIPI_FRAME_INTR_FORCE; /* 0x1088 */
2316     volatile unsigned int reserved_5; /* 0x108c */
2317     volatile U_MIPI_LINE_INTR_ST MIPI_LINE_INTR_ST; /* 0x1090 */
2318     volatile U_MIPI_LINE_INTR_MSK MIPI_LINE_INTR_MSK; /* 0x1094 */
2319     volatile U_MIPI_LINE_INTR_FORCE MIPI_LINE_INTR_FORCE; /* 0x1098 */
2320     volatile unsigned int reserved_6[25]; /* 0x109c~0x10fc, 25 index */
2321     volatile U_MIPI_USERDEF_DT MIPI_USERDEF_DT; /* 0x1100 */
2322     volatile U_MIPI_USER_DEF MIPI_USER_DEF; /* 0x1104 */
2323     volatile U_MIPI_CTRL_MODE_HS MIPI_CTRL_MODE_HS; /* 0x1108 */
2324     volatile U_MIPI_VHEND_DELAY MIPI_VHEND_DELAY; /* 0x110c */
2325     volatile unsigned int reserved_7[60]; /* 0x1110~0x11fc, 60 index */
2326     volatile U_MIPI_DOL_ID_CODE0 MIPI_DOL_ID_CODE0; /* 0x1200 */
2327     volatile U_MIPI_DOL_ID_CODE1 MIPI_DOL_ID_CODE1; /* 0x1204 */
2328     volatile U_MIPI_DOL_ID_CODE2 MIPI_DOL_ID_CODE2; /* 0x1208 */
2329     volatile unsigned int reserved_8; /* 0x120c */
2330     volatile U_MIPI_CROP_START_CHN0 MIPI_CROP_START_CHN0; /* 0x1210 */
2331     volatile U_MIPI_CROP_START_CHN1 MIPI_CROP_START_CHN1; /* 0x1214 */
2332     volatile U_MIPI_CROP_START_CHN2 MIPI_CROP_START_CHN2; /* 0x1218 */
2333     volatile U_MIPI_CROP_START_CHN3 MIPI_CROP_START_CHN3; /* 0x121c */
2334     volatile unsigned int reserved_9; /* 0x1220 */
2335     volatile U_MIPI_IMGSIZE MIPI_IMGSIZE; /* 0x1224 */
2336     volatile unsigned int reserved_10[2]; /* 0x1228~0x122c, 2 index */
2337     volatile U_MIPI_CTRL_MODE_PIXEL MIPI_CTRL_MODE_PIXEL; /* 0x1230 */
2338     volatile unsigned int reserved_11[3]; /* 0x1234~0x123c, 3 index */
2339     volatile U_MIPI_DUMMY_PIX_REG MIPI_DUMMY_PIX_REG; /* 0x1240 */
2340     volatile U_MIPI_YUVEVEN_THOLD MIPI_YUVEVEN_THOLD; /* 0x1244 */
2341     volatile unsigned int reserved_12[2]; /* 0x1248~0x124c, 2 index */
2342     volatile U_MIPI_IMGSIZE0_STATIS MIPI_IMGSIZE0_STATIS; /* 0x1250 */
2343     volatile U_MIPI_IMGSIZE1_STATIS MIPI_IMGSIZE1_STATIS; /* 0x1254 */
2344     volatile U_MIPI_IMGSIZE2_STATIS MIPI_IMGSIZE2_STATIS; /* 0x1258 */
2345     volatile U_MIPI_IMGSIZE3_STATIS MIPI_IMGSIZE3_STATIS; /* 0x125c */
2346     volatile unsigned int reserved_13[36]; /* 0x1260~0x12ec, 36 index */
2347     volatile U_MIPI_CTRL_INT_RAW MIPI_CTRL_INT_RAW; /* 0x12f0 */
2348     volatile U_MIPI_CTRL_INT MIPI_CTRL_INT; /* 0x12f4 */
2349     volatile U_MIPI_CTRL_INT_MSK MIPI_CTRL_INT_MSK; /* 0x12f8 */
2350     volatile unsigned int reserved_14; /* 0x12fc */
2351 } mipi_ctrl_regs_t;
2352 
2353 typedef struct {
2354     volatile U_LVDS_LANE_SOF_01 LVDS_LANE_SOF_01; /* 0x1320 */
2355     volatile U_LVDS_LANE_SOF_23 LVDS_LANE_SOF_23; /* 0x1324 */
2356     volatile U_LVDS_LANE_EOF_01 LVDS_LANE_EOF_01; /* 0x1328 */
2357     volatile U_LVDS_LANE_EOF_23 LVDS_LANE_EOF_23; /* 0x132c */
2358     volatile U_LVDS_LANE_SOL_01 LVDS_LANE_SOL_01; /* 0x1330 */
2359     volatile U_LVDS_LANE_SOL_23 LVDS_LANE_SOL_23; /* 0x1334 */
2360     volatile U_LVDS_LANE_EOL_01 LVDS_LANE_EOL_01; /* 0x1338 */
2361     volatile U_LVDS_LANE_EOL_23 LVDS_LANE_EOL_23; /* 0x133c */
2362 } lvds_sync_code_cfg_t;
2363 
2364 typedef struct {
2365     volatile U_LVDS_WDR LVDS_WDR; /* 0x1300 */
2366     volatile U_LVDS_DOLSCD_HBLK LVDS_DOLSCD_HBLK; /* 0x1304 */
2367     volatile U_LVDS_CTRL LVDS_CTRL; /* 0x1308 */
2368     volatile U_LVDS_IMGSIZE LVDS_IMGSIZE; /* 0x130c */
2369     volatile U_LVDS_CROP_START0 LVDS_CROP_START0; /* 0x1310 */
2370     volatile U_LVDS_CROP_START1 LVDS_CROP_START1; /* 0x1314 */
2371     volatile U_LVDS_CROP_START2 LVDS_CROP_START2; /* 0x1318 */
2372     volatile U_LVDS_CROP_START3 LVDS_CROP_START3; /* 0x131c */
2373     volatile lvds_sync_code_cfg_t lvds_this_frame_sync_code[16]; /* 0x1320~0x151c, 16 index */
2374     volatile lvds_sync_code_cfg_t lvds_next_frame_sync_code[16]; /* 0x1520~0x171c, 16 index */
2375     volatile U_LVDS_LI_WORD0 LVDS_LI_WORD0; /* 0x1720 */
2376     volatile U_LVDS_LI_WORD1 LVDS_LI_WORD1; /* 0x1724 */
2377     volatile U_LVDS_LI_WORD2 LVDS_LI_WORD2; /* 0x1728 */
2378     volatile U_LVDS_LI_WORD3 LVDS_LI_WORD3; /* 0x172c */
2379     volatile U_LVDS_SYNC_BORD0 LVDS_SYNC_BORD0; /* 0x1730 */
2380     volatile U_LVDS_SYNC_BORD1 LVDS_SYNC_BORD1; /* 0x1734 */
2381     volatile U_LVDS_SYNC_BORD2 LVDS_SYNC_BORD2; /* 0x1738 */
2382     volatile U_LVDS_SYNC_BORD3 LVDS_SYNC_BORD3; /* 0x173c */
2383     volatile U_LVDS_LANE_IMGSIZE_STATIS LVDS_LANE_IMGSIZE_STATIS[16]; /* 0x1740~0x177c, 16 index */
2384     volatile U_LVDS_IMGSIZE0_STATIS LVDS_IMGSIZE0_STATIS; /* 0x1780 */
2385     volatile U_LVDS_IMGSIZE1_STATIS LVDS_IMGSIZE1_STATIS; /* 0x1784 */
2386     volatile U_LVDS_IMGSIZE2_STATIS LVDS_IMGSIZE2_STATIS; /* 0x1788 */
2387     volatile U_LVDS_IMGSIZE3_STATIS LVDS_IMGSIZE3_STATIS; /* 0x178c */
2388     volatile U_LVDS_LANE_ORDERS0 LVDS_LANE_ORDERS0; /* 0x1790 */
2389     volatile unsigned int reserved_0[3]; /* 0x1794~0x179c, 3 index */
2390     volatile U_LVDS_OUTPUT_PIX_NUM LVDS_OUTPUT_PIX_NUM; /* 0x17a0 */
2391     volatile unsigned int reserved_1[19]; /* 0x17a4~0x17ec, 19 index */
2392     volatile U_LVDS_CTRL_INT_RAW LVDS_CTRL_INT_RAW; /* 0x17f0 */
2393     volatile U_LVDS_CTRL_INT LVDS_CTRL_INT; /* 0x17f4 */
2394     volatile U_LVDS_CTRL_INT_MSK LVDS_CTRL_INT_MSK; /* 0x17f8 */
2395     volatile unsigned int reserved_2; /* 0x17fc */
2396     volatile U_LANE_ID0_CHN LANE_ID0_CHN0; /* 0x1800 */
2397     volatile unsigned int reserved_3[59]; /* 0x1804~0x18ec, 59 index */
2398     volatile U_ALIGN0_INT_RAW ALIGN0_INT_RAW; /* 0x18f0 */
2399     volatile U_ALIGN0_INT ALIGN0_INT; /* 0x18f4 */
2400     volatile U_ALIGN0_INT_MSK ALIGN0_INT_MSK; /* 0x18f8 */
2401     volatile unsigned int reserved_4[445]; /* 0x18fc~0x1fec, 445 index */
2402     volatile U_CHN_INT_RAW CHN_INT_RAW; /* 0x1ff0 */
2403     volatile U_CHN_INT CHN_INT; /* 0x1ff4 */
2404     volatile U_CHN_INT_MASK CHN_INT_MASK; /* 0x1ff8 */
2405     volatile unsigned int reserved_5; /* 0x1ffc */
2406 } lvds_ctrl_regs_t;
2407 
2408 typedef struct {
2409     mipi_ctrl_regs_t mipi_ctrl_regs; /* 0x1004 ~ 0x12fc */
2410     lvds_ctrl_regs_t lvds_ctrl_regs; /* 0x1300 ~ 0x1ffc */
2411 } mipi_rx_ctrl_regs_t;
2412 
2413 /* ============================================================================== */
2414 /* Define the global struct */
2415 typedef struct {
2416     mipi_rx_phy_cfg_t mipi_rx_phy_cfg[1]; /* 0x0 ~ 0x1fc */
2417     volatile unsigned int reserved_0[384]; /* 0x200 ~ 0x7fc, 384 index */
2418     mipi_rx_sys_regs_t mipi_rx_sys_regs; /* 0x800 ~ 0xffc */
2419     mipi_rx_ctrl_regs_t mipi_rx_ctrl_regs[2]; /* 0x1000 ~ 0x1ffc, 2 index */
2420 } mipi_rx_regs_type_t;
2421 
2422 #endif /* __MIPI_RX_REG_H__ */
2423