source: rtems/c/src/lib/libcpu/powerpc/mpc55xx/include/regs.h @ 574fb67

4.104.114.9
Last change on this file since 574fb67 was 574fb67, checked in by Thomas Doerfler <Thomas.Doerfler@…>, on Jul 14, 2008 at 4:15:28 PM

updated gen83xx BSP
updated haleakala BSP
added MPC55xx BSP

  • Property mode set to 100644
File size: 151.9 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup mpc55xx
5 *
6 * @brief Register definitions for the MPC55XX microcontroller family
7 *
8 * This file is based on the mpc5566.h header file provided by Freescale Semiconductor, INC.
9 */
10
11/*
12 * Copyright (c) 2008
13 * Embedded Brains GmbH
14 * Obere Lagerstr. 30
15 * D-82178 Puchheim
16 * Germany
17 * rtems@embedded-brains.de
18 *
19 * The license and distribution terms for this file may be found in the file
20 * LICENSE in this distribution or at http://www.rtems.com/license/LICENSE.
21 */
22
23/**************************************************************************/
24/* FILE NAME: mpc5566.h                      COPYRIGHT (c) Freescale 2006 */
25/* VERSION:  1.2                                  All Rights Reserved     */
26/*                                                                        */
27/* DESCRIPTION:                                                           */
28/* This file contain all of the register and bit field definitions for    */
29/* MPC5566.                                                               */
30/*========================================================================*/
31/* UPDATE HISTORY                                                         */
32/* REV      AUTHOR      DATE       DESCRIPTION OF CHANGE                  */
33/* ---   -----------  ---------    ---------------------                  */
34/* 1.0   S. Mathieson   12/Jul/06    Initial version.                     */
35/* 1.1   S. Mathieson   28/Jul/06    Change Flexcan BCC bit to MBFEN      */
36/*                                   Add Flexcan bits WRNEN, SRXDIS,      */
37/*                                   TWRNMSK, RWRNMSK,TWRNINT,RWRNINT     */
38/* 1.2   S. Mathieson   10/Aug/06    Removed reference to FlexCAN E       */
39/*                                   SPR: L1CSR0[WAM] & L1CSR0[CORG] Added*/
40/* 1.3   S. Mathieson 30/Aug/06    SPR: L1SCR0, updated bit name from DPP */
41/*                                 to DPB to align with documentation.    */
42/**************************************************************************/
43
44#ifndef LIBCPU_POWERPC_MPC55XX_REGS_H
45#define LIBCPU_POWERPC_MPC55XX_REGS_H
46
47#include <stdint.h>
48
49#ifdef  __cplusplus
50extern "C" {
51#endif
52
53/****************************************************************************/
54/*                          MODULE : PBRIDGE_A Peripheral Bridge            */
55/****************************************************************************/
56    struct PBRIDGE_A_tag {
57        union {
58            uint32_t R;
59            struct {
60                uint32_t MBW0:1;
61                uint32_t MTR0:1;
62                uint32_t MTW0:1;
63                uint32_t MPL0:1;
64                uint32_t MBW1:1;
65                uint32_t MTR1:1;
66                uint32_t MTW1:1;
67                uint32_t MPL1:1;
68                uint32_t MBW2:1;
69                uint32_t MTR2:1;
70                uint32_t MTW2:1;
71                uint32_t MPL2:1;
72                uint32_t MBW3:1;
73                uint32_t MTR3:1;
74                uint32_t MTW3:1;
75                uint32_t MPL3:1;
76
77                uint32_t MBW4:1;       /* FEC */
78                uint32_t MTR4:1;
79                uint32_t MTW4:1;
80                uint32_t MPL4:1;
81
82                  uint32_t:4;
83
84                  uint32_t:4;
85
86                  uint32_t:4;
87            } B;
88        } MPCR;                 /* Master Privilege Control Register */
89
90        uint32_t pbridge_a_reserved2[7];
91
92        union {
93            uint32_t R;
94            struct {
95                uint32_t BW0:1;
96                uint32_t SP0:1;
97                uint32_t WP0:1;
98                uint32_t TP0:1;
99                  uint32_t:28;
100            } B;
101        } PACR0;
102
103        uint32_t pbridge_a_reserved3[7];
104
105        union {
106            uint32_t R;
107            struct {
108                uint32_t BW0:1;
109                uint32_t SP0:1;
110                uint32_t WP0:1;
111                uint32_t TP0:1;
112                uint32_t BW1:1;
113                uint32_t SP1:1;
114                uint32_t WP1:1;
115                uint32_t TP1:1;
116                uint32_t BW2:1;
117                uint32_t SP2:1;
118                uint32_t WP2:1;
119                uint32_t TP2:1;
120                  uint32_t:4;
121                uint32_t BW4:1;
122                uint32_t SP4:1;
123                uint32_t WP4:1;
124                uint32_t TP4:1;
125                  uint32_t:12;
126            } B;
127        } OPACR0;
128
129        union {
130            uint32_t R;
131            struct {
132
133                uint32_t BW0:1;        /* EMIOS */
134                uint32_t SP0:1;
135                uint32_t WP0:1;
136                uint32_t TP0:1;
137
138                  uint32_t:28;
139            } B;
140        } OPACR1;
141
142        union {
143            uint32_t R;
144            struct {
145                uint32_t BW0:1;
146                uint32_t SP0:1;
147                uint32_t WP0:1;
148                uint32_t TP0:1;
149                  uint32_t:4;
150                uint32_t BW2:1;
151                uint32_t SP2:1;
152                uint32_t WP2:1;
153                uint32_t TP2:1;
154                uint32_t BW3:1;
155                uint32_t SP3:1;
156                uint32_t WP3:1;
157                uint32_t TP3:1;
158                uint32_t BW4:1;
159                uint32_t SP4:1;
160                uint32_t WP4:1;
161                uint32_t TP4:1;
162                  uint32_t:12;
163            } B;
164        } OPACR2;
165
166    };
167
168/****************************************************************************/
169/*                          MODULE : PBRIDGE_B Peripheral Bridge            */
170/****************************************************************************/
171    struct PBRIDGE_B_tag {
172        union {
173            uint32_t R;
174            struct {
175                uint32_t MBW0:1;
176                uint32_t MTR0:1;
177                uint32_t MTW0:1;
178                uint32_t MPL0:1;
179                uint32_t MBW1:1;
180                uint32_t MTR1:1;
181                uint32_t MTW1:1;
182                uint32_t MPL1:1;
183                uint32_t MBW2:1;
184                uint32_t MTR2:1;
185                uint32_t MTW2:1;
186                uint32_t MPL2:1;
187                uint32_t MBW3:1;
188                uint32_t MTR3:1;
189                uint32_t MTW3:1;
190                uint32_t MPL3:1;
191
192                uint32_t MBW4:1;       /* FEC */
193                uint32_t MTR4:1;
194                uint32_t MTW4:1;
195                uint32_t MPL4:1;
196
197                  uint32_t:4;
198
199                  uint32_t:4;
200
201                  uint32_t:4;
202            } B;
203        } MPCR;                 /* Master Privilege Control Register */
204
205        uint32_t pbridge_b_reserved2[7];
206
207        union {
208            uint32_t R;
209            struct {
210                uint32_t BW0:1;
211                uint32_t SP0:1;
212                uint32_t WP0:1;
213                uint32_t TP0:1;
214                uint32_t BW1:1;
215                uint32_t SP1:1;
216                uint32_t WP1:1;
217                uint32_t TP1:1;
218                  uint32_t:24;
219            } B;
220        } PACR0;
221
222        uint32_t pbridge_b_reserved3;
223
224        union {
225            uint32_t R;
226            struct {
227                uint32_t BW0:1;
228                uint32_t SP0:1;
229                uint32_t WP0:1;
230                uint32_t TP0:1;
231                uint32_t BW1:1;
232                uint32_t SP1:1;
233                uint32_t WP1:1;
234                uint32_t TP1:1;
235                uint32_t BW2:1;
236                uint32_t SP2:1;
237                uint32_t WP2:1;
238                uint32_t TP2:1;
239
240                uint32_t BW3:1;        /* FEC */
241                uint32_t SP3:1;
242                uint32_t WP3:1;
243                uint32_t TP3:1;
244
245                  uint32_t:16;
246
247            } B;
248        } PACR2;
249
250        uint32_t pbridge_b_reserved4[5];
251
252        union {
253            uint32_t R;
254            struct {
255                uint32_t BW0:1;
256                uint32_t SP0:1;
257                uint32_t WP0:1;
258                uint32_t TP0:1;
259                  uint32_t:12;
260
261                uint32_t BW4:1;        /* DSPI_A */
262                uint32_t SP4:1;
263                uint32_t WP4:1;
264                uint32_t TP4:1;
265
266                uint32_t BW5:1;        /* DSPI_B */
267                uint32_t SP5:1;
268                uint32_t WP5:1;
269                uint32_t TP5:1;
270
271                uint32_t BW6:1;
272                uint32_t SP6:1;
273                uint32_t WP6:1;
274                uint32_t TP6:1;
275                uint32_t BW7:1;
276                uint32_t SP7:1;
277                uint32_t WP7:1;
278                uint32_t TP7:1;
279            } B;
280        } OPACR0;
281
282        union {
283            uint32_t R;
284            struct {
285                uint32_t:16;
286                uint32_t BW4:1;
287                uint32_t SP4:1;
288                uint32_t WP4:1;
289                uint32_t TP4:1;
290
291                uint32_t BW5:1;        /* ESCI_B */
292                uint32_t SP5:1;
293                uint32_t WP5:1;
294                uint32_t TP5:1;
295
296                  uint32_t:8;
297            } B;
298        } OPACR1;
299
300        union {
301            uint32_t R;
302            struct {
303                uint32_t BW0:1;
304                uint32_t SP0:1;
305                uint32_t WP0:1;
306                uint32_t TP0:1;
307
308                uint32_t BW1:1;        /* CAN_B */
309                uint32_t SP1:1;
310                uint32_t WP1:1;
311                uint32_t TP1:1;
312
313                uint32_t BW2:1;
314                uint32_t SP2:1;
315                uint32_t WP2:1;
316                uint32_t TP2:1;
317
318                uint32_t BW3:1;        /* CAN_D */
319                uint32_t SP3:1;
320                uint32_t WP3:1;
321                uint32_t TP3:1;
322                  uint32_t:4;
323
324                  uint32_t:12;
325            } B;
326        } OPACR2;
327
328        union {
329            uint32_t R;
330            struct {
331
332                uint32_t:4;
333
334                uint32_t:24;
335                uint32_t BW7:1;
336                uint32_t SP7:1;
337                uint32_t WP7:1;
338                uint32_t TP7:1;
339            } B;
340        } OPACR3;
341
342    };
343/****************************************************************************/
344/*                     MODULE : FMPLL                                       */
345/****************************************************************************/
346    struct FMPLL_tag {
347        union {
348            uint32_t R;
349            struct {
350                uint32_t:1;
351                uint32_t PREDIV:3;
352                uint32_t MFD:5;
353                  uint32_t:1;
354                uint32_t RFD:3;
355                uint32_t LOCEN:1;
356                uint32_t LOLRE:1;
357                uint32_t LOCRE:1;
358                uint32_t DISCLK:1;
359                uint32_t LOLIRQ:1;
360                uint32_t LOCIRQ:1;
361                uint32_t RATE:1;
362                uint32_t DEPTH:2;
363                uint32_t EXP:10;
364            } B;
365        } SYNCR;
366
367        union {
368            uint32_t R;
369            struct {
370                uint32_t:22;
371                uint32_t LOLF:1;
372                uint32_t LOC:1;
373                uint32_t MODE:1;
374                uint32_t PLLSEL:1;
375                uint32_t PLLREF:1;
376                uint32_t LOCKS:1;
377                uint32_t LOCK:1;
378                uint32_t LOCF:1;
379                uint32_t CALDONE:1;
380                uint32_t CALPASS:1;
381            } B;
382        } SYNSR;
383
384    };
385/****************************************************************************/
386/*                     MODULE : External Bus Interface (EBI)                */
387/****************************************************************************/
388    struct EBI_CS_tag {
389        union {                 /* Base Register Bank */
390            uint32_t R;
391            struct {
392                uint32_t BA:17;
393                  uint32_t:3;
394                uint32_t PS:1;
395                  uint32_t:4;
396                uint32_t BL:1;
397                uint32_t WEBS:1;
398                uint32_t TBDIP:1;
399                  uint32_t:2;
400                uint32_t BI:1;
401                uint32_t V:1;
402            } B;
403        } BR;
404
405        union {                 /* Option Register Bank */
406            uint32_t R;
407            struct {
408                uint32_t AM:17;
409                  uint32_t:7;
410                uint32_t SCY:4;
411                  uint32_t:1;
412                uint32_t BSCY:2;
413                  uint32_t:1;
414            } B;
415        } OR;
416    };
417
418    struct EBI_CAL_CS_tag {
419        union {                 /* Calibration Base Register Bank */
420            uint32_t R;
421            struct {
422                uint32_t BA:17;
423                  uint32_t:3;
424                uint32_t PS:1;
425                  uint32_t:4;
426                uint32_t BL:1;
427                uint32_t WEBS:1;
428                uint32_t TBDIP:1;
429                  uint32_t:2;
430                uint32_t BI:1;
431                uint32_t V:1;
432            } B;
433        } BR;
434
435        union {                 /* Calibration Option Register Bank */
436            uint32_t R;
437            struct {
438                uint32_t AM:17;
439                  uint32_t:7;
440                uint32_t SCY:4;
441                  uint32_t:1;
442                uint32_t BSCY:2;
443                  uint32_t:1;
444            } B;
445        } OR;
446    };
447
448    struct EBI_tag {
449        union {                 /* Module Configuration Register */
450            uint32_t R;
451            struct {
452                uint32_t:5;
453                uint32_t SIZEEN:1;
454                uint32_t SIZE:2;
455                  uint32_t:8;
456                uint32_t ACGE:1;
457                uint32_t EXTM:1;
458                uint32_t EARB:1;
459                uint32_t EARP:2;
460                  uint32_t:4;
461                uint32_t MDIS:1;
462                  uint32_t:5;
463                uint32_t DBM:1;
464            } B;
465        } MCR;
466
467        uint32_t EBI_reserved1;
468
469        union {                 /* Transfer Error Status Register */
470            uint32_t R;
471            struct {
472                uint32_t:30;
473                uint32_t TEAF:1;
474                uint32_t BMTF:1;
475            } B;
476        } TESR;
477
478        union {                 /* Bus Monitor Control Register */
479            uint32_t R;
480            struct {
481                uint32_t:16;
482                uint32_t BMT:8;
483                uint32_t BME:1;
484                  uint32_t:7;
485            } B;
486        } BMCR;
487
488        struct EBI_CS_tag CS[4];
489
490/* Calibration registers */
491        uint32_t EBI_reserved2[4];
492        struct EBI_CAL_CS_tag CAL_CS[4];
493
494    };
495/****************************************************************************/
496/*                     MODULE : FLASH                                       */
497/****************************************************************************/
498    struct FLASH_tag {
499        union {                 /* Module Configuration Register */
500            uint32_t R;
501            struct {
502                uint32_t:4;
503                uint32_t SIZE:4;
504                  uint32_t:1;
505                uint32_t LAS:3;
506                  uint32_t:3;
507                uint32_t MAS:1;
508                uint32_t EER:1;
509                uint32_t RWE:1;
510                uint32_t BBEPE:1;
511                uint32_t EPE:1;
512                uint32_t PEAS:1;
513                uint32_t DONE:1;
514                uint32_t PEG:1;
515
516                  uint32_t:2;
517
518                uint32_t STOP:1;
519                  uint32_t:1;
520                uint32_t PGM:1;
521                uint32_t PSUS:1;
522                uint32_t ERS:1;
523                uint32_t ESUS:1;
524                uint32_t EHV:1;
525            } B;
526        } MCR;
527
528        union {                 /* LML Register */
529            uint32_t R;
530            struct {
531                uint32_t LME:1;
532                  uint32_t:10;
533                uint32_t SLOCK:1;
534                uint32_t MLOCK:4;
535                uint32_t LLOCK:16;
536            } B;
537        } LMLR;
538
539        union {                 /* HL Register */
540            uint32_t R;
541            struct {
542                uint32_t HBE:1;
543                  uint32_t:3;
544                uint32_t HBLOCK:28;
545            } B;
546        } HLR;
547
548        union {                 /* SLML Register */
549            uint32_t R;
550            struct {
551                uint32_t SLE:1;
552                  uint32_t:10;
553                uint32_t SSLOCK:1;
554                uint32_t SMLOCK:4;
555                uint32_t SLLOCK:16;
556            } B;
557        } SLMLR;
558
559        union {                 /* LMS Register */
560            uint32_t R;
561            struct {
562                uint32_t:12;
563                uint32_t MSEL:4;
564                uint32_t LSEL:16;
565            } B;
566        } LMSR;
567
568        union {
569            uint32_t R;
570            struct {
571                uint32_t:4;
572                uint32_t HBSEL:28;
573            } B;
574        } HSR;
575
576        union {
577            uint32_t R;
578            struct {
579                uint32_t:10;
580                uint32_t ADDR:19;
581                  uint32_t:3;
582            } B;
583        } AR;
584
585        union {
586            uint32_t R;
587            struct {
588
589                uint32_t:11;
590
591                uint32_t M4PFE:1;      /* FEC */
592
593                uint32_t M3PFE:1;
594                uint32_t M2PFE:1;
595                uint32_t M1PFE:1;
596                uint32_t M0PFE:1;
597                uint32_t APC:3;
598                uint32_t WWSC:2;
599                uint32_t RWSC:3;
600
601                uint32_t DPFEN:2;
602                uint32_t IPFEN:2;
603
604                uint32_t PFLIM:3;
605                uint32_t BFEN:1;
606            } B;
607        } BIUCR;
608
609        union {
610            uint32_t R;
611            struct {
612
613                uint32_t:22;
614
615                uint32_t M4AP:2;       /* FEC */
616
617                uint32_t M3AP:2;
618                uint32_t M2AP:2;
619                uint32_t M1AP:2;
620                uint32_t M0AP:2;
621            } B;
622        } BIUAPR;
623    };
624/****************************************************************************/
625/*                     MODULE : SIU                                         */
626/****************************************************************************/
627    struct SIU_tag {
628        int32_t SIU_reserved0;
629
630        union {                 /* MCU ID Register */
631            uint32_t R;
632            struct {
633                uint32_t PARTNUM:16;
634                uint32_t MASKNUM:16;
635            } B;
636        } MIDR;
637        int32_t SIU_reserved00;
638
639        union {                 /* Reset Status Register */
640            uint32_t R;
641            struct {
642                uint32_t PORS:1;
643                uint32_t ERS:1;
644                uint32_t LLRS:1;
645                uint32_t LCRS:1;
646                uint32_t WDRS:1;
647                uint32_t CRS:1;
648                  uint32_t:8;
649                uint32_t SSRS:1;
650                uint32_t SERF:1;
651                uint32_t WKPCFG:1;
652                  uint32_t:12;
653                uint32_t BOOTCFG:2;
654                uint32_t RGF:1;
655            } B;
656        } RSR;
657
658        union {                 /* System Reset Control Register */
659            uint32_t R;
660            struct {
661                uint32_t SSR:1;
662                uint32_t SER:1;
663                  uint32_t:14;
664                uint32_t CRE:1;
665                  uint32_t:15;
666            } B;
667        } SRCR;
668
669        union {                 /* External Interrupt Status Register */
670            uint32_t R;
671            struct {
672                uint32_t:16;
673                uint32_t EIF15:1;
674                uint32_t EIF14:1;
675                uint32_t EIF13:1;
676                uint32_t EIF12:1;
677                uint32_t EIF11:1;
678                uint32_t EIF10:1;
679                uint32_t EIF9:1;
680                uint32_t EIF8:1;
681                uint32_t EIF7:1;
682                uint32_t EIF6:1;
683                uint32_t EIF5:1;
684                uint32_t EIF4:1;
685                uint32_t EIF3:1;
686                uint32_t EIF2:1;
687                uint32_t EIF1:1;
688                uint32_t EIF0:1;
689            } B;
690        } EISR;
691
692        union {                 /* DMA/Interrupt Request Enable Register */
693            uint32_t R;
694            struct {
695                uint32_t:16;
696                uint32_t EIRE15:1;
697                uint32_t EIRE14:1;
698                uint32_t EIRE13:1;
699                uint32_t EIRE12:1;
700                uint32_t EIRE11:1;
701                uint32_t EIRE10:1;
702                uint32_t EIRE9:1;
703                uint32_t EIRE8:1;
704                uint32_t EIRE7:1;
705                uint32_t EIRE6:1;
706                uint32_t EIRE5:1;
707                uint32_t EIRE4:1;
708                uint32_t EIRE3:1;
709                uint32_t EIRE2:1;
710                uint32_t EIRE1:1;
711                uint32_t EIRE0:1;
712            } B;
713        } DIRER;
714
715        union {                 /* DMA/Interrupt Select Register */
716            uint32_t R;
717            struct {
718                uint32_t:28;
719                uint32_t DIRS3:1;
720                uint32_t DIRS2:1;
721                uint32_t DIRS1:1;
722                uint32_t DIRS0:1;
723            } B;
724        } DIRSR;
725
726        union {                 /* Overrun Status Register */
727            uint32_t R;
728            struct {
729                uint32_t:16;
730                uint32_t OVF15:1;
731                uint32_t OVF14:1;
732                uint32_t OVF13:1;
733                uint32_t OVF12:1;
734                uint32_t OVF11:1;
735                uint32_t OVF10:1;
736                uint32_t OVF9:1;
737                uint32_t OVF8:1;
738                uint32_t OVF7:1;
739                uint32_t OVF6:1;
740                uint32_t OVF5:1;
741                uint32_t OVF4:1;
742                uint32_t OVF3:1;
743                uint32_t OVF2:1;
744                uint32_t OVF1:1;
745                uint32_t OVF0:1;
746            } B;
747        } OSR;
748
749        union {                 /* Overrun Request Enable Register */
750            uint32_t R;
751            struct {
752                uint32_t:16;
753                uint32_t ORE15:1;
754                uint32_t ORE14:1;
755                uint32_t ORE13:1;
756                uint32_t ORE12:1;
757                uint32_t ORE11:1;
758                uint32_t ORE10:1;
759                uint32_t ORE9:1;
760                uint32_t ORE8:1;
761                uint32_t ORE7:1;
762                uint32_t ORE6:1;
763                uint32_t ORE5:1;
764                uint32_t ORE4:1;
765                uint32_t ORE3:1;
766                uint32_t ORE2:1;
767                uint32_t ORE1:1;
768                uint32_t ORE0:1;
769            } B;
770        } ORER;
771
772        union {                 /* External IRQ Rising-Edge Event Enable Register */
773            uint32_t R;
774            struct {
775                uint32_t:16;
776                uint32_t IREE15:1;
777                uint32_t IREE14:1;
778                uint32_t IREE13:1;
779                uint32_t IREE12:1;
780                uint32_t IREE11:1;
781                uint32_t IREE10:1;
782                uint32_t IREE9:1;
783                uint32_t IREE8:1;
784                uint32_t IREE7:1;
785                uint32_t IREE6:1;
786                uint32_t IREE5:1;
787                uint32_t IREE4:1;
788                uint32_t IREE3:1;
789                uint32_t IREE2:1;
790                uint32_t IREE1:1;
791                uint32_t IREE0:1;
792            } B;
793        } IREER;
794
795        union {                 /* External IRQ Falling-Edge Event Enable Register */
796            uint32_t R;
797            struct {
798                uint32_t:16;
799                uint32_t IFEE15:1;
800                uint32_t IFEE14:1;
801                uint32_t IFEE13:1;
802                uint32_t IFEE12:1;
803                uint32_t IFEE11:1;
804                uint32_t IFEE10:1;
805                uint32_t IFEE9:1;
806                uint32_t IFEE8:1;
807                uint32_t IFEE7:1;
808                uint32_t IFEE6:1;
809                uint32_t IFEE5:1;
810                uint32_t IFEE4:1;
811                uint32_t IFEE3:1;
812                uint32_t IFEE2:1;
813                uint32_t IFEE1:1;
814                uint32_t IFEE0:1;
815            } B;
816        } IFEER;
817
818        union {                 /* External IRQ Digital Filter Register */
819            uint32_t R;
820            struct {
821                uint32_t:28;
822                uint32_t DFL:4;
823            } B;
824        } IDFR;
825
826        int32_t SIU_reserved1[3];
827
828        union SIU_PCR_tag {                 /* Pad Configuration Registers */
829            uint16_t R;
830            struct {
831                uint16_t:3;
832                uint16_t PA:3;
833                uint16_t OBE:1;
834                uint16_t IBE:1;
835                uint16_t DSC:2;
836                uint16_t ODE:1;
837                uint16_t HYS:1;
838                uint16_t SRC:2;
839                uint16_t WPE:1;
840                uint16_t WPS:1;
841            } B;
842        } PCR[512];
843
844        int16_t SIU_reserved_0[224];
845
846        union {                 /* GPIO Pin Data Output Registers */
847            uint8_t R;
848            struct {
849                uint8_t:7;
850                uint8_t PDO:1;
851            } B;
852        } GPDO[256];
853
854        int32_t SIU_reserved_3[64];
855
856        union {                 /* GPIO Pin Data Input Registers */
857            uint8_t R;
858            struct {
859                uint8_t:7;
860                uint8_t PDI:1;
861            } B;
862        } GPDI[256];
863
864        union {                 /* IMUX Register */
865            uint32_t R;
866            struct {
867                uint32_t TSEL5:2;
868                uint32_t TSEL4:2;
869                uint32_t TSEL3:2;
870                uint32_t TSEL2:2;
871                uint32_t TSEL1:2;
872                uint32_t TSEL0:2;
873                  uint32_t:20;
874            } B;
875        } ETISR;
876
877        union {                 /* IMUX Register */
878            uint32_t R;
879            struct {
880                uint32_t ESEL15:2;
881                uint32_t ESEL14:2;
882                uint32_t ESEL13:2;
883                uint32_t ESEL12:2;
884                uint32_t ESEL11:2;
885                uint32_t ESEL10:2;
886                uint32_t ESEL9:2;
887                uint32_t ESEL8:2;
888                uint32_t ESEL7:2;
889                uint32_t ESEL6:2;
890                uint32_t ESEL5:2;
891                uint32_t ESEL4:2;
892                uint32_t ESEL3:2;
893                uint32_t ESEL2:2;
894                uint32_t ESEL1:2;
895                uint32_t ESEL0:2;
896            } B;
897        } EIISR;
898
899        union {                 /* IMUX Register */
900            uint32_t R;
901            struct {
902                uint32_t SINSELA:2;
903                uint32_t SSSELA:2;
904                uint32_t SCKSELA:2;
905                uint32_t TRIGSELA:2;
906                uint32_t SINSELB:2;
907                uint32_t SSSELB:2;
908                uint32_t SCKSELB:2;
909                uint32_t TRIGSELB:2;
910                uint32_t SINSELC:2;
911                uint32_t SSSELC:2;
912                uint32_t SCKSELC:2;
913                uint32_t TRIGSELC:2;
914                uint32_t SINSELD:2;
915                uint32_t SSSELD:2;
916                uint32_t SCKSELD:2;
917                uint32_t TRIGSELD:2;
918            } B;
919        } DISR;
920
921        int32_t SIU_reserved2[29];
922
923        union {                 /* Chip Configuration Register Register */
924            uint32_t R;
925            struct {
926                uint32_t:14;
927                uint32_t MATCH:1;
928                uint32_t DISNEX:1;
929                  uint32_t:16;
930            } B;
931        } CCR;
932
933        union {                 /* External Clock Configuration Register Register */
934            uint32_t R;
935            struct {
936                uint32_t:18;
937                uint32_t ENGDIV:6;
938                  uint32_t:4;
939                uint32_t EBTS:1;
940                  uint32_t:1;
941                uint32_t EBDF:2;
942            } B;
943        } ECCR;
944
945        union {
946            uint32_t R;
947        } CARH;
948
949        union {
950            uint32_t R;
951        } CARL;
952
953        union {
954            uint32_t R;
955        } CBRH;
956
957        union {
958            uint32_t R;
959        } CBRL;
960
961    };
962/****************************************************************************/
963/*                          MODULE : EMIOS                                  */
964/****************************************************************************/
965    struct EMIOS_tag {
966        union {
967            uint32_t R;
968            struct {
969                uint32_t:1;
970                uint32_t MDIS:1;
971                uint32_t FRZ:1;
972                uint32_t GTBE:1;
973                uint32_t ETB:1;
974                uint32_t GPREN:1;
975                  uint32_t:6;
976                uint32_t SRV:4;
977                uint32_t GPRE:8;
978                  uint32_t:8;
979            } B;
980        } MCR;                  /* Module Configuration Register */
981
982        union {
983            uint32_t R;
984            struct {
985                uint32_t:8;
986                uint32_t F23:1;
987                uint32_t F22:1;
988                uint32_t F21:1;
989                uint32_t F20:1;
990                uint32_t F19:1;
991                uint32_t F18:1;
992                uint32_t F17:1;
993                uint32_t F16:1;
994                uint32_t F15:1;
995                uint32_t F14:1;
996                uint32_t F13:1;
997                uint32_t F12:1;
998                uint32_t F11:1;
999                uint32_t F10:1;
1000                uint32_t F9:1;
1001                uint32_t F8:1;
1002                uint32_t F7:1;
1003                uint32_t F6:1;
1004                uint32_t F5:1;
1005                uint32_t F4:1;
1006                uint32_t F3:1;
1007                uint32_t F2:1;
1008                uint32_t F1:1;
1009                uint32_t F0:1;
1010            } B;
1011        } GFR;                  /* Global FLAG Register */
1012
1013        union {
1014            uint32_t R;
1015            struct {
1016                uint32_t:8;
1017                uint32_t OU23:1;
1018                uint32_t OU22:1;
1019                uint32_t OU21:1;
1020                uint32_t OU20:1;
1021                uint32_t OU19:1;
1022                uint32_t OU18:1;
1023                uint32_t OU17:1;
1024                uint32_t OU16:1;
1025                uint32_t OU15:1;
1026                uint32_t OU14:1;
1027                uint32_t OU13:1;
1028                uint32_t OU12:1;
1029                uint32_t OU11:1;
1030                uint32_t OU10:1;
1031                uint32_t OU9:1;
1032                uint32_t OU8:1;
1033                uint32_t OU7:1;
1034                uint32_t OU6:1;
1035                uint32_t OU5:1;
1036                uint32_t OU4:1;
1037                uint32_t OU3:1;
1038                uint32_t OU2:1;
1039                uint32_t OU1:1;
1040                uint32_t OU0:1;
1041            } B;
1042        } OUDR;                 /* Output Update Disable Register */
1043
1044        uint32_t emios_reserved[5];
1045
1046        struct {
1047            union {
1048                uint32_t R;    /* Channel A Data Register */
1049            } CADR;
1050
1051            union {
1052                uint32_t R;    /* Channel B Data Register */
1053            } CBDR;
1054
1055            union {
1056                uint32_t R;    /* Channel Counter Register */
1057            } CCNTR;
1058
1059            union {
1060                uint32_t R;
1061                struct {
1062                    uint32_t FREN:1;
1063                    uint32_t ODIS:1;
1064                    uint32_t ODISSL:2;
1065                    uint32_t UCPRE:2;
1066                    uint32_t UCPREN:1;
1067                    uint32_t DMA:1;
1068                      uint32_t:1;
1069                    uint32_t IF:4;
1070                    uint32_t FCK:1;
1071                    uint32_t FEN:1;
1072                      uint32_t:3;
1073                    uint32_t FORCMA:1;
1074                    uint32_t FORCMB:1;
1075                      uint32_t:1;
1076                    uint32_t BSL:2;
1077                    uint32_t EDSEL:1;
1078                    uint32_t EDPOL:1;
1079                    uint32_t MODE:7;
1080                } B;
1081            } CCR;              /* Channel Control Register */
1082
1083            union {
1084                uint32_t R;
1085                struct {
1086                    uint32_t OVR:1;
1087                      uint32_t:15;
1088                    uint32_t OVFL:1;
1089                      uint32_t:12;
1090                    uint32_t UCIN:1;
1091                    uint32_t UCOUT:1;
1092                    uint32_t FLAG:1;
1093                } B;
1094            } CSR;              /* Channel Status Register */
1095
1096            union {
1097                uint32_t R;    /* Alternate Channel A Data Register */
1098            } ALTCADR;
1099
1100            uint32_t emios_channel_reserved[2];
1101
1102        } CH[24];
1103
1104    };
1105/****************************************************************************/
1106/*                              MODULE :ETPU                                */
1107/****************************************************************************/
1108
1109/***************************Configuration Registers**************************/
1110
1111    struct ETPU_tag {
1112        union {                 /* MODULE CONFIGURATION REGISTER */
1113            uint32_t R;
1114            struct {
1115                uint32_t GEC:1;        /* Global Exception Clear */
1116                  uint32_t:3;
1117                uint32_t MGE1:1;       /* Microcode Global Exception-ETPU_A */
1118
1119                uint32_t MGE2:1;       /* Microcode Global Exception-ETPU_B */
1120
1121                uint32_t ILF1:1;       /* Illegal Instruction Flag-ETPU_A */
1122
1123                uint32_t ILF2:1;       /* Illegal Instruction Flag-ETPU_B */
1124
1125                  uint32_t:3;
1126                uint32_t SCMSIZE:5;    /* Shared Code Memory size */
1127                  uint32_t:5;
1128                uint32_t SCMMISF:1;    /* SCM MISC Flag */
1129                uint32_t SCMMISEN:1;   /* SCM MISC Enable */
1130                  uint32_t:2;
1131                uint32_t VIS:1;        /* SCM Visability */
1132                  uint32_t:5;
1133                uint32_t GTBE:1;       /* Global Time Base Enable */
1134            } B;
1135        } MCR;
1136
1137        union {                 /* COHERENT DUAL-PARAMETER CONTROL */
1138            uint32_t R;
1139            struct {
1140                uint32_t STS:1;        /* Start Status bit */
1141                uint32_t CTBASE:5;     /* Channel Transfer Base */
1142                uint32_t PBASE:10;     /* Parameter Buffer Base Address */
1143                uint32_t PWIDTH:1;     /* Parameter Width */
1144                uint32_t PARAM0:7;     /* Channel Parameter 0 */
1145                uint32_t WR:1;
1146                uint32_t PARAM1:7;     /* Channel Parameter 1 */
1147            } B;
1148        } CDCR;
1149
1150        uint32_t etpu_reserved1;
1151
1152        union {                 /* MISC Compare Register */
1153            uint32_t R;
1154        } MISCCMPR;
1155
1156        union {                 /* SCM off-range Date Register */
1157            uint32_t R;
1158        } SCMOFFDATAR;
1159
1160        union {                 /* ETPU_A Configuration Register */
1161            uint32_t R;
1162            struct {
1163                uint32_t FEND:1;       /* Force END */
1164                uint32_t MDIS:1;       /* Low power Stop */
1165                  uint32_t:1;
1166                uint32_t STF:1;        /* Stop Flag */
1167                  uint32_t:4;
1168                uint32_t HLTF:1;       /* Halt Mode Flag */
1169                  uint32_t:4;
1170                uint32_t FPSCK:3;      /* Filter Prescaler Clock Control */
1171                uint32_t CDFC:2;
1172                  uint32_t:9;
1173                uint32_t ETB:5;        /* Entry Table Base */
1174            } B;
1175        } ECR_A;
1176
1177        union {                 /* ETPU_B Configuration Register */
1178            uint32_t R;
1179            struct {
1180                uint32_t FEND:1;       /* Force END */
1181                uint32_t MDIS:1;       /* Low power Stop */
1182                  uint32_t:1;
1183                uint32_t STF:1;        /* Stop Flag */
1184                  uint32_t:4;
1185                uint32_t HLTF:1;       /* Halt Mode Flag */
1186                  uint32_t:4;
1187                uint32_t FPSCK:3;      /* Filter Prescaler Clock Control */
1188                uint32_t CDFC:2;
1189                  uint32_t:9;
1190                uint32_t ETB:5;        /* Entry Table Base */
1191            } B;
1192        } ECR_B;
1193
1194        uint32_t etpu_reserved4;
1195
1196        union {                 /* ETPU_A Timebase Configuration Register */
1197            uint32_t R;
1198            struct {
1199                uint32_t TCR2CTL:3;     /* TCR2 Clock/Gate Control */
1200                uint32_t TCRCF:2;       /* TCRCLK Signal Filter Control */
1201                  uint32_t:1;
1202                uint32_t AM:1;  /* Angle Mode */
1203                  uint32_t:3;
1204                uint32_t TCR2P:6;       /* TCR2 Prescaler Control */
1205                uint32_t TCR1CTL:2;     /* TCR1 Clock/Gate Control */
1206                  uint32_t:6;
1207                uint32_t TCR1P:8;       /* TCR1 Prescaler Control */
1208            } B;
1209        } TBCR_A;
1210
1211        union {                 /* ETPU_A TCR1 Visibility Register */
1212            uint32_t R;
1213        } TB1R_A;
1214
1215        union {                 /* ETPU_A TCR2 Visibility Register */
1216            uint32_t R;
1217        } TB2R_A;
1218
1219        union {                 /* ETPU_A STAC Configuration Register */
1220            uint32_t R;
1221            struct {
1222                uint32_t REN1:1;       /* Resource Enable TCR1 */
1223                uint32_t RSC1:1;       /* Resource Control TCR1 */
1224                  uint32_t:2;
1225                uint32_t SERVER_ID1:4;
1226                  uint32_t:4;
1227                uint32_t SRV1:4;       /* Resource Server Slot */
1228                uint32_t REN2:1;       /* Resource Enable TCR2 */
1229                uint32_t RSC2:1;       /* Resource Control TCR2 */
1230                  uint32_t:2;
1231                uint32_t SERVER_ID2:4;
1232                  uint32_t:4;
1233                uint32_t SRV2:4;       /* Resource Server Slot */
1234            } B;
1235        } REDCR_A;
1236
1237        uint32_t etpu_reserved5[4];
1238
1239        union {                 /* ETPU_B Timebase Configuration Register */
1240            uint32_t R;
1241            struct {
1242                uint32_t TCR2CTL:3;     /* TCR2 Clock/Gate Control */
1243                uint32_t TCRCF:2;       /* TCRCLK Signal Filter Control */
1244                  uint32_t:1;
1245                uint32_t AM:1;  /* Angle Mode */
1246                  uint32_t:3;
1247                uint32_t TCR2P:6;       /* TCR2 Prescaler Control */
1248                uint32_t TCR1CTL:2;     /* TCR1 Clock/Gate Control */
1249                  uint32_t:6;
1250                uint32_t TCR1P:8;       /* TCR1 Prescaler Control */
1251            } B;
1252        } TBCR_B;
1253
1254        union {                 /* ETPU_B TCR1 Visibility Register */
1255            uint32_t R;
1256        } TB1R_B;
1257
1258        union {                 /* ETPU_B TCR2 Visibility Register */
1259            uint32_t R;
1260        } TB2R_B;
1261
1262        union {                 /* ETPU_B STAC Configuration Register */
1263            uint32_t R;
1264            struct {
1265                uint32_t REN1:1;       /* Resource Enable TCR1 */
1266                uint32_t RSC1:1;       /* Resource Control TCR1 */
1267                  uint32_t:2;
1268                uint32_t SERVER_ID1:4;
1269                  uint32_t:4;
1270                uint32_t SRV1:4;       /* Resource Server Slot */
1271                uint32_t REN2:1;       /* Resource Enable TCR2 */
1272                uint32_t RSC2:1;       /* Resource Control TCR2 */
1273                  uint32_t:2;
1274                uint32_t SERVER_ID2:4;
1275                  uint32_t:4;
1276                uint32_t SRV2:4;       /* Resource Server Slot */
1277            } B;
1278        } REDCR_B;
1279
1280        uint32_t etpu_reserved7[108];
1281
1282/*****************************Status and Control Registers**************************/
1283
1284        union {                 /* ETPU_A Channel Interrut Status */
1285            uint32_t R;
1286            struct {
1287                uint32_t CIS31:1;      /* Channel 31 Interrut Status */
1288                uint32_t CIS30:1;      /* Channel 30 Interrut Status */
1289                uint32_t CIS29:1;      /* Channel 29 Interrut Status */
1290                uint32_t CIS28:1;      /* Channel 28 Interrut Status */
1291                uint32_t CIS27:1;      /* Channel 27 Interrut Status */
1292                uint32_t CIS26:1;      /* Channel 26 Interrut Status */
1293                uint32_t CIS25:1;      /* Channel 25 Interrut Status */
1294                uint32_t CIS24:1;      /* Channel 24 Interrut Status */
1295                uint32_t CIS23:1;      /* Channel 23 Interrut Status */
1296                uint32_t CIS22:1;      /* Channel 22 Interrut Status */
1297                uint32_t CIS21:1;      /* Channel 21 Interrut Status */
1298                uint32_t CIS20:1;      /* Channel 20 Interrut Status */
1299                uint32_t CIS19:1;      /* Channel 19 Interrut Status */
1300                uint32_t CIS18:1;      /* Channel 18 Interrut Status */
1301                uint32_t CIS17:1;      /* Channel 17 Interrut Status */
1302                uint32_t CIS16:1;      /* Channel 16 Interrut Status */
1303                uint32_t CIS15:1;      /* Channel 15 Interrut Status */
1304                uint32_t CIS14:1;      /* Channel 14 Interrut Status */
1305                uint32_t CIS13:1;      /* Channel 13 Interrut Status */
1306                uint32_t CIS12:1;      /* Channel 12 Interrut Status */
1307                uint32_t CIS11:1;      /* Channel 11 Interrut Status */
1308                uint32_t CIS10:1;      /* Channel 10 Interrut Status */
1309                uint32_t CIS9:1;       /* Channel 9 Interrut Status */
1310                uint32_t CIS8:1;       /* Channel 8 Interrut Status */
1311                uint32_t CIS7:1;       /* Channel 7 Interrut Status */
1312                uint32_t CIS6:1;       /* Channel 6 Interrut Status */
1313                uint32_t CIS5:1;       /* Channel 5 Interrut Status */
1314                uint32_t CIS4:1;       /* Channel 4 Interrut Status */
1315                uint32_t CIS3:1;       /* Channel 3 Interrut Status */
1316                uint32_t CIS2:1;       /* Channel 2 Interrut Status */
1317                uint32_t CIS1:1;       /* Channel 1 Interrut Status */
1318                uint32_t CIS0:1;       /* Channel 0 Interrut Status */
1319            } B;
1320        } CISR_A;
1321
1322        union {                 /* ETPU_B Channel Interruput Status */
1323            uint32_t R;
1324            struct {
1325                uint32_t CIS31:1;      /* Channel 31 Interrut Status */
1326                uint32_t CIS30:1;      /* Channel 30 Interrut Status */
1327                uint32_t CIS29:1;      /* Channel 29 Interrut Status */
1328                uint32_t CIS28:1;      /* Channel 28 Interrut Status */
1329                uint32_t CIS27:1;      /* Channel 27 Interrut Status */
1330                uint32_t CIS26:1;      /* Channel 26 Interrut Status */
1331                uint32_t CIS25:1;      /* Channel 25 Interrut Status */
1332                uint32_t CIS24:1;      /* Channel 24 Interrut Status */
1333                uint32_t CIS23:1;      /* Channel 23 Interrut Status */
1334                uint32_t CIS22:1;      /* Channel 22 Interrut Status */
1335                uint32_t CIS21:1;      /* Channel 21 Interrut Status */
1336                uint32_t CIS20:1;      /* Channel 20 Interrut Status */
1337                uint32_t CIS19:1;      /* Channel 19 Interrut Status */
1338                uint32_t CIS18:1;      /* Channel 18 Interrut Status */
1339                uint32_t CIS17:1;      /* Channel 17 Interrut Status */
1340                uint32_t CIS16:1;      /* Channel 16 Interrut Status */
1341                uint32_t CIS15:1;      /* Channel 15 Interrut Status */
1342                uint32_t CIS14:1;      /* Channel 14 Interrut Status */
1343                uint32_t CIS13:1;      /* Channel 13 Interrut Status */
1344                uint32_t CIS12:1;      /* Channel 12 Interrut Status */
1345                uint32_t CIS11:1;      /* Channel 11 Interrut Status */
1346                uint32_t CIS10:1;      /* Channel 10 Interrut Status */
1347                uint32_t CIS9:1;       /* Channel 9 Interrut Status */
1348                uint32_t CIS8:1;       /* Channel 8 Interrut Status */
1349                uint32_t CIS7:1;       /* Channel 7 Interrut Status */
1350                uint32_t CIS6:1;       /* Channel 6 Interrut Status */
1351                uint32_t CIS5:1;       /* Channel 5 Interrut Status */
1352                uint32_t CIS4:1;       /* Channel 4 Interrut Status */
1353                uint32_t CIS3:1;       /* Channel 3 Interrut Status */
1354                uint32_t CIS2:1;       /* Channel 2 Interrut Status */
1355                uint32_t CIS1:1;       /* Channel 1 Interrupt Status */
1356                uint32_t CIS0:1;       /* Channel 0 Interrupt Status */
1357            } B;
1358        } CISR_B;
1359
1360        uint32_t etpu_reserved9[2];
1361
1362        union {                 /* ETPU_A Data Transfer Request Status */
1363            uint32_t R;
1364            struct {
1365                uint32_t DTRS31:1;     /* Channel 31 Data Transfer Request Status */
1366                uint32_t DTRS30:1;     /* Channel 30 Data Transfer Request Status */
1367                uint32_t DTRS29:1;     /* Channel 29 Data Transfer Request Status */
1368                uint32_t DTRS28:1;     /* Channel 28 Data Transfer Request Status */
1369                uint32_t DTRS27:1;     /* Channel 27 Data Transfer Request Status */
1370                uint32_t DTRS26:1;     /* Channel 26 Data Transfer Request Status */
1371                uint32_t DTRS25:1;     /* Channel 25 Data Transfer Request Status */
1372                uint32_t DTRS24:1;     /* Channel 24 Data Transfer Request Status */
1373                uint32_t DTRS23:1;     /* Channel 23 Data Transfer Request Status */
1374                uint32_t DTRS22:1;     /* Channel 22 Data Transfer Request Status */
1375                uint32_t DTRS21:1;     /* Channel 21 Data Transfer Request Status */
1376                uint32_t DTRS20:1;     /* Channel 20 Data Transfer Request Status */
1377                uint32_t DTRS19:1;     /* Channel 19 Data Transfer Request Status */
1378                uint32_t DTRS18:1;     /* Channel 18 Data Transfer Request Status */
1379                uint32_t DTRS17:1;     /* Channel 17 Data Transfer Request Status */
1380                uint32_t DTRS16:1;     /* Channel 16 Data Transfer Request Status */
1381                uint32_t DTRS15:1;     /* Channel 15 Data Transfer Request Status */
1382                uint32_t DTRS14:1;     /* Channel 14 Data Transfer Request Status */
1383                uint32_t DTRS13:1;     /* Channel 13 Data Transfer Request Status */
1384                uint32_t DTRS12:1;     /* Channel 12 Data Transfer Request Status */
1385                uint32_t DTRS11:1;     /* Channel 11 Data Transfer Request Status */
1386                uint32_t DTRS10:1;     /* Channel 10 Data Transfer Request Status */
1387                uint32_t DTRS9:1;      /* Channel 9 Data Transfer Request Status */
1388                uint32_t DTRS8:1;      /* Channel 8 Data Transfer Request Status */
1389                uint32_t DTRS7:1;      /* Channel 7 Data Transfer Request Status */
1390                uint32_t DTRS6:1;      /* Channel 6 Data Transfer Request Status */
1391                uint32_t DTRS5:1;      /* Channel 5 Data Transfer Request Status */
1392                uint32_t DTRS4:1;      /* Channel 4 Data Transfer Request Status */
1393                uint32_t DTRS3:1;      /* Channel 3 Data Transfer Request Status */
1394                uint32_t DTRS2:1;      /* Channel 2 Data Transfer Request Status */
1395                uint32_t DTRS1:1;      /* Channel 1 Data Transfer Request Status */
1396                uint32_t DTRS0:1;      /* Channel 0 Data Transfer Request Status */
1397            } B;
1398        } CDTRSR_A;
1399
1400        union {                 /* ETPU_B Data Transfer Request Status */
1401            uint32_t R;
1402            struct {
1403                uint32_t DTRS31:1;     /* Channel 31 Data Transfer Request Status */
1404                uint32_t DTRS30:1;     /* Channel 30 Data Transfer Request Status */
1405                uint32_t DTRS29:1;     /* Channel 29 Data Transfer Request Status */
1406                uint32_t DTRS28:1;     /* Channel 28 Data Transfer Request Status */
1407                uint32_t DTRS27:1;     /* Channel 27 Data Transfer Request Status */
1408                uint32_t DTRS26:1;     /* Channel 26 Data Transfer Request Status */
1409                uint32_t DTRS25:1;     /* Channel 25 Data Transfer Request Status */
1410                uint32_t DTRS24:1;     /* Channel 24 Data Transfer Request Status */
1411                uint32_t DTRS23:1;     /* Channel 23 Data Transfer Request Status */
1412                uint32_t DTRS22:1;     /* Channel 22 Data Transfer Request Status */
1413                uint32_t DTRS21:1;     /* Channel 21 Data Transfer Request Status */
1414                uint32_t DTRS20:1;     /* Channel 20 Data Transfer Request Status */
1415                uint32_t DTRS19:1;     /* Channel 19 Data Transfer Request Status */
1416                uint32_t DTRS18:1;     /* Channel 18 Data Transfer Request Status */
1417                uint32_t DTRS17:1;     /* Channel 17 Data Transfer Request Status */
1418                uint32_t DTRS16:1;     /* Channel 16 Data Transfer Request Status */
1419                uint32_t DTRS15:1;     /* Channel 15 Data Transfer Request Status */
1420                uint32_t DTRS14:1;     /* Channel 14 Data Transfer Request Status */
1421                uint32_t DTRS13:1;     /* Channel 13 Data Transfer Request Status */
1422                uint32_t DTRS12:1;     /* Channel 12 Data Transfer Request Status */
1423                uint32_t DTRS11:1;     /* Channel 11 Data Transfer Request Status */
1424                uint32_t DTRS10:1;     /* Channel 10 Data Transfer Request Status */
1425                uint32_t DTRS9:1;      /* Channel 9 Data Transfer Request Status */
1426                uint32_t DTRS8:1;      /* Channel 8 Data Transfer Request Status */
1427                uint32_t DTRS7:1;      /* Channel 7 Data Transfer Request Status */
1428                uint32_t DTRS6:1;      /* Channel 6 Data Transfer Request Status */
1429                uint32_t DTRS5:1;      /* Channel 5 Data Transfer Request Status */
1430                uint32_t DTRS4:1;      /* Channel 4 Data Transfer Request Status */
1431                uint32_t DTRS3:1;      /* Channel 3 Data Transfer Request Status */
1432                uint32_t DTRS2:1;      /* Channel 2 Data Transfer Request Status */
1433                uint32_t DTRS1:1;      /* Channel 1 Data Transfer Request Status */
1434                uint32_t DTRS0:1;      /* Channel 0 Data Transfer Request Status */
1435            } B;
1436        } CDTRSR_B;
1437
1438        uint32_t etpu_reserved11[2];
1439
1440        union {                 /* ETPU_A Interruput Overflow Status */
1441            uint32_t R;
1442            struct {
1443                uint32_t CIOS31:1;     /* Channel 31 Interruput Overflow Status */
1444                uint32_t CIOS30:1;     /* Channel 30 Interruput Overflow Status */
1445                uint32_t CIOS29:1;     /* Channel 29 Interruput Overflow Status */
1446                uint32_t CIOS28:1;     /* Channel 28 Interruput Overflow Status */
1447                uint32_t CIOS27:1;     /* Channel 27 Interruput Overflow Status */
1448                uint32_t CIOS26:1;     /* Channel 26 Interruput Overflow Status */
1449                uint32_t CIOS25:1;     /* Channel 25 Interruput Overflow Status */
1450                uint32_t CIOS24:1;     /* Channel 24 Interruput Overflow Status */
1451                uint32_t CIOS23:1;     /* Channel 23 Interruput Overflow Status */
1452                uint32_t CIOS22:1;     /* Channel 22 Interruput Overflow Status */
1453                uint32_t CIOS21:1;     /* Channel 21 Interruput Overflow Status */
1454                uint32_t CIOS20:1;     /* Channel 20 Interruput Overflow Status */
1455                uint32_t CIOS19:1;     /* Channel 19 Interruput Overflow Status */
1456                uint32_t CIOS18:1;     /* Channel 18 Interruput Overflow Status */
1457                uint32_t CIOS17:1;     /* Channel 17 Interruput Overflow Status */
1458                uint32_t CIOS16:1;     /* Channel 16 Interruput Overflow Status */
1459                uint32_t CIOS15:1;     /* Channel 15 Interruput Overflow Status */
1460                uint32_t CIOS14:1;     /* Channel 14 Interruput Overflow Status */
1461                uint32_t CIOS13:1;     /* Channel 13 Interruput Overflow Status */
1462                uint32_t CIOS12:1;     /* Channel 12 Interruput Overflow Status */
1463                uint32_t CIOS11:1;     /* Channel 11 Interruput Overflow Status */
1464                uint32_t CIOS10:1;     /* Channel 10 Interruput Overflow Status */
1465                uint32_t CIOS9:1;      /* Channel 9 Interruput Overflow Status */
1466                uint32_t CIOS8:1;      /* Channel 8 Interruput Overflow Status */
1467                uint32_t CIOS7:1;      /* Channel 7 Interruput Overflow Status */
1468                uint32_t CIOS6:1;      /* Channel 6 Interruput Overflow Status */
1469                uint32_t CIOS5:1;      /* Channel 5 Interruput Overflow Status */
1470                uint32_t CIOS4:1;      /* Channel 4 Interruput Overflow Status */
1471                uint32_t CIOS3:1;      /* Channel 3 Interruput Overflow Status */
1472                uint32_t CIOS2:1;      /* Channel 2 Interruput Overflow Status */
1473                uint32_t CIOS1:1;      /* Channel 1 Interruput Overflow Status */
1474                uint32_t CIOS0:1;      /* Channel 0 Interruput Overflow Status */
1475            } B;
1476        } CIOSR_A;
1477
1478        union {                 /* ETPU_B Interruput Overflow Status */
1479            uint32_t R;
1480            struct {
1481                uint32_t CIOS31:1;     /* Channel 31 Interruput Overflow Status */
1482                uint32_t CIOS30:1;     /* Channel 30 Interruput Overflow Status */
1483                uint32_t CIOS29:1;     /* Channel 29 Interruput Overflow Status */
1484                uint32_t CIOS28:1;     /* Channel 28 Interruput Overflow Status */
1485                uint32_t CIOS27:1;     /* Channel 27 Interruput Overflow Status */
1486                uint32_t CIOS26:1;     /* Channel 26 Interruput Overflow Status */
1487                uint32_t CIOS25:1;     /* Channel 25 Interruput Overflow Status */
1488                uint32_t CIOS24:1;     /* Channel 24 Interruput Overflow Status */
1489                uint32_t CIOS23:1;     /* Channel 23 Interruput Overflow Status */
1490                uint32_t CIOS22:1;     /* Channel 22 Interruput Overflow Status */
1491                uint32_t CIOS21:1;     /* Channel 21 Interruput Overflow Status */
1492                uint32_t CIOS20:1;     /* Channel 20 Interruput Overflow Status */
1493                uint32_t CIOS19:1;     /* Channel 19 Interruput Overflow Status */
1494                uint32_t CIOS18:1;     /* Channel 18 Interruput Overflow Status */
1495                uint32_t CIOS17:1;     /* Channel 17 Interruput Overflow Status */
1496                uint32_t CIOS16:1;     /* Channel 16 Interruput Overflow Status */
1497                uint32_t CIOS15:1;     /* Channel 15 Interruput Overflow Status */
1498                uint32_t CIOS14:1;     /* Channel 14 Interruput Overflow Status */
1499                uint32_t CIOS13:1;     /* Channel 13 Interruput Overflow Status */
1500                uint32_t CIOS12:1;     /* Channel 12 Interruput Overflow Status */
1501                uint32_t CIOS11:1;     /* Channel 11 Interruput Overflow Status */
1502                uint32_t CIOS10:1;     /* Channel 10 Interruput Overflow Status */
1503                uint32_t CIOS9:1;      /* Channel 9 Interruput Overflow Status */
1504                uint32_t CIOS8:1;      /* Channel 8 Interruput Overflow Status */
1505                uint32_t CIOS7:1;      /* Channel 7 Interruput Overflow Status */
1506                uint32_t CIOS6:1;      /* Channel 6 Interruput Overflow Status */
1507                uint32_t CIOS5:1;      /* Channel 5 Interruput Overflow Status */
1508                uint32_t CIOS4:1;      /* Channel 4 Interruput Overflow Status */
1509                uint32_t CIOS3:1;      /* Channel 3 Interruput Overflow Status */
1510                uint32_t CIOS2:1;      /* Channel 2 Interruput Overflow Status */
1511                uint32_t CIOS1:1;      /* Channel 1 Interruput Overflow Status */
1512                uint32_t CIOS0:1;      /* Channel 0 Interruput Overflow Status */
1513            } B;
1514        } CIOSR_B;
1515
1516        uint32_t etpu_reserved13[2];
1517
1518        union {                 /* ETPU_A Data Transfer Overflow Status */
1519            uint32_t R;
1520            struct {
1521                uint32_t DTROS31:1;    /* Channel 31 Data Transfer Overflow Status */
1522                uint32_t DTROS30:1;    /* Channel 30 Data Transfer Overflow Status */
1523                uint32_t DTROS29:1;    /* Channel 29 Data Transfer Overflow Status */
1524                uint32_t DTROS28:1;    /* Channel 28 Data Transfer Overflow Status */
1525                uint32_t DTROS27:1;    /* Channel 27 Data Transfer Overflow Status */
1526                uint32_t DTROS26:1;    /* Channel 26 Data Transfer Overflow Status */
1527                uint32_t DTROS25:1;    /* Channel 25 Data Transfer Overflow Status */
1528                uint32_t DTROS24:1;    /* Channel 24 Data Transfer Overflow Status */
1529                uint32_t DTROS23:1;    /* Channel 23 Data Transfer Overflow Status */
1530                uint32_t DTROS22:1;    /* Channel 22 Data Transfer Overflow Status */
1531                uint32_t DTROS21:1;    /* Channel 21 Data Transfer Overflow Status */
1532                uint32_t DTROS20:1;    /* Channel 20 Data Transfer Overflow Status */
1533                uint32_t DTROS19:1;    /* Channel 19 Data Transfer Overflow Status */
1534                uint32_t DTROS18:1;    /* Channel 18 Data Transfer Overflow Status */
1535                uint32_t DTROS17:1;    /* Channel 17 Data Transfer Overflow Status */
1536                uint32_t DTROS16:1;    /* Channel 16 Data Transfer Overflow Status */
1537                uint32_t DTROS15:1;    /* Channel 15 Data Transfer Overflow Status */
1538                uint32_t DTROS14:1;    /* Channel 14 Data Transfer Overflow Status */
1539                uint32_t DTROS13:1;    /* Channel 13 Data Transfer Overflow Status */
1540                uint32_t DTROS12:1;    /* Channel 12 Data Transfer Overflow Status */
1541                uint32_t DTROS11:1;    /* Channel 11 Data Transfer Overflow Status */
1542                uint32_t DTROS10:1;    /* Channel 10 Data Transfer Overflow Status */
1543                uint32_t DTROS9:1;     /* Channel 9 Data Transfer Overflow Status */
1544                uint32_t DTROS8:1;     /* Channel 8 Data Transfer Overflow Status */
1545                uint32_t DTROS7:1;     /* Channel 7 Data Transfer Overflow Status */
1546                uint32_t DTROS6:1;     /* Channel 6 Data Transfer Overflow Status */
1547                uint32_t DTROS5:1;     /* Channel 5 Data Transfer Overflow Status */
1548                uint32_t DTROS4:1;     /* Channel 4 Data Transfer Overflow Status */
1549                uint32_t DTROS3:1;     /* Channel 3 Data Transfer Overflow Status */
1550                uint32_t DTROS2:1;     /* Channel 2 Data Transfer Overflow Status */
1551                uint32_t DTROS1:1;     /* Channel 1 Data Transfer Overflow Status */
1552                uint32_t DTROS0:1;     /* Channel 0 Data Transfer Overflow Status */
1553            } B;
1554        } CDTROSR_A;
1555
1556        union {                 /* ETPU_B Data Transfer Overflow Status */
1557            uint32_t R;
1558            struct {
1559                uint32_t DTROS31:1;    /* Channel 31 Data Transfer Overflow Status */
1560                uint32_t DTROS30:1;    /* Channel 30 Data Transfer Overflow Status */
1561                uint32_t DTROS29:1;    /* Channel 29 Data Transfer Overflow Status */
1562                uint32_t DTROS28:1;    /* Channel 28 Data Transfer Overflow Status */
1563                uint32_t DTROS27:1;    /* Channel 27 Data Transfer Overflow Status */
1564                uint32_t DTROS26:1;    /* Channel 26 Data Transfer Overflow Status */
1565                uint32_t DTROS25:1;    /* Channel 25 Data Transfer Overflow Status */
1566                uint32_t DTROS24:1;    /* Channel 24 Data Transfer Overflow Status */
1567                uint32_t DTROS23:1;    /* Channel 23 Data Transfer Overflow Status */
1568                uint32_t DTROS22:1;    /* Channel 22 Data Transfer Overflow Status */
1569                uint32_t DTROS21:1;    /* Channel 21 Data Transfer Overflow Status */
1570                uint32_t DTROS20:1;    /* Channel 20 Data Transfer Overflow Status */
1571                uint32_t DTROS19:1;    /* Channel 19 Data Transfer Overflow Status */
1572                uint32_t DTROS18:1;    /* Channel 18 Data Transfer Overflow Status */
1573                uint32_t DTROS17:1;    /* Channel 17 Data Transfer Overflow Status */
1574                uint32_t DTROS16:1;    /* Channel 16 Data Transfer Overflow Status */
1575                uint32_t DTROS15:1;    /* Channel 15 Data Transfer Overflow Status */
1576                uint32_t DTROS14:1;    /* Channel 14 Data Transfer Overflow Status */
1577                uint32_t DTROS13:1;    /* Channel 13 Data Transfer Overflow Status */
1578                uint32_t DTROS12:1;    /* Channel 12 Data Transfer Overflow Status */
1579                uint32_t DTROS11:1;    /* Channel 11 Data Transfer Overflow Status */
1580                uint32_t DTROS10:1;    /* Channel 10 Data Transfer Overflow Status */
1581                uint32_t DTROS9:1;     /* Channel 9 Data Transfer Overflow Status */
1582                uint32_t DTROS8:1;     /* Channel 8 Data Transfer Overflow Status */
1583                uint32_t DTROS7:1;     /* Channel 7 Data Transfer Overflow Status */
1584                uint32_t DTROS6:1;     /* Channel 6 Data Transfer Overflow Status */
1585                uint32_t DTROS5:1;     /* Channel 5 Data Transfer Overflow Status */
1586                uint32_t DTROS4:1;     /* Channel 4 Data Transfer Overflow Status */
1587                uint32_t DTROS3:1;     /* Channel 3 Data Transfer Overflow Status */
1588                uint32_t DTROS2:1;     /* Channel 2 Data Transfer Overflow Status */
1589                uint32_t DTROS1:1;     /* Channel 1 Data Transfer Overflow Status */
1590                uint32_t DTROS0:1;     /* Channel 0 Data Transfer Overflow Status */
1591            } B;
1592        } CDTROSR_B;
1593
1594        uint32_t etpu_reserved15[2];
1595
1596        union {                 /* ETPU_A Channel Interruput Enable */
1597            uint32_t R;
1598            struct {
1599                uint32_t CIE31:1;      /* Channel 31 Interruput Enable */
1600                uint32_t CIE30:1;      /* Channel 30 Interruput Enable */
1601                uint32_t CIE29:1;      /* Channel 29 Interruput Enable */
1602                uint32_t CIE28:1;      /* Channel 28 Interruput Enable */
1603                uint32_t CIE27:1;      /* Channel 27 Interruput Enable */
1604                uint32_t CIE26:1;      /* Channel 26 Interruput Enable */
1605                uint32_t CIE25:1;      /* Channel 25 Interruput Enable */
1606                uint32_t CIE24:1;      /* Channel 24 Interruput Enable */
1607                uint32_t CIE23:1;      /* Channel 23 Interruput Enable */
1608                uint32_t CIE22:1;      /* Channel 22 Interruput Enable */
1609                uint32_t CIE21:1;      /* Channel 21 Interruput Enable */
1610                uint32_t CIE20:1;      /* Channel 20 Interruput Enable */
1611                uint32_t CIE19:1;      /* Channel 19 Interruput Enable */
1612                uint32_t CIE18:1;      /* Channel 18 Interruput Enable */
1613                uint32_t CIE17:1;      /* Channel 17 Interruput Enable */
1614                uint32_t CIE16:1;      /* Channel 16 Interruput Enable */
1615                uint32_t CIE15:1;      /* Channel 15 Interruput Enable */
1616                uint32_t CIE14:1;      /* Channel 14 Interruput Enable */
1617                uint32_t CIE13:1;      /* Channel 13 Interruput Enable */
1618                uint32_t CIE12:1;      /* Channel 12 Interruput Enable */
1619                uint32_t CIE11:1;      /* Channel 11 Interruput Enable */
1620                uint32_t CIE10:1;      /* Channel 10 Interruput Enable */
1621                uint32_t CIE9:1;       /* Channel 9 Interruput Enable */
1622                uint32_t CIE8:1;       /* Channel 8 Interruput Enable */
1623                uint32_t CIE7:1;       /* Channel 7 Interruput Enable */
1624                uint32_t CIE6:1;       /* Channel 6 Interruput Enable */
1625                uint32_t CIE5:1;       /* Channel 5 Interruput Enable */
1626                uint32_t CIE4:1;       /* Channel 4 Interruput Enable */
1627                uint32_t CIE3:1;       /* Channel 3 Interruput Enable */
1628                uint32_t CIE2:1;       /* Channel 2 Interruput Enable */
1629                uint32_t CIE1:1;       /* Channel 1 Interruput Enable */
1630                uint32_t CIE0:1;       /* Channel 0 Interruput Enable */
1631            } B;
1632        } CIER_A;
1633
1634        union {                 /* ETPU_B Channel Interruput Enable */
1635            uint32_t R;
1636            struct {
1637                uint32_t CIE31:1;      /* Channel 31 Interruput Enable */
1638                uint32_t CIE30:1;      /* Channel 30 Interruput Enable */
1639                uint32_t CIE29:1;      /* Channel 29 Interruput Enable */
1640                uint32_t CIE28:1;      /* Channel 28 Interruput Enable */
1641                uint32_t CIE27:1;      /* Channel 27 Interruput Enable */
1642                uint32_t CIE26:1;      /* Channel 26 Interruput Enable */
1643                uint32_t CIE25:1;      /* Channel 25 Interruput Enable */
1644                uint32_t CIE24:1;      /* Channel 24 Interruput Enable */
1645                uint32_t CIE23:1;      /* Channel 23 Interruput Enable */
1646                uint32_t CIE22:1;      /* Channel 22 Interruput Enable */
1647                uint32_t CIE21:1;      /* Channel 21 Interruput Enable */
1648                uint32_t CIE20:1;      /* Channel 20 Interruput Enable */
1649                uint32_t CIE19:1;      /* Channel 19 Interruput Enable */
1650                uint32_t CIE18:1;      /* Channel 18 Interruput Enable */
1651                uint32_t CIE17:1;      /* Channel 17 Interruput Enable */
1652                uint32_t CIE16:1;      /* Channel 16 Interruput Enable */
1653                uint32_t CIE15:1;      /* Channel 15 Interruput Enable */
1654                uint32_t CIE14:1;      /* Channel 14 Interruput Enable */
1655                uint32_t CIE13:1;      /* Channel 13 Interruput Enable */
1656                uint32_t CIE12:1;      /* Channel 12 Interruput Enable */
1657                uint32_t CIE11:1;      /* Channel 11 Interruput Enable */
1658                uint32_t CIE10:1;      /* Channel 10 Interruput Enable */
1659                uint32_t CIE9:1;       /* Channel 9 Interruput Enable */
1660                uint32_t CIE8:1;       /* Channel 8 Interruput Enable */
1661                uint32_t CIE7:1;       /* Channel 7 Interruput Enable */
1662                uint32_t CIE6:1;       /* Channel 6 Interruput Enable */
1663                uint32_t CIE5:1;       /* Channel 5 Interruput Enable */
1664                uint32_t CIE4:1;       /* Channel 4 Interruput Enable */
1665                uint32_t CIE3:1;       /* Channel 3 Interruput Enable */
1666                uint32_t CIE2:1;       /* Channel 2 Interruput Enable */
1667                uint32_t CIE1:1;       /* Channel 1 Interruput Enable */
1668                uint32_t CIE0:1;       /* Channel 0 Interruput Enable */
1669            } B;
1670        } CIER_B;
1671
1672        uint32_t etpu_reserved17[2];
1673
1674        union {                 /* ETPU_A Channel Data Transfer Request Enable */
1675            uint32_t R;
1676            struct {
1677                uint32_t DTRE31:1;     /* Channel 31 Data Transfer Request Enable */
1678                uint32_t DTRE30:1;     /* Channel 30 Data Transfer Request Enable */
1679                uint32_t DTRE29:1;     /* Channel 29 Data Transfer Request Enable */
1680                uint32_t DTRE28:1;     /* Channel 28 Data Transfer Request Enable */
1681                uint32_t DTRE27:1;     /* Channel 27 Data Transfer Request Enable */
1682                uint32_t DTRE26:1;     /* Channel 26 Data Transfer Request Enable */
1683                uint32_t DTRE25:1;     /* Channel 25 Data Transfer Request Enable */
1684                uint32_t DTRE24:1;     /* Channel 24 Data Transfer Request Enable */
1685                uint32_t DTRE23:1;     /* Channel 23 Data Transfer Request Enable */
1686                uint32_t DTRE22:1;     /* Channel 22 Data Transfer Request Enable */
1687                uint32_t DTRE21:1;     /* Channel 21 Data Transfer Request Enable */
1688                uint32_t DTRE20:1;     /* Channel 20 Data Transfer Request Enable */
1689                uint32_t DTRE19:1;     /* Channel 19 Data Transfer Request Enable */
1690                uint32_t DTRE18:1;     /* Channel 18 Data Transfer Request Enable */
1691                uint32_t DTRE17:1;     /* Channel 17 Data Transfer Request Enable */
1692                uint32_t DTRE16:1;     /* Channel 16 Data Transfer Request Enable */
1693                uint32_t DTRE15:1;     /* Channel 15 Data Transfer Request Enable */
1694                uint32_t DTRE14:1;     /* Channel 14 Data Transfer Request Enable */
1695                uint32_t DTRE13:1;     /* Channel 13 Data Transfer Request Enable */
1696                uint32_t DTRE12:1;     /* Channel 12 Data Transfer Request Enable */
1697                uint32_t DTRE11:1;     /* Channel 11 Data Transfer Request Enable */
1698                uint32_t DTRE10:1;     /* Channel 10 Data Transfer Request Enable */
1699                uint32_t DTRE9:1;      /* Channel 9 Data Transfer Request Enable */
1700                uint32_t DTRE8:1;      /* Channel 8 Data Transfer Request Enable */
1701                uint32_t DTRE7:1;      /* Channel 7 Data Transfer Request Enable */
1702                uint32_t DTRE6:1;      /* Channel 6 Data Transfer Request Enable */
1703                uint32_t DTRE5:1;      /* Channel 5 Data Transfer Request Enable */
1704                uint32_t DTRE4:1;      /* Channel 4 Data Transfer Request Enable */
1705                uint32_t DTRE3:1;      /* Channel 3 Data Transfer Request Enable */
1706                uint32_t DTRE2:1;      /* Channel 2 Data Transfer Request Enable */
1707                uint32_t DTRE1:1;      /* Channel 1 Data Transfer Request Enable */
1708                uint32_t DTRE0:1;      /* Channel 0 Data Transfer Request Enable */
1709            } B;
1710        } CDTRER_A;
1711
1712        union {                 /* ETPU_B Channel Data Transfer Request Enable */
1713            uint32_t R;
1714            struct {
1715                uint32_t DTRE31:1;     /* Channel 31 Data Transfer Request Enable */
1716                uint32_t DTRE30:1;     /* Channel 30 Data Transfer Request Enable */
1717                uint32_t DTRE29:1;     /* Channel 29 Data Transfer Request Enable */
1718                uint32_t DTRE28:1;     /* Channel 28 Data Transfer Request Enable */
1719                uint32_t DTRE27:1;     /* Channel 27 Data Transfer Request Enable */
1720                uint32_t DTRE26:1;     /* Channel 26 Data Transfer Request Enable */
1721                uint32_t DTRE25:1;     /* Channel 25 Data Transfer Request Enable */
1722                uint32_t DTRE24:1;     /* Channel 24 Data Transfer Request Enable */
1723                uint32_t DTRE23:1;     /* Channel 23 Data Transfer Request Enable */
1724                uint32_t DTRE22:1;     /* Channel 22 Data Transfer Request Enable */
1725                uint32_t DTRE21:1;     /* Channel 21 Data Transfer Request Enable */
1726                uint32_t DTRE20:1;     /* Channel 20 Data Transfer Request Enable */
1727                uint32_t DTRE19:1;     /* Channel 19 Data Transfer Request Enable */
1728                uint32_t DTRE18:1;     /* Channel 18 Data Transfer Request Enable */
1729                uint32_t DTRE17:1;     /* Channel 17 Data Transfer Request Enable */
1730                uint32_t DTRE16:1;     /* Channel 16 Data Transfer Request Enable */
1731                uint32_t DTRE15:1;     /* Channel 15 Data Transfer Request Enable */
1732                uint32_t DTRE14:1;     /* Channel 14 Data Transfer Request Enable */
1733                uint32_t DTRE13:1;     /* Channel 13 Data Transfer Request Enable */
1734                uint32_t DTRE12:1;     /* Channel 12 Data Transfer Request Enable */
1735                uint32_t DTRE11:1;     /* Channel 11 Data Transfer Request Enable */
1736                uint32_t DTRE10:1;     /* Channel 10 Data Transfer Request Enable */
1737                uint32_t DTRE9:1;      /* Channel 9 Data Transfer Request Enable */
1738                uint32_t DTRE8:1;      /* Channel 8 Data Transfer Request Enable */
1739                uint32_t DTRE7:1;      /* Channel 7 Data Transfer Request Enable */
1740                uint32_t DTRE6:1;      /* Channel 6 Data Transfer Request Enable */
1741                uint32_t DTRE5:1;      /* Channel 5 Data Transfer Request Enable */
1742                uint32_t DTRE4:1;      /* Channel 4 Data Transfer Request Enable */
1743                uint32_t DTRE3:1;      /* Channel 3 Data Transfer Request Enable */
1744                uint32_t DTRE2:1;      /* Channel 2 Data Transfer Request Enable */
1745                uint32_t DTRE1:1;      /* Channel 1 Data Transfer Request Enable */
1746                uint32_t DTRE0:1;      /* Channel 0 Data Transfer Request Enable */
1747            } B;
1748        } CDTRER_B;
1749
1750        uint32_t etpu_reserved20[10];
1751        union {                 /* ETPU_A Channel Pending Service Status */
1752            uint32_t R;
1753            struct {
1754                uint32_t SR31:1;       /* Channel 31 Pending Service Status */
1755                uint32_t SR30:1;       /* Channel 30 Pending Service Status */
1756                uint32_t SR29:1;       /* Channel 29 Pending Service Status */
1757                uint32_t SR28:1;       /* Channel 28 Pending Service Status */
1758                uint32_t SR27:1;       /* Channel 27 Pending Service Status */
1759                uint32_t SR26:1;       /* Channel 26 Pending Service Status */
1760                uint32_t SR25:1;       /* Channel 25 Pending Service Status */
1761                uint32_t SR24:1;       /* Channel 24 Pending Service Status */
1762                uint32_t SR23:1;       /* Channel 23 Pending Service Status */
1763                uint32_t SR22:1;       /* Channel 22 Pending Service Status */
1764                uint32_t SR21:1;       /* Channel 21 Pending Service Status */
1765                uint32_t SR20:1;       /* Channel 20 Pending Service Status */
1766                uint32_t SR19:1;       /* Channel 19 Pending Service Status */
1767                uint32_t SR18:1;       /* Channel 18 Pending Service Status */
1768                uint32_t SR17:1;       /* Channel 17 Pending Service Status */
1769                uint32_t SR16:1;       /* Channel 16 Pending Service Status */
1770                uint32_t SR15:1;       /* Channel 15 Pending Service Status */
1771                uint32_t SR14:1;       /* Channel 14 Pending Service Status */
1772                uint32_t SR13:1;       /* Channel 13 Pending Service Status */
1773                uint32_t SR12:1;       /* Channel 12 Pending Service Status */
1774                uint32_t SR11:1;       /* Channel 11 Pending Service Status */
1775                uint32_t SR10:1;       /* Channel 10 Pending Service Status */
1776                uint32_t SR9:1;        /* Channel 9 Pending Service Status */
1777                uint32_t SR8:1;        /* Channel 8 Pending Service Status */
1778                uint32_t SR7:1;        /* Channel 7 Pending Service Status */
1779                uint32_t SR6:1;        /* Channel 6 Pending Service Status */
1780                uint32_t SR5:1;        /* Channel 5 Pending Service Status */
1781                uint32_t SR4:1;        /* Channel 4 Pending Service Status */
1782                uint32_t SR3:1;        /* Channel 3 Pending Service Status */
1783                uint32_t SR2:1;        /* Channel 2 Pending Service Status */
1784                uint32_t SR1:1;        /* Channel 1 Pending Service Status */
1785                uint32_t SR0:1;        /* Channel 0 Pending Service Status */
1786            } B;
1787        } CPSSR_A;
1788
1789        union {                 /* ETPU_B Channel Pending Service Status */
1790            uint32_t R;
1791            struct {
1792                uint32_t SR31:1;       /* Channel 31 Pending Service Status */
1793                uint32_t SR30:1;       /* Channel 30 Pending Service Status */
1794                uint32_t SR29:1;       /* Channel 29 Pending Service Status */
1795                uint32_t SR28:1;       /* Channel 28 Pending Service Status */
1796                uint32_t SR27:1;       /* Channel 27 Pending Service Status */
1797                uint32_t SR26:1;       /* Channel 26 Pending Service Status */
1798                uint32_t SR25:1;       /* Channel 25 Pending Service Status */
1799                uint32_t SR24:1;       /* Channel 24 Pending Service Status */
1800                uint32_t SR23:1;       /* Channel 23 Pending Service Status */
1801                uint32_t SR22:1;       /* Channel 22 Pending Service Status */
1802                uint32_t SR21:1;       /* Channel 21 Pending Service Status */
1803                uint32_t SR20:1;       /* Channel 20 Pending Service Status */
1804                uint32_t SR19:1;       /* Channel 19 Pending Service Status */
1805                uint32_t SR18:1;       /* Channel 18 Pending Service Status */
1806                uint32_t SR17:1;       /* Channel 17 Pending Service Status */
1807                uint32_t SR16:1;       /* Channel 16 Pending Service Status */
1808                uint32_t SR15:1;       /* Channel 15 Pending Service Status */
1809                uint32_t SR14:1;       /* Channel 14 Pending Service Status */
1810                uint32_t SR13:1;       /* Channel 13 Pending Service Status */
1811                uint32_t SR12:1;       /* Channel 12 Pending Service Status */
1812                uint32_t SR11:1;       /* Channel 11 Pending Service Status */
1813                uint32_t SR10:1;       /* Channel 10 Pending Service Status */
1814                uint32_t SR9:1;        /* Channel 9 Pending Service Status */
1815                uint32_t SR8:1;        /* Channel 8 Pending Service Status */
1816                uint32_t SR7:1;        /* Channel 7 Pending Service Status */
1817                uint32_t SR6:1;        /* Channel 6 Pending Service Status */
1818                uint32_t SR5:1;        /* Channel 5 Pending Service Status */
1819                uint32_t SR4:1;        /* Channel 4 Pending Service Status */
1820                uint32_t SR3:1;        /* Channel 3 Pending Service Status */
1821                uint32_t SR2:1;        /* Channel 2 Pending Service Status */
1822                uint32_t SR1:1;        /* Channel 1 Pending Service Status */
1823                uint32_t SR0:1;        /* Channel 0 Pending Service Status */
1824            } B;
1825        } CPSSR_B;
1826
1827        uint32_t etpu_reserved20a[2];
1828
1829        union {                 /* ETPU_A Channel Service Status */
1830            uint32_t R;
1831            struct {
1832                uint32_t SS31:1;       /* Channel 31 Service Status */
1833                uint32_t SS30:1;       /* Channel 30 Service Status */
1834                uint32_t SS29:1;       /* Channel 29 Service Status */
1835                uint32_t SS28:1;       /* Channel 28 Service Status */
1836                uint32_t SS27:1;       /* Channel 27 Service Status */
1837                uint32_t SS26:1;       /* Channel 26 Service Status */
1838                uint32_t SS25:1;       /* Channel 25 Service Status */
1839                uint32_t SS24:1;       /* Channel 24 Service Status */
1840                uint32_t SS23:1;       /* Channel 23 Service Status */
1841                uint32_t SS22:1;       /* Channel 22 Service Status */
1842                uint32_t SS21:1;       /* Channel 21 Service Status */
1843                uint32_t SS20:1;       /* Channel 20 Service Status */
1844                uint32_t SS19:1;       /* Channel 19 Service Status */
1845                uint32_t SS18:1;       /* Channel 18 Service Status */
1846                uint32_t SS17:1;       /* Channel 17 Service Status */
1847                uint32_t SS16:1;       /* Channel 16 Service Status */
1848                uint32_t SS15:1;       /* Channel 15 Service Status */
1849                uint32_t SS14:1;       /* Channel 14 Service Status */
1850                uint32_t SS13:1;       /* Channel 13 Service Status */
1851                uint32_t SS12:1;       /* Channel 12 Service Status */
1852                uint32_t SS11:1;       /* Channel 11 Service Status */
1853                uint32_t SS10:1;       /* Channel 10 Service Status */
1854                uint32_t SS9:1;        /* Channel 9 Service Status */
1855                uint32_t SS8:1;        /* Channel 8 Service Status */
1856                uint32_t SS7:1;        /* Channel 7 Service Status */
1857                uint32_t SS6:1;        /* Channel 6 Service Status */
1858                uint32_t SS5:1;        /* Channel 5 Service Status */
1859                uint32_t SS4:1;        /* Channel 4 Service Status */
1860                uint32_t SS3:1;        /* Channel 3 Service Status */
1861                uint32_t SS2:1;        /* Channel 2 Service Status */
1862                uint32_t SS1:1;        /* Channel 1 Service Status */
1863                uint32_t SS0:1;        /* Channel 0 Service Status */
1864            } B;
1865        } CSSR_A;
1866
1867        union {                 /* ETPU_B Channel Service Status */
1868            uint32_t R;
1869            struct {
1870                uint32_t SS31:1;       /* Channel 31 Service Status */
1871                uint32_t SS30:1;       /* Channel 30 Service Status */
1872                uint32_t SS29:1;       /* Channel 29 Service Status */
1873                uint32_t SS28:1;       /* Channel 28 Service Status */
1874                uint32_t SS27:1;       /* Channel 27 Service Status */
1875                uint32_t SS26:1;       /* Channel 26 Service Status */
1876                uint32_t SS25:1;       /* Channel 25 Service Status */
1877                uint32_t SS24:1;       /* Channel 24 Service Status */
1878                uint32_t SS23:1;       /* Channel 23 Service Status */
1879                uint32_t SS22:1;       /* Channel 22 Service Status */
1880                uint32_t SS21:1;       /* Channel 21 Service Status */
1881                uint32_t SS20:1;       /* Channel 20 Service Status */
1882                uint32_t SS19:1;       /* Channel 19 Service Status */
1883                uint32_t SS18:1;       /* Channel 18 Service Status */
1884                uint32_t SS17:1;       /* Channel 17 Service Status */
1885                uint32_t SS16:1;       /* Channel 16 Service Status */
1886                uint32_t SS15:1;       /* Channel 15 Service Status */
1887                uint32_t SS14:1;       /* Channel 14 Service Status */
1888                uint32_t SS13:1;       /* Channel 13 Service Status */
1889                uint32_t SS12:1;       /* Channel 12 Service Status */
1890                uint32_t SS11:1;       /* Channel 11 Service Status */
1891                uint32_t SS10:1;       /* Channel 10 Service Status */
1892                uint32_t SS9:1;        /* Channel 9 Service Status */
1893                uint32_t SS8:1;        /* Channel 8 Service Status */
1894                uint32_t SS7:1;        /* Channel 7 Service Status */
1895                uint32_t SS6:1;        /* Channel 6 Service Status */
1896                uint32_t SS5:1;        /* Channel 5 Service Status */
1897                uint32_t SS4:1;        /* Channel 4 Service Status */
1898                uint32_t SS3:1;        /* Channel 3 Service Status */
1899                uint32_t SS2:1;        /* Channel 2 Service Status */
1900                uint32_t SS1:1;        /* Channel 1 Service Status */
1901                uint32_t SS0:1;        /* Channel 0 Service Status */
1902            } B;
1903        } CSSR_B;
1904
1905        uint32_t etpu_reserved23[90];
1906
1907/*****************************Channels********************************/
1908
1909        struct {
1910            union {
1911                uint32_t R;    /* Channel Configuration Register */
1912                struct {
1913                    uint32_t CIE:1;    /* Channel Interruput Enable */
1914                    uint32_t DTRE:1;   /* Data Transfer Request Enable */
1915                    uint32_t CPR:2;    /* Channel Priority */
1916                      uint32_t:3;
1917                    uint32_t ETCS:1;   /* Entry Table Condition Select */
1918                      uint32_t:3;
1919                    uint32_t CFS:5;    /* Channel Function Select */
1920                    uint32_t ODIS:1;   /* Output disable */
1921                    uint32_t OPOL:1;   /* output polarity */
1922                      uint32_t:3;
1923                    uint32_t CPBA:11;  /* Channel Parameter Base Address */
1924                } B;
1925            } CR;
1926            union {
1927                uint32_t R;    /* Channel Status Control Register */
1928                struct {
1929                    uint32_t CIS:1;    /* Channel Interruput Status */
1930                    uint32_t CIOS:1;   /* Channel Interruput Overflow Status */
1931                      uint32_t:6;
1932                    uint32_t DTRS:1;   /* Data Transfer Status */
1933                    uint32_t DTROS:1;  /* Data Transfer Overflow Status */
1934                      uint32_t:6;
1935                    uint32_t IPS:1;    /* Input Pin State */
1936                    uint32_t OPS:1;    /* Output Pin State */
1937                    uint32_t OBE:1;    /* Output Buffer Enable */
1938                      uint32_t:11;
1939                    uint32_t FM1:1;    /* Function mode */
1940                    uint32_t FM0:1;    /* Function mode */
1941                } B;
1942            } SCR;
1943            union {
1944                uint32_t R;    /* Channel Host Service Request Register */
1945                struct {
1946                    uint32_t:29;       /* Host Service Request */
1947                    uint32_t HSR:3;
1948                } B;
1949            } HSRR;
1950            uint32_t etpu_reserved23;
1951        } CHAN[127];
1952
1953    };
1954/****************************************************************************/
1955/*                          MODULE : XBAR CrossBar                          */
1956/****************************************************************************/
1957    struct XBAR_tag {
1958        union {
1959            uint32_t R;
1960            struct {
1961                uint32_t:4;
1962
1963                uint32_t:4;
1964
1965                uint32_t:4;
1966
1967                uint32_t:4;
1968
1969                uint32_t:1;
1970                uint32_t MSTR3:3;      /* FEC */
1971
1972                  uint32_t:1;
1973                uint32_t MSTR2:3;
1974                  uint32_t:1;
1975                uint32_t MSTR1:3;
1976                  uint32_t:1;
1977                uint32_t MSTR0:3;
1978            } B;
1979        } MPR0;                 /* Master Priority Register for Slave Port 0 */
1980
1981        uint32_t xbar_reserved1[3];
1982
1983        union {
1984            uint32_t R;
1985            struct {
1986                uint32_t RO:1;
1987                  uint32_t:21;
1988                uint32_t ARB:2;
1989                  uint32_t:2;
1990                uint32_t PCTL:2;
1991                  uint32_t:1;
1992                uint32_t PARK:3;
1993            } B;
1994        } SGPCR0;               /* General Purpose Control Register for Slave Port 0 */
1995
1996        uint32_t xbar_reserved2[59];
1997
1998        union {
1999            uint32_t R;
2000            struct {
2001                uint32_t:4;
2002
2003                uint32_t:4;
2004
2005                uint32_t:4;
2006
2007                uint32_t:4;
2008
2009                uint32_t:1;
2010                uint32_t MSTR3:3;      /* FEC */
2011
2012                  uint32_t:1;
2013                uint32_t MSTR2:3;
2014                  uint32_t:1;
2015                uint32_t MSTR1:3;
2016                  uint32_t:1;
2017                uint32_t MSTR0:3;
2018            } B;
2019        } MPR1;                 /* Master Priority Register for Slave Port 1 */
2020
2021        uint32_t xbar_reserved3[3];
2022
2023        union {
2024            uint32_t R;
2025            struct {
2026                uint32_t RO:1;
2027                  uint32_t:21;
2028                uint32_t ARB:2;
2029                  uint32_t:2;
2030                uint32_t PCTL:2;
2031                  uint32_t:1;
2032                uint32_t PARK:3;
2033            } B;
2034        } SGPCR1;               /* General Purpose Control Register for Slave Port 1 */
2035
2036        uint32_t xbar_reserved4[123];
2037
2038        union {
2039            uint32_t R;
2040            struct {
2041                uint32_t:4;
2042
2043                uint32_t:4;
2044
2045                uint32_t:4;
2046
2047                uint32_t:4;
2048
2049                uint32_t:1;
2050                uint32_t MSTR3:3;      /* FEC */
2051
2052                  uint32_t:1;
2053                uint32_t MSTR2:3;
2054                  uint32_t:1;
2055                uint32_t MSTR1:3;
2056                  uint32_t:1;
2057                uint32_t MSTR0:3;
2058            } B;
2059        } MPR3;                 /* Master Priority Register for Slave Port 3 */
2060
2061        uint32_t xbar_reserved5[3];
2062
2063        union {
2064            uint32_t R;
2065            struct {
2066                uint32_t RO:1;
2067                  uint32_t:21;
2068                uint32_t ARB:2;
2069                  uint32_t:2;
2070                uint32_t PCTL:2;
2071                  uint32_t:1;
2072                uint32_t PARK:3;
2073            } B;
2074        } SGPCR3;               /* General Purpose Control Register for Slave Port 3 */
2075
2076        uint32_t xbar_reserved6[187];
2077
2078        union {
2079            uint32_t R;
2080            struct {
2081                uint32_t:4;
2082
2083                uint32_t:4;
2084
2085                uint32_t:4;
2086
2087                uint32_t:4;
2088
2089                uint32_t:1;
2090                uint32_t MSTR3:3;      /* FEC */
2091
2092                  uint32_t:1;
2093                uint32_t MSTR2:3;
2094                  uint32_t:1;
2095                uint32_t MSTR1:3;
2096                  uint32_t:1;
2097                uint32_t MSTR0:3;
2098            } B;
2099        } MPR6;                 /* Master Priority Register for Slave Port 6 */
2100
2101        uint32_t xbar_reserved7[3];
2102
2103        union {
2104            uint32_t R;
2105            struct {
2106                uint32_t RO:1;
2107                  uint32_t:21;
2108                uint32_t ARB:2;
2109                  uint32_t:2;
2110                uint32_t PCTL:2;
2111                  uint32_t:1;
2112                uint32_t PARK:3;
2113            } B;
2114        } SGPCR6;               /* General Purpose Control Register for Slave Port 6 */
2115
2116        uint32_t xbar_reserved8[59];
2117
2118        union {
2119            uint32_t R;
2120            struct {
2121                uint32_t:4;
2122
2123                uint32_t:4;
2124
2125                uint32_t:4;
2126
2127                uint32_t:4;
2128
2129                uint32_t:1;
2130                uint32_t MSTR3:3;      /* FEC */
2131
2132                  uint32_t:1;
2133                uint32_t MSTR2:3;
2134                  uint32_t:1;
2135                uint32_t MSTR1:3;
2136                  uint32_t:1;
2137                uint32_t MSTR0:3;
2138            } B;
2139        } MPR7;                 /* Master Priority Register for Slave Port 7 */
2140
2141        uint32_t xbar_reserved9[3];
2142
2143        union {
2144            uint32_t R;
2145            struct {
2146                uint32_t RO:1;
2147                  uint32_t:21;
2148                uint32_t ARB:2;
2149                  uint32_t:2;
2150                uint32_t PCTL:2;
2151                  uint32_t:1;
2152                uint32_t PARK:3;
2153            } B;
2154        } SGPCR7;               /* General Purpose Control Register for Slave Port 7 */
2155
2156    };
2157/****************************************************************************/
2158/*                     MODULE : ECSM                                        */
2159/****************************************************************************/
2160    struct ECSM_tag {
2161
2162        uint32_t ecsm_reserved1[5];
2163
2164        uint16_t ecsm_reserved2;
2165
2166        union {
2167            uint16_t R;
2168        } SWTCR;                //Software Watchdog Timer Control
2169
2170        uint8_t ecsm_reserved3[3];
2171
2172        union {
2173            uint8_t R;
2174        } SWTSR;                //SWT Service Register
2175
2176        uint8_t ecsm_reserved4[3];
2177
2178        union {
2179            uint8_t R;
2180        } SWTIR;                //SWT Interrupt Register
2181
2182        uint32_t ecsm_reserved5a[1];
2183
2184        union {
2185            uint32_t R;
2186            struct {
2187                uint32_t FSBCR0:1;
2188                uint32_t FSBCR1:1;
2189                uint32_t FSBCR2:1;
2190                uint32_t FSBCR3:1;
2191                uint32_t FSBCR4:1;
2192                uint32_t FSBCR5:1;
2193                uint32_t FSBCR6:1;
2194                uint32_t FSBCR7:1;
2195                uint32_t RBEN:1;
2196                uint32_t WBEN:1;
2197                uint32_t ACCERR:1;
2198                  uint32_t:21;
2199            } B;
2200        } FSBMCR;               /*  FEC System Bus Master Control Register */
2201
2202        uint32_t ecsm_reserved5c[6];
2203
2204        uint8_t ecsm_reserved6[3];
2205
2206        union {
2207            uint8_t R;
2208            struct {
2209                uint8_t:6;
2210                uint8_t ERNCR:1;
2211                uint8_t EFNCR:1;
2212            } B;
2213        } ECR;                  //ECC Configuration Register
2214
2215        uint8_t mcm_reserved8[3];
2216
2217        union {
2218            uint8_t R;
2219            struct {
2220                uint8_t:6;
2221                uint8_t RNCE:1;
2222                uint8_t FNCE:1;
2223            } B;
2224        } ESR;                  //ECC Status Register
2225
2226        uint16_t ecsm_reserved9;
2227
2228        union {
2229            uint16_t R;
2230            struct {
2231                uint16_t:6;
2232                uint16_t FRCNCI:1;
2233                uint16_t FR1NCI:1;
2234                  uint16_t:1;
2235                uint16_t ERRBIT:7;
2236            } B;
2237        } EEGR;                 //ECC Error Generation Register
2238
2239        uint32_t ecsm_reserved10;
2240
2241        union {
2242            uint32_t R;
2243            struct {
2244                uint32_t FEAR:32;
2245            } B;
2246        } FEAR;                 //Flash ECC Address Register
2247
2248        uint16_t ecsm_reserved11;
2249
2250        union {
2251            uint8_t R;
2252            struct {
2253                uint8_t:4;
2254                uint8_t FEMR:4;
2255            } B;
2256        } FEMR;                 //Flash ECC Master Register
2257
2258        union {
2259            uint8_t R;
2260            struct {
2261                uint8_t WRITE:1;
2262                uint8_t SIZE:3;
2263                uint8_t PROT0:1;
2264                uint8_t PROT1:1;
2265                uint8_t PROT2:1;
2266                uint8_t PROT3:1;
2267            } B;
2268        } FEAT;                 //Flash ECC Attributes Register
2269
2270        union {
2271            uint32_t R;
2272            struct {
2273                uint32_t FEDH:32;
2274            } B;
2275        } FEDRH;                //Flash ECC Data High Register
2276
2277        union {
2278            uint32_t R;
2279            struct {
2280                uint32_t FEDL:32;
2281            } B;
2282        } FEDRL;                //Flash ECC Data Low Register
2283
2284        union {
2285            uint32_t R;
2286            struct {
2287                uint32_t REAR:32;
2288            } B;
2289        } REAR;                 //RAM ECC Address
2290
2291        uint8_t ecsm_reserved12[2];
2292
2293        union {
2294            uint8_t R;
2295            struct {
2296                uint8_t:4;
2297                uint8_t REMR:4;
2298            } B;
2299        } REMR;                 //RAM ECC Master
2300
2301        union {
2302            uint8_t R;
2303            struct {
2304                uint8_t WRITE:1;
2305                uint8_t SIZE:3;
2306                uint8_t PROT0:1;
2307                uint8_t PROT1:1;
2308                uint8_t PROT2:1;
2309                uint8_t PROT3:1;
2310            } B;
2311        } REAT;                 // RAM ECC Attributes Register
2312
2313        union {
2314            uint32_t R;
2315            struct {
2316                uint32_t REDH:32;
2317            } B;
2318        } REDRH;                //RAM ECC Data High Register
2319
2320        union {
2321            uint32_t R;
2322            struct {
2323                uint32_t REDL:32;
2324            } B;
2325        } REDRL;                //RAMECC Data Low Register
2326
2327    };
2328/****************************************************************************/
2329/*                          MODULE : eDMA                                   */
2330/****************************************************************************/
2331    struct EDMA_tag {
2332        union {
2333            uint32_t R;
2334            struct {
2335                uint32_t:16;
2336                uint32_t GRP3PRI:2;
2337                uint32_t GRP2PRI:2;
2338                uint32_t GRP1PRI:2;
2339                uint32_t GRP0PRI:2;
2340                  uint32_t:4;
2341                uint32_t ERGA:1;
2342                uint32_t ERCA:1;
2343                uint32_t EDBG:1;
2344                uint32_t EBW:1;
2345            } B;
2346        } CR;                   /* Control Register */
2347
2348        union {
2349            uint32_t R;
2350            struct {
2351                uint32_t VLD:1;
2352                  uint32_t:15;
2353                uint32_t GPE:1;
2354                uint32_t CPE:1;
2355                uint32_t ERRCHN:6;
2356                uint32_t SAE:1;
2357                uint32_t SOE:1;
2358                uint32_t DAE:1;
2359                uint32_t DOE:1;
2360                uint32_t NCE:1;
2361                uint32_t SGE:1;
2362                uint32_t SBE:1;
2363                uint32_t DBE:1;
2364            } B;
2365        } ESR;                  /* Error Status Register */
2366
2367        union {
2368            uint32_t R;
2369            struct {
2370                uint32_t ERQ63:1;
2371                uint32_t ERQ62:1;
2372                uint32_t ERQ61:1;
2373                uint32_t ERQ60:1;
2374                uint32_t ERQ59:1;
2375                uint32_t ERQ58:1;
2376                uint32_t ERQ57:1;
2377                uint32_t ERQ56:1;
2378                uint32_t ERQ55:1;
2379                uint32_t ERQ54:1;
2380                uint32_t ERQ53:1;
2381                uint32_t ERQ52:1;
2382                uint32_t ERQ51:1;
2383                uint32_t ERQ50:1;
2384                uint32_t ERQ49:1;
2385                uint32_t ERQ48:1;
2386                uint32_t ERQ47:1;
2387                uint32_t ERQ46:1;
2388                uint32_t ERQ45:1;
2389                uint32_t ERQ44:1;
2390                uint32_t ERQ43:1;
2391                uint32_t ERQ42:1;
2392                uint32_t ERQ41:1;
2393                uint32_t ERQ40:1;
2394                uint32_t ERQ39:1;
2395                uint32_t ERQ38:1;
2396                uint32_t ERQ37:1;
2397                uint32_t ERQ36:1;
2398                uint32_t ERQ35:1;
2399                uint32_t ERQ34:1;
2400                uint32_t ERQ33:1;
2401                uint32_t ERQ32:1;
2402            } B;
2403        } ERQRH;                /* DMA Enable Request Register High */
2404
2405        union {
2406            uint32_t R;
2407            struct {
2408                uint32_t ERQ31:1;
2409                uint32_t ERQ30:1;
2410                uint32_t ERQ29:1;
2411                uint32_t ERQ28:1;
2412                uint32_t ERQ27:1;
2413                uint32_t ERQ26:1;
2414                uint32_t ERQ25:1;
2415                uint32_t ERQ24:1;
2416                uint32_t ERQ23:1;
2417                uint32_t ERQ22:1;
2418                uint32_t ERQ21:1;
2419                uint32_t ERQ20:1;
2420                uint32_t ERQ19:1;
2421                uint32_t ERQ18:1;
2422                uint32_t ERQ17:1;
2423                uint32_t ERQ16:1;
2424                uint32_t ERQ15:1;
2425                uint32_t ERQ14:1;
2426                uint32_t ERQ13:1;
2427                uint32_t ERQ12:1;
2428                uint32_t ERQ11:1;
2429                uint32_t ERQ10:1;
2430                uint32_t ERQ09:1;
2431                uint32_t ERQ08:1;
2432                uint32_t ERQ07:1;
2433                uint32_t ERQ06:1;
2434                uint32_t ERQ05:1;
2435                uint32_t ERQ04:1;
2436                uint32_t ERQ03:1;
2437                uint32_t ERQ02:1;
2438                uint32_t ERQ01:1;
2439                uint32_t ERQ00:1;
2440            } B;
2441        } ERQRL;                /* DMA Enable Request Register Low */
2442
2443        union {
2444            uint32_t R;
2445            struct {
2446                uint32_t EEI63:1;
2447                uint32_t EEI62:1;
2448                uint32_t EEI61:1;
2449                uint32_t EEI60:1;
2450                uint32_t EEI59:1;
2451                uint32_t EEI58:1;
2452                uint32_t EEI57:1;
2453                uint32_t EEI56:1;
2454                uint32_t EEI55:1;
2455                uint32_t EEI54:1;
2456                uint32_t EEI53:1;
2457                uint32_t EEI52:1;
2458                uint32_t EEI51:1;
2459                uint32_t EEI50:1;
2460                uint32_t EEI49:1;
2461                uint32_t EEI48:1;
2462                uint32_t EEI47:1;
2463                uint32_t EEI46:1;
2464                uint32_t EEI45:1;
2465                uint32_t EEI44:1;
2466                uint32_t EEI43:1;
2467                uint32_t EEI42:1;
2468                uint32_t EEI41:1;
2469                uint32_t EEI40:1;
2470                uint32_t EEI39:1;
2471                uint32_t EEI38:1;
2472                uint32_t EEI37:1;
2473                uint32_t EEI36:1;
2474                uint32_t EEI35:1;
2475                uint32_t EEI34:1;
2476                uint32_t EEI33:1;
2477                uint32_t EEI32:1;
2478            } B;
2479        } EEIRH;                /* DMA Enable Error Interrupt Register High */
2480
2481        union {
2482            uint32_t R;
2483            struct {
2484                uint32_t EEI31:1;
2485                uint32_t EEI30:1;
2486                uint32_t EEI29:1;
2487                uint32_t EEI28:1;
2488                uint32_t EEI27:1;
2489                uint32_t EEI26:1;
2490                uint32_t EEI25:1;
2491                uint32_t EEI24:1;
2492                uint32_t EEI23:1;
2493                uint32_t EEI22:1;
2494                uint32_t EEI21:1;
2495                uint32_t EEI20:1;
2496                uint32_t EEI19:1;
2497                uint32_t EEI18:1;
2498                uint32_t EEI17:1;
2499                uint32_t EEI16:1;
2500                uint32_t EEI15:1;
2501                uint32_t EEI14:1;
2502                uint32_t EEI13:1;
2503                uint32_t EEI12:1;
2504                uint32_t EEI11:1;
2505                uint32_t EEI10:1;
2506                uint32_t EEI09:1;
2507                uint32_t EEI08:1;
2508                uint32_t EEI07:1;
2509                uint32_t EEI06:1;
2510                uint32_t EEI05:1;
2511                uint32_t EEI04:1;
2512                uint32_t EEI03:1;
2513                uint32_t EEI02:1;
2514                uint32_t EEI01:1;
2515                uint32_t EEI00:1;
2516            } B;
2517        } EEIRL;                /* DMA Enable Error Interrupt Register Low */
2518
2519        union {
2520            uint8_t R;
2521            uint8_t B;
2522        } SERQR;                /* DMA Set Enable Request Register */
2523
2524        union {
2525            uint8_t R;
2526            uint8_t B;
2527        } CERQR;                /* DMA Clear Enable Request Register */
2528
2529        union {
2530            uint8_t R;
2531            uint8_t B;
2532        } SEEIR;                /* DMA Set Enable Error Interrupt Register */
2533
2534        union {
2535            uint8_t R;
2536            uint8_t B;
2537        } CEEIR;                /* DMA Clear Enable Error Interrupt REgister */
2538
2539        union {
2540            uint8_t R;
2541            uint8_t B;
2542        } CIRQR;                /* DMA Clear Interrupt Request Register */
2543
2544        union {
2545            uint8_t R;
2546            uint8_t B;
2547        } CER;                  /* DMA Clear error Register */
2548
2549        union {
2550            uint8_t R;
2551            uint8_t B;
2552        } SSBR;                 /* Set Start Bit Register */
2553
2554        union {
2555            uint8_t R;
2556            uint8_t B;
2557        } CDSBR;                /* Clear Done Status Bit Register */
2558
2559        union {
2560            uint32_t R;
2561            struct {
2562                uint32_t INT63:1;
2563                uint32_t INT62:1;
2564                uint32_t INT61:1;
2565                uint32_t INT60:1;
2566                uint32_t INT59:1;
2567                uint32_t INT58:1;
2568                uint32_t INT57:1;
2569                uint32_t INT56:1;
2570                uint32_t INT55:1;
2571                uint32_t INT54:1;
2572                uint32_t INT53:1;
2573                uint32_t INT52:1;
2574                uint32_t INT51:1;
2575                uint32_t INT50:1;
2576                uint32_t INT49:1;
2577                uint32_t INT48:1;
2578                uint32_t INT47:1;
2579                uint32_t INT46:1;
2580                uint32_t INT45:1;
2581                uint32_t INT44:1;
2582                uint32_t INT43:1;
2583                uint32_t INT42:1;
2584                uint32_t INT41:1;
2585                uint32_t INT40:1;
2586                uint32_t INT39:1;
2587                uint32_t INT38:1;
2588                uint32_t INT37:1;
2589                uint32_t INT36:1;
2590                uint32_t INT35:1;
2591                uint32_t INT34:1;
2592                uint32_t INT33:1;
2593                uint32_t INT32:1;
2594            } B;
2595        } IRQRH;                /* DMA Interrupt Request High */
2596
2597        union {
2598            uint32_t R;
2599            struct {
2600                uint32_t INT31:1;
2601                uint32_t INT30:1;
2602                uint32_t INT29:1;
2603                uint32_t INT28:1;
2604                uint32_t INT27:1;
2605                uint32_t INT26:1;
2606                uint32_t INT25:1;
2607                uint32_t INT24:1;
2608                uint32_t INT23:1;
2609                uint32_t INT22:1;
2610                uint32_t INT21:1;
2611                uint32_t INT20:1;
2612                uint32_t INT19:1;
2613                uint32_t INT18:1;
2614                uint32_t INT17:1;
2615                uint32_t INT16:1;
2616                uint32_t INT15:1;
2617                uint32_t INT14:1;
2618                uint32_t INT13:1;
2619                uint32_t INT12:1;
2620                uint32_t INT11:1;
2621                uint32_t INT10:1;
2622                uint32_t INT09:1;
2623                uint32_t INT08:1;
2624                uint32_t INT07:1;
2625                uint32_t INT06:1;
2626                uint32_t INT05:1;
2627                uint32_t INT04:1;
2628                uint32_t INT03:1;
2629                uint32_t INT02:1;
2630                uint32_t INT01:1;
2631                uint32_t INT00:1;
2632            } B;
2633        } IRQRL;                /* DMA Interrupt Request Low */
2634
2635        union {
2636            uint32_t R;
2637            struct {
2638                uint32_t ERR63:1;
2639                uint32_t ERR62:1;
2640                uint32_t ERR61:1;
2641                uint32_t ERR60:1;
2642                uint32_t ERR59:1;
2643                uint32_t ERR58:1;
2644                uint32_t ERR57:1;
2645                uint32_t ERR56:1;
2646                uint32_t ERR55:1;
2647                uint32_t ERR54:1;
2648                uint32_t ERR53:1;
2649                uint32_t ERR52:1;
2650                uint32_t ERR51:1;
2651                uint32_t ERR50:1;
2652                uint32_t ERR49:1;
2653                uint32_t ERR48:1;
2654                uint32_t ERR47:1;
2655                uint32_t ERR46:1;
2656                uint32_t ERR45:1;
2657                uint32_t ERR44:1;
2658                uint32_t ERR43:1;
2659                uint32_t ERR42:1;
2660                uint32_t ERR41:1;
2661                uint32_t ERR40:1;
2662                uint32_t ERR39:1;
2663                uint32_t ERR38:1;
2664                uint32_t ERR37:1;
2665                uint32_t ERR36:1;
2666                uint32_t ERR35:1;
2667                uint32_t ERR34:1;
2668                uint32_t ERR33:1;
2669                uint32_t ERR32:1;
2670            } B;
2671        } ERH;                  /* DMA Error High */
2672
2673        union {
2674            uint32_t R;
2675            struct {
2676                uint32_t ERR31:1;
2677                uint32_t ERR30:1;
2678                uint32_t ERR29:1;
2679                uint32_t ERR28:1;
2680                uint32_t ERR27:1;
2681                uint32_t ERR26:1;
2682                uint32_t ERR25:1;
2683                uint32_t ERR24:1;
2684                uint32_t ERR23:1;
2685                uint32_t ERR22:1;
2686                uint32_t ERR21:1;
2687                uint32_t ERR20:1;
2688                uint32_t ERR19:1;
2689                uint32_t ERR18:1;
2690                uint32_t ERR17:1;
2691                uint32_t ERR16:1;
2692                uint32_t ERR15:1;
2693                uint32_t ERR14:1;
2694                uint32_t ERR13:1;
2695                uint32_t ERR12:1;
2696                uint32_t ERR11:1;
2697                uint32_t ERR10:1;
2698                uint32_t ERR09:1;
2699                uint32_t ERR08:1;
2700                uint32_t ERR07:1;
2701                uint32_t ERR06:1;
2702                uint32_t ERR05:1;
2703                uint32_t ERR04:1;
2704                uint32_t ERR03:1;
2705                uint32_t ERR02:1;
2706                uint32_t ERR01:1;
2707                uint32_t ERR00:1;
2708            } B;
2709        } ERL;                  /* DMA Error Low */
2710
2711        uint32_t edma_reserved1[52];
2712
2713        union {
2714            uint8_t R;
2715            struct {
2716                uint8_t ECP:1;
2717                  uint8_t:1;
2718                uint8_t GRPPRI:2;
2719                uint8_t CHPRI:4;
2720            } B;
2721        } CPR[64];
2722
2723        uint32_t edma_reserved2[944];
2724
2725/****************************************************************************/
2726/*       DMA2 Transfer Control Descriptor                                   */
2727/****************************************************************************/
2728        struct tcd_t {
2729            uint32_t SADDR;    /* source address */
2730
2731            uint16_t SMOD:5;   /* source address modulo */
2732            uint16_t SSIZE:3;  /* source transfer size */
2733            uint16_t DMOD:5;   /* destination address modulo */
2734            uint16_t DSIZE:3;  /* destination transfer size */
2735            int16_t SOFF;      /* signed source address offset */
2736
2737            uint32_t NBYTES;   /* inner (“minor”) byte count */
2738
2739            int32_t SLAST;     /* last destination address adjustment, or
2740
2741                                   scatter/gather address (if e_sg = 1) */
2742            uint32_t DADDR;    /* destination address */
2743
2744            uint16_t CITERE_LINK:1;
2745            uint16_t CITER:15;
2746
2747            int16_t DOFF;      /* signed destination address offset */
2748
2749            int32_t DLAST_SGA;
2750
2751            uint16_t BITERE_LINK:1;    /* beginning ("major") iteration count */
2752            uint16_t BITER:15;
2753
2754            uint16_t BWC:2;    /* bandwidth control */
2755            uint16_t MAJORLINKCH:6;    /* enable channel-to-channel link */
2756            uint16_t DONE:1;   /* channel done */
2757            uint16_t ACTIVE:1; /* channel active */
2758            uint16_t MAJORE_LINK:1;    /* enable channel-to-channel link */
2759            uint16_t E_SG:1;   /* enable scatter/gather descriptor */
2760            uint16_t D_REQ:1;  /* disable ipd_req when done */
2761            uint16_t INT_HALF:1;       /* interrupt on citer = (biter >> 1) */
2762            uint16_t INT_MAJ:1;        /* interrupt on major loop completion */
2763            uint16_t START:1;  /* explicit channel start */
2764        } TCD[64];              /* transfer_control_descriptor */
2765
2766    };
2767
2768#define EDMA_TCD_BITER_MASK 0x7fff
2769
2770#define EDMA_TCD_BITER_SIZE DSPI_TCD_BITER_MASK
2771
2772#define EDMA_TCD_BITER_LINKED_MASK 0x1ff
2773
2774#define EDMA_TCD_BITER_LINKED_SIZE 512
2775
2776#define EDMA_TCD_LINK_AND_BITER( link, biter) (((link) << 9) + ((biter) & EDMA_TCD_BITER_LINKED_MASK))
2777
2778#define EDMA_TCD_BITER_LINK( channel) (EDMA.TCD [(channel)].BITER >> 9)
2779
2780/* This is outside of the eDMA structure */
2781/* There are 2 possible ways to use the citer bit field, this structure */
2782/* uses the different format from the main structure.                   */
2783    struct tcd_alt_t {
2784        uint32_t SADDR;        /* source address */
2785
2786        uint16_t SMOD:5;       /* source address modulo */
2787        uint16_t SSIZE:3;      /* source transfer size */
2788        uint16_t DMOD:5;       /* destination address modulo */
2789        uint16_t DSIZE:3;      /* destination transfer size */
2790        int16_t SOFF;          /* signed source address offset */
2791
2792        uint32_t NBYTES;       /* inner (“minor”) byte count */
2793
2794        int32_t SLAST;         /* last destination address adjustment, or
2795
2796                                   scatter/gather address (if e_sg = 1) */
2797        uint32_t DADDR;        /* destination address */
2798
2799        uint16_t CITERE_LINK:1;
2800        uint16_t CITERLINKCH:6;
2801        uint16_t CITER:9;
2802
2803        int16_t DOFF;          /* signed destination address offset */
2804
2805        int32_t DLAST_SGA;
2806
2807        uint16_t BITERE_LINK:1;        /* beginning (“major”) iteration count */
2808        uint16_t BITERLINKCH:6;
2809        uint16_t BITER:9;
2810
2811        uint16_t BWC:2;        /* bandwidth control */
2812        uint16_t MAJORLINKCH:6;        /* enable channel-to-channel link */
2813        uint16_t DONE:1;       /* channel done */
2814        uint16_t ACTIVE:1;     /* channel active */
2815        uint16_t MAJORE_LINK:1;        /* enable channel-to-channel link */
2816        uint16_t E_SG:1;       /* enable scatter/gather descriptor */
2817        uint16_t D_REQ:1;      /* disable ipd_req when done */
2818        uint16_t INT_HALF:1;   /* interrupt on citer = (biter >> 1) */
2819        uint16_t INT_MAJ:1;    /* interrupt on major loop completion */
2820        uint16_t START:1;      /* explicit channel start */
2821    };                          /* transfer_control_descriptor */
2822/****************************************************************************/
2823/*                          MODULE : INTC                                   */
2824/****************************************************************************/
2825    struct INTC_tag {
2826        union {
2827            uint32_t R;
2828            struct {
2829                uint32_t:26;
2830                uint32_t VTES:1;
2831                  uint32_t:4;
2832                uint32_t HVEN:1;
2833            } B;
2834        } MCR;                  /* Module Configuration Register */
2835
2836        int32_t INTC_reserved00;
2837
2838        union {
2839            uint32_t R;
2840            struct {
2841                uint32_t:28;
2842                uint32_t PRI:4;
2843            } B;
2844        } CPR;                  /* Current Priority Register */
2845
2846        uint32_t intc_reserved1;
2847
2848        union {
2849            uint32_t R;
2850            struct {
2851                uint32_t VTBA:21;
2852                uint32_t INTVEC:9;
2853                  uint32_t:2;
2854            } B;
2855        } IACKR;                /* Interrupt Acknowledge Register */
2856
2857        uint32_t intc_reserved2;
2858
2859        union {
2860            uint32_t R;
2861            struct {
2862                uint32_t:32;
2863            } B;
2864        } EOIR;                 /* End of Interrupt Register */
2865
2866        uint32_t intc_reserved3;
2867
2868        union {
2869            uint8_t R;
2870            struct {
2871                uint8_t:6;
2872                uint8_t SET:1;
2873                uint8_t CLR:1;
2874            } B;
2875        } SSCIR[8];             /* Software Set/Clear Interruput Register */
2876
2877        uint32_t intc_reserved4[6];
2878
2879        union {
2880            uint8_t R;
2881            struct {
2882                uint8_t:4;
2883                uint8_t PRI:4;
2884            } B;
2885        } PSR[307];             /* Software Set/Clear Interrupt Register */
2886
2887    };
2888/****************************************************************************/
2889/*                          MODULE : EQADC                                  */
2890/****************************************************************************/
2891    struct EQADC_tag {
2892        union {
2893            uint32_t R;
2894            struct {
2895                uint32_t:27;
2896                uint32_t ESSIE:2;
2897                  uint32_t:1;
2898                uint32_t DBG:2;
2899            } B;
2900        } MCR;                  /* Module Configuration Register */
2901
2902        int32_t EQADC_reserved00;
2903
2904        union {
2905            uint32_t R;
2906            struct {
2907                uint32_t:6;
2908                uint32_t NMF:26;
2909            } B;
2910        } NMSFR;                /* Null Message Send Format Register */
2911
2912        union {
2913            uint32_t R;
2914            struct {
2915                uint32_t:28;
2916                uint32_t DFL:4;
2917            } B;
2918        } ETDFR;                /* External Trigger Digital Filter Register */
2919
2920        union {
2921            uint32_t R;
2922            struct {
2923                uint32_t CFPUSH:32;
2924            } B;
2925        } CFPR[6];              /* CFIFO Push Registers */
2926
2927        uint32_t eqadc_reserved1;
2928
2929        uint32_t eqadc_reserved2;
2930
2931        union {
2932            uint32_t R;
2933            struct {
2934                uint32_t:16;
2935                uint32_t RFPOP:16;
2936            } B;
2937        } RFPR[6];              /* Result FIFO Pop Registers */
2938
2939        uint32_t eqadc_reserved3;
2940
2941        uint32_t eqadc_reserved4;
2942
2943        union {
2944            uint16_t R;
2945            struct {
2946                uint16_t:5;
2947                uint16_t SSE:1;
2948                uint16_t CFINV:1;
2949                  uint16_t:1;
2950                uint16_t MODE:4;
2951                  uint16_t:4;
2952            } B;
2953        } CFCR[6];              /* CFIFO Control Registers */
2954
2955        uint32_t eqadc_reserved5;
2956
2957        union {
2958            uint16_t R;
2959            struct {
2960                uint16_t NCIE:1;
2961                uint16_t TORIE:1;
2962                uint16_t PIE:1;
2963                uint16_t EOQIE:1;
2964                uint16_t CFUIE:1;
2965                  uint16_t:1;
2966                uint16_t CFFE:1;
2967                uint16_t CFFS:1;
2968                  uint16_t:4;
2969                uint16_t RFOIE:1;
2970                  uint16_t:1;
2971                uint16_t RFDE:1;
2972                uint16_t RFDS:1;
2973            } B;
2974        } IDCR[6];              /* Interrupt and DMA Control Registers */
2975
2976        uint32_t eqadc_reserved6;
2977
2978        union {
2979            uint32_t R;
2980            struct {
2981                uint32_t NCF:1;
2982                uint32_t TORF:1;
2983                uint32_t PF:1;
2984                uint32_t EOQF:1;
2985                uint32_t CFUF:1;
2986                uint32_t SSS:1;
2987                uint32_t CFFF:1;
2988                  uint32_t:5;
2989                uint32_t RFOF:1;
2990                  uint32_t:1;
2991                uint32_t RFDF:1;
2992                  uint32_t:1;
2993                uint32_t CFCTR:4;
2994                uint32_t TNXTPTR:4;
2995                uint32_t RFCTR:4;
2996                uint32_t POPNXTPTR:4;
2997            } B;
2998        } FISR[6];              /* FIFO and Interrupt Status Registers */
2999
3000        uint32_t eqadc_reserved7;
3001
3002        uint32_t eqadc_reserved8;
3003
3004        union {
3005            uint16_t R;
3006            struct {
3007                uint16_t:5;
3008                uint16_t TCCF:11;
3009            } B;
3010        } CFTCR[6];             /* CFIFO Transfer Counter Registers */
3011
3012        uint32_t eqadc_reserved9;
3013
3014        union {
3015            uint32_t R;
3016            struct {
3017                uint32_t CFS0:2;
3018                uint32_t CFS1:2;
3019                uint32_t CFS2:2;
3020                uint32_t CFS3:2;
3021                uint32_t CFS4:2;
3022                uint32_t CFS5:2;
3023                  uint32_t:5;
3024                uint32_t LCFTCB0:4;
3025                uint32_t TC_LCFTCB0:11;
3026            } B;
3027        } CFSSR0;               /* CFIFO Status Register 0 */
3028
3029        union {
3030            uint32_t R;
3031            struct {
3032                uint32_t CFS0:2;
3033                uint32_t CFS1:2;
3034                uint32_t CFS2:2;
3035                uint32_t CFS3:2;
3036                uint32_t CFS4:2;
3037                uint32_t CFS5:2;
3038                  uint32_t:5;
3039                uint32_t LCFTCB1:4;
3040                uint32_t TC_LCFTCB1:11;
3041            } B;
3042        } CFSSR1;               /* CFIFO Status Register 1 */
3043
3044        union {
3045            uint32_t R;
3046            struct {
3047                uint32_t CFS0:2;
3048                uint32_t CFS1:2;
3049                uint32_t CFS2:2;
3050                uint32_t CFS3:2;
3051                uint32_t CFS4:2;
3052                uint32_t CFS5:2;
3053                  uint32_t:4;
3054                uint32_t ECBNI:1;
3055                uint32_t LCFTSSI:4;
3056                uint32_t TC_LCFTSSI:11;
3057            } B;
3058        } CFSSR2;               /* CFIFO Status Register 2 */
3059
3060        union {
3061            uint32_t R;
3062            struct {
3063                uint32_t CFS0:2;
3064                uint32_t CFS1:2;
3065                uint32_t CFS2:2;
3066                uint32_t CFS3:2;
3067                uint32_t CFS4:2;
3068                uint32_t CFS5:2;
3069                  uint32_t:20;
3070            } B;
3071        } CFSR;
3072
3073        uint32_t eqadc_reserved11;
3074
3075        union {
3076            uint32_t R;
3077            struct {
3078                uint32_t:21;
3079                uint32_t MDT:3;
3080                  uint32_t:4;
3081                uint32_t BR:4;
3082            } B;
3083        } SSICR;                /* SSI Control Register */
3084
3085        union {
3086            uint32_t R;
3087            struct {
3088                uint32_t RDV:1;
3089                  uint32_t:5;
3090                uint32_t RDATA:26;
3091            } B;
3092        } SSIRDR;               /* SSI Recieve Data Register */
3093
3094        uint32_t eqadc_reserved12[17];
3095
3096        struct {
3097            union {
3098                uint32_t R;
3099                struct {
3100                    uint32_t:32;
3101                } B;
3102            } R[4];
3103
3104            uint32_t eqadc_reserved13[12];
3105
3106        } CF[6];
3107
3108        uint32_t eqadc_reserved14[32];
3109
3110        struct {
3111            union {
3112                uint32_t R;
3113                struct {
3114                    uint32_t:32;
3115                } B;
3116            } R[4];
3117
3118            uint32_t eqadc_reserved15[12];
3119
3120        } RF[6];
3121
3122    };
3123/****************************************************************************/
3124/*                          MODULE : DSPI                                   */
3125/****************************************************************************/
3126    struct DSPI_tag {
3127        union DSPI_MCR_tag {
3128            uint32_t R;
3129            struct {
3130                uint32_t MSTR:1;
3131                uint32_t CONT_SCKE:1;
3132                uint32_t DCONF:2;
3133                uint32_t FRZ:1;
3134                uint32_t MTFE:1;
3135                uint32_t PCSSE:1;
3136                uint32_t ROOE:1;
3137                  uint32_t:2;
3138                uint32_t PCSIS5:1;
3139                uint32_t PCSIS4:1;
3140                uint32_t PCSIS3:1;
3141                uint32_t PCSIS2:1;
3142                uint32_t PCSIS1:1;
3143                uint32_t PCSIS0:1;
3144                uint32_t DOZE:1;
3145                uint32_t MDIS:1;
3146                uint32_t DIS_TXF:1;
3147                uint32_t DIS_RXF:1;
3148                uint32_t CLR_TXF:1;
3149                uint32_t CLR_RXF:1;
3150                uint32_t SMPL_PT:2;
3151                  uint32_t:7;
3152                uint32_t HALT:1;
3153            } B;
3154        } MCR;                  /* Module Configuration Register */
3155
3156        uint32_t dspi_reserved1;
3157
3158        union {
3159            uint32_t R;
3160            struct {
3161                uint32_t TCNT:16;
3162                  uint32_t:16;
3163            } B;
3164        } TCR;
3165
3166        union DSPI_CTAR_tag {
3167            uint32_t R;
3168            struct {
3169                uint32_t DBR:1;
3170                uint32_t FMSZ:4;
3171                uint32_t CPOL:1;
3172                uint32_t CPHA:1;
3173                uint32_t LSBFE:1;
3174                uint32_t PCSSCK:2;
3175                uint32_t PASC:2;
3176                uint32_t PDT:2;
3177                uint32_t PBR:2;
3178                uint32_t CSSCK:4;
3179                uint32_t ASC:4;
3180                uint32_t DT:4;
3181                uint32_t BR:4;
3182            } B;
3183        } CTAR[8];              /* Clock and Transfer Attributes Registers */
3184
3185        union DSPI_SR_tag {
3186            uint32_t R;
3187            struct {
3188                uint32_t TCF:1;
3189                uint32_t TXRXS:1;
3190                  uint32_t:1;
3191                uint32_t EOQF:1;
3192                uint32_t TFUF:1;
3193                  uint32_t:1;
3194                uint32_t TFFF:1;
3195                  uint32_t:5;
3196                uint32_t RFOF:1;
3197                  uint32_t:1;
3198                uint32_t RFDF:1;
3199                  uint32_t:1;
3200                uint32_t TXCTR:4;
3201                uint32_t TXNXTPTR:4;
3202                uint32_t RXCTR:4;
3203                uint32_t POPNXTPTR:4;
3204            } B;
3205        } SR;                   /* Status Register */
3206
3207        union DSPI_RSER_tag {
3208            uint32_t R;
3209            struct {
3210                uint32_t TCFRE:1;
3211                  uint32_t:2;
3212                uint32_t EOQFRE:1;
3213                uint32_t TFUFRE:1;
3214                  uint32_t:1;
3215                uint32_t TFFFRE:1;
3216                uint32_t TFFFDIRS:1;
3217                  uint32_t:4;
3218                uint32_t RFOFRE:1;
3219                  uint32_t:1;
3220                uint32_t RFDFRE:1;
3221                uint32_t RFDFDIRS:1;
3222                  uint32_t:16;
3223            } B;
3224        } RSER;                 /* DMA/Interrupt Request Select and Enable Register */
3225
3226        union DSPI_PUSHR_tag {
3227            uint32_t R;
3228            struct {
3229                uint32_t CONT:1;
3230                uint32_t CTAS:3;
3231                uint32_t EOQ:1;
3232                uint32_t CTCNT:1;
3233                  uint32_t:4;
3234                uint32_t PCS5:1;
3235                uint32_t PCS4:1;
3236                uint32_t PCS3:1;
3237                uint32_t PCS2:1;
3238                uint32_t PCS1:1;
3239                uint32_t PCS0:1;
3240                uint32_t TXDATA:16;
3241            } B;
3242        } PUSHR;                /* PUSH TX FIFO Register */
3243
3244        union DSPI_POPR_tag{
3245            uint32_t R;
3246            struct {
3247                uint32_t:16;
3248                uint32_t RXDATA:16;
3249            } B;
3250        } POPR;                 /* POP RX FIFO Register */
3251
3252        union {
3253            uint32_t R;
3254            struct {
3255                uint32_t TXCMD:16;
3256                uint32_t TXDATA:16;
3257            } B;
3258        } TXFR[4];              /* Transmit FIFO Registers */
3259
3260        uint32_t DSPI_reserved_txf[12];
3261
3262        union {
3263            uint32_t R;
3264            struct {
3265                uint32_t:16;
3266                uint32_t RXDATA:16;
3267            } B;
3268        } RXFR[4];              /* Transmit FIFO Registers */
3269
3270        uint32_t DSPI_reserved_rxf[12];
3271
3272        union {
3273            uint32_t R;
3274            struct {
3275                uint32_t MTOE:1;
3276                  uint32_t:1;
3277                uint32_t MTOCNT:6;
3278                  uint32_t:4;
3279                uint32_t TXSS:1;
3280                uint32_t TPOL:1;
3281                uint32_t TRRE:1;
3282                uint32_t CID:1;
3283                uint32_t DCONT:1;
3284                uint32_t DSICTAS:3;
3285                  uint32_t:6;
3286                uint32_t DPCS5:1;
3287                uint32_t DPCS4:1;
3288                uint32_t DPCS3:1;
3289                uint32_t DPCS2:1;
3290                uint32_t DPCS1:1;
3291                uint32_t DPCS0:1;
3292            } B;
3293        } DSICR;                /* DSI Configuration Register */
3294
3295        union {
3296            uint32_t R;
3297            struct {
3298                uint32_t:16;
3299                uint32_t SER_DATA:16;
3300            } B;
3301        } SDR;                  /* DSI Serialization Data Register */
3302
3303        union {
3304            uint32_t R;
3305            struct {
3306                uint32_t:16;
3307                uint32_t ASER_DATA:16;
3308            } B;
3309        } ASDR;                 /* DSI Alternate Serialization Data Register */
3310
3311        union {
3312            uint32_t R;
3313            struct {
3314                uint32_t:16;
3315                uint32_t COMP_DATA:16;
3316            } B;
3317        } COMPR;                /* DSI Transmit Comparison Register */
3318
3319        union {
3320            uint32_t R;
3321            struct {
3322                uint32_t:16;
3323                uint32_t DESER_DATA:16;
3324            } B;
3325        } DDR;                  /* DSI deserialization Data Register */
3326
3327    };
3328/****************************************************************************/
3329/*                          MODULE : eSCI                                   */
3330/****************************************************************************/
3331    struct ESCI_tag {
3332        union ESCI_CR1_tag {
3333            uint32_t R;
3334            struct {
3335                uint32_t:3;
3336                uint32_t SBR:13;
3337                uint32_t LOOPS:1;
3338                uint32_t SCISDOZ:1;
3339                uint32_t RSRC:1;
3340                uint32_t M:1;
3341                uint32_t WAKE:1;
3342                uint32_t ILT:1;
3343                uint32_t PE:1;
3344                uint32_t PT:1;
3345                uint32_t TIE:1;
3346                uint32_t TCIE:1;
3347                uint32_t RIE:1;
3348                uint32_t ILIE:1;
3349                uint32_t TE:1;
3350                uint32_t RE:1;
3351                uint32_t RWU:1;
3352                uint32_t SBK:1;
3353            } B;
3354        } CR1;                  /* Control Register 1 */
3355
3356        union ESCI_CR2_tag {
3357            uint16_t R;
3358            struct {
3359                uint16_t MDIS:1;
3360                uint16_t FBR:1;
3361                uint16_t BSTP:1;
3362                uint16_t IEBERR:1;
3363                uint16_t RXDMA:1;
3364                uint16_t TXDMA:1;
3365                uint16_t BRK13:1;
3366                  uint16_t:1;
3367                uint16_t BESM13:1;
3368                uint16_t SBSTP:1;
3369                  uint16_t:2;
3370                uint16_t ORIE:1;
3371                uint16_t NFIE:1;
3372                uint16_t FEIE:1;
3373                uint16_t PFIE:1;
3374            } B;
3375        } CR2;                  /* Control Register 2 */
3376
3377        union ESCI_DR_tag {
3378            uint16_t R;
3379            struct {
3380                uint16_t R8:1;
3381                uint16_t T8:1;
3382                  uint16_t:6;
3383                uint8_t D;
3384            } B;
3385        } DR;                   /* Data Register */
3386
3387        union ESCI_SR_tag {
3388            uint32_t R;
3389            struct {
3390                uint32_t TDRE:1;
3391                uint32_t TC:1;
3392                uint32_t RDRF:1;
3393                uint32_t IDLE:1;
3394                uint32_t OR:1;
3395                uint32_t NF:1;
3396                uint32_t FE:1;
3397                uint32_t PF:1;
3398                  uint32_t:3;
3399                uint32_t BERR:1;
3400                  uint32_t:3;
3401                uint32_t RAF:1;
3402                uint32_t RXRDY:1;
3403                uint32_t TXRDY:1;
3404                uint32_t LWAKE:1;
3405                uint32_t STO:1;
3406                uint32_t PBERR:1;
3407                uint32_t CERR:1;
3408                uint32_t CKERR:1;
3409                uint32_t FRC:1;
3410                  uint32_t:7;
3411                uint32_t OVFL:1;
3412            } B;
3413        } SR;                   /* Status Register */
3414
3415        union {
3416            uint32_t R;
3417            struct {
3418                uint32_t LRES:1;
3419                uint32_t WU:1;
3420                uint32_t WUD0:1;
3421                uint32_t WUD1:1;
3422                uint32_t LDBG:1;
3423                uint32_t DSF:1;
3424                uint32_t PRTY:1;
3425                uint32_t LIN:1;
3426                uint32_t RXIE:1;
3427                uint32_t TXIE:1;
3428                uint32_t WUIE:1;
3429                uint32_t STIE:1;
3430                uint32_t PBIE:1;
3431                uint32_t CIE:1;
3432                uint32_t CKIE:1;
3433                uint32_t FCIE:1;
3434                  uint32_t:7;
3435                uint32_t OFIE:1;
3436                  uint32_t:8;
3437            } B;
3438        } LCR;                  /* LIN Control Register */
3439
3440        union {
3441            uint32_t R;
3442        } LTR;                  /* LIN Transmit Register */
3443
3444        union {
3445            uint32_t R;
3446        } LRR;                  /* LIN Recieve Register */
3447
3448        union {
3449            uint32_t R;
3450        } LPR;                  /* LIN CRC Polynom Register  */
3451
3452    };
3453/****************************************************************************/
3454/*                          MODULE : FlexCAN                                */
3455/****************************************************************************/
3456    struct FLEXCAN2_tag {
3457        union {
3458            uint32_t R;
3459            struct {
3460                uint32_t MDIS:1;
3461                uint32_t FRZ:1;
3462                  uint32_t:1;
3463                uint32_t HALT:1;
3464                uint32_t NOTRDY:1;
3465                  uint32_t:1;
3466                uint32_t SOFTRST:1;
3467                uint32_t FRZACK:1;
3468                  uint32_t:1;
3469                  uint32_t:1;
3470
3471                uint32_t WRNEN:1;
3472
3473                uint32_t MDISACK:1;
3474                  uint32_t:1;
3475                  uint32_t:1;
3476
3477                uint32_t SRXDIS:1;
3478                uint32_t MBFEN:1;
3479                  uint32_t:10;
3480
3481                uint32_t MAXMB:6;
3482            } B;
3483        } MCR;                  /* Module Configuration Register */
3484
3485        union {
3486            uint32_t R;
3487            struct {
3488                uint32_t PRESDIV:8;
3489                uint32_t RJW:2;
3490                uint32_t PSEG1:3;
3491                uint32_t PSEG2:3;
3492                uint32_t BOFFMSK:1;
3493                uint32_t ERRMSK:1;
3494                uint32_t CLKSRC:1;
3495                uint32_t LPB:1;
3496
3497                uint32_t TWRNMSK:1;
3498                uint32_t RWRNMSK:1;
3499                  uint32_t:2;
3500
3501                uint32_t SMP:1;
3502                uint32_t BOFFREC:1;
3503                uint32_t TSYN:1;
3504                uint32_t LBUF:1;
3505                uint32_t LOM:1;
3506                uint32_t PROPSEG:3;
3507            } B;
3508        } CR;                   /* Control Register */
3509
3510        union {
3511            uint32_t R;
3512        } TIMER;                /* Free Running Timer */
3513        int32_t FLEXCAN_reserved00;
3514
3515        union {
3516            uint32_t R;
3517            struct {
3518                uint32_t:3;
3519                uint32_t MI:29;
3520            } B;
3521        } RXGMASK;              /* RX Global Mask */
3522
3523        union {
3524            uint32_t R;
3525            struct {
3526                uint32_t:3;
3527                uint32_t MI:29;
3528            } B;
3529        } RX14MASK;             /* RX 14 Mask */
3530
3531        union {
3532            uint32_t R;
3533            struct {
3534                uint32_t:3;
3535                uint32_t MI:29;
3536            } B;
3537        } RX15MASK;             /* RX 15 Mask */
3538
3539        union {
3540            uint32_t R;
3541            struct {
3542                uint32_t:16;
3543                uint32_t RXECNT:8;
3544                uint32_t TXECNT:8;
3545            } B;
3546        } ECR;                  /* Error Counter Register */
3547
3548        union {
3549            uint32_t R;
3550            struct {
3551                uint32_t:14;
3552
3553                uint32_t TWRNINT:1;
3554                uint32_t RWRNINT:1;
3555
3556                uint32_t BIT1ERR:1;
3557                uint32_t BIT0ERR:1;
3558                uint32_t ACKERR:1;
3559                uint32_t CRCERR:1;
3560                uint32_t FRMERR:1;
3561                uint32_t STFERR:1;
3562                uint32_t TXWRN:1;
3563                uint32_t RXWRN:1;
3564                uint32_t IDLE:1;
3565                uint32_t TXRX:1;
3566                uint32_t FLTCONF:2;
3567                  uint32_t:1;
3568                uint32_t BOFFINT:1;
3569                uint32_t ERRINT:1;
3570                  uint32_t:1;
3571            } B;
3572        } ESR;                  /* Error and Status Register */
3573
3574        union {
3575            uint32_t R;
3576            struct {
3577                uint32_t BUF63M:1;
3578                uint32_t BUF62M:1;
3579                uint32_t BUF61M:1;
3580                uint32_t BUF60M:1;
3581                uint32_t BUF59M:1;
3582                uint32_t BUF58M:1;
3583                uint32_t BUF57M:1;
3584                uint32_t BUF56M:1;
3585                uint32_t BUF55M:1;
3586                uint32_t BUF54M:1;
3587                uint32_t BUF53M:1;
3588                uint32_t BUF52M:1;
3589                uint32_t BUF51M:1;
3590                uint32_t BUF50M:1;
3591                uint32_t BUF49M:1;
3592                uint32_t BUF48M:1;
3593                uint32_t BUF47M:1;
3594                uint32_t BUF46M:1;
3595                uint32_t BUF45M:1;
3596                uint32_t BUF44M:1;
3597                uint32_t BUF43M:1;
3598                uint32_t BUF42M:1;
3599                uint32_t BUF41M:1;
3600                uint32_t BUF40M:1;
3601                uint32_t BUF39M:1;
3602                uint32_t BUF38M:1;
3603                uint32_t BUF37M:1;
3604                uint32_t BUF36M:1;
3605                uint32_t BUF35M:1;
3606                uint32_t BUF34M:1;
3607                uint32_t BUF33M:1;
3608                uint32_t BUF32M:1;
3609            } B;
3610        } IMRH;                 /* Interruput Masks Register */
3611
3612        union {
3613            uint32_t R;
3614            struct {
3615                uint32_t BUF31M:1;
3616                uint32_t BUF30M:1;
3617                uint32_t BUF29M:1;
3618                uint32_t BUF28M:1;
3619                uint32_t BUF27M:1;
3620                uint32_t BUF26M:1;
3621                uint32_t BUF25M:1;
3622                uint32_t BUF24M:1;
3623                uint32_t BUF23M:1;
3624                uint32_t BUF22M:1;
3625                uint32_t BUF21M:1;
3626                uint32_t BUF20M:1;
3627                uint32_t BUF19M:1;
3628                uint32_t BUF18M:1;
3629                uint32_t BUF17M:1;
3630                uint32_t BUF16M:1;
3631                uint32_t BUF15M:1;
3632                uint32_t BUF14M:1;
3633                uint32_t BUF13M:1;
3634                uint32_t BUF12M:1;
3635                uint32_t BUF11M:1;
3636                uint32_t BUF10M:1;
3637                uint32_t BUF09M:1;
3638                uint32_t BUF08M:1;
3639                uint32_t BUF07M:1;
3640                uint32_t BUF06M:1;
3641                uint32_t BUF05M:1;
3642                uint32_t BUF04M:1;
3643                uint32_t BUF03M:1;
3644                uint32_t BUF02M:1;
3645                uint32_t BUF01M:1;
3646                uint32_t BUF00M:1;
3647            } B;
3648        } IMRL;                 /* Interruput Masks Register */
3649
3650        union {
3651            uint32_t R;
3652            struct {
3653                uint32_t BUF63I:1;
3654                uint32_t BUF62I:1;
3655                uint32_t BUF61I:1;
3656                uint32_t BUF60I:1;
3657                uint32_t BUF59I:1;
3658                uint32_t BUF58I:1;
3659                uint32_t BUF57I:1;
3660                uint32_t BUF56I:1;
3661                uint32_t BUF55I:1;
3662                uint32_t BUF54I:1;
3663                uint32_t BUF53I:1;
3664                uint32_t BUF52I:1;
3665                uint32_t BUF51I:1;
3666                uint32_t BUF50I:1;
3667                uint32_t BUF49I:1;
3668                uint32_t BUF48I:1;
3669                uint32_t BUF47I:1;
3670                uint32_t BUF46I:1;
3671                uint32_t BUF45I:1;
3672                uint32_t BUF44I:1;
3673                uint32_t BUF43I:1;
3674                uint32_t BUF42I:1;
3675                uint32_t BUF41I:1;
3676                uint32_t BUF40I:1;
3677                uint32_t BUF39I:1;
3678                uint32_t BUF38I:1;
3679                uint32_t BUF37I:1;
3680                uint32_t BUF36I:1;
3681                uint32_t BUF35I:1;
3682                uint32_t BUF34I:1;
3683                uint32_t BUF33I:1;
3684                uint32_t BUF32I:1;
3685            } B;
3686        } IFRH;                 /* Interruput Flag Register */
3687
3688        union {
3689            uint32_t R;
3690            struct {
3691                uint32_t BUF31I:1;
3692                uint32_t BUF30I:1;
3693                uint32_t BUF29I:1;
3694                uint32_t BUF28I:1;
3695                uint32_t BUF27I:1;
3696                uint32_t BUF26I:1;
3697                uint32_t BUF25I:1;
3698                uint32_t BUF24I:1;
3699                uint32_t BUF23I:1;
3700                uint32_t BUF22I:1;
3701                uint32_t BUF21I:1;
3702                uint32_t BUF20I:1;
3703                uint32_t BUF19I:1;
3704                uint32_t BUF18I:1;
3705                uint32_t BUF17I:1;
3706                uint32_t BUF16I:1;
3707                uint32_t BUF15I:1;
3708                uint32_t BUF14I:1;
3709                uint32_t BUF13I:1;
3710                uint32_t BUF12I:1;
3711                uint32_t BUF11I:1;
3712                uint32_t BUF10I:1;
3713                uint32_t BUF09I:1;
3714                uint32_t BUF08I:1;
3715                uint32_t BUF07I:1;
3716                uint32_t BUF06I:1;
3717                uint32_t BUF05I:1;
3718                uint32_t BUF04I:1;
3719                uint32_t BUF03I:1;
3720                uint32_t BUF02I:1;
3721                uint32_t BUF01I:1;
3722                uint32_t BUF00I:1;
3723            } B;
3724        } IFRL;                 /* Interruput Flag Register */
3725
3726        uint32_t flexcan2_reserved2[19];
3727
3728        struct canbuf_t {
3729            union {
3730                uint32_t R;
3731                struct {
3732                    uint32_t:4;
3733                    uint32_t CODE:4;
3734                      uint32_t:1;
3735                    uint32_t SRR:1;
3736                    uint32_t IDE:1;
3737                    uint32_t RTR:1;
3738                    uint32_t LENGTH:4;
3739                    uint32_t TIMESTAMP:16;
3740                } B;
3741            } CS;
3742
3743            union {
3744                uint32_t R;
3745                struct {
3746                    uint32_t:3;
3747                    uint32_t STD_ID:11;
3748                    uint32_t EXT_ID:18;
3749                } B;
3750            } ID;
3751
3752            union {
3753                uint8_t B[8];  /* Data buffer in Bytes (8 bits) */
3754                uint16_t H[4]; /* Data buffer in Half-words (16 bits) */
3755                uint32_t W[2]; /* Data buffer in words (32 bits) */
3756                uint32_t R[2]; /* Data buffer in words (32 bits) */
3757            } DATA;
3758
3759        } BUF[64];
3760
3761        uint32_t flexcan2_reserved3[256];
3762
3763        union {
3764            uint32_t R;
3765            struct {
3766                uint32_t:3;
3767                uint32_t MI:29;
3768            } B;
3769        } RXIMR[64];            /* RX Individual Mask Registers */
3770
3771    };
3772/****************************************************************************/
3773/*                          MODULE : FEC                                    */
3774/****************************************************************************/
3775    struct FEC_tag {
3776
3777        uint32_t fec_reserved_start[0x1];
3778
3779        union {
3780            uint32_t R;
3781            struct {
3782                uint32_t HBERR:1;
3783                uint32_t BABR:1;
3784                uint32_t BABT:1;
3785                uint32_t GRA:1;
3786                uint32_t TXF:1;
3787                uint32_t TXB:1;
3788                uint32_t RXF:1;
3789                uint32_t RXB:1;
3790                uint32_t MII:1;
3791                uint32_t EBERR:1;
3792                uint32_t LC:1;
3793                uint32_t RL:1;
3794                uint32_t UN:1;
3795                  uint32_t:19;
3796            } B;
3797        } EIR;                  /*  Interrupt Event Register */
3798
3799        union {
3800            uint32_t R;
3801            struct {
3802                uint32_t HBERRM:1;
3803                uint32_t BABRM:1;
3804                uint32_t BABTM:1;
3805                uint32_t GRAM:1;
3806                uint32_t TXFM:1;
3807                uint32_t TXBM:1;
3808                uint32_t RXFM:1;
3809                uint32_t RXBM:1;
3810                uint32_t MIIM:1;
3811                uint32_t EBERRM:1;
3812                uint32_t LCM:1;
3813                uint32_t RLM:1;
3814                uint32_t UNM:1;
3815                  uint32_t:19;
3816            } B;
3817        } EIMR;                 /*  Interrupt Mask Register  */
3818
3819        uint32_t fec_reserved_eimr;
3820
3821        union {
3822            uint32_t R;
3823            struct {
3824                uint32_t:7;
3825                uint32_t R_DES_ACTIVE:1;
3826                  uint32_t:24;
3827            } B;
3828        } RDAR;                 /*  Receive Descriptor Active Register  */
3829
3830        union {
3831            uint32_t R;
3832            struct {
3833                uint32_t:7;
3834                uint32_t X_DES_ACTIVE:1;
3835                  uint32_t:24;
3836            } B;
3837        } TDAR;                 /*  Transmit Descriptor Active Register  */
3838
3839        uint32_t fec_reserved_tdar[3];
3840
3841        union {
3842            uint32_t R;
3843            struct {
3844                uint32_t:30;
3845                uint32_t ETHER_EN:1;
3846                uint32_t RESET:1;
3847            } B;
3848        } ECR;                  /*  Ethernet Control Register  */
3849
3850        uint32_t fec_reserved_ecr[6];
3851
3852        union {
3853            uint32_t R;
3854            struct {
3855                uint32_t ST:2;
3856                uint32_t CP:2;
3857                uint32_t PA:5;
3858                uint32_t RA:5;
3859                uint32_t TA:2;
3860                uint32_t DATA:16;
3861            } B;
3862        } MDATA;                /* MII Data Register */
3863
3864        union {
3865            uint32_t R;
3866            struct {
3867                uint32_t:24;
3868                uint32_t DIS_PREAMBLE:1;
3869                uint32_t MII_SPEED:6;
3870                  uint32_t:1;
3871            } B;
3872        } MSCR;                 /* MII Speed Control Register */
3873
3874        uint32_t fec_reserved_mscr[7];
3875
3876        union {
3877            uint32_t R;
3878            struct {
3879                uint32_t MIB_DISABLE:1;
3880                uint32_t MIB_IDLE:1;
3881                  uint32_t:30;
3882            } B;
3883        } MIBC;                 /* MIB Control Register */
3884
3885        uint32_t fec_reserved_mibc[7];
3886
3887        union {
3888            uint32_t R;
3889            struct {
3890                uint32_t:5;
3891                uint32_t MAX_FL:11;
3892                  uint32_t:10;
3893                uint32_t FCE:1;
3894                uint32_t BC_REJ:1;
3895                uint32_t PROM:1;
3896                uint32_t MII_MODE:1;
3897                uint32_t DRT:1;
3898                uint32_t LOOP:1;
3899            } B;
3900        } RCR;                  /* Receive Control Register */
3901
3902        uint32_t fec_reserved_rcr[15];
3903
3904        union {
3905            uint32_t R;
3906            struct {
3907                uint32_t:27;
3908                uint32_t RFC_PAUSE:1;
3909                uint32_t TFC_PAUSE:1;
3910                uint32_t FDEN:1;
3911                uint32_t HBC:1;
3912                uint32_t GTS:1;
3913            } B;
3914        } TCR;                  /* Transmit Control Register */
3915
3916        uint32_t fec_reserved_tcr[7];
3917
3918        union {
3919            uint32_t R;
3920            struct {
3921                uint32_t PADDR1:32;
3922            } B;
3923        } PALR;                 /* Physical Address Low Register */
3924
3925        union {
3926            uint32_t R;
3927            struct {
3928                uint32_t PADDR2:16;
3929                uint32_t TYPE:16;
3930            } B;
3931        } PAUR;                 /* Physical Address High + Type Register */
3932
3933        union {
3934            uint32_t R;
3935            struct {
3936                uint32_t OPCODE:16;
3937                uint32_t PAUSE_DUR:16;
3938            } B;
3939        } OPD;                  /* Opcode/Pause Duration Register */
3940
3941        uint32_t fec_reserved_opd[10];
3942
3943        union {
3944            uint32_t R;
3945            struct {
3946                uint32_t IADDR1:32;
3947            } B;
3948        } IAUR;                 /* Descriptor Individual Upper Address Register */
3949
3950        union {
3951            uint32_t R;
3952            struct {
3953                uint32_t IADDR2:32;
3954            } B;
3955        } IALR;                 /* Descriptor Individual Lower Address Register */
3956
3957        union {
3958            uint32_t R;
3959            struct {
3960                uint32_t GADDR1:32;
3961            } B;
3962        } GAUR;                 /* Descriptor Group Upper Address Register */
3963
3964        union {
3965            uint32_t R;
3966            struct {
3967                uint32_t GADDR2:32;
3968            } B;
3969        } GALR;                 /* Descriptor Group Lower Address Register */
3970
3971        uint32_t fec_reserved_galr[7];
3972
3973        union {
3974            uint32_t R;
3975            struct {
3976                uint32_t:30;
3977                uint32_t X_WMRK:2;
3978            } B;
3979        } TFWR;                 /* FIFO Transmit FIFO Watermark Register */
3980
3981        uint32_t fec_reserved_tfwr;
3982
3983        union {
3984            uint32_t R;
3985            struct {
3986                uint32_t:22;
3987                uint32_t R_BOUND:8;
3988                  uint32_t:2;
3989            } B;
3990        } FRBR;                 /* FIFO Receive Bound Register */
3991
3992        union {
3993            uint32_t R;
3994            struct {
3995                uint32_t:22;
3996                uint32_t R_FSTART:8;
3997                  uint32_t:2;
3998            } B;
3999        } FRSR;                 /* FIFO Receive Start Register */
4000
4001        uint32_t fec_reserved_frsr[11];
4002
4003        union {
4004            uint32_t R;
4005            struct {
4006                uint32_t R_DES_START:30;
4007                  uint32_t:2;
4008            } B;
4009        } ERDSR;                /* Receive Descriptor Ring Start Register */
4010
4011        union {
4012            uint32_t R;
4013            struct {
4014                uint32_t X_DES_START:30;
4015                  uint32_t:2;
4016            } B;
4017        } ETDSR;                /* Transmit Descriptor Ring Start Register */
4018
4019        union {
4020            uint32_t R;
4021            struct {
4022                uint32_t:21;
4023                uint32_t R_BUF_SIZE:7;
4024                  uint32_t:4;
4025            } B;
4026        } EMRBR;                /* Receive Buffer Size Register */
4027
4028        uint32_t fec_reserved_emrbr[29];
4029
4030        union {
4031            uint32_t R;
4032        } RMON_T_DROP;          /* Count of frames not counted correctly */
4033
4034        union {
4035            uint32_t R;
4036        } RMON_T_PACKETS;       /* RMON Tx packet count */
4037
4038        union {
4039            uint32_t R;
4040        } RMON_T_BC_PKT;        /* RMON Tx Broadcast Packets */
4041
4042        union {
4043            uint32_t R;
4044        } RMON_T_MC_PKT;        /* RMON Tx Multicast Packets */
4045
4046        union {
4047            uint32_t R;
4048        } RMON_T_CRC_ALIGN;     /* RMON Tx Packets w CRC/Align error */
4049
4050        union {
4051            uint32_t R;
4052        } RMON_T_UNDERSIZE;     /* RMON Tx Packets < 64 bytes, good crc */
4053
4054        union {
4055            uint32_t R;
4056        } RMON_T_OVERSIZE;      /* RMON Tx Packets > MAX_FL bytes, good crc */
4057
4058        union {
4059            uint32_t R;
4060        } RMON_T_FRAG;          /* RMON Tx Packets < 64 bytes, bad crc */
4061
4062        union {
4063            uint32_t R;
4064        } RMON_T_JAB;           /* RMON Tx Packets > MAX_FL bytes, bad crc */
4065
4066        union {
4067            uint32_t R;
4068        } RMON_T_COL;           /* RMON Tx collision count */
4069
4070        union {
4071            uint32_t R;
4072        } RMON_T_P64;           /* RMON Tx 64 byte packets */
4073
4074        union {
4075            uint32_t R;
4076        } RMON_T_P65TO127;      /* RMON Tx 65 to 127 byte packets */
4077
4078        union {
4079            uint32_t R;
4080        } RMON_T_P128TO255;     /* RMON Tx 128 to 255 byte packets */
4081
4082        union {
4083            uint32_t R;
4084        } RMON_T_P256TO511;     /* RMON Tx 256 to 511 byte packets */
4085
4086        union {
4087            uint32_t R;
4088        } RMON_T_P512TO1023;    /* RMON Tx 512 to 1023 byte packets */
4089
4090        union {
4091            uint32_t R;
4092        } RMON_T_P1024TO2047;   /* RMON Tx 1024 to 2047 byte packets */
4093
4094        union {
4095            uint32_t R;
4096        } RMON_T_P_GTE2048;     /* RMON Tx packets w > 2048 bytes */
4097
4098        union {
4099            uint32_t R;
4100        } RMON_T_OCTETS;        /* RMON Tx Octets */
4101
4102        union {
4103            uint32_t R;
4104        } IEEE_T_DROP;          /* Count of frames not counted correctly */
4105
4106        union {
4107            uint32_t R;
4108        } IEEE_T_FRAME_OK;      /* Frames Transmitted OK */
4109
4110        union {
4111            uint32_t R;
4112        } IEEE_T_1COL;          /* Frames Transmitted with Single Collision */
4113
4114        union {
4115            uint32_t R;
4116        } IEEE_T_MCOL;          /* Frames Transmitted with Multiple Collisions */
4117
4118        union {
4119            uint32_t R;
4120        } IEEE_T_DEF;           /* Frames Transmitted after Deferral Delay */
4121
4122        union {
4123            uint32_t R;
4124        } IEEE_T_LCOL;          /* Frames Transmitted with Late Collision */
4125
4126        union {
4127            uint32_t R;
4128        } IEEE_T_EXCOL;         /* Frames Transmitted with Excessive Collisions */
4129
4130        union {
4131            uint32_t R;
4132        } IEEE_T_MACERR;        /* Frames Transmitted with Tx FIFO Underrun */
4133
4134        union {
4135            uint32_t R;
4136        } IEEE_T_CSERR;         /* Frames Transmitted with Carrier Sense Error */
4137
4138        union {
4139            uint32_t R;
4140        } IEEE_T_SQE;           /* Frames Transmitted with SQE Error */
4141
4142        union {
4143            uint32_t R;
4144        } IEEE_T_FDXFC;         /* Flow Control Pause frames transmitted */
4145
4146        union {
4147            uint32_t R;
4148        } IEEE_T_OCTETS_OK;     /* Octet count for Frames Transmitted w/o Error */
4149
4150        uint32_t fec_reserved_rmon_t_octets_ok[2];
4151
4152        union {
4153            uint32_t R;
4154        } RMON_R_DROP;          /*  Count of frames not counted correctly  */
4155
4156        union {
4157            uint32_t R;
4158        } RMON_R_PACKETS;       /* RMON Rx packet count */
4159
4160        union {
4161            uint32_t R;
4162        } RMON_R_BC_PKT;        /* RMON Rx Broadcast Packets */
4163
4164        union {
4165            uint32_t R;
4166        } RMON_R_MC_PKT;        /* RMON Rx Multicast Packets */
4167
4168        union {
4169            uint32_t R;
4170        } RMON_R_CRC_ALIGN;     /* RMON Rx Packets w CRC/Align error */
4171
4172        union {
4173            uint32_t R;
4174        } RMON_R_UNDERSIZE;     /* RMON Rx Packets < 64 bytes, good crc */
4175
4176        union {
4177            uint32_t R;
4178        } RMON_R_OVERSIZE;      /* RMON Rx Packets > MAX_FL bytes, good crc */
4179
4180        union {
4181            uint32_t R;
4182        } RMON_R_FRAG;          /* RMON Rx Packets < 64 bytes, bad crc */
4183
4184        union {
4185            uint32_t R;
4186        } RMON_R_JAB;           /* RMON Rx Packets > MAX_FL bytes, bad crc */
4187
4188        uint32_t fec_reserved_rmon_r_jab;
4189
4190        union {
4191            uint32_t R;
4192        } RMON_R_P64;           /* RMON Rx 64 byte packets */
4193
4194        union {
4195            uint32_t R;
4196        } RMON_R_P65TO127;      /* RMON Rx 65 to 127 byte packets */
4197
4198        union {
4199            uint32_t R;
4200        } RMON_R_P128TO255;     /* RMON Rx 128 to 255 byte packets */
4201
4202        union {
4203            uint32_t R;
4204        } RMON_R_P256TO511;     /* RMON Rx 256 to 511 byte packets */
4205
4206        union {
4207            uint32_t R;
4208        } RMON_R_P512TO1023;    /* RMON Rx 512 to 1023 byte packets */
4209
4210        union {
4211            uint32_t R;
4212        } RMON_R_P1024TO2047;   /* RMON Rx 1024 to 2047 byte packets */
4213
4214        union {
4215            uint32_t R;
4216        } RMON_R_P_GTE2048;     /* RMON Rx packets w > 2048 bytes */
4217
4218        union {
4219            uint32_t R;
4220        } RMON_R_OCTETS;        /* RMON Rx Octets */
4221
4222        union {
4223            uint32_t R;
4224        } IEEE_R_DROP;          /* Count of frames not counted correctly */
4225
4226        union {
4227            uint32_t R;
4228        } IEEE_R_FRAME_OK;      /* Frames Received OK */
4229
4230        union {
4231            uint32_t R;
4232        } IEEE_R_CRC;           /* Frames Received with CRC Error */
4233
4234        union {
4235            uint32_t R;
4236        } IEEE_R_ALIGN;         /* Frames Received with Alignment Error */
4237
4238        union {
4239            uint32_t R;
4240        } IEEE_R_MACERR;        /* Receive Fifo Overflow count */
4241
4242        union {
4243            uint32_t R;
4244        } IEEE_R_FDXFC;         /* Flow Control Pause frames received */
4245
4246        union {
4247            uint32_t R;
4248        } IEEE_R_OCTETS_OK;     /* Octet count for Frames Rcvd w/o Error */
4249
4250    };
4251
4252/* Define memories */
4253
4254#define SRAM_START  0x40000000
4255#define SRAM_SIZE      0x20000
4256#define SRAM_END    0x4001FFFF
4257
4258#define FLASH_START         0x0
4259#define FLASH_SIZE      0x300000
4260#define FLASH_END       0x2FFFFF
4261
4262/* Define instances of modules */
4263#define PBRIDGE_A (*(volatile struct PBRIDGE_A_tag *) 0xC3F00000)
4264#define FMPLL     (*(volatile struct FMPLL_tag *)     0xC3F80000)
4265#define EBI       (*(volatile struct EBI_tag *)       0xC3F84000)
4266#define FLASH     (*(volatile struct FLASH_tag *)     0xC3F88000)
4267#define SIU       (*(volatile struct SIU_tag *)       0xC3F90000)
4268
4269#define EMIOS     (*(volatile struct EMIOS_tag *)     0xC3FA0000)
4270#define ETPU      (*(volatile struct ETPU_tag *)      0xC3FC0000)
4271#define ETPU_DATA_RAM  (*(volatile uint32_t *)        0xC3FC8000)
4272#define ETPU_DATA_RAM_EXT  (*(volatile uint32_t *)    0xC3FCC000)
4273#define ETPU_DATA_RAM_END  0xC3FC8FFC
4274#define CODE_RAM       (*(volatile uint32_t *)        0xC3FD0000)
4275#define ETPU_CODE_RAM  (*(volatile uint32_t *)        0xC3FD0000)
4276
4277#define PBRIDGE_B (*(volatile struct PBRIDGE_B_tag *) 0xFFF00000)
4278#define XBAR      (*(volatile struct XBAR_tag *)      0xFFF04000)
4279#define ECSM      (*(volatile struct ECSM_tag *)      0xFFF40000)
4280#define EDMA      (*(volatile struct EDMA_tag *)      0xFFF44000)
4281#define INTC      (*(volatile struct INTC_tag *)      0xFFF48000)
4282
4283#define EQADC     (*(volatile struct EQADC_tag *)     0xFFF80000)
4284
4285#define DSPI_A    (*(volatile struct DSPI_tag *)      0xFFF90000)
4286#define DSPI_B    (*(volatile struct DSPI_tag *)      0xFFF94000)
4287#define DSPI_C    (*(volatile struct DSPI_tag *)      0xFFF98000)
4288#define DSPI_D    (*(volatile struct DSPI_tag *)      0xFFF9C000)
4289
4290#define ESCI_A    (*(volatile struct ESCI_tag *)      0xFFFB0000)
4291#define ESCI_B    (*(volatile struct ESCI_tag *)      0xFFFB4000)
4292
4293#define CAN_A     (*(volatile struct FLEXCAN2_tag *)  0xFFFC0000)
4294#define CAN_B     (*(volatile struct FLEXCAN2_tag *)  0xFFFC4000)
4295#define CAN_C     (*(volatile struct FLEXCAN2_tag *)  0xFFFC8000)
4296#define CAN_D     (*(volatile struct FLEXCAN2_tag *)  0xFFFCC000)
4297
4298#define FEC     (*(volatile struct FEC_tag *)  0xFFF4C000)
4299
4300#define MPC55XX_ZERO_FLAGS { .R = 0 }
4301
4302#ifdef  __cplusplus
4303}
4304#endif /* __cplusplus */
4305
4306#endif /* LIBCPU_POWERPC_MPC55XX_REGS_H */
4307
4308/*********************************************************************
4309 *
4310 * Copyright:
4311 *      Freescale Semiconductor, INC. All Rights Reserved.
4312 *  You are hereby granted a copyright license to use, modify, and
4313 *  distribute the SOFTWARE so long as this entire notice is
4314 *  retained without alteration in any modified and/or redistributed
4315 *  versions, and that such modified versions are clearly identified
4316 *  as such. No licenses are granted by implication, estoppel or
4317 *  otherwise under any patents or trademarks of Freescale
4318 *  Semiconductor, Inc. This software is provided on an "AS IS"
4319 *  basis and without warranty.
4320 *
4321 *  To the maximum extent permitted by applicable law, Freescale
4322 *  Semiconductor DISCLAIMS ALL WARRANTIES WHETHER EXPRESS OR IMPLIED,
4323 *  INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
4324 *  PARTICULAR PURPOSE AND ANY WARRANTY AGAINST INFRINGEMENT WITH
4325 *  REGARD TO THE SOFTWARE (INCLUDING ANY MODIFIED VERSIONS THEREOF)
4326 *  AND ANY ACCOMPANYING WRITTEN MATERIALS.
4327 *
4328 *  To the maximum extent permitted by applicable law, IN NO EVENT
4329 *  SHALL Freescale Semiconductor BE LIABLE FOR ANY DAMAGES WHATSOEVER
4330 *  (INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
4331 *  BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER
4332 *  PECUNIARY LOSS) ARISING OF THE USE OR INABILITY TO USE THE SOFTWARE.
4333 *
4334 *  Freescale Semiconductor assumes no responsibility for the
4335 *  maintenance and support of this software
4336 *
4337 ********************************************************************/
Note: See TracBrowser for help on using the repository browser.