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