source: rtems/c/src/lib/libcpu/powerpc/mpc55xx/include/fsl-mpc567x.h @ 4960b29

4.115
Last change on this file since 4960b29 was 4960b29, checked in by Ralf Corsepius <ralf.corsepius@…>, on 10/07/11 at 08:41:45

2011-10-07 Ralf Corsépius <ralf.corsepius@…>

PR 1928/bsps:

  • mpc55xx/include/fsl-mpc567x.h (struct FLASH_tag): Extend SIZE to 4 bits.
  • Property mode set to 100644
File size: 243.9 KB
Line 
1/*
2 * Modifications of the original file provided by Freescale are:
3 *
4 * Copyright (c) 2011 embedded brains GmbH.  All rights reserved.
5 *
6 *  embedded brains GmbH
7 *  Obere Lagerstr. 30
8 *  82178 Puchheim
9 *  Germany
10 *  <info@embedded-brains.de>
11 *
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions
14 * are met:
15 * 1. Redistributions of source code must retain the above copyright
16 *    notice, this list of conditions and the following disclaimer.
17 * 2. Redistributions in binary form must reproduce the above copyright
18 *    notice, this list of conditions and the following disclaimer in the
19 *    documentation and/or other materials provided with the distribution.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 */
33
34/**************************************************************************/
35/* FILE NAME: mpc5674f.h                     COPYRIGHT (c) Freescale 2009 */
36/* VERSION:  1.04                                 All Rights Reserved     */
37/*                                                                        */
38/* DESCRIPTION:                                                           */
39/* This file contains all of the register and bit field definitions for   */
40/* MPC5674F.                                                              */
41/*========================================================================*/
42/* UPDATE HISTORY                                                         */
43/* REV      AUTHOR      DATE       DESCRIPTION OF CHANGE                  */
44/* ---   -----------  ---------    ---------------------                  */
45/* NOTE: Branch pulled at version 0.87 for mpc5674_c.h version 1.00       */
46/* 1.00  B. Terry                  Corrected DECFILT addresses and added  */
47/*                                 4 additional filters for Rev. 2        */
48/* 1.01  B. Terry     16/Nov/09    Corrected bit definitions in SIUDIV    */
49/*                                 register.                              */
50/* 1.02  B. Terry     19/Nov/09    Added ISEL8, ISEL9, ISEL10, and ISEL11 */
51/*                                 regs to SIU tag. (Mamba 2 features)    */
52/* 1.03  B. Terry         19/Nov/09    Renamed ISEL10 and ISEL11 to DECFIL1   */
53/*                                 and DECFIL2 to match RM.               */
54/* 1.04  B. Terry     22/Jan/10    Updated bitfields of MPU RGDx Word2    */
55/*                                 register to reflect Mamba 2. Added     */
56/*                                 MXCR and MXSR registers to DecFilt.    */
57/*                                 Removed pre-release rev history.       */
58/**************************************************************************/
59
60#ifndef _MPC5674F_H_
61#define _MPC5674F_H_
62
63#include <stdint.h>
64
65#include <mpc55xx/regs-edma.h>
66
67#ifdef  __cplusplus
68extern "C" {
69#endif
70
71#ifdef __MWERKS__
72#pragma push
73#pragma ANSI_strict off
74#endif
75
76/****************************************************************************/
77/*                          MODULE : PBRIDGE_A Peripheral Bridge            */
78/****************************************************************************/
79
80    struct PBRIDGE_A_tag {
81
82        union {                 /* Master Privilege Control Register 0*/
83            uint32_t R;
84            struct {
85                uint32_t MBW0:1;      /* z7 Core */
86                uint32_t MTR0:1;
87                uint32_t MTW0:1;
88                uint32_t MPL0:1;
89                uint32_t MBW1:1;      /* Nexus */
90                uint32_t MTR1:1;
91                uint32_t MTW1:1;
92                uint32_t MPL1:1;
93                uint32_t MBW2:1;      /* Reserved */
94                uint32_t MTR2:1;
95                uint32_t MTW2:1;
96                uint32_t MPL2:1;
97                uint32_t MBW3:1;      /* Reserved */
98                uint32_t MTR3:1;
99                uint32_t MTW3:1;
100                uint32_t MPL3:1;
101                uint32_t MBW4:1;       /* eDMA A */
102                uint32_t MTR4:1;
103                uint32_t MTW4:1;
104                uint32_t MPL4:1;
105                uint32_t MBW5:1;       /* eDMA B */
106                uint32_t MTR5:1;
107                uint32_t MTW5:1;
108                uint32_t MPL5:1;
109                uint32_t MBW6:1;       /* FLEXRAY */
110                uint32_t MTR6:1;
111                uint32_t MTW6:1;
112                uint32_t MPL6:1;
113                uint32_t MBW7:1;       /* EBI */
114                uint32_t MTR7:1;
115                uint32_t MTW7:1;
116                uint32_t MPL7:1;
117            } B;
118        } MPCR;
119
120        union {                 /* Master Privilege Control Register 1 */
121            uint32_t R;
122            struct {
123                uint32_t:32;      /* reserved */
124            } B;
125        } MPCR1;
126
127        uint32_t PBRIDGE_A_reserved0008[6];  /* 0x0008-0x001F */
128
129        union {                 /* Peripheral Access Control Register 0 */
130            uint32_t R;
131            struct {
132                uint32_t BW0:1;  /* PBRIDGE_A */
133                uint32_t SP0:1;
134                uint32_t WP0:1;
135                uint32_t TP0:1;
136                uint32_t:4;      /* Reserved */
137                uint32_t:4;      /* Reserved */
138                uint32_t:4;      /* Reserved */
139                uint32_t:4;      /* Reserved */
140                uint32_t:4;      /* Reserved */
141                uint32_t:4;      /* Reserved */
142                uint32_t:4;      /* Reserved */
143            } B;
144        } PACR0;
145
146        uint32_t PBRIDGE_A_reserved0024[7];  /* 0x0024-0x003F */
147
148        union {                 /* Off-Platform Peripheral Access Control Register 0 */
149            uint32_t R;
150            struct {
151                uint32_t BW0:1;  /* FMPLL */
152                uint32_t SP0:1;
153                uint32_t WP0:1;
154                uint32_t TP0:1;
155                uint32_t BW1:1;  /* EBI control */
156                uint32_t SP1:1;
157                uint32_t WP1:1;
158                uint32_t TP1:1;
159                uint32_t BW2:1;  /* Flash A control */
160                uint32_t SP2:1;
161                uint32_t WP2:1;
162                uint32_t TP2:1;
163                uint32_t BW3:1;  /* Flash B control */
164                uint32_t SP3:1;
165                uint32_t WP3:1;
166                uint32_t TP3:1;
167                uint32_t BW4:1;  /* SIU */
168                uint32_t SP4:1;
169                uint32_t WP4:1;
170                uint32_t TP4:1;
171                uint32_t:4;      /* Reserved */
172                uint32_t:4;      /* Reserved */
173                uint32_t:4;      /* Reserved */
174            } B;
175        } OPACR0;
176
177        union {                 /* Off-Platform Peripheral Access Control Register 1 */
178            uint32_t R;
179            struct {
180                uint32_t BW0:1;  /* EMIOS */
181                uint32_t SP0:1;
182                uint32_t WP0:1;
183                uint32_t TP0:1;
184                uint32_t:4;      /* Reserved */
185                uint32_t:4;      /* Reserved */
186                uint32_t:4;      /* Reserved */
187                uint32_t:4;      /* Reserved */
188                uint32_t:4;      /* Reserved */
189                uint32_t:4;      /* Reserved */
190                uint32_t BW7:1;  /* PMC */
191                uint32_t SP7:1;
192                uint32_t WP7:1;
193                uint32_t TP7:1;
194            } B;
195        } OPACR1;
196
197        union {                 /* Off-Platform Peripheral Access Control Register 2 */
198            uint32_t R;
199            struct {
200                uint32_t BW0:1;  /* eTPU */
201                uint32_t SP0:1;
202                uint32_t WP0:1;
203                uint32_t TP0:1;
204                uint32_t:4;      /* Reserved */
205                uint32_t BW2:1;  /* eTPU PRAM */
206                uint32_t SP2:1;
207                uint32_t WP2:1;
208                uint32_t TP2:1;
209                uint32_t BW3:1;  /* eTPU PRAM mirror */
210                uint32_t SP3:1;
211                uint32_t WP3:1;
212                uint32_t TP3:1;
213                uint32_t BW4:1;  /* eTPU SCM */
214                uint32_t SP4:1;
215                uint32_t WP4:1;
216                uint32_t TP4:1;
217                uint32_t BW5:1;  /* eTPU SCM */
218                uint32_t SP5:1;
219                uint32_t WP5:1;
220                uint32_t TP5:1;
221                uint32_t:4;      /* Reserved */
222                uint32_t:4;      /* Reserved */
223            } B;
224        } OPACR2;
225
226        union {                 /* Off-Platform Peripheral Access Control Register 3 */
227            uint32_t R;
228            struct {
229                uint32_t:4;      /* Reserved */
230                uint32_t:4;      /* Reserved */
231                uint32_t:4;      /* Reserved */
232                uint32_t:4;      /* Reserved */
233                uint32_t BW4:1;  /* PIT/RTI  */
234                uint32_t SP4:1;
235                uint32_t WP4:1;
236                uint32_t TP4:1;
237                uint32_t:4;      /* Reserved */
238                uint32_t:4;      /* Reserved */
239                uint32_t:4;      /* Reserved */
240            } B;
241        } OPACR3;
242
243        uint32_t PBRIDGE_A_reserved0050[4076];  /* 0x0050-0x3FFF */
244
245    };
246
247/****************************************************************************/
248/*                          MODULE : PBRIDGE_B Peripheral Bridge            */
249/****************************************************************************/
250
251    struct PBRIDGE_B_tag {
252
253        union {                 /* Master Privilege Control Register 0 */
254            uint32_t R;
255            struct {
256                uint32_t MBW0:1;      /* z7 Core */
257                uint32_t MTR0:1;
258                uint32_t MTW0:1;
259                uint32_t MPL0:1;
260                uint32_t MBW1:1;      /* Nexus */
261                uint32_t MTR1:1;
262                uint32_t MTW1:1;
263                uint32_t MPL1:1;
264                uint32_t MBW2:1;      /* Reserved */
265                uint32_t MTR2:1;
266                uint32_t MTW2:1;
267                uint32_t MPL2:1;
268                uint32_t MBW3:1;      /* Reserved */
269                uint32_t MTR3:1;
270                uint32_t MTW3:1;
271                uint32_t MPL3:1;
272                uint32_t MBW4:1;      /* eDMA A */
273                uint32_t MTR4:1;
274                uint32_t MTW4:1;
275                uint32_t MPL4:1;
276                uint32_t MBW5:1;      /* eDMA B */
277                uint32_t MTR5:1;
278                uint32_t MTW5:1;
279                uint32_t MPL5:1;
280                uint32_t MBW6:1;      /* FLEXRAY */
281                uint32_t MTR6:1;
282                uint32_t MTW6:1;
283                uint32_t MPL6:1;
284                uint32_t MBW7:1;      /* EBI */
285                uint32_t MTR7:1;
286                uint32_t MTW7:1;
287                uint32_t MPL7:1;
288            } B;
289        } MPCR;
290
291        union {                 /* Master Privilege Control Register 1 */
292            uint32_t R;
293            struct {
294               uint32_t:32;     /* Reserved */
295
296            } B;
297        } MPCR1;
298
299        uint32_t PBRIDGE_B_reserved0008[6];  /* 0x0008-0x001F */
300
301        union {                 /* Peripheral Access Control Register 0 */
302            uint32_t R;
303            struct {
304                uint32_t BW0:1;  /* PBRIDGE B */
305                uint32_t SP0:1;
306                uint32_t WP0:1;
307                uint32_t TP0:1;
308                uint32_t BW1:1;  /* XBAR  */
309                uint32_t SP1:1;
310                uint32_t WP1:1;
311                uint32_t TP1:1;
312                uint32_t:4;      /* Reserved */
313                uint32_t:4;      /* Reserved */
314                uint32_t BW4:1;  /* MPU */
315                uint32_t SP4:1;
316                uint32_t WP4:1;
317                uint32_t TP4:1;
318                uint32_t:4;      /* Reserved */
319                uint32_t:4;      /* Reserved */
320                uint32_t:4;      /* Reserved */
321            } B;
322        } PACR0;
323
324        union {                 /* Peripheral Access Control Register 1 */
325            uint32_t R;
326            struct {
327                uint32_t:4;      /* Reserved */
328                uint32_t:4;      /* Reserved */
329                uint32_t:4;      /* Reserved */
330                uint32_t:4;      /* Reserved */
331                uint32_t:4;      /* Reserved */
332                uint32_t:4;      /* Reserved */
333                uint32_t BW6:1;  /* SWT */
334                uint32_t SP6:1;
335                uint32_t WP6:1;
336                uint32_t TP6:1;
337                uint32_t BW7:1;  /* STM */
338                uint32_t SP7:1;
339                uint32_t WP7:1;
340                uint32_t TP7:1;
341            } B;
342        } PACR1;
343
344        union {                 /* Peripheral Access Control Register 2 */
345            uint32_t R;
346            struct {
347                uint32_t BW0:1;  /* ECSM */
348                uint32_t SP0:1;
349                uint32_t WP0:1;
350                uint32_t TP0:1;
351                uint32_t BW1:1;  /* eDMA A */
352                uint32_t SP1:1;
353                uint32_t WP1:1;
354                uint32_t TP1:1;
355                uint32_t BW2:1;  /* INTC */
356                uint32_t SP2:1;
357                uint32_t WP2:1;
358                uint32_t TP2:1;
359                uint32_t:4;      /* Reserved */
360                uint32_t:4;      /* Reserved */
361                uint32_t BW5:1;  /* eDMA B */
362                uint32_t SP5:1;
363                uint32_t WP5:1;
364                uint32_t TP5:1;
365                uint32_t:4;      /* Reserved */
366                uint32_t:4;      /* Reserved */
367            } B;
368        } PACR2;
369
370        uint32_t PBRIDGE_B_reserved002C[5];  /* 0x002C-0x003F */
371
372        union {                 /* Off-Platform Peripheral Access Control Register 0 */
373            uint32_t R;
374            struct {
375                uint32_t BW0:1;  /* eQADC A */
376                uint32_t SP0:1;
377                uint32_t WP0:1;
378                uint32_t TP0:1;
379                uint32_t BW1:1;  /* eQADC B */
380                uint32_t SP1:1;
381                uint32_t WP1:1;
382                uint32_t TP1:1;
383                uint32_t BW2:1;  /* Decimation Filters A, B, C, D */
384                uint32_t SP2:1;
385                uint32_t WP2:1;
386                uint32_t TP2:1;
387                uint32_t:4;      /* Reserved */
388                uint32_t BW4:1;  /* DSPI_A */
389                uint32_t SP4:1;
390                uint32_t WP4:1;
391                uint32_t TP4:1;
392                uint32_t BW5:1;  /* DSPI_B */
393                uint32_t SP5:1;
394                uint32_t WP5:1;
395                uint32_t TP5:1;
396                uint32_t BW6:1;  /* DSPI_C */
397                uint32_t SP6:1;
398                uint32_t WP6:1;
399                uint32_t TP6:1;
400                uint32_t BW7:1;  /* DSPI_D */
401                uint32_t SP7:1;
402                uint32_t WP7:1;
403                uint32_t TP7:1;
404            } B;
405        } OPACR0;
406
407        union {                 /* Off-Platform Peripheral Access Control Register 1 */
408            uint32_t R;
409            struct {
410                uint32_t:4;      /* Reserved */
411                uint32_t:4;      /* Reserved */
412                uint32_t:4;      /* Reserved */
413                uint32_t:4;      /* Reserved */
414                uint32_t BW4:1;  /* ESCI_A */
415                uint32_t SP4:1;
416                uint32_t WP4:1;
417                uint32_t TP4:1;
418                uint32_t BW5:1;  /* ESCI_B */
419                uint32_t SP5:1;
420                uint32_t WP5:1;
421                uint32_t TP5:1;
422                uint32_t BW6:1;  /* ESCI_C */
423                uint32_t SP6:1;
424                uint32_t WP6:1;
425                uint32_t TP6:1;
426                uint32_t:4;      /* Reserved */
427            } B;
428        } OPACR1;
429
430        union {                 /* Off-Platform Peripheral Access Control Register 2 */
431            uint32_t R;
432            struct {
433                uint32_t BW0:1;  /* FlexCAN_A */
434                uint32_t SP0:1;
435                uint32_t WP0:1;
436                uint32_t TP0:1;
437                uint32_t BW1:1;  /* FlexCAN_B */
438                uint32_t SP1:1;
439                uint32_t WP1:1;
440                uint32_t TP1:1;
441                uint32_t BW2:1;  /* FlexCAN_C */
442                uint32_t SP2:1;
443                uint32_t WP2:1;
444                uint32_t TP2:1;
445                uint32_t BW3:1;  /* FlexCAN_D */
446                uint32_t SP3:1;
447                uint32_t WP3:1;
448                uint32_t TP3:1;
449                uint32_t:4;      /* Reserved */
450                uint32_t:4;      /* Reserved */
451                uint32_t:4;      /* Reserved */
452                uint32_t:4;      /* Reserved */
453            } B;
454        } OPACR2;
455
456        union {                 /* Off-Platform Peripheral Access Control Register 3 */
457            uint32_t R;
458            struct {
459                uint32_t BW0:1;  /* FlexRAY */
460                uint32_t SP0:1;
461                uint32_t WP0:1;
462                uint32_t TP0:1;
463                uint32_t:4;      /* Reserved */
464                uint32_t:4;      /* Reserved */
465                uint32_t BW3:1;  /* Temp Sensor */
466                uint32_t SP3:1;
467                uint32_t WP3:1;
468                uint32_t TP3:1;
469                uint32_t:4;      /* Reserved */
470                uint32_t:4;      /* Reserved */
471                uint32_t:4;      /* Reserved */
472                uint32_t BW7:1;  /* BAM */
473                uint32_t SP7:1;
474                uint32_t WP7:1;
475                uint32_t TP7:1;
476            } B;
477        } OPACR3;
478
479        uint32_t PBRIDGE_B_reserved0050[4076];  /* 0x0050-0x3FFF */
480
481    };
482
483/****************************************************************************/
484/*                     MODULE : FMPLL                                       */
485/****************************************************************************/
486
487    struct FMPLL_tag {
488
489        uint32_t FMPLL_reserved0000;  /* 0x0000-0x0003 */
490
491        union FMPLL_SYNSR_tag { /* FMPLL Synthesizer Status Register */
492            uint32_t R;
493            struct {
494                uint32_t:22;
495                uint32_t LOLF:1;
496                uint32_t LOC:1;
497                uint32_t MODE:1;
498                uint32_t PLLSEL:1;
499                uint32_t PLLREF:1;
500                uint32_t LOCKS:1;
501                uint32_t LOCK:1;
502                uint32_t LOCF:1;
503                uint32_t CALDONE:1;
504                uint32_t CALPASS:1;
505            } B;
506        } SYNSR;
507
508        union FMPLL_ESYNCR1_tag {/* FMPLL Enhanced Synthesizer Control Register 1 */
509            uint32_t R;
510            struct {
511                uint32_t:1;
512                uint32_t CLKCFG:3;
513                uint32_t:8;
514                uint32_t EPREDIV:4;
515                uint32_t :8;
516                uint32_t EMFD:8;
517            } B;
518        } ESYNCR1;
519
520        union FMPLL_ESYNCR2_tag {/* FMPLL Enhanced Synthesizer Control Register 2 */
521            uint32_t R;
522            struct {
523                uint32_t:8;
524                uint32_t LOCEN:1;
525                uint32_t LOLRE:1;
526                uint32_t LOCRE:1;
527                uint32_t LOLIRQ:1;
528                uint32_t LOCIRQ:1;
529                uint32_t:1;
530                uint32_t ERATE:2;
531                uint32_t CLKCFG_DIS:1;
532                uint32_t:4;
533                uint32_t EDEPTH:3;
534                uint32_t:2;
535                uint32_t ERFD:6;
536            } B;
537        } ESYNCR2;
538
539        uint32_t FMPLL_reserved0010[4092];  /* 0x0010-0x3FFF */
540
541    };
542
543/****************************************************************************/
544/*                     MODULE : External Bus Interface (EBI)                */
545/****************************************************************************/
546
547    struct EBI_CS_tag {
548            uint32_t ebi_cs_reserved [2];
549    };
550   
551    struct EBI_CAL_CS_tag {
552        union {                 /* Calibration Base Register Bank */
553            uint32_t R;
554            struct {
555                uint32_t BA:17;
556                uint32_t:3;
557                uint32_t PS:1;
558                uint32_t:3;
559                uint32_t AD_MUX:1;
560                uint32_t BL:1;
561                uint32_t WEBS:1;
562                uint32_t TBDIP:1;
563                uint32_t:1;
564                uint32_t SETA:1;
565                uint32_t BI:1;
566                uint32_t V:1;
567            } B;
568        } BR;
569
570        union {                 /* Calibration Option Register Bank */
571            uint32_t R;
572            struct {
573                uint32_t AM:17;
574                uint32_t:7;
575                uint32_t SCY:4;
576                uint32_t:1;
577                uint32_t BSCY:2;
578                uint32_t:1;
579            } B;
580        } OR;
581    };
582
583    struct EBI_tag {
584
585        union {                 /* Module Configuration Register */
586            uint32_t R;
587            struct {
588                uint32_t:16;
589                uint32_t ACGE:1;
590                uint32_t:8;
591                uint32_t MDIS:1;
592                uint32_t:3;
593                uint32_t D16_31:1;
594                uint32_t AD_MUX:1;
595                uint32_t DBM:1;
596            } B;
597        } MCR;
598
599        uint32_t EBI_reserved0004;  /* 0x0004-0x0007 */
600
601        union {                 /* Transfer Error Status Register */
602            uint32_t R;
603            struct {
604                uint32_t:30;
605                uint32_t TEAF:1;
606                uint32_t BMTF:1;
607            } B;
608        } TESR;
609
610        union {                 /* Bus Monitor Control Register */
611            uint32_t R;
612            struct {
613                uint32_t:16;
614                uint32_t BMT:8;
615                uint32_t BME:1;
616                  uint32_t:7;
617            } B;
618        } BMCR;
619
620        /* Base/Option registers */
621        struct EBI_CS_tag CS[4];
622
623        uint32_t EBI_reserved0030[4];  /* 0x0030-0x003F */
624
625        /* Calibration registers */
626        struct EBI_CAL_CS_tag CAL_CS[4];
627
628        uint32_t EBI_reserved0060[4000];  /* 0x0060-0x3FFF */
629
630    };
631
632/****************************************************************************/
633/*                     MODULE : FLASH                                       */
634/****************************************************************************/
635
636    struct FLASH_tag {
637
638        union {                 /* Module Configuration Register */
639            uint32_t R;
640            struct {
641                uint32_t:5;
642                uint32_t SIZE:4;
643                uint32_t LAS:3;
644                uint32_t:3;
645                uint32_t MAS:1;
646                uint32_t EER:1;
647                uint32_t RWE:1;
648                uint32_t SBC:1;
649                uint32_t:1;
650                uint32_t PEAS:1;
651                uint32_t DONE:1;
652                uint32_t PEG:1;
653                uint32_t:4;
654                uint32_t PGM:1;
655                uint32_t PSUS:1;
656                uint32_t ERS:1;
657                uint32_t ESUS:1;
658                uint32_t EHV:1;
659            } B;
660        } MCR;
661
662        union LMLR_tag {        /* Low/Mid Address Space Block Locking Register */
663            uint32_t R;
664            struct {
665                uint32_t LME:1;
666                uint32_t:10;
667                uint32_t SLOCK:1;
668                uint32_t:2;
669                uint32_t MLOCK:2;
670                uint32_t:6;
671                uint32_t LLOCK:10;
672            } B;
673        } LMLR; /* Legacy naming - refer to LML in Reference Manual */
674
675        union HLR_tag {         /* High Address Space Block Locking Register */
676            uint32_t R;
677            struct {
678                uint32_t HBE:1;
679                uint32_t:25;
680                uint32_t HBLOCK:6; /* Legacy naming - refer to HLOCK in Reference Manual */
681            } B;
682        } HLR; /* Legacy naming - refer to HBL in Reference Manual */
683
684        union SLMLR_tag {       /* Secondary Low/Mid Block Locking Register */
685            uint32_t R;
686            struct {
687                uint32_t SLE:1;
688                uint32_t:10;
689                uint32_t SSLOCK:1;
690                uint32_t:2;
691                uint32_t SMLOCK:2;
692                uint32_t:6;
693                uint32_t SLLOCK:10;
694            } B;
695        } SLMLR; /* Legacy naming - refer to SLL in Reference Manual */
696
697        union {                 /* Low/Mid Address Space Block Select Register */
698            uint32_t R;
699            struct {
700                uint32_t:14;
701                uint32_t MSEL:2;
702                uint32_t:6;
703                uint32_t LSEL:10;
704            } B;
705        } LMSR; /* Legacy naming - refer to LMS in Reference Manual */
706
707        union {                 /* High Address Space Block Select Register */
708            uint32_t R;
709            struct {
710                uint32_t:26;
711                uint32_t HBSEL:6; /* Legacy naming - refer to HSEL in Reference Manual */
712            } B;
713        } HSR; /* Legacy naming - refer to HBS in Reference Manual */
714
715        union {                 /* Address Register */
716            uint32_t R;
717            struct {
718                uint32_t SAD:1;
719                uint32_t:13;
720                uint32_t ADDR:15;
721                uint32_t:3;
722            } B;
723        } AR; /* Legacy naming - refer to ADR in Reference Manual */
724
725        union {                 /* Platform Flash Configuration Register 1 */
726            uint32_t R;
727            struct {
728                uint32_t:7;
729                uint32_t M8PFE:1;     /* z7 Nexus */
730                uint32_t:1;           /* EBI Testing - Reserved */
731                uint32_t M6PFE:1;     /* FlexRay  */
732                uint32_t M5PFE:1;     /* eDMA_B   */
733                uint32_t M4PFE:1;     /* eDMA_A   */
734                uint32_t:1;           /* Reserved */
735                uint32_t:1;           /* Reserved */
736                uint32_t:1;           /* Reserved */
737                uint32_t M0PFE:1;     /* z7 Core  */
738                uint32_t APC:3;
739                uint32_t WWSC:2;
740                uint32_t RWSC:3;
741                uint32_t:1;
742                uint32_t DPFEN:1;
743                uint32_t:1;
744                uint32_t IPFEN:1;
745                uint32_t:1;
746                uint32_t PFLIM:2;
747                uint32_t BFEN:1;
748            } B;
749        } BIUCR; /* Legacy naming - PFCR1 */
750
751        union {                 /*Platform Flash Access Protection Register */
752            uint32_t R;
753            struct {
754                uint32_t:14;
755                uint32_t M8AP:2;     /* z7 Nexus */
756                uint32_t:2;          /* EBI Testing - Reserved */
757                uint32_t M6AP:2;     /* FlexRay  */
758                uint32_t M5AP:2;     /* eDMA_B   */
759                uint32_t M4AP:2;     /* eDMA_A   */
760                uint32_t:2;          /* Reserved */
761                uint32_t:2;          /* Reserved */
762                uint32_t:2;          /* Reserved */
763                uint32_t M0AP:2;     /* z7 Core  */
764            } B;
765        } BIUAPR; /* Legacy naming - refer to PFAPR in Reference Manual */
766
767        union {                 /* Platform Flash Configuration Register 2 */
768            uint32_t R;
769            struct {
770                uint32_t LBCFG:2;
771                uint32_t:30;
772            } B;
773        } BIUCR2;
774
775        uint32_t FLASH_reserved0028[4086];  /* 0x0028-0x3FFF */
776    };
777
778/****************************************************************************/
779/*                     MODULE : SIU                                         */
780/****************************************************************************/
781    struct SIU_tag {
782        int32_t SIU_reserved0000  /* 0x0000-0x0003 */;
783
784        union {                 /* MCU ID Register */
785            uint32_t R;
786            struct {
787                uint32_t PARTNUM:16;
788                uint32_t PKG:4;
789                uint32_t:4;
790                uint32_t MAJOR_REV:4;
791                uint32_t MINOR_REV:4;
792            } B;
793        } MIDR;
794
795        int32_t SIU_reserved0008;  /* 0x0008-0x000B */
796
797        union {                 /* Reset Status Register */
798            uint32_t R;
799            struct {
800                uint32_t PORS:1;
801                uint32_t ERS:1;
802                uint32_t LLRS:1;
803                uint32_t LCRS:1;
804                uint32_t WDRS:1;
805                uint32_t CRS:1;
806                uint32_t SWTRS:1;
807                uint32_t:7;
808                uint32_t SSRS:1;
809                uint32_t SERF:1;
810                uint32_t WKPCFG:1;
811                uint32_t:11;
812                uint32_t ABR:1;
813                uint32_t BOOTCFG:2;
814                uint32_t RGF:1;
815            } B;
816        } RSR;
817
818        union {                 /* System Reset Control Register */
819            uint32_t R;
820            struct {
821                uint32_t SSR:1;
822                uint32_t SER:1;
823                uint32_t:30;   // Removed CRE bit
824            } B;
825        } SRCR;
826
827        union SIU_EISR_tag {    /* External Interrupt Status Register */
828            uint32_t R;
829            struct {
830                uint32_t NMI:1;
831                uint32_t:15;
832                uint32_t EIF15:1;
833                uint32_t EIF14:1;
834                uint32_t EIF13:1;
835                uint32_t EIF12:1;
836                uint32_t EIF11:1;
837                uint32_t EIF10:1;
838                uint32_t EIF9:1;
839                uint32_t EIF8:1;
840                uint32_t EIF7:1;
841                uint32_t EIF6:1;
842                uint32_t EIF5:1;
843                uint32_t EIF4:1;
844                uint32_t EIF3:1;
845                uint32_t EIF2:1;
846                uint32_t EIF1:1;
847                uint32_t EIF0:1;
848            } B;
849        } EISR;
850
851        union SIU_DIRER_tag {   /* DMA/Interrupt Request Enable Register */
852            uint32_t R;
853            struct {
854                uint32_t NMISEL8:1;
855                uint32_t:7;
856                uint32_t NMISEL0:1;
857                uint32_t:7;
858                uint32_t EIRE15:1;
859                uint32_t EIRE14:1;
860                uint32_t EIRE13:1;
861                uint32_t EIRE12:1;
862                uint32_t EIRE11:1;
863                uint32_t EIRE10:1;
864                uint32_t EIRE9:1;
865                uint32_t EIRE8:1;
866                uint32_t EIRE7:1;
867                uint32_t EIRE6:1;
868                uint32_t EIRE5:1;
869                uint32_t EIRE4:1;
870                uint32_t EIRE3:1;
871                uint32_t EIRE2:1;
872                uint32_t EIRE1:1;
873                uint32_t EIRE0:1;
874            } B;
875        } DIRER;
876
877        union SIU_DIRSR_tag {   /* DMA/Interrupt Request Select Register */
878            uint32_t R;
879            struct {
880                uint32_t:28;
881                uint32_t DIRS3:1;
882                uint32_t DIRS2:1;
883                uint32_t DIRS1:1;
884                uint32_t DIRS0:1;
885            } B;
886        } DIRSR;
887
888        union {                 /* Overrun Status Register */
889            uint32_t R;
890            struct {
891                uint32_t:16;
892                uint32_t OVF15:1;
893                uint32_t OVF14:1;
894                uint32_t OVF13:1;
895                uint32_t OVF12:1;
896                uint32_t OVF11:1;
897                uint32_t OVF10:1;
898                uint32_t OVF9:1;
899                uint32_t OVF8:1;
900                uint32_t OVF7:1;
901                uint32_t OVF6:1;
902                uint32_t OVF5:1;
903                uint32_t OVF4:1;
904                uint32_t OVF3:1;
905                uint32_t OVF2:1;
906                uint32_t OVF1:1;
907                uint32_t OVF0:1;
908            } B;
909        } OSR;
910
911        union SIU_ORER_tag {    /* Overrun Request Enable Register */
912            uint32_t R;
913            struct {
914                uint32_t:16;
915                uint32_t ORE15:1;
916                uint32_t ORE14:1;
917                uint32_t ORE13:1;
918                uint32_t ORE12:1;
919                uint32_t ORE11:1;
920                uint32_t ORE10:1;
921                uint32_t ORE9:1;
922                uint32_t ORE8:1;
923                uint32_t ORE7:1;
924                uint32_t ORE6:1;
925                uint32_t ORE5:1;
926                uint32_t ORE4:1;
927                uint32_t ORE3:1;
928                uint32_t ORE2:1;
929                uint32_t ORE1:1;
930                uint32_t ORE0:1;
931            } B;
932        } ORER;
933
934        union SIU_IREER_tag {   /* External IRQ Rising-Edge Event Enable Register */
935            uint32_t R;
936            struct {
937                uint32_t IREE_NMI8:1;
938                uint32_t:7;
939                uint32_t IREE_NMI0:1;
940                uint32_t:7;
941                uint32_t IREE15:1;
942                uint32_t IREE14:1;
943                uint32_t IREE13:1;
944                uint32_t IREE12:1;
945                uint32_t IREE11:1;
946                uint32_t IREE10:1;
947                uint32_t IREE9:1;
948                uint32_t IREE8:1;
949                uint32_t IREE7:1;
950                uint32_t IREE6:1;
951                uint32_t IREE5:1;
952                uint32_t IREE4:1;
953                uint32_t IREE3:1;
954                uint32_t IREE2:1;
955                uint32_t IREE1:1;
956                uint32_t IREE0:1;
957            } B;
958        } IREER;
959
960        union SIU_IFEER_tag {   /* External IRQ Falling-Edge Event Enable Register */
961            uint32_t R;
962            struct {
963                uint32_t IFEE_NMI8:1;
964                uint32_t:7;
965                uint32_t IFEE_NMI0:1;
966                uint32_t:7;
967                uint32_t IFEE15:1;
968                uint32_t IFEE14:1;
969                uint32_t IFEE13:1;
970                uint32_t IFEE12:1;
971                uint32_t IFEE11:1;
972                uint32_t IFEE10:1;
973                uint32_t IFEE9:1;
974                uint32_t IFEE8:1;
975                uint32_t IFEE7:1;
976                uint32_t IFEE6:1;
977                uint32_t IFEE5:1;
978                uint32_t IFEE4:1;
979                uint32_t IFEE3:1;
980                uint32_t IFEE2:1;
981                uint32_t IFEE1:1;
982                uint32_t IFEE0:1;
983            } B;
984        } IFEER;
985
986        union SIU_IDFR_tag {    /* External IRQ Digital Filter Register */
987            uint32_t R;
988            struct {
989                uint32_t:28;
990                uint32_t DFL:4;
991            } B;
992        } IDFR;
993
994        union {                 /* External IRQ Filtered Input Register */
995            uint32_t R;
996            struct {
997                uint32_t FI31:1;
998                uint32_t FI30:1;
999                uint32_t FI29:1;
1000                uint32_t FI28:1;
1001                uint32_t FI27:1;
1002                uint32_t FI26:1;
1003                uint32_t FI25:1;
1004                uint32_t FI24:1;
1005                uint32_t FI23:1;
1006                uint32_t FI22:1;
1007                uint32_t FI21:1;
1008                uint32_t FI20:1;
1009                uint32_t FI19:1;
1010                uint32_t FI18:1;
1011                uint32_t FI17:1;
1012                uint32_t FI16:1;
1013                uint32_t FI15:1;
1014                uint32_t FI14:1;
1015                uint32_t FI13:1;
1016                uint32_t FI12:1;
1017                uint32_t FI11:1;
1018                uint32_t FI10:1;
1019                uint32_t FI9:1;
1020                uint32_t FI8:1;
1021                uint32_t FI7:1;
1022                uint32_t FI6:1;
1023                uint32_t FI5:1;
1024                uint32_t FI4:1;
1025                uint32_t FI3:1;
1026                uint32_t FI2:1;
1027                uint32_t FI1:1;
1028                uint32_t FI0:1;
1029            } B;
1030        } IFIR;
1031
1032        int32_t SIU_reserved0038[2]; /* 0x0038-0x003F */
1033
1034        union SIU_PCR_tag {     /* Pad Configuration Registers */
1035            uint16_t R;
1036            struct {
1037                uint16_t:3;
1038                uint16_t PA:3;
1039                uint16_t OBE:1;
1040                uint16_t IBE:1;
1041                uint16_t DSC:2;
1042                uint16_t ODE:1;
1043                uint16_t HYS:1;
1044                uint16_t SRC:2;
1045                uint16_t WPE:1;
1046                uint16_t WPS:1;
1047            } B;
1048        } PCR[512];
1049
1050        int16_t SIU_reserved0440[224];  /* 0x0440-0x05FF */
1051
1052        union {                 /* GPIO Pin Data Output Registers */
1053            uint8_t R;
1054            struct {
1055                uint8_t:7;
1056                uint8_t PDO:1;
1057            } B;
1058        } GPDO[512];
1059
1060        union {                 /* GPIO Pin Data Input Registers */
1061            uint8_t R;
1062            struct {
1063                uint8_t:7;
1064                uint8_t PDI:1;
1065            } B;
1066        } GPDI[256];
1067
1068        uint32_t SIU_reserved0900;  /* 0x0900-0x0903 */
1069
1070        union {                 /* External IRQ Input Select Register */
1071            uint32_t R;
1072            struct {
1073                uint32_t ESEL15:2;
1074                uint32_t ESEL14:2;
1075                uint32_t ESEL13:2;
1076                uint32_t ESEL12:2;
1077                uint32_t ESEL11:2;
1078                uint32_t ESEL10:2;
1079                uint32_t ESEL9:2;
1080                uint32_t ESEL8:2;
1081                uint32_t ESEL7:2;
1082                uint32_t ESEL6:2;
1083                uint32_t ESEL5:2;
1084                uint32_t ESEL4:2;
1085                uint32_t ESEL3:2;
1086                uint32_t ESEL2:2;
1087                uint32_t ESEL1:2;
1088                uint32_t ESEL0:2;
1089            } B;
1090        } EIISR;
1091
1092        union {                 /* DSPI Input Select Register */
1093            uint32_t R;
1094            struct {
1095                uint32_t SINSELA:2;
1096                uint32_t SSSELA:2;
1097                uint32_t SCKSELA:2;
1098                uint32_t TRIGSELA:2;
1099                uint32_t SINSELB:2;
1100                uint32_t SSSELB:2;
1101                uint32_t SCKSELB:2;
1102                uint32_t TRIGSELB:2;
1103                uint32_t SINSELC:2;
1104                uint32_t SSSELC:2;
1105                uint32_t SCKSELC:2;
1106                uint32_t TRIGSELC:2;
1107                uint32_t SINSELD:2;
1108                uint32_t SSSELD:2;
1109                uint32_t SCKSELD:2;
1110                uint32_t TRIGSELD:2;
1111            } B;
1112        } DISR;
1113
1114        int32_t SIU_reserved090C;  /* 0x090C-0x090F */
1115
1116        union {                 /* eQADC Command FIFO Trigger Source Select - IMUX Select Registers */
1117            uint32_t R;
1118            struct {
1119                uint32_t:1;
1120                uint32_t CTSEL5_0:7;
1121                uint32_t:1;
1122                uint32_t CTSEL4_0:7;
1123                uint32_t:1;
1124                uint32_t CTSEL3_0:7;
1125                uint32_t:1;
1126                uint32_t CTSEL2_0:7;
1127            } B;
1128        } ISEL4;
1129
1130        union {                 /* eQADC Command FIFO Trigger Source Select - IMUX Select Registers */
1131            uint32_t R;
1132            struct {
1133                uint32_t:1;
1134                uint32_t CTSEL1_0:7;
1135                uint32_t:1;
1136                uint32_t CTSEL0_0:7;
1137                uint32_t:16;
1138            } B;
1139        } ISEL5;
1140
1141        union {                 /* eQADC Command FIFO Trigger Source Select - IMUX Select Registers */
1142            uint32_t R;
1143            struct {
1144                uint32_t:1;
1145                uint32_t CTSEL5_1:7;
1146                uint32_t:1;
1147                uint32_t CTSEL4_1:7;
1148                uint32_t:1;
1149                uint32_t CTSEL3_1:7;
1150                uint32_t:1;
1151                uint32_t CTSEL2_1:7;
1152            } B;
1153        } ISEL6;
1154
1155        union {                 /* eQADC Command FIFO Trigger Source Select - IMUX Select Registers */
1156            uint32_t R;
1157            struct {
1158                uint32_t:1;
1159                uint32_t CTSEL1_1:7;
1160                uint32_t:1;
1161                uint32_t CTSEL0_1:7;
1162                uint32_t:16;
1163            } B;
1164        } ISEL7;
1165
1166        union {                 /* eTPU Input Select Register */
1167            uint32_t R;
1168            struct {
1169                uint32_t:11;
1170                uint32_t ETPU29:1;
1171                uint32_t:3;
1172                uint32_t ETPU28:1;
1173                uint32_t:3;
1174                uint32_t ETPU27:1;
1175                uint32_t:3;
1176                uint32_t ETPU26:1;
1177                uint32_t:3;
1178                uint32_t ETPU25:1;
1179                uint32_t:3;
1180                uint32_t ETPU24:1;
1181             } B;
1182        } ISEL8;
1183
1184        union {                 /* eQADC Advanced Trigger Select  */
1185            uint32_t R;
1186            struct {
1187                uint32_t:27;
1188                uint32_t ETSEL0A:5;
1189            } B;
1190        } ISEL9;
1191
1192        union {                 /* DecFilter Integrator Control  */
1193            uint32_t R;
1194            struct {
1195                uint32_t ZSELA:4;
1196                uint32_t HSELA:4;
1197                uint32_t ZSELB:4;
1198                uint32_t HSELB:4;
1199                uint32_t ZSELC:4;
1200                uint32_t HSELC:4;
1201                uint32_t ZSELD:4;
1202                uint32_t HSELD:4;
1203            } B;
1204        } DECFIL1;
1205
1206        union {                 /* DecFilter Integrator Control */
1207            uint32_t R;
1208            struct {
1209                uint32_t ZSELE:4;
1210                uint32_t HSELE:4;
1211                uint32_t ZSELF:4;
1212                uint32_t HSELF:4;
1213                uint32_t ZSELG:4;
1214                uint32_t HSELG:4;
1215                uint32_t ZSELH:4;
1216                uint32_t HSELH:4;
1217            } B;
1218        } DECFIL2;
1219
1220
1221        int32_t SIU_reserved0920[20]; /* 0x0930-0x097F */
1222
1223        union {                 /* Chip Configuration Register Register */
1224            uint32_t R;
1225            struct {
1226                uint32_t:14;
1227                uint32_t MATCH:1;
1228                uint32_t DISNEX:1;
1229                uint32_t:16;
1230            } B;
1231        } CCR;
1232
1233        union {                 /* External Clock Configuration Register Register */
1234            uint32_t R;
1235            struct {
1236                uint32_t:16;
1237                uint32_t ENGDIV:8;
1238                uint32_t ECSS:1;
1239                uint32_t:3;
1240                uint32_t EBTS:1;
1241                uint32_t:1;
1242                uint32_t EBDF:2;
1243            } B;
1244        } ECCR;
1245
1246        union {                 /* Compare A Register High */
1247            uint32_t R;
1248            struct {
1249                uint32_t CMPAH:32;
1250            } B;
1251        } CARH;
1252
1253        union {                 /* Compare A Register Low */
1254            uint32_t R;
1255            struct {
1256                uint32_t CMPAL:32;
1257            } B;
1258        } CARL;
1259
1260        union {                 /* Compare B Register High */
1261            uint32_t R;
1262            struct {
1263                uint32_t CMPBH:32;
1264            } B;
1265        } CBRH;
1266
1267        union {                 /* Compare B Register Low */
1268            uint32_t R;
1269            struct {
1270                uint32_t CMPBL:32;
1271            } B;
1272        } CBRL;
1273
1274        int32_t SIU_reserved0998[2];  /* 0x0998-0x099F */
1275
1276        union {                 /* System Clock Register */
1277            uint32_t R;
1278            struct {
1279                uint32_t:22;
1280                uint32_t IPCLKDIV:2;
1281                uint32_t:3;
1282                uint32_t BYPASS:1;
1283                uint32_t SYSCLKDIV:2;
1284                uint32_t:2;
1285            } B;
1286        } SYSDIV;
1287
1288        union {                 /* Halt Register */
1289            uint32_t R;
1290            struct {
1291                uint32_t CPUSTP:1;     /* CPU and Platform stop request  */
1292                uint32_t:4;            /* Reserved */
1293                uint32_t TPUSTP:1;     /* eTPU_A stop request */
1294                uint32_t NPCSTP:1;     /* Nexus stop request */
1295                uint32_t EBISTP:1;     /* EBI stop request*/
1296                uint32_t ADCSTP:1;     /* eQADC stop request */
1297                uint32_t:1;            /* Reserved */
1298                uint32_t MIOSSTP:1;    /* eMIOS stop request */
1299                uint32_t DFILSTP:1;    /* Decimation filter stop request */
1300                uint32_t:1;            /* Reserved */
1301                uint32_t PITSTP:1;     /* PIT stop request */
1302                uint32_t:2;            /* Reserved */
1303                uint32_t CNDSTP:1;     /* FlexCAN D stop request */
1304                uint32_t CNCSTP:1;     /* FlexCAN C stop request */
1305                uint32_t CNBSTP:1;     /* FlexCAN B stop request */
1306                uint32_t CNASTP:1;     /* FlexCAN A stop request */
1307                uint32_t SPIDSTP:1;    /* DSPI D stop request */
1308                uint32_t SPICSTP:1;    /* DSPI C stop request */
1309                uint32_t SPIBSTP:1;    /* DSPI B stop request */
1310                uint32_t SPIASTP:1;    /* DSPI C stop request */
1311                uint32_t:5;            /* Reserved */
1312                                uint32_t SCICSTP:1;    /* eSCI C stop request */
1313                uint32_t SCIBSTP:1;    /* eSCI B stop request */
1314                uint32_t SCIASTP:1;    /* eSCI A stop request */
1315            } B;
1316        } HLT;
1317
1318        union {                 /* Halt Acknowledge Register */
1319            uint32_t R;
1320            struct {
1321                uint32_t CPUACK:1;     /* CPU and Platform stop acknowledge  */
1322                uint32_t:4;            /* Reserved */
1323                uint32_t TPUACK:1;     /* eTPU_A stop acknowledge */
1324                uint32_t NPCACK:1;     /* Nexus stop acknowledge */
1325                uint32_t EBIACK:1;     /* EBI stop acknowledge*/
1326                uint32_t ADCACK:1;     /* eQADC stop acknowledge */
1327                uint32_t:1;            /* Reserved */
1328                uint32_t MIOSACK:1;    /* eMIOS stop acknowledge */
1329                uint32_t DFILACK:1;    /* Decimation filter stop acknowledge */
1330                uint32_t:1;            /* Reserved */
1331                uint32_t PITACK:1;     /* PIT stop acknowledge */
1332                uint32_t:2;            /* Reserved */
1333                uint32_t CNDACK:1;     /* FlexCAN D stop acknowledge */
1334                uint32_t CNCACK:1;     /* FlexCAN C stop acknowledge */
1335                uint32_t CNBACK:1;     /* FlexCAN B stop acknowledge */
1336                uint32_t CNAACK:1;     /* FlexCAN A stop acknowledge */
1337                uint32_t SPIDACK:1;    /* DSPI D stop acknowledge */
1338                uint32_t SPICACK:1;    /* DSPI C stop acknowledge */
1339                uint32_t SPIBACK:1;    /* DSPI B stop acknowledge */
1340                uint32_t SPIAACK:1;    /* DSPI C stop acknowledge */
1341                uint32_t:5;            /* Reserved */
1342                                uint32_t SCICACK:1;    /* eSCI C stop acknowledge */
1343                uint32_t SCIBACK:1;    /* eSCI B stop acknowledge */
1344                uint32_t SCIAACK:1;    /* eSCI A stop acknowledge */
1345            } B;
1346        } HLTACK;
1347
1348        int32_t SIU_reserved09AC[21]; /* 0x09AC-0x09FF */
1349
1350        int32_t SIU_reserved0A00[128]; /* 0x0A00-0x0BFF */
1351
1352        union {               /* Parallel GPIO Pin Data Output Register */
1353            uint32_t R;
1354            struct {
1355                uint32_t PGPDO0:1;
1356                uint32_t PGPDO1:1;
1357                uint32_t PGPDO2:1;
1358                uint32_t PGPDO3:1;
1359                uint32_t PGPDO4:1;
1360                uint32_t PGPDO5:1;
1361                uint32_t PGPDO6:1;
1362                uint32_t PGPDO7:1;
1363                uint32_t PGPDO8:1;
1364                uint32_t PGPDO9:1;
1365                uint32_t PGPDO10:1;
1366                uint32_t PGPDO11:1;
1367                uint32_t PGPDO12:1;
1368                uint32_t PGPDO13:1;
1369                uint32_t PGPDO14:1;
1370                uint32_t PGPDO15:1;
1371                uint32_t PGPDO16:1;
1372                uint32_t PGPDO17:1;
1373                uint32_t PGPDO18:1;
1374                uint32_t PGPDO19:1;
1375                uint32_t PGPDO20:1;
1376                uint32_t PGPDO21:1;
1377                uint32_t PGPDO22:1;
1378                uint32_t PGPDO23:1;
1379                uint32_t PGPDO24:1;
1380                uint32_t PGPDO25:1;
1381                uint32_t PGPDO26:1;
1382                uint32_t PGPDO27:1;
1383                uint32_t PGPDO28:1;
1384                uint32_t PGPDO29:1;
1385                uint32_t PGPDO30:1;
1386                uint32_t PGPDO31:1;
1387            } B;
1388        } PGPDO[16];
1389
1390        union {               /* Parallel GPIO Pin Data Input Register */
1391            uint32_t R;
1392            struct {
1393                uint32_t PGPDI0:1;
1394                uint32_t PGPDI1:1;
1395                uint32_t PGPDI2:1;
1396                uint32_t PGPDI3:1;
1397                uint32_t PGPDI4:1;
1398                uint32_t PGPDI5:1;
1399                uint32_t PGPDI6:1;
1400                uint32_t PGPDI7:1;
1401                uint32_t PGPDI8:1;
1402                uint32_t PGPDI9:1;
1403                uint32_t PGPDI10:1;
1404                uint32_t PGPDI11:1;
1405                uint32_t PGPDI12:1;
1406                uint32_t PGPDI13:1;
1407                uint32_t PGPDI14:1;
1408                uint32_t PGPDI15:1;
1409                uint32_t PGPDI16:1;
1410                uint32_t PGPDI17:1;
1411                uint32_t PGPDI18:1;
1412                uint32_t PGPDI19:1;
1413                uint32_t PGPDI20:1;
1414                uint32_t PGPDI21:1;
1415                uint32_t PGPDI22:1;
1416                uint32_t PGPDI23:1;
1417                uint32_t PGPDI24:1;
1418                uint32_t PGPDI25:1;
1419                uint32_t PGPDI26:1;
1420                uint32_t PGPDI27:1;
1421                uint32_t PGPDI28:1;
1422                uint32_t PGPDI29:1;
1423                uint32_t PGPDI30:1;
1424                uint32_t PGPDI31:1;
1425            } B;
1426        } PGPDI[16];
1427
1428        union {              /* Masked Parallel GPIO Pin Data Input Register */
1429            uint32_t R;
1430            struct {
1431                uint32_t MASK0:1;
1432                uint32_t MASK1:1;
1433                uint32_t MASK2:1;
1434                uint32_t MASK3:1;
1435                uint32_t MASK4:1;
1436                uint32_t MASK5:1;
1437                uint32_t MASK6:1;
1438                uint32_t MASK7:1;
1439                uint32_t MASK8:1;
1440                uint32_t MASK9:1;
1441                uint32_t MASK10:1;
1442                uint32_t MASK11:1;
1443                uint32_t MASK12:1;
1444                uint32_t MASK13:1;
1445                uint32_t MASK14:1;
1446                uint32_t MASK15:1;
1447                uint32_t DATA0:1;
1448                uint32_t DATA1:1;
1449                uint32_t DATA2:1;
1450                uint32_t DATA3:1;
1451                uint32_t DATA4:1;
1452                uint32_t DATA5:1;
1453                uint32_t DATA6:1;
1454                uint32_t DATA7:1;
1455                uint32_t DATA8:1;
1456                uint32_t DATA9:1;
1457                uint32_t DATA10:1;
1458                uint32_t DATA11:1;
1459                uint32_t DATA12:1;
1460                uint32_t DATA13:1;
1461                uint32_t DATA14:1;
1462                uint32_t DATA15:1;
1463            } B;
1464        } MPGPDO[32];
1465
1466        union {              /* DSPI_A Mask Output High Register */
1467            uint32_t R;
1468            struct {
1469                uint32_t MASK0:1;
1470                uint32_t MASK1:1;
1471                uint32_t MASK2:1;
1472                uint32_t MASK3:1;
1473                uint32_t MASK4:1;
1474                uint32_t MASK5:1;
1475                uint32_t MASK6:1;
1476                uint32_t MASK7:1;
1477                uint32_t MASK8:1;
1478                uint32_t MASK9:1;
1479                uint32_t MASK10:1;
1480                uint32_t MASK11:1;
1481                uint32_t MASK12:1;
1482                uint32_t MASK13:1;
1483                uint32_t MASK14:1;
1484                uint32_t MASK15:1;
1485                uint32_t DATA0:1;
1486                uint32_t DATA1:1;
1487                uint32_t DATA2:1;
1488                uint32_t DATA3:1;
1489                uint32_t DATA4:1;
1490                uint32_t DATA5:1;
1491                uint32_t DATA6:1;
1492                uint32_t DATA7:1;
1493                uint32_t DATA8:1;
1494                uint32_t DATA9:1;
1495                uint32_t DATA10:1;
1496                uint32_t DATA11:1;
1497                uint32_t DATA12:1;
1498                uint32_t DATA13:1;
1499                uint32_t DATA14:1;
1500                uint32_t DATA15:1;
1501            } B;
1502        } DSPIAH;
1503
1504        union {              /* DSPI_A Mask Output Low Register */
1505            uint32_t R;
1506            struct {
1507                uint32_t MASK16:1;
1508                uint32_t MASK17:1;
1509                uint32_t MASK18:1;
1510                uint32_t MASK19:1;
1511                uint32_t MASK20:1;
1512                uint32_t MASK21:1;
1513                uint32_t MASK22:1;
1514                uint32_t MASK23:1;
1515                uint32_t MASK24:1;
1516                uint32_t MASK25:1;
1517                uint32_t MASK26:1;
1518                uint32_t MASK27:1;
1519                uint32_t MASK28:1;
1520                uint32_t MASK29:1;
1521                uint32_t MASK30:1;
1522                uint32_t MASK31:1;
1523                uint32_t DATA16:1;
1524                uint32_t DATA17:1;
1525                uint32_t DATA18:1;
1526                uint32_t DATA19:1;
1527                uint32_t DATA20:1;
1528                uint32_t DATA21:1;
1529                uint32_t DATA22:1;
1530                uint32_t DATA23:1;
1531                uint32_t DATA24:1;
1532                uint32_t DATA25:1;
1533                uint32_t DATA26:1;
1534                uint32_t DATA27:1;
1535                uint32_t DATA28:1;
1536                uint32_t DATA29:1;
1537                uint32_t DATA30:1;
1538                uint32_t DATA31:1;
1539            } B;
1540        } DSPIAL;
1541
1542        union {              /* DSPI_B Mask Output High Register */
1543            uint32_t R;
1544            struct {
1545                uint32_t MASK0:1;
1546                uint32_t MASK1:1;
1547                uint32_t MASK2:1;
1548                uint32_t MASK3:1;
1549                uint32_t MASK4:1;
1550                uint32_t MASK5:1;
1551                uint32_t MASK6:1;
1552                uint32_t MASK7:1;
1553                uint32_t MASK8:1;
1554                uint32_t MASK9:1;
1555                uint32_t MASK10:1;
1556                uint32_t MASK11:1;
1557                uint32_t MASK12:1;
1558                uint32_t MASK13:1;
1559                uint32_t MASK14:1;
1560                uint32_t MASK15:1;
1561                uint32_t DATA0:1;
1562                uint32_t DATA1:1;
1563                uint32_t DATA2:1;
1564                uint32_t DATA3:1;
1565                uint32_t DATA4:1;
1566                uint32_t DATA5:1;
1567                uint32_t DATA6:1;
1568                uint32_t DATA7:1;
1569                uint32_t DATA8:1;
1570                uint32_t DATA9:1;
1571                uint32_t DATA10:1;
1572                uint32_t DATA11:1;
1573                uint32_t DATA12:1;
1574                uint32_t DATA13:1;
1575                uint32_t DATA14:1;
1576                uint32_t DATA15:1;
1577            } B;
1578        } DSPIBH;
1579
1580        union {              /* DSPI_B Mask Output Low Register */
1581            uint32_t R;
1582            struct {
1583                uint32_t MASK16:1;
1584                uint32_t MASK17:1;
1585                uint32_t MASK18:1;
1586                uint32_t MASK19:1;
1587                uint32_t MASK20:1;
1588                uint32_t MASK21:1;
1589                uint32_t MASK22:1;
1590                uint32_t MASK23:1;
1591                uint32_t MASK24:1;
1592                uint32_t MASK25:1;
1593                uint32_t MASK26:1;
1594                uint32_t MASK27:1;
1595                uint32_t MASK28:1;
1596                uint32_t MASK29:1;
1597                uint32_t MASK30:1;
1598                uint32_t MASK31:1;
1599                uint32_t DATA16:1;
1600                uint32_t DATA17:1;
1601                uint32_t DATA18:1;
1602                uint32_t DATA19:1;
1603                uint32_t DATA20:1;
1604                uint32_t DATA21:1;
1605                uint32_t DATA22:1;
1606                uint32_t DATA23:1;
1607                uint32_t DATA24:1;
1608                uint32_t DATA25:1;
1609                uint32_t DATA26:1;
1610                uint32_t DATA27:1;
1611                uint32_t DATA28:1;
1612                uint32_t DATA29:1;
1613                uint32_t DATA30:1;
1614                uint32_t DATA31:1;
1615            } B;
1616        } DSPIBL;
1617
1618        union {              /* DSPI_C Mask Output High Register */
1619            uint32_t R;
1620            struct {
1621                uint32_t MASK0:1;
1622                uint32_t MASK1:1;
1623                uint32_t MASK2:1;
1624                uint32_t MASK3:1;
1625                uint32_t MASK4:1;
1626                uint32_t MASK5:1;
1627                uint32_t MASK6:1;
1628                uint32_t MASK7:1;
1629                uint32_t MASK8:1;
1630                uint32_t MASK9:1;
1631                uint32_t MASK10:1;
1632                uint32_t MASK11:1;
1633                uint32_t MASK12:1;
1634                uint32_t MASK13:1;
1635                uint32_t MASK14:1;
1636                uint32_t MASK15:1;
1637                uint32_t DATA0:1;
1638                uint32_t DATA1:1;
1639                uint32_t DATA2:1;
1640                uint32_t DATA3:1;
1641                uint32_t DATA4:1;
1642                uint32_t DATA5:1;
1643                uint32_t DATA6:1;
1644                uint32_t DATA7:1;
1645                uint32_t DATA8:1;
1646                uint32_t DATA9:1;
1647                uint32_t DATA10:1;
1648                uint32_t DATA11:1;
1649                uint32_t DATA12:1;
1650                uint32_t DATA13:1;
1651                uint32_t DATA14:1;
1652                uint32_t DATA15:1;
1653            } B;
1654        } DSPICH;
1655
1656        union {              /* DSPI_C Mask Output Low Register */
1657            uint32_t R;
1658            struct {
1659                uint32_t MASK16:1;
1660                uint32_t MASK17:1;
1661                uint32_t MASK18:1;
1662                uint32_t MASK19:1;
1663                uint32_t MASK20:1;
1664                uint32_t MASK21:1;
1665                uint32_t MASK22:1;
1666                uint32_t MASK23:1;
1667                uint32_t MASK24:1;
1668                uint32_t MASK25:1;
1669                uint32_t MASK26:1;
1670                uint32_t MASK27:1;
1671                uint32_t MASK28:1;
1672                uint32_t MASK29:1;
1673                uint32_t MASK30:1;
1674                uint32_t MASK31:1;
1675                uint32_t DATA16:1;
1676                uint32_t DATA17:1;
1677                uint32_t DATA18:1;
1678                uint32_t DATA19:1;
1679                uint32_t DATA20:1;
1680                uint32_t DATA21:1;
1681                uint32_t DATA22:1;
1682                uint32_t DATA23:1;
1683                uint32_t DATA24:1;
1684                uint32_t DATA25:1;
1685                uint32_t DATA26:1;
1686                uint32_t DATA27:1;
1687                uint32_t DATA28:1;
1688                uint32_t DATA29:1;
1689                uint32_t DATA30:1;
1690                uint32_t DATA31:1;
1691            } B;
1692        } DSPICL;
1693
1694        union {              /* DSPI_D Mask Output High Register */
1695            uint32_t R;
1696            struct {
1697                uint32_t MASK0:1;
1698                uint32_t MASK1:1;
1699                uint32_t MASK2:1;
1700                uint32_t MASK3:1;
1701                uint32_t MASK4:1;
1702                uint32_t MASK5:1;
1703                uint32_t MASK6:1;
1704                uint32_t MASK7:1;
1705                uint32_t MASK8:1;
1706                uint32_t MASK9:1;
1707                uint32_t MASK10:1;
1708                uint32_t MASK11:1;
1709                uint32_t MASK12:1;
1710                uint32_t MASK13:1;
1711                uint32_t MASK14:1;
1712                uint32_t MASK15:1;
1713                uint32_t DATA0:1;
1714                uint32_t DATA1:1;
1715                uint32_t DATA2:1;
1716                uint32_t DATA3:1;
1717                uint32_t DATA4:1;
1718                uint32_t DATA5:1;
1719                uint32_t DATA6:1;
1720                uint32_t DATA7:1;
1721                uint32_t DATA8:1;
1722                uint32_t DATA9:1;
1723                uint32_t DATA10:1;
1724                uint32_t DATA11:1;
1725                uint32_t DATA12:1;
1726                uint32_t DATA13:1;
1727                uint32_t DATA14:1;
1728                uint32_t DATA15:1;
1729            } B;
1730        } DSPIDH;
1731
1732        union {              /* DSPI_D Mask Output Low Register */
1733            uint32_t R;
1734            struct {
1735                uint32_t MASK16:1;
1736                uint32_t MASK17:1;
1737                uint32_t MASK18:1;
1738                uint32_t MASK19:1;
1739                uint32_t MASK20:1;
1740                uint32_t MASK21:1;
1741                uint32_t MASK22:1;
1742                uint32_t MASK23:1;
1743                uint32_t MASK24:1;
1744                uint32_t MASK25:1;
1745                uint32_t MASK26:1;
1746                uint32_t MASK27:1;
1747                uint32_t MASK28:1;
1748                uint32_t MASK29:1;
1749                uint32_t MASK30:1;
1750                uint32_t MASK31:1;
1751                uint32_t DATA16:1;
1752                uint32_t DATA17:1;
1753                uint32_t DATA18:1;
1754                uint32_t DATA19:1;
1755                uint32_t DATA20:1;
1756                uint32_t DATA21:1;
1757                uint32_t DATA22:1;
1758                uint32_t DATA23:1;
1759                uint32_t DATA24:1;
1760                uint32_t DATA25:1;
1761                uint32_t DATA26:1;
1762                uint32_t DATA27:1;
1763                uint32_t DATA28:1;
1764                uint32_t DATA29:1;
1765                uint32_t DATA30:1;
1766                uint32_t DATA31:1;
1767            } B;
1768        } DSPIDL;
1769
1770        int32_t SIU_reserved0D20[8];  /* 0x0D20-0x0D3F */
1771
1772        union {               /* ETPU B Select Register */
1773            uint32_t R;
1774            struct {
1775                uint32_t ETPUB15:1;
1776                uint32_t ETPUB14:1;
1777                uint32_t ETPUB13:1;
1778                uint32_t ETPUB12:1;
1779                uint32_t ETPUB11:1;
1780                uint32_t ETPUB10:1;
1781                uint32_t ETPUB9:1;
1782                uint32_t ETPUB8:1;
1783                uint32_t ETPUB7:1;
1784                uint32_t ETPUB6:1;
1785                uint32_t ETPUB5:1;
1786                uint32_t ETPUB4:1;
1787                uint32_t ETPUB3:1;
1788                uint32_t ETPUB2:1;
1789                uint32_t ETPUB1:1;
1790                uint32_t ETPUB0:1;
1791                uint32_t ETPUB31:1;
1792                uint32_t ETPUB30:1;
1793                uint32_t ETPUB29:1;
1794                uint32_t ETPUB28:1;
1795                uint32_t ETPUB27:1;
1796                uint32_t ETPUB26:1;
1797                uint32_t ETPUB25:1;
1798                uint32_t ETPUB24:1;
1799                uint32_t ETPUB23:1;
1800                uint32_t ETPUB22:1;
1801                uint32_t ETPUB21:1;
1802                uint32_t ETPUB20:1;
1803                uint32_t ETPUB19:1;
1804                uint32_t ETPUB18:1;
1805                uint32_t ETPUB17:1;
1806                uint32_t ETPUB16:1;
1807            } B ;
1808        } ETPUBA;
1809
1810        union {               /* EMIOS A Select Register */
1811            uint32_t R;
1812            struct {
1813                uint32_t EMIOS7:1;
1814                uint32_t EMIOS6:1;
1815                uint32_t EMIOS5:1;
1816                uint32_t EMIOS4:1;
1817                uint32_t EMIOS3:1;
1818                uint32_t EMIOS2:1;
1819                uint32_t EMIOS1:1;
1820                uint32_t EMIOS0:1;
1821                uint32_t EMIOS8:1;
1822                uint32_t EMIOS9:1;
1823                uint32_t EMIOS10:1;
1824                uint32_t EMIOS11:1;
1825                uint32_t EMIOS12:1;
1826                uint32_t EMIOS13:1;
1827                uint32_t EMIOS14:1;
1828                uint32_t EMIOS15:1;
1829                uint32_t EMIOS16:1;
1830                uint32_t EMIOS17:1;
1831                uint32_t EMIOS18:1;
1832                uint32_t EMIOS19:1;
1833                uint32_t EMIOS20:1;
1834                uint32_t EMIOS21:1;
1835                uint32_t EMIOS22:1;
1836                uint32_t EMIOS23:1;
1837                uint32_t EMIOS0_0:1;
1838                uint32_t EMIOS1_1:1;
1839                uint32_t EMIOS2_2:1;
1840                uint32_t EMIOS3_3:1;
1841                uint32_t EMIOS4_4:1;
1842                uint32_t EMIOS5_5:1;
1843                uint32_t EMIOS6_6:1;
1844                uint32_t EMIOS7_7:1;
1845            } B;
1846        } EMIOSA;
1847
1848        union {             /* DSPIAH/L Select Register for DSPI A */
1849            uint32_t R;
1850            struct {
1851                uint32_t DSPIAH0:1;
1852                uint32_t DSPIAH1:1;
1853                uint32_t DSPIAH2:1;
1854                uint32_t DSPIAH3:1;
1855                uint32_t DSPIAH4:1;
1856                uint32_t DSPIAH5:1;
1857                uint32_t DSPIAH6:1;
1858                uint32_t DSPIAH7:1;
1859                uint32_t DSPIAH8:1;
1860                uint32_t DSPIAH9:1;
1861                uint32_t DSPIAH10:1;
1862                uint32_t DSPIAH11:1;
1863                uint32_t DSPIAH12:1;
1864                uint32_t DSPIAH13:1;
1865                uint32_t DSPIAH14:1;
1866                uint32_t DSPIAH15:1;
1867                uint32_t DSPIAL16:1;
1868                uint32_t DSPIAL17:1;
1869                uint32_t DSPIAL18:1;
1870                uint32_t DSPIAL19:1;
1871                uint32_t DSPIAL20:1;
1872                uint32_t DSPIAL21:1;
1873                uint32_t DSPIAL22:1;
1874                uint32_t DSPIAL23:1;
1875                uint32_t DSPIAL24:1;
1876                uint32_t DSPIAL25:1;
1877                uint32_t DSPIAL26:1;
1878                uint32_t DSPIAL27:1;
1879                uint32_t DSPIAL28:1;
1880                uint32_t DSPIAL29:1;
1881                uint32_t DSPIAL30:1;
1882                uint32_t DSPIAL31:1;
1883            } B;
1884        } DSPIAHLA;
1885
1886        int32_t SIU_reserved0D4C;  /* 0x0D4C-0x0D4F */
1887
1888        union {               /* ETPU A Select Register */
1889            uint32_t R;
1890            struct {
1891                uint32_t ETPUA23:1;
1892                uint32_t ETPUA22:1;
1893                uint32_t ETPUA21:1;
1894                uint32_t ETPUA20:1;
1895                uint32_t ETPUA19:1;
1896                uint32_t ETPUA18:1;
1897                uint32_t ETPUA17:1;
1898                uint32_t ETPUA16:1;
1899                uint32_t ETPUA29:1;
1900                uint32_t ETPUA28:1;
1901                uint32_t ETPUA27:1;
1902                uint32_t ETPUA26:1;
1903                uint32_t ETPUA25:1;
1904                uint32_t ETPUA24:1;
1905                uint32_t ETPUA31:1;
1906                uint32_t ETPUA30:1;
1907                uint32_t ETPUA12:1;
1908                uint32_t ETPUA13:1;
1909                uint32_t ETPUA14:1;
1910                uint32_t ETPUA15:1;
1911                uint32_t ETPUA0:1;
1912                uint32_t ETPUA1:1;
1913                uint32_t ETPUA2:1;
1914                uint32_t ETPUA3:1;
1915                uint32_t ETPUA4:1;
1916                uint32_t ETPUA5:1;
1917                uint32_t ETPUA6:1;
1918                uint32_t ETPUA7:1;
1919                uint32_t ETPUA8:1;
1920                uint32_t ETPUA9:1;
1921                uint32_t ETPUA10:1;
1922                uint32_t ETPUA11:1;
1923            } B ;
1924        } ETPUAB;
1925
1926        union {               /* EMIOS B Select Register */
1927            uint32_t R;
1928            struct {
1929                uint32_t EMIOS11:1;
1930                uint32_t EMIOS10:1;
1931                uint32_t EMIOS9:1;
1932                uint32_t EMIOS8:1;
1933                uint32_t EMIOS6:1;
1934                uint32_t EMIOS5:1;
1935                uint32_t EMIOS4:1;
1936                uint32_t EMIOS3:1;
1937                uint32_t EMIOS2:1;
1938                uint32_t EMIOS1:1;
1939                uint32_t EMIOS0:1;
1940                uint32_t EMIOS23:1;
1941                uint32_t EMIOS15:1;
1942                uint32_t EMIOS14:1;
1943                uint32_t EMIOS13:1;
1944                uint32_t EMIOS12:1;
1945                uint32_t EMIOS23_23:1;
1946                uint32_t EMIOS15_15:1;
1947                uint32_t EMIOS14_14:1;
1948                uint32_t EMIOS13_13:1;
1949                uint32_t EMIOS12_12:1;
1950                uint32_t EMIOS11_11:1;
1951                uint32_t EMIOS10_10:1;
1952                uint32_t EMIOS9_9:1;
1953                uint32_t EMIOS8_8:1;
1954                uint32_t EMIOS6_6:1;
1955                uint32_t EMIOS5_5:1;
1956                uint32_t EMIOS4_4:1;
1957                uint32_t EMIOS3_3:1;
1958                uint32_t EMIOS2_2:1;
1959                uint32_t EMIOS1_1:1;
1960                uint32_t EMIOS0_0:1;
1961            } B;
1962        } EMIOSB;
1963
1964        union {             /* DSPIBH/L Select Register for DSPI B */
1965            uint32_t R;
1966            struct {
1967                uint32_t DSPIBH0:1;
1968                uint32_t DSPIBH1:1;
1969                uint32_t DSPIBH2:1;
1970                uint32_t DSPIBH3:1;
1971                uint32_t DSPIBH4:1;
1972                uint32_t DSPIBH5:1;
1973                uint32_t DSPIBH6:1;
1974                uint32_t DSPIBH7:1;
1975                uint32_t DSPIBH8:1;
1976                uint32_t DSPIBH9:1;
1977                uint32_t DSPIBH10:1;
1978                uint32_t DSPIBH11:1;
1979                uint32_t DSPIBH12:1;
1980                uint32_t DSPIBH13:1;
1981                uint32_t DSPIBH14:1;
1982                uint32_t DSPIBH15:1;
1983                uint32_t DSPIBL16:1;
1984                uint32_t DSPIBL17:1;
1985                uint32_t DSPIBL18:1;
1986                uint32_t DSPIBL19:1;
1987                uint32_t DSPIBL20:1;
1988                uint32_t DSPIBL21:1;
1989                uint32_t DSPIBL22:1;
1990                uint32_t DSPIBL23:1;
1991                uint32_t DSPIBL24:1;
1992                uint32_t DSPIBL25:1;
1993                uint32_t DSPIBL26:1;
1994                uint32_t DSPIBL27:1;
1995                uint32_t DSPIBL28:1;
1996                uint32_t DSPIBL29:1;
1997                uint32_t DSPIBL30:1;
1998                uint32_t DSPIBL31:1;
1999            } B;
2000        } DSPIBHLB;
2001
2002        int32_t SIU_reserved0D5C;  /* 0x0D5C-0x0D5F */
2003
2004        union {               /* ETPU A Select Register */
2005            uint32_t R;
2006            struct {
2007                uint32_t ETPUA12:1;
2008                uint32_t ETPUA13:1;
2009                uint32_t ETPUA14:1;
2010                uint32_t ETPUA15:1;
2011                uint32_t ETPUA0:1;
2012                uint32_t ETPUA1:1;
2013                uint32_t ETPUA2:1;
2014                uint32_t ETPUA3:1;
2015                uint32_t ETPUA4:1;
2016                uint32_t ETPUA5:1;
2017                uint32_t ETPUA6:1;
2018                uint32_t ETPUA7:1;
2019                uint32_t ETPUA8:1;
2020                uint32_t ETPUA9:1;
2021                uint32_t ETPUA10:1;
2022                uint32_t ETPUA11:1;
2023                uint32_t ETPUA23:1;
2024                uint32_t ETPUA22:1;
2025                uint32_t ETPUA21:1;
2026                uint32_t ETPUA20:1;
2027                uint32_t ETPUA19:1;
2028                uint32_t ETPUA18:1;
2029                uint32_t ETPUA17:1;
2030                uint32_t ETPUA16:1;
2031                uint32_t ETPUA29:1;
2032                uint32_t ETPUA28:1;
2033                uint32_t ETPUA27:1;
2034                uint32_t ETPUA26:1;
2035                uint32_t ETPUA25:1;
2036                uint32_t ETPUA24:1;
2037                uint32_t ETPUA31:1;
2038                uint32_t ETPUA30:1;
2039            } B ;
2040        } ETPUAC;
2041
2042        union {               /* EMIOS C Select Register */
2043            uint32_t R;
2044            struct {
2045                uint32_t EMIOS12:1;
2046                uint32_t EMIOS13:1;
2047                uint32_t EMIOS14:1;
2048                uint32_t EMIOS15:1;
2049                uint32_t EMIOS23:1;
2050                uint32_t EMIOS0:1;
2051                uint32_t EMIOS1:1;
2052                uint32_t EMIOS2:1;
2053                uint32_t EMIOS3:1;
2054                uint32_t EMIOS4:1;
2055                uint32_t EMIOS5:1;
2056                uint32_t EMIOS6:1;
2057                uint32_t EMIOS8:1;
2058                uint32_t EMIOS9:1;
2059                uint32_t EMIOS10:1;
2060                uint32_t EMIOS11:1;
2061                uint32_t EMIOS23_23:1;
2062                uint32_t EMIOS22:1;
2063                uint32_t EMIOS21:1;
2064                uint32_t EMIOS20:1;
2065                uint32_t EMIOS19:1;
2066                uint32_t EMIOS18:1;
2067                uint32_t EMIOS17:1;
2068                uint32_t EMIOS16:1;
2069                uint32_t EMIOS29:1;
2070                uint32_t EMIOS28:1;
2071                uint32_t EMIOS27:1;
2072                uint32_t EMIOS26:1;
2073                uint32_t EMIOS25:1;
2074                uint32_t EMIOS24:1;
2075                uint32_t EMIOS31:1;
2076                uint32_t EMIOS30:1;
2077            } B;
2078        } EMIOSC;
2079
2080        union {             /* DSPICH/L Select Register for DSPI C */
2081            uint32_t R;
2082            struct {
2083                uint32_t DSPICH0:1;
2084                uint32_t DSPICH1:1;
2085                uint32_t DSPICH2:1;
2086                uint32_t DSPICH3:1;
2087                uint32_t DSPICH4:1;
2088                uint32_t DSPICH5:1;
2089                uint32_t DSPICH6:1;
2090                uint32_t DSPICH7:1;
2091                uint32_t DSPICH8:1;
2092                uint32_t DSPICH9:1;
2093                uint32_t DSPICH10:1;
2094                uint32_t DSPICH11:1;
2095                uint32_t DSPICH12:1;
2096                uint32_t DSPICH13:1;
2097                uint32_t DSPICH14:1;
2098                uint32_t DSPICH15:1;
2099                uint32_t DSPICL16:1;
2100                uint32_t DSPICL17:1;
2101                uint32_t DSPICL18:1;
2102                uint32_t DSPICL19:1;
2103                uint32_t DSPICL20:1;
2104                uint32_t DSPICL21:1;
2105                uint32_t DSPICL22:1;
2106                uint32_t DSPICL23:1;
2107                uint32_t DSPICL24:1;
2108                uint32_t DSPICL25:1;
2109                uint32_t DSPICL26:1;
2110                uint32_t DSPICL27:1;
2111                uint32_t DSPICL28:1;
2112                uint32_t DSPICL29:1;
2113                uint32_t DSPICL30:1;
2114                uint32_t DSPICL31:1;
2115            } B;
2116        } DSPICHLC;
2117
2118        int32_t SIU_reserved0D6C;  /* 0x0D6C-0x0D6F */
2119
2120        union {               /* ETPU B Select Register */
2121            uint32_t R;
2122            struct {
2123                uint32_t ETPUB21:1;
2124                uint32_t ETPUB20:1;
2125                uint32_t ETPUB19:1;
2126                uint32_t ETPUB18:1;
2127                uint32_t ETPUB17:1;
2128                uint32_t ETPUB16:1;
2129                uint32_t:4;
2130                uint32_t ETPUB29:1;
2131                uint32_t ETPUB28:1;
2132                uint32_t ETPUB27:1;
2133                uint32_t ETPUB26:1;
2134                uint32_t ETPUB25:1;
2135                uint32_t ETPUB24:1;
2136                uint32_t:16;
2137            } B ;
2138        } ETPUBD;
2139
2140        union {               /* EMIOS D Select Register */
2141            uint32_t R;
2142            struct {
2143                uint32_t:6;
2144                uint32_t EMIOS11:1;
2145                uint32_t EMIOS10:1;
2146                uint32_t EMIOS13:1;
2147                uint32_t EMIOS12:1;
2148                uint32_t:22;
2149            } B;
2150        } EMIOSD;
2151
2152        union {             /* DSPIDH/L Select Register for DSPI D */
2153            uint32_t R;
2154            struct {
2155                uint32_t:32;
2156            } B;
2157        } DSPIDHLD;
2158
2159        int32_t SIU_reserved0D7C;  /* 0x0D7C-0x0D7F */
2160
2161        int32_t SIU_reserved0D80[32];  /* 0x0D80-0x0DFF */
2162
2163        union {                 /* GPIO Pin Data Input Registers */
2164            uint8_t R;
2165            struct {
2166                uint8_t:7;
2167                uint8_t PDI:1;
2168            } B;
2169        } GPDI0_511[512];
2170
2171        uint32_t SIU_reserved1000[3072];  /* 0x1000-0x3FFF */
2172    };
2173
2174/****************************************************************************/
2175/*                          MODULE : EMIOS                                  */
2176/****************************************************************************/
2177
2178    struct EMIOS_tag {
2179
2180        union EMIOS_MCR_tag {    /* Module Configuration Register */
2181            uint32_t R;
2182            struct {
2183                uint32_t:1;
2184                uint32_t MDIS:1;
2185                uint32_t FRZ:1;
2186                uint32_t GTBE:1;
2187                uint32_t ETB:1;
2188                uint32_t GPREN:1;
2189                uint32_t:6;
2190                uint32_t SRV:4;
2191                uint32_t GPRE:8;
2192                uint32_t:8;
2193            } B;
2194        } MCR;
2195
2196        union {                  /* Global FLAG Register */
2197            uint32_t R;
2198            struct {
2199                uint32_t F31:1;
2200                uint32_t F30:1;
2201                uint32_t F29:1;
2202                uint32_t F28:1;
2203                uint32_t F27:1;
2204                uint32_t F26:1;
2205                uint32_t F25:1;
2206                uint32_t F24:1;
2207                uint32_t F23:1;
2208                uint32_t F22:1;
2209                uint32_t F21:1;
2210                uint32_t F20:1;
2211                uint32_t F19:1;
2212                uint32_t F18:1;
2213                uint32_t F17:1;
2214                uint32_t F16:1;
2215                uint32_t F15:1;
2216                uint32_t F14:1;
2217                uint32_t F13:1;
2218                uint32_t F12:1;
2219                uint32_t F11:1;
2220                uint32_t F10:1;
2221                uint32_t F9:1;
2222                uint32_t F8:1;
2223                uint32_t F7:1;
2224                uint32_t F6:1;
2225                uint32_t F5:1;
2226                uint32_t F4:1;
2227                uint32_t F3:1;
2228                uint32_t F2:1;
2229                uint32_t F1:1;
2230                uint32_t F0:1;
2231            } B;
2232        } GFR;
2233
2234        union {                 /* Output Update Disable Register */
2235            uint32_t R;
2236            struct {
2237                uint32_t OU31:1;
2238                uint32_t OU30:1;
2239                uint32_t OU29:1;
2240                uint32_t OU28:1;
2241                uint32_t OU27:1;
2242                uint32_t OU26:1;
2243                uint32_t OU25:1;
2244                uint32_t OU24:1;
2245                uint32_t OU23:1;
2246                uint32_t OU22:1;
2247                uint32_t OU21:1;
2248                uint32_t OU20:1;
2249                uint32_t OU19:1;
2250                uint32_t OU18:1;
2251                uint32_t OU17:1;
2252                uint32_t OU16:1;
2253                uint32_t OU15:1;
2254                uint32_t OU14:1;
2255                uint32_t OU13:1;
2256                uint32_t OU12:1;
2257                uint32_t OU11:1;
2258                uint32_t OU10:1;
2259                uint32_t OU9:1;
2260                uint32_t OU8:1;
2261                uint32_t OU7:1;
2262                uint32_t OU6:1;
2263                uint32_t OU5:1;
2264                uint32_t OU4:1;
2265                uint32_t OU3:1;
2266                uint32_t OU2:1;
2267                uint32_t OU1:1;
2268                uint32_t OU0:1;
2269            } B;
2270        } OUDR;
2271
2272        uint32_t eMIOS_reserved000C[5]; /* 0x000C-0x001F */
2273
2274        struct EMIOS_CH_tag {
2275            union {              /* Channel A Data Register */
2276                uint32_t R;
2277            } CADR;
2278
2279            union {              /* Channel B Data Register */
2280                uint32_t R;
2281            } CBDR;
2282
2283            union {              /* Channel Counter Register */
2284                uint32_t R;
2285            } CCNTR;
2286
2287            union EMIOS_CCR_tag {/* Channel Control Register */
2288                uint32_t R;
2289                struct {
2290                    uint32_t FREN:1;
2291                    uint32_t ODIS:1;
2292                    uint32_t ODISSL:2;
2293                    uint32_t UCPRE:2;
2294                    uint32_t UCPREN:1;
2295                    uint32_t DMA:1;
2296                    uint32_t:1;
2297                    uint32_t IF:4;
2298                    uint32_t FCK:1;
2299                    uint32_t FEN:1;
2300                    uint32_t:3;
2301                    uint32_t FORCMA:1;
2302                    uint32_t FORCMB:1;
2303                    uint32_t:1;
2304                    uint32_t BSL:2;
2305                    uint32_t EDSEL:1;
2306                    uint32_t EDPOL:1;
2307                    uint32_t MODE:7;
2308                } B;
2309            } CCR;
2310
2311            union EMIOS_CSR_tag {/* Channel Status Register */
2312                uint32_t R;
2313                struct {
2314                    uint32_t OVR:1;
2315                    uint32_t:15;
2316                    uint32_t OVFL:1;
2317                    uint32_t:12;
2318                    uint32_t UCIN:1;
2319                    uint32_t UCOUT:1;
2320                    uint32_t FLAG:1;
2321                } B;
2322            } CSR;
2323
2324            union {              /* Alternate Channel A Data Register */
2325                uint32_t R;
2326            } ALTA;
2327
2328            uint32_t eMIOS_channel_reserved0018[2];  /* 0x0018-0x001F */
2329
2330        } CH[32];
2331
2332        uint32_t eMIOS_reserved0420[3832];  /* 0x0420-0x3FFF */
2333
2334    };
2335
2336/****************************************************************************/
2337/*                          MODULE : PMC                                    */
2338/****************************************************************************/
2339
2340    struct PMC_tag {
2341
2342        union {
2343            uint32_t R;
2344            struct {
2345                uint32_t LVRER:1;
2346                uint32_t LVREH:1;
2347                uint32_t LVRE50:1;
2348                uint32_t LVRE33:1;
2349                uint32_t LVREC:1;
2350                uint32_t LVREA:1;
2351                uint32_t:1;
2352                uint32_t:1;
2353                uint32_t LVIER:1;
2354                uint32_t LVIEH:1;
2355                uint32_t LVIE50:1;
2356                uint32_t LVIE33:1;
2357                uint32_t LVIEC:1;
2358                uint32_t LVIEA:1;
2359                uint32_t:1;
2360                uint32_t TLK:1;
2361                uint32_t:16;
2362            } B;
2363        } MCR;                  /* Module Configuration Register */
2364
2365        union {
2366            uint32_t R;
2367            struct {
2368                uint32_t :8;
2369                uint32_t LVDATRIM:4;
2370                uint32_t LVDREGTRIM:4;
2371                uint32_t VDD33TRIM:4;
2372                uint32_t LVD33TRIM:4;
2373                uint32_t VDDCTRIM:4;
2374                uint32_t LVDCTRIM:4;
2375            } B;
2376        } TRIMR;                /* Trimming register */
2377
2378        union {
2379            uint32_t R;
2380            struct {
2381                uint32_t :5;
2382                uint32_t LVFSTBY:1;
2383                uint32_t BGRDY:1;
2384                uint32_t BGTS:1;
2385                uint32_t :5;
2386                uint32_t LVFCSTBY:1;
2387                uint32_t :2;
2388                uint32_t LVFCR:1;
2389                uint32_t LVFCH:1;
2390                uint32_t LVFC50:1;
2391                uint32_t LVFC33:1;
2392                uint32_t LVFCC:1;
2393                uint32_t LVFCA:1;
2394                uint32_t :2;
2395                uint32_t LVFR:1;
2396                uint32_t LVFH:1;
2397                uint32_t LVF50:1;
2398                uint32_t LVF33:1;
2399                uint32_t LVFC:1;
2400                uint32_t LVFA:1;
2401                uint32_t :2;
2402            } B;
2403        } SR;                /* status register */
2404
2405        uint32_t PMC_reserved000C[4093];  /* 0x000C-0x3FFF */
2406    };
2407
2408/****************************************************************************/
2409/*                              MODULE :ETPU                                */
2410/****************************************************************************/
2411
2412/***************************Configuration Registers**************************/
2413
2414    struct ETPU_tag {
2415        union {                 /* MODULE CONFIGURATION REGISTER */
2416            uint32_t R;
2417            struct {
2418                uint32_t GEC:1;        /* Global Exception Clear */
2419                uint32_t SDMERR:1;     /* SDM Read Error */
2420                uint32_t WDTOA:1;      /* Watchdog Timeout-eTPU_A */
2421                uint32_t WDTOB:1;      /* Watchdog Timeout-eTPU_B */
2422                uint32_t MGE1:1;       /* Microcode Global Exception-ETPU_A */
2423                uint32_t MGE2:1;       /* Microcode Global Exception-ETPU_B */
2424                uint32_t ILF1:1;       /* Illegal Instruction Flag-ETPU_A */
2425                uint32_t ILF2:1;       /* Illegal Instruction Flag-ETPU_B */
2426                uint32_t:3;
2427                uint32_t SCMSIZE:5;    /* Shared Code Memory size */
2428                uint32_t:4;
2429                uint32_t SCMMISC:1;    /* SCM MISC Complete/Clear */
2430                uint32_t SCMMISF:1;    /* SCM MISC Flag */
2431                uint32_t SCMMISEN:1;   /* SCM MISC Enable */
2432                uint32_t:2;
2433                uint32_t VIS:1;        /* SCM Visability */
2434                uint32_t:5;
2435                uint32_t GTBE:1;       /* Global Time Base Enable */
2436            } B;
2437        } MCR;
2438
2439        union {                 /* COHERENT DUAL-PARAMETER CONTROL */
2440            uint32_t R;
2441            struct {
2442                uint32_t STS:1;        /* Start Status bit */
2443                uint32_t CTBASE:5;     /* Channel Transfer Base */
2444                uint32_t PBASE:10;     /* Parameter Buffer Base Address */
2445                uint32_t PWIDTH:1;     /* Parameter Width */
2446                uint32_t PARAM0:7;     /* Channel Parameter 0 */
2447                uint32_t WR:1;         /* Read/Write selection */
2448                uint32_t PARAM1:7;     /* Channel Parameter 1 */
2449            } B;
2450        } CDCR;
2451
2452        uint32_t eTPU_reserved0008;  /* 0x0008-0x000B */
2453
2454        union {                 /* MISC Compare Register */
2455            uint32_t R;
2456            struct {
2457                uint32_t ETPUMISCCMP:32;
2458            } B;
2459        } MISCCMPR;
2460
2461        union {                 /* SCM off-range Date Register */
2462            uint32_t R;
2463            struct {
2464                uint32_t ETPUSCMOFFDATA:32;
2465            } B;
2466        } SCMOFFDATAR;
2467
2468        union {                 /* ETPU_A Configuration Register */
2469            uint32_t R;
2470            struct {
2471                uint32_t FEND:1;       /* Force END */
2472                uint32_t MDIS:1;       /* Low power Stop */
2473                uint32_t:1;
2474                uint32_t STF:1;        /* Stop Flag */
2475                uint32_t:4;
2476                uint32_t HLTF:1;       /* Halt Mode Flag */
2477                uint32_t:3;
2478                uint32_t FCSS:1;       /* Filter Clock Source Select */
2479                uint32_t FPSCK:3;      /* Filter Prescaler Clock Control */
2480                uint32_t CDFC:2;
2481                uint32_t:1;
2482                uint32_t ERBA:5;       /* Engine Relative Base Address */
2483                uint32_t SPPDIS:1;     /* Schedule Priority Passing Disable */
2484                uint32_t:2;
2485                uint32_t ETB:5;        /* Entry Table Base */
2486            } B;
2487        } ECR_A;
2488
2489        union {                 /* ETPU_B Configuration Register */
2490            uint32_t R;
2491            struct {
2492                uint32_t FEND:1;       /* Force END */
2493                uint32_t MDIS:1;       /* Low power Stop */
2494                uint32_t:1;
2495                uint32_t STF:1;        /* Stop Flag */
2496                uint32_t:4;
2497                uint32_t HLTF:1;       /* Halt Mode Flag */
2498                uint32_t:3;
2499                uint32_t FCSS:1;       /* Filter Clock Source Select */
2500                uint32_t FPSCK:3;      /* Filter Prescaler Clock Control */
2501                uint32_t CDFC:2;
2502                uint32_t:1;
2503                uint32_t ERBA:5;       /* Engine Relative Base Address */
2504                uint32_t SPPDIS:1;     /* Schedule Priority Passing Disable */
2505                uint32_t:2;
2506                uint32_t ETB:5;        /* Entry Table Base */
2507            } B;
2508        } ECR_B;
2509
2510        uint32_t eTPU_reserved001C;  /* 0x001C-0x001F */
2511
2512        union {                 /* ETPU_A Timebase Configuration Register */
2513            uint32_t R;
2514            struct {
2515                uint32_t TCR2CTL:3;     /* TCR2 Clock/Gate Control */
2516                uint32_t TCRCF:2;       /* TCRCLK Signal Filter Control */
2517                uint32_t AM:2;          /* Angle Mode */
2518                uint32_t:3;
2519                uint32_t TCR2P:6;       /* TCR2 Prescaler Control */
2520                uint32_t TCR1CTL:2;     /* TCR1 Clock/Gate Control */
2521                uint32_t TCR1CS:1;      /* TCR1 Clock Source */
2522                uint32_t:5;
2523                uint32_t TCR1P:8;       /* TCR1 Prescaler Control */
2524            } B;
2525        } TBCR_A;
2526
2527        union {                 /* ETPU_A TCR1 Visibility Register */
2528            uint32_t R;
2529            struct {
2530                uint32_t:8;
2531                uint32_t TCR1:24;
2532            } B;
2533        } TB1R_A;
2534
2535        union {                 /* ETPU_A TCR2 Visibility Register */
2536            uint32_t R;
2537            struct {
2538                uint32_t:8;
2539                uint32_t TCR2:24;
2540            } B;
2541        } TB2R_A;
2542
2543        union {                 /* ETPU_A STAC Configuration Register */
2544            uint32_t R;
2545            struct {
2546                uint32_t REN1:1;       /* Resource Enable TCR1 */
2547                uint32_t RSC1:1;       /* Resource Control TCR1 */
2548                uint32_t:2;
2549                uint32_t SERVER_ID1:4;   /* TCR1 Server ID */
2550                uint32_t:4;
2551                uint32_t SRV1:4;       /* Resource Server Slot */
2552                uint32_t REN2:1;       /* Resource Enable TCR2 */
2553                uint32_t RSC2:1;       /* Resource Control TCR2 */
2554                uint32_t:2;
2555                uint32_t SERVER_ID2:4;   /* TCR2 Server ID */
2556                uint32_t:4;
2557                uint32_t SRV2:4;       /* Resource Server Slot */
2558            } B;
2559        } REDCR_A;
2560
2561        uint32_t eTPU_reserved0030[4];  /* 0x0030-0x003F */
2562
2563        union {                 /* ETPU_B Timebase Configuration Register */
2564            uint32_t R;
2565            struct {
2566                uint32_t TCR2CTL:3;     /* TCR2 Clock/Gate Control */
2567                uint32_t TCRCF:2;       /* TCRCLK Signal Filter Control */
2568                uint32_t AM:2;          /* Angle Mode */
2569                uint32_t:3;
2570                uint32_t TCR2P:6;       /* TCR2 Prescaler Control */
2571                uint32_t TCR1CTL:2;     /* TCR1 Clock/Gate Control */
2572                uint32_t TCR1CS:1;      /* TCR1 Clock Source */
2573                uint32_t:5;
2574                uint32_t TCR1P:8;       /* TCR1 Prescaler Control */
2575            } B;
2576        } TBCR_B;
2577
2578        union {                 /* ETPU_B TCR1 Visibility Register */
2579            uint32_t R;
2580            struct {
2581                uint32_t:8;
2582                uint32_t TCR1:24;
2583            } B;
2584        } TB1R_B;
2585
2586        union {                 /* ETPU_B TCR2 Visibility Register */
2587            uint32_t R;
2588            struct {
2589                uint32_t:8;
2590                uint32_t TCR2:24;
2591            } B;
2592        } TB2R_B;
2593
2594        union {                 /* ETPU_B STAC Configuration Register */
2595            uint32_t R;
2596            struct {
2597                uint32_t REN1:1;       /* Resource Enable TCR1 */
2598                uint32_t RSC1:1;       /* Resource Control TCR1 */
2599                uint32_t:2;
2600                uint32_t SERVER_ID1:4;   /* TCR1 Server ID */
2601                uint32_t:4;
2602                uint32_t SRV1:4;       /* Resource Server Slot */
2603                uint32_t REN2:1;       /* Resource Enable TCR2 */
2604                uint32_t RSC2:1;       /* Resource Control TCR2 */
2605                uint32_t:2;
2606                uint32_t SERVER_ID2:4;   /* TCR2 Server ID */
2607                uint32_t:4;
2608                uint32_t SRV2:4;       /* Resource Server Slot */
2609            } B;
2610        } REDCR_B;
2611
2612        uint32_t eTPU_reserved0050[4];  /* 0x0050-0x005F */
2613
2614        union {                 /* Watchdog Timer Register A */
2615            uint32_t R;
2616            struct {
2617                uint32_t WDM:2;          /* Watchdog Mode */
2618                uint32_t:14;
2619                uint32_t WDCNT:16;       /* Watchdog Count */
2620            } B;
2621        } WDTR_A;
2622
2623        uint32_t eTPU_reserved0064;  /* 0x0064-0x0067 */
2624
2625        union {                 /* Idle Counter Register A*/
2626            uint32_t R;
2627            struct {
2628                uint32_t IDLE_CNT:31;
2629                uint32_t ICLR:1;       /* Idle Clear */
2630            } B;
2631
2632        } IDLE_A;
2633
2634        uint32_t eTPU_reserved006C;  /* 0x006C-0x006F */
2635
2636        union {                 /* Watchdog Timer Register B */
2637            uint32_t R;
2638            struct {
2639                uint32_t WDM:2;          /* Watchdog Mode */
2640                uint32_t:14;
2641                uint32_t WDCNT:16;       /* Watchdog Count */
2642            } B;
2643        } WDTR_B;
2644
2645        uint32_t eTPU_reserved0074;  /* 0x0074-0x0077 */
2646
2647        union {                 /* Idle Counter Register B*/
2648            uint32_t R;
2649            struct {
2650                uint32_t IDLE_CNT:31;
2651                uint32_t ICLR:1;       /* Idle Clear */
2652            } B;
2653        } IDLE_B;
2654
2655        uint32_t eTPU_reserved007C;  /* 0x007C-0x007F */
2656
2657        uint32_t eTPU_reserved0080[96];  /* 0x0080-0x01FF */
2658
2659/*****************************Status and Control Registers**************************/
2660
2661        union {                 /* ETPU_A Channel Interrut Status */
2662            uint32_t R;
2663            struct {
2664                uint32_t CIS31:1;      /* Channel 31 Interrut Status */
2665                uint32_t CIS30:1;      /* Channel 30 Interrut Status */
2666                uint32_t CIS29:1;      /* Channel 29 Interrut Status */
2667                uint32_t CIS28:1;      /* Channel 28 Interrut Status */
2668                uint32_t CIS27:1;      /* Channel 27 Interrut Status */
2669                uint32_t CIS26:1;      /* Channel 26 Interrut Status */
2670                uint32_t CIS25:1;      /* Channel 25 Interrut Status */
2671                uint32_t CIS24:1;      /* Channel 24 Interrut Status */
2672                uint32_t CIS23:1;      /* Channel 23 Interrut Status */
2673                uint32_t CIS22:1;      /* Channel 22 Interrut Status */
2674                uint32_t CIS21:1;      /* Channel 21 Interrut Status */
2675                uint32_t CIS20:1;      /* Channel 20 Interrut Status */
2676                uint32_t CIS19:1;      /* Channel 19 Interrut Status */
2677                uint32_t CIS18:1;      /* Channel 18 Interrut Status */
2678                uint32_t CIS17:1;      /* Channel 17 Interrut Status */
2679                uint32_t CIS16:1;      /* Channel 16 Interrut Status */
2680                uint32_t CIS15:1;      /* Channel 15 Interrut Status */
2681                uint32_t CIS14:1;      /* Channel 14 Interrut Status */
2682                uint32_t CIS13:1;      /* Channel 13 Interrut Status */
2683                uint32_t CIS12:1;      /* Channel 12 Interrut Status */
2684                uint32_t CIS11:1;      /* Channel 11 Interrut Status */
2685                uint32_t CIS10:1;      /* Channel 10 Interrut Status */
2686                uint32_t CIS9:1;       /* Channel 9 Interrut Status */
2687                uint32_t CIS8:1;       /* Channel 8 Interrut Status */
2688                uint32_t CIS7:1;       /* Channel 7 Interrut Status */
2689                uint32_t CIS6:1;       /* Channel 6 Interrut Status */
2690                uint32_t CIS5:1;       /* Channel 5 Interrut Status */
2691                uint32_t CIS4:1;       /* Channel 4 Interrut Status */
2692                uint32_t CIS3:1;       /* Channel 3 Interrut Status */
2693                uint32_t CIS2:1;       /* Channel 2 Interrut Status */
2694                uint32_t CIS1:1;       /* Channel 1 Interrut Status */
2695                uint32_t CIS0:1;       /* Channel 0 Interrut Status */
2696            } B;
2697        } CISR_A;
2698
2699        union {                 /* ETPU_B Channel Interruput Status */
2700            uint32_t R;
2701            struct {
2702                uint32_t CIS31:1;      /* Channel 31 Interrut Status */
2703                uint32_t CIS30:1;      /* Channel 30 Interrut Status */
2704                uint32_t CIS29:1;      /* Channel 29 Interrut Status */
2705                uint32_t CIS28:1;      /* Channel 28 Interrut Status */
2706                uint32_t CIS27:1;      /* Channel 27 Interrut Status */
2707                uint32_t CIS26:1;      /* Channel 26 Interrut Status */
2708                uint32_t CIS25:1;      /* Channel 25 Interrut Status */
2709                uint32_t CIS24:1;      /* Channel 24 Interrut Status */
2710                uint32_t CIS23:1;      /* Channel 23 Interrut Status */
2711                uint32_t CIS22:1;      /* Channel 22 Interrut Status */
2712                uint32_t CIS21:1;      /* Channel 21 Interrut Status */
2713                uint32_t CIS20:1;      /* Channel 20 Interrut Status */
2714                uint32_t CIS19:1;      /* Channel 19 Interrut Status */
2715                uint32_t CIS18:1;      /* Channel 18 Interrut Status */
2716                uint32_t CIS17:1;      /* Channel 17 Interrut Status */
2717                uint32_t CIS16:1;      /* Channel 16 Interrut Status */
2718                uint32_t CIS15:1;      /* Channel 15 Interrut Status */
2719                uint32_t CIS14:1;      /* Channel 14 Interrut Status */
2720                uint32_t CIS13:1;      /* Channel 13 Interrut Status */
2721                uint32_t CIS12:1;      /* Channel 12 Interrut Status */
2722                uint32_t CIS11:1;      /* Channel 11 Interrut Status */
2723                uint32_t CIS10:1;      /* Channel 10 Interrut Status */
2724                uint32_t CIS9:1;       /* Channel 9 Interrut Status */
2725                uint32_t CIS8:1;       /* Channel 8 Interrut Status */
2726                uint32_t CIS7:1;       /* Channel 7 Interrut Status */
2727                uint32_t CIS6:1;       /* Channel 6 Interrut Status */
2728                uint32_t CIS5:1;       /* Channel 5 Interrut Status */
2729                uint32_t CIS4:1;       /* Channel 4 Interrut Status */
2730                uint32_t CIS3:1;       /* Channel 3 Interrut Status */
2731                uint32_t CIS2:1;       /* Channel 2 Interrut Status */
2732                uint32_t CIS1:1;       /* Channel 1 Interrupt Status */
2733                uint32_t CIS0:1;       /* Channel 0 Interrupt Status */
2734            } B;
2735        } CISR_B;
2736
2737        uint32_t eTPU_reserved0208[2];  /* 0x0208-0x020F */
2738
2739        union {                 /* ETPU_A Data Transfer Request Status */
2740            uint32_t R;
2741            struct {
2742                uint32_t DTRS31:1;     /* Channel 31 Data Transfer Request Status */
2743                uint32_t DTRS30:1;     /* Channel 30 Data Transfer Request Status */
2744                uint32_t DTRS29:1;     /* Channel 29 Data Transfer Request Status */
2745                uint32_t DTRS28:1;     /* Channel 28 Data Transfer Request Status */
2746                uint32_t DTRS27:1;     /* Channel 27 Data Transfer Request Status */
2747                uint32_t DTRS26:1;     /* Channel 26 Data Transfer Request Status */
2748                uint32_t DTRS25:1;     /* Channel 25 Data Transfer Request Status */
2749                uint32_t DTRS24:1;     /* Channel 24 Data Transfer Request Status */
2750                uint32_t DTRS23:1;     /* Channel 23 Data Transfer Request Status */
2751                uint32_t DTRS22:1;     /* Channel 22 Data Transfer Request Status */
2752                uint32_t DTRS21:1;     /* Channel 21 Data Transfer Request Status */
2753                uint32_t DTRS20:1;     /* Channel 20 Data Transfer Request Status */
2754                uint32_t DTRS19:1;     /* Channel 19 Data Transfer Request Status */
2755                uint32_t DTRS18:1;     /* Channel 18 Data Transfer Request Status */
2756                uint32_t DTRS17:1;     /* Channel 17 Data Transfer Request Status */
2757                uint32_t DTRS16:1;     /* Channel 16 Data Transfer Request Status */
2758                uint32_t DTRS15:1;     /* Channel 15 Data Transfer Request Status */
2759                uint32_t DTRS14:1;     /* Channel 14 Data Transfer Request Status */
2760                uint32_t DTRS13:1;     /* Channel 13 Data Transfer Request Status */
2761                uint32_t DTRS12:1;     /* Channel 12 Data Transfer Request Status */
2762                uint32_t DTRS11:1;     /* Channel 11 Data Transfer Request Status */
2763                uint32_t DTRS10:1;     /* Channel 10 Data Transfer Request Status */
2764                uint32_t DTRS9:1;      /* Channel 9 Data Transfer Request Status */
2765                uint32_t DTRS8:1;      /* Channel 8 Data Transfer Request Status */
2766                uint32_t DTRS7:1;      /* Channel 7 Data Transfer Request Status */
2767                uint32_t DTRS6:1;      /* Channel 6 Data Transfer Request Status */
2768                uint32_t DTRS5:1;      /* Channel 5 Data Transfer Request Status */
2769                uint32_t DTRS4:1;      /* Channel 4 Data Transfer Request Status */
2770                uint32_t DTRS3:1;      /* Channel 3 Data Transfer Request Status */
2771                uint32_t DTRS2:1;      /* Channel 2 Data Transfer Request Status */
2772                uint32_t DTRS1:1;      /* Channel 1 Data Transfer Request Status */
2773                uint32_t DTRS0:1;      /* Channel 0 Data Transfer Request Status */
2774            } B;
2775        } CDTRSR_A;
2776
2777        union {                 /* ETPU_B Data Transfer Request Status */
2778            uint32_t R;
2779            struct {
2780                uint32_t DTRS31:1;     /* Channel 31 Data Transfer Request Status */
2781                uint32_t DTRS30:1;     /* Channel 30 Data Transfer Request Status */
2782                uint32_t DTRS29:1;     /* Channel 29 Data Transfer Request Status */
2783                uint32_t DTRS28:1;     /* Channel 28 Data Transfer Request Status */
2784                uint32_t DTRS27:1;     /* Channel 27 Data Transfer Request Status */
2785                uint32_t DTRS26:1;     /* Channel 26 Data Transfer Request Status */
2786                uint32_t DTRS25:1;     /* Channel 25 Data Transfer Request Status */
2787                uint32_t DTRS24:1;     /* Channel 24 Data Transfer Request Status */
2788                uint32_t DTRS23:1;     /* Channel 23 Data Transfer Request Status */
2789                uint32_t DTRS22:1;     /* Channel 22 Data Transfer Request Status */
2790                uint32_t DTRS21:1;     /* Channel 21 Data Transfer Request Status */
2791                uint32_t DTRS20:1;     /* Channel 20 Data Transfer Request Status */
2792                uint32_t DTRS19:1;     /* Channel 19 Data Transfer Request Status */
2793                uint32_t DTRS18:1;     /* Channel 18 Data Transfer Request Status */
2794                uint32_t DTRS17:1;     /* Channel 17 Data Transfer Request Status */
2795                uint32_t DTRS16:1;     /* Channel 16 Data Transfer Request Status */
2796                uint32_t DTRS15:1;     /* Channel 15 Data Transfer Request Status */
2797                uint32_t DTRS14:1;     /* Channel 14 Data Transfer Request Status */
2798                uint32_t DTRS13:1;     /* Channel 13 Data Transfer Request Status */
2799                uint32_t DTRS12:1;     /* Channel 12 Data Transfer Request Status */
2800                uint32_t DTRS11:1;     /* Channel 11 Data Transfer Request Status */
2801                uint32_t DTRS10:1;     /* Channel 10 Data Transfer Request Status */
2802                uint32_t DTRS9:1;      /* Channel 9 Data Transfer Request Status */
2803                uint32_t DTRS8:1;      /* Channel 8 Data Transfer Request Status */
2804                uint32_t DTRS7:1;      /* Channel 7 Data Transfer Request Status */
2805                uint32_t DTRS6:1;      /* Channel 6 Data Transfer Request Status */
2806                uint32_t DTRS5:1;      /* Channel 5 Data Transfer Request Status */
2807                uint32_t DTRS4:1;      /* Channel 4 Data Transfer Request Status */
2808                uint32_t DTRS3:1;      /* Channel 3 Data Transfer Request Status */
2809                uint32_t DTRS2:1;      /* Channel 2 Data Transfer Request Status */
2810                uint32_t DTRS1:1;      /* Channel 1 Data Transfer Request Status */
2811                uint32_t DTRS0:1;      /* Channel 0 Data Transfer Request Status */
2812            } B;
2813        } CDTRSR_B;
2814
2815        uint32_t eTPU_reserved0218[2];  /* 0x0218-0x021F */
2816
2817        union {                 /* ETPU_A Interruput Overflow Status */
2818            uint32_t R;
2819            struct {
2820                uint32_t CIOS31:1;     /* Channel 31 Interruput Overflow Status */
2821                uint32_t CIOS30:1;     /* Channel 30 Interruput Overflow Status */
2822                uint32_t CIOS29:1;     /* Channel 29 Interruput Overflow Status */
2823                uint32_t CIOS28:1;     /* Channel 28 Interruput Overflow Status */
2824                uint32_t CIOS27:1;     /* Channel 27 Interruput Overflow Status */
2825                uint32_t CIOS26:1;     /* Channel 26 Interruput Overflow Status */
2826                uint32_t CIOS25:1;     /* Channel 25 Interruput Overflow Status */
2827                uint32_t CIOS24:1;     /* Channel 24 Interruput Overflow Status */
2828                uint32_t CIOS23:1;     /* Channel 23 Interruput Overflow Status */
2829                uint32_t CIOS22:1;     /* Channel 22 Interruput Overflow Status */
2830                uint32_t CIOS21:1;     /* Channel 21 Interruput Overflow Status */
2831                uint32_t CIOS20:1;     /* Channel 20 Interruput Overflow Status */
2832                uint32_t CIOS19:1;     /* Channel 19 Interruput Overflow Status */
2833                uint32_t CIOS18:1;     /* Channel 18 Interruput Overflow Status */
2834                uint32_t CIOS17:1;     /* Channel 17 Interruput Overflow Status */
2835                uint32_t CIOS16:1;     /* Channel 16 Interruput Overflow Status */
2836                uint32_t CIOS15:1;     /* Channel 15 Interruput Overflow Status */
2837                uint32_t CIOS14:1;     /* Channel 14 Interruput Overflow Status */
2838                uint32_t CIOS13:1;     /* Channel 13 Interruput Overflow Status */
2839                uint32_t CIOS12:1;     /* Channel 12 Interruput Overflow Status */
2840                uint32_t CIOS11:1;     /* Channel 11 Interruput Overflow Status */
2841                uint32_t CIOS10:1;     /* Channel 10 Interruput Overflow Status */
2842                uint32_t CIOS9:1;      /* Channel 9 Interruput Overflow Status */
2843                uint32_t CIOS8:1;      /* Channel 8 Interruput Overflow Status */
2844                uint32_t CIOS7:1;      /* Channel 7 Interruput Overflow Status */
2845                uint32_t CIOS6:1;      /* Channel 6 Interruput Overflow Status */
2846                uint32_t CIOS5:1;      /* Channel 5 Interruput Overflow Status */
2847                uint32_t CIOS4:1;      /* Channel 4 Interruput Overflow Status */
2848                uint32_t CIOS3:1;      /* Channel 3 Interruput Overflow Status */
2849                uint32_t CIOS2:1;      /* Channel 2 Interruput Overflow Status */
2850                uint32_t CIOS1:1;      /* Channel 1 Interruput Overflow Status */
2851                uint32_t CIOS0:1;      /* Channel 0 Interruput Overflow Status */
2852            } B;
2853        } CIOSR_A;
2854
2855        union {                 /* ETPU_B Interruput Overflow Status */
2856            uint32_t R;
2857            struct {
2858                uint32_t CIOS31:1;     /* Channel 31 Interruput Overflow Status */
2859                uint32_t CIOS30:1;     /* Channel 30 Interruput Overflow Status */
2860                uint32_t CIOS29:1;     /* Channel 29 Interruput Overflow Status */
2861                uint32_t CIOS28:1;     /* Channel 28 Interruput Overflow Status */
2862                uint32_t CIOS27:1;     /* Channel 27 Interruput Overflow Status */
2863                uint32_t CIOS26:1;     /* Channel 26 Interruput Overflow Status */
2864                uint32_t CIOS25:1;     /* Channel 25 Interruput Overflow Status */
2865                uint32_t CIOS24:1;     /* Channel 24 Interruput Overflow Status */
2866                uint32_t CIOS23:1;     /* Channel 23 Interruput Overflow Status */
2867                uint32_t CIOS22:1;     /* Channel 22 Interruput Overflow Status */
2868                uint32_t CIOS21:1;     /* Channel 21 Interruput Overflow Status */
2869                uint32_t CIOS20:1;     /* Channel 20 Interruput Overflow Status */
2870                uint32_t CIOS19:1;     /* Channel 19 Interruput Overflow Status */
2871                uint32_t CIOS18:1;     /* Channel 18 Interruput Overflow Status */
2872                uint32_t CIOS17:1;     /* Channel 17 Interruput Overflow Status */
2873                uint32_t CIOS16:1;     /* Channel 16 Interruput Overflow Status */
2874                uint32_t CIOS15:1;     /* Channel 15 Interruput Overflow Status */
2875                uint32_t CIOS14:1;     /* Channel 14 Interruput Overflow Status */
2876                uint32_t CIOS13:1;     /* Channel 13 Interruput Overflow Status */
2877                uint32_t CIOS12:1;     /* Channel 12 Interruput Overflow Status */
2878                uint32_t CIOS11:1;     /* Channel 11 Interruput Overflow Status */
2879                uint32_t CIOS10:1;     /* Channel 10 Interruput Overflow Status */
2880                uint32_t CIOS9:1;      /* Channel 9 Interruput Overflow Status */
2881                uint32_t CIOS8:1;      /* Channel 8 Interruput Overflow Status */
2882                uint32_t CIOS7:1;      /* Channel 7 Interruput Overflow Status */
2883                uint32_t CIOS6:1;      /* Channel 6 Interruput Overflow Status */
2884                uint32_t CIOS5:1;      /* Channel 5 Interruput Overflow Status */
2885                uint32_t CIOS4:1;      /* Channel 4 Interruput Overflow Status */
2886                uint32_t CIOS3:1;      /* Channel 3 Interruput Overflow Status */
2887                uint32_t CIOS2:1;      /* Channel 2 Interruput Overflow Status */
2888                uint32_t CIOS1:1;      /* Channel 1 Interruput Overflow Status */
2889                uint32_t CIOS0:1;      /* Channel 0 Interruput Overflow Status */
2890            } B;
2891        } CIOSR_B;
2892
2893        uint32_t eTPU_reserved0228[2];  /* 0x0228-0x022F */
2894
2895        union {                 /* ETPU_A Data Transfer Overflow Status */
2896            uint32_t R;
2897            struct {
2898                uint32_t DTROS31:1;    /* Channel 31 Data Transfer Overflow Status */
2899                uint32_t DTROS30:1;    /* Channel 30 Data Transfer Overflow Status */
2900                uint32_t DTROS29:1;    /* Channel 29 Data Transfer Overflow Status */
2901                uint32_t DTROS28:1;    /* Channel 28 Data Transfer Overflow Status */
2902                uint32_t DTROS27:1;    /* Channel 27 Data Transfer Overflow Status */
2903                uint32_t DTROS26:1;    /* Channel 26 Data Transfer Overflow Status */
2904                uint32_t DTROS25:1;    /* Channel 25 Data Transfer Overflow Status */
2905                uint32_t DTROS24:1;    /* Channel 24 Data Transfer Overflow Status */
2906                uint32_t DTROS23:1;    /* Channel 23 Data Transfer Overflow Status */
2907                uint32_t DTROS22:1;    /* Channel 22 Data Transfer Overflow Status */
2908                uint32_t DTROS21:1;    /* Channel 21 Data Transfer Overflow Status */
2909                uint32_t DTROS20:1;    /* Channel 20 Data Transfer Overflow Status */
2910                uint32_t DTROS19:1;    /* Channel 19 Data Transfer Overflow Status */
2911                uint32_t DTROS18:1;    /* Channel 18 Data Transfer Overflow Status */
2912                uint32_t DTROS17:1;    /* Channel 17 Data Transfer Overflow Status */
2913                uint32_t DTROS16:1;    /* Channel 16 Data Transfer Overflow Status */
2914                uint32_t DTROS15:1;    /* Channel 15 Data Transfer Overflow Status */
2915                uint32_t DTROS14:1;    /* Channel 14 Data Transfer Overflow Status */
2916                uint32_t DTROS13:1;    /* Channel 13 Data Transfer Overflow Status */
2917                uint32_t DTROS12:1;    /* Channel 12 Data Transfer Overflow Status */
2918                uint32_t DTROS11:1;    /* Channel 11 Data Transfer Overflow Status */
2919                uint32_t DTROS10:1;    /* Channel 10 Data Transfer Overflow Status */
2920                uint32_t DTROS9:1;     /* Channel 9 Data Transfer Overflow Status */
2921                uint32_t DTROS8:1;     /* Channel 8 Data Transfer Overflow Status */
2922                uint32_t DTROS7:1;     /* Channel 7 Data Transfer Overflow Status */
2923                uint32_t DTROS6:1;     /* Channel 6 Data Transfer Overflow Status */
2924                uint32_t DTROS5:1;     /* Channel 5 Data Transfer Overflow Status */
2925                uint32_t DTROS4:1;     /* Channel 4 Data Transfer Overflow Status */
2926                uint32_t DTROS3:1;     /* Channel 3 Data Transfer Overflow Status */
2927                uint32_t DTROS2:1;     /* Channel 2 Data Transfer Overflow Status */
2928                uint32_t DTROS1:1;     /* Channel 1 Data Transfer Overflow Status */
2929                uint32_t DTROS0:1;     /* Channel 0 Data Transfer Overflow Status */
2930            } B;
2931        } CDTROSR_A;
2932
2933        union {                 /* ETPU_B Data Transfer Overflow Status */
2934            uint32_t R;
2935            struct {
2936                uint32_t DTROS31:1;    /* Channel 31 Data Transfer Overflow Status */
2937                uint32_t DTROS30:1;    /* Channel 30 Data Transfer Overflow Status */
2938                uint32_t DTROS29:1;    /* Channel 29 Data Transfer Overflow Status */
2939                uint32_t DTROS28:1;    /* Channel 28 Data Transfer Overflow Status */
2940                uint32_t DTROS27:1;    /* Channel 27 Data Transfer Overflow Status */
2941                uint32_t DTROS26:1;    /* Channel 26 Data Transfer Overflow Status */
2942                uint32_t DTROS25:1;    /* Channel 25 Data Transfer Overflow Status */
2943                uint32_t DTROS24:1;    /* Channel 24 Data Transfer Overflow Status */
2944                uint32_t DTROS23:1;    /* Channel 23 Data Transfer Overflow Status */
2945                uint32_t DTROS22:1;    /* Channel 22 Data Transfer Overflow Status */
2946                uint32_t DTROS21:1;    /* Channel 21 Data Transfer Overflow Status */
2947                uint32_t DTROS20:1;    /* Channel 20 Data Transfer Overflow Status */
2948                uint32_t DTROS19:1;    /* Channel 19 Data Transfer Overflow Status */
2949                uint32_t DTROS18:1;    /* Channel 18 Data Transfer Overflow Status */
2950                uint32_t DTROS17:1;    /* Channel 17 Data Transfer Overflow Status */
2951                uint32_t DTROS16:1;    /* Channel 16 Data Transfer Overflow Status */
2952                uint32_t DTROS15:1;    /* Channel 15 Data Transfer Overflow Status */
2953                uint32_t DTROS14:1;    /* Channel 14 Data Transfer Overflow Status */
2954                uint32_t DTROS13:1;    /* Channel 13 Data Transfer Overflow Status */
2955                uint32_t DTROS12:1;    /* Channel 12 Data Transfer Overflow Status */
2956                uint32_t DTROS11:1;    /* Channel 11 Data Transfer Overflow Status */
2957                uint32_t DTROS10:1;    /* Channel 10 Data Transfer Overflow Status */
2958                uint32_t DTROS9:1;     /* Channel 9 Data Transfer Overflow Status */
2959                uint32_t DTROS8:1;     /* Channel 8 Data Transfer Overflow Status */
2960                uint32_t DTROS7:1;     /* Channel 7 Data Transfer Overflow Status */
2961                uint32_t DTROS6:1;     /* Channel 6 Data Transfer Overflow Status */
2962                uint32_t DTROS5:1;     /* Channel 5 Data Transfer Overflow Status */
2963                uint32_t DTROS4:1;     /* Channel 4 Data Transfer Overflow Status */
2964                uint32_t DTROS3:1;     /* Channel 3 Data Transfer Overflow Status */
2965                uint32_t DTROS2:1;     /* Channel 2 Data Transfer Overflow Status */
2966                uint32_t DTROS1:1;     /* Channel 1 Data Transfer Overflow Status */
2967                uint32_t DTROS0:1;     /* Channel 0 Data Transfer Overflow Status */
2968            } B;
2969        } CDTROSR_B;
2970
2971        uint32_t eTPU_reserved0238[2];  /* 0x0238-0x023F */
2972
2973        union {                 /* ETPU_A Channel Interruput Enable */
2974            uint32_t R;
2975            struct {
2976                uint32_t CIE31:1;      /* Channel 31 Interruput Enable */
2977                uint32_t CIE30:1;      /* Channel 30 Interruput Enable */
2978                uint32_t CIE29:1;      /* Channel 29 Interruput Enable */
2979                uint32_t CIE28:1;      /* Channel 28 Interruput Enable */
2980                uint32_t CIE27:1;      /* Channel 27 Interruput Enable */
2981                uint32_t CIE26:1;      /* Channel 26 Interruput Enable */
2982                uint32_t CIE25:1;      /* Channel 25 Interruput Enable */
2983                uint32_t CIE24:1;      /* Channel 24 Interruput Enable */
2984                uint32_t CIE23:1;      /* Channel 23 Interruput Enable */
2985                uint32_t CIE22:1;      /* Channel 22 Interruput Enable */
2986                uint32_t CIE21:1;      /* Channel 21 Interruput Enable */
2987                uint32_t CIE20:1;      /* Channel 20 Interruput Enable */
2988                uint32_t CIE19:1;      /* Channel 19 Interruput Enable */
2989                uint32_t CIE18:1;      /* Channel 18 Interruput Enable */
2990                uint32_t CIE17:1;      /* Channel 17 Interruput Enable */
2991                uint32_t CIE16:1;      /* Channel 16 Interruput Enable */
2992                uint32_t CIE15:1;      /* Channel 15 Interruput Enable */
2993                uint32_t CIE14:1;      /* Channel 14 Interruput Enable */
2994                uint32_t CIE13:1;      /* Channel 13 Interruput Enable */
2995                uint32_t CIE12:1;      /* Channel 12 Interruput Enable */
2996                uint32_t CIE11:1;      /* Channel 11 Interruput Enable */
2997                uint32_t CIE10:1;      /* Channel 10 Interruput Enable */
2998                uint32_t CIE9:1;       /* Channel 9 Interruput Enable */
2999                uint32_t CIE8:1;       /* Channel 8 Interruput Enable */
3000                uint32_t CIE7:1;       /* Channel 7 Interruput Enable */
3001                uint32_t CIE6:1;       /* Channel 6 Interruput Enable */
3002                uint32_t CIE5:1;       /* Channel 5 Interruput Enable */
3003                uint32_t CIE4:1;       /* Channel 4 Interruput Enable */
3004                uint32_t CIE3:1;       /* Channel 3 Interruput Enable */
3005                uint32_t CIE2:1;       /* Channel 2 Interruput Enable */
3006                uint32_t CIE1:1;       /* Channel 1 Interruput Enable */
3007                uint32_t CIE0:1;       /* Channel 0 Interruput Enable */
3008            } B;
3009        } CIER_A;
3010
3011        union {                 /* ETPU_B Channel Interruput Enable */
3012            uint32_t R;
3013            struct {
3014                uint32_t CIE31:1;      /* Channel 31 Interruput Enable */
3015                uint32_t CIE30:1;      /* Channel 30 Interruput Enable */
3016                uint32_t CIE29:1;      /* Channel 29 Interruput Enable */
3017                uint32_t CIE28:1;      /* Channel 28 Interruput Enable */
3018                uint32_t CIE27:1;      /* Channel 27 Interruput Enable */
3019                uint32_t CIE26:1;      /* Channel 26 Interruput Enable */
3020                uint32_t CIE25:1;      /* Channel 25 Interruput Enable */
3021                uint32_t CIE24:1;      /* Channel 24 Interruput Enable */
3022                uint32_t CIE23:1;      /* Channel 23 Interruput Enable */
3023                uint32_t CIE22:1;      /* Channel 22 Interruput Enable */
3024                uint32_t CIE21:1;      /* Channel 21 Interruput Enable */
3025                uint32_t CIE20:1;      /* Channel 20 Interruput Enable */
3026                uint32_t CIE19:1;      /* Channel 19 Interruput Enable */
3027                uint32_t CIE18:1;      /* Channel 18 Interruput Enable */
3028                uint32_t CIE17:1;      /* Channel 17 Interruput Enable */
3029                uint32_t CIE16:1;      /* Channel 16 Interruput Enable */
3030                uint32_t CIE15:1;      /* Channel 15 Interruput Enable */
3031                uint32_t CIE14:1;      /* Channel 14 Interruput Enable */
3032                uint32_t CIE13:1;      /* Channel 13 Interruput Enable */
3033                uint32_t CIE12:1;      /* Channel 12 Interruput Enable */
3034                uint32_t CIE11:1;      /* Channel 11 Interruput Enable */
3035                uint32_t CIE10:1;      /* Channel 10 Interruput Enable */
3036                uint32_t CIE9:1;       /* Channel 9 Interruput Enable */
3037                uint32_t CIE8:1;       /* Channel 8 Interruput Enable */
3038                uint32_t CIE7:1;       /* Channel 7 Interruput Enable */
3039                uint32_t CIE6:1;       /* Channel 6 Interruput Enable */
3040                uint32_t CIE5:1;       /* Channel 5 Interruput Enable */
3041                uint32_t CIE4:1;       /* Channel 4 Interruput Enable */
3042                uint32_t CIE3:1;       /* Channel 3 Interruput Enable */
3043                uint32_t CIE2:1;       /* Channel 2 Interruput Enable */
3044                uint32_t CIE1:1;       /* Channel 1 Interruput Enable */
3045                uint32_t CIE0:1;       /* Channel 0 Interruput Enable */
3046            } B;
3047        } CIER_B;
3048
3049        uint32_t eTPU_reserved0248[2];  /* 0x0248-0x024F */
3050
3051        union {                 /* ETPU_A Channel Data Transfer Request Enable */
3052            uint32_t R;
3053            struct {
3054                uint32_t DTRE31:1;     /* Channel 31 Data Transfer Request Enable */
3055                uint32_t DTRE30:1;     /* Channel 30 Data Transfer Request Enable */
3056                uint32_t DTRE29:1;     /* Channel 29 Data Transfer Request Enable */
3057                uint32_t DTRE28:1;     /* Channel 28 Data Transfer Request Enable */
3058                uint32_t DTRE27:1;     /* Channel 27 Data Transfer Request Enable */
3059                uint32_t DTRE26:1;     /* Channel 26 Data Transfer Request Enable */
3060                uint32_t DTRE25:1;     /* Channel 25 Data Transfer Request Enable */
3061                uint32_t DTRE24:1;     /* Channel 24 Data Transfer Request Enable */
3062                uint32_t DTRE23:1;     /* Channel 23 Data Transfer Request Enable */
3063                uint32_t DTRE22:1;     /* Channel 22 Data Transfer Request Enable */
3064                uint32_t DTRE21:1;     /* Channel 21 Data Transfer Request Enable */
3065                uint32_t DTRE20:1;     /* Channel 20 Data Transfer Request Enable */
3066                uint32_t DTRE19:1;     /* Channel 19 Data Transfer Request Enable */
3067                uint32_t DTRE18:1;     /* Channel 18 Data Transfer Request Enable */
3068                uint32_t DTRE17:1;     /* Channel 17 Data Transfer Request Enable */
3069                uint32_t DTRE16:1;     /* Channel 16 Data Transfer Request Enable */
3070                uint32_t DTRE15:1;     /* Channel 15 Data Transfer Request Enable */
3071                uint32_t DTRE14:1;     /* Channel 14 Data Transfer Request Enable */
3072                uint32_t DTRE13:1;     /* Channel 13 Data Transfer Request Enable */
3073                uint32_t DTRE12:1;     /* Channel 12 Data Transfer Request Enable */
3074                uint32_t DTRE11:1;     /* Channel 11 Data Transfer Request Enable */
3075                uint32_t DTRE10:1;     /* Channel 10 Data Transfer Request Enable */
3076                uint32_t DTRE9:1;      /* Channel 9 Data Transfer Request Enable */
3077                uint32_t DTRE8:1;      /* Channel 8 Data Transfer Request Enable */
3078                uint32_t DTRE7:1;      /* Channel 7 Data Transfer Request Enable */
3079                uint32_t DTRE6:1;      /* Channel 6 Data Transfer Request Enable */
3080                uint32_t DTRE5:1;      /* Channel 5 Data Transfer Request Enable */
3081                uint32_t DTRE4:1;      /* Channel 4 Data Transfer Request Enable */
3082                uint32_t DTRE3:1;      /* Channel 3 Data Transfer Request Enable */
3083                uint32_t DTRE2:1;      /* Channel 2 Data Transfer Request Enable */
3084                uint32_t DTRE1:1;      /* Channel 1 Data Transfer Request Enable */
3085                uint32_t DTRE0:1;      /* Channel 0 Data Transfer Request Enable */
3086            } B;
3087        } CDTRER_A;
3088
3089        union {                 /* ETPU_B Channel Data Transfer Request Enable */
3090            uint32_t R;
3091            struct {
3092                uint32_t DTRE31:1;     /* Channel 31 Data Transfer Request Enable */
3093                uint32_t DTRE30:1;     /* Channel 30 Data Transfer Request Enable */
3094                uint32_t DTRE29:1;     /* Channel 29 Data Transfer Request Enable */
3095                uint32_t DTRE28:1;     /* Channel 28 Data Transfer Request Enable */
3096                uint32_t DTRE27:1;     /* Channel 27 Data Transfer Request Enable */
3097                uint32_t DTRE26:1;     /* Channel 26 Data Transfer Request Enable */
3098                uint32_t DTRE25:1;     /* Channel 25 Data Transfer Request Enable */
3099                uint32_t DTRE24:1;     /* Channel 24 Data Transfer Request Enable */
3100                uint32_t DTRE23:1;     /* Channel 23 Data Transfer Request Enable */
3101                uint32_t DTRE22:1;     /* Channel 22 Data Transfer Request Enable */
3102                uint32_t DTRE21:1;     /* Channel 21 Data Transfer Request Enable */
3103                uint32_t DTRE20:1;     /* Channel 20 Data Transfer Request Enable */
3104                uint32_t DTRE19:1;     /* Channel 19 Data Transfer Request Enable */
3105                uint32_t DTRE18:1;     /* Channel 18 Data Transfer Request Enable */
3106                uint32_t DTRE17:1;     /* Channel 17 Data Transfer Request Enable */
3107                uint32_t DTRE16:1;     /* Channel 16 Data Transfer Request Enable */
3108                uint32_t DTRE15:1;     /* Channel 15 Data Transfer Request Enable */
3109                uint32_t DTRE14:1;     /* Channel 14 Data Transfer Request Enable */
3110                uint32_t DTRE13:1;     /* Channel 13 Data Transfer Request Enable */
3111                uint32_t DTRE12:1;     /* Channel 12 Data Transfer Request Enable */
3112                uint32_t DTRE11:1;     /* Channel 11 Data Transfer Request Enable */
3113                uint32_t DTRE10:1;     /* Channel 10 Data Transfer Request Enable */
3114                uint32_t DTRE9:1;      /* Channel 9 Data Transfer Request Enable */
3115                uint32_t DTRE8:1;      /* Channel 8 Data Transfer Request Enable */
3116                uint32_t DTRE7:1;      /* Channel 7 Data Transfer Request Enable */
3117                uint32_t DTRE6:1;      /* Channel 6 Data Transfer Request Enable */
3118                uint32_t DTRE5:1;      /* Channel 5 Data Transfer Request Enable */
3119                uint32_t DTRE4:1;      /* Channel 4 Data Transfer Request Enable */
3120                uint32_t DTRE3:1;      /* Channel 3 Data Transfer Request Enable */
3121                uint32_t DTRE2:1;      /* Channel 2 Data Transfer Request Enable */
3122                uint32_t DTRE1:1;      /* Channel 1 Data Transfer Request Enable */
3123                uint32_t DTRE0:1;      /* Channel 0 Data Transfer Request Enable */
3124            } B;
3125        } CDTRER_B;
3126
3127        uint32_t eTPU_reserved0258[2];  /* 0x0258-0x025F */
3128
3129        union {                 /* Watchdog Status Register A */
3130            uint32_t R;
3131            struct {
3132                uint32_t WDS31:1;
3133                uint32_t WDS30:1;
3134                uint32_t WDS29:1;
3135                uint32_t WDS28:1;
3136                uint32_t WDS27:1;
3137                uint32_t WDS26:1;
3138                uint32_t WDS25:1;
3139                uint32_t WDS24:1;
3140                uint32_t WDS23:1;
3141                uint32_t WDS22:1;
3142                uint32_t WDS21:1;
3143                uint32_t WDS20:1;
3144                uint32_t WDS19:1;
3145                uint32_t WDS18:1;
3146                uint32_t WDS17:1;
3147                uint32_t WDS16:1;
3148                uint32_t WDS15:1;
3149                uint32_t WDS14:1;
3150                uint32_t WDS13:1;
3151                uint32_t WDS12:1;
3152                uint32_t WDS11:1;
3153                uint32_t WDS10:1;
3154                uint32_t WDS9:1;
3155                uint32_t WDS8:1;
3156                uint32_t WDS7:1;
3157                uint32_t WDS6:1;
3158                uint32_t WDS5:1;
3159                uint32_t WDS4:1;
3160                uint32_t WDS3:1;
3161                uint32_t WDS2:1;
3162                uint32_t WDS1:1;
3163                uint32_t WDS0:1;
3164            } B;
3165        } WDSR_A;
3166
3167        union {                 /* Watchdog Status Register B */
3168            uint32_t R;
3169            struct {
3170                uint32_t WDS31:1;
3171                uint32_t WDS30:1;
3172                uint32_t WDS29:1;
3173                uint32_t WDS28:1;
3174                uint32_t WDS27:1;
3175                uint32_t WDS26:1;
3176                uint32_t WDS25:1;
3177                uint32_t WDS24:1;
3178                uint32_t WDS23:1;
3179                uint32_t WDS22:1;
3180                uint32_t WDS21:1;
3181                uint32_t WDS20:1;
3182                uint32_t WDS19:1;
3183                uint32_t WDS18:1;
3184                uint32_t WDS17:1;
3185                uint32_t WDS16:1;
3186                uint32_t WDS15:1;
3187                uint32_t WDS14:1;
3188                uint32_t WDS13:1;
3189                uint32_t WDS12:1;
3190                uint32_t WDS11:1;
3191                uint32_t WDS10:1;
3192                uint32_t WDS9:1;
3193                uint32_t WDS8:1;
3194                uint32_t WDS7:1;
3195                uint32_t WDS6:1;
3196                uint32_t WDS5:1;
3197                uint32_t WDS4:1;
3198                uint32_t WDS3:1;
3199                uint32_t WDS2:1;
3200                uint32_t WDS1:1;
3201                uint32_t WDS0:1;
3202            } B;
3203        } WDSR_B;
3204
3205        uint32_t eTPU_reserved0268[6];  /* 0x0268-0x027F */
3206
3207        union {                 /* ETPU_A Channel Pending Service Status */
3208            uint32_t R;
3209            struct {
3210                uint32_t SR31:1;       /* Channel 31 Pending Service Status */
3211                uint32_t SR30:1;       /* Channel 30 Pending Service Status */
3212                uint32_t SR29:1;       /* Channel 29 Pending Service Status */
3213                uint32_t SR28:1;       /* Channel 28 Pending Service Status */
3214                uint32_t SR27:1;       /* Channel 27 Pending Service Status */
3215                uint32_t SR26:1;       /* Channel 26 Pending Service Status */
3216                uint32_t SR25:1;       /* Channel 25 Pending Service Status */
3217                uint32_t SR24:1;       /* Channel 24 Pending Service Status */
3218                uint32_t SR23:1;       /* Channel 23 Pending Service Status */
3219                uint32_t SR22:1;       /* Channel 22 Pending Service Status */
3220                uint32_t SR21:1;       /* Channel 21 Pending Service Status */
3221                uint32_t SR20:1;       /* Channel 20 Pending Service Status */
3222                uint32_t SR19:1;       /* Channel 19 Pending Service Status */
3223                uint32_t SR18:1;       /* Channel 18 Pending Service Status */
3224                uint32_t SR17:1;       /* Channel 17 Pending Service Status */
3225                uint32_t SR16:1;       /* Channel 16 Pending Service Status */
3226                uint32_t SR15:1;       /* Channel 15 Pending Service Status */
3227                uint32_t SR14:1;       /* Channel 14 Pending Service Status */
3228                uint32_t SR13:1;       /* Channel 13 Pending Service Status */
3229                uint32_t SR12:1;       /* Channel 12 Pending Service Status */
3230                uint32_t SR11:1;       /* Channel 11 Pending Service Status */
3231                uint32_t SR10:1;       /* Channel 10 Pending Service Status */
3232                uint32_t SR9:1;        /* Channel 9 Pending Service Status */
3233                uint32_t SR8:1;        /* Channel 8 Pending Service Status */
3234                uint32_t SR7:1;        /* Channel 7 Pending Service Status */
3235                uint32_t SR6:1;        /* Channel 6 Pending Service Status */
3236                uint32_t SR5:1;        /* Channel 5 Pending Service Status */
3237                uint32_t SR4:1;        /* Channel 4 Pending Service Status */
3238                uint32_t SR3:1;        /* Channel 3 Pending Service Status */
3239                uint32_t SR2:1;        /* Channel 2 Pending Service Status */
3240                uint32_t SR1:1;        /* Channel 1 Pending Service Status */
3241                uint32_t SR0:1;        /* Channel 0 Pending Service Status */
3242            } B;
3243        } CPSSR_A;
3244
3245        union {                 /* ETPU_B Channel Pending Service Status */
3246            uint32_t R;
3247            struct {
3248                uint32_t SR31:1;       /* Channel 31 Pending Service Status */
3249                uint32_t SR30:1;       /* Channel 30 Pending Service Status */
3250                uint32_t SR29:1;       /* Channel 29 Pending Service Status */
3251                uint32_t SR28:1;       /* Channel 28 Pending Service Status */
3252                uint32_t SR27:1;       /* Channel 27 Pending Service Status */
3253                uint32_t SR26:1;       /* Channel 26 Pending Service Status */
3254                uint32_t SR25:1;       /* Channel 25 Pending Service Status */
3255                uint32_t SR24:1;       /* Channel 24 Pending Service Status */
3256                uint32_t SR23:1;       /* Channel 23 Pending Service Status */
3257                uint32_t SR22:1;       /* Channel 22 Pending Service Status */
3258                uint32_t SR21:1;       /* Channel 21 Pending Service Status */
3259                uint32_t SR20:1;       /* Channel 20 Pending Service Status */
3260                uint32_t SR19:1;       /* Channel 19 Pending Service Status */
3261                uint32_t SR18:1;       /* Channel 18 Pending Service Status */
3262                uint32_t SR17:1;       /* Channel 17 Pending Service Status */
3263                uint32_t SR16:1;       /* Channel 16 Pending Service Status */
3264                uint32_t SR15:1;       /* Channel 15 Pending Service Status */
3265                uint32_t SR14:1;       /* Channel 14 Pending Service Status */
3266                uint32_t SR13:1;       /* Channel 13 Pending Service Status */
3267                uint32_t SR12:1;       /* Channel 12 Pending Service Status */
3268                uint32_t SR11:1;       /* Channel 11 Pending Service Status */
3269                uint32_t SR10:1;       /* Channel 10 Pending Service Status */
3270                uint32_t SR9:1;        /* Channel 9 Pending Service Status */
3271                uint32_t SR8:1;        /* Channel 8 Pending Service Status */
3272                uint32_t SR7:1;        /* Channel 7 Pending Service Status */
3273                uint32_t SR6:1;        /* Channel 6 Pending Service Status */
3274                uint32_t SR5:1;        /* Channel 5 Pending Service Status */
3275                uint32_t SR4:1;        /* Channel 4 Pending Service Status */
3276                uint32_t SR3:1;        /* Channel 3 Pending Service Status */
3277                uint32_t SR2:1;        /* Channel 2 Pending Service Status */
3278                uint32_t SR1:1;        /* Channel 1 Pending Service Status */
3279                uint32_t SR0:1;        /* Channel 0 Pending Service Status */
3280            } B;
3281        } CPSSR_B;
3282
3283        uint32_t eTPU_reserved0288[2];  /* 0x0288-0x028F */
3284
3285        union {                 /* ETPU_A Channel Service Status */
3286            uint32_t R;
3287            struct {
3288                uint32_t SS31:1;       /* Channel 31 Service Status */
3289                uint32_t SS30:1;       /* Channel 30 Service Status */
3290                uint32_t SS29:1;       /* Channel 29 Service Status */
3291                uint32_t SS28:1;       /* Channel 28 Service Status */
3292                uint32_t SS27:1;       /* Channel 27 Service Status */
3293                uint32_t SS26:1;       /* Channel 26 Service Status */
3294                uint32_t SS25:1;       /* Channel 25 Service Status */
3295                uint32_t SS24:1;       /* Channel 24 Service Status */
3296                uint32_t SS23:1;       /* Channel 23 Service Status */
3297                uint32_t SS22:1;       /* Channel 22 Service Status */
3298                uint32_t SS21:1;       /* Channel 21 Service Status */
3299                uint32_t SS20:1;       /* Channel 20 Service Status */
3300                uint32_t SS19:1;       /* Channel 19 Service Status */
3301                uint32_t SS18:1;       /* Channel 18 Service Status */
3302                uint32_t SS17:1;       /* Channel 17 Service Status */
3303                uint32_t SS16:1;       /* Channel 16 Service Status */
3304                uint32_t SS15:1;       /* Channel 15 Service Status */
3305                uint32_t SS14:1;       /* Channel 14 Service Status */
3306                uint32_t SS13:1;       /* Channel 13 Service Status */
3307                uint32_t SS12:1;       /* Channel 12 Service Status */
3308                uint32_t SS11:1;       /* Channel 11 Service Status */
3309                uint32_t SS10:1;       /* Channel 10 Service Status */
3310                uint32_t SS9:1;        /* Channel 9 Service Status */
3311                uint32_t SS8:1;        /* Channel 8 Service Status */
3312                uint32_t SS7:1;        /* Channel 7 Service Status */
3313                uint32_t SS6:1;        /* Channel 6 Service Status */
3314                uint32_t SS5:1;        /* Channel 5 Service Status */
3315                uint32_t SS4:1;        /* Channel 4 Service Status */
3316                uint32_t SS3:1;        /* Channel 3 Service Status */
3317                uint32_t SS2:1;        /* Channel 2 Service Status */
3318                uint32_t SS1:1;        /* Channel 1 Service Status */
3319                uint32_t SS0:1;        /* Channel 0 Service Status */
3320            } B;
3321        } CSSR_A;
3322
3323        union {                 /* ETPU_B Channel Service Status */
3324            uint32_t R;
3325            struct {
3326                uint32_t SS31:1;       /* Channel 31 Service Status */
3327                uint32_t SS30:1;       /* Channel 30 Service Status */
3328                uint32_t SS29:1;       /* Channel 29 Service Status */
3329                uint32_t SS28:1;       /* Channel 28 Service Status */
3330                uint32_t SS27:1;       /* Channel 27 Service Status */
3331                uint32_t SS26:1;       /* Channel 26 Service Status */
3332                uint32_t SS25:1;       /* Channel 25 Service Status */
3333                uint32_t SS24:1;       /* Channel 24 Service Status */
3334                uint32_t SS23:1;       /* Channel 23 Service Status */
3335                uint32_t SS22:1;       /* Channel 22 Service Status */
3336                uint32_t SS21:1;       /* Channel 21 Service Status */
3337                uint32_t SS20:1;       /* Channel 20 Service Status */
3338                uint32_t SS19:1;       /* Channel 19 Service Status */
3339                uint32_t SS18:1;       /* Channel 18 Service Status */
3340                uint32_t SS17:1;       /* Channel 17 Service Status */
3341                uint32_t SS16:1;       /* Channel 16 Service Status */
3342                uint32_t SS15:1;       /* Channel 15 Service Status */
3343                uint32_t SS14:1;       /* Channel 14 Service Status */
3344                uint32_t SS13:1;       /* Channel 13 Service Status */
3345                uint32_t SS12:1;       /* Channel 12 Service Status */
3346                uint32_t SS11:1;       /* Channel 11 Service Status */
3347                uint32_t SS10:1;       /* Channel 10 Service Status */
3348                uint32_t SS9:1;        /* Channel 9 Service Status */
3349                uint32_t SS8:1;        /* Channel 8 Service Status */
3350                uint32_t SS7:1;        /* Channel 7 Service Status */
3351                uint32_t SS6:1;        /* Channel 6 Service Status */
3352                uint32_t SS5:1;        /* Channel 5 Service Status */
3353                uint32_t SS4:1;        /* Channel 4 Service Status */
3354                uint32_t SS3:1;        /* Channel 3 Service Status */
3355                uint32_t SS2:1;        /* Channel 2 Service Status */
3356                uint32_t SS1:1;        /* Channel 1 Service Status */
3357                uint32_t SS0:1;        /* Channel 0 Service Status */
3358            } B;
3359        } CSSR_B;
3360
3361        uint32_t eTPU_reserved0298[2];  /* 0x0298-0x029F */
3362
3363        uint32_t eTPU_reserved02A0[88];  /* 0x02A0-0x03FF */
3364
3365/*****************************Channels********************************/
3366
3367        struct {
3368            union {    /* Channel Configuration Register */
3369                uint32_t R;
3370                struct {
3371                    uint32_t CIE:1;    /* Channel Interruput Enable */
3372                    uint32_t DTRE:1;   /* Data Transfer Request Enable */
3373                    uint32_t CPR:2;    /* Channel Priority */
3374                    uint32_t:2;
3375                    uint32_t ETPD:1;
3376                    uint32_t ETCS:1;   /* Entry Table Condition Select */
3377                    uint32_t:3;
3378                    uint32_t CFS:5;    /* Channel Function Select */
3379                    uint32_t ODIS:1;   /* Output disable */
3380                    uint32_t OPOL:1;   /* output polarity */
3381                    uint32_t:3;
3382                    uint32_t CPBA:11;  /* Channel Parameter Base Address */
3383                } B;
3384            } CR;
3385
3386            union {    /* Channel Status Control Register */
3387                uint32_t R;
3388                struct {
3389                    uint32_t CIS:1;    /* Channel Interruput Status */
3390                    uint32_t CIOS:1;   /* Channel Interruput Overflow Status */
3391                    uint32_t:6;
3392                    uint32_t DTRS:1;   /* Data Transfer Status */
3393                    uint32_t DTROS:1;  /* Data Transfer Overflow Status */
3394                    uint32_t:6;
3395                    uint32_t IPS:1;    /* Input Pin State */
3396                    uint32_t OPS:1;    /* Output Pin State */
3397                    uint32_t OBE:1;    /* Output Buffer Enable */
3398                    uint32_t:11;
3399                    uint32_t FM1:1;    /* Function mode */
3400                    uint32_t FM0:1;    /* Function mode */
3401                } B;
3402            } SCR;
3403
3404            union {    /* Channel Host Service Request Register */
3405                uint32_t R;
3406                struct {
3407                    uint32_t:29;       /* Host Service Request */
3408                    uint32_t HSR:3;
3409                } B;
3410            } HSRR;
3411
3412            uint32_t eTPU_ch_reserved00C;  /* channel offset 0x00C-0x00F */
3413
3414        } CHAN[127];
3415
3416        uint32_t eTPU_reserved1000[7168];  /* 0x1000-0x7FFF */
3417
3418    };
3419
3420/****************************************************************************/
3421/*                          MODULE : PIT / RTI                              */
3422/****************************************************************************/
3423
3424    struct PIT_tag {
3425        union {                  /* Module Configuration Register */
3426            uint32_t R;
3427            struct {
3428                uint32_t:29;
3429                uint32_t MDIS_RTI:1;
3430                uint32_t MDIS:1;
3431                uint32_t FRZ:1;
3432            } B;
3433        } MCR;
3434
3435        uint32_t PIT_reserved0004[59];  /* 0x0004-0x00EF */
3436
3437        struct {
3438            union {
3439                uint32_t R;    /* <URM>TSVn</URM> */
3440            } LDVAL;            /* Timer Load Value Register */
3441
3442            union {
3443                uint32_t R;    /* <URM>TVLn</URM> */
3444            } CVAL;             /* Current Timer Value Register */
3445
3446            union {
3447                uint32_t R;
3448                struct {
3449                    uint32_t:30;
3450                    uint32_t TIE:1;
3451                    uint32_t TEN:1;
3452                } B;
3453            } TCTRL;            /* Timer Control Register */
3454
3455            union {
3456                uint32_t R;
3457                struct {
3458                    uint32_t:31;
3459                    uint32_t TIF:1;
3460                } B;
3461            } TFLG;             /* Timer Flag Register */
3462        } RTI;                  /* RTI Channel */
3463
3464        struct {
3465            union {
3466                uint32_t R;
3467                struct {
3468                    uint32_t TSV:32;
3469                } B;
3470            } LDVAL;
3471
3472            union {
3473                uint32_t R;
3474                struct {
3475                    uint32_t TVL:32;
3476                } B;
3477            } CVAL;
3478
3479            union {
3480                uint32_t R;
3481                struct {
3482                    uint32_t:30;
3483                    uint32_t TIE:1;
3484                    uint32_t TEN:1;
3485                } B;
3486            } TCTRL;
3487
3488            union {
3489                uint32_t R;
3490                struct {
3491                    uint32_t:31;
3492                    uint32_t TIF:1;
3493                } B;
3494            } TFLG;
3495        } CH[4];
3496
3497        uint32_t PIT_reserved00140[4016];  /* 0x0140-0x3FFF */
3498    };
3499
3500/****************************************************************************/
3501/*                          MODULE : XBAR CrossBar                          */
3502/****************************************************************************/
3503
3504    struct XBAR_tag {
3505
3506        union {                 /* Master Priority Register for Slave Port 0 */
3507            uint32_t R;
3508            struct {
3509                uint32_t:1;
3510                uint32_t MSTR7:3; /* EBI (development bus) */
3511                uint32_t:1;
3512                uint32_t MSTR6:3; /* FlexRay */
3513                uint32_t:1;
3514                uint32_t MSTR5:3; /* eDMA_B */
3515                uint32_t:1;
3516                uint32_t MSTR4:3; /* eDMA_A */
3517                uint32_t:1;
3518                uint32_t MSTR3:3; /* !!! Unsupported in Mamba !!! - Legacy FEC */
3519                uint32_t:1;
3520                uint32_t MSTR2:3; /* !!! Unsupported in Mamba !!! - Legacy EBI */
3521                uint32_t:1;
3522                uint32_t MSTR1:3; /* e200z7 core-Data, and Nexus 3 - Legacy was eDMA_A */
3523                uint32_t:1;
3524                uint32_t MSTR0:3; /* e200z7 core-CPU Instruction - Legacy was z6 core-Instruction/Data & Nexus */
3525            } B;
3526        } MPR0;
3527
3528        uint32_t XBAR_reserved0004[3];  /* 0x0004-0x000F */
3529
3530        union {               /* General Purpose Control Register for Slave Port 0 */
3531            uint32_t R;
3532            struct {
3533                uint32_t RO:1;
3534                uint32_t:21;
3535                uint32_t ARB:2;
3536                uint32_t:2;
3537                uint32_t PCTL:2;
3538                uint32_t:1;
3539                uint32_t PARK:3;
3540            } B;
3541        } SGPCR0;
3542
3543        uint32_t XBAR_reserved0014[59];  /* 0x0014-0x00FF */
3544
3545        union {                 /* Master Priority Register for Slave Port 1 */
3546            uint32_t R;
3547            struct {
3548                uint32_t:1;
3549                uint32_t MSTR7:3; /* EBI (development bus) */
3550                uint32_t:1;
3551                uint32_t MSTR6:3; /* FlexRay */
3552                uint32_t:1;
3553                uint32_t MSTR5:3; /* eDMA_B */
3554                uint32_t:1;
3555                uint32_t MSTR4:3; /* eDMA_A */
3556                uint32_t:1;
3557                uint32_t MSTR3:3; /* !!! Unsupported in Mamba !!! - Legacy FEC */
3558                uint32_t:1;
3559                uint32_t MSTR2:3; /* !!! Unsupported in Mamba !!! - Legacy EBI */
3560                uint32_t:1;
3561                uint32_t MSTR1:3; /* e200z7 core-Data, and Nexus 3 - Legacy was eDMA_A */
3562                uint32_t:1;
3563                uint32_t MSTR0:3; /* e200z7 core-CPU Instruction - Legacy was z6 core-Instruction/Data & Nexus */
3564            } B;
3565        } MPR1;
3566
3567        uint32_t XBAR_reserved0104[3];  /* 0x0104-0x010F */
3568
3569        union {               /* General Purpose Control Register for Slave Port 1 */
3570            uint32_t R;
3571            struct {
3572                uint32_t RO:1;
3573                uint32_t:21;
3574                uint32_t ARB:2;
3575                uint32_t:2;
3576                uint32_t PCTL:2;
3577                uint32_t:1;
3578                uint32_t PARK:3;
3579            } B;
3580        } SGPCR1;
3581
3582        uint32_t XBAR_reserved0114[59];  /* 0x0114-0x01FF */
3583
3584        union {                 /* Master Priority Register for Slave Port 2 */
3585            uint32_t R;
3586            struct {
3587                uint32_t:1;
3588                uint32_t MSTR7:3; /* EBI (development bus) */
3589                uint32_t:1;
3590                uint32_t MSTR6:3; /* FlexRay */
3591                uint32_t:1;
3592                uint32_t MSTR5:3; /* eDMA_B */
3593                uint32_t:1;
3594                uint32_t MSTR4:3; /* eDMA_A */
3595                uint32_t:1;
3596                uint32_t MSTR3:3; /* !!! Unsupported in Mamba !!! - Legacy FEC */
3597                uint32_t:1;
3598                uint32_t MSTR2:3; /* !!! Unsupported in Mamba !!! - Legacy EBI */
3599                uint32_t:1;
3600                uint32_t MSTR1:3; /* e200z7 core-Data, and Nexus 3 - Legacy was eDMA_A */
3601                uint32_t:1;
3602                uint32_t MSTR0:3; /* e200z7 core-CPU Instruction - Legacy was z6 core-Instruction/Data & Nexus */
3603            } B;
3604        } MPR2;
3605
3606        uint32_t XBAR_reserved0204[3];  /* 0x0204-0x020F */
3607
3608        union {               /* General Purpose Control Register for Slave Port 2 */
3609            uint32_t R;
3610            struct {
3611                uint32_t RO:1;
3612                uint32_t:21;
3613                uint32_t ARB:2;
3614                uint32_t:2;
3615                uint32_t PCTL:2;
3616                uint32_t:1;
3617                uint32_t PARK:3;
3618            } B;
3619        } SGPCR2;
3620
3621        uint32_t XBAR_reserved0214[59];  /* 0x0214-0x02FF */
3622
3623        uint32_t XBAR_reserved0300[64];  /* 0x0300-0x03FF */
3624
3625        uint32_t XBAR_reserved0400[64];  /* 0x0400-0x04FF */
3626
3627        uint32_t XBAR_reserved0500[64];  /* 0x0500-0x05FF */
3628
3629        union {                 /* Master Priority Register for Slave Port 6 */
3630            uint32_t R;
3631            struct {
3632                uint32_t:1;
3633                uint32_t MSTR7:3; /* EBI (development bus) */
3634                uint32_t:1;
3635                uint32_t MSTR6:3; /* FlexRay */
3636                uint32_t:1;
3637                uint32_t MSTR5:3; /* eDMA_B */
3638                uint32_t:1;
3639                uint32_t MSTR4:3; /* eDMA_A */
3640                uint32_t:1;
3641                uint32_t MSTR3:3; /* !!! Unsupported in Mamba !!! - Legacy FEC */
3642                uint32_t:1;
3643                uint32_t MSTR2:3; /* !!! Unsupported in Mamba !!! - Legacy EBI */
3644                uint32_t:1;
3645                uint32_t MSTR1:3; /* e200z7 core-Data, and Nexus 3 - Legacy was eDMA_A */
3646                uint32_t:1;
3647                uint32_t MSTR0:3; /* e200z7 core-CPU Instruction - Legacy was z6 core-Instruction/Data & Nexus */
3648            } B;
3649        } MPR6;
3650
3651        uint32_t XBAR_reserved604[3];  /* 0x0604-0x060F */
3652
3653        union {               /* General Purpose Control Register for Slave Port 6 */
3654            uint32_t R;
3655            struct {
3656                uint32_t RO:1;
3657                uint32_t:21;
3658                uint32_t ARB:2;
3659                uint32_t:2;
3660                uint32_t PCTL:2;
3661                uint32_t:1;
3662                uint32_t PARK:3;
3663            } B;
3664        } SGPCR6;
3665
3666        uint32_t XBAR_reserved0614[59];  /* 0x0614-0x06FF */
3667
3668        union {                 /* Master Priority Register for Slave Port 7 */
3669            uint32_t R;
3670            struct {
3671                uint32_t:1;
3672                uint32_t MSTR7:3; /* EBI (development bus) */
3673                uint32_t:1;
3674                uint32_t MSTR6:3; /* FlexRay */
3675                uint32_t:1;
3676                uint32_t MSTR5:3; /* eDMA_B */
3677                uint32_t:1;
3678                uint32_t MSTR4:3; /* eDMA_A */
3679                uint32_t:1;
3680                uint32_t MSTR3:3; /* !!! Unsupported in Mamba !!! - Legacy FEC */
3681                uint32_t:1;
3682                uint32_t MSTR2:3; /* !!! Unsupported in Mamba !!! - Legacy EBI */
3683                uint32_t:1;
3684                uint32_t MSTR1:3; /* e200z7 core-Data, and Nexus 3 - Legacy was eDMA_A */
3685                uint32_t:1;
3686                uint32_t MSTR0:3; /* e200z7 core-CPU Instruction - Legacy was z6 core-Instruction/Data & Nexus */
3687            } B;
3688        } MPR7;
3689
3690        uint32_t XBAR_reserved704[3];  /* 0x0704-0x070F */
3691
3692        union {
3693            uint32_t R;
3694            struct {
3695                uint32_t RO:1;
3696                  uint32_t:21;
3697                uint32_t ARB:2;
3698                  uint32_t:2;
3699                uint32_t PCTL:2;
3700                  uint32_t:1;
3701                uint32_t PARK:3;
3702            } B;
3703        } SGPCR7;               /* General Purpose Control Register for Slave Port 7 */
3704
3705        uint32_t XBAR_reserved0714[59];  /* 0x0714-0x07FF */
3706
3707        uint32_t XBAR_reserved0800[3584];  /* 0x0800-0x3FFF */
3708    };
3709
3710/****************************************************************************/
3711/*                          MODULE : MPU                                    */
3712/****************************************************************************/
3713
3714    struct MPU_tag {
3715
3716        union {                 /* Module Control/Error Status Register */
3717            uint32_t R;
3718            struct {
3719                uint32_t SPERR:8;
3720                  uint32_t:4;
3721                uint32_t HRL:4;
3722                uint32_t NSP:4;
3723                uint32_t NRGD:4;
3724                  uint32_t:7;
3725                uint32_t VLD:1;
3726            } B;
3727        } CESR;
3728
3729        uint32_t MPU_reserved0004[3]; /* 0x0004-0x000F */
3730
3731        struct {
3732            union {             /* MPU Error Address Registers */
3733                uint32_t R;
3734                struct {
3735                    uint32_t EADDR:32;
3736                } B;
3737            } EAR;
3738
3739            union {             /* MPU Error Detail Registers */
3740                uint32_t R;
3741                struct {
3742                    uint32_t EACD:16;
3743                    uint32_t EPID:8;
3744                    uint32_t EMN:4;
3745                    uint32_t EATTR:3;
3746                    uint32_t ERW:1;
3747                } B;
3748            } EDR;
3749        } PORT[3];
3750
3751        uint32_t MPU_reserved0028[246];  /* 0x0028-0x03FF */
3752
3753        struct {
3754            union {            /* Region Descriptor n Word 0 */
3755                uint32_t R;
3756                struct {
3757                    uint32_t SRTADDR:27;
3758                    uint32_t:5;
3759                } B;
3760            } WORD0;
3761
3762            union {            /* Region Descriptor n Word 1 */
3763                uint32_t R;
3764                struct {
3765                    uint32_t ENDADDR:27;
3766                    uint32_t:5;
3767                } B;
3768            } WORD1;
3769
3770            union {            /* Region Descriptor n Word 2 */
3771                uint32_t R;
3772                struct {
3773                    uint32_t M7RE:1;
3774                    uint32_t M7WE:1;
3775                    uint32_t M6RE:1;
3776                    uint32_t M6WE:1;
3777                    uint32_t M5RE:1;
3778                    uint32_t M5WE:1;
3779                    uint32_t M4RE:1;
3780                    uint32_t M4WE:1;
3781                    uint32_t: 18;
3782                    uint32_t M0PE:1;
3783                    uint32_t M0SM:2;
3784                    uint32_t M0UM:3;
3785                } B;
3786            } WORD2;
3787
3788            union {            /* Region Descriptor n Word 3 */
3789                uint32_t R;
3790                struct {
3791                    uint32_t PID:8;
3792                    uint32_t PIDMASK:8;
3793                      uint32_t:15;
3794                    uint32_t VLD:1;
3795                } B;
3796            } WORD3;
3797        } RGD[16];
3798
3799        uint32_t MPU_reserved0500[192];  /* 0x0500-0x07FF */
3800
3801        union {           /* Region Descriptor Alternate Access Control n */
3802            uint32_t R;
3803            struct {
3804                uint32_t:6;
3805                uint32_t M4RE:1;
3806                uint32_t M4WE:1;
3807                uint32_t M3PE:1;
3808                uint32_t M3SM:2;
3809                uint32_t M3UM:3;
3810                uint32_t M2PE:1;
3811                uint32_t M2SM:2;
3812                uint32_t M2UM:3;
3813                uint32_t M1PE:1;
3814                uint32_t M1SM:2;
3815                uint32_t M1UM:3;
3816                uint32_t M0PE:1;
3817                uint32_t M0SM:2;
3818                uint32_t M0UM:3;
3819            } B;
3820        } RGDAAC[16];
3821
3822        uint32_t MPU_reserved0840[3568];  /* 0x0840-0x3FFF */
3823
3824    };
3825
3826/****************************************************************************/
3827/*                     MODULE : SWT                                         */
3828/****************************************************************************/
3829
3830    struct SWT_tag {
3831
3832        union {                  /* Module Configuration Register */
3833            uint32_t R;
3834            struct {
3835                uint32_t MAP0:1;
3836                uint32_t MAP1:1;
3837                uint32_t:1;
3838                uint32_t:1;
3839                uint32_t MAP4:1;
3840                uint32_t MAP5:1;
3841                uint32_t MAP6:1;
3842                uint32_t MAP7:1;
3843                uint32_t:14;
3844                uint32_t KEY:1;
3845                uint32_t RIA:1;
3846                uint32_t WND:1;
3847                uint32_t ITR:1;
3848                uint32_t HLK:1;
3849                uint32_t SLK:1;
3850                uint32_t CSL:1;
3851                uint32_t STP:1;
3852                uint32_t FRZ:1;
3853                uint32_t WEN:1;
3854            } B;
3855        } MCR;
3856
3857        union {                /* Interrupt register */
3858            uint32_t R;
3859            struct {
3860                uint32_t :31;
3861                uint32_t TIF:1;
3862            } B;
3863        } IR;
3864
3865        union {                /* Timeout register */
3866            uint32_t R;
3867            struct {
3868                uint32_t WTO:32;
3869            } B;
3870        } TO;
3871
3872        union {                /* Window register */
3873            uint32_t R;
3874            struct {
3875                uint32_t WST:32;
3876            } B;
3877        } WN;
3878
3879        union {                /* Service register */
3880            uint32_t R;
3881            struct {
3882                uint32_t :16;
3883                uint32_t WSC:16;
3884            } B;
3885        } SR;
3886
3887        union {                /* Counter output register */
3888            uint32_t R;
3889            struct {
3890                uint32_t CNT:32;
3891            } B;
3892        } CO;
3893
3894        union {                /* Service key register */
3895            uint32_t R;
3896            struct {
3897                uint32_t :16;
3898                uint32_t SK:16;
3899            } B;
3900        } SK;
3901
3902        uint32_t SWT_reserved001C[4089]; /* 0x001C-0x3FFF */
3903
3904    };
3905
3906/****************************************************************************/
3907/*                     MODULE : STM                                         */
3908/****************************************************************************/
3909
3910    struct STM_tag {
3911
3912        union {                  /* Control Register */
3913            uint32_t R;
3914            struct {
3915                uint32_t :16;
3916                uint32_t CPS:8;
3917                uint32_t :6;
3918                uint32_t FRZ:1;
3919                uint32_t TEN:1;
3920            } B;
3921        } CR;
3922
3923        union {                /* STM Counter */
3924            uint32_t R;
3925        } CNT;
3926
3927        uint32_t STM_reserved0008[2];  /* 0x0008-0x000F */
3928
3929 /* channel 0 registers */
3930                union {
3931            uint32_t R;
3932            struct {
3933                uint32_t :31;
3934                uint32_t CEN:1;
3935            } B;
3936        } CCR0;                /* Chan 0 Control Register */
3937
3938        union {
3939            uint32_t R;
3940            struct {
3941                uint32_t :31;
3942                uint32_t CIF:1;
3943                } B;
3944        } CIR0;                /* Chan 0 Interrupt Register */
3945
3946                union {
3947            uint32_t R;
3948        } CMP0;                /* Chan 0 Compare Register */
3949
3950                uint32_t STM_reserved2[1];
3951
3952/* channel 1 registers */
3953                union {
3954            uint32_t R;
3955            struct {
3956                uint32_t :31;
3957                uint32_t CEN:1;
3958            } B;
3959        } CCR1;                /* Chan 1 Control Register */
3960
3961        union {
3962            uint32_t R;
3963            struct {
3964                uint32_t :31;
3965                uint32_t CIF:1;
3966                } B;
3967        } CIR1;                /* Chan 1 Interrupt Register */
3968
3969                union {
3970            uint32_t R;
3971        } CMP1;                /* Chan 1 Compare Register */
3972
3973                uint32_t STM_reserved3[1];
3974
3975/* channel 2 registers */
3976                union {
3977            uint32_t R;
3978            struct {
3979                uint32_t :31;
3980                uint32_t CEN:1;
3981            } B;
3982        } CCR2;                /* Chan 2 Control Register */
3983
3984        union {
3985            uint32_t R;
3986            struct {
3987                uint32_t :31;
3988                uint32_t CIF:1;
3989                } B;
3990        } CIR2;                /* Chan 2 Interrupt Register */
3991
3992                union {
3993            uint32_t R;
3994        } CMP2;                /* Chan 2 Compare Register */
3995
3996                uint32_t STM_reserved4[1];
3997
3998/* channel 3 registers */
3999                union {
4000            uint32_t R;
4001            struct {
4002                uint32_t :31;
4003                uint32_t CEN:1;
4004            } B;
4005        } CCR3;                /* Chan 3 Control Register */
4006
4007        union {
4008            uint32_t R;
4009            struct {
4010                uint32_t :31;
4011                uint32_t CIF:1;
4012                } B;
4013        } CIR3;                /* Chan 3 Interrupt Register */
4014
4015                union {
4016            uint32_t R;
4017        } CMP3;                /* Chan 3 Compare Register */
4018
4019        uint32_t STM_reserved0050[4076];  /* 0x0050-0x3FFF */
4020
4021    };
4022
4023/****************************************************************************/
4024/*                     MODULE : ECSM                                        */
4025/****************************************************************************/
4026
4027    struct ECSM_tag {
4028
4029        union {                /* Processor core type */
4030            uint16_t R;
4031        } PCT;
4032
4033        union {                /* Platform revision */
4034            uint16_t R;
4035        } REV;
4036
4037        uint32_t ECSM_reserved0004;  /* 0x0004-0x0007 */
4038
4039        union {                 /* IPS Module Configuration */
4040            uint32_t R;
4041        } IMC;
4042
4043        uint8_t ECSM_reserved000C[3];  /* 0x000C-0x000E */
4044
4045        union {                 /* Miscellaneous Reset Status Register */
4046            uint8_t R;
4047            struct {
4048                uint8_t POR:1;
4049                uint8_t DIR:1;
4050                uint8_t SWTR:1;
4051                uint8_t:5;
4052            } B;
4053        } MRSR;
4054
4055        uint8_t ECSM_reserved0010[51]; /* 0x0010-0x0042 */
4056
4057        union {                  /* ECC Configuration Register */
4058            uint8_t R;
4059            struct {
4060                uint8_t:2;
4061                uint8_t ER1BR:1;
4062                uint8_t EF1BR:1;
4063                uint8_t:2;
4064                uint8_t ERNCR:1;
4065                uint8_t EFNCR:1;
4066            } B;
4067        } ECR;
4068
4069        uint8_t ECSM_reserved0044[3];  /* 0x0044-0x0046 */
4070
4071        union {                  /* ECC Status Register */
4072            uint8_t R;
4073            struct {
4074                uint8_t:2;
4075                uint8_t R1BC:1;
4076                uint8_t F1BC:1;
4077                uint8_t:2;
4078                uint8_t RNCE:1;
4079                uint8_t FNCE:1;
4080            } B;
4081        } ESR;
4082
4083    uint16_t ECSM_reserved0048; /* 0x0048-0x0049 */
4084
4085        union {                 /* ECC Error Generation Register */
4086            uint16_t R;
4087            struct {
4088                uint16_t:2;
4089                uint16_t FRC1BI:1;
4090                uint16_t FR11BI:1;
4091                uint16_t:2;
4092                uint16_t FRCNCI:1;
4093                uint16_t FR1NCI:1;
4094                uint16_t:1;
4095                uint16_t ERRBIT:7;
4096            } B;
4097        } EEGR;
4098
4099        uint32_t ECSM_reserved004C; /* 0x004C-0x004F */
4100
4101        union {                 /* Flash ECC Address Register */
4102            uint32_t R;
4103            struct {
4104                uint32_t FEAR:32;
4105            } B;
4106        } FEAR;
4107
4108        uint16_t ECSM_reserved0054; /* 0x0054-0x0055 */
4109
4110        union {                 /* Flash ECC Master Number Register */
4111            uint8_t R;
4112            struct {
4113                uint8_t:4;
4114                uint8_t FEMR:4;
4115            } B;
4116        } FEMR;
4117
4118        union {                 /* Flash ECC Attributes Register */
4119            uint8_t R;
4120            struct {
4121                uint8_t WRITE:1;
4122                uint8_t SIZE:3;
4123                uint8_t PROT0:1;
4124                uint8_t PROT1:1;
4125                uint8_t PROT2:1;
4126                uint8_t PROT3:1;
4127            } B;
4128        } FEAT;
4129
4130        union {                /* Flash ECC Data Register High */
4131            uint32_t R;
4132            struct {
4133                uint32_t FEDH:32;
4134            } B;
4135        } FEDRH;
4136
4137        union {                /* Flash ECC Data Register Low */
4138            uint32_t R;
4139            struct {
4140                uint32_t FEDL:32;
4141            } B;
4142        } FEDRL;
4143
4144        union {                /* RAM ECC Address Register */
4145            uint32_t R;
4146            struct {
4147                uint32_t REAR:32;
4148            } B;
4149        } REAR;
4150
4151        uint16_t ECSM_reserved0064; /* 0x0064-0x0065 */
4152
4153        union {                 /* RAM ECC Master Number Register */
4154            uint8_t R;
4155            struct {
4156                uint8_t:4;
4157                uint8_t REMR:4;
4158            } B;
4159        } REMR;
4160
4161        union {                 /* RAM ECC Attributes Register */
4162            uint8_t R;
4163            struct {
4164                uint8_t WRITE:1;
4165                uint8_t SIZE:3;
4166                uint8_t PROT0:1;
4167                uint8_t PROT1:1;
4168                uint8_t PROT2:1;
4169                uint8_t PROT3:1;
4170            } B;
4171        } REAT;
4172
4173        union {                /* RAM ECC Data Register */
4174            uint32_t R;
4175            struct {
4176                uint32_t REDH:32;
4177            } B;
4178        } REDRH;
4179
4180        union {                /* RAM ECC Data Register */
4181            uint32_t R;
4182            struct {
4183                uint32_t REDL:32;
4184            } B;
4185        } REDRL;
4186
4187        uint32_t ECSM_reserved0070[4068]; /* 0x0070-0x3FFF */
4188
4189    };
4190
4191/****************************************************************************/
4192/*                          MODULE : INTC                                   */
4193/****************************************************************************/
4194
4195    struct INTC_tag {
4196
4197        union {                  /* Module Configuration Register */
4198            uint32_t R;
4199            struct {
4200                uint32_t:26;
4201                uint32_t VTES:1;
4202                uint32_t:4;
4203                uint32_t HVEN:1;
4204            } B;
4205        } MCR;
4206
4207        uint32_t INTC_reserved0004;  /* 0x0004-0x0007 */
4208
4209        union {                  /* Current Priority Register */
4210            uint32_t R;
4211            struct {
4212                uint32_t:28;
4213                uint32_t PRI:4;
4214            } B;
4215        } CPR;
4216
4217        uint32_t INTC_reserved000C;  /* 0x000C-0x000F */
4218
4219        union {                /* Interrupt Acknowledge Register */
4220            uint32_t R;
4221            struct {
4222                uint32_t VTBA:21;
4223                uint32_t INTVEC:9;
4224                  uint32_t:2;
4225            } B;
4226        } IACKR;
4227
4228        uint32_t INTC_reserved0014;  /* 0x0014-0x0017 */
4229
4230        union {                 /* End of Interrupt Register */
4231            uint32_t R;
4232            struct {
4233                uint32_t EOIR:32;
4234            } B;
4235        } EOIR;
4236
4237        uint32_t INTC_reserved001C;  /* 0x001C-0x001F */
4238
4239        union {             /* Software Set/Clear Interruput Register */
4240            uint8_t R;
4241            struct {
4242                uint8_t:6;
4243                uint8_t SET:1;
4244                uint8_t CLR:1;
4245            } B;
4246        } SSCIR[8];
4247
4248        uint32_t INTC_reserved0028[6]; /* 0x0028-0x003F */
4249
4250        union {             /* Software Set/Clear Interrupt Register */
4251            uint8_t R;
4252            struct {
4253                uint8_t:4;
4254                uint8_t PRI:4;
4255            } B;
4256        } PSR[474];
4257
4258        uint16_t INTC_reserved021A[7923]; /* 0x021A-0x3FFF */
4259
4260    };
4261
4262/****************************************************************************/
4263/*                          MODULE : EQADC                                  */
4264/****************************************************************************/
4265
4266    struct EQADC_tag {
4267
4268        union {                  /* Module Configuration Register */
4269            uint32_t R;
4270            struct {
4271                uint32_t:24;
4272                uint32_t ICEA0:1;
4273                uint32_t ICEA1:1;
4274                uint32_t:1;
4275                uint32_t ESSIE:2;
4276                uint32_t:1;
4277                uint32_t DBG:2;
4278            } B;
4279        } MCR;
4280
4281        uint32_t eQADC_reserved0004;  /* 0x0004-0x0007 */
4282
4283        union {                /* Null Message Send Format Register */
4284            uint32_t R;
4285            struct {
4286                uint32_t:6;
4287                uint32_t NMF:26;
4288            } B;
4289        } NMSFR;
4290
4291        union {                /* External Trigger Digital Filter Register */
4292            uint32_t R;
4293            struct {
4294                uint32_t:28;
4295                uint32_t DFL:4;
4296            } B;
4297        } ETDFR;
4298
4299        union {              /* CFIFO Push Registers */
4300            uint32_t R;
4301            struct {
4302                uint32_t CFPUSH:32;
4303            } B;
4304        } CFPR[6];
4305
4306        uint32_t eQADC_reserved0028[2];  /* 0x0028-0x002F */
4307
4308        union {              /* Result FIFO Pop Registers */
4309            uint32_t R;
4310            struct {
4311                uint32_t:16;
4312                uint32_t RFPOP:16;
4313            } B;
4314        } RFPR[6];
4315
4316        uint32_t eQADC_reserved0048[2];  /* 0x0048-0x004F */
4317
4318        union {              /* CFIFO Control Registers */
4319            uint16_t R;
4320            struct {
4321                uint16_t:5;
4322                uint16_t SSE:1;
4323                uint16_t CFINV:1;
4324                uint16_t:1;
4325                uint16_t MODE:4;
4326                uint16_t:4;
4327            } B;
4328        } CFCR[6];
4329
4330        uint32_t eQADC_reserved005C;  /* 0x005C-0x005F */
4331
4332        union {              /* Interrupt and DMA Control Registers */
4333            uint16_t R;
4334            struct {
4335                uint16_t NCIE:1;
4336                uint16_t TORIE:1;
4337                uint16_t PIE:1;
4338                uint16_t EOQIE:1;
4339                uint16_t CFUIE:1;
4340                uint16_t:1;
4341                uint16_t CFFE:1;
4342                uint16_t CFFS:1;
4343                uint16_t:4;
4344                uint16_t RFOIE:1;
4345                uint16_t:1;
4346                uint16_t RFDE:1;
4347                uint16_t RFDS:1;
4348            } B;
4349        } IDCR[6];
4350
4351        uint32_t eQADC_reserved006C;  /* 0x006C-0x006F */
4352
4353        union {              /* FIFO and Interrupt Status Registers */
4354            uint32_t R;
4355            struct {
4356                uint32_t NCF:1;
4357                uint32_t TORF:1;
4358                uint32_t PF:1;
4359                uint32_t EOQF:1;
4360                uint32_t CFUF:1;
4361                uint32_t SSS:1;
4362                uint32_t CFFF:1;
4363                uint32_t:5;
4364                uint32_t RFOF:1;
4365                uint32_t:1;
4366                uint32_t RFDF:1;
4367                uint32_t:1;
4368                uint32_t CFCTR:4;
4369                uint32_t TNXTPTR:4;
4370                uint32_t RFCTR:4;
4371                uint32_t POPNXTPTR:4;
4372            } B;
4373        } FISR[6];
4374
4375        uint32_t eQADC_reserved0088[2];  /* 0x0088-0x008F */
4376
4377        union {             /* CFIFO Transfer Counter Registers */
4378            uint16_t R;
4379            struct {
4380                uint16_t:5;
4381                uint16_t TCCF:11; /* Legacy naming - refer to TC_CF in Reference Manual */
4382            } B;
4383        } CFTCR[6];
4384
4385        uint32_t eQADC_reserved009C[1];  /* 0x009F */
4386
4387        union {               /* CFIFO Status Register 0 */
4388            uint32_t R;
4389            struct {
4390                uint32_t CFS0:2; /* Legacy naming - refer to CFS0_TCB0 in Reference Manual */
4391                uint32_t CFS1:2; /* Legacy naming - refer to CFS1_TCB0 in Reference Manual */
4392                uint32_t CFS2:2; /* Legacy naming - refer to CFS2_TCB0 in Reference Manual */
4393                uint32_t CFS3:2; /* Legacy naming - refer to CFS3_TCB0 in Reference Manual */
4394                uint32_t CFS4:2; /* Legacy naming - refer to CFS4_TCB0 in Reference Manual */
4395                uint32_t CFS5:2; /* Legacy naming - refer to CFS5_TCB0 in Reference Manual */
4396                uint32_t:5;
4397                uint32_t LCFTCB0:4;
4398                uint32_t TC_LCFTCB0:11;
4399            } B;
4400        } CFSSR0;
4401
4402        union {               /* CFIFO Status Register 1 */
4403            uint32_t R;
4404            struct {
4405                uint32_t CFS0:2; /* Legacy naming - refer to CFS0_TCB1 in Reference Manual */
4406                uint32_t CFS1:2; /* Legacy naming - refer to CFS1_TCB1 in Reference Manual */
4407                uint32_t CFS2:2; /* Legacy naming - refer to CFS2_TCB1 in Reference Manual */
4408                uint32_t CFS3:2; /* Legacy naming - refer to CFS3_TCB1 in Reference Manual */
4409                uint32_t CFS4:2; /* Legacy naming - refer to CFS4_TCB1 in Reference Manual */
4410                uint32_t CFS5:2; /* Legacy naming - refer to CFS5_TCB1 in Reference Manual */
4411                uint32_t:5;
4412                uint32_t LCFTCB1:4;
4413                uint32_t TC_LCFTCB1:11;
4414            } B;
4415        } CFSSR1;
4416
4417        union {               /* CFIFO Status Register 2 */
4418            uint32_t R;
4419            struct {
4420                uint32_t CFS0:2; /* Legacy naming - refer to CFS0_TSSI in Reference Manual */
4421                uint32_t CFS1:2; /* Legacy naming - refer to CFS1_TSSI in Reference Manual */
4422                uint32_t CFS2:2; /* Legacy naming - refer to CFS2_TSSI in Reference Manual */
4423                uint32_t CFS3:2; /* Legacy naming - refer to CFS3_TSSI in Reference Manual */
4424                uint32_t CFS4:2; /* Legacy naming - refer to CFS4_TSSI in Reference Manual */
4425                uint32_t CFS5:2; /* Legacy naming - refer to CFS5_TSSI in Reference Manual */
4426                uint32_t:4;
4427                uint32_t ECBNI:1;
4428                uint32_t LCFTSSI:4;
4429                uint32_t TC_LCFTSSI:11;
4430            } B;
4431        } CFSSR2;
4432
4433        union {                 /* CFIFO Status Register */
4434            uint32_t R;
4435            struct {
4436                uint32_t CFS0:2;
4437                uint32_t CFS1:2;
4438                uint32_t CFS2:2;
4439                uint32_t CFS3:2;
4440                uint32_t CFS4:2;
4441                uint32_t CFS5:2;
4442                  uint32_t:20;
4443            } B;
4444        } CFSR;
4445
4446        uint32_t eQADC_reserved00B0;  /* 0x00B0-0x00B3 */
4447
4448        union {                /* SSI Control Register */
4449            uint32_t R;
4450            struct {
4451                uint32_t:21;
4452                uint32_t MDT:3;
4453                uint32_t:4;
4454                uint32_t BR:4;
4455            } B;
4456        } SSICR;
4457
4458        union {               /* SSI Recieve Data Register */
4459            uint32_t R;
4460            struct {
4461                uint32_t RDV:1;
4462                uint32_t:5;
4463                uint32_t RDATA:26;
4464            } B;
4465        } SSIRDR;
4466
4467        uint32_t eQADC_reserved00BC[17];  /* 0x00BC-0x00FF */
4468
4469        struct {
4470            union {
4471                uint32_t R;
4472                struct {
4473                    uint32_t CFIFO_DATA:32;
4474                } B;
4475            } R[4];
4476
4477            uint32_t eQADC_cf_reserved010[12];  /* CFIFO offset 0x010-0x03F */
4478
4479        } CF[6];
4480
4481        uint32_t eQADC_reserved0280[32];  /* 0x0280-0x02FF */
4482
4483        struct {
4484            union {
4485                uint32_t R;
4486                struct {
4487                    uint32_t RFIFO_DATA:32;
4488                } B;
4489            } R[4];
4490
4491            uint32_t eQADC_rf_reserved010[12];  /* RFIFO offset 0x010-0x03F */
4492
4493        } RF[6];
4494
4495        uint32_t eQADC_reserved0480[3808];  /* 0x0480-0x3FFF */
4496    };
4497
4498/****************************************************************************/
4499/*                          MODULE : Decimation Filter                      */
4500/****************************************************************************/
4501
4502    struct DECFIL_tag {
4503
4504        union {                  /* Module Configuration Register */
4505            uint32_t R;
4506            struct {
4507                uint32_t MDIS:1;
4508                uint32_t FREN:1;
4509                uint32_t :1;
4510                uint32_t FRZ:1;
4511                uint32_t SRES:1;
4512                uint32_t CASCD:2;
4513                uint32_t IDEN:1;
4514                uint32_t ODEN:1;
4515                uint32_t ERREN:1;
4516                uint32_t :1;
4517                uint32_t FTYPE:2;
4518                uint32_t :1;
4519                uint32_t SCAL:2;
4520                uint32_t :1;
4521                uint32_t SAT:1;
4522                uint32_t ISEL:1;
4523                uint32_t :1;
4524                uint32_t DEC_RATE:4;
4525                uint32_t :1;
4526                uint32_t DSEL:1;
4527                uint32_t IBIE:1;
4528                uint32_t OBIE:1;
4529                uint32_t EDME:1;
4530                uint32_t TORE:1;
4531                uint32_t TRFE:1;
4532                uint32_t :1;
4533            } B;
4534        } MCR;
4535
4536        union {                  /* Module Status Register */
4537            uint32_t R;
4538            struct {
4539                uint32_t BSY:1;
4540                uint32_t:1;
4541                uint32_t DEC_COUNTER:4;
4542                uint32_t IDFC:1;
4543                uint32_t ODFC:1;
4544                uint32_t:1;
4545                uint32_t IBIC:1;
4546                uint32_t OBIC:1;
4547                uint32_t:1;
4548                uint32_t DIVRC:1;
4549                uint32_t OVFC:1;
4550                uint32_t OVRC:1;
4551                uint32_t IVRC:1;
4552                uint32_t:6;
4553                uint32_t IDF:1;
4554                uint32_t ODF:1;
4555                uint32_t:1;
4556                uint32_t IBIF:1;
4557                uint32_t OBIF:1;
4558                uint32_t:1;
4559                uint32_t DIVR:1;
4560                uint32_t OVF:1;
4561                uint32_t OVR:1;
4562                uint32_t IVR:1;
4563            } B;
4564                } SR;
4565
4566        union {                  /* Module Extended Config Register */
4567            uint32_t R;
4568            struct {
4569                uint32_t SDMAE:1;
4570                uint32_t SSIG:1;
4571                uint32_t SSAT:1;
4572                uint32_t SCSAT:1;
4573                uint32_t:10;
4574                uint32_t SRQ:1;
4575                uint32_t SZR0:1;
4576                uint32_t:1;
4577                uint32_t SISEL:1;
4578                uint32_t SZROSEL:2;
4579                uint32_t:2;
4580                                uint32_t SHLTSEL:2;
4581                uint32_t:1;
4582                uint32_t SRQSEL:3;
4583                uint32_t:2;
4584                                uint32_t SENSEL:2;
4585            } B;
4586        } MXCR;
4587
4588        union {                  /* Module Extended Status Register */
4589            uint32_t R;
4590            struct {
4591                uint32_t:7;
4592                uint32_t SDFC:1;
4593                uint32_t:2;
4594                uint32_t SSEC:1;
4595                uint32_t SCEC:1;
4596                uint32_t:1;
4597                uint32_t SSOVFC:1;
4598                uint32_t SCOVFC:1;
4599                uint32_t SVRC:1;
4600                uint32_t:7;
4601                uint32_t SDF:1;
4602                uint32_t:2;
4603                uint32_t SSE:1;
4604                uint32_t SCE:1;
4605                uint32_t:1;
4606                uint32_t SSOVF:1;
4607                uint32_t SCOVF:1;
4608                uint32_t SVR:1;
4609              } B;
4610        } MXSR;
4611
4612        union {                  /* Interface Input Buffer Register */
4613            uint32_t R;
4614            struct {
4615                uint32_t:14;
4616                uint32_t PREFILL:1;
4617                uint32_t FLUSH:1;
4618                uint32_t INPBUF:16;
4619            } B;
4620        } IB;
4621
4622        union {                  /* Interface Output Buffer Register */
4623            uint32_t R;
4624            struct {
4625                uint32_t:9;
4626                uint32_t TSI:1;
4627                uint32_t:2;
4628                uint32_t OUTTAG:4;
4629                uint32_t OUTBUF:16;
4630            } B;
4631        } OB;
4632
4633        uint32_t DFILT_reserved0018[2];  /* 0x0018-0x001F */
4634
4635        union {                  /* Coefficient n Register */
4636            int32_t R;
4637            struct {
4638                int32_t:8;
4639                int32_t COEF:24;
4640            } B;
4641        } COEF[9];
4642
4643        uint32_t DFILT_reserved0044[13];  /* 0x0044-0x0077 */
4644
4645        union {                  /* TAP n Register */
4646            int32_t R;
4647            struct {
4648                int32_t:8;
4649                int32_t TAP:24;
4650            } B;
4651        } TAP[8];
4652
4653        uint32_t DFILT_reserved0098[14]; /* 0x0098-0x00CF */
4654
4655        union {                  /* EDID Register */
4656            uint32_t R;
4657            struct {
4658                uint32_t:16;
4659                uint32_t SAMP_DATA:16;
4660            } B;
4661        } EDID;
4662
4663        uint32_t DFILT_reserved00D4[459]; /* 0x00D4-0x07FF */
4664
4665    };
4666
4667/****************************************************************************/
4668/*                          MODULE : DSPI                                   */
4669/****************************************************************************/
4670
4671    struct DSPI_tag {
4672
4673        union DSPI_MCR_tag {     /* Module Configuration Register */
4674            uint32_t R;
4675            struct {
4676                uint32_t MSTR:1;
4677                uint32_t CONT_SCKE:1;
4678                uint32_t DCONF:2;
4679                uint32_t FRZ:1;
4680                uint32_t MTFE:1;
4681                uint32_t PCSSE:1;
4682                uint32_t ROOE:1;
4683                uint32_t PCSIS7:1;
4684                uint32_t PCSIS6:1;
4685                uint32_t PCSIS5:1;
4686                uint32_t PCSIS4:1;
4687                uint32_t PCSIS3:1;
4688                uint32_t PCSIS2:1;
4689                uint32_t PCSIS1:1;
4690                uint32_t PCSIS0:1;
4691                uint32_t DOZE:1;
4692                uint32_t MDIS:1;
4693                uint32_t DIS_TXF:1;
4694                uint32_t DIS_RXF:1;
4695                uint32_t CLR_TXF:1;
4696                uint32_t CLR_RXF:1;
4697                uint32_t SMPL_PT:2;
4698                uint32_t:7;
4699                uint32_t HALT:1;
4700            } B;
4701        } MCR;
4702
4703        uint32_t DSPI_reserved0004;  /* 0x0004-0x0007 */
4704
4705        union {              /* Transfer Count Register */
4706            uint32_t R;
4707            struct {
4708                uint32_t TCNT:16;
4709                uint32_t:16;
4710            } B;
4711        } TCR;
4712
4713        union DSPI_CTAR_tag {/* Clock and Transfer Attributes Registers */
4714            uint32_t R;
4715            struct {
4716                uint32_t DBR:1;
4717                uint32_t FMSZ:4;
4718                uint32_t CPOL:1;
4719                uint32_t CPHA:1;
4720                uint32_t LSBFE:1;
4721                uint32_t PCSSCK:2;
4722                uint32_t PASC:2;
4723                uint32_t PDT:2;
4724                uint32_t PBR:2;
4725                uint32_t CSSCK:4;
4726                uint32_t ASC:4;
4727                uint32_t DT:4;
4728                uint32_t BR:4;
4729            } B;
4730        } CTAR[8];
4731
4732        union DSPI_SR_tag {       /* Status Register */
4733            uint32_t R;
4734            struct {
4735                uint32_t TCF:1;
4736                uint32_t TXRXS:1;
4737                uint32_t:1;
4738                uint32_t EOQF:1;
4739                uint32_t TFUF:1;
4740                uint32_t:1;
4741                uint32_t TFFF:1;
4742                uint32_t:5;
4743                uint32_t RFOF:1;
4744                uint32_t:1;
4745                uint32_t RFDF:1;
4746                uint32_t:1;
4747                uint32_t TXCTR:4;
4748                uint32_t TXNXTPTR:4;
4749                uint32_t RXCTR:4;
4750                uint32_t POPNXTPTR:4;
4751            } B;
4752        } SR;
4753
4754        union DSPI_RSER_tag {   /* DMA/Interrupt Request Select and Enable Register */
4755            uint32_t R;
4756            struct {
4757                uint32_t TCFRE:1;
4758                uint32_t:2;
4759                uint32_t EOQFRE:1;
4760                uint32_t TFUFRE:1;
4761                uint32_t:1;
4762                uint32_t TFFFRE:1;
4763                uint32_t TFFFDIRS:1;
4764                uint32_t:4;
4765                uint32_t RFOFRE:1;
4766                uint32_t:1;
4767                uint32_t RFDFRE:1;
4768                uint32_t RFDFDIRS:1;
4769                uint32_t:16;
4770            } B;
4771        } RSER;
4772
4773        union DSPI_PUSHR_tag { /* PUSH TX FIFO Register */
4774            uint32_t R;
4775            struct {
4776                uint32_t CONT:1;
4777                uint32_t CTAS:3;
4778                uint32_t EOQ:1;
4779                uint32_t CTCNT:1;
4780                uint32_t:2;
4781                uint32_t PCS7:1;
4782                uint32_t PCS6:1;
4783                uint32_t PCS5:1;
4784                uint32_t PCS4:1;
4785                uint32_t PCS3:1;
4786                uint32_t PCS2:1;
4787                uint32_t PCS1:1;
4788                uint32_t PCS0:1;
4789                uint32_t TXDATA:16;
4790            } B;
4791        } PUSHR;
4792
4793        union DSPI_POPR_tag {   /* POP RX FIFO Register */
4794            uint32_t R;
4795            struct {
4796                uint32_t:16;
4797                uint32_t RXDATA:16;
4798            } B;
4799        } POPR;
4800
4801        union {              /* Transmit FIFO Registers */
4802            uint32_t R;
4803            struct {
4804                uint32_t TXCMD:16;
4805                uint32_t TXDATA:16;
4806            } B;
4807        } TXFR[4];
4808
4809        uint32_t DSPI_reserved004C[12]; /* 0x004C-0x007B */
4810
4811        union {              /* Transmit FIFO Registers */
4812            uint32_t R;
4813            struct {
4814                uint32_t:16;
4815                uint32_t RXDATA:16;
4816            } B;
4817        } RXFR[4];
4818
4819        uint32_t DSPI_reserved008C[12]; /* 0x008C-0x00BB */
4820
4821        union {                /* DSI Configuration Register */
4822            uint32_t R;
4823            struct {
4824                uint32_t MTOE:1;
4825                uint32_t:1;
4826                uint32_t MTOCNT:6;
4827                uint32_t:3;
4828                uint32_t TSBC:1;
4829                uint32_t TXSS:1;
4830                uint32_t TPOL:1;
4831                uint32_t TRRE:1;
4832                uint32_t CID:1;
4833                uint32_t DCONT:1;
4834                uint32_t DSICTAS:3;
4835                uint32_t:4;
4836                uint32_t DPCS7:1;
4837                uint32_t DPCS6:1;
4838                uint32_t DPCS5:1;
4839                uint32_t DPCS4:1;
4840                uint32_t DPCS3:1;
4841                uint32_t DPCS2:1;
4842                uint32_t DPCS1:1;
4843                uint32_t DPCS0:1;
4844            } B;
4845        } DSICR;
4846
4847        union {                  /* DSI Serialization Data Register */
4848            uint32_t R;
4849            struct {
4850                uint32_t SER_DATA:32;
4851            } B;
4852        } SDR;
4853
4854        union {                 /* DSI Alternate Serialization Data Register */
4855            uint32_t R;
4856            struct {
4857                uint32_t ASER_DATA:32;
4858            } B;
4859        } ASDR;
4860
4861        union {                /* DSI Transmit Comparison Register */
4862            uint32_t R;
4863            struct {
4864                uint32_t COMP_DATA:32;
4865            } B;
4866        } COMPR;
4867
4868        union {                  /* DSI deserialization Data Register */
4869            uint32_t R;
4870            struct {
4871                uint32_t DESER_DATA:32;
4872            } B;
4873        } DDR;
4874
4875        union {
4876            uint32_t R;
4877            struct {
4878                uint32_t:3;
4879                uint32_t TSBCNT:5;
4880                  uint32_t:16;
4881                uint32_t DPCS1_7:1;
4882                uint32_t DPCS1_6:1;
4883                uint32_t DPCS1_5:1;
4884                uint32_t DPCS1_4:1;
4885                uint32_t DPCS1_3:1;
4886                uint32_t DPCS1_2:1;
4887                uint32_t DPCS1_1:1;
4888                uint32_t DPCS1_0:1;
4889            } B;
4890        } DSICR1;
4891        uint32_t DSPI_reserved00D4[4043];  /* 0x00D4-0x3FFF */
4892
4893    };
4894
4895/****************************************************************************/
4896/*                          MODULE : eSCI                                   */
4897/****************************************************************************/
4898
4899    struct ESCI_tag {
4900        union ESCI_CR1_tag {     /* Control Register 1 */
4901            uint32_t R;
4902            struct {
4903                uint32_t:3;
4904                uint32_t SBR:13;
4905                uint32_t LOOPS:1;
4906                uint32_t:1;
4907                uint32_t RSRC:1;
4908                uint32_t M:1;
4909                uint32_t WAKE:1;
4910                uint32_t ILT:1;
4911                uint32_t PE:1;
4912                uint32_t PT:1;
4913                uint32_t TIE:1;
4914                uint32_t TCIE:1;
4915                uint32_t RIE:1;
4916                uint32_t ILIE:1;
4917                uint32_t TE:1;
4918                uint32_t RE:1;
4919                uint32_t RWU:1;
4920                uint32_t SBK:1;
4921            } B;
4922        } CR1;
4923
4924        union ESCI_CR2_tag {     /* Control Register 2 */
4925            uint16_t R;
4926            struct {
4927                uint16_t MDIS:1;
4928                uint16_t FBR:1;
4929                uint16_t BSTP:1;
4930                uint16_t IEBERR:1;
4931                uint16_t RXDMA:1;
4932                uint16_t TXDMA:1;
4933                uint16_t BRK13:1;
4934                uint16_t TXDIR:1;
4935                uint16_t BESM13:1;
4936                uint16_t SBSTP:1;
4937                uint16_t RXPOL:1;
4938                uint16_t PMSK:1;
4939                uint16_t ORIE:1;
4940                uint16_t NFIE:1;
4941                uint16_t FEIE:1;
4942                uint16_t PFIE:1;
4943            } B;
4944        } CR2;
4945
4946        union ESCI_DR_tag {       /* Data Register */
4947            uint16_t R;
4948
4949            struct {
4950                uint16_t RN:1;
4951                uint16_t TN:1;
4952                uint16_t ERR:1;
4953                uint16_t:1;
4954                uint16_t RD_11:4;
4955                uint16_t D:8;
4956            } B;
4957        } DR; /* Legacy naming - refer to SDR in Reference Manual */
4958
4959        union ESCI_SR_tag {       /* Status Register */
4960            uint32_t R;
4961            struct {
4962                uint32_t TDRE:1;
4963                uint32_t TC:1;
4964                uint32_t RDRF:1;
4965                uint32_t IDLE:1;
4966                uint32_t OR:1;
4967                uint32_t NF:1;
4968                uint32_t FE:1;
4969                uint32_t PF:1;
4970                uint32_t:3;
4971                uint32_t BERR:1;
4972                uint32_t:2;
4973                uint32_t TACT:1;
4974                uint32_t RAF:1;
4975                uint32_t RXRDY:1;
4976                uint32_t TXRDY:1;
4977                uint32_t LWAKE:1;
4978                uint32_t STO:1;
4979                uint32_t PBERR:1;
4980                uint32_t CERR:1;
4981                uint32_t CKERR:1;
4982                uint32_t FRC:1;
4983                uint32_t:6;
4984                uint32_t UREQ:1;
4985                uint32_t OVFL:1;
4986            } B;
4987        } SR;
4988
4989        union {                  /* LIN Control Register */
4990            uint32_t R;
4991            struct {
4992                uint32_t LRES:1;
4993                uint32_t WU:1;
4994                uint32_t WUD0:1;
4995                uint32_t WUD1:1;
4996                uint32_t :2;
4997                uint32_t PRTY:1;
4998                uint32_t LIN:1;
4999                uint32_t RXIE:1;
5000                uint32_t TXIE:1;
5001                uint32_t WUIE:1;
5002                uint32_t STIE:1;
5003                uint32_t PBIE:1;
5004                uint32_t CIE:1;
5005                uint32_t CKIE:1;
5006                uint32_t FCIE:1;
5007                uint32_t:6;
5008                uint32_t UQIE:1;
5009                uint32_t OFIE:1;
5010                uint32_t:8;
5011            } B;
5012        } LCR;
5013
5014        union {                  /* LIN Transmit Register */
5015            uint8_t R;
5016        } LTR;
5017
5018        uint8_t eSCI_reserved0011[3];  /* 0x0011-0x0013 */
5019
5020        union {                  /* LIN Recieve Register */
5021            uint8_t R;
5022            struct {
5023                uint8_t D:8;
5024            } B;
5025        } LRR;
5026
5027        uint8_t eSCI_reserved0015[3];  /* 0x0015-0x0017 */
5028
5029        union {                  /* LIN CRC Polynom Register  */
5030            uint16_t R;
5031            struct {
5032                uint16_t P:16;
5033            } B;
5034        } LPR;
5035
5036        union {                  /* Control Register 3 */
5037            uint16_t R;
5038            struct {
5039                uint16_t:3;
5040                uint16_t SYNM:1;
5041                uint16_t EROE:1;
5042                uint16_t ERFE:1;
5043                uint16_t ERPE:1;
5044                uint16_t M2:1;
5045                uint16_t:8;
5046            } B;
5047        } CR3;
5048
5049        uint32_t eSCI_reserved001C; /* 0x001C-0x001F */
5050
5051        uint32_t eSCI_reserved0020[4088];  /* 0x0020-0x3FFF */
5052
5053    };
5054
5055/****************************************************************************/
5056/*                          MODULE : FlexCAN                                */
5057/****************************************************************************/
5058
5059    struct FLEXCAN2_tag {
5060        union {                  /* Module Configuration Register */
5061            uint32_t R;
5062            struct {
5063                uint32_t MDIS:1;
5064                uint32_t FRZ:1;
5065                uint32_t FEN:1;
5066                uint32_t HALT:1;
5067                uint32_t NOTRDY:1;
5068                uint32_t WAK_MSK:1;
5069                uint32_t SOFTRST:1;
5070                uint32_t FRZACK:1;
5071                uint32_t SUPV:1;
5072                uint32_t SLF_WAK:1;
5073                uint32_t WRNEN:1;
5074                uint32_t MDISACK:1;
5075                uint32_t WAK_SRC:1;
5076                uint32_t DOZE:1;
5077                uint32_t SRXDIS:1;
5078                uint32_t BCC:1;
5079                uint32_t:2;
5080                uint32_t LPRIO_EN:1;
5081                uint32_t AEN:1;
5082                uint32_t:2;
5083                uint32_t IDAM:2;
5084                uint32_t:2;
5085                uint32_t MAXMB:6;
5086            } B;
5087        } MCR;
5088
5089        union {                   /* Control Register */
5090            uint32_t R;
5091            struct {
5092                uint32_t PRESDIV:8;
5093                uint32_t RJW:2;
5094                uint32_t PSEG1:3;
5095                uint32_t PSEG2:3;
5096                uint32_t BOFFMSK:1;
5097                uint32_t ERRMSK:1;
5098                uint32_t CLKSRC:1;
5099                uint32_t LPB:1;
5100                uint32_t TWRNMSK:1;
5101                uint32_t RWRNMSK:1;
5102                uint32_t:2;
5103                uint32_t SMP:1;
5104                uint32_t BOFFREC:1;
5105                uint32_t TSYN:1;
5106                uint32_t LBUF:1;
5107                uint32_t LOM:1;
5108                uint32_t PROPSEG:3;
5109            } B;
5110        } CR; /* Legacy naming - refer to CTRL in Reference Manual */
5111
5112        union {                /* Free Running Timer */
5113            uint32_t R;
5114        } TIMER;
5115
5116        int32_t FLEXCAN_reserved000C;  /* 0x000C-0x000F */
5117
5118        union {              /* RX Global Mask */
5119            uint32_t R;
5120            struct {
5121                uint32_t MI31:1;
5122                uint32_t MI30:1;
5123                uint32_t MI29:1;
5124                uint32_t MI28:1;
5125                uint32_t MI27:1;
5126                uint32_t MI26:1;
5127                uint32_t MI25:1;
5128                uint32_t MI24:1;
5129                uint32_t MI23:1;
5130                uint32_t MI22:1;
5131                uint32_t MI21:1;
5132                uint32_t MI20:1;
5133                uint32_t MI19:1;
5134                uint32_t MI18:1;
5135                uint32_t MI17:1;
5136                uint32_t MI16:1;
5137                uint32_t MI15:1;
5138                uint32_t MI14:1;
5139                uint32_t MI13:1;
5140                uint32_t MI12:1;
5141                uint32_t MI11:1;
5142                uint32_t MI10:1;
5143                uint32_t MI9:1;
5144                uint32_t MI8:1;
5145                uint32_t MI7:1;
5146                uint32_t MI6:1;
5147                uint32_t MI5:1;
5148                uint32_t MI4:1;
5149                uint32_t MI3:1;
5150                uint32_t MI2:1;
5151                uint32_t MI1:1;
5152                uint32_t MI0:1;
5153            } B;
5154        } RXGMASK;
5155
5156        union {             /* RX 14 Mask */
5157            uint32_t R;
5158            struct {
5159                uint32_t MI31:1;
5160                uint32_t MI30:1;
5161                uint32_t MI29:1;
5162                uint32_t MI28:1;
5163                uint32_t MI27:1;
5164                uint32_t MI26:1;
5165                uint32_t MI25:1;
5166                uint32_t MI24:1;
5167                uint32_t MI23:1;
5168                uint32_t MI22:1;
5169                uint32_t MI21:1;
5170                uint32_t MI20:1;
5171                uint32_t MI19:1;
5172                uint32_t MI18:1;
5173                uint32_t MI17:1;
5174                uint32_t MI16:1;
5175                uint32_t MI15:1;
5176                uint32_t MI14:1;
5177                uint32_t MI13:1;
5178                uint32_t MI12:1;
5179                uint32_t MI11:1;
5180                uint32_t MI10:1;
5181                uint32_t MI9:1;
5182                uint32_t MI8:1;
5183                uint32_t MI7:1;
5184                uint32_t MI6:1;
5185                uint32_t MI5:1;
5186                uint32_t MI4:1;
5187                uint32_t MI3:1;
5188                uint32_t MI2:1;
5189                uint32_t MI1:1;
5190                uint32_t MI0:1;
5191            } B;
5192        } RX14MASK;
5193
5194        union {             /* RX 15 Mask */
5195            uint32_t R;
5196            struct {
5197                uint32_t MI31:1;
5198                uint32_t MI30:1;
5199                uint32_t MI29:1;
5200                uint32_t MI28:1;
5201                uint32_t MI27:1;
5202                uint32_t MI26:1;
5203                uint32_t MI25:1;
5204                uint32_t MI24:1;
5205                uint32_t MI23:1;
5206                uint32_t MI22:1;
5207                uint32_t MI21:1;
5208                uint32_t MI20:1;
5209                uint32_t MI19:1;
5210                uint32_t MI18:1;
5211                uint32_t MI17:1;
5212                uint32_t MI16:1;
5213                uint32_t MI15:1;
5214                uint32_t MI14:1;
5215                uint32_t MI13:1;
5216                uint32_t MI12:1;
5217                uint32_t MI11:1;
5218                uint32_t MI10:1;
5219                uint32_t MI9:1;
5220                uint32_t MI8:1;
5221                uint32_t MI7:1;
5222                uint32_t MI6:1;
5223                uint32_t MI5:1;
5224                uint32_t MI4:1;
5225                uint32_t MI3:1;
5226                uint32_t MI2:1;
5227                uint32_t MI1:1;
5228                uint32_t MI0:1;
5229            } B;
5230        } RX15MASK;
5231
5232        union {                  /* Error Counter Register */
5233            uint32_t R;
5234            struct {
5235                uint32_t:16;
5236                uint32_t RXECNT:8;
5237                uint32_t TXECNT:8;
5238            } B;
5239        } ECR;
5240
5241        union {                  /* Error and Status Register */
5242            uint32_t R;
5243            struct {
5244                uint32_t:14;
5245
5246                uint32_t TWRNINT:1;
5247                uint32_t RWRNINT:1;
5248                uint32_t BIT1ERR:1;
5249                uint32_t BIT0ERR:1;
5250                uint32_t ACKERR:1;
5251                uint32_t CRCERR:1;
5252                uint32_t FRMERR:1;
5253                uint32_t STFERR:1;
5254                uint32_t TXWRN:1;
5255                uint32_t RXWRN:1;
5256                uint32_t IDLE:1;
5257                uint32_t TXRX:1;
5258                uint32_t FLTCONF:2;
5259                uint32_t:1;
5260                uint32_t BOFFINT:1;
5261                uint32_t ERRINT:1;
5262                uint32_t WAKINT:1;
5263            } B;
5264        } ESR;
5265
5266        union {                 /* Interruput Masks Register */
5267            uint32_t R;
5268            struct {
5269                uint32_t BUF63M:1;
5270                uint32_t BUF62M:1;
5271                uint32_t BUF61M:1;
5272                uint32_t BUF60M:1;
5273                uint32_t BUF59M:1;
5274                uint32_t BUF58M:1;
5275                uint32_t BUF57M:1;
5276                uint32_t BUF56M:1;
5277                uint32_t BUF55M:1;
5278                uint32_t BUF54M:1;
5279                uint32_t BUF53M:1;
5280                uint32_t BUF52M:1;
5281                uint32_t BUF51M:1;
5282                uint32_t BUF50M:1;
5283                uint32_t BUF49M:1;
5284                uint32_t BUF48M:1;
5285                uint32_t BUF47M:1;
5286                uint32_t BUF46M:1;
5287                uint32_t BUF45M:1;
5288                uint32_t BUF44M:1;
5289                uint32_t BUF43M:1;
5290                uint32_t BUF42M:1;
5291                uint32_t BUF41M:1;
5292                uint32_t BUF40M:1;
5293                uint32_t BUF39M:1;
5294                uint32_t BUF38M:1;
5295                uint32_t BUF37M:1;
5296                uint32_t BUF36M:1;
5297                uint32_t BUF35M:1;
5298                uint32_t BUF34M:1;
5299                uint32_t BUF33M:1;
5300                uint32_t BUF32M:1;
5301            } B;
5302        } IMRH; /* Legacy naming - refer to IMASK2 in Reference Manual */
5303
5304        union {                 /* Interruput Masks Register */
5305            uint32_t R;
5306            struct {
5307                uint32_t BUF31M:1;
5308                uint32_t BUF30M:1;
5309                uint32_t BUF29M:1;
5310                uint32_t BUF28M:1;
5311                uint32_t BUF27M:1;
5312                uint32_t BUF26M:1;
5313                uint32_t BUF25M:1;
5314                uint32_t BUF24M:1;
5315                uint32_t BUF23M:1;
5316                uint32_t BUF22M:1;
5317                uint32_t BUF21M:1;
5318                uint32_t BUF20M:1;
5319                uint32_t BUF19M:1;
5320                uint32_t BUF18M:1;
5321                uint32_t BUF17M:1;
5322                uint32_t BUF16M:1;
5323                uint32_t BUF15M:1;
5324                uint32_t BUF14M:1;
5325                uint32_t BUF13M:1;
5326                uint32_t BUF12M:1;
5327                uint32_t BUF11M:1;
5328                uint32_t BUF10M:1;
5329                uint32_t BUF09M:1;
5330                uint32_t BUF08M:1;
5331                uint32_t BUF07M:1;
5332                uint32_t BUF06M:1;
5333                uint32_t BUF05M:1;
5334                uint32_t BUF04M:1;
5335                uint32_t BUF03M:1;
5336                uint32_t BUF02M:1;
5337                uint32_t BUF01M:1;
5338                uint32_t BUF00M:1;
5339            } B;
5340        } IMRL; /* Legacy naming - refer to IMASK1 in Reference Manual */
5341
5342        union {                 /* Interruput Flag Register */
5343            uint32_t R;
5344            struct {
5345                uint32_t BUF63I:1;
5346                uint32_t BUF62I:1;
5347                uint32_t BUF61I:1;
5348                uint32_t BUF60I:1;
5349                uint32_t BUF59I:1;
5350                uint32_t BUF58I:1;
5351                uint32_t BUF57I:1;
5352                uint32_t BUF56I:1;
5353                uint32_t BUF55I:1;
5354                uint32_t BUF54I:1;
5355                uint32_t BUF53I:1;
5356                uint32_t BUF52I:1;
5357                uint32_t BUF51I:1;
5358                uint32_t BUF50I:1;
5359                uint32_t BUF49I:1;
5360                uint32_t BUF48I:1;
5361                uint32_t BUF47I:1;
5362                uint32_t BUF46I:1;
5363                uint32_t BUF45I:1;
5364                uint32_t BUF44I:1;
5365                uint32_t BUF43I:1;
5366                uint32_t BUF42I:1;
5367                uint32_t BUF41I:1;
5368                uint32_t BUF40I:1;
5369                uint32_t BUF39I:1;
5370                uint32_t BUF38I:1;
5371                uint32_t BUF37I:1;
5372                uint32_t BUF36I:1;
5373                uint32_t BUF35I:1;
5374                uint32_t BUF34I:1;
5375                uint32_t BUF33I:1;
5376                uint32_t BUF32I:1;
5377            } B;
5378        } IFRH; /* Legacy naming - refer to IFLAG2 in Reference Manual */
5379
5380        union {                 /* Interruput Flag Register */
5381            uint32_t R;
5382            struct {
5383                uint32_t BUF31I:1;
5384                uint32_t BUF30I:1;
5385                uint32_t BUF29I:1;
5386                uint32_t BUF28I:1;
5387                uint32_t BUF27I:1;
5388                uint32_t BUF26I:1;
5389                uint32_t BUF25I:1;
5390                uint32_t BUF24I:1;
5391                uint32_t BUF23I:1;
5392                uint32_t BUF22I:1;
5393                uint32_t BUF21I:1;
5394                uint32_t BUF20I:1;
5395                uint32_t BUF19I:1;
5396                uint32_t BUF18I:1;
5397                uint32_t BUF17I:1;
5398                uint32_t BUF16I:1;
5399                uint32_t BUF15I:1;
5400                uint32_t BUF14I:1;
5401                uint32_t BUF13I:1;
5402                uint32_t BUF12I:1;
5403                uint32_t BUF11I:1;
5404                uint32_t BUF10I:1;
5405                uint32_t BUF09I:1;
5406                uint32_t BUF08I:1;
5407                uint32_t BUF07I:1;
5408                uint32_t BUF06I:1;
5409                uint32_t BUF05I:1;
5410                uint32_t BUF04I:1;
5411                uint32_t BUF03I:1;
5412                uint32_t BUF02I:1;
5413                uint32_t BUF01I:1;
5414                uint32_t BUF00I:1;
5415            } B;
5416        } IFRL; /* Legacy naming - refer to IFLAG1 in Reference Manual */
5417
5418        uint32_t FLEXCAN_reserved0034[19];  /* 0x0034-0x007F */
5419
5420        struct canbuf_t {
5421            union {
5422                uint32_t R;
5423                struct {
5424                    uint32_t:4;
5425                    uint32_t CODE:4;
5426                    uint32_t:1;
5427                    uint32_t SRR:1;
5428                    uint32_t IDE:1;
5429                    uint32_t RTR:1;
5430                    uint32_t LENGTH:4;
5431                    uint32_t TIMESTAMP:16;
5432                } B;
5433            } CS;
5434
5435            union {
5436                uint32_t R;
5437                struct {
5438                    uint32_t PRIO:3;
5439                    uint32_t STD_ID:11;
5440                    uint32_t EXT_ID:18;
5441                } B;
5442            } ID;
5443
5444            union {
5445                uint8_t B[8];  /* Data buffer in Bytes (8 bits) */
5446                uint16_t H[4]; /* Data buffer in Half-words (16 bits) */
5447                uint32_t W[2]; /* Data buffer in words (32 bits) */
5448                uint32_t R[2]; /* Data buffer in words (32 bits) */
5449            } DATA;
5450
5451        } BUF[64];
5452
5453        int32_t FLEXCAN_reserved0480[256]; /* 0x0480-0x087F */
5454
5455        union {            /* RX Individual Mask Registers */
5456            uint32_t R;
5457            struct {
5458                uint32_t MI31:1;
5459                uint32_t MI30:1;
5460                uint32_t MI29:1;
5461                uint32_t MI28:1;
5462                uint32_t MI27:1;
5463                uint32_t MI26:1;
5464                uint32_t MI25:1;
5465                uint32_t MI24:1;
5466                uint32_t MI23:1;
5467                uint32_t MI22:1;
5468                uint32_t MI21:1;
5469                uint32_t MI20:1;
5470                uint32_t MI19:1;
5471                uint32_t MI18:1;
5472                uint32_t MI17:1;
5473                uint32_t MI16:1;
5474                uint32_t MI15:1;
5475                uint32_t MI14:1;
5476                uint32_t MI13:1;
5477                uint32_t MI12:1;
5478                uint32_t MI11:1;
5479                uint32_t MI10:1;
5480                uint32_t MI9:1;
5481                uint32_t MI8:1;
5482                uint32_t MI7:1;
5483                uint32_t MI6:1;
5484                uint32_t MI5:1;
5485                uint32_t MI4:1;
5486                uint32_t MI3:1;
5487                uint32_t MI2:1;
5488                uint32_t MI1:1;
5489                uint32_t MI0:1;
5490            } B;
5491        } RXIMR[64];
5492
5493        int32_t FLEXCAN_reserved0980[3488]; /* 0x0980-0x3FFF */
5494
5495    };
5496
5497/****************************************************************************/
5498/*                          MODULE : FlexRay                                */
5499/****************************************************************************/
5500
5501    typedef union uMVR {
5502        uint16_t R;
5503        struct {
5504            uint16_t CHIVER:8; /* CHI Version Number */
5505            uint16_t PEVER:8;  /* PE Version Number */
5506        } B;
5507    } MVR_t;
5508
5509    typedef union uMCR {
5510        uint16_t R;
5511        struct {
5512            uint16_t MEN:1;    /* module enable */
5513              uint16_t:1;
5514            uint16_t SCMD:1;   /* single channel mode */
5515            uint16_t CHB:1;    /* channel B enable */
5516            uint16_t CHA:1;    /* channel A enable */
5517            uint16_t SFFE:1;   /* synchronization frame filter enable */
5518              uint16_t:5;
5519            uint16_t CLKSEL:1; /* protocol engine clock source select */
5520            uint16_t PRESCALE:3;       /* protocol engine clock prescaler */
5521              uint16_t:1;
5522        } B;
5523    } MCR_t;
5524
5525    typedef union uSTBSCR {
5526        uint16_t R;
5527        struct {
5528            uint16_t WMD:1;    /* write mode */
5529            uint16_t STBSSEL:7;        /* strobe signal select */
5530              uint16_t:3;
5531            uint16_t ENB:1;    /* strobe signal enable */
5532              uint16_t:2;
5533            uint16_t STBPSEL:2;        /* strobe port select */
5534        } B;
5535    } STBSCR_t;
5536    typedef union uSTBPCR {
5537        uint16_t R;
5538        struct {
5539            uint16_t:12;
5540            uint16_t STB3EN:1; /* strobe port enable */
5541            uint16_t STB2EN:1; /* strobe port enable */
5542            uint16_t STB1EN:1; /* strobe port enable */
5543            uint16_t STB0EN:1; /* strobe port enable */
5544        } B;
5545    } STBPCR_t;
5546
5547    typedef union uMBDSR {
5548        uint16_t R;
5549        struct {
5550            uint16_t:1;
5551            uint16_t MBSEG2DS:7;       /* message buffer segment 2 data size */
5552              uint16_t:1;
5553            uint16_t MBSEG1DS:7;       /* message buffer segment 1 data size */
5554        } B;
5555    } MBDSR_t;
5556    typedef union uMBSSUTR {
5557        uint16_t R;
5558        struct {
5559
5560            uint16_t:1;
5561            uint16_t LAST_MB_SEG1:7;   /* last message buffer control register for message buffer segment 1 */
5562              uint16_t:1;
5563            uint16_t LAST_MB_UTIL:7;   /* last message buffer utilized */
5564        } B;
5565    } MBSSUTR_t;
5566
5567    typedef union uPOCR {
5568        uint16_t R;
5569        uint8_t byte[2];
5570        struct {
5571            uint16_t WME:1;    /* write mode external correction command */
5572              uint16_t:3;
5573            uint16_t EOC_AP:2; /* external offset correction application */
5574            uint16_t ERC_AP:2; /* external rate correction application */
5575            uint16_t BSY:1;    /* command write busy / write mode command */
5576              uint16_t:3;
5577            uint16_t POCCMD:4; /* protocol command */
5578        } B;
5579    } POCR_t;
5580/* protocol commands */
5581    typedef union uGIFER {
5582        uint16_t R;
5583        struct {
5584            uint16_t MIF:1;    /* module interrupt flag */
5585            uint16_t PRIF:1;   /* protocol interrupt flag */
5586            uint16_t CHIF:1;   /* CHI interrupt flag */
5587            uint16_t WKUPIF:1; /* wakeup interrupt flag */
5588            uint16_t FNEBIF:1; /* receive FIFO channel B not empty interrupt flag */
5589            uint16_t FNEAIF:1; /* receive FIFO channel A not empty interrupt flag */
5590            uint16_t RBIF:1;   /* receive message buffer interrupt flag */
5591            uint16_t TBIF:1;   /* transmit buffer interrupt flag */
5592            uint16_t MIE:1;    /* module interrupt enable */
5593            uint16_t PRIE:1;   /* protocol interrupt enable */
5594            uint16_t CHIE:1;   /* CHI interrupt enable */
5595            uint16_t WKUPIE:1; /* wakeup interrupt enable */
5596            uint16_t FNEBIE:1; /* receive FIFO channel B not empty interrupt enable */
5597            uint16_t FNEAIE:1; /* receive FIFO channel A not empty interrupt enable */
5598            uint16_t RBIE:1;   /* receive message buffer interrupt enable */
5599            uint16_t TBIE:1;   /* transmit buffer interrupt enable */
5600        } B;
5601    } GIFER_t;
5602    typedef union uPIFR0 {
5603        uint16_t R;
5604        struct {
5605            uint16_t FATLIF:1; /* fatal protocol error interrupt flag */
5606            uint16_t INTLIF:1; /* internal protocol error interrupt flag */
5607            uint16_t ILCFIF:1; /* illegal protocol configuration flag */
5608            uint16_t CSAIF:1;  /* cold start abort interrupt flag */
5609            uint16_t MRCIF:1;  /* missing rate correctio interrupt flag */
5610            uint16_t MOCIF:1;  /* missing offset correctio interrupt flag */
5611            uint16_t CCLIF:1;  /* clock correction limit reached interrupt flag */
5612            uint16_t MXSIF:1;  /* max sync frames detected interrupt flag */
5613            uint16_t MTXIF:1;  /* media access test symbol received flag */
5614            uint16_t LTXBIF:1; /* pdLatestTx violation on channel B interrupt flag */
5615            uint16_t LTXAIF:1; /* pdLatestTx violation on channel A interrupt flag */
5616            uint16_t TBVBIF:1; /* Transmission across boundary on channel B Interrupt Flag */
5617            uint16_t TBVAIF:1; /* Transmission across boundary on channel A Interrupt Flag */
5618            uint16_t TI2IF:1;  /* timer 2 expired interrupt flag */
5619            uint16_t TI1IF:1;  /* timer 1 expired interrupt flag */
5620            uint16_t CYSIF:1;  /* cycle start interrupt flag */
5621        } B;
5622    } PIFR0_t;
5623    typedef union uPIFR1 {
5624        uint16_t R;
5625        struct {
5626            uint16_t EMCIF:1;  /* error mode changed interrupt flag */
5627            uint16_t IPCIF:1;  /* illegal protocol command interrupt flag */
5628            uint16_t PECFIF:1; /* protocol engine communication failure interrupt flag */
5629            uint16_t PSCIF:1;  /* Protocol State Changed Interrupt Flag */
5630            uint16_t SSI3IF:1; /* slot status counter incremented interrupt flag */
5631            uint16_t SSI2IF:1; /* slot status counter incremented interrupt flag */
5632            uint16_t SSI1IF:1; /* slot status counter incremented interrupt flag */
5633            uint16_t SSI0IF:1; /* slot status counter incremented interrupt flag */
5634              uint16_t:2;
5635            uint16_t EVTIF:1;  /* even cycle table written interrupt flag */
5636            uint16_t ODTIF:1;  /* odd cycle table written interrupt flag */
5637              uint16_t:4;
5638        } B;
5639    } PIFR1_t;
5640    typedef union uPIER0 {
5641        uint16_t R;
5642        struct {
5643            uint16_t FATLIE:1; /* fatal protocol error interrupt enable */
5644            uint16_t INTLIE:1; /* internal protocol error interrupt interrupt enable  */
5645            uint16_t ILCFIE:1; /* illegal protocol configuration interrupt enable */
5646            uint16_t CSAIE:1;  /* cold start abort interrupt enable */
5647            uint16_t MRCIE:1;  /* missing rate correctio interrupt enable */
5648            uint16_t MOCIE:1;  /* missing offset correctio interrupt enable */
5649            uint16_t CCLIE:1;  /* clock correction limit reached interrupt enable */
5650            uint16_t MXSIE:1;  /* max sync frames detected interrupt enable */
5651            uint16_t MTXIE:1;  /* media access test symbol received interrupt enable */
5652            uint16_t LTXBIE:1; /* pdLatestTx violation on channel B interrupt enable */
5653            uint16_t LTXAIE:1; /* pdLatestTx violation on channel A interrupt enable */
5654            uint16_t TBVBIE:1; /* Transmission across boundary on channel B Interrupt enable */
5655            uint16_t TBVAIE:1; /* Transmission across boundary on channel A Interrupt enable */
5656            uint16_t TI2IE:1;  /* timer 2 expired interrupt enable */
5657            uint16_t TI1IE:1;  /* timer 1 expired interrupt enable */
5658            uint16_t CYSIE:1;  /* cycle start interrupt enable */
5659        } B;
5660    } PIER0_t;
5661    typedef union uPIER1 {
5662        uint16_t R;
5663        struct {
5664            uint16_t EMCIE:1;  /* error mode changed interrupt enable */
5665            uint16_t IPCIE:1;  /* illegal protocol command interrupt enable */
5666            uint16_t PECFIE:1; /* protocol engine communication failure interrupt enable */
5667            uint16_t PSCIE:1;  /* Protocol State Changed Interrupt enable */
5668            uint16_t SSI3IE:1; /* slot status counter incremented interrupt enable */
5669            uint16_t SSI2IE:1; /* slot status counter incremented interrupt enable */
5670            uint16_t SSI1IE:1; /* slot status counter incremented interrupt enable */
5671            uint16_t SSI0IE:1; /* slot status counter incremented interrupt enable */
5672              uint16_t:2;
5673            uint16_t EVTIE:1;  /* even cycle table written interrupt enable */
5674            uint16_t ODTIE:1;  /* odd cycle table written interrupt enable */
5675              uint16_t:4;
5676        } B;
5677    } PIER1_t;
5678    typedef union uCHIERFR {
5679        uint16_t R;
5680        struct {
5681            uint16_t FRLBEF:1; /* flame lost channel B error flag */
5682            uint16_t FRLAEF:1; /* frame lost channel A error flag */
5683            uint16_t PCMIEF:1; /* command ignored error flag */
5684            uint16_t FOVBEF:1; /* receive FIFO overrun channel B error flag */
5685            uint16_t FOVAEF:1; /* receive FIFO overrun channel A error flag */
5686            uint16_t MSBEF:1;  /* message buffer search error flag */
5687            uint16_t MBUEF:1;  /* message buffer utilization error flag */
5688            uint16_t LCKEF:1;  /* lock error flag */
5689            uint16_t DBLEF:1;  /* double transmit message buffer lock error flag */
5690            uint16_t SBCFEF:1; /* system bus communication failure error flag */
5691            uint16_t FIDEF:1;  /* frame ID error flag */
5692            uint16_t DPLEF:1;  /* dynamic payload length error flag */
5693            uint16_t SPLEF:1;  /* static payload length error flag */
5694            uint16_t NMLEF:1;  /* network management length error flag */
5695            uint16_t NMFEF:1;  /* network management frame error flag */
5696            uint16_t ILSAEF:1; /* illegal access error flag */
5697        } B;
5698    } CHIERFR_t;
5699    typedef union uMBIVEC {
5700        uint16_t R;
5701        struct {
5702
5703            uint16_t:1;
5704            uint16_t TBIVEC:7; /* transmit buffer interrupt vector */
5705              uint16_t:1;
5706            uint16_t RBIVEC:7; /* receive buffer interrupt vector */
5707        } B;
5708    } MBIVEC_t;
5709
5710    typedef union uPSR0 {
5711        uint16_t R;
5712        struct {
5713            uint16_t ERRMODE:2;        /* error mode */
5714            uint16_t SLOTMODE:2;       /* slot mode */
5715              uint16_t:1;
5716            uint16_t PROTSTATE:3;      /* protocol state */
5717            uint16_t SUBSTATE:4;       /* protocol sub state */
5718              uint16_t:1;
5719            uint16_t WAKEUPSTATUS:3;   /* wakeup status */
5720        } B;
5721    } PSR0_t;
5722
5723/* protocol states */
5724/* protocol sub-states */
5725/* wakeup status */
5726    typedef union uPSR1 {
5727        uint16_t R;
5728        struct {
5729            uint16_t CSAA:1;   /* cold start attempt abort flag */
5730            uint16_t SCP:1;    /* cold start path */
5731              uint16_t:1;
5732            uint16_t REMCSAT:5;        /* remanining coldstart attempts */
5733            uint16_t CPN:1;    /* cold start noise path */
5734            uint16_t HHR:1;    /* host halt request pending */
5735            uint16_t FRZ:1;    /* freeze occured */
5736            uint16_t APTAC:5;  /* allow passive to active counter */
5737        } B;
5738    } PSR1_t;
5739    typedef union uPSR2 {
5740        uint16_t R;
5741        struct {
5742            uint16_t NBVB:1;   /* NIT boundary violation on channel B */
5743            uint16_t NSEB:1;   /* NIT syntax error on channel B */
5744            uint16_t STCB:1;   /* symbol window transmit conflict on channel B */
5745            uint16_t SBVB:1;   /* symbol window boundary violation on channel B */
5746            uint16_t SSEB:1;   /* symbol window syntax error on channel B */
5747            uint16_t MTB:1;    /* media access test symbol MTS received on channel B */
5748            uint16_t NBVA:1;   /* NIT boundary violation on channel A */
5749            uint16_t NSEA:1;   /* NIT syntax error on channel A */
5750            uint16_t STCA:1;   /* symbol window transmit conflict on channel A */
5751            uint16_t SBVA:1;   /* symbol window boundary violation on channel A */
5752            uint16_t SSEA:1;   /* symbol window syntax error on channel A */
5753            uint16_t MTA:1;    /* media access test symbol MTS received on channel A */
5754            uint16_t CLKCORRFAILCNT:4; /* clock correction failed counter */
5755        } B;
5756    } PSR2_t;
5757    typedef union uPSR3 {
5758        uint16_t R;
5759        struct {
5760            uint16_t:2;
5761            uint16_t WUB:1;    /* wakeup symbol received on channel B */
5762            uint16_t ABVB:1;   /* aggregated boundary violation on channel B */
5763            uint16_t AACB:1;   /* aggregated additional communication on channel B */
5764            uint16_t ACEB:1;   /* aggregated content error on channel B */
5765            uint16_t ASEB:1;   /* aggregated syntax error on channel B */
5766            uint16_t AVFB:1;   /* aggregated valid frame on channel B */
5767              uint16_t:2;
5768            uint16_t WUA:1;    /* wakeup symbol received on channel A */
5769            uint16_t ABVA:1;   /* aggregated boundary violation on channel A */
5770            uint16_t AACA:1;   /* aggregated additional communication on channel A */
5771            uint16_t ACEA:1;   /* aggregated content error on channel A */
5772            uint16_t ASEA:1;   /* aggregated syntax error on channel A */
5773            uint16_t AVFA:1;   /* aggregated valid frame on channel A */
5774        } B;
5775    } PSR3_t;
5776    typedef union uCIFRR {
5777        uint16_t R;
5778        struct {
5779            uint16_t:8;
5780            uint16_t MIFR:1;   /* module interrupt flag */
5781            uint16_t PRIFR:1;  /* protocol interrupt flag */
5782            uint16_t CHIFR:1;  /* CHI interrupt flag */
5783            uint16_t WUPIFR:1; /* wakeup interrupt flag */
5784            uint16_t FNEBIFR:1;        /* receive fifo channel B no empty interrupt flag */
5785            uint16_t FNEAIFR:1;        /* receive fifo channel A no empty interrupt flag */
5786            uint16_t RBIFR:1;  /* receive message buffer interrupt flag */
5787            uint16_t TBIFR:1;  /* transmit buffer interrupt flag */
5788        } B;
5789    } CIFRR_t;
5790    typedef union uSFCNTR {
5791        uint16_t R;
5792        struct {
5793            uint16_t SFEVB:4;  /* sync frames channel B, even cycle */
5794            uint16_t SFEVA:4;  /* sync frames channel A, even cycle */
5795            uint16_t SFODB:4;  /* sync frames channel B, odd cycle */
5796            uint16_t SFODA:4;  /* sync frames channel A, odd cycle */
5797        } B;
5798    } SFCNTR_t;
5799
5800    typedef union uSFTCCSR {
5801        uint16_t R;
5802        struct {
5803            uint16_t ELKT:1;   /* even cycle tables lock and unlock trigger */
5804            uint16_t OLKT:1;   /* odd cycle tables lock and unlock trigger */
5805            uint16_t CYCNUM:6; /* cycle number */
5806            uint16_t ELKS:1;   /* even cycle tables lock status */
5807            uint16_t OLKS:1;   /* odd cycle tables lock status */
5808            uint16_t EVAL:1;   /* even cycle tables valid */
5809            uint16_t OVAL:1;   /* odd cycle tables valid */
5810              uint16_t:1;
5811            uint16_t OPT:1;    /*one pair trigger */
5812            uint16_t SDVEN:1;  /* sync frame deviation table enable */
5813            uint16_t SIDEN:1;  /* sync frame ID table enable */
5814        } B;
5815    } SFTCCSR_t;
5816    typedef union uSFIDRFR {
5817        uint16_t R;
5818        struct {
5819            uint16_t:6;
5820            uint16_t SYNFRID:10;       /* sync frame rejection ID */
5821        } B;
5822    } SFIDRFR_t;
5823
5824    typedef union uTICCR {
5825        uint16_t R;
5826        struct {
5827            uint16_t:2;
5828            uint16_t T2CFG:1;  /* timer 2 configuration */
5829            uint16_t T2REP:1;  /* timer 2 repetitive mode */
5830              uint16_t:1;
5831            uint16_t T2SP:1;   /* timer 2 stop */
5832            uint16_t T2TR:1;   /* timer 2 trigger */
5833            uint16_t T2ST:1;   /* timer 2 state */
5834              uint16_t:3;
5835            uint16_t T1REP:1;  /* timer 1 repetitive mode */
5836              uint16_t:1;
5837            uint16_t T1SP:1;   /* timer 1 stop */
5838            uint16_t T1TR:1;   /* timer 1 trigger */
5839            uint16_t T1ST:1;   /* timer 1 state */
5840
5841        } B;
5842    } TICCR_t;
5843    typedef union uTI1CYSR {
5844        uint16_t R;
5845        struct {
5846            uint16_t:2;
5847            uint16_t TI1CYCVAL:6;      /* timer 1 cycle filter value */
5848              uint16_t:2;
5849            uint16_t TI1CYCMSK:6;      /* timer 1 cycle filter mask */
5850
5851        } B;
5852    } TI1CYSR_t;
5853
5854    typedef union uSSSR {
5855        uint16_t R;
5856        struct {
5857            uint16_t WMD:1;    /* write mode */
5858              uint16_t:1;
5859            uint16_t SEL:2;    /* static slot number */
5860              uint16_t:1;
5861            uint16_t SLOTNUMBER:11;    /* selector */
5862        } B;
5863    } SSSR_t;
5864
5865    typedef union uSSCCR {
5866        uint16_t R;
5867        struct {
5868            uint16_t WMD:1;    /* write mode */
5869              uint16_t:1;
5870            uint16_t SEL:2;    /* selector */
5871              uint16_t:1;
5872            uint16_t CNTCFG:2; /* counter configuration */
5873            uint16_t MCY:1;    /* multi cycle selection */
5874            uint16_t VFR:1;    /* valid frame selection */
5875            uint16_t SYF:1;    /* sync frame selection */
5876            uint16_t NUF:1;    /* null frame selection  */
5877            uint16_t SUF:1;    /* startup frame selection */
5878            uint16_t STATUSMASK:4;     /* slot status mask */
5879        } B;
5880    } SSCCR_t;
5881    typedef union uSSR {
5882        uint16_t R;
5883        struct {
5884            uint16_t VFB:1;    /* valid frame on channel B */
5885            uint16_t SYB:1;    /* valid sync frame on channel B */
5886            uint16_t NFB:1;    /* valid null frame on channel B */
5887            uint16_t SUB:1;    /* valid startup frame on channel B */
5888            uint16_t SEB:1;    /* syntax error on channel B */
5889            uint16_t CEB:1;    /* content error on channel B */
5890            uint16_t BVB:1;    /* boundary violation on channel B */
5891            uint16_t TCB:1;    /* tx conflict on channel B */
5892            uint16_t VFA:1;    /* valid frame on channel A */
5893            uint16_t SYA:1;    /* valid sync frame on channel A */
5894            uint16_t NFA:1;    /* valid null frame on channel A */
5895            uint16_t SUA:1;    /* valid startup frame on channel A */
5896            uint16_t SEA:1;    /* syntax error on channel A */
5897            uint16_t CEA:1;    /* content error on channel A */
5898            uint16_t BVA:1;    /* boundary violation on channel A */
5899            uint16_t TCA:1;    /* tx conflict on channel A */
5900        } B;
5901    } SSR_t;
5902    typedef union uMTSCFR {
5903        uint16_t R;
5904        struct {
5905            uint16_t MTE:1;    /* media access test symbol transmission enable */
5906              uint16_t:1;
5907            uint16_t CYCCNTMSK:6;      /* cycle counter mask */
5908              uint16_t:2;
5909            uint16_t CYCCNTVAL:6;      /* cycle counter value */
5910        } B;
5911    } MTSCFR_t;
5912    typedef union uRSBIR {
5913        uint16_t R;
5914        struct {
5915            uint16_t WMD:1;    /* write mode */
5916              uint16_t:1;
5917            uint16_t SEL:2;    /* selector */
5918              uint16_t:4;
5919            uint16_t RSBIDX:8; /* receive shadow buffer index */
5920        } B;
5921    } RSBIR_t;
5922    typedef union uRFDSR {
5923        uint16_t R;
5924        struct {
5925            uint16_t FIFODEPTH:8;      /* fifo depth */
5926              uint16_t:1;
5927            uint16_t ENTRYSIZE:7;      /* entry size */
5928        } B;
5929    } RFDSR_t;
5930
5931    typedef union uRFRFCFR {
5932        uint16_t R;
5933        struct {
5934            uint16_t WMD:1;    /* write mode */
5935            uint16_t IBD:1;    /* interval boundary */
5936            uint16_t SEL:2;    /* filter number */
5937              uint16_t:1;
5938            uint16_t SID:11;   /* slot ID */
5939        } B;
5940    } RFRFCFR_t;
5941
5942    typedef union uRFRFCTR {
5943        uint16_t R;
5944        struct {
5945            uint16_t:4;
5946            uint16_t F3MD:1;   /* filter mode */
5947            uint16_t F2MD:1;   /* filter mode */
5948            uint16_t F1MD:1;   /* filter mode */
5949            uint16_t F0MD:1;   /* filter mode */
5950              uint16_t:4;
5951            uint16_t F3EN:1;   /* filter enable */
5952            uint16_t F2EN:1;   /* filter enable */
5953            uint16_t F1EN:1;   /* filter enable */
5954            uint16_t F0EN:1;   /* filter enable */
5955        } B;
5956    } RFRFCTR_t;
5957    typedef union uPCR0 {
5958        uint16_t R;
5959        struct {
5960            uint16_t ACTION_POINT_OFFSET:6;
5961            uint16_t STATIC_SLOT_LENGTH:10;
5962        } B;
5963    } PCR0_t;
5964
5965    typedef union uPCR1 {
5966        uint16_t R;
5967        struct {
5968            uint16_t:2;
5969            uint16_t MACRO_AFTER_FIRST_STATIC_SLOT:14;
5970        } B;
5971    } PCR1_t;
5972
5973    typedef union uPCR2 {
5974        uint16_t R;
5975        struct {
5976            uint16_t MINISLOT_AFTER_ACTION_POINT:6;
5977            uint16_t NUMBER_OF_STATIC_SLOTS:10;
5978        } B;
5979    } PCR2_t;
5980
5981    typedef union uPCR3 {
5982        uint16_t R;
5983        struct {
5984            uint16_t WAKEUP_SYMBOL_RX_LOW:6;
5985            uint16_t MINISLOT_ACTION_POINT_OFFSET:5;
5986            uint16_t COLDSTART_ATTEMPTS:5;
5987        } B;
5988    } PCR3_t;
5989
5990    typedef union uPCR4 {
5991        uint16_t R;
5992        struct {
5993            uint16_t CAS_RX_LOW_MAX:7;
5994            uint16_t WAKEUP_SYMBOL_RX_WINDOW:9;
5995        } B;
5996    } PCR4_t;
5997
5998    typedef union uPCR5 {
5999        uint16_t R;
6000        struct {
6001            uint16_t TSS_TRANSMITTER:4;
6002            uint16_t WAKEUP_SYMBOL_TX_LOW:6;
6003            uint16_t WAKEUP_SYMBOL_RX_IDLE:6;
6004        } B;
6005    } PCR5_t;
6006
6007    typedef union uPCR6 {
6008        uint16_t R;
6009        struct {
6010            uint16_t:1;
6011            uint16_t SYMBOL_WINDOW_AFTER_ACTION_POINT:8;
6012            uint16_t MACRO_INITIAL_OFFSET_A:7;
6013        } B;
6014    } PCR6_t;
6015
6016    typedef union uPCR7 {
6017        uint16_t R;
6018        struct {
6019            uint16_t DECODING_CORRECTION_B:9;
6020            uint16_t MICRO_PER_MACRO_NOM_HALF:7;
6021        } B;
6022    } PCR7_t;
6023
6024    typedef union uPCR8 {
6025        uint16_t R;
6026        struct {
6027            uint16_t MAX_WITHOUT_CLOCK_CORRECTION_FATAL:4;
6028            uint16_t MAX_WITHOUT_CLOCK_CORRECTION_PASSIVE:4;
6029            uint16_t WAKEUP_SYMBOL_TX_IDLE:8;
6030        } B;
6031    } PCR8_t;
6032
6033    typedef union uPCR9 {
6034        uint16_t R;
6035        struct {
6036            uint16_t MINISLOT_EXISTS:1;
6037            uint16_t SYMBOL_WINDOW_EXISTS:1;
6038            uint16_t OFFSET_CORRECTION_OUT:14;
6039        } B;
6040    } PCR9_t;
6041
6042    typedef union uPCR10 {
6043        uint16_t R;
6044        struct {
6045            uint16_t SINGLE_SLOT_ENABLED:1;
6046            uint16_t WAKEUP_CHANNEL:1;
6047            uint16_t MACRO_PER_CYCLE:14;
6048        } B;
6049    } PCR10_t;
6050
6051    typedef union uPCR11 {
6052        uint16_t R;
6053        struct {
6054            uint16_t KEY_SLOT_USED_FOR_STARTUP:1;
6055            uint16_t KEY_SLOT_USED_FOR_SYNC:1;
6056            uint16_t OFFSET_CORRECTION_START:14;
6057        } B;
6058    } PCR11_t;
6059
6060    typedef union uPCR12 {
6061        uint16_t R;
6062        struct {
6063            uint16_t ALLOW_PASSIVE_TO_ACTIVE:5;
6064            uint16_t KEY_SLOT_HEADER_CRC:11;
6065        } B;
6066    } PCR12_t;
6067
6068    typedef union uPCR13 {
6069        uint16_t R;
6070        struct {
6071            uint16_t FIRST_MINISLOT_ACTION_POINT_OFFSET:6;
6072            uint16_t STATIC_SLOT_AFTER_ACTION_POINT:10;
6073        } B;
6074    } PCR13_t;
6075
6076    typedef union uPCR14 {
6077        uint16_t R;
6078        struct {
6079            uint16_t RATE_CORRECTION_OUT:11;
6080            uint16_t LISTEN_TIMEOUT_H:5;
6081        } B;
6082    } PCR14_t;
6083
6084    typedef union uPCR15 {
6085        uint16_t R;
6086        struct {
6087            uint16_t LISTEN_TIMEOUT_L:16;
6088        } B;
6089    } PCR15_t;
6090
6091    typedef union uPCR16 {
6092        uint16_t R;
6093        struct {
6094            uint16_t MACRO_INITIAL_OFFSET_B:7;
6095            uint16_t NOISE_LISTEN_TIMEOUT_H:9;
6096        } B;
6097    } PCR16_t;
6098
6099    typedef union uPCR17 {
6100        uint16_t R;
6101        struct {
6102            uint16_t NOISE_LISTEN_TIMEOUT_L:16;
6103        } B;
6104    } PCR17_t;
6105
6106    typedef union uPCR18 {
6107        uint16_t R;
6108        struct {
6109            uint16_t WAKEUP_PATTERN:6;
6110            uint16_t KEY_SLOT_ID:10;
6111        } B;
6112    } PCR18_t;
6113
6114    typedef union uPCR19 {
6115        uint16_t R;
6116        struct {
6117            uint16_t DECODING_CORRECTION_A:9;
6118            uint16_t PAYLOAD_LENGTH_STATIC:7;
6119        } B;
6120    } PCR19_t;
6121
6122    typedef union uPCR20 {
6123        uint16_t R;
6124        struct {
6125            uint16_t MICRO_INITIAL_OFFSET_B:8;
6126            uint16_t MICRO_INITIAL_OFFSET_A:8;
6127        } B;
6128    } PCR20_t;
6129
6130    typedef union uPCR21 {
6131        uint16_t R;
6132        struct {
6133            uint16_t EXTERN_RATE_CORRECTION:3;
6134            uint16_t LATEST_TX:13;
6135        } B;
6136    } PCR21_t;
6137
6138    typedef union uPCR22 {
6139        uint16_t R;
6140        struct {
6141            uint16_t:1;
6142            uint16_t COMP_ACCEPTED_STARTUP_RANGE_A:11;
6143            uint16_t MICRO_PER_CYCLE_H:4;
6144        } B;
6145    } PCR22_t;
6146
6147    typedef union uPCR23 {
6148        uint16_t R;
6149        struct {
6150            uint16_t micro_per_cycle_l:16;
6151        } B;
6152    } PCR23_t;
6153
6154    typedef union uPCR24 {
6155        uint16_t R;
6156        struct {
6157            uint16_t CLUSTER_DRIFT_DAMPING:5;
6158            uint16_t MAX_PAYLOAD_LENGTH_DYNAMIC:7;
6159            uint16_t MICRO_PER_CYCLE_MIN_H:4;
6160        } B;
6161    } PCR24_t;
6162
6163    typedef union uPCR25 {
6164        uint16_t R;
6165        struct {
6166            uint16_t MICRO_PER_CYCLE_MIN_L:16;
6167        } B;
6168    } PCR25_t;
6169
6170    typedef union uPCR26 {
6171        uint16_t R;
6172        struct {
6173            uint16_t ALLOW_HALT_DUE_TO_CLOCK:1;
6174            uint16_t COMP_ACCEPTED_STARTUP_RANGE_B:11;
6175            uint16_t MICRO_PER_CYCLE_MAX_H:4;
6176        } B;
6177    } PCR26_t;
6178
6179    typedef union uPCR27 {
6180        uint16_t R;
6181        struct {
6182            uint16_t MICRO_PER_CYCLE_MAX_L:16;
6183        } B;
6184    } PCR27_t;
6185
6186    typedef union uPCR28 {
6187        uint16_t R;
6188        struct {
6189            uint16_t DYNAMIC_SLOT_IDLE_PHASE:2;
6190            uint16_t MACRO_AFTER_OFFSET_CORRECTION:14;
6191        } B;
6192    } PCR28_t;
6193
6194    typedef union uPCR29 {
6195        uint16_t R;
6196        struct {
6197            uint16_t EXTERN_OFFSET_CORRECTION:3;
6198            uint16_t MINISLOTS_MAX:13;
6199        } B;
6200    } PCR29_t;
6201
6202    typedef union uPCR30 {
6203        uint16_t R;
6204        struct {
6205            uint16_t:12;
6206            uint16_t SYNC_NODE_MAX:4;
6207        } B;
6208    } PCR30_t;
6209
6210    typedef struct uMSG_BUFF_CCS {
6211        union {
6212            uint16_t R;
6213            struct {
6214                uint16_t:1;
6215                uint16_t MCM:1;        /* message buffer commit mode */
6216                uint16_t MBT:1;        /* message buffer type */
6217                uint16_t MTD:1;        /* message buffer direction */
6218                uint16_t CMT:1;        /* commit for transmission */
6219                uint16_t EDT:1;        /* enable / disable trigger */
6220                uint16_t LCKT:1;       /* lock request trigger */
6221                uint16_t MBIE:1;       /* message buffer interrupt enable */
6222                  uint16_t:3;
6223                uint16_t DUP:1;        /* data updated  */
6224                uint16_t DVAL:1;       /* data valid */
6225                uint16_t EDS:1;        /* lock status */
6226                uint16_t LCKS:1;       /* enable / disable status */
6227                uint16_t MBIF:1;       /* message buffer interrupt flag */
6228            } B;
6229        } MBCCSR;
6230        union {
6231            uint16_t R;
6232            struct {
6233                uint16_t MTM:1;        /* message buffer transmission mode */
6234                uint16_t CHNLA:1;      /* channel assignement */
6235                uint16_t CHNLB:1;      /* channel assignement */
6236                uint16_t CCFE:1;       /* cycle counter filter enable */
6237                uint16_t CCFMSK:6;     /* cycle counter filter mask */
6238                uint16_t CCFVAL:6;     /* cycle counter filter value */
6239            } B;
6240        } MBCCFR;
6241        union {
6242            uint16_t R;
6243            struct {
6244                uint16_t:5;
6245                uint16_t FID:11;       /* frame ID */
6246            } B;
6247        } MBFIDR;
6248        union {
6249            uint16_t R;
6250            struct {
6251                uint16_t:8;
6252                uint16_t MBIDX:8;      /* message buffer index */
6253            } B;
6254        } MBIDXR;
6255    } MSG_BUFF_CCS_t;
6256    typedef union uSYSBADHR {
6257        uint16_t R;
6258    } SYSBADHR_t;
6259    typedef union uSYSBADLR {
6260        uint16_t R;
6261    } SYSBADLR_t;
6262    typedef union uPDAR {
6263        uint16_t R;
6264    } PDAR_t;
6265    typedef union uCASERCR {
6266        uint16_t R;
6267    } CASERCR_t;
6268    typedef union uCBSERCR {
6269        uint16_t R;
6270    } CBSERCR_t;
6271    typedef union uCYCTR {
6272        uint16_t R;
6273    } CYCTR_t;
6274    typedef union uMTCTR {
6275        uint16_t R;
6276    } MTCTR_t;
6277    typedef union uSLTCTAR {
6278        uint16_t R;
6279    } SLTCTAR_t;
6280    typedef union uSLTCTBR {
6281        uint16_t R;
6282    } SLTCTBR_t;
6283    typedef union uRTCORVR {
6284        uint16_t R;
6285    } RTCORVR_t;
6286    typedef union uOFCORVR {
6287        uint16_t R;
6288    } OFCORVR_t;
6289    typedef union uSFTOR {
6290        uint16_t R;
6291    } SFTOR_t;
6292    typedef union uSFIDAFVR {
6293        uint16_t R;
6294    } SFIDAFVR_t;
6295    typedef union uSFIDAFMR {
6296        uint16_t R;
6297    } SFIDAFMR_t;
6298    typedef union uNMVR {
6299        uint16_t R;
6300    } NMVR_t;
6301    typedef union uNMVLR {
6302        uint16_t R;
6303    } NMVLR_t;
6304    typedef union uT1MTOR {
6305        uint16_t R;
6306    } T1MTOR_t;
6307    typedef union uTI2CR0 {
6308        uint16_t R;
6309    } TI2CR0_t;
6310    typedef union uTI2CR1 {
6311        uint16_t R;
6312    } TI2CR1_t;
6313    typedef union uSSCR {
6314        uint16_t R;
6315    } SSCR_t;
6316    typedef union uRFSR {
6317        uint16_t R;
6318    } RFSR_t;
6319    typedef union uRFSIR {
6320        uint16_t R;
6321    } RFSIR_t;
6322    typedef union uRFARIR {
6323        uint16_t R;
6324    } RFARIR_t;
6325    typedef union uRFBRIR {
6326        uint16_t R;
6327    } RFBRIR_t;
6328    typedef union uRFMIDAFVR {
6329        uint16_t R;
6330    } RFMIDAFVR_t;
6331    typedef union uRFMIAFMR {
6332        uint16_t R;
6333    } RFMIAFMR_t;
6334    typedef union uRFFIDRFVR {
6335        uint16_t R;
6336    } RFFIDRFVR_t;
6337    typedef union uRFFIDRFMR {
6338        uint16_t R;
6339    } RFFIDRFMR_t;
6340    typedef union uLDTXSLAR {
6341        uint16_t R;
6342    } LDTXSLAR_t;
6343    typedef union uLDTXSLBR {
6344        uint16_t R;
6345    } LDTXSLBR_t;
6346
6347    typedef struct FR_tag {
6348        volatile MVR_t MVR;     /*module version register *//*0  */
6349        volatile MCR_t MCR;     /*module configuration register *//*2  */
6350        volatile SYSBADHR_t SYSBADHR;   /*system memory base address high register *//*4        */
6351        volatile SYSBADLR_t SYSBADLR;   /*system memory base address low register *//*6         */
6352        volatile STBSCR_t STBSCR;       /*strobe signal control register *//*8      */
6353        volatile STBPCR_t STBPCR;       /*strobe port control register *//*A        */
6354        volatile MBDSR_t MBDSR; /*message buffer data size register *//*C  */
6355        volatile MBSSUTR_t MBSSUTR;     /*message buffer segment size and utilization register *//*E  */
6356        uint16_t reserved3a[1];        /*10 */
6357        volatile PDAR_t PDAR;   /*PE data register *//*12 */
6358        volatile POCR_t POCR;   /*Protocol operation control register *//*14 */
6359        volatile GIFER_t GIFER; /*global interrupt flag and enable register *//*16 */
6360        volatile PIFR0_t PIFR0; /*protocol interrupt flag register 0 *//*18 */
6361        volatile PIFR1_t PIFR1; /*protocol interrupt flag register 1 *//*1A */
6362        volatile PIER0_t PIER0; /*protocol interrupt enable register 0 *//*1C */
6363        volatile PIER1_t PIER1; /*protocol interrupt enable register 1 *//*1E */
6364        volatile CHIERFR_t CHIERFR;     /*CHI error flag register *//*20 */
6365        volatile MBIVEC_t MBIVEC;       /*message buffer interrupt vector register *//*22 */
6366        volatile CASERCR_t CASERCR;     /*channel A status error counter register *//*24 */
6367        volatile CBSERCR_t CBSERCR;     /*channel B status error counter register *//*26 */
6368        volatile PSR0_t PSR0;   /*protocol status register 0 *//*28 */
6369        volatile PSR1_t PSR1;   /*protocol status register 1 *//*2A */
6370        volatile PSR2_t PSR2;   /*protocol status register 2 *//*2C */
6371        volatile PSR3_t PSR3;   /*protocol status register 3 *//*2E */
6372        volatile MTCTR_t MTCTR; /*macrotick counter register *//*30 */
6373        volatile CYCTR_t CYCTR; /*cycle counter register *//*32 */
6374        volatile SLTCTAR_t SLTCTAR;     /*slot counter channel A register *//*34 */
6375        volatile SLTCTBR_t SLTCTBR;     /*slot counter channel B register *//*36 */
6376        volatile RTCORVR_t RTCORVR;     /*rate correction value register *//*38 */
6377        volatile OFCORVR_t OFCORVR;     /*offset correction value register *//*3A */
6378        volatile CIFRR_t CIFRR; /*combined interrupt flag register *//*3C */
6379        uint16_t reserved3[1]; /*3E */
6380        volatile SFCNTR_t SFCNTR;       /*sync frame counter register *//*40 */
6381        volatile SFTOR_t SFTOR; /*sync frame table offset register *//*42 */
6382        volatile SFTCCSR_t SFTCCSR;     /*sync frame table configuration, control, status register *//*44 */
6383        volatile SFIDRFR_t SFIDRFR;     /*sync frame ID rejection filter register *//*46 */
6384        volatile SFIDAFVR_t SFIDAFVR;   /*sync frame ID acceptance filter value regiater *//*48 */
6385        volatile SFIDAFMR_t SFIDAFMR;   /*sync frame ID acceptance filter mask register *//*4A */
6386        volatile NMVR_t NMVR[6];        /*network management vector registers (12 bytes) *//*4C */
6387        volatile NMVLR_t NMVLR; /*network management vector length register *//*58 */
6388        volatile TICCR_t TICCR; /*timer configuration and control register *//*5A */
6389        volatile TI1CYSR_t TI1CYSR;     /*timer 1 cycle set register *//*5C */
6390        volatile T1MTOR_t T1MTOR;       /*timer 1 macrotick offset register *//*5E */
6391        volatile TI2CR0_t TI2CR0;       /*timer 2 configuration register 0 *//*60 */
6392        volatile TI2CR1_t TI2CR1;       /*timer 2 configuration register 1 *//*62 */
6393        volatile SSSR_t SSSR;   /*slot status selection register *//*64 */
6394        volatile SSCCR_t SSCCR; /*slot status counter condition register *//*66 */
6395        volatile SSR_t SSR[8];  /*slot status registers 0-7 *//*68 */
6396        volatile SSCR_t SSCR[4];        /*slot status counter registers 0-3 *//*78 */
6397        volatile MTSCFR_t MTSACFR;      /*mts a config register *//*80 */
6398        volatile MTSCFR_t MTSBCFR;      /*mts b config register *//*82 */
6399        volatile RSBIR_t RSBIR; /*receive shadow buffer index register *//*84 */
6400        volatile RFSR_t RFSR;   /*receive fifo selection register *//*86 */
6401        volatile RFSIR_t RFSIR; /*receive fifo start index register *//*88 */
6402        volatile RFDSR_t RFDSR; /*receive fifo depth and size register *//*8A */
6403        volatile RFARIR_t RFARIR;       /*receive fifo a read index register *//*8C */
6404        volatile RFBRIR_t RFBRIR;       /*receive fifo b read index register *//*8E */
6405        volatile RFMIDAFVR_t RFMIDAFVR; /*receive fifo message ID acceptance filter value register *//*90 */
6406        volatile RFMIAFMR_t RFMIAFMR;   /*receive fifo message ID acceptance filter mask register *//*92 */
6407        volatile RFFIDRFVR_t RFFIDRFVR; /*receive fifo frame ID rejection filter value register *//*94 */
6408        volatile RFFIDRFMR_t RFFIDRFMR; /*receive fifo frame ID rejection filter mask register *//*96 */
6409        volatile RFRFCFR_t RFRFCFR;     /*receive fifo range filter configuration register *//*98 */
6410        volatile RFRFCTR_t RFRFCTR;     /*receive fifo range filter control register *//*9A */
6411        volatile LDTXSLAR_t LDTXSLAR;   /*last dynamic transmit slot channel A register *//*9C */
6412        volatile LDTXSLBR_t LDTXSLBR;   /*last dynamic transmit slot channel B register *//*9E */
6413        volatile PCR0_t PCR0;   /*protocol configuration register 0 *//*A0 */
6414        volatile PCR1_t PCR1;   /*protocol configuration register 1 *//*A2 */
6415        volatile PCR2_t PCR2;   /*protocol configuration register 2 *//*A4 */
6416        volatile PCR3_t PCR3;   /*protocol configuration register 3 *//*A6 */
6417        volatile PCR4_t PCR4;   /*protocol configuration register 4 *//*A8 */
6418        volatile PCR5_t PCR5;   /*protocol configuration register 5 *//*AA */
6419        volatile PCR6_t PCR6;   /*protocol configuration register 6 *//*AC */
6420        volatile PCR7_t PCR7;   /*protocol configuration register 7 *//*AE */
6421        volatile PCR8_t PCR8;   /*protocol configuration register 8 *//*B0 */
6422        volatile PCR9_t PCR9;   /*protocol configuration register 9 *//*B2 */
6423        volatile PCR10_t PCR10; /*protocol configuration register 10 *//*B4 */
6424        volatile PCR11_t PCR11; /*protocol configuration register 11 *//*B6 */
6425        volatile PCR12_t PCR12; /*protocol configuration register 12 *//*B8 */
6426        volatile PCR13_t PCR13; /*protocol configuration register 13 *//*BA */
6427        volatile PCR14_t PCR14; /*protocol configuration register 14 *//*BC */
6428        volatile PCR15_t PCR15; /*protocol configuration register 15 *//*BE */
6429        volatile PCR16_t PCR16; /*protocol configuration register 16 *//*C0 */
6430        volatile PCR17_t PCR17; /*protocol configuration register 17 *//*C2 */
6431        volatile PCR18_t PCR18; /*protocol configuration register 18 *//*C4 */
6432        volatile PCR19_t PCR19; /*protocol configuration register 19 *//*C6 */
6433        volatile PCR20_t PCR20; /*protocol configuration register 20 *//*C8 */
6434        volatile PCR21_t PCR21; /*protocol configuration register 21 *//*CA */
6435        volatile PCR22_t PCR22; /*protocol configuration register 22 *//*CC */
6436        volatile PCR23_t PCR23; /*protocol configuration register 23 *//*CE */
6437        volatile PCR24_t PCR24; /*protocol configuration register 24 *//*D0 */
6438        volatile PCR25_t PCR25; /*protocol configuration register 25 *//*D2 */
6439        volatile PCR26_t PCR26; /*protocol configuration register 26 *//*D4 */
6440        volatile PCR27_t PCR27; /*protocol configuration register 27 *//*D6 */
6441        volatile PCR28_t PCR28; /*protocol configuration register 28 *//*D8 */
6442        volatile PCR29_t PCR29; /*protocol configuration register 29 *//*DA */
6443        volatile PCR30_t PCR30; /*protocol configuration register 30 *//*DC */
6444        uint16_t reserved2[17];
6445        volatile MSG_BUFF_CCS_t MBCCS[128];     /* message buffer configuration, control & status registers 0-31 *//*100 */
6446    } FR_tag_t;
6447
6448    typedef union uF_HEADER     /* frame header */
6449    {
6450        struct {
6451            uint16_t:5;
6452            uint16_t HDCRC:11; /* Header CRC */
6453              uint16_t:2;
6454            uint16_t CYCCNT:6; /* Cycle Count */
6455              uint16_t:1;
6456            uint16_t PLDLEN:7; /* Payload Length */
6457              uint16_t:1;
6458            uint16_t PPI:1;    /* Payload Preamble Indicator */
6459            uint16_t NUF:1;    /* Null Frame Indicator */
6460            uint16_t SYF:1;    /* Sync Frame Indicator */
6461            uint16_t SUF:1;    /* Startup Frame Indicator */
6462            uint16_t FID:11;   /* Frame ID */
6463        } B;
6464        uint16_t WORDS[3];
6465    } F_HEADER_t;
6466    typedef union uS_STSTUS     /* slot status */
6467    {
6468        struct {
6469            uint16_t VFB:1;    /* Valid Frame on channel B */
6470            uint16_t SYB:1;    /* Sync Frame Indicator channel B */
6471            uint16_t NFB:1;    /* Null Frame Indicator channel B */
6472            uint16_t SUB:1;    /* Startup Frame Indicator channel B */
6473            uint16_t SEB:1;    /* Syntax Error on channel B */
6474            uint16_t CEB:1;    /* Content Error on channel B */
6475            uint16_t BVB:1;    /* Boundary Violation on channel B */
6476            uint16_t CH:1;     /* Channel */
6477            uint16_t VFA:1;    /* Valid Frame on channel A */
6478            uint16_t SYA:1;    /* Sync Frame Indicator channel A */
6479            uint16_t NFA:1;    /* Null Frame Indicator channel A */
6480            uint16_t SUA:1;    /* Startup Frame Indicator channel A */
6481            uint16_t SEA:1;    /* Syntax Error on channel A */
6482            uint16_t CEA:1;    /* Content Error on channel A */
6483            uint16_t BVA:1;    /* Boundary Violation on channel A */
6484              uint16_t:1;
6485        } RX;
6486        struct {
6487            uint16_t VFB:1;    /* Valid Frame on channel B */
6488            uint16_t SYB:1;    /* Sync Frame Indicator channel B */
6489            uint16_t NFB:1;    /* Null Frame Indicator channel B */
6490            uint16_t SUB:1;    /* Startup Frame Indicator channel B */
6491            uint16_t SEB:1;    /* Syntax Error on channel B */
6492            uint16_t CEB:1;    /* Content Error on channel B */
6493            uint16_t BVB:1;    /* Boundary Violation on channel B */
6494            uint16_t TCB:1;    /* Tx Conflict on channel B */
6495            uint16_t VFA:1;    /* Valid Frame on channel A */
6496            uint16_t SYA:1;    /* Sync Frame Indicator channel A */
6497            uint16_t NFA:1;    /* Null Frame Indicator channel A */
6498            uint16_t SUA:1;    /* Startup Frame Indicator channel A */
6499            uint16_t SEA:1;    /* Syntax Error on channel A */
6500            uint16_t CEA:1;    /* Content Error on channel A */
6501            uint16_t BVA:1;    /* Boundary Violation on channel A */
6502            uint16_t TCA:1;    /* Tx Conflict on channel A */
6503        } TX;
6504        uint16_t R;
6505    } S_STATUS_t;
6506
6507    typedef struct uMB_HEADER   /* message buffer header */
6508    {
6509        F_HEADER_t FRAME_HEADER;
6510        uint16_t DATA_OFFSET;
6511        S_STATUS_t SLOT_STATUS;
6512    } MB_HEADER_t;
6513
6514/* Define memories */
6515
6516#define SRAM_START    0x40000000
6517#define SRAM_SIZE        0x40000
6518#define SRAM_END      0x4003FFFF
6519
6520#define FLASH_START   0x00000000
6521#define FLASH_SIZE      0x400000
6522#define FLASH_END     0x003FFFFF
6523
6524/* Define instances of modules */
6525#define PBRIDGE_A (*( volatile struct PBRIDGE_A_tag *)  0xC3F00000)
6526#define FMPLL     (*( volatile struct FMPLL_tag *)      0xC3F80000)
6527#define EBI       (*( volatile struct EBI_tag *)        0xC3F84000)
6528#define FLASH_A   (*( volatile struct FLASH_tag *)      0xC3F88000)
6529#define FLASH FLASH_A
6530#define FLASH_B   (*( volatile struct FLASH_tag *)      0xC3F8C000)
6531#define SIU       (*( volatile struct SIU_tag *)        0xC3F90000)
6532
6533#define EMIOS     (*( volatile struct EMIOS_tag *)      0xC3FA0000)
6534#define PMC       (*( volatile struct PMC_tag *)        0xC3FBC000)
6535
6536#define ETPU      (*( volatile struct ETPU_tag *)       0xC3FC0000)
6537#define ETPU_DATA_RAM      (*( uint32_t *)              0xC3FC8000)
6538#define ETPU_DATA_RAM_END                               0xC3FC8FFC
6539#define ETPU_DATA_RAM_EXT  (*( uint32_t *)              0xC3FCC000)
6540#define CODE_RAM           (*( uint32_t *)              0xC3FD0000)
6541#define ETPU_CODE_RAM      (*( uint32_t *)              0xC3FD0000)
6542
6543#define PIT       (*( volatile struct PIT_tag *)        0xC3FF0000)
6544
6545#define PBRIDGE_B (*( volatile struct PBRIDGE_B_tag *)  0xFFF00000)
6546#define XBAR      (*( volatile struct XBAR_tag *)       0xFFF04000)
6547#define MPU       (*( volatile struct MPU_tag *)        0xFFF10000)
6548#define SWT       (*( volatile struct SWT_tag *)        0xFFF38000)
6549#define STM       (*( volatile struct STM_tag *)        0xFFF3C000)
6550#define ECSM      (*( volatile struct ECSM_tag *)       0xFFF40000)
6551#define EDMA_A    (*( volatile struct EDMA_tag *)       0xFFF44000)
6552#define EDMA EDMA_A
6553#define INTC      (*( volatile struct INTC_tag *)       0xFFF48000)
6554#define EDMA_B    (*( volatile struct EDMA_tag *)       0xFFF54000)
6555
6556#define EQADC_A   (*( volatile struct EQADC_tag *)      0xFFF80000)
6557#define EQADC_B   (*( volatile struct EQADC_tag *)      0xFFF84000)
6558
6559#define DECFIL_A   (*( volatile struct DECFIL_tag *)      0xFFF88000)
6560#define DECFIL_B   (*( volatile struct DECFIL_tag *)      0xFFF88800)
6561#define DECFIL_C   (*( volatile struct DECFIL_tag *)      0xFFF89000)
6562#define DECFIL_D   (*( volatile struct DECFIL_tag *)      0xFFF89800)
6563#define DECFIL_E   (*( volatile struct DECFIL_tag *)      0xFFF8A000)
6564#define DECFIL_F   (*( volatile struct DECFIL_tag *)      0xFFF8A800)
6565#define DECFIL_G   (*( volatile struct DECFIL_tag *)      0xFFF8B000)
6566#define DECFIL_H   (*( volatile struct DECFIL_tag *)      0xFFF8B800)
6567
6568#define DSPI_A    (*( volatile struct DSPI_tag *)       0xFFF90000)
6569#define DSPI_B    (*( volatile struct DSPI_tag *)       0xFFF94000)
6570#define DSPI_C    (*( volatile struct DSPI_tag *)       0xFFF98000)
6571#define DSPI_D    (*( volatile struct DSPI_tag *)       0xFFF9C000)
6572
6573#define ESCI_A    (*( volatile struct ESCI_tag *)       0xFFFB0000)
6574#define ESCI_B    (*( volatile struct ESCI_tag *)       0xFFFB4000)
6575#define ESCI_C    (*( volatile struct ESCI_tag *)       0xFFFB8000)
6576#define ESCI_D    (*( volatile struct ESCI_tag *)       0xFFFBC000)
6577
6578#define CAN_A     (*( volatile struct FLEXCAN2_tag *)   0xFFFC0000)
6579#define CAN_B     (*( volatile struct FLEXCAN2_tag *)   0xFFFC4000)
6580#define CAN_C     (*( volatile struct FLEXCAN2_tag *)   0xFFFC8000)
6581#define CAN_D     (*( volatile struct FLEXCAN2_tag *)   0xFFFCC000)
6582
6583#define FR        (*( volatile struct FR_tag *)         0xFFFE0000)
6584#define TSENS     (*( volatile struct TSENS_tag *)      0xFFFEC000)
6585
6586#ifdef __MWERKS__
6587#pragma pop
6588#endif
6589
6590#ifdef  __cplusplus
6591}
6592#endif
6593#endif                          /* ifdef _MPC5674_H */
6594/*********************************************************************
6595 *
6596 * Copyright:
6597 *  Freescale Semiconductor, INC. All Rights Reserved.
6598 *  You are hereby granted a copyright license to use, modify, and
6599 *  distribute the SOFTWARE so long as this entire notice is
6600 *  retained without alteration in any modified and/or redistributed
6601 *  versions, and that such modified versions are clearly identified
6602 *  as such. No licenses are granted by implication, estoppel or
6603 *  otherwise under any patents or trademarks of Freescale
6604 *  Semiconductor, Inc. This software is provided on an "AS IS"
6605 *  basis and without warranty.
6606 *
6607 *  To the maximum extent permitted by applicable law, Freescale
6608 *  Semiconductor DISCLAIMS ALL WARRANTIES WHETHER EXPRESS OR IMPLIED,
6609 *  INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
6610 *  PARTICULAR PURPOSE AND ANY WARRANTY AGAINST INFRINGEMENT WITH
6611 *  REGARD TO THE SOFTWARE (INCLUDING ANY MODIFIED VERSIONS THEREOF)
6612 *  AND ANY ACCOMPANYING WRITTEN MATERIALS.
6613 *
6614 *  To the maximum extent permitted by applicable law, IN NO EVENT
6615 *  SHALL Freescale Semiconductor BE LIABLE FOR ANY DAMAGES WHATSOEVER
6616 *  (INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
6617 *  BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER
6618 *  PECUNIARY LOSS) ARISING OF THE USE OR INABILITY TO USE THE SOFTWARE.
6619 *
6620 *  Freescale Semiconductor assumes no responsibility for the
6621 *  maintenance and support of this software
6622 *
6623 ********************************************************************/
Note: See TracBrowser for help on using the repository browser.