]> rtime.felk.cvut.cz Git - arc.git/blob - arch/ppc/mpc55xx/drivers/mpc5567.h
Merged in from default
[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     CC_EXTENSION struct EDMA_tag {\r
2000         union {\r
2001             vuint32_t R;\r
2002             struct {\r
2003                 vuint32_t:16;\r
2004                 vuint32_t GRP3PRI:2;\r
2005                 vuint32_t GRP2PRI:2;\r
2006                 vuint32_t GRP1PRI:2;\r
2007                 vuint32_t GRP0PRI:2;\r
2008                   vuint32_t:4;\r
2009                 vuint32_t ERGA:1;\r
2010                 vuint32_t ERCA:1;\r
2011                 vuint32_t EDBG:1;\r
2012                 vuint32_t EBW:1;\r
2013             } B;\r
2014         } CR;                   /* Control Register */\r
2015         union {\r
2016             vuint32_t R;\r
2017             struct {\r
2018                 vuint32_t VLD:1;\r
2019                   vuint32_t:15;\r
2020                 vuint32_t GPE:1;\r
2021                 vuint32_t CPE:1;\r
2022                 vuint32_t ERRCHN:6;\r
2023                 vuint32_t SAE:1;\r
2024                 vuint32_t SOE:1;\r
2025                 vuint32_t DAE:1;\r
2026                 vuint32_t DOE:1;\r
2027                 vuint32_t NCE:1;\r
2028                 vuint32_t SGE:1;\r
2029                 vuint32_t SBE:1;\r
2030                 vuint32_t DBE:1;\r
2031             } B;\r
2032         } ESR;                  /* Error Status Register */\r
2033         uint32_t edma_reserved_erqrh;\r
2034 \r
2035         union {\r
2036             vuint32_t R;\r
2037             struct {\r
2038                 vuint32_t ERQ31:1;\r
2039                 vuint32_t ERQ30:1;\r
2040                 vuint32_t ERQ29:1;\r
2041                 vuint32_t ERQ28:1;\r
2042                 vuint32_t ERQ27:1;\r
2043                 vuint32_t ERQ26:1;\r
2044                 vuint32_t ERQ25:1;\r
2045                 vuint32_t ERQ24:1;\r
2046                 vuint32_t ERQ23:1;\r
2047                 vuint32_t ERQ22:1;\r
2048                 vuint32_t ERQ21:1;\r
2049                 vuint32_t ERQ20:1;\r
2050                 vuint32_t ERQ19:1;\r
2051                 vuint32_t ERQ18:1;\r
2052                 vuint32_t ERQ17:1;\r
2053                 vuint32_t ERQ16:1;\r
2054                 vuint32_t ERQ15:1;\r
2055                 vuint32_t ERQ14:1;\r
2056                 vuint32_t ERQ13:1;\r
2057                 vuint32_t ERQ12:1;\r
2058                 vuint32_t ERQ11:1;\r
2059                 vuint32_t ERQ10:1;\r
2060                 vuint32_t ERQ09:1;\r
2061                 vuint32_t ERQ08:1;\r
2062                 vuint32_t ERQ07:1;\r
2063                 vuint32_t ERQ06:1;\r
2064                 vuint32_t ERQ05:1;\r
2065                 vuint32_t ERQ04:1;\r
2066                 vuint32_t ERQ03:1;\r
2067                 vuint32_t ERQ02:1;\r
2068                 vuint32_t ERQ01:1;\r
2069                 vuint32_t ERQ00:1;\r
2070             } B;\r
2071         } ERQRL;                /* DMA Enable Request Register Low */\r
2072         uint32_t edma_reserved_eeirh;\r
2073 \r
2074         union {\r
2075             vuint32_t R;\r
2076             struct {\r
2077                 vuint32_t EEI31:1;\r
2078                 vuint32_t EEI30:1;\r
2079                 vuint32_t EEI29:1;\r
2080                 vuint32_t EEI28:1;\r
2081                 vuint32_t EEI27:1;\r
2082                 vuint32_t EEI26:1;\r
2083                 vuint32_t EEI25:1;\r
2084                 vuint32_t EEI24:1;\r
2085                 vuint32_t EEI23:1;\r
2086                 vuint32_t EEI22:1;\r
2087                 vuint32_t EEI21:1;\r
2088                 vuint32_t EEI20:1;\r
2089                 vuint32_t EEI19:1;\r
2090                 vuint32_t EEI18:1;\r
2091                 vuint32_t EEI17:1;\r
2092                 vuint32_t EEI16:1;\r
2093                 vuint32_t EEI15:1;\r
2094                 vuint32_t EEI14:1;\r
2095                 vuint32_t EEI13:1;\r
2096                 vuint32_t EEI12:1;\r
2097                 vuint32_t EEI11:1;\r
2098                 vuint32_t EEI10:1;\r
2099                 vuint32_t EEI09:1;\r
2100                 vuint32_t EEI08:1;\r
2101                 vuint32_t EEI07:1;\r
2102                 vuint32_t EEI06:1;\r
2103                 vuint32_t EEI05:1;\r
2104                 vuint32_t EEI04:1;\r
2105                 vuint32_t EEI03:1;\r
2106                 vuint32_t EEI02:1;\r
2107                 vuint32_t EEI01:1;\r
2108                 vuint32_t EEI00:1;\r
2109             } B;\r
2110         } EEIRL;                /* DMA Enable Error Interrupt Register Low */\r
2111         union {\r
2112             vuint8_t R;\r
2113             vuint8_t B;\r
2114         } SERQR;                /* DMA Set Enable Request Register */\r
2115         union {\r
2116             vuint8_t R;\r
2117             vuint8_t B;\r
2118         } CERQR;                /* DMA Clear Enable Request Register */\r
2119         union {\r
2120             vuint8_t R;\r
2121             vuint8_t B;\r
2122         } SEEIR;                /* DMA Set Enable Error Interrupt Register */\r
2123         union {\r
2124             vuint8_t R;\r
2125             vuint8_t B;\r
2126         } CEEIR;                /* DMA Clear Enable Error Interrupt Register */\r
2127         union {\r
2128             vuint8_t R;\r
2129             vuint8_t B;\r
2130         } CIRQR;                /* DMA Clear Interrupt Request Register */\r
2131         union {\r
2132             vuint8_t R;\r
2133             vuint8_t B;\r
2134         } CER;                  /* DMA Clear error Register */\r
2135         union {\r
2136             vuint8_t R;\r
2137             vuint8_t B;\r
2138         } SSBR;                 /* Set Start Bit Register */\r
2139         union {\r
2140             vuint8_t R;\r
2141             vuint8_t B;\r
2142         } CDSBR;                /* Clear Done Status Bit Register */\r
2143         uint32_t edma_reserved_irqrh;\r
2144 \r
2145         union {\r
2146             vuint32_t R;\r
2147             struct {\r
2148                 vuint32_t INT31:1;\r
2149                 vuint32_t INT30:1;\r
2150                 vuint32_t INT29:1;\r
2151                 vuint32_t INT28:1;\r
2152                 vuint32_t INT27:1;\r
2153                 vuint32_t INT26:1;\r
2154                 vuint32_t INT25:1;\r
2155                 vuint32_t INT24:1;\r
2156                 vuint32_t INT23:1;\r
2157                 vuint32_t INT22:1;\r
2158                 vuint32_t INT21:1;\r
2159                 vuint32_t INT20:1;\r
2160                 vuint32_t INT19:1;\r
2161                 vuint32_t INT18:1;\r
2162                 vuint32_t INT17:1;\r
2163                 vuint32_t INT16:1;\r
2164                 vuint32_t INT15:1;\r
2165                 vuint32_t INT14:1;\r
2166                 vuint32_t INT13:1;\r
2167                 vuint32_t INT12:1;\r
2168                 vuint32_t INT11:1;\r
2169                 vuint32_t INT10:1;\r
2170                 vuint32_t INT09:1;\r
2171                 vuint32_t INT08:1;\r
2172                 vuint32_t INT07:1;\r
2173                 vuint32_t INT06:1;\r
2174                 vuint32_t INT05:1;\r
2175                 vuint32_t INT04:1;\r
2176                 vuint32_t INT03:1;\r
2177                 vuint32_t INT02:1;\r
2178                 vuint32_t INT01:1;\r
2179                 vuint32_t INT00:1;\r
2180             } B;\r
2181         } IRQRL;                /* DMA Interrupt Request Low */\r
2182         uint32_t edma_reserved_erh;\r
2183 \r
2184         union {\r
2185             vuint32_t R;\r
2186             struct {\r
2187                 vuint32_t ERR31:1;\r
2188                 vuint32_t ERR30:1;\r
2189                 vuint32_t ERR29:1;\r
2190                 vuint32_t ERR28:1;\r
2191                 vuint32_t ERR27:1;\r
2192                 vuint32_t ERR26:1;\r
2193                 vuint32_t ERR25:1;\r
2194                 vuint32_t ERR24:1;\r
2195                 vuint32_t ERR23:1;\r
2196                 vuint32_t ERR22:1;\r
2197                 vuint32_t ERR21:1;\r
2198                 vuint32_t ERR20:1;\r
2199                 vuint32_t ERR19:1;\r
2200                 vuint32_t ERR18:1;\r
2201                 vuint32_t ERR17:1;\r
2202                 vuint32_t ERR16:1;\r
2203                 vuint32_t ERR15:1;\r
2204                 vuint32_t ERR14:1;\r
2205                 vuint32_t ERR13:1;\r
2206                 vuint32_t ERR12:1;\r
2207                 vuint32_t ERR11:1;\r
2208                 vuint32_t ERR10:1;\r
2209                 vuint32_t ERR09:1;\r
2210                 vuint32_t ERR08:1;\r
2211                 vuint32_t ERR07:1;\r
2212                 vuint32_t ERR06:1;\r
2213                 vuint32_t ERR05:1;\r
2214                 vuint32_t ERR04:1;\r
2215                 vuint32_t ERR03:1;\r
2216                 vuint32_t ERR02:1;\r
2217                 vuint32_t ERR01:1;\r
2218                 vuint32_t ERR00:1;\r
2219             } B;\r
2220         } ERL;                  /* DMA Error Low */\r
2221         uint32_t edma_reserved1[52];\r
2222 \r
2223         union {\r
2224             vuint8_t R;\r
2225             struct {\r
2226                 vuint8_t ECP:1;\r
2227 \r
2228                   vuint8_t:1;\r
2229                 vuint8_t GRPPRI:2;\r
2230                 vuint8_t CHPRI:4;\r
2231 \r
2232             } B;\r
2233         } CPR[64];              /* Channel n Priority */\r
2234 \r
2235         uint32_t edma_reserved2[944];\r
2236 \r
2237 /****************************************************************************/\r
2238 /*       DMA2 Transfer Control Descriptor                                   */\r
2239 /****************************************************************************/\r
2240 \r
2241         CC_EXTENSION struct tcd_t {          /*for "standard" format TCDs (when EDMA.TCD[x].CITER.E_LINK==BITER.E_LINK=0 && EDMA.EMLM=0 ) */\r
2242             vuint32_t SADDR;    /* source address */\r
2243 \r
2244             vuint16_t SMOD:5;   /* source address modulo */\r
2245             vuint16_t SSIZE:3;  /* source transfer size */\r
2246             vuint16_t DMOD:5;   /* destination address modulo */\r
2247             vuint16_t DSIZE:3;  /* destination transfer size */\r
2248             vint16_t SOFF;      /* signed source address offset */\r
2249 \r
2250             vuint32_t NBYTES;   /* inner (\93minor\94) byte count */\r
2251 \r
2252             vint32_t SLAST;     /* last destination address adjustment, or\r
2253 \r
2254                                    scatter/gather address (if e_sg = 1) */\r
2255             vuint32_t DADDR;    /* destination address */\r
2256 \r
2257             vuint16_t CITERE_LINK:1;\r
2258             vuint16_t CITER:15;\r
2259 \r
2260             vint16_t DOFF;      /* signed destination address offset */\r
2261 \r
2262             vint32_t DLAST_SGA;\r
2263 \r
2264             vuint16_t BITERE_LINK:1;    /* beginning ("major") iteration count */\r
2265             vuint16_t BITER:15;\r
2266 \r
2267             vuint16_t BWC:2;    /* bandwidth control */\r
2268             vuint16_t MAJORLINKCH:6;    /* enable channel-to-channel link */\r
2269             vuint16_t DONE:1;   /* channel done */\r
2270             vuint16_t ACTIVE:1; /* channel active */\r
2271             vuint16_t MAJORE_LINK:1;    /* enable channel-to-channel link */\r
2272             vuint16_t E_SG:1;   /* enable scatter/gather descriptor */\r
2273             vuint16_t D_REQ:1;  /* disable ipd_req when done */\r
2274             vuint16_t INT_HALF:1;       /* interrupt on citer = (biter >> 1) */\r
2275             vuint16_t INT_MAJ:1;        /* interrupt on major loop completion */\r
2276             vuint16_t START:1;  /* explicit channel start */\r
2277         } TCD[64];              /* transfer_control_descriptor */\r
2278 \r
2279     };\r
2280 \r
2281     CC_EXTENSION struct EDMA_TCD_alt1_tag {  /*for alternate format TCDs (when EDMA.TCD[x].CITER.E_LINK==BITER.E_LINK=1 ) */\r
2282 \r
2283         struct tcd_alt1_t {\r
2284             vuint32_t SADDR;    /* source address */\r
2285 \r
2286             vuint16_t SMOD:5;   /* source address modulo */\r
2287             vuint16_t SSIZE:3;  /* source transfer size */\r
2288             vuint16_t DMOD:5;   /* destination address modulo */\r
2289             vuint16_t DSIZE:3;  /* destination transfer size */\r
2290             vint16_t SOFF;      /* signed source address offset */\r
2291 \r
2292             vuint32_t NBYTES;   /* inner (\93minor\94) byte count */\r
2293 \r
2294             vint32_t SLAST;     /* last destination address adjustment, or\r
2295 \r
2296                                    scatter/gather address (if e_sg = 1) */\r
2297             vuint32_t DADDR;    /* destination address */\r
2298 \r
2299             vuint16_t CITERE_LINK:1;\r
2300             vuint16_t CITERLINKCH:6;\r
2301             vuint16_t CITER:9;\r
2302 \r
2303             vint16_t DOFF;      /* signed destination address offset */\r
2304 \r
2305             vint32_t DLAST_SGA;\r
2306 \r
2307             vuint16_t BITERE_LINK:1;    /* beginning (\93major\94) iteration count */\r
2308             vuint16_t BITERLINKCH:6;\r
2309             vuint16_t BITER:9;\r
2310 \r
2311             vuint16_t BWC:2;    /* bandwidth control */\r
2312             vuint16_t MAJORLINKCH:6;    /* enable channel-to-channel link */\r
2313             vuint16_t DONE:1;   /* channel done */\r
2314             vuint16_t ACTIVE:1; /* channel active */\r
2315             vuint16_t MAJORE_LINK:1;    /* enable channel-to-channel link */\r
2316             vuint16_t E_SG:1;   /* enable scatter/gather descriptor */\r
2317             vuint16_t D_REQ:1;  /* disable ipd_req when done */\r
2318             vuint16_t INT_HALF:1;       /* interrupt on citer = (biter >> 1) */\r
2319             vuint16_t INT_MAJ:1;        /* interrupt on major loop completion */\r
2320             vuint16_t START:1;  /* explicit channel start */\r
2321         } TCD[64];              /* transfer_control_descriptor */\r
2322     };\r
2323 /****************************************************************************/\r
2324 /*                          MODULE : INTC                                   */\r
2325 /****************************************************************************/\r
2326     CC_EXTENSION struct INTC_tag {\r
2327         union {\r
2328             vuint32_t R;\r
2329             struct {\r
2330                 vuint32_t:26;\r
2331                 vuint32_t VTES:1;\r
2332                   vuint32_t:4;\r
2333                 vuint32_t HVEN:1;\r
2334             } B;\r
2335         } MCR;                  /* Module Configuration Register */\r
2336 \r
2337         int32_t INTC_reserved00;\r
2338 \r
2339         union {\r
2340             vuint32_t R;\r
2341             struct {\r
2342                 vuint32_t:28;\r
2343                 vuint32_t PRI:4;\r
2344             } B;\r
2345         } CPR;                  /* Current Priority Register */\r
2346 \r
2347         uint32_t intc_reserved1;\r
2348 \r
2349         union {\r
2350             vuint32_t R;\r
2351             struct {\r
2352                 vuint32_t VTBA:21;\r
2353                 vuint32_t INTVEC:9;\r
2354                   vuint32_t:2;\r
2355             } B;\r
2356         } IACKR;                /* Interrupt Acknowledge Register */\r
2357 \r
2358         uint32_t intc_reserved2;\r
2359 \r
2360         union {\r
2361             vuint32_t R;\r
2362             struct {\r
2363                 vuint32_t:32;\r
2364             } B;\r
2365         } EOIR;                 /* End of Interrupt Register */\r
2366 \r
2367         uint32_t intc_reserved3;\r
2368 \r
2369         union {\r
2370             vuint8_t R;\r
2371             struct {\r
2372                 vuint8_t:6;\r
2373                 vuint8_t SET:1;\r
2374                 vuint8_t CLR:1;\r
2375             } B;\r
2376         } SSCIR[8];             /* Software Set/Clear Interruput Register */\r
2377 \r
2378         uint32_t intc_reserved4[6];\r
2379 \r
2380         union {\r
2381             vuint8_t R;\r
2382             struct {\r
2383                 vuint8_t:4;\r
2384                 vuint8_t PRI:4;\r
2385             } B;\r
2386         } PSR[358];             /* Software Set/Clear Interrupt Register */\r
2387 \r
2388     };\r
2389 /****************************************************************************/\r
2390 /*                          MODULE : EQADC                                  */\r
2391 /****************************************************************************/\r
2392     CC_EXTENSION struct EQADC_tag {\r
2393         union {\r
2394             vuint32_t R;\r
2395             struct {\r
2396                 vuint32_t:27;\r
2397                 vuint32_t ESSIE:2;\r
2398                   vuint32_t:1;\r
2399                 vuint32_t DBG:2;\r
2400             } B;\r
2401         } MCR;                  /* Module Configuration Register */\r
2402 \r
2403         int32_t EQADC_reserved00;\r
2404 \r
2405         union {\r
2406             vuint32_t R;\r
2407             struct {\r
2408                 vuint32_t:6;\r
2409                 vuint32_t NMF:26;\r
2410             } B;\r
2411         } NMSFR;                /* Null Message Send Format Register */\r
2412 \r
2413         union {\r
2414             vuint32_t R;\r
2415             struct {\r
2416                 vuint32_t:28;\r
2417                 vuint32_t DFL:4;\r
2418             } B;\r
2419         } ETDFR;                /* External Trigger Digital Filter Register */\r
2420 \r
2421         union {\r
2422             vuint32_t R;\r
2423             struct {\r
2424                 vuint32_t CFPUSH:32;\r
2425             } B;\r
2426         } CFPR[6];              /* CFIFO Push Registers */\r
2427 \r
2428         uint32_t eqadc_reserved1;\r
2429 \r
2430         uint32_t eqadc_reserved2;\r
2431 \r
2432         union {\r
2433             vuint32_t R;\r
2434             struct {\r
2435                 vuint32_t:16;\r
2436                 vuint32_t RFPOP:16;\r
2437             } B;\r
2438         } RFPR[6];              /* Result FIFO Pop Registers */\r
2439 \r
2440         uint32_t eqadc_reserved3;\r
2441 \r
2442         uint32_t eqadc_reserved4;\r
2443 \r
2444         union {\r
2445             vuint16_t R;\r
2446             struct {\r
2447                 vuint16_t:5;\r
2448                 vuint16_t SSE:1;\r
2449                 vuint16_t CFINV:1;\r
2450                   vuint16_t:1;\r
2451                 vuint16_t MODE:4;\r
2452                   vuint16_t:4;\r
2453             } B;\r
2454         } CFCR[6];              /* CFIFO Control Registers */\r
2455 \r
2456         uint32_t eqadc_reserved5;\r
2457 \r
2458         union {\r
2459             vuint16_t R;\r
2460             struct {\r
2461                 vuint16_t NCIE:1;\r
2462                 vuint16_t TORIE:1;\r
2463                 vuint16_t PIE:1;\r
2464                 vuint16_t EOQIE:1;\r
2465                 vuint16_t CFUIE:1;\r
2466                   vuint16_t:1;\r
2467                 vuint16_t CFFE:1;\r
2468                 vuint16_t CFFS:1;\r
2469                   vuint16_t:4;\r
2470                 vuint16_t RFOIE:1;\r
2471                   vuint16_t:1;\r
2472                 vuint16_t RFDE:1;\r
2473                 vuint16_t RFDS:1;\r
2474             } B;\r
2475         } IDCR[6];              /* Interrupt and DMA Control Registers */\r
2476 \r
2477         uint32_t eqadc_reserved6;\r
2478 \r
2479         union {\r
2480             vuint32_t R;\r
2481             struct {\r
2482                 vuint32_t NCF:1;\r
2483                 vuint32_t TORF:1;\r
2484                 vuint32_t PF:1;\r
2485                 vuint32_t EOQF:1;\r
2486                 vuint32_t CFUF:1;\r
2487                 vuint32_t SSS:1;\r
2488                 vuint32_t CFFF:1;\r
2489                   vuint32_t:5;\r
2490                 vuint32_t RFOF:1;\r
2491                   vuint32_t:1;\r
2492                 vuint32_t RFDF:1;\r
2493                   vuint32_t:1;\r
2494                 vuint32_t CFCTR:4;\r
2495                 vuint32_t TNXTPTR:4;\r
2496                 vuint32_t RFCTR:4;\r
2497                 vuint32_t POPNXTPTR:4;\r
2498             } B;\r
2499         } FISR[6];              /* FIFO and Interrupt Status Registers */\r
2500 \r
2501         uint32_t eqadc_reserved7;\r
2502 \r
2503         uint32_t eqadc_reserved8;\r
2504 \r
2505         union {\r
2506             vuint16_t R;\r
2507             struct {\r
2508                 vuint16_t:5;\r
2509                 vuint16_t TCCF:11;\r
2510             } B;\r
2511         } CFTCR[6];             /* CFIFO Transfer Counter Registers */\r
2512 \r
2513         uint32_t eqadc_reserved9;\r
2514 \r
2515         union {\r
2516             vuint32_t R;\r
2517             struct {\r
2518                 vuint32_t CFS0:2;\r
2519                 vuint32_t CFS1:2;\r
2520                 vuint32_t CFS2:2;\r
2521                 vuint32_t CFS3:2;\r
2522                 vuint32_t CFS4:2;\r
2523                 vuint32_t CFS5:2;\r
2524                   vuint32_t:5;\r
2525                 vuint32_t LCFTCB0:4;\r
2526                 vuint32_t TC_LCFTCB0:11;\r
2527             } B;\r
2528         } CFSSR0;               /* CFIFO Status Register 0 */\r
2529 \r
2530         union {\r
2531             vuint32_t R;\r
2532             struct {\r
2533                 vuint32_t CFS0:2;\r
2534                 vuint32_t CFS1:2;\r
2535                 vuint32_t CFS2:2;\r
2536                 vuint32_t CFS3:2;\r
2537                 vuint32_t CFS4:2;\r
2538                 vuint32_t CFS5:2;\r
2539                   vuint32_t:5;\r
2540                 vuint32_t LCFTCB1:4;\r
2541                 vuint32_t TC_LCFTCB1:11;\r
2542             } B;\r
2543         } CFSSR1;               /* CFIFO Status Register 1 */\r
2544 \r
2545         union {\r
2546             vuint32_t R;\r
2547             struct {\r
2548                 vuint32_t CFS0:2;\r
2549                 vuint32_t CFS1:2;\r
2550                 vuint32_t CFS2:2;\r
2551                 vuint32_t CFS3:2;\r
2552                 vuint32_t CFS4:2;\r
2553                 vuint32_t CFS5:2;\r
2554                   vuint32_t:4;\r
2555                 vuint32_t ECBNI:1;\r
2556                 vuint32_t LCFTSSI:4;\r
2557                 vuint32_t TC_LCFTSSI:11;\r
2558             } B;\r
2559         } CFSSR2;               /* CFIFO Status Register 2 */\r
2560 \r
2561         union {\r
2562             vuint32_t R;\r
2563             struct {\r
2564                 vuint32_t CFS0:2;\r
2565                 vuint32_t CFS1:2;\r
2566                 vuint32_t CFS2:2;\r
2567                 vuint32_t CFS3:2;\r
2568                 vuint32_t CFS4:2;\r
2569                 vuint32_t CFS5:2;\r
2570                   vuint32_t:20;\r
2571             } B;\r
2572         } CFSR;\r
2573 \r
2574         uint32_t eqadc_reserved11;\r
2575 \r
2576         union {\r
2577             vuint32_t R;\r
2578             struct {\r
2579                 vuint32_t:21;\r
2580                 vuint32_t MDT:3;\r
2581                   vuint32_t:4;\r
2582                 vuint32_t BR:4;\r
2583             } B;\r
2584         } SSICR;                /* SSI Control Register */\r
2585 \r
2586         union {\r
2587             vuint32_t R;\r
2588             struct {\r
2589                 vuint32_t RDV:1;\r
2590                   vuint32_t:5;\r
2591                 vuint32_t RDATA:26;\r
2592             } B;\r
2593         } SSIRDR;               /* SSI Recieve Data Register */\r
2594 \r
2595         uint32_t eqadc_reserved12[17];\r
2596 \r
2597         struct {\r
2598             union {\r
2599                 vuint32_t R;\r
2600                 struct {\r
2601                     vuint32_t:32;\r
2602                 } B;\r
2603             } R[4];\r
2604 \r
2605             uint32_t eqadc_reserved13[12];\r
2606 \r
2607         } CF[6];\r
2608 \r
2609         uint32_t eqadc_reserved14[32];\r
2610 \r
2611         struct {\r
2612             union {\r
2613                 vuint32_t R;\r
2614                 struct {\r
2615                     vuint32_t:32;\r
2616                 } B;\r
2617             } R[4];\r
2618 \r
2619             uint32_t eqadc_reserved15[12];\r
2620 \r
2621         } RF[6];\r
2622 \r
2623     };\r
2624 /****************************************************************************/\r
2625 /*                          MODULE : DSPI                                   */\r
2626 /****************************************************************************/\r
2627     struct DSPI_tag {\r
2628         union {\r
2629             vuint32_t R;\r
2630             struct {\r
2631                 vuint32_t MSTR:1;\r
2632                 vuint32_t CONT_SCKE:1;\r
2633                 vuint32_t DCONF:2;\r
2634                 vuint32_t FRZ:1;\r
2635                 vuint32_t MTFE:1;\r
2636                 vuint32_t PCSSE:1;\r
2637                 vuint32_t ROOE:1;\r
2638                   vuint32_t:2;\r
2639                 vuint32_t PCSIS5:1;\r
2640                 vuint32_t PCSIS4:1;\r
2641                 vuint32_t PCSIS3:1;\r
2642                 vuint32_t PCSIS2:1;\r
2643                 vuint32_t PCSIS1:1;\r
2644                 vuint32_t PCSIS0:1;\r
2645                 vuint32_t DOZE:1;\r
2646                 vuint32_t MDIS:1;\r
2647                 vuint32_t DIS_TXF:1;\r
2648                 vuint32_t DIS_RXF:1;\r
2649                 vuint32_t CLR_TXF:1;\r
2650                 vuint32_t CLR_RXF:1;\r
2651                 vuint32_t SMPL_PT:2;\r
2652                   vuint32_t:7;\r
2653                 vuint32_t HALT:1;\r
2654             } B;\r
2655         } MCR;                  /* Module Configuration Register */\r
2656 \r
2657         uint32_t dspi_reserved1;\r
2658 \r
2659         union {\r
2660             vuint32_t R;\r
2661             struct {\r
2662                 vuint32_t TCNT:16;\r
2663                   vuint32_t:16;\r
2664             } B;\r
2665         } TCR;\r
2666 \r
2667         union {\r
2668             vuint32_t R;\r
2669             struct {\r
2670                 vuint32_t DBR:1;\r
2671                 vuint32_t FMSZ:4;\r
2672                 vuint32_t CPOL:1;\r
2673                 vuint32_t CPHA:1;\r
2674                 vuint32_t LSBFE:1;\r
2675                 vuint32_t PCSSCK:2;\r
2676                 vuint32_t PASC:2;\r
2677                 vuint32_t PDT:2;\r
2678                 vuint32_t PBR:2;\r
2679                 vuint32_t CSSCK:4;\r
2680                 vuint32_t ASC:4;\r
2681                 vuint32_t DT:4;\r
2682                 vuint32_t BR:4;\r
2683             } B;\r
2684         } CTAR[8];              /* Clock and Transfer Attributes Registers */\r
2685 \r
2686         union {\r
2687             vuint32_t R;\r
2688             struct {\r
2689                 vuint32_t TCF:1;\r
2690                 vuint32_t TXRXS:1;\r
2691                   vuint32_t:1;\r
2692                 vuint32_t EOQF:1;\r
2693                 vuint32_t TFUF:1;\r
2694                   vuint32_t:1;\r
2695                 vuint32_t TFFF:1;\r
2696                   vuint32_t:5;\r
2697                 vuint32_t RFOF:1;\r
2698                   vuint32_t:1;\r
2699                 vuint32_t RFDF:1;\r
2700                   vuint32_t:1;\r
2701                 vuint32_t TXCTR:4;\r
2702                 vuint32_t TXNXTPTR:4;\r
2703                 vuint32_t RXCTR:4;\r
2704                 vuint32_t POPNXTPTR:4;\r
2705             } B;\r
2706         } SR;                   /* Status Register */\r
2707 \r
2708         union {\r
2709             vuint32_t R;\r
2710             struct {\r
2711                 vuint32_t TCFRE:1;\r
2712                   vuint32_t:2;\r
2713                 vuint32_t EOQFRE:1;\r
2714                 vuint32_t TFUFRE:1;\r
2715                   vuint32_t:1;\r
2716                 vuint32_t TFFFRE:1;\r
2717                 vuint32_t TFFFDIRS:1;\r
2718                   vuint32_t:4;\r
2719                 vuint32_t RFOFRE:1;\r
2720                   vuint32_t:1;\r
2721                 vuint32_t RFDFRE:1;\r
2722                 vuint32_t RFDFDIRS:1;\r
2723                   vuint32_t:16;\r
2724             } B;\r
2725         } RSER;                 /* DMA/Interrupt Request Select and Enable Register */\r
2726 \r
2727         union {\r
2728             vuint32_t R;\r
2729             struct {\r
2730                 vuint32_t CONT:1;\r
2731                 vuint32_t CTAS:3;\r
2732                 vuint32_t EOQ:1;\r
2733                 vuint32_t CTCNT:1;\r
2734                   vuint32_t:4;\r
2735                 vuint32_t PCS5:1;\r
2736                 vuint32_t PCS4:1;\r
2737                 vuint32_t PCS3:1;\r
2738                 vuint32_t PCS2:1;\r
2739                 vuint32_t PCS1:1;\r
2740                 vuint32_t PCS0:1;\r
2741                 vuint32_t TXDATA:16;\r
2742             } B;\r
2743         } PUSHR;                /* PUSH TX FIFO Register */\r
2744 \r
2745         union {\r
2746             vuint32_t R;\r
2747             struct {\r
2748                 vuint32_t:16;\r
2749                 vuint32_t RXDATA:16;\r
2750             } B;\r
2751         } POPR;                 /* POP RX FIFO Register */\r
2752 \r
2753         union {\r
2754             vuint32_t R;\r
2755             struct {\r
2756                 vuint32_t TXCMD:16;\r
2757                 vuint32_t TXDATA:16;\r
2758             } B;\r
2759         } TXFR[4];              /* Transmit FIFO Registers */\r
2760 \r
2761         vuint32_t DSPI_reserved_txf[12];\r
2762 \r
2763         union {\r
2764             vuint32_t R;\r
2765             struct {\r
2766                 vuint32_t:16;\r
2767                 vuint32_t RXDATA:16;\r
2768             } B;\r
2769         } RXFR[4];              /* Transmit FIFO Registers */\r
2770 \r
2771         vuint32_t DSPI_reserved_rxf[12];\r
2772 \r
2773         union {\r
2774             vuint32_t R;\r
2775             struct {\r
2776                 vuint32_t MTOE:1;\r
2777                   vuint32_t:1;\r
2778                 vuint32_t MTOCNT:6;\r
2779                   vuint32_t:4;\r
2780                 vuint32_t TXSS:1;\r
2781                 vuint32_t TPOL:1;\r
2782                 vuint32_t TRRE:1;\r
2783                 vuint32_t CID:1;\r
2784                 vuint32_t DCONT:1;\r
2785                 vuint32_t DSICTAS:3;\r
2786                   vuint32_t:6;\r
2787                 vuint32_t DPCS5:1;\r
2788                 vuint32_t DPCS4:1;\r
2789                 vuint32_t DPCS3:1;\r
2790                 vuint32_t DPCS2:1;\r
2791                 vuint32_t DPCS1:1;\r
2792                 vuint32_t DPCS0:1;\r
2793             } B;\r
2794         } DSICR;                /* DSI Configuration Register */\r
2795 \r
2796         union {\r
2797             vuint32_t R;\r
2798             struct {\r
2799                 vuint32_t:16;\r
2800                 vuint32_t SER_DATA:16;\r
2801             } B;\r
2802         } SDR;                  /* DSI Serialization Data Register */\r
2803 \r
2804         union {\r
2805             vuint32_t R;\r
2806             struct {\r
2807                 vuint32_t:16;\r
2808                 vuint32_t ASER_DATA:16;\r
2809             } B;\r
2810         } ASDR;                 /* DSI Alternate Serialization Data Register */\r
2811 \r
2812         union {\r
2813             vuint32_t R;\r
2814             struct {\r
2815                 vuint32_t:16;\r
2816                 vuint32_t COMP_DATA:16;\r
2817             } B;\r
2818         } COMPR;                /* DSI Transmit Comparison Register */\r
2819 \r
2820         union {\r
2821             vuint32_t R;\r
2822             struct {\r
2823                 vuint32_t:16;\r
2824                 vuint32_t DESER_DATA:16;\r
2825             } B;\r
2826         } DDR;                  /* DSI deserialization Data Register */\r
2827 \r
2828     };\r
2829 /****************************************************************************/\r
2830 /*                          MODULE : eSCI                                   */\r
2831 /****************************************************************************/\r
2832     CC_EXTENSION struct ESCI_tag {\r
2833         union {\r
2834             vuint32_t R;\r
2835             struct {\r
2836                 vuint32_t:3;\r
2837                 vuint32_t SBR:13;\r
2838                 vuint32_t LOOPS:1;\r
2839                 vuint32_t SCISDOZ:1;\r
2840                 vuint32_t RSRC:1;\r
2841                 vuint32_t M:1;\r
2842                 vuint32_t WAKE:1;\r
2843                 vuint32_t ILT:1;\r
2844                 vuint32_t PE:1;\r
2845                 vuint32_t PT:1;\r
2846                 vuint32_t TIE:1;\r
2847                 vuint32_t TCIE:1;\r
2848                 vuint32_t RIE:1;\r
2849                 vuint32_t ILIE:1;\r
2850                 vuint32_t TE:1;\r
2851                 vuint32_t RE:1;\r
2852                 vuint32_t RWU:1;\r
2853                 vuint32_t SBK:1;\r
2854             } B;\r
2855         } CR1;                  /* Control Register 1 */\r
2856 \r
2857         union {\r
2858             vuint16_t R;\r
2859             struct {\r
2860                 vuint16_t MDIS:1;\r
2861                 vuint16_t FBR:1;\r
2862                 vuint16_t BSTP:1;\r
2863                 vuint16_t IEBERR:1;\r
2864                 vuint16_t RXDMA:1;\r
2865                 vuint16_t TXDMA:1;\r
2866                 vuint16_t BRK13:1;\r
2867                   vuint16_t:1;\r
2868                 vuint16_t BESM13:1;\r
2869                 vuint16_t SBSTP:1;\r
2870                   vuint16_t:2;\r
2871                 vuint16_t ORIE:1;\r
2872                 vuint16_t NFIE:1;\r
2873                 vuint16_t FEIE:1;\r
2874                 vuint16_t PFIE:1;\r
2875             } B;\r
2876         } CR2;                  /* Control Register 2 */\r
2877 \r
2878         union {\r
2879             vuint16_t R;\r
2880             struct {\r
2881                 vuint16_t R8:1;\r
2882                 vuint16_t T8:1;\r
2883                   vuint16_t:6;\r
2884                 vuint8_t D;\r
2885             } B;\r
2886         } DR;                   /* Data Register */\r
2887 \r
2888         union {\r
2889             vuint32_t R;\r
2890             struct {\r
2891                 vuint32_t TDRE:1;\r
2892                 vuint32_t TC:1;\r
2893                 vuint32_t RDRF:1;\r
2894                 vuint32_t IDLE:1;\r
2895                 vuint32_t OR:1;\r
2896                 vuint32_t NF:1;\r
2897                 vuint32_t FE:1;\r
2898                 vuint32_t PF:1;\r
2899                   vuint32_t:3;\r
2900                 vuint32_t BERR:1;\r
2901                   vuint32_t:3;\r
2902                 vuint32_t RAF:1;\r
2903                 vuint32_t RXRDY:1;\r
2904                 vuint32_t TXRDY:1;\r
2905                 vuint32_t LWAKE:1;\r
2906                 vuint32_t STO:1;\r
2907                 vuint32_t PBERR:1;\r
2908                 vuint32_t CERR:1;\r
2909                 vuint32_t CKERR:1;\r
2910                 vuint32_t FRC:1;\r
2911                   vuint32_t:7;\r
2912                 vuint32_t OVFL:1;\r
2913             } B;\r
2914         } SR;                   /* Status Register */\r
2915 \r
2916         union {\r
2917             vuint32_t R;\r
2918             struct {\r
2919                 vuint32_t LRES:1;\r
2920                 vuint32_t WU:1;\r
2921                 vuint32_t WUD0:1;\r
2922                 vuint32_t WUD1:1;\r
2923                 vuint32_t LDBG:1;\r
2924                 vuint32_t DSF:1;\r
2925                 vuint32_t PRTY:1;\r
2926                 vuint32_t LIN:1;\r
2927                 vuint32_t RXIE:1;\r
2928                 vuint32_t TXIE:1;\r
2929                 vuint32_t WUIE:1;\r
2930                 vuint32_t STIE:1;\r
2931                 vuint32_t PBIE:1;\r
2932                 vuint32_t CIE:1;\r
2933                 vuint32_t CKIE:1;\r
2934                 vuint32_t FCIE:1;\r
2935                   vuint32_t:7;\r
2936                 vuint32_t OFIE:1;\r
2937                   vuint32_t:8;\r
2938             } B;\r
2939         } LCR;                  /* LIN Control Register */\r
2940 \r
2941         union {\r
2942             vuint32_t R;\r
2943         } LTR;                  /* LIN Transmit Register */\r
2944 \r
2945         union {\r
2946             vuint32_t R;\r
2947         } LRR;                  /* LIN Recieve Register */\r
2948 \r
2949         union {\r
2950             vuint32_t R;\r
2951         } LPR;                  /* LIN CRC Polynom Register  */\r
2952 \r
2953     };\r
2954 /****************************************************************************/\r
2955 /*                          MODULE : FlexCAN                                */\r
2956 /****************************************************************************/\r
2957     CC_EXTENSION struct FLEXCAN2_tag {\r
2958         union {\r
2959             vuint32_t R;\r
2960             struct {\r
2961                 vuint32_t MDIS:1;\r
2962                 vuint32_t FRZ:1;\r
2963                   vuint32_t:1;\r
2964                 vuint32_t HALT:1;\r
2965                 vuint32_t NOTRDY:1;\r
2966                   vuint32_t:1;\r
2967                 vuint32_t SOFTRST:1;\r
2968                 vuint32_t FRZACK:1;\r
2969                   vuint32_t:1;\r
2970                   vuint32_t:1;\r
2971 \r
2972                 vuint32_t WRNEN:1;\r
2973 \r
2974                 vuint32_t MDISACK:1;\r
2975                   vuint32_t:1;\r
2976                   vuint32_t:1;\r
2977 \r
2978                 vuint32_t SRXDIS:1;\r
2979                 vuint32_t MBFEN:1;\r
2980                   vuint32_t:10;\r
2981 \r
2982                 vuint32_t MAXMB:6;\r
2983             } B;\r
2984         } MCR;                  /* Module Configuration Register */\r
2985 \r
2986         union {\r
2987             vuint32_t R;\r
2988             struct {\r
2989                 vuint32_t PRESDIV:8;\r
2990                 vuint32_t RJW:2;\r
2991                 vuint32_t PSEG1:3;\r
2992                 vuint32_t PSEG2:3;\r
2993                 vuint32_t BOFFMSK:1;\r
2994                 vuint32_t ERRMSK:1;\r
2995                 vuint32_t CLKSRC:1;\r
2996                 vuint32_t LPB:1;\r
2997 \r
2998                 vuint32_t TWRNMSK:1;\r
2999                 vuint32_t RWRNMSK:1;\r
3000                   vuint32_t:2;\r
3001 \r
3002                 vuint32_t SMP:1;\r
3003                 vuint32_t BOFFREC:1;\r
3004                 vuint32_t TSYN:1;\r
3005                 vuint32_t LBUF:1;\r
3006                 vuint32_t LOM:1;\r
3007                 vuint32_t PROPSEG:3;\r
3008             } B;\r
3009         } CR;                   /* Control Register */\r
3010 \r
3011         union {\r
3012             vuint32_t R;\r
3013         } TIMER;                /* Free Running Timer */\r
3014         int32_t FLEXCAN_reserved00;\r
3015 \r
3016         union {\r
3017             vuint32_t R;\r
3018             struct {\r
3019                 vuint32_t:3;\r
3020                 vuint32_t MI:29;\r
3021             } B;\r
3022         } RXGMASK;              /* RX Global Mask */\r
3023 \r
3024         union {\r
3025             vuint32_t R;\r
3026             struct {\r
3027                 vuint32_t:3;\r
3028                 vuint32_t MI:29;\r
3029             } B;\r
3030         } RX14MASK;             /* RX 14 Mask */\r
3031 \r
3032         union {\r
3033             vuint32_t R;\r
3034             struct {\r
3035                 vuint32_t:3;\r
3036                 vuint32_t MI:29;\r
3037             } B;\r
3038         } RX15MASK;             /* RX 15 Mask */\r
3039 \r
3040         union {\r
3041             vuint32_t R;\r
3042             struct {\r
3043                 vuint32_t:16;\r
3044                 vuint32_t RXECNT:8;\r
3045                 vuint32_t TXECNT:8;\r
3046             } B;\r
3047         } ECR;                  /* Error Counter Register */\r
3048 \r
3049         union {\r
3050             vuint32_t R;\r
3051             struct {\r
3052                 vuint32_t:14;\r
3053 \r
3054                 vuint32_t TWRNINT:1;\r
3055                 vuint32_t RWRNINT:1;\r
3056 \r
3057                 vuint32_t BIT1ERR:1;\r
3058                 vuint32_t BIT0ERR:1;\r
3059                 vuint32_t ACKERR:1;\r
3060                 vuint32_t CRCERR:1;\r
3061                 vuint32_t FRMERR:1;\r
3062                 vuint32_t STFERR:1;\r
3063                 vuint32_t TXWRN:1;\r
3064                 vuint32_t RXWRN:1;\r
3065                 vuint32_t IDLE:1;\r
3066                 vuint32_t TXRX:1;\r
3067                 vuint32_t FLTCONF:2;\r
3068                   vuint32_t:1;\r
3069                 vuint32_t BOFFINT:1;\r
3070                 vuint32_t ERRINT:1;\r
3071                   vuint32_t:1;\r
3072             } B;\r
3073         } ESR;                  /* Error and Status Register */\r
3074 \r
3075         union {\r
3076             vuint32_t R;\r
3077             struct {\r
3078                 vuint32_t BUF63M:1;\r
3079                 vuint32_t BUF62M:1;\r
3080                 vuint32_t BUF61M:1;\r
3081                 vuint32_t BUF60M:1;\r
3082                 vuint32_t BUF59M:1;\r
3083                 vuint32_t BUF58M:1;\r
3084                 vuint32_t BUF57M:1;\r
3085                 vuint32_t BUF56M:1;\r
3086                 vuint32_t BUF55M:1;\r
3087                 vuint32_t BUF54M:1;\r
3088                 vuint32_t BUF53M:1;\r
3089                 vuint32_t BUF52M:1;\r
3090                 vuint32_t BUF51M:1;\r
3091                 vuint32_t BUF50M:1;\r
3092                 vuint32_t BUF49M:1;\r
3093                 vuint32_t BUF48M:1;\r
3094                 vuint32_t BUF47M:1;\r
3095                 vuint32_t BUF46M:1;\r
3096                 vuint32_t BUF45M:1;\r
3097                 vuint32_t BUF44M:1;\r
3098                 vuint32_t BUF43M:1;\r
3099                 vuint32_t BUF42M:1;\r
3100                 vuint32_t BUF41M:1;\r
3101                 vuint32_t BUF40M:1;\r
3102                 vuint32_t BUF39M:1;\r
3103                 vuint32_t BUF38M:1;\r
3104                 vuint32_t BUF37M:1;\r
3105                 vuint32_t BUF36M:1;\r
3106                 vuint32_t BUF35M:1;\r
3107                 vuint32_t BUF34M:1;\r
3108                 vuint32_t BUF33M:1;\r
3109                 vuint32_t BUF32M:1;\r
3110             } B;\r
3111         } IMRH;                 /* Interruput Masks Register */\r
3112 \r
3113         union {\r
3114             vuint32_t R;\r
3115             struct {\r
3116                 vuint32_t BUF31M:1;\r
3117                 vuint32_t BUF30M:1;\r
3118                 vuint32_t BUF29M:1;\r
3119                 vuint32_t BUF28M:1;\r
3120                 vuint32_t BUF27M:1;\r
3121                 vuint32_t BUF26M:1;\r
3122                 vuint32_t BUF25M:1;\r
3123                 vuint32_t BUF24M:1;\r
3124                 vuint32_t BUF23M:1;\r
3125                 vuint32_t BUF22M:1;\r
3126                 vuint32_t BUF21M:1;\r
3127                 vuint32_t BUF20M:1;\r
3128                 vuint32_t BUF19M:1;\r
3129                 vuint32_t BUF18M:1;\r
3130                 vuint32_t BUF17M:1;\r
3131                 vuint32_t BUF16M:1;\r
3132                 vuint32_t BUF15M:1;\r
3133                 vuint32_t BUF14M:1;\r
3134                 vuint32_t BUF13M:1;\r
3135                 vuint32_t BUF12M:1;\r
3136                 vuint32_t BUF11M:1;\r
3137                 vuint32_t BUF10M:1;\r
3138                 vuint32_t BUF09M:1;\r
3139                 vuint32_t BUF08M:1;\r
3140                 vuint32_t BUF07M:1;\r
3141                 vuint32_t BUF06M:1;\r
3142                 vuint32_t BUF05M:1;\r
3143                 vuint32_t BUF04M:1;\r
3144                 vuint32_t BUF03M:1;\r
3145                 vuint32_t BUF02M:1;\r
3146                 vuint32_t BUF01M:1;\r
3147                 vuint32_t BUF00M:1;\r
3148             } B;\r
3149         } IMRL;                 /* Interruput Masks Register */\r
3150 \r
3151         union {\r
3152             vuint32_t R;\r
3153             struct {\r
3154                 vuint32_t BUF63I:1;\r
3155                 vuint32_t BUF62I:1;\r
3156                 vuint32_t BUF61I:1;\r
3157                 vuint32_t BUF60I:1;\r
3158                 vuint32_t BUF59I:1;\r
3159                 vuint32_t BUF58I:1;\r
3160                 vuint32_t BUF57I:1;\r
3161                 vuint32_t BUF56I:1;\r
3162                 vuint32_t BUF55I:1;\r
3163                 vuint32_t BUF54I:1;\r
3164                 vuint32_t BUF53I:1;\r
3165                 vuint32_t BUF52I:1;\r
3166                 vuint32_t BUF51I:1;\r
3167                 vuint32_t BUF50I:1;\r
3168                 vuint32_t BUF49I:1;\r
3169                 vuint32_t BUF48I:1;\r
3170                 vuint32_t BUF47I:1;\r
3171                 vuint32_t BUF46I:1;\r
3172                 vuint32_t BUF45I:1;\r
3173                 vuint32_t BUF44I:1;\r
3174                 vuint32_t BUF43I:1;\r
3175                 vuint32_t BUF42I:1;\r
3176                 vuint32_t BUF41I:1;\r
3177                 vuint32_t BUF40I:1;\r
3178                 vuint32_t BUF39I:1;\r
3179                 vuint32_t BUF38I:1;\r
3180                 vuint32_t BUF37I:1;\r
3181                 vuint32_t BUF36I:1;\r
3182                 vuint32_t BUF35I:1;\r
3183                 vuint32_t BUF34I:1;\r
3184                 vuint32_t BUF33I:1;\r
3185                 vuint32_t BUF32I:1;\r
3186             } B;\r
3187         } IFRH;                 /* Interruput Flag Register */\r
3188 \r
3189         union {\r
3190             vuint32_t R;\r
3191             struct {\r
3192                 vuint32_t BUF31I:1;\r
3193                 vuint32_t BUF30I:1;\r
3194                 vuint32_t BUF29I:1;\r
3195                 vuint32_t BUF28I:1;\r
3196                 vuint32_t BUF27I:1;\r
3197                 vuint32_t BUF26I:1;\r
3198                 vuint32_t BUF25I:1;\r
3199                 vuint32_t BUF24I:1;\r
3200                 vuint32_t BUF23I:1;\r
3201                 vuint32_t BUF22I:1;\r
3202                 vuint32_t BUF21I:1;\r
3203                 vuint32_t BUF20I:1;\r
3204                 vuint32_t BUF19I:1;\r
3205                 vuint32_t BUF18I:1;\r
3206                 vuint32_t BUF17I:1;\r
3207                 vuint32_t BUF16I:1;\r
3208                 vuint32_t BUF15I:1;\r
3209                 vuint32_t BUF14I:1;\r
3210                 vuint32_t BUF13I:1;\r
3211                 vuint32_t BUF12I:1;\r
3212                 vuint32_t BUF11I:1;\r
3213                 vuint32_t BUF10I:1;\r
3214                 vuint32_t BUF09I:1;\r
3215                 vuint32_t BUF08I:1;\r
3216                 vuint32_t BUF07I:1;\r
3217                 vuint32_t BUF06I:1;\r
3218                 vuint32_t BUF05I:1;\r
3219                 vuint32_t BUF04I:1;\r
3220                 vuint32_t BUF03I:1;\r
3221                 vuint32_t BUF02I:1;\r
3222                 vuint32_t BUF01I:1;\r
3223                 vuint32_t BUF00I:1;\r
3224             } B;\r
3225         } IFRL;                 /* Interruput Flag Register */\r
3226 \r
3227         uint32_t flexcan2_reserved2[19];\r
3228 \r
3229         struct canbuf_t {\r
3230             union {\r
3231                 vuint32_t R;\r
3232                 struct {\r
3233                     vuint32_t:4;\r
3234                     vuint32_t CODE:4;\r
3235                       vuint32_t:1;\r
3236                     vuint32_t SRR:1;\r
3237                     vuint32_t IDE:1;\r
3238                     vuint32_t RTR:1;\r
3239                     vuint32_t LENGTH:4;\r
3240                     vuint32_t TIMESTAMP:16;\r
3241                 } B;\r
3242             } CS;\r
3243 \r
3244             union {\r
3245                 vuint32_t R;\r
3246                 struct {\r
3247                     vuint32_t:3;\r
3248                     vuint32_t STD_ID:11;\r
3249                     vuint32_t EXT_ID:18;\r
3250                 } B;\r
3251             } ID;\r
3252 \r
3253             union {\r
3254                 vuint8_t B[8];  /* Data buffer in Bytes (8 bits) */\r
3255                 vuint16_t H[4]; /* Data buffer in Half-words (16 bits) */\r
3256                 vuint32_t W[2]; /* Data buffer in words (32 bits) */\r
3257                 vuint32_t R[2]; /* Data buffer in words (32 bits) */\r
3258             } DATA;\r
3259 \r
3260         } BUF[64];\r
3261 \r
3262         uint32_t flexcan2_reserved3[256];\r
3263 \r
3264         union {\r
3265             vuint32_t R;\r
3266             struct {\r
3267                 vuint32_t:3;\r
3268                 vuint32_t MI:29;\r
3269             } B;\r
3270         } RXIMR[64];            /* RX Individual Mask Registers */\r
3271 \r
3272     };\r
3273 /****************************************************************************/\r
3274 /*                          MODULE : FEC                                    */\r
3275 /****************************************************************************/\r
3276     CC_EXTENSION struct FEC_tag {\r
3277 \r
3278         uint32_t fec_reserved_start[0x1];\r
3279 \r
3280         union {\r
3281             vuint32_t R;\r
3282             struct {\r
3283                 vuint32_t HBERR:1;\r
3284                 vuint32_t BABR:1;\r
3285                 vuint32_t BABT:1;\r
3286                 vuint32_t GRA:1;\r
3287                 vuint32_t TXF:1;\r
3288                 vuint32_t TXB:1;\r
3289                 vuint32_t RXF:1;\r
3290                 vuint32_t RXB:1;\r
3291                 vuint32_t MII:1;\r
3292                 vuint32_t EBERR:1;\r
3293                 vuint32_t LC:1;\r
3294                 vuint32_t RL:1;\r
3295                 vuint32_t UN:1;\r
3296                   vuint32_t:19;\r
3297             } B;\r
3298         } EIR;                  /*  Interrupt Event Register */\r
3299 \r
3300         union {\r
3301             vuint32_t R;\r
3302             struct {\r
3303                 vuint32_t HBERRM:1;\r
3304                 vuint32_t BABRM:1;\r
3305                 vuint32_t BABTM:1;\r
3306                 vuint32_t GRAM:1;\r
3307                 vuint32_t TXFM:1;\r
3308                 vuint32_t TXBM:1;\r
3309                 vuint32_t RXFM:1;\r
3310                 vuint32_t RXBM:1;\r
3311                 vuint32_t MIIM:1;\r
3312                 vuint32_t EBERRM:1;\r
3313                 vuint32_t LCM:1;\r
3314                 vuint32_t RLM:1;\r
3315                 vuint32_t UNM:1;\r
3316                   vuint32_t:19;\r
3317             } B;\r
3318         } EIMR;                 /*  Interrupt Mask Register  */\r
3319 \r
3320         uint32_t fec_reserved_eimr;\r
3321 \r
3322         union {\r
3323             vuint32_t R;\r
3324             struct {\r
3325                 vuint32_t:7;\r
3326                 vuint32_t R_DES_ACTIVE:1;\r
3327                   vuint32_t:24;\r
3328             } B;\r
3329         } RDAR;                 /*  Receive Descriptor Active Register  */\r
3330 \r
3331         union {\r
3332             vuint32_t R;\r
3333             struct {\r
3334                 vuint32_t:7;\r
3335                 vuint32_t X_DES_ACTIVE:1;\r
3336                   vuint32_t:24;\r
3337             } B;\r
3338         } TDAR;                 /*  Transmit Descriptor Active Register  */\r
3339 \r
3340         uint32_t fec_reserved_tdar[3];\r
3341 \r
3342         union {\r
3343             vuint32_t R;\r
3344             struct {\r
3345                 vuint32_t:30;\r
3346                 vuint32_t ETHER_EN:1;\r
3347                 vuint32_t RESET:1;\r
3348             } B;\r
3349         } ECR;                  /*  Ethernet Control Register  */\r
3350 \r
3351         uint32_t fec_reserved_ecr[6];\r
3352 \r
3353         union {\r
3354             vuint32_t R;\r
3355             struct {\r
3356                 vuint32_t ST:2;\r
3357                 vuint32_t CP:2;\r
3358                 vuint32_t PA:5;\r
3359                 vuint32_t RA:5;\r
3360                 vuint32_t TA:2;\r
3361                 vuint32_t DATA:16;\r
3362             } B;\r
3363         } MDATA;                /* MII Data Register */\r
3364 \r
3365         union {\r
3366             vuint32_t R;\r
3367             struct {\r
3368                 vuint32_t:24;\r
3369                 vuint32_t DIS_PREAMBLE:1;\r
3370                 vuint32_t MII_SPEED:6;\r
3371                   vuint32_t:1;\r
3372             } B;\r
3373         } MSCR;                 /* MII Speed Control Register */\r
3374 \r
3375         uint32_t fec_reserved_mscr[7];\r
3376 \r
3377         union {\r
3378             vuint32_t R;\r
3379             struct {\r
3380                 vuint32_t MIB_DISABLE:1;\r
3381                 vuint32_t MIB_IDLE:1;\r
3382                   vuint32_t:30;\r
3383             } B;\r
3384         } MIBC;                 /* MIB Control Register */\r
3385 \r
3386         uint32_t fec_reserved_mibc[7];\r
3387 \r
3388         union {\r
3389             vuint32_t R;\r
3390             struct {\r
3391                 vuint32_t:5;\r
3392                 vuint32_t MAX_FL:11;\r
3393                   vuint32_t:10;\r
3394                 vuint32_t FCE:1;\r
3395                 vuint32_t BC_REJ:1;\r
3396                 vuint32_t PROM:1;\r
3397                 vuint32_t MII_MODE:1;\r
3398                 vuint32_t DRT:1;\r
3399                 vuint32_t LOOP:1;\r
3400             } B;\r
3401         } RCR;                  /* Receive Control Register */\r
3402 \r
3403         uint32_t fec_reserved_rcr[15];\r
3404 \r
3405         union {\r
3406             vuint32_t R;\r
3407             struct {\r
3408                 vuint32_t:27;\r
3409                 vuint32_t RFC_PAUSE:1;\r
3410                 vuint32_t TFC_PAUSE:1;\r
3411                 vuint32_t FDEN:1;\r
3412                 vuint32_t HBC:1;\r
3413                 vuint32_t GTS:1;\r
3414             } B;\r
3415         } TCR;                  /* Transmit Control Register */\r
3416 \r
3417         uint32_t fec_reserved_tcr[7];\r
3418 \r
3419         union {\r
3420             vuint32_t R;\r
3421             struct {\r
3422                 vuint32_t PADDR1:32;\r
3423             } B;\r
3424         } PALR;                 /* Physical Address Low Register */\r
3425 \r
3426         union {\r
3427             vuint32_t R;\r
3428             struct {\r
3429                 vuint32_t PADDR2:16;\r
3430                 vuint32_t TYPE:16;\r
3431             } B;\r
3432         } PAUR;                 /* Physical Address High + Type Register */\r
3433 \r
3434         union {\r
3435             vuint32_t R;\r
3436             struct {\r
3437                 vuint32_t OPCODE:16;\r
3438                 vuint32_t PAUSE_DUR:16;\r
3439             } B;\r
3440         } OPD;                  /* Opcode/Pause Duration Register */\r
3441 \r
3442         uint32_t fec_reserved_opd[10];\r
3443 \r
3444         union {\r
3445             vuint32_t R;\r
3446             struct {\r
3447                 vuint32_t IADDR1:32;\r
3448             } B;\r
3449         } IAUR;                 /* Descriptor Individual Upper Address Register */\r
3450 \r
3451         union {\r
3452             vuint32_t R;\r
3453             struct {\r
3454                 vuint32_t IADDR2:32;\r
3455             } B;\r
3456         } IALR;                 /* Descriptor Individual Lower Address Register */\r
3457 \r
3458         union {\r
3459             vuint32_t R;\r
3460             struct {\r
3461                 vuint32_t GADDR1:32;\r
3462             } B;\r
3463         } GAUR;                 /* Descriptor Group Upper Address Register */\r
3464 \r
3465         union {\r
3466             vuint32_t R;\r
3467             struct {\r
3468                 vuint32_t GADDR2:32;\r
3469             } B;\r
3470         } GALR;                 /* Descriptor Group Lower Address Register */\r
3471 \r
3472         uint32_t fec_reserved_galr[7];\r
3473 \r
3474         union {\r
3475             vuint32_t R;\r
3476             struct {\r
3477                 vuint32_t:30;\r
3478                 vuint32_t X_WMRK:2;\r
3479             } B;\r
3480         } TFWR;                 /* FIFO Transmit FIFO Watermark Register */\r
3481 \r
3482         uint32_t fec_reserved_tfwr;\r
3483 \r
3484         union {\r
3485             vuint32_t R;\r
3486             struct {\r
3487                 vuint32_t:22;\r
3488                 vuint32_t R_BOUND:8;\r
3489                   vuint32_t:2;\r
3490             } B;\r
3491         } FRBR;                 /* FIFO Receive Bound Register */\r
3492 \r
3493         union {\r
3494             vuint32_t R;\r
3495             struct {\r
3496                 vuint32_t:22;\r
3497                 vuint32_t R_FSTART:8;\r
3498                   vuint32_t:2;\r
3499             } B;\r
3500         } FRSR;                 /* FIFO Receive Start Register */\r
3501 \r
3502         uint32_t fec_reserved_frsr[11];\r
3503 \r
3504         union {\r
3505             vuint32_t R;\r
3506             struct {\r
3507                 vuint32_t R_DES_START:30;\r
3508                   vuint32_t:2;\r
3509             } B;\r
3510         } ERDSR;                /* Receive Descriptor Ring Start Register */\r
3511 \r
3512         union {\r
3513             vuint32_t R;\r
3514             struct {\r
3515                 vuint32_t X_DES_START:30;\r
3516                   vuint32_t:2;\r
3517             } B;\r
3518         } ETDSR;                /* Transmit Descriptor Ring Start Register */\r
3519 \r
3520         union {\r
3521             vuint32_t R;\r
3522             struct {\r
3523                 vuint32_t:21;\r
3524                 vuint32_t R_BUF_SIZE:7;\r
3525                   vuint32_t:4;\r
3526             } B;\r
3527         } EMRBR;                /* Receive Buffer Size Register */\r
3528 \r
3529         uint32_t fec_reserved_emrbr[29];\r
3530 \r
3531         union {\r
3532             vuint32_t R;\r
3533         } RMON_T_DROP;          /* Count of frames not counted correctly */\r
3534 \r
3535         union {\r
3536             vuint32_t R;\r
3537         } RMON_T_PACKETS;       /* RMON Tx packet count */\r
3538 \r
3539         union {\r
3540             vuint32_t R;\r
3541         } RMON_T_BC_PKT;        /* RMON Tx Broadcast Packets */\r
3542 \r
3543         union {\r
3544             vuint32_t R;\r
3545         } RMON_T_MC_PKT;        /* RMON Tx Multicast Packets */\r
3546 \r
3547         union {\r
3548             vuint32_t R;\r
3549         } RMON_T_CRC_ALIGN;     /* RMON Tx Packets w CRC/Align error */\r
3550 \r
3551         union {\r
3552             vuint32_t R;\r
3553         } RMON_T_UNDERSIZE;     /* RMON Tx Packets < 64 bytes, good crc */\r
3554 \r
3555         union {\r
3556             vuint32_t R;\r
3557         } RMON_T_OVERSIZE;      /* RMON Tx Packets > MAX_FL bytes, good crc */\r
3558 \r
3559         union {\r
3560             vuint32_t R;\r
3561         } RMON_T_FRAG;          /* RMON Tx Packets < 64 bytes, bad crc */\r
3562 \r
3563         union {\r
3564             vuint32_t R;\r
3565         } RMON_T_JAB;           /* RMON Tx Packets > MAX_FL bytes, bad crc */\r
3566 \r
3567         union {\r
3568             vuint32_t R;\r
3569         } RMON_T_COL;           /* RMON Tx collision count */\r
3570 \r
3571         union {\r
3572             vuint32_t R;\r
3573         } RMON_T_P64;           /* RMON Tx 64 byte packets */\r
3574 \r
3575         union {\r
3576             vuint32_t R;\r
3577         } RMON_T_P65TO127;      /* RMON Tx 65 to 127 byte packets */\r
3578 \r
3579         union {\r
3580             vuint32_t R;\r
3581         } RMON_T_P128TO255;     /* RMON Tx 128 to 255 byte packets */\r
3582 \r
3583         union {\r
3584             vuint32_t R;\r
3585         } RMON_T_P256TO511;     /* RMON Tx 256 to 511 byte packets */\r
3586 \r
3587         union {\r
3588             vuint32_t R;\r
3589         } RMON_T_P512TO1023;    /* RMON Tx 512 to 1023 byte packets */\r
3590 \r
3591         union {\r
3592             vuint32_t R;\r
3593         } RMON_T_P1024TO2047;   /* RMON Tx 1024 to 2047 byte packets */\r
3594 \r
3595         union {\r
3596             vuint32_t R;\r
3597         } RMON_T_P_GTE2048;     /* RMON Tx packets w > 2048 bytes */\r
3598 \r
3599         union {\r
3600             vuint32_t R;\r
3601         } RMON_T_OCTETS;        /* RMON Tx Octets */\r
3602 \r
3603         union {\r
3604             vuint32_t R;\r
3605         } IEEE_T_DROP;          /* Count of frames not counted correctly */\r
3606 \r
3607         union {\r
3608             vuint32_t R;\r
3609         } IEEE_T_FRAME_OK;      /* Frames Transmitted OK */\r
3610 \r
3611         union {\r
3612             vuint32_t R;\r
3613         } IEEE_T_1COL;          /* Frames Transmitted with Single Collision */\r
3614 \r
3615         union {\r
3616             vuint32_t R;\r
3617         } IEEE_T_MCOL;          /* Frames Transmitted with Multiple Collisions */\r
3618 \r
3619         union {\r
3620             vuint32_t R;\r
3621         } IEEE_T_DEF;           /* Frames Transmitted after Deferral Delay */\r
3622 \r
3623         union {\r
3624             vuint32_t R;\r
3625         } IEEE_T_LCOL;          /* Frames Transmitted with Late Collision */\r
3626 \r
3627         union {\r
3628             vuint32_t R;\r
3629         } IEEE_T_EXCOL;         /* Frames Transmitted with Excessive Collisions */\r
3630 \r
3631         union {\r
3632             vuint32_t R;\r
3633         } IEEE_T_MACERR;        /* Frames Transmitted with Tx FIFO Underrun */\r
3634 \r
3635         union {\r
3636             vuint32_t R;\r
3637         } IEEE_T_CSERR;         /* Frames Transmitted with Carrier Sense Error */\r
3638 \r
3639         union {\r
3640             vuint32_t R;\r
3641         } IEEE_T_SQE;           /* Frames Transmitted with SQE Error */\r
3642 \r
3643         union {\r
3644             vuint32_t R;\r
3645         } IEEE_T_FDXFC;         /* Flow Control Pause frames transmitted */\r
3646 \r
3647         union {\r
3648             vuint32_t R;\r
3649         } IEEE_T_OCTETS_OK;     /* Octet count for Frames Transmitted w/o Error */\r
3650 \r
3651         uint32_t fec_reserved_rmon_t_octets_ok[2];\r
3652 \r
3653         union {\r
3654             vuint32_t R;\r
3655         } RMON_R_DROP;          /*  Count of frames not counted correctly  */\r
3656 \r
3657         union {\r
3658             vuint32_t R;\r
3659         } RMON_R_PACKETS;       /* RMON Rx packet count */\r
3660 \r
3661         union {\r
3662             vuint32_t R;\r
3663         } RMON_R_BC_PKT;        /* RMON Rx Broadcast Packets */\r
3664 \r
3665         union {\r
3666             vuint32_t R;\r
3667         } RMON_R_MC_PKT;        /* RMON Rx Multicast Packets */\r
3668 \r
3669         union {\r
3670             vuint32_t R;\r
3671         } RMON_R_CRC_ALIGN;     /* RMON Rx Packets w CRC/Align error */\r
3672 \r
3673         union {\r
3674             vuint32_t R;\r
3675         } RMON_R_UNDERSIZE;     /* RMON Rx Packets < 64 bytes, good crc */\r
3676 \r
3677         union {\r
3678             vuint32_t R;\r
3679         } RMON_R_OVERSIZE;      /* RMON Rx Packets > MAX_FL bytes, good crc */\r
3680 \r
3681         union {\r
3682             vuint32_t R;\r
3683         } RMON_R_FRAG;          /* RMON Rx Packets < 64 bytes, bad crc */\r
3684 \r
3685         union {\r
3686             vuint32_t R;\r
3687         } RMON_R_JAB;           /* RMON Rx Packets > MAX_FL bytes, bad crc */\r
3688 \r
3689         uint32_t fec_reserved_rmon_r_jab;\r
3690 \r
3691         union {\r
3692             vuint32_t R;\r
3693         } RMON_R_P64;           /* RMON Rx 64 byte packets */\r
3694 \r
3695         union {\r
3696             vuint32_t R;\r
3697         } RMON_R_P65TO127;      /* RMON Rx 65 to 127 byte packets */\r
3698 \r
3699         union {\r
3700             vuint32_t R;\r
3701         } RMON_R_P128TO255;     /* RMON Rx 128 to 255 byte packets */\r
3702 \r
3703         union {\r
3704             vuint32_t R;\r
3705         } RMON_R_P256TO511;     /* RMON Rx 256 to 511 byte packets */\r
3706 \r
3707         union {\r
3708             vuint32_t R;\r
3709         } RMON_R_P512TO1023;    /* RMON Rx 512 to 1023 byte packets */\r
3710 \r
3711         union {\r
3712             vuint32_t R;\r
3713         } RMON_R_P1024TO2047;   /* RMON Rx 1024 to 2047 byte packets */\r
3714 \r
3715         union {\r
3716             vuint32_t R;\r
3717         } RMON_R_P_GTE2048;     /* RMON Rx packets w > 2048 bytes */\r
3718 \r
3719         union {\r
3720             vuint32_t R;\r
3721         } RMON_R_OCTETS;        /* RMON Rx Octets */\r
3722 \r
3723         union {\r
3724             vuint32_t R;\r
3725         } IEEE_R_DROP;          /* Count of frames not counted correctly */\r
3726 \r
3727         union {\r
3728             vuint32_t R;\r
3729         } IEEE_R_FRAME_OK;      /* Frames Received OK */\r
3730 \r
3731         union {\r
3732             vuint32_t R;\r
3733         } IEEE_R_CRC;           /* Frames Received with CRC Error */\r
3734 \r
3735         union {\r
3736             vuint32_t R;\r
3737         } IEEE_R_ALIGN;         /* Frames Received with Alignment Error */\r
3738 \r
3739         union {\r
3740             vuint32_t R;\r
3741         } IEEE_R_MACERR;        /* Receive Fifo Overflow count */\r
3742 \r
3743         union {\r
3744             vuint32_t R;\r
3745         } IEEE_R_FDXFC;         /* Flow Control Pause frames received */\r
3746 \r
3747         union {\r
3748             vuint32_t R;\r
3749         } IEEE_R_OCTETS_OK;     /* Octet count for Frames Rcvd w/o Error */\r
3750 \r
3751     };\r
3752 /****************************************************************************/\r
3753 /*                          MODULE : FlexRay                                */\r
3754 /****************************************************************************/\r
3755 \r
3756     CC_EXTENSION typedef union uMVR {\r
3757         vuint16_t R;\r
3758         struct {\r
3759             vuint16_t CHIVER:8; /* CHI Version Number */\r
3760             vuint16_t PEVER:8;  /* PE Version Number */\r
3761         } B;\r
3762     } MVR_t;\r
3763 \r
3764     CC_EXTENSION typedef union uMCR {\r
3765         vuint16_t R;\r
3766         struct {\r
3767             vuint16_t MEN:1;    /* module enable */\r
3768               vuint16_t:1;\r
3769             vuint16_t SCMD:1;   /* single channel mode */\r
3770             vuint16_t CHB:1;    /* channel B enable */\r
3771             vuint16_t CHA:1;    /* channel A enable */\r
3772             vuint16_t SFFE:1;   /* synchronization frame filter enable */\r
3773               vuint16_t:5;\r
3774             vuint16_t CLKSEL:1; /* protocol engine clock source select */\r
3775             vuint16_t PRESCALE:3;       /* protocol engine clock prescaler */\r
3776               vuint16_t:1;\r
3777         } B;\r
3778     } MCR_t;\r
3779     CC_EXTENSION typedef union uSTBSCR {\r
3780         vuint16_t R;\r
3781         struct {\r
3782             vuint16_t WMD:1;    /* write mode */\r
3783             vuint16_t STBSSEL:7;        /* strobe signal select */\r
3784               vuint16_t:3;\r
3785             vuint16_t ENB:1;    /* strobe signal enable */\r
3786               vuint16_t:2;\r
3787             vuint16_t STBPSEL:2;        /* strobe port select */\r
3788         } B;\r
3789     } STBSCR_t;\r
3790     CC_EXTENSION typedef union uSTBPCR {\r
3791         vuint16_t R;\r
3792         struct {\r
3793             vuint16_t:12;\r
3794             vuint16_t STB3EN:1; /* strobe port enable */\r
3795             vuint16_t STB2EN:1; /* strobe port enable */\r
3796             vuint16_t STB1EN:1; /* strobe port enable */\r
3797             vuint16_t STB0EN:1; /* strobe port enable */\r
3798         } B;\r
3799     } STBPCR_t;\r
3800 \r
3801     CC_EXTENSION typedef union uMBDSR {\r
3802         vuint16_t R;\r
3803         struct {\r
3804             vuint16_t:1;\r
3805             vuint16_t MBSEG2DS:7;       /* message buffer segment 2 data size */\r
3806               vuint16_t:1;\r
3807             vuint16_t MBSEG1DS:7;       /* message buffer segment 1 data size */\r
3808         } B;\r
3809     } MBDSR_t;\r
3810     CC_EXTENSION typedef union uMBSSUTR {\r
3811         vuint16_t R;\r
3812         struct {\r
3813 \r
3814             vuint16_t:1;\r
3815             vuint16_t LAST_MB_SEG1:7;   /* last message buffer control register for message buffer segment 1 */\r
3816               vuint16_t:1;\r
3817             vuint16_t LAST_MB_UTIL:7;   /* last message buffer utilized */\r
3818         } B;\r
3819     } MBSSUTR_t;\r
3820 \r
3821     CC_EXTENSION typedef union uPOCR {\r
3822         vuint16_t R;\r
3823         vuint8_t byte[2];\r
3824         struct {\r
3825             vuint16_t WME:1;    /* write mode external correction command */\r
3826               vuint16_t:3;\r
3827             vuint16_t EOC_AP:2; /* external offset correction application */\r
3828             vuint16_t ERC_AP:2; /* external rate correction application */\r
3829             vuint16_t BSY:1;    /* command write busy / write mode command */\r
3830               vuint16_t:3;\r
3831             vuint16_t POCCMD:4; /* protocol command */\r
3832         } B;\r
3833     } POCR_t;\r
3834 /* protocol commands */\r
3835     CC_EXTENSION typedef union uGIFER {\r
3836         vuint16_t R;\r
3837         struct {\r
3838             vuint16_t MIF:1;    /* module interrupt flag */\r
3839             vuint16_t PRIF:1;   /* protocol interrupt flag */\r
3840             vuint16_t CHIF:1;   /* CHI interrupt flag */\r
3841             vuint16_t WKUPIF:1; /* wakeup interrupt flag */\r
3842             vuint16_t FNEBIF:1; /* receive FIFO channel B not empty interrupt flag */\r
3843             vuint16_t FNEAIF:1; /* receive FIFO channel A not empty interrupt flag */\r
3844             vuint16_t RBIF:1;   /* receive message buffer interrupt flag */\r
3845             vuint16_t TBIF:1;   /* transmit buffer interrupt flag */\r
3846             vuint16_t MIE:1;    /* module interrupt enable */\r
3847             vuint16_t PRIE:1;   /* protocol interrupt enable */\r
3848             vuint16_t CHIE:1;   /* CHI interrupt enable */\r
3849             vuint16_t WKUPIE:1; /* wakeup interrupt enable */\r
3850             vuint16_t FNEBIE:1; /* receive FIFO channel B not empty interrupt enable */\r
3851             vuint16_t FNEAIE:1; /* receive FIFO channel A not empty interrupt enable */\r
3852             vuint16_t RBIE:1;   /* receive message buffer interrupt enable */\r
3853             vuint16_t TBIE:1;   /* transmit buffer interrupt enable */\r
3854         } B;\r
3855     } GIFER_t;\r
3856     CC_EXTENSION typedef union uPIFR0 {\r
3857         vuint16_t R;\r
3858         struct {\r
3859             vuint16_t FATLIF:1; /* fatal protocol error interrupt flag */\r
3860             vuint16_t INTLIF:1; /* internal protocol error interrupt flag */\r
3861             vuint16_t ILCFIF:1; /* illegal protocol configuration flag */\r
3862             vuint16_t CSAIF:1;  /* cold start abort interrupt flag */\r
3863             vuint16_t MRCIF:1;  /* missing rate correctio interrupt flag */\r
3864             vuint16_t MOCIF:1;  /* missing offset correctio interrupt flag */\r
3865             vuint16_t CCLIF:1;  /* clock correction limit reached interrupt flag */\r
3866             vuint16_t MXSIF:1;  /* max sync frames detected interrupt flag */\r
3867             vuint16_t MTXIF:1;  /* media access test symbol received flag */\r
3868             vuint16_t LTXBIF:1; /* pdLatestTx violation on channel B interrupt flag */\r
3869             vuint16_t LTXAIF:1; /* pdLatestTx violation on channel A interrupt flag */\r
3870             vuint16_t TBVBIF:1; /* Transmission across boundary on channel B Interrupt Flag */\r
3871             vuint16_t TBVAIF:1; /* Transmission across boundary on channel A Interrupt Flag */\r
3872             vuint16_t TI2IF:1;  /* timer 2 expired interrupt flag */\r
3873             vuint16_t TI1IF:1;  /* timer 1 expired interrupt flag */\r
3874             vuint16_t CYSIF:1;  /* cycle start interrupt flag */\r
3875         } B;\r
3876     } PIFR0_t;\r
3877     CC_EXTENSION typedef union uPIFR1 {\r
3878         vuint16_t R;\r
3879         struct {\r
3880             vuint16_t EMCIF:1;  /* error mode changed interrupt flag */\r
3881             vuint16_t IPCIF:1;  /* illegal protocol command interrupt flag */\r
3882             vuint16_t PECFIF:1; /* protocol engine communication failure interrupt flag */\r
3883             vuint16_t PSCIF:1;  /* Protocol State Changed Interrupt Flag */\r
3884             vuint16_t SSI3IF:1; /* slot status counter incremented interrupt flag */\r
3885             vuint16_t SSI2IF:1; /* slot status counter incremented interrupt flag */\r
3886             vuint16_t SSI1IF:1; /* slot status counter incremented interrupt flag */\r
3887             vuint16_t SSI0IF:1; /* slot status counter incremented interrupt flag */\r
3888               vuint16_t:2;\r
3889             vuint16_t EVTIF:1;  /* even cycle table written interrupt flag */\r
3890             vuint16_t ODTIF:1;  /* odd cycle table written interrupt flag */\r
3891               vuint16_t:4;\r
3892         } B;\r
3893     } PIFR1_t;\r
3894     CC_EXTENSION typedef union uPIER0 {\r
3895         vuint16_t R;\r
3896         struct {\r
3897             vuint16_t FATLIE:1; /* fatal protocol error interrupt enable */\r
3898             vuint16_t INTLIE:1; /* internal protocol error interrupt interrupt enable  */\r
3899             vuint16_t ILCFIE:1; /* illegal protocol configuration interrupt enable */\r
3900             vuint16_t CSAIE:1;  /* cold start abort interrupt enable */\r
3901             vuint16_t MRCIE:1;  /* missing rate correctio interrupt enable */\r
3902             vuint16_t MOCIE:1;  /* missing offset correctio interrupt enable */\r
3903             vuint16_t CCLIE:1;  /* clock correction limit reached interrupt enable */\r
3904             vuint16_t MXSIE:1;  /* max sync frames detected interrupt enable */\r
3905             vuint16_t MTXIE:1;  /* media access test symbol received interrupt enable */\r
3906             vuint16_t LTXBIE:1; /* pdLatestTx violation on channel B interrupt enable */\r
3907             vuint16_t LTXAIE:1; /* pdLatestTx violation on channel A interrupt enable */\r
3908             vuint16_t TBVBIE:1; /* Transmission across boundary on channel B Interrupt enable */\r
3909             vuint16_t TBVAIE:1; /* Transmission across boundary on channel A Interrupt enable */\r
3910             vuint16_t TI2IE:1;  /* timer 2 expired interrupt enable */\r
3911             vuint16_t TI1IE:1;  /* timer 1 expired interrupt enable */\r
3912             vuint16_t CYSIE:1;  /* cycle start interrupt enable */\r
3913         } B;\r
3914     } PIER0_t;\r
3915     CC_EXTENSION typedef union uPIER1 {\r
3916         vuint16_t R;\r
3917         struct {\r
3918             vuint16_t EMCIE:1;  /* error mode changed interrupt enable */\r
3919             vuint16_t IPCIE:1;  /* illegal protocol command interrupt enable */\r
3920             vuint16_t PECFIE:1; /* protocol engine communication failure interrupt enable */\r
3921             vuint16_t PSCIE:1;  /* Protocol State Changed Interrupt enable */\r
3922             vuint16_t SSI3IE:1; /* slot status counter incremented interrupt enable */\r
3923             vuint16_t SSI2IE:1; /* slot status counter incremented interrupt enable */\r
3924             vuint16_t SSI1IE:1; /* slot status counter incremented interrupt enable */\r
3925             vuint16_t SSI0IE:1; /* slot status counter incremented interrupt enable */\r
3926               vuint16_t:2;\r
3927             vuint16_t EVTIE:1;  /* even cycle table written interrupt enable */\r
3928             vuint16_t ODTIE:1;  /* odd cycle table written interrupt enable */\r
3929               vuint16_t:4;\r
3930         } B;\r
3931     } PIER1_t;\r
3932     CC_EXTENSION typedef union uCHIERFR {\r
3933         vuint16_t R;\r
3934         struct {\r
3935             vuint16_t FRLBEF:1; /* flame lost channel B error flag */\r
3936             vuint16_t FRLAEF:1; /* frame lost channel A error flag */\r
3937             vuint16_t PCMIEF:1; /* command ignored error flag */\r
3938             vuint16_t FOVBEF:1; /* receive FIFO overrun channel B error flag */\r
3939             vuint16_t FOVAEF:1; /* receive FIFO overrun channel A error flag */\r
3940             vuint16_t MSBEF:1;  /* message buffer search error flag */\r
3941             vuint16_t MBUEF:1;  /* message buffer utilization error flag */\r
3942             vuint16_t LCKEF:1;  /* lock error flag */\r
3943             vuint16_t DBLEF:1;  /* double transmit message buffer lock error flag */\r
3944             vuint16_t SBCFEF:1; /* system bus communication failure error flag */\r
3945             vuint16_t FIDEF:1;  /* frame ID error flag */\r
3946             vuint16_t DPLEF:1;  /* dynamic payload length error flag */\r
3947             vuint16_t SPLEF:1;  /* static payload length error flag */\r
3948             vuint16_t NMLEF:1;  /* network management length error flag */\r
3949             vuint16_t NMFEF:1;  /* network management frame error flag */\r
3950             vuint16_t ILSAEF:1; /* illegal access error flag */\r
3951         } B;\r
3952     } CHIERFR_t;\r
3953     CC_EXTENSION typedef union uMBIVEC {\r
3954         vuint16_t R;\r
3955         struct {\r
3956 \r
3957             vuint16_t:1;\r
3958             vuint16_t TBIVEC:7; /* transmit buffer interrupt vector */\r
3959               vuint16_t:1;\r
3960             vuint16_t RBIVEC:7; /* receive buffer interrupt vector */\r
3961         } B;\r
3962     } MBIVEC_t;\r
3963 \r
3964     CC_EXTENSION typedef union uPSR0 {\r
3965         vuint16_t R;\r
3966         struct {\r
3967             vuint16_t ERRMODE:2;        /* error mode */\r
3968             vuint16_t SLOTMODE:2;       /* slot mode */\r
3969               vuint16_t:1;\r
3970             vuint16_t PROTSTATE:3;      /* protocol state */\r
3971             vuint16_t SUBSTATE:4;       /* protocol sub state */\r
3972               vuint16_t:1;\r
3973             vuint16_t WAKEUPSTATUS:3;   /* wakeup status */\r
3974         } B;\r
3975     } PSR0_t;\r
3976 \r
3977 /* protocol states */\r
3978 /* protocol sub-states */\r
3979 /* wakeup status */\r
3980     CC_EXTENSION typedef union uPSR1 {\r
3981         vuint16_t R;\r
3982         struct {\r
3983             vuint16_t CSAA:1;   /* cold start attempt abort flag */\r
3984             vuint16_t SCP:1;    /* cold start path */\r
3985               vuint16_t:1;\r
3986             vuint16_t REMCSAT:5;        /* remanining coldstart attempts */\r
3987             vuint16_t CPN:1;    /* cold start noise path */\r
3988             vuint16_t HHR:1;    /* host halt request pending */\r
3989             vuint16_t FRZ:1;    /* freeze occured */\r
3990             vuint16_t APTAC:5;  /* allow passive to active counter */\r
3991         } B;\r
3992     } PSR1_t;\r
3993     CC_EXTENSION typedef union uPSR2 {\r
3994         vuint16_t R;\r
3995         struct {\r
3996             vuint16_t NBVB:1;   /* NIT boundary violation on channel B */\r
3997             vuint16_t NSEB:1;   /* NIT syntax error on channel B */\r
3998             vuint16_t STCB:1;   /* symbol window transmit conflict on channel B */\r
3999             vuint16_t SBVB:1;   /* symbol window boundary violation on channel B */\r
4000             vuint16_t SSEB:1;   /* symbol window syntax error on channel B */\r
4001             vuint16_t MTB:1;    /* media access test symbol MTS received on channel B */\r
4002             vuint16_t NBVA:1;   /* NIT boundary violation on channel A */\r
4003             vuint16_t NSEA:1;   /* NIT syntax error on channel A */\r
4004             vuint16_t STCA:1;   /* symbol window transmit conflict on channel A */\r
4005             vuint16_t SBVA:1;   /* symbol window boundary violation on channel A */\r
4006             vuint16_t SSEA:1;   /* symbol window syntax error on channel A */\r
4007             vuint16_t MTA:1;    /* media access test symbol MTS received on channel A */\r
4008             vuint16_t CLKCORRFAILCNT:4; /* clock correction failed counter */\r
4009         } B;\r
4010     } PSR2_t;\r
4011     CC_EXTENSION typedef union uPSR3 {\r
4012         vuint16_t R;\r
4013         struct {\r
4014             vuint16_t:2;\r
4015             vuint16_t WUB:1;    /* wakeup symbol received on channel B */\r
4016             vuint16_t ABVB:1;   /* aggregated boundary violation on channel B */\r
4017             vuint16_t AACB:1;   /* aggregated additional communication on channel B */\r
4018             vuint16_t ACEB:1;   /* aggregated content error on channel B */\r
4019             vuint16_t ASEB:1;   /* aggregated syntax error on channel B */\r
4020             vuint16_t AVFB:1;   /* aggregated valid frame on channel B */\r
4021               vuint16_t:2;\r
4022             vuint16_t WUA:1;    /* wakeup symbol received on channel A */\r
4023             vuint16_t ABVA:1;   /* aggregated boundary violation on channel A */\r
4024             vuint16_t AACA:1;   /* aggregated additional communication on channel A */\r
4025             vuint16_t ACEA:1;   /* aggregated content error on channel A */\r
4026             vuint16_t ASEA:1;   /* aggregated syntax error on channel A */\r
4027             vuint16_t AVFA:1;   /* aggregated valid frame on channel A */\r
4028         } B;\r
4029     } PSR3_t;\r
4030     CC_EXTENSION typedef union uCIFRR {\r
4031         vuint16_t R;\r
4032         struct {\r
4033             vuint16_t:8;\r
4034             vuint16_t MIFR:1;   /* module interrupt flag */\r
4035             vuint16_t PRIFR:1;  /* protocol interrupt flag */\r
4036             vuint16_t CHIFR:1;  /* CHI interrupt flag */\r
4037             vuint16_t WUPIFR:1; /* wakeup interrupt flag */\r
4038             vuint16_t FNEBIFR:1;        /* receive fifo channel B no empty interrupt flag */\r
4039             vuint16_t FNEAIFR:1;        /* receive fifo channel A no empty interrupt flag */\r
4040             vuint16_t RBIFR:1;  /* receive message buffer interrupt flag */\r
4041             vuint16_t TBIFR:1;  /* transmit buffer interrupt flag */\r
4042         } B;\r
4043     } CIFRR_t;\r
4044     CC_EXTENSION typedef union uSFCNTR {\r
4045         vuint16_t R;\r
4046         struct {\r
4047             vuint16_t SFEVB:4;  /* sync frames channel B, even cycle */\r
4048             vuint16_t SFEVA:4;  /* sync frames channel A, even cycle */\r
4049             vuint16_t SFODB:4;  /* sync frames channel B, odd cycle */\r
4050             vuint16_t SFODA:4;  /* sync frames channel A, odd cycle */\r
4051         } B;\r
4052     } SFCNTR_t;\r
4053 \r
4054     CC_EXTENSION typedef union uSFTCCSR {\r
4055         vuint16_t R;\r
4056         struct {\r
4057             vuint16_t ELKT:1;   /* even cycle tables lock and unlock trigger */\r
4058             vuint16_t OLKT:1;   /* odd cycle tables lock and unlock trigger */\r
4059             vuint16_t CYCNUM:6; /* cycle number */\r
4060             vuint16_t ELKS:1;   /* even cycle tables lock status */\r
4061             vuint16_t OLKS:1;   /* odd cycle tables lock status */\r
4062             vuint16_t EVAL:1;   /* even cycle tables valid */\r
4063             vuint16_t OVAL:1;   /* odd cycle tables valid */\r
4064               vuint16_t:1;\r
4065             vuint16_t OPT:1;    /*one pair trigger */\r
4066             vuint16_t SDVEN:1;  /* sync frame deviation table enable */\r
4067             vuint16_t SIDEN:1;  /* sync frame ID table enable */\r
4068         } B;\r
4069     } SFTCCSR_t;\r
4070     CC_EXTENSION typedef union uSFIDRFR {\r
4071         vuint16_t R;\r
4072         struct {\r
4073             vuint16_t:6;\r
4074             vuint16_t SYNFRID:10;       /* sync frame rejection ID */\r
4075         } B;\r
4076     } SFIDRFR_t;\r
4077 \r
4078     CC_EXTENSION typedef union uTICCR {\r
4079         vuint16_t R;\r
4080         struct {\r
4081             vuint16_t:2;\r
4082             vuint16_t T2CFG:1;  /* timer 2 configuration */\r
4083             vuint16_t T2REP:1;  /* timer 2 repetitive mode */\r
4084               vuint16_t:1;\r
4085             vuint16_t T2SP:1;   /* timer 2 stop */\r
4086             vuint16_t T2TR:1;   /* timer 2 trigger */\r
4087             vuint16_t T2ST:1;   /* timer 2 state */\r
4088               vuint16_t:3;\r
4089             vuint16_t T1REP:1;  /* timer 1 repetitive mode */\r
4090               vuint16_t:1;\r
4091             vuint16_t T1SP:1;   /* timer 1 stop */\r
4092             vuint16_t T1TR:1;   /* timer 1 trigger */\r
4093             vuint16_t T1ST:1;   /* timer 1 state */\r
4094 \r
4095         } B;\r
4096     } TICCR_t;\r
4097     CC_EXTENSION typedef union uTI1CYSR {\r
4098         vuint16_t R;\r
4099         struct {\r
4100             vuint16_t:2;\r
4101             vuint16_t TI1CYCVAL:6;      /* timer 1 cycle filter value */\r
4102               vuint16_t:2;\r
4103             vuint16_t TI1CYCMSK:6;      /* timer 1 cycle filter mask */\r
4104 \r
4105         } B;\r
4106     } TI1CYSR_t;\r
4107 \r
4108     CC_EXTENSION typedef union uSSSR {\r
4109         vuint16_t R;\r
4110         struct {\r
4111             vuint16_t WMD:1;    /* write mode */\r
4112               vuint16_t:1;\r
4113             vuint16_t SEL:2;    /* static slot number */\r
4114               vuint16_t:1;\r
4115             vuint16_t SLOTNUMBER:11;    /* selector */\r
4116         } B;\r
4117     } SSSR_t;\r
4118 \r
4119     CC_EXTENSION typedef union uSSCCR {\r
4120         vuint16_t R;\r
4121         struct {\r
4122             vuint16_t WMD:1;    /* write mode */\r
4123               vuint16_t:1;\r
4124             vuint16_t SEL:2;    /* selector */\r
4125               vuint16_t:1;\r
4126             vuint16_t CNTCFG:2; /* counter configuration */\r
4127             vuint16_t MCY:1;    /* multi cycle selection */\r
4128             vuint16_t VFR:1;    /* valid frame selection */\r
4129             vuint16_t SYF:1;    /* sync frame selection */\r
4130             vuint16_t NUF:1;    /* null frame selection  */\r
4131             vuint16_t SUF:1;    /* startup frame selection */\r
4132             vuint16_t STATUSMASK:4;     /* slot status mask */\r
4133         } B;\r
4134     } SSCCR_t;\r
4135     CC_EXTENSION typedef union uSSR {\r
4136         vuint16_t R;\r
4137         struct {\r
4138             vuint16_t VFB:1;    /* valid frame on channel B */\r
4139             vuint16_t SYB:1;    /* valid sync frame on channel B */\r
4140             vuint16_t NFB:1;    /* valid null frame on channel B */\r
4141             vuint16_t SUB:1;    /* valid startup frame on channel B */\r
4142             vuint16_t SEB:1;    /* syntax error on channel B */\r
4143             vuint16_t CEB:1;    /* content error on channel B */\r
4144             vuint16_t BVB:1;    /* boundary violation on channel B */\r
4145             vuint16_t TCB:1;    /* tx conflict on channel B */\r
4146             vuint16_t VFA:1;    /* valid frame on channel A */\r
4147             vuint16_t SYA:1;    /* valid sync frame on channel A */\r
4148             vuint16_t NFA:1;    /* valid null frame on channel A */\r
4149             vuint16_t SUA:1;    /* valid startup frame on channel A */\r
4150             vuint16_t SEA:1;    /* syntax error on channel A */\r
4151             vuint16_t CEA:1;    /* content error on channel A */\r
4152             vuint16_t BVA:1;    /* boundary violation on channel A */\r
4153             vuint16_t TCA:1;    /* tx conflict on channel A */\r
4154         } B;\r
4155     } SSR_t;\r
4156     CC_EXTENSION typedef union uMTSCFR {\r
4157         vuint16_t R;\r
4158         struct {\r
4159             vuint16_t MTE:1;    /* media access test symbol transmission enable */\r
4160               vuint16_t:1;\r
4161             vuint16_t CYCCNTMSK:6;      /* cycle counter mask */\r
4162               vuint16_t:2;\r
4163             vuint16_t CYCCNTVAL:6;      /* cycle counter value */\r
4164         } B;\r
4165     } MTSCFR_t;\r
4166     CC_EXTENSION typedef union uRSBIR {\r
4167         vuint16_t R;\r
4168         struct {\r
4169             vuint16_t WMD:1;    /* write mode */\r
4170               vuint16_t:1;\r
4171             vuint16_t SEL:2;    /* selector */\r
4172               vuint16_t:4;\r
4173             vuint16_t RSBIDX:8; /* receive shadow buffer index */\r
4174         } B;\r
4175     } RSBIR_t;\r
4176     CC_EXTENSION typedef union uRFDSR {\r
4177         vuint16_t R;\r
4178         struct {\r
4179             vuint16_t FIFODEPTH:8;      /* fifo depth */\r
4180               vuint16_t:1;\r
4181             vuint16_t ENTRYSIZE:7;      /* entry size */\r
4182         } B;\r
4183     } RFDSR_t;\r
4184 \r
4185     CC_EXTENSION typedef union uRFRFCFR {\r
4186         vuint16_t R;\r
4187         struct {\r
4188             vuint16_t WMD:1;    /* write mode */\r
4189             vuint16_t IBD:1;    /* interval boundary */\r
4190             vuint16_t SEL:2;    /* filter number */\r
4191               vuint16_t:1;\r
4192             vuint16_t SID:11;   /* slot ID */\r
4193         } B;\r
4194     } RFRFCFR_t;\r
4195 \r
4196     CC_EXTENSION typedef union uRFRFCTR {\r
4197         vuint16_t R;\r
4198         struct {\r
4199             vuint16_t:4;\r
4200             vuint16_t F3MD:1;   /* filter mode */\r
4201             vuint16_t F2MD:1;   /* filter mode */\r
4202             vuint16_t F1MD:1;   /* filter mode */\r
4203             vuint16_t F0MD:1;   /* filter mode */\r
4204               vuint16_t:4;\r
4205             vuint16_t F3EN:1;   /* filter enable */\r
4206             vuint16_t F2EN:1;   /* filter enable */\r
4207             vuint16_t F1EN:1;   /* filter enable */\r
4208             vuint16_t F0EN:1;   /* filter enable */\r
4209         } B;\r
4210     } RFRFCTR_t;\r
4211     CC_EXTENSION typedef union uPCR0 {\r
4212         vuint16_t R;\r
4213         struct {\r
4214             vuint16_t ACTION_POINT_OFFSET:6;\r
4215             vuint16_t STATIC_SLOT_LENGTH:10;\r
4216         } B;\r
4217     } PCR0_t;\r
4218 \r
4219     CC_EXTENSION typedef union uPCR1 {\r
4220         vuint16_t R;\r
4221         struct {\r
4222             vuint16_t:2;\r
4223             vuint16_t MACRO_AFTER_FIRST_STATIC_SLOT:14;\r
4224         } B;\r
4225     } PCR1_t;\r
4226 \r
4227     CC_EXTENSION typedef union uPCR2 {\r
4228         vuint16_t R;\r
4229         struct {\r
4230             vuint16_t MINISLOT_AFTER_ACTION_POINT:6;\r
4231             vuint16_t NUMBER_OF_STATIC_SLOTS:10;\r
4232         } B;\r
4233     } PCR2_t;\r
4234 \r
4235     CC_EXTENSION typedef union uPCR3 {\r
4236         vuint16_t R;\r
4237         struct {\r
4238             vuint16_t WAKEUP_SYMBOL_RX_LOW:6;\r
4239             vuint16_t MINISLOT_ACTION_POINT_OFFSET:5;\r
4240             vuint16_t COLDSTART_ATTEMPTS:5;\r
4241         } B;\r
4242     } PCR3_t;\r
4243 \r
4244     CC_EXTENSION typedef union uPCR4 {\r
4245         vuint16_t R;\r
4246         struct {\r
4247             vuint16_t CAS_RX_LOW_MAX:7;\r
4248             vuint16_t WAKEUP_SYMBOL_RX_WINDOW:9;\r
4249         } B;\r
4250     } PCR4_t;\r
4251 \r
4252     CC_EXTENSION typedef union uPCR5 {\r
4253         vuint16_t R;\r
4254         struct {\r
4255             vuint16_t TSS_TRANSMITTER:4;\r
4256             vuint16_t WAKEUP_SYMBOL_TX_LOW:6;\r
4257             vuint16_t WAKEUP_SYMBOL_RX_IDLE:6;\r
4258         } B;\r
4259     } PCR5_t;\r
4260 \r
4261     CC_EXTENSION typedef union uPCR6 {\r
4262         vuint16_t R;\r
4263         struct {\r
4264             vuint16_t:1;\r
4265             vuint16_t SYMBOL_WINDOW_AFTER_ACTION_POINT:8;\r
4266             vuint16_t MACRO_INITIAL_OFFSET_A:7;\r
4267         } B;\r
4268     } PCR6_t;\r
4269 \r
4270     CC_EXTENSION typedef union uPCR7 {\r
4271         vuint16_t R;\r
4272         struct {\r
4273             vuint16_t DECODING_CORRECTION_B:9;\r
4274             vuint16_t MICRO_PER_MACRO_NOM_HALF:7;\r
4275         } B;\r
4276     } PCR7_t;\r
4277 \r
4278     CC_EXTENSION typedef union uPCR8 {\r
4279         vuint16_t R;\r
4280         struct {\r
4281             vuint16_t MAX_WITHOUT_CLOCK_CORRECTION_FATAL:4;\r
4282             vuint16_t MAX_WITHOUT_CLOCK_CORRECTION_PASSIVE:4;\r
4283             vuint16_t WAKEUP_SYMBOL_TX_IDLE:8;\r
4284         } B;\r
4285     } PCR8_t;\r
4286 \r
4287     CC_EXTENSION typedef union uPCR9 {\r
4288         vuint16_t R;\r
4289         struct {\r
4290             vuint16_t MINISLOT_EXISTS:1;\r
4291             vuint16_t SYMBOL_WINDOW_EXISTS:1;\r
4292             vuint16_t OFFSET_CORRECTION_OUT:14;\r
4293         } B;\r
4294     } PCR9_t;\r
4295 \r
4296     CC_EXTENSION typedef union uPCR10 {\r
4297         vuint16_t R;\r
4298         struct {\r
4299             vuint16_t SINGLE_SLOT_ENABLED:1;\r
4300             vuint16_t WAKEUP_CHANNEL:1;\r
4301             vuint16_t MACRO_PER_CYCLE:14;\r
4302         } B;\r
4303     } PCR10_t;\r
4304 \r
4305     CC_EXTENSION typedef union uPCR11 {\r
4306         vuint16_t R;\r
4307         struct {\r
4308             vuint16_t KEY_SLOT_USED_FOR_STARTUP:1;\r
4309             vuint16_t KEY_SLOT_USED_FOR_SYNC:1;\r
4310             vuint16_t OFFSET_CORRECTION_START:14;\r
4311         } B;\r
4312     } PCR11_t;\r
4313 \r
4314     CC_EXTENSION typedef union uPCR12 {\r
4315         vuint16_t R;\r
4316         struct {\r
4317             vuint16_t ALLOW_PASSIVE_TO_ACTIVE:5;\r
4318             vuint16_t KEY_SLOT_HEADER_CRC:11;\r
4319         } B;\r
4320     } PCR12_t;\r
4321 \r
4322     CC_EXTENSION typedef union uPCR13 {\r
4323         vuint16_t R;\r
4324         struct {\r
4325             vuint16_t FIRST_MINISLOT_ACTION_POINT_OFFSET:6;\r
4326             vuint16_t STATIC_SLOT_AFTER_ACTION_POINT:10;\r
4327         } B;\r
4328     } PCR13_t;\r
4329 \r
4330     CC_EXTENSION typedef union uPCR14 {\r
4331         vuint16_t R;\r
4332         struct {\r
4333             vuint16_t RATE_CORRECTION_OUT:11;\r
4334             vuint16_t LISTEN_TIMEOUT_H:5;\r
4335         } B;\r
4336     } PCR14_t;\r
4337 \r
4338     CC_EXTENSION typedef union uPCR15 {\r
4339         vuint16_t R;\r
4340         struct {\r
4341             vuint16_t LISTEN_TIMEOUT_L:16;\r
4342         } B;\r
4343     } PCR15_t;\r
4344 \r
4345     CC_EXTENSION typedef union uPCR16 {\r
4346         vuint16_t R;\r
4347         struct {\r
4348             vuint16_t MACRO_INITIAL_OFFSET_B:7;\r
4349             vuint16_t NOISE_LISTEN_TIMEOUT_H:9;\r
4350         } B;\r
4351     } PCR16_t;\r
4352 \r
4353     CC_EXTENSION typedef union uPCR17 {\r
4354         vuint16_t R;\r
4355         struct {\r
4356             vuint16_t NOISE_LISTEN_TIMEOUT_L:16;\r
4357         } B;\r
4358     } PCR17_t;\r
4359 \r
4360     CC_EXTENSION typedef union uPCR18 {\r
4361         vuint16_t R;\r
4362         struct {\r
4363             vuint16_t WAKEUP_PATTERN:6;\r
4364             vuint16_t KEY_SLOT_ID:10;\r
4365         } B;\r
4366     } PCR18_t;\r
4367 \r
4368     CC_EXTENSION typedef union uPCR19 {\r
4369         vuint16_t R;\r
4370         struct {\r
4371             vuint16_t DECODING_CORRECTION_A:9;\r
4372             vuint16_t PAYLOAD_LENGTH_STATIC:7;\r
4373         } B;\r
4374     } PCR19_t;\r
4375 \r
4376     CC_EXTENSION typedef union uPCR20 {\r
4377         vuint16_t R;\r
4378         struct {\r
4379             vuint16_t MICRO_INITIAL_OFFSET_B:8;\r
4380             vuint16_t MICRO_INITIAL_OFFSET_A:8;\r
4381         } B;\r
4382     } PCR20_t;\r
4383 \r
4384     CC_EXTENSION typedef union uPCR21 {\r
4385         vuint16_t R;\r
4386         struct {\r
4387             vuint16_t EXTERN_RATE_CORRECTION:3;\r
4388             vuint16_t LATEST_TX:13;\r
4389         } B;\r
4390     } PCR21_t;\r
4391 \r
4392     CC_EXTENSION typedef union uPCR22 {\r
4393         vuint16_t R;\r
4394         struct {\r
4395             vuint16_t:1;\r
4396             vuint16_t COMP_ACCEPTED_STARTUP_RANGE_A:11;\r
4397             vuint16_t MICRO_PER_CYCLE_H:4;\r
4398         } B;\r
4399     } PCR22_t;\r
4400 \r
4401     CC_EXTENSION typedef union uPCR23 {\r
4402         vuint16_t R;\r
4403         struct {\r
4404             vuint16_t micro_per_cycle_l:16;\r
4405         } B;\r
4406     } PCR23_t;\r
4407 \r
4408     CC_EXTENSION typedef union uPCR24 {\r
4409         vuint16_t R;\r
4410         struct {\r
4411             vuint16_t CLUSTER_DRIFT_DAMPING:5;\r
4412             vuint16_t MAX_PAYLOAD_LENGTH_DYNAMIC:7;\r
4413             vuint16_t MICRO_PER_CYCLE_MIN_H:4;\r
4414         } B;\r
4415     } PCR24_t;\r
4416 \r
4417     CC_EXTENSION typedef union uPCR25 {\r
4418         vuint16_t R;\r
4419         struct {\r
4420             vuint16_t MICRO_PER_CYCLE_MIN_L:16;\r
4421         } B;\r
4422     } PCR25_t;\r
4423 \r
4424     CC_EXTENSION typedef union uPCR26 {\r
4425         vuint16_t R;\r
4426         struct {\r
4427             vuint16_t ALLOW_HALT_DUE_TO_CLOCK:1;\r
4428             vuint16_t COMP_ACCEPTED_STARTUP_RANGE_B:11;\r
4429             vuint16_t MICRO_PER_CYCLE_MAX_H:4;\r
4430         } B;\r
4431     } PCR26_t;\r
4432 \r
4433     CC_EXTENSION typedef union uPCR27 {\r
4434         vuint16_t R;\r
4435         struct {\r
4436             vuint16_t MICRO_PER_CYCLE_MAX_L:16;\r
4437         } B;\r
4438     } PCR27_t;\r
4439 \r
4440     CC_EXTENSION typedef union uPCR28 {\r
4441         vuint16_t R;\r
4442         struct {\r
4443             vuint16_t DYNAMIC_SLOT_IDLE_PHASE:2;\r
4444             vuint16_t MACRO_AFTER_OFFSET_CORRECTION:14;\r
4445         } B;\r
4446     } PCR28_t;\r
4447 \r
4448     CC_EXTENSION typedef union uPCR29 {\r
4449         vuint16_t R;\r
4450         struct {\r
4451             vuint16_t EXTERN_OFFSET_CORRECTION:3;\r
4452             vuint16_t MINISLOTS_MAX:13;\r
4453         } B;\r
4454     } PCR29_t;\r
4455 \r
4456     CC_EXTENSION typedef union uPCR30 {\r
4457         vuint16_t R;\r
4458         struct {\r
4459             vuint16_t:12;\r
4460             vuint16_t SYNC_NODE_MAX:4;\r
4461         } B;\r
4462     } PCR30_t;\r
4463 \r
4464     CC_EXTENSION typedef struct uMSG_BUFF_CCS {\r
4465         union {\r
4466             vuint16_t R;\r
4467             struct {\r
4468                 vuint16_t:1;\r
4469                 vuint16_t MCM:1;        /* message buffer commit mode */\r
4470                 vuint16_t MBT:1;        /* message buffer type */\r
4471                 vuint16_t MTD:1;        /* message buffer direction */\r
4472                 vuint16_t CMT:1;        /* commit for transmission */\r
4473                 vuint16_t EDT:1;        /* enable / disable trigger */\r
4474                 vuint16_t LCKT:1;       /* lock request trigger */\r
4475                 vuint16_t MBIE:1;       /* message buffer interrupt enable */\r
4476                   vuint16_t:3;\r
4477                 vuint16_t DUP:1;        /* data updated  */\r
4478                 vuint16_t DVAL:1;       /* data valid */\r
4479                 vuint16_t EDS:1;        /* lock status */\r
4480                 vuint16_t LCKS:1;       /* enable / disable status */\r
4481                 vuint16_t MBIF:1;       /* message buffer interrupt flag */\r
4482             } B;\r
4483         } MBCCSR;\r
4484         union {\r
4485             vuint16_t R;\r
4486             struct {\r
4487                 vuint16_t MTM:1;        /* message buffer transmission mode */\r
4488                 vuint16_t CHNLA:1;      /* channel assignement */\r
4489                 vuint16_t CHNLB:1;      /* channel assignement */\r
4490                 vuint16_t CCFE:1;       /* cycle counter filter enable */\r
4491                 vuint16_t CCFMSK:6;     /* cycle counter filter mask */\r
4492                 vuint16_t CCFVAL:6;     /* cycle counter filter value */\r
4493             } B;\r
4494         } MBCCFR;\r
4495         union {\r
4496             vuint16_t R;\r
4497             struct {\r
4498                 vuint16_t:5;\r
4499                 vuint16_t FID:11;       /* frame ID */\r
4500             } B;\r
4501         } MBFIDR;\r
4502         union {\r
4503             vuint16_t R;\r
4504             struct {\r
4505                 vuint16_t:8;\r
4506                 vuint16_t MBIDX:8;      /* message buffer index */\r
4507             } B;\r
4508         } MBIDXR;\r
4509     } MSG_BUFF_CCS_t;\r
4510     typedef union uSYSBADHR {\r
4511         vuint16_t R;\r
4512     } SYSBADHR_t;\r
4513     typedef union uSYSBADLR {\r
4514         vuint16_t R;\r
4515     } SYSBADLR_t;\r
4516     typedef union uPDAR {\r
4517         vuint16_t R;\r
4518     } PDAR_t;\r
4519     typedef union uCASERCR {\r
4520         vuint16_t R;\r
4521     } CASERCR_t;\r
4522     typedef union uCBSERCR {\r
4523         vuint16_t R;\r
4524     } CBSERCR_t;\r
4525     typedef union uCYCTR {\r
4526         vuint16_t R;\r
4527     } CYCTR_t;\r
4528     typedef union uMTCTR {\r
4529         vuint16_t R;\r
4530     } MTCTR_t;\r
4531     typedef union uSLTCTAR {\r
4532         vuint16_t R;\r
4533     } SLTCTAR_t;\r
4534     typedef union uSLTCTBR {\r
4535         vuint16_t R;\r
4536     } SLTCTBR_t;\r
4537     typedef union uRTCORVR {\r
4538         vuint16_t R;\r
4539     } RTCORVR_t;\r
4540     typedef union uOFCORVR {\r
4541         vuint16_t R;\r
4542     } OFCORVR_t;\r
4543     typedef union uSFTOR {\r
4544         vuint16_t R;\r
4545     } SFTOR_t;\r
4546     typedef union uSFIDAFVR {\r
4547         vuint16_t R;\r
4548     } SFIDAFVR_t;\r
4549     typedef union uSFIDAFMR {\r
4550         vuint16_t R;\r
4551     } SFIDAFMR_t;\r
4552     typedef union uNMVR {\r
4553         vuint16_t R;\r
4554     } NMVR_t;\r
4555     typedef union uNMVLR {\r
4556         vuint16_t R;\r
4557     } NMVLR_t;\r
4558     typedef union uT1MTOR {\r
4559         vuint16_t R;\r
4560     } T1MTOR_t;\r
4561     typedef union uTI2CR0 {\r
4562         vuint16_t R;\r
4563     } TI2CR0_t;\r
4564     typedef union uTI2CR1 {\r
4565         vuint16_t R;\r
4566     } TI2CR1_t;\r
4567     typedef union uSSCR {\r
4568         vuint16_t R;\r
4569     } SSCR_t;\r
4570     typedef union uRFSR {\r
4571         vuint16_t R;\r
4572     } RFSR_t;\r
4573     typedef union uRFSIR {\r
4574         vuint16_t R;\r
4575     } RFSIR_t;\r
4576     typedef union uRFARIR {\r
4577         vuint16_t R;\r
4578     } RFARIR_t;\r
4579     typedef union uRFBRIR {\r
4580         vuint16_t R;\r
4581     } RFBRIR_t;\r
4582     typedef union uRFMIDAFVR {\r
4583         vuint16_t R;\r
4584     } RFMIDAFVR_t;\r
4585     typedef union uRFMIAFMR {\r
4586         vuint16_t R;\r
4587     } RFMIAFMR_t;\r
4588     typedef union uRFFIDRFVR {\r
4589         vuint16_t R;\r
4590     } RFFIDRFVR_t;\r
4591     typedef union uRFFIDRFMR {\r
4592         vuint16_t R;\r
4593     } RFFIDRFMR_t;\r
4594     typedef union uLDTXSLAR {\r
4595         vuint16_t R;\r
4596     } LDTXSLAR_t;\r
4597     typedef union uLDTXSLBR {\r
4598         vuint16_t R;\r
4599     } LDTXSLBR_t;\r
4600 \r
4601     typedef struct FR_tag {\r
4602         volatile MVR_t MVR;     /*module version register *//*0  */\r
4603         volatile MCR_t MCR;     /*module configuration register *//*2  */\r
4604         volatile SYSBADHR_t SYSBADHR;   /*system memory base address high register *//*4        */\r
4605         volatile SYSBADLR_t SYSBADLR;   /*system memory base address low register *//*6         */\r
4606         volatile STBSCR_t STBSCR;       /*strobe signal control register *//*8      */\r
4607         volatile STBPCR_t STBPCR;       /*strobe port control register *//*A        */\r
4608         volatile MBDSR_t MBDSR; /*message buffer data size register *//*C  */\r
4609         volatile MBSSUTR_t MBSSUTR;     /*message buffer segment size and utilization register *//*E  */\r
4610         vuint16_t reserved3a[1];        /*10 */\r
4611         volatile PDAR_t PDAR;   /*PE data register *//*12 */\r
4612         volatile POCR_t POCR;   /*Protocol operation control register *//*14 */\r
4613         volatile GIFER_t GIFER; /*global interrupt flag and enable register *//*16 */\r
4614         volatile PIFR0_t PIFR0; /*protocol interrupt flag register 0 *//*18 */\r
4615         volatile PIFR1_t PIFR1; /*protocol interrupt flag register 1 *//*1A */\r
4616         volatile PIER0_t PIER0; /*protocol interrupt enable register 0 *//*1C */\r
4617         volatile PIER1_t PIER1; /*protocol interrupt enable register 1 *//*1E */\r
4618         volatile CHIERFR_t CHIERFR;     /*CHI error flag register *//*20 */\r
4619         volatile MBIVEC_t MBIVEC;       /*message buffer interrupt vector register *//*22 */\r
4620         volatile CASERCR_t CASERCR;     /*channel A status error counter register *//*24 */\r
4621         volatile CBSERCR_t CBSERCR;     /*channel B status error counter register *//*26 */\r
4622         volatile PSR0_t PSR0;   /*protocol status register 0 *//*28 */\r
4623         volatile PSR1_t PSR1;   /*protocol status register 1 *//*2A */\r
4624         volatile PSR2_t PSR2;   /*protocol status register 2 *//*2C */\r
4625         volatile PSR3_t PSR3;   /*protocol status register 3 *//*2E */\r
4626         volatile MTCTR_t MTCTR; /*macrotick counter register *//*30 */\r
4627         volatile CYCTR_t CYCTR; /*cycle counter register *//*32 */\r
4628         volatile SLTCTAR_t SLTCTAR;     /*slot counter channel A register *//*34 */\r
4629         volatile SLTCTBR_t SLTCTBR;     /*slot counter channel B register *//*36 */\r
4630         volatile RTCORVR_t RTCORVR;     /*rate correction value register *//*38 */\r
4631         volatile OFCORVR_t OFCORVR;     /*offset correction value register *//*3A */\r
4632         volatile CIFRR_t CIFRR; /*combined interrupt flag register *//*3C */\r
4633         vuint16_t reserved3[1]; /*3E */\r
4634         volatile SFCNTR_t SFCNTR;       /*sync frame counter register *//*40 */\r
4635         volatile SFTOR_t SFTOR; /*sync frame table offset register *//*42 */\r
4636         volatile SFTCCSR_t SFTCCSR;     /*sync frame table configuration, control, status register *//*44 */\r
4637         volatile SFIDRFR_t SFIDRFR;     /*sync frame ID rejection filter register *//*46 */\r
4638         volatile SFIDAFVR_t SFIDAFVR;   /*sync frame ID acceptance filter value regiater *//*48 */\r
4639         volatile SFIDAFMR_t SFIDAFMR;   /*sync frame ID acceptance filter mask register *//*4A */\r
4640         volatile NMVR_t NMVR[6];        /*network management vector registers (12 bytes) *//*4C */\r
4641         volatile NMVLR_t NMVLR; /*network management vector length register *//*58 */\r
4642         volatile TICCR_t TICCR; /*timer configuration and control register *//*5A */\r
4643         volatile TI1CYSR_t TI1CYSR;     /*timer 1 cycle set register *//*5C */\r
4644         volatile T1MTOR_t T1MTOR;       /*timer 1 macrotick offset register *//*5E */\r
4645         volatile TI2CR0_t TI2CR0;       /*timer 2 configuration register 0 *//*60 */\r
4646         volatile TI2CR1_t TI2CR1;       /*timer 2 configuration register 1 *//*62 */\r
4647         volatile SSSR_t SSSR;   /*slot status selection register *//*64 */\r
4648         volatile SSCCR_t SSCCR; /*slot status counter condition register *//*66 */\r
4649         volatile SSR_t SSR[8];  /*slot status registers 0-7 *//*68 */\r
4650         volatile SSCR_t SSCR[4];        /*slot status counter registers 0-3 *//*78 */\r
4651         volatile MTSCFR_t MTSACFR;      /*mts a config register *//*80 */\r
4652         volatile MTSCFR_t MTSBCFR;      /*mts b config register *//*82 */\r
4653         volatile RSBIR_t RSBIR; /*receive shadow buffer index register *//*84 */\r
4654         volatile RFSR_t RFSR;   /*receive fifo selection register *//*86 */\r
4655         volatile RFSIR_t RFSIR; /*receive fifo start index register *//*88 */\r
4656         volatile RFDSR_t RFDSR; /*receive fifo depth and size register *//*8A */\r
4657         volatile RFARIR_t RFARIR;       /*receive fifo a read index register *//*8C */\r
4658         volatile RFBRIR_t RFBRIR;       /*receive fifo b read index register *//*8E */\r
4659         volatile RFMIDAFVR_t RFMIDAFVR; /*receive fifo message ID acceptance filter value register *//*90 */\r
4660         volatile RFMIAFMR_t RFMIAFMR;   /*receive fifo message ID acceptance filter mask register *//*92 */\r
4661         volatile RFFIDRFVR_t RFFIDRFVR; /*receive fifo frame ID rejection filter value register *//*94 */\r
4662         volatile RFFIDRFMR_t RFFIDRFMR; /*receive fifo frame ID rejection filter mask register *//*96 */\r
4663         volatile RFRFCFR_t RFRFCFR;     /*receive fifo range filter configuration register *//*98 */\r
4664         volatile RFRFCTR_t RFRFCTR;     /*receive fifo range filter control register *//*9A */\r
4665         volatile LDTXSLAR_t LDTXSLAR;   /*last dynamic transmit slot channel A register *//*9C */\r
4666         volatile LDTXSLBR_t LDTXSLBR;   /*last dynamic transmit slot channel B register *//*9E */\r
4667         volatile PCR0_t PCR0;   /*protocol configuration register 0 *//*A0 */\r
4668         volatile PCR1_t PCR1;   /*protocol configuration register 1 *//*A2 */\r
4669         volatile PCR2_t PCR2;   /*protocol configuration register 2 *//*A4 */\r
4670         volatile PCR3_t PCR3;   /*protocol configuration register 3 *//*A6 */\r
4671         volatile PCR4_t PCR4;   /*protocol configuration register 4 *//*A8 */\r
4672         volatile PCR5_t PCR5;   /*protocol configuration register 5 *//*AA */\r
4673         volatile PCR6_t PCR6;   /*protocol configuration register 6 *//*AC */\r
4674         volatile PCR7_t PCR7;   /*protocol configuration register 7 *//*AE */\r
4675         volatile PCR8_t PCR8;   /*protocol configuration register 8 *//*B0 */\r
4676         volatile PCR9_t PCR9;   /*protocol configuration register 9 *//*B2 */\r
4677         volatile PCR10_t PCR10; /*protocol configuration register 10 *//*B4 */\r
4678         volatile PCR11_t PCR11; /*protocol configuration register 11 *//*B6 */\r
4679         volatile PCR12_t PCR12; /*protocol configuration register 12 *//*B8 */\r
4680         volatile PCR13_t PCR13; /*protocol configuration register 13 *//*BA */\r
4681         volatile PCR14_t PCR14; /*protocol configuration register 14 *//*BC */\r
4682         volatile PCR15_t PCR15; /*protocol configuration register 15 *//*BE */\r
4683         volatile PCR16_t PCR16; /*protocol configuration register 16 *//*C0 */\r
4684         volatile PCR17_t PCR17; /*protocol configuration register 17 *//*C2 */\r
4685         volatile PCR18_t PCR18; /*protocol configuration register 18 *//*C4 */\r
4686         volatile PCR19_t PCR19; /*protocol configuration register 19 *//*C6 */\r
4687         volatile PCR20_t PCR20; /*protocol configuration register 20 *//*C8 */\r
4688         volatile PCR21_t PCR21; /*protocol configuration register 21 *//*CA */\r
4689         volatile PCR22_t PCR22; /*protocol configuration register 22 *//*CC */\r
4690         volatile PCR23_t PCR23; /*protocol configuration register 23 *//*CE */\r
4691         volatile PCR24_t PCR24; /*protocol configuration register 24 *//*D0 */\r
4692         volatile PCR25_t PCR25; /*protocol configuration register 25 *//*D2 */\r
4693         volatile PCR26_t PCR26; /*protocol configuration register 26 *//*D4 */\r
4694         volatile PCR27_t PCR27; /*protocol configuration register 27 *//*D6 */\r
4695         volatile PCR28_t PCR28; /*protocol configuration register 28 *//*D8 */\r
4696         volatile PCR29_t PCR29; /*protocol configuration register 29 *//*DA */\r
4697         volatile PCR30_t PCR30; /*protocol configuration register 30 *//*DC */\r
4698         vuint16_t reserved2[17];\r
4699         volatile MSG_BUFF_CCS_t MBCCS[128];     /* message buffer configuration, control & status registers 0-31 *//*100 */\r
4700     } FR_tag_t;\r
4701 \r
4702     CC_EXTENSION typedef union uF_HEADER     /* frame header */\r
4703     {\r
4704         struct {\r
4705             vuint16_t:5;\r
4706             vuint16_t HDCRC:11; /* Header CRC */\r
4707               vuint16_t:2;\r
4708             vuint16_t CYCCNT:6; /* Cycle Count */\r
4709               vuint16_t:1;\r
4710             vuint16_t PLDLEN:7; /* Payload Length */\r
4711               vuint16_t:1;\r
4712             vuint16_t PPI:1;    /* Payload Preamble Indicator */\r
4713             vuint16_t NUF:1;    /* Null Frame Indicator */\r
4714             vuint16_t SYF:1;    /* Sync Frame Indicator */\r
4715             vuint16_t SUF:1;    /* Startup Frame Indicator */\r
4716             vuint16_t FID:11;   /* Frame ID */\r
4717         } B;\r
4718         vuint16_t WORDS[3];\r
4719     } F_HEADER_t;\r
4720     CC_EXTENSION typedef union uS_STSTUS     /* slot status */\r
4721     {\r
4722         struct {\r
4723             vuint16_t VFB:1;    /* Valid Frame on channel B */\r
4724             vuint16_t SYB:1;    /* Sync Frame Indicator channel B */\r
4725             vuint16_t NFB:1;    /* Null Frame Indicator channel B */\r
4726             vuint16_t SUB:1;    /* Startup Frame Indicator channel B */\r
4727             vuint16_t SEB:1;    /* Syntax Error on channel B */\r
4728             vuint16_t CEB:1;    /* Content Error on channel B */\r
4729             vuint16_t BVB:1;    /* Boundary Violation on channel B */\r
4730             vuint16_t CH:1;     /* Channel */\r
4731             vuint16_t VFA:1;    /* Valid Frame on channel A */\r
4732             vuint16_t SYA:1;    /* Sync Frame Indicator channel A */\r
4733             vuint16_t NFA:1;    /* Null Frame Indicator channel A */\r
4734             vuint16_t SUA:1;    /* Startup Frame Indicator channel A */\r
4735             vuint16_t SEA:1;    /* Syntax Error on channel A */\r
4736             vuint16_t CEA:1;    /* Content Error on channel A */\r
4737             vuint16_t BVA:1;    /* Boundary Violation on channel A */\r
4738               vuint16_t:1;\r
4739         } RX;\r
4740         struct {\r
4741             vuint16_t VFB:1;    /* Valid Frame on channel B */\r
4742             vuint16_t SYB:1;    /* Sync Frame Indicator channel B */\r
4743             vuint16_t NFB:1;    /* Null Frame Indicator channel B */\r
4744             vuint16_t SUB:1;    /* Startup Frame Indicator channel B */\r
4745             vuint16_t SEB:1;    /* Syntax Error on channel B */\r
4746             vuint16_t CEB:1;    /* Content Error on channel B */\r
4747             vuint16_t BVB:1;    /* Boundary Violation on channel B */\r
4748             vuint16_t TCB:1;    /* Tx Conflict on channel B */\r
4749             vuint16_t VFA:1;    /* Valid Frame on channel A */\r
4750             vuint16_t SYA:1;    /* Sync Frame Indicator channel A */\r
4751             vuint16_t NFA:1;    /* Null Frame Indicator channel A */\r
4752             vuint16_t SUA:1;    /* Startup Frame Indicator channel A */\r
4753             vuint16_t SEA:1;    /* Syntax Error on channel A */\r
4754             vuint16_t CEA:1;    /* Content Error on channel A */\r
4755             vuint16_t BVA:1;    /* Boundary Violation on channel A */\r
4756             vuint16_t TCA:1;    /* Tx Conflict on channel A */\r
4757         } TX;\r
4758         vuint16_t R;\r
4759     } S_STATUS_t;\r
4760 \r
4761     typedef struct uMB_HEADER   /* message buffer header */\r
4762     {\r
4763         F_HEADER_t FRAME_HEADER;\r
4764         vuint16_t DATA_OFFSET;\r
4765         S_STATUS_t SLOT_STATUS;\r
4766     } MB_HEADER_t;\r
4767 \r
4768 /* Define memories */\r
4769 \r
4770 #define SRAM_START  0x40000000\r
4771 #define SRAM_SIZE      0x14000\r
4772 #define SRAM_END    0x40013FFF\r
4773 \r
4774 #define FLASH_START         0x0\r
4775 #define FLASH_SIZE      0x200000\r
4776 #define FLASH_END       0x1FFFFF\r
4777 \r
4778 /* Define instances of modules */\r
4779 #define PBRIDGE_A (*( volatile struct PBRIDGE_A_tag *) 0xC3F00000)\r
4780 #define FMPLL     (*( volatile struct FMPLL_tag *)     0xC3F80000)\r
4781 #define EBI       (*( volatile struct EBI_tag *)       0xC3F84000)\r
4782 #define FLASH     (*( volatile struct FLASH_tag *)     0xC3F88000)\r
4783 #define SIU       (*( volatile struct SIU_tag *)       0xC3F90000)\r
4784 \r
4785 #define EMIOS     (*( volatile struct EMIOS_tag *)     0xC3FA0000)\r
4786 #define ETPU      (*( volatile struct ETPU_tag *)      0xC3FC0000)\r
4787 #define ETPU_DATA_RAM  (*( uint32_t *)        0xC3FC8000)\r
4788 #define ETPU_DATA_RAM_EXT  (*( uint32_t *)    0xC3FCC000)\r
4789 #define ETPU_DATA_RAM_END  0xC3FC89FC\r
4790 #define CODE_RAM       (*( uint32_t *)        0xC3FD0000)\r
4791 #define ETPU_CODE_RAM  (*( uint32_t *)        0xC3FD0000)\r
4792 \r
4793 #define PBRIDGE_B (*( volatile struct PBRIDGE_B_tag *) 0xFFF00000)\r
4794 #define XBAR      (*( volatile struct XBAR_tag *)      0xFFF04000)\r
4795 #define ECSM      (*( volatile struct ECSM_tag *)      0xFFF40000)\r
4796 #define EDMA      (*( volatile struct EDMA_tag *)      0xFFF44000)\r
4797 #define INTC      (*( volatile struct INTC_tag *)      0xFFF48000)\r
4798 \r
4799 #define EQADC     (*( volatile struct EQADC_tag *)     0xFFF80000)\r
4800 \r
4801 #define DSPI_B    (*( volatile struct DSPI_tag *)      0xFFF94000)\r
4802 #define DSPI_C    (*( volatile struct DSPI_tag *)      0xFFF98000)\r
4803 #define DSPI_D    (*( volatile struct DSPI_tag *)      0xFFF9C000)\r
4804 \r
4805 #define ESCI_A    (*( volatile struct ESCI_tag *)      0xFFFB0000)\r
4806 #define ESCI_B    (*( volatile struct ESCI_tag *)      0xFFFB4000)\r
4807 \r
4808 #define CAN_A     (*( volatile struct FLEXCAN2_tag *)  0xFFFC0000)\r
4809 #define CAN_B     (*( volatile struct FLEXCAN2_tag *)  0xFFFC4000)\r
4810 #define CAN_C     (*( volatile struct FLEXCAN2_tag *)  0xFFFC8000)\r
4811 #define CAN_D     (*( volatile struct FLEXCAN2_tag *)  0xFFFCC000)\r
4812 #define CAN_E     (*( volatile struct FLEXCAN2_tag *)  0xFFFD0000)\r
4813 \r
4814 #define FEC     (*( volatile struct FEC_tag *)  0xFFF4C000)\r
4815 \r
4816 #define FR     (*( volatile struct FR_tag *)  0xFFFE0000)\r
4817 \r
4818 #ifdef __MWERKS__\r
4819 #pragma pop\r
4820 #endif\r
4821 \r
4822 #ifdef  __cplusplus\r
4823 }\r
4824 #endif\r
4825 #endif                          /* ifdef _MPC5567_H */\r
4826 /*********************************************************************\r
4827  *\r
4828  * Copyright:\r
4829  *      Freescale Semiconductor, INC. All Rights Reserved.\r
4830  *  You are hereby granted a copyright license to use, modify, and\r
4831  *  distribute the SOFTWARE so long as this entire notice is\r
4832  *  retained without alteration in any modified and/or redistributed\r
4833  *  versions, and that such modified versions are clearly identified\r
4834  *  as such. No licenses are granted by implication, estoppel or\r
4835  *  otherwise under any patents or trademarks of Freescale\r
4836  *  Semiconductor, Inc. This software is provided on an "AS IS"\r
4837  *  basis and without warranty.\r
4838  *\r
4839  *  To the maximum extent permitted by applicable law, Freescale\r
4840  *  Semiconductor DISCLAIMS ALL WARRANTIES WHETHER EXPRESS OR IMPLIED,\r
4841  *  INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A\r
4842  *  PARTICULAR PURPOSE AND ANY WARRANTY AGAINST INFRINGEMENT WITH\r
4843  *  REGARD TO THE SOFTWARE (INCLUDING ANY MODIFIED VERSIONS THEREOF)\r
4844  *  AND ANY ACCOMPANYING WRITTEN MATERIALS.\r
4845  *\r
4846  *  To the maximum extent permitted by applicable law, IN NO EVENT\r
4847  *  SHALL Freescale Semiconductor BE LIABLE FOR ANY DAMAGES WHATSOEVER\r
4848  *  (INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,\r
4849  *  BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER\r
4850  *  PECUNIARY LOSS) ARISING OF THE USE OR INABILITY TO USE THE SOFTWARE.\r
4851  *\r
4852  *  Freescale Semiconductor assumes no responsibility for the\r
4853  *  maintenance and support of this software\r
4854  *\r
4855  ********************************************************************/\r