Subversion Repositories freemyipod

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
892 theseven 1
#ifndef __CORESYNOPSYSOTG_REGS_H__
2
#define __CORESYNOPSYSOTG_REGS_H__
3
 
4
#include "global.h"
5
 
6
 
7
union synopsysotg_gotgctl
8
{
9
    uint32_t d32;
10
    struct
11
    {
12
        uint32_t sesreqscs :1;
13
        uint32_t sesreq :1;
14
        uint32_t reserved2_7 :6;
15
        uint32_t hstnegscs :1;
16
        uint32_t hnpreq :1;
17
        uint32_t hstsethnpen :1;
18
        uint32_t devhnpen :1;
19
        uint32_t reserved12_15 :4;
20
        uint32_t conidsts :1;
21
        uint32_t reserved17 :1;
22
        uint32_t asesvld :1;
23
        uint32_t bsesvld :1;
24
        uint32_t currmod :1;
25
        uint32_t reserved21_31 :11;
26
    } b;
27
};
28
 
29
union synopsysotg_gotgint
30
{
31
    uint32_t d32;
32
    struct
33
    {
34
        uint32_t reserved0_1 :2;
35
        uint32_t sesenddet :1;
36
        uint32_t reserved3_7 :5;
37
        uint32_t sesreqsucstschng :1;
38
        uint32_t hstnegsucstschng :1;
39
        uint32_t reserver10_16 :7;
40
        uint32_t hstnegdet :1;
41
        uint32_t adevtoutchng :1;
42
        uint32_t debdone :1;
43
        uint32_t reserved31_20 :12;
44
    } b;
45
};
46
 
47
union synopsysotg_gahbcfg
48
{
49
    uint32_t d32;
50
    struct
51
    {
52
        uint32_t glblintrmsk :1;
53
        uint32_t hburstlen :4;
54
        uint32_t dmaenable :1;
55
        uint32_t reserved :1;
56
        uint32_t nptxfemplvl_txfemplvl :1;
57
        uint32_t ptxfemplvl :1;
58
        uint32_t reserved9_31 :23;
59
    } b;
60
};
61
 
62
union synopsysotg_gusbcfg
63
{
64
    uint32_t d32;
65
    struct
66
    {
67
        uint32_t toutcal :3;
68
        uint32_t phyif :1;
69
        uint32_t ulpi_utmi_sel :1;
70
        uint32_t fsintf :1;
71
        uint32_t physel :1;
72
        uint32_t ddrsel :1;
73
        uint32_t srpcap :1;
74
        uint32_t hnpcap :1;
75
        uint32_t usbtrdtim :4;
76
        uint32_t nptxfrwnden :1;
77
        uint32_t phylpwrclksel :1;
78
        uint32_t otgutmifssel :1;
79
        uint32_t ulpi_fsls :1;
80
        uint32_t ulpi_auto_res :1;
81
        uint32_t ulpi_clk_sus_m :1;
82
        uint32_t ulpi_ext_vbus_drv :1;
83
        uint32_t ulpi_int_vbus_indicator :1;
84
        uint32_t term_sel_dl_pulse :1;
85
        uint32_t reserved :6;
86
        uint32_t force_host :1;
87
        uint32_t force_dev :1;
88
        uint32_t corrupt_tx :1;
89
    } b;
90
};
91
 
92
union synopsysotg_grstctl
93
{
94
    uint32_t d32;
95
    struct
96
    {
97
        uint32_t csftrst :1;
98
        uint32_t hsftrst :1;
99
        uint32_t hstfrm :1;
100
        uint32_t intknqflsh :1;
101
        uint32_t rxfflsh :1;
102
        uint32_t txfflsh :1;
103
        uint32_t txfnum :5;
104
        uint32_t reserved11_29 :19;
105
        uint32_t dmareq :1;
106
        uint32_t ahbidle :1;
107
    } b;
108
};
109
 
110
union synopsysotg_gintmsk
111
{
112
    uint32_t d32;
113
    struct
114
    {
115
        uint32_t reserved0 :1;
116
        uint32_t modemismatch :1;
117
        uint32_t otgintr :1;
118
        uint32_t sofintr :1;
119
        uint32_t rxstsqlvl :1;
120
        uint32_t nptxfempty :1;
121
        uint32_t ginnakeff :1;
122
        uint32_t goutnakeff :1;
123
        uint32_t reserved8 :1;
124
        uint32_t i2cintr :1;
125
        uint32_t erlysuspend :1;
126
        uint32_t usbsuspend :1;
127
        uint32_t usbreset :1;
128
        uint32_t enumdone :1;
129
        uint32_t isooutdrop :1;
130
        uint32_t eopframe :1;
131
        uint32_t reserved16 :1;
132
        uint32_t epmismatch :1;
133
        uint32_t inepintr :1;
134
        uint32_t outepintr :1;
135
        uint32_t incomplisoin :1;
136
        uint32_t incomplisoout :1;
137
        uint32_t reserved22_23 :2;
138
        uint32_t portintr :1;
139
        uint32_t hcintr :1;
140
        uint32_t ptxfempty :1;
141
        uint32_t reserved27 :1;
142
        uint32_t conidstschng :1;
143
        uint32_t disconnect :1;
144
        uint32_t sessreqintr :1;
145
        uint32_t wkupintr :1;
146
    } b;
147
};
148
 
149
union synopsysotg_gintsts
150
{
151
    uint32_t d32;
152
    struct
153
    {
154
        uint32_t curmode :1;
155
        uint32_t modemismatch :1;
156
        uint32_t otgintr :1;
157
        uint32_t sofintr :1;
158
        uint32_t rxstsqlvl :1;
159
        uint32_t nptxfempty :1;
160
        uint32_t ginnakeff :1;
161
        uint32_t goutnakeff :1;
162
        uint32_t reserved8 :1;
163
        uint32_t i2cintr :1;
164
        uint32_t erlysuspend :1;
165
        uint32_t usbsuspend :1;
166
        uint32_t usbreset :1;
167
        uint32_t enumdone :1;
168
        uint32_t isooutdrop :1;
169
        uint32_t eopframe :1;
170
        uint32_t intimerrx :1;
171
        uint32_t epmismatch :1;
172
        uint32_t inepintr :1;
173
        uint32_t outepintr :1;
174
        uint32_t incomplisoin :1;
175
        uint32_t incomplisoout :1;
176
        uint32_t reserved22_23 :2;
177
        uint32_t portintr :1;
178
        uint32_t hcintr :1;
179
        uint32_t ptxfempty :1;
180
        uint32_t reserved27 :1;
181
        uint32_t conidstschng :1;
182
        uint32_t disconnect :1;
183
        uint32_t sessreqintr :1;
184
        uint32_t wkupintr :1;
185
    } b;
186
};
187
 
188
union synopsysotg_drxsts
189
{
190
    uint32_t d32;
191
    struct
192
    {
193
        uint32_t epnum :4;
194
        uint32_t bcnt :11;
195
        uint32_t dpid :2;
196
        uint32_t pktsts :4;
197
        uint32_t fn :4;
198
        uint32_t reserved :7;
199
    } b;
200
};
201
 
202
union synopsysotg_grxfsts
203
{
204
    uint32_t d32;
205
    struct
206
    {
207
        uint32_t chnum :4;
208
        uint32_t bcnt :11;
209
        uint32_t dpid :2;
210
        uint32_t pktsts :4;
211
        uint32_t reserved :11;
212
    } b;
213
};
214
 
215
union synopsysotg_txfsiz
216
{
217
    uint32_t d32;
218
    struct
219
    {
220
        uint32_t startaddr :16;
221
        uint32_t depth :16;
222
    } b;
223
};
224
 
225
union synopsysotg_rxfsiz
226
{
227
    uint32_t d32;
228
    struct
229
    {
230
        uint32_t depth :16;
231
        uint32_t reserved :16;
232
    } b;
233
};
234
 
235
union synopsysotg_hnptxsts
236
{
237
    uint32_t d32;
238
    struct
239
    {
240
        uint32_t nptxfspcavail :16;
241
        uint32_t nptxqspcavail :8;
242
        uint32_t nptxqtop_terminate :1;
243
        uint32_t nptxqtop_timer :2;
244
        uint32_t nptxqtop :2;
245
        uint32_t chnum :2;
246
        uint32_t reserved :1;
247
    } b;
248
};
249
 
250
union synopsysotg_dtxfstsn
251
{
252
    uint32_t d32;
253
    struct
254
    {
255
        uint32_t txfspcavail :16;
256
        uint32_t reserved :16;
257
    } b;
258
};
259
 
260
union synopsysotg_gi2cctl
261
{
262
    uint32_t d32;
263
    struct
264
    {
265
        uint32_t rwdata :8;
266
        uint32_t regaddr :8;
267
        uint32_t addr :7;
268
        uint32_t i2cen :1;
269
        uint32_t ack :1;
270
        uint32_t i2csuspctl :1;
271
        uint32_t i2cdevaddr :2;
272
        uint32_t dat_se0 :1;
273
        uint32_t reserved :1;
274
        uint32_t rw :1;
275
        uint32_t bsydne :1;
276
    } b;
277
};
278
 
279
union synopsysotg_gccfg
280
{
281
    uint32_t d32;
282
    struct
283
    {
284
        uint32_t reserved_in :16;
285
        uint32_t pwdn :1;
286
        uint32_t i2cifen :1;
287
        uint32_t vbussensinga :1;
288
        uint32_t vbussensingb :1;
289
        uint32_t sofouten :1;
290
        uint32_t disablevbussensing :1;
291
        uint32_t reserved_out :10;
292
    } b;
293
};
294
 
295
union synopsysotg_ghwcfg1
296
{
297
    uint32_t d32;
298
    struct
299
    {
300
        uint32_t ep0 :2;
301
        uint32_t ep1 :2;
302
        uint32_t ep2 :2;
303
        uint32_t ep3 :2;
304
        uint32_t ep4 :2;
305
        uint32_t ep5 :2;
306
        uint32_t ep6 :2;
307
        uint32_t ep7 :2;
308
        uint32_t ep8 :2;
309
        uint32_t ep9 :2;
310
        uint32_t ep10 :2;
311
        uint32_t ep11 :2;
312
        uint32_t ep12 :2;
313
        uint32_t ep13 :2;
314
        uint32_t ep14 :2;
315
        uint32_t ep15 :2;
316
    } b;
317
};
318
 
319
union synopsysotg_ghwcfg2
320
{
321
    uint32_t d32;
322
    struct
323
    {
324
        uint32_t otgmode :3;
325
        uint32_t otgarch :2;
326
        uint32_t singpnt :1;
327
        uint32_t hsphytype :2;
328
        uint32_t fsphytype :2;
329
        uint32_t numdeveps :4;
330
        uint32_t numhstchnl :4;
331
        uint32_t periosupport :1;
332
        uint32_t dynfifosizing :1;
333
        uint32_t reserved_20_21 :2;
334
        uint32_t nptxqdepth :2;
335
        uint32_t ptxqdepth :2;
336
        uint32_t tknqdepth :5;
337
        uint32_t reserved_31_31 :1;
338
    } b;
339
};
340
 
341
union synopsysotg_ghwcfg3
342
{
343
    uint32_t d32;
344
    struct
345
    {
346
        uint32_t xfersizewidth :4;
347
        uint32_t pktsizewidth :3;
348
        uint32_t otgen :1;
349
        uint32_t i2c_selection :1;
350
        uint32_t vendor_control_interface_support :1;
351
        uint32_t optfeature :1;
352
        uint32_t rsttype :1;
353
        uint32_t ahbphysync :1;
354
        uint32_t reserved_13_15 :3;
355
        uint32_t dfifodepth :16;
356
    } b;
357
};
358
 
359
union synopsysotg_ghwcfg4
360
{
361
    uint32_t d32;
362
    struct
363
    {
364
        uint32_t numdevperioeps :4;
365
        uint32_t enablepwropt :1;
366
        uint32_t ahbfreq :1;
367
        uint32_t reserved_6_13 :8;
368
        uint32_t phydatawidth :2;
369
        uint32_t numctleps :4;
370
        uint32_t iddgfltr :1;
371
        uint32_t vbusvalidfltr :1;
372
        uint32_t avalidfltr :1;
373
        uint32_t bvalidfltr :1;
374
        uint32_t sessendfltr :1;
375
        uint32_t endedtrfifo :1;
376
        uint32_t numdevmodinend :4;
377
        uint32_t reserved_30_31 :2;
378
    } b;
379
};
380
 
381
union synopsysotg_dcfg
382
{
383
    uint32_t d32;
384
    struct
385
    {
386
        uint32_t devspd :2;
387
        uint32_t nzstsouthshk :1;
388
        uint32_t reserved3 :1;
389
        uint32_t devaddr :7;
390
        uint32_t perfrint :2;
391
        uint32_t reserved13_17 :5;
392
        uint32_t epmscnt :4;
393
    } b;
394
};
395
 
396
union synopsysotg_dctl
397
{
398
    uint32_t d32;
399
    struct
400
    {
401
        uint32_t rmtwkupsig :1;
402
        uint32_t sftdiscon :1;
403
        uint32_t gnpinnaksts :1;
404
        uint32_t goutnaksts :1;
405
        uint32_t tstctl :3;
406
        uint32_t sgnpinnak :1;
407
        uint32_t cgnpinnak :1;
408
        uint32_t sgoutnak :1;
409
        uint32_t cgoutnak :1;
410
        uint32_t reserved :21;
411
    } b;
412
};
413
 
414
union synopsysotg_dsts
415
{
416
    uint32_t d32;
417
    struct
418
    {
419
        uint32_t suspsts :1;
420
        uint32_t enumspd :2;
421
        uint32_t errticerr :1;
422
        uint32_t reserved4_7 :4;
423
        uint32_t soffn :14;
424
        uint32_t reserved22_31 :10;
425
    } b;
426
};
427
 
428
union synopsysotg_diepintn
429
{
430
    uint32_t d32;
431
    struct
432
    {
433
        uint32_t xfercompl :1;
434
        uint32_t epdisabled :1;
435
        uint32_t ahberr :1;
436
        uint32_t timeout :1;
437
        uint32_t intktxfemp :1;
438
        uint32_t intknepmis :1;
439
        uint32_t inepnakeff :1;
440
        uint32_t emptyintr :1;
441
        uint32_t txfifoundrn :1;
442
        uint32_t reserved08_31 :23;
443
    } b;
444
};
445
 
446
union synopsysotg_doepintn
447
{
448
    uint32_t d32;
449
    struct
450
    {
451
        uint32_t xfercompl :1;
452
        uint32_t epdisabled :1;
453
        uint32_t ahberr :1;
454
        uint32_t setup :1;
455
        uint32_t reserved04_31 :28;
456
    } b;
457
};
458
 
459
union synopsysotg_daint
460
{
461
    uint32_t d32;
462
    struct
463
    {
464
        uint32_t in :16;
465
        uint32_t out :16;
466
    } ep;
467
};
468
 
469
union synopsysotg_dthrctl
470
{
471
    uint32_t d32;
472
    struct
473
    {
474
        uint32_t non_iso_thr_en :1;
475
        uint32_t iso_thr_en :1;
476
        uint32_t tx_thr_len :9;
477
        uint32_t reserved11_15 :5;
478
        uint32_t rx_thr_en :1;
479
        uint32_t rx_thr_len :9;
480
        uint32_t reserved26 :1;
481
        uint32_t arb_park_en :1;
482
        uint32_t reserved28_31 :4;
483
    } b;
484
};
485
 
486
union synopsysotg_depctl
487
{
488
    uint32_t d32;
489
    struct
490
    {
491
        uint32_t mps :11;
492
        uint32_t nextep :4;
493
        uint32_t usbactep :1;
494
        uint32_t dpid :1;
495
        uint32_t naksts :1;
496
        uint32_t eptype :2;
497
        uint32_t snp :1;
498
        uint32_t stall :1;
499
        uint32_t txfnum :4;
500
        uint32_t cnak :1;
501
        uint32_t snak :1;
502
        uint32_t setd0pid :1;
503
        uint32_t setd1pid :1;
504
        uint32_t epdis :1;
505
        uint32_t epena :1;
506
    } b;
507
};
508
union synopsysotg_depxfrsiz
509
{
510
    uint32_t d32;
511
    struct
512
    {
513
        uint32_t xfersize :19;
514
        uint32_t pktcnt :10;
515
        uint32_t mc :2;
516
        uint32_t reserved :1;
517
    } b;
518
};
519
 
520
union synopsysotg_dep0xfrsiz
521
{
522
    uint32_t d32;
523
    struct
524
    {
525
        uint32_t xfersize :7;
526
        uint32_t reserved7_18 :12;
527
        uint32_t pktcnt :2;
528
        uint32_t reserved21_28 :8;
529
        uint32_t supcnt :2;
530
        uint32_t reserved31;
531
    } b;
532
};
533
 
534
union synopsysotg_hcfg
535
{
536
    uint32_t d32;
537
    struct
538
    {
539
        uint32_t fslspclksel :2;
540
        uint32_t fslssupp :1;
541
    } b;
542
};
543
 
544
union synopsysotg_hfrmintrvl
545
{
546
    uint32_t d32;
547
    struct
548
    {
549
        uint32_t frint :16;
550
        uint32_t reserved :16;
551
    } b;
552
};
553
 
554
union synopsysotg_hfnum
555
{
556
    uint32_t d32;
557
    struct
558
    {
559
        uint32_t frnum :16;
560
        uint32_t frrem :16;
561
    } b;
562
};
563
 
564
union synopsysotg_hptxsts
565
{
566
    uint32_t d32;
567
    struct
568
    {
569
        uint32_t ptxfspcavail :16;
570
        uint32_t ptxqspcavail :8;
571
        uint32_t ptxqtop_terminate :1;
572
        uint32_t ptxqtop_timer :2;
573
        uint32_t ptxqtop :2;
574
        uint32_t chnum :2;
575
        uint32_t ptxqtop_odd :1;
576
    } b;
577
};
578
 
579
union synopsysotg_hprt0
580
{
581
    uint32_t d32;
582
    struct
583
    {
584
        uint32_t prtconnsts :1;
585
        uint32_t prtconndet :1;
586
        uint32_t prtena :1;
587
        uint32_t prtenchng :1;
588
        uint32_t prtovrcurract :1;
589
        uint32_t prtovrcurrchng :1;
590
        uint32_t prtres :1;
591
        uint32_t prtsusp :1;
592
        uint32_t prtrst :1;
593
        uint32_t reserved9 :1;
594
        uint32_t prtlnsts :2;
595
        uint32_t prtpwr :1;
596
        uint32_t prttstctl :4;
597
        uint32_t prtspd :2;
598
        uint32_t reserved19_31 :13;
599
    } b;
600
};
601
 
602
union synopsysotg_haint
603
{
604
    uint32_t d32;
605
    struct
606
    {
607
        uint32_t chint :16;
608
        uint32_t reserved :16;
609
    } b;
610
};
611
 
612
union synopsysotg_haintmsk
613
{
614
    uint32_t d32;
615
    struct
616
    {
617
        uint32_t chint :16;
618
        uint32_t reserved :16;
619
    } b;
620
};
621
 
622
union synopsysotg_hcchar
623
{
624
    uint32_t d32;
625
    struct
626
    {
627
        uint32_t mps :11;
628
        uint32_t epnum :4;
629
        uint32_t epdir :1;
630
        uint32_t reserved :1;
631
        uint32_t lspddev :1;
632
        uint32_t eptype :2;
633
        uint32_t multicnt :2;
634
        uint32_t devaddr :7;
635
        uint32_t oddfrm :1;
636
        uint32_t chdis :1;
637
        uint32_t chen :1;
638
    } b;
639
};
640
 
641
union synopsysotg_hcsplt
642
{
643
    uint32_t d32;
644
    struct
645
    {
646
        uint32_t prtaddr :7;
647
        uint32_t hubaddr :7;
648
        uint32_t xactpos :2;
649
        uint32_t compsplt :1;
650
        uint32_t reserved :14;
651
        uint32_t spltena :1;
652
    } b;
653
};
654
 
655
union synopsysotg_hcintn
656
{
657
    uint32_t d32;
658
    struct
659
    {
660
        uint32_t xfercompl :1;
661
        uint32_t chhltd :1;
662
        uint32_t ahberr :1;
663
        uint32_t stall :1;
664
        uint32_t nak :1;
665
        uint32_t ack :1;
666
        uint32_t nyet :1;
667
        uint32_t xacterr :1;
668
        uint32_t bblerr :1;
669
        uint32_t frmovrun :1;
670
        uint32_t datatglerr :1;
671
        uint32_t reserved :21;
672
    } b;
673
};
674
 
675
union synopsysotg_hctsizn
676
{
677
    uint32_t d32;
678
    struct
679
    {
680
        uint32_t xfersize :19;
681
        uint32_t pktcnt :10;
682
        uint32_t pid :2;
683
        uint32_t dopng :1;
684
    } b;
685
};
686
 
687
union synopsysotg_hcgintmsk
688
{
689
    uint32_t d32;
690
    struct
691
    {
692
        uint32_t xfercompl :1;
693
        uint32_t chhltd :1;
694
        uint32_t ahberr :1;
695
        uint32_t stall :1;
696
        uint32_t nak :1;
697
        uint32_t ack :1;
698
        uint32_t nyet :1;
699
        uint32_t xacterr :1;
700
        uint32_t bblerr :1;
701
        uint32_t frmovrun :1;
702
        uint32_t datatglerr :1;
703
        uint32_t reserved :21;
704
    } b;
705
};
706
 
707
union synopsysotg_pcgcctl
708
{
709
    uint32_t d32;
710
    struct
711
    {
712
        uint32_t stoppclk :1;
713
        uint32_t gatehclk :1;
714
        uint32_t reserved :30;
715
    } b;
716
};
717
 
718
struct synopsysotg_gregs
719
{
720
    volatile union synopsysotg_gotgctl gotgctl;
721
    volatile union synopsysotg_gotgint gotgint;
722
    volatile union synopsysotg_gahbcfg gahbcfg;
723
    volatile union synopsysotg_gusbcfg gusbcfg;
724
    volatile union synopsysotg_grstctl grstctl;
725
    volatile union synopsysotg_gintsts gintsts;
726
    volatile union synopsysotg_gintmsk gintmsk;
727
    volatile union synopsysotg_grxfsts grxstsr;
728
    volatile union synopsysotg_grxfsts grxstsp;
729
    volatile union synopsysotg_rxfsiz grxfsiz;
730
    volatile union synopsysotg_txfsiz dieptxf0_hnptxfsiz;
731
    volatile union synopsysotg_hnptxsts hnptxsts;
732
    volatile union synopsysotg_gi2cctl gi2cctl;
733
    volatile uint32_t reserved34;
734
    volatile union synopsysotg_gccfg gccfg;
735
    volatile uint32_t cid;
736
    volatile uint32_t gsnpsid;
737
    volatile union synopsysotg_ghwcfg1 ghwcfg1;
738
    volatile union synopsysotg_ghwcfg2 ghwcfg2;
739
    volatile union synopsysotg_ghwcfg3 ghwcfg3;
740
    volatile union synopsysotg_ghwcfg4 ghwcfg4;
741
    volatile uint32_t glpmcfg;
742
    volatile uint32_t reserved58[42];
743
    volatile union synopsysotg_txfsiz hptxfsiz;
744
    volatile union synopsysotg_txfsiz dieptxf[15];
745
};
746
 
747
struct synopsysotg_dregs
748
{
749
    volatile union synopsysotg_dcfg dcfg;
750
    volatile union synopsysotg_dctl dctl;
751
    volatile union synopsysotg_dsts dsts;
752
    volatile uint32_t reserved0c;
753
    volatile union synopsysotg_diepintn diepmsk;
754
    volatile union synopsysotg_doepintn doepmsk;
755
    volatile union synopsysotg_daint daint;
756
    volatile union synopsysotg_daint daintmsk;
757
    volatile uint32_t reserved20;
758
    volatile uint32_t reserved9;
759
    volatile uint32_t dvbusdis;
760
    volatile uint32_t dvbuspulse;
761
    volatile union synopsysotg_dthrctl dthrctl;
762
    volatile union synopsysotg_daint diepempmsk;
763
    volatile union synopsysotg_daint deachint;
764
    volatile union synopsysotg_daint deachmsk;
765
    volatile union synopsysotg_diepintn dinep1msk;
766
    volatile uint32_t reserved44[15];
767
    volatile union synopsysotg_doepintn doutep1msk;
768
};
769
 
770
struct synopsysotg_inepregs
771
{
772
    volatile union synopsysotg_depctl diepctl;
773
    volatile uint32_t reserved04;
774
    volatile union synopsysotg_diepintn diepint;
775
    volatile uint32_t reserved0c;
776
    volatile union synopsysotg_depxfrsiz dieptsiz;
777
    volatile const void* diepdma;
778
    volatile union synopsysotg_dtxfstsn dtxfsts;
779
    volatile uint32_t reserved18;
780
};
781
 
782
struct synopsysotg_outepregs
783
{
784
    volatile union synopsysotg_depctl doepctl;
785
    volatile uint32_t doutepfrm;
786
    volatile union synopsysotg_doepintn doepint;
787
    volatile uint32_t reserved0c;
788
    volatile union synopsysotg_depxfrsiz doeptsiz;
789
    volatile void* doepdma;
790
    volatile uint32_t reserved18[2];
791
};
792
 
793
struct synopsysotg_hregs
794
{
795
    volatile union synopsysotg_hcfg hcfg;
796
    volatile uint32_t hfir;
797
    volatile union synopsysotg_hfnum hfnum;
798
    volatile uint32_t reserved40c;
799
    volatile union synopsysotg_hptxsts hptxsts;
800
    volatile union synopsysotg_haint haint;
801
    volatile union synopsysotg_haintmsk haintmsk;
802
};
803
 
804
struct synopsysotg_hc_regs
805
{
806
    volatile union synopsysotg_hcchar hcchar;
807
    volatile union synopsysotg_hcsplt hcsplt;
808
    volatile union synopsysotg_hcintn hcint;
809
    volatile union synopsysotg_hcintn hcgintmsk;
810
    volatile union synopsysotg_hctsizn hctsiz;
811
    volatile void* hcdma;
812
    volatile uint32_t reserved[2];
813
};
814
 
815
struct synopsysotg_core_regs
816
{
817
    volatile struct synopsysotg_gregs gregs;
818
    volatile uint32_t reserved140[176];
819
    volatile struct synopsysotg_hregs hregs;
820
    volatile uint32_t reserved41c[9];
821
    volatile union synopsysotg_hprt0 hprt0;
822
    volatile uint32_t reserved444[47];
823
    volatile struct synopsysotg_hc_regs hc_regs[16];
824
    volatile uint32_t reserved700[64];
825
    volatile struct synopsysotg_dregs dregs;
826
    volatile uint32_t reserved884[31];
827
    volatile struct synopsysotg_inepregs inep_regs[16];
828
    volatile struct synopsysotg_outepregs outep_regs[16];
829
    volatile uint32_t reservedd00[64];
830
    volatile union synopsysotg_pcgcctl pcgcctl;
831
    volatile uint32_t reservede04[127];
832
    volatile uint32_t dfifo[16][1024];
833
    volatile uint32_t reserved11000[15360];
834
    volatile uint32_t rawfifo[32768];
835
};
836
 
837
 
838
#endif