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